A K wyklad6 StrukturaSystemuKomputerowego2 2011B


Architektura
Architektura
procesorów
procesorów
Zgodnie z marzeniem poety komputer
trafił także pod strzechy...
Architektura komputera von Neumana
Moja koncepcja
obowiązuje do
dzisiaj.
John von Neumann (1903 - 1957), inżynier chemik, fizyk, matematyk
i informatyk. Wniósł znaczący wkład do wielu dziedzin matematyki,
szczególnie teorii gier i uporządkował formalizm matematyczny mechaniki
kwantowej. Uczestniczył w projekcie Manhattan. Przyczynił się do rozwoju
numerycznych prognoz pogody.
Struktura systemu komputerowego
Za datę pojawienia się pierwszego komputera przyjmuje się 26 czerwca 1947 roku.
Pojawiła się wtedy lampowa maszyna licząca firmy IBM nazwana ENIAC (electronic numeri-
cal integrator and computer). Pod koniec trwających osiem lat prac, w roku 1946, John von
Neumann zaprezentował logiczny model komputera - tak trafny, że znajduje potwierdzenie w
konstrukcjach tworzonych ponad pół wieku po wprowadzeniu ENIAC-a.
Główną cechą modelu von Neumanna jest program, czyli zbiór rozkazów opisujących
kroki, jakie należy wykonać w zadanej kolejności. Program jest zapisany w pamięci kompute-
ra, wraz z danymi, które są przetwarzane za pomocą rozkazów. Sekwencyjnym pobieraniem z
pamięci i interpretacją rozkazów zajmuje się jednostka sterująca.
Wykonanie rozkazu polega często na pobraniu z pamięci danych, przetworzeniu ich i
zapisaniu wyniku z powrotem do pamięci. Dlatego każdy rozkaz musi zawierać zarówno ope-
rację do wykonania, jak i położenie danych w pamięci, których on dotyczy.
Operacje wykonywane są przez jednostkę arytmetyczno-logiczną ALU (z ang. arithmetic
and logic unit). ALU wraz z jednostką sterującą (control unit) wchodzą w skład jednostki cen-
tralnej zwanej CPU (central processing unit).
Do wymiany informacji z pamięcią niezbędne są urządzenia wejściowe i wyjściowe. Ste-
rowanie przepływem informacji i wykonywaniem rozkazów odbywa się za pomocą linii steru-
jących.
CPU
ALU
linia
sterująca
Jednostka
sterująca
Urządzenie Urządzenie
wejściowe wyjściowe
Tutaj są
Pamięć
rozkazy
przechowywane
program i dane
i dane
Rysunek 1. Architektura komputera na przykładzie modelu Johna von Neumanna.
Kolejne rozważania wyjaśnią związek elementów logicznych modelu von Neumanna z fizycz-
nymi komponentami komputera.
Rys. 2. Schemat blokowy komputera o architekturze trójmagistralowej
SYSTEM MIKROPROCESOROWY
SYSTEM MIKROPROCESOROWY
Liczba linii wyznacza możliwości
Liczba linii wyznacza możliwości
adresowania np. liczba linii 20 to
adresowania np. liczba linii 20 to
można zaadresować 220
można zaadresować 220
komórek
komórek
SZYNA ADRESOWA
SZYNA ADRESOWA
Liczba linii określa długość
Liczba linii określa długość
SZYNA DANYCH
SZYNA DANYCH
słowa procesora (8, 16, 32, ....
słowa procesora (8, 16, 32, ....
(+biyt detekcji i korekcji błędów)
(+biyt detekcji i korekcji błędów)
SZYNA STEROWANIA
SZYNA STEROWANIA
Kilkanaście (kilkadziesiąt) linii
Kilkanaście (kilkadziesiąt) linii
UKAADY
UKAADY
PROCESOR PAMIC
PROCESOR PAMIC
WE/WY
WE/WY
ZEGAR
ZEGAR
DANE
DANE
PROGRAMY ...
PROGRAMY ...
WYNIKI
WYNIKI
Centralna jednostka
Centralna jednostka
przetwarzająca (CPU) URZ.
przetwarzająca (CPU) URZ.
MONITORY, DRUKARKI,
MONITORY, DRUKARKI,
ZEWN.
ZEWN. CZYTNIKI,...
CZYTNIKI,...
Uniwersalny układ
Uniwersalny układ
UŻYTKOWNIK
UŻYTKOWNIK
przetwarzający informację i
przetwarzający informację i
sterujący pracą pozostałych
sterujący pracą pozostałych
elementów systemu
elementów systemu
Operacje sprzętowe w komputerze:
odczyt z pamięci programu do procesora,
odczyt z pamięci danych do procesora,
zapis danych z procesora do pamięci danych,
odczyt z układów wejścia-wyjścia do procesora,
zapis danych z procesora do układów wejścia-wyjścia,
bezpośredni odczyt z pamięci danych przez układy wejścia-wyjścia (ang. direct memory access,
DMA),
bezpośredni zapis do pamięci danych przez układy wejścia-wyjścia (ang. direct memory access,
DMA),
operacje na rejestrach wewnętrznych procesora,
obsługa przerwań.
Elementy składowe komputera:
Szyna, magistrala (ang. bus) - wiązka przewodów lub zespół ścieżek na płytce obwodu druko-
wanego, do wzajemnej komunikacji pomiędzy elementami komputera. W definicji szyny,
prócz samych przewodów sygnałowych, mieści się ściśle zdefiniowany protokół, precyzujący
zbiór komunikatów. Przykłady standardów szyn: ISA, PCI, SCSI, PCMCIA.
Jednostka centralna (ang. central processing unit, CPU) - element komputera, który pobiera i
wykonuje rozkazy. Składa się z jednostki arytmetyczno-logicznej, jednostki sterującej, reje-
strów, dekodera rozkazów. W przypadku komputerów jednoprocesorowych oznacza po prostu
procesor. Natomiast jeśli mówimy o komputerze wieloprocesorowym, CPU oznacza wszystkie
procesory.
Pamięć danych (ang. data memory)  pamięć do zapisu i odczytu przeznaczona do
przechowywania danych.
Pamięć programu (ang. program memory)  pamięć do odczytu przeznaczona do
przechowywania kodu programu.
Układ wejścia-wyjścia (ang. input-output circuit, I/O) - element komputera, służący do
wymiany informacji między komputerem a urządzeniem zewnętrznym.
PRZETWARZANIE INFORMACJI
PRZETWARZANIE INFORMACJI
Wszelkie procesy zamierzonego przetwarzania
Wszelkie procesy zamierzonego przetwarzania
informacji przebiegają według ustalonego algorytmu
informacji przebiegają według ustalonego algorytmu
DANE PROCES WYNIKI
POCZTKOWE PRZETWARZANIA KOCCOWE
ALGORYTM
Przetwarzanie informacji można zrealizować dwoma
Przetwarzanie informacji można zrealizować dwoma
sposobami:
sposobami:
Specjalizowany układ cyfrowy
Specjalizowany układ cyfrowy
SPECJALIZOWANY
WYNIKI
DANE WYNIKI
DANE
UKAAD CYFROWY
System mikroprocesorowy (maszyna cyfrowa)
System mikroprocesorowy (maszyna cyfrowa)
PROGRAM MASZYNA
PROGRAM
WYNIKI
WYNIKI
CYFROWA
DANE
DANE
" Układ arytmetyczno logiczny (+-*/ &etc.)
" Rejestry  8, 16, 32, 64 bitów
" Szyna danych
" Szyna adresowa
" Zegar
PRCESOR BUDOWA
I DZIAAANIE
Procesor
Procesor
Producenci procesorów
" INTEL
Podstawowe parametry procesora:
" AMD
" częstotliwość taktowania
" Motorola
" rozmiar magistrali danych
" Cyrix
" IDT, Rise, Transmeta,
" pamięć podręczna ( typu Cache)
VIA, NEC
INTEL
Proc eso r
" 8008, 8080, 80286
C PU
" 80386, 80486,
Magistrala
(s zyna da nyc h)
" Pentium I, II, III, IV,
(szyna adresowa)
(szyna sterująca)
AMD
" Am486
" K5, K6,
" Athlon, Duron,
Palomino
Procesor
Kamieniem milowym, który przybliżył ludzkość do dzisiejszych procesorów taktowanych
zegarem 4 GHz było wynalezienie w 1948 roku przez Bell Laboratories elektronicznego prze-
łącznika  tranzystora. Zastąpił on wykorzystywaną wcześniej lampę elektronową, która po-
dobnie jak tranzystor pozwalała sterować przepływem prądu bez konieczności poruszania czę-
ści mechanicznych. Miał jednak tę przewagę, że był mniejszy, pobierał mniej energii, nie roz-
grzewał się, był tańszy w produkcji i mniej zawodny.
Płytka krzemowa
bramka
(12 cali, ~300mm)
n+ n+
zródło dren
podłoże p-Si
.
Tranzystor MOS
Struktura,  chip
Przyrząd, element
(~ 1.5 cm2)
 device
np. tranzystor MOS
(rozmiary < 100nm)
Następny krok w kierunku budowy dzisiejszego komputera wykonała firma Texas In-
struments tworząc w roku 1959 pierwszy układ scalony  czyli 6 tranzystorów w jednej nie-
rozbieralnej obudowie. Z owych pierwszych kości budowano złożone układy logiczne.
Miano mikroprocesora przypadło czterobitowemu układowi 4004 firmy Intel, która w ro-
ku 1971 połączyła wiele układów scalonych w jednej zwartej obudowie.
Budowa
Dzisiejsze procesory składające się z milionów tranzystorów budowane są z materiałów o
specjalnych właściwościach elektrycznych (przewodzenie prądu elektrycznego tylko pod pew-
nymi warunkami)  półprzewodników.
Obecnie powszechnie wykorzystywany jest krzem, rzadziej arsenek galu (GaAs). Krzem
jest ciągle materiałem bezkonkurencyjnym: jest bardzo tani i powszechny (zwykły piasek to
dwutlenek krzemu), a jednocześnie potrafi tworzyć bardzo regularne struktury krystaliczne o
średnicy nawet 30 centymetrów.
Kryształy cięte są na cienkie (poniżej 1 mm grubości) plasterki, a następnie obrabiane
chemicznie i polerowane. Z jednego krążka o średnicy ok. 20 cm (8 cali) powstaje kilkadziesiąt
procesorów  każdy zajmuje powierzchnię rzędu 100 mm kwadratowych (to co możemy wziąć
do ręki jest to opakowany w twardą obudowę tzw. chip wyposażony w wiele wyprowadzeń).
Miliony tranzystorów wytwarzane są poprzez napylanie na warstwę krzemu cieniutkich
warstw metali i światłoczułych substancji. Następnie płytka naświetlana jest przez odpowied-
nią maskę. Maska zawiera kształty połączeń elektrycznych pomiędzy poszczególnymi tranzy-
storami (obecnie poniżej 0.18 mm grubości) oraz elementów, które po połączeniu z kształtami z
innych warstw utworzą tranzystory. Elementy warstwy, które zostały nie naświetlone (prze-
słonięte maską) zostają wypłukane w kąpieli chemicznej.
Rysunek 3. Krążek krzemu (w specjalnym uchwycie) zawierający dziesiątki układów
Współczesne procesory potrafią się składać z kilkunastu kolejno aplikowanych warstw.
Technologia używana do tworzenia procesorów nazywana jest CMOS (complementary metal
oxide semiconductor) i wykorzystuje bramki oparte na tranzystorach unipolarnych (opartych
na półprzewodnikach domieszkowanych dodatnio lub ujemnie).
Starsze procesory (np. model 8088 Intela) wykonywane były w technologii NMOS (zawie-
rały więc jedynie tranzystory unipolarne oparte na półprzewodnikach domieszkowanych
ujemnie). Intel próbował używać także technologii bipolarnej (BiCMOS) w procesorze Pen-
tium i Pentium Pro, ale już w modelu Pentium MMX powrócono do technologii CMOS.
Po pocięciu plastrów krzemowych na pojedyncze układy następuje wstępne testowanie i
eliminacja wadliwych procesorów (np. ze względu na wady struktury krystalicznej płytki
krzemowej). Następnie układy pakowane są w sztywne plastikowe obudowy, które zapewniają
im ochronę mechaniczną, odprowadzanie ciepła i możliwość wyprowadzenia nawet setek tzw.
nóżek (obecnie stosuje się także całe płytki zawierające pomocnicze układy, np. pamięci pod-
ręcznej zamiast oddzielnej obudowy).
Ostatnim elementem produkcji procesora są końcowe testy i wyznaczenie prędkości tak-
towania: np. procesory Intel Pentium 133 MHz i 150 MHz są identyczne  te ostatnie po prostu
lepiej wypadały w testach wyższych prędkości.
Wraz ze wzrostem prędkości taktowania procesora maleją jego rozmiary i niestety wzra-
sta wydzielanie ciepła (procesor ma bardzo małą sprawność energetyczną  potrzebuje mało
energii na zmianę stanów elektrycznych tranzystorów, a jeśli ilość operacji na sekundę
wzrasta, wzrasta też moc cieplna emitowana przez układ). Dlatego dąży się do obniżenia
napięcia zasilania procesora (od 5 V dla procesora 486 do 2.8 V dla Pentium II) oraz stosuje
wymyślne układy chłodzące (radiatory, wentylatory a nawet ogniwa Peltiera).
Rysunek 4. Porównanie budowy procesorów Intel 286 (1982 r. ) &
Rysunek.5 & i Pentium III (1999 r.)
Wnętrze Codre Duo.
80 rdzeniowy procesor INTELA
Budowa procesora
PROCESOR stanowi główny element
komputera, jest odpowiedzialny za
przetwarzanie informacji.
Budowa procesora
" Układy sterujące odpowiadają za dostarczenie
arytmometrowi danych do obliczeń z pamięci
Układy sterujące
operacyjnej, oraz przekazywanie wyników
obliczeń z powrotem do pamięci oraz właściwą
Arytmometr kolejność przetwarzania
" W arytmometrze odbywają się wszystkie
Rejestry
obliczenia realizowane przez komputer.
" W rejestrach procesora przechowuje się
adresy wybranych miejsc pamięci operacyjnej
oraz dane i wyniki obliczeń
Elementy składowe procesora:
Rys. 6. Ogólna struktura procesora
Jednostka arytmetyczno-logiczna zwana również arytmometrem (ang. arithmetic and
logic unit), część procesora wykonująca podstawowe operacje arytmetyczne i logiczne, pobie-
rającą argumenty działań z rejestrów procesora lub z pamięci oraz określająca znaczniki w re-
jestrze stanu procesora.
Typowe operacje wykonywane przez ALU:
suma logiczna OR (funkcja alternatywy),
iloczyn logiczny AND (funkcja koniunkcji),
różnica symetryczna EX-OR (funkcja różnowartościowości),
negacja NOT,
dodawanie i odejmowanie arytmetyczne liczb dwójkowych i dziesiętnych w kodzie BCD (ang. bina-
ry coded decimal),
porównywanie dwóch liczb,
przesunięcia i rotacje,
mnożenie i dzielenie arytmetyczne liczb dwójkowych i dziesiętnych w kodzie BCD.
Typowe znaczniki (flagi) ustawiane w wyniku operacji:
zera (ang. zero, Z),
znaku (ang. sign, S),
parzystości (ang. parity, P),
przepełnienia (ang. overflow, OV),
przeniesienia (ang. carry, C),
przeniesienia połówkowego (ang. auxiliary carry, AC).
Jednostka sterująca (ang. control unit) - część procesora, która zapewnia przebieg opera-
cji zdefiniowanej kodem rozkazu, steruje przenoszeniem danych wewnątrz procesora oraz
wymianą danych i sygnałów sterujących poprzez magistrale zewnętrzne.
Dekoder rozkazu (ang. instruction decoder)  dekoder tłumaczący kod rozkazu na mikro-
rozkazy realizowane przez układy wewnętrzne procesora.
Rejestr (ang. register)  część procesora przechowująca dane lub adres.
Podstawowe rejestry procesora:
akumulator (ang. accumulator, A, ACC),
rejestry robocze (ang. general purpose registers),
licznik rozkazów (ang. program counter, PC),
wskaznik stosu (ang. stack pointer, SP),
rejestr stanu (wskazników, flag) (ang. flag register, F, program status word, PSW),
rejestr rozkazów (ang. instruction register, IR),
pamięć podręczna (ang. cache memory),rejestry buforowe danych i adresu (ang. buffer regi-
sters).
KONCEPCJA PAMICI PODRCZNEJ
KONCEPCJA PAMICI PODRCZNEJ
(CACHE)
(CACHE)
Przypomnijmy:
Przypomnijmy:
" pamięci statyczne są szybsze, droższe, pobierają więcej energii i są
" pamięci statyczne są szybsze, droższe, pobierają więcej energii i są
trudniejsze do scalania
trudniejsze do scalania
" pamięci dynamiczne są wolniejsze, tańsze, pobierają mniej energii i są
" pamięci dynamiczne są wolniejsze, tańsze, pobierają mniej energii i są
łatwiejsze do scalania
łatwiejsze do scalania
Wniosek 1: nie jest możliwe zbudowanie całej pamięci operacyjnej z pamięci
Wniosek 1: nie jest możliwe zbudowanie całej pamięci operacyjnej z pamięci
statycznych, a pamięci dynamiczne są za wolne dla współczesnych
statycznych, a pamięci dynamiczne są za wolne dla współczesnych
procesorów i częstotliwości zegara
procesorów i częstotliwości zegara
Wniosek 2: wprowadza się dużą pamięć operacyjną (rzędu kilka GB)
Wniosek 2: wprowadza się dużą pamięć operacyjną (rzędu kilka GB)
zbudowaną z pamięci dynamicznych i małą (kilka kilkaset kB)
zbudowaną z pamięci dynamicznych i małą (kilka kilkaset kB)
pamięć podręczną - statyczną - znacznie szybszą (wraz ze
pamięć podręczną - statyczną - znacznie szybszą (wraz ze
sterownikiem)
sterownikiem)
Wniosek 3: dwa rodzaje architektury:
Wniosek 3: dwa rodzaje architektury:
" Look-trough ( dostęp przez )
" Look-trough ( dostęp przez )
" Look-aside ( dostęp bezpośredni )
" Look-aside ( dostęp bezpośredni )
" Back-side ( dostęp od tyłu )
" Back-side ( dostęp od tyłu )
Pamięć podręczna
Cache to podręczna pamięć procesora. Charakteryzuje się wyjątkowo krótkim
czasem dostępu. Jest ona używana do przechowywania danych, które będą
w niedługim czasie przetwarzane. Rozróżniamy dwa rodzaje pamięci Cache:
" Pierwszego poziomu (Cache L1) zintegrowana z
procesorem z którym porozumiewa się z
częstotliwością równą częstotliwości
wewnętrznej procesora, Tego typu pamięć ma
zwykle pojemność od 16 do 64 KB.
Pamięć
" Drugiego poziomu (Cache
Cache
L2) znajdująca się zwykle na
płycie głównej gdzie z
procesorem porozumiewa się
Kontroler
z częstotliwością taktowania
CPU Cache
zewnętrznego. W
nowoczesnych komputerach
jej pojemność wynosi zwykle
Pamięć podręczna
Pamięć
512, a czasem nawet 1024 KB.
wspomaga pamięć główną
Działanie
Poniższy przykład ilustruje działanie procesora za pomocą modelowego 8-bitowego układu,
programowanego przy pomocy specjalnego języka programowania (język programowania ni-
skiego poziomu odwołujący się bezpośrednio do pamięci i rejestrów procesora nosi nazwę As-
sembler).
Trójprzełącznik
Rejestr C
Zegar
Reset
ALU
Arithmetic/Logic Test Dekoder
instrukcji
Unit
Trójprzełącznik
Rejestr A Rejestr B
Rejestr
instrukcji
Rejestr
Licznik
adresowy
Trójprzełącznik Trójprzełącznik
Trójprzełącznik Trójprzełącznik
Wyjście Wejście
danych danych
Odczyt
Szyna
Szyna
danych
adresowa Zapis
Rysunek 7. Uproszczony schemat modelowego mikroprocesora.
Procesor, który pokazuje Rysunek zawiera to, co zawiera każdy prawdziwy układ, choć jest
od nich dużo, dużo bardziej uproszczony. Tak więc znajduje się w nim:
szyna adresowa (w rzeczywistości 8, 16, 32, a nawet 64 bitowa)  grupa ścieżek przewo-
dzących, pozwalająca na równoległe przesyłanie danych, która przekazuje adres w pamięci,
z którego procesor chce pobrać informacje, lub pod którym chce je umieścić
szyna danych (także 8-64 bitowa), która umieszcza lub odczytuje dane z pamięci
linie (pojedyncze ścieżki, które przewodzą sygnał wyzwalający określone działanie) odczytu
i zapisu, przez które procesor informuje, czy chce czytać z pamięci, czy umieścić w niej ja-
kąś wartość
linia zegara, który taktuje procesor
linia, która resetuje licznik programu - wykonywanie rozpoczynane jest od początku
rejestry A, B i C są to logiczne układy, tzw. zapadki, zdolne zapamiętać chwilową wartość
wejściową w momencie zmiany wartości logicznej impulsu zegara z 0 na 1 i pokazywać ją na
wyjściu (zbudowane są z czterech bramek NOT-AND oraz bramki NOT  por.
(http://www.howstuffworks.com/boolean.htm).
rejestr adresowy działa analogicznie do rejestrów A, B i C
licznik jest to rejestr, który posiada zdolność zwiększania przechowywanej wartości o 1 lub
wyzerowania jej
ALU (jednostka arytmetyczno-logiczna) jest to jednostka pozwalająca wykonywać podsta-
wowe działania (dodawanie, odejmowanie mnożenie i dzielenie) na liczbach oraz porówny-
wać dwie liczby 8-bitowe.
Test jest to rejestr przechowujący wynik porównywania dwóch liczb przez ALU
rola trójprzełączników polega na ustawianiu na wyjściu wartości 0 lub 1 oraz ewentualnym
całkowitym odcięciu linii wyjścia od przełącznika
pozostałe komponenty są kontrolowane przez rejestr instrukcji oraz dekoder instrukcji
Poza powyższymi, potrzebne są także linie sygnałowe (nie narysowane na schemacie) odpowie-
dzialne m. in. za blokowanie chwilowej wartości wejściowej przez rejestry A, B i C, blokowa-
nie wartości przez licznik, rejestr adresowy i instrukcji, powiększanie i resetowanie licznika,
aktywowanie trójprzełączników oraz linii zapisu i odczytu, sterowanie pracą ALU i blokowa-
nie rejestru testowego.
Działanie procesora
BU  blok komunikacyjny
Prefetch  sortowanie i kolejkowanie kodu
IU  dekodowanie ciągu poleceń
EU  układ wykonawczy
ALU  moduł obróbki liczb stałoprzecinkowych
Schemat blokowy procesora
CU  blok sterowania
Kod programu
przetwarzania modułu ALU
Adres
Prefetch
FPU  moduł obróbki liczb
zmiennoprzecinkowych
AU AU  jednostka adresowania
MMU  jednostka zarządzania
MMU
pamięcią
IU
Dane
ROM
(Dekoder)
BU
Sygnały
Kontrolne
FPU
i sterujące ALU
EU
CU
Dane
Niech zadaniem dla powyższego procesora będzie obliczenie wartości 5! (czyli 1*2*3*4*5). W
języku C zapisać ten problem można następująco:
a=1; f=1;
while (a <= 5)
{f = f * a;
a = a + 1; }
Po zakończeniu programu zmienna f posiada wartość 5! czyli 120. Po skompilowaniu program
zamieniany jest na Assembler. Zakładając, że zmienną a umieszczono pod adresem 128, a
zmienną f  129 (pamięci ROM komputera odpowiada obszar adresów od 0 do 127, zaś RAM
rozpoczyna się od 128), wygląda to następująco:
0 CONB 1 // a=1; (załaduj stałą wartość do rejestru B)
1 SAVEB 128 // (zapisz wart. rej. B w pamięci pod adresem 128)
2 CONB 1 // f=1;
3 SAVEB 129
4 LOADA 128 // załaduj wartość spod dresu 128 pamięci do rejestru A
5 CONB 5
6 COM // (porównaj A i B i zapisz wynik w rej. test)
7 JG 17 // (jeśli wynik testu to: Większe niż, idz do linii 17)
8 LOADA 129 // f=f*a;
9 LOADB 128
10 MUL // (pomnóż wart. z rej. A i B i podstaw wynik w C)
11 SAVEC 129
12 LOADA 128 // a=a+1;
13 CONB 1
14 ADD // (dodaj wart. z rej. A i B i podstaw wynik w C)
15 SAVEC 128
16 JUMP 4 // (skocz do linii 4)
17 STOP // (zakończ wykonywanie programu)
Jeżeli każdej instrukcji języka Assembler przykładowego procesora (do przeprowadzenia wszystkich moż-
liwych operacji potrzeba ich więcej niż w powyższym przykładzie) przypiszemy liczbę od 1 (LOADA) po-
przez 2 (LOADB), aż do 18 (STOP), to program 5! przyjmie postać ciągu 31 bajtów:
0 3 // CONB 1
1 1
2 4 // SAVEB 128
3 128
4 3 // CONB 1
5 1
6 4 // SAVEB 129
7 129
8 1 // LOADA 128
9 128
10 3 // CONB 5
11 5
12 10 // COM
13 14 // JG 17
14 31
15 1 // LOADA 129
16 129
17 2 // LOADB 128
18 128
19 8 // MUL
20 5 // SAVEC 129
21 129
22 1 // LOADA 128
23 128
24 3 // CONB 1
25 1
26 6 // ADD
27 4 // SAVEB 128
28 128
29 11 // JUMP 4
30 8
31 18 // STOP
Taki ciąg liczb trafia do dekodera instrukcji, który za pomocą linii sygnałowych kieruje
pracą wewnętrznych komponentów układu.
Rozważając przykład instrukcji ADD widać, że do jej wykonania potrzeba trzech cykli
procesora (bardziej skomplikowane instrukcje mogą wymagać nawet do
6 cykli):
1. Cykl pierwszy  ładowanie instrukcji. Dekoder instrukcji:
aktywowany jest trójprzełącznik licznika
aktywowana jest linia odczytu
aktywowane są dane w trójprzełączniku
blokowana jest wartość liczbowa odpowiadająca instrukcji w rejestrze instrukcji
2. Cykl drugi  dekodowana jest instrukcja ADD:
ustawienie trybu pracy ALU na dodawanie
zablokowanie wartości wyjściowej ALU w
rejestrze C
3. Cykl trzeci  zwiększana jest wartość przechowywana przez licznik
Współczesne procesory podczas każdego cyklu pracy potrafią wykonywać operacje doty-
czące kilku instrukcji na raz  w tym samym czasie procesor może pracować nad pięcioma
różnymi instrukcjami, z których każda znajduje się w danej chwili na innym etapie realizacji.
Pozwala to na efektywną wydajność jednej instrukcji na cykl zegarowy, nawet przy instruk-
cjach wymagających 5-6 cykli pracy do zakończenia. Właściwość ta nazywana jest pipelinin-
giem.
W jakim kierunku pójdzie rozwój technologiczny procesorów?
przejście na wymiar technologiczny 45 nm
Tranzystor z nanodrutu krzemowego
o średnicy 5 nm został laboratoryjnie
zrealizowany już kilka lat temu,
jednak jego praktyczne zastosowanie
na skalę przemysłową spodziewane
jest dopiero około 2014 roku.
wprowadzenie bramki TriGate
(trójwymiarowa bramka)
Inżynierowie Intela wyznaczają tendencje rozwoju współczesnej technologii komputerowej.
Poniżej Roadmap zaczerpnięty z materiałów firmy Intel:
Szał uniesień
Władysław
Podkowiński
(1866-1895)
SOI - krzem na izolatorze
krzemek
boczny
tlenek
bramka
dystansownik
bramkowy
poli-Si
krzemek krzemek
zródło dren
SiO2
podłoże Si


Wyszukiwarka

Podobne podstrony:
2 Wyklad StrukturyDanych
analiza finansowa wyklad struktura
UE Wyklad2(struktura2014zadania2)
UE Wyklad2(struktura2014zadania1)
Wykład 1 struktury algebraiczne
Wykład 2 struktury algebraiczne II
Wykład 2 struktury algebraiczne II
wyklady struktura lekki z wyszukiwaniem
Wyklad 9 struktury
Systemy wyklad struktura systemu
2 wykład pojecie i struktura adminitracji publicznej
Algorytmy I Struktury Danych (Wyklady) info
Algorytmy i struktury danych Wyklad 4
SKRYPT WYKŁAD PROMIENIOWANIE JONIZUJĄCE A NOWOTWORZENIE ZMIANY W STRUKTURZE DNA
Algorytmy i struktury danych Wyklad 3
Mikroekonomia wykład 6 2010b Podstawowe struktury rynkowe
MIKROEKONOMIA WYKŁAD 4 (10 12 2011) struktury rynku,teoria podziału
Wyklad XI Teorie struktury kapitalu

więcej podobnych podstron