AKADEMIA BYDGOSKA im. KAZIMIERZA WIELKIEGO
WYDZIAŁ MATEMATYKI TECHNIKI I NAUK PRZYRODNICZYCH
KATEDRA FIYKI
Arkadiusz Nowak
Budowa i rola mikroprocesora – jego miejsce w zestawie
komputerowym.
Praca licencjacka
wykonana pod kierunkiem
dr Karola Grudzińskiego
Bydgoszcz 2005
Dziękuję Panu Doktorowi
Karolowi Grudzińskiemu za
pomoc w wykonaniu
niniejszej pracy.
Dziękuję również pozostałym
Pracownikom Katedry Fizyki
za to, że przez trzy lata
studiów rzetelnie i
profesjonalnie przekazywali
mi wiedzę.
Spis treści
2. Współczesny zestaw komputerowy
........................................................
2.1. Krótka historia komputera osobistego – PC
..................................................
2.2. Budowa i rola elementów składowych jednostki centralnej i innych
elementów zestawu komputerowego
...................................................
.........................................................................................
......................................................................................
...................................................................................
2.2.4. Pamięć RAM, Cache, FLASH i CMOS
................................................
2.2.5. Dysk twardy oraz inne czytniki nośników pamięci
...............................
2.2.6. Złącza (gniazda) urządzeń peryferyjnych (widziane na obudowie
............................................................
2.2.7. Zasilacz jednostki centralnej
................................................................
2.2.8. Elementy zestawu komputerowego spoza jednostki centralnej
.......................................................................................
3.1. Wyjaśnienie pojęcia „mikroprocesor”
..........................................................
................................................................................
3.2.1. Tranzystor i układ scalony
...................................................................
3.2.2. Schematyczna budowa mikroprocesora
...............................................
..........................................................................................
3.3. Rola i zasada działania mikroprocesora
.......................................................
..........................................................................................
3.3.2. Techniki przyspieszania
........................................................................
................................................................................
.......................................................................................
3.3.5. Funkcje kontrolne i sterujące
...............................................................
3.3.6. Częstotliwość taktowania
.....................................................................
............................................................................
...........................................................................................
.........................................................................................
3
3.4. Rozwój mikroprocesora na przestrzeni ostatnich lat
..................................
3.5. Przykłady mikroprocesorów aktualnie dostępnych na rynku – porównanie
4. Wizja rozwoju mikroprocesora w związku z obecnym stanem
techniki oraz współczesnym postępem technologicznym
4.1. Ocena obecnej sytuacji dotyczącej mikroprocesorów
.................................
4.2. Próba określenia kierunku, szybkości oraz strategii rozwoju
.....................................................................................
.......................................................................................
...............................................................................................
4
1. Wstęp
Przedmiotem niniejszej pracy jest próba dokonania przeglądu dotyczącego
mikroprocesorów numerycznych. Koncepcja podjęcia tegoż zagadnienia ma swoją
przyczynę. Jak bowiem powszechnie wiadomo wiek dwudziesty przyniósł ogromny
postęp w dziedzinie techniki. Rozwój nauk takich jak chemia czy fizyka oraz szeregu
dziedzin im pokrewnych jest wciąż zauważalny i bardzo szybki. Jego efekty są w
zasadzie widoczne w każdej dziedzinie życia. Zwłaszcza postęp w elektronice otworzył
drogę do rozwoju dla innych nauk (medycyna, biologia, nauki o Ziemi i Wszechświecie
itd.). Natomiast przykłady zastosowania elektroniki napotykamy prawie na każdym
kroku naszego codziennego życia. Wiadomo przecież, że urządzenia takie jak np.
telefon, odbiornik radiowy czy telewizyjny stanowią część wyposażenia wielu
milionów domów na całym świecie. We współczesnych gospodarstwach domowych
można także znaleźć wiele innych urządzeń zawierających mniej lub bardziej
skomplikowane układy elektroniczne. Wymienić tu można np. lodówkę, pralkę
automatyczną, kuchenkę mikrofalową, a także odkurzacz, żelazko i wiele innych
urządzeń. Takie przykłady możnaby było mnożyć, niemniej jednak istotny jest fakt, że
bardzo często mniej lub bardziej zaawansowana elektronika stanowi w pewnym sensie
nasze najbliższe otoczenie. To jednak nie koniec zastosowań tej dziedziny wiedzy.
Chociażby środki lokomocji, którymi codziennie przemieszczamy się do szkoły, pracy
lub w inne miejsca są „nafaszerowane” elektroniką. Jednak oczywiście wiadomy jest
fakt, że samochód osobowy posiada w sobie mniej różnych układów elektronicznych
niż samolot pasażerski. Ponadto rozwiązania elektroniczne zastosowane w lotnictwie są
znacznie bardziej skomplikowane niż w motoryzacji. Powodem takiego stanu rzeczy są
w głównej mierze względy bezpieczeństwa. Wielu innych zastosowań elektroniki
możemy doszukiwać się w przemyśle. Proces technologiczny prowadzący do
wytworzenia jakiegoś przedmiotu wymaga zastosowania odpowiednich urządzeń,
dlatego też wiele maszyn przemysłowych jest sterowanych za pomocą komputera. Takie
rozwiązanie zapewnia bardzo precyzyjne wykonanie żądanego detalu. Wspomniany już
komputer jest urządzeniem zawierającym w swojej strukturze wiele różnych elementów
elektronicznych. Jednym z nich jest właśnie mikroprocesor stanowiący główne
zagadnienie tej pracy. Jeśli natomiast chodzi o komputery, to można stwierdzić że są
one obecne niemal w każdej sferze naszego życia. Można je spotkać w wielu domach,
5
zakładach produkcyjnych, szkołach, szpitalach, biurach i wielu innych miejscach. W
zależności od miejsca, w którym komputer się znajduje spełnia on odpowiednią rolę. Na
przykład w szkole komputer służy do celów edukacyjnych, w szpitalu monitoruje on
stan chorego, a w hurtowni przechowuje i zarządza bazą danych (informacji) o towarze.
Powyższe przykłady zastosowania komputerów pokazują, że jest to ważne i konieczne
urządzenie w dzisiejszej rzeczywistości. Natomiast mikroprocesor, o którym w głównej
mierze traktuje ta praca, jest jednym z podstawowych elementów składowych
komputera. Dlatego też w kolejnych rozdziałach przyjrzymy się bliżej komputerom, a w
szczególności mikroprocesorom.
6
2. Współczesny zestaw komputerowy
Treści niniejszego rozdziału traktują o faktach historycznych dotyczących rozwoju
komputera. Są one ułożone (te fakty) w sposób chronologiczny. Informacje
wykorzystane w treści rozdziału mają charakter poglądowy i są zamieszczone po to aby
jedynie pokazać szybkość oraz postęp technologiczny w dziedzinie komputerów i
informatyki. Ponadto w tym rozdziale poruszone są także kwestie dotyczące zarówno
budowy jak i roli najważniejszych elementów składowych (z wyłączeniem
mikroprocesora) komputera osobistego.
2.1.
Krótka historia komputera osobistego – PC
Ludzie od zamierzchłych czasów byli zmuszeni do wykonywania drobnych
obliczeń. Były one niezbędne do ich codziennego życia. Liczono np. zwierzęta czy też
plony uprawne. Zdarzało się także, że liczono ludzi (np. żołnierzy). Do wykonywania
obliczeń wykorzystywano rozmaite przedmioty. Liczono na palcach, używano kamieni,
szyszek i wielu innych dostępnych rzeczy. Około 3000 lat p.n.e. w środkowej Azji
zbudowane zostało pierwsze liczydło. Jego wynalezienie znacznie przyspieszyło
operacje obliczeniowe. Jednak należy też wspomnieć, że operowano na liczbach
rzymskich dlatego wykonanie stosunkowo prostych działań arytmetycznych takich jak
mnożenie lub dzielenie nastręczało ówczesnym ludziom wielu problemów. Ich
rozwiązanie bywało bardzo czasochłonne. Dopiero w wieku XVI wraz z pojawieniem
się liczb arabskich wykonywanie działań arytmetycznych stało się prostsze, a w efekcie
szybsze.
Kolejne lata przynosiły dalszy rozwój matematyki, a także techniki. Osiągnięcia
owej techniki pozwalały na konstrukcje dość prostych maszyn służących do
wykonywania prostych działań matematycznych. W 1642r Blaise Pascal skonstruował
maszynę pozwalającą na sumowanie liczb. Już 31 lat później Gottfried Wilhelm von
Leibnitz zbudował maszynę arytmetyczną, a w 1694r skonstruował pierwszy kalkulator.
Konstrukcja tegoż kalkulatora była wzorem dla bardziej zaawansowanych maszyn
liczących jeszcze przez dziesiątki lat. W międzyczasie Leibniz opracował rachunek
różniczkowy, całkowy a także system dwójkowego zapisu liczb. Kolejnego wielkiego
kroku na drodze do wynalezienia czy zbudowania „prawdziwego komputera” dokonał
angielski matematyk, wynalazca i astronom Charles Babbage. Obliczenia, które musiał
7
wykonywać prowadząc badania w dziedzinie astronomii były zazwyczaj bardzo
żmudne i wymagały wiele czasu i uwagi. Charles Babbage musiał opierać się na danych
zawartych w tablicach logarytmicznych, które bardzo często bywały błędne. Ten fakt
skłonił go do podjęcia działań zmierzających do zbudowania maszyny matematycznej.
Owa maszyna miałaby służyć do rozwiązywania równań różniczkowych. Jednak po
dziesięciu latach porzucił ten projekt i rozpoczął pracę nad bardziej uniwersalnym
urządzeniem, które nazwał maszyną analityczną. Urządzenie, które Charles Babbage
budował miało być pierwszą programowalną maszyną, gdzie dane obliczeniowe miały
być dostarczane na kartach dziurkowanych. Następnie maszyna analityczna miała
wykonywać żądane obliczenia wykorzystując swoją pamięć operacyjną. Wynik miał
być drukowany. Niestety autor nie wypełnił założeń swojego projektu w 100%, gdyż nie
pozwalał mu na to ówczesny stan techniki. Jednak można tu dostrzec genialny pomysł i
ogromne podobieństwo w planowanym działaniu urządzenia do działania
współczesnego komputera. Można zatem śmiało stwierdzić, że Charles Babbage był
prekursorem w dążeniach do konstrukcji prawdziwego komputera. Pod koniec XIXw. w
Stanach Zjednoczonych Herman Hollerith skonstruował maszynę tabulacyjną. Potrafiła
ona odczytywać zapisane na dziurkowanych kartach dane, a następnie wykonywała na
nich operacje sumowania i sortowania. To urządzenie zostało wykorzystane jako pomoc
do przeprowadzenia powszechnego spisu ludności w USA, a jego konstruktorowi
przyniosło ogromne bogactwo i sławę. Dzięki temu Herman Hollerith w 1896r założył
firmę Tabulating Machine Company, która po połączeniu z kilkoma innymi firmami
stworzyła International Business Machines, czyli po prostu IBM. Kolejne lata
przyniosły rozwój techniki, a szczególnie elektroniki. W 1904r John Fleming
skonstruował dwuelektrodową lampę elektronową czyli tzw. diodę, a po dwóch latach
Lee de Forest skonstruował lampę trójelektrodową czyli tzw. triodę. Mogła ona pełnić
rolę przekaźnika. Był to podstawowy element komputerów I generacji. W 1941r Konrad
Zuse zbudował komputer Z3, który w pełni wykonywał obliczenia według programu, a
poza tym potrafił operować na liczbach zmiennoprzecinkowych co było swego rodzaju
nowością. Cztery lata później John von Neumann opublikował artykuł, którego treść
stanowił projekt uniwersalnego komputera. Opisano w nim cechy jakie powinien
posiadać taki komputer. Główne założenie mówiło, że nie powinien mieć
skomplikowanej budowy. Ponadto program jak i dane powinny być przechowywane w
pamięci operacyjnej komputera, a kolejność wykonywania instrukcji powinna zależeć
od wyniku już przeprowadzonych w programie obliczeń. Projekt ten nazywa się
8
„maszyną z Princeton”, a jego założenia są nadal aktualne i znajdują odbicie w
konstrukcji dzisiejszych komputerów. Jeszcze w 1945r zapoczątkowano budowę
maszyny, która miała spełniać powyższe założenia projektowe i w 1951r ją zakończono
sukcesem. Powstały komputer nosił nazwę EDVAC. Przełomową datą w drodze do
powstania komputera był dzień 23.12.1947r. Wtedy właśnie zaprezentowano nowe
urządzenie elektroniczne jakim był tranzystor. Miał on te same własności co lampa
elektronowa jednak pracował znacznie szybciej (ok. 1000 razy) od lampy. Ponadto do
swojej pracy zużywał znacznie mniej energii i emitował mniej ciepła. W kolejnych
latach powstawały coraz lepsze i szybsze programowalne komputery, które były oparte
na tranzystorach i wyposażone w lampową pamięć operacyjną (CRT), którą
skonstruował w 1947r Frederic Williams. Pozwoliło to na wykonywanie programów
zapisanych w pamięci operacyjnej, w szybki sposób. W 1953r firma IBM wprowadziła
na rynek pierwszy komputer znany jako Magnetic Drum Computer. Trzy lata później w
laboratoriach MIT zbudowany został pierwszy komputer tranzystorowy. Zapoczątkował
on erę komputerów tzw. II generacji. Kolejny postęp nastąpił w 1958r kiedy to Robert
Noyce skonstruował pierwszy układ scalony (w sprzedaży od 1961r). W tym samym
roku powstał także pierwszy tranzystorowy superkomputer (CDC 1604). W Listopadzie
1960r został zaprezentowany pierwszy mikrokomputer (PDP-1) wyposażony w monitor
i klawiaturę. Jego twórcą był Benjamin Curley pracujący dla firmy DEC. Owocem
kolejnych dwóch lat pracy nad rozwojem komputerów jest powstanie pierwszego
systemu graficznego (dotychczas informacja była prezentowana przez komputer w
trybie tekstowym). W 1964r firma IBM przedstawiła pierwszą rodzinę komputerów,
które były ze sobą kompatybilne (zgodne). Tak narodziły się komputery III generacji. W
1968r Robert Noyce, Andy Grove i Gordon Moore założyli firmę Intel, która dziś jest
największym producentem mikroprocesorów na świecie, a rok później założono firmę
AMD, która jest największym konkurentem firmy Intel na rynku mikroprocesorów.
Swój początek miał także w tym czasie Internet. W 1970r konstruktorzy firmy Intel
budują pierwszą pamięć ROM (Read Only Memory), której zawartość można odczytać
ale nie można jej zmienić. Pamięć ta pozwala na zachowanie zapisanych w niej danych
nawet po odłączeniu źródła zasilania. W następnym roku Intel opracował technologię
tworzenia i jednocześnie skonstruował pierwszy mikroprocesor (model 4004 zajmujący
powierzchnię 12mm
2
). Ważnym faktem jest także konstrukcja pierwszego komputera
osobistego (PC – Personal Computer). Dokonała tego firma Kenback. Komputer ten
9
oparty był na 130 układach scalonych i dysponował 256 bajtami pamięci. Pozwoliło to
na wykonanie 1000 instrukcji w ciągu jednej sekundy.
Powyższe przykłady są kilkoma z wielu, jakie pokazują szybkość postępu w
powstawaniu coraz lepszych komputerów. Właśnie w latach siedemdziesiątych,
osiemdziesiątych i dziewięćdziesiątych XXw nastąpił gwałtowny rozwój techniki i
nowoczesnych technologii. Pozwolił on na konstruowanie coraz szybszych,
wydajniejszych, zajmujących mniej miejsca (miniaturyzacja), bardziej niezawodnych a
także tańszych komputerów. Poprzez produkcję komputerów na skalę masową znacznie
obniżono koszty ich wytwarzania. W konsekwencji tego stanu rzeczy komputer stał się
nie tylko praktycznym narzędziem pracy, ale także źródłem przyjemności. Bowiem
wraz z rozwojem na poziomie sprzętowym szedł w parze postęp w dziedzinie
programowania. Pisano programy służące do poprawnej pracy komputerów czyli
systemy operacyjne np. MS-DOS, MS Windows, Unix, Linux. Stworzono języki
programowania np. ForTran, Pascal, B, C, C++, Java i inne, dzięki którym można było
tworzyć programy służące do rozwiązywania różnych problemów (nie tylko
naukowych). Powstawały także przeróżne programy mające uprzyjemniać czas
użytkownikowi. Dobrym przykładem są tutaj gry komputerowe. Postęp w dziedzinie
komputerów jest wciąż nieprzerwany i nic nie wskazuje na jego zatrzymanie. Jest wręcz
odwrotnie ponieważ ten swego rodzaju „wyścig” pomiędzy producentami sprzętu
komputerowego wydaje się coraz bardziej przyspieszać.
2.2.
Budowa i rola elementów składowych jednostki centralnej i innych
elementów zestawu komputerowego
Zestaw komputerowy stanowi wiele różnych urządzeń elektronicznych. Można
tu dokonać prostego podziału i ogólnie wyodrębnić: jednostkę centralną (zwaną także
zasadniczym komputerem), urządzenia wejściowe i wyjściowe (zwane są one także
urządzeniami peryferyjnymi). Do urządzeń wejściowych możemy zaliczyć: klawiaturę,
mysz, kartę dźwiękową, joystick, skaner, tuner TV lub tuner video, cyfrowy aparat
fotograficzny, a także inny komputer. Urządzenia wyjściowe to przede wszystkim
monitor, karta dźwiękowa, głośniki (lub słuchawki), drukarka, a także ploter. W skład
jednostki centralnej wchodzi wiele różnych elementów. Są to różnej maści urządzenia
mechaniczne jak i również elektroniczne, które pełnią rozmaite funkcje.
Najważniejsze z nich to:
10
2.2.1.
Płyta główna
Jest to prostokątna (kwadratowa) płytka krzemowa, do której podłączone są
niezbędne elementy budujące komputer. Jednak sama płyta zawiera wiele różnych
elementów, które są umieszczone bezpośrednio na jej powierzchni. Znajduje się tam
przede wszystkim złącze (gniazdo) przeznaczone dla mikroprocesora. Są tam także
m.in. złącza typu ISA oraz PCI przeznaczone dla kart rozszerzeń (np. karty dźwiękowej,
sieciowej i innych). W przypadku karty graficznej dziś stosuje się na ogół złącze typu
AGP (jest ono przeznaczone specjalnie dla karty graficznej). Każda współczesna płyta
główna posiada również kilka złącz pozwalających na ulokowanie dodatkowych
„kości” pamięci głównej RAM. Wyposażona jest ona także w złącza pamięci
podręcznej Cache, pamięci stałej EPROM oraz w złącze pamięci CMOS. Ponadto na
płycie głównej znajdują się złącza IDE pozwalające na podłączenie dysków twardych
oraz czytników innych rodzajów nośników pamięci (stacja dyskietek, napęd CD lub
DVD). Płyta główna posiada także złącza, za pośrednictwem których można podłączyć
klawiaturę i mysz oraz inne urządzenia peryferyjne. Komunikacja ta obecnie odbywa
się głównie za pośrednictwem złącz typu USB (aczkolwiek istnieje możliwość
podłączenia klawiatury i myszy do przeznaczonych dla nich gniazd). Istnieją także inne
typy złącz pozwalających na połączenia z urządzeniami zewnętrznymi. Są to złącza
typu: RS-232, IrDA (ang. Infrared Port Connector) lub złącze portu równoległego.
Ponadto każda płyta główna wyposażona jest w układy chipset (układy scalone
otoczenia procesora) i kontroler klawiatury. Z uwagi na fakt, iż komputer do pracy
potrzebuje energii elektrycznej, płyta główna jest wyposażona w złącze do podłączenia
zasilacza. Płyta główna posiada także złącza do przycisków i diod obudowy, głośnika
systemowego, a także miejsce na baterię systemową. Natomiast rola jaką ma do
spełnienia płyta główna jest bardzo ważna. Jej główną funkcją jest zapewnienie
prawidłowej komunikacji pomiędzy poszczególnymi elementami składowymi jednostki
centralnej. Aby owa komunikacja była jak najlepszej jakości, płyty główne są
wyposażone w tzw. BIOS (Basic Input/Output System). Jest to zestaw podstawowych
procedur, które są relacją pomiędzy sprzętem a systemem operacyjnym. Aby właściwie
skonfigurować BIOS należy skorzystać z programu SETUP, który jest integralną
częścią BIOS’u. Tak więc płyta główna podtrzymuje wszystkie najważniejsze
ustawienia sprzętowe i systemowe komputera. Dzieje się tak nawet jeśli komputer jest
11
odłączony od zasilania energią elektryczną (energia elektryczna pochodzi wtedy z
baterii systemowej).
2.2.2.
Mikroprocesor
Jest to jeden z ważniejszych elementów budujących komputer. Jego
architektura, rola, jak i zadania zostały opisane w rozdziale II pt. „Mikroprocesor”.
2.2.3.
Karty rozszerzeń
Każdy współczesny komputer osobisty posiada kartę graficzną. Może ona być
integralną częścią płyty głównej lub stanowić osobny element budowy komputera. Jeśli
jest oddzielnym elementem, to można w niej wyróżnić następujące elementy: płytkę
krzemową na której osadzony jest procesor karty graficznej, a także pokłady pamięci
RAM (pamięci video) oraz układ RAMDAC (ang. Random Access Memory Digital to
Analog Converter) to konwerter cyfrowo-analogowy wyposażony w pamięć o dostępie
swobodnym. Jest to układ zbudowany z pamięci statycznej zawierającej tabelę barw.
Ponadto w jego skład wchodzą wspomniane trzy przetworniki cyfrowo-analogowe.
Układ ten jest często zintegrowany z procesorem karty graficznej. Natomiast praca
karty graficznej jest podzielona na trzy etapy. Najpierw odbiera ona sygnały od
komputera. Następnie sygnały te są odpowiednio przez nią przetwarzane (układ
RAMDAC zamienia sygnał cyfrowy na analogowy). W ostatnim etapie przetworzone
już sygnały są wysyłane do monitora, który wyświetla odpowiednie obrazy. Innymi
słowy karta graficzna jest „pośrednikiem” pomiędzy zasadniczym komputerem a
monitorem. Jest ona także odpowiedzialna za jakość wyświetlanych obrazów tzn.
pozwala na określenie parametrów dotyczących wyświetlanego obrazu. Można do nich
zaliczyć np. rozdzielczość, ilość kolorów itp. Tak więc karta graficzna, z
otrzymywanych od jednostki centralnej sygnałów, generuje obraz i steruje pracą
monitora, w taki sposób aby zachować odpowiednie (żądane) parametry tegoż obrazu.
Karta dźwiękowa (muzyczna) nie jest niezbędnym, aczkolwiek popularnym
elementem współczesnego komputera. Podobnie jak karta grafiki może ona być
zintegrowana z płytą główną lub stanowić osobny element komputera. Jeśli jest osobną
częścią, to stanowi ją krzemowa płytka, na której najważniejszymi elementami są
przetworniki: cyfrowo – analogowy oraz analogowo – cyfrowy. Karta dźwiękowa także
posiada własną pamięć RAM oraz układy odpowiadające za syntezę dźwięków
12
instrumentów muzycznych i efektów dźwiękowych (np. dźwięk przestrzenny w hali).
Jej zasadniczym zadaniem jest realizacja trzech funkcji. Należą do nich: rejestracja,
przetwarzanie oraz odtwarzanie dźwięków. Karta dźwiękowa jest urządzeniem
wejścia/wyjścia co oznacza, że pełni także rolę pośrednika pomiędzy komputerem a
urządzeniami peryferyjnymi. Mogą do nich należeć np. mikrofon (urządzenie wejścia) i
głośniki (urządzenie wyjścia). Zatem zapewnia ona również właściwą komunikację
pomiędzy jednostką centralną a odpowiednimi urządzeniami wejścia/wyjścia.
Wyżej wymienione rodzaje kart bardzo często znajdują się w komputerze
osobistym. Jednak istnieją także inne, które nie występują tak często. Należą do nich np.
modem, karta sieciowa lub tuner TV. Cechą charakterystyczną wszystkich kart jest to,
że posiadają one złącza pozwalające na komunikację z Internetem (poprzez modem)
bądź odpowiednimi urządzeniami peryferyjnymi. Dbają one zatem o właściwą
komunikację zasadniczego komputera z odpowiednim urządzeniem zewnętrznym. Jest
to ich podstawowe zadanie.
2.2.4.
Pamięć RAM, Cache, FLASH i CMOS
Układy pamięci są zbudowane z tranzystorów, czyli półprzewodnikowych
elementów elektronicznych wykonanych najczęściej z krzemu. Tranzystory tworzą
układy scalone, które są podstawowymi elementami budulcowymi procesorów i
układów pamięci. Obecnie liczbę tranzystorów w układzie scalonym podaje się już w
milionach sztuk, a sam układ scalony zajmuje powierzchnię rzędu kilkudziesięciu mm
2
.
W ten sposób można więc sobie wyobrazić skalę miniaturyzacji tranzystorów. Jednak
mimo podobnej struktury wewnętrznej zadania jakie pełni pamięć są różne. W
konsekwencji istnieje więc podział na pamięć typu: RAM, Cache, FLASH i CMOS.
Pamięć RAM (Random Access Memory) – jest to pamięć o dostępie
swobodnym (pamięć operacyjna). Oznacza to, że jest tu możliwy bezpośredni dostęp do
każdej komórki pamięci. Jej zasadniczą rolą jest przechowywanie właśnie
przetwarzanych danych. RAM przechowuje także ciągi rozkazów (czyli program), które
operują na tych danych. Wynika stąd, że w przypadku pamięci RAM istotnymi cechami
są: jej pojemność oraz czas dostępu do zapisanych w niej informacji. Można zatem
stwierdzić, że cechy te mają niebagatelny wpływ na szybkość pracy całego komputera
(im większa pojemność oraz im krótszy czas dostępu do pamięci, tym szybsza praca
13
komputera). RAM jest pamięcią ulotną tzn. jej zawartość zostaje wykasowana po
odłączeniu komputera od źródła energii elektrycznej.
Pamięć Cache – odnosi się ona zarówno do procesora (opis w rozdziale II pt.
„Mikroprocesor”) jak i do pamięci RAM. W przypadku pamięci RAM pamięć Cache
(zwana także buforem) jest pewną częścią owej pamięci RAM. Bufor przechowuje
kopie najczęściej używanych plików systemu operacyjnego, dzięki czemu operacje
systemowe są wykonywane szybciej. Ponadto czas dostępu do pamięci Cache jest
znacznie krótszy niż do pamięci RAM.
Pamięć FLASH – jest ona swego rodzaju połączeniem pamięci ROM i RAM.
Jej bowiem zawartość pozostaje zapisana nawet po odłączeniu komputera od zasilania
(tak jak w pamięci ROM). Użytkownik ma jednak dostęp do tej pamięci i może ją
zmienić. (tak jak w pamięci RAM). Może ona przechowywać np. BIOS. Jest to pamięć,
którą można wielokrotnie zapisywać i wymazywać. Natomiast ilość odczytów
zapisanych w niej danych jest praktycznie nieograniczona.
Pamięć CMOS – jest to pamięć podtrzymywana za pomocą energii uzyskanej z
baterii. Jej głównym zadaniem jest przechowywanie informacji o aktualnej dacie i
godzinie. CMOS przechowuje także ustawienia programu SETUP, czyli programu
konfiguracyjnego BIOS’u.
2.2.5.
Dysk twardy oraz inne czytniki nośników pamięci
Dysk twardy jest zbudowany zarówno z elementów mechanicznych jak i
elektronicznych. Do elementów mechanicznych zaliczyć należy silnik krokowy i części
odpowiedzialne za przesuw głowicy nad odpowiednie miejsce dysku, a także obracające
się aluminiowe talerze pokryte nośnikiem magnetycznym. Natomiast elementy
elektroniczne tworzą układ obsługujący i kontrolujący ustawienie głowicy. Dbają także
o poprawność i ewentualną korekcję odczytu i zapisu danych na dysku. Wszystkie te
elementy są ulokowane w hermetycznie zamkniętej obudowie, ponieważ nawet drobina
kurzu mogłaby uszkodzić delikatną strukturę wewnętrzną dysku. Zadaniem dysku
twardego jest przechowywanie zapisanych na nim danych. Wykonuje on także proces
zapisu i wymazywania danych. Jednak najczęstszym zadaniem wykonywanym przez
dysk twardy jest odczyt danych.
W podobny sposób jest zbudowana także stacja dyskietek, gdzie najważniejsza
jest głowica odpowiedzialna za odczyt i zapis danych. Istotny jest także mechanizm nią
14
sterujący. Napęd ten jest również wyposażony w silnik obracający dyskiem
umieszczonym wewnątrz wymiennej dyskietki. Stacja dyskietek wykonuje analogiczne
zadania jak dysk twardy. Dysk twardy oraz stacja dyskietek są tzw. napędami
magnetycznymi.
Innym rodzajem napędów są tzw. napędy optyczne. Są to urządzenia służące
do odczytu i zapisu danych na płytach: CD, CD-R, CD-RW, DVD, DVD-R, DVD-RW.
Ich zasadniczym elementem jest laser, który emituje wiązkę światła. Promień odbity od
powierzchni płyty zostanie zinterpretowany jako cyfra 1 natomiast promień nieodbity
zostanie zinterpretowany jako cyfra 0. Komputer zatem odczytuje informacje zapisaną
w formie ciągu binarnego. Laser także odpowiada za zapis danych na płycie, ponieważ
emitując światło o odpowiednim natężeniu może zmienić jej strukturę. W przypadku
napędów optycznych możliwy jest na pewno odczyt danych zapisanych na płytach. Nie
każdy bowiem napęd optyczny ma możliwość zapisywania i wymazywania danych.
Jak widać zasadnicza rola napędów magnetycznych i optycznych jest w
zasadzie taka sama. Różnice polegają jedynie na sposobie odczytu, zapisu i kasowania
danych. W napędach magnetycznych zadania te wykonuje głowica, a w optycznych
laser.
2.2.6.
Złącza (gniazda) urządzeń peryferyjnych (widziane na obudowie jednostki
centralnej
Są to różnej wielkości oraz kształtu gniazda zbudowane z metalu.
Różnorodność ta zapewnia, że nawet laik nie uszkodzi komputera bądź urządzenia
zewnętrznego poprzez podłączenie tegoż urządzenia do niewłaściwego gniazda. Złącza
te pozwalają przede wszystkim na podłączenie klawiatury i myszy. Wymienić należy na
pewno złącza karty graficznej pozwalającej na podłączenie monitora i odbiornika TV.
Współczesny komputer na ogół jest wyposażony w kartę dźwiękową, która posiada
złącza pozwalające na podłączenie głośników, mikrofonu, zewnętrznych urządzeń audio
oraz joysticka. Na obudowie widać także złącza innych kart rozszerzeń zainstalowanych
w komputerze. Oprócz wymienionych już gniazd istnieją także złącza takie jak: RS-
232, port równoległy, złącze IrDA lub USB. Za ich pomocą można do komputera
podłączyć np. skaner, drukarkę, cyfrowy aparat fotograficzny, a nawet telefon
komórkowy oraz wiele innych urządzeń. Każdy komputer jest wyposażony w gniazdo
zasilacza pozwalające podłączyć go do sieci elektrycznej.
15
2.2.7.
Zasilacz jednostki centralnej
Posiada on wyprowadzenia pozwalające na podłączenie np. płyty głównej lub
napędów dysków. Z drugiej strony zasilacz ma gniazdo, poprzez które za
pośrednictwem przewodu podłącza się go do sieci elektrycznej. Jego zadaniem jest
przetworzenie prądu zmiennego pochodzącego z sieci elektrycznej w taki sposób, aby
dostarczyć odpowiednią energię elektryczną (napięcie) do odpowiednich elementów
komputera. Do urządzeń wymagających prądu pochodzącego z zasilacza zaliczamy:
płytę główną, dysk twardy i inne napędy, wentylatory, klawiaturę i mysz, a także
niektóre urządzenia podłączone do komputera za pomocą gniazda USB.
2.2.8.
Elementy zestawu komputerowego spoza jednostki centralnej
•
Klawiatura i mysz – zapewniają przekaz informacji ze strony użytkownika
do komputera.
•
Monitor – jest koniecznym urządzeniem emitującym obraz wygenerowany
przez kartę graficzną,
•
Głośniki - emitują dźwięk emitowany przez kartę dźwiękową,
•
Drukarka – pozwala na wydruk dokumentów utworzonych w programach
komputerowych,
•
Skaner – przetwarza „tradycyjne” (zapisane na kartce, folii itp.) dokumenty
do postaci elektronicznej,
•
Inne urządzenia – pełnią swą rolę zgodnie z przeznaczeniem.
Powyższe urządzenia, a właściwie ich struktura ma niebagatelne znaczenie jeśli
chodzi o szybkie i sprawne działanie całego zestawu komputerowego. To właśnie
elementy stanowiące jednostkę centralną decydują w głównej mierze o jego wydajnej
pracy. Struktura urządzeń znajdujących się poza zasadniczym komputerem nie ma w
zasadzie większego wpływu na szybką i niezawodną pracę zestawu komputerowego.
Wyjątek jednak stanowi monitor, który jest nieodłącznym elementem zestawu
komputerowego. Jego niższa jakość mogłaby spowodować obniżenie ogólnej
wydajności całego sprzętu. W konsekwencji praca w niektórych programach mogłaby
stać się kompletnie niemożliwa. Aby elementy komputera pełniły swoją ściśle określoną
rolę w sposób właściwy istotne jest aby odpowiednio dopasować oprogramowanie
sterujące tymi elementami Ma to również ogromny wpływ na właściwą, szybką i
16
wydajną pracę zestawu komputerowego. Wpływa to niewątpliwie na komfort pracy
użytkownika.
17
3. Mikroprocesor
Treści niniejszego rozdziału traktują o mikroprocesorze. Znajduje się w nim przede
wszystkim wyjaśnienie samego pojęcia mikroprocesor. Ponadto część rozdziału jest
poświęcona budowie jak i roli tegoż niezbędnego elementu komputera. Zawarte są tu
także informacje dotyczące postępu w dziedzinie wytwarzania mikroprocesorów
(chodzi o rozwój na przestrzeni ostatnich lat). Natomiast w ostatniej części rozdziału
znajdują się informacje o mikroprocesorach, które są aktualnie dostępne na rynku.
Szczególny nacisk został położony na różnice pomiędzy nimi. Celem takiego podejścia
jest wskazanie przeznaczenia omawianych typów procesorów.
3.1.
Wyjaśnienie pojęcia „mikroprocesor”
Aby móc dokonać charakterystyki urządzenia jakim jest procesor należy
rozpocząć od wyjaśnienia samej jego nazwy.
Definicja wg Słownika języka polskiego:
„Mikroprocesor – urządzenie elektroniczne zdolne do wykonywania operacji na
danych, jedna z najważniejszych części komputera.”
Definicja wg Słownika wyrazów obcych:
„Mikroprocesor – zminiaturyzowany procesor (w postaci układu scalonego wielkiej
skali integracji) stanowiący podstawowy element komputerów domowych i osobistych,
wykorzystywany także w innych urządzeniach, np. drukarkach i terminalach
komputerowych, a także w pralkach automatycznych, urządzeniach audiowizualnych
itp.”
Etymologicznie (pochodzeniowo) słowo mikroprocesor jest syntezą dwóch słów:
mikro + procesor.
3.2.
Budowa mikroprocesora
3.2.1.
Tranzystor i układ scalony
Podstawowym elementem elektronicznym budującym mikroprocesor
komputera jest tranzystor. Z kolei sam tranzystor jest półprzewodnikowym urządzeniem
elektronicznym, który jest zbudowany z trzech elementów. Są to: emiter, baza oraz
kolektor. Baza steruje przepływem prądu pomiędzy emiterem a kolektorem. Tranzystor
18
pełni rolę przełącznika elektronicznego. Często występuje on także w połączeniu z
kondensatorem i w efekcie elementy te stanowią półprzewodnikową pamięć. Tranzystor
potrafi wzmacniać sygnał elektryczny i jest on powszechnie stosowanym elementem w
elektronice cyfrowej. Wyróżniamy dwa podstawowe rodzaje tranzystorów. Są
tranzystory bipolarne lub unipolarne czyli polowe. Natomiast sama nazwa tegoż
urządzenia pochodzi z języka angielskiego, bowiem zwrot transfer resistor oznacza
urządzenie transformujące rezystancję.
Dziś bardzo popularny w elektronice jest również tzw. układ scalony zwany
także kością (ang. intergrated circuit, chip). Jest on niczym innym jak tylko
miniaturowym elementem elektronicznym zbudowanym z tranzystorów,
kondensatorów, rezystorów i diod opakowanych w hermetycznie zamkniętej obudowie.
Liczba tych elementów może wynosić od kilku sztuk do setek milionów. Dla przykładu
w mikroprocesorze Pentium Pro jest ok. 21.000.000 tranzystorów. Układy scalone
dzielimy na monolityczne i hybrydowe. Na ogół jednak w elektronice stosowane są
układy monolityczne, a ich elementami są tylko tranzystory połączone ze sobą. Obecnie
długość takiego pojedynczego tranzystora jest rzędu kilkudziesięciu nanometrów. Aby
zobrazować skalę miniaturyzacji i integracji tranzystorów w układzie scalonym podaje
się liczbę tranzystorów przypadającą na 1mm
2
.
3.2.2.
Schematyczna budowa mikroprocesora
Wszystkie mikroprocesory bez, względu na producenta, mają pewne wspólne
cechy strukturalne. Są to bloki wykonujące określone zadania. Zatem schematycznie
można przedstawić mikroprocesor jako zbiór połączonych ze sobą takich bloków.
19
Rysunek 1 Schematyczna budowa mikroprocesora.
Mikroprocesor jest związany z pamięcią operacyjną za pomocą
wyizolowanego bloku komunikacyjnego BU – Bus Unit. Blok ten odpowiada za
pobranie danych oraz rozkazów do wykonania z pamięci RAM, a także odsyła wyniki
po wykonaniu obliczeń z powrotem do pamięci RAM. Prefetch jest blokiem
kolejkującym dane, oczekujące na odtworzenie w bloku dekodera IU – Instruction Unit.
Blok ten jest związany ze wspomagającym go blokiem pamięci stałej ROM.
Odtworzone już informacje trafiają do bloku wykonawczego EU – Execution Unit. Tam
następuje, zgodne z rozkazami, wykonanie operacji na danych. Jeśli zachodzi potrzeba
wykonania operacji na liczbach stałoprzecinkowych, to dane takiego typu trafiają do
bloku ALU – Arithmetic–Logic Unit, nad którego pracą czuwa jednostka CU – Control
Unit. Natomiast operacje na liczbach zmiennoprzecinkowych są realizowane w
jednostce FPU – Floating Point Unit. Na ogół rozkazy, które są do wykonania, bazują
na jakiś argumentach. Są to np. składniki w dodawaniu lub czynniki w mnożeniu itd.
Argumenty te są również pobierane z pamięci operacyjnej. Często się także zdarza, że
konieczne jest przesłanie wyniku jakiś działań pod wskazany adres w pamięci RAM. Za
poprawne adresowanie wyników jest odpowiedzialny blok AU – Addressing Unit. Jest
on wyposażony w jednostkę MMU – Memory Managment Unit, która zabezpiecza od
strony technicznej dostęp do pamięci operacyjnej.
20
3.2.3.
RISC i CISC
RISC (ang. Reduced Instruction Set Computers) oraz CISC (ang. Complex
Instruction Set Computers) są dwoma typami architektur mikroprocesorów. Model
RISC zakłada ograniczenie listy rozkazów (są one na ogół stałej długości) do
niewielkiej liczby szybko wykonujących się instrukcji. Instrukcje te wykonują się
bardzo szybko ponieważ ich realizacja przebiega w odpowiednio skonstruowanym
obwodzie elektronicznym, co pozwala na znaczną oszczędność czasową. Innymi słowy
układ elektroniczny nie musi tu tłumaczyć rozkazu i stąd owa oszczędność czasowa.
Ważną rolę w modelu RISC pełni kompilator. To właśnie on rozpisuje algorytm
wykonywanego programu. RISC’owe podejście wymaga szybkiego połączenia z
pamięcią operacyjną, ponieważ skompilowana wersja programu jest właśnie tam
ulokowana. Dziś w architekturze RISC pamięć operacyjna jest zastąpiona na ogół
pamięcią Cache (pamięć podręczna) ponieważ jest znacznie szybsza. Przykłady grup
mikroprocesorów wykonanych w modelu RISC to: Alpha, AMD 29000, ARM, MIPS,
Motorola 88000, PowerPC, SPARC.
Inne podejście występuje w architekturze CISC. Lista rozkazów jest dużo
większa niż w modelu RISC. Pobranie rozkazu z pamięci wymusza natychmiastowo
lawinę kompleksowych działań. W konsekwencji realizacja takiego rozkazu może trwać
nawet kilka cykli zegarowych. Jednak nie jest tu tak bardzo istotna szybka komunikacja
z pamięcią RAM. Przykłady grup mikroprocesorów wykonanych w architekturze CISC
to: x86, MC68000, Pentium.
Współczesna architektura mikroprocesorów jest jednak najczęściej
„mieszanką” obu wyżej wymienionych modeli. Lista rozkazów jest spora jak w
architekturze CISC. Jednak zostaje ona rozbita na grupę mikrorozkazów i jest
realizowana jak w modelu RISC. Takie rozwiązania można zaobserwować obecnie w
mikroprocesorach firmy Intel gdzie przykładem może być mikroprocesor Pentium Pro.
Do mikroprocesorów o mieszanej konstrukcji można również zaliczyć mikroprocesor
K6, który jest produktem firmy AMD.
3.3.
Rola i zasada działania mikroprocesora
Jak już wiadomo mikroprocesor jest jednym z ważniejszych, a może nawet
najważniejszym elementem komputera. Ma on bowiem do spełnienia niebagatelną rolę.
Jest to centralny ośrodek zarządzający całym komputerem. Innymi słowy mówiąc
21
mikroprocesor jest „mózgiem” komputera, a zatem podejmuje on wszystkie kluczowe
decyzje. Są one wynikiem operacji wykonywanych według określonego algorytmu na
dostarczonych danych. Oczywiście funkcja pełniona przez mikroprocesor jest
niezmienna, co oznacza, że ogólnie wszystkie takie urządzenia spełniają generalnie to
samo zadanie. Różnic w działaniu mikroprocesorów można się jednak dopatrzyć.
Polegają one głównie na szybkości i w konsekwencji wydajności pracy. Przyczyna
takiego stanu rzeczy leży bardzo często w architekturze samego mikroprocesora. Nie
bez znaczenia pozostaje także jakość elementów otaczających i bezpośrednio lub
pośrednio współpracujących z mikroprocesorem.
Opis zasady działania mikroprocesora nie jest sprawą łatwą. Aby rzetelnie
przedstawić pracę tegoż elementu komputera należy omówić szereg zagadnień. Dotyczą
one procesów, które zachodzą w mikroprocesorze.
3.3.1.
Potokowość
Działanie współczesnego mikroprocesora można przyrównać do pracy taśmy
produkcyjnej znajdującej się w fabryce. Stopniowe przetwarzanie danego na początku
elementu prowadzi do uzyskania żądanego produktu na końcu taśmy. Również
przetwarzanie danych w mikroprocesorze jest podzielone na kilka etapów. Stąd można
wywnioskować, że istnieje możliwość przetwarzania kilku rozkazów w tym samym
czasie. W konsekwencji widać, że praca nad każdym takim rozkazem znajduje się na
innym stopniu zaawansowania, a każdy cykl zegara taktującego wydaje gotowy
produkt. Jest nim w pełni przetworzona informacja wstępna. Proces przechodzenia
danych przez całą „taśmę produkcyjną” trwa na ogół kilka cykli i jest nazywany
potokiem. Natomiast ilość etapów, które składają się na cały potok, to tzw. głębokość
lub ilość stopni potoku. Im więcej jest etapów, tym krótszy jest czas trwania każdego z
nich. Zwiększa się zatem częstotliwość taktowania zegara, czyli czas trwania jednego
cyklu zostaje skracany. Wpływa to zasadniczo na szybkość pracy i wydajność
mikroprocesora. Jednak zbyt duże rozdrobnienie naraża na występowanie błędów lub
konfliktów pomiędzy zależnymi od siebie instrukcjami. Zdarza się, iż z przyczyn
zewnętrznych istnieje rozbieżność czasowa jeśli chodzi o pobyt danych i rozkazów na
poszczególnych stopniach. Aby uniezależnić od czasu przetrzymywanie informacji na
każdym z etapów, umieszcza się bufory (kolejki) pomiędzy stopniami potoku. Sposób
ten zapewnia pełne wykonanie wszystkich instrukcji na danych we wszystkich etapach.
22
Nie wyklucza on jednak występowania błędów, a jeśli takowe zostaną wykryte, potok
musi zostać wyczyszczony. Mikroprocesory dziś dostępne na rynku posiadają
najczęściej ośmiostopniowy potok. Niemniej jednak działanie każdego mikroprocesora,
bez względu na producenta, opiera się czterech zasadniczych czynnościach. Są to tzw.
cztery fazy pracy. Należą do nich: pobieranie (ang. Prefetch - PF), dekodowanie (ang.
Decode – DE), wykonanie (ang. Execute – EX) oraz zakańczanie i zapisywanie
wyników (ang. Write Back – WB). W pierwszej fazie pobierane są rozkazy z pamięci
operacyjnej. W kolejnej fazie dochodzi do analizy i segregacji pobranych informacji.
Natomiast faza trzecia polega na wykonaniu operacji na danych zgodnie z kodem
wykonywanego programu. Ostatnia faza polega na zapisie właśnie przetworzonych
informacji we wskazanej lokalizacji w pamięci lub rejestrach. Mikroprocesor powraca
do optymalnych ustawień i cała czterofazowa procedura jest powtarzana. W taki sposób
mikroprocesor wykonuje zadane programy.
3.3.2.
Techniki przyspieszania
Powszechnie wiadomo, że istotną cechą mikroprocesora jest jego wydajność
czyli moc obliczeniowa. Jest to innymi słowy mówiąc ilość operacji, którą
mikroprocesor jest w stanie wykonać w jakiejś konkretnej jednostce czasu. Determinuje
ona bowiem szybkość pacy całego komputera. Zatem jeśli skróci się czas trwania
jednego cyklu mikroprocesora, to automatycznie jego wydajność rośnie. Niemniej
jednak uwarunkowania technologiczne mikroprocesora nie pozwalają na ciągłe
skracanie długości trwania pojedynczego cyklu. Istnieje jednak możliwość
wprowadzenia pewnych usprawnień pozwalających na przyspieszenie pracy
mikroprocesora. Przykładem są tu między innymi: techniki superskalarne,
przemianowywanie rejestrów, a także przepowiadanie oraz zoptymalizowanie kodu.
Techniki superskalarne polegają na dołożeniu dodatkowych potoków w
mikroprocesorach. W praktyce na ogół dodaje się tylko jeden potok gdyż ich
ewentualna większa liczba nie wpływa już tak znacznie na zwiększenie wydajności.
Ponadto zbyt duża liczba potoków wymusza istnienie rozbudowanej komunikacji
międzypotokowej, która także wymagałaby czasu na przeprowadzenie swoich działań.
Tak więc wiele spośród dostępnych na dzisiejszym rynku mikroprocesorów posiada
dwa, a w zasadzie trzy potoki. Oznacza się je zazwyczaj jako potok U oraz V. Ich
budowa jest nieco różna, a realizują one operacje na liczbach stałoprzecinkowych i
23
robią to niezależnie od siebie. Kwestia przydziału danych do kanału U oraz V jest
rozstrzygana przez układ rozdzielający. Potoki U oraz V mogą aczkolwiek nie muszą
pracować synchronicznie. Przykładem jest tu mikroprocesor M2 firmy Cyrix. Czasem
jednak synchronizacja jest wymagana. Przykład stanowi mikroprocesor firmy Intel
skonstruowany w technologii MMX. W sytuacji gdy synchronizacja nie jest w nim
możliwa drugi potok jest zatrzymywany. Natomiast wspomniany trzeci potok to blok
realizujący operacje na liczbach zmiennoprzecinkowych. Został on jednak
wyodrębniony już dość dawno.
Przemianowywanie rejestrów jest usprawnieniem wymagającym wyposażenia
mikroprocesora w dodatkowy rejestr pomocniczy. Czasami bowiem dochodzi do
sytuacji, w której jednocześnie potoki U oraz V próbują dokonać jakiejś operacji na
rejestrze. Zatem jeśli mikroprocesor zostanie wyposażony w dodatkowy rejestr, to
potoki U oraz V będą mogły działać jednocześnie i niezależnie od siebie. Zastosowanie
tego typu usprawnienia gwarantuje także bezkonfliktową pracę potoków U oraz V.
Wykorzystanie tej techniki przyspieszania jest różne dla różnych modeli i typów
mikroprocesorów. Mikroprocesory Pentium oraz Pentium MMX nie są wcale
wyposażone w dodatkowe rejestry, natomiast mikroprocesor AMD K6 ma ich aż 40.
Przepowiadanie jest techniką, która znajduje wykorzystanie w sytuacjach,
gdzie pojawia się problem z podjęciem wyboru. Innymi słowy wykorzystuje się ją
wtedy, kiedy w kodzie programu wystąpi instrukcja warunkowa. Jak wiadomo podjęcie
dalszych operacji określonych kodem zależy od spełnienia bądź niespełnienia warunku.
Aby rozwiązać ten problem można z większym lub mniejszym prawdopodobieństwem
przewidzieć dalsze instrukcje (ang. Branch Prediction). Inna możliwość zakłada
wykonywanie instrukcji w obydwu kierunkach (Multiple Paths of Execution). Żadne z
podejść nie jest idealne, bowiem prawdopodobieństwo jest zawsze zawarte w przedziale
(0;1) natomiast wykonywanie instrukcji w obu kierunkach jest nieopłacalne dlatego, że
jedna z dróg postępowania jest na pewno błędna. W konsekwencji mikroprocesor
wykonuje szereg niepotrzebnych obliczeń, co istotnie wpływa na szybkość i wydajność
jego pracy. W praktyce mikroprocesory są wyposażane w szybką pamięć podręczną
zwaną także tablicą BTB (ang. Branch Target Buffer), która zbiera informacje o
wykonanych już instrukcjach. Na ich podstawie można przewidzieć jaki będzie dalszy
przebieg programu. Im większy jest rozmiar tablicy BTB tym więcej informacji o
wykonanej części programu można w niej zgromadzić. Zatem i przepowiednia dalszej i
niewykonanej jeszcze części programu jest bardziej trafna. Przykładowo tablica BTB
24
mieszcząca 16 rekordów pozwala na oszacowanie dalszej części programu z 40%
prawdopodobieństwem trafienia. Natomiast tablica mogąca zmieścić 2048 rekordów
daje 87% szans na sukces.
Optymalizacja kodu jest także szeroko stosowanym usprawnieniem. Wymaga
ono jednak sporej wiedzy dotyczącej architektury, a w konsekwencji także cech
konkretnego mikroprocesora. Zastosowanie praktyczne tej techniki przejawia się w
napisaniu kodu programu tak aby wykorzystać silne a jednocześnie ominąć słabe
punkty danego modelu mikroprocesora. Optymalizacji kodu wymagają np.
mikroprocesory typu Pentium gdyż nie posiadają one dodatkowych rejestrów. W efekcie
nie możliwe jest ich przemianowywanie. Zatem jeśli potoki U oraz V przetwarzają
powiązane ze sobą instrukcje, to jeden z potoków oczekuje na wyniki działań z
drugiego. Natomiast optymalizacja kodu pozwala na uniknięcie przerw bądź skrócenie
przestojów w działaniu potoków.
3.3.3.
Dostęp do pamięci
Jak wiadomo mikroprocesor wymaga stałego połączenia z pamięcią
operacyjną. Powodem takiego stanu rzeczy jest fakt, że mikroprocesor pobiera z
pamięci operacyjnej dane oraz instrukcje do wykonania. Po wykonaniu działań
mikroprocesor wysyła ich wyniki z powrotem do pamięci RAM. Tak więc w pamięci
operacyjnej dochodzi do odczytu jak i zapisu danych. Realizacja tych czynności
związana jest z dwoma procesami. Chodzi tu o adresowanie oraz stronicowanie.
Adresowanie polega przede wszystkim na szybkim wyszukaniu odpowiedniej
lokalizacji pamięci. Dane trafiają w odpowiednie miejsce w pamięci operacyjnej.
Następnie są one pobierane i przetwarzane przez mikroprocesor (CPU – Central
Processing Unit). Po wykonaniu na nich wszystkich określonych kodem operacji dane
powracają do pamięci RAM (również pod wskazany adres) skąd są wysyłane na dysk.
Wyniki operacji także są lokowane pod odpowiednimi adresami.
Bardziej nowoczesnym i zaawansowanym procesem jest stronicowanie. Za jego
przyczyną w pamięci operacyjnej znajdują się tylko te dane, które są aktualnie
przetwarzane. Jeśli system operacyjny stwierdzi, że dostarczone dane były przetwarzane
lecz chwilowo nic się z nimi nie dzieje, odsyła je do pliku wymiany (pamięci
wirtualnej). Jest to innymi słowy mówiąc przeadresowanie. W ten sposób zwalnia się
cenne miejsce w pamięci operacyjnej, które można przeznaczyć dla innych danych.
25
Sposób ten jest tzw. jawnym stronicowaniem. Inna i lepsza metoda to stronicowanie
ukryte. Występuje ono również gdy dane, na których akurat trwają operacje, nie są
chwilowo potrzebne. System operacyjny umieszcza tylko w pamięci informacje o
danych lub programach, które powinny się w niej znajdować. W razie konieczności owe
dane lub programy są ładowane z oryginalnie umieszczonych na dysku plików. Widać
stąd, że oczywiście metoda ta nie potrzebuje pliku wymiany. Ponadto oszczędzony jest
tu także czas potrzebny na przesłanie danych do i z pliku wymiany.
3.3.4.
Pamięć Cache
Jak już wiadomo, jednym z rodzajów pamięci jest pamięć Cache. Nazywa się
ją także pamięcią podręczną lub buforem. Mówi się o niej zarówno w odniesieniu do
pamięci operacyjnej jak i w odniesieniu do mikroprocesora. Jeśli chodzi o Cache jako
część pamięci operacyjnej to jej budowa i rola została syntetycznie opisana w
poprzednim rozdziale. Natomiast w kontekście mikroprocesora pamięć Cache jest także
bardzo istotnym elementem jego struktury. W jej skład wchodzą dwa lub trzy bloki
pamięciowe (zależy to od producenta oraz modelu mikroprocesora). Są one następujące:
cache L1 – jest umieszczona wewnątrz mikroprocesora, jej pojemność jest stosunkowo
mała; cache L2 – jest umieszczona na płycie głównej (starsze mikroprocesory) lub
wewnątrz mikroprocesora (Pentium II i nowsze); cache L3 – jest umieszczona na płycie
głównej, stanowi rozszerzenie cache’u L2 w przypadku gdy cache L2 znajduje się we
wnętrzu mikroprocesora. Cache L1, L2 oraz L3 stanowią tzw. kolejne poziomy pamięci
podręcznej. Rola jaką pełni pamięć podręczna jest również bardzo ważna z punktu
widzenia współczesnych mikroprocesorów komputerów PC. Jej największym atutem
jest szybkość, dlatego też wspiera ona działania pamięci głównej RAM i pomaga w
sposób błyskawiczny wykonać najistotniejsze zadania. Uzasadnieniem takiego stanu
rzeczy jest fakt, że w wielu dzisiejszych komputerach osobistych pamięć operacyjna
(główna) jest około dziesięciokrotnie wolniejsza od mikroprocesora. Natomiast Cache
pracuje ze prędkością zbliżoną do prędkości pracy CPU. Zatem gdyby nie pamięć
podręczna, szybko taktujące mikroprocesory byłyby zmuszone do przestojów w swoim
działaniu. W konsekwencji cały komputer pracowałby wolniej. Pamięć Cache ma też
jedna wadę. Jest nią koszt jej produkcji, a w rezultacie i pojemność. Generalnie ze
względów ekonomicznych pamięć typu Cache nie wyparła jeszcze tradycyjnej pamięci
RAM. Jeśli chodzi natomiast o lokalizację pamięci Cache, to występuje ona zawsze na
26
drodze lub przy drodze łączącej mikroprocesor z pamięcią główną RAM. Wyróżnia się
zatem następujące trzy układy: układ konwencjonalny (Look Aside) – wszystkie
elementy są ze sobą połączone (CPU + Cache + RAM); układ Look – Through: CPU
jest połączone tylko z Cache oraz RAM jest połączona tylko z Cache; układ Backside:
RAM jest połączony tylko z CPU oraz Cache jest połączony tylko z CPU. Ostatni
schemat podłączenia pamięci podręcznej jest aktualnie najczęściej spotykany.
3.3.5.
Funkcje kontrolne i sterujące
Jak wiadomo mikroprocesor jest urządzeniem, które spełnienia niebagatelnie
ważną rolę. Szybkość pracy oraz wielość zadań, które mikroprocesor ma do
rozwiązania, wymuszają zastosowanie mechanizmów kontrolnych i sterujących.
Oczywiście jest to zadanie dla twórców, którzy konstruują takowy sprzęt.
Mikroprocesory, które dziś są dostępne na rynku, posiadają właśnie takie mechanizmy.
Generalnie można je podzielić na trzy kategorie: systemy sterowania, systemy śledzenia
i nadzoru oraz systemy diagnostyczne. Na systemy sterowania składają się rejestry
konfiguracyjne. Ich zadanie polega na określeniu aktualnego stanu pracy
mikroprocesora. Rejestry te pozwalają również na dokonywanie zmian w jego
ustawieniach. Drugą kategorię, czyli systemy śledzenia i nadzoru, stanowią przede
wszystkim funkcje, których zadaniem jest śledzenie (debug) od strony sprzętowej
przebiegu wykonywanego programu. Stąd proces ten nazywa się często debugowaniem.
Ponadto do tej kategorii zalicza się również układy, które dokonują pomiarów
wydajności przetwarzania mikroprocesora (performance monitoring), a także układy
mierzące czas (timers). Ostatnia (trzecia) kategoria to systemy diagnostyczne. Stanowią
je układy, których zadaniem jest wykrywanie ewentualnych błędów w pracy
wewnętrznych elementów mikroprocesora.
3.3.6.
Częstotliwość taktowania
Częstotliwość taktowania mikroprocesora ma niebagatelne znaczenie. Wpływa
ona na szybkość wykonywania operacji, a w konsekwencji na ogólną wydajność tego
elementu komputera. Częstotliwość taktowania mikroprocesora jest wielokrotnością
ustawienia częstotliwości zegara magistrali płyty głównej komputera. Dlatego też
ważne jest aby dobrać właściwy mnożnik i dzięki temu uzyskać odpowiednią
częstotliwość taktowania mikroprocesora. Dla przykładu: jeśli dysponujemy magistralą
27
66MHz, a częstotliwość CPU wynosi 200MHz, to oznacza, że należy dobrać mnożnik
x3. Użytkownik ma możliwość ustawienia owego mnożnika, aczkolwiek nie zaleca się
aby czynność tę wykonywały niedoświadczone osoby. Zwiększenie wartości mnożnika
powoduje wymuszenie szybszej pracy mikroprocesora. Jeśli dla danego mikroprocesora
dobrany zostanie zbyt duży mnożnik, to w rezultacie jego częstotliwość może okazać
się większa niż właściwa częstotliwość, o której informuje producent. W takiej sytuacji
może dojść do uszkodzenia nie tylko mikroprocesora ale również innych elementów
składowych komputera.
3.3.7.
Dostarczanie energii
Jak powszechnie wiadomo urządzenia elektroniczne potrzebują w ogóle do
działania energii elektrycznej. Oczywiście podobna sytuacja ma miejsce jeśli chodzi o
mikroprocesory. Wartości napięć, których wymagają współczesne mikroprocesory, są
różne. Zależą one od rodzaju mikroprocesora. Oczywiście prąd jest dostarczany z płyty
głównej poprzez odpowiednią podstawkę (np. Socket 5 lub Socket 7) przeznaczoną dla
mikroprocesora. Odpowiednie napięcie zasilania jest często ustawiane automatycznie,
bowiem współczesne płyty główne są na ogół wyposażone w układy potrafiące
zidentyfikować model podłączonego mikroprocesora. Takie rozwiązanie występuje w
płytach głównych przeznaczonych do pracy z mikroprocesorami Pentium Pro lub
Pentium II. Zdarza się jednak, że użytkownik jest zmuszony do ustawienia
odpowiedniej wartości napięcia zasilania (płyty główne dla mikroprocesorów z rodziny
Pentium oraz Pentium MMX). Należy wtedy bardzo uważać aby nie uszkodzić sprzętu
podając zbyt duże napięcie zasilania. Natomiast zbyt niski poziom napięcia prądu może
spowodować utratę stabilności, ale nie zaszkodzi mikroprocesorowi. Jeśli chodzi o
zużycie energii przez mikroprocesor, to jest ono największe w trakcie przetwarzania
materiału MPEG, a najmniejsze w chwili gdy system czeka na podjęcie decyzji przez
użytkownika. Warto także wspomnieć, iż wielu światowej klasy producentów sprzętu
komputerowego (ASUS, ABIT) projektuje uniwersalne płyty główne. Oznacza to, że
takowa płyta główna może zasilić jeden spośród wielu dostępnych na rynku
mikroprocesorów.
28
3.3.8.
Koprocesor
Koprocesor jest elementem, którego zadanie polega na wspomaganiu pracy
mikroprocesora w obliczeniach numerycznych. Jest to jednostka, która nie potrafi
działać samodzielnie. Ściśle współpracuje ona z mikroprocesorem. Na ogół połączenie
mikroprocesora z koprocesorem jest utożsamiane jako mikroprocesor posiadający
większą liczbę rozkazów, rejestrów oraz typów danych. Działanie koprocesora polega
na wykonywaniu operacji numerycznych, których instrukcje przekazuje mikroprocesor.
W czasie gdy koprocesor wykonuje obliczenia, mikroprocesor wykonuje inne,
określone kodem, instrukcje. Instrukcje przeznaczone dla mikroprocesora są
ignorowane przez koprocesor. Należy zauważyć, iż obecność koprocesora w systemie
jest opcjonalna.
3.3.9.
Rozszerzenia
Współczesne mikroprocesory, dostępne na dzisiejszym rynku sprzętu
komputerowego, są niejednokrotnie wyposażone w tzw. rozszerzenia. Należą do nich:
MMX (MultiMediaeXtention), ISSE (Internet Streaming New Instructions) oraz
3DNow! Pierwsze dwa dotyczą mikroprocesorów produkowanych przez największego
światowego producenta tego sprzętu, czyli firmę Intel. Natomiast trzecie wymienione
rozszerzenie dotyczy mikroprocesorów produkowanych przez największego konkurenta
Intela, czyli firmę AMD. Rozszerzenie ISSE jest ulepszoną technologią MMX i zostało
ono wprowadzone wraz ze skonstruowaniem mikroprocesora Pentium-III. Powodem
stosowania rozszerzeń jest rozwój komputerów w kierunku multimedialnym.
Rozszerzenia te polegają na ulepszaniu mikroprocesorów pod względem
konstrukcyjnym. W mikroprocesorach z owymi rozszerzeniami pojawiają się nowe,
dodatkowe rejestry, rozkazy oraz typy danych. Rozszerzenia wspomagają w głównej
mierze stronę multimedialną. Chodzi tu szczególnie o przetwarzanie obrazów, animacji
3D, projekcji video, dźwięków, a także danych MPEG. W efekcie mikroprocesory
posiadające rozszerzenia szybciej wykonują swoje zadania.
3.4.
Rozwój mikroprocesora na przestrzeni ostatnich lat
W XXw nastąpił ogromny postęp w dziedzinie myśli ludzkiej. Rozwinęła się
przede wszystkim nauka. Opracowane nowoczesne technologie zaczęły coraz śmielej
29
wkraczać do codziennego życia ułatwiając je. Postęp ten dotyczył i dotyczy nadal także
informatyki i komputerów. Jak wiadomo jednym z najważniejszych i niezbędnych
elementów komputera jest mikroprocesor. Postęp w dziedzinie jego tworzenia był i jest
wciąż bardzo widoczny i konieczny. Jest tak, bowiem współczesny rozwój
nowoczesnych technologii wymusza także na producentach mikroprocesorów
poszukiwania nowych metod tworzenia tego typu sprzętu. Zatem jeśli chodzi o rozwój
mikroprocesora w ostatnich latach, to już 1976r firma Intel zaprojektowała 16-bitowy
mikroprocesor 8086, który dysponował przestrzenią adresową rzędu 1MB. Po
dziesięciu latach pojawił się na rynku mikroprocesor 8088 (również 16 bitowy). Jednak
mógł on współpracować z magistralami 8-bitowymi. Był to bardzo popularny
mikroprocesor, a częstotliwość taktowania jego zegara wahała się od 4,77MHz w
pierwszych wersjach aż do 10MHz w ostatnich. Po krótkim czasie Intel skonstruował
mikroprocesory 80186 oraz 80188. Były one zmodernizowanymi wersjami 8086 i 8088.
Zmniejszono rozmiary mikroprocesorów, a także zwiększono liczbę rozkazów w
stosunku do poprzedników. W 1981r na rynku pojawił pierwszy się model
mikroprocesora 80286. Jego zasadniczym atutem była kompatybilność z poprzednimi
mikroprocesorami (8086 lub 8088). Fakt ten oznaczał, że programy przeznaczone do
pracy ze starszymi mikroprocesorami mogły również poprawnie działać we współpracy
z modelem 80286. Inną ważną cechą i nowością dotyczącą tegoż mikroprocesora jest
możliwość pracy w trybie rzeczywistym oraz chronionym. Po kolejnych czterech latach
na rynku ukazał się pierwszy model mikroprocesora 80386. Był to sprzęt 32-bitowy,
który był zdolny do zaadresowania 4GB pamięci fizycznej. Ponadto potrafił on także
pracować w dwóch trybach: rzeczywistym i chronionym (jak model 80286).
Przełączanie trybów nie wymagało tu jednak restartu systemu. W 1989r znów doszło do
przełomu w dziedzinie mikroprocesorów. Na rynku ukazał się mikroprocesor 80486.
Był on ulepszonym modelem 80386. Zmiany, których w nim dokonano były ogromne.
Przede wszystkim mikroprocesor 80486 był został znacznie zmodyfikowany pod
względem konstrukcyjnym. Oprócz minimalizacji rozmiarów mikroprocesora (ścieżka
o szerokości mniejszej od 1
µ
m) po raz pierwszy pojawiło się przetwarzanie potokowe.
Nowością było także zastosowanie pamięci podręcznej – Cache oraz koprocesora, który
wspomagał obliczenia numeryczne. Po kolejnych czterech latach firma Intel
wprowadziła na rynek nowy typ mikroprocesora o nazwie Pentium. Był to także 32-
bitowy sprzęt wyposażony w 16kB pamięci podręcznej. Częstotliwość taktowania
wynosiła w tym przypadku od 75 do 200MHz. Trochę lepszą wydajność miały
30
mikroprocesory Pentium Pro oraz Pentium z rozszerzeniem MMX. Zapewniało ono
lepszą pracę od strony multimedialnej. Podobne parametry prezentowały także
mikroprocesory należące do klasy Pentium, lecz wykonane przez innych producentów.
Chodzi tu o modele K5 i K6 (odpowiednik Pentium MMX) firmy AMD. Należy tu
także mikroprocesor M1 produkowany przez amerykańskiego Cyrix,a oraz WinChip C6
pochodzący z firmy Centaur Technology wchodzącej w skład grupy IDT. Następną
grupę mikroprocesorów tworzyły te należące do grupy zgodnej z Pentium II
wprowadzone na rynek w 1997 i 1998r. Były to również 32-bitowe mikroprocesory.
Należały do nich: Pentium II oraz Celeron, które były produktami firmy Intel, a także
mikroprocesor K6-2 firmy AMD. W tej grupie znalazły się także M2 firmy Cyrix oraz
WinChip 2 z IDT. Częstotliwość taktowania mikroprocesorów tej rodziny wahała się od
225MHz (IDT) do 533MHz (K6-2). Ponadto przedstawiciele tej grupy miały znacznie
rozbudowany Cache w stosunku do mikroprocesorów klasy Pentium. Mikroprocesory
posiadały także instrukcje MMX’owe lub 3DNow! wbudowane w swoją strukturę. Po
kolejnych dwóch latach Intel wprowadził na rynek nowy typ mikroprocesora o nazwie
Pentium III oraz Celeron III. Jego odpowiednikiem ze strony firmy AMD był
mikroprocesor K6-III. Odpowiednik ze strony Cyrix’a to ViA Cyrix III. Częstotliwość
taktowania mikroprocesorów w tej klasie wahała się od 450MHz do nawet 1,4GHz (w
zależności od gniazda, na którym osadzony był mikroprocesor). Mikroprocesory tej
grupy zostały wzbogacone o nowe instrukcje dla strony multimedialnej (obróbka obrazu
3D, video i dźwięków).
Powyższa uproszczona analiza pokazuje szybkość i wielkość postępu
dotyczącego mikroprocesorów. W każdej z wyżej wymienionych klas systematycznie
zmniejszała się szerokość ścieżki wewnątrz mikroprocesora, czyli technologia jego
wykonania. Wynosiła ona np. 0,35
µ
m w mikroprocesorze AMD K6 lub 0,18
µ
m w
mikroprocesorze AMD Athlon. Zwiększał się także rozmiar pamięci podręcznej –
Cache. Wzrastała systematycznie liczba nowych instrukcji oraz częstotliwość
taktowania zegara. Widać więc, że mikroprocesory posiadały coraz lepsze parametry
(nie tylko te podstawowe ale również pozostałe!) i osiągały coraz lepsze wyniki. Proces
unowocześniania i polepszania trwa nieustannie po dziś dzień i ma on charakter
wyścigu pomiędzy największymi, światowymi producentami mikroprocesorów. W
dalszej części pracy okaże się jaka jest dzisiejsza sytuacja na rynku współczesnych
mikroprocesorów.
31
3.5.
Przykłady mikroprocesorów aktualnie dostępnych na rynku – porównanie
Obecnie dostępnych jest na rynku wiele różnych modeli mikroprocesorów. Są to
mikroprocesory tzw. siódmej generacji. Jak już wiadomo z wcześniejszych rozważań,
najwięksi światowi producenci takowego sprzętu to firmy Intel oraz AMD.
Mikroprocesory, które zostały skonstruowane przez te firmy to: różne wersje Pentium 4
ze strony Intela oraz różne wersje Athlona (a także jego pochodnej czyli Durona) ze
strony AMD. W tabeli „Porównanie mikroprocesorów” przedstawionych zostało kilka
informacji o jednym, bardzo dziś popularnym, przedstawicielu każdej z firm.
Tabela 1 Porównanie mikroprocesorów
Cecha
Intel Pentium 4
AMD Athlon XP
Generacja
7
7
Typ
32-bitowy
32-bitowy
Architektura
CISC
CISC
Magistrala systemowa
800 MHz lub 533 MHz lub
400 MHz
200MHz
Częstotliwość taktowania
W zależności od magistrali:
2,4 – 3,6GHz przy
magistrali 800MHz;
1,3 – 2,8GHz przy magistralach:
533 i 400MHz
1333MHz – 2200MHz
Rozmiar pamięci podręcznej
L1 – 8kB; L2 – 256kB
L1 – 8kB; L2 – 512kB
Wbudowane rozszerzenia
SSE – zestaw instrukcji
przyspieszających przetwarzanie
grafiki (gł. 3D), video oraz
dźwięków
SSE – zestaw instrukcji
przyspieszających przetwarzanie
grafiki (gł. 3D), video oraz
dźwięków
Gniazdo komunikujące
mikroprocesor z płytą główną
Socket 423 lub Socket 478
Socket A
Dodatkowe funkcje
Hyper-Threading – komputer
zachowuje się jak maszyna
wieloprocesorowa. Opcja ta
występuje tylko w wersjach
powyżej 3GHz
-
Oczywiście nie są to wszystkie możliwe dane dotyczące tych przykładowo
wybranych mikroprocesorów. Niemniej jednak już tutaj można zauważyć pewne
różnice. W ich konsekwencji wydajność tych mikroprocesorów jest różna. Zależy ona
także od tego jakie są zadania do wykonania.
32
Jeśli natomiast chodzi o mikroprocesory aktualnie produkowane przez te firmy
to jest to już sprzęt ósmej generacji. Przedstawiciele to: Prescott ze strony Intel’a oraz
Athlon 64 z rodziny AMD. Częstotliwość taktowania tych mikroprocesorów to min.
2GHz – Athlon 64, natomiast Prescott jest wyposażony w zegar taktujący z
częstotliwością min. 3,4GHz i posiada magistralę 800MHz. Niemniej jednak te
mikroprocesory nie są jeszcze bardzo popularne jak modele wymienione powyżej.
Powodem jest zapewne jeszcze zbyt wysoka cena.
Z powyższych rozważań widać, że mikroprocesor jest bardzo ważnym elementem
zestawu komputerowego. W istotny sposób wpływa on na jego poprawne i wydajne
działanie. Zatem odpowiedni jego dobór w stosunku do pozostałych elementów zestawu
komputerowego zapewni użytkownikowi komfortowe warunki pracy z komputerem.
33
4. Wizja rozwoju mikroprocesora w związku z obecnym stanem
techniki oraz współczesnym postępem technologicznym
Treści niniejszego rozdziału będą się skupiać dookoła przyszłości w dziedzinie
rozwoju mikroprocesorów. W poprzednim rozdziale ukazana została budowa
współczesnego mikroprocesora, a także jego rola i zasada działania. Dokonany został
również krótki zarys historyczny dotyczący rozwoju mikroprocesora w ostatnich latach,
a także zostały porównane ze sobą dwa wybrane mikroprocesory konkurujących za sobą
firm. Wszystkie te informacje pozwolą na dokonanie prognozy postępu z dziedzinie
konstruowania mikroprocesorów.
4.1.
Ocena obecnej sytuacji dotyczącej mikroprocesorów
Ubiegłe lata pokazały, iż rozmiar postępu w dziedzinie mikroprocesorów był i
jest nadal bardzo duży. Oczywiście jest on uwarunkowany wieloma czynnikami.
Wymienić tu przede wszystkim należy rozwój techniki. Szczególnie ważna jest rola
elektroniki. Coraz lepsze surowce i coraz nowsze metody ich przetwarzania są
poszukiwane właśnie po to, aby konstruować z nich nie tylko mikroprocesory, ale
również inne urządzenia. Wiadomym jest fakt, że chodzi o to, aby te konstrukcje
powstawały jak najszybciej, jak najtaniej, przy zachowaniu najwyższej jakości produktu
finalnego. Inny ważny dziś czynnik to stan światowej gospodarki. Ogromne fabryki,
średnie i małe przedsiębiorstwa w mniejszym lub większym stopniu korzystają z
pomocy różnorakich maszyn zarządzanych przez komputer. Tak więc znów widać, że
komputer wyposażony w solidny mikroprocesor jest coraz bardziej niezbędnym
narzędziem wykorzystywanym w codziennej pracy. Innym istotnym czynnikiem
mogącym się przyczyniać do rozwoju mikroprocesorów (a zatem także dzisiejszego ich
stanu) jest sektor wojskowy. Konstruowanie coraz wymyślniejszych systemów
obronnych i zabezpieczających państwa od strony militarnej wymusza postęp nauki,
techniki i nowoczesnych technologii. Mikroprocesory zarządzające komputerami w
bazach wojskowych są na pewno o wiele bardziej niezawodne od tych, które są
stosowane w innych okolicznościach. Ich zadania są na tyle istotne, że jakość, którą te
mikroprocesory muszą prezentować, musi być na najwyższym możliwym światowym
poziomie. Kolejny czynnik wymagający postępu w konstrukcji mikroprocesorów wiąże
się ze zdrowiem i medycyną. Urządzenia elektroniczne będące na wyposażeniu szpitali
34
posiadają również mikroprocesory, które sterują tym sprzętem. Jakość i potrzeba
niezawodności zastosowanych mikroprocesorów jest tutaj również sprawą priorytetową.
Względy są oczywiste, bowiem konsekwencje doboru sprzętu, który nie jest możliwie
najlepszy mogłyby być tragiczne. Ostatnim ważnym czynnikiem, który wymusza
rozwój mikroprocesorów (choć już w mniejszym stopniu) jest potrzeba indywidualnych
użytkowników. Komputery osobiste służą bowiem zwykłym mieszkańcom naszego
globu do celów edukacyjnych. Uprzyjemniają również wolny czas. Mikroprocesory
stosowane w komputerach osobistych muszą sprostać coraz większym wymaganiom
dostępnych aplikacji. Chodzi tu głównie o aplikacje multimedialne. Widać więc, że
rozwój mikroprocesora jest konieczny, gdyż jego zastosowań można dzisiaj dopatrzyć
się na wielu istotnych płaszczyznach ludzkiego życia.
4.2.
Próba określenia kierunku, szybkości oraz strategii rozwoju
mikroprocesora
Jak już wcześniej zauważyliśmy szybki rozwój nauki znajduje odzwierciedlenie
w codziennym życiu setek milionów ludzi na całym naszym globie. Innymi słowy
mówiąc jesteśmy coraz bardziej uzależnieni od efektów, jakie niesie za sobą postęp.
Praca wykonywana niegdyś ręką człowieka staje się coraz mniej efektywna i potrzebna.
Jest tak, bowiem nasze codzienne życie staje się coraz mniej zależne tylko od nas
samych. Powodem jest fakt, iż wiele zwykłych, prozaicznych czynności wykonują za
nas różnorakie maszyny. Dziś trudno przecież sobie wyobrazić zakład produkcyjny
niewyposażony w specjalistyczne urządzenia służące do wyrobu jakiegoś produktu.
Również współczesne gospodarstwo domowe nie jest pozbawione np. lodówki bądź
pralki. Coraz częściej w naszych domach pojawiają się również komputery. Wszystkie
urządzenia elektroniczne, bez względu na ich przeznaczenie, posiadają mikroprocesor.
Jego zadaniem jest sterowanie sprzętem (nie tylko komputerem!!!), w którym się on
znajduje. Pełni on także funkcję kontrolną nad pracą owego sprzętu. W związku z
faktem, że nauka rozwija się obecnie bardzo szybko, można się spodziewać, że również
rozwój samego mikroprocesora będzie bardzo prężny. Coraz większa mechanizacja
wszystkich sfer życia człowieka oraz rozwijająca się gospodarka światowa skłania
twórców mikroprocesorów do tego, aby urządzenia te były wciąż lepsze i lepsze.
Chodzi przede wszystkim o jak największą niezawodność sprzętu. Zadaniem twórców
jest, i prawdopodobnie nadal będzie, konstruowanie takich mikroprocesorów, których
35
praca byłaby narażona na ewentualne występowanie błędów w stopniu minimalnym.
Ważnym czynnikiem jest także prędkość wykonywania zadanych instrukcji. Im szybciej
mikroprocesor będzie w stanie wykonać swoje zadania, tym oczywiście lepiej. Tak więc
widać, że w dobie wielkiego postępu technologicznego, który wciąż obserwujemy,
istotne (z punktu widzenia twórców mikroprocesorów) będzie budowanie jak
najbardziej niezawodnych i przy tym najszybszych mikroprocesorów. To właśnie
wysoka wydajność, która wynika z niezawodności i szybkości działania, będzie
prawdopodobnie priorytetowym celem w tworzeniu coraz nowszych mikroprocesorów.
Aby takowy rozwój mikroprocesorów był w ogóle możliwy potrzeba dalszego rozwoju
także innych dziedzin. Chodzi głównie o chemię, która poszuka odpowiednich
materiałów do budowy mikroprocesora. Niezmiernie ważne są także zależności
fizyczne, które określą sposób jego działania. Tak więc widać, że rozwój
mikroprocesora jest silnie związany i zależny od rozwoju nauki. Kierunek rozwoju dość
ciężko sprecyzować. Mikroprocesor jest elementem wielu różnych urządzeń, a zatem
będzie się on prawdopodobnie rozwijał na wielu płaszczyznach. Charakter jego postępu
będzie wymuszany pojawiającymi się potrzebami. Prawdopodobnie również rozwój
mikroprocesora będzie nadal bardzo szybki (przynajmniej taki, jak w ostatnich kilku
latach). Jeśli chodzi o strategię rozwoju mikroprocesora, to także trudno ją przewidzieć.
Przypuszczalnie najwięksi światowi producenci tego sprzętu będą się starali
konstruować mikroprocesory jak najbardziej wydajne i wymagające przy tym
minimalnej ilości energii potrzebnej do działania. Ważnym aspektem będzie także
dalsza miniaturyzacja.
Istotą tego rozdziału była, krótka analiza obecnej sytuacji w dziedzinie
mikroprocesorów. Na podstawie zebranych informacji oraz wiadomości historycznych
dotyczących rozwoju mikroprocesora udało się wysunąć prognozę dalszego
(przyszłościowego) jego postępu. Natomiast jak będzie naprawdę, na ile prognoza jest
trafna, okaże się prawdopodobnie już w najbliższej przyszłości. Czas pokaże co będzie
dalej...
36
5. Podsumowanie
Treści niniejszej pracy licencjackiej skupiły się przede wszystkim na
mikroprocesorze. Omówiona została, w sposób uproszczony, jego budowa. Poruszone
także zostały kwestie dotyczące roli jaką pełni to urządzenie. W sposób dość
syntetyczny przedstawiona została również zasada działania mikroprocesora. W pracy
znalazły się także informacje dotyczące historii rozwoju, jak i aktualnej sytuacji
dotyczącej tegoż urządzenia. Celem tej pracy było również podkreślenie ważności
mikroprocesora, dlatego też w pierwszym rozdziale znalazły się informacje o
„naturalnym środowisku” jego występowania. Zatem omówiona została także budowa
oraz rola urządzeń, które wraz z mikroprocesorem tworzą współczesny komputer. Nim
jednak do tego doszło przedstawione zostały wiadomości historyczne z zakresu
matematyki, informatyki oraz techniki od czasów starożytnych aż po współczesność.
Wszystko po to, aby uwidocznić postęp naukowy. Informacje zgromadzone w rozdziale
pierwszym oraz drugim posłużyły do próby ustalenia prognozy dalszego rozwoju w
dziedzinie mikroprocesorów. Szczególnie ważne było określenie kierunku i szybkości
rozwoju mikroprocesora. Niemniej istotnym zagadnieniem, które niestety bardzo trudno
było precyzyjnie omówić, jest strategia rozwoju tego urządzenia. Problem tkwi tutaj w
nieznajomości zamiarów największych światowych producentów mikroprocesorów.
Sprawa dalszej strategii rozwoju takiego sprzętu jest wciąż otwarta i
najprawdopodobniej potrzeba rynku ją wymusi. Niemniej jednak już dziś widać, że
ludzkość XXIw jest bardzo uzależniona od komputerów (a zatem także od
mikroprocesorów!). Pozwala to stwierdzić, że mający miejsce postęp naukowy na
pewno nie ulegnie zahamowaniu. Jego owocami powinny być coraz bardziej
niezawodne i coraz szybsze mikroprocesory, komputery, a także inne urządzenia służące
każdemu człowiekowi w trudach jego codziennego życia.
37
6. Literatura
[1]
P. Metzger, Anatomia PC, Wydawnictwo Helion, Gliwice 2001.
[2]
http://www.phys.uni.torun.pl/~duch/
– Strona Wydziału Fizyki, Astronomii i
Informatyki stosowanej UMK w Toruniu.
[3]
http://historia.adrem.pl/chrono.php3
– Strona poświęcona historii rozwoju
komputera.
[4]
http://www.budowakomputera.konin.lm.pl/
komputera.
[5]
http://sjp.pwn.pl/haslo.php?id=32269
– wyjaśnienie pojęcia „mikroprocesor” w
Słowniku Języka Polskiego (Wydawnictwo Naukowe PWN SA).
[6]
http://swo.pwn.pl/haslo.php?id=17739
– wyjaśnienie pojęcia „mikroprocesor” w
Słowniku Wyrazów Obcych (Wydawnictwo Naukowe PWN SA).
38