Strukturalna organizacja systemow komputerowych Wydanie V.pdf

(2516 KB) Pobierz
IDZ DO
PRZYK£ADOW Y ROZDZIA£
Strukturalna organizacja systemów
komputerowych. Wydanie V
SPIS TREŒCI
KATALOG KSI¥¯EK
Autor: Andrew S. Tanenbaum
T³umaczenie: Andrzej Gra¿yñski (rozdz. 6–9, dod. A– C),
Pawe³ Koronkiewicz (przedmowa, rozdz. 1–5)
ISBN: 83-246-0238-0
Format: B5, stron: 864
KATALOG ONLINE
ZAMÓW DRUKOWANY KATALOG
TWÓJ KOSZYK
Doskona³e omówienie zasad dzia³ania wspó³czesnych komputerów
Dowiedz siê, jak dzia³aj¹ procesory i magistrale
Poznaj regu³y algebry logiki
Odkryj tajemnice wspó³czesnych systemów operacyjnych
Dla wiêkszoœci u¿ytkowników komputerów, nawet tych, dla których komputer jest
narzêdziem pracy, wiedza o tym urz¹dzeniu koñczy siê na umiejêtnoœci instalowania
i uruchamiania aplikacji. Wspó³czesne, intuicyjne systemy operacyjne, technologie
maksymalnie upraszczaj¹ce pracê z komputerem, ³atwe w obs³udze aplikacje —
wszystko to powoduje, ¿e znajomoœæ zasad funkcjonowania komputerów wydaje siê
nam niepotrzebna. Tymczasem taka wiedza mo¿e okazaæ siê przydatna nie tylko
specjaliœcie, ale równie¿ zwyk³emu u¿ytkownikowi. Dziêki niej twórcy aplikacji s¹
w stanie zoptymalizowaæ ich dzia³anie i zrozumieæ przyczyny b³êdów, projektanci
urz¹dzeñ peryferyjnych wybraæ najlepszy sposób komunikacji swojego produktu
z komputerem, a osoby zainteresowane kupnem nowego sprzêtu dokonaæ
œwiadomego wyboru.
W ksi¹¿ce „Strukturalna organizacja systemów komputerowych. Wydanie V”
zaprezentowano system komputerowy w ujêciu hierarchicznym, jako zespó³ zale¿nych
od siebie warstw. Poznajemy go, poczynaj¹c od poziomu „logiki cyfrowej”, poprzez
mikroarchitekturê i poziom maszynowy, a¿ do poziomu systemu operacyjnego i jêzyka
asemblera. Ksi¹¿ka przedstawia równie¿ historiê rozwoju komputerów, zadania
systemów operacyjnych, zasady programowania w jêzyku maszynowym oraz
architektury najpopularniejszych procesorów.
Procesory i pamiêæ operacyjna
Wykonywanie rozkazów jêzyka maszynowego
Operacje wejœcia i wyjœcia
Arytmetyka cyfrowa
Magistrale ISA, PCI oraz PCI Express
Przetwarzanie danych przez procesory
Programowanie w jêzyku asemblera
Dzia³anie systemów operacyjnych
Przetwarzanie rozproszone i obliczenia równoleg³e
Dowiedz siê jak dzia³a Twój komputer
DODAJ DO KOSZYKA
CENNIK I INFORMACJE
ZAMÓW INFORMACJE
ONOWOŒCIACH
ZAMÓW CENNIK
CZYTELNIA
FRAGMENTY KSI¥¯EK ONLINE
Wydawnictwo Helion
ul. Chopina 6
44-100 Gliwice
tel. (32)230-98-63
e-mail: helion@helion.pl
946083838.020.png 946083838.021.png 946083838.022.png 946083838.023.png 946083838.001.png 946083838.002.png 946083838.003.png 946083838.004.png 946083838.005.png 946083838.006.png 946083838.007.png 946083838.008.png 946083838.009.png 946083838.010.png 946083838.011.png 946083838.012.png 946083838.013.png 946083838.014.png
 
