Chipset AMD 761

advertisement
1) Wstęp
Chipset AMD-760™ to układ logiki systemowej o wysokiej skali integracji, który
zapewnia wzrost wydajności procesora AMD Athlon oraz innych procesorów AMD
kompatybilnych z magistralą systemową dla AMD Athlon. Chipset AMD-760
składa się ze sterownika systemowego AMD-761™ umieszczonego w obudowie
PBGA (plastic ball-grid array) z 569 wyprowadzeniami oraz sterownika magistrali
urządzeń peryferyjnych AMD-766™ umieszczonego w obudowie PBGA z 272
wyprowadzeniami.
Schemat blokowy chipsetu zawiera rysunek 1:
Rys.1 Schemat blokowy chipsetu AMD760
Sterownik systemowy AMD761 obsługuje:

AMD Athlon System Bus - magistrala systemowa Athlon, zezwalająca na
odseparowaną transmisję danych(odczyt/zapisz). Magistrala ta jest taktowana z
prędkościami 100/200MHz lub 133/266Mhz

sterownik magistrali (PCI 2.2) łączącej go z mostkiem dla urządzeń
peryferyjnych – z arbitrażem

sterownik AGP – obsługujący tryby pracy 1x,2x,4x (zgodność z wersją 2.0)

sterownik pamięci systemowej DDR-SDRAM
1.1 ASB – Athlon System Bus
Magistrala systemowa Athlon jest wewnętrzną magistralą służącą do przesyłu informacji
między procesorem a pamięcią, za pośrednictwem kontrolera AMD-761. Magistrala
wykonana jest w technologii punkt-do-punktu (point-to-point) – co gwarantuje wysoką
prędkość transmisji danych. Główną jednak zaletą układu jest nie tyle zastosowanie wyżej
wymienionej topologii ile zastosowanie tzw. „split transaction” – czyli podziału operacji
zapisu/odczytu na instrukcje oraz dane rozsyłane odrębnymi kanałami dystrybucyjnymi
(magistralami). I tak w przypadku odczytu, cała transakcja rozpoczyna się od wysłania
żądania przesłania danych przez procesor. Żądanie takie jest kierowane przez CPU na
magistralę SADDOUT. W momencie, gdy kontroler pamięci jest gotowy do realizacji żądania
informuje procesor za pomocą magistrali STDDIN o wysyłaniu danych magistralą SDATA.
Wraz z danymi wysyłany jest identyfikator pierwotnego żądania, tak aby procesor mógł
upewnić się, iż otrzymuje dane o które prosił.
Analogicznie rozwiązywana jest transakcja zapisu: wpierw wysyłany jest komunikat o
potrzebie zapisu za pomocą magistrali SADDOUT, chipset akceptuje żądanie za pomocą
magistrali SADDIN a następnie magistralą SDATA dokonywany jest faktyczny przesył
danych.
Magistrala ASB odznacza się następującymi cechami:
 wysoko wydajna topologia typu punkt-do-punktu (point-to-point)
 synchronizacja źródeł danych w celu zwiększenie efektywności przepływu
informacji
 magistrala pracuje z prędkością 200 lub 266Mhz
 zastosowanie mechanizmu „split transaction”
 maksymalny transfer na magistrali wynosi 1.6GB/s (100/200Mhz) 2.1GB
(133/266MHz)
 64-bitowa transmisja danych
1.2 Sterownik pamięci systemowej.
Głównym zadaniem sterownika jest rozstrzyganie oraz optymalizacja żądań przychodzących
do pamięci, obsługa ECC oraz GART(Graphics Address Remaping Table) oraz zarządzanie
do 4 modułów pamięci SDRAM/DDR. Układ AMD-761 jest dostosowany do obsługi dwóch
typów pamięci:
 rejestrowaną pamięć DDR
 niebuforowana pamięć DDR
