Intel 8008 -Intel 8008
Obecná informace | |
---|---|
Spuštěno | Polovina roku 1972 |
Přerušeno | 1983 |
Navrhl | Computer Terminal Corporation (CTC) |
Společní výrobci | |
Výkon | |
Max. frekvence procesoru | 200 kHz až 800 kHz |
Šířka dat | 8 bitů |
Šířka adresy | 14 bitů |
Architektura a klasifikace | |
aplikace | Počítačové terminály , kalkulačky , stáčecí stroje, průmyslové roboty ASEA ze 70. let (IRB 6), jednoduché počítače atd. |
Technologický uzel | 10 um |
Instrukční sada | 8008 |
Fyzické specifikace | |
Tranzistory | |
Balíčky | |
Zásuvka(y) | |
Dějiny | |
Nástupce | Intel 8080 |
Stav podpory | |
Nepodporováno |
Intel 8008 (" osm-tisícosm " nebo " osmdesát-oh-osm ") je raný bajtově orientovaný mikroprocesor navržený společností Computer Terminal Corporation (CTC), implementovaný a vyrobený společností Intel a představený v dubnu 1972. 8bitový CPU s externí 14bitovou adresovou sběrnicí, která dokáže adresovat 16 KB paměti. Čip, původně známý jako 1201 , byl pověřen společností Computer Terminal Corporation (CTC), aby implementoval instrukční sadu jejich návrhu pro jejich programovatelný terminál Datapoint 2200 . Vzhledem k tomu, že čip byl zpožděn a nesplňoval výkonnostní cíle CTC, 2200 místo toho používal vlastní CPU CTC založený na TTL . Dohoda umožnila Intelu prodávat čip dalším zákazníkům poté, co společnost Seiko projevila zájem o jeho použití pro kalkulačku .
Dějiny
CTC vznikla v San Antoniu v roce 1968 pod vedením Austina O. "Guse" Roche a Phila Raye, obou inženýrů NASA . Zejména Roche se zajímal především o výrobu stolního počítače. Vzhledem k nevyzrálosti trhu však obchodní plán společnosti zmiňoval pouze náhradu Teletype Model 33 ASR, která byla dodávána jako Datapoint 3300 . Pouzdro bylo záměrně navrženo tak, aby se vešlo do stejného prostoru jako elektronický psací stroj IBM a používala videoobrazovka tvarovaná tak, aby měla stejný poměr stran jako děrný štítek IBM . Ačkoli komerčně úspěšný, 3300 měl trvalé problémy s teplem kvůli množství obvodů nacpaných do tak malého prostoru.
Aby bylo možné vyřešit zahřívání a další problémy, byl zahájen nový design, který zahrnoval CPU část vnitřních obvodů znovu implementovanou na jediném čipu. Společnost Roche hledala společnost, která by dokázala vyrobit jejich návrh čipů, a obrátila se na společnost Intel, která byla tehdy především dodavatelem paměťových čipů. Roche se setkal s Bobem Noycem , který vyjádřil znepokojení nad koncepcí; John Frassanito vzpomíná, že "Noyce řekl, že je to zajímavý nápad a že to Intel dokáže, ale byl by to hloupý krok. Řekl, že pokud máte počítačový čip, můžete prodávat pouze jeden čip na počítač, zatímco s pamětí , můžete prodat stovky čipů na jeden počítač." Dalším velkým problémem bylo, že stávající zákaznická základna Intelu zakoupila své paměťové čipy pro použití s vlastními návrhy procesorů; kdyby Intel představil vlastní procesor, mohlo by se na něj pohlížet jako na konkurenta a jejich zákazníci by možná hledali paměti jinde. Přesto Noyce na začátku roku 1970 souhlasil s vývojovou smlouvou v hodnotě 50 000 USD. Jako druhý dodavatel byl přiveden také Texas Instruments (TI).
TI dokázala vyrobit vzorky 1201 na základě výkresů Intel, ale ty se ukázaly jako chybné a byly zamítnuty. Vlastní verze Intelu byly zpožděny. CTC se rozhodlo znovu implementovat novou verzi terminálu pomocí diskrétního TTL namísto čekání na jednočipový CPU. Nový systém byl vydán jako Datapoint 2200 na jaře 1970, s jejich prvním prodejem General Mills 25. května 1970. CTC pozastavila vývoj 1201 po vydání 2200, protože už nebyl potřeba. O šest měsíců později společnost Seiko oslovila Intel a vyjádřila zájem o použití 1201 ve vědecké kalkulačce, pravděpodobně poté, co viděla úspěch jednoduššího Intel 4004 používaného společností Busicom ve svých obchodních kalkulačkách. Následoval malý redesign pod vedením Federica Faggina , konstruktéra 4004, nyní vedoucího projektu 1201, který se rozšířil z 16pinového na 18pinový design, a nový 1201 byl dodán CTC koncem roku 1971. .
V té chvíli se CTC opět posunulo dál, tentokrát k Datapointu 2200 II , který byl rychlejší. 1201 již na nový model nestačila výkonově. CTC hlasovalo pro ukončení své účasti na 1201, přičemž duševní vlastnictví návrhu ponechalo Intelu místo zaplacení smlouvy 50 000 USD. Intel jej přejmenoval na 8008 a zařadil jej do svého katalogu v dubnu 1972 za cenu 120 $. Toto přejmenování se pokusilo překonat úspěch čipu 4004 tím, že představilo 8008 jednoduše jako port 4 až 8, ale 8008 není založeno na 4004. 8008 se stal komerčně úspěšným designem. Následoval Intel 8080 a poté velmi úspěšná rodina Intel x86 .
Jedním z prvních týmů, kteří postavili kompletní systém kolem 8008, byl tým Billa Pentze na California State University, Sacramento . Sac State 8008 byl možná prvním skutečným mikropočítačem s diskovým operačním systémem vytvořeným pomocí jazyka assembleru IBM Basic v PROM, který poháněl barevný displej, pevný disk, klávesnici, modem, čtečku audio/papírových pásek a tiskárnu. Projekt byl zahájen na jaře 1972 a s klíčovou pomocí Tektronix byl systém plně funkční o rok později. Bill asistoval Intelu se sadou MCS-8 a poskytl klíčové vstupy do instrukční sady Intel 8080 , díky čemuž byla užitečná pro průmysl a fandy.
Ve Spojeném království tým v SE Laboratories Engineering (EMI) pod vedením Toma Spinka v roce 1972 postavil mikropočítač založený na vzorku 8008 před vydáním. Joe Hardman rozšířil čip o externí zásobník. To mimo jiné umožnilo uložení a obnovení při výpadku napájení. Joe také vyvinul přímou sítotisk. Operační systém byl napsán pomocí meta-assembleru vyvinutého L. Crawfordem a J. Parnellem pro Digital Equipment Corporation PDP-11 . Operační systém byl vypálen do PROM. Byl řízen přerušením, zařazen do fronty a založen na pevné velikosti stránky pro programy a data. Pro vedení byl připraven provozní prototyp, který se rozhodl v projektu nepokračovat.
8008 byl CPU pro úplně první komerční nekalkulátorové osobní počítače (vyjma samotného Datapoint 2200): US SCELBI kit a předem sestavený francouzský Micral N a kanadský MCM/70 . Byl to také řídící mikroprocesor pro několik prvních modelů v rodině počítačových terminálů Hewlett-Packard 2640 .
Intel nabídl simulátor instrukční sady pro 8008 s názvem INTERP/8. Bylo to napsáno ve FORTRAN .
Design
1 3 | 1 2 | 1 1 | 10 _ | 0 9 | 0 8 | 0 7 | 0 6 | 0 5 | 0 4 | 0 3 | 0 2 | 0 1 | 0 0 | (bitová pozice) |
Hlavní registry | ||||||||||||||
A | Akumulátor _ | |||||||||||||
B | B registr | |||||||||||||
C | C registr | |||||||||||||
D | D registr | |||||||||||||
E | E registr | |||||||||||||
H | H registr (nepřímý) | |||||||||||||
L | registr L (nepřímý) | |||||||||||||
Počítadlo programů | ||||||||||||||
PC | P rogram C počítadlo | |||||||||||||
Výsuvný zásobník adresního volání | ||||||||||||||
TAK JAKO | Úroveň volání 1 | |||||||||||||
TAK JAKO | Úroveň volání 2 | |||||||||||||
TAK JAKO | Úroveň volání 3 | |||||||||||||
TAK JAKO | Úroveň volání 4 | |||||||||||||
TAK JAKO | Úroveň volání 5 | |||||||||||||
TAK JAKO | Úroveň volání 6 | |||||||||||||
TAK JAKO | Úroveň volání 7 | |||||||||||||
Vlajky | ||||||||||||||
C | P | Z | S | Vlajky |
8008 byl implementován v 10 μm křemíkové hradlo vylepšení-mode PMOS logiky . Počáteční verze mohly pracovat na taktovací frekvenci až 0,5 MHz. To bylo později zvýšeno v 8008-1 na specifikované maximum 0,8 MHz. Instrukce mají 5 až 11 T-stavů, kde každý T-stav má 2 hodinové cykly. Zatížení registr–registr a operace ALU zaberou 5T (20 μs při 0,5 MHz), paměť registru 8T (32 μs), zatímco volání a skoky (když jsou přijaty) trvají 11 T-stavů (44 μs). 8008 je o něco pomalejší, pokud jde o instrukce za sekundu (36 000 až 80 000 při 0,8 MHz), než 4bitové Intel 4004 a Intel 4040 . ale protože 8008 zpracovává data 8 bitů najednou a má přístup k výrazně více RAM, ve většině aplikací má oproti těmto procesorům značnou rychlostní výhodu. 8008 má 3500 tranzistorů .
Čip (omezený svým 18pinovým DIP ) má jedinou 8bitovou sběrnici a vyžaduje značné množství externí logiky podpory. Například 14bitová adresa, která má přístup k „16 K × 8 bitům paměti“, musí být pomocí této logiky zachycena do externího paměťového adresního registru (MAR). 8008 má přístup k 8 vstupním portům a 24 výstupním portům.
Pro použití řadiče a CRT terminálu je to přijatelný návrh, ale použití pro většinu ostatních úloh je poněkud těžkopádné, alespoň ve srovnání s dalšími generacemi mikroprocesorů. Několik časných návrhů počítačů bylo založeno na tom, ale většina by místo toho používala pozdější a výrazně vylepšený Intel 8080 .
Související návrhy procesorů
Následný 40pinový NMOS Intel 8080 se rozšířil o registry 8008 a sadu instrukcí a implementuje efektivnější rozhraní externí sběrnice (pomocí 22 dalších pinů). Přes úzký architektonický vztah nebyl 8080 binárně kompatibilní s 8008, takže program 8008 by na 8080 neběžel. Protože však Intel v té době používal dvě různé syntaxe sestavení, mohl být 8080 použit v 8008 zpětně kompatibilní jazyk pro sestavení.
Intel 8085 je elektricky modernizovaná verze 8080, která využívá tranzistory v režimu vyčerpání a také přidala dvě nové instrukce.
Intel 8086 , původní procesor x86, je nepřísným rozšířením 8080, takže se také volně podobá původnímu designu Datapoint 2200. Téměř každá instrukce Datapoint 2200 a 8008 má ekvivalent nejen v instrukční sadě 8080, 8085 a Z80 , ale také v instrukční sadě moderních x86 procesorů (ačkoli kódování instrukcí je odlišné).
Funkce
Architektura 8008 obsahuje následující funkce:
- Sedm 8bitových registrů „zápisníku“: Hlavní akumulátor (A) a šest dalších registrů (B, C, D, E, H a L).
- 14bitový čítač programů (PC).
- Sedmiúrovňový zásobník volání s push-down adresou . Ve skutečnosti se používá osm registrů, přičemž nejvyšším registrem je počítač.
- Čtyři stavové příznaky stavového kódu: přenos (C), sudá parita (P), nula (Z) a znaménko (S).
- Nepřímý přístup do paměti pomocí registrů H a L (HL) jako 14bitového datového ukazatele (horní dva bity jsou ignorovány).
Příklad kódu
Následující zdrojový kód sestavení 8008 je pro podprogram s názvem MEMCPY
, který kopíruje blok datových bajtů dané velikosti z jednoho umístění do druhého.
001700 000 001701 000 001702 000 001703 000 001704 000 001705 000 002000 066 304 002002 056 003 002004 327 002005 060 002006 317 002007 302 002010 261 002011 053 002012 302 002013 024 001 002015 320 002016 301 002017 034 000 002021 310 002022 066 300 002024 056 003 002026 302 002027 207 002030 340 002031 060 002032 301 002033 217 002034 350 002035 364 002036 337 002037 066 302 002041 056 003 002043 302 002044 207 002045 340 002046 060 002047 301 002050 217 002051 350 002035 364 002052 373 002053 104 007 004 002056 |
; MEMCPY --
; Copy a block of memory from one location to another.
;
; Entry parameters
; SRC: 14-bit address of source data block
; DST: 14-bit address of target data block
; CNT: 14-bit count of bytes to copy
ORG 1700Q ;Data at 001700q
SRC DFB 0 ;SRC, low byte
DFB 0 ; high byte
DST DFB 0 ;DST, low byte
DFB 0 ; high byte
CNT DFB 0 ;CNT, low byte
DFB 0 ; high byte
ORG 2000Q ;Code at 002000q
MEMCPY LLI CNT+0 ;HL = addr(CNT)
LHI CNT+1
LCM ;BC = CNT
INL
LBM
LOOP LAC ;If BC = 0,
ORB
RTZ ;Return
DECCNT LAC ;BC = BC - 1
SUI 1
LCA
LAB
SBI 0
LBA
GETSRC LLI SRC+0 ;HL = addr(SRC)
LHI SRC+1
LAC ;HL = SRC + BC
ADM ;E = C + (HL)
LEA ;(lower sum)
INL ;point to upper SRC
LAB
ACM ;H = B + (HL) + CY
LHA ;(upper sum)
LLE ;L = E
LDM ;Load D from (HL)
GETDST LLI DST+0 ;HL = addr(DST)
LHI DST+1
LAC ;HL = DST + BC
ADM ;ADD code same as above
LEA
INL
LAB
ACM
LHA
LLE
LMD ;Store D to (HL)
JMP LOOP ;Repeat the loop
END
|
Ve výše uvedeném kódu jsou všechny hodnoty uvedeny v osmičkové soustavě. Locations SRC
, DST
a CNT
jsou 16bitové parametry pro podprogram s názvem MEMCPY
. Ve skutečnosti je použito pouze 14 bitů hodnot, protože CPU má pouze 14bitový adresovatelný paměťový prostor. Hodnoty jsou uloženy ve formátu little-endian , i když je to libovolná volba, protože CPU není schopno číst nebo zapisovat více než jeden bajt do paměti najednou. Vzhledem k tomu, že neexistuje žádná instrukce pro načtení registru přímo z dané adresy paměti, musí se nejprve načíst dvojice registrů HL s adresou a cílový registr lze poté načíst z operandu M, což je nepřímé načtení z místa v paměti. v registrovém páru HL. Do dvojice registrů BC se načte CNT
hodnota parametru a na konci smyčky se sníží, dokud se nestane nulou. Všimněte si, že většina použitých instrukcí zabírá jeden 8bitový operační kód.
Návrháři
- CTC ( Instrukční sada a architektura ): Victor Poor a Harry Pyle .
-
Intel ( Implementace v křemíku ):
- Ted Hoff , Stan Mazor a Larry Potter (hlavní vědecký pracovník IBM) navrhli jednočipovou implementaci architektury CTC s použitím paměti RAM registru spíše než paměti posuvného registru a také přidali několik instrukcí a zařízení pro přerušení. Návrh čipu 8008 (původně nazývaný 1201) začal před vývojem 4004. Hoff a Mazor však nemohli a nevyvinuli „křemíkový design“, protože nebyli ani návrháři čipů, ani vývojáři procesů, a navíc nezbytnou metodologii a obvody založené na křemíkové hradle, které vyvinul Federico Faggin pro 4004, ještě nebyly k dispozici.
- Federico Faggin , který dokončil návrh 4004, se stal vedoucím projektu od ledna 1971 až do jeho úspěšného dokončení v dubnu 1972, poté, co byl – pro nedostatek pokroku – na asi sedm měsíců pozastaven.
- Hal Feeney , projektový inženýr, provedl pod Fagginovým dohledem detailní logický návrh, návrh obvodů a fyzické rozvržení, přičemž použil stejnou metodologii návrhu, kterou Faggin původně vyvinul pro mikroprocesor Intel 4004, a využil základní obvody, které vyvinul pro 4004. Kombinované logo "HF" bylo vyleptáno na čip asi v polovině vzdálenosti mezi spojovacími podložkami D5 a D6.
Druhé zdroje
MicroSystems International (MIL) MF8008
Siemens SAB8008
Viz také
- Mark-8 a SCELBI , počítačové sestavy založené na 8008
- MCM/70 a Micral , průkopnické mikropočítače
- PL/M , první programovací jazyk zaměřený na mikroprocesor, Intel 8008, vyvinutý Gary Kildallem
Reference
externí odkazy
- Uživatelská příručka MCS-8 s datovým listem 8008 (1972)
- Wood, Lamont (8. srpna 2008). „Zapomenutá historie PC: Skutečný původ osobního počítače“ . Počítačový svět .
- Stránka podpory Intel 8008 je neoficiální
- Stránka DigiBarn Computer Museum na stroji Billa Pentze Sacramento State, úplném mikropočítači postaveném kolem 8008
-
Martin, Donald P. (1974). Návrh mikropočítače . Martin výzkum .
- — (1976). Návrh mikropočítače (2. vydání). Martin výzkum . OCLC 911808003 .
- Runyan, Grant (duben 1977). "Nyní - ZÁKLADNÍ pro 8008 - dokonce!" . Kilobaudův časopis : 116–8.
- "Základní interpret jazyka pro mikroprocesor Intel 8008" . University of Illinois. 1974.
- Referenční karta 8008 Assembly Language
-
Shirriff, Ken (prosinec 2016). "Die fotografie a analýza revolučního mikroprocesoru 8008, 45 let" .
- — (únor 2017). "Reverzní inženýrství překvapivě pokročilé ALU mikroprocesoru 8008" .
- — (říjen 2020). „Jak zatížení bootstrapu umožnilo historický procesor Intel 8008“ .
- — (listopad 2020). "Zpětné inženýrství obvodu carry-lookahead v procesoru Intel 8008" .