Hlavní navigace

Jak se zrodil procesor?

16. 11. 2007
Doba čtení: 11 minut

Sdílet

U příležitosti třicátého šestého výročí vzniku prvního mikroprocesoru si řekneme něco o historii i vývoji procesorů. Zaměříme se především na osmibitové čipy, které byly navrženy v sedmdesátých letech minulého století. Samozřejmě nevynecháme ani popis legendárního mikroprocesoru Zilog Z80 a MOS 6502.

Obsah

1. Vynález tranzistoru a prvních integrovaných obvodů
2. Zrodil se nový revoluční vynález – mikroprocesor
3. Předchůdce skutečného mikroprocesoru: CADC MP944
4. Intel 4004 a Mooreův zákon
5. Řada osmibitových mikroprocesorů firmy Intel
6. Motorola 6800
7. Na trh přichází další legendární čip – MOS 6502
8. Zilog Z80 – srdce mnoha domácích počítačů
9. Motorola 6809: konec éry osmibitových mikroprocesorů
10. Odkazy na další informační zdroje

1. Vynález tranzistoru a prvních integrovaných obvodů

Život dnešní průměrné západní rodiny by byl prakticky nemyslitelný bez mikroprocesorů. Tato elektronická součástka je ukryta nejenom v osobních počítačích (paradoxně se jedná o poměrně malou skupinu mikroprocesorů), ale i ve spotřební elektronice, CNC strojích i automobilech – moderní automobily obsahují mnohdy i desítky mikroprocesorů. Jak však mikroprocesor, který je některými techniky považován za nejdůležitější vynález minulého století, vznikl?

Nebudeme zabíhat do dávné minulosti, například až ke dřevěným počítačů z osmnáctého století či Pascalově sčítačce, ale začneme vynálezem tranzistoru. Jedná se o součástku, která dokázala v mnoha oblastech efektivně nahradit do té doby používané elektronky a relé. Elektronky se dnes používají ve vysílačích jako koncový výkonový stupeň a jejich druhé nejčastější použití – katodové trubice, neboli obrazovky – je již se vznikem levných LCD panelů na ústupu. Relé se samozřejmě stále používají, ale většinou pro spínání výkonových obvodů, elektrické oddělení obvodů apod. (mezi současné použití nepočítám některé releové telefonní ústředny, v nichž se mnohdy dají nalézt i přístroje s hákovým křížem, které i dnes skutečně fungují). Tranzistor zcela změnil situaci ve vývoji elektroniky, zejména proto, že se jednalo o čistě elektronickou součástku bez pohyblivých částí.

Od padesátých let se začal vývoj elektronických součástek postupně zrychlovat, až se dospělo do situace, že se několik tranzistorů, rezistorů a diod v rámci zmenšení a zlevnění obvodů začalo vyrábět v jednom celku – vznikl tak integrovaný obvod (IC). Zpočátku byly integrované obvody poměrně jednoduché a obsahovaly několik málo tranzistorů. Takové obvody (s nízkou či střední integrací) se ostatně vyrábí dodnes, jedná se například o populární řadu 7400 či geniálně navržený obvod 555. Inženýři dokázali do integrovaných obvodů vkládat stále více součástek (většinou tranzistorů), až se začalo ukazovat, že cena samotného vývoje obvodu a výroby prvotní masky je tak drahá a pomalá, že se některé specializované obvody nevyplatí vytvářet. Pomalu se tedy rodila myšlenka na obvod univerzální, který by mohl nahradit mnoho obvodů specializovaných. Pravděpodobně někdy v této době, tj. koncem šedesátých let, některé lidi napadlo spojit výhody programovatelných počítačů s přednostmi integrovaných obvodů (ostatně z integrovaných obvodů se tehdejší počítače skládaly – na Internetu lze dohledat, jak se dá dnes pouze z hradel řady 7400 složit jednoduchý počítač).

4001

Mikroprocesor Intel D4004 sestavený s běžným umělohmotným pouzdrem

