Wywiad z Frederico Fagginem


Pytania i odpowiedzi na temat 4004

Poniżej znajdują się pytania zadane Frederico Faginnowi w celu wyjaśnienia początków historii mikroprocesora.

 

- Kiedy rozpoczął pan pracę w firmie Intel?

F.F: 3 kwietnia 1970 roku.

 

- Kto pana zatrudnił i kto nadzorował pana pracę?

F.F.: Zostałem zatrudniony przez Leslie (Les) Vadasza, który był kierownikiem grupy projektowej MOS Design w organizacji R&D. W owym czasie jedyną inną grupą główną R$D była grupa Bipolar Design, prowadzona przez H. T. Chua. Wszystkie układy MOS były projektowane w organizacji Lesa. Les i H. T. podlegali Andy'emu Grove, wiceprezesowi wykonawczemu działu operacyjnego. Andy podlegał Gordonowi Moore'owi, wiceprezesowi i współzałożycielowi Intela Drugim współzałożycielem był Bob Noyce. Chociaż oficjalnie Bob Noyce był Prezesem i Naczelnym Dyrektorem Intela, to Bob i Gordon w praktyce wspólnie zajmowali urząd prezesa.

 

- Jak duży był Intel?

F.F.: W kwietniu 1970 Intel posiadał około 150 pracowników, większość z nich stanowili operatorzy pracujący nad wytwarzaniem wafli krzemowych (ang. silicon wafers) oraz na liniach montażowych układów scalonych. Cała organizacja R&D to było około 20 ludzi.

 

- Czy Ted Hof pracował w R&D?

F.F.: Nie, Ted Hoff był kierownikiem odpowiedzialnym za grupę Application Research (Badań nad Zastosowaniem) i podlegał Gordonowi Moore. Ta grupa składała się z dwóch inżynierów (Stana Mazora i Tora Lunda) oraz kilku techników. Głównym celem grupy Application Research było badanie nowych obszarów zastosowań dla układów pamięciowych Intela.

 

- Jaki był pana pierwszy projekt?

F.F.: Zostałem zatrudniony na lidera projektu dla "Busicom". W 969 Busicom zaprojektował rodzinę kalkulatorów i firma Intel potrzebna im była do przeniesienia ich projektu na krzem. Ich projekt był dedykowaną jednostką CPU (Centrap Processing Unit - Centralna Jednostka Przetwarzająca) z makroinstrukcjami, pamięcią ROM oraz pamięcią zapisywalno-odczytywalną z rejestrów przesuwnych, wszystko rozdzielone w siedmiu różnych układach scalonych. Funkcje CPU były realizowane na trzech oddzielnych układach. Gdy Ted Hoff zobaczył projekt Busicom, był zaskoczony jego złożonością i zaproponował uproszczoną architekturę opartą o bardziej ogólny, jednoukładowy, 4 bitowy CPU oraz oddzielne układy dla ROM z wejściem/wyjściem, RAM z we/wy oraz rejestrem przesuwnym. Gdy zakończono opracowywanie podstawowej architektury oraz specyfikacji czteroukładowego zestawu, zwanego MCS-4, projekt ten został przekazany grupie MOS Design do implementacji.

 

- Jak w tym czasie opracowywano dedykowane układy scalone?

