Proč není ' t WDC 65816 k dispozici v “ externě ” 16bitových verzích?

Ve skutečnosti, pokud nejsou k dispozici skutečné poznámky k designu od WDC, je otázka pro pole názvu opravdu příliš dlouhá: „Jaké jsou přesně nevýhody? mít verzi WDC 65816 s 16bitovou datovou sběrnicí a / nebo non-multiplexovanou adresovou sběrnicí ve srovnání s výhodami, které by jim poskytly? “

Všechny (neměkké) verze WDC 65816, o kterých vím, že mají externí rozhraní s 8bitovou datovou sběrnicí a horních 8 bitů adresní sběrnice multiplexovaných na pinech datové sběrnice. Pro 16bitové datové přístupy jsou tedy vyžadovány dva cykly (např. LDA s bitovou sadou m) a externí logika je nutná k zablokování horních 8 bitů adresových řádků, což může také zavést další časová omezení .

To umožňuje čipu zapadnout do 40kolíkového balíčku, což se jeví jako rozumná možnost zpřístupnění, ale to nevylučuje také mít verzi ve větším balíčku. O čtyři roky dříve byla Motorola 68000 poprvé zpřístupněna v 64pólovém DIP balíčku se samostatnou 24bitovou adresou a 16bitovými datovými sběrnicemi, takže technologie, jak toho dosáhnout za rozumnou cenu, byla dlouho k dispozici. A od té doby se samozřejmě stalo běžným mnoho dalších obalů s vysokým počtem pinů, přesto WDC ani nyní nenabízí nic většího než 44 pinových (PLCC a QFP) balíčků.

Ani 40kolíkový balíček vyloučit, že bude mít 16bitovou externí datovou sběrnici, jak to udělal Intel 8086, s její 16bitovou externí datovou sběrnicí multiplexovanou na 20bitovou sběrnici externí adresy. To nemusí ani znamenat, že je třeba vyrábět samostatné verze 8bitové a 16bitové datové sběrnice: v roce 1990 Motorola nahradila MC68008 (68000 s 8bitovou externí datovou sběrnicí) za MC68HC001, což umožnilo výběr externí datové sběrnice šířka při resetu.

Proč tedy nedostatek „plných 16bitových“ externích rozhraní, dokonce i do dnešních dnů, jak je nabízejí ostatní časní 16bitoví prodejci procesorů? Jaké nevýhody různých forem plných 16bitových externích rozhraní mi chybí?


¹ Tj. Čipy, které si můžete koupit z police, na rozdíl od jader FPGA nebo ASIC můžete integrujte se do libovolného balíčku, který se vám líbí.

Komentáře

Odpověď

Model 65816 má fyzicky 8bitovou ALU, ačkoli mnoho interních registrů má nyní šířku 16 bitů. Provádění každé operace ALU v 16bitovém režimu proto vyžaduje další cyklus, což užitečně poskytuje potřebný čas k získání dalších dat přes datovou sběrnici (která je stále velmi jednoduchá na rozhraní).

Tam není součástí jádra, kde je k dispozici 16bitová datová sběrnice, která má být vystavena, a to ani v částečně vlastních verzích jádra 65816, které WDC stále nabízí vývojářům vestavěných systémů.

Bylo by to samozřejmě být možné navrhnout nové jádro se širší ALU a externí datovou sběrnicí, a tedy s vyšším výkonem v 16bitových operacích. Pro další zlepšení výkonu by bylo dokonce možné zavést pipeline a caching. Výsledek by však byl kompatibilní pouze s 65816 ISA; nebylo by to 65816. Bylo by to také větší, energeticky náročnější, dražší (v neposlední řadě kvůli složitějšímu balíčku vyžadovanému k odhalení širší sběrnice) a mnohem méně příznivcům fandů.

