NS32000 - NS32000

NS32000 , někdy známý jako 32K , je řada mikroprocesorů produkovaných National Semiconductor . První člen rodiny přišel na trh v roce 1982, krátce známý jako 16032, než se stal 32016 . Jednalo se o první 32bitový víceúčelový mikroprocesor na trhu. 32016 však obsahoval velký počet chyb a často jej nebylo možné spustit při jmenovité rychlosti. Tyto problémy a přítomnost podobné Motoroly 68000, která byla k dispozici již nějakou dobu, vedly k téměř žádnému použití na trhu.

Následovalo několik vylepšených verzí, včetně 32032 z roku 1985, což byla v podstatě chyba 32016 s externí 32bitovou datovou sběrnicí. I když nabídl o 50% lepší rychlost než 32016, byl lepší než 32bitová Motorola 68020 , vydaná před rokem. 32532 , vydané v roce 1987, překonal současný Motorola 68030 téměř dvojnásobek, ale do této doby nejvíce zájem o mikroprocesory se obrátil k RISC platformy, a to jinak vynikající konstrukce pily téměř k ničemu stejně.

National pracoval na dalších vylepšeních v 32732 , ale nakonec se vzdal pokusu soutěžit v prostoru centrální procesorové jednotky (CPU). Místo toho byla základní architektura 32000 kombinována s několika podpůrnými systémy a znovu spuštěna jako mikrokontrolér Swordfish . To mělo na trhu určitý úspěch, než bylo v polovině devadesátých let nahrazeno architekturou CompactRISC .

Designový koncept

Mikroprocesor NS32008

Řada NS32000 sleduje svou historii ve snaze společnosti National Semiconductor vytvořit jednočipovou implementaci architektury VAX-11 . VAX je dobře známý pro svou vysoce „ortogonální“ architekturu instrukční sady (ISA), ve které lze jakoukoli instrukci aplikovat na jakákoli data. Například, ADDinstrukce dodat obsah dvou procesorových registrů nebo jednoho registru proti hodnotou v paměti, dvou hodnot v paměti, nebo použijte registr jako posun proti adresu. Tato flexibilita byla v éře počítačů s komplexními instrukčními sadami (CISC) považována za vzor designu .

National vzal DEC k soudu v Kalifornii, aby zajistil zákonnost návrhu, ale když DEC nechal žalobu přesunout do Massachusetts, domovského státu DEC, soudní spor byl zrušen a místo toho byla vyvinuta architektura Series 32000. Přestože nová architektura instrukční sady nebyla kompatibilní s VAX-11, zachovala si svou vysoce „ ortogonální “ filozofii designu. To znamená, že každou instrukci lze použít s jakýmkoli typem dat. Články té doby to také označovaly jako „symetrické“.

Původní rodina procesorů se skládala z CPU NS16032 a varianty s nízkým výkonem NS16C032, přičemž obě měly 16bitovou datovou cestu a vyžadovaly tak dva strojové cykly k načtení jednoho 32bitového slova. Oba mohly být použity s jednotkou správy paměti NS16082 , která poskytovala podporu 24bitové virtuální paměti až pro 16 MB fyzické paměti. NS16008 byla zkrácená verze s 8bitovou externí datovou cestou a bez podpory virtuální paměti, která měla snížený počet pinů a byla tedy poněkud snadněji implementovatelná.

Ve stejné době společnost National také oznámila dvě budoucí verze, NS32032 a NS32132. První z nich byla v podstatě verzí NS16032 s 32bitovou externí datovou sběrnicí, což jí umožňovalo číst data dvojnásobnou rychlostí. Toto byl projekt, který měl být vydán v roce 1984. NS32132 byla verze s 29bitovými interními adresami a 32bitovou externí, což jí umožňovalo adresovat kompletní 4 GB paměti. Měla být vydána v roce 1985.

Všechny tyto položky lze také použít s jednotkou s plovoucí desetinnou čárkou NS16081.

Architektura

Registry NS 32000
3 1 . . . 2 3 . . . 1 5 . . . 0 7 . . . 0 0 (bitová pozice)
Obecné registry
R0 R egister 0
R1 R egister 1
R2 R egister 2
R3 R egister 3
R4 R egister 4
R5 R egister 5
R6 R egister 6
R7 R egister 7
Rejstříkové registry
0000 0000 SP1                           S tack P ointer (uživatel)
0000 0000 SP0                           S tack P ointer (přerušení)
0000 0000 SB                           S statická B ase
0000 0000 FP                           F Rame P ointer
0000 0000 INTBASE                        Int errupt Base
Počitadlo programů
0000 0000 PC                           P rogram C ounter
  MOD Mod ULE deskriptor
