Miért nem ' van a WDC 65816 “ külsőleg ” 16 bites verzióban?

Tulajdonképpen, hacsak nem állnak rendelkezésre a WDC tényleges tervjegyzetei, a kérdés valóban túl hosszú a címmező számára: “Melyek pontosan a hátrányok hogy a WDC 65816 16 bites adatbusszal és / vagy nem multiplexelt cím busszal rendelkezik, összehasonlítva az általuk nyújtott előnyökkel? “

A WDC összes (nem soft¹) változata 65816, amiről tudom, hogy van egy külső interfészem egy 8 bites adatbusszal és a cím busz felső 8 bitjével, amelyek az adat busz csapokra vannak multiplexelve. Így két ciklusra van szükség a 16 bites adatelérésekhez (pl. LDA m bitkészlettel), és külső logikára van szükség a címsorok 8 legfelső bitjének reteszeléséhez, ami további időzítési korlátozásokat is bevezethet .

Ez lehetővé teszi a chip beillesztését egy 40 tűs csomagba, ami ésszerű lehetőségnek tűnik elérhetővé tenni, de ez nem zárja ki, hogy egy verzió nagyobb csomagban is legyen. Négy évvel korábban a Motorola 68000 először 64 tűs DIP csomagban volt elérhető, külön 24 bites címmel és 16 bites adatbusszal, így az ésszerű költségekkel történő megvalósításhoz már régóta rendelkezésre állt a technológia. És azóta természetesen sok más, nagy tűvel rendelkező csomagolás vált általánossá, ám a WDC még most sem kínál 44-nél nagyobb (PLCC és QFP) csomagnál nagyobbat.

Egy 40 tűs csomag sem. kizárja a teljes 16 bites külső adatbusz használatát, ahogy az Intel 8086 tette, 16 bites külső adatsínével a multiplexelt 20 bites külső buszra. Ez még azt sem jelenti, hogy külön 8 és 16 bites adatbuszváltozatokat kell gyártani: 1990-ben a Motorola az MC68008-at (a 68000-et egy 8 bites külső adatbussal) az MC68HC001-re cserélte, amely lehetővé tette a külső adatbusz kiválasztását szélesség a visszaállításkor.

Miért hiányzik a mai napig a „teljes 16 bites” külső interfész, amint azt más korai 16 bites processzorgyártók ajánlják? Milyen hátrányok hiányoznak a teljes 16 bites külső interfészek különböző formáiról?


¹ Vagyis chipek vásárolhatók a polcról, szemben az FPGA vagy ASIC magokkal integrálja magát bármilyen tetszőleges csomagba.

Megjegyzések

Válasz

A 65816 fizikailag 8 bites ALU-val rendelkezik, bár sok belső regiszter most 16 bit széles. Ezért minden ALU-művelet 16 bites módban történő végrehajtásához extra ciklusra van szükség, és ez segítőkészen megadja a szükséges időt az extra adatok adatbusszal történő átviteléhez (amelyet továbbra is nagyon egyszerű kezelni).

Ott nem része a magnak, ahol elérhető egy 16 bites adatbusz, még a 65816 mag félig egyedi verzióiban is, amelyet a WDC még mindig kínál a beágyazott rendszerek fejlesztői számára.

Természetesen Lehetőség van egy új mag tervezésére szélesebb ALU-val és külső adatbussal, és ezáltal nagyobb teljesítménnyel a 16 bites műveleteknél. A teljesítmény további javítása érdekében még a csővezetékek és gyorsítótárak bevezetése is lehetséges lenne. De az eredmény csak 65816 ISA kompatibilis lenne; ez nem egy 65816. Ez is nagyobb, nagyobb teljesítményre éhes, drágább (nem utolsósorban a szélesebb busz leleplezéséhez szükséges összetettebb csomag miatt) és sokkal kevésbé hobbibarát.

