微處理器內部結構.ppt_第1頁
微處理器內部結構.ppt_第2頁
微處理器內部結構.ppt_第3頁
微處理器內部結構.ppt_第4頁
微處理器內部結構.ppt_第5頁
已閱讀5頁,還剩45頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

在學習階段,你不可以只生活在一個人的世界中,而應當盡量學會與各階層的人交往和溝通,主動表達自己對各種事物的看法和意見,甚至在公眾集會時發(fā)表演講,鍛煉自己的表達能力 李開復,8086/8088微處理器內部結構,教學重點,微處理器基本結構 8088/8086的內部功能結構; 8088/8086中的寄存器,1 8086CPU內部結構,算術邏輯單元(運算器) 寄存器組 指令處理單元(控制器),8088的內部結構,1 2 3 4,內部暫存器,IP,ES,SS,DS,CS,輸入/輸出控制電路,外部總線,執(zhí)行部分控制電路,ALU,標志寄存器,AH AL,BH BL,CH CL,DH DL,SP,BP,SI,DI,通用 寄存器,地址加法器,指令隊列,執(zhí)行部件 (EU),總線接口部件 (BIU),16位,20位,8位,8位,返回,1 8086CPU內部結構,8086的內部結構從功能分成兩個單元 總線接口單元BIU管理8086與系統(tǒng)總線的接口,負責CPU對存儲器和外設進行訪問 執(zhí)行單元EU負責指令的譯碼、執(zhí)行和數(shù)據(jù)的運算 兩個單元相互獨立,分別完成各自操作 兩個單元可以并行執(zhí)行,實現(xiàn)指令取指和執(zhí)行的流水線操作,1.1 BIU (Bus Interface Unit),功能 完成所有外部總線的操作,提供總線控制信號。 具體地說,完成:取指、指令排隊、讀寫操作數(shù)、地址轉換(將兩個16位地址相加 20位物理地址),總線控制。 BIU使用指令隊列實現(xiàn)流水線操作:當指令隊列中有2個或2個(8088為1個)以上的字節(jié)空間,且EU未申請讀寫存儲器,則BIU順序預取后續(xù)指令代碼 Queue。,1.1 BIU (Bus Interface Unit),組成,1.2 EU(Execution Unit),功能 負責全部指令的執(zhí)行; 向BIU輸出(地址及結果)數(shù)據(jù); 對Reg及PSW進行管理。,1.2 EU(Execution Unit),1.2 EU(Execution Unit),EU的工作過程 從BIU指令隊列中取指譯碼電路分析相應控制命令 控制數(shù)據(jù)經過“ALU數(shù)據(jù)總線”的流向: (1)若是運算操作:操作數(shù) 暫存器 ALU; 運算結果 經“ALU總線”相應Reg、并置PSW 。 (2)若從外設取數(shù):EU BIU訪問MEM 或 I/O 內部通信寄存器 向“ALU數(shù)據(jù)總線”傳送數(shù)據(jù)。,“流水線”結構,總線接口部件BIU和執(zhí)行部件EU并不是同步工作的, 兩者的動作管理遵循如下原則: 每當8086的指令隊列中有2個空字節(jié),BIU就會自動把指令取到指令隊列中。 而同時EU從指令隊列取出一條指令,并用幾個時鐘周期去分析、執(zhí)行指令。 當指令隊列已滿,而且EU對BIU又無總線訪問請求時,BIU便進入空閑狀態(tài)。 在執(zhí)行轉移、調用和返回指令時,指令隊列中的原有內容被自動清除。,“流水線”結構,在8086/8088中,EU和BIU這種并行的工作方式不僅有力地提高了工作效率,而且這也是它們的一大特點。EU和BIU之間是通過指令隊列相互聯(lián)系的。指令隊列可以被看成一個RAM區(qū),EU對其執(zhí)行讀操作,BIU對其執(zhí)行寫操作。,2 8086/8088 CPU 主要性能,字長:16位 / 準16位。 時鐘頻率:8086/8088標準主頻為5MHz,8086/8088-2主頻為8MHz。 數(shù)據(jù)、地址總線復用。 最大內存容量:1MB。 基本尋址方式:8種。 指令系統(tǒng):99條基本匯編指令。 可以對位、字節(jié)、字、字節(jié)串、字串、壓縮和非壓縮BCD 碼等多種數(shù)據(jù)類型進行處理。 端口地址:16位I/O端口地址可尋址64K端口地址。 每一個地址對應一個字節(jié)寬的I/O端口。 中斷功能:可處理內部軟件中斷和外部硬件中斷源達256個。 支持單片CPU或多片CPU系統(tǒng)工作。,( i )存儲器空間 20根地址線 220 = 1M Byte,8086/8088率先打破微處理器只能訪問64KB存儲空間的限制,可尋址1MB。,將存儲器分成4種段,存放三類信息: 代碼、數(shù)據(jù)、中間結果和斷點地址。,分段原因: 8086有20根地址線,但其內部可以表示的地址最多只能是16位。 為了能尋址1MB空間,8086對存儲器進行邏輯分段,每個段最大為64KB,最小為16B(此時最多64K個段)。,3 存儲器分段與段寄存器,段址 段寄存器 CS、DS、ES、SS 16 偏址 16,指令地址 (CS)10H +(IP) 數(shù)據(jù)地址 (DS)10H + EA(偏移地址也稱為有效地址EA,出現(xiàn)在指令中) 堆棧地址 (SS)10H +(SP) 附加段地址 (ES)10H + EA,( ii )4個段寄存器CS、 DS 、SS 、ES 分別指示存儲區(qū)的段地址(段起始地址的高16位,段起始地址又稱為段基地址),用來識別當前可尋址的四個段,不可互換使用。,物理地址的形成,物理地址與邏輯地址的關系如下圖:,段缺省和段替換規(guī)則(CPU對段訪問時應遵循這個原則) : 段缺?。憾渭拇嫫髅怀霈F(xiàn)在指令和機器碼中時,CPU對存儲器的操作性質隱含指定; 搭配規(guī)則:段寄存器和寄存器(指針、變址)有較固定的配用關系; 替換(超越)規(guī)則:在指令之前可加上“CS”,”DS”,”SS”等前綴,以指定的段寄存器替代隱含的段寄存器。,段寄存器和其他寄存器組合指向存儲單元示意圖,(iv)存儲器分段的一般規(guī)律: a. 可獨立分開(最大不重疊16個段) b. 連續(xù) c. 重疊(部分重疊或完全重疊) 如:數(shù)據(jù)段和附加段完全重疊,堆棧段和附加段部分重疊。因此對一個具體的存儲單元,可以屬于一個邏輯段,也可以同時屬于幾個邏輯段。,控制寄存器,8位寄存器,IP FLAG,CS DS SS ES,代碼段寄存器 數(shù)據(jù)段寄存器 堆棧段寄存器 附加段寄存器,AH AL BH BL CH CL DH DL,AX BX CX DX,SP BP SI DI,累加器 基地址寄存器 計數(shù)器 數(shù)據(jù)寄存器,堆棧指針寄存器 基地址寄存器 源變址寄存器 目的變址寄存器,(PC) 指令指針寄存器 (PSW) 狀態(tài)標志寄存器,段寄存器,16位寄存器,通用寄存器,寄存器組(Register Set),4. 寄存器的配置,1. 數(shù)據(jù)Reg.(AX,BX,CX,DX),(2)特殊用法: i )BX 計算地址用作基址Reg. ii)CX 計數(shù)器,循環(huán)或移位時用。 )DX 在某些 I/O 操作時,用來保存I/O端口地址, 或字的乘除法運算。,4.1 通用Reg,2. 指示器和變址Reg.(SP,BP,SI,DI,僅能用于字),用途: a. 縮短指令代碼的長度; b.建立可變的地址; c.寄存偏移量,與段寄存器的內容相加以獲得物理地址。,例:SP中通常存放的偏移量被認為是在堆棧段中(堆棧訪問時)。 DI、SI中的偏移量,通常被認為是在數(shù)據(jù)段中。 BP通常用于存放當前堆棧段的一個偏移量。 (通過堆棧傳送數(shù)據(jù)或地址時,BP為偏移地址,SS中為段地址。) BP也可用于通用Reg.。,通用寄存器的特殊用法(默認用法),CS內容+IP內容,為下一條指令的地址。 DS內容+指令中的偏移量,為數(shù)據(jù)段內的某單元地址。 SS內容+SP 為堆棧段內的某單元地址。 ES 附加段的段地址。,4.2 段Reg.(CS,DS,SS,ES),4.3 指令指針I(yè)P,其中總是包含下一條要取的指令在當前代碼段中的偏移量,即程序運行過程中,IP始終指向下一次要取出的指令偏移地址?;蚍QIP和CS一起指向下一條指令的物理地址。,IP的內容由8086/8088的總線接口部件BIU修改(編程序時不能直接訪問IP,但指令可引起它的改變、或將它的內容壓入堆棧、或從堆?;謴停?。 物理地址=CS 16IP,作用:存放ALU的操作結果的特征標志,這種標志可作為條件,用于判斷是否控制程序轉移; 或對某一特定的功能起控制作用。,4.4 標志寄存器FR,4.4 標志寄存器FR,反映指令對數(shù)據(jù)作用之后,結果的狀態(tài)(不是結果本身)。這些狀態(tài)將控制后續(xù)指令的執(zhí)行 有些運算操作將影響全部狀態(tài)標志,如加法、減法運算 有些操作影響部分狀態(tài)標志,如移位操作 有些指令的操作不影響任何狀態(tài)標志,如數(shù)據(jù)傳送指令,4.4 標志寄存器FR,例:執(zhí)行2345H3219H,分析對PSW的影響。,標志: 運算結果最高位為0 SF=0; 運算結果本身0 ZF=0 低8位中1的個數(shù)為奇數(shù)個 PF=0; 最高位沒有進位 CF=0; 第3位向第4位無進位 AF=0; 次高位向最高位沒有進位 ,最高位向前沒有進位 OF=0。,溢出標志OF,什么是溢出? 溢出和進位有什么區(qū)別? 如何判斷是否溢出? 處理器怎么處理,程序員如何運用?,什么是溢出,處理器內部以補碼表示有符號數(shù) 8位表達的整數(shù)范圍是:127128 16位表達的范圍是:3276732768 如果運算結果超出這個范圍,就產生了溢出 有溢出,說明有符號數(shù)的運算結果不正確,3AH7CHB6H,就是58124182, 已經超出128127范圍,產生溢出,故OF1; 另一方面,補碼B6H表達真值是-74, 顯然運算結果也不正確,溢出和進位,溢出標志OF和進位標志CF是兩個意義不同的標志 進位標志表示無符號數(shù)運算結果是否超出范圍,有進位時運算結果仍然正確; 溢出標志表示有符號數(shù)運算結果是否超出范圍,有溢出時運算結果已經不正確。,溢出和進位的對比,例1:3AH + 7CHB6H 無符號數(shù)運算: 58124182 范圍內,無進位 有符號數(shù)運算: 58124182 范圍外,有溢出,例2:AAH + 7CH(1)26H 無符號數(shù)運算: 170124294 范圍外,有進位 有符號數(shù)運算: 8612428 范圍內,無溢出,80H+80H?,溢出的判斷,判斷運算結果是否溢出有一個簡單的規(guī)則: 只有當兩個相同符號數(shù)相加(包括不同符號數(shù)相減),而運算結果的符號與原數(shù)據(jù)符號相反時,產生溢出;因為,此時的運算結果顯然不正確 其他情況下,則不會產生溢出,如何運用溢出和進位,處理器對兩個操作數(shù)進行運算時,按照無符號數(shù)求得結果,并相應設置進位標志CF;同時,根據(jù)次高位和最高位的進位來設置溢出標志OF。 應該利用哪個標志,則由程序員來決定。也就是說,如果將參加運算的操作數(shù)認為是無符號數(shù),就應該關心進位;認為是有符號數(shù),則要注意是否溢出。,5. 計算機的工作過程,演示,8088的指令執(zhí)行過程,返回,Mov ax,64h Add ax,0100h Mov 2000,ax,B8 0064 05 0100 A3 2000,cs=1000h IP=100h Ds=1492h,6. 80286微處理器,Intel 80286是Intel 公司1982年推出的產品。80286內部和外部數(shù)據(jù)總線都是16位,地址總線為24位,可尋址224字節(jié)即16MB內存。80286片內具有存儲器管理和保護機構,它有實模式和保護模式兩種工作方式。 與8086微處理器相比,主要特點如下: 80286與8086在目標代碼級完全保持了向上的兼容性。 80286由地址單元、總線單元、指令單元和執(zhí)行單元EU等4個單元組成。 80286片內具有存儲器管理部件和保護機構。 80286片內的存儲器管理部件MMU首次實現(xiàn)了虛擬存儲器管理功能。,7. 80386微處理器,Intel公司1985年推出的一種高性能32位微處理器,80386內部和外部數(shù)據(jù)總線都是32位的,地址總線為32位,可尋址4GB。其主要特點如下: 80386內部結構由總線接口單元、指令預取部件、指令譯碼部件、執(zhí)行部件、分段部件和分頁部件6個邏輯功能部件組成。 80386可以按實模式、保護模式以及虛擬8086三種模式對存儲器進行訪問。實模式下,80386的操作像一個極快的8086。保護模式與80286相類似,但是80386的存儲器管理部件MMU有分段部件和分頁部件組成,實現(xiàn)了存儲器的段頁式管理,這是80386的又一新特點。在80386中,虛擬存儲空間大小可達64TB。在虛擬8086模式下,每個任務都用8086的語義運行,從而可以運行8086的各種軟件 。,1.2.3,80486微處理器屬于第二代32位微處理器,在相同工作頻率下,其處理速度比80386提高了24倍。其主要特點如下: 沿襲80386體系結構。 為了提高指令的譯碼速度,對于基本指令由以前80386采用的微代碼控制改變?yōu)橛布壿嬛苯涌刂啤?內含8KB的高速緩沖存儲器,可高速存取指令和數(shù)據(jù)。 內含與片外80387功能完全兼容且功能又有擴充的片內80387協(xié)處理器。 增加了面向多處理機的機構,支持多處理機系統(tǒng)。,8. 80486微處理器,9 Pentium微處理器簡介,Intel 公司對80x86系列微處理器的性能不斷地創(chuàng)新與 改造,繼80486之后,1993年推出新一代名為Pentium的微處理器。1995年又推出名為Pentium Pro的微處理器。1997年、1999年和2000年又相繼推出Pentium、Pentium和Pentium微處理器。其主要特點如下: 超標量設計 。 獨立的指令Cache和數(shù)據(jù)Cache。 重新設計浮點單元。 動態(tài)分支預測。 Pentium微處理器除了實模式、保護模式和虛擬8086方式外,還增加了一種系統(tǒng)管理方式。,小結,8088/8086的內部功能結構; 8088/8086中的各種寄存器及其功能 8086/8088 CPU工作過程 8086/8088存儲器分段、物理地址的形成,練習,2.1,2.5,2.7,2.8 了解新型計算機技術,于第7周(4月1號)討論。,虛擬存儲器,虛擬存儲器技術是一種通過硬件和軟件的綜合來擴大用戶可用存儲空間的技術。它是在內存儲器和外存儲器(軟盤、硬盤或光盤)之間增加一定的硬件和軟件支持,使兩者形成一個有機整體,使編程人員在寫程序時不用考慮計算機的實際內存容量,可以寫出比實際配置的物理存儲器容量大很多的單用戶或多用戶程序。程序預先放在外存儲器中,在操作系統(tǒng)的統(tǒng)一管理和調度下,按某種置換算法依次調入內存儲器被CPU執(zhí)行。這樣,從CPU看到的是一個速度接近內存卻具有外存容量的假想存儲器,這個假想存儲器就叫虛擬存儲器。在采用虛擬存儲器的計算機系統(tǒng)中,存在著虛地址空間(或邏輯地址空間)和實地址空間(或物理地址空間)兩個地址不同的空間。虛地址空間是程序可用的空間,而實地址空間是CPU可訪問的內存空間。后者容量由CPU地址總線寬度決定,而前者則由CPU內部結構決定。,返回,高速緩存,在32位微處理器和微型機中,為了加快運算速度,普遍在CPU與常規(guī)主存儲器之間增設了一級或兩級高速小容量存儲器,稱之為高速緩沖存儲器。高速緩沖存儲器的存取速度比主存要快一個數(shù)量級,大體與CPU的處理速度相當。有了它以后,CPU在對一條指令或一個操作數(shù)尋址時,首先要看其是否在高速緩存器中。若在,就立即存??;否則,就要作一常規(guī)的存儲器訪問,同時根據(jù)“程序局部性或存取局部性”原理,將所訪問相鄰指令及相鄰數(shù)據(jù)塊復制到高速緩存器中。當指令或操作數(shù)在高速緩存器中時,稱為“命中”,否則稱為“未命中”。 由于程序中相關數(shù)據(jù)塊一般都按順序存放,并且大都存在相鄰的存儲單元中,因此,CPU對存儲器的訪問大都是在相鄰的單元中進行。一般說來,CPU對高速緩存器存取命中率可在90以上,甚至高達99。,返回,微程序,通常計算機操作步驟的控制是由硬件電路組成的操作控制器完成的。這種硬件控制邏輯一般很復雜,而且CPU一經設計定型,要想改變和擴充指令功能就很難。所謂微代碼控制技術,就是將原來由硬件電路控制的指令操作步驟改用微程序來控制。其基本特點是綜合運用程序設計技術和只讀存儲技術,將每條指令的微操作序列轉化為一個控制碼的微程序存于PROM、EPROM或E2PROIM等可編程只讀存儲器中。當執(zhí)行指令時,就從ROM中讀出與該指令對應的微程序,并轉化為微操作控制序列。顯然,微程序是許多條微指令的有序集合,每條微指令又由若干微操作命令組成??梢?,執(zhí)行一條機器指令,

溫馨提示

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

評論

0/150

提交評論