第二章微機原理_第1頁
第二章微機原理_第2頁
第二章微機原理_第3頁
第二章微機原理_第4頁
第二章微機原理_第5頁
已閱讀5頁,還剩45頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

本章內容提要:微型計算機的組成及工作原理8086微處理器的功能結構8086/8088寄存器結構8086存儲器8086的引腳信號和工作模式微處理器總線時序80x86系列微處理器

第二章微型計算機系統(tǒng)中的微處理器2.1微型計算機的組成及工作原理微型計算機基本結構到目前為止,大多數(shù)微型計算機的結構歸屬于馮·諾依曼結構,主要包括運算器、控制器、存儲器、I/O設備及其接口電路,如圖2.1所示。運算器和控制器合稱為中央處理器CPU。2.1.1微型計算機基本結構

微型計算機的基本組成如圖所示:微機的核心部件,具有運算和控制功能組成:算術邏輯單元ALU(arithmeticlogicunit)寄存器(register)組控制器(controlunit)

(1)CPU

總線是把計算機各部分有機地連接起來的一組并行導線,是各個部分之間進行信息交換的公共通道微機的三總線:數(shù)據總線DB

在CPU與存儲器和CPU與I/O接口之間雙向傳送數(shù)據.其條數(shù)決定了每一次能同時傳送的二進制數(shù)的位數(shù)。如:8088的數(shù)據總線為8條,一次能夠傳送8位二進制數(shù),用D7~D0表示(2)總線地址總線AB

傳送CPU發(fā)出的地址,以尋址存儲單元或I/O端口。AB的寬度決定了計算機系統(tǒng)能夠使用的最大的存儲器容量。如:地址總線為20條,用A19~A0表示,可尋址220=1M的存儲空間控制總線CB

向計算機系統(tǒng)的各部件發(fā)送操作命令和定時信息。帶有上橫線的表示低電平有效,無上橫線的表示高電平有效

如:ALE(addresslatchenable)、INTR高電平有效,MEMW、MEMR、IOR、IOW、INTA低電平有效主要用于存放程序和數(shù)據存儲單元單元地址(3)存儲器(memory)外部設備通過I/O接口與計算機連接。因為外設的工作速度遠低于CPU的速度外設表示信息的格式與計算機不同接口還應向計算機報告設備的運行狀態(tài),傳達計算機命令等(4)I/O接口(5)I/O設備輸入設備:鍵盤、模數(shù)轉換器、掃描儀等輸出設備:顯示器、打印機、繪圖機等輸入/輸出設備:磁盤和光盤等微處理器的結構微處理器的內部寄存器微處理器的存儲器組織微處理器的引腳功能最大模式和最小模式微處理器的時序2.28086微處理器的功能結構8086/8088微處理器8086是Intel系列的16位微處理器,是80x86系列微機發(fā)展的基礎。8086/8088微處理器是Intel公司推出的第三代CPU芯片,它們的內部結構基本相同,都采用16位結構進行操作及存儲器尋址,但外部性能有所差異,兩種處理器都封裝在相同的40腳雙列直插組件中。8086芯片所具有的主要特性如下:1)制造工藝:采用具有高速運算性能的HMOS工藝制成。2)芯片集成度:芯片上集成有2.9萬個晶體管,用單一的+5V電源和40條引腳的雙列直插式封裝。3)時鐘頻率:5~10MHz,最快的指令執(zhí)行時間0.4μs。4)字長:16位,8088為準16位。5)總線使用方式:數(shù)據、地址總線分時復用。6)內存容量:20位地址可尋址1MB。7)端口地址:16位I/O地址可尋址64KB個端口。8)中斷功能:可處理內部軟件中斷和外部硬件中斷,中斷源可多達25個。8086/8088微處理器——微處理器的結構8086/8088微處理器的編程結構編程結構:是指從程序員和使用者的角度看到的結構,亦可稱為功能結構。從功能上來看,8086CPU可分為兩部分,即總線接口部件BIU(BusInterfaceUnit)和執(zhí)行部件EU(ExecutionUnit)。8086/8088微處理器——微處理器的結構8086/8088微處理器的組成總線接口部件(BIU)組成:①16位段寄存器(DS、CS、ES、SS);

