Elektronika - baza wiedzy

Interface równoległy PCI


PC-ty aktualnie proponowane przez największe firmy komputerowe bazują na maszynach 486 i Pentium z nową magistralą PCI. PCI (Peripheral Component Interconnect) umożliwia transfer danych z prędkością do 132 [MB/sek.] przy taktowaniu magistrali znormalizowaną częstotliwością 33 [MHz].

Powstanie specyfikacji PCI zostało podyktowane koniecznością lepszego dopasowania do siebie wydajnych, nowoczesnych procesorów i szybkich urządzeń peryferyjnych, takich jak akceleratory graficzne czy kontrolery twardych dysków. Nowa magistrala charakteryzuje się dużą szybkością działania i przyjazności obsługi , m.in. zgodnością z filozofią plug and play. Szyna PCI nie jest bezpośrednio sprzężona z procesorem, lecz połączona z nim przez specjalny pomost (CPU-Bridge). Ma to jedną podstawową zaletę: CPU może wykonywać swoje zadania także wtedy, gdy któraś z kart PCI, np. karta graficzna, zapisuje lub odczytuje dane z pamięci operacyjnej. Identyczna zasada obowiązuje przy wymianie danych między dwoma urządzeniami PCI. Technika ta nie jest możliwa do zrealizowania w zwykłej magistrali ISA, którą procesor steruje bezpośrednio, co oczywiście zużywa sporo cennego czasu CPU.

Kolejną nowością wprowadzoną wraz z procesorami Pentium jest tryb Write-Burst. Urządzenie pracujące w tym trybie wysyła kolejno dane do bufora odbiorcy, ale zamiast określać adres każdego bloku danych, podaje go tylko raz - na początku transmisji. PCI zapewnia również automatyczną konfigurację kart - plug and play. Każda karta PCI dysponuje w tym celu 256-bajtowym obszarem przechowującym numery przerwań, adresy portów I/O oraz komórek pamięci. Nowością jest też IRQ-Sharing tzn. technika pozwalająca kilku kartom PCI używać wspólnego przerwania.

Anatomia chipsetu PCI :
Na każdej płycie głównej znajdują się układy scalone sterujące poszczególnymi elementami systemu. Do układów tych, zwanych również Gate Arrays, należą:

kontroler magistrali
kontroler DMA
zegar czasu rzeczywistego
kontroler przerwań
zegar taktujący
kontroler klawiatury
timer
Wszystkie wymienione podzespoły tworzą razem tzw. chipset (ang. chip set - zestaw układów elektronicznych). Magistrala PCI wymusiła opracowanie nowych chipsetów, zapewniających pełną obsługę jej nowych funkcji. Intel oraz takie firmy, jak SiS czy Opti, wypuściły na rynek chipsety oparte na jednym lub maksymalnie trzech układach scalonych wysokiej skali integracji, obsługujących zarówno funkcje standardowe, jak i specyficzne dla PCI.

Trzy najważniejsze elementy :
Nowoczesne chipsety PCI składają się z trzech istotnych układów:

1. Kontrolera cache´u i pamięci (Cache- and Memory-Controller)
2. Bufora danych (Data Buffer)
3. PCI-to-ISA-Bridge.
W większości przypadków każdy z nich stanowi osobny układ scalony. Jednak najnowsze konstrukcje integrują wszystkie funkcje w dwóch, a nawet w jednym chipie.

Kontroler cache´u i pamięci :

Kontroler cache´u (Cache-Controller) sterujący dostępem do zewnętrznego Second-Level-Cache znajdującego się na płycie głównej. Pamięć cache składa się z bardzo szybkich układów SRAM, które tymczasowo przechowują dane. Jeżeli CPU potrzebuje pewnych informacji, kontroler sprawdza najpierw, czy znajdują się one w pamięci cache. Dopiero jeżeli tak nie jest, procesor musi zadowolić się komunikacją z wolniejszą pamięcią DRAM lub twardym dyskiem.

