第2章-80x86微處理器課件_第1頁(yè)
第2章-80x86微處理器課件_第2頁(yè)
第2章-80x86微處理器課件_第3頁(yè)
第2章-80x86微處理器課件_第4頁(yè)
第2章-80x86微處理器課件_第5頁(yè)
已閱讀5頁(yè),還剩63頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

14十月20231第2章80X86微處理器匯編語(yǔ)言基礎(chǔ)2.1.2Intel8086CPU內(nèi)部寄存器2.2存儲(chǔ)器物理地址的形成2.1.1Intel8086CPU內(nèi)部結(jié)構(gòu)接口技術(shù)基礎(chǔ)2.1.3Intel8086微處理器引腳說明補(bǔ)充Intel8086CPU工作時(shí)序08十月20231第2章80X86微處理器匯編語(yǔ)言基14十月20232匯編語(yǔ)言基礎(chǔ)2.1.2Intel8086CPU內(nèi)部寄存器2.2存儲(chǔ)器物理地址的形成2.1.1Intel8086CPU內(nèi)部結(jié)構(gòu)08十月20232匯編語(yǔ)言基礎(chǔ)2.1.2Intel微型計(jì)算機(jī)的結(jié)構(gòu)14十月20233輸入設(shè)備控制器輸出設(shè)備存儲(chǔ)器運(yùn)算器計(jì)算1+2+3并不關(guān)心1+2

的中間結(jié)果!微型計(jì)算機(jī)的結(jié)構(gòu)08十月20233輸入設(shè)備控制器輸出設(shè)備14十月202342.1.2Intel8086內(nèi)部寄存器CPU中為什么要使用寄存器寄存器比存儲(chǔ)器存取速度快使用靈活(如暫存運(yùn)算的中間數(shù)據(jù))、控制方便(如IP)寄存器的分類通用寄存器:傳送和暫存數(shù)據(jù);參與算術(shù)邏輯運(yùn)算并保存運(yùn)算結(jié)果;段寄存器:保存段地址,用于尋址時(shí)構(gòu)成物理地址;專用寄存器:CPU運(yùn)行的輔助工具。用戶編程時(shí)所用到的CPU用戶編程時(shí)所用到的CPU08十月202342.1.2Intel8086內(nèi)部14十月20235通用寄存器類別16位8位名稱作用

AXAH、AL累加器常作隱含操作數(shù),可通用BXBH、BL基地址寄存器常作地址指針,可通用CXCH、CL計(jì)數(shù)器常存放計(jì)數(shù)值,可通用DXDH、DL數(shù)據(jù)寄存器常與累加器配合,可通用SI無源變址寄存器保存源操作數(shù)地址DI無目的變址寄存器保存目的操作數(shù)地址SP無棧頂指針只能保存堆棧棧頂?shù)刂稡P無堆棧指針可保存堆棧任意位置地址堆棧指針寄存器數(shù)據(jù)寄存器變址寄存器08十月20235通用寄存器類別16位8位名稱作14十月20236累加器AX16位寄存器可以存儲(chǔ)2個(gè)字節(jié)的數(shù)據(jù);例如,數(shù)值2008H存放于AX累加器中。AX可分做兩個(gè)8位的寄存器使用,分別為AH和AL。(AX)=2008H,則(AH)=20H,(AL)=08H;BX、CX、DX類似。AX0123456789101112131415無符號(hào)數(shù)范圍為0~65535有符號(hào)數(shù)范圍為-32768~+327670010000000001000AHAL08十月20236累加器AX16位寄存器可以存儲(chǔ)2個(gè)字節(jié)14十月20237數(shù)據(jù)寄存器AX、BX、CX和DX16位寄存器高低8位可分為兩個(gè)獨(dú)立寄存器使用;主要用于暫存指令執(zhí)行過程中的數(shù)據(jù);特殊用途AX:累加器,ALU運(yùn)算核心部件、某些指令的默認(rèn)寄存器;BX:基址寄存器,存放存儲(chǔ)單元的有效地址;CX:計(jì)數(shù)器,串操作指令和循環(huán)指令中的默認(rèn)計(jì)數(shù)器;DX:與AX合用保存32位數(shù)據(jù);I/O指令中存放端口地址。08十月20237數(shù)據(jù)寄存器AX、BX、CX和DX16位14十月20238變址寄存器SI、DI16位寄存器;常作為指針,存放存儲(chǔ)單元有效地址,也可暫存數(shù)據(jù);特殊用法:SI、DI中保存的地址信息可以隨著指令的執(zhí)行而自動(dòng)改變;SI:源變址寄存器,串操作中存放源串地址,默認(rèn)DS段;DI:目的變址寄存器,串操作中存放目的串地址,默認(rèn)ES段;該特殊用法只在字符串操作中有效,其它場(chǎng)合下作一般的指針寄存器使用;08十月20238變址寄存器SI、DI16位寄存器;14十月20239堆棧指針寄存器SP、BP堆棧是一個(gè)先進(jìn)后出的數(shù)據(jù)結(jié)構(gòu),棧底位置不變;棧頂指針SP其中始終存放棧頂單元的有效地址;其值是由出入棧指令自動(dòng)更改的,一般不允許隨意對(duì)該寄存器賦值;堆棧指針BP其中數(shù)據(jù)一般作為地址進(jìn)行訪存;默認(rèn)對(duì)應(yīng)于SS段,可尋址堆棧中的任何單元。堆棧棧底1

