
Kolejne wydanie znanej książki będącej całościowym omówieniem architektury komputerów zgodnych z IBM PC. W książce omówiono:elementy płyty głównej:
- procesor,
- standard MMX,
- układy wieloprocesowe,
- magistralę systemową,
- układy bezpośredniego dostępu do pamięci,
- układy czasowe,
- sterowniki i napędy dysków twardych i elastycznych,
- techniki zapisu,
- standard SDX,
- interfejs równoległy i szeregowy,
- złącze USB,
- klawiaturę, myszkę, joystick i ich obsługę programową,
- program setup.
- opisy procesorów Pentium II, AMD K6-2, Cyrix M2
- opis magistrali AGP.
Rozdział 1. Komunikacja procesora z innymi elementami architektury komputera (13)- Procesor (13)
- Przetwarzanie rozkazów (15)
- RISC i CISC (15)
- Pipeline (16)
- Techniki przyspieszania (19)
- Dostęp do pamięci (26)
- Adresowanie (28)
- Stronicowanie (30)
- Caching (31)
- Topologie (33)
- Organizacja pamięci podręcznej (34)
- Pamięć podręczna procesora 80386 (36)
- Zakres pokrywany przez pamięć podręczną (40)
- Obsługa przestrzeni adresowej I/O (41)
- Procesor 8086 (42)
- Procesory 80386 i 80486 (42)
- Pentium (43)
- Funkcje kontrolne i sterujące (43)
- BIST (44)
- Kontrola TLB (44)
- Kontrola pamięci podręcznej (44)
- Przejście w stan wysokiej impedancji (44)
- JTAG (45)
- Częstotliwość taktowania (47)
- Zasilanie (49)
- Przegląd architektury procesorów (52)
- Procesory AMD (53)
- Procesory Cyrix (60)
- Procesory Intel (66)
- Jak rozpoznać typ procesora (80)
- Czy procesor jest zgodny z układem 80286 lub lepszym (81)
- Procesor 8086/88 czy 80186/88 (82)
- Procesor 80286 (82)
- Procesor 80386 (82)
- Procesor 486 czy Pentium (82)
- Koprocesory (83)
- Koprocesor 8087 (84)
- Koprocesor 80287 (84)
- Koprocesor 80387 (85)
- Koprocesor i487SX (86)
- Jak rozpoznać typ koprocesora (86)
- Czy w systemie jest koprocesor (87)
- Koprocesor 8087 (87)
- Koprocesor 80287 czy 80387 (87)
- Architektura komputera PC/XT (88)
- Dostęp do przestrzeni wejścia-wyjścia (88)
- Procesory 8086 i 8088 (90)
- Procesor 8086 (90)
- Procesor 8088 (93)
- Kontroler 8288 (93)
- Elementy składowe architektury komputera XT (95)
- Ośmiobitowa magistrala zewnętrzna (98)
- Architektura komputera AT (101)
- Procesor 80286 (104)
- Magistrala zewnętrzna (16-bitowa) (105)
- Architektura komputerów 386, 486 i Pentium (108)
- EISA (Extended Industry Standard Architecture) (110)
- Wieloprocesorowość (110)
- Magistrala zewnętrzna (110)
- Kontroler DMA (111)
- Kontroler przerwań sprzętowych (111)
- Kontroler magistral (111)
- Pamięć konfiguracji (112)
- MCA (Micro Channel Architecture) (112)
- VESA Local Bus (114)
- Magistrala PCI (Peripherial Component Interconnect) (116)
- Magistrala zewnętrzna (128)
- Kontroler przerwań sprzętowych (128)
- Pamięć konfiguracyjna urządzeń PCI (131)
- Mechanizmy dostępu do pamięci konfiguracyjnej (145)
- Autokonfiguracja urządzeń PCI (147)
- Magistrala AGP (147)
- Sygnały magistrali AGP (153)
- AGP w teorii (157)
- AGP w praktyce (164)
- Systemy multiprocesorowe (167)
- Architektura MPP (168)
- Architektura UMA (169)
- Komunikacja z pamięcią (170)
- Buforowa pamięć podręczna (Cache) (171)
- Obsługa układów peryferyjnych (174)
- Architektura komputerów przenośnych (182)
- Złącze PCMCIA (183)
- Zmiany w architekturze (185)
- Rozpoznanie procesora P55C (187)
- Nowe rejestry (188)
- Nowe typy danych (191)
- Nowe rozkazy (191)
- Przykład działania: Rozkaz PACKUSWB (194)
- Przykład działania: Rozkaz PADDSW (195)
- Przykłady zastosowań (196)
- Blue-Box (197)
- Przetwarzanie pliku WAV (198)
- Układ scalony 8259A (201)
- Cykl przyjęcia zgłoszenia (202)
- Kaskadowe łączenie kontrolerów przerwań (204)
- Fazy obsługi przerwań od układu Slave (205)
- Programowanie kontrolera przerwań (206)
- Inicjowanie pracy układu (207)
- Polling (211)
- Przerwanie niemaskowalne (NMI) (211)
- Układ scalony 8237A (214)
- Tryby pracy kontrolera DMA (217)
- Kaskadowe łączenie układów 8237A (218)
- Programowanie kontrolerów DMA (219)
- Adresy portów kontrolerów DMA w komputerze IBM PC/XT (220)
- Adresy portów kontrolerów DMA w komputerze IBM PC/AT (221)
- Budowa rejestrów wewnętrznych (223)
- Przebieg transmisji (226)
- Komputer IBM PC (226)
- Komputer IBM PC/XT (227)
- Komputer IBM PC/AT (228)
- Kanały 16-bitowe (228)
- Układ odświeżania pamięci (230)
- Zapis informacji na dyskietce (231)
- Fizyczna organizacja danych na dyskietce (233)
- Programowanie operacji dyskowych z poziomu systemu MS-DOS (236)
- Obsługa dysków za pomocą funkcji BIOS (240)
- Bezpośredni dostęp do kontrolera napędu dysków elastycznych (248)
- Rejestry kontrolera napędu dysków elastycznych (249)
- Cykl rozkazowy kontrolera (251)
- Faza przygotowawcza (251)
- Faza przekazywania rozkazu (252)
- Budowa przykładowego rozkazu - rozkaz RS (Read Sector) (252)
- Alternatywne metody transmisji danych (258)
- Uwzględnianie mechanicznych własności napędu (259)
- Zastosowanie kodów CRC (261)
- Budowa kontrolera (265)
- Systemy kodowania MFM i RLL (267)
- Fizyczna organizacja danych i formatowanie (269)
- Formatowanie wysokiego poziomu (270)
- Formatowanie niskiego poziomu (271)
- Błędy i ich korekcja (272)
- Standard AT-BUS (276)
- Logiczny opis złącza (277)
- Złącze fizyczne - Host Adapter (278)
- Dostęp CPU do dysku AT-BUS (281)
- Cykl programowania kontrolera (288)
- Przykład realizacji rozkazu CZYTAJ SEKTOR (290)
- Przykład realizacji rozkazu samoidentyfikacji dysku (293)
- Funkcje oszczędnościowe (296)
- System automatyczny (297)
- Rozkazy specjalne (297)
- Standard EIDE (301)
- Pojemność dysku (302)
- Logical Block Address (304)
- Extended Cylinder Head Sector (305)
- Prędkości transmisji danych (305)
- Tryby PIO (305)
- Tryby DMA (306)
- Zwiększenie liczby urządzeń (307)
- Poszerzenie oferty urządzeń IDE (309)
- Standard SDX (309)
- Standard SCSI (313)
- Ogólny opis systemu (313)
- Realizacja magistrali (316)
- SCSI a komputery klasy PC (319)
- Platforma fizyczna (321)
- Wersja asymetryczna (321)
- Wersja symetryczna (323)
- Praktyczna realizacja obciążenia końców linii (324)
- Organizacja pracy magistrali SCSI (327)
- Konwencja oznaczania sygnałów (327)
- Fazy pracy magistrali (327)
- Transfer danych w fazach informacyjnych (342)
- Sytuacje wyjątkowe (350)
- Rozkazy systemowe (353)
- Informacja statusowa (357)
- Komunikaty (359)
- System wskaźników (364)
- Przykładowa wymiana danych (366)
- Przykład prostego kontrolera SCSI (370)
- Programowanie operacji dyskowych (375)
- System operacyjny MS-DOS (375)
- Przerwanie INT25h DOS - czytaj sektor logiczny (376)
- Przerwanie INT 26h DOS - pisz sektor logiczny (376)
- Przerwanie INT 25h DOS - czytaj sektor logiczny, tryb poszerzony (377)
- Przerwanie INT 26h DOS - pisz sektor logiczny, tryb poszerzony (378)
- Przerwanie INT 21h DOS (379)
- Przerwanie INT41h i INT46h (379)
- Funkcje BIOS-u (379)
- Numeracja cylindrów (380)
- Numeracja dysków (380)
- Kody błędów (380)
- Funkcje przerwania 13h (380)
- Przegląd kart graficznych (395)
- Omówienie kart graficznych EGA, VGA i SVGA (399)
- Tryby tekstowe (402)
- Tryby graficzne (403)
- Tryby zapisu i odczytu pamięci obrazu (404)
- Standard VESA (406)
- Rejestry sterowników EGA/VGA (406)
- Rejestry zewnętrzne (external/general registers) (408)
- Układ sekwencyjny (sequencer) (410)
- Układ graficzny (graphics controller) (412)
- Układ sterowania atrybutem (attribute controller) (417)
- Przetwornik cyfrowo-analogowy (digital to analog converter) (421)
- Układ sterowania wyświetlaczem (CRT controller) (423)
- Funkcje BIOS obsługujące karty graficzne (432)
- Funkcje określające tryb pracy i ogólne parametry sterownika (433)
- Funkcje dostępu do ekranu (436)
- Funkcje służące do definiowania kolorów (440)
- Funkcje generatora znaków (446)
- Funkcje konfigurujące sterownik (453)
- Funkcje uzupełniające (457)
- Dodatkowe funkcje obsługiwane przez VESA-BIOS (464)
- Przykłady zastosowania funkcji BIOS-u kart graficznych (470)
- Rozpoznanie typu karty graficznej (470)
- Sprawdzenie ilości pamięci zainstalowanej na karcie graficznej (471)
- Zmiana wyglądu znaku (471)
- Akceleratory graficzne (474)
- Sprzętowe wspomaganie funkcji video (475)
- Interfejs programowy (477)
- Obrazy trójwymiarowe (479)
- Tworzenie i przechowywanie obiektów 3D (479)
- Mapowanie (480)
- Skrót perspektywy (484)
- Korekcja perspektywy (486)
- Mipmapping (487)
- Akceleratory 3D (488)
- Przygotowanie trójkąta (Triangle Setup) (488)
- Dostęp do pamięci obrazu (492)
- Dostęp do tekstur (493)
- Przykłady rozwiązań akceleratorów 3D (494)
- Interfejs programisty (497)
- Prezentacje video (499)
- Format MPEG (499)
- Dekodowanie (501)
- Kodowanie (503)
- Właściwa karta graficzna do właściwych zastosowań (505)
- Pamięć karty graficznej (506)
- Organizacja pamięci (507)
- Rodzaje stosowanych pamięci (509)
- Przegląd powszechnie stosowanych układów sterowników (512)
- Dopasowanie karty do monitora (520)
- Ile pamięci potrzeba naprawdę (521)
- RAMDAC (523)
- Jakość monitora (525)
- Programy instalacyjne (526)
- Kanał informacyjny VESA DDC (527)
- Układ 8253/8254 (529)
- Tryb 0. (532)
- Tryb 1. (532)
- Tryb 2. (532)
- Tryb 3. (532)
- Tryb 4. (533)
- Tryb 5. (533)
- Programowanie generatora 8253/8254 (534)
- Zegar systemowy (537)
- Układ odświeżania pamięci dynamicznej (538)
- Obsługa głośnika (540)
- Drugi układ 8254 i jego zastosowanie (542)
- Układ scalony MC146818 (546)
- Organizacja pamięci CMOS (546)
- Funkcje BIOS obsługujące pamięć konfiguracji (555)
- Bezpośredni dostęp do pamięci CMOS (558)
- Obsługa drukarki z łączem równoległym (562)
- Dostęp do łącza równoległego z poziomu systemu operacyjnego DOS (564)
- Dostęp do łącza równoległego poprzez funkcje BIOS (566)
- Ogólne zastosowanie łącza równoległego - dostęp do portów (568)
- Transmisja synchroniczna (573)
- Transmisja asynchroniczna (573)
- Asynchroniczna transmisja szeregowa i ramka danych (573)
- Układ scalony 8250 (575)
- Interfejs RS-232C (579)
- Tryb simpleksowy (581)
- Tryb półdupleksowy (582)
- Tryb dupleksowy (582)
- Dostęp do łącza szeregowego z poziomu systemu operacyjnego MS-DOS (584)
- Funkcja 03h (585)
- Funkcja 04h (585)
- Funkcja 3Fh (585)
- Funkcja 40h (586)
- Funkcje BIOS obsługujące łącze szeregowe (587)
- Przekroczenie czasu (Time Out) (587)
- Przerwanie połączenia (Break) (588)
- Błąd protokołu (Frame Error) (588)
- Błąd parzystości (Parity Error) (588)
- Błąd przepełnienia (Overrun Error) (588)
- Bajt statusu modemu (588)
- Funkcja 00h (589)
- Funkcja 01h (590)
- Funkcja 02h (590)
- Funkcja 03h (591)
- Bezpośrednie programowanie rejestrów UART (591)
- Przerwania generowane przez łącze szeregowe (593)
- Rejestr konfiguracji przerwań (593)
- Rejestr identyfikacji przerwań (594)
- Rejestr formatu danych (595)
- Prędkość transmisji (596)
- Rejestr wyjściowych sygnałów sterujących łącza RS-232C (597)
- Rejestr wejściowych sygnałów sterujących łącza RS-232C (598)
- Rejestr stanu transmisji (598)
- Specyfika układu UART 16450 (599)
- Klawiatury XT, AT i PS/2 (601)
- Mapa klawiatury (603)
- Organizacja obsługi klawiatury przez BIOS (608)
- Funkcje przerwania 16h BIOS (613)
- Bezpośrednie programowanie klawiatury (618)
- Port wejściowy i port wyjściowy (625)
- Myszka i jej obsługa (629)
- Game port (635)
- Specyfikacja (639)
- Topologia (640)
- Okablowanie (640)
- Protokół (642)
- USB w praktyce (644)
Dodatek A. Program Setup (651)
- Setup 286 (656)
- Tryb podstawowy (656)
- Tryb zaawansowany (657)
- Setup 386 (659)
- Układ scalony 82C206 i jego rejestry (662)
- Układ scalony 82C301 i jego rejestry (663)
- Układ scalony 82C302 i jego rejestry (665)
- Setup 486 (669)
- Setup Pentium (677)
- Opis działania (685)
- Wykorzystywane sygnały magistrali (687)
- Zastosowane układy scalone (688)