Zilog Z8000 - Zilog Z8000

Zilog Z8000
Návrhář Zilog
Bity 16 bitů
Představeno 1979 ; Před 42 lety ( 1979 )
Design CISC
Typ Registrace paměti
Větvení Registrace stavu
Předchůdce Z80
Nástupce 800 000
Registry
16 × 16bitový obecný účel 24bitový stav
PC
16bitový
Zilog Z8000
M20 mb cpu.jpg
Z8001 na základní desce počítače Olivetti M20
Výkon
Šířka dat 16 bitů
Šířka adresy 23 bitů
Fyzické specifikace
Balíčky

Z8000 ( „ zee- nebo zed osm tisíc “) je 16bitový mikroprocesor představil Zilog na začátku roku 1979. Tato architektura byla navržena Bernard Peuto zatímco logická a fyzická realizace byla provedena Masatoshi Shima , ve spolupráci s malým skupina lidí. Na rozdíl od většiny návrhů té doby Z8000 nepoužíval mikrokód, který umožňoval jeho implementaci pouze do 17 500 tranzistorů.

Z8000 nebyl kompatibilní se Z80 , přestože obsahoval mnoho dobře přijatých návrhových poznámek, díky nimž byl Z80 populární. Mezi nimi byla možnost jejich registrů kombinovat a používat jako jeden větší registr-zatímco Z80 umožňoval použití dvou 8bitových registrů jako jediného 16bitového registru, Z8000 to rozšířil tím, že umožnil dva 16bitové registry aby fungovaly jako 32bitový registr, nebo čtyři, aby fungovaly jako 64bitový registr. Tyto kombinované registry byly zvláště užitečné pro matematické operace.

Ačkoli to byl atraktivní design pro jeho éru, a viděl nějaké použití na začátku roku 1980, to nebylo nikdy tak populární jako Z80. Federico Faggin , tehdejší generální ředitel společnosti Zilog, se domnívá, že důvodem bylo to, že Zilog vlastnil hlavně jediný investor, společnost Exxon Enterprises, která měla ambice konkurovat IBM . Když tedy společnost IBM zahájila projekt IBM PC , viděli Zilog jako konkurenta a vybrali Intel 8088 nad Z8000, protože společnost Intel nebyla na počítačovém trhu považována za konkurenci. Datum uvedení Z8000 na trh ho však zařadilo mezi Intel 8086 (duben 1978) a Motorola 68000 (září 1979), přičemž druhý z nich měl 32bitovou architekturu instrukčních sad a byl zhruba dvakrát rychlejší.

Zilog Z80000 byl 32bitový follow-on designu, který byl zahájen v roce 1986.

Funkce

Registry Z8000
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)
  Seskupení
Hlavní registry 16bitové 32bitové 64bitové
RH0 RL0 R0 RR0 RQ0
RH1 RL1 R1
RH2 RL2 R2 RR2
RH3 RL3 R3
RH4 RL4 R4 RR4 RQ4
RH5 RL5 R5
RH6 RL6 R6 RR6
RH7 RL7 R7
  R8 RR8 RQ8
  R9
  R10 RR10
  R11
  R12 RR12 RQ12
  R13
  R14 RR14
  R15
Stavový registr
S S N. E PROTI M - - - C Z S P O D H - F zaostává
Počitadlo programů
0 Segment 0 0 0 0 0 0 0 0 P rogram C ounter
Adresa

Z8000 byl původně dodáván ve dvou verzích; Z8001 s plnou 24-bit externí adresovou sběrnici , které mu umožní přístup až 8 MB paměti a Z8002 , který podporoval pouze 16-bitové adresování umožňuje 64 kilobajtů paměti. Díky tomu měl Z8002 o osm pinů méně, dodával se v menším 40pólovém formátu DIP , díky čemuž byla implementace levnější. Stejně jako Zilog Z80 obsahuje Z8000 vestavěný obnovovací obvod DRAM .

Série byla později rozšířena o Z8003 a Z8004 , aktualizované verze Z8001 a Z8002. Tyto verze byly navrženy tak, aby poskytovaly vylepšenou podporu virtuální paměti , přidávání nových stavových registrů k indikaci poruch segmentace (test a nastavení) a poskytování možnosti přerušení.

Sada registrů se skládala ze šestnácti 16bitových obecných registrů označených R0 až R15. Registry mohou být zřetězeny do osmi 32bitových registrů, označených RR0/RR2 /../ RR14, nebo do čtyř 64bitových registrů, označených RQ0/RQ4/RQ8/RQ12. Prvních osm registrů může být také rozděleno do šestnácti 8bitových registrů, označených RL0 přes RL7 pro dolní bajt a RH0 až RH7 pro horní (vysoký) bajt. Register R15 je označen jako ukazatel zásobníku . Na Z8001 se registr R14 používá k přidání pevného offsetu k ukazateli zásobníku a čítač programu je rozšířen na 32 bitů, aby zahrnoval podobný offset.