2. Zrodil se nový revoluční vynález – mikroprocesor

Pro vznik a vývoj mikroprocesorů byla nejdůležitější sedmdesátá léta minulého století. Rychlost vývoje integrovaných obvodů se v tomto období tak prudce zvýšila, že na začátku sedmdesátých let jen několik lidí na světě vůbec dokázalo předvídat strategický význam těchto elektronických součástek. Na konci sedmdesátých let (tedy za pouhé jedno desetiletí) již byly celé dvě generace mikroprocesorů na ústupu, mikroprocesory si našly cestu do průmyslu i domácností, a začala bitva několika firem o místo na trhu s šestnáctibitovými a třicetidvoubitovými mikroprocesory. V tomto článku si popíšeme některé milníky ve vývoji mikroprocesorů, včetně dnes již legendárních čipů MOS 6502, Zilog Z80 a Motorola 6809. Zajímavé je, že například mikroprocesory řady 6502 se dodnes ve své inovované podobě vyrábí, v mnoha modemech se zase můžeme setkat s rozšířenou variantou mikroprocesoru Zilog Z80. To zajisté svědčí o nadčasovém designu a kvalitě jejich tvůrců (v tomto případě se jedná o Federica Faggina a Chucka Peddleho).

4002

Mikroprocesorová stavebnice Intel C4004 sestavená s keramickým pouzdrem

3. Předchůdce skutečného mikroprocesoru: CADC MP944

V roce 1970 se začal v rámci projektu CADC (Central Air Data Computer) vytvářet systém, který je některými historiky považován za první skutečný mikroprocesor. Jednalo se o procesor nazývaný MP944, jež byl určený pro stíhačky F-14 Tomcat amerického námořnictva. Z důvodu vojenského utajení (probíhala studená válka) se odborná veřejnost dozvěděla technické podrobnosti o tomto procesoru až v roce 1998, tj. skoro třicet let po vytvoření této technologie. Ve skutečnosti se nejednalo o mikroprocesor v pravém slova smyslu, spíše o čipovou sadu, která byla propojena pomocí rychlé sériové linky. Aritmeticko-logická jednotka zpracovávala dvacetibitová slova (tato značná bitová šířka byla vyžadována kvůli přesnosti některých senzorů) sériovým způsobem, tj. do jednotky vcházelo nové slovo, které bylo bit po bitu zpracováváno, zatímco na výstupu se postupně vysunoval výsledek předchozí operace. Vzhledem k oddělení ALU od řídicích obvodů se tedy opravdu nejedná o skutečný mikroprocesor, jak ho chápeme dnes.

4. Intel 4004 a Mooreův zákon

Za první skutečný mikroprocesor na světě je všeobecně považován Intel 4004, jehož duchovním tvůrcem je známý Federico Faggin. Společnost Intel měla v roce 1970 pouhých 150 zaměstnanců a soustředila se převážně na výrobu pamětí – velmi úspěšná byla například paměť 1103 s kapacitou 1024 bitů a s pouhými třemi tranzistory na jednu buňku. Samotný nadřízený Faggina, kterým nebyl nikdo jiný než Andy Groove, v mikroprocesorech neviděl žádnou velkou budoucnost a prý ani neexistoval plán pro komerční využití mikroprocesorů. Pouze pro potřeby výrobců kalkulaček (stolních, ne kapesních :-) však Intel začal s vývojem čipu, který byl – na návrh Faggina – pojmenován 4004, ostatní podpůrné součástky také začínaly číslicemi 400. Faggin se jakožto hlavní tvůrce dokonce „podepsal“ do výrobní masky čipu, takže každý mikroprocesor Intel 4004 nese jeho iniciály – viz následující dva obrázky.

4003

Detailní pohled na iniciály Federica Faggina na masce i4004