Komentáře

  • Podle jejího datového listu ( datasheets.chipdb.org/Western%20Design/w65c816s .pdf ), W65C816 má plnou 16bitovou ALU.
  • @StarCat Zajímavý bod. Když se podívám na časování instrukcí, zajímalo by mě, proč by se obtěžovali: vypadá to, že by si s 8bitovou ALU mohli opravdu poradit. (I instrukce jako INX jsou stále dva cykly.) Možná uvádějí, že programátor ‚ na to pohlíží jako na 16 bit ALU (tj. existují 16bitové pokyny pro přidání atd.), stejně jako programátor najde Z80 ‚ s 4 -bit ALU k nerozeznání od 8085 ‚ s 8bitové ALU?
  • Model 65816 má 16bitovou ALU. To je nejviditelnější při porovnávání větví, které fungují stejně v nativním i emulačním režimu (8bitové posunutí), ale za překročení stránky v nativním režimu nedostanou žádnou pokutu, zatímco v emulaci (a na 65C02) k tomu stále dochází. Je to také dobře viditelné u všech přímých operací se stránkami, manipulace s přejížděním stránek také bez postihu.DP v režimu emulace dále ukazuje, že zde ALU jednoduše dostane ‚ downturned ‚ na 8 bitů, protože DH ‚ nemusí být nastaveno na nulu, btu bude ignorováno.
  • @StarCat Celá nabídka je: “ Plná 16bitová ALU, Akumulátor, ukazatel zásobníku a indexové registry “ – které mohou být jen neohrabaně napsány, ale podle všeho naznačují, že pouze registry mají šířku 16 bitů. Výkonové charakteristiky 16bitové ALU však v tomto CPU nejsou snadno pozorovatelné, protože většina operandů (včetně adres paměti) musí být načtena z paměti 8 bitů najednou. I když se pro výpočty režimu adresování používá celá šířka ALU, všiml jsem si, že pokud DPR není zarovnán na stránku, přístupy přímého režimu mají trest 1 cyklu, který je v souladu s 8bitovou ALU.
  • @Raffzahn U 16bitových indexů je třeba provést základní 16bitové přidání mezi základní adresu a offset indexu. Zdá se, že to nelze spustit, dokud nebude základní adresa úplně načtena, pravděpodobně kvůli nedostatku interních registrů. To, že poté trvá dva cykly pro přidání 16 + 16, ale pouze jeden cyklus pro přidání 16 + 8, ukazuje, že pro tento účel se používá 8bitová sčítačka s rozšířením přenosu bajtů na horní bajt.

Odpověď

Model 65816 je určen jako cesta k upgradu pro stávající zákazníky 6502. Zachování 8 bitů bylo rozumným rozhodnutím z pohledu uživatele, protože nabízí

  • Snadný upgrade stávajících návrhů
  • Plně kompatibilní se stávajícím softwarem
  • Standard 40kolíkový balíček potřebuje méně průchozích otvorů a nabízí levnější manipulaci
  • K použití rozšířeného rozsahu adres je potřeba pouze jedna západka
  • Jsou potřeba pouze standardní 8bitové externí komponenty

Z hlediska nákladů jsou důležité zejména pozdější. Pro výrobu se počítá každá díra, protože časem se vrtá a tím stojí. V roce 1983 byly 16bitové komponenty (RAM / ROM) poměrně vzácné a drahé. S 8bitovým designem byla řada standardních (EP) ROM a RAM čipů definována jen podle potřebné velikosti, zatímco 16bitová datová sběrnice vždy vyžaduje alespoň dva z nich. Koneckonců, který design v minulém stavu prototypu není citlivý na náklady. Řada 65xx byla vždy zaměřena na nízké náklady / vestavěné aplikace. Ve skutečnosti byl jeho cílový trh podobný tomu, jak si Intel představoval pro 8086 jako cestu pro upgrade na 8080 / 85 uživatelů.

Na rozdíl od společnosti Intel, která navrhla 16bitový procesor a 8bitově kompatibilní (* 1), WDC zůstalo 8bitové, což dávalo smysl pro návrh CPU, protože to zjednodušilo vývoj

  • Základní vnitřní struktura může být zachována z 65C02
  • Žádné změny v generování základních adres
  • není potřeba přidávat 8/16 bitový protokol sběrnice pro přístup k bytům ve slově
  • není potřeba správa fronty instrukcí

Po této trase byl celý projekt udržován dostatečně malý na to, aby jej zvládly zdroje, které mohla poskytnout malá společnost, jako je WDC – bez uvedení budoucnost v ohrožení.

Kromě toho, že 16bitová sběrnice je poměrně snadno vytvořitelná, nezíská tolik, jak by se dalo na první pohled předpokládat. Koneckonců, výkon je hodně o šířce pásma paměti, že? Model 8088 vs. 8086 je zde skvělým měřítkem, protože oba používají přesně stejnou EU (Execution Unit; * 1), přičemž se liší pouze šířkou sběrnice BIU ( Bus Interface Unit) používá k přístupu do paměti. Zatímco teoreticky by 8086 měl poskytovat přibližně dvojnásobný výkon kvůli zdvojnásobení šířky pásma při stejné hodinové frekvenci, zisk v reálném světě je jen asi 30-40%. To je ještě pozoruhodnější než BIU design funguje docela dobře při využití sběrnice téměř na 100% (* 2).

Takže i když zdvojnásobení šířky sběrnice vždy dodá méně než dvojnásobnou rychlost, jednoduše zdvojnásobení hodinové frekvence designu to udělá bez jakékoli nejistoty. Do roku 1983 se paměť dostala do bodu, kdy bylo snadné dosáhnout designu ve stylu 4 MHz 6500, což zčtyřnásobilo thruput bez jakéhokoli chvění.

Sečteno a podtrženo: Zůstat 8 bitů nabídl mnoho výhod v designu a pro uživatele, aniž by zbytečně vynaložil úsilí a náklady.

