Dostęp do pamięci DRAM
Dostęp w trybie stronicowania
Dostęp do pamięci w trybie stronicowania jest sposobem na
przyspieszenie współpracy z pamięcią DRAM. Wykorzystuje się tu
dwa fakty:
- Po pierwsze większość odczytów dokonywana jest spod
kolejnych, położonych koło siebie adresów. Oznacza to, że starsza
część adresu, adres wiersza, nie zmienia się, a zmienia się jedynie
adres kolumny. Wyjątkiem są tu słowa położone kolejno na
początku i końcu wiersza.
- Drugim wykorzystywanym faktem jest to, że czas przesłania
adresu wiersza stanowi około 50% czasu dostępu. Jeżeli przy
odczytach kolejnych słów nie będziemy zmieniać adresu wiersza,
a jedynie adres kolumny, to czas dostępu do pamięci ulegnie
skróceniu.
Realizacja efektywnego trybu ze stronicowaniem wymaga od
procesora możliwości adresowania potokowego, czyli możliwości
podania adresu następnego słowa jeszcze w czasie realizacji
dostępu do słowa poprzedniego.
Dostęp w trybie seryjnym
(Burst)
Dostęp w trybie seryjnym (ang. burst) stosowany jest przy
współpracy pamięci głównej z pamięcią cache. Pamięć ta odczytuje
bądź zapisuje informacje liniami, których długość zależy od
rozwiązania pamięci cache i przykładowo dla systemów z
procesorem 80486 wynosi 16 bajtów. Ponieważ procesor ten ma
magistrale danych 32-bitową (4 bajty), do wypełnienia linii
potrzeba 4 dostępów do pamięci. Operacje te dotyczą jednak
kolejnych, leżących obok siebie słów. Oznacza to, że adres wiersza
nie będzie się zmieniał, zaś adres kolumny przy każdym kolejnym
dostępie będzie większy o jeden. Jeżeli wewnątrz pamięci
umieścimy układ, który będzie zwiększał wartość kolumny o 1 po
każdym podaniu zbocza aktywnego sygnału CAS#, to taka pamięć
może pracować w trybie Burst.
Pamięć SDRAM i DDRAM
Modyfikacja pamięci SDRAM polega na
zsynchronizowaniu operacji pamięci z zewnętrznym
zegarem. Zmiana ta dotyczy interfejsu pomiędzy
pamięcią a systemem. Synchronizacja operacji
pamięci z zegarem procesora pozwala osiągnąć
optymalną szybkość współpracy obu układów.
Pamięci DDRAM pozwalają dwukrotnie zwiększyć
szybkość przesyłania danych magistrali pamięci bez
zmiany częstotliwości zegara taktującego tę
magistralę. Wzrost tej szybkości uzyskano poprzez
taktowanie transmisji zarówno narastającym jak i
opadającym zboczem przebiegu zegarowego.
Przeplot pamięci
Rozwiązanie to bazuje na fakcie, że większość odczytów
z pamięci dokonywana jest z kolejnych, położonych
obok siebie słów. W przypadku odczytów
następujących jeden po drugim musimy zapewnić
czas na doładowanie pojemności pamiętających.
Można jednak sąsiadujące słowa rozmieścić na
przemian w dwóch różnych bankach (układach
scalonych) pamięci. Wówczas przy odczycie kolejnych
słów, po odczytaniu słowa z pierwszego banku
możemy bez oczekiwania dokonać odczytu z
drugiego banku, gdyż jest to odczyt z innego układu
scalonego. W tym czasie w banku pierwszym zostaną
doładowane pojemności pamiętające komórek
odczytanego wiersza.