Architektura Systemów
Komputerowych
Budowa i zasada działania mikroprocesora
Fazy cyklu rozkazowego
Instrukcje i mikrooperacje
1
Struktura prostego systemu
mikroprocesorowego
Magistrala danych
Magistrala adresowa
Mikroprocesor
Magistrala
sterująca
Układy
wejścia,
Pamięć
wyjścia (I/O)
2
Mikroprocesor - definicja
Procesor układ cyfrowy przetwarzający dane
zgodnie z programem zapisanym w pamięci
komputera, w postaci ciągu instrukcji.
Mikroprocesor procesor zintegrowany w jednym
układzie scalonym wielkiej skali integracji.
3
Przykłady mikroprocesorów
yródła: http://pl.wikipedia.org,
http://www.djtech.ca
4
Schemat blokowy prostego
mikroprocesora
Magistrala danych
CLK
MBR
Jednostka
sterująca
Acc
I
ALU
R
Rejestry
ogólnego
przeznaczenia
PC
Rejestry
funkcji
MAR
specjalnych
(SFR)
Magistrala
5
sterująca
Magistrala adresowa
Elementy mikroprocesora
Jednostka sterująca przekształca kod instrukcji w
zbiór sygnałów logicznych zwanych funkcjami
sterującymi, praca jednostki jest synchronizowana
sygnałem zegara CLK
Rejestr instrukcji (IR) przechowuje kod instrukcji
Rejestr buforowy pamięci (MBR) łączy
mikroprocesor z zewnętrzną magistralą danych
Rejestr adresowy pamięci (MAR) łączy
mikroprocesor z zewnętrzną magistralą adresową
6
Elementy mikroprocesora cd.
Jednostka arytmetyczno-logiczna (ALU) wykonuje
operacje arytmetyczne i logiczne
Rejestry ogólnego przeznaczenia (robocze)
przechowują pośrednie wyniki obliczeń, wynik
operacji ALU jest zapisywany w jednym z nich,
zwanym akumulatorem (Acc)
Rejestry funkcji specjalnych (SFR) uczestniczą w
adresowaniu pamięci i sterowaniu programem
7
Fazy cyklu rozkazowego
Faza pobrania rozkazu (instrukcji)
Faza dekodowania rozkazu
Faza wykonania rozkazu
Faza bezczynności
Sekwencyjne wykonanie programu w mikroprocesorze
o architekturze von Neumanna
Instr.1 Instr.1 Instr.1 Instr.1 Instr.2 Instr.2 Instr.2
t
&
Ś1 Ś2 Ś3 Ś4 Ś1 Ś2 Ś3
Ś Ś2 Ś3 Ś4 Ś Ś2 Ś
Ś Ś2 Ś3 Ś4 Ś Ś2 Ś
Ś Ś2 Ś3 Ś4 Ś Ś2 Ś
8
Generator sekwencji
taktujących
Ś1
Ś1
Ś1
Ś1
Ś2
Ś2
Ś2
Ś2
Generator
Ś3
Ś3
Ś3
Ś3
CLK sekwencji
taktujących
Ś4
Ś4
Ś4
Ś4
CLK
Ś1
Ś1
Ś1
Ś1
Ś2
Ś2
Ś2
Ś2
Ś3
Ś3
Ś3
Ś3
Ś4
Ś4
Ś4
Ś4
9
Aktywność mikroprocesora
w fazie pobrania instrukcji
Magistrala danych
CLK
MBR
Jednostka
sterująca
I
R
PC
MAR
Magistrala
10
sterująca
Magistrala adresowa
Aktywność mikroprocesora
w fazie dekodowania instrukcji
CLK
Jednostka
sterująca
I
R
11
Aktywność mikroprocesora
w fazie wykonania instrukcji
Magistrala danych
CLK
MBR
Jednostka A
Y
sterująca
IR
Acc
ALU
P
B
A
F:Y=B
Instrukcja pobrania danej z
pamięci, adresowanie
bezpośrednie adres komórki
pamięci jest stałą w polu
MAR
adresowym (PA) rejestru instrukcji
Magistrala
12
Acc M(adr)
sterująca
Magistrala adresowa
Aktywność mikroprocesora
w fazie wykonania instrukcji
Magistrala danych
CLK
MBR
Jednostka A
Y
sterująca
Acc
ALU
B
F:Y=B
Instrukcja pobrania danej z
Rejestry
pamięci, adresowanie pośrednie
funkcji
adres komórki pamięci znajduje się
specjalnych
MAR
w jednym z rejestrów funkcji
(SFR)
specjalnych
X
Magistrala
13
Acc M(X)
sterująca
Magistrala adresowa
Aktywność mikroprocesora
w fazie wykonania instrukcji
Magistrala danych
CLK
MBR
Jednostka A
Y
sterująca
IR
Acc
ALU
P
B
A
F:Y=A+B
Instrukcja sumowania danych z
MAR
pamięci i akumulatora
Magistrala
14
Acc Acc + M(adr)
sterująca
Magistrala adresowa
Aktywność mikroprocesora
w fazie wykonania instrukcji
CLK
Jednostka A
Y
sterująca
Acc
ALU
Rejestry
B
ogólnego
przeznaczenia
F:Y=A+B
Instrukcja sumowania danych z
akumulatora i innego rejestru
Magistrala
15
sterująca Acc Acc + R
Aktywność mikroprocesora
w fazie wykonania instrukcji
Magistrala danych
CLK
MBR
Jednostka
sterująca
IR
Acc
P
A
Instrukcja przesłania danej
MAR
z akumulatora do pamięci
Magistrala
16
M(adr) Acc
sterująca
Magistrala adresowa
Aktywność mikroprocesora
w fazie wykonania instrukcji
Magistrala danych
CLK
MBR
Jednostka
sterująca
Instrukcja skoku
PC adr
PC
MAR
Magistrala
17
sterująca
Magistrala adresowa
Aktywność mikroprocesora
w fazie bezczynności
CLK
Jednostka
sterująca
PC
PC PC+1
18
Instrukcja i mikrooperacja
Instrukcja najmniejsza jednostka programu, kod binarny
określający sekwecję mikrooperacji
Mikrooperacja zbiór wszystkich operacji wykonywanych przez
mikroprocesor w pojedynczej fazie cyklu rozkazowego
Lista instrukcji zbiór wszystkich instrukcji wykonywanych przez
dany mikroprocesor
Instrukcje są zewnętrzne w stosunku do mikroprocesora. Ciąg
instrukcji w pamięci komputera, realizujący wybrany algorytm
obliczeniowy jest nazywany programem.
19
Realizacje jednostki sterującej
Układ sekwencyjny nieregularna struktura bramek
i przerzutników
Automat stanowy automat wykorzystujący fazy
zegara
Pamięć sterująca pamięć ROM z zapisanymi
funkcjami sterującymi dla wszystkich elementów
mikroprocesora mikroprogramem.
Mikroprogramowalna jednostka sterująca zachowuje się
jak prosty mikrokomputer wykonuje mikroprogram.
20
Przykład architektury
z mikroprogramowalną jednostką
sterującą
yródło: Jan Van Campenhout at al.: ESCAPE:
21
Environment for the Simulation of Computer
Architectures for the Purpose of Education
Przykład rzeczywistej architektury
mikroprocesor Intel 4004
22
yródło: http://pl.wikipedia.org
Rodzaje instrukcji wykonywanych
przez mikroprocesor
Instrukcje transferu (przesłania danych)
Instrukcje obliczeniowe
- arytmetyczne
- logiczne
- operacji na bitach
Instrukcje sterujące
- skoki
- skoki warunkowe
- operacje na rejestrach specjalnych
23
Mikrooperacje ALU w fazie Ś
Ś3
Ś
Ś
Mikrooperacje arytmetyczne:
A
Y
Suma (ADD): Y=A+B
ALU
Suma z przeniesieniem (ADC): Y=A+B+Cy
B
Różnica (SUB): Y=A-B
F: & &
Różnica z pożyczką (SBC): Y=A-B-Cy
Cy
Inkrementacja (INC): Y=A+1
Dekrementacja (DEC): Y=A-1
Uzupełnienie jedynkowe (NEG): Y=not A
Uzupełnienie dwójkowe (CPL): Y=not A + 1
24
Mikrooperacje ALU w fazie Ś
Ś3
Ś
Ś
Mikrooperacje logiczne:
A
Y
ALU
Iloczyn logiczny (AND): Y=A and B
Suma logiczna (OR): Y=A or B
B
Suma modulo 2 (XOR): Y=A xor B
F: & &
Negacja (NOT): Y=not A
Cy
25
Mikrooperacje przesunięć
w fazie Ś
Ś3
Ś
Ś
Przesunięcie logiczne w lewo: R = shll R
(odpowiada mnożeniu przez 2 liczby w kodzie NBC)
Bn-1 R B0
0
Przesunięcie logiczne w prawo: R = shrl R
(odpowiada dzieleniu przez 2 liczby w kodzie NBC)
0 R B0
Bn-1
26
Mikrooperacje przesunięć
w fazie Ś
Ś3
Ś
Ś
Przesunięcie arytmetyczne w lewo: R = shla R
(odpowiada mnożeniu przez 2 liczby w kodzie U2)
Bn-1 Bn-2 R B0
0
Przesunięcie arytmetyczne w prawo: R = shra R
(odpowiada dzieleniu przez 2 liczby w kodzie U2)
Bn-1 R B0
Bn-2
27
Mikrooperacje rotacji
w fazie Ś
Ś3
Ś
Ś
Rotacja w lewo: R = rotl R
Bn-1 R B0
Rotacja w prawo: R = rotr R
Bn-1 R B0
Bn-2
28
Wyszukiwarka
Podobne podstrony:
Architektura Systemo´w Komputerowychmikronapedy w systemach komputerowychBezpieczeństwo systemňw komputerowych praca dyplomowaArchitekrura Systemów Lab25 Architektura funkcjonalna komputeraBezpieczeństwo systemów komputerowychArchitektura systemów informatycznychArchitektura systemow zarzadzania przedsiebiorstwem Wzorce projektoweArchitekrura Systemów Lab310 System komputerowy, rodzaje, jednostki pamięciid113Systemy komputeroweSystemy komputeroweArchitekrura SystemĂlw Lab5 (1)Administrator systemow komputerowych!3102więcej podobnych podstron