V neposlední řadě jako vedlejší efekt může být vytvořen model 65802, který nabízí náhradní náhradu za použití 16bitových funkcí u stávajících návrhů 65C02.


* 1 – U většiny částí lze EU považovat za „skutečné“ jádro CPU 8086

* 2 – hodně z toho je způsobeno jednobajtovým přístupem, ale také nevyrovnanými paměťovými slovy a skokovými cíli, což zpomalí 16bitovou sběrnici na 8bitovou operaci. A zatímco nový software by to mohl vzít v úvahu, stávající nebude. Nejhorším příkladem zde může být Applesoft BASIC, téměř všechny ukazatele na Zero Page jako na lichých adresách. O 8 bitů se nikdo nestaral, s 16 bitů je to smrtící.

Odpověď

Výhoda 8bitové externí datové sběrnice a multiplexování horních 8 bitů adresové sběrnice v první vydání 65816 se zdá být jasné. Ve skutečnosti existovaly dvě verze čipu: W65C816S, jak je popsáno v otázce, a W65C802. Podle Wikipedie

[Model] 65C802 … byl uvnitř totožný s 65C816. Oba byly vyráběny na stejných výrobních linkách a rozcházely se pouze během posledních fází metalizace, kdy byl čip připojen k externím kolíkům. V 65C802 měly tyto piny stejné rozložení jako původní 6502, což umožňovalo jeho použití jako náhradu typu drop-in, přičemž stále umožňovalo použití 16bitového zpracování CPU. Jelikož však používal původní pinout, měl pouze 16 adresovacích pinů, a proto mohl přistupovat pouze k 64 kB externí paměti. Typicky, když výrobci hardwaru navrhli projekt od základu, použili spíše model 65C816 než 65C802, což mělo za následek stažení tohoto produktu z výroby.

To ale nevysvětluje, proč všechny verze 65816 pokračovaly v používání externího 8bitového rozhraní i poté, co byla 65802 ukončena.

Odpovědět

Myslím, že odpověď je jednoduchá: dnes už taková verze 65C816 není potřeba. Společnost Western Design Center (WDC), výrobce 65C816, se zaměřuje na IP a IoT věci. Myslím, že „nová výroba 65C816“ je pro ně druh nostalgie. Revize čipů a balíků nemá jasný obchodní případ, IMHO.

Další otázka zní: „proč v 80. letech neexistovala 16bitová verze datové sběrnice?“ Důvodné vysvětlení je: šlo o sled externích událostí. Trh se pravděpodobně pohyboval rychleji, než WDC očekával. V první polovině 80. let, kdy byl představen 65C816, byla 8bitová datová sběrnice na systémy již navržené pro čip 6502 a trh nevyžaduje 16bitovou datovou sběrnici. Později, když byly k dispozici 16bitové periferie, výrobce 65C816 nenabídl „next-gen“ CPU včas, takže největší zákazníci, jako Apple (// GS) nebo Nintendo (SNES), přešli na lepší, rychlejší atd. procesory (Motorola, NEC MIPS, …) při navrhování nové generace jejich hardwaru. Tento krok způsobil, že „16bitová datová sběrnice 65C816“ byla před vlastním vytvořením zastaralá.

Komentáře

  • Zdá se mi, že Apple nikdy “ přešel k lepším a rychlejším procesorům „; IIgs byl konec řady pro Apple II a nadále používal ‚ 816 až do roku 1992. (Apple použil 68000 v počítačích Mac, ale toto rozhodnutí bylo učiněno v koncem roku 1980, dlouho předtím, než ‚ 816 zahájil vývoj.) A Nintendo nezačalo ‚ nejdříve s vývojem SNES až do roku 1988, pět let po vydání ‚ 816.
  • Je pravda, že Mac vs. II se liší. I přes úspěch Apple IIgs, s pouhými 1,25 M jednotkami, Apple ani zdaleka nebyl jejich největším zákazníkem. Čísla SNES jsou kolem 50 M, nepočítáme-li klony. A v této oblasti je spousta dalších vestavěných aplikací. Obecně platí, že stolní počítače pro nás byly možná nejviditelnějším použitím 6502, ale jsou celkem mezi nejméně důležitými. Dokonce i přidání všech Commodore, Apple, BBC atd. Skončí pouze s použitím méně než 1% všech jader 65xxx, které se kdy vytvořily.

Odpovědět

W65C265S , mikrokontrolér založený na 65816, má celou exponovanou adresovou sběrnici 24b se samostatnou datovou sběrnicí 8b.

A aby bylo jasno, „265S není“ a „65816“. Je to velmi, velmi blízké. Ale bez ohledu na integrované periferie a logiku dekódování má několik různých vektorů přerušení, díky nimž může být „kód 265S nekompatibilní s krabicovou zásobou 65816. Pro všechny praktické účely jsou identické se softwarovými účely, ale existují určité drobné rozdíly.

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *