Miksi WDC 65816 ei ole ' t käytettävissä “ ulkoisesti ” 16-bittisissä versioissa?

Ellei WDC: ltä ole olemassa todellisia suunnitteluhuomautuksia, kysymys on nimikentän kannalta liian pitkä: ”Mitkä tarkalleen ovat haitat WDC 65816 -versiolla on 16-bittinen tietoväylä ja / tai ei multipleksoitu osoiteväylä verrattuna niiden tarjoamiin etuihin? ”

Kaikki (ei-pehmeät¹) WDC-versiot 65816, josta olen tietoinen, on ulkoinen käyttöliittymä, jossa on 8-bittinen tietoväylä ja osoiteväylän 8 ylintä bittiä multipleksoitu tietoväylän nastoihin. Siten 16-bittisille tiedonsiirroille tarvitaan kaksi jaksoa (esim. div id = ”c619c4cdcd”>

m-bittijoukon kanssa) ja ulkoista logiikkaa tarvitaan osoiterivien 8 ylimmän bitin lukitsemiseksi, mikä voi myös lisätä ajoitusrajoituksia .

Tämän avulla siru mahtuu 40-nastaiseen pakettiin, mikä näyttää järkevältä vaihtoehdolta saataville, mutta se ei sulje pois sitä, että versiona olisi myös suurempi paketti. Neljä vuotta aiemmin Motorola 68000 oli ensin saatavana 64-nastaisena DIP-pakettina, jossa oli erillinen 24-bittinen osoite ja 16-bittinen tietoväylä, joten tekniikka tämän tekemiseen kohtuullisin kustannuksin oli ollut jo pitkään saatavilla. Ja siitä lähtien tietysti monista muista korkean pin-määrän pakkauksista on tullut yleisiä, mutta silti WDC tarjoaa jo nyt vain 44-nastaisia (PLCC ja QFP) paketteja.

Eikä 40-nastainen paketti myöskään estää täydellisen 16-bittisen ulkoisen tietoväylän, kuten Intel 8086 teki, sen 16-bittisen ulkoisen tietoväylän kanssa multipleksoituna 20-bittiseen ulkoiseen osoiteväylään. Tämän ei tarvitse edes tarkoittaa, että erilliset 8- ja 16-bittiset tietoväyläversiot on valmistettava: Motorola korvasi vuonna 1990 MC68008: n (68000 8-bittisellä ulkoisella väylällä) MC68HC001: lla, mikä mahdollisti ulkoisen tietoväylän valinnan leveys palautuksen yhteydessä.

Miksi siis ”täydet 16-bittiset” ulkoiset rajapinnat puuttuvat edes tähän päivään saakka, kuten muut varhaiset 16-bittiset CPU-toimittajat tarjoavat? Mitä haittoja täydellisten 16-bittisten ulkoisten käyttöliittymien eri muodoista puuttuu?


¹ Eli sirut, jotka voit ostaa hyllyltä, toisin kuin FPGA- tai ASIC-ytimet integroi itsesi haluamaasi pakettiin.

Kommentit

Vastaus

65816: lla on fyysisesti 8-bittinen ALU, vaikka monet sisäisistä rekistereistä ovat nyt 16 bitin levyisiä. Siksi jokaisen ALU-operaation suorittaminen 16-bittisessä tilassa vie ylimääräisen syklin, ja tämä antaa hyödyllistä aikaa ylimääräisen datan saamiseksi tietoväylän yli (joka on edelleen erittäin helppokäyttöinen).

Siellä ei ole ytimen osa, jossa on käytettävissä 16-bittinen tietoväylä, jopa 65816-ytimen osittain mukautetuissa versioissa, joita WDC tarjoaa edelleen sulautettujen järjestelmien kehittäjille.

Se tietysti on mahdollista suunnitella uusi ydin, jossa on laajempi ALU ja ulkoinen tietoväylä ja siten parempi suorituskyky 16-bittisissä toiminnoissa. Olisi jopa mahdollista ottaa käyttöön putkisto ja välimuisti suorituskyvyn parantamiseksi edelleen. Mutta tulos olisi vain 65816 ISA-yhteensopiva; se ei olisi 65816. Se olisi myös suurempi, enemmän energiaa nälkäinen, kalliimpi (etenkin johtuen monimutkaisemmasta paketista, joka vaaditaan laajemman bussin paljastamiseksi) ja paljon vähemmän harrastajaystävällinen. / p>

