微原11秋04ch23 堆棧和寄存器_第1頁
微原11秋04ch23 堆棧和寄存器_第2頁
微原11秋04ch23 堆棧和寄存器_第3頁
微原11秋04ch23 堆棧和寄存器_第4頁
微原11秋04ch23 堆棧和寄存器_第5頁
已閱讀5頁,還剩39頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、 QQ:25016434 2011秋 微機原理及接口技術(shù)Autumn 2011 Ch2-4 堆棧和寄存器 Stack and Register2022/8/141復習內(nèi)容第2章 8086CPU結(jié)構(gòu)與功能微處理器的外部結(jié)構(gòu)微處理器的內(nèi)部結(jié)構(gòu)微處理器的功能結(jié)構(gòu)微處理器的寄存器組織微處理器的存儲器和I/O組成微處理器(CPU);CPU的內(nèi)部和外部結(jié)構(gòu);微處理器級總線的概念;CPU的功能結(jié)構(gòu); 8086寄存器結(jié)構(gòu);存儲器組織與分段、I/O端口地址空間;第2章 8086CPU結(jié)構(gòu)與功能本 章 重 點 難 點本講重點堆棧的原理及用途臨時快速保存程序環(huán)境原理:LIFO后進的先出-不同于存儲器,無需地址,只需

2、要一個指針物理地址向上增長和向下增長用于函數(shù)調(diào)用、中斷調(diào)用、任務(wù)切換等寄存器 一般用途和特殊用途Design hazard-free and race-free level-sensitive circuit elements 設(shè)計出無競爭和險象的電路Design digital systems that are reconfigurable for testing 設(shè)計出可重配可測試的數(shù)字系統(tǒng)Write correct synthesisable VHDL models 編寫出可綜合的VHDL模塊內(nèi)部結(jié)構(gòu) 微處理器的總線結(jié)構(gòu)。外部結(jié)構(gòu) 微處理器的一般結(jié)構(gòu)2.1 微處理器的外部結(jié)構(gòu)8086 C

3、PU片有40個管腳,微處理器通過這些引腳與外部的邏輯部件連接,完成信息的交換。CPU的這些引腳信號稱為微處理器級的總線,它應(yīng)該能夠完成下列功能:與存儲器之間交換信息(指令及數(shù)據(jù));與I/O設(shè)備之間交換信息;能輸入和輸出必要的信號。 微處理器的外部結(jié)構(gòu)如圖2.1所示按功能分,這些總線可以分為三種: (1)傳送信息(指令或數(shù)據(jù))的數(shù)據(jù)總線 (Data Bus) (2)指示欲傳信息的來源或目的地址的地址總線 (Address Bus) (3)管理總線上活動的控制總線 (Control Bus)2.1 微處理器的外部結(jié)構(gòu) CPU通過地址總線輸出地址碼來選擇某一存儲單元或某一稱為I/O端口的寄存器,是單

4、向的。 地址碼的位數(shù)決定了地址空間的大小。n位地址總線可有 個地址(0 -1)。16位地址總線 65536(64KB)20位地址總線 1MB32位地址總線 4GB.地址總線:2.1 微處理器的外部結(jié)構(gòu)8086/8088地址總線 20位存儲器地址總線20位, 地址空間 1MBI/O地址總線16位(低16位) 地址空間 64KB2.1 微處理器的外部結(jié)構(gòu).數(shù)據(jù)總線: 用于CPU和存儲器或I/O接口之間傳送數(shù)據(jù),是雙向的。 微處理器數(shù)據(jù)總線的條數(shù)決定CPU和存儲器或I/O設(shè)備一次能交換數(shù)據(jù)的位數(shù),是區(qū)分微處理器是多少位的依據(jù)。 8086 CPU的數(shù)據(jù)總線是16條,我們就說8086 CPU是16位微處

5、理器。2.1 微處理器的外部結(jié)構(gòu).控制總線: 管理總線上的活動,用來傳送自CPU發(fā)出的控制信息或外設(shè)送到CPU的狀態(tài)信息,大部分是單向的,有有一些是雙向的。2.1 微處理器的外部結(jié)構(gòu)2.2 微處理器的內(nèi)部結(jié)構(gòu) 微處理器是組成計算機系統(tǒng)的核心部件,它具有運算和控制的功能。具體地講,CPU 應(yīng)具有下述基本功能:進行算術(shù)和邏輯運算; 具有接收存儲器和I/O接口來的數(shù)據(jù)和發(fā)送數(shù)據(jù)給存儲器和I/O接口的能力;可以暫存少量數(shù)據(jù);能對指令進行寄存、譯碼并執(zhí)行指令所規(guī)定的操作;能提供整個系統(tǒng)所需的定時和控制信號;可響應(yīng)I/O設(shè)備發(fā)出的中斷請求。2.2 微處理器的內(nèi)部結(jié)構(gòu)1.CPU內(nèi)部結(jié)構(gòu)及各部分功能簡介 典型