2

31

2

3

3

2

1棧頂08十月20239堆棧指針寄存器SP、BP堆棧是一個(gè)先進(jìn)14十月202310段寄存器類別16位8位名稱作用段寄存器無代碼段段寄存器存放代碼段段地址無數(shù)據(jù)段段寄存器存放數(shù)據(jù)段段地址無附加段段寄存器存放附加段段地址無堆棧段段寄存器存放堆棧段段地址一段匯編語(yǔ)言程序至少有一個(gè)邏輯段——代碼段,用于存放代碼;一段匯編語(yǔ)言程序最多有4個(gè)邏輯段——1個(gè)代碼段,3個(gè)數(shù)據(jù)段,分別用于存放代碼和數(shù)據(jù);CSDSESSS08十月202310段寄存器類別16位8位名稱作用14十月202311CS(CodeSegment)代碼段用來存放要執(zhí)行的指令序列;段首地址用代碼段寄存器CS來保存;指令指針寄存器IP指示本段中的地址;將要執(zhí)行的下條指令的有效地址;CPU利用CS:IP形成存儲(chǔ)單元的物理地址,以獲取下條要執(zhí)行指令的代碼。08十月202311CS(CodeSegment)14十月202312DS(DataSegment)數(shù)據(jù)段用來存放程序運(yùn)行所需要的數(shù)據(jù);段首地址用數(shù)據(jù)段寄存器DS來保存;CPU利用DS:EA形成存儲(chǔ)單元的物理地址,以獲取數(shù)據(jù)段中的數(shù)據(jù);EA的形成方式詳見第3章尋址方式的介紹。08十月202312DS(DataSegment)14十月202313ES(ExtraSegment)附加段即附加的數(shù)據(jù)段,保存程序運(yùn)行所需要的數(shù)據(jù);段首地址用附加段寄存器ES來保存;CPU利用ES:EA形成存儲(chǔ)單元的物理地址,以獲取附加段中的數(shù)據(jù);串操作指令常將附加段ES作為目的操作數(shù)的存放區(qū)域。08十月202313ES(ExtraSegment)14十月202314SS(StackSegment)堆棧用于存儲(chǔ)程序運(yùn)行中需要臨時(shí)保護(hù)的數(shù)據(jù);段首地址用堆棧段寄存器SS來保存;堆棧指針寄存器SP保存堆棧棧頂?shù)挠行У刂?;CPU利用SS:SP對(duì)堆棧棧頂單元進(jìn)行操作;

