Architektura IBM PC na slajdy1


0
15
15 0 PC
8 7
AH AL
AX CS 0000
DS 0000
BH BL BX
SS 0000
CH CL CX
ES 0000
DH DL DX
15
0
15
0
SP
BP
SI
DI
Bufor
magistrali
Magistrala wewnętrzna
zewnętrznej
6
5
ALU
4
3
2
Jednostka sterująca
1
Rejestr znaczników Kolejka rozkazów
Rejestr rozkazów
Jednostka sterująca
BIU
Jednostka wykonawcza
EU
Architektura mikroprocesora 8086.
Tryb
Tryb
UCC
GND 1 40
minimalny maksymalny
2 39 AD15
AD14
AD16/S3
3 38
AD13
AD17/S4
4 37
AD12
AD18/S5
5 36
AD11
AD19/S6
6 35
AD10
BHE/S7
7 34
AD9
MN/MX
8 33
AD8
9 32 RD
AD7
RQ / GT0
HOLD
10 8086 31
AD6
RQ / GT1
11 30 HLDA
AD5
LOCK
WR
12 29
AD4
S2
13 28 M / IO
AD3
S1
DT / R
14 27
AD2
DEN S0
15 26
AD1
QS0
ALE
16 25
AD0
INTA QS1
17 24
NMI
18 23
INTR TEST
19 22
CLK READY
20 21
RESET
GND
Topografia wyprowadzeń mikroprocesora 8086 z uwzględnieniem dwóch
trybów pracy.
A23....A0
Blok
Zatrzaskujące bufory adresów
BHE,M / IO
generacji
Układ Interfejs
adresów
PEACK
wprowadzania z układami
Sumator
rozkazów rozszerzającymi
adresów
PEREQ
fizycznych
(koprocesorami)
Bazy
READY, HOLD
segmentów
Sterowanie magistrali
S1, S0, COD/ INTA
Kontrola Rozmiary
LOCK, HLDA
ograniczeń segmentów
Bufory danych
D15...D0
Sumator
przemieszczenia
6-bajtowa
kolejka
Blok
rozkazów
interfejsu
RESET
ALU
CLK
Blok
Blok Ste-
dekodera
GND
rejestrów rowa-
roboczych nie
UCC
Kolejka zdekodowanych Dekoder
rozkazów rozkazów CAP
Blok przetwarzania
INTR NMI
BUSY
ERROR
Schemat blokowy mikroprocesora 80286.
Adresy
Blok Blok
segmentacji stronicowania
Zestaw
rejestrów
TLB
Tablica
Sterowanie
deksry-
Blok
Rejestr
ptorów
interfejsu
przesuwający
Dane
Blok
wprowadzania
ALU
Kolejka
Blok
rozkazów
kontroli
Blok prze-
dostępu
twarzania
danych
Dekoder
Sterowanie
Kolejka
rozkazów
Blok programu
Schemat funkcjonalny mikroprocesora 80386.
Pamięć programu
Blok wyprzedzającego
wprowadzania
Rozkaz n+2
Rozkaz n+1
Rozkaz n-2
Rozkaz n
Rozkaz n-1
Rozkaz n
Rozkaz n-1
Rozkaz n+1
Dekoder rozkazów
Rozkaz n+2
Rozkaz n+3
Mikroprocesor
Mechanizm wyprzedzającego wprowadzania kodów rozkazów.
64-bitowa wewnętrzna szyna danych
Szyna danych
32
Szyna danych
32
Szyna adresu liniowego
32
PCD, PWT
Układ przesuwania
Blok segmentacji
Blok pamięci
Blok
Adres A2..A31
2
Cache
stronnicowania
Blok rejestrów Deskryptory
32
20
Długości segmentów
Adres fizyczny
i prawa dostępu
ALU
Dane D0..D31
Blok
128
32
interfejsu
szyny
mikroinstrukcje
Blok
wprowadzania
Sterowanie
Strumień
instrukcji
Kolejka
Jednostka Dekoder rozkazów
Sterowanie
zmiennopozycyjna instrukcji
24
JTAG
Blok rejestrów
Zdekodowane
Pamięć
zmiennopozycyjnych
instrukcje
mikroprogramów
Schemat blokowy mikroprocesora 80486.
TLB
Bufor
Schemat blokowy mikroprocesora
kierunku
Cache programu
Pentium
skoków
8 KB
256
64-bitowa
szyna
32-bitowa
Pamięć
Kolejka rozkazów
danych
szyna
mikroinstrukcji
adresowa
Dekoder instrukcji
ROM
Wskaznik
64-bitowa
instrukcji
szyna
danych
Jednostka sterująca
32-bitowa
Układ generacji Układ generacji
szyna
Blok
adresów adresów
adresowa
stroni-
Blok
cowania
(potok U) (potok V)
interfejsu
Sterowanie
Blok rejestrów
ALU ALU
(potok U) (potok V)
Jednostka zmienno-
Rejestr
przecinkowa
przesuwny
Blok rejestrów
Dodawanie
32
32
Dzielenie
32
Cache danych 32
80
8 KB
TLB Mnożenie
80
32 32
Adres logiczny
Adres liniowy
Adres
+
fizyczny
+
Strona
+
Tablica
+
stron
Tablica
deskrypto-
Baza
rów
Katalog
Baza
tablicy
tablic
katalogu
segmen-
stron
stron
tów
Program Pamięć fizyczna
Blok segmentacji Blok stronnicowania
Mechanizm translacji adresów.
Format deksryptora segmentu pamięci dla 80286
15 0
+6
(zarezerwowane)
A DPL S t y p A Adres bazowy segmentu 23..16
+4
Adres bazowy segmentu 15 ... 0
+2
Wielkość segmentu 15 ... 0
0
Bajt atrybutów
Format deksryptora segmentu pamięci dla 80386 i nowszych
0
15 74
+6
Adres bazowy segmentu 31..24 G D 0 AVL Wielokość 16..19
A DPL S t y p A Adres bazowy segmentu 23..16 +4
Adres bazowy segmentu 15 ... 0 +2
Wielkość segmentu 15 ... 0 0
Bajt atrybutów
Format selektora
15 0
3 2 1
Numer deskryptora TI RPL
Zadania użytkowe
Rozszerzenie systemu operacyjnego
Usługi systemowe
Interfejsy
programowe
Jądro
realizowane
PL = 0
przez CPU.
PL = 1
PL = 2
PL = 3
Hierarchiczny system poziomów uprzywilejowania.
Porównanie parametrów procesorów PENATIUM
Wyszczególnienie Pentium Pentium Pro Pentium MMX Pentium II
Częstotliwość
75 - 200 150 - 200 166/200/233 233-400
procesora [MHz]
Częstotliwość
50/60/66 60/66 66 66
magistrali [MHz]
Szerokość magistrali
64-bity 64-bity 300-bitów 300
wewnętrznej
Pamięć podręczna L1 8 + 8 8 + 8 16 + 16 16 + 16
/rozkazy+dane/ /rozkazy+dane/ /rozkazy+dane/ /rozkazy+dane/
[KB]
Częstotliwość
75 - 200 150-200 166/200/233 233-400
magistrali pamięci L1
[MHz]
Pamięć podręczna L2
----------- 256/512 ------------ 512
[KB]
Częstotliwość
Częstotliwość
----------- 150-200 ------------
magistrali pamięci L2
L1 / 2
[MHz]
Potokowe przetwarzanie danych (Pipelining).
Mechanizm ten pozwala procesorowi na rozbicie pojedynczego rozkazu na kilka-
kilkanaści części - etapów, które są następnie przetwarzane potokowo niczym na
taśmie produkcyjnej. Im więcej etapów, tym na pojedynczy etap przypada mniejszy
zakres zadań i może zostać zastosowana większa częstotliwość taktowania. Każde z
typów zadań ma przydzieloną oddzielną jednostkę do jego wykonywania. Każda
jednostka rozwiązuje tylko jeden, określony typ zadań i wyniki przekazuje do
następnego etapu. W rezultacie uzyskuje się wzrost prędkości roboczej procesora.
Superskalarność
Jest to właściwość procesorów, w których jest więcej niż jeden potok. Procesor
przydziela realizację określonych instrukcji wolnym w danym momencie potokom,
przy jednoczesnym usuwaniu zależności pomiędzy poszczególnymi instrukcjami, aby
uniknąć zbędnego oczekiwania. W wyniku tego żaden z rozkazów znajdujących się w
potoku nie musi oczekiwać na wynik realizacji rozkazu w innym potoku
i wstrzymywać przetwarzania pozostałych poleceń.
Dynamiczne wykonywanie rozkazów (Dynamic Execution).
Pod tym pojęciem kryje się kombinacja trzech technik, po raz pierwszy
zastosowana w Pentium Pro, dzięki którym procesor osiąga znaczny wzrost
wydajności. Są to:
" mechanizm prognozowania rozgałęzień,
" analiza przepływu danych,
" spekulacyjne wykonywanie rozkazów.
Mechanizm prognozowania rozgałęzień.
Zadaniem tego mechanizmu jest przewidywanie miejsca gdzie nastąpi skok po
wykonaniu rozkazu warunkowego. Działanie mechanizmu polega na porównywaniu
i analizie sekwencji rozkazów na poszczególnych etapach potoku. Dzięki czemu jest
on wstanie z dużym prawdopodobieństwem określić, które rozgałęzienie zostanie
wybrane oraz która sekwencja rozkazów będzie przetwarzana jako kolejna, po czym
kontynuuje wykonywanie programu od tego miejsca. Efektywność tego mechanizmu
w praktyce sięga 90%.
Analiza przepływu danych
Jest to jeden z mechanizmów dynamicznego wykonywania rozkazów
w procesorze. Polega na analizie i ustalaniu optymalnej kolejności wykonywania
instrukcji. Analizując przepływające dane procesor sprawdza i określa, czy kolejne
rozkazy są dostępne i czy mogą być wykonane, tzn. czy ich realizacja nie jest zależna
od wyników aktualnie wykonywanych rozkazów.
Spekulacyjne wykonywanie rozkazów (Speculation Execution).
Jest to mechanizm, który pozwala rozpocząć wykonywanie rozkazu wcześniej,
niż to wynika z normalnej sekwencji rozkazów. Procesor wykonuje następne rozkazy,
mimo że czeka na wynik realizowanej równolegle instrukcji skoku. Jeśli za pomocą
mechanizmu prognozowania skoków, procesor prawidłowo ocenił adres skoku,
przyjęta spekulacyjnie koncepcja jest właściwa i przynosi w efekcie duży wzrost
wydajności. Wyniki przetwarzania spekulacyjnego są przetrzymywane chwilowo
w buforze ROB (Re-Order Buffer).
Bufor translacji adresów TLB (Translation Lookside Buffer).
Jest to element pamięci podręcznej, w którym przechowywane są ostatnio
używane odwołania do tablicy pamięci podręcznej. Używany jest do przyspieszenia
wyznaczania adresu fizycznego pamięci. Jeżeli odwołanie do pamięci wykorzystuje
informację zawartą w TLB to czas translacji adresu wynosi tylko pół taktu zegara.
Aączny czas przetwarzania adresu logicznego na fizyczny (wyliczenie adresu
efektywnego, segmentacja i stronicowanie) zajmuje wówczas 2 takty zegara.
Procesor ma zwykle dwa bufory tego typu: jeden dla pamięci podręcznej danych,
drugi dla pamięci podręcznej rozkazów.
Bufor rozgałęzień (Branch target buffer).
Jest to pamięć skojarzeniowa o nie wielkiej pojemności (zwykle 128-512 pozycji)
będąca elementem mechanizmu prognozowania rozgałęzień, której zadaniem jest
prognozowanie skoków w programie. Wykorzystując złożone algorytmy śledzi ona
zawartość pamięci podręcznej programu i wskazuje, opierając się na historii skoków,
który rozkaz powinien być pobrany w następnej kolejności.
Przekazywanie danych (Data forwarding).
Jest to mechanizm, którego działanie polega na przekazaniu danych
odczytanych z pamięci na żądanie jednej instrukcji wszystkim instrukcjom, które ich
żądają a są przetwarzane w innych potokach. Przekazaniem danych steruje procesor.
Dzięki niemu uzyskuje się dane dla kilku instrukcji, przy jednokrotnym dostępie do
pamięci. Mechanizm ten realizuje również czynność przekazania wyniku operacji z
jednego potoku do instrukcji przetwarzanej w drugim potoku w sposób bezpośredni,
tzn. bez zapisu do pamięci czy rejestrów. Mechanizm ten może być stosowany w
procesorach superskalarnych.


Wyszukiwarka

Podobne podstrony:
Architektura IBM PC na slajdy2
Przeglad magistral w komputerach IBM PC
Cały twój PC na pendrivie
Motak M Dzieło Architektury w mieście współczesnym na tle wybranych poglądów powojennych historyk
D Hanulanka, Sklepienia gwiaździste w architekturze późnego gotyku na Śląsku
Przeglad chipsetow w plytach glownych komputerow IBM PC
09 KomorkiMacierzyste9bw (2 slajdy na strone)
Jak patrzec na dzielo architektury
Architektura płyt głównych, standardy zasilania i typy obudów komputerów PC
Pytania do egzaminu dyplomowego na kierunku Urbanistyka i Architektura z przedmiotu

więcej podobnych podstron