Rejestrowana pamięć DDR różni się od niebuforowanej pamięci DDR tym, że
płyty główne obsługujące pamięć niebuforowaną są przeznaczone na rynek
konsumencki i mogą być wyposażone maksymalnie w 2GB pamięci, podczas gdy
płyty obsługujące rejestrowane moduły DIMM są przeznaczone na rynek
biznesowy i mogą zapewnić do 4GB pamięci DDR. Chipset AMD-760 obsługuje
zarówno rejestrowane, jak i niebuforowane układy DDR DIMM, przy czym
możliwe jest obłożenie do 2 modułów pamięci niebuforowanej oraz do 4 modułów
pamięci rejestrowanej, przy czym nie jest możliwe wymieszanie obu typów
pamięci na jednej płycie głównej.
Wszystkie parametry czasowe pamięci DDR są programowalne i zapamiętywane
przez wewnętrzne rejestry układu AMD-761. Sam proces odświeżania pamięci
również jest ustawiany programowo i pozwala na wybranie jednego z czterech
możliwych prędkości odświeżania. Para zegarów taktujących pamięci może być
selektywnie wyłączona dla niewykorzystywanych slotów pamięci DIMM przez
odpowiednie bity rejestrów kontrolnych sterownika. Sterownik pamięci zezwala
na dostęp do 4 stron pamięci na raz przy jednym aktywnym sygnale CS (chip
select). Wszystkie strony w pamięci układu są automatycznie zamykane w
przypadku wybrania innego układu, prze sygnał CS. Operacje na stronach
pamięci mogą być później optymalizowane programowo przez ustawienie liczby
bezczynnych cykli po których następuje automatyczne odświeżenie banku
pamięci.
W przypadku wykorzystywania niebuforowanej pamięci układ sterownika AMD761 potrzebuje tylko 4 sygnałów CS obsługujących dwa sloty DIMM – stąd w
przypadku wykorzystywania tego typu pamięci obsługiwane są jedynie dwa sloty
pamięci DIMM – dla każdego z nich sterownik pamięci wykorzystuje 3 różnorodne
układy czasowe do jego taktowania, co prezentuje rysunek:
Akceptowalne przez sterownik rozmiary pamięci zawiera poniższa tabela:
W przypadku wykorzystywania pamięci rejestrowanej wykorzystywanych jest do ośmiu
pinów CS pozwalających na wybór jednego z dwóch modułów DIMM, co prezentuje
rysunek:
Jak widać na powyższym rysunku, każdy z modułów DIMM składa się z 2 banków pamięci, a
sam kontroler używa pary zegarów do każdego z modułów DIMM. Zastosowanie tego typu
pamięci pozwala na zaadresowanie maksymalnej przestrzeni adresowej obsługiwanej przez
kontroler tj. 4GB, co przedstawia tabela:
Podsumowując kontroler pamięci zastosowany w AMD-761, realizuje następujące zadania:
 obsługa i transfer informacji do/z pamięci, z różnych źródeł, takich jak:
o procesor
o magistrala PCI
o magistrala AGP
 obsługa ECC ( error correcting code ) pamięci
 obsługa DRAM:
o do 2 niebuforowanych modułów pamięci DIMM
o do 4 rejstrowanych modułów pamięci DIMM
o obsługa 64-bitowych pamięci + 8b ECC
 możliwość zaadresowania do 4GB pamięci
 do 4 otwartych storn pamięci przy jednym aktywnym chipie(CS)
 konfigurowalne przez BIOS parametry czasowe pamięci
 możliwość jednoczesnego zapisu oraz odczytu pamięci