利用SS:BP對(duì)堆棧中的任一單元進(jìn)行操作。08十月202314SS(StackSegment14十月202315專用寄存器類別16位8位名稱作用專用寄存器IP無指令指針寄存器保存將要取出的指令有效地址FLAG無標(biāo)志寄存器保存CPU當(dāng)前的狀態(tài)標(biāo)志信息指令指針I(yè)P保存將要執(zhí)行指令的有效地址;該寄存器的內(nèi)容是不允許人為更改的,通過指令的執(zhí)行而自動(dòng)改變。標(biāo)志寄存器FLAG該寄存器是利用其中的每一位來反映當(dāng)前CPU執(zhí)行指令的結(jié)果或控制指令執(zhí)行形式。08十月202315專用寄存器類別16位8位名稱14十月20231616位標(biāo)志寄存器僅用到其中9位,且按位使用;6位狀態(tài)標(biāo)志位:反映ALU的執(zhí)行狀態(tài);按照ALU指令執(zhí)行的結(jié)果設(shè)置各狀態(tài)標(biāo)志位;3位控制標(biāo)志位:控制CPU的某些功能;1514131211109876543210OFDFIFTFSFZFAFPFCF進(jìn)位標(biāo)志零標(biāo)志符號(hào)標(biāo)志溢出標(biāo)志方向標(biāo)志中斷允許標(biāo)志陷阱標(biāo)志奇偶標(biāo)志輔助進(jìn)位標(biāo)志08十月20231616位標(biāo)志寄存器僅用到其中9位,且按14十月202317常用的狀態(tài)標(biāo)志位進(jìn)位標(biāo)志位CF運(yùn)算結(jié)果有進(jìn)位或借位時(shí),CF=1,否則CF=0;溢出標(biāo)志位OF運(yùn)算結(jié)果超出了數(shù)據(jù)表示范圍時(shí),OF=1,否則OF=0;符號(hào)標(biāo)志位SF運(yùn)算結(jié)果為負(fù)數(shù)時(shí),SF=1,否則SF=0;零標(biāo)志位ZF運(yùn)算結(jié)果為0時(shí),ZF=1,否則ZF=0;08十月202317常用的狀態(tài)標(biāo)志位進(jìn)位標(biāo)志位CF標(biāo)志位設(shè)置例1:3AH+7CH例2:0AAH+7CH14十月2023183AH=00111010B+)7CH=01111100B10110110B=0B6HCF=SF=ZF=OF=1010AAH=10101010B+)7CH=01111100B100100110B=(1)26HCF=SF=ZF=OF=0100標(biāo)志位設(shè)置例1:3AH+7CH例2:0AAH+7CH14十月2023192.2存儲(chǔ)器物理地址的形成2.2.1存儲(chǔ)器的結(jié)構(gòu)2.2.2物理地址的形成2.2.3存儲(chǔ)器單元的地址和內(nèi)容08十月2023192.2存儲(chǔ)器物理地址的形成2.214十月2023202.2.1存儲(chǔ)器結(jié)構(gòu)主存儲(chǔ)器用于存放系統(tǒng)運(yùn)行所需要的所有的程序和數(shù)據(jù);開機(jī)后自動(dòng)從BIOS和輔存中調(diào)入數(shù)據(jù),掉電后丟失;存儲(chǔ)器的基本單位是存儲(chǔ)單元;每個(gè)存儲(chǔ)單元的大小可以是一個(gè)字節(jié),或一個(gè)字;8086CPU的主存是以字節(jié)進(jìn)行組織的;每個(gè)存儲(chǔ)單元都有一個(gè)唯一的編號(hào),稱為物理地址,用于CPU訪問;存儲(chǔ)器容量單位bit、Byte、KB、MB、GB、TB、EB、PB、……08十月2023202.2.1存儲(chǔ)器結(jié)構(gòu)主存儲(chǔ)器用于14十月202321物理地址(PhysicalAddress,PA)將整個(gè)存儲(chǔ)器從第一單元到最后一個(gè)單元按順序編號(hào)所得到的地址稱為物理地址;物理地址可以唯一地標(biāo)識(shí)每一個(gè)存儲(chǔ)單元;CPU訪問主存時(shí),必須通過地址總線輸出所要訪問存儲(chǔ)單元的的物理地址。系統(tǒng)的最大主存容量取決于地址總線的位數(shù);……主存儲(chǔ)器0???00B0???01B0???10B……1???11B08十月202321物理地址(PhysicalAddr14十月202322CPU對(duì)主存儲(chǔ)器的訪問過程CPU通過控制總線,發(fā)出訪存信號(hào),通知主存準(zhǔn)備數(shù)據(jù)讀寫;CPU通過地址總線,發(fā)出存儲(chǔ)單元的地址;主存儲(chǔ)器接收到地址后,譯碼,尋址正確的存儲(chǔ)單元;CPU通過控制總線,發(fā)出讀寫的命令;主存儲(chǔ)器將準(zhǔn)備執(zhí)行讀寫操作;CPU通過數(shù)據(jù)總線,讀出或?qū)懭氲臄?shù)據(jù);CPU主存數(shù)據(jù)總線地址總線讀寫控制線訪存控制線8086需要4個(gè)時(shí)鐘周期,80486只需要1個(gè)時(shí)鐘周期。讀PA11000110允許1100011008十月202322CPU對(duì)主存儲(chǔ)器的訪問過程CPU通過14十月2023232.2.28086CPU對(duì)主存的分段管理模式分段的原因16位系統(tǒng)中,地址總線20根 可尋址主存空間為220=1MB

物理地址區(qū)間0~0FFFFFH16位系統(tǒng)中,機(jī)器字長(zhǎng)16位 運(yùn)算的最大位數(shù)、指針等只有16位 可直接尋址的空間為216=64KB