②16位指令指針寄存器IP(指向下一條要取出的指令代碼);

③20位地址加法器(用來產生20位地址);

④6字節(jié)(8088為4字節(jié))指令隊列緩沖器;

⑤總線控制邏輯。功能:負責從內存中取指令,送入指令隊列,實現(xiàn)CPU與存儲器和I/O接口之間的數(shù)據傳送。執(zhí)行部件(EU)組成:①ALU(算術邏輯單元);

②16位通用寄存器(AX、BX、CX、DX);

③16位專用寄存器(BP、SP、SI、DI);

④標志寄存器(FLAG\PSW);

⑤EU控制系統(tǒng)。功能:負責分析指令和執(zhí)行指令。8086/8088微處理器——微處理器的結構BIU和EU的動作協(xié)調原則BIU和EU按以下流水線技術原則協(xié)調工作,共同完成所要求的任務:①每當8086的指令隊列中有兩個空字節(jié),BIU就會自動把指令取到指令隊列中。其取指的順序是按指令在程序中出現(xiàn)的前后順序。②每當EU準備執(zhí)行一條指令時,它會從BIU部件的指令隊列前部取出指令的代碼,然后用幾個時鐘周期去執(zhí)行指令。在執(zhí)行指令的過程中,如果必須訪問存儲器或者I/O端口,那么EU就會請求BIU,進入總線周期,完成訪問內存或者I/O端口的操作;如果此時BIU正好處于空閑狀態(tài),會立即響應EU的總線請求。如BIU正將某個指令字節(jié)取到指令隊列中,則BIU將首先完成這個取指令的總線周期,然后再去響應EU發(fā)出的訪問總線的請求。③當指令隊列已滿,且EU又沒有總線訪問請求時,BIU便進入空閑狀態(tài)。④在執(zhí)行轉移指令、調用指令和返回指令時,由于待執(zhí)行指令的順序發(fā)生了變化,則指令隊列中已經裝入的字節(jié)被自動消除,BIU會接著往指令隊列裝入轉向的另一程序段中的指令代碼。8086/8088微處理器——微處理器的結構BIU和EU的動作協(xié)調原則將8086/8088CPU分成二個獨立的功能部件使二者能夠并行工作,把取指令工作和分析指令、執(zhí)行指令工作重疊進行,從而提高CPU的工作效率,加快指令的執(zhí)行速度。指令隊列可以被看成是一個特殊的RAM,它的工作原理是"先進先出",寫入的指令只能存放在隊列尾,讀出的指令是隊列頭存放的指令。EU和BIU之間就是通過指令隊列聯(lián)系起來,多數(shù)情況下,BIU在不停地向隊列寫入指令,而EU每執(zhí)行完一條指令后,就向隊列讀取下一條指令。二者的動作既獨立,又協(xié)調。8086/8088寄存器結構

