8086儲存器的分段組織與管理

2021-05-23 10:05:16 字數 2710 閱讀 4508

1、熟悉8086儲存器的分段管理方式。

2、掌握儲存單元位址的兩種描述方式:實體地址和邏輯位址,以及從邏輯位址到實體地址的換算方法。

記憶體是設定在主機內部的儲存器,能被cpu直接訪問,主要用來存放當前執行的程式和所需的數

據,以便隨時向cpu提供資訊。它與cpu的聯絡最密切,若把cpu比作生產成品的工廠,那麼記憶體就是原材料**處,隨時為cpu提供原材料。了解8086系統對記憶體的管理方式有助於理解cpu的工作原理。   

一、基礎知識

1、儲存單元的位址

儲存器的基本儲存單位是乙個二進位制位(bit),每8位組成乙個位元組,每相鄰的2個位元組可組成乙個字(16位)。

儲存器以位元組為單位儲存資訊。為區別不同的位元組儲存單元,每個單元都被指定乙個唯一的編號,稱為該單元的實體地址(簡稱pa)。位址編號從0開始,按順序加1,一般用十六進製制數表示。

因此pc機的記憶體是按位元組編址的,即以位元組單元為單位對記憶體進行編址。

2、儲存單元的內容

乙個儲存單元中存放的資訊稱該單元的內容。

如圖1,位址是00100h的位元組單元的內容為27h,表示為 (00100h)= 27h = 00100111b

圖1 儲存單元的內容

儲存單元的內容「

取之不盡,新來舊去

」(可重複取出而不被破壞,一旦存入新的資訊,則原儲存內容即自動丟失)。

3、儲存器中字資料的儲存

例如,圖1中字資料3427h存放在位址是00100h和00101h的兩個位元組單元中,其中低位元組27h在低位址的位元組單元00100h中,高位元組 34h在高位址的位元組單元00101h中,字資料3427h的位址是低位址00100h。

位址是00100h的字單元的內容為3427h,表示為   (00100h)= 3427h     

可見乙個位址既可作位元組單元的位址,又可作字單元的位址,視使用情況而定。

二、8086/8088的儲存器管理(記憶體)

8086/8088cpu有20位位址匯流排,可定址的最大記憶體空間達220 位元組=1m位元組,位址範圍為00000h-0fffffh。記憶體中每個位元組單元有唯一的20位實體地址,

cpu訪問記憶體中的程式和資料必須使用20位實體地址。

問題: 8086/8088cpu訪問1mb空間的記憶體必須有20位位址,而其內部與位址有關的暫存器均為16位的,只能處理16位位址,對記憶體的直接定址範圍最大只能達64kb。

8086/8088cpu應如何提供20位位址,以定址1mb記憶體?

1、儲存器的分段

把1mb記憶體劃分成若干個儲存區域,每個區域稱為乙個邏輯段(每個段都在乙個連續的儲存區域內,容量最大64kb)。8086規定每個段的段起始位址必須 能被16整除,其特徵是:20位段起始位址的最低4位為0(用16進製表示為××××0h)。暫時忽略段起始位址的低4位,其高16位(稱段基址)可存放 在16位的暫存器中。段基址可確定某個段在記憶體中的起始位置,而段中某個單元在該段中的位置則可由該單元在段內相對於段起始位址的偏移量(稱偏移位址,也 為16位)來決定。也就是說,記憶體中某單元的位置可用16位的段基址和16位的偏移位址確定。

當cpu訪問儲存單元時,先由段暫存器提供儲存單元所在段的段基址。然後段基址被左移4位(乘16),即恢復段起始位址,再與待訪問儲存單元的偏移位址相加,可得到該單元的20位實體地址。這樣一來,cpu定址範圍可達1mb。

2、段的分配

在對儲存器進行操作時,記憶體一般可分成4個段,分別稱為**段、資料段、堆疊段和附加資料段, 每個段存放不同性質的資料,進行不同的操作。

**段:存放指令。

堆疊段:程式的堆疊區(子程式呼叫、系統功能呼叫、中斷處理等操作使用,是按「先進後出」原則訪問的特殊儲存區域)或作為臨時資料儲存區。

資料段:存放程式所使用的資料。

附加資料段:輔助的資料區(串操作指令使用)。

4個邏輯段的段基址分別放在相應的**段暫存器cs、資料段暫存器ds、堆疊段暫存器ss和附加段暫存器es中,由這4個段暫存器來指明每個段在記憶體中的起始位址。

2)4個段可分配在1mb的任何地方,段與段間可重疊或不重疊、可連續排列、斷續排列。

3)儘管cpu在某一時刻最多只能同時訪問4個段,但使用者在程式中可根據需要定義多個這樣的段。若cpu要訪問4個段以外的其他段,只要改變相應段暫存器的內容即可。

3、儲存單元的實體地址與邏輯位址

實體地址

邏輯位址

儲存單元的實際位址(20位)

與儲存單元有唯一對應關係

cpu訪問儲存單元時使用實體地址

程式設計時程式以邏輯位址編址

邏輯位址—→實體地址的轉換:

16位段位址×16+16位偏移位址—→20位實體地址

由biu中的位址加法器實現。

8086與儲存器

選中80h位址,允許cpu對介面的讀操作。選中0ffh埠,允許cpu對介面進行寫操作。選擇乙個範圍f800h ffffh,其中,偶位址為 1,奇位址為 0 27c128是一種16k8位的sram晶元,由14位位址線和8位資料線組成。兩片27c128可擴充套件總容量至32kb 其中u7片選擇偶位址,u...

8086儲存器組織以及運算元定址方式

時鐘週期 時鐘週期是cpu的基本時間計量單位,由cpu主頻決定,數值上等於cpu主頻的倒數。乙個時鐘週期又稱為乙個t狀態,因此基本匯流排週期可以用t1 t2 t3 t4表示。ale 位址鎖存訊號,t1結束的時候,電平由高跳變至低,將位址鎖存起來,由位址鎖存器給cpu提供位址,t1時ale為高電平 a...

儲存管理 分段與分頁

一.分頁儲存管理 1.基本思想 使用者程式的邏輯位址空間被劃分成若干固定大小的區域,稱為 頁 相應地,記憶體空間分成若干個物理塊,頁和塊的大小相等。可將使用者程式的任一頁放在記憶體的任一塊中,實現了離散分配。2.分頁儲存管理的位址機構 15 12 11 0 頁號p 頁內位移量w 頁號4位,每個作業最...