直接使用的地址區(qū)間0~0FFFFH因此,采用分段方式管理和訪問主存。08十月2023232.2.28086CPU對(duì)主存14十月202324存儲(chǔ)器的分段管理分段的思想:將存儲(chǔ)器劃分成若干區(qū)間,標(biāo)記起始地址,區(qū)間內(nèi)用較少位數(shù)的地址尋址;用兩個(gè)16位地址合成的方法形成一個(gè)20位的物理地址;段地址、段內(nèi)偏移地址(有效地址)關(guān)于分段的規(guī)定段的起始:每個(gè)邏輯段的起始地址必須是16的倍數(shù)。即:xxxxxxxxxxxxxxxx0000B或:xxxx0H段的容量:每個(gè)邏輯段的最大容量可以達(dá)到64KB。注意:各邏輯段之間是可以重疊的。主存實(shí)際上并沒有從物理上分段,段的劃分只是來自于CPU的管理!區(qū)間不固定,隨機(jī)劃分!08十月202324存儲(chǔ)器的分段管理分段的思想:主存實(shí)際14十月202325存儲(chǔ)器的分段示意……………………物理地址00000H……12340H12341H……22000H……2233FH……0FFFFFH主存儲(chǔ)器段起始單元……邏輯段1段地址為:1234H保存于段寄存器中偏移地址0000H0001H0002H……0FFFFH段起始單元……邏輯段2段地址為:2200H保存于段寄存器中偏移地址0000H0001H0002H……0FFFFH08十月202325存儲(chǔ)器的分段示意……物理14十月202326關(guān)于分段1MB空間最多能分成多少個(gè)段?邏輯段最密集的劃分方式

——每隔16個(gè)存儲(chǔ)單元開始一個(gè)新段,各段都是重疊的;所以,1MB最多可以有220÷16=216=64K個(gè)段1MB空間最少能分成多少個(gè)段?邏輯段最松散的劃分方式

——每隔64K個(gè)存儲(chǔ)單元開始一個(gè)新段,各段不重疊;所以,1MB最少可以有220÷216=16個(gè)段08十月202326關(guān)于分段1MB空間最多能分成多少個(gè)段14十月202327分段模式下主存儲(chǔ)器的地址類型物理地址每個(gè)存儲(chǔ)單元在整個(gè)存儲(chǔ)器中的唯一標(biāo)識(shí);段地址邏輯段首單元的物理地址的高16位;有效地址EA(段內(nèi)偏移地址)該存儲(chǔ)單元相對(duì)于段首單元的偏移量;該單元物理地址=有效地址+段首單元的物理地址;邏輯地址由段地址和有效地址表示的存儲(chǔ)單元地址形式;某單元A的物理地址為23000H若段起始地址為20000H,即段地址為2000H則A的有效地址為3000H該段中,A的邏輯地址可表示為2000H:3000H08十月202327分段模式下主存儲(chǔ)器的地址類型物理地址14十月202328任意一個(gè)物理地址均可以用段地址和偏移地址兩部分形成;邏輯地址:“段地址:偏移地址”分段的不同,可導(dǎo)致同一個(gè)物理地址對(duì)應(yīng)多個(gè)不同的邏輯地址。物理地址(PA)=段地址×16+偏移地址段地址:段起始單元物理地址的高16位;偏移地址:也可稱為有效地址(EA),指實(shí)際單元和段起始單元之間的距離。將段地址左移4個(gè)二進(jìn)制位物理地址的形成08十月202328任意一個(gè)物理地址均可以用段地址和偏移14十月2023292.1.1Intel8086CPU內(nèi)部結(jié)構(gòu)功能上,包括運(yùn)算器和控制器兩大部件;運(yùn)算器:負(fù)責(zé)所有的算術(shù)邏輯運(yùn)算;控制器:負(fù)責(zé)微機(jī)系統(tǒng)的所有控制功能;結(jié)構(gòu)上,包括執(zhí)行單元EU和總線接口單元BIU兩個(gè)模塊;執(zhí)行單元EU包括指令譯碼部件、ALU和通用寄存器組,負(fù)責(zé)指令譯碼和執(zhí)行;總線接口單元BIU包括總線控制邏輯和專用的寄存器,負(fù)責(zé)CPU與外界的通信聯(lián)絡(luò);08十月2023292.1.1Intel808614十月202330執(zhí)行部件(EU)執(zhí)行部分控制電路ALU標(biāo)志寄存器AHALBHBLCHCLDHDLSPBPSIDI通用寄存器16位DB123456內(nèi)部暫存器

IP

ES