8086/8088內部的寄存器可以分為通用寄存器和專用寄存器兩大類,專用寄存器包括指針寄存器、變址寄存器等。一.通用寄存器8086/8088有4個16位的通用寄存器(AX、BX、CX、DX),可以存放16位的操作數(shù),也可分為8個8位的寄存器(AL、AH;BL、BH;CL、CH;DL、DH)來使用。其中AX稱為累加器,BX稱為基址寄存器,CX稱為計數(shù)寄存器,DX稱為數(shù)據寄存器,這些寄存器在具體使用上有一定的差別。寄存器用途AX字乘法,字除法,字I/OAL字節(jié)乘,字節(jié)除,字節(jié)I/O,十進制算術運算AH字節(jié)乘,字節(jié)除BX轉移CX串操作,循環(huán)次數(shù)CL變量移位,循環(huán)控制DX字節(jié)乘,字節(jié)除,間接I/O8086/8088寄存器結構二.指針寄存器系統(tǒng)中有兩個16位的指針寄存器SP和BP,其中SP是堆棧指針寄存器,由它和堆棧段寄存器SS一起來確定堆棧在內存中的位置;BP是基數(shù)指針寄存器,通常用于存放基地址。三.變址寄存器系統(tǒng)中有兩個16位的變址寄存器SI和DI,其中SI是源變址寄存器,DI是目的變址寄存器,都用于指令的變址尋址方式。8086/8088寄存器結構四.控制寄存器IP、標志寄存器是系統(tǒng)中的兩個16位控制寄存器,其中IP是指令指針寄存器,用來控制CPU的指令執(zhí)行順序,它和代碼段寄存器CS一起可以確定當前所要取的指令的內存地址。順序執(zhí)行程序時,CPU每取一個指令字節(jié),IP自動加1,指向下一個要讀取的字節(jié);當IP單獨改變時,會發(fā)生段內的程序轉移;當CS和IP同時改變時,會產生段間的程序轉移。標志寄存器的內容被稱為處理器狀態(tài)字PSW,用來存放8086CPU在工作過程中的狀態(tài)。五.段寄存器系統(tǒng)中共有4個16位段寄存器,即代碼段寄存器CS、數(shù)據段寄存器DS、堆棧段寄存器SS和附加段寄存器ES。這些段寄存器的內容與有效的地址偏移量一起,可確定內存的物理地址。通常CS劃定并控制程序區(qū),DS和ES控制數(shù)據區(qū),SS控制堆棧區(qū)。8086/8088寄存器結構

標志寄存器8086/8088內部標志寄存器的內容,又稱為處理器狀態(tài)字(PSW,ProcessorStatusWord)

,共有9個標志位??煞殖蓛深悾阂活悶闋顟B(tài)標志,一類為控制標志。其中狀態(tài)標志表示前一步操作(如加、減等)執(zhí)行以后,ALU所處的狀態(tài),后續(xù)操作可以根據這些狀態(tài)標志進行判斷,實現(xiàn)轉移;控制標志則可以通過指令人為設置,用以對某一種特定的功能起控制作用(如中斷屏蔽等),反映了人們對微機系統(tǒng)工作方式的可控制性。狀態(tài)標志位:CF—進位標志位,做加法時最高位出現(xiàn)進位或做減法時最高位出現(xiàn)借位,該位置1,反之為0。PF—奇偶標志位,當運算結果的低8位中l(wèi)的個數(shù)為偶數(shù)時,則該位置1,反之為0。AF—半進位標志位,做字節(jié)加法時,當?shù)退奈挥邢蚋咚奈坏倪M位,或在做減法時,低四位有向高四位的借位時,該標志位就置1。通常用于對BCD算術運算結果的調整。(例:11011000+10101110=110000110其中AF=1,CF=1)8086/8088寄存器結構

標志寄存器

狀態(tài)標志位:ZF—零標志位,運算結果為0時,該標志位置1,否則清0。SF—符號標志位,當運算結果的最高位為1,該標志位置1,否則清0。即與運算結果的最高位相同。OF—溢出標志位,反映運算結果是否超出了8位或16位帶符號數(shù)所能表達的范圍。控制標志位:TF—陷阱標志位(單步標志位、跟蹤標志)。當該位置1時,將使8086/8088進入單步工作方式,通常用于程序的調試。IF—中斷允許標志位,若該位置1,則處理器可以響應可屏蔽中斷,否則就不能響應可屏蔽中斷。DF—方向標志位,若該位置1,則串操作指令的地址修改為自動減量方向,反之,為自動增量方向。8086/8088存儲器8086/8088系統(tǒng)有20根地址總線,它可以直接尋址的存儲器單元數(shù)為220=1Mb而微處理器中所有的寄存器都是16位的如何實現(xiàn)16位的存儲單元存放20位的地址空間?存儲器分段由于CPU內部的寄存器都是16位的,為了能夠提供20位的物理地址,系統(tǒng)中采用了存儲器分段的方法。規(guī)定存儲器的一個段為64KB,由段寄存器來確定存儲單元的段地址,由指令提供該單元相對于相應段起始地址的16位偏移量。這樣,系統(tǒng)的整個存儲空間可分為16個互不重疊的邏輯段。存儲器的每個段的容量為64KB,并允許在整個存儲空間內浮動,即段與段之間可以部分重疊、完全重疊、連續(xù)排列,非常靈活。