1.3 Sterownik magistrali PCI
Układ AMD-761 obsługuje 32-bitowe magistrale PCI zgodne ze standardem PCI 2.2.
Podstawowym zadaniem sterownika jest konwertowanie 64-bitowych danych wysyłanych ze
strony procesora na akceptowane przez magistralę PCI 32-biotwe paczki z zachowaniem
ważności komend. Do tego celu używa się dwóch niezależnych buforów, jednego dla każdej
ze stron komunikacji(PCI-DRAM i DRAM-PCI), przy czym możliwy jest jednoczesny dostęp
do obu buforów zarówno przez procesor jak i magistralę PCI.. Poza obsługą przesyłu danych
między procesorem a magistralą PCI układ sterownika zajmuje się również logicznym
arbitrażem w dostępie do zasobów sprzętowych przez poszczególne urządzenia przypięte do
magistral PCI oraz Souhtbidge’a i procesora. Stosowany jest następujący algorytm arbitrażu:
1. Southbridge
2. CPU
3. Southbridge
4. Magistrala PCI(jedno z 7 urządzeń)
5. powrót do 1
Ponadto układ sterownika magistrali PCI stosuje algorytm korekcji błędów ECC do
wszystkich danych wysyłanych z pamięci – w przypadku stwierdzenia błędu, informacja o
błędzie jest przekazywana do Southbridge’a..
Żądanie odczytu z magistrali PCI są realizowane w specjalny sposób. W przypadku
otrzymania pierwszej porcji danych kontroler może od razu zaciągnąć następną porcję
danych, gdyż z reguły urządzenie przyłączone do magistrali PCI potrafią zabuforować
większą ilość informacji niż można jednorazowo wypchnąć na samą magistralę – co pozwala
efektywnie wykorzystywać szerszą magistralę pamięci w komunikacji.
Podsumowując sterownik magistrali PCI, zawiera:
 zgodność ze specyfikacją PCI Local Bus v.2.2
 obsługa do 7 urządzeń PCI+obsługa żądań sterownika magistrali urządzeń




peryferyjnych AMD-766
32-bitowy interfejs, kompatybilny z urządzeniami PCI 3,3V i 5V
synchroniczna obsługa magistrali PCI z częstotliwością 33MHz
maksymalny transfer danych z PCI do DRAM z prędkością 132MB/s
optymalizacja komend PCI takich jak MRM(Memory Read Multiple), MWI(MemoryWrite-and-Invalidate)
1.4 Sterownik magistrali AGP
AGP (Accelerated Grpahics Port) jest wewnętrzną magistralą łączącą kartę grafiki z
kontrolerem pamięci AMD-761, która zezwala na przechowywanie danych odnoszących się
do grafiki bezpośrednio w pamięci głównej. Jak wszystkie wewnętrzne magistrale, również ta
została wykonana w technologii point-to-point i jej głównym zadaniem jest odciążenie
magistrali PCI do wymiany danych graficznych z pamięcią. Sterownik magistrali AGP
zastosowany w układzie AMD-761 jest w pełni kompatybilny z specyfikacją Accelerated
Graphics Port Interface w wersji 2.0
Zastosowanie magistrali AGP do przesyłu danych graficznych i odciążenie od tego zadania
magistrali PCI niesie za sobą następujące korzyści:
 rozdzielenie żądania odczytu/zapisu od transmisji danych (split transactions)
 kolejkowanie żądań – żądania mogą zostać zabuforowane w wewnętrznej kolejce
żądań sterownika – kolejka ta ma wyższy priorytet niż żądań pochodzące z magistral
PCI
 priorytetowanie – żądania zapisu i odczytu mogą mieć swoje własne priorytety
(wysoki/niski)
 DLR(Defined-Length Request) – strumień danych, jego rozmiar, jest zdefiniowany w
komendzie i nie jest on sztywno ograniczony jak w przypadku PCI(przez tzw. Ramkę
PCI)
 minimalny rozmiar przesyłanych danych wynosi 8B
 zastosowanie oddzielnej magistrali SBA(SideBand Address) – pozwala na
jednoczesną transmisję danych oraz żądań
 GART - Graphics Address Remapping Table