SSDSCS輸入/輸出控制電路外部總線∑地址加法器指令隊(duì)列總線接口部件(BIU)20位AB16位DB8位QB8086/8088CPU功能結(jié)構(gòu)08十月202330執(zhí)行部件(EU)執(zhí)行部分控制電路A14十月2023311.執(zhí)行部件EU(ExecutionUnit)功能負(fù)責(zé)所有指令的譯碼和執(zhí)行;(1)獲取指令代碼,譯碼后產(chǎn)生控制信號(hào);(2)進(jìn)行算術(shù)和邏輯運(yùn)算,并根據(jù)運(yùn)算結(jié)果修改標(biāo)志寄存器狀態(tài)位狀態(tài);(3)為BIU提供需要傳送的數(shù)據(jù)和16位有效地址。組成寄存器組算術(shù)邏輯單元ALUEU控制部件08十月2023311.執(zhí)行部件EU(Executio14十月202332算術(shù)邏輯單元ALU16位的運(yùn)算器,負(fù)責(zé)所有的指令執(zhí)行期間的運(yùn)算;算術(shù)運(yùn)算:加、減、乘、除邏輯運(yùn)算:與、或、非、異或8086CPU的ALU可完成8位、16位數(shù)據(jù)的運(yùn)算;計(jì)算指令執(zhí)行時(shí)所需要的存儲(chǔ)單元的有效地址;針對(duì)相對(duì)尋址、基址加變址尋址、相對(duì)基址加變址尋址這三種尋址方式而言;08十月202332算術(shù)邏輯單元ALU16位的運(yùn)算器,負(fù)14十月202333EU控制部件功能負(fù)責(zé)從BIU的指令隊(duì)列中取出指令;對(duì)指令操作碼進(jìn)行譯碼分析;按照工作時(shí)序向相關(guān)的部件發(fā)送相應(yīng)的控制信號(hào);組成指令寄存器、指令譯碼器時(shí)序控制部件微操作控制部件08十月202333EU控制部件功能14十月2023342.總線接口部件BIU(BusInterfaceUnit)功能負(fù)責(zé)CPU所有的訪問操作;段式方式訪問主存;直接譯碼的方式訪問I/O端口;(1)從主存中讀取指令;(2)計(jì)算并形成所要訪問主存的物理地址;

(3)訪問主存、訪問I/O,以獲取數(shù)據(jù)或保存結(jié)果。組成段寄存器和指令指針寄存器等 √

地址加法器指令隊(duì)列緩沖器

總線控制邏輯08十月2023342.總線接口部件BIU(BusI14十月202335指令隊(duì)列緩沖器功能存放預(yù)取的指令,共6字節(jié)容量;8088CPU的指令隊(duì)列緩沖器為4字節(jié)容量;使用規(guī)則先進(jìn)先出,按順序送入EU執(zhí)行;提供EU執(zhí)行的所有指令。工作過程順序執(zhí)行程序時(shí),有空閑即自動(dòng)取指;程序發(fā)生轉(zhuǎn)移時(shí),清除緩沖器內(nèi)容,重新獲取指令。08十月202335指令隊(duì)列緩沖器功能14十月202336總結(jié):分段管理模式下的訪存CPU要訪問存儲(chǔ)器必須提供物理地址;一般使用段寄存器與指針寄存器來共同表示邏輯地址;在CPU內(nèi)部由地址加法器完成運(yùn)算,轉(zhuǎn)換成物理地址輸出訪問主存儲(chǔ)器;代碼段段寄存器CS——指針寄存器為IP。數(shù)據(jù)段段寄存器DS——指針寄存器一般用BX、SI、DI。附加段段寄存器ES——指針寄存器一般用DI(字符串操作)。堆棧段段寄存器SS——指針寄存器SP指向棧頂,指針寄存器BP指向棧內(nèi)任意位置。08十月202336總結(jié):分段管理模式下的訪存CPU要訪14十月202337地址加法器功能形成16位系統(tǒng)的20位主存地址。取指令PA=(CS)×16+IP取數(shù)據(jù)PA=(DS/SS/ES)×16+有效地址訪問I/O端口時(shí)不需進(jìn)行運(yùn)算。08十月202337地址加法器功能14十月202338指針寄存器指針寄存器其值可作為存儲(chǔ)單元地址,用于指令或CPU內(nèi)部執(zhí)行時(shí)尋址使用的寄存器。其值改變,所尋址到得存儲(chǔ)單元也會(huì)不同,因此形象地稱之為指針。匯編語(yǔ)言程序中,凡是和地址有關(guān)的都可以認(rèn)為是指針;寄存器、立即數(shù)、變量、標(biāo)號(hào)……能夠標(biāo)示一個(gè)存儲(chǔ)單元地址,用于尋址;08十月202338指針寄存器指針寄存器14十月202339執(zhí)行部件(EU)執(zhí)行部分控制電路ALU標(biāo)志寄存器AHALBHBLCHCLDHDLSPBPSIDI通用寄存器16位DB123456內(nèi)部暫存器

IP

ES

SSDSCS輸入/輸出控制電路外部總線∑地址加法器指令隊(duì)列總線接口部件(BIU)20位AB16位DB8位QB8086/8088CPU功能結(jié)構(gòu)08十月202339執(zhí)行部件(EU)執(zhí)行部分控制電路A14十月202340物理地址的形成08十月202340物理地址的形成14十月2023412.2.3存儲(chǔ)單元中數(shù)據(jù)的存取方法基本原則:高高低低原則即低地址單元存放低字節(jié)數(shù)據(jù),

高地址單元存放高字節(jié)數(shù)據(jù)。例如,存儲(chǔ)器如右圖所示將一個(gè)字節(jié)數(shù)據(jù)12H存于12340H單元中;將一個(gè)字?jǐn)?shù)據(jù)3456H存于12341H單元中;讀取12342H單元中的字?jǐn)?shù)據(jù)為:注意:一般數(shù)據(jù)存儲(chǔ)遵循“數(shù)據(jù)對(duì)齊規(guī)則”;字?jǐn)?shù)據(jù)存放在偶地址單元。…………12340H12341H12342H12343H12344H12563410201034H08十月2023412.2.3存儲(chǔ)單元中數(shù)據(jù)的存取方14十月202342練習(xí)題16位CPU在取指令時(shí),需要用到的寄存器有__和__;訪問堆棧段棧頂單元要由__段寄存器和__寄存器組合來尋址,訪問堆棧段中的單元要由__段寄存器和__寄存器組合來尋址;訪問數(shù)據(jù)段中的單元要由__段寄存器和______寄存器組合來尋址;在16位微機(jī)系統(tǒng)中,一個(gè)程序最多能同時(shí)使用_個(gè)數(shù)據(jù)段。CSIPSSSPSSBPDSBX、SI、DI3DS、ES、SS08十月202342練習(xí)題16位CPU在取指令時(shí),需要用14十月202343接口技術(shù)基礎(chǔ)2.1.3Intel8086微處理器引腳說明補(bǔ)充Intel8086CPU工作時(shí)序08十月202343接口技術(shù)基礎(chǔ)2.1.3Intel14十月2023442.1.3Intel8086微處理器引腳說明最小模式僅有8086CPU一個(gè)處理器,產(chǎn)生系統(tǒng)所需的所有控制信號(hào);8086CPU始終占用總線控制權(quán),其他模塊使用需要申請(qǐng);最大模式:系統(tǒng)內(nèi)包含多個(gè)處理器8086CPU為主處理器,和其他協(xié)處理器構(gòu)成多處理器系統(tǒng);專用于數(shù)值計(jì)算的協(xié)處理器8087專用于輸入輸出操作的協(xié)處理器8089總線控制邏輯由總線控制器8288產(chǎn)生和控制;8086CPU輸出傳送類型的編碼,由8288轉(zhuǎn)換為系統(tǒng)總線控制命令;08十月2023442.1.3Intel808614十月2023458086/8088CPU芯片引腳Intel8086CPU采用40條引腳,雙列直插式(DIP)封裝;8086CPU有16根數(shù)據(jù)總線,可一次性向外傳送16位信息;故稱為16位微處理器;40根引腳可分做四部分:地址總線數(shù)據(jù)總線;采用分時(shí)復(fù)用設(shè)置地址數(shù)據(jù)總線控制總線;時(shí)鐘和電源線;8086CPU08十月2023458086/8088CPU芯片引腳I14十月2023468086CPU