megjegyzések

  • adatlapja szerint ( adatlapok.chipdb.org/Western%20Design/w65c816s .pdf ), a W65C816 teljes 16 bites ALU-val rendelkezik.
  • @StarCat Érdekes pont. Az utasítások időzítését nézve kíváncsi vagyok, miért is törődnének velük: úgy tűnik, hogy egy 8 bites ALU-val valóban remekül boldogulhatnak. (Még az olyan utasítások is, mint INX, még mindig két ciklust jelentenek.) Talán azt állítják, hogy a programozó ‘ nézete egy 16- bit ALU (azaz vannak 16 bites hozzáadási utasítások stb.), bár a programozó megtalálja a Z80 ‘ 4 -bit ALU nem különböztethető meg a 8085 ‘ s 8 bites ALU-tól?
  • A 65816 16 bites ALU-val rendelkezik. Ez akkor látható leginkább, ha összehasonlítjuk az ágakat, amelyek ugyanúgy működnek a natív, mint az emulációs módban (8 bites eltolás), de natív módban nem kapnak büntetést az oldalátlépésért, miközben ez még mindig előfordul az emulációban (és a 65C02-nél). Ez minden közvetlen oldalműveletnél jól látható, az oldal keresztezését büntetés nélkül is kezeli.Az emulációs módban a DP azt is megmutatja, hogy itt az ALU egyszerűen ‘ -t

