實地址模式(實模式)

實地址模式是指尋址採用和8086相同的16位段和偏移量,最大尋址空間1MB,尋址時將段寄存器的值左移4位加上偏移地址,得到1MB空間內的地址。它是CPU啓動的時候的模式,這時候就相當於一個速度超快的8086。

8086處理器的尋址目標是1M(2^20)大的內存空間,於是它的地址總線擴展到了20位。但是,一個問題擺在了Intel設計人員面前,雖然地址總線寬度是20位的,但是CPU中“算術邏輯運算單元(ALU)”的寬度,即數據總線卻只有16位,也就是可直接加以運算的指針長度是16位的。如何填補這個空隙呢?可能的解決方案有多種,例如,可以像一些8位CPU中那樣,增設一些20位的指令專用於地址運算和操作,但是那樣又會造成CPU內存結構的不均勻。又例如,當時的PDP-11小型機也是16位的,但是其內存管理單元(MMU)可以將16位的地址映射到24位的地址空間。受此啓發,Intel設計了一種在當時看來不失爲巧妙的方法,即分段的方法。
        爲了支持分段,Intel在8086 CPU中設置了四個段寄存器:CS、DS、SS和ES,分別用於可執行代碼段、數據段、堆棧段及其他段。每個段寄存器都是16位的,對應於地址總線中的高16位。每條“訪內”指令中的內部地址也都是16位的,但是在送上地址總線之前,CPU內部自動地把它與某個段寄存器中的內容相加。因爲段寄存器中的內容對應於20位地址總線中的高16位(也就是把段寄存器左移4位),所以相加時實際上是內存總線中的高12位與段寄存器中的16位相加,而低4位保留不變,這樣就形成一個20位的實際地址,也就實現了從16位內存地址到20位實際地址的轉換,或者叫“映射”。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章