內存與內存地址

      上節講到cpu如何通過總線與存儲器交互,存儲器由那些部分構成呢?

      cpu直接與內存進行交互。內存是計算機中的重要部件,與之對應的是外存。

      "內存(Memory)也被稱爲內存儲器,其作用是用於暫時存放CPU中的運算數據,以及與硬盤等外部存儲器交換的數據。只要計算機在運行中,CPU就會把需要運算的數據調到內存中進行運算,當運算完成後CPU再將結果傳送出來,內存的運行也決定了計算機的穩定運行。 內存是由內存芯片、電路板、金手指等部分組成的。"

       “我們平常使用的程序,如Windows操作系統、打字軟件、遊戲軟件等,一般都是安裝在硬盤等外存上的,但僅此是不能使用其功能的,必須把它們調入內存中運行,才能真正使用其功能,我們平時輸入一段文字,或玩一個遊戲,其實都是在內存中進行的。就好比在一個書房裏,存放書籍的書架和書櫃相當於電腦的外存,而我們工作的辦公桌就是內存。通常我們把要永久保存的、大量的數據存儲在外存上,而把一些臨時的或少量的數據和程序放在內存上,當然內存的好壞會直接影響電腦的運行速度。”

       一臺PC機裝有多個存儲器芯片,從讀寫上分爲:隨機存儲器(RAM)和只讀存儲器(ROM)。隨機存儲器關機後存儲的內容丟失;只讀存儲器只能讀取不能寫入,關機後內容不丟失。

      內存一般採用半導體存儲單元,包括隨機存儲器,只讀存儲器,高速緩存。

      其中RAM是最重要的存儲器。

      說了這麼多,來講講第一節我們一筆帶過的內存地址,這是個很重要的知識點。

      CPU通過地址總線尋找存儲器中的內存是通過內存地址,通過向內存地址交換數據也即從內存中讀取或寫入數據。存儲器芯片在物理上是獨立的器件,但是都具有以下的共同特點:

  •     都通過總線與CPU相連
  •     通過控制總線與CPU進行讀寫操作

   也就是說他們都是內存,CPU都把他們當做內存進行直接的讀/寫操作。

  CPU把這些內存當做一個總的邏輯內存空間,便於統一操作和管理,一視同仁。從地址總線的角度來說,爲每個內存都分配內存地址空間,方便CPU進行尋址操作,對於CPU來說直接面對的是地址總線而不是內存空間。



       所有的物理存儲器被看做一個由若干存儲單元組成的邏輯存儲器,每個物理存儲器都有屬於自己的不與其他存儲器衝突的邏輯地址段,即地址空間。

       CPU在這段地址空間讀寫數據,實際上也就是在實際的物理內存中讀寫數據,二者其實是等價的。之所以引入邏輯存儲器的原因:一是爲了便於地址總線尋址;而也是方便管理衆多的獨立的內存。

        因此內存空間的大小受地址總線的寬度限制,在上一節中我們描述了一個8條地址總線的cpu與16條地址總線的cpu在傳輸數據上的差別與優劣對比。可以看出16條地址總線的傳入效率是優於8條地址總線的。

        在地址總線上。擁有條數多的地址總線的CPU往往能夠提供更多的邏輯地址來分配給實際的內存空間,而條數少的地址總線的CPU如果往往面臨資源緊張的狀況。

          下圖展示了8086PC機內存地址的地址空間分配的基本情況:

     

從地址0~9FFFF的內存單元中讀取數據,實際上就是在讀取主存儲器的數據;向地址A0000~BFFFF的內存單元中寫數據,就是向顯存中寫入數據;思考下:向地址C0000~FFFFF的內存單元寫入數據89D3的正確性。

答案是:不正確,因爲ROM是隻讀存儲器,因此不能夠寫入數據。


發佈了104 篇原創文章 · 獲贊 16 · 訪問量 12萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章