Existoval jak uživatelský režim („normální“), tak režim dohledu , vybraný bitem 14 v příznakovém registru. V režimu dohledu registry zásobníku ukazují na systémový zásobník a jsou k dispozici všechny privilegované pokyny. V uživatelském režimu registry zásobníků ukazují na normální zásobník a všechny privilegované instrukce vygenerují poruchu.

Zemřít na Zilog Z8002

Manipulace s pamětí

Z8000 používal segmentovanou paměťovou mapu se 7bitovým „číslem segmentu“ a 16bitovým offsetem. Obě čísla byla na Z8001 reprezentována piny, což znamená, že mohla přímo adresovat 23bitovou paměť, tedy 8 MB. Interně však pokyny mohly přímo přistupovat k datům pouze v rámci 16bitového offsetu. Díky tomu byl formát instrukce menší; systém s přímým přístupem k 23bitové adrese by potřeboval přečíst tři bajty (24bitové) z paměti pro každou adresu uvedenou v kódu, což vyžaduje dvě čtení na 16bitové sběrnici. U segmentů adresy potřebovaly pouze jedno 16bitové čtení a číslo segmentu bylo nutné aktualizovat pouze tehdy, když data překročila hranice 16bitových/64 kB. To může zlepšit celkový výkon, když lze data uspořádat do 64 kB.

Volitelná 48pinová jednotka správy paměti Z8010 (MMU) rozšířila mapu paměti na 16 MB překladem 23bitové adresy z CPU na 24bitovou. Interně obsahoval seznam 64 segmentů a 8bitový ukazatel na fyzické umístění tohoto segmentu v paměti RAM. Když se CPU pokusil získat přístup k určitému segmentu, Z8010 to přeloží do 8bitové adresy na adresové sběrnici a poté předá 16bitový offset beze změny. To umožnilo rozšířit více programů do fyzické paměti RAM, z nichž každý měl svůj vlastní prostor pro práci, zatímco věřil, že přistupují k celým 8 MB paměti RAM. Segmenty byly proměnné délky a rozšiřovaly se až na 64 kB, aby bylo možné přistupovat k celé paměti ze 64 segmentů. Pokud by bylo potřeba více než 64 segmentů, mohlo by být použito více Z8010. Z8010 nebyl v době uvedení na trh k dispozici a nakonec měl devět měsíců až rok zpoždění.

S vydáním Z8003/Z8004 byl do sestavy přidán Z8015 , který přidal podporu stránkované paměti . Hlavní rozdíl je v tom, že Z8015 rozděluje paměť na 64 2 KB bloků, zatímco Z8010 rozděluje paměť na 64 bloků proměnné velikosti, každý až 64 KB. Kromě toho Z8015 rozšiřuje číslo segmentu ze 7 na 12 bitů a poté je použije jako nejvýznamnější bity 23bitové celkové adresy, čímž přepíše horní bity původního 16bitového offsetu. Výhodou tohoto přístupového schématu je, že je snadné číst nebo zapisovat 2 kB bloky na pevný disk , takže tento vzor více odpovídá tomu, co se nakonec stane na segfaultu.

Systémy založené na CPU Z8000

Na začátku 80. let byl procesor Zilog Z8000 oblíbený u stolních unixových strojů. Tyto levné unixové systémy umožňovaly malým podnikům provozovat skutečný víceuživatelský systém a sdílet zdroje (disk, tiskárny), než bylo běžné připojení k síti. Obvykle měly místo vestavěné grafiky pouze sériové porty RS232 (4–16) a paralelní porty tiskárny , což bylo typické pro servery té doby.

Počítačové systémy založené na Z8000 zahrnovaly vlastní řadu System 8000 společnosti Zilog a další výrobce:

  • Leden 1980: C8002 od Onyx Systems používal Z8001, běžel na Unix System III , byl dodáván s kompilátory C a FORTRAN 77 a měl k dispozici také překladač COBOL. Mělo 8 sériových portů, 1 páskovou jednotku QIC, jeden 8 "pevný disk a stálo ~ 25 000 USD. Hlavní procesor uvolnil operace disku, pásky a sériových IO do procesoru Z80 na druhé desce.
  • 1982: Olivetti M20 , počítač nekompatibilní s IBM, který provozoval Olivetti PCOS, derivát COSMOS nebo CP/M.
  • 1980-1986: Olivetti Linea 1 S1000, S6000, M30, M40, M50, M60, M70. Všechny tyto minipočítače od společnosti Olivetti provozovaly BCOS/COSMOS.
  • 1985: zrušený počítačový projekt Commodore 900
  • 1987–1989: východoněmecký EAW ( Elektro-Apparate-Werke ) vyrobil Workstation/Multiuser System P8000 založený na východoněmeckém klonu Z8000.

