89
Komunikacja procesora z innymi elementami architektury komputera
bity 7-2 określają numer podwójnego słowa pamięci konfiguracyjnej (0-63); bity 1-0 zarezerwowane, muszą mieć wartość 0.
Drugi mechanizm dostępu do pamięci konfiguracyjnej, /.definiowany został ze względu
ua zgodność ze specyfikacją 1.0 standardu PCI. Jest on nieco bardziej skomplikowany:
• w pierwszym etapie należy wpisać do 8-bitowego portu OCFAh numer magistrali PCI (0-255);
• w' drugim etapie należy wpisać do 8-bitowego portu 0CF8h numer funkcji urządzenia;
• w trzecim etapie należy dokonać zapisu lub odczytu jednego, dwóch lub czterech bajtów odpowiadających właściwemu rejestrowi konfiguracyjnemu w' przestrzeni wejścia-wyjścia od adresu COOOh do CFFFh.
Sposób kodowania numeru funkcji urządzenia odpowiada następującemu schematowi:
bit 7 |
bil 6 |
bit 5 |
bil 4 |
bit 3 |
bit 2 |
bit 1 |
bit 0 |
bity 7—4 jeżeli są ustawione, sterownik magistrali może dokonać zmian w rejestrach konfiguracyjnych urządzeń; bity 3-1 numer funkcji urządzenia PCI (0-7); bit 0 jeżeli jest ustawiony, umożliwia sterownikowi magistrali PCI
przeprowadzenie specjalnego cyklu.
Rejestry konfiguracyjne urządzeń PCI umieszczone w przestrzeni wejścia wyjścia od adresu COOOh do CFFFh podzielone są na 16 grup (począwszy od COOOh-COFFh, .skończywszy na CFOOh-CFFFh). Każda grupa odpowiada urządzeniu PCI o numerze określonym przez. Irzeciącyfrę w adresie (C7xxh odpowiada urządzeniu o numerze 7)
Do pamięci konfiguracyjnej urządzeń PCI można się również dostać przez procedury BIOS. Specyfikacja PCI 2.1 wprowadziła funkcję Blh do przerwania INI lAh. Podfunkcjc tej funkcji umożliwiają:
• wykrycie PCI BIOS;
• wykrycie urządzeń PCI;
• odczytanie kodu klasy urządzeń PCI;
• generowanie specjalnego cyklu magistrali PCI;
• odczytanie i zapisanie danych w rejestrach konfiguracyjnych urządzeń PCI;
• odczytanie informacji dotyczących przypisania kanałów przerwań urządzeniom PCI.