Registrace stavu programu
  1 5 1 4 1 3 1 2 1 1 1 0 0 9 0 8 0 7 0 6 0 5 0 4 0 3 0 2 0 1 0 0 (bitová pozice)
  - - - - P S U N. Z F - - L T C PSR

Procesory mají 8 obecných 32bitových registrů a řadu speciálních registrů:

  • Ukazatel rámečku
  • Ukazatel zásobníku (jeden pro režimy uživatele a správce)
  • Statický základní registr pro odkazování na globální proměnné
  • Základní registr odkazů pro dynamicky propojené moduly (orientace objektu)
  • Počitadlo programů
  • Typický registr stavu procesoru s uživatelským bajtem nižšího řádu a systémovým bajtem vysokého řádu.

(Další systémové registry nejsou uvedeny).

Sada instrukcí je do značné míry v modelu CISC , obsahuje 2 operandové instrukce, operace z paměti do paměti, flexibilní režimy adresování a kódování instrukcí s bajtem zarovnané s proměnnou délkou. Režimy adresování mohou zahrnovat až dvě posunutí a dvě paměťová směrování na operand a také škálované indexování, takže nejdelší myslitelná instrukce má 23 bytů. Skutečný počet instrukcí je mnohem nižší než u současných procesorů RISC.

Na rozdíl od některých jiných procesorů není k dispozici automatické zvyšování základního registru; jedinou výjimkou jsou režimy adresování „top of stack“, které vybírají zdroje a tlačí cíle. Jedinečně je velikost posunutí zakódována v jeho nejvýznamnějších bitech: 0, 10 a 11 předcházelo 7-, 14- a 30bitové podepsané posunutí. (I když jsou procesory jinak konzistentně málo endianové, posuny v toku instrukcí jsou uloženy v big-endianovém pořadí).

Operandy obecného účelu se zadávají pomocí 5bitového pole. K tomu lze přidat indexový bajt (určující indexový registr a 5bitovou základní adresu) a až 2 posunutí proměnné délky na operand.

32016

První čip v sérii byl původně označován jako 16032, ale později byl přejmenován na 32016, aby zdůraznil jeho 32bitové interní součásti. To je v kontrastu s jeho hlavním konkurentem v tomto prostoru, Motorola 68000 (68k) z roku 1979 . 68 tisíc používalo 32bitové instrukce a registry, ale jeho aritmetická logická jednotka (ALU), která ovládá velkou část celkového zpracování, byla pouze 16bitová. To znamenalo, že k dokončení operace bylo nutné dvakrát cyklovat 32bitová data přes ALU. Naproti tomu NS32000 má 32bitovou ALU, takže dokončení 16bitových a 32bitových instrukcí trvá stejně dlouho.

32016 byl poprvé dodán v roce 1982 v 46pólovém DIP balíčku. Možná to byl první 32bitový čip, který dosáhl hromadné výroby a prodeje (alespoň podle marketingu společnosti National). Ve zprávě z publikace z června 1983 však bylo poznamenáno, že National „slibuje produkční množství letos v létě“ 16032 dílů, přičemž „odesílá množství vzorků několik měsíců“, přičemž vzorkování koprocesoru s plovoucí desetinnou čárkou „tento měsíc “. Ačkoli úvod z roku 1982 postoupil 68 tisíc asi o dva roky, 68 tisíc ještě nebylo na trhu široce používáno a 32016 vyvolal značný zájem. Starší verze byly bohužel plné chyb a jen zřídka je bylo možné spustit při jmenovité rychlosti. V roce 1984, po dvou letech, obsahoval seznam chyb stále položky specifikující nekontrolovatelné podmínky, které by vedly k zastavení procesoru a vynucení resetování.

