12/3/2008
architektura komputerów
w. 5
Realizacja sterowania
Model komputera
Program umieszczony wraz z
danymi w pamięci jest
wykonywany przez CPU
CPU
program wykonywany jest
sekwencyjnie, zmiana kolejności
ALU
wykonania rozkazów może
nastąpić jedynie wskutek działania
Jednostka
samego programu
sterujÄ…ca
wejście wyjście
Pamięć
architektura komputerów w 5 1
12/3/2008
Architektura procesora
dane
R MRB/R MAR
IR
dekoder SP
CPU
CR sterowanie SR
pamięć
ALU
PC
MAG
MRB/R
EU
CU MMU
adres
sterowanie
ALU - jednostka arytmetyczno-logiczna, R - rejestry danych, MBR - bufor, CR - rejestr warunków, IR -
rejestr rozkazów, PC - licznik rozkazów, SR - rejestr stanu, - SP wskaznik stosu, MAR - rejestry
adresowe, MAG - wytwarzanie adresu
EU - jednostka arytmetyczno-logiczna, CU - jednostka sterujÄ…ca, MMU - jednostka zarzÄ…dzajÄ…ca
pamięcią
Architektura akumulatorowa.
TMP
Jeden z argumentów operacji jest umieszczany w
wyróżnionym rejestrze, akumulatorze. Tamże
umieszczany jest wynik operacji. Rejestr TMP jest
niedostępny dla programu.
CR
ALU
AC
architektura komputerów w 5 2
12/3/2008
Architektura rejestr-pamięć.
R
Jeden z argumentów operacji jest umieszczany w
rejestrze, drugi może być pobrany z rejestru lub z
pamięci, tamże umieszczany jest wynik.
CR
ALU
R/M
Architektura uniwersalna
R/M R/M
Oba argumenty sÄ… umieszczany w rejestrze lub w
pamięci, tamże umieszczany jest wynik.
CR
ALU
R/M
architektura komputerów w 5 3
12/3/2008
Architektura rejestrowa
R R
Oba argumenty są umieszczany w rejestrze, tamże
umieszczany jest wynik. Architektura typowa dla
procesorów RISC
CR
ALU
R
Architektura stosowa
argumenty i wynik umieszczane
SP
sÄ… na stosie. Architektura m.
In. koprocesorów 80x87
CR
ALU
architektura komputerów w 5 4
12/3/2008
Architektura
Scalona 4-bitowa ALU 74181
Architektura ALU
Scalona 4-bitowa ALU 74181
T
G
A=B
A0-A3
F0-F3
B0-B3
C0
C4
M - mode
M S0-S3
A0-A3, B0-B3 - argumenty wejściowe
F0-F3 - wynik operacji
C0, C4 - przeniesienia
S0-S3 - programowanie funkcji układu
architektura komputerów w 5 5
12/3/2008
Architektura ALU
Scalona 4-bitowa ALU 74181
Architektura ALU
A0-A3 C0
F0-F3
B0-B3
C4
A4-A7 C0
F4-F7
B4-B7
C4
Konfiguracja połączeń 2 układów
do jednostki 8-bitowej
M, S0-S3,
architektura komputerów w 5 6
12/3/2008
Architektura ALU
C0
R1
C4
L,S
C0
R2
C4
L,S
SE
M,S0-S3
L,S
Przykładowa jednostka ALU wraz z rejestrami
Organizacja sterowania
Sterowanie polega na wymuszaniu sekwencji czynności (mikrooperacji)
zapewniających automatyczne wykonanie kolejnych rozkazów programu
umieszczonego w pamięci.
Wykonanie programu odbywa siÄ™ w kolejnych cyklach rozkazowych.
Cyklem rozkazowym nazywa się sekwencja czynności związanych z pobraniem
rozkazu z pamięci i jego interpretacją.
Cykl rozkazowy przebiega w fazach
każda faza składa się z cykli maszynowych, które odpowiadają dostępom do pamięci
czas trwania fazy zależy od procesora i rodzaju wykonywanego rozkazu
Przejście z jednego stanu do drugiego zachodzi po zakończeniu wszystkich
przewidzianych dla niego czynności i zwykle wyznaczane jest przez sygnał zegara.
Procesor może również znalezć się w innych stanach nie wynikających z
wykonywania programu - np. stanie zatrzymania, stanie zawieszenia lub wynikajÄ…cych
z funkcjonowania systemu przerwań.
Fetch
Decode Read Execute Write
architektura komputerów w 5 7
12/3/2008
Organizacja sterowania
Fetch
Decode Read Execute Write
Fazy wykonania rozkazu:
F (fetch) pobranie kodu rozkazu z pamięci
D (decode) dekodowanie w celu wytworzenia sygnałów sterujących
R (read) pobranie operandu z pamięci (opcjonalne)
E (execute) wytworzenie wyniku (zmienny czas)
W (write) zapis wyniku wykonania (do pamięci lub rejestru)
Cykl rozkazowy - przykład
0 Mov R,10 R MRB/R MAR
IR
dekoder SP
CR sterowanie SR
pamięć
ALU
PC
MAG
MRB/R
EU
CU MU
adres
sterowanie
architektura komputerów w 5 8
12/3/2008
Cykl rozkazowy - przykład
Fetch
0 Mov R,10 R MRB/R Mov R,x IR MAR
dekoder SP
CR sterowanie SR
pamięć
ALU
0
MAG
MRB/R
EU
CU MU
RD
adres
sterowanie
Cykl rozkazowy - przykład
Decode
0 Mov R,10 R MRB/R Mov R,x IR 10
dekoder SP
CR sterowanie SR
pamięć
ALU
0
MAG
MRB/R
EU
CU MU
RD
adres
sterowanie
architektura komputerów w 5 9
12/3/2008
Cykl rozkazowy - przykład
Read
0 Mov R,10 R MRB/R Mov R,x IR 10
dekoder SP
CR sterowanie SR
pamięć
ALU
0
MAG
MRB/R
EU
CU MU
WR
adres
sterowanie
Cykl rozkazowy - przykład
Execute
0 Mov R,10 R MRB/R Mov R,x IR 10
dekoder SP
CR sterowanie SR
pamięć
ALU
PC
MAG
MRB/R
EU
CU MU
adres
sterowanie
architektura komputerów w 5 10
12/3/2008
Cykl rozkazowy - przykład
Write
0 Mov R,10 2 MRB/R Mov IR 10 MAR
dekoder SP
10 2
CR sterowanie SR
pamięć
ALU
PC
MAG
MRB/R
EU
CU MU
RD
adres
sterowanie
Cykl rozkazowy
Cykl rozkazowy różnych procesorów może się różnić zależnie od ich
architektury wewnętrznej i organizacji. Każdą z faz ( w przypadku sterowania
synchronicznego) można podzielić na cykle maszynowe odpowiadające
dostępom do pamięci wyznaczane przez zegar.
Przykład 1
Cykl rozkazowy Intela 8080 zajmuje 1 do 5 cykli maszynowych. Każdy z cykli
maszynowych trwa od 3 do 5 taktów zegara. Najkrótszy cykl rozkazowy to 4
takty, najdłuższy 17 taktów (5 cykli maszynowych - jeden 5 taktów i 4 po 3
takty).
Przykład 2 (Z80)
Wykonanie rozkazu
składa się z cyklu M1
pewnej ilości cykli
M2 I M3
architektura komputerów w 5 11
12/3/2008
Cykl rozkazowy. Realizacja.
Sterowanie układowe.
Sterowanie jest realizowane przez autonomiczne układy sterujące.
Układy sterowania są skomplikowane
przykładem takiej realizacji jest Intel 8080
Rozkazy
warunki
RI
Sygn zewn. Sygn zewn.
Pamięć
dekoder zegar
stanów
stany
takty
operacje
Układ
wykonawczy
warunki
Sygnały
mikrooperacji
Cykl rozkazowy. Realizacja.
Sterowanie mikroprogramowane
Z rejestru rozkazów
Adres następnego mikrorozkazu
2 matryce: mikrooperacji i
Rejestr nast.. stanu
stanów,
Kombinacja stanu wyjść
matrycy mikrooperacji
Rejestr stanu
nazywa siÄ™
mikrorozkazem
takty
Dekoder
stanu Do węzłów
warunki
logicznych
architektura komputerów w 5 12
12/3/2008
Cykl rozkazowy. Realizacja.
Sterowanie mikroprogramowane.
Przykład 1. IBM 370/165
długość słowa 108 b, 4K słów, czas dostępu do pamięci 80ns
Przykład 2. Motorola 68000.
Struktura dwuwarstwowa, pojemność sumaryczna pamięci 30550
bitów. Słowo 70 bitowe steruje 180 węzłami logicznymi.
Cykl rozkazowy.
Koncepcja przetwarzania potokowego
poszczególne fazy wykonują specjalizowane układy funkcjonalne
- jednokierunkowy przepływ danych między układami
funkcjonalnymi
uð - możliwe jednoczesne wykonanie różnych etapów
uð - szybkość wykonania ogranicza najdÅ‚uższy etap i narzut
separacji
czas wykonania etapu
uð pobranie kodu rozkazu (fetch)
Fð rozmiar kodu rozkazu
Fð czas dostÄ™pu do pamiÄ™ci (odczyt sÅ‚owa lub jego części)
uð dekodowanie (decode)
Fð architektura listy rozkazów (zÅ‚ożoność i różnorodność dziaÅ‚aÅ„)
Fð struktura kodu rozkazu (niejednorodność)
uð pobranie operandu z pamiÄ™ci (data read)
Fð tryb adresowania i czas dostÄ™pu do pamiÄ™ci (odczyt)
uð wykonanie (execute)
Fð zÅ‚ożoność wykonywanych dziaÅ‚aÅ„
uð zapis wyniku do rejestru (put away) [lub pamiÄ™ci (data write)]
Fð czas dostÄ™pu do pamiÄ™ci (zapis sÅ‚owa lub jego części)
architektura komputerów w 5 13
12/3/2008
Cykl rozkazowy
przetwarzanie potokowe
Cykl
Pobranie dekodowaniewykonanie zapisanie
1 Rozkaz 1
2 Rozkaz 2 Rozkaz 1
3 Rozkaz 3 Rozkaz 2 Rozkaz 1
Rozkaz 4 Rozkaz 3 Rozkaz 2 Rozkaz 1
4
5 Rozkaz 5 Rozkaz 4 Rozkaz 3 Rozkaz 2
przetwarzanie może być zakłócone przez rozkazy skoku oraz przez rozkazy
wymagające do wykonania większej ilości faz Read i Write
przetwarzanie potokowe
Architektura klasyczna (CISC Complex Instruction Set Computer )
Lista rozkazów
· rozkazy realizujÄ…ce dziaÅ‚ania proste i skomplikowane
· rozbudowane sposoby (tryby) adresowania
· argumenty umieszczone zwykle w pamiÄ™ci
· staÅ‚e w dodatkowych sÅ‚owach kodu
· niejednolita struktura równa liczba słów kodu
Organizacja rozwiÄ…zania intuicyjne
· akumulator lub niewiele rejestrów uniwersalnych
· wiÄ™kszość argumentów w pamiÄ™ci, rejestry specjalizowane
· trudne buforowanie i dekodowanie rozkazów (zmienny rozmiar)
W rezultacie
· zmienny czas wykonania tych samych etapów przetwarzania
· bariera przepustowoÅ›ci pamiÄ™ci
architektura komputerów w 5 14
12/3/2008
Lista rozkazów
przetwarzanie potokowe
Architektura klasyczna (CISC Complex Instruction Set Computer )
rozbudowana lista rozkazów i nieregularna struktura kodu
_ð zmienny czas pobrania kodu i dekodowania rozkazu
_ð skomplikowany dekoder (ukÅ‚ad sekwencyjny)
_ð skomplikowane ukÅ‚ady wykonawcze, zmienny czas wykonania
działań
większość operandów w pamięci
_ð czÄ™ste konflikty dostÄ™pu podczas wykonania etapów F, R i W
_ð dÅ‚ugi czas wykonania etapów F, R i W
Cykl rozkazowy
przetwarzanie potokowe
postulaty:
uproszczona lista rozkazów, stały rozmiar i struktura słowa kodu:
Eð staÅ‚y czas pobrania kodu i dekodowania rozkazu
Eð prosty dekoder kombinacyjny
Eð proste ukÅ‚ady wykonawcze, krótki czas wykonania
podstawowych działań
większość operandów w rejestrach procesora:
Eð wyeliminowanie etapu R i krótszy czas etapu W (load/store)
Eð rzadsze konflikty dostÄ™pu podczas wykonania etapów F, W
architektura komputerów w 5 15
12/3/2008
Cykl rozkazowy
Charakterystyka maszyn CISC i RISC
Programy wykonywane na współczesnych maszynach są przeważnie napisane w
językach algorytmicznych.
Raport [Klein] podaje, że różne programy tłumaczone kompilatorami języka C firm
GNU i Sun nie wykorzystywały 71% rozkazów procesora Motorola68020.
Typowe wykorzystanie rozkazów procesora CISC: [B.S. Chalk]
przesłania 46,3%
skoki, wywołania podprogramów i powroty 26,6%
arytmetyczne 14,1%
logiczne 1,6%
Cykl rozkazowy
Charakterystyka maszyn CISC i RISC
Charakterystyka procesorów RISC
Charakterystyka procesorów CISC
1. Duża liczba rozkazów (typowo od 100 - 1. Niewiele rozkazów
2. Rozkazy wykonywane w jednym cyklu
200)
rozkazowym
2. Rozkazy realizujÄ…ce specjalizowane
3. Niewiele formatów rozkazów
zadania obok rozkazów przesłań
ðð prosty dekoder kombinacyjny, proste ukÅ‚ady
3. Duża liczba trybów adresowania (5-20)
wykonawcze, krótki czas wykonania działań
4. Mnogość formatów i czasów wykonania
4. Operacje przesłań do pamięci - jedynie
rozkazów
typu STORE i LOAD
5. Zwykle mikroprogramowana jednostka
ððwyeliminowanie fazy R i krótszy czas fazy W
sterujÄ…ca
5. Wiele uniwersalnych rejestrów
6. akumulator lub niewiele rejestrów
6. Argumenty dla operacji - przeważnie
uniwersalnych
zawartość rejestrów
7. większość argumentów w pamięci,
ðð konflikty dostÄ™pu tylko podczas wykonania
rejestry specjalizowane
rozkazów load/store
7. Układowa jednostka sterująca
8. Często architektura realizująca
przetwarzanie potokowe
architektura komputerów w 5 16
12/3/2008
Cykl rozkazowy
Charakterystyka maszyn CISC i RISC
Niezbędne skrócenie czasu pobierania kodu z pamięci (buforowanie, cache)
Nieuniknione przestoje wskutek konfliktów
Cykl rozkazowy
PROCESOR RISC MIPS R3000
lista rozkazów: 74 w tym 58 podstawowych typów całkowitoliczbowych
load/store 12
skoki 12
arytmetyczno-logiczne 18
mnożenie/dzielenie 8
przesunięcia 6
wywołania systemowe 2
architektura komputerów w 5 17
12/3/2008
Cykl rozkazowy
PROCESOR RISC MIPS R3000
współpraca z pamięcią:
do pobrania kodu rozkazu potrzeba jednego cyklu pamięci
szerokość magistrali, rejestrów oraz format rozkazu są identyczne
argumenty dla operacji arytmetycznych nie są pobierane z pamięci
Cykl rozkazowy
PROCESOR RISC SPARC
przekazywanie parametrów pomiędzy procedurami wspomagane
hardware owo
architektura komputerów w 5 18
12/3/2008
architektura komputerów w 5 19
Wyszukiwarka
Podobne podstrony:
1b wyklad Strategie sterowania produkcjaWykład 3 Realizacja algorytmu DESWykład 11 Sterowanie cyfrowe9 Praktyczna realizacja sterowania logicznego na bazie sterownika PLC oraz modelu przejścia dla pieswykład hab sterowaniw [tryb zgodności]automatyka i sterowanie wykladWykład 1 Standardowe algorytmy regulacji i sterowaniaautomatyka i sterowanie wykladautomatyka i sterowanie wyklad 7automatyka i sterowanie wykladautomatyka i sterowanie wyklad2 Architektura sterowników PLC materiały wykładoweautomatyka i sterowanie wyklad 6Politechnika Białostocka 07 Realizacja pneumatycznych układów sterowania z przekaźnikami czasowyWykład 10 Podstawowe algorytmy sterowaniaautomatyka i sterowanie wykladwięcej podobnych podstron