Z dnešního pohledu jsou parametry tohoto mikroprocesoru až směšné. Jednalo se o čtyřbitový mikroprocesor, který však ve své instrukční sadě obsahoval i operace s osmibitovými operandy. Celkem bylo programátorovi dostupných 46 instrukcí, jejichž sémantika i syntaxe zápisu byla inspirována (možná i více než pouze inspirována) instrukční sadou Datapoint terminal CPU firmy Computer Terminal Corp.. I v dnešních procesorech řady x86 se s velmi podobnou instrukční sadou setkáme, proto je termín „Intelí syntaxe“ poněkud nepřesný, protože jde o syntaxi starší než samotné mikroprocesory. Intel 4004 je tedy skutečný pradědeček dnešní platformy x86.

Obvod byl vyráběn 10 mikronovou technologií (dnes se pohybujeme na méně než desetině mikronu), měl 2300 tranzistorů (dnes více než 250 milionu – to je důkaz dočasné platnosti Mooreova zákona) a přitom to byl ve své době bezmála zázrak techniky se zhruba stejným výkonem, jaký měl slavný Eniac s 18000 elektronkami chlazený několika leteckými motory. Při hodinové frekvenci 740 kHz (jednotky jsem opravdu nespletl) byl výpočetní výkon mikroprocesoru Intel 4004 cca 60000 instrukcí za sekundu, tj. cca 0,06 MIPS. Mohlo být adresováno 1280 adres čtyřbitové paměti RAM (1280×4) a 4096 adres osmibitové paměti ROM (4096×8). V podstatě se jednalo o harvardskou architekturu, protože na jednom výstupním pinu se rozlišovalo, zda se má adresovat paměť ROM či RAM.

4004

Všech pět vrstev mikroprocesoru Intel 4004

5. Řada osmibitových mikroprocesorů firmy Intel

Ve skutečnosti nebyl Intel 4004 komerčně moc úspěšný, ale firma Intel se začala tímto odvětvím průmyslu intenzivněji zabývat, což jí vydrželo až do dneška. V roce 1972, tj. pouhých pět měsíců po uvedení 4004 (to se nám to zrychluje) představila jeho osmibitového nástupce. Jednalo se o mikroprocesor 8008. V jeho instrukční sadě se již mnoho programátorů bez problému vyzná, protože po rozšíření se s ní můžeme setkat i v 8080 a Z80. Tento čip již při použití stejné desetimikronové technologie obsahoval 3500 tranzistorů, pracoval na frekvenci 800 kHz a mohl adresovat již 16 kB paměti. Samotný výpočetní výkon byl oproti 4004 skoro dvojnásobný, především však byla použita osmibitová sběrnice a řada podpůrných obvodů, se kterými se můžeme setkat i u pozdějších procesorů.

4005

Intel 8080A z roku 1974

Za dva roky poté, tj. v roce 1974, Intel uvedl další procesor nazvaný 8080. Ten již pracoval na 2 MHz, obsahoval cca 4500 tranzistorů a mohl adresovat 64 kB paměti. Jednou z předností tohoto procesoru bylo použití nové třímikronové technologie výroby. Intel 8080 byl použit v mnoha počítačích (Altair 8800), i když ke své práci potřeboval kromě standardního pětivoltového napájení ještě jedno vyšší napětí (pro oscilátory) a také dva podpůrné obvody – 8224 a 8228. Jednou ze zajímavostí je, že se tento mikroprocesor vyráběl i v naší Tesle pod označením MHB 8080A (dlužno říci, že v době, kdy se ve světě přecházelo na šestnáctibitové a třicetidvoubitové mikroprocesory).

4006

Tesla MHM 8080A

Posledním čistě osmibitovým procesorem založeným na 4004 byl Intel 8085 vytvořený v roce 1976. Jednalo se v podstatě o vylepšený 8080, který pracoval na 5 MHz, obsahoval cca 6500 tranzistorů, měl přímo na čipu některé další obvody (sériová linka apod.) a především nepotřeboval nestandardní napětí, takže se jeho zařazení do počítačů a dalších zařízení zjednodušilo. Tento mikroprocesor ovšem přišel až v době, kdy na trhu kralovaly mikroprocesory jiných firem, Zilog a MOS Technologies.

