www.multi-stage.net
okladka
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 obsługi przerwań:
  • układy bezpośredniego dostępu do pamięci,
  • układy czasowe,
pamięci masowe:
  • sterowniki i napędy dysków twardych i elastycznych,
  • techniki zapisu,
  • standard SDX,
komunikację z urządzeniami peryferyjnymi:
  • interfejs równoległy i szeregowy,
  • złącze USB,
urządzenia wejścia:
  • klawiaturę, myszkę, joystick i ich obsługę programową,
konfigurację systemu:
  • program setup.
Wydanie czwarte uzupełniono o:
  • 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)
Rozdział 2. Procesor z rozszerzeniem MMX (185)
  • 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)
Rozdział 3. System obsługi przerwań sprzętowych (199)
  • 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)
Rozdział 4. Kontroler DMA (213)
  • 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)
Rozdział 5. Kontroler napędu dysków elastycznych (231)
  • 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)
Rozdział 6. Obsługa dysku twardego (265)
  • 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)
Rozdział 7. Karty graficzne (395)
  • 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)
Rozdział 8. Grafika PC w dobie multimediów (473)
  • 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)
Rozdział 9. System odmierzania czasu (529)
  • 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)
Rozdział 10. Pamięć CMOS-RAM (545)
  • 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)
Rozdział 11. Łącze równoległe (561)
  • 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)
Rozdział 12. Łącze szeregowe (573)
      • 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)
Rozdział 13. Klawiatura (601)
  • 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)
Rozdział 14. Pozostałe urządzenia wejścia (629)
  • Myszka i jej obsługa (629)
  • Game port (635)
Rozdział 15. Złącze USB (639)
    • Specyfikacja (639)
    • Topologia (640)
    • Okablowanie (640)
    • Protokół (642)
    • USB w praktyce (644)
Rozdział 16. Zasilacz (647)
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)
Dodatek B. Współpraca z magistralą zewnętrzną (685)
  • Opis działania (685)
  • Wykorzystywane sygnały magistrali (687)
  • Zastosowane układy scalone (688)
Dodatek C. CD-ROM dołączony do książki (691)