引腳圖33號(hào)引腳MN/MX#工作模式選擇控制線高電平——最小模式

低電平——最大模式其余總線可分為2部分兩種模式公用總線與工作模式相關(guān)總線01020304050607080910111213141516171819204039383736353433323130292827262524232221GNDAD14AD13AD12AD11AD10AD9AD8AD7AD6AD5AD4AD3AD2AD1AD0NMIINTRCLKGNDVCC(5V)AD15A16/S3A17/S4A18/S5A19/S6BHE/S7MN/MXRDHOLD(RQ/GT0)HLDA(RQ/GT1)WR(LOCK)M/IO(S2)DT/R(S1)DEN(S0)ALE(QS0)INTA(QS1)TESTREADYRESET808608十月2023468086CPU

引腳圖33號(hào)引腳M14十月2023478086CPU引腳分類兩種模式公用總線地址/數(shù)據(jù)復(fù)用總線和地址/狀態(tài)復(fù)用總線;高8位數(shù)據(jù)總線允許/狀態(tài)線;控制總線;與工作模式相關(guān)總線總線控制信號(hào);寫控制總線;總線狀態(tài)控制總線;中斷響應(yīng)、隊(duì)列狀態(tài)信號(hào)2~16、39號(hào)引腳35~38號(hào)引腳34號(hào)引腳1、19、20、40號(hào)引腳17、18、21號(hào)引腳22、23、32號(hào)引腳30、31號(hào)引腳29號(hào)引腳26~28號(hào)引腳24、25號(hào)引腳08十月2023478086CPU引腳分類兩種模式公用14十月202348地址總線與數(shù)據(jù)總線地址/數(shù)據(jù)復(fù)用總線AD15~AD0:每個(gè)總線周期開始(T1時(shí)刻),為16位地址總線;其余時(shí)間為16位數(shù)據(jù)總線;地址/狀態(tài)復(fù)用總線A19~A16/S6~S3:每個(gè)總線周期開始(T1時(shí)刻),傳送高4位地址總線;其余時(shí)間為4位狀態(tài)總線,指示CPU的狀態(tài);S4和S3:現(xiàn)行使用哪個(gè)段寄存器;S5

