微機原理第2章-IA32微處理器的功能結構.ppt
《微機原理第2章-IA32微處理器的功能結構.ppt》由會員分享,可在線閱讀,更多相關《微機原理第2章-IA32微處理器的功能結構.ppt(28頁珍藏版)》請在裝配圖網上搜索。
第二章 IA-32微處理器的 功能結構,,計算機體系結構 = computer architecture (計算機系統(tǒng)結構),計算機體系結構是程序員所看到的系統(tǒng)的一些屬性: 概念性的結構和功能上的表現(xiàn),這些屬性既不同于數據流和控制的組織,也不同于邏輯設計和物理實現(xiàn)。,Amdahl,1964,,計算機體系結構是連接硬件和軟件的一門學科,它研究的內容不但涉及計算機硬件,也涉及計算機軟件。,2.2 IA-32微處理器的功能結構,計算機體系結構的含義,“系統(tǒng)結構” 是指概念性結構和功能特性(功能模塊),就相當于動物的器官組成及其功能特性,如雞有胃,胃可以消化食物。至于雞的胃是什么形狀的、雞的胃部由什么組成就不是“系統(tǒng)結構”研究的問題了,而是“系統(tǒng)組成”研究的問題。所謂“系統(tǒng)組成”就是在邏輯上如何實現(xiàn)這種功能(功能模塊的組成器件)。而計算機物理實現(xiàn),主要著眼于器件技術和微組裝技術(器件的物理實現(xiàn))。,計算機體系結構(應用)、組成(設計)及物理實現(xiàn)(制造),2.2.1 Intel8086微處理器的功能結構,總線接口單元BIU 由段寄存器(CS、DS、SS、ES)、指令指針寄存器(IP)、地址加法器、內部寄存器、指令隊列緩沖器及I/O控制邏輯等部分組成。 執(zhí)行單元部件EU 由通用寄存器組、專用寄存器組、算術邏輯運算單元(ALU)、標志寄存器(FR)和內部控制邏輯組成。,,執(zhí)行單元,每條指令的執(zhí)行有取指、譯碼和執(zhí)行。,早期計算機指令執(zhí)行過程:,指令花費時間=取指+指令執(zhí)行,8088CPU指令執(zhí)行過程:,指令的重疊操作,指令花費時間=指令執(zhí)行,2.2.2 80386的功能結構,,,存儲器組織 擁有32位數據線和地址線,可以尋址4GB的物理地址; 內部執(zhí)行環(huán)境(寄存器組) 首次將32位的寄存器組引入80x86體系的微處理器中, 32位的低半部分向下兼容;段寄存器仍為16位,段空間為4GB; 操作模式 實地址;保護模式;虛擬8086模式;,80386的主要特點,2.3 IA-32結構微處理器 的執(zhí)行環(huán)境,220=1MB, 地址由00000-FFFFF(H)編碼 若存放的信息是字節(jié),則按順序存放 若存放的信息是字,則將字的低位字節(jié)存放在低地址,高位字節(jié)存放在高地址 若存放的信息是雙字,則將雙字的低位字存放在低地址,高位字存放在高地址,2.3.2 基本執(zhí)行環(huán)境 (1)存儲器地址空間(8086),(2)基本程序執(zhí)行寄存器,實地址方式存儲器組織,四個不同的段:代碼段存放機器指令;數據段存放數據信息;堆棧段供堆棧使用;附加段通常用來存放附加數據; 8086有四個16位段寄存器:cs?代碼段; ds?數據段; ss?堆棧段; es?附加段。 地址的標準寫法為:“段:偏移量”。注意由于位移可以重疊,所以給出的“段:偏移量”不是唯一的。如下列地址均指向同一內存單元: 0000:0123 0002:0103 0008:00A3 0010:0023 0012:0003,段可以位于內存中的任何位置,段的首地址必須能被16整除; 若段寄存器存放的是10H,而偏移量是100H,下列步驟說明實際物理地址計算過程: 段寄存器: 0000 0000 0001 0000 (10H) 左偏四位:0000 0000 0001 0000 偏移量: 0000 0001 0000 0000 (100H) 段加偏移量 0000 0000 0010 0000 0000 (200H),,存儲器物理地址的形成,邏輯地址 是程序中使用的地址,它由段基址和段內偏移值所組成,段基址與段內偏移值都為16位的二進制數。 物理地址 也叫實際地址或絕對地址,是CPU訪問存儲器時實際使用的地址,為20位地址。,,物理地址=段基址16+段內偏移地址。,【例】各獨立段的分配情況示例。,設CS=B000H、DS=1CDEH、SS=4200H、ES=0150H,它們分別為代碼段、數據段、堆棧段和附加段的段首址。自每個段首址開始,各段均占64KB的范圍,各段之間互不重疊。,【例】各段相互重疊情況示例。,設CS=0200H、DS=0400H、SS=0480H,這樣代碼段、數據段和堆棧段的物理首地址分別為02000H、04000H和04800H。其中代碼段占8KB地址空間,數據段占2KB,堆棧段占256B,SP=0100H。如圖所示。,,(1)指令指針寄存器EIP (2)段寄存器 (3)通用寄存器 (4)程序狀態(tài)和控制寄存器,2.3.4 基本程序執(zhí)行寄存器,,,,,,,0,,15,,16,,31,,0,,15,,0,,15,,16,,31,,7,,8,,,,,,,,,,,,,,,,,AL,,BL,,CL,,DL,,AX,,BX,,CX,,DX,,AH,,BH,,CH,,DH,,EAX,,EBX,,ECX,,EDX,,EIP,,CS,,DS,,SS,,ES,,FS,,GS,,SP,,BP,,SI,,DI,,ESP,,EBP,,ESI,,EDI,,,,FLAGS,EFLAGS,,EAX 累加器寄存器:存放操作數和結果 EBX 基址寄存器:在DS段中的數據指針;存放操作數 ECX 計數寄存器:串和循環(huán)操作的計數器 EDX 數據寄存器:I/O指針,1. 通用寄存器,基本寄存器:在程序執(zhí)行時暫時保存中間結果;在進行算術運算和邏輯運算時,通用寄存器任何一個都可以作為源操作數或目的操作數。,指針和變址寄存器,ESI 串操作的源指針 EDI 串操作的目標指針 ESP 堆棧指針 EBP 堆棧上數據指針,通用寄存器的特殊用途和隱含性質,,6個段寄存器,保存16位段基址: CS 代碼段 SS 堆棧段 DS 數據段 ES 附加段 FS 數據段F GS數據段G,2. 段寄存器和存儲器分段,指向數據段,3、EFLAGS寄存器,(1)狀態(tài)標志位,CF:進位標志位,當執(zhí)行一個加法運算指令使最高位產生進位時,或者執(zhí)行一個減法運算指令使最高位引起借位,則CF=1;否則CF=0。 PF:奇偶標志位,若運算結果的低8位中所含1的個數為偶數,則PF=1;否則PF=0。 AF:輔助進位標志位。當加法運算時,如果第三位往第四位有進位,或者當減法運算時,第三位從第四位有借位,則AF=1;否則AF=0。 ZF:零標志位,當運算結果為0時,ZF=1;否則ZF=0。 SF:符號標志位,當運算結果的最高位為1時,SF=1; OF:溢出標志位,在算術運算中,帶符號數的運算結果超出了8位(+127~-128)或者16位(+32767~-32768)數據所能表達的范圍時,則OF=1。 IF:中斷允許標志位。若IF=1,則CPU可以響應可屏蔽中斷請求;,CF和OF的區(qū)別,O=C CS=0,,C=1,(2)DF標志,,DF:方向標志位,控制串操作指令的標志。若DF=0則執(zhí)行串操作指令后,變址寄存器自動增量。,(3)系統(tǒng)標志和IOPL字段,1、中斷允許標志I,2、追蹤標志T,3、IOPL特權級字段,條件轉移指令,JCXZ (CX = 0 轉),1、根據單個標志位的轉移指令,說明:指令中的字母N表示not,如果不帶N說明標志為0轉移,如果帶N說明標志為1轉移。,4、指令指針,8086CPU中的指令指針I(yè)P,它總是保存下一次將要從主存中取出指令的偏移地址,偏移地址的值為該指令到所在段段首址的字節(jié)距離。在目標程序運行時,IP的內容由微處理器硬件自動設置,程序不能直接訪問IP,但一些指令卻可改變IP的值,如轉移指令、子程序調用指令( JMP、CALL、RET、IRET )等。,8個通用寄存器 : AX , BX , CX , DX , SP , BP , SI , DI 4個段寄存器 : DS , CS , SS , ES 1個指令指針寄存器 : IP 1個標志寄存器材: FR,FR的格式,,,,,,,,,,,,,,,,,CF,PF,AF,ZF,SF,TF,IF,DF,OF,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,較驗,進位,輔助進位,零標志,符號標志,跟蹤標志,中斷標志,方向標志,溢出標志,2.4 8086的寄存器,- 配套講稿:
如PPT文件的首頁顯示word圖標,表示該PPT已包含配套word講稿。雙擊word圖標可打開word文檔。
- 特殊限制:
部分文檔作品中含有的國旗、國徽等圖片,僅作為作品整體效果示例展示,禁止商用。設計者僅對作品中獨創(chuàng)性部分享有著作權。
- 關 鍵 詞:
- 微機 原理 IA32 微處理器 功能 結構
裝配圖網所有資源均是用戶自行上傳分享,僅供網友學習交流,未經上傳用戶書面授權,請勿作他用。
鏈接地址:http://zhongcaozhi.com.cn/p-2916860.html