Autorem informacji jest Paweł Boguś

Intel 4004

Zawartość


Intel C4004

Charakterystyka

Informacje ogólne
Data wprowadzenia:15 listopada 1971
Ilość tranzystorów:2 250 - 2 300
Technologia:10 µm, PMOS
Wielkość płytki krzemu:12 mm2
Szybkość pracy
Taktowanie rdzenia proc.:108 kHz* (0.06 MIPS)
Taktowanie magistrali sys.:jak rdzeń procesora
 * rzeczywista częstotliwość zegara: 740 kHz, patrz cykl pracy
Szerokość magistrali danych (wewn./zewn.):4 bity
Szerokość magistrali adresowej:12 bitów
Organizacja pamięci podręcznej (cache)
Pamięć podręczna L1 (wielkość, typ, dostęp):brak
Pamięć podręczna L2 (wielkość, typ, dostęp):brak
Obsługa pamięci operacyjnej
Adresowalna pamięć:640 bajtów
Pamięć wirtualna:brak
Parametry zasilania
Napięcie rdzenia Vcore:15V
Napięcie I/O:
Pobierana moc:
Parametry mechaniczne
Ilość nóżek/wyprowadzeń:16
Typ obudowy:DIP
Typ podstawki:16-pin DIP lub bezpośrednio na płytę
Wymiary:
Inne właściwości
Features:szczegóły...
Zastosowanie i uwagi
Zastosowania:kalkulator Busicom, urządzenia sterujące
Uwagi:pierwszy mikroprocesor

Historia

W roku 1969, istniejący wówczas od roku Intel, był mało jeszcze znaną firmą założoną przez byłych pracowników Fairchild Semiconductors, specjalizującą się w pamięciach półprzewodnikowych. Po pierwszym finansowo udanym projekcie, którym był układ 3101 - Schottky bipolar 64-bit static RAM (SRAM), Intel pracował gorączkowo nad pamięciami dynamicznymi RAM (DRAM). Prace zakończyły się sukcesem w roku 1970 - powstał układ 1103, 1 kbit DRAM (128 bajtów), pierwsza pamięć półprzewodnikowa o wysokiej gęstości zapisu (w roku 1972 była to najlepiej się sprzedająca pamięć półprzewodnikowa na rynku). W 1971 roku Intel skonstruował pierwszą pamięć typu EPROM oznaczoną symbolem 1702.

Oprócz DRAM Intel zajmował się również pracami nad układami scalonymi LSI (large-scale integration). W roku 1969 japoński producent kalkulatorów, Nippon Calculating Machine Corporation (później Busicom), zwrócił się do Intela z ofertą opracowania zestawu 12 (wg innego źródła 8) układów scalonych, które miałyby stanowić serce najnowszego programowalnego kalkulatora biurkowego. Intel nie miał możliwości realizacji tego kontraktu tak, jak chcieliby japończycy, gdyż nie posiadał eksperta od układów logiki (random-logic design) i jedynie dwóch specjalistów od projektowania układów scalonych oraz generalnie zbyt mało ludzi. Ponadto większość inżynierów była zaangażowana w projektach związany z pamięcią DRAM. Jednakże firma potrzebowała zamówień i umowa z Busicom została podpisana 6 lutego 1970 roku.


UWAGA: W tamtych dniach toczył się spór o koncepcję konstrukcji kalkulatorów: budować je ze standardowych, uniwersalnych układów czy też z układów projektowanych "na miarę". Zwolennicy tej drugiej koncepcji przeważali. Przytaczali oni argumenty związane z kosztami produkcji układów uniwersalnych, które siłą rzeczy musiałyby zawierać więcej funkcji i elementów niż układy specjalizowane. Z kolei zwolenicy koncepcji stosowania układów uniwersalnych zwracali uwagę na fakt, że ze względu na to, iż układy te mogłyby być produkowane w bardzo dużych ilościach, ich koszt wytwarzania nie byłby wcale taki wysoki, a możliwość programowania sprawiałaby, że byłyby bardzo efektywne (program, wg którego pracowałby taki procesor nie byłby zależny od jego struktury, czyli nie byłby "zapisany w krzemie", lecz np. w oddzielnym układzie ROM, który można byłoby w zależności od potrzeb zmieniać). Idea "CPU on a chip" pojawiła się i była dyskutowana od połowy lat 60.