S PIS TREŚCI
O autorze ..............................................................................................................13
Przedmowa do wydania polskiego .....................................................................15
Przedmowa ..........................................................................................................19
1.
Wprowadzenie .....................................................................................................23
1.1. Strukturalna organizacja komputera .......................................................................................................24
1.1.1. Języki, poziomy i maszyny wirtualne .......................................................................................24
1.1.2. Współczesne komputery wielopoziomowe ...............................................................................26
1.1.3. Ewolucja komputerów wielopoziomowych ..............................................................................29
1.2. Kamienie milowe architektury komputerów ..........................................................................................34
1.2.1. Generacja 0 — komputery mechaniczne (1642 – 1945) ...........................................................36
1.2.2. Pierwsza generacja — lampy próżniowe (1945 – 1955) ...........................................................38
1.2.3. Druga generacja — tranzystory (1955 – 1965) .........................................................................40
1.2.4. Trzecia generacja — układy scalone (1965 – 1980) .................................................................43
1.2.5. Czwarta generacja — bardzo duża skala integracji (1980 – ?) .................................................44
1.2.6. Piąta generacja — niewidzialne komputery ..............................................................................47
1.3. Komputerowe zoo ..................................................................................................................................48
1.3.1. Siły techniczne i ekonomiczne .................................................................................................48
1.3.2. Rodzaje komputerów ................................................................................................................50
1.3.3. Komputery jednorazowego użytku ...........................................................................................50
1.3.4. Mikrosterowniki .......................................................................................................................52
1.3.5. Komputery do gier ....................................................................................................................54
1.3.6. Komputery osobiste ..................................................................................................................55
1.3.7. Serwery .....................................................................................................................................56
1.3.8. Grupy stacji roboczych .............................................................................................................56
1.3.9. Komputery mainframe ..............................................................................................................56
1.4. Rodziny komputerów — przykłady .......................................................................................................57
1.4.1. Pentium 4 ..................................................................................................................................58
1.4.2. UltraSPARC III ........................................................................................................................63
1.4.3. 8051 ..........................................................................................................................................64
1.5. Komputerowe jednostki miar .................................................................................................................66
1.6. Układ książki ..........................................................................................................................................67
946083838.015.png 946083838.016.png 946083838.017.png 946083838.018.png
6
SPIS TREŚCI
2.
Organizacja systemów komputerowych ...........................................................71
2.1. Procesory ................................................................................................................................................71
2.1.1. Organizacja jednostki centralnej ...............................................................................................72
2.1.2. Wykonanie rozkazu ..................................................................................................................73
2.1.3. RISC i CISC .............................................................................................................................77
2.1.4. Reguły projektowania współczesnych komputerów .................................................................78
2.1.5. Równoległość na poziomie rozkazów ......................................................................................80
2.1.6. Równoległość na poziomie procesorów ...................................................................................84
2.2. Pamięć główna .......................................................................................................................................88
2.2.1. Bity ...........................................................................................................................................88
2.2.2. Adresowanie pamięci ...............................................................................................................89
2.2.3. Porządek bajtów .......................................................................................................................90
2.2.4. Kody korekcji błędów ..............................................................................................................92
2.2.5. Pamięć podręczna .....................................................................................................................96
2.2.6. Obudowy i typy pamięci ...........................................................................................................99
2.3. Pamięć pomocnicza ..............................................................................................................................100
2.3.1. Hierarchie pamięci ..................................................................................................................100
2.3.2. Dyski magnetyczne .................................................................................................................101
2.3.3. Dyskietki ................................................................................................................................104
2.3.4. Dyski IDE ...............................................................................................................................105
2.3.5. Dyski SCSI .............................................................................................................................107
2.3.6. Macierze RAID ......................................................................................................................108
2.3.7. Dyski CD-ROM ......................................................................................................................112
2.3.8. Nagrywalne dyski CD ............................................................................................................116
2.3.9. Dyski CD wielokrotnego zapisu .............................................................................................118
2.3.10. Dyski DVD .............................................................................................................................118
2.3.11. Blu-Ray ..................................................................................................................................120
2.4. Urządzenia wejścia-wyjścia .................................................................................................................121
2.4.1. Magistrale ...............................................................................................................................121
2.4.2. Terminale ................................................................................................................................124
2.4.3. Myszy .....................................................................................................................................128
2.4.4. Drukarki ..................................................................................................................................130
2.4.5. Wyposażenie telekomunikacyjne ............................................................................................135
2.4.6. Cyfrowe aparaty fotograficzne ...............................................................................................143
2.4.7. Kody znakowe ........................................................................................................................145
2.5. Podsumowanie .....................................................................................................................................149
3.
Poziom układów logicznych .............................................................................153
3.1. Bramki i algebra Boole’a .....................................................................................................................153
3.1.1. Bramki ....................................................................................................................................154
3.1.2. Algebra Boole’a ......................................................................................................................156
3.1.3. Implementacja funkcji logicznych ..........................................................................................158
3.1.4. Równoważność układów logicznych ......................................................................................160
3.2. Podstawowe układy cyfrowe ................................................................................................................163
3.2.1. Układy scalone .......................................................................................................................163
3.2.2. Układy kombinacyjne .............................................................................................................165
3.2.3. Układy arytmetyczne .............................................................................................................. 170
3.2.4. Zegary .....................................................................................................................................174
946083838.019.png
 