Magistrala AGP oferuje dwie kolejki żądań: jedną dla żądań odczytu i jedną dla żądań zapisu.
Ponieważ żądania te mogą posiadać różne priorytety, które zaburzają naturalną kolejność
FIFO, kolejki te nie mogą być zbyt duże. Żądania z obu kolejek mogą jednak następować w
tym samym czasie. Reguły priorytetowania na magistrali AGP zakładają, że żądania zapisu są
ważniejsze od żądań odczytu. Odczyt jest realizowany jedynie w przypadku gdy wszystkie
potrzebne dane zostaną zapisane do pamięci, ale dotyczy to jedynie wywołań niskiego
priorytetu. Kiedy w kolejce znajduje się żądanie odczytu niskiego priorytetu, ustawiana jest
odpowiednia flaga i sprawdzane jest czy nie ma jakiś żądań w kolejce zapisu. Jeśli takowe
istnieją żądanie odczytu jest blokowane do czasu wykonania zapisu.
Ogólnie kolejkowanie zapisu/odczytu stosuje się do następujących reguł:
 wszystkie żądania danego poziomu(niski/wysoki priorytet) i rodzaju (zapis/odczyt) są
realizowane w kolejności ich przybycia(FIFO)
 żądania odczytu niskiego priorytetu, zawsze ustępują żądaniom zapisu niskiego
priorytetu
 nie istnieją żadne reguły priorytetowania w przypdaku komunikacji między
magistralami PCI a AGP
 żądania o podwyższonym priorytecie są wykonywane przed żądaniami niskiego
priorytetu(zaburzenie FIFO)
 nie ma żadnych zależności między żądaniami zapisu i odczytu wysokiego priorytetu
- co oznacza, iż tego typu żądania są wykonwywane w kolejności ich wystąpienia
1.5 Układy czasowe
Układ AMD-761™ wyposażony jest w następujący układy zegarowe:
- SYSCLK – służy do taktowania magistrali Athlon System Bus oraz
pamięci – standardowo działa z prędkościami 100 lub 133MHz
- AGPCLK – do taktowania magistrali AGP – 66MHz
- PCICLK – do taktowania magistrali PCI – 33MHz
1.6 System zarządzania energią.
System zarządzania energią wbudowany w układ AMD-761 jest w pełni zgodny z
specyfikacją ACPI(Advanced Configuration Power Interface). Poniższy schemat wyjaśnia
sposób komunikacji miedzy procesorem a sterownikiem zarządzającym energią:
Procesor i kontroler komunikują się wzajemnie za pomocą magistrali Athlon Processor
System Bus (APSB) w wykorzystaniem specjalnych sygnałów za pomocą predefiniowanego
protokołu służącego do włączania/wyłączanie zasilania. Zazwyczaj to procesor wysyła
żądanie obniżenia poboru mocy do kontrolera, a ten w zależności od sytuacji może od razu
wyłączyć procesor, bądź dokonać tego z odpowiednim opóźnieniem. Kontroler realizuje
polecenia protokołu jako pewien stan opisany w ACPI. Najczęściej wykorzystywane są dwa
polecenia:
 HALT – żądanie wysyłane przez procesor, jako odpowiedź na instrukcję HALT. W
takiej w sytuacji kontroler generuje sygnał HALT i przesyła go do magistrali PCI i w
zależności od potrzeb, rozpoczyna procedurę rozłączania magistrali APSB od
procesora.
 STOP GRANT – żądanie generowane przez procesor w wyniku odpowiedzi na
sygnał STPCLK#. Podobnie jak w przypadku sygnału HALT kontroler „przepuszcza
ten sygnał na magistralę PCI i rozpoczyna sekwencję określaną mianem STOP
GRANT:
o wyłącza arbitraż na magistralach PCI/AGP, oraz opróżnia bufory (czeka na
ich opróżnienie) związane z kolejkami żądań
o rozpoczyna odłączanie procesora od ASPB wraz z automatycznym
odświeżeniem pamięci
o wysyła informację do kontrolera urządzeń zewnętrznych AMD-766, który z
kolei ustanawia odpowiedni poziom zasilania
Układ AMD-761 rozpoznaje i obsługuje następujące poziomy/stany zasilania:
 ACPI C0 – full on
 ACPI C1 – halt
 ACPI C2 – stop grant
 ACPI S1 – power-on suspend

ACPI S3 – suspend to RAM
 C0 – Full-on