6、的 CPU 內(nèi)部結(jié)構(gòu)如圖3.1.1所示。 2.2 微處理器的內(nèi)部結(jié)構(gòu)I/O控制邏輯ALU控制器工作寄存器CPU程序計數(shù)器(PC)指令寄存器(IR)指令譯碼器(ID)控 制 邏 輯 部 件堆棧指示器(SP)狀態(tài)寄存器(PSW)地址寄存器數(shù)據(jù)寄存器圖2.2典型的CPU內(nèi)部結(jié)構(gòu)如圖2.2所示 CPU包括算術(shù)/邏輯運算單元(ALU)控制器工作寄存器組I/O 控制邏輯地址寄存器數(shù)據(jù)寄存器2.2 微處理器的內(nèi)部結(jié)構(gòu) 算術(shù)邏輯運算單元ALU (Arithmetic/Logic Unit ):它是運算器的核心,幾乎所有的算術(shù)運算,邏輯運算和移位操作都是由 ALU 完成的。2.2 微處理器的內(nèi)部結(jié)構(gòu) 工作寄存器

7、:暫存用于尋址和計算過程的信息。工作寄存器分為兩組:數(shù)據(jù)寄存器組和地址寄存器。但有的寄存器兼有雙重用途。數(shù)據(jù)寄存器用來暫存操作數(shù)和中間運算結(jié)果。地址寄存器用于操作數(shù)的尋址。2.2 微處理器的內(nèi)部結(jié)構(gòu) 控制器:它是CPU的“指揮中心”,完成指令的讀入,寄存,譯碼和執(zhí)行。從圖(3.1.1)中可以看出,一般微處理器中的控制器由6部分組成:程序計數(shù)器(PC:Program Counter )指令寄存器(IR:Instruction Register)指令譯碼器(ID:Instruction Decoder )控制邏輯部件 處理機狀態(tài)字PSW(Processor State Word )堆棧指示器(SP

8、) Stack Pointer 2.2 微處理器的內(nèi)部結(jié)構(gòu) 用于保存下一條要執(zhí)行的指令的地址,即由它提供一個存儲器地址,按此地址從對應(yīng)存儲器單元取出的內(nèi)容,就是要執(zhí)行的指令。一般指令是順序存放在存儲器內(nèi)的,所以程序計數(shù)器也叫指令地址計數(shù)器。由此可見,在程序執(zhí)行過程中要實現(xiàn)程序的轉(zhuǎn)移,就要改變程序計數(shù)器 PC 的內(nèi)容。程序計數(shù)器(PC)2.2 微處理器的內(nèi)部結(jié)構(gòu) 保存從存儲器中讀入的當前要執(zhí)行的指令。指令寄存器(IR)指令譯碼器(ID) 對指令寄存器中保存的指令進行譯碼分析??刂七壿嫴考?根據(jù)ID對指令的譯碼分析,發(fā)出相應(yīng)的一系列的節(jié)拍脈沖和電位(控制信號),去完成指令的所有操作。2.2 微處理

9、器的內(nèi)部結(jié)構(gòu)處理器狀態(tài)字(PSW) 暫存處理器當前的狀態(tài)。PSW中的各位用來指示諸如算術(shù)運算結(jié)果的正/負,是否為零,是否有進位或借位,是否溢出等標志。條件轉(zhuǎn)移指令將根據(jù) PSW 中的某一位的狀態(tài)決定程序是否轉(zhuǎn)移。堆棧指示器(SP) 是在對按后進先出原則組織的稱為堆棧的專用存儲區(qū)進行操作時提供地址的。堆棧用于子程序調(diào)用時保存返回地址和工作寄存器的內(nèi)容。2.2 微處理器的內(nèi)部結(jié)構(gòu) 包括 CPU 中與輸入/輸出操作有關(guān)的邏輯。其作用是處理輸入/輸出操作。 I/O控制邏輯2.2 微處理器的內(nèi)部結(jié)構(gòu) 8086/8088是Intel公司生產(chǎn)的第三代微處理器芯片。其特點如下: 具有20條地址線,直接尋址能力

10、達1MB。8086有16條數(shù)據(jù)線,為16位微處理器。8088有8條數(shù)據(jù)線,為準16位微處理器。片內(nèi)總線和ALU均為16位,可進行8位和16位操作。 2.3 微處理器的功能結(jié)構(gòu)8086/8088均采用全新結(jié)構(gòu),片內(nèi)均由兩個獨立的邏輯單元組成: 8086/8088CPU內(nèi)部結(jié)構(gòu)如圖2.3所示 執(zhí)行單元(EU)總線接口單元(BIU)2.3 微處理器的功能結(jié)構(gòu)總線控制電路EU控制器標 志暫存器通用寄存器ALU數(shù)據(jù)總線地址總線數(shù)據(jù)總線執(zhí)行單元(EU)總線接口單元(BIU)(16位)(20位)(8 位)(16位)16位ALUS SD SE SI PC S內(nèi)部寄存器B HB LA HA LD HD LS P

