pamięci - rkpomoce

Transkrypt

pamięci - rkpomoce
PAMIĘCI
Część 1
Przygotował:
Ryszard Kijanka
WSTĘP
Pamięci półprzewodnikowe są jednym z
kluczowych elementów systemów cyfrowych.
Służą do przechowywania informacji w
postaci cyfrowej. Liczba informacji, które mogą
przechowywać pojedyncze układy scalone
pamięci, zawiera się w zakresie od kilobajtów
do gigabajtów.
PODSTAWOWE DEFINICJE DOTYCZĄCE PAMIĘCI
DEFINICJA 1.
Pamięciami półprzewodnikowymi nazywamy
cyfrowe układy scalone przeznaczone do
przechowywania większych ilości informacji
w postaci binarnej.
Podstawowymi parametrami pamięci są
pojemność, czas dostępu i transfer danych.
PODSTAWOWE DEFINICJE DOTYCZĄCE PAMIĘCI
DEFINICJA 2
Pojemnością pamięci nazywamy maksymalną
liczbę informacji, jaką możemy przechować w
danej pamięci.
Pojemność pamięci podajemy w bitach (b) lub
bajtach (B).
Podkreślamy, co zresztą zostanie dokładnie
wyjaśnione przy okazji omawiania organizacji
pamięci, że pojemność pamięci nie jest liczbą
słów, które możemy w niej przechowywać.
PODSTAWOWE DEFINICJE DOTYCZĄCE PAMIĘCI
DEFINICJA 3.
Czasem dostępu do pamięci nazywamy czas, jaki musi
upłynąć od momentu podania poprawnego adresu słowa w
pamięci do czasu ustalenia się poprawnej wartości tego
słowa na wyjściu pamięci w przypadku operacji odczytu lub
w przypadku operacji zapisu - czas, jaki upłynie do
momentu zapisania wartości do tego słowa z wejścia
pamięci.
W technice komputerowej używane są głównie pamięci
półprzewodnikowe o dostępie swobodnym (w odróżnieniu
od dostępu sekwencyjnego).
PODSTAWOWE DEFINICJE DOTYCZĄCE PAMIĘCI
DEFINICJA 4
Pamięcią o dostępie swobodnym nazywamy pamięć,
dla której czas dostępu praktycznie nie zależy od adresu
słowa w pamięci, czyli od miejsca, w którym jest
przechowywana informacja.
Kolejnym ważnym parametrem pamięci (szczególnie w
postaci modułów) jest jej transfer danych (ang. data
transfer rate), zwany czasami przepustowością ( ang ,
throuthput).
Transferem danych pamięci nazywamy maksymalną liczbę
danych, jaką możemy odczytywać z pamięci lub zapisywać do
pamięci w jednostce czasu.
Transfer danych pamięci może być podawany w jednostkach
informacji na sekundę (na przykład w MB/s), jednak znacznie
częściej dla modułów pamięci stosowanych w PC podaje się
częstotliwość zegara taktującego transfer lub liczbę transferów
na sekundę (np. MT/s). W dwóch ostatnich przypadkach, chcąc
obliczyć transfer danych, czyli przepustowość, musimy znać
liczbę bitów przesyłanych w jednym transferze (obecnie zwykle
64 bity).
PODZIAŁ PAMIĘCI
Ze względu na własności użytkowe pamięci półprzewodnikowe
możemy podzielić na pamięci RAM i ROM.
Definicja 1
Pamięcią RAM nazywamy pamięć półprzewodnikową o
dostępie swobodnym przeznaczaną do zapisu i odczytu.
RAM jest pamięcią ulotną, co oznacza, że po wyłączeniu jej
zasilania informacja w niej przechowywana jest tracona.
Definicja 2
Pamięcią ROM nazywamy pamięć półprzewodnikową o
dostępie swobodnym przeznaczaną tylko do odczytu.
ROM jest pamięcią nieulotną.
Z podanych własności pamięci wynikają ich
zastosowania w technice komputerowej.
Z pamięci RAM buduje się pamięć operacyjną
komputera przeznaczoną do przechowywania,
w trakcie pracy systemu, danych oraz
programów (gdyż RAM jest pamięcią do zapisu
i odczytu).
W pamięci ROM przechowuje się programy
inicjalizujące pracę komputera, gdyż muszą
być one przechowywane w pamięci nieulotnej.
PODZIAŁ RAM
Ze względu na technologię wykonania
pamięci RAM dzielimy na dwie podstawowe
grupy:
 pamięci dynamiczne - DRAM,
 pamięci statyczne - SRAM.