Počítač Zilog S8000 vyšel s verzí Unixu s názvem ZEUS (Zilog Enhanced Unix System). ZEUS byl portem Unixu verze 7 a zahrnoval něco, co bylo označováno jako „vylepšení Berkeley“. ZEUS zahrnoval verzi COBOL s názvem RM/COBOL (Ryan McFarland COBOL). Dostupnost RM/COBOL umožnila rychlé přenesení mnoha komerčních aplikací na počítač S8000, i když to nepomohlo k dlouhodobému úspěchu. S8000 našel určitý úspěch u IRS a daňových zpracovatelů ve Spojených státech, kteří použili model pro zpracování elektronicky podaných daňových přiznání.

Existovala verze Z8000 operačního systému Xenix . Namco používalo řadu Z8000 ve svých arkádových hrách Pole Position a Pole Position II . Stroje používaly dvě Z8002, 64 KB verze Z8000.

Ohlášené začlenění zařízení do vojenských návrhů možná poskytuje vysvětlení pokračujícího přežití dnešního Z8000 ve tvaru řadičů sériové komunikace Z16C01/02 (SCC). Také standardní centrální letecký datový počítač (SCADC) používal Z8002. Oznámení o ukončení životnosti od Zilogu bylo odesláno v roce 2012.

Omezený úspěch

Zatímco Z8000 viděl nějaké použití na začátku roku 1980, to bylo předáno pro jiné konstrukce poměrně rychle.

Federico Faggin , tehdejší generální ředitel společnosti Zilog, později navrhl, že to bylo kvůli dohodě o financování společnosti Zilog se společností Exxon pro rizikový kapitál Exxon Enterprises. Podniky provedly řadu investic v oblasti počítačů a počátkem 80. let se umístily jako konkurent společnosti IBM ve velkém systémovém prostoru. Faggin naznačuje, že IBM tak viděla Zilog jako konkurenta, a odmítl uvažovat o Z8000 jako o výsledku.

Zkoumání možností, které měli designéři na začátku 80. let k dispozici, však naznačuje, že existují prozaičtější důvody, proč Z8000 nebyl populárnější:

Při srovnání verzí Byte Sieve v montážních jazycích je vidět, že 1,1 sekundy 5,5 MHz Z8000 je působivé ve srovnání s 8bitovými designy, které nahradil, včetně Zilogu 4 MHz Z80 za 6,8 sekundy a populárního 1 MHz MOS 6502 při 13,9. I novější 1 MHz Motorola 6809 byla mnohem pomalejší, na 5,1 s. Dobře si vede také proti 8 MHz Intel 8086, který se otočil za 1,9 sekundy, nebo levnější 5 MHz Intel 8088 za 4 sekundy.

Zatímco procesory Intel byly snadno překonány Z8001, byly zabaleny do 40-pinových DIP, což je přimělo k levnější implementaci než 48-pin Z8001. Z8002 také používal 40pinový balíček, ale měl 16bitovou adresovou sběrnici, která měla přístup pouze k 64 kB RAM, zatímco procesory Intel měly 20bitovou sběrnici, která měla přístup k 1 MB RAM. Interně bylo 23bitové adresy Z8000 také složitější na zpracování než jednodušší systém společnosti Intel využívající 16bitové základní adresy a samostatné segmentové registry. Pro ty, kteří hledají levnou možnost, která by měla přístup k (tehdejšímu) velkému množství paměti, byly návrhy společnosti Intel konkurenceschopné a dostupné o rok dříve.

Pro ty, kteří hledají čistý výkon, byl Z8000 nejrychlejší dostupný CPU na začátku roku 1979. To však platilo pouze po dobu několika měsíců. 16/32bitová 8Mhz Motorola 68000 přišla na trh později ve stejném roce a při stejném testu Sieve se otáčí v čase 0,49 sekundy, což je dvakrát více než u Z8000. Ačkoli to používalo ještě větší 64-pinové uspořádání DIP, pro ty, kteří byli ochotni přejít na více než 40 pinů, to byla malá cena za to, co bylo zdaleka nejrychlejším procesorem své doby. Jeho 32bitové instrukce a registry v kombinaci s 24bitovou adresovou sběrnicí s plochým adresováním 16 MB ji také pro návrháře učinily mnohem atraktivnější, což Faggin připouští.

Aby toho nebylo málo, při prvním vydání Z8000 obsahoval řadu chyb. Důvodem byl jeho složitý instrukční dekodér, který na rozdíl od většiny procesorů té doby nepoužíval mikrokód a byl závislý na logice implementované přímo v CPU. To umožnilo konstrukci eliminovat ukládání mikrokódů a související dekódovací logiku, což snížilo počet tranzistorů na 17 500. Naproti tomu současný Intel 8088 použil 29 000 tranzistorů, zatímco Motorola 68 000 o několik měsíců později použila 68 000.

Druhé zdroje

Několik třetích stran vyrobilo Z8000 včetně AMD , SGS-Ates , Toshiba a Sharp .

Reference

Další čtení