8 bitre állítja, mivel a DH nem ‘ t nullára kell állítani, a btu figyelmen kívül marad.

  • @StarCat A teljes ajánlat: ” Teljes 16 bites ALU, Akkumulátor-, veremmutató- és indexregiszterek ” – amelyek csak esetlenül írhatók meg, de úgy tűnik, hogy arra utal, hogy csak az regiszterek 16 bit szélesek. A 16 bites ALU teljesítményjellemzőit azonban nem könnyű megfigyelni ebben a CPU-ban, mert a legtöbb operandust (beleértve a memória címeket is) egyszerre 8 bitből kell betölteni a memóriából. Még akkor is, ha az ALU teljes szélességét használják a címzési mód számításaihoz, megjegyzem, hogy ha a DPR nincs az oldalhoz igazítva, a közvetlen módú hozzáférések 1 ciklusos büntetést szabnak ki, amely összhangban áll egy 8 bites ALU-val.
  • @Raffzahn 16 bites indexek esetén egy teljes 16 bites összeadást kell végrehajtani az alapcím és az indexeltolás között. Úgy tűnik, hogy ezt nem lehet elindítani, amíg az alapcím teljesen nincs betöltve, valószínűleg a belső nyilvántartások hiánya miatt. Az, hogy ezután két ciklus szükséges egy 16 + 16 összeadáshoz, de csak egy ciklus a 16 + 8 összeadáshoz, azt mutatja, hogy erre a célra egy 8 bites összeadót használnak felső bájtos hordozási terjedéssel.
  • Válasz

    A 65816-ot a meglévő 6502 ügyfél frissítési útjának szánják. 8 bites megtartása ésszerű döntés volt a felhasználói nézetekből, mivel felajánlja

    • A meglévő tervek egyszerű frissítését
    • Teljes mértékben kompatibilis a meglévő szoftverekkel
    • Standard A 40 tűs csomagnak kevesebb furatra van szüksége, és olcsóbb kezelhetőséget kínál
    • Csak egy reteszre van szükség a kibővített címtartomány használatához
    • Csak szabványos 8 bites külső komponensekre van szükség

    Különösen a későbbiek fontosak a költség megfontolásához. A gyártáshoz minden lyuk számít, mivel a fúrás idővel csökken, és ez költséget jelent. 1983-ban a 16 bites alkatrészek (RAM / ROM) meglehetősen ritkák és drágák voltak. 8 bites kialakítással számos szabványos (EP) ROM és RAM chipet definiáltak csak a szükséges méret szerint, míg egy 16 bites adatbuszhoz mindig legalább kettő szükséges. Végül is az a prototípus, amely a múltbeli állapotot megtervezi, nem lesz költségérzékeny. A 65xx sorozat mindig alacsony költségű / beágyazott alkalmazásokra irányult. Valójában a célpiaca nagyon hasonlított az Intel 8086-os elképzeléseire, mint a 8080 / 85 felhasználó.

    Ellentétben az Intel-rel, amely 16 bites CPU-t tervezett és 8 bites kompatibilitást tett (* 1), a WDC 8 bites maradt, ami értelme volt a CPU tervezésének, mivel leegyszerűsítette a fejlesztést.

    • Az alapvető belső struktúra megtartható a 65C02-től.
    • Nincs változás az alapcím-generálásban
    • nincs szükség 8/16 bites buszprotokoll hozzáadására a szavak bájtjainak eléréséhez
    • nincs szükség utasítási sorkezelésre

    Ezen az úton haladva az egész projektet elég kicsinek tartották ahhoz, hogy olyan erőforrások kezelhessék őket, amelyeket egy olyan kis cég, mint a WDC, tudott biztosítani – anélkül, hogy fel kellett volna használni A jövőben veszélyben van.

    Azon kívül, hogy összehasonlíthatóan könnyű létrehozni, a 16 bites busz nem nyer annyit, amennyit először feltételezhetünk. Végül is a teljesítmény sokkal inkább a memória sávszélességéről szól, nem igaz? A 8088 vs. 8086 itt remek viszonyítási alap, mivel mindkettő pontosan ugyanazt az EU-t használja (végrehajtó egység; * 1), miközben csak a busz szélességében különbözik a BIU ( Bus Interface Unit) a memória elérésére szolgál. Míg elméletileg a 8086-nak körülbelül kétszer akkora teljesítményt kell nyújtania, mint a sávszélesség megduplázása ugyanolyan órajel mellett, a valós teljesítménynövekedés csak körülbelül 30-40%. Ez még figyelemre méltóbb, mint a BIU A dizájn nagyon jól működik a busz 100% -hoz közeli kihasználásában (* 2)

    Tehát bár a buszszélesség megduplázása mindig kevesebb, mint kétszeres sebességet eredményez, egyszerűen megduplázza a tervezés órajelét minden bizonytalanság nélkül. 1983-ra a memória elérte azt a pontot, ahol a 4 MHz-es 6500-as stílusú dizájn könnyen elérhető volt, mindenféle megrázkódtatás nélkül megnégyszereződött.

    Lényeg: A 8 bites tartózkodás számos előnyt kínált a tervezés és a felhasználók számára, miközben elkerülte a felesleges erőfeszítéseket és költségeket.

    Végül, de nem utolsósorban mellékhatásként a 65802 ezen felül létrehozható, amely a meglévő 65C02 terveknél 16 bites funkciók használatának csökkenését kínálja.


    * 1 – Az EU nagy részében a 8086 „valódi” CPU-magjának tekinthető.

    * 2 – Ennek nagy része egybájtos hozzáférés miatt jön létre, de kiegyenlítetlen memória szavakkal és célpontok ugrásával, amelyek egy 16 bites buszt 8 bites működésre lassítanak. És bár az új szoftver ezt figyelembe veheti, a meglévő nem. Legrosszabb eset például az Applesoft BASIC lehet, szinte mindegyik mutató volt a Zero Page páratlan címeken. 8 bites senkit nem érdekelt, 16 bittel halálos.

    Válasz

    A 8 bites külső adatbusz előnye és a címbusz felső 8 bitjének multiplexelése a a 65816 első kiadása egyértelműnek tűnik. A chipnek valójában két változata volt: a kérdésben leírt W65C816S és a W65C802. A Wikipédia szerint

    [A] 65C802 … belül azonos volt a 65C816. Mindkettőt ugyanazon gyártási vonalakon állították elő, és csak az utolsó fémezés szakaszaiban váltak el egymástól, amikor a forgácsot a külső csapokhoz csatlakoztatták. A 65C802-ben ezeknek a csapoknak ugyanaz volt az elrendezése, mint az eredeti 6502-nek, ami lehetővé tette, hogy drop-in helyettesítőként használják, miközben továbbra is lehetővé tették a CPU 16 bites feldolgozását. Mivel azonban az eredeti pinout-ot használta, csak 16 címzettüskéje volt, ezért csak 64 kB külső memóriát tudott elérni. Általában, amikor a hardvergyártók az alapoktól fogva terveztek egy projektet, akkor a 65C816-ot használták, nem pedig a 65C802-et, aminek következtében az utóbbi kivonásra került a gyártásból.

    De ez nem magyarázza meg, miért folytatta a 65816 összes verziója a külső 8 bites interfész használatát a 65802 leállítása után is.

    Answer

    Azt hiszem, a válasz egyszerű: manapság nincs szükség a 65C816 ilyen verziójára. A Western Design Center (WDC), a 65C816 gyártó, az IP-kre és az IoT dolgokra összpontosít. Gondolom, az “új 65C816” gyártás egyfajta nosztalgia számukra. A chipek és csomagok felülvizsgálatának nincs egyértelmű üzleti esete, IMHO.

    Egy másik kérdés: “Miért nem volt még a 80-as években 16bit-es adatbusz verzió?” Az ésszerű magyarázat a következő: külső események sorozata volt. A piac valószínűleg gyorsabban mozgott, mint a WDC várta. A 80-as évek első felében, amikor a 65C816-ot bevezették, a 8 bites A már a 6502 chiphez tervezett rendszerekhez való hozzáférés és a piac nem igényel 16 bites adatbuszt. Később, amikor a 16 bites perifériák elérhetővé váltak, a 65C816 gyártó nem kínálta fel időben a “következő generációs” CPU-t, így a legnagyobb ügyfelek, például az Apple (// GS) vagy a Nintendo (SNES) jobbra, gyorsabban, stb. – processzorok (Motorola, NEC MIPS, …), amikor hardverük új generációját tervezték. Ez a lépés a “16 bites 65C816 adatbuszt” elavulttá tette saját létrehozása előtt.

    Megjegyzések

    • Számomra úgy tűnik, hogy az Apple soha ” jobb, gyorsabb processzorokhoz lépett “; az IIgs volt a sor vége az Apple II számára, és 1992-ig folytatta a ‘ 816 használatát. (Az Apple valóban használta a 68000-et a Mac-ben, de ez a döntés 1980 vége, jóval a ‘ 816 fejlesztése megkezdése előtt.) És a Nintendo legkorábban 1988-ig kezdte meg az SNES fejlesztését, öt évvel a ‘ 816 megjelenése után.
    • Igaz, a Mac vs. II különböző fejlesztések. Az Apple IIgs sikere ellenére mindössze 1,25 M-es egységekkel az Apple messze nem volt a legnagyobb vásárló. A SNES száma 50 M körül van, a klónokat nem számítva. És ebben a régióban van még néhány beágyazott alkalmazás. Általában az asztali számítógépek voltak a leglátványosabb számunkra a 6502-es számok, de összességében a legkevésbé fontosak. Még az összes Commodore, Apple, BBC és így tovább hozzáadása is csak az összes felépített 65xxx mag kevesebb, mint 1% -át fogja felhasználni.

    Válasz

    A W65C265S , 65816 alapú mikrovezérlő, a 24b címbusz egészét ki van téve, külön 8b adatbusszal.

    És hogy tisztázzuk, a “265S” nem “65816”. Nagyon, nagyon közel van. De a fedélzeti perifériák és a dekódolási logika ellenére nem rendelkezik különféle megszakítási vektorokkal, amelyek a “265S kódot inkompatibilisé tehetik a 65816 dobozkészlettel. Minden gyakorlati célból azonosak a szoftveres célokkal, de vannak kisebb különbségek.

    Vélemény, hozzászólás?

    Az email címet nem tesszük közzé. A kötelező mezőket * karakterrel jelöltük