Architektura Systemów Mikroprocesorowych

Transkrypt

Architektura Systemów Mikroprocesorowych
J. Sugier, TC2
J. Sugier, TC2
II ARCHITEKTURA SYSTEMÓW MIKROPROCESOROWYCH
Technika Cyfrowa 2
1. WSTĘP
Wykład 2:
ƒ [Misiurewicz]:
Architektura Systemów
Mikroprocesorowych
Mikroprocesor - uniwersalny układ scalony VLSI, mogący realizować
sekwencje elementarnych operacji przetwarzania informacji.
dr inż. Jarosław Sugier
[email protected]
ƒ Operacje te należą do pewnego zbioru zwanego listą rozkazów - zbiór ten
jest funkcjonalnie pełny, tzn. może realizować dowolnie złożony algorytm
przetwarzania informacji.
IIAR, pok. 227 C-3
ƒ Sekwencja operacji wykonywanych przez µprocesor = program, zapisany w
pamięci.
2-1
2-2
J. Sugier, TC2
J. Sugier, TC2
1.1 Architektura trójmagistralowa systemu µproc
Magistrala
adresowa
Magistrala
danych
Trzy podstawowe składniki systemu mikroprocesorowego
ƒ (mikro)procesor (CPU - Central Processing Unit)
Magistrala
sterująca
ƒ pamięć - Random Access Memory (RAM) / Read-Only Memory (ROM).
ƒ urządzenia WE/WY - diody, klawisze …
Pamięć
RAM
CPU
Architektura von Neumanna
Pamięć
ROM
ƒ jeden procesor przetwarzający informacje;
ƒ zarówno program, jak i przetwarzane dane przechowywane są we wspólnej
pamięci.
Porty
WE/WY
Architektury inne – np. równoległe, wieloprocesorowe, rozdzielenie pamięci
danych i programu (a. harwardzka), specjalizowane …
2-3
2-4
J. Sugier, TC2
J. Sugier, TC2
Magistrale
Magistrala - zespół linii sygnałów binarnych
a) adresowa - przesyła adres, wybierający określoną komórkę pamięci lub
urządzenie (port) WE/WY
b) danych - przesyła dane między mikroprocesorem a wybraną komórką
pamięci lub portem WE/WY
Pamięć
Model: pamięć = jednowymiarowa tablica rejestrów
c) sterująca - zawiera sygnały sterujące, synchronizujące proces przesyłania.
Max. adres: 216 – 1 = 0FFFFh
Słowo maszynowe
Rodzaje pamięci & technologie:
- ilość informacji, przetwarzana przez procesor w jednym rozkazie.
RAM
- Random Access Memory
Zazwyczaj:
- jest wielokrotnością 8 (ew. 4) b.
ROM
PROM
- Read Only Memory
- Programmable ROM
- odpowiada rozmiarowi rejestrów wewnętrznych procesora
- odpowiada szerokości magistrali danych
EPROM - Erasable ROM
EEPROM - Electrically Erasable PROM; => Flash
Procesory 8-bitowe ⇒ słowo maszynowe 8-bitowe.
• Technologie analogiczne do PLD
Np. organizacja pamięci w systemach 8080 / XRAM w 8051:
– komórka pamięci 8-bitowa (1 bajt)
– adres 16-bitowy
0000
HEX
2-5
0001HEX
0002HEX
Å8bÆ
FFFFHEX
2-6
1
J. Sugier, TC2
Magistrale procesorów f-my Intel
Address Bus [b]
Addr. Space
808/8085, Z-80
16
64 kB
8
8086
20
1 MB
16
80286
24
16 MB
16
80386 DX, 80486
32
4 GB
32
Pentium
32
4 GB
64
36
64 GB
64
J. Sugier, TC2
Dzisiaj – np. Intel P35 Express chipset
Data Bus [b]
(…)
Pentium Core2
Uwagi:
• Pojęcie „przestrzeń adresowa” nie jest już takie proste począwszy od 80286
(stronicowanie, pamięć wirtualna).
• 1 k = 210 = 1024
1 M = 220 = 1024 k = 1 048 576
1 G = 230 = 1024 M = 1 073 741 824
Np.:
120×109 : 230 ≈ 112 G (93%)
4,70×109 : 230 ≈ 4,38 G
8,54×109 : 230 ≈ 7,95 G
– pojemność HDD „120 GB”
– pojemność DVD-5 (12 cm, SS / SL)
– pojemność DVD-9 (12 cm, SS / DL)
2-7
2-8
J. Sugier, TC2
J. Sugier, TC2
2. ARCHITEKTURA MIKROPROCESORA
Elementy
Architektura procesora: sposób, w jaki widzi i używa go użytkownik
(architektura vs organizacja).
ƒ Rejestry robocze
ƒ Dwa wyróżnione specjalne rejestry sterujące:
– licznik rozkazów (Program Counter, PC) - adres komórki pamięci z
następnym rozkazem do wykonania;
CPU
MAGISTRALA
DANYCH
Rejestr flag
– wskaźnik stosu (Stack Pointer, SP) - wskazuje koniec obszaru pamięci,
zwanego stosem.
Rejestr rozkazów
Układ
Sterujący
ALU
ƒ Jednostka arytmetyczno – logiczna (Arithmetic - Logic Unit, ALU),
wykonująca na danych w rejestrach operacje arytmetyczne (suma, różnica,
niekiedy iloczyn / iloraz) oraz logiczne (logiczna suma / iloczyn bitowy itp.).
ƒ Rejestr flag; zawiera flagi – znaczniki bitowe, ustawiane przez ALU w
zależności od wyniku wykonanej operacji; typowe flagi: nadmiar
(przekroczenie zakresu), zero, parzysta liczba bitów równych jeden...
Rejestry
robocze
...
...
Wskaźnik stosu
Licznik rozkazów
MAGISTRALA
ADRESOWA
ƒ Rejestr rozkazów – przechowuje pobrany z komórki pamięci kod
wykonywanego rozkazu.
ƒ Układ sterujący – najogólniej: dekoduje rozkaz i steruje jego wykonaniem.
MAGISTRALA
STERUJĄCA
2-9
2-10
J. Sugier, TC2
J. Sugier, TC2
Podstawowy cykl pracy procesora
Zaburzenia pracy sekwencyjnej
Tzw. cykl rozkazowy:
pobierz rozkaz / wykonaj rozkaz
Pobranie rozkazu
Wczytaj do rejestru rozkazów bajt pamięci spod adresu przechowywanego w PC
(tzw. cykl odczytu pamięci, praca magistral); zdekoduj rozkaz, tzn. zinterpretuj bajt
jako polecenie z listy rozkazów procesora.
Wykonanie rozkazu
Zależy od konkretnej treści: ew. wczytanie kolejnych bajtów rozkazu z komórek
pamięci (tzw. operandy), wykonanie operacji w ALU, zapisanie wyniku w
rejestrze wewnętrznym lub komórce pamięci (tzw. cykl zapisu pamięci)...
Kodowanie listy rozkazów procesora
...sposób binarnej reprezentacji rozkazów w komórkach pamięci.
Kody rozkazów przechowywane w pamięci tak samo jak dane – jedna z cech
architektury von Neumanna.
Typowo w komórkach pamięci znajduje się sekwencja rozkazów do
wykonania (każdy zajmuje wraz z argumentami 1 ÷ 2...4 bajtów), które są
wykonywane „jeden po drugim”. Zaburzenia:
ƒ rozkaz skoku: kontynuuj wykonywanie programu od wskazanego adresu;
ƒ wywołanie podprogramu (tzw. skok ze śladem): zapamiętaj bieżący adres
programu na stosie, przejdź do wykonywania programu od wskazanego
adresu z możliwością powrotu do miejsca zapamiętanego (powrót z
podprogramu);
ƒ obsługa przerwania; przerwanie = zdarzenie nadzwyczajne, przerywające
aktualnie wykonywany program, powodujące przejście do wykonywania tzw.
podprogramu obsługi przerwania.
Program startowy
Program umieszczany w pamięci stałej od adresu startowego danego
procesora, tzn. od adresu wpisywanego do rejestru PC po inicjalizacji
zasilania (zwykle jest to adres zerowy, choć nie zawsze).
2-11
2-12
2
J. Sugier, TC2
3. PODSTAWOWE OPERACJE SPRZĘTOWE
J. Sugier, TC2
Np. MEMR:
1. ODCZYT PAMIĘCI (MEMR): przesłanie zawartości komórki pamięci do
rejestru wewnętrznego procesora
Mag. adresowa
2. ZAPIS PAMIĘCI (MEMW): przesłanie zawartości rejestru wewnętrznego
procesora do komórki pamięci
Sygnał sterujący
3. ODCZYT PORTU WE/WY (IOR): przesłanie bajtu z portu WE do rejestru
wewnętrznego procesora
Mag. danych
4. ZAPIS PORTU WE/WY (IOW): przesłanie rejestru wewnętrznego procesora
do portu WY
CPU Å MEM
CPU Æ MEM
CPU Å WE/WY
CPU Æ WE/WY
zawartość komórki
ƒ Wartość magistrali adresowej oraz sygnał sterujący ustawia procesor; wartość
magistrali danych – układ pamięci.
Sygnały magistrali sterującej (wyprowadzenia procesora):
8085
IO/!M !RD !WR
0
0
1
0
1
0
1
0
1
1
1
0
adres komórki pamięci
ƒ „Sygnał sterujący” na rysunku: z magistrali sterującej; przyjmuje wartość
aktywną (niską) gdy następuje odczyt MEMR:
Z 80
!MREQ !IORQ !RD !WR
0
1
0
1
0
1
1
0
1
0
0
1
1
0
1
0
dla 8085
dla Z80
„Sygnał sterujący” = IO / !M + !RD
„Sygnał sterujący” = !MREQ + !RD
2-13
2-14
J. Sugier, TC2
J. Sugier, TC2
3.1 Przykład: interfejs pamięci ROM
Organizacja obszaru
Zadanie
Zaprojektować realizację obszaru pamięci ROM w systemie procesora Z80
używając układów EPROM TMS 2732. Rozmiar obszaru: 8kB, adres
początkowy: 4000hex.
• 8 kB = 213 kB ⇒ zakres adresów
0100 0000 0000 00002 ÷ 0101 1111 1111 11112 ( 4000hex ÷ 5FFFhex)
Sygnały Z80
ƒ magistrala adresowa A0 – A15
ƒ magistrala danych D0 – D7
ƒ sygnały sterujące !MREQ, !RD
A0 ÷
A11
2732
• 8 kB : 4 kB = 2 ⇒ potrzebne są dwa układy 2732: pierwszy (A) dla zakresu
4000hex ÷ 4FFFhex, drugi (B) dla zakresu 5000hex ÷ 5FFFhex:
A15÷A12 = 01002 ⇒ wybór układu (A),
D0 ÷
D7
A15÷A12 = 01012 ⇒ wybór układu (B).
4k x 8
• Sygnał CS = dekodowanie adresu z powyższych zakresów;
dekoder „1 z 16” 74F154
Układ TMS 2732
Pamięć ROM o organizacji 4k słów 8-bitowych
4k słów = 212 ⇒ 12 wyprowadzeń adresowych
Sygnały:
CS OE
!CS (Chip Select) – wybór układu
!OE (Output Enable) – otworzenie 3-stanowych buforów wyjściowych
(wyjścia D0 ÷ D7 są trójstanowe).
• Sygnały A11÷A0 procesora dołączone do wyprowadzeń adresowych układów
pamięci
• Sygnał !OE = !MREQ + !RD (sygnały sterujące Z80).
2-15
2-16
J. Sugier, TC2
J. Sugier, TC2
Uwagi
Wynik
• Przenoszenie obszarów pamięci poszczególnych układów (A) lub (B) ⇒
dołączenie sygnałów CS do innych wyjść dekodera 74F154, np. wyjście 7
przenosi układ w obszar 7000hex ÷ 7FFFhex.
Address bus
A0÷
A11
2732
A0
÷
A11
D0
÷
D7
A0÷
A11
2732
A0
÷
A11
A
CS
Data bus
• Jest to tzw. dekodowanie pełne adresu: uczestniczą w nim wszystkie linie A0 ÷
A15.
D0
÷
D7
• Możliwe dekodowanie niepełne; np. !CS = A12 (skrajność), wówczas:
B
OE
CS
układ (A) powielony ośmiokrotnie pod adresami 0000hex / 2000hex / 4000hex
/ 6000hex / 8000hex / A000hex / C000hex / E000hex;
OE
układ (B) powielony ośmiokrotnie pod adresami 1000hex / 3000hex / 5000hex
/ 7000hex / 9000hex / B000hex / D000hex / F000hex.
74F154
A12 A0
A13 A1
A14 A2
A15
A3
E0
E1
Q0
Q1
Q2
Q3
Q4
Q5
Q6
.
.
.
• Pominięto problem buforowania magistrali danych (zdano się na buforowanie
wyjść w układach 2732); w praktyce często ze względu na obciążalność wyjść
konieczne jest stosowanie dodatkowych układów separująco-buforujących.
• Zwiększanie długości słowa pamięci ⇒ łączenie równoległe układów, np. o
organizacji 4k x 4; układy o dużej pojemności ze słowami 1b.
MREQ
RD
2-17
2-18
3
J. Sugier, TC2
3.2 Pamięć RAM
• Dwukierunkowy przepływ danych (zapis / odczyt), bufory dwukierunkowe
• W niektórych układach oddzielne wejście (zapis) / wyjście (odczyt) danych
• Specyfika pamięci dynamicznych: dla poprawnej pracy wymagają tzw.
odświeżania – wykonania cykli odczytu z określoną częstotliwością
minimalną.
2-19
4

Podobne dokumenty