Kontroler chipsetu PCI obsługuje zarówno tryb write-through, jak i write-back. Cache może więc buforować nie tylko dane odczytywane z powolnej pamięci DRAM, ale również informacje zapisywane przez procesor do DRAM. Dzięki temu tryb write-back wyra?nie przyspiesza działanie komputera. Kontroler pamięci jest poza tym odpowiedzialny za sterowanie całą magistralą w czasie transmisji danych między procesorem, pamięcią cache (SRAM), pamięcią główną (DRAM) i magistralą PCI. Z tego względu zawiera również kontroler DRAM oraz PCI-Bridge, zajmujący się komunikacją między współpracującymi ze sobą magistralami różnych typów.

Bufor danych :

Pamięć podręczna wykorzystywana podczas wymiany danych między magistralą procesora, magistralą PCI i pamięcią główną. Zadaniem bufora danych jest zminimalizowanie liczby cykli oczekiwania procesora przy zapisie do pamięci lub bezpośrednim dostępie do urządzeń PCI. Chip bufora danych wyposażony jest w pamięć podręczną zwaną Write-Buffor, której rozmiar jest zależny od producenta. Procesor zapisuje w niej przesyłane dane, po czym natychmiast wraca do pracy, nie czekając aż magistrala PCI lub dowolna pamięć główna DRAM odczyta odpowiednie informacje. Mechanizm ten ma bardzo korzystny wpływ na wydajność systemu.

PCI-to-ISA-Bridge :

Pomost pomiędzy magistralą PCI i zwykłą magistralą ISA. ISA-Bus jest dalej obecna w komputerach opartych na PCI, co umożliwia wykorzystanie w nich również starszych kart rozszerzających. Poza tym nie każdy element systemu (np. karta modemu czy starsze kontrolery twardego dysku) potrzebuje wysokiej wydajności magistrali PCI. PCI-to-ISA-Bridge umożliwia komunikację taktowanej częstotliwością 33 [MHz] magistrali PCI z pracującą w rytmie 8 [MHz], a więc relatywnie powolną, szyną ISA.

PCI-to-ISA-Bridge obsługuje również funkcje wejścia/wyjścia za pośrednictwem zintegrowanego kontrolera DMA, kontrolera przerwań oraz timera.

Chipset Triton :

Triton jest obecnie najlepszym chipsetem dla PC-tów Pentium. Intel zaprezentował go po rza pierwszy na targach Cebit 95. Komputery Pentium wyposażone w chipset Triton naprawdę nabierają rozpędu. Szybkość transferu danych osiąga wartość ok. 100[MB/sek.], zarówno na magistrali PCI, jak i przy komunikacji z pamięcią. W stosunku do zwykłych układów Neptun czy Saturn różnice występują również w architekturze nowego chipsetu.

Chipset Triton jest wyposażony w zoptymalizowany ISA-Bridge oraz zintegrowany kontroler Enhanced-IDE. Oprócz tego dysponuje portem typu plug and play dla układów d?więkowych zintegrowanych z płytą główną. Nowością w chipsecie Triton jest możliwość współpracy nie tylko ze standarowymi układami DRAM, ale także z nowymi EDO-RAM, które zapewniają znacznie szybszy dostęp do pamięci. Moduły EDO-RAM są zbudowane podobnie jak DRAM, działają jednak o ok. 20[%] szybciej, ponieważ samodzielnie wykonują sporą część pracy realizowanej dotychczas przez kontroler pamięci. Wyposażone są w tym celu we własny obszar służący jako bufor danych.

Triton potrafi jednak pracować znacznie szybciej również z normalnymi układami DRAM. Szybkość dostępu do pamięci osiąga w jego przypadku wartości, które np. chipset Neptun uzyskuje jedynie z wyjątkowo szybkimi modułami RAM. Chipset Triton zadowala się w zupełności najbardziej rozpowszechnionymi, a przez to tanimi, modułami SIMM o czasie dostępu 70[nanosek.]. Poza tym wyposażony jest w duży bufor, przechowujący dane przesyłane pomiędzy pamięcią główną a magistralą PCI, co korzystnie wpływa na płynność transmisji.