kommentit

  • sen tietolomakkeen mukaan ( tuotetiedot.chipdb.org/Western%20Design/w65c816s .pdf ), W65C816: lla on täysi 16-bittinen ALU.
  • @StarCat Mielenkiintoinen kohta. Tarkastellessani ohjeiden ajoituksia ihmettelen, miksi he kuitenkin häiritsevät: näyttää siltä, että he voisivat todella tulla toimeen hyvin 8-bittisellä ALU: lla. (Jopa ohjeet, kuten INX, ovat silti kahta sykliä.) Ehkä he sanovat, että ohjelmoijan ’ näkymä siitä on 16- bittinen ALU (ts. on 16-bittisiä lisäohjeita jne.), aivan kuten ohjelmoija löytää Z80 ’ s 4 -bitinen ALU , jota ei voida erottaa 8085 ’ s 8-bittisestä ALU: sta?
  • 65816: ssa on 16-bittinen ALU. Tämä näkyy eniten, kun verrataan haaroja, jotka toimivat samalla tavalla sekä alkuperäisessä että emulointitilassa (8-bittinen siirtymä), mutta eivät saa sakkoa sivun ylityksestä natiivimoodissa, vaikka tämä tapahtuu edelleen emulaatiossa (ja 65C02: ssa). Se näkyy yhtä hyvin kaikissa suorissa sivutoiminnoissa, käsittely sivun ylityksessä myös ilman rangaistusta.DP emulointitilassa osoittaa edelleen, että tässä ALU yksinkertaisesti ’ laskee ’ 8-bittiseksi, koska DH ei ’ t on asetettava nollaksi, btu ohitetaan.
  • @StarCat Lainaus on koko: ” Täysi 16-bittinen ALU, Akku-, pinoosoitin- ja hakemistorekisterit ” – jotka voidaan kirjoittaa vain kömpelösti, mutta näyttää viittaavan siihen, että vain rekisterit ovat 16 bittiä leveitä. 16-bittisen ALU: n suorituskykyominaisuuksia ei kuitenkaan helposti havaita tässä prosessorissa, koska suurin osa operandeista (mukaan lukien muistiosoitteet) on ladattava muistista 8 bittiä kerrallaan. Vaikka ALU: n koko leveyttä käytetään osoitetilalaskelmiin, huomaan, että jos DPR: ää ei ole kohdistettu sivulle, suoramoodikäytöissä on yhden jakson rangaistus, joka on yhdenmukainen 8-bittisen ALU: n kanssa.
  • @Raffzahn 16-bittisillä indekseillä on suoritettava täydellinen 16-bittinen lisäys perusosoitteen ja indeksisiirron välillä. Vaikuttaa siltä, että tätä ei voida käynnistää ennen kuin perusosoite on ladattu kokonaan, johtuen mahdollisesti sisäisten rekisterien puutteesta. Se, että 16 + 16-lisäykselle kestää sitten kaksi sykliä, mutta 16 + 8-lisäykselle vain yksi sykli, osoittaa, että tähän tarkoitukseen käytetään 8-bittistä summainta, jolla on ylemmän tavun siirtotaajuus.

Vastaus

65816 on tarkoitettu päivityspoluksi nykyisille 6502 asiakkaalle. Sen säilyttäminen 8-bittisenä oli järkevä päätös käyttäjän mielestä, koska se tarjoaa

  • olemassa olevien mallien helppo päivitys
  • täysin yhteensopiva olemassa olevien ohjelmistojen kanssa
  • vakio 40-nastainen paketti tarvitsee vähemmän reikiä ja tarjoaa halvemman käsittelyn
  • Laajennetun osoitealueen käyttämiseen tarvitaan vain yksi salpa
  • Tarvitaan vain vakiona 8-bittisiä ulkoisia komponentteja

Erityisesti myöhemmät ovat tärkeitä kustannusten huomioon ottamiseksi. Valmistuksessa jokainen reikä laskee, kun se porautuu ajassa ja kuluttaa näin. Vuonna 1983 16-bittiset komponentit (RAM / ROM) olivat melko harvinaisia ja kalliita. 8-bittisellä suunnittelulla joukko vakio (EP) ROM- ja RAM-siruja määritettiin vain tarvittavan koon mukaan, kun taas 16-bittinen tietoväylä vaatii aina vähintään kaksi kumpaa tahansa. Loppujen lopuksi prototyyppitilan aikaisempi suunnittelu ei ole kustannusherkkä. 65xx-sarja oli aina suunnattu alhaisiin kustannuksiin / upotettuihin sovelluksiin. Itse asiassa sen kohdemarkkinat muistuttivat paljon Intelin kuvittelemaa 8086: n päivityspolkua 8080 / 85 käyttäjää.

