Click here to load reader
View
0
Download
0
Embed Size (px)
Model von Neumanna ALU CPU Cykl rozkazów Kodowanie rozkazów Programowanie Mikroprocesor
Technologie Informacyjne Mikroprocesor
Adam Krasuski
Szkoła Główna Służby Pożarniczej Zakład Informatyki i Łączności
November 7, 2016
Adam Krasuski Technologie Informacyjne
Model von Neumanna ALU CPU Cykl rozkazów Kodowanie rozkazów Programowanie Mikroprocesor
1 Model von Neumanna
2 ALU
3 CPU
4 Cykl rozkazów
5 Kodowanie rozkazów
6 Programowanie
7 Mikroprocesor
Adam Krasuski Technologie Informacyjne
Model von Neumanna ALU CPU Cykl rozkazów Kodowanie rozkazów Programowanie Mikroprocesor
Programowanie wczesnych komputerów
Programowanie wczesnych komputerów (np. ENIAC) polegało na fizycznym przełączaniu przewodów.
Pamięć była wykorzystywana tylko do przechowywania danych przetwarzanych przez program.
Adam Krasuski Technologie Informacyjne
Model von Neumanna ALU CPU Cykl rozkazów Kodowanie rozkazów Programowanie Mikroprocesor
John von Neumann (1903 - 1957)
inżynier chemik, fizyk, matematyk i informatyk
Obecne komputery realizują model zaproponowany przez Johna Von Neumanna w 1946 r.:
- Procesor (Central Processing Unit CPU) wykonuje program zbudowany ze skończonej, zdefiniowanej dla danej architektury listy rozkazów.
- Program oraz dane są przechowywane w pamięci.
Komputer według Johna Von Neumanna
Adam Krasuski Technologie Informacyjne
Model von Neumanna ALU CPU Cykl rozkazów Kodowanie rozkazów Programowanie Mikroprocesor
We/Wy
magistrala sterująca
magistrala adresowa
magistrala danych
Elementy systemu mikroprocesorowego
MikroprocesorPamięć Układy Wejścia-Wyjścia
Adam Krasuski Technologie Informacyjne
Model von Neumanna ALU CPU Cykl rozkazów Kodowanie rozkazów Programowanie Mikroprocesor
Magistrale
Wszystkie moduły są połączone za pośrednictwem magistral, które służą do przesyłania:
- danych, - adresów, - sygnałów sterujących
magistrala danych
magistrala adresowa
magistrala sterująca
Szyna główna
Adam Krasuski Technologie Informacyjne
Model von Neumanna ALU CPU Cykl rozkazów Kodowanie rozkazów Programowanie Mikroprocesor
Schemat blokowy komputera
Układy We/wy Pamięć
Program
Dane
Mikroprocesor
Układ sterowania
ALU
Rejestry
Dane
Sterowanie
Adam Krasuski Technologie Informacyjne
Model von Neumanna ALU CPU Cykl rozkazów Kodowanie rozkazów Programowanie Mikroprocesor
Arithmetic Logic Unit
ALU
Adam Krasuski Technologie Informacyjne
Model von Neumanna ALU CPU Cykl rozkazów Kodowanie rozkazów Programowanie Mikroprocesor
Rejestry przesuwające
R0 R1
R0 R1
OUT
IN
IN
OUT
R
L
SHR
SHL
8 bit in
8 bit in
8 bit out
8 bit out
CI
CI
CO
CO
Adam Krasuski Technologie Informacyjne
Model von Neumanna ALU CPU Cykl rozkazów Kodowanie rozkazów Programowanie Mikroprocesor
y a b
EXOR
a b y 0 0 0 0 1 1 1 0 1 1 1 0
y a b
równe a większe
równe a większe
00011111 00100000a
b
Adam Krasuski Technologie Informacyjne
Model von Neumanna ALU CPU Cykl rozkazów Kodowanie rozkazów Programowanie Mikroprocesor
EXOR
OR
AND
NOT
E
E
E
E
E
E
E
3x8
SHL
ADD
SHR
Z
a
b y
op
ci
co
a większe równe
zero
ALU
ALU op
ci b a y
coa większe równe zero
000 ADD Dodaj 001 SHR Przesuń w prawo 010 SHL Przesuń w lewo 011 NOT Zaprzeczenie 100 AND Iloczyn 101 OR Suma 110 XOR Exclusive or 111 CMP Porównaj
Adam Krasuski Technologie Informacyjne
Model von Neumanna ALU CPU Cykl rozkazów Kodowanie rozkazów Programowanie Mikroprocesor
CPU
ALU
MAR
R1 R2 R3R0
R A
M
bus 1
TMP
A B
ACC
s e s e s e s e
CU Układ
sterowania
s
e s
e s
op
co a> eq z
s
źródło: na podstawie [1]
Adam Krasuski Technologie Informacyjne
Model von Neumanna ALU CPU Cykl rozkazów Kodowanie rozkazów Programowanie Mikroprocesor
Zegar
Clock
clk clk d
clk clk d clk e
clk s
Clock clk clk e clk s
Adam Krasuski Technologie Informacyjne
Model von Neumanna ALU CPU Cykl rozkazów Kodowanie rozkazów Programowanie Mikroprocesor
Stepper Stepper
krok 1
krok 2
krok 3
krok 4
krok 5
krok 6
krok 7
clk reset
clk
krok 1
krok 2
krok 3
krok 4
krok 5
krok 6
krok 7
źródło: na podstawie [1]
Adam Krasuski Technologie Informacyjne
Model von Neumanna ALU CPU Cykl rozkazów Kodowanie rozkazów Programowanie Mikroprocesor
CU
Stepper clk
clk s
clk e reset
źródło: na podstawie [1]
1 2 3 4 5 6 7
Clock
RAM ACC R0 R1 R2
R3
R0 R1 R2 R3
TMP RAM ACC MAR
do ALU
bus1
Adam Krasuski Technologie Informacyjne
Model von Neumanna ALU CPU Cykl rozkazów Kodowanie rozkazów Programowanie Mikroprocesor
CU
Stepper clk
clk s
clk e reset
źródło: na podstawie [1]
1 2 3 4 5 6 7
Clock
RAM ACC R0 R1 R2
R3
R0 R1 R2 R3
TMP RAM ACC MAR
do ALU
bus1
Adam Krasuski Technologie Informacyjne
Model von Neumanna ALU CPU Cykl rozkazów Kodowanie rozkazów Programowanie Mikroprocesor
CPU
ALU
MAR
R1 R2 R3R0
R A
M
bus 1
TMP
A B
ACC
s e s e s e s e
CU Układ
sterowania
s
e s
e s
op
co a> eq z
s
źródło: na podstawie [1]
IRIAR s e s
Adam Krasuski Technologie Informacyjne
Model von Neumanna ALU CPU Cykl rozkazów Kodowanie rozkazów Programowanie Mikroprocesor
Cykl rozkazowy mikroprocesora
Pobierz rozkaz
Zwiększ licznik rozkazów
Zdekoduj rozkaz
Wykonaj rozkaz Faza wykonania
Faza pobrania
Adam Krasuski Technologie Informacyjne
Model von Neumanna ALU CPU Cykl rozkazów Kodowanie rozkazów Programowanie Mikroprocesor
CU
źródło: na podstawie [1]
Stepper clk
clk s
clk e reset
1 2 3 4 5 6 7
Clock
IAR RAM ACC ACC
IAR MAR
do ALU
bus1 IR
IR s
Adam Krasuski Technologie Informacyjne
Model von Neumanna ALU CPU Cykl rozkazów Kodowanie rozkazów Programowanie Mikroprocesor
Cykl rozkazów
MAR
IARACC
ALU
IR
bus1 1
MAR
IARACC
ALU
IR
bus1
MAR
IARACC
ALU
IR
bus1
1 2
3
Adam Krasuski Technologie Informacyjne
Model von Neumanna ALU CPU Cykl rozkazów Kodowanie rozkazów Programowanie Mikroprocesor
Kodowanie rozkazów - ALU
Operacja
000 - ADD 001 - SHL 010 - SHR 011 - NOT 100 - AND 101 - OR 110 - XOR 111 - CMP
Rejestr Instrukcji
Rejestr A
00 - REG 0 01 - REG 1 10 - REG 2 11 - REG 3
Rejestr B
00 - REG 0 01 - REG 1 10 - REG 2 11 - REG 3
Instrukcja ALU
1
28=256 rozkazów
ADD REG1 REG2 1 000 01 10
10000110
Adam Krasuski Technologie Informacyjne
Model von Neumanna ALU CPU Cykl rozkazów Kodowanie rozkazów Programowanie Mikroprocesor
Kodowanie rozkazów - inne
0 - ŁADUJ 1 - ZAPISZ
Rejestr Instrukcji
Rejestr A
00 - REG 0 01 - REG 1 10 - REG 2 11 - REG 3
Rejestr B
00 - REG 0 01 - REG 1 10 - REG 2 11 - REG 3
Instrukcja ŁADUJ/ZAPISZ
0
LD REG1 REG2 0 000 01 10
00000110
0 0
Adam Krasuski Technologie Informacyjne
Model von Neumanna ALU CPU Cykl rozkazów Kodowanie rozkazów Programowanie Mikroprocesor
CU
źródło: na podstawie [1]
Stepper clk
clk s
clk e reset
1 2 3 4 5 6 7
Clock
IAR RAM ACC ACC
IAR MAR
do ALU
bus1 IR
IR s
U kład
kom binacyjny
Adam Krasuski Technologie Informacyjne
Model von Neumanna ALU CPU Cykl rozkazów Kodowanie rozkazów Programowanie Mikroprocesor
CPU
ALU
MAR
R1 R2 R3R0
R A
M
bus 1
TMP