58 Zrozumieć Asembler
gowym. Bity zapisane są w ścisłej kolejności i musisz czekać na nadejście grupy bilów pod głowicę. Obecnie dyski magnetyczne nie są wykorzystywane jako główna pamięć komputerów, są one natomiast używane jako pamięci masowe, o czym powiem później.
Pamięć o swobodnym dostępie pracuje w następujący sposób: wewnątrz układu scalonego każdy bit przechowywany jest w osobnej komórce pamięci, takiej jak pokazana na rysunku 2.1. Każda z tych licznych komórek pamięci ma swój własny numer. Numer komprki jest nazywany adresem. To jest dokładnie tak samo, jak z adresami domów na ulicy. Gdy pójdziesz do znajomych na ulicę Długą 231, to nawet nie będziesz wiedział, czy w sąsiednich domach mieszkańcy są w tej chwili, czy ich nie ma. Z kostki układu scalonego wystaje wiele nóżek. Większość tych nóżek to są liniie adresowe. Jedną z tych linii jest także linia danych (patrz rys. 2.2.). Na linie adresowe przesyłane są sygnały binarnych wskazujących adres komórki przechowującej
Linia danych
Rysunek 2.2. Kość pamięci RAM
potrzebną nam informację. Adres będący liczbą binarną przekazywany jest do kostki układu scalonego poprzez doprowadzenie na odpowiednie końcówki (linie) napięcia 5V bądź napięcia OY Specjalny układ znajdujący się wewnątrz kostki RAiM dekoduje ten adres, wybierając jedną jedyną z licznych komórek znajdujących się wewnątrz kostki. Dowolna kombinacja bitów, czyli napięć 5V i 0V doprowadzonych na linie adresowe, powoduje doprowadzenie napięcia 5V tylko i wyłącznie na linię wyboru jednej jedynej komórki pamięci.
W zależności od tego czy chcesz odczytać bit znajdujący się w' komórce, czy zapisać do komórki bil informacji, linia danych układu scalonego może być podłączona do wejścia lub wyjścia komórek tak, jak to przedstawiono na rysunku 2.2. Wszystko dzieje się wewnątrz układu scalonego. Z zewnątrz po prostu doprowadza się adres do linii adresowych. Na linii danych możesz odczytać napięcie odpowiadające informacji zapamiętanej we wskazanej komórce. Jeśli ta komórka zawiera jedynkę, to na styku danych pojawi się napięcie 5Y Jeśli zapisaną informacją było 0, to na linii danych pojawi się 0V
W zależności od budowy, układy scalone mają różny czas dostępu, czyli czas upływający od momentu doprowadzenia adresu na linie adresowe do chwili, w której dane pojawiają się na linii danych.
Przeciętny czas dostępu dla pamięci wynosi 100 nanosekund. Wydaje się on być tak mały, że jest zupełnie pomijalny. Nanosekunda jest jednomiliardową częścią sekundy. Tak więc 100 nanosekund jest jedną dziesięciomilionową częścią sekundy. Jest to bardzo krótki czas, ale po to, żeby komputer zrobił nawet najprostszą rzecz, musi wykonać setki czy tysiące odczytów lub zapisów do pamięci. W ten sposób czas wykonania operacji zaczyna rosnąć. Gdy staniesz się już wprawnym programistą, zaczniesz zwracać uw^agę na liczbę odczy-tów/zapisów do pamięci, które są niezbędne do wykonania Twojego programu, a ilość których może zaważyć na wydajności Twojego programu. Michael Abrash, w swojej książce Zen ojAssembly Language, zawarł myśl, którą w po krotce można sformuować następująco: Ręce precz od pamięci, kiedy tylko się dal (Jak trudna jest to rzecz, przekonasz się później.)