8086/8088存儲器與存儲單元地址相關的幾個概念物理地址:一個存儲單元的實際地址(20位)。物理地址與存儲單元是一一對應關系。(20202H)邏輯地址:是指段地址和偏移地址,是指令中引用的形式地址。一個邏輯地址只能對應一個物理地址,而一個物理地址可以對應多個邏輯地址。(2000:0202H)段地址:是指一個段的起始地址,最低4位為零,一般將其有效數(shù)字16位存放在段寄存器中。(2000H)偏移地址:段內存儲單元相對段地址的距離(16位)。同一個段內,各個存儲單元的段地址是相同的,偏移地址是不同的。(0202H)物理地址的計算方法物理地址=段地址+偏移地址=段寄存器內容×10H+偏移地址取指令物理地址=(CS)×10H+(IP)堆棧操作物理地址=(SS)×10H+(SP)/(BP的表達式)存儲器操作數(shù)物理地址=(DS)/(ES)×10H+偏移地址8086/8088存儲器物理地址的計算方法8086/8088存儲器存儲器分段的特點(1)在程序代碼量、數(shù)據量不是太大的情況下,可使它們處于同一段內,即使它們在64Kb的范圍內,這樣可以減少指令長度,提高指令運行速度;(2)內存分段為程序的浮動分配創(chuàng)造了條件;(3)物理地址與邏輯地址并不是一一對應的;2000:0202H=2010:0102H=20202H(4)各個分段之間可以重疊。特殊的內存區(qū)域8088/8086系統(tǒng)中,有些內存區(qū)域的作用是固定的,用戶不能隨便使用,如:中斷矢量區(qū):00000H—003FFH共1K字節(jié),用以存放256種中斷類型的中斷矢量,每個中斷矢量占用4個字節(jié),共256×4=1024=1K;顯示緩沖區(qū):B0000H—B0F9FH約4000(25×80×2)字節(jié),是單色顯示器的顯示緩沖區(qū),存放文本方式下,所顯示字符的ASCII碼及屬性碼;B8000H—BBF3FH約16K字節(jié),是彩色顯示器的顯示緩沖區(qū),存放圖形方式下,屏幕顯示象素的代碼。啟動區(qū):FFFF0H—FFFFFH共16個單元,用以存放一條無條件轉移指令的代碼,轉移到系統(tǒng)的初始化部分。8086/8088存儲器CS、DS、SS和其他寄存器組合指向存儲單元的示意圖8086/8088存儲器8086存儲體的結構8086將1M字節(jié)存儲體分為兩個庫,每個庫的容量都是512K字節(jié)。其中與數(shù)據總線D15—D8相連的庫全由奇地址單元組成,稱高字節(jié)庫或奇地址庫,并用BHE信號作為庫選信號;另一個庫與數(shù)據總線的D7—D0相連,由偶地址單元組成,稱低字節(jié)庫或偶低址庫,利用A0作為庫選信號。顯然,只需A19—A1共19位地址用來作為兩個庫內的單元尋址。8086/8088存儲器8086存儲體的結構在組成存儲系統(tǒng)時,總是使偶地址單元的數(shù)據通過AD0—AD7傳送,而奇地址單元的數(shù)據通過AD8—AD15傳送,顯然,并不是所有總線周期都存取總線高字節(jié),只有存取規(guī)則字,或奇地址的字節(jié),或不規(guī)則字的低八位,才進行總線高字節(jié)傳送。

