8086CPU

1、  8086CPU8088CPU內部結構基本相同,不同之處在於80888條外部數據總線,因此爲準16位。808616條外部數據總線。兩個CPU的軟件完全兼容,程序的編制也完全相同。

2、  8086CPU從功能上分爲兩大部分:一是執行部件(EU,二是總線接口部件(BIU)

執行部件是由以下雖部分組成:

1)四個通用寄存器:AX BX CX DX

2)四個專用寄存器:基數指針寄存器BP,堆棧指針寄存器SP,源變址寄存器SI,目的變址寄存器DI

3)標誌寄存器FR

4)算術邏輯部件ALU

功能是負責執行所有的指令,向總線接口部件提供指令執行的結果數據和地址,並對通用寄存器和標誌寄存器進行管理。

總線接口部件由以下部件組成:

1)四個段寄存器:代碼段寄存器,數據段寄存器,附加段寄存器,堆棧段寄存器。

2)指令指針寄存器

3)地址加法器

4)指令隊列

功能:執行外部總線週期,負責存儲器與外部端口I|O傳送數據。也就是負責CPU與存儲器和外設之間的信息交換。

3、共有14個寄存器,分成3個部分:

(!)通用寄存器8 AX,  BX , CX,  DX , SP , BP  ,SI  ,DI.

AX , BX ,CX , DX爲數據寄存器,用來保存運算中的中間結果和有效地址。4個寄存器既可以做16位寄存器,也可以做8位寄存器  AL, AH, BL, BH, CL, CH, DL, DH.

在程序設計中,一般把AX用作累加器。BX 用作基址寄存器,CX用作計數器,DX用作數據寄存器。

SP:堆棧指針寄存器;裝棧頂指針偏移量。

BP:基址指針寄存器:裝棧段中一個數據區的基址偏移量。

SI:源變址寄存器;裝源操作數地址的偏移量。

DI:目的變址寄存器;裝目的操作數地址偏移量。

2)段寄存器4

CS;代碼段寄存器;裝代碼段的起始地址;

DS;數據段寄存器;裝數據段的起始地址;

SS; 堆棧段寄存器;裝堆棧段的起始地址;

ES: 附加段寄存器;裝附加段的起始地址。

(3)控制寄存器兩個:IPFR

IP:指令指針寄存器;始終存放當前指令的下一第指令的起始存儲單元的偏移地址。

FR:狀態標誌寄存器;用來存放運算結果和特徵。16位寄存器,用39位。

標誌位分爲兩大類:一類是狀態標誌,用來表示算術、邏輯運算的結果特徵。(CFPFAFZFSFOF)。一類是控制標誌;用來表示控制CPU的操作特徵。(IFDFTF

CFFR0):CF=1爲加、減運算結果的最高位有進位或有借位,否則CF=0

PFFR2):PF=1爲操作結果“1”的個數爲偶數,否則PF=0

AFFR4):AF=1爲運算結果的低4位向高4位有進位或有借位,(用於10進制BCD碼運算指令)否則A=0

ZFFR6):ZF=1運算結果爲0,否則ZF=0

SFFR7):SF=1運算結果最高爲0E),否則SF=0

OFFR11):OF=1在算術運算時,帶符號數的運算結果超出數的表示範圍。否則OF=0

TFFR8):TF=1CPU進入單步工作方式。

IFFR9):IF=1允許CPU響應可屏蔽外部中斷請求。IF=0禁止中斷。

DFFR10):DF=1在字符串操作時使地址指針自動減量。DF=0自動增量。

4 8086系統的物理地址是將段地址寄存器的內容左移4位(或乘16)加上偏移地址,即可得到20位的物理地址。

   2000H左移4位爲20000H,加上2100H22100H,則物理地址爲22100H

58086/8088CPUBIU完成一次訪問存儲器或外設操作所需的時間稱爲一個總線週期。一個總線週期最少包含4個時鐘週期(T1~T4)。當訪問存儲器(讀、寫)或外設時,存儲器或外設不能及時地配合CPU傳送數據,存儲器或外設通過“READY:信號在T3之前向CPU發一個“數據未準備好”信號,CPUT3之後插入一個或多個等待時鐘週期TW。當存儲器外設準備好數據,通過“READY”發“準備好”信號,CPU接收到這個信號後,會自動脫離TW狀態進入T4狀態。因此插入多少個TW取決於“READY”信號。

1、  最小模式:就是在系統中只有8086/8088一個微處理器。在該系統中,所有的總線控制信號都直接由8086/8088產生,因此,系統中總線控制電路被減到最少。

最大模式:在系統中包含兩個或多個微處理器,其中一個主處理器就是不是8088/8086,其它處理器爲協處理器,是協助主處理器工作的。它用在中等規模或大型的8088/8086系統中。一般情況下和8088/8086配合的協處理器有兩個,一個是數值運算協處理器8087,一個是輸入/輸出協處理器8089。將8088/8086CPU的第33腳接地時,系統處於最大模式,當第33腳接+5V時,系統爲最小模式。

2、  地址鎖存器就是一個暫存器,它根據控制信號的狀態,將總線上的地址代碼暫存起來。8088/8086的數據和地址總線採用分時複用不着操作方式,即用同一總線既傳送地址又傳送數據。當微處理器與存儲器交換信號時,首先由CPU發送存儲器的地址,同時發允許鎖存信號ALE給鎖存器,當鎖存器接到該信號後將地址/數據總線上的地址鎖存在鎖存器中,隨後才能傳送數據。

3、  8086中的典型時序包括:

1)存儲器讀與寫週期。

2I/O設備的讀與寫週期。

3)中斷響應週期。

4)系統復位。

5)空轉週期。

6CPU進入和退出保持狀態的時序。

 

 ?? 8086CPU的字節尋址範圍有多大?爲什麼?存儲器爲什麼分段?20位物理地址的形成過程是怎樣的?

答:8086CPU尋址範圍1MB。因爲8086CPU地址線爲20條,2^20=1024KB,即1MB。8086系統中,指令僅給出16位地址,與尋址有關的寄存器也只有16位長,因此尋址範圍只有64KB,爲了尋址1MB,所以分成四個邏輯段。當CPU訪問內存時,段寄存器的內容(段基址)自動左移4位(二進制),與段內16位地址偏移量相加,形成20位的物理地址。

 

採用分段結構的存儲器中,任何一個邏輯地址都由段基址和偏移地址兩部分構成,都是 16位二進制數。
       物理地址:存儲器的絕對地址,從00000HFFFFFHCPU訪問存儲器的實際尋址地址(也稱爲絕對地址)
      16位的段基址左移4(相當於在段基址最低位後添40),然後與偏移地址相加獲得物理地址,這相當於完成如下的地址運算:
         物理地址=段基址×16+偏移地址

採用分段結構的存儲器中,任何一個邏輯地址都由段基址和偏移地址兩部分構成,都是 16位二進制數。
       物理地址:存儲器的絕對地址,從00000HFFFFFHCPU訪問存儲器的實際尋址地址(也稱爲絕對地址)
      16位的段基址左移4(相當於在段基址最低位後添40),然後與偏移地址相加獲得物理地址,這相當於完成如下的地址運算:
         物理地址=段基址×16+偏移地址

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