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
- Lásd még: retrocomputing.stackexchange.com / questions / 6124 / … , amely gyakorlatilag ugyanazt a kérdést teszi fel általánosabb, mintsem processzor-specifikus nézőpontból
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.
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.