8086與8088的區(qū)別相同點:1.微處理器內部采用16位結構2.內部的兩個功能部件EU一樣區(qū)別:1.8086的指令隊列是6字節(jié)長,而8088的指令為4字長;2.8086是真正的16位機,同BIU相連的8086總線中數(shù)據總線是16位總線,而8088是準16位機,同BIU相連的8088總線中數(shù)據總線為8位總線。8086/8088寄存器結構在8086微處理器中可供程序員使用的有14個16位寄存器,如圖2.5所示。一般而言,14個寄存器按其用途可分為通用寄存器、指令指針、標志寄存器和段寄存器4類。通用寄存器一、數(shù)據寄存器數(shù)據寄存器包括4個16位的寄存器AX、BX、CX和DX,主要用來存放16位的數(shù)據或地址。同時每個數(shù)據寄存器又可分成兩個8位寄存器,即AH、AL、BH、BL、CH、CL、DH和DL,用來存放8位數(shù)據。數(shù)據寄存器用于存放指令操作數(shù)。在一些指令中,某些寄存器具有特定的用途:如AX作累加器;BX作基址寄存器;CX在串操作指令中用作計數(shù)器;DX在字乘法、除法指令中存放乘積高位或被除數(shù)高位或余數(shù),在某些I/O操作期間用來保存I/O端口地址等。二、指針寄存器和變址寄存器指針寄存器和變址寄存器是4個16位寄存器。堆棧指針SP(stackpoint)和基址指針BP(basicpoint)稱為指針寄存器,用來指示當前堆棧段中的數(shù)據所在的偏移地址。源變址寄存器SI(sourceindex)和目的變址寄存器DI(destinationindex)稱為變址寄存器,用來表示當前數(shù)據段中操作數(shù)的索引地址(偏移地址的一部分)。2.3.1數(shù)據寄存器指令指針I(yè)P(instructionpointer)指令指針是一個16位寄存器,用來存放將要執(zhí)行的下一條指令在當前代碼段中的偏移地址。在程序運行過程中,BIU可修改IP中的內容,IP總是指向下一條待取的指令。IP和CS一起指定下一條指令的物理地址,物理地址=CS×16+IP??刂萍拇嫫鹘M8086/8088CPU中設置了一個16位標志寄存器FLAG,用來存放運算結果的特征和控制標志,具體格式見書圖所示。16位標志寄存器FLAG中只用其中9位作標志位,其余位為無效位。9個標志位可分成兩類:一類叫狀態(tài)標志位,用來表示算術邏輯運算結果的特征,包括CF、PF、AF、ZF、SF和OF;另一類叫控制標志位,用來控制CPU的操作,由程序設置或清除,它們是IF、DF和TF。2.3.4段寄存器組在8086/8088系統(tǒng)中采用分段技術把1MB的存儲空間分成若干個邏輯段,每段最長為64KB,這些邏輯段可以在整個存儲空間中定位,用段寄存器給定各個邏輯段的首地址的高16位,這個地址被稱作段基址。1.代碼段寄存器CS用來存放當前程序所在的代碼段的段基址,代碼段中通常存放可執(zhí)行的指令代碼。2.數(shù)據段寄存器DS用來存放程序當前使用的數(shù)據段的段基址。3.附加段寄存器ES用來存放程序當前使用的附加段的段基址,數(shù)據段和附加段通常存放參加運算的操作數(shù)或運算結果。4.堆棧段SS則用來存放當前使用的堆棧段的段基址,一些臨時性的數(shù)據被保存在堆棧中。2.48086存儲器2.4.18086存儲器組織及其尋址8086微處理器地址線為20根,可以尋址1MB的內部存儲器,地址編號為00000H~FFFFFH。我們約定存儲空間以8b為單位進行組織,每個存儲單元存儲一個字節(jié)數(shù)據。如果存放一個“字”數(shù)據(16b),則存放在相鄰的兩個存儲單元中,并且高字節(jié)存放在高地址單元、低字節(jié)存放在低地址單元,雙字單元的存放方式與字單元類似,它被存放在相鄰的4個字節(jié)中。2.4.28086存儲器的分段結構和物理地址的形成一、分段結構

