Pamięci półprzewodnikowe
Pamięci półprzewodnikowe - cyfrowe układy scalone przeznaczone do przechowywania większej ilości informacji
Pojemność pamięci to maksymalna ilość informacji jaką można przechować w danej pamięci. Podawana jest zazwyczaj w bitach lub bajtach.
Czas dostępu do pamięci - w przypadku odczytu jest to czas jaki upływa od podania poprawnego adresu odczytywanego słowa do czaasu ustalenia poprawnej wartości tego słowa, w przypadku zapisu jest to czas jaki upływa do momentu wejścia danego słowa do pamięci.
Pamięć RAM - pamięć półprzewodnikowa o dostępie swobodnym (czas dostępu do danego słowa nie zależy od adresu słowa w pamięci - dla wszystkich adresów jest praktycznie równy - wejścia równoległe - wszystkie bity wprowadzane i wyprowadzane równocześnie) przeznaczona do odczytu i zapisu . Jest ona pamięcią ulotną tzn po wyłączeniu komputera zapis w niej zostaje utracony.
Pamięć ROM - pamięć półprzewodnikowa o dostępie swobodnym przeznaczona tylko do odczytu. Jest więc pamięcią nieulotną.
Z pamięci RAM buduje się tzw. pamięć operacyjną przenaczoną do przechowywania danych w trakcie pracy systemu. W pamięci ROM przechowuje się programy inicjujące pracę komputera.
Ze względu na technikę wykonania pamięci RAM dzielimy na:
Pamięci dynamiczne DRAM
Pamięci statyczne SRAM
Pamięci dynamiczne są wolniejsze od statycznych, są natomiast tańsze i łatwiej ulegają scaleniu dzięki czemu można uzyskać większe pojemności. Wadą pamięci dynamicznych jest to że wymagają odświeżania czyli ponownego wykonywania co określony czas zapisu tych samych danych.
Niski koszt i łatwość scalania spowodowały że z pamięci dynamicznych tworzy się pamięć operacyjną (pomimo wolniejszego działania), natomiast z pamięci statycznych robi się pamięć podręczną cache (zazwyczaj o zdecydowanie mniejszych pojemnościach lecz dużej szybkości działania).
Organizacja pamięci
DB n
AB m
R/W#
CS#
Szyna wejścia/wyjścia danych DB służy do wprowadzania i wyprowadzania informacji do i z pamięci.
Wejście adresowe AB (szyna adresowa) służy do dokonania wyboru na którym ze słów zostanie wykonana operacja.
Wejście RW informuje o tym jaka operacja będzie wykonywana a wejście CS służy do uaktywnienia układu pamięci w sytuacji gdy pamięć jest połączeniem wielu układów scalonych pamięci.
Adres pamięci - jest to numer przypisany danemu miejscu słowa w pamięci w celu jego identyfikacji
Słowo w pamięci - jest to zestaw pojedynczych komórek w pamięci do którego odwołujemy się pojedynczym adresem
Długość słowa to ilość bitów w tym słowie. Musi ona być równa ilości wyprowadzeń z pamięci ponieważ słowa s wprowadzane i wyprowadzane równolegle (wszystkie bity jednocześnie)
Szyna adresowa ma zadanie pamiętać wszystkie adresy . Dla szyny m-bitowej mamy do dyspozycji 2 m adresów. Jeśli ilość słów w pamięci wynosi N to spełniony musi być warunek:
N<=2m
Pojemność pamięci wyliczyć możemy posługując się wzorem:
M = n *2m
n- długość słowa
m - ilość lini adresowych
Organizacja pamięci - to sposób podziału pamięci na słowa
Na przedstawionym poniżej rysunku przedstawione są dwa sposoby podziału pamięci:
Przykład a to podział na słowa jednobitowe - jest ich w sumie 32 dlatego potrzeba 5-bitowej szyny adresowe ale tylko jednego wejścia adresującego komórkę ponieważ słowo składa się tylko z jednego bita
W przykładzie b słowa są 8-bitowe czyli 1 bajtowe dlatego wystarczy szyna adresowa o pojemności 2 bitów ale za to szyna z danymi musi mieć osiem wejść/wyjść ponieważ słowo ma długość ośmiu bitów
Łączenie układów pamięci
Budowa blokó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 zmienionej długości słowa. Zatem problem rozbudowy pamięci można rozwiązać na dwa sposoby:
Poprzez zwiększenie długości słowa - trzeba wówczas rozbudować szynę z danymi ponieważ musi ona równocześnie wprowadzać wszystkie bity (równolegle)
Poprzez zwiększenie ilości słów - trzeba rozbudować szynę adresową ponieważ jest więcej słów do zaadresowania
Oba przypadki mogą występować równocześnie
Zwiększanie długości słowa
W celu zwiększeniu długości słowa pamięci szerszą magistralę danych budujemy z bitów danych kolejnych układów scalonych pamięci natomiast magistralę adresową i sygnały sterujące łączymy równolegle. Połączenie równoległe oznacza że we wszystkich układach z których budujemy blok o większej długości słowa wybieramy słowa położone w takim samym miejscu (ten sam adres we wszystkich układach scalonych)
Podobnie z sygnałem sterującym RW - łączymy go równolegle ponieważ cały czas jest to jedno słowo tyle że zapisane na kilku układach- wykonywana operacja dotyczyć więc będzie wszystkie bity tego słowa. Również sygnał uaktywniający CS będzie połączony równolegle ponieważ trzeba uaktywnić układy w których zapisane jest to słowo.
Na przedstawionym poniżej rysunku przedstawiona jest metoda rozbudowy pamięci przez zwiększenie długości słowa a w zasadzie zamiana modułu 4-bitowego w ośmio bitowy.
Zauważmy że zwiększyła się tylko szyna danych natomiast szyna adresowa, wejście sterujące i wejście uaktywniające pozostaje bez zmian - jest tylko połączona równolegle z pozostałymi układami.
Zwiększanie ilości słów w pamięci
Jeżeli zwiększymy ilości słów będzie to znaczyło że musimy rozbudować też szynę adresową o dodatkowe bity. Przy niezmienionej długości słowa szyna danych pozostaje bez zmian. Dodatkowe bity adresu służą przy wykorzystaniu dekodera do wyboru jednego z jłączonych układów pamięci z którego odczytamy lub do którego zapiszemy informację. Wyboru dokonujemy wykorzystując wejście CS# uaktywniajającego układy scalone pamięci.
Poniższy rysunek przedstawia zamianę układów pamięci 256kx4b na blok pamięci 1Mx4b. Blok taki budujemy wykorzystując cztery takie układy pamięci oraz dekoder.
Bity A19 i A18 adresu podawane na dekoder uaktywniają dokładnie jedno z jego czterech wyjść, co powoduje uaktywnienie jednego układu scalonego pamięci. W ramach tego układu przy pomocy pozostałych bitów adresu wybieramy słowo na którym zostanie wykonana operacja odczytu lub zapisu.
Pamięć
p-p