Původní plán produktu předpokládal části 6 MHz a 10 MHz v průběhu roku 1983 a části 12 MHz a 14 MHz v průběhu roku 1984. Tiskové zprávy v roce 1984 však naznačovaly potíže s dodržováním tohoto plánu, přičemž údajně trvalo pět měsíců, než se frekvence zařízení zvýšila. části od 6 MHz do 8 MHz, přičemž zástupci odhadují další „dva, tři nebo pět měsíců“ ke zvýšení frekvence na 10 MHz. Údajně byly příčinou těchto problémů dva blíže neurčené čipy z pěti v čipové sadě. Článek z počátku roku 1985 o pracovní stanici Whitechapel MG-1 se sídlem 32016 uvádí, že jednotka správy paměti 32081 „trpí chybami“ a byla umístěna na vlastní desce poskytující opravy hardwaru.

Společnost National změnila svou metodiku návrhu, aby umožnila uvedení součásti do výroby, a návrhový systém založený na jazyce „Z“ byl vyvinut společně s univerzitou v Tel Avivu, v blízkosti designového centra „NSC“ v Herzliya , Izrael. . Jazyk „Z“ je podobný dnešnímu Verilogu a VHDL , ale má syntaxi podobnou Pascalu a je optimalizován pro návrhy dvoufázových hodin . V době, kdy už byly plody tohoto úsilí pociťovány v designu, však již bylo na trhu mnoho 68 000 strojů, zejména Apple Macintosh , a model 32016 nikdy nebyl rozšířen.

32016 má 16bitovou externí datovou sběrnici , 24bitovou externí adresovou sběrnici a úplnou 32bitovou sadu instrukcí . Obsahuje také rozhraní koprocesoru , které umožňuje připojení koprocesorů, jako jsou FPU a MMU, jako peer k hlavnímu procesoru. MMU je založeno na virtuální stránkovací paměti Virtual Memory, což je nejneobvyklejší funkce ve srovnání s přístupem segmentované paměti, který používá konkurence, a stal se standardem pro dnešní design mikroprocesorů. Architektura podporuje mechanismus restartu instrukce při poruše stránky, což je mnohem čistší než přístup Motorola k vypsání vnitřního stavu při chybě stránky, kterou je třeba přečíst zpět, než bude instrukce pokračovat.

Mikroprocesor NS32016
NS32081 FPU

Ačkoli to bylo často srovnáváno s 68k instrukční sadou, zaměstnanci NSC to odmítli; jednou z klíčových marketingových frází té doby byla „Elegance je všechno“, srovnávající vysoce ortogonální řadu 32000 s „kludge“. Jedním z klíčových rozdílů je používání registrů adres a datových registrů společností Motorola, přičemž pokyny fungují pouze na registrech adres nebo dat. Řada 32000 má obecné registry.

32032

Mikroprocesor NS32032

32032 byl představen v roce 1984. Je téměř zcela kompatibilní s 32016, ale je vybaven 32bitovou datovou sběrnicí (i když udržuje 24bitovou sběrnici adres) pro poněkud rychlejší výkon. Existoval také 32008, 32016 s datovou sběrnicí zkrácenou na šířku 8 bitů pro levné aplikace. Je filozoficky podobný MC68008 a stejně nepopulární.

Společnost National také vyrobila řadu souvisejících podpůrných čipů, jako jsou jednotky NS32081 Floating Point Unit (FPU), NS32082 Memory Management Units (MMU) , NS32203 Direct Memory Access (DMA) a NS32202 Interrupt Controllers. S celou sadou plus paměťovými čipy a periferiemi bylo možné vybudovat 32bitový počítačový systém schopný podporovat moderní víceúlohové operační systémy, což bylo dříve možné pouze na drahých minipočítačích a sálových počítačích .

32332, 32532

V roce 1985 společnost National Semi představila NS32332, mnohem vylepšenou verzi 32032. Z datového listu tato vylepšení zahrnují „přidání nového vyhrazeného hardwaru pro adresování (skládající se z vysokorychlostního ALU, řadicího válce a registru adres), velmi účinná fronta předběžného načtení instrukce (20 bajtů), nové rozhraní/protokol systémové/paměťové sběrnice, zvýšený efektivnost protokolu podřízeného procesoru a nakonec vylepšení mikrokódu. " K Weitek FPA byl také nový NSU32382 MMU, NS32381 FPU a (velmi vzácné) rozhraní NS32310 . Díky celkovému zvýšení výkonu NS32332 z těchto vylepšení bylo pouze o 50 procent rychlejší než původní NS32032, a tedy menší než u hlavního konkurenta MC68020 .