F.F.: Dla typowego projektu dedykowanego klient zwykle dostarczał sprawdzony projekt sieci logicznej do sprzedawcy układów MOS w celu implementacji w krzemie. Firma produkująca półprzewodniki zamieniała sieć logiczną klienta na odpowiednie obwody MOS, wykonywała plan rozmieszczenia elementów, tworzyła odpowiednie maski, dedykowane oprogramowanie diagnostyczne, a na końcu produkowała same układy scalone dla klienta. Firmy zajmujące się tworzeniem niestandardowych układów MOS przez lata dorobiły się metodologii projektowania oraz elementarnych składników układów, które pomagały im tworzyć bezbłędnie i szybko te układy. Oryginalny projekt, który firma Intel dla Busicon miała zamienić na siedem niestandardowych układów był już odpowiednio zaprojektowany, zbudowany i sprawdzony na poziomie bramek logicznych. Jednakże propozycja Hoffa była jedynie koncepcyjna i nie przeprowadzono jeszcze dla niej opracowania logiki ani weryfikacji. Ponieważ Intel zajmował się projektowaniem układów pamięciowych, nie posiadał żadnego doświadczenia w projektowaniu nieregularnej logiki w układach scalonych; nie posiadał on żadnej metodologii projektowania ani opracowanych elementów składowych dla takich układów scalonych. Co więcej, styl projektowania wymagany przy technologii bramek krzemowych był całkiem inny niż przy nieregularnej logice z bramką metalową, dla której metodologie już istniały. Specyfikacja i testy produkcyjne wymagały testerów i metod testowania, których Intel również nie posiadał. W dniu przyłączenia się do Intela miałem przed sobą zadanie wykonania projektu całej logiki, połączeń i rozmieszczenia elementów dla tych czterech układów scalonych oraz scharakteryzowania i przekazania ich do produkcji w sześć miesięcy. Taki plan działań Intel uzgodnił z Busicom sześć miesięcy wcześniej, lecz od tamtego czasu nie wykonano żadnej pracy! Ja również skończyłem na projektowaniu i tworzeniu testerów sortujących wafle oraz dokonujących także pomiarów charakterystyk, natomiast końcowy tester był zakupywany.

 

- Ile pomocy otrzymał pan od Hoffa, Mazora oraz pozostałego personelu Intela?

F.F.: Po zakończeniu specyfikacji produktu w październiku-listopadzie 1969, składającej się z podstawowego schematu blokowego tych czterech układów oraz zbioru instrukcji dla CPU, Hoff stwierdził, że jego praca skończyła się i już więcej od tego czasu nie zajmował się tym projektem. Gdy wstąpiłem do Intela, Stan Mazor, który pomagał Tedowi przy projekcie specyfikacji, opisał ten projekt dla mnie, dał mi istniejącą dokumentację i pozostawał do dyspozycji w razie pytań. Ponieważ ani Stan, ani Ted nie wiedzieli, jak projektować układy MOS i nie wykonano żadnego projektu logiki mikroprocesora, ich pomoc przy implementacji była praktycznie zerowa. Sam również znalazłem kilka problemów na poziomie architektury, które musiałem rozwiązać samodzielnie. Vadasz, mój bezpośredni przełożony, był całkowicie zajęty projektem pierwszej pamięci dynamicznej 1k-bit (układ 1103), zgodnym z głównym kierunkiem prowadzenia businessu przez Intela, którym była produkcja półprzewodnikowych pamięci. Vadasz posiadał odczucie, że projekt Busicom jest niechcianą dywersją wymuszoną przez zarząd firmy. Odczucie to w jeszcze większym stopniu współdzielił z nim Andy Grove, szef Lesa. Co więcej, Vadasz nie posiadał żadnego doświadczenia w projektowaniu logiki dla układów o logice nieregulernej, dlatego nie mógł mnie nakierowywać na właściwe rozwiązania, a w firmie nie było żadnych innych inżynierów projektowych, którzy by coś wiedzieli na ten temat i których mógłbym poprosić o wskazówki. Byłem całkowicie zdany na siebie, jedynie nieco wsparcia otrzymałem z oddziału personalnego, który wynalazł paru rysowników obwodów scalonych. Cała odpowiedzialność za opracowanie i produkcję tego projektu spoczywała na mnie.

 

- Czy pracował pan dla lub z Tedem Hoffem przy projektowaniu i rozwoju rodziny tych układów scalonych?

F.F.: Nie, nigdy nie pracowałem dla lub z Tedem Hoffem nad 4004 ani nad pozostałymi układami projektu Bisicom. Faktycznie zapytałem go tylko jeden raz, wkrótce po przyłączeniu się, na temat zagadnień z architekturą, które wydawały się błędne i dla których Stan nie miał żadnego wyjaśnienia. Odpowiedział szorstko: "To jest teraz pański projekt. Proszę rozwiązywać własne problemy!" W końcu sam doszedłem do rozwiązania i poprawiłem tę architekturę, a później przez cały czas trwania projektu nie miałem styczności z Tedem.

 

- Czy Mazor pracował dla pana lub z panem przy implementacji MCS-4?

F.F.: Nie. Stan Mazor podlegał Tedowi Hoffowi, nie mnie, i pomagał mu przy definicji architektury, która była skończona około października-listopada 1969. Po tym czasie Mazor już więcej nie przyczynił się do ani do projektu logiki, ani do projektu układu pierwszego mikroprocesora.

 

- Jakie inne główne projekty w technologii MOS prowadzono w Intelu w roku 1970?

F.F.: Najważniejszym projektem dla przyszłości firmy był układ 1103, pierwsza pamięć dynamiczna 1k-bit, wykorzystująca 3 tranzystory na komórkę pamięciową. Następnym był układ 1702 - pamięć EPROM 2k-bity, wynaleziona i zaprojektowana przez Dova Frohmana. Układ 1702 był pierwszą na świecie, nieulotną, elektrycznie programowalną, wymazywalną światłem ultrafioletowym pamięcią ROM. Następnie był 512-bitowy rejestr przesuwny, dołączający się do rodziny rejestrów przesuwnych produkowanej przez Intela. Na koniec układ 1201, 8-bitowy mikroprocesor, przydzielony Halowi Freeney'owi, który ćwiczył się w technologii bramki metalowej i dołączył do Intela klika tygodni przede mną. 1201 był dedykowanym projektem dla Computer Terminal Corporation (która później przemianowała się na Datapoint) i opartym na architekturze CTC. Układ 1201, w końcu nazwany 8008, został niestety zawieszony po kilku miesiącach prac. Później ten projekt przydzielono mi, po ukończeniu 4004. Wykorzystując metodologię projektową, którą opracowałem dla 4004 i bazując na 4004, Hal Feeney wykonał szczegółowy projekt 8008 pod moim nadzorem.

 

- Jakie układy produkował Intel na początku 1970 roku?

F.F.: Intel posiadał parę pamięci bipolarnych, na które składała 64-bitowa pamięć statyczna RAM i 1024-bitowa pamięć ROM oraz kilka układów MOS: 1101 (256-bitowa statyczna pamięć RAM) i rodzina dynamicznych rejestrów przesuwających MOS. Pamięci bipolarne nie były specjalnie konkurencyjne, ponieważ Intel nie posiadał unikalnej technologii procesu bipolarnego, a 1101 była zbyt wolna, zbyt energochłonna i zbyt droga. Jedynym dobrze sprzedającym się produktem były rejestry przesuwne. Były to układy kompatybilne pod względem wyprowadzeń z linią rejestrów przesuwnych National Semiconductor. Ponieważ układy Intela wykorzystywały technologię bramek krzemowych, były mniejsze, szybsze i posiadały niższą minimalną częstotliwość działania od części National (technologia bramek krzemowych umożliwiła zmniejszenie upływów na złączach w porównaniu z technologią bramki metalowej). Z tego powodu układy Intela z powodzeniem zastępowały układy National przy tej samej cenie i w tych samych systemach.

W tamtym czasie monolityczne pamięci do zapisu i odczytu budowano z dynamicznych rejestrów przesuwnych MOS, wykorzystywanych w terminalach komputerowych i w kalkulatorach (dlatego CPU Bisicom oparty był na pamięci z rejestrów przesuwnych, zamiast na RAM jak we wszystkich kalkulatorach z tamtego okresu).  Brak wczesnego sukcesu handlowego układów pamięci RAM Intela zmusił firmę do rozwijania rejestrów przesuwnych oraz do zajmowania się kilkoma projektami dedykowanych układów scalonych, aby uzupełnić deficyt budżetowy. Układy dedykowane, jak układy dla Busicom oraz 1201, uważane były za "wypełniacze" przez kierownictwo Intela w czasie oczekiwania na wzrost businessu układów pamięci.

 

- Czy układ 4004 był w jakikolwiek sposób unikalny?

F.F.: Architektura 4004 była dosyć bezpośrednią architekturą opartą na rejestrach ze stosem adresowym, typową dla małych CPU w owym czasie (właściwie była ona bardzo podobna do architektury CPU terminalu Datapoint - niezależnie opracowanej przez Computer Terminal Corp. w mniej więcej tym samym czasie - która stała się architekturą 8008). Jednakże 4004 działał na 4 bitowych słowach danych, w przeciwieństwie do słów 8-, 12 lub 16-bitowych większości innych małych CPU. Powodem była minimalizacja liczby tranzystorów wymaganych do jego implementacji przy wykorzystaniu faktu, iż docelowym zastosowaniem były kalkulatory. Instrukcje dla 4004 przechowywane były w pamięci ROM, natomiast dane przechowywała oddzielna pamięć rejestrowa. Adresowanie pamięci danych było raczej nieporęczne. Najbardziej niezwykłą cechą było użycie 4-bitowej magistrali, gdzie wymieniane były adresy, instrukcje i dane. Ten wybór został podyktowany wymaganiem, aby wszystkie układy rodziny 4000 znajdowały się w 16-to nóżkowej obudowie DIP. W owym czasie kierownictwo Intela zdecydowało z niejasnych powodów, że wszystkie produkowane układy scalone będą umieszczane w 16 nóżkowych obudowach DIP. Ta "cecha" 4004 w rzeczywistości zaowocowała głównym spadkiem prędkości działania, ponieważ 5 cykli zegara było wymagane na pobranie i wykonanie instrukcji (3 cykle do przesłania 12-bitowego adresu i 2 cykle do pobrania 8-bitowej instrukcji). Innym ustępstwem na rzecz docelowego zastosowania w kalkulatorach było istnienie instrukcji zamieniającej 4-bitową zawartość akumulatora na system dziesiętny. Podsumowując, najważniejszym wkładem zespołu Hoff-Mazor było stworzenie raczej ekonomicznej architektury bez zbędnego balastu, lecz kosztem sztywnego podziału ROM/RAM oraz nieporęcznego schematu adresowania danych umieszczonych w RAM.

 

- Dlaczego inne firmy nie opracowały mikroprocesora?

F.F.: Były inne zespoły projektujące układy MOS z CPU: Lee Boysel w Fairchild obmyślił pewien CPU przy użyciu kilku układów MOS z czterofazową logiką i opuścił firmę w 1968, aby założyć Four-Phase Systems, Inc., gdzie w 1970 budował i sprzedawał cały system komputerowy oparty na tym prostym CPU. Jednakże ten CPU nie był pojedynczym układem scalonym i nigdy nie sprzedawano go oddzielnie; był częścią całego systemu komputerowego sprzedawanego w całości. W 1970 projekt innego mikroprocesora był opracowywany w Texas Instrument w oparciu o architekturę Computer Terminal Corporation. Był to pojedynczy układ, dokładnie jak 8008, a przeznaczony był na specjalizowany układ dla CTC. Ukończono go w 1971, jedynie kilka miesięcy po ukończeniu 4004 i sprzedaży do Busicom, był również opisany w prasie przez Texas Instrument. Vic Por, wiceprezes działu inżynierii w CTC powiedział mi podczas prywatnej rozmowy, że układ TI nie działał i nigdy nie został użyty przez CTC ani nie był wprowadzony na rynek. Gdyby zadziałał przed 4004, stałby się pierwszym na świecie mikroprocesorem. Inną firmą pracującą nad mikroprocesorem w 1970 była Rockwell International.  Firma ta posiadała linię produkcyjną MOS w rejonie Los Angeles i specjalizowała się w projektowaniu nieregularnej logiki z czterema fazami ze wspomaganiem za pomocą wewnętrznie opracowanych skomputeryzowanych narzędzi projektowych. W 1968 Rockwell opracowało pierwszy na świecie handlowy zestaw układów scalonych dla ręcznych kalkulatorów dla japońskiej firmy Sharp Corp. W 1971 ogłosili PPS-4, zestaw układów scalonych podobny do MCS-4 Intela z pojedynczym mikroprocesorem w sercu systemu. Fakty te pokazują, że toczył się wyścig na rynku i Intel stał się zwycięzcą z uwagi na wypuszczenie we właściwym momencie działającego systemu 4004 przed konkurencją, a nie z powodu innowacyjności tego pomysłu lub niepowtarzalności użytej architektury. Aby w 1971 mikroprocesor utrzymał się przy życiu, CPU musiał być zaprojektowany w pojedynczym układzie scalonym z cyklem instrukcji poniżej 10 mikrosekund, maksymalnym zużyciem energii poniżej 1 Wata i kosztem wytworzenia w granicach 5-10 dolarów. Implementacja poza tymi granicami byłaby porażką z komercyjnego punktu widzenia. Osiągnięcie tych celów umożliwiła właśnie technologia bramek krzemowych. W 1970 jedynie Intel i Fairchild posiadały tę technologię. Jednakże projektanci układów Fairchild byli biegli w projektowaniu nieregularnej logiki na bramce metalowej MOS i nie docenili w pełni zalet technologii bramek krzemowych, pomimo moich nalegań.

 

- Czy Intel podszedł z entuzjazmem do mikroprocesora?

F.F.: Jedynie kilku ludzi wyraziło entuzjazm, ale tylko dla tych układów jako specjalizowanych. Nie było planu sprzedaży mikroprocesorów poza określonymi klientami, dla których zostały one opracowane. Misją Intela były półprzewodnikowe układy pamięciowe. Układy specjalizowane, nie wspominając mikroprocesorów, były spostrzegane jako niepotrzebne odejście od głównych celów przez Andy Grove'a i Lesa Vadasza, mojego szefa. Decyzja projektowania układów specjalizowanych została podjęta na szczycie, ponieważ dochody z półprzewodnikowych układów pamięciowych nie rosły wg oczekiwań. Jednakże Intel nie posiadał infrastruktury inżynieryjnej oraz zaangażowania w businessie specjalizowanych układów scalonych. Z wyższego kierownictwa jedynie Bob Noyce i Bob Graham, który był wiceprezesem marketingu, byli przychylnie nastawieni do mikroprocesora, a reszta Intela była albo obojętna, albo wroga.

 

- Jakie największe wyzwanie stanęło przed panem w czasie projektowania 4004?

F.F.: Był to brak jakiejkolwiek metodologii projektowania oraz infrastruktury inżynieryjnej do opracowywania złożonych układów scalonych o nieregularnej logice. Inne firmy produkujące półprzewodniki MOS, doświadczone w projektowaniu układów o nieregularnej logice, posiadały metodologię opartą o technologię bramek metalowych MOS. Jednakże technologia bramki krzemowej była wystarczająco różna od bramki metalowej, aby wymagać wielu ważnych zmian w istniejących metodach, a Intel nie rozwinął takiej infrastruktury, ponieważ opracowywanie układów pamięciowych nie wymagało jej. Co więcej, nikt w firmie Intel nie posiadał doświadczenia w projektowaniu nieregularnej logiki. Byłem zupełnie zdany na siebie. Mogłem się był zupełnie zniechęcić, ponieważ 4004 okazał się dużo bardziej złożony od czegokolwiek, co ja lub ktokolwiek inny przedtem projektował, lecz byłem młody i wierzący w siebie i całkowicie przyjąłem to wyzwanie. Zacząłem od opracowania podstawowych zasad projektowych oraz elementów bazowych metodologii dla projektu nieregularnej logiki z bramką krzemową. Ta nowa metodologia, którą można nazwać "Strukturalną Metodą Projektowania opartego na Bramce Krzemowej", nie istniała wcześniej ani w Intelu, ani nigdzie indziej na świecie, a pozwalała projektować układy z nieregularną logiką w sposób oszczędny ze względu na energię, zajmowaną powierzchnię oraz czas. Wymagała stosowania Ładowania Podciągającego typu Bootstrap w Bramce Krzemowej oraz Zagrzebanych Złączy (wyszedłem z obiema ideami w Fairchild Semiconductor, gdzie rozwijałem oryginalną Technologię Bramki Krzemowej i gdzie skutecznie dokonałem ich implementacji) wraz z wieloma innymi innowacjami projektowymi. Metodologia ta używała pewnej liczby reguł opartych na graficznym projekcie, który wykorzystywał znormalizowane, statyczne i dynamiczne charakterystyki tranzystorów w celu znalezienia właściwych rozmiarów tranzystora, zgodnie z wymaganiami co do szybkości, w celu minimalizacji rozpraszania energii. Za pomocą tej metody można było szybko i poprawnie ustalić rozmiary elementów, pomijając symulacje komputerowe, ponieważ grafika była oparta na danych pomiarowych z rzeczywistych tranzystorów a nie na równaniach. Opracowałem również techniki oszacowywania wymiarów głównych bloków składowych oraz rysowania schematu obwodu bezpośrednio z równań logicznych, zupełnie pomijające projektowanie logiczne, co odzwierciedlało w pewien sposób faktyczny układ elementów, upraszczając tworzenie gęsto upakowanych układów scalonych. Z pomocą Masatoshi Shima z Busicom opracowałem sposób wykonania logiki sterującej w sposób strukturalny. Zostało to zrobione na 3 poziomach: wolne sygnały były łączona najpierw, następnie sygnały o średniej prędkości na drugim etapie i na koniec taktując wyniki do określonych linii sterujących idących do różnych bloków składowych. W ten sposób cała informacja przepływała właściwie, w najkrótszym czasie i przy najmniejszym rozpraszaniu energii, od dekodera instrukcji do różnych bloków funkcjonalnych: zbioru rejestrów, ALU (ang. Arithmetic Logic Unit - Jednostka Arytmetyczno Logiczna), wewnętrznego sterowania magistralą, itp.

 

- Jaką rolę odegrał Shima w projektowaniu tych układów scalonych?

F.F.: Shima był inżynierem z Busicom odpowiedzialnym za projektowanie sprzętu kalkulatora. Jego wizyta na początku kwietnia 1970 w Intelu miała na celu sprawdzenie projektu logicznego 4004 wraz z postępem prac nad pozostałymi układami, zgodnie z terminarzem uzgodnionym pomiędzy obiema firmami. Jednakże prace Intela nie posunęły się do przodu od czasu podpisania umowy sześć miesięcy wcześniej. Z powodu tych opóźnień Shima w końcu pozostał w Intelu do października 1970, aby pomóc mi przy projekcie. Shima był obecny przy wszystkich fazach projektu oraz po godzinach uczył się projektowania układów scalonych. Jego pomoc była szczególnie cenna przy sprawdzaniu projektu logicznego, rozkładu elementów oraz masek dla różnych układów. Również wykonał większość projektu logicznego 4004 pod moim nadzorem, stosując wynalezioną przeze mnie metodologię.

 

- Czy ten pierwszy mikroprocesor miał być przeznaczony do ogólnego użytku?

F.F.: Nie. 4004 był przeznaczony głównie dla kalkulatorów oraz innych produktów tego typu (rejestratorów gotówki, wyposażenia banków, itp.). Nie istniał żaden plan szerokiego wprowadzenia 4004 na rynek. Właściwie Busicom posiadał wyłączną licencję na używanie 4004.

 

 


   I Liceum Ogólnokształcące   
im. Kazimierza Brodzińskiego
w Tarnowie

©2018 mgr Jerzy Wałaszek

Dokument ten rozpowszechniany jest zgodnie z zasadami licencji
GNU Free Documentation License.

Pytania proszę przesyłać na adres email: i-lo@eduinf.waw.pl

W artykułach serwisu są używane cookies. Jeśli nie chcesz ich otrzymywać,
zablokuj je w swojej przeglądarce.
Informacje dodatkowe