11、B PC LC HD IS I8086總線物理地址形成邏輯213645AXBXDXCX段寄存器(CS,DS,ES,SS)一.總線接口單元(BIU) 總線控制邏輯 地址形成邏輯8088CPU:4字節(jié)8086CPU:6字節(jié)指令隊列寄存器: 指令指針寄存器(IP)(先進先出)2.3 微處理器的功能結(jié)構(gòu) BIU主要負責從存貯器指定區(qū)域取出指令并將取出的指令送指令隊列寄存器中排隊,當EU執(zhí)行的指令需要和外部存貯器或者I/O端口之間進行數(shù)據(jù)傳送時,BIU就停止取指令,為EU服務(wù),完成這次總線操作;或者當指令隊列滿時,BIU也停止取指令的操作。2.3 微處理器的功能結(jié)構(gòu)二.執(zhí)行單元(EU)通用寄存器(8個)

12、 EU控制器算術(shù)/邏輯運算單元(ALU) 標志寄存器(FLAG)(即PSW)由組成。 EU主要負責從指令隊列寄存器中獲取指令,并對指令加以執(zhí)行,完成指令所規(guī)定的操作。同時也負責算術(shù)/邏輯運算以及進行內(nèi)存有效地址的計算等。 2.3 微處理器的功能結(jié)構(gòu)CPU程序執(zhí)行過程:t 忙 忙 忙 忙 忙取指令1 取指令2 取指令3 取指令4 取指令5 執(zhí)行1 執(zhí)行2 執(zhí)行3 執(zhí)行4 執(zhí)行5tt圖2.4 8086/8088CPU執(zhí)行程序的過程2.3 微處理器的功能結(jié)構(gòu)下一節(jié):寄存器組織 2.3 微處理器的功能結(jié)構(gòu)EU和BIU單元執(zhí)行過程中,應(yīng)該滿足規(guī)則:當指令隊列寄存器中無指令時,EU處于等待狀態(tài);當指令隊列

13、中存滿指令,而EU又沒有訪問存儲器和I/O端口的需要,則BIU進入空閑狀態(tài);當指令隊列中有兩個空閑字節(jié),則BIU自動執(zhí)行取指令的總線周期;在EU執(zhí)行指令時,需要訪問存儲器或I/O端口,如果這時BIU正在取指令,則應(yīng)等待BIU完成取指令周期,然后BIU進入存儲器和I/O端口訪問周期;在EU執(zhí)行轉(zhuǎn)移、子程序調(diào)用或返回等指令時,自動清除指令隊列的內(nèi)容。2.28086系統(tǒng)的儲存器組織一、8086存儲器結(jié)構(gòu) 8086系統(tǒng)中的存儲器是一個最多1M個8位數(shù)量的字節(jié)序列,即可尋址的存儲空間為1M字節(jié),系統(tǒng)為每個字節(jié)分配一個20位的物理地址(對應(yīng)16進制的地址范圍從00000HFFFFFH)。 00000H00

14、001H0000FHFFFFFH(一)、數(shù)據(jù)在內(nèi)存的位置字節(jié)、字、雙字及其地址(二)、8086CPU對字/字節(jié)的讀操作16位讀從偶地址讀二、8086存儲器的分體結(jié)構(gòu) 8086系統(tǒng)中,存儲器是分體結(jié)構(gòu),1M字節(jié)的存儲空間分成兩個512K字節(jié)的存儲體。 一個是偶數(shù)地址存儲體,一個是奇數(shù)地址存儲體,兩個存儲體采用字節(jié)交叉編址方式 D0D7D8D1500000H00002H00004HFFFFEH00001H00003H00004HFFFFFH三、存儲器的分段為什么分段8086存儲器分4個段段基地址與段寄存器 偏移地址的產(chǎn)生邏輯地址、物理地址 段基地址和偏移地址組成了邏輯地址 格式為:段基地址:偏移地址 60002H00H12H60000H0 0 0 0段基地址(16位)段首地址 物理地址=段基地址16+偏移地址物理地址的形成 015段內(nèi)偏移地址段寄存器19400000段地址左移4位20位物理地址1905 8086分段的好處1、解決了16位地址寄存器對20位物理地址的尋址問題2、實現(xiàn)了程序代碼的浮動裝配8086復位后程序運行的起始地址段寄存器使用約定四、堆棧段的使用 所謂堆棧是在存儲器中開辟一個區(qū)域,用來存放需要暫時保存的數(shù)據(jù),其工作方式是“先進后出”或“后進先出”的方式。 8086系統(tǒng)中的堆棧段是由段定義語句

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論