freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

[計(jì)算機(jī)軟件及應(yīng)用]第3章 inter80 x86微計(jì)算機(jī)處理器-文庫吧

2025-02-07 00:25 本頁面


【正文】 而可使用戶程序的大小不受主存空間的限制; 多任務(wù)管理機(jī)制的實(shí)現(xiàn) , 可允許多個(gè)用戶或一個(gè)用戶的多個(gè)任務(wù)同時(shí)在機(jī)器上運(yùn)行; 從 80386開始,微處理器除支持實(shí)方式和保護(hù)方式外,又增加了一種虛擬 8086方式。在這種方式下,一臺(tái)機(jī)器可以同時(shí)模擬多個(gè) 8086處理器的工作。 微機(jī)原理及應(yīng)用 8086/8088內(nèi)部結(jié)構(gòu) 一 . 總線接口單元 BIU BIU:負(fù)責(zé)完成 CPU與存儲(chǔ)器或 I/O設(shè)備之間的數(shù)據(jù)傳送 。 具體任務(wù) ( 1) 指令隊(duì)列出現(xiàn)空字節(jié) (8088CPU 1個(gè)空字節(jié) , 8086CPU 2個(gè)空字節(jié) )時(shí) , 從內(nèi)存取出后續(xù)指令 。 BIU取指令時(shí) , 并不影響 EU的執(zhí)行 , 兩者并行工作; ( 2) EU需要從內(nèi)存或外設(shè)端口讀取操作數(shù)時(shí),根據(jù) EU給出的地址從內(nèi)存或外設(shè)端口讀取數(shù)據(jù)供 EU使用; 8086/8088微處理器 微機(jī)原理及應(yīng)用 ( 3) EU的運(yùn)算結(jié)果、數(shù)據(jù)或控制命令等由 BIU送往指定的內(nèi)存單元或 外設(shè)端口; 段寄存器 (16位 ): CS、 DS、 SS、 ES IP(16位的指令指針寄存器 ) 地址加法器 (20位 ) 指令隊(duì)列緩沖器 (6字節(jié) ) 內(nèi)部寄存器 總線控制電路 BIU 微機(jī)原理及應(yīng)用 圖 8086CPU內(nèi)部結(jié)構(gòu)框圖 AH ALBH BLCH CLDH DL通用寄存器SPBPSIDI數(shù) 據(jù)寄存器指針和變址寄存器A L U數(shù)據(jù)總線 ( 1 6 位 )暫存寄存器EU控制電路AXBXCXDX標(biāo)志寄存器執(zhí)行單元 ( E U ) 總線接口單元 ( B I U )1 2 3 4 5 6指令隊(duì)列緩沖器(8 位 )內(nèi)部寄存器IPESSSDSCSA L U∑D B ( 1 6 位 )A B ( 2 0 位 )總線控制電 路8 0 8 6 總線D B ( 1 6 位 )地址加法器微機(jī)原理及應(yīng)用 1). 段寄存器 8086CPU的地址引腳有 20根 , 能提供 20位的地址信息 , 可直接對 1M個(gè)存儲(chǔ)單元進(jìn)行訪問 , 但 CPU內(nèi)部可用來提供地址信息的寄存器都是 16位的 , 8086/8088采用段結(jié)構(gòu)的內(nèi)存管理的方法 。 將指令代碼和數(shù)據(jù)分別存儲(chǔ)在代碼段、數(shù)據(jù)段、堆棧段、附加數(shù)據(jù)段中,這些段的段地址分別由段寄存器 CS、 DS、 SS、 ES提供,而代碼或數(shù)據(jù)在段內(nèi)的偏移地址則由有關(guān)寄存器或立即數(shù)給出。 微機(jī)原理及應(yīng)用 CS: 存儲(chǔ)程序當(dāng)前使用的指令代碼段的段地址 。 下一條要讀取指令在代碼段中的偏移地址由指令指針寄存器 IP提供; DS:存放程序當(dāng)前使用的數(shù)據(jù)段的段地址; SS:存放程序當(dāng)前所使用的堆棧段的段地址 。 ES:存放程序當(dāng)前使用的附加數(shù)據(jù)段的段地址; ES通常用于存放字符串操作時(shí)的目的字符串; DS存放源字符串; 注意:程序員在編寫匯編語言源程序時(shí),應(yīng)該按照上述規(guī)定將程序的各個(gè)部分放在規(guī)定的段內(nèi)。每個(gè)源程序必須至少有一個(gè)代碼段,而數(shù)據(jù)段、堆棧段和附加數(shù)據(jù)段則根據(jù)程序的需要決定是否設(shè)置。 1).段寄存器 微機(jī)原理及應(yīng)用 2) 指令指針寄存器 IP 存放下一條要讀取的指令在代碼段中的偏移地址。 IP在程序運(yùn)行中能自動(dòng)加 1修正,從而使其始終存放的是下一條要讀取的指令在代碼段的偏移地址。 注:不能直接用賦值指令對其內(nèi)容進(jìn)行修改。有些指令能使 IP和 CS的值改變(如跳轉(zhuǎn)指令)或使其值壓入堆?;驈亩褩V袕棾龌謴?fù)原值(如子程序調(diào)用指令和返回指令)。 微機(jī)原理及應(yīng)用 3) 20位地址加法器 8086/8088CPU在對存儲(chǔ)單元進(jìn)行訪問以讀取指令或讀 /寫操作數(shù)時(shí) , 必須在地址總線上提供 20位的地址信息 , 以便選中對應(yīng)的存儲(chǔ)單元 。 CPU提供的用來對存儲(chǔ)單元進(jìn)行訪問的 20位地址是由BIU中的地址加法器產(chǎn)生的 。 微機(jī)原理及應(yīng)用 存儲(chǔ)器中每個(gè)存儲(chǔ)單元的地址可有以下兩種表示方式: (1) 邏輯地址 :其表達(dá)形式為“段地址:段內(nèi)偏移地址”。段內(nèi)偏移地址又稱為“有效地址 EA(Effective Address)。在讀指令時(shí),段地址由 CS提供,當(dāng)前要讀取指令在代碼段中的偏移地址由 IP提供;在讀取或存儲(chǔ)操作數(shù)時(shí),根據(jù)具體操作,段地址由 DS、 ES或 SS提供,段內(nèi)偏移地址由指令給出。 微機(jī)原理及應(yīng)用 (2) 物理地址 : CPU與存儲(chǔ)器進(jìn)行數(shù)據(jù)交換時(shí)在地址總線上提供的 20位地址信息稱為物理地址 。 物理地址的形成過程如圖 。 由邏輯地址求物理地址的公式為: 物理地址 =段地址 ?10H+段內(nèi)偏移地址 如假設(shè)當(dāng)前 (CS)=20A8H, (IP)=2022H,那么,下一條從內(nèi)存中讀取的指令所在存儲(chǔ)單元的物理地址為: 20A8H?10H+ 2022H=22A88H。 例題 微機(jī)原理及應(yīng)用 例題 已知 (CS)=1055H,(DS)=250AH (ES)=2EF0H,(SS)=8FF0H 某操作數(shù)偏移地址 =0204H 設(shè)操作數(shù)在數(shù)據(jù)段,則操作數(shù)的物理地址為: 250AH 16+0204H = 252A4H 微機(jī)原理及應(yīng)用 ∑015段內(nèi)偏移地址段寄存器19 0340000 段地址左移 4 位20 位物理地址19 0圖 物理地址的形成 微機(jī)原理及應(yīng)用 4) 指令隊(duì)列緩沖器 8086的指令隊(duì)列有 6個(gè)字節(jié) , 8088的指令隊(duì)列有 4個(gè)字節(jié) 。 對8086而言 , 當(dāng)指令隊(duì)列出現(xiàn) 2個(gè)空字節(jié) , 對 8088而言 , 指令隊(duì)列出現(xiàn) 1個(gè)空字節(jié)時(shí) , BIU就自動(dòng)執(zhí)行一次取指令周期 , 將下一條要執(zhí)行的指令從內(nèi)存單元讀入指令隊(duì)列 。 它們采用 “ 先進(jìn)先出 ” 原則 , 按順序存放 , 并按順序取到 EU中去執(zhí)行 。 當(dāng) EU執(zhí)行一條需要到存儲(chǔ)器或 I/O端口讀取操作數(shù)的指令時(shí),BIU將在執(zhí)行完現(xiàn)行取指令的存儲(chǔ)器周期后的下一個(gè)存儲(chǔ)周期,對指令所指定的存儲(chǔ)單元或 I/O端口進(jìn)行訪問,讀取的操作數(shù)經(jīng)BIU送 EU進(jìn)行處理。當(dāng) EU執(zhí)行跳轉(zhuǎn)、子程序調(diào)用或返回指令時(shí),BIU就使指令隊(duì)列復(fù)位,并從指令給出的新地址開始取指令,新取的第 1條指令直接經(jīng)指令隊(duì)列送 EU執(zhí)行,隨后取來的指令將填入指令隊(duì)列緩沖器。 微機(jī)原理及應(yīng)用 指令隊(duì)列的引入使得 EU和 BIU可并行工作,即 BIU在讀指令時(shí),并不影響 EU單元執(zhí)行指令, EU單元可以連續(xù)不斷地直接從指令隊(duì)列中取到要執(zhí)行的指令代碼,從而減少了CPU為取指令而等待的時(shí)間,提高了 CPU的利用率,加快了整機(jī)的運(yùn)行速度。 微機(jī)原理及應(yīng)用 2. 執(zhí)行單元 EU 執(zhí)行單元 EU不與系統(tǒng)外部直接相連 , 它的功能只是負(fù)責(zé)執(zhí)行指令 。 執(zhí)行的指令從 BIU的指令隊(duì)列緩沖器中直接得到 , 執(zhí)行指令時(shí)若需要從存儲(chǔ)器或 I/O端口讀取操作數(shù)時(shí) , 由 EU向 BIU發(fā)出請求 , 再由 BIU對存儲(chǔ)器或 I/O端口進(jìn)行訪問 。 EU由下列部件組成: (1) 16位算術(shù)邏輯單元 (ALU):用于進(jìn)行算術(shù)和邏輯運(yùn)算 。 (2) 16位標(biāo)志寄存器 FLAGS:用來存放 CPU運(yùn)算的狀態(tài)特征和控制標(biāo)志 。 (3) 數(shù)據(jù)暫存寄存器:協(xié)助 ALU完成運(yùn)算,暫存參加運(yùn)算的數(shù)據(jù)。 微機(jī)原理及應(yīng)用 (4) 通用寄存器:包括 4個(gè) 16位數(shù)據(jù)寄存器 AX、 BX、 CX、DX和 4個(gè) 16位指針與變址寄存器 SP、 BP與 SI、 DI。 (5) EU控制電路:它是控制 、 定時(shí)與狀態(tài)邏輯電路 , 接收從 BIU中指令隊(duì)列取來的指令 , 經(jīng)過指令譯碼形成各種定時(shí)控制信號 , 對 EU的各個(gè)部件實(shí)現(xiàn)特定的定時(shí)操作 。 微機(jī)原理及應(yīng)用 8088與 8086差異: (1) 外部數(shù)據(jù)總線位數(shù)不同 。 8086外部數(shù)據(jù)總線 16位 , 在一個(gè)總線周期內(nèi)可以輸入 /輸出一個(gè)字 ( 16位數(shù)據(jù) ) , 而 8088外部數(shù)據(jù)總線 8位 ,在一個(gè)總線周期內(nèi)只能輸入 /輸出一個(gè)字節(jié) ( 8位數(shù)據(jù) ) 。 (2) 指令隊(duì)列緩沖器大小不同 。 8086指令隊(duì)列可容納 6個(gè)字節(jié) , 且在每一個(gè)總線周期中從存儲(chǔ)器取出 2個(gè)字節(jié)的指令代碼填入指令隊(duì)列;而 8088指令隊(duì)列只能容納 4個(gè)字節(jié) , 在一個(gè)機(jī)器周期中取出一個(gè)字節(jié)的指令代碼送指令隊(duì)列 。 (3) 部分引腳的功能定義有所區(qū)別 。 微機(jī)原理及應(yīng)用 8086/8088寄存器結(jié)構(gòu) 圖 8086/8088CPU內(nèi)部寄存器結(jié)構(gòu) AHBHCHDHALBLCLDL15 8 7 0AXBXCXDX累加器基址寄存器計(jì)數(shù)寄存器數(shù)據(jù)寄存器數(shù)據(jù)寄存器15 0SPBPSIDI15 0CSDSSSES15 0IPF L A G S堆棧指針寄存器基址寄存器源變址寄存器目的變址寄存器指針寄存器變址寄存器代碼段寄存器數(shù)據(jù)段寄存器堆棧段寄存器附加數(shù)據(jù)段寄存器段寄存器指令指針寄存器狀態(tài)標(biāo)志寄存器控制寄存器通用寄存器微機(jī)原理及應(yīng)用 1. 通用寄存器 四個(gè)數(shù)據(jù)寄存器 , 兩個(gè)指針寄存器和兩個(gè)變址寄存器 。 1) 數(shù)據(jù)寄存器 AX、 BX、 CX、 DX 數(shù)據(jù)寄存器一般用于存放參與運(yùn)算的操作數(shù)或運(yùn)算結(jié)果。每個(gè)數(shù)據(jù)寄存器都是 16位的,但又可將高、低 8位分別作為兩個(gè)獨(dú)立的 8位寄存器來用。高 8位分別記作 AH、 BH、 CH、 DH,低 8位分別記作 AL, BL, CL, DL。 注意 :8086/8088 CPU的 14個(gè)寄存器除了這 4個(gè) 16位寄存器能分別當(dāng)作兩個(gè) 8位寄存器來用之外,其它寄存器都不能如此使用。 微機(jī)原理及應(yīng)用 AX(Accumulator)稱為累加器 。 用該寄存器存放運(yùn)算結(jié)果可使指令簡化 , 提高指令的執(zhí)行速度 。 此外 , 所有的 I/O指令都使用該寄存器與外設(shè)端口交換信息 。 BX(Base)稱為基址寄存器。 8086/8088CPU中有兩個(gè)基址寄存器 BX和 BP。 BX用來存放操作數(shù)在內(nèi)存中數(shù)據(jù)段內(nèi)的偏移地址, BP用來存放操作數(shù)在堆棧段內(nèi)的偏移地址。 微機(jī)原理及應(yīng)用 堆 棧 在主程序中往往要調(diào)用子程序或要處理中斷 , 這時(shí)就要暫時(shí)停下主程序的執(zhí)行 , 轉(zhuǎn)去執(zhí)行子程序 ( 或中斷服務(wù)程序) 。 此時(shí)機(jī)器必須保留的值應(yīng)有: ( 1) 把主程序中調(diào)用子程序指令的下一條指令的地址值 ——即 PC( 8086/8088中則為碼段寄存器 CS和指令指針 IP)保留下來 。 ( 2) 執(zhí)行子程序時(shí) , 通常都要用到內(nèi)部寄存器 , 并且執(zhí)行的結(jié)果會(huì)影響標(biāo)志位 , 所以也必須把在調(diào)用子程序前的主程序保留在寄存器中的中間結(jié)果和標(biāo)志位的狀態(tài)保留下來。 為什么需要 堆棧 ?什么是堆棧? 微機(jī)原理及應(yīng)用 堆 棧(續(xù)一) 主程序 執(zhí)行子程序 繼續(xù)執(zhí)行主程序 X1 X2 2 主程序 執(zhí)行子程序2 繼續(xù)執(zhí)行主程序 X1 X2 Y1 Y2 如果在子程序中還會(huì)調(diào)用別的子程序時(shí),這不僅 需要把許多個(gè)信息保留下來,而且要將保證逐次正確返回,就要求后保留的值先取出來,也即數(shù)據(jù)要按照后進(jìn)先出( last in first out)的原則保留,能實(shí)現(xiàn)這樣要求的存貯區(qū)就是堆棧。 微機(jī)原理及應(yīng)用 堆 棧(續(xù)二) ?定義: 堆棧是以 “ 后進(jìn)先出 ” 方式工作的一個(gè)存儲(chǔ)區(qū) , 它必須存在于堆棧段中 , 其段地址應(yīng)存放于 SS寄存器中 。 它只有一個(gè)出口 , 所以只有一個(gè)堆棧指針寄存器 SP, SP的內(nèi)容在任何時(shí)候都指向當(dāng)前的棧頂 。 思考 8086/8088中的指令指針 IP與前面提到的程序計(jì) 數(shù)器 PC有何不同? ,而 IP是指向下一次要取出的指令 . 8088/8086中 IP要與 CS寄存器相配合才能形成真正的物理地址 微機(jī)原理及應(yīng)用 CX(Counter)稱為計(jì)數(shù)器 。 在設(shè)計(jì)循環(huán)程序時(shí)使用該寄存器存放循環(huán)次數(shù) , 可使程序指令簡化 , 有利于提高程序的運(yùn)行速度 。 DX(Data)稱為數(shù)據(jù)寄存器。在寄存器間接尋址的 I/O指令中存放 I/O端口地址;在做雙字長乘除法運(yùn)算時(shí), DX與 AX一起存放一個(gè)雙
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1