- 匯編語言、微機原理及接口技術(第3版)
- 鄭初華主編
- 1034字
- 2018-12-27 19:08:04
2.2 內存地址組織及存放次序
內存用于存放正在運行的程序及數據,而CPU是根據內存單元的位置信息即內存地址決定從內存的何處取得指令或數據。若內存地址使用n位二進制編碼,地址總數(也稱尋址能力)可達2n個,地址范圍為0~(2n-1)。例如,用10位二進制數,尋址能力可達1 K,地址范圍為0~1111111111 B(0~3FFH)。微機的內存基本單位是字節,用B(Byte)表示,1B=8b(bit),1K=1024,1M=1024K,1G=1024M,1T=1024G。
2.2.1 8086/88 系統的內存組織
8086/88 CPU系統的內存組織是采用分段結構組織的。其原因主要有以下三點。
(1) 8086/88 CPU中的寄存器只有16位,如果采用直接尋址,則尋址能力勢必限制在64KB范圍內,而采用分段組織可以較好地實現擴展CPU的尋址能力,每段的大小可達64KB,不同段的組合則可尋址更大的范圍。
(2)使程序與數據相對獨立,不同存取方式的數據也相對獨立。

(3)便于程序和數據的動態裝配,從一個地方挪到另外一個地方只要更改一下段寄存器的值即可,段內偏移可以不用改變。
其主要缺點是增加了地址計算的復雜度,降低了CPU的執行效率。
2.2.2 內存物理地址的計算方法
內存分段組織后,用段地址及段內偏移地址來表示真正的內存地址(物理地址、絕對地址)。段地址及偏移地址一般稱為相對地址或邏輯地址,同一物理地址可以有多個不同的段地址與偏移地址與其對應。
8086/88 系統內采用20位的物理地址(Physics Address,PA)。系統內規定段的起始地址必須是16的倍數,即低4位二進制一定為0,同時,由于系統內用于存放段地址的寄存器只有16位,無法存放20位的段起始地址信息,既然段的起始地址低4位一定為0,所以干脆就不予保存,也就是說段寄存器中保存的段地址為該段的段起始地址的高16位,反之段的起始地址則為段地址×16。段內偏移地址也叫有效地址EA(Effect Address)。

乘以16即相當于二進制左移4位或十六進制左移1位。
分段組織的物理地址的計算方法如圖2.4所示。

圖2.4 分段組織的物理地址的計算方法
例2.4 DS=1234H,相對于DS的EA=5678H
則物理地址=1234H×10H+5678H=12340H+5678H=179B8H
例2.5 已知DS=2000H,相對于DS偏移EA1為5000H,相對于ES偏移EA2為0800H,則指向同一物理地址的ES為多少?

圖2.5 例2.5示意圖
解:如圖2.5所示。
DS×10H+EA1=ES×10H+EA2

2.2.3 內存單元數據的存放次序
內存的物理地址是按字節單元編址的,若僅僅訪問字節單元則無所謂數據的存放次序,可是1字節的數據表示范圍是很小的(無符號數為0~255,有符號數為-128~+127),所以經常要用多個字節存放一個數據。一個數據占用多字節,必然存在存放次序的問題。在PC系列微機中,數據的存放次序是低地址為低字節,高地址為高字節。例如,(10000H)=12H,(10001H)=34H,(10002H)=56H,(10003H)=78H,按字讀則(10000H)=3412H,按雙字讀則(10000H)=78563412H。
- 航天系統原理
- 2020年會計學(含復試)考研真題與典型題詳解
- 智能營銷與計算廣告
- 大學物理學(下冊)
- 高校法學專業核心課程配套測試:刑事訴訟法(第八版)
- 2020年全國碩士研究生招生考試311教育學專業基礎綜合考試模擬試題詳解
- 室內裝飾材料與構造項目式教學基礎教程
- 2019年江西省選聘高校畢業生到村任職考試《行政職業能力測驗》題庫【真題精選+章節題庫+模擬試題】
- 光電檢測技術及應用
- 高國燊《自動控制原理》(第4版)配套題庫【名校考研真題+章節題庫+模擬試題】
- 福建師范大學地理科學學院652自然地理學歷年考研真題及詳解
- 應用統計學
- 海淀表達2017
- 服飾圖案設計與應用(第2版)
- Photoshop CS6照片處理從入門到精通(全彩印刷)