A.pdf
(
975 KB
)
Pobierz
Microsoft Word - RDA-07.doc
Dodatek A
Przegld architektury
mikroprocesorów
Wntrze współczesnego komputera klasy PC zawiera szereg produktów najróniejszych
firm. Oferta jest tak bogata, e w niektórych dziedzinach nie sposób byłoby nawet wy-
mieni$ wszystkich znacz%cych producentów. Nie dotyczy to jednak procesorów. Prze-
waaj%ca cz'$ udziałów w obrocie podzielona jest w chwili obecnej pomidzy firmy
Intel i AMD. W starszych komputerach odnale,$ mona 'lady obecno'ci na rynku in-
nych wytwórców.
W dalszej cz'ci rozdziału omówione zostan% produkty nastpuj%cych firm:
AMD (rodziny K5, K6, K7 oraz Hammer);
IBM/Cyrix (M1, M2, ViA Cyrix III ViA);
Intel (Pentium, Pentium MMX, Pentium Pro, Pentium II, Pentium III i Pentium 4
wraz z odmianami);
IDT (WinChip C6 i WinChip 2).
Krótka charakterystyka poszczególnych rodzin procesorów obejmuje zwizły opis, sche-
mat blokowy i tabelarycznie ujte główne cechy architektury. Czytelników chtnych do
dalszego zgłbiania tych zagadnie? odsyłam do odpowiednich stron internetowych.
AMD www.amd.com
Cyrix III (VIA C3) www.via.com.tw
Intel
www.intel.com
Procesory AMD
Rodzina K5
Procesor AM5
K
86 (K5) był pierwszym w pełni niezalenym projektem firmy AMD.
Wszystkie poprzednie modele z serii 386 i 486 kopiowały w mniejszym lub wikszym
stopniu oryginały Intela. J%dro procesora K5 opiera si na superskalarnej architekturze
1165
1166 Anatomia PC
RISC. Napływaj%cy strumie? rozkazów x86 analizowany jest przez dekoder i tłumaczony
na ci%g elementarnych operacji (mikrorozkazów) w wewntrznym kodzie procesora (ry-
sunek A.1). W terminologii AMD takie elementarne rozkazy RISC nosz% miano ROP (
RISC
Operations
). Rozkazy proste tłumaczone s% przez dekoder pracuj%cy w szybkim trybie
(
Fast Path
), a rozkazy bardziej skomplikowane wymagaj% odwołania si do sekwencera
rozwijaj%cego odpowiedni% sekwencj ROP z pamici stałej EPROM. Niezalenie od
sposobu kodowania, cegiełki ROP maj% zawsze stał% długo'$.
Rysunek A.1.
Schemat blokowy
procesora AMD K5
>aaobpp
I.¦@lab¦@^`eb7¦.3h?
0/
?o^k`e
Mobaf`qflk
?vqb¦Nrbrb
A^q^
31
Ab`labo
?RP
Fkqboc^`b
Rkfq
@lkqoli
OP
OP
OP
OP
OP
?o^k`e
Pqlob
#
Il^a
Pqlob
#
Il^a
>IR*.
>IR*/
CM
@il`h
I.¦A^q^¦@^`eb7¦5h?
OL?
Wypływaj%cy z dekodera strumie? ROP kierowany jest do jednostek wykonawczych.
K5 dysponuje sze'cioma takimi jednostkami: dwoma arytmetyczno-logicznymi dla liczb
całkowitych, jedn% dla zmiennoprzecinkowych, dwoma kanałami do obsługi operacji typu
Load/Store
i jedn% do przetwarzania instrukcji rozgałzie?. Nad wła'ciwym rozdziałem
ROP do odpowiednich jednostek czuwa system dystrybucji (
Dispatcher
), który potrafi
rozesła$ w jednym cyklu zegarowym maksymalnie cztery mikrorozkazy. Je'li dana jed-
nostka jest aktualnie zajta, skierowane do niej mikrokody oczekuj% w kolejce RS (
Rese-
rvation Station
). Zdecydowana wikszo'$ ROP moe by$ kierowana do dowolnej z dwóch
jednostek ALU, a tylko nieliczne z nich wymagaj% obsługi przez konkretn% jednostk.
Dua wydajno'$ procesora gwarantowana jest jedynie w sytuacji stałego i pełnego wyko-
rzystania wszystkich jednostek wykonawczych. W trosce o nieprzerwany dopływ ROP
do tych układów procesor wyposaony został w szereg dodatkowych mechanizmów wspo-
magaj%cych. Do najwaniejszych z nich zaliczy$ naley opisane wcze'niej systemy
Register
Renaming
oraz
Data Forwarding
. Procesor przetwarza w miar moliwo'ci równie poza
kolejno'ci% (
Out of Order Execution
), a zlokalizowany u wylotu potoku 16-stopniowy
bufor ROB (
Reorder Buffer
) odpowiada za ponowne uszeregowanie rozkazów zgodnie
z pozycj% zajmowan% w realizowanej sekwencji rozkazów x86.
1166
Dodatek A
Przegld architektury mikroprocesorów 1167
Tabela A.1. Podstawowe dane procesorów AMD K5
PR-100
PR-133
PR-166
Architektura
RISC
Zegar CPU [MHz]
100
100
116
Magistrala [MHz]
66
66
66
Mno'nik (BF)
×1,5 (BF = 1)
×1,5 (BF1/BF0 = 10) ×1,75 (BF1/BF0 = 00)
L1 Cache (kod)
16 KB, 1 Bank, 4× Associative, Dual Tags (linear+phys.), Line Cache 32 byte
L1 Cache (dane)
8 KB, 4 Banks, 4× Associative, Dual Tags, MESI, WB, Line Cache 32 byte
L2 Cache on Chip
Pipe-Lines
6
Pipe-Line Stages
5
Out of Order Execution
, 16
Branch History Table
1024
Branch Target Buffer
1024
V
CORE
/V
I/O
[V]
3,52
Pobór mocy, typ. [W]
12,6
10,6
12,3
Return Stack
Renaming Registers
Performance Monitoring
(A)
Time Stamp Counter
Podstawka
Socket 7, P54C
(A)
System niezgodny z Pentium.
System przewidywania rozgałzie? zapamituje 1024 adresy skoków i gwarantuje współ-
czynnik trafienia około 75%. Napotkanie rozgałzienia powoduje, i pobieranie kolej-
nych instrukcji odbywa si w kierunku typowanym przez układ przepowiadania. Instruk-
cje s% dekodowane i wykonywane, ale ich wyniki przechowuje si w buforze ROB do
czasu potwierdzenia słuszno'ci drogi wybranej na podstawie przypuszcze?. Je'li prze-
widywanie okae si fałszywe, procesor traci 3 takty zegara potrzebne na oprónienie
potoków, rejestrów i buforów.
Pami$ podrczna procesora podzielona jest na wyizolowane bloki obsługuj%ce w nie-
zaleny sposób dane i kod. K5 przeznacza dla kodu 16 KB, co stanowi warto'$ dwu-
krotnie wiksz% ni w Pentium. Kady z zapamitywanych bajtów opatrzony jest dodat-
kow% 5-bitow% sygnatur% (
Pre-Code Bits
), bd%c% wynikiem pracy układu dekodowania
wstpnego. W ten sposób ulega skróceniu czas przebywania instrukcji w układzie wła-
'ciwego dekodera. Pami$ podrczna danych zajmuje 8 KB. System pamici podrcz-
nej zorganizowany jest w linijki 32-bajtowe, jednak najmniejsz% porcj% informacji wy-
mienianej z pamici% operacyjn% s% dwie takie linijki. Magistrala przystosowana jest
wic w naturalny sposób do obsługi adresów le%cych na granicy 64 bajtów (
Q-Word
).
Próba dostpu do obiektu le%cego „gdzie' pomidzy” dzielona jest przez wikszo'$
procesorów na dwa cykle. K5 potrafi jednak wygenerowa$ taki zestaw sygnałów steru-
j%cych (
Split Line Access
), by omawiany problem nie wyst%pił.
1167
1168 Anatomia PC
Układ sterowania pamici% podrczn% procesora K5 (zarówno dla kodu, jak i danych)
prowadzi podwójny system katalogów (
Dual Tagged
). W jednym z nich przechowywane
s% adresy fizyczne, a w drugim adresy liniowe. Osi%gane w ten sposób znaczne przy-
spieszenie dostpu do pamici podrcznej okupywane jest konieczno'ci% dodatkowego
rozbudowania układów steruj%cych dla potrzeb nadzorowania spójno'ci (
Cache Tag Re-
covery
) dwóch systemów adresowania.
Rodzina K6
Projekt tego procesora nie był w zasadzie dziełem AMD, lecz przejty został wraz z za-
kupion% firm% NexGen. Poł%czenie okazało si niezmiernie korzystne dla obu stron.
Rozwijana przez NexGen nowoczesna technologia
1
została zaadaptowana dla potrzeb
niezmiernie chłonnego rynku komputerów klasy PC i wypromowana przez firm, która
wprawdzie zdobyła ju pozycj w tym sektorze, ale nadal nie dysponowała atrakcyjnym
produktem, który mógłby skutecznie odpiera$ nieustaj%ce ataki konkurencji.
Tak wic zakupiony procesor (wtedy jeszcze o nazwie Nx686) został na tyle przebudo-
wany, by zmie'cił si w podstawce Socket 7 typowej płyty głównej i zaj%ł miejsce pro-
cesora Pentium. Uzyskany produkt ko?cowy otrzymał nazw handlow% K6, co miało
stanowi$ nawi%zanie do sprzedawanego do tej pory przez AMD własnego opracowania
znanego pod symbolem K5.
K6 był jak na owe czasy konstrukcj% bardzo nowoczesn% i pod wieloma wzgldami prze-
wyszał swych aktualnych konkurentów. J%dro procesora pracowało w trybie RISC. Opera-
cje w kodzie x86 rozkładane były na krótkie kody wewntrzne, nosz%ce tym razem miano
RISC86. Układ dekodera był niezmiernie wydajny. Pobieraj%c jednorazowo 16 bajtów kodu
x86, produkował w ramach jednego cyklu zegarowego do 4 mikroinstrukcji (rysunek A.2).
Opuszczaj%ce dekoder mikroinstrukcje spływały do zbiornika po'redniego (
Scheduler
),
gdzie oczekiwały na zwolnienie wła'ciwej dla danego rozkazu jednostki przetwarzaj%cej.
Procesor dysponował sze'cioma takim układami: dwoma dla operacji na danych całko-
witych (
Integer
), po jednym dla przesła? do i z pamici, zmiennoprzecinkowego i MMX.
Wszystkie jednostki z wyj%tkiem dwóch ostatnich
2
mogły przetwarza$ mikrokody RISC
równolegle i jednocze'nie.
Wzajemne uzalenienia kodu w strumieniach równoległych rozwi%zywane były poprzez
przemianowywanie rejestrów. Do dyspozycji tej funkcji oddano 32 dodatkowe rejestry
32-bitowe. Układ przepowiadania 'ledził zachowanie 8192 instrukcji rozgałzie?, przez
co cechował si bardzo du% dokładno'ci% trafie?.
K6 wyposaony został w 64 KB pamici podrcznej, po 32 KB dla kodu i danych, co sta-
nowiło warto'$ czterokrotnie wysz% ni w przypadku Pentium i dwukrotnie wysz%
1
Płyta główna zdolna do przyjFcia procesora NexGen bazowała na specjalnie opracowywanych do tego celu
układach scalonych (Chip-Set). WinF za to ponosiła całkowita niezgodnoIJ z architekturami „intelopodobnymi”,
na przykład specjalna superszybka magistrala łMczMca procesor z pamiFciM podrFcznM L2.
2
Projekt jednostki MMX przejFty został od Intela na mocy wzajemnej umowy licencyjnej. Koncepcja wyklucza
jednoczesnM pracF MMX i FPU, bowiem obydwa bloki korzystajM ze wspólnych rejestrów.
1168
Dodatek A
Przegld architektury mikroprocesorów 1169
Rysunek A.2.
Schemat blokowy
procesora AMD K6
F*QI?7¦31¦bkqofbp
>aaobpp
I.¦@lab¦@^`eb7¦0/h?
./5
0/
?o^k`e
Ildf`
%5.6/¦bkqofbp&
AB@LABO
u53¦*;¦OFP@
A^q^
1¦OFP@
Lrq*lc*Loabo
Bub`rqflk¦Bkdfkb
31
OFP@¦ /0
?RP
Fkqboc^`b
Rkfq
Fkpqor`qflk
@lkqoli
Rkfq
P@EBARIBO
+++
OFP@¦ .
OFP@¦ -
@lkqoli
.¦OFP@
?o^k`e
Rkfq
Il^a
Pqlob Fkq+U Fkq+V JJU CM
@il`h
I.¦A^q^¦@^`eb7¦0/h?
A*QI?7¦./5¦bkqofbp
ni dla Pentium MMX. Na uwag zasługuje równie organizacja pamici po'redniej jed-
nostki MMU. Tablice TLB (
Transaction Look-aside Buffer
) dla kodu potrafiły zapamita$
do 128 rekordów (dla porównania — Pentium Pro tylko 32).
Rodzina K6-2
W połowie 1998 roku na rynku pojawiły si procesory K6 (j%dro typu
Chomper
) dosto-
sowane do pracy z magistral% FSB 100 MHz. Firma AMD rzuciła w ten sposób wyra,ne
wyzwanie monopolistycznej polityce Intela, ukierunkowanej na rozwój linii Pentium II
i wyeliminowanie szeroko rozpowszechnionej podstawki Socket 7. Poniewa obowi%-
zuj%ca w tym zakresie specyfikacja dopuszczała maksymaln% czstotliwo'$ szyny FSB,
wynosz%c% 66 MHz, nowy wynalazek propagowany był jako podstawka Super 7 (Soc-
ket Super 7).
Prawidłowe rozpoznanie i skonfigurowanie nowego procesora wymagało obsługi ze strony
BIOS-u (ew. konieczno'$ aktualizacji) i płyty głównej. Na straconej pozycji znale,li si
posiadacze płyt pozbawionych wyprowadzenia ko?cówki BF2, co uniemoliwiało ustawie-
nie mnonika powyej ×3,5. Trzeba te było zwraca$ uwag na dostateczn% wydajno'$
,ródła pr%dowego (co najmniej 10 A).
Procesory K6-2 mogły współpracowa$ z magistral% FSB zarówno w wersji 66 MHz, jak
i 100 MHz, przy czym chipsety do tych ostatnich pochodziły wył%cznie od konkurentów
1169
Plik z chomika:
KSnake
Inne pliki z tego folderu:
Podkrecanie_procesora_DualCore.pdf
(5447 KB)
mikroprocesor.ppt
(2819 KB)
A.pdf
(975 KB)
procesor.pdf
(667 KB)
ScanImage004.jpg
(538 KB)
Inne foldery tego chomika:
00budowa_komputera
02architekturaPC
03pamieciPC
04chipset
05przerwania_sprzetowe
Zgłoś jeśli
naruszono regulamin