4007

Intel 8085

6. Motorola 6800

V roce 1974 přišla na trh se svým mikroprocesorem i firma Motorola. Jednalo se o mikroprocesor označený 6800. Ten je zajímavý především tím, že ho navrhl Chuck Peddle, který později Motorolu opustil, aby ve firmě MOS Technologies vytvořil legendární 6502. Mikroprocesor 6800 je však také zajímavý, například prvním použitím indexového registru (předtím se indexové registry sice také používaly, ale ne v mikroproceso­rech). 6800 obsahoval v porovnání s 8080 pouze malé množství registrů, což však v té době nebylo chápáno jako nedostatek, protože paměti byly mnohdy rychlejší než samotné mikroprocesory (paměti totiž byly dodávány i do minipočítačů). Design Motoroly 6800 neupadl v zapomnění, i dnes se můžeme setkat s mikrořadiči, které jsou na něm založené. Jedná se o řady 68HC11 a 68HC08, které jsou použity v mnoha výrobcích.

4008

Mikroprocesor Motorola 6800

7. Na trh přichází další legendární čip – MOS 6502

V září roku 1975 (to datum si dobře pamatuji, protože jsem se tehdy narodil, možná i ve stejný den…) byl na trh uveden procesor firmy MOS Technologies pojmenovaný 6502. Tento čip navrhl Chuck Peddle a jeho spolupracovníci, kteří spolu s ním opustili firmu Motorola. Jejich prvním návrhem byl MOS 6501, který byl pinově kompatibilní  Morotolou 6800. To se právníkům Motoroly samozřejmě nelíbilo a po prohraném soudním sporu Chuck Peddle vytvořil 6502, který již nebylo možné dosadit do stejné patice jako Motorolu 6800. Jednalo se však stále o legendární čip, který se proslavil zejména svou cenou. V době, kdy Intel prodával 8080 za 179 dolarů a Motorola svoji 6800 taktéž za 179 dolarů, přišel MOS Technologies s cenou pouhých 25 dolarů. Zpočátku byla potenciálním zákazníkům tak nízká cena podezřelá, ale po skokovém zlevnění jak 8080, tak i 6800 (reakce na nabídku firmy MOS) se začal MOS 6502 prodávat ve velkém.

Důvod pro tak nízkou cenu byl jednoduchý – Chuck Peddle a jeho spolupracovníci použili vylepšenou metodu tvorby masky čipu, která jim dovolovala dělat pozdější opravy a především zvýšila výtěžnost výroby, tj. poměr dobrých čipů oproti zmetkům. Uvádí se, že 6502 měl až několikanásobně větší výtěžnost než 8080.

4009

Originální MOS 6502 (verze N-MOS)

MOS 6502 či jeho upravené verze MOS 65C02 či MOS 6510 byly použity v mnoha osobních i domácích počítačích, především v Apple II (jeden z nejprodávanějších počítačů v USA), Apple Lisa (první osobní počítač se skutečným GUI), osmibitových Atari (viz blogpost na Rootu), Commodore C64 (pravděpodobně není zapotřebí představovat) apod. Není divu, že se stále jedná o jeden z nejpopulárnějších mikroprocesorů, které jsou dokonce dodnes vyráběny v šestnáctibitové variantě WD 65816 (pomocí nastavení příznakového bitu se tento mikroprocesor přepne do režimu 6502). Podle posledních výzkumů bude 6502 dokonce použita i v roce 3000 pro řízení ohýbacích robotů :-)

4010

Uměle obarvené části mikroprocesoru MOS 6502

8. Zilog Z80 – srdce mnoha domácích počítačů