:中斷允許標(biāo)志位狀態(tài)(IF);S6:指示是否8086使用總線,0—是,1—否。S4S3段R00ES01SS10CS11DS2~16、39號(hào)引腳35~38號(hào)引腳08十月202348地址總線與數(shù)據(jù)總線地址/數(shù)據(jù)復(fù)用總線14十月202349高8位數(shù)據(jù)總線允許/狀態(tài)線BHE#/S7在T1時(shí)刻,作為BHE#信號(hào)BHE#為低電平時(shí),允許使用高8位數(shù)據(jù)總線D15~D8;BHE#與A0結(jié)合,決定數(shù)據(jù)訪問類型;其余時(shí)間,作為S7狀態(tài)信號(hào),8086CPU對(duì)S7沒有定義。34號(hào)引腳08十月202349高8位數(shù)據(jù)總線允許/狀態(tài)線BHE#/14十月202350時(shí)鐘、電源線時(shí)鐘信號(hào)CLK輸入總線;8086CPU需要占空比(高低電平比)為1:3的基本定時(shí)脈沖;電源信號(hào)Vcc接正電壓(+5V±0.5V);地線GND輸入地線;共兩條接地線。1、19、20、40號(hào)引腳08十月202350時(shí)鐘、電源線時(shí)鐘信號(hào)CLK1、19、14十月202351中斷控制總線可屏蔽中斷請(qǐng)求信號(hào)INTR輸入總線,引入可屏蔽中斷源的中斷請(qǐng)求信號(hào);非屏蔽中斷請(qǐng)求信號(hào)NMI輸入總線,引入非可屏蔽中斷請(qǐng)求信號(hào),上升沿有效;復(fù)位信號(hào)RESET輸入總線,高電平時(shí),CPU停止當(dāng)前操作,初始化內(nèi)部寄存器,并從物理地址為0FFFF0H的單元開始執(zhí)行程序。17、18、21號(hào)引腳08十月202351中斷控制總線可屏蔽中斷請(qǐng)求信號(hào)INT14十月202352讀寫控制總線讀控制信號(hào)RD#三態(tài)、輸出總線,低電平有效;由M/IO#的狀態(tài)決定是讀存儲(chǔ)器還是I/O設(shè)備;等待控制信號(hào)READY輸入總線,決定是否需要插入等待周期Tw以延長(zhǎng)一次總線操作,低電平時(shí)插入Tw狀態(tài);等待測(cè)試控制信號(hào)TEST#輸入總線,低電平時(shí)結(jié)束等待狀態(tài),繼續(xù)執(zhí)行指令;與WAIT指令結(jié)合使用,決定WAIT指令是否結(jié)束;22、23、32號(hào)引腳08十月202352讀寫控制總線讀控制信號(hào)RD#22、214十月202353總線控制總線最小模式:總線保持請(qǐng)求信號(hào)HOLD、總線保持響應(yīng)信號(hào)HLDA;HOLD為請(qǐng)求輸入信號(hào),HLDA為響應(yīng)輸出信號(hào);在8086CPU與DMAC之間轉(zhuǎn)移總線的使用權(quán);最大模式:請(qǐng)求/允許總線訪問控制信號(hào)RQ#/GT0#和RQ#/GT1#