Pomiędzy tymi dwoma grupami pamięci występują istotne różnice w ich parametrach
i własnościach użytkowych.
ORGANIZACJA PAMIĘCI
n
DB
AB
Podstawowe wprowadzenie
układu scalonego pamięci
m
Pamięć
p-p
R/W#
CS#
DB- Szyna wejścia/wyjścia danych <DQ> - informacji
AB- Wejście adresowe służy do dokonania wyboru, na którym z wielu słów w pamięci
zastanie w y k o n a n a operacja (zapisu bądź odczytu).
R/W# - Wejście sterujące informuje układ pamięci ,jakiego rodzaju operacja będzie
wykonywana: odczyt czy zapis
C S # - Wejście służy d o uaktywnienia układu pamięci.
Wejście to jest używane przy budowie zespołów pamięci
DEFINICJE
Definicja 1
Adresem nazywamy niepowtarzalną liczbę
(numer) przypisaną danemu miejscu
(słowu) w pamięci w celu jego identyfikacji.
Definicja 2
Słowem w pamięci nazywamy zestaw
pojedynczych komórek (pojedynczych bitów)
pamięci, do którego odwołujemy się pojedynczym
adresem.
Liczbę bitów w pojedynczym słowie pamięci będziemy nazywać długością słowa pamięci.
Z UNIKALNOŚCI ADRESU
(czyli niepowtarzania się tego samego adresu)
- wynika z kolei minimalna liczba linii szyny adresowej,
i tak przy m- bitowej szynie adresowej mamy:
2m adresów
mamy warunek :
przy
N - ilości słów w pamięci
N<= 2m
aby poprawnie zaadresować N słów, potrzebujemy
m - log2 N - bitów adresu
Jeżeli oznaczymy przez:
M -pojemność pamięci ,
n- długość słowa
m- liczbę linii adresowych przez
M = nx2m
DEFINICJA
ORGANIZACJĄ PAMIĘCI NAZYWAMY
SPOSÓB PODZIAŁU OBSZARU PAMIĘCI
NA SŁOWA.
PRZYKŁAD – 32b – różna organizacja
CS#
R/W#
D – Dane
A - Adres
Komórka pamięci jednobitowa
32 x 1b = 32b
DO
A4 A3 A2 A1 A0
słowo pamięci
CS#
Org. Bajtowa
R/W#
4x1B = 4x8b=32b
D7 D6 D5 D4 D3 D2 D1 D0
A1
A0
ŁĄCZENIE UKŁADÓW PAMIĘCI
Budowa bloków (banków) pamięci polega na łączeniu układów
scalonych pamięci o określonej pojemności i organizacji w ten
sposób, aby uzyskać zespoły pamięci o większej pojemności i/lub o
zmienionej długości słowa.
Dlatego problem rozbudowy pamięci możemy podzielić na dwa
podstawowe przypadki:
 zwiększanie (rozszerzanie) długości słowa przy
niezmienionej liczbie słów,
 zwiększanie liczby słów przy niezmienionej
długości słowa
Najczęściej występują oba te przypadki
ZWIĘKSZANIE DŁUGOŚCI SŁOWA
W celu zwiększenia długości słowa pamięci szerszą
magistralę danych budujemy z bitów linii danych
kolejnych układów scalonych pamięci, natomiast
magistralę adresową i sygnały sterujące łączymy
równolegle.
Następuje tu równolegle połączenie sygnałów CS# ,
tworząc słowa leżące w takim samym miejscu o
zwiększonej długości w blokach.
Na wszystkich słowach składowych wykonujemy tą
samą operację –stąd, równoległe połączenia sygnałów
R/W#.
PRZYKŁAD
Schemat połączenia układów –
rozszerzenie długości slowa
Mamy tu:
1Mx4b pojemność 4MB
+1Mx1b pojemność 1MB
Budujemy
1Mx 9b
/czyli budowa bajtowa z
bitem kontroli parzystości/
Jak widać liczba linii adresowych nie uległa zmianie/ liczba słów ta sama/
Zmianie uległa liczba linii danych
MODUŁ PAMIĘCI – NP. MA POSTAĆ
SIMM
1M x 4b
1M x 4b
1M x 1b
1M x 1B
Pamięć w organizacji bajtowej
Bit kontroli parzystości
ZWIĘKSZANIE LICZBY SŁÓW W PAMIĘCI
Zwiększenie liczby słów pamięci oznacza zwiększenie liczby
potrzebnych adresów, a co za tym idzie - rozbudowę szyny adresowej
o dodatkowe bity potrzebne do uzyskania tych adresów. Przy
niezmienionej długości słowa szyna danych pozostaje bez zmian.
Dodatkowe bity adresu służą, przy wykorzystaniu dekodera, do
wyboru jednego z łączonych układów pamięci, z którego odczytamy
lub do którego zapiszemy informację.
Wyboru dokonujemy przy użyciu wejścia CS# uaktywniającego
układy scalone pamięci.
Magistrale adresowe, danych i sygnały sterujące układów, z
których budujemy nowy blok pamięci, łączymy równolegle.
ZWIĘKSZANIE LICZBY SŁÓW PAMIĘCI
Mamy:
256k x 4b
Budujemy;
1M x 4b
Do jego budowy używamy 4
układów scalonych i dekodera
Bity Al9 i Al8 adresu, podawane na dekoder, uaktywniają dokładnie jedno z jego czterech
wyjść. Powoduje to z kolei uaktywnienie dokładnie jednego układu scalonego pamięci.
W ramach tego układu za pomocą pozostałych bitów adresu wybieramy słowo, na którym
zostanie wykonana operacja zapisu bądź odczytu.
Jeżeli moduł pamięci potraktujemy jako pojedynczy układ scalony pamięci, możemy
traktować budowę banku pamięci przez łączenie kilku modułów pamięci jako przypadek
zwiększania liczby słów w pamięci
PAMIĘCI CZĘŚĆ 2
Pamięci dynamiczne RAM