Documente Academic
Documente Profesional
Documente Cultură
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
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(Memory-
Write-and-Invalidate)
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
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.