Second-Level-Cache (SRAM) jest obsługiwany przez nowy chipset w standardowy sposób. Podobnie jak układy Neptun czy saturn, Triton potrafi wykorzystać maksymalnie 512[KB] tej pamięci.


Przy zakupie komputera Pentium lub rozbudowie do Pentium starej maszyny należy zwrócić uwagę, czy na płycie głównej zainstalowany jest chipset Triton. Zwiększone zainteresowanie producentów komputerów nowym chipsetem spowodowało na przełomie ostatnich miesięcy kłopoty ze zdobyciem tych układów. Obecine sytuacja powinna jednak wrócić do normy. Jedyną firmą, która na bieżąco oferowała komputery Pentium wyposażone w chipsety Triton, była Gateway 2000.

Pin+5V+3.3VUniversalDescription
A1TRST  Test Logic Reset
A2+12V  +12 VDC
A3TMS  Test Mde Select
A4TDI  Test Data Input
A5+5V  +5 VDC
A6INTA  Interrupt A
A7INTC  Interrupt C
A8+5V  +5 VDC
A9RESV01  Reserved VDC
A10+5V+3.3VSignal Rail+V I/O (+5 V or +3.3 V)
A11RESV03  Reserved VDC
A12GND03(OPEN)(OPEN)Ground or Open (Key)
A13GND05(OPEN)(OPEN)Ground or Open (Key)
A14RESV05  Reserved VDC
A15RESET  Reset
A16+5V+3.3VSignal Rail+V I/O (+5 V or +3.3 V)
A17GNT  Grant PCI use
A18GND08  Ground
A19RESV06  Reserved VDC
A20AD30  Address/Data 30
A21+3.3V01  +3.3 VDC
A22AD28  Address/Data 28
A23AD26  Address/Data 26
A24GND10  Ground
A25AD24  Address/Data 24
A26IDSEL  Initialization Device Select
A27+3.3V03  +3.3 VDC
A28AD22  Address/Data 22
A29AD20  Address/Data 20
A30GND12  Ground
A31AD18  Address/Data 18
A32AD16  Address/Data 16
A33+3.3V05  +3.3 VDC
A34FRAME  Address or Data phase
A35GND14  Ground
A36TRDY  Target Ready
A37GND15  Ground
A38STOP  Stop Transfer Cycle
A39+3.3V07  +3.3 VDC
A40SDONE  Snoop Done
A41SBO  Snoop Backoff
A42GND17  Ground
A43PAR  Parity
A44AD15  Address/Data 15
A45+3.3V10  +3.3 VDC
A46AD13  Address/Data 13
A47AD11  Address/Data 11
A48GND19  Ground
A49AD9  Address/Data 9
A52C/BE0  Command, Byte Enable 0
A53+3.3V11  +3.3 VDC
A54AD6  Address/Data 6
A55AD4  Address/Data 4
A56GND21  Ground
A57AD2  Address/Data 2
A58AD0  Address/Data 0
A59+5V+3.3VSignal Rail+V I/O (+5 V or +3.3 V)
A60REQ64  Request 64 bit ???
A61VCC11  +5 VDC
A62VCC13  +5 VDC
     
A63GND  Ground
A64C/BE[7]#  Command, Byte Enable 7
A65C/BE[5]#  Command, Byte Enable 5
A66+5V+3.3VSignal Rail+V I/O (+5 V or +3.3 V)
A67PAR64  Parity 64 ???
A68AD62  Address/Data 62
A69GND  Ground
A70AD60  Address/Data 60
A71AD58  Address/Data 58
A72GND  Ground
A73AD56  Address/Data 56
A74AD54  Address/Data 54
A75+5V+3.3VSignal Rail+V I/O (+5 V or +3.3 V)
A76AD52  Address/Data 52
A77AD50  Address/Data 50
A78GND  Ground
A79AD48  Address/Data 48
A80AD46  Address/Data 46
A81GND  Ground
A82AD44  Address/Data 44
A83AD42  Address/Data 42
A84+5V+3.3VSignal Rail+V I/O (+5 V or +3.3 V)
A85AD40  Address/Data 40
A86AD38  Address/Data 38
A87GND  Ground
A88AD36  Address/Data 36
A89AD34  Address/Data 34
A90GND  Ground
A91AD32  Address/Data 32
A92RES  Reserved
A93GND  Ground
A94RES  Reserved
     