Od czasu wynalezienia układu scalonego w roku 1959, przemysł podwajał gęstość upakowania elementów w strukturze krzemowej każdego roku (prawo Moor'a). We wczesnych latach 60 pojawiły się układy o małej skali integracji (SSI - small-scale integration), składające się z kilkudziesięciu elenentów tworzących razem proste bramki logiczne. Już w połowie lat 60 powstała technologia średniej skali integracji (MSI - medium-scale integration), która pozwalała zintegrować kilkaset komponentów i połączyć je w układ spełniający rolę np. licznika, sumatora czy multipleksera. Wkrótce potem nastała era układów o dużej skali integracji (LSI - large-scale integration) umożliwiającej umieszczenie kilku tysięcy elementów na jednym chip'ie. Narzucającym się zastosowaniem dla tak złożonych układów były pamięci półprzewodnikowe oraz małe komputery.
Japoński inżynier Masatoshi Shima w czerwcu 1969 roku przywiózł ze sobą plany potrzebnych układów. Początkowo praca posuwała się do przodu bardzo powoli. Inżynierowie Intela często byli zabierani do pracy nad układami DRAM, które stanowiły wtedy priorytet. W sierpniu tego roku inżynier odpowiedzialny za realizację projektu - Ted Hoff - zmienił koncepcję konstrukcji układu, zrezygnował z modelu operującego na liczbach dziesiętnych (dostosowanego do urządzeń typu kalkulator) na rzecz arytmetyki binarnej. Hoff uważał, że wykonanie układów wg planów japończyków będzie zbyt kosztowne i skomplikowane (niektóre z planowanych układów miały mieć nawet ponad 5 000 tranzystorów). Wg nowej koncepcji programowalna, uniwersalna jednostka przetwarzająca (CPU) powinna pracować posługując się zestawem kilkudzesięciu 4-bitowych instrukcji i być wspomagana przez co najwyżej 3 inne układy. Koncepcja ta wywodziła się z komputerów klasy mainframe i minikomputerów i musiała zostać okrojona tak, aby zmieścić się w szesnastonóżkowym chipie. Był to największy wówczas możliwy do wykonania typ układu. Szyna adresowa i szyna danych miały posiadać szerokość 4-bitów. Busicom, początkowo nastawiony do pomysłu sceptycznie, ostatecznie zgodził się na zmiany (w grudniu 1969), ale projekt nadal nie posuwał się do przodu.

Jesienią 1969 Ted Hoff i Stanley Mazor (od września 1969 u Intela, poprzednio w Fairchild Semicond., projektował m.in. jednostkę arytmetyki zmiennoprzecinkowej), zdefiniowali nową architekturę 4-bitowego procesora, pamięć ROM do przechowywania instrukcji programu, pamięć RAM do przechowywania danych oraz kilka portów wejścia/wyjścia do komunikacji z urządzeniami zewnętrznymi jak np. klawiatura, drukarka, przełączniki (switches) i sygnalizatory (lights). Zdefiniowali również zestaw instrukcji procesora.

Na wiosnę 1970 Shima przybył do Intela zaznajomić się z postępem prac. Zirytowany jego brakiem, pozostał w Intelu pomagając przy konstrucji układów logicznych. Oprócz Hoff'a nad projektem pracowali także Stan Mazor odpowiedzialny za sprawy oprogramowania oraz Federico Faggin (od lutego lub kwietnia 1970 u Intela, poprzednio w Fairchild Semicond., wynalazł technologię produkcji bramek logicznych w krzemie - technologia MOS (metal oxide semiconductor)), który opracowywał wraz z Shimą układy logiczne procesora oraz wykonywał layout wszystkich chipów czyli przenosił opracowane układy na krzem. Mazor pomagał testować opracowane układy (symulator). Opracowanie całego zestawu zajęło ok. 18 miesięcy.

Zestaw nazwano "rodzina 4000", a następnie MCS-4, czyli Microcomputer Set 4-bit. Składał się on z czterech 16-nóżkowych układów (16-pin DIP):

  • 4001 był to 2 kbit (czyli 256 bajtów) ROM z 4-bitowym portem wejścia/wyjścia (4-bit mask-programmable I/O port),
  • 4002 to 320 bit RAM z 4-bitowym portem we/wy,
  • 4003 to 10-bitowy rejestr przesuwny - układ rozszerzający możliwości wejścia/wyjścia (10-bit serial-in, parallel-out shift register),
  • 4004 to 4-bitowy CPU (4-bit parallel central processing unit).

W lutym 1971 pierwszy zestaw był gotowy do zbudowania prototypu kalkulatora. W skład każdego kalkulatora wchodziły cztery 4001 (czyli łącznie 1KB), dwa 4002, dwa 4003 i jeden 4004. W połowie marca 1971 Busicom otrzymał pierwszą partię chipów.

Inżynierowie Intela (Hoff/Faggin/Mazor) przekonali kierownictwo firmy (m.in. budując na bazie 4000 inne urządzenia), że zestaw ten posiada znaczny potencjał rozwojowy. Początkowo napotkali na opór zarządu, gdyż Intel zakładał raczej działalność na rynku pamięci. Jako argument posłużył fakt, że w skład zestawu wchodziły dwa układy RAM. Zarząd firmy zgodził się ostatecznie na propozycję, przyjmując, że pomoże to sprzedawać układy pamięci. Na drodze do wykorzytania rodziny układów 4000 stał jednak fakt, że 4000 był konstruowany na zasadach wyłączności dla Busicom i nie mógł być używany do innych celów bądź sprzedawany komuś innemu. Intel wykorzystał problemy, jakie miał Busicom (wojna cenowa z konkurencją, utrata częsci rynku) i zaproponował niższą cenę za dostarczane układy oraz zwrot kosztów związanych z ich konstrukcją w zamian za rezygnację z wyłączności. Busicom nie widział wielkich potencjalnych możliwości w opracowanym przez amerykanów chipie i zgodził się na rezygnację z wyłączności do zastosowań innych niż kalkulatory za cenę $60 000 (Intel umorzył koszty opracowania układu). W rok później Busicom zbankrutował. Mniej więcej w połowie 1971 roku Intel zdecydował sie wprowadzić zestaw 4000 na rynek. 15 listopada 1971 zestaw 4000 pod nazwą MCS-4 (Microcomputer System 4-bit), został oficjalnie wprowadzy i przedstawiony w prasie fachowej jako "a new era of integrated electronics" oraz "computer on a chip". Cena wynosiła początkowo $200 za sztukę. W roku 1974 procesor 4004 został opatentowany (U.S. Patent No. 3,821,715) jako: Memory System for a Multi-Chip Digital Computer (patrz tutaj).

Podsumowując, w opracowaniu i sukcesie 4004 uczestniczyli:

Federic Faggin: opracował technologię wytwarzania w krzemnie bramek logicznych (silicon gate MOS technology) i w dużej mierze kierował pracami zespołu 4004; jego dziełem był layout wszystkich układów serii 4000 (jak również później 8008 i 8080); Faggin opóścił Intela pod koniec 1974 r., stał się współzałożycielem firmy Zilog i współtwórcą procesora Z80 (wraz z Masatoshi Shima).

Masatoshi Shima: opracował szczegółową konstrukcję układów logicznych i ich wzajemne rozmieszczenie; w 1974 wraz z Faggin'em założył firmę Zilog i opracował doskonały procesor Z80.

Stan Mazor: współtworzył wraz z Hoffem architekturę układu, odpowiadał za oprogramowanie, stworzył programy testujące poprawność funkcjonowania całego układu; koordynował współpracę wewnątrz zespołu oraz z innymi departamentami.

Ted Hoff: zainicjował koncepcję pojedynczego CPU zamiast kilkunastu układów specjalizowanych, zaproponował stworzenie urządzenia programowalnego o szerokich możliwościach zastosowania w zależności od zadanego programu. Opracował podstawową architekturę układu (CPU, RAM, ROM i I/O) oraz układów logicznych.

Bob Noyce, członek zarządu Intela, wynegocjował z Busicom'em umowę o zrzeczeniu się praw wyłączności do układu 4004 za kwotę $60 000. Intel uzyskał możliwość zastosowania układu do budowy różnych urządzeń. Otworzyło to drogę dla nowej gałęzi przemysłu i okazało się jednym z większych błędów gospodarczych Japończyków.


Ciekawostka: i4004 został wykorzystany przy budowie sondy Pioneer 10 wystrzelonej 2 marca 1972. Po wykonaniu zdjęć Jowisza opóściła ona układ słoneczny i jest najdalej od Ziemi wysłanym obiektem zbudowanym ręką człowieka, a i4004 pierwszym mikroprocesorem, który zawędrował tak daleko. Jeżeli sonda ta kiedykolwiek zostanie znaleziona przez przedstawicieli obcej cywilizacji, to właśnie Intel 4004 będzie jednym z przykładów ziemskiej technologii.


Ciekawostka: Na początku lat siedemdziesiątych wiele firm rozwijającego się przemysłu półprzewodnikowego często nie było w stanie dostarczyć na czas zamówionych u nich elementów. Intel postanowił przeciwstawić się temu zjawisku i nie ogłaszał wprowadzenia nowych produktów, dopóki nie były one dostępne w wystarczającej ilości. Intel wykreował wówczas hasło reklamowe "Intel Delivers", zmienione później na "Intel Inside".

Oczami uczestników

Tak opowiadają o powstaniu pierwszych procesorów uczestnicy tych wydarzeń:

Ted Hoff - Silicon Genesis
Federico Faggin - Silicon Genesis
Federico Faggin - The Birth Of The Microprocessor
Masatoshi Shima - Shima Oral Story
Stan Mazor - krótkie podsumowanie

Szczegóły techniczne

Schemat blokowy i4004

Układ i4004, wykonany w technologii 10 µm PMOS, składał się z zaledwie 2 250-2 300 tranzystorów. Pracował z częstotliwością 108 kHz, potrafił wykonać ok. 60 000 instrukcji na sekundę (0.06 MIPS). Jego zestaw instrukcji składał się z 46 pozycji. Zasilany był napięciem stałym 15V i wymagał indywidualnego zewnętrznego sygnału zegara (peculiar clock source). Pobierał moc 1 W. Każdy chip 4004 o wymiarach płytki krzemowej (die) 4x3 mm (czyli 12 mm2) posiadał moc obliczeniową podobną do zbudowanego w 1946 roku pierwszego elektronicznego komputera ENIAC, ważącego 30 ton, zajmującego tyle miejsca co dwa garaże samochodowe (60x25 stóp) i składającego się z 18 000 lamp elektronowych.

Charakterystyka MCS-4 (Microcomputer System 4-bit)

  • 4-bit parallel CPU with 46 8-bit instructions
  • 4-bit data/address bus (instead of creating a separate data and address bus between the 4004 and its support chips, successive 4-bit bytes of its 12-bit addresses were "multiplexed" over the 4-bit data bus. Multiplexing gives the 4004 a smaller size, but at the price of a slower speed.)
  • 4-bit accumulator with separate carry and test bits
  • 12-bit program counter
  • separate program (4k - in the form of a 4 level stack, used for CALL and RET instructions) and data (1K) memory
  • sixteen 4-bit general purpose ('scratch-pad') registers (which can be used as eight 8-bit registers)
  • three more 12-bit registers comprising an address stack
  • nesting of subroutines up to 3 levels
  • Decimal and Binary arithmetic modes
  • 10.8 microsecond instruction cycle
  • addition of two 8 digit numbers in 850 microseconds
  • instruction set includes:
    • conditional branching
    • jump to subroutine
    • indirect fetching
  • 2-phase dynamic operation
  • synchronous operation with memories
  • direct compatibility with 4001, 4002, and 4003
  • no interface circuitry to memory and I/O required
  • directly drives up to:
    • 4k x 8-bit ROM (16 4001's ROMs)
    • 1280 x 4-bit RAM (16 4002's RAMs)
    • 128 I/O lines (without 4003)
    • unlimited I/O (with 4003 shift register chips)
  • Memory capacity expandable through bank switching
  • 16-pin DIP package
  • P-channel Silicon Gate MOS
  • Minimum system: CPU and one ROM

Elementy zestawu MCS-4 (Microcomputer System 4-bit)

4001ROM 256 x 8-bit. 4-bit IO port, each bit mask-programmed to be either an input or output bit. Up to 16 ROMs can be addressed by 4004.
4002RAM 4 x 20 x 4-bit. That is, sixteen 4-bit memory characters and four 4-bit status characters (just another 4 nibbles of memory addressed by special command). 4-bit output port.
4003Shift Register Static, 10-bit shift register/output expander; serial in/out and parallel out.
4004Single chip 4-bit Microprocessor.

Inne elementy współpracujące z MCS-4

43081024 x 8-bit mask programmable ROM and four 4-bit I/O Ports
4316A / 2316A2048 x 8-bit ROM
4265programmable general purpose I/O device
4269programmable keyboard display device
4201Aclock generator
4008 / 4009standard memory and I/O interface set
4289standard memory interface
1702A / 4702A2K (256 x 8-bit) UV erasable PROM
4702Areprogrammable 2K PROM

Zestaw instrukcji procesora 4004

Opis wyprowadzeń/nóżek układu 4004

Opis wyprowadzeń/nóżek i4004
  • Data bus IO - Bidirectional data bus. All address and data communication between the processor and the RAM and ROM chips occurs on these 4 lines. D0..D3 provide handshaking and data between CPU and RAM/ROM/I-O. In the IO group of instructions, most of the grunt work is performed by the RAM or ROM.
  • Clock phase 1 and 2 - Two phase clock inputs. The range of operating frequency is not known by this author at this time.
  • Sync - Synchronization signal generated by the procesor and set to the RAM and ROM chips. It indicates the start of an instruction cycle.
  • Reset - A logic "1" at this input clears all flags, status registers and flip-flops in all Intel 4004 series components and forces the program counter to zero. When reset is released, execution begins at address 000 hexidecimal.
  • Test - is used by the jump-on-condition (JOC) instruction. It is an input but does not operate like an interrupt.
  • CM-ROM - This is the ROM selection signal sent out by the processor when data is required from program memory (ROM).
  • CM-RAM's - This are the bank selection signals for the 4002 RAM chips in the system. These lines are active when data is requested from a RAM.
  • VDD - main supply voltage 15 VDC (-15V ±5%).
  • VSS - ground reference - most positive voltage.

Cykl pracy układu 4004

Cykl pracy i4004

Intel 4004 pracował z sygnałem zegara o cyklu od 1.35 do 2.00 mikrosekundy, czyli częstotliwości od 500.00 kHz do 740.74 kHz. Pierwotnym zamierzeniem było osiągnięcie wydajności w obliczeniach BCD (w przeliczeniu na liczbę) na poziomie typowego komputera z lat sześćdziesiątych - IBM 1620, co byłoby możliwe przy częstotliwości ok. 1 MHz. Federico Faggin podaje, że układ 4004 byłby zdolny pracować nawet z częstotliwością 1.2 MHz, ale Intel nie był zainteresowany śrubowaniem wydajności.

Intel 4004 potrzebował trzy (3) pełne cykle zegara by załadować adres instrukcji (adres jest 12-bitowy, stąd w każdym cyklu ładowany jest jeden 4-bitowy bajt adresu), dwa (2) kolejne by wczytać instrukcję i kolejne trzy (3) cykle, by ją wykonać. Łącznie wykonanie jednej 4-bitowej instrukcji zajmowało osiem (8) cykli zegara. Zestaw instrukcji procesora zawiera także instrukcje 8-bitowe, których wykonanie zawiera dwa razy tyle czasu, czyli szesnaście (16) cykli.

Pracując z maksymalną częstotliwością zagara równą wg specyfikacji 740 kHz, i4004 wykonuje instrukcję 4-bitową w 10.8 mikrosekundy (92 500 instrukcji na sekundę), a instrukcję 8-bitową w 21.6 mikrosekundy (46 250 instrukcji na sekundę). Stąd średnia wydajność około 60 000 instrukcji na sekundę, która w zależności od budowy programu i relacji ilościowej instrukcji 4- i 8-bitowych, mogła się wahać pomiędzy ww. wartościami.

Wersje obudowy układu 4004

Prefiks "C" oznaczał wersje chipa z bardzo jasną (czasami prawie przezroczystą) ceramiczną obudową i pozłacanymi nóżkami. Były to piersze serie produkcyjne. Pozłacane nóżki w wersji "C" sprawiają, że układy te nadają się najlepiej do użycia z podstawkami. Złoto jest doskonałym przewodnikiem i nie pokrywa się warstwą tlenku, która to właściwość jest szczególnie istotna, gdy układ jest umieszczony na podstawce. Natomiast w przypadku bezpośredniego wlutowywania takich pozłacanych nóżek na płytę powstaje stop cyny i złota, który jest bardzo kruchy i często pęka pod wpływem drgań. Na początku ta właściwość nie była jednak znana.

Prefiks "P" oznaczał wersję w obudowie z tworzywa sztucznego. Wysokie temperatury, z powodu braku hermetyczności, powodowały częste awarie tego typu układów. Były one jednak najtańsze w produkcji i przeznaczone głównie do zastosowań biurowych, w normalnym zakresie temperatur.

Wersja "D", w ciemnej obudowie ceramicznej (podobno właśnie ta wersja była zastosowana w komputerze sondy Pioneer 10) była odporna na wysokie temperatury (i hermetyczna).

Intel 4040

4040 (pierwsze miesiące 1972) to ulepszona wersja 4004, wzbogacona o 14 instrukcji (łącznie 60), adresująca 8k x 8-bit pamięci ROM lub PROM, 1280 x 4-bit RAM i 128 lini I/O (bezpośrednio, bez dodatkowych układów rozszerzających), posiadająca większy (8 poziomowy) stos i obsługująca (przynajmniej w teorii) przerwania. Układ wykonany był w technologii 10 µm PMOS, taktowany 108 kHz i umieszczony w 24 nóżkowej obudowie DIP. 4040 mógł bezpośrednio współpracować ze wszystkimi układami pomocniczymi i peryferyjnymi do 4004.

Elementy zestawu MCS-40

C4040CPU - 24 pin CERDIP
C4289Standard Memory Interfaces with I/O - 40 pin CERDIP
P4002-1RAM with Output - 16 pin DIP
P4003Shift Register - 16 pin DIP
C4702AProgrammable ROM - 24 pin CERDIP
C4201System Clock - 16 pin CERDIP

Dokumentacja

Uwaga! Powiększenia zdjęć, dokumantacja w formacie pdf i inne zasoby
w wersji on-line są niedostępne
ze względu na ograniczoną ilość miejsca na serwerze.

Galeria zdjęć: z zewnątrz, od wewnątrz, różne

Intel Data Book 1975:

Wniosek patentowy (U.S. Patent No. 3,821,715) strona:
[1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ] [ 6 ] [ 7 ] [ 8 ] [ 9 ] [ 10 ] [ 11 ]

Kalendarium

i4004i8008 
1969 Busicom kontaktuje się z Intelem w sprawie wykonania 12 (8) chipów
06.1969 Masatoshi Shima przywozi plany układów z Japonii do Kaliforni
08.1969 Ted Hoff zmienia koncepcję projektu i zamierza zaprojektować CPU
09.1969 prace nad nową koncepcją (Hoff/Mazor)
 11.1969Victor D. Poor, wiceprezes Computer Terminal Corp., pokazuje Intelowi plany 8-bitowego programowalnego terminala komputerowego Datapoint 2200. Intel podpisuje umowę na skonstruowanie układu 1201 dla CTC.
 początek 1970projekt 1201 zostaje tymczasowo zawieszony
04.1970 
  • Faggin przechodzi do Intela i staje się odpowiedzialny za projekt Busicomu
  • Shima przyjeżdża do Kaliforni i zostaje by pomóc w konstrukcji logiki układów
  •  01.1971projekt 1201 zostaje wznowiony pod kierownictwem Federico Faggin'a
    02.1971 prototyp i4004 jest gotowy
    03.1971 pierwsze zestawy chipów wysłane do Japonii
     06.1970reklama Texas Instruments w Electronics o możliwościach układów MOS LSI, ze zdjęciem złożonego układu scalonego (TI1795?) budowanego dla CTC
    połowa 1971 Intel decyduje się odkupić prawa do układu za 60 000$
     lato 1970CTC traci zainteresowanie układem 1201, Intel uzyskuje prawa do konstrukcji w zamian za umorzenie kosztów
    15.11.1971 oficjalne wprowadzenie MCS-4 do sprzedaży
    02.03.1972 wystrzelenie sondy Pioneer 10 z i4004 na pokładzie
     04.1972oficjalne wprowadzenie MCS-8 do sprzedaży


    Główny spis treści

    Masz uwagi? Napisz.