Co se týče popularity, tak je mikroprocesor Zilog Z80 více než úspešným soupeřem MOS 6502. Jeho tvůrcem není nikdo jiný než Federico Faggin, který opustil Intel (podobně jako Chuck Peddle opustil Motorolu) a založil s několika kolegy novou firmu nazvanou Zilog. Z80 je vlastně podstatně vylepšenou variantou 8080, se kterou byl zpětně kompatibilní, což bylo v té době docela nezvyklé. Je rozšířena jak instrukční sada (blokové operace, operace s šestnáctibitovými operandy, bitové instrukce), tak i sada registrů, bylo použito pouze jedno napájecí napětí a především sám procesor dokázal obnovovat dynamické paměti bez pomoci dalších obvodů. Spolu s poměrně vysokou rychlostí (originál pracoval na 2,5 MHz, pozdější verze mohly být taktovány až 8 MHz a CMOS verze 10 MHz) a rozumnou cenou se jednalo o mikroprocesor, který byl použit v mnoha osobních i domácích počítačích, například TRS-80 a především legendárních počítačích ZX-80, ZX-81 a ZX-Spectru (speccy).

I v současnosti se upravený Z80 používá, například v modemech. Do počtu stále používaných Z80 musíme zahrnout i velkou skupinu majitelů jak původních Specter, tak i jejich klonů (ZX-Spectrum bylo například nesmírně populární v bývalém SSSR, kde vzniklo mnoho jeho klonů). Firma Zilog vytvořila i šestnáctibitovou verzi Z80, ta se však příliš neujala.

Cloud 24 - tip 1

9. Motorola 6809: konec éry osmibitových mikroprocesorů

Firma Motorola navrhla i mikroprocesor 6809, který byl vlastně posledním rozšířeným mikroprocesorem osmibitové éry. Také se jedná o jeden z posledních mikroprocesorů, jejichž jádro bylo ručně optimalizováno a nepoužívalo mikroinstrukce. V literatuře se sice někdy píše, že pozdější mikroprocesory Motoroly, tj. především její řada 68000, byly založeny na 6809, není to však zcela pravdivé, spíše se jednalo o dva současně běžící vývoje (například 68000 je mikrokódována). V mnoha ohledech je 6809 unikátní – ať už svou do značné míry ortogonální instrukční sadou, šestnáctibitovými instrukcemi nebo jednou z prvních hardwarových násobiček. 6809 byl použit například ve „vektorové“ herní konzoli Vectrex a celý design inspiroval už zmíněnou řadu mikrořadičů 68HC11 a 68HC08.

10. Odkazy na další informační zdroje

  1. Lifecycle of a CPU:
    http://www.cpushac­k.net/life-cycle-of-cpu.html
  2. Most wanted CPU of the world:
    http://www.cpu-galaxy.at/CPU/In­tel%20CPU/3002–8008/4004%20G­rey.jpg
  3. Obrázky různých variant mikroprocesoru 4004:
    http://www.cpu-galaxy.at/CPU/In­tel%20CPU/3002–8008/Intel%204004%2­0Section.htm
  4. Fakta o 4004 přímo od Intelu:
    http://www.in­tel.com/museum/ar­chives/4004fac­ts.htm
  5. Stránka intel4004.com:
    http://www.in­tel4004.com/
  6. Obrázky s iniciálami Federica Faggina uvnitř čipu 4004:
    http://www.in­tel4004.com/sig­n.htm
  7. Rozhovor s Federicem Fagginem:
    http://www.in­tel4004.com/qa4004­.htm
  8. Wikipedia: 4004:
    http://en.wiki­pedia.org/wiki/In­tel_4004
  9. Wikipedia: 6502:
    http://en.wiki­pedia.org/wiki/6502
  10. The Western Design Center, Inc.:
    http://www.wes­terndesigncen­ter.com/
  11. Apple II History Home:
    http://apple2his­tory.org/
  12. www.6502.org :
    http://www.6502­.org/

Byl pro vás článek přínosný?

Autor článku

Vystudoval VUT FIT a v současné době pracuje na projektech vytvářených v jazycích Python a Go.