Společnost National Semi představila NS32532 počátkem roku 1987. Běžící na frekvencích 20, 25 a 30 MHz šlo o kompletní redesign interní implementace s pětistupňovým potrubím, integrovanou mezipamětí/MMU a vylepšeným výkonem paměti, takže dvakrát výkonnější než konkurenční MC68030 a i80386 . V této fázi začaly pronikat architektury RISC a hlavními konkurenty se staly nyní stejně mrtvé AM29000 a MC88000 , které byly považovány za rychlejší než NS32532. Pro plovoucí desetinnou čárku použil NS32532 existující rozhraní NS32381 nebo NS32580 k Weitek FPA. NS32532 byl základem PC532 , hardwarového projektu „public domain“, a jako jeden z prvních vytvořil užitečný stroj se skutečným operačním systémem (v tomto případě Minix nebo NetBSD ).

Polomýtický NS32732 (někdy nazývaný NS32764), původně představovaný jako vysoce výkonný nástupce NS32532. Tento program nikdy nepřišel na trh.

Mečoun

Derivát NS32732 s názvem Swordfish byl zaměřen na vestavěné systémy a dorazil asi v roce 1990. Swordfish má integrovanou jednotku s plovoucí desetinnou čárkou, časovače, ovladače DMA a další periferie, které nejsou běžně dostupné v mikroprocesorech. Má 64bitovou datovou sběrnici a je interně přetaktován od 25 do 50 MHz. Hlavním architektem Swordfish je Donald Alpert , který pokračoval v řízení architektonického týmu navrhujícího Pentium. Vnitřní mikroarchitektura Pentium je podobná předchozí Swordfish.

Zaměření společnosti Swordfish byly špičkové laserové tiskárny Postscript a výkon byl v té době výjimečný. Konkurenční řešení by mohla vykreslit přibližně jednu novou stránku za minutu, ale demo jednotka Swordfish by vytiskla šestnáct stránek za minutu, omezeno pouze mechanikou laserového motoru. Na každé stránce bylo vytištěno, kolik času bylo na volnoběh, čekání na dokončení motoru.

Die Swordfish je obrovská a nakonec bylo rozhodnuto projekt úplně zrušit a produkt se nikdy nedostal do výroby. Pro návrhy CompactRISC byly použity lekce od Swordfish. Na počátku byly jak CompactRISC-32, tak CompactRISC-16, navržené pomocí „Z“. National nikdy nepřinesl na trh čip s jádrem CompactRISC-32. Národní výzkumné oddělení spolupracovalo s University of Michigan na vývoji prvního syntetizovatelného modelu Verilog a Verilog byl použit od CR16C a dále.

Ostatní

Verze starší řady NS32000 pro levné produkty, jako jsou NS32CG16, NS32CG160, NS32FV16, NS32FX161, NS32FX164 a NS32AM160/1/3, všechny založené na NS302CG16, byly představeny od roku 1987 a dále. Tyto procesory měly určitý úspěch na trhu laserových tiskáren a faxů , a to navzdory silné konkurenci čipů AMD a Intel RISC . Zvláště NS32CG16 je třeba poznamenat. Klíčovým rozdílem mezi tímto a NS32C016 je integrace drahé TCU (Timing Control Unit), která generuje potřebné dvoufázové hodiny z krystalu, a odstranění podpory koprocesoru s plovoucí desetinnou čárkou, která uvolnila prostor mikrokódu pro užitečné Sada instrukcí BitBLT, která výrazně zlepšuje výkon v operacích laserových tiskáren, díky čemuž je tento 60 000 tranzistorový čip rychlejší než 200 000 tranzistorů MC68020. NS32CG160 je CG16 s časovači a periferiemi DMA, zatímco čipy NS32FV/FX16x mají navíc nad jádrem CG16 BitBLT na trhu s faxem/záznamníkem další funkce DSP. Později jsou doplněny NS32GX32 založeným na NS32532. Na rozdíl od předchozích čipů zde nebyl žádný další hardware. NS32GX32 je NS32532 bez MMU prodávaného za atraktivní cenu pro vestavěný systém. Na začátku to byl jen poznamenaný čip. Není jasné, zda byl čip přepracován pro výrobu s nižšími náklady.