8086程序將1MB的存儲空間看成為一組連續(xù)的存儲段,各段的功能由具體用途而定,分別為代碼段、數(shù)據段、堆棧段和附加段。二、物理地址的形成1)當取指令時,8086會自動選擇CS值作為段基址,再加上由IP提供的偏移量形成物理地址。2)當涉及堆棧操作時,8086會自動選擇SS值作為段基址,再加上由SP提供的偏移量形成物理地址。3)當涉及一個操作數(shù)(存儲器操作數(shù))時,8086會自動選擇DS值為段基值(若以BP為基地址,則SS為段基值),再加上16位偏移量形成物理地址,這16位偏移量可以來自:指令中提供的直接地址——16位的位移量;某一個16位地址寄存器的值;指令中的位移量加上16位地址寄存器的值。2.4.2

8086存儲器的分段結構和物理地址的形成2.58086的引腳信號和工作模式2.5.18086的總線周期的概念為了取得指令和傳送數(shù)據,就需要CPU的總線接口部件執(zhí)行一個總線周期。在8086/8088中,一個最基本的總線周期由4個時鐘周期組成,時鐘周期是CPU的基本時間計量單位,它由計算機主頻決定。1)在T1狀態(tài),CPU往多路復用總線上發(fā)出地址信息,以指出要尋址的存儲單元或外設端口的地址。2)在T2狀態(tài),CPU從總線上撤銷地址,而使總線的低16位浮置成高阻狀態(tài),為傳輸數(shù)據作準備。3)在T3狀態(tài),多路總線的高4位繼續(xù)提供狀態(tài)信息,而多路總線的低16位,(8088則為低8位)上出現(xiàn)由CPU寫出的數(shù)據或者CPU從存儲器或端口讀入數(shù)據。4)在T4狀態(tài),總線周期結束。2.5.18086的總線周期的概念2.5.2中斷操作和中斷系統(tǒng)的概念1.8086的中斷分類8086/8088有一個強有力的中斷系統(tǒng),可以處理256種不同的中斷,每個中斷對應一個類型碼,所以,256種中斷對應的中斷類型碼為0~255。從產生中斷的方法來分,這256種中斷可以分為兩大類:一類叫硬件中斷;一類叫軟件中斷。硬件中斷是通過外部的硬件產生的,所以,也常常把硬件中斷稱為外部中斷。硬件中斷又可以分為兩類:一類叫非屏蔽中斷;另一類叫可屏蔽中斷。軟件中斷是CPU根據軟件中的某條指令或者軟件對標志寄存器中某個標志的設置而產生的,從軟件中斷的產生過程來說,完全和硬件電路無關。2.5.2中斷操作和中斷系統(tǒng)的概念2.5.2中斷操作和中斷系統(tǒng)的概念2.向量表位置和結構8086/8088的中斷系統(tǒng)是以位于內存0段的0~3FFH區(qū)域的中斷向量表為基礎的,中斷向量表中最多可以容納256個中斷向量。所謂中斷向量,實際上就是中斷處理子程序的入口地址,每個中斷類型對應一個中斷向量。3.向量構成中斷向量并不是任意存放的。一個中斷向量占4個存儲單元,其中前兩個單元存放中斷處理子程序入口地址的偏移量(IP),低位在前,高位在后,后兩個單元存放中斷處理子程序入口地址的段地址(CS),同樣也是低位在前,高位在后。按照中斷類型的序號,對應的中斷向量在內存的0段0單元開始有規(guī)則的進行排列。2.5.2中斷操作和中斷系統(tǒng)的概念4.中斷類型碼和中斷向量所在位置之間的分布關系2.5.3微處理器芯片封裝及引腳功能

溫馨提示

  • 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

提交評論