RAM主要的作用就是存儲代碼和數據供中央處理器在需要的時候進行調用。對於RAM等存儲器來說仍是一樣的,雖然存儲的都是代表0和1的代碼,但是不同的組合就是不同的數據。對於RAM存儲器而言數據匯流排是用來傳入數據或者傳出數據的。因為存儲器中的存儲空間是如果前面提到的存放圖書的書架一樣通過一定的規則定義的, ...
RAM主要的作用就是存儲代碼和數據供中央處理器在需要的時候進行調用。對於RAM等存儲器來說仍是一樣的,雖然存儲的都是代表0和1的代碼,但是不同的組合就是不同的數據。對於RAM存儲器而言數據匯流排是用來傳入數據或者傳出數據的。因為存儲器中的存儲空間是如果前面提到的存放圖書的書架一樣通過一定的規則定義的,我們可以通過這個規則來把數據存放到存儲器上相應的位置,而進行這種定位的工作就要依靠地址匯流排來實現了。
對於中央處理器來說,RAM就象是一條長長的有很多空格的細線,每個空格都有一個唯一的地址與之相對應。如果中央處理器想要從RAM中調用數據,它首先是需要給地址匯流排發送地址數據定位要存取的數據,然後等待若幹個時鐘周期之後,數據匯流排就會把數據傳輸給CPU。下麵關於SRAM存儲原理示意圖可以幫助我們很好的理解這個過程。
圖1
上面圖1所列舉的例子中CPU在一行數據中每次只是存取一個位元組的數據,但是在現實世界中是不同的,通常CPU每次需要調用32bit或者是64bit的數據(這是根據不同電腦系統的數據匯流排的位寬所決定的)。如果數據匯流排是64位元組的話,CPU就會在一個時間中存取8個位元組的數據(想一想,如果每次還是存取1個位元組的數據,64bit匯流排將不會顯示出來任何的優勢。)
上圖中的小圓點代表RAM中的存儲空間,每一個都有一個唯一的地址線同它相連。當地址解碼器接收到地址匯流排傳送來的地址數據之後,它會根據這個數據定位中央處理器想要調用的數據所在的位置,然後數據匯流排就會把其中的數據傳送到中央處理器。
圖2
如果RAM對於CPU來說僅僅是一條“線”的話,還不能體現實際的運行情況。因為如果實際情況真的是如此的話,在實際製造晶元的時候,會有很多實際的困難,特別是在需要設計大容量的RAM的時候。所以一種更好的能夠降低成本的方法是讓存儲信息的“空格”排列為很多行--每個“空格”對應一個bit存儲的位置。如果要存儲1024bits(2^10)數據,那麼你只要使用32x32(2^5*2^5=2^10)的矩陣就能夠達到這個目的了。很明顯一個32x32的矩陣比一個1024bit的行設備更緊湊,實現起來也更加容易。請看圖2.