Toisin kuin Intel, joka suunnitteli 16-bittisen prosessorin ja teki 8-bittiseksi yhteensopivan (* 1), WDC pysyi 8-bittisenä, mikä oli järkevää suorittimen suunnittelulle, koska se yksinkertaisti kehitystä

  • Sisäinen perusrakenne voidaan pitää 65C02: sta alkaen.
  • Ei muutoksia perusosoitteiden luomiseen
  • 8/16-bittistä väyläprotokollaa ei tarvitse lisätä tavun käyttämiseen sanassa
  • ei tarvita opastusjonojen hallintaa

Tätä reittiä pitkin koko projekti pidettiin riittävän pienenä, jotta sitä pystyisivät hoitamaan resurssit, joita pieni yritys, kuten WDC, pystyi tarjoamaan – asettamatta sitä tulevaisuus on vaarassa.

Sen lisäksi, että 16-bittinen väylä on verrattain helppo luoda, se ei tuota niin paljon kuin aluksi voidaan olettaa. Suorituskyky on paljon muistin kaistanleveyttä, eikö olekin? 8088 vs. 8086 on tässä hyvä vertailuarvo, koska molemmat käyttävät täsmälleen samaa EU: ta (suoritusyksikkö; * 1), mutta eroavat vain väyläleveydestä BIU ( Väyläliitäntäyksikkö) käyttää muistia. Vaikka teoriassa 8086: n pitäisi tuottaa suunnilleen kaksinkertainen suorituskyky kaksinkertaistamalla kaistanleveys samalla kellotaajuudella, todellisen suorituskyvyn voitto on vain noin 30-40%. Tämä on vielä huomattavampaa kuin BIU suunnittelu toimii melko hyvin väylän hyödyntämisessä lähellä 100% (* 2)

Joten väyläleveyden kaksinkertaistaminen tuottaa aina alle kaksinkertaisen nopeuden, mutta yksinkertaisesti kaksinkertaistaa suunnittelun kellotaajuuden ilman epävarmuutta. Vuoteen 1983 mennessä muisti oli noussut pisteeseen, jossa 4 MHz: n 6500-tyylinen muotoilu oli helppo saavuttaa, nelinkertaistamalla äänenvoimakkuuden ilman värinää.

Alarivi: 8-bittinen pysyminen tarjosi monia etuja suunnittelussa ja käyttäjille välttäen samalla tarpeetonta vaivaa ja kustannuksia.

Viimeisenä mutta ei vähäisimpänä, sivuvaikutuksena 65802 voitaisiin luoda lisäksi tarjoamalla pudotus korvaamaan 16-bittisten ominaisuuksien käyttö nykyisissä 65C02-malleissa.


* 1 – Suurimmaksi osaksi EU: ta voidaan pitää 8086: n ”todellisena” CPU-ytimenä.

* 2 – Suuri osa tästä johtuu yhden tavun pääsystä, mutta myös kohdistamattomilla muistisanoilla ja hyppykohteilla, mikä hidastaa 16-bittistä väylää 8-bittiseksi. Ja vaikka uusi ohjelmisto voisi ottaa tämän huomioon, olemassa oleva ei. Pahimmassa tapauksessa esimerkki voi olla Applesoft BASIC, lähes kaikki osoittimet nollasivulla parittomissa osoitteissa. 8-bittisestä kukaan ei välittänyt, 16-bittisestä se on tappavaa.

vastaus

8-bittisen ulkoisen tietoväylän ja osoiteväylän 8 ylimmän bitin multipleksoinnin etu ensimmäinen julkaisu 65816 näyttää selvältä. Sirusta oli oikeastaan kaksi versiota: kysymyksessä kuvattu W65C816S ja W65C802. Wikipedian mukaan ,

