Intel 4004

Intel 4004 ehk 4004 oli 4-bitine Inteli keskprotsessor, mis tuli müügile 1971. aastal. Tegemist oli esimese mikroprotsessoriga, mille tegi võimalikuks räni laialdasem kasutuselevõtt loogikalülituste tootmisel. 4004 loojaks oli Federico Faggin, kes juhtis projekti algusest lõpuni 1971. aastal. Marcian Hoff sõnastas ja juhtis arhitektuurilist ettepanekut 1969. aastal ning Masatoshi Shima andis oma panuse arhitektuuri ja hiljem ka loogika kujundamises. Täielikult töötava 4004 esimene tarnimine toimus 1971. aasta märtsis Jaapani ettevõttele Busicom Corp, 141-PF printimiskalkulaatori tehnilise prototüübi jaoks. 4004 oli esimene juhuslik loogikalülitus, mis oli integreeritud ühte kiipi, kasutades MOS (metalli-oksiid-pooljuht) silicon gate tehnoloogiat (SGT). November 1971 tehti prohvetliku reklaamiga: "Uue ajastu kuulutamine integreeritud elektroonikas", 4004 turul üldsusele kättesaadavaks. 4004 oli esimene monoliitne protsessor, mis oli täielikult integreeritud ühte väikesesse kiipi. Selline integreerimine oli võimalik tänu uue silicon gate tehnoloogia kasutusvõtule integraallülituste jaoks. Mikroprotsessor 4004, 4001 ROM, 4002 RAM ja 4003 Shift Register moodustasid Intel MCS-4 kiibikomplektis neli kiipi. Nende komponentide abil saab ehitada väikeseid arvuteid erineva mälumahuga ja I/O-võimalustega. Maksimaalne taktsagedus on 740 kHz. Käskude täitmise aeg minimaalselt 10,8 mikrosekundit. Käskude täitmise aeg 1 või 2 masinatsüklit (10,8 või 21,6 µs), 46 250 – 92 500 käsku sekundis. Lisades kaks 8-kohalist numbrit (32 bitti, eeldades 4-bitist BCD numbrit) lisamine võtab väidetavalt 850 µs ehk umbes 79 masinatsüklit, keskmiselt veidi alla 10 tsükli numbripaari kohta ja töökiirus 1176 × 8-kohalist liitmist sekundis. Eraldi programm ja andmesalvestus. Vastupidi Harvardi arhitektuuri konstruktsioonidele, mis kasutavad eraldi siine, kasutab 4004 koos vajadusega hoida tihvtide loendust vähem, ühe teisaldatud 4-bitise siini edastamiseks: 12-bitiseid aadresse 8-bitiseid käske 4-bitiseid andmesõnu Võimalik otse adresseerida RAM-i 5120 bitti (vastab 640 baiti), salvestatud 1280 neljabitiste "märkidena" ja rühmadesse, mis esindavad 1024 "andmeid" ja 256 "olekut" (512 ja 128 baiti). Võimalik otse adresseerida 32 768 bitti ROM-i, mis on võrdeline ja on paigutatud 4096 kaheksabitiste sõnadena. Käsukomplekt sisaldas 46 käsku (millest 41 olid 8 bitti laiad ja 5 olid 16 bitid laiad). Registrikomplekt sisaldab 16 registrit, milles on 4 bitti. Sisemine alamprogrammide pinu, 3 taset sügav. 4001: 256-baidine ROM (256 8-bitist programmikäsku) ja üks sisseehitatud 4-bitine I/O-port. 4001 ROM + I/O kiipi ei saa süsteemis kasutada koos 4008/4009 paariga. 4002: 40-baidine RAM (80 4-bitist andmesõna) ja üks sisseehitatud 4-bitine väljundport; kiibi RAM-i osa on jagatud nelja 4-bitise sõna neljaks "registriks": 16 andmesõna (mida kasutatakse kalkulaatori algses kujunduses mantissanumbrite jaoks), mille juurde pääseb suhteliselt standardsel viisil, ja 4 olekusõna (kasutatakse eksponentnumbrite ja märkide jaoks kalkulaatori algses kujunduses), millele pääseb juurde sisendkanali asemel I/O tüüpi käskudega 4003: 10-bitine paralleelväljundi nihke register klaviatuuride, kuvarite, printerite jne skaneerimiseks. 4008: 8-bitine aadressiriiv standardsetele mälukiipidele juurdepääsu saamiseks ja üks sisseehitatud 4-bitine kiibi valik ja I/O-port. 4009: programmi- ja I/O-pöördusmuundur standardmälu ja I/O-kiipide jaoks. 4269: klaviatuuri või kuvari liides 4289: mäluliides (4008 ja 4009 ühendatud funktsioonid) MCS-4 protsessorite versioone valmistati mitmeid. Varaseimad versioonid, tähistatud C-ga (nagu C4004), olid keraamilised. Kiipide järgmine põlvkond oli tavaliselt valged keraamilisest (samuti tähisega C) ja seejärel valmistati tumehallid keraamilisest (D). Paljud MCS-4 perekonna uuematest versioonidest toodeti ka plastist (P). Jaapani firma Busicom soovis välja töötada uut arvutipõhist kalkulaatorit. Busicom ja Intel sõlmisid 1969. aasta aprillis Inteliga ajutise lepingu kalkulaatorile kohandatud kiibikomplekti arendamiseks. Insener Masatoshi Shima pakkus välja kaheksakiibilise süsteemi: kolm kiipi välisseadmete (klaviatuur ja printer) liidestamiseks, üks kiip andmete salvestamiseks, üks kiip programmi koodi salvestamiseks ja kaks kiipi, mis koos moodustaksid protsessori. Inteli rakenduste osakonna juhataja Marcian Hoff oli mures, et Intel ei tule toime nii suure koguse kiipide tootmisega. Ta tegi ettepaneku vähendada kiipide arvu poole võrra: üks 256-baidine programmi mälukiip, nimega 4001, üks 40-baidine andmemälu kiip 4002, perifeerse liidese kiip 4003 ja üks CPU kiip 4004. See süsteem sai endale nimeks MCS-4. Süsteem oli 4-bitine, mis vähendas oluliselt kiipide ühendamiseks vajalike tihvtide arvu. Hoff tõi sisse kolmanda inseneri: Stanley Mazor. Koos nad panid kokku iga kiibi jaoks spetsifikatsioonide komplekti ja kavandatud tootmisgraafiku. Intel esitas oma ettepaneku järgmisel koosolekul 1969. aasta oktoobris. Busicomi oli nõus ja Shima naasis Jaapanisse uue kalkulaatori prototüübi jaoks, veendumaks, et MCS-4 arhitektuur oleks kooskõlas Busicomi vajadustega. Kokkulepe sõlmiti 1970. aasta veebruaris ja kiibid viidi tootmisse. Shima ja Busicomi teadmata oli 4004-projekt juba 1970. aasta alguses peatunud. Probleem seisnes selles, et Hoff ja Mazor ei olnud kiibidisainerid – inimesed, kes saavad spetsifikatsioone koostada ja üksikasjalikke loogikaväravaskeeme luua. Neid diagramme kasutatakse omakorda selleks, et täpselt välja töötada, kuidas ja kus transistorid ja muud komponendid tuleb füüsilisel kiibil mustrisse panna. Tegelikult polnud Intelis kedagi, kes oleks olnud selle ülesandega võimeline toime tulema, kuna ettevõte oli sellel ajal keskendunud mälukiipide arendamisele. Lõpuks palkas Intel Frederico Faggini: noore inseneri, kes sobis ainulaadselt selleks tööks. Algne ajakava sobis ainult mälukiipide tootmise jaoks, mis kasutasid paljusid korduvaid elemente, mitte protsessorikiipide jaoks, mis kasutavad keerulisi ja mitmekesiseid loogikalülitusi. Lisaks polnud Fagginil abipersonali ega ühtegi tööriista ja infrastruktuuri, ettevõtted kasutasid digitaalse loogika kujunduse loomisel ja testimisel. Mõni päev pärast Faggini tööleasumist läks Shima Ameerika Ühendriikidesse tehtud tööd kontrollima. Shima eeldas, et ta näeb kiipide jaoks tarviliku loogikatasemelist plaani, mida ta saaks kontrollida vastavalt kokkulepitud spetsifikatsioonidele. Kuid Shima pidi vihastama, sest tegelikult polnud viimase viie kuu jooksul midagi saavutatud. Faggin koostas uue ajakava ja Intel palkas rohkem inimesi projekti jaoks. Faggin hakkas töötama 80 tundi nädalas. Ta töötas läbi kiibid nende keerukuse järjekorras: 4001 ROM, järgnedes 4003 liidese kiip, siis 4002 RAM ja lõpuks 4004 CPU. Shima kontrollis kiipide loogikat ja andis tagasisidet, kuidas need sobiksid Busicomi kalkulaatori tehnilisse lahendusse. 1970. aasta lõpus oli kiibi kujundus valmis. Faggin lisas protsessori serva oma initsiaalid, mikroskoopilise “F.F.”, mis sai söövitatud igasse valminud 4004-sse. Busicomil oli lõpuks täielik komplekt MCS-4 kiipe 1971. aasta märtsis. Kuna Busicom oli kiibistiku tellinud, oli neil disainilahendusele ainuõigus, mis takistas Intelil müüa protsessorit kellelegi teisele. Pärast Hoffi veenmist protsessori võimekuses, tegi Intel Busicomile pakkumise alandada kiipide maksumust, juhul kui Intel saab võimaluse 4004 perekonda müüa rakenduste jaoks, mis ei olnud kalkulaatorid. Busicom nõustus, ja Intel alustas 1971 novembris 4004 reklaamimist, kuulutades välja integreeritud elektroonika uue ajastu. pMOS CMOS "Intel's First Microprocessor". intel.co.uk. Vaadatud 10.05.2020. "Chip Hall of Fame: Intel 4004 Microprocessor". spectrum.ieee.org. Vaadatud 10.05.2020. "4004 datasheet" (PDF). Vaadatud 10.05.2020. Silicon Gate Technology www.intel4004.com