;控制協(xié)處理器與8086CPU之間總線使用權(quán)的轉(zhuǎn)移;RQ#——請(qǐng)求輸入信號(hào);GT#——響應(yīng)輸出信號(hào);每根都是雙向控制信號(hào),RQ#/GT0#的優(yōu)先權(quán)較高;30、31號(hào)引腳08十月202353總線控制總線最小模式:總線保持請(qǐng)求信14十月202354寫控制總線最小模式:寫控制信號(hào)WR#;輸出總線,三態(tài),低電平有效;由M/IO#的狀態(tài)決定是寫存儲(chǔ)器還是I/O設(shè)備;最大模式:總線封鎖信號(hào)LOCK#;輸出總線,三態(tài),低電平有效;用于封鎖其他主設(shè)備占用總線的請(qǐng)求,以保證某些操作的完整性;可使用前綴指令LOCK來設(shè)置該信號(hào);29號(hào)引腳08十月202354寫控制總線最小模式:寫控制信號(hào)WR#14十月202355總線狀態(tài)控制總線最小模式:數(shù)據(jù)允許信號(hào)DEN#、數(shù)據(jù)發(fā)送/接收控制信號(hào)DT/R#、存儲(chǔ)器/IO控制信號(hào)M/IO#;DEN#:三態(tài)輸出總線,作為系統(tǒng)總線收發(fā)器的選通信號(hào);DT/R#:三態(tài)輸出總線,區(qū)分CPU的輸入/輸出操作;M/IO#:輸出總線,區(qū)分CPU訪問存儲(chǔ)器還是I/O端口;最大模式:總線周期狀態(tài)信號(hào)S2#、S1#、S0#;三態(tài)輸出總線;反映8086CPU外部總線周期的操作類型;總線控制器8288對(duì)其進(jìn)行譯碼,產(chǎn)生需要的控制信號(hào);26~28號(hào)引腳08十月202355總線狀態(tài)控制總線最小模式:數(shù)據(jù)允許信14十月202356總線周期狀態(tài)信號(hào)

S2#、S1#、S0#總線周期的T4周期內(nèi),S2#、S1#、S0#的變化指示一個(gè)新的總線周期的開始;T3或Tw周期內(nèi),S2#、S1#、S0#返回?zé)o效狀態(tài),表示一個(gè)總線周期的結(jié)束;DMA方式下,S2#、S1#、S0#處于高阻狀態(tài);S2#S1#S0#操作類型控制信號(hào)000中斷響應(yīng)INTA#001讀I/O端口IORC#010寫I/O端口、

超前寫I/O端口IOWC#、AIOWC#011暫停無100取指令MRDC#101讀存儲(chǔ)器MRDC#110寫存儲(chǔ)器、

超前寫存儲(chǔ)器MWTC#、AMWC#111無效無08十月202356總線周期狀態(tài)信號(hào)

S2#、S1#、S14十月202357中斷響應(yīng)、隊(duì)列狀態(tài)信號(hào)最小模式:中斷響應(yīng)信號(hào)INTA#、地址鎖存允許信號(hào)ALEINTA#:輸出總線,低電平有效,用于響應(yīng)INTR請(qǐng)求;ALE:輸出總線,T1周期有效,用于將地址/數(shù)據(jù)復(fù)用總線上的地址信息保存至鎖存器中;最大模式:

指令隊(duì)列狀態(tài)信號(hào)QS1、QS2;輸出總線,用于指示

CPU內(nèi)指令隊(duì)列的狀態(tài);QS1QS0含義00空操作01從隊(duì)列中取出指令的第一個(gè)字節(jié)10隊(duì)列空11從隊(duì)列中取出指令的后續(xù)字節(jié)24、25號(hào)引腳08十月202357中斷響應(yīng)、隊(duì)列狀態(tài)信號(hào)最小模式:中斷14十月202358補(bǔ)充Intel8086CPU工作時(shí)序系統(tǒng)的復(fù)位和啟動(dòng)操作最小模式下的總線讀操作最小模式下的總線寫操作08十月202358補(bǔ)充Intel8086CP14十月202359CPU與主存儲(chǔ)器的連接CPUMM地址鎖存器AD15~AD0A19~A16/S6~S3A19~A0D15~D0T1時(shí)刻T2~T4時(shí)刻T1~T4時(shí)刻ALE總線收發(fā)器DEN08十月202359CPU與主存儲(chǔ)器的連接CPUMM地址14十月2023601、系統(tǒng)的復(fù)位和啟動(dòng)操作當(dāng)8086CPU的RESET引腳上檢測(cè)到有上升沿時(shí),進(jìn)入復(fù)位時(shí)序;時(shí)鐘脈沖CLK同步外部復(fù)位信號(hào)內(nèi)部RESET在外部RESET有效后的時(shí)鐘周期上升沿有效;復(fù)位狀態(tài)地址線浮空,ALE、HLDA信號(hào)無效,其他控制信號(hào)保持半個(gè)時(shí)鐘周期高電平,再浮空;內(nèi)部寄存器清零(CS除外,置為0FFFFH),指令隊(duì)列清空。

溫馨提示

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

評(píng)論

0/150

提交評(píng)論