7
SPIS TREŚCI
3.3. Pamięć ..................................................................................................................................................175
3.3.1. Zatrzaski .................................................................................................................................176
3.3.2. Przerzutniki ............................................................................................................................178
3.3.3. Rejestry ...................................................................................................................................180
3.3.4. Organizacja pamięci ...............................................................................................................182
3.3.5. Układy pamięci .......................................................................................................................184
3.3.6. Pamięci ROM i RAM .............................................................................................................187
3.4. Układy procesorów i magistrale ...........................................................................................................190
3.4.1. Układy procesorów .................................................................................................................190
3.4.2. Magistrale ...............................................................................................................................192
3.4.3. Szerokość magistrali ...............................................................................................................195
3.4.4. Taktowanie magistrali ............................................................................................................196
3.4.5. Arbitraż magistrali ..................................................................................................................201
3.4.6. Operacje magistrali .................................................................................................................204
3.5. Przykładowe układy procesorów ..........................................................................................................206
3.5.1. Pentium 4 ................................................................................................................................206
3.5.2. UltraSPARC III ......................................................................................................................212
3.5.3. 8051 ........................................................................................................................................216
3.6. Przykładowe magistrale .......................................................................................................................218
3.6.1. Magistrala ISA ........................................................................................................................219
3.6.2. Magistrala PCI ........................................................................................................................220
3.6.3. PCI Express ............................................................................................................................228
3.6.4. Universal Serial Bus ...............................................................................................................233
3.7. Interfejs wejścia-wyjścia ......................................................................................................................236
3.7.1. Układy wejścia-wyjścia ..........................................................................................................237
3.7.2. Dekodowanie adresów ............................................................................................................238
3.8. Podsumowanie .....................................................................................................................................241
4.
Poziom mikroarchitektury ...............................................................................247
4.1. Przykładowa mikroarchitektura ...........................................................................................................247
4.1.1. Ścieżka danych .......................................................................................................................249
4.1.2. Mikrorozkazy .........................................................................................................................254
4.1.3. Wykonywanie mikroprogramów: Mic-1 ................................................................................257
4.2. Przykładowy poziom maszynowy: IJVM ................................................................................................262
4.2.1. Stosy .......................................................................................................................................262
4.2.2. Model pamięci maszyny IJVM ...............................................................................................264
4.2.3. Lista rozkazów IJVM .............................................................................................................266
4.2.4. Kompilowanie języka Java do postaci IJVM ..........................................................................269
4.3. Przykładowy poziom realizacji ............................................................................................................271
4.3.1. Notacja mikrorozkazów ..........................................................................................................271
4.3.2. Implementacja IJVM w architekturze Mic-1 ..........................................................................276
4.4. Projektowanie poziomu mikroarchitektury ..........................................................................................288
4.4.1. Szybkość a koszt .....................................................................................................................288
4.4.2. Skracanie ścieżki wykonania ..................................................................................................291
4.4.3. Wstępne pobieranie rozkazów: Mic-2 ....................................................................................297
4.4.4. Konstrukcja potokowa: Mic-3 ................................................................................................301
4.4.5. Potok siedmiostopniowy: Mic-4 .............................................................................................306
4.5. Poprawianie wydajności mikroarchitektury .........................................................................................309
4.5.1. Pamięć podręczna ...................................................................................................................310
4.5.2. Przewidywanie rozgałęzień ....................................................................................................316
4.5.3. Wykonywanie rozkazów poza kolejnością i przemianowywanie rejestrów ...........................321
4.5.4. Wykonanie spekulatywne .......................................................................................................327
8
SPIS TREŚCI
4.6. Przykłady mikroarchitektury ................................................................................................................329
4.6.1. Mikroarchitektura procesora Pentium 4 .................................................................................. 330
4.6.2. Mikroarchitektura procesora UltraSPARC III Cu ...................................................................335
4.6.3. Mikroarchitektura procesora 8051 ..........................................................................................340
4.7. Porównanie przykładowych mikroarchitektur ......................................................................................342
4.8. Podsumowanie .....................................................................................................................................344
5.
Konwencjonalny poziom maszynowy (ISA) ...................................................349
5.1. Ogólny przegląd poziomu ISA .............................................................................................................351
5.1.1. Własności konwencjonalnego poziomu maszynowego ..........................................................351
5.1.2. Modele pamięci ......................................................................................................................353
5.1.3. Rejestry ...................................................................................................................................355
5.1.4. Rozkazy ..................................................................................................................................357
5.1.5. Poziom maszynowy procesora Pentium 4 ..............................................................................357
5.1.6. Poziom maszynowy procesora UltraSPARC III ..................................................................... 359
5.1.7. Konwencjonalny poziom maszynowy procesora 8051 ........................................................... 363
5.2. Typy danych .........................................................................................................................................366
5.2.1. Dane numeryczne ...................................................................................................................366
5.2.2. Dane nienumeryczne ..............................................................................................................367
5.2.3. Typy danych procesora Pentium 4 ..........................................................................................368
5.2.4. Typy danych procesora UltraSPARC III ................................................................................369
5.2.5. Typy danych procesora 8051 ..................................................................................................369
5.3. Formaty rozkazów ................................................................................................................................370
5.3.1. Kryteria projektowania formatu rozkazów .............................................................................371
5.3.2. Rozszerzalne kody operacji ....................................................................................................373
5.3.3. Formaty rozkazów procesora Pentium 4 .................................................................................375
5.3.4. Formaty rozkazów procesora UltraSPARC III ....................................................................... 376
5.3.5. Formaty rozkazów procesora 8051 .........................................................................................377
5.4. Adresowanie .........................................................................................................................................378
5.4.1. Tryby adresowania .................................................................................................................378
5.4.2. Adresowanie natychmiastowe ................................................................................................379
5.4.3. Adresowanie bezpośrednie .....................................................................................................379
5.4.4. Adresowanie rejestrowe ..........................................................................................................379
5.4.5. Adresowanie pośrednie rejestrowe .........................................................................................380
5.4.6. Adresowanie indeksowe .........................................................................................................381
5.4.7. Adresowanie indeksowe z wartością bazową .........................................................................383
5.4.8. Adresowanie stosowe .............................................................................................................383
5.4.9. Tryby adresowania w rozkazach rozgałęzień .........................................................................386
5.4.10. Ortogonalność kodów operacji i trybów adresowania ............................................................387
5.4.11. Tryby adresowania procesora Pentium 4 ................................................................................389
5.4.12. Tryby adresowania procesora UltraSPARC III ...................................................................... 391
5.4.13. Tryby adresowania procesora 8051 ........................................................................................391
5.4.14. Porównanie trybów adresowania ............................................................................................392
5.5. Typy rozkazów .....................................................................................................................................393
5.5.1. Rozkazy do przenoszenia danych ...........................................................................................393
5.5.2. Operacje dwuargumentowe ....................................................................................................394
5.5.3. Operacje jednoargumentowe ..................................................................................................395
5.5.4. Porównania i skoki warunkowe ..............................................................................................398
5.5.5. Rozkazy wywoływania procedur ............................................................................................399
5.5.6. Sterowanie wykonywaniem pętli ............................................................................................400
Zgłoś jeśli naruszono regulamin