W tym stanie kontroler jest w tzw. pełnym trybie pracy: uruchomione są wszystkie układy
czasowe, podłączone są wszystkie zasilania do układów, w sposób normalny odświeżana jest
pamięć DRAM
 C1 – Halt
W tym trybie pracy(o sposobie jego wywołania pisałem wcześniej) następuje odcięcie
procesora od magistrali ASPB, przy czym wszystkie urządzenia przyłączone do magistrali
PCI i AGP pracują normalnie. W przypadku wykrycia potrzeby sięgnięcia przez te
urządzenia do pamięci podręcznej procesora, sterownik AMD-761 dokonuje próby
aktywowania procesora wysyłając na magistrale ASPB odpowiedni sygnał. Sygnały te są
ponawiana do skutku aż do czasu otrzymania potwierdzenia ze strony procesora o gotowości
do pracy. W momencie zakończenie transmisji żądanych danych przez procesor układ
AMD-761 automatycznie przywraca procesor do stanu uśpienia, chyba że procesor zażąda
przejścia w stan C0 informując o tym kontroler odpowiednią sekwencją,
 C2 – Stop Grant
W tym trybie pracy, po otrzymaniu sygnału Stop Grant kontroler automatycznie przestawia
procesor w tryb uśpienia oraz w czasie pzrekierowywania sygnału na magistralę PCI już
dokonuje przełączenia pamięci na tryb autoodświeżania. W momencie wykrycie potrzeby
sięgnięcia do procesora lub pamięci układa automatycznie przywraca łączność z procesorem
oraz przejmuje kontrolę nad procesem odświeżania pamięci. Jeśli po wykonaniu zadani
kontroler AMD-761 nie potrzyma odpowiedniej sekwencji przełączające tryb na C0
automatycznie wraca do stanu C2.
 S1 – Power on-Suspend
Ten tryb pracy odznacza się niskim poborem mocy spowodowany odłączeniem procesora,
przejściem na autoodświerzanie pamięci oraz wyłączeniem większości układów zegarowych
w sterowniku W tym stanie pracuję jedynie układy czasowe pracujące przy pamięciach
rejestrowanych, ale np. układy czasowe pamięci niebuforowanej są wyłączone. Procedura
przejścia do tego stanu jest następująca:
 system operacyjny wysyła do wszystkich urządzeń żądanie mające na celu
zablokowanie wywołań DMA od urządzeń peryferyjnych – aktualnie zgłoszone
żądania zostaną jeszcze obsłużone, ale założona jest blokada na nowe żądania
 mostek południowy wysyła sygnał STPCLK# do procesora
 w odpowiedzi na sygnał STPCLK# procesor opróżnia swoje bufory i zgłasza żądanie
przejścia do stanu C2(wysyła sygnał Stop Grant)
 AMD-761 – opróżnia wszystkie swoje wewnętrzne kolejki i rozpoczyna procedurę
odłączania procesora
 po wyczyszczeniu kolejek sterownik włącza pamięć w tryb autoodświerzania
 wysyłany jest sygnał StopGran na magistrale PCI
 Southbridge wykrywa sygnał Stop Grant i w momencie otrzymania potwierdzenia z
magistrali PCI odsyła informację do AMD-761
 układ AMD-761 wyłącza większość swoich układów zegarowych
 S3 – Suspend to RAM
Stan S3 jest bardzo podobny do stanu S1, przy czym w tym stanie dodatkowo jest odłączane
zasilanie do wszystkich układów znajdujących się na płycie głównej za wyjątkiem AMD-761,
układów pamięci oraz niewielkiej części sterownika urządzeń peryferyjnych AMD-766. Stan
S# jest stanem najniższego zapotrzebowania na energię i pozwala na szybkie wznowienie
pracy systemu, gdyż aktualny wątek(kontekst) systemu jest przechowywany w pamięci a nie
jest zrzucany na dysk. W przypadku przejścia do stanu S3 zachowywana jest podobna
procedura co przy S1 z tym że do samej sekwencji dodano jeden punkt:
 Wyłączenie zasilania dla układów znajdujących się na płcie głównej.
Download