B1-12V  -12 VDC
B2TCK  Test Clock
B3GND  Ground
B4TDO  Test Data Output
B5+5V  +5 VDC
B6+5V  +5 VDC
B7INTB  Interrupt B
B8INTD  Interrupt D
B9PRSNT1  Reserved
B10RES  +V I/O (+5 V or +3.3 V)
B11PRSNT2  ??
B12GND(OPEN)(OPEN)Ground or Open (Key)
B13GND(OPEN)(OPEN)Ground or Open (Key)
B14RES  Reserved VDC
B15GND  Reset
B16CLK  Clock
B17GND  Ground
B18REQ  Request
B19+5V+3.3VSignal Rail+V I/O (+5 V or +3.3 V)
B20AD31  Address/Data 31
B21AD29  Address/Data 29
B22GND  Ground
B23AD27  Address/Data 27
B24AD25  Address/Data 25
B25+3.3V  +3.3VDC
B26C/BE3  Command, Byte Enable 3
B27AD23  Address/Data 23
B28GND  Ground
B29AD21  Address/Data 21
B30AD19  Address/Data 19
B31+3.3V  +3.3 VDC
B32AD17  Address/Data 17
B33C/BE2  Command, Byte Enable 2
B34GND13  Ground
B35IRDY  Initiator Ready
B36+3.3V06  +3.3 VDC
B37DEVSEL  Device Select
B38GND16  Ground
B39LOCK  Lock bus
B40PERR  Parity Error
B41+3.3V08  +3.3 VDC
B42SERR  System Error
B43+3.3V09  +3.3 VDC
B44C/BE1  Command, Byte Enable 1
B45AD14  Address/Data 14
B46GND18  Ground
B47AD12  Address/Data 12
B48AD10  Address/Data 10
B49GND20  Ground
B50(OPEN)GND(OPEN)Ground or Open (Key)
B51(OPEN)GND(OPEN)Ground or Open (Key)
B52AD8  Address/Data 8
B53AD7  Address/Data 7
B54+3.3V12  +3.3 VDC
B55AD5  Address/Data 5
B56AD3  Address/Data 3
B57GND22  Ground
B58AD1  Address/Data 1
B59VCC08  +5 VDC
B60ACK64  Acknowledge 64 bit ???
B61VCC10  +5 VDC
B62VCC12  +5 VDC
     
B63RES  Reserved
B64GND  Ground
B65C/BE[6]#  Command, Byte Enable 6
B66C/BE[4]#  Command, Byte Enable 4
B67GND  Ground
B68AD63  Address/Data 63
B69AD61  Address/Data 61
B70+5V+3.3VSignal Rail+V I/O (+5 V or +3.3 V)
B71AD59  Address/Data 59
B72AD57  Address/Data 57
B73GND  Ground
B74AD55  Address/Data 55
B75AD53  Address/Data 53
B76GND  Ground
B77AD51  Address/Data 51
B78AD49  Address/Data 49
B79+5V+3.3VSignal Rail+V I/O (+5 V or +3.3 V)
B80AD47  Address/Data 47
B81AD45  Address/Data 45
B82GND  Ground
B83AD43  Address/Data 43
B84AD41  Address/Data 41
B85GND  Ground
B86AD39  Address/Data 39
B87AD37  Address/Data 37
B88+5V+3.3VSignal Rail+V I/O (+5 V or +3.3 V)
B89AD35  Address/Data 35
B90AD33  Address/Data 33
B91GND  Ground
B92RES  Reserved
B93RES  Reserved
B94GND  Ground