[65C802 … oli sisäpuoleltaan identtinen 65C816. Molemmat tuotettiin samoilla valmistuslinjoilla ja poikkesivat toisistaan vain viimeisissä metallointivaiheissa, kun siru kytkettiin ulkoisiin nastoihin. 65C802: ssa näillä nastoilla oli sama asettelu kuin alkuperäisellä 6502: lla, mikä mahdollisti sen käytön drop-in-korvikkeena sallien silti prosessorin 16-bittisen prosessoinnin käytön. Alkuperäisen pinoutin avulla sillä oli kuitenkin vain 16 osoitintappia, ja sen vuoksi se pystyi käyttämään vain 64 kt ulkoista muistia. Tyypillisesti, kun laitteistovalmistajat suunnittelivat projektin alusta asti, he käyttivät 65C816: ta 65C802: n sijasta, minkä vuoksi jälkimmäinen poistettiin tuotannosta.

Mutta tämä ei selitä, miksi 65816: n kaikki versiot jatkoivat ulkoisen 8-bittisen käyttöliittymän käyttöä silloinkin, kun 65802 lopetettiin.

Answer

Vastaus on luultavasti yksinkertainen: 65C816: n sellaista versiota ei nykyään tarvita. 65C816: n valmistaja Western Design Center (WDC) keskittyy IP-osoitteisiin ja esineiden internetiin. Luulen, että ”uusi 65C816” -tuotanto on eräänlainen nostalgia heille. Chip- ja pakettiversiolla ei ole selkeää liiketoimintatapaa, IMHO.

Toinen kysymys on ”miksi 80-luvulla ei ollut 16-bittistä tietoväyläversiota?” Kohtuullinen selitys on: Se oli sarja ulkoisia tapahtumia. Markkinat todennäköisesti liikkuivat nopeammin kuin WDC odotti. 80-luvun alkupuoliskolla, kun 65C816 otettiin käyttöön, 8-bittinen tietoväylä asensi b tarjoaja järjestelmille, jotka on jo suunniteltu 6502-sirulle, ja markkinat eivät vaadi 16-bittistä tietoväylää. Myöhemmin, kun 16-bittisiä oheislaitteita tuli saataville, 65C816-valmistaja ei tarjonnut ”seuraavan sukupolven” prosessoria ajoissa, joten suurimmat asiakkaat, kuten Apple (// GS) tai Nintendo (SNES), siirtyivät parempaan, nopeampaan jne. – prosessorit (Motorola, NEC MIPS, …) suunnitellessaan uuden sukupolven laitteitaan. Tämä siirto teki ”16-bittisestä tietoväylästä 65C816” vanhentuneen ennen sen omaa luomista.

Kommentit

  • Minusta tuntuu, että Apple ei koskaan ” siirtyi parempiin ja nopeampiin prosessoreihin ”; IIgs oli Apple II: n rivin loppu ja se jatkoi ’ 816: n käyttöä vuoteen 1992 asti. (Apple käytti 68000: ta Macissa, mutta päätös tehtiin vuoden 1980 loppu, kauan ennen kuin ’ 816 aloitti kehityksen.) Ja Nintendo ei aloittanut ’ SNES: n kehittämistä aikaisintaan vuoteen 1988, viisi vuotta sen jälkeen, kun ’ 816 on julkaistu.
  • Totta, Mac vs. Apple IIgs: n menestyksestä huolimatta, vain 1,25 M yksiköillä, Apple ei ollut kaukana heidän suurimmista asiakkaistaan. SNES-luvut ovat noin 50 M ilman klooneja. Ja tällä alueella on melko paljon muita sulautettuja sovelluksia. Yleensä pöytätietokoneet ovat olleet meille 6502: n ehkä näkyvin käyttö, mutta ne ovat kaiken kaikkiaan vähiten tärkeitä. Jopa lisäämällä kaikki Commodore, Apple, BBC ja niin edelleen päädytään käyttämään vain alle 1% kaikista 65xxx-ytimistä, joita koskaan rakennetaan.

Vastaa

65816-pohjaisessa mikro-ohjaimessa W65C265S on koko 24b-osoiteväylä paljastettuna erillisellä 8b-tietoväylällä.

Ja selväksi, ”265S” ei ole 65816. Se on hyvin, hyvin lähellä. Mutta siinä ei ole sisäisten oheislaitteiden ja dekoodauslogiikan vastustamista, sillä on joitain erilaisia keskeytysvektoreita, jotka voivat tehdä ”265S-koodista yhteensopimattoman laatikkokannan 65816 kanssa. Kaikissa käytännön tarkoituksissa ne ovat identtisiä ohjelmistotarkoituksiin, mutta on joitain pieniä eroja.

Vastaa

Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *