Procesory

Tranzystorowy przełom

Procesory cyfrowe operują na stanach dyskretnych i jako takie potrzebują jakiegoś rodzaju urządzeń, dzięki którym będą mogły rozróżniać i przełączać się miedzy tymi stanami. W komputerach opisanych powyżej były to oczywiście lampy. Niestety ze względy na swoją specyfikę, budowane z nich CPU były duże, zawodne oraz potrzebowały sporo prądu aby pracować. Dopiero upowszechnienie się tranzystora na początku lat 60-tych spowodowało miniaturyzację procesorów, a w konsekwencji przyspieszenie prac nad ich rozwojem. Bardzo szybko okazało się jednak, że projekty procesorów rozbudowywano do tego stopnia że ich budowa z pojedynczych tranzystorów zaczynała sprawiać problemy. Tak narodziła się idea układu scalonego (ang. IC - integrated circuit). Układ scalony, to w uproszczeniu wiele tranzystorów umieszczonych blisko siebie na jednym podkładzie. Pierwszymi układami scalonymi jakie pojawiły się na rynku, były proste bramki logiczne zawierające do kilkudziesięciu tranzystorów. Takie scalaki nazywano układami SSI (ang. Small scale of Integration - mała skala integracji). Wraz z postępem techniki wprowadzono układy scalone zawierające setki a później nawet tysiące tranzystorów w jednym układzie. Nazywano je odpowiednio MSI (Medium scale of integration - średnia skala integracji) oraz LSI (Large scale of integration - wysoka skala integracji). Dzięki temu budowa skomplikowanych procesorów stawała się coraz prostsza.

Pierwszy działający prototyp układu scalonego

Bardzo dobrym przykładem komputerów zbudowanych właśnie z układów scalonych, była wprowadzona przez IBM w 1964 seria maszyn bazujących na opracowanej przez siebie architekturze System/360. W rodzinie było kilka modeli, które mogły wykonywać z różną prędkością programy napisane dla architektury System/360. Było to rozwiązanie przełomowe, ponieważ do tej porty komputery - nawet budowane przez jednego producenta - były ze sobą nie kompatybilne. Innymi słowy, programy musiały być pisane pod jeden określony rodzaj komputera. Aby wprowadzić tą koncepcję System/360 w życie IBM opracował ideę mikroprogramu - często nazywanego po prostu mikrokodem. Cóż to takiego? Mikrokod to nic innego, jak program tłumaczący instrukcje języka wyższego poziomu - języka programowania - na takie zrozumiałe bezpośrednio przez procesor wykonujący program. Dzięki temu rozwiązaniu komputery pracujące w oparciu o architekturę System/360 bardzo szybko zdominowały rynek komputerów tamtej dekady. Dzięki nim przenośność programów została spopularyzowana na tyle, że dziś jest w zasadzie standardem bez którego dziś nie wyobrażamy sobie pracy na komputerze. Ta idea wykorzystywana jest we współczesnych procesorach po dziś dzień.

Jeden z dostępnych modeli IBM System/360

Powstanie mikroprocesora

Komputery bazujące na tranzystorach miały kilka bardzo istotnych zalet w stosunku do komputerów opartych na lampach. Pierwszą było zwiększenie szybkości pracy procesorów z nich budowanych. O ile komputery lampowe były taktowane zegarami z zakresu 0.1 - 4MHz, to tranzystorowe bez problemu osiągały kilkanaście MHz. Drugą było zwiększenie niezawodności pracy takich konstrukcji. Wspomniany na początku EDVAC osiągał średni czas bezawaryjnej pracy na poziomie 8 godzin. Komputery oparte o tranzystory pracowały bez przerwy długimi miesiącami. Bardzo ważnym czynnikiem było fizyczne zmniejszenie wielkości komputerów oraz zmniejszenie ich zapotrzebowania na energię. Nie tylko upraszczało to konstrukcję, ale także przyczyniło się do znacznego spadku cen ówczesnych komputerów.

Dość szybko okazało się, że integracją coraz większej ilości tranzystorów formujących proste układy logiczne nie ma większego sensu. Potrzebny był kolejny krok, integracja całego procesora w jednym układzie - tak właśnie powstał mikroprocesor. Pierwszy masowo dostępny na rynku mikroprocesor został opracowany w firmie Intel. Pojawił się na rynku w 1971 roku pod nazwą Intel 4004. Ten 4-ro bitowych CPU taktowany zegarem 0.74 MHz był zbudowany 2300 tranzystorów i miał moc obliczeniową podobną do tej, jaką posiadał ponad 25 lat wcześniej lampowy ENIAC. 4004 został zaprojektowany jako procesor do zastosowań zintegrowanych oraz kalkulatorów. Potrafił zaadresować 4kB pamięci ROM, oraz 640 bajtów RAM. Nie miał zaimplementowanego mechanizmu przerwań, a jego stos miał tylko trzy poziomy. Przez te ograniczenia nie bardzo nadawał się do wykorzystania w komputerach. Nie był przecież do tego zaprojektowany.