Datové listy existují pro NS32132, zjevně navržený pro víceprocesorové systémy. Toto je NS32032 rozšířený o arbitr. Využití sběrnice NS32032 je asi 50 procent díky velmi kompaktní sadě instrukcí nebo velmi pomalému potrubí, jak by to vyjádřili konkurenti. Jedna navrhovaná aplikace NS32032 byla skutečně součástí „transakčního systému odolného vůči chybám“, který využíval „dva 32032 paralelně a porovnával výsledky v alternativních paměťových cyklech k detekci měkkých chyb“. Čip NS32132 umožňuje připojení dvojice procesorů ke stejnému paměťovému systému, aniž by došlo k velké změně desky plošných spojů. Prototypové systémy byly postaveny společností Diab Data AB ve Švédsku, ale nefungovaly tak dobře jako systém MC68020 s jedním CPU navržený stejnou společností.

Stroje využívající řadu NS32000

  • Pracovní stanice Acorn Cambridge - NS32016 (s hostitelem 6502)
  • BBC Micro - druhý procesor NS32016 [1] [2] [3]
  • Laserová tiskárna Canon LBP-8 Mark III-NS32CG16
  • Karta Compupro 32016-NS32016 S-100
  • Encore Multimax - multiprocesor NS32032, NS32332 a NS32532
  • E-mu Systems Emax-NS32008
  • E-mu Systems Emulator III-NS32016
  • Pracovní stanice ETH Zürich Ceres - NS32032
  • Pracovní stanice ETH Zürich Ceres-2 -NS32532
  • Pracovní stanice ETH Zürich Ceres-3 -NS32GX32
  • General Robotics Corp. Python - karta Q-Bus NS32032 a N32016
  • Heurikon VME532 - karta NS32532 VME (s mezipamětí)
  • IBM RT PC - Některé rané modely používaly NS32081 FPU jako koprocesor pro mikroprocesor IBM ROMP
  • Tiskárna etiket Intermec (dříve A-Tech a poté UBI)-NS32CG16
  • CPU Labtam Unix System NS32032 a NS32332
  • Lauterbach Incircuit Emulator ICE (32bitový ovladač systému, první verze v roce 1996, max. 16 MB ZIP20-RAM, Z180 pro ethernet)
  • National Semiconductor ICM-3216-NS32016
  • National Semiconductor ICM-332-1-NS32332 w/ NS32016 I/ O procesor
  • National Semiconductor SYS32/ 20-NS32016 PC add-on board w/ Unix
  • Opus-NS16032 PC přídavná deska
  • PC532 - NS32532
  • Sequent Balance - NS32016, NS32032 a NS32332 s více procesory
  • Siemens PC-MX2-NS32016
  • Siemens MX300-05/-10/-15/-30-NS32332 (−05/-10) nebo NS32532 (−15/-30) pod SINIX (MX300-55 a novější používají i486 )
  • Siemens MX500-75 / -85-NS32532 (2-8x CPU; sekvenční desky / MX500-90 používá 2-12x i486)
  • Symmetric Computer Systems S/375 [4] -NS32016, sloužící k křížovému vývoji 386BSD
  • Informační technologie Syte - grafická pracovní stanice Unix
  • Pracovní stanice Tektronix 6130 a 6250 - NS32016 a NS32032
  • Tolerant Systems Eternity Series - NS32032 w/ NS32016 I/ O procesor
  • Pracovní stanice Trinity College - NS32332
  • Síťový řadič Teklogix 9020 - NS32332
  • Síťový řadič Teklogix 9200 - NS32CG160
  • Whitechapel MG-1-NS32016
  • Whitechapel MG200 - NS32332

Dědictví

V červnu 2015, Udo Möller vydala kompletní Verilog provádění procesorem NS32000 na OpenCores . Plně softwarově kompatibilní s CPU NS32532 s FP32 N32381, je výrazně rychlejší, když je implementován na FPGA, oba pracují s vyšší taktovací frekvencí a používají méně cyklů na instrukci.

Reference

  • Trevor G. Marshall, George Scolaro a David L. Rand: The Definicon DSI-32 Coprocessor . Micro Cornucopia , srpen/září 1985,
  • Trevor G. Marshall, George Scolaro a David L. Rand: Deska koprocesoru DSI-32 . Část 1, BYTE , srpen 1985, s. 120–136; Část 2, BYTE, září 1985, s. 116.
  • Tento článek vychází z materiálu převzatého z Free On-line Dictionary of Computing před 1. listopadem 2008 a začleněn pod podmínky „relicencování“ GFDL , verze 1.3 nebo novější.

externí odkazy

Katalogové listy