版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、1 一個(gè)實(shí)際的微機(jī)的電路結(jié)構(gòu)是相當(dāng)復(fù)雜的。本章內(nèi)容將從微機(jī)的最基本功能出發(fā)來講解其電路原理,在有限的時(shí)間內(nèi)讓同學(xué)們建立一個(gè)較完整的基本概念。 微機(jī)的基本功能可概括為“三能一快”;能運(yùn)算、能判別、能決策。但所有這些“能”的過程都是建立在“快”的基礎(chǔ)上才能有實(shí)際意義。2 在整個(gè)計(jì)算機(jī)中,信息量是很大的,部件數(shù)在整個(gè)計(jì)算機(jī)中,信息量是很大的,部件數(shù)很多,如何做到各個(gè)信息和部件能夠很多,如何做到各個(gè)信息和部件能夠“循序漸進(jìn)、循序漸進(jìn)、各得其所、有條不紊、快而不亂各得其所、有條不紊、快而不亂”?這就是計(jì)算?這就是計(jì)算機(jī)基本工作原理所要解答的問題。機(jī)基本工作原理所要解答的問題。 下面將以一個(gè)下面將以一個(gè)簡
2、化簡化了的微機(jī)作為分析對象,了的微機(jī)作為分析對象,逐步講解一般計(jì)算機(jī)的各個(gè)基本功能,從而概括逐步講解一般計(jì)算機(jī)的各個(gè)基本功能,從而概括出微機(jī)的基本工作原理。在分析講解過程中,陸出微機(jī)的基本工作原理。在分析講解過程中,陸續(xù)介紹各個(gè)基本電路和部件之間的續(xù)介紹各個(gè)基本電路和部件之間的信息流通過程信息流通過程,指令系統(tǒng)的意義,指令系統(tǒng)的意義,程序設(shè)計(jì)的步驟程序設(shè)計(jì)的步驟,控制部件的控制部件的功能及其結(jié)構(gòu)功能及其結(jié)構(gòu),控制矩陣產(chǎn)生控制字的過程控制矩陣產(chǎn)生控制字的過程等等,這樣可以對微機(jī)的基本工作原理有一個(gè)比較完整這樣可以對微機(jī)的基本工作原理有一個(gè)比較完整的概念的概念。3 簡化的微機(jī)結(jié)構(gòu)如圖3-1所示,其
3、硬件結(jié)構(gòu)特點(diǎn)是:功能簡單、內(nèi)存量小、字長8位、手動(dòng)輸入。微機(jī)組成:中央處理器微機(jī)組成:中央處理器CPU(Center ProcessProcess Unit)(微處理器)、存儲(chǔ)器()(微處理器)、存儲(chǔ)器(Memory)、外設(shè))、外設(shè)(I/O設(shè)備)設(shè)備) 4CPCLKCLREPLACLKEALICLKCLREILMCLKERSuEuLBCLKLOCLKCPEP LMERLIEILAEASUEULBLOPCAIRCONMARPROMALUBODCLKCLRCPU1. PC(Program Control) 程序控制器,控制指令的運(yùn)行程序控制器,控制指令的運(yùn)行順序。順序。 Cp=1時(shí)候,時(shí)候,PC=
4、PC+12. IR(Instruction Register) 指令寄存器,從指令寄存器,從PROM中取中取指令,分析指令后,將指令字指令,分析指令后,將指令字送送CON和總線和總線 指令系統(tǒng)和指令字:指令系統(tǒng)和指令字: * * * * * * * * 指令字段指令字段 地址字段地址字段指令字段:如指令字段:如0000表示表示LDA指指令(令(Load A),操作碼(助記),操作碼(助記符)和操作數(shù)符)和操作數(shù)指令存放于存儲(chǔ)器的指令區(qū)指令存放于存儲(chǔ)器的指令區(qū)數(shù)據(jù)存放于存儲(chǔ)器的數(shù)據(jù)區(qū)數(shù)據(jù)存放于存儲(chǔ)器的數(shù)據(jù)區(qū)4. A:累加器;:累加器; B:B寄存器;寄存器; O:輸出寄存器;:輸出寄存器; D:
5、輸出設(shè)備:輸出設(shè)備5. CON:控制器:控制器 控制字:控制字:CON=CPEPLMER LIEILAEA SuEULBLO3. MAR:存儲(chǔ)器地址寄存器:存儲(chǔ)器地址寄存器 微型計(jì)算機(jī)的簡化結(jié)構(gòu)及功能分解(圖微型計(jì)算機(jī)的簡化結(jié)構(gòu)及功能分解(圖3.1,P41)5圖3-2 PROM結(jié)構(gòu)原理圖6(5)控制器)控制器 其功能: (PC、IR)清零;發(fā)出同步脈沖CLK;發(fā)出12位控制字CON。(6)累加器A(7)寄存器B(8)輸出寄存器O(9)二進(jìn)制顯示器D 可見結(jié)構(gòu)簡單,但為一個(gè)可編程計(jì)算機(jī)的雛形,麻雀雖小,五臟具全。其功能分解為三大部分見圖所示。7指令系統(tǒng)就是用來編制程序的一個(gè)指令集合。指令系統(tǒng)就是
6、用來編制程序的一個(gè)指令集合。 這臺(tái)微型機(jī)有五條指令,即其控制部件這臺(tái)微型機(jī)有五條指令,即其控制部件能完成一系列例行程序以執(zhí)行五種命令:能完成一系列例行程序以執(zhí)行五種命令: LDALDA將數(shù)據(jù)裝入累加器將數(shù)據(jù)裝入累加器A A ADDADD進(jìn)行加法運(yùn)算進(jìn)行加法運(yùn)算 SUBSUB進(jìn)行減法運(yùn)算進(jìn)行減法運(yùn)算 OUTOUT輸出結(jié)果輸出結(jié)果 HLTHLT停機(jī)停機(jī) 這五條指令在一起就稱為這臺(tái)計(jì)算機(jī)的這五條指令在一起就稱為這臺(tái)計(jì)算機(jī)的指令系統(tǒng)指令系統(tǒng)。 8 不同型號(hào)的微處理機(jī)的指令系統(tǒng)是不不同型號(hào)的微處理機(jī)的指令系統(tǒng)是不同的,指令的條數(shù)也不相同,如同的,指令的條數(shù)也不相同,如Z80Z80型的指型的指令系統(tǒng)可達(dá):
7、令系統(tǒng)可達(dá):5858條,條,M6800M6800型有型有7272條,條,65026502型則有型則有5656條指令,而條指令,而Intel 80386Intel 80386則為則為152152條。條。 例如一個(gè)計(jì)算程序的格式如下:例如一個(gè)計(jì)算程序的格式如下: LDA RLDA R9 9 ;把把 R R9 9中的數(shù)據(jù)存入中的數(shù)據(jù)存入A A ADD RADD RA A ;把把 R RA A中的數(shù)據(jù)與中的數(shù)據(jù)與A A的相加的相加 ADD RADD RB B ;把把 R RB B中的數(shù)據(jù)與中的數(shù)據(jù)與A A的相加的相加 ADD RADD RC C ;把把 R RC C中的數(shù)據(jù)與中的數(shù)據(jù)與A A的相加的相
8、加 SUB RSUB RD D ;把把 A A中的數(shù)據(jù)與中的數(shù)據(jù)與R RD D的相減的相減 OUT OUT ;輸出輸出A A中的數(shù)據(jù),即結(jié)果中的數(shù)據(jù),即結(jié)果 HLT HLT ;停機(jī)停機(jī) 助記符助記符 操作數(shù)操作數(shù) 注釋注釋9 這樣的格式稱為用匯編語言寫的匯編這樣的格式稱為用匯編語言寫的匯編語言程序語言程序。最左邊的符號(hào)稱為助記符,中。最左邊的符號(hào)稱為助記符,中間的符號(hào)間的符號(hào)R R9 9、R RA A等稱為操作數(shù),在等稱為操作數(shù),在“;”之后的稱為注釋,每一行就是一條指令。之后的稱為注釋,每一行就是一條指令。運(yùn)行結(jié)果(運(yùn)行結(jié)果(A A)= =(R R9 9)運(yùn)行結(jié)果(運(yùn)行結(jié)果(A A)= =(
9、R R9 9)()(R RA A)運(yùn)行結(jié)果(運(yùn)行結(jié)果(A A)= =(R R9 9)+ +(R RA A)+ +(R RB B)運(yùn)行結(jié)果(運(yùn)行結(jié)果(A A)= =(R R9 9)+ +(R RA A)+ +(R RB B)+ +(R RC C)運(yùn)行結(jié)果(運(yùn)行結(jié)果(A A)= =(R R9 9)+ +(R RA A)+ +(R RB B)+ +(R RC C)- -(R RD D)運(yùn)行結(jié)果(運(yùn)行結(jié)果(D D)= =(A A)運(yùn)行結(jié)果:運(yùn)行結(jié)果:CLKCLK停止發(fā)脈沖停止發(fā)脈沖 最后一條指令,使時(shí)鐘脈沖停發(fā),則計(jì)算機(jī)停最后一條指令,使時(shí)鐘脈沖停發(fā),則計(jì)算機(jī)停止運(yùn)行,但電源未切斷,所以顯示器中仍繼續(xù)
10、顯示止運(yùn)行,但電源未切斷,所以顯示器中仍繼續(xù)顯示計(jì)算的結(jié)果。計(jì)算的結(jié)果。101、先要有一個(gè)操作碼表:2、存儲(chǔ)器資源分配、存儲(chǔ)器資源分配4共共16個(gè)存儲(chǔ)單元個(gè)存儲(chǔ)單元R0R15,每個(gè)單元,每個(gè)單元8位,即內(nèi)存為位,即內(nèi)存為16*84分成兩個(gè)部分分成兩個(gè)部分4R0R7:程序存儲(chǔ)區(qū)(即指令區(qū)):程序存儲(chǔ)區(qū)(即指令區(qū))4R8R15:數(shù)據(jù)存儲(chǔ)區(qū):數(shù)據(jù)存儲(chǔ)區(qū)113、將源程序翻譯成目的程序124、程序及數(shù)據(jù)的輸入方法13 執(zhí)行一條指令的時(shí)間為一個(gè)執(zhí)行一條指令的時(shí)間為一個(gè)機(jī)器周期機(jī)器周期。機(jī)器。機(jī)器周期又可分為周期又可分為取指周期取指周期和和執(zhí)行周期執(zhí)行周期。取指過程和。取指過程和執(zhí)行過程都得通過不同的執(zhí)行過
11、程都得通過不同的機(jī)器節(jié)拍機(jī)器節(jié)拍。在這些節(jié)拍。在這些節(jié)拍內(nèi),每個(gè)寄存器(內(nèi),每個(gè)寄存器(PCPC、MARMAR、IRIR、A A、B B、O O等)的等)的內(nèi)容可能發(fā)生變化。內(nèi)容可能發(fā)生變化。機(jī)器節(jié)拍機(jī)器節(jié)拍:即一個(gè)時(shí)鐘周期(時(shí)鐘一個(gè)高電平:即一個(gè)時(shí)鐘周期(時(shí)鐘一個(gè)高電平+一一 個(gè)低電平)個(gè)低電平)14環(huán)形計(jì)數(shù)器和機(jī)器節(jié)拍環(huán)形計(jì)數(shù)器和機(jī)器節(jié)拍作用:作用:產(chǎn)生機(jī)器節(jié)拍,控制產(chǎn)生機(jī)器節(jié)拍,控制電路依次發(fā)出各個(gè)動(dòng)作,重復(fù)電路依次發(fā)出各個(gè)動(dòng)作,重復(fù)執(zhí)行指令執(zhí)行指令其位數(shù)與指令的執(zhí)行周期長其位數(shù)與指令的執(zhí)行周期長度有關(guān)度有關(guān)特點(diǎn):特點(diǎn):各位依次為高電位。各位依次為高電位。152、取指周期及執(zhí)行周期、取指
12、周期及執(zhí)行周期取指周期取指周期需要三個(gè)機(jī)器節(jié)拍:需要三個(gè)機(jī)器節(jié)拍:(1)地址節(jié)拍地址節(jié)拍(T0=1):PC內(nèi)容送內(nèi)容送MAR并到達(dá)并到達(dá)PROM(2)儲(chǔ)存節(jié)拍儲(chǔ)存節(jié)拍(T1=1):PROM指定單元內(nèi)容送到指定單元內(nèi)容送到IR,高四位高四位送控制部件送控制部件CON=0001 1000 0000,即,即ER=1,LI=1(3)增量節(jié)拍增量節(jié)拍(T2=1):PC+1,指向下一條指令指向下一條指令CON=1000 0000 0000,即,即16執(zhí)行周期執(zhí)行周期也需要三個(gè)節(jié)拍:這里以也需要三個(gè)節(jié)拍:這里以LDA例例行程序?yàn)槔盒谐绦驗(yàn)槔?4) T3=1,IR高四位送至控制器進(jìn)行分析,高四位送至控制器
13、進(jìn)行分析,IR低四低四位送總線,位送總線,MAR接受此低四位并指向接受此低四位并指向PROM的的某個(gè)單元。(第一次訪問的是指令區(qū),第二次訪某個(gè)單元。(第一次訪問的是指令區(qū),第二次訪問的是數(shù)據(jù)區(qū))問的是數(shù)據(jù)區(qū))CON= = 0 0 1 0 0 1 0 0 0 0 0 0(5) T4=1,PROM中數(shù)據(jù)區(qū)的存儲(chǔ)單元的內(nèi)容送中數(shù)據(jù)區(qū)的存儲(chǔ)單元的內(nèi)容送累加器累加器ACON= 0 0 0 1 0 0 1 0 0 0 0 0,即,即=1,=117(6) T5=1,因因T4=1時(shí),已將數(shù)據(jù)存入時(shí),已將數(shù)據(jù)存入A中,所以中,所以LDA的例行程序就已完成,的例行程序就已完成, T5為空拍為空拍: CON= 0
14、0 0 0 0 0 0 0 0 0 0 0注意:(1)為什么需空拍,但一些其它指令例行程序需要六拍,這樣的機(jī)器稱為固定周期的計(jì)算機(jī)。(2)對任何一條指令取指周期都是三拍。 其它例行程序執(zhí)行情況見表3-318例例3.1:ADD 0AH的指令周期的指令周期指令執(zhí)行過程:指令執(zhí)行過程:AH存儲(chǔ)單元的內(nèi)容送存儲(chǔ)單元的內(nèi)容送B,再和再和A的內(nèi)容在的內(nèi)容在ALU相加,相加結(jié)果送入相加,相加結(jié)果送入A1. 取指周期取指周期2. 指令執(zhí)行周期指令執(zhí)行周期 T3(T3=1)節(jié)拍:節(jié)拍:IR將指令的低四位將指令的低四位0AH送送MAR T4(T4=1)節(jié)拍:地址為節(jié)拍:地址為0AH的存儲(chǔ)單元內(nèi)容送的存儲(chǔ)單元內(nèi)容送
15、B寄存器,寄存器,A和和B的內(nèi)容在的內(nèi)容在ALU中中相加相加 T5(T5=1)節(jié)拍:節(jié)拍:ALU中的內(nèi)容送中的內(nèi)容送A寄存器寄存器例例3.2:SUB 0BH的指令周期的指令周期指令執(zhí)行過程:指令執(zhí)行過程:0BH存儲(chǔ)單元的內(nèi)容送存儲(chǔ)單元的內(nèi)容送B,再在再在ALU中將中將A的內(nèi)容減去的內(nèi)容減去B的內(nèi)容,的內(nèi)容,結(jié)果送入結(jié)果送入B T4(T4=1)節(jié)拍:地址為節(jié)拍:地址為0BH的存儲(chǔ)單元內(nèi)容送的存儲(chǔ)單元內(nèi)容送B寄存器,寄存器,A和和B的內(nèi)容在的內(nèi)容在ALU中相減中相減 EM=1、LB=1、SU=119表3-3 執(zhí)行指令的過程20控制部件的主要環(huán)節(jié):控制部件的主要環(huán)節(jié):(1)環(huán)行計(jì)數(shù)器()環(huán)行計(jì)數(shù)器(
16、RC)(2)指令譯碼器(指令譯碼器(ID)(3)控制矩陣(控制矩陣(CM)(4)其它控制電路其它控制電路 稱為稱為控制器控制器211)環(huán)形計(jì)數(shù)器)環(huán)形計(jì)數(shù)器RC(產(chǎn)生機(jī)器節(jié)拍)產(chǎn)生機(jī)器節(jié)拍)環(huán)形計(jì)數(shù)器CLEARCLKQ3 D3 Q2 D2 Q1 D1 Q0 D0 PRPRESET時(shí)鐘周期機(jī)器節(jié)拍Q0Q1Q2Q3224指令譯碼器的任務(wù)是:將高四位組成的編碼,指令譯碼器的任務(wù)是:將高四位組成的編碼,譯成一個(gè)信號(hào),即將某一控制線譯為高電位。譯成一個(gè)信號(hào),即將某一控制線譯為高電位。其譯碼電路如圖其譯碼電路如圖3-5所示。所示。I7I6I5I4&LDA 例3.3:LDA指令的指令譯碼器2)指令譯
17、碼器(ID)對應(yīng)指令對應(yīng)指令 000023對應(yīng)指令對應(yīng)指令 0000對應(yīng)指令對應(yīng)指令 0001 對應(yīng)指令對應(yīng)指令 0010 對應(yīng)指令對應(yīng)指令 1110 對應(yīng)指令對應(yīng)指令 1111 243)控制矩陣)控制矩陣CM功能:產(chǎn)生控制字功能:產(chǎn)生控制字例例3.4:取指周期:取指周期T0節(jié)拍,節(jié)拍, LDA指令執(zhí)行周期指令執(zhí)行周期T3節(jié)拍的控制矩陣電路分析節(jié)拍的控制矩陣電路分析T0T1T2T3T4T5指令譯碼器LDAI4I7&LM&EIEP1環(huán)形計(jì)數(shù)器控制矩陣取指周期的取指周期的T0節(jié)拍,節(jié)拍,PC內(nèi)容送內(nèi)容送MAR,要產(chǎn)生控制字要產(chǎn)生控制字EP=1和和LM=1; LDA指令執(zhí)行周期的指令
18、執(zhí)行周期的T3節(jié)拍,節(jié)拍,IR的低四位送的低四位送MAR,要產(chǎn)生控制字要產(chǎn)生控制字EI=1和和LM=125 控制矩陣(控制矩陣(CM)是控制部件的核心,其輸入為節(jié)拍是控制部件的核心,其輸入為節(jié)拍信號(hào)和經(jīng)譯碼后的指令信號(hào),輸出為信號(hào)和經(jīng)譯碼后的指令信號(hào),輸出為12位控制字。其結(jié)位控制字。其結(jié)構(gòu)見圖構(gòu)見圖3-6所示。所示。4根指根指令控制令控制線,當(dāng)線,當(dāng)LDA=1T0=1,EP=1,LM=1T1=1,LI=1,ER=1T3=1, LM=1,EI=126 由圖可見五條指令的控制器就已經(jīng)這么復(fù)雜,由此由圖可見五條指令的控制器就已經(jīng)這么復(fù)雜,由此可知要擴(kuò)大指令系統(tǒng),其控制矩陣的結(jié)構(gòu)以及設(shè)計(jì)上可知要擴(kuò)大
19、指令系統(tǒng),其控制矩陣的結(jié)構(gòu)以及設(shè)計(jì)上的問題是相當(dāng)復(fù)雜的。這樣從結(jié)構(gòu)上用邏輯電路的方的問題是相當(dāng)復(fù)雜的。這樣從結(jié)構(gòu)上用邏輯電路的方法來實(shí)現(xiàn)控制字的方法稱為硬連線方法(硬件方法)。法來實(shí)現(xiàn)控制字的方法稱為硬連線方法(硬件方法)。也可以用軟件的方法來實(shí)現(xiàn)這個(gè)目的,這就是所謂微也可以用軟件的方法來實(shí)現(xiàn)這個(gè)目的,這就是所謂微程序法。這將在后面做簡要介紹。程序法。這將在后面做簡要介紹。27其它控制電路:其它控制電路:(1)時(shí)鐘脈沖發(fā)生器時(shí)鐘脈沖發(fā)生器:它一般由兩部分組成,即時(shí)鐘振:它一般由兩部分組成,即時(shí)鐘振蕩器及射極輸出器。前者是石英晶體振蕩器,后者則用蕩器及射極輸出器。前者是石英晶體振蕩器,后者則用以
20、降低輸出電阻,以提高帶負(fù)載能力。以降低輸出電阻,以提高帶負(fù)載能力。(2 2)運(yùn)行運(yùn)行/ /停車觸發(fā)器停車觸發(fā)器(3 3)“啟動(dòng)啟動(dòng)”和和“清零清零”按鈕按鈕 圖圖3-73-7用方塊圖展示了控制部件各個(gè)電路間的關(guān)系。用方塊圖展示了控制部件各個(gè)電路間的關(guān)系。28293.1-3.5節(jié)小結(jié)41. 掌握機(jī)器周期、時(shí)鐘周期(機(jī)器節(jié)拍)掌握機(jī)器周期、時(shí)鐘周期(機(jī)器節(jié)拍)的概念的概念42. 以一個(gè)指令為例,掌握各機(jī)器節(jié)拍所以一個(gè)指令為例,掌握各機(jī)器節(jié)拍所完成的工作完成的工作43. 了解控制部件的組成電路了解控制部件的組成電路4作業(yè):作業(yè):3.2、3.3、3.5、3.6、3.7、3.1230 作為引導(dǎo)入門的模型
21、機(jī)功能太簡單。其原因是:首先是硬件過于簡單,只能接受五條指令而產(chǎn)生相應(yīng)的例行程序。其次是軟件開發(fā)問題,即如何利用現(xiàn)有的指令系統(tǒng),經(jīng)過靈活的編程以解決更復(fù)雜的問題。總之,計(jì)算機(jī)的功能在很大程度上取決于中央處理器部分,而中央處理器的功能又取決于控制器的功能。 圖3-8是功能擴(kuò)充的微機(jī)結(jié)構(gòu)簡圖。31圖3-8 功能擴(kuò)充后的微機(jī)的結(jié)構(gòu)圖32(1)子程序計(jì)數(shù)器SC(2)程序計(jì)數(shù)器PC(3)RAM(4)CON(5)ALU(見表3-4)(6)變址寄存器X(7)IR 對于訪問存儲(chǔ)器指令和轉(zhuǎn)移指令,高四位為指令字段,低八位為地址字段。 對于運(yùn)算指令,高八位為指令字段,而低四位為任意數(shù),不代表任何意義。33說明:(
22、1)訪問存儲(chǔ)器指令-與存儲(chǔ)器的讀/寫有關(guān),所以有其地址字段必須為8位(256)。(2)轉(zhuǎn)移指令-可用以改變程序的順序。(3)邏輯運(yùn)算指令-特點(diǎn)是與存儲(chǔ)器及PC無關(guān),而是與ALU、A及B寄存器有關(guān)。3435 上節(jié)提供的指令系統(tǒng),可以據(jù)以進(jìn)行程序設(shè)計(jì)。 所謂初級(jí)程序是包括下列的程序模式: 1簡單程序程序一統(tǒng)到底,中間沒有任何分支和跳轉(zhuǎn)。 2分支程序程序進(jìn)行中,根據(jù)判斷程序執(zhí)行的不同結(jié)果而分別跳轉(zhuǎn)至其他子程序。 3循環(huán)程序程序進(jìn)行過程中,在某一循環(huán)體進(jìn)行若干次循環(huán)運(yùn)行,然后再繼續(xù)前進(jìn)。 4調(diào)用子程序一程序進(jìn)行至某一階段,調(diào)用存儲(chǔ)于某存儲(chǔ)區(qū)中的某個(gè)子程序,然后返回至主程序繼續(xù)運(yùn)行下去。36【例1】程序
23、清單(循環(huán)程序) R0 LDA 6H 把(R6)裝人A去 R1 SUB 7H 從(A)減去(R7) 指 R2 JAM 5H (A)=負(fù),則轉(zhuǎn)移至R5 令 R3 JAZ 5H (A)= 0,則轉(zhuǎn)移至R5 區(qū) R4 JMP 1H 無條件轉(zhuǎn)移至R1 R5 HLT 數(shù) 據(jù) R6 25(十進(jìn)制) 區(qū) R7 9 (十進(jìn)制)37 執(zhí)行結(jié)果 R0 LDA 6H A中的內(nèi)容 = 25 R1 SUB 7H A中的內(nèi)容 = 25-9 =16 R2 JAM 5H 因?yàn)椋ˋ)負(fù),所以不轉(zhuǎn)移 R3 JAZ 5H 因?yàn)椋ˋ)0,所以不轉(zhuǎn)移 R4 JMP 1H 無條件轉(zhuǎn)移至R1 從R1 起再執(zhí)行第二次: R1 SUB 7H
24、A中的內(nèi)容 = 16-9 =7 R2 JAM 5H 因?yàn)椋ˋ)負(fù),所以不轉(zhuǎn)移 R3 JAZ 5H 因?yàn)椋ˋ)0,所以不轉(zhuǎn)移 R4 JMP 1H 無條件轉(zhuǎn)移至R1 從R1起再執(zhí)行第三次: R1 SUB 7H A中的內(nèi)容 = 7-9 = -2 R2 JAM 5H 因?yàn)?A)=負(fù)所以轉(zhuǎn)移至R5 R5 HLT 停機(jī)38 這個(gè)程序可以理解為求(R6)(R7)的除法運(yùn)算。這里是259,除的結(jié)果應(yīng)得商為2,余數(shù)為7。程序循環(huán)運(yùn)行的次數(shù)即為商,余數(shù)即為第二次執(zhí)行后A中的內(nèi)容。例2循環(huán)程序(利用變址寄存器進(jìn)行設(shè)計(jì))R0 LDX 5H 將(R5)裝人變址器XR1 DEX 命(X)減1R2 JIZ 4H (X)=0
25、,則轉(zhuǎn)移至R4R3 JMP 1H 無條件轉(zhuǎn)移至R1R4 HLT 停機(jī)R5 3(十進(jìn)制) (R5)=3 (數(shù)據(jù)) 39第一次執(zhí)行結(jié)果:R0 LDX 5H (X)=(R5)=3R1 DEX (X)=3-1=2R2 JIZ 4H 因?yàn)椋╔)0,所以不轉(zhuǎn)移R3 JMP 1H 無條件轉(zhuǎn)移至R1第二次執(zhí)行結(jié)果:R1 DEX (X)=2-1=1R2 JIZ 4H 因?yàn)椋╔)0,所以不轉(zhuǎn)移R3 JMP 1H 無條件轉(zhuǎn)移至R1第三次執(zhí)行結(jié)果:R1 DEX (X)=1-1=0R2 JIZ 4H 因?yàn)?X)=0,所以轉(zhuǎn)移則至R4R5 HLT 停機(jī)40例3乘法計(jì)算的程序 12X8 (利用循環(huán)程序和加法運(yùn)算來實(shí)現(xiàn))R0
26、 NOP 空操作R1 LDX AH R2 CLA 將A清零 R3 DEX R4 ADD 9H 七次返回 R5 JIZ 7H R6 JMP 3H R7 OUT 轉(zhuǎn)出循環(huán) 96轉(zhuǎn)至O寄存器R8 HLT R9 12 RA 8 41例4設(shè)計(jì)一個(gè)用以測試某個(gè)來自接口電路的輸入數(shù)I0,以確定該數(shù)是否為奇數(shù)。如I0為奇數(shù)(即最后一位為1),則顯示一個(gè) 1111 1111 1111;如I0是偶數(shù)(最后一位為 0),則顯示一個(gè) 0000 0000 0000。程序清單如下:R0 INP ,將I0裝入累加器AR1 LDB 9H ,將(R9)裝入寄存器BR2 AND ,將(B)與(A)進(jìn)行“與”運(yùn)算 R3 JAZ 6
27、H ,(A)=0,則轉(zhuǎn)移至R6 R4 LDA AH ,將(RA)裝入累加器A R5 JMP 7H ,無條件轉(zhuǎn)移至R7 R6 LDA BH ,將(RB)裝入累加器A R7 OUT ,輸出(A)至顯示器R8 HLT ,停機(jī) 42R9 0000 0000 0001(掩碼或屏蔽字)RA 1111 1111 1111 奇數(shù)標(biāo)志RB 0000 0000 0000 偶數(shù)標(biāo)志5子程序設(shè)計(jì) 設(shè)計(jì)一個(gè)計(jì)算x2+y2+z2=?的計(jì)算程序。由于x2、y2和z2在形式上都是一樣的,是求一個(gè)數(shù)的平方值,這在其它數(shù)學(xué)運(yùn)算時(shí)也常用得著,因此可將x2做成一個(gè)子程序而存于存儲(chǔ)器中一個(gè)固定區(qū)域中,用到時(shí),即可將其調(diào)出使用。這里將子
28、程序存于 RF2為起始地址得一個(gè)區(qū)域中,則程序清單如下:43RF2 STA CAH 暫存RF3 LDX CAH 裝入RF4 CLA 將A清零 RF5 DEX 減1 RF6 ADD CAH 加 循環(huán)體RF7 JIZ F9H X=0,則轉(zhuǎn)移RF8 JMP F5H 無條件轉(zhuǎn)移 RF9 BRB 返回主程序RC6 x RC7 y 被運(yùn)算數(shù)據(jù) RC8 zRC9 運(yùn)算過程暫存地址 RCA 44主程序: 子程序:R00 LDA C6H 1 RF2 STA CAH R01 JMS F2H RF3 LDX CAH R02 STA C9H 1 RF4 CLA R03 LDA C7H RF5 DEX R04 JMS
29、F2H 2 RF6 ADD CAH R05 ADD C9H 2 RF7 JIZ F9H R06 STA C9H RF8 JMP F5H R07 LDA C8H RF9 BRB R08 JMS F2H 3R09 ADD C9H 3R0A OUTR0B HLT45 有了子程序,每當(dāng)求平方時(shí),只要調(diào)用子程序即可,本例調(diào)用三次子程序。主程序只管把每次計(jì)算結(jié)果( RC9中)相加,因而主程序顯得短小清楚。 問題的提出:隨著計(jì)算機(jī)的體系結(jié)構(gòu)日益復(fù)雜化,加之硬連線的組合邏輯設(shè)計(jì)方法的缺點(diǎn)(不靈活性、不規(guī)整性和線路的日益復(fù)雜性)的存在,對于一些復(fù)雜的控制器的設(shè)計(jì)已從硬連線結(jié)構(gòu)轉(zhuǎn)向微程序控制的結(jié)構(gòu)。那么微程序設(shè)計(jì)
30、的本質(zhì)是什么呢?它是用軟件的方法組織和控制數(shù)據(jù)處理系統(tǒng)的信息傳遞,并用硬件結(jié)構(gòu)實(shí)現(xiàn)。46 微程序控制的基本概念是由英國劍橋大學(xué)的威爾克斯教授在1951年提出的,他在設(shè)計(jì)計(jì)算機(jī)的最好方法一文中指出,將機(jī)器指令的操作(從取指到執(zhí)行)分解為若干個(gè)更基本的微操作序列,并將有關(guān)的控制信息(微命令)以微碼的形式編成微指令,存入控制存儲(chǔ)器中。這樣,每條機(jī)器指令與一段微程序相對應(yīng),取出微指令就產(chǎn)生相應(yīng)的微命令,從而實(shí)現(xiàn)機(jī)器指令要求的信息傳送和加工。這就是微程序設(shè)計(jì)的基本思想。47 微程序控制器的核心部件是存儲(chǔ)微程序的控制存儲(chǔ)器CM,一般用只讀存儲(chǔ)器ROM構(gòu)成。而EPROM的出現(xiàn)為實(shí)現(xiàn)微程序修改及動(dòng)態(tài)微程序設(shè)計(jì)
31、提供了可能。基本術(shù)語:微命令:控制部件通過控制線向執(zhí)行部件發(fā)出各種控制命令,這種控制命令叫微命令。微操作:執(zhí)行部件接受微命令后所進(jìn)行的操作,叫做微操作。微指令:在一個(gè)機(jī)器周期中,一組實(shí)現(xiàn)一定操作功能的微命令的組合,構(gòu)成一條微指令。48微程序:一條機(jī)器指令的功能是用許多條微指令組成的序列來實(shí)現(xiàn)的,這個(gè)微指令序列叫做微程序。 區(qū)別: 機(jī)器指令是提供給用戶的基本單位,它表示機(jī)器能夠完成的一項(xiàng)基本功能。微指令則是為實(shí)現(xiàn)機(jī)器指令操作(一步或全部)的一系列微命令的組合,它作為機(jī)器內(nèi)部的信息,不一定提供給用戶,對程序員是透明的。 用戶根據(jù)某項(xiàng)任務(wù)編制的程序是存放在主存儲(chǔ)器中,由PC指示其流程。微程序是由微指
32、令構(gòu)成的,用于描述機(jī)器指令。在設(shè)計(jì)計(jì)算機(jī)時(shí)預(yù)先編制好的,放在控制存儲(chǔ)器中,供執(zhí)行程序時(shí)使用。49根據(jù)存儲(chǔ)程序的運(yùn)行方式,其程序的指令順序地存儲(chǔ)在存儲(chǔ)器中,這些指令被逐條取出并執(zhí)行。這種串行運(yùn)行,重復(fù)取出和執(zhí)行順序指令是過去計(jì)算機(jī)的主要局限性。根本解決的方法是采用并行操作。 流水線技術(shù)是一種同時(shí)進(jìn)行若干操作的并行處理方式。它把取操作和執(zhí)行操作重疊進(jìn)行,在執(zhí)行一條指令的同時(shí),又取另一條指令。串行運(yùn)行的順序如圖3-12a 所示。流水線操作如圖3-12b所示。5051 流水線技術(shù)是要增加計(jì)算機(jī)硬件,例如上述中,需要采用預(yù)取指令操作就需增加硬件來取指令,并把它存放到寄存器隊(duì)列中 ,使微處理器能同時(shí)進(jìn)行取
33、指令和執(zhí)行微指令重疊進(jìn)行。因此在微處理器中有兩個(gè)運(yùn)算單元,一個(gè)主運(yùn)算單元用于執(zhí)行指令,另一 個(gè) 專用于地址計(jì)算。52 隨著電子技術(shù)的發(fā)展,CPU和存儲(chǔ)器的速度都得到了明顯的改善,但存儲(chǔ)器速度的提高趕不上CPU運(yùn)算速度的提高,大容量存儲(chǔ)器的速度遠(yuǎn)遠(yuǎn)跟 不上CPU的運(yùn)算速度。為了程序的需要,主存容量也從幾千字節(jié)發(fā)展到幾兆和幾十兆字節(jié)、幾百兆字節(jié)以上。盡管如此,受價(jià)格等方面的約束,主存容量仍不能滿足程序和數(shù)據(jù)的要求。因此需要將大量不常用的程序存放于大容量、低速的輔存中。53 利用硬件控制將主存與輔存有機(jī)的組成一個(gè)整體,構(gòu)成二級(jí)存儲(chǔ)體系,其結(jié)構(gòu)見圖所示,CPU與主存可以直接交換信息,輔存可以與主存交換
34、信息但不能與CPU直接交換信息。 在二級(jí)存儲(chǔ)體系中,主存是與計(jì)算機(jī)各部件進(jìn)行數(shù)據(jù)交換的主要設(shè)備,輔存作為主存的后援系統(tǒng)來彌補(bǔ)主存容量不足的缺陷。輔存中存放的是暫時(shí)不用和主存中容納不下的程序和數(shù)據(jù)。54 這里輔存中的信息不能被CPU直接訪問,必須通過調(diào)入主存中才能被計(jì)算機(jī)的其它部件使用。一般有兩種途徑允許CPU運(yùn)行輔存中存放的程序。一種途徑是當(dāng)主存能夠容納下整個(gè)程序及所需數(shù)據(jù)時(shí),將要使用的程序從輔存調(diào)入到主存之中,然后由CPU控制運(yùn)行。另一種途徑是當(dāng)主存容量不能容納整個(gè)程序時(shí),由程序員將程序分成與主存大小相匹配的幾段,按需要控制各段程序間的運(yùn)行順序,在執(zhí)行時(shí)依次調(diào)入主存運(yùn)行。55 二級(jí)存儲(chǔ)體系解
35、決了主存容量不足、價(jià)格高的矛盾,但仍沒有解決主存與CPU之間速度不匹配的問題?,F(xiàn)代科技的發(fā)展使CPU的速度快于主存的存取速度,存儲(chǔ)器的相對低速影響了CPU性能的發(fā)揮。同時(shí),主存與輔存之間數(shù)據(jù)交換速度也影響了計(jì)算機(jī)存儲(chǔ)系統(tǒng)性能的發(fā)揮。因此,存儲(chǔ)系統(tǒng)的設(shè)計(jì)突破了用主存和輔存組成單一的二級(jí)存儲(chǔ)結(jié)構(gòu),采用由多種性能不同、速度不同、價(jià)格不同的存儲(chǔ)設(shè)備按一定的層次結(jié)構(gòu)組成多級(jí)存儲(chǔ)體系,見圖所示。56 多級(jí)存儲(chǔ)體系是由主存輔存二級(jí)存儲(chǔ)體系發(fā)展而來。在主存和輔存之間利用輔助的軟硬件將二者連為一體,構(gòu)成速度接近主存、容量接近輔存的存儲(chǔ)體系。同時(shí)為解決主存與 CPU 之間的互相匹配問題,參照主存輔存結(jié)構(gòu)在 CPU
36、與主存之間增加高速緩沖存儲(chǔ)器(Cache)。借助于輔助硬件,將 Cache與 主存構(gòu)成一整體,使得它具有接近Cache得速度、主存的容量和接近主存的平均價(jià)格。57 在多級(jí)存儲(chǔ)體系中, Cache的出現(xiàn)基本解決了主存與CPU之間的速度匹配問題。 Cache的性能高于主存的性能,但由于它是采用價(jià)格昂貴的雙極性RAM線路,因此其價(jià)格高于主存。采用適量的Cache既可以增加存儲(chǔ)體系的性能,又可以將整個(gè)存儲(chǔ)體系的價(jià)格限制在一定范圍內(nèi)。 Cache的原理和特點(diǎn):的原理和特點(diǎn): 其工作原理是基于對大量典型程序運(yùn)行實(shí)例分析,在較短的時(shí)間間隔內(nèi),由程序產(chǎn)生的地址往往集中于存儲(chǔ)器邏輯地址空間很小的范圍內(nèi)。58 指
37、令地址的分布是連續(xù)的,加上循環(huán)程序和子程序段的重復(fù)執(zhí)行,對這些地址的訪問自然具有時(shí)間集中分布的傾向。這種對局部范圍的存儲(chǔ)器地址頻繁訪問,對此范圍外的地址訪問甚少的現(xiàn)象稱為程序訪問的局部性。程序訪問的局部性為 Cache的引入提供了理論依據(jù)。 Cache中存放著主存的一部分副本(主存中的部分內(nèi)容),當(dāng)存儲(chǔ)器接到有關(guān)讀取指令時(shí),先在Cache中查找此信息是否存在,若有則不經(jīng)主存從Cache中取出,否則直接從主存中取出,同時(shí)寫入Cache,以備再次使用。59 需要向存儲(chǔ)器寫入內(nèi)容時(shí),由輔助硬件采用各種方法保證主存中的內(nèi)容同Cache中的內(nèi)容保持一致。保證寫入時(shí)兩者內(nèi)容一致的方法有以下三種:(1) 將
38、內(nèi)容同時(shí)寫入主存和Cache;(2) 數(shù)據(jù)僅寫入主存,放棄掉Cache中相應(yīng)內(nèi)容;(3)數(shù)據(jù)只寫入Cache,在規(guī)定的時(shí)間將修改過的Cache的內(nèi)容寫入主存.Cache的特點(diǎn)是的特點(diǎn)是:(1)存取速度快;(2)存儲(chǔ)容量小。60 (1)虛擬存儲(chǔ)器的概念、作用 主存儲(chǔ)器的實(shí)際容量不一定與根據(jù)地址碼位所計(jì)算出的容量相同,其中原因有二: 一是在大,中型計(jì)算機(jī)中,由于指令系統(tǒng)中的地址碼位較長,實(shí)際內(nèi)存空間比地址碼形成的空間要小得多。如某種計(jì)算機(jī),其指令系統(tǒng)中地址碼位的長度為32,依此可以計(jì)算出其可尋址空間為232=4294 967 296Byte,即4GB,但其主存的容量僅為16MB,兩者相差256倍。
39、而程序員希望能夠使用整個(gè)32位地址碼位編程,利用整個(gè)地址空間裝載程序。61 二是小型,微型計(jì)算機(jī)系統(tǒng)中指令系統(tǒng)的地址碼位短,由地址碼位形成的尋址空間比實(shí)際主存小。如一種微機(jī)的地址碼長為16,其尋址空間為21665536Byte,即64KB,而其存儲(chǔ)器的實(shí)際容量為1MB。程序設(shè)計(jì)人員希望能夠在程序中利用整個(gè)內(nèi)存的空間編程,以擺脫地址碼位的限制。 對于第二種情況,由操作系統(tǒng)的存儲(chǔ)管理部分控制,對內(nèi)存的有效部分進(jìn)行分段管理和重新定位,擴(kuò)大其地址碼位的長度,利于人們使用。62 對于第一種情況,一般由操作系統(tǒng)將輔存的一部分當(dāng)做主存使用,從而擴(kuò)大程序可控制的空間。一般將這種由主存和部分輔存組成的存儲(chǔ)結(jié)構(gòu)稱
40、為虛擬存儲(chǔ)器,其對應(yīng)的存儲(chǔ)地址稱為虛擬地址(邏輯地址),其對應(yīng)的存儲(chǔ)容量稱為虛擬容量,將實(shí)際主存地址稱為物理地址或?qū)嵉刂?,主存的容量稱為實(shí)存容量。虛擬存儲(chǔ)器的范圍可以參照圖6.24。63 虛擬存儲(chǔ)器的作用是仿佛擴(kuò)大整個(gè)主存的容量,允許在程序中使用比主存容量大得多的虛擬存儲(chǔ)器,同時(shí)可以減輕人們編程中對程序進(jìn)行分塊的苦惱,從而提高軟件開發(fā)的效率。 當(dāng)用虛擬地址訪問主存時(shí),系統(tǒng)首先查看所用虛擬地址對應(yīng)的單元內(nèi)容是否已裝人主存。如果在主存中,可以通過輔助軟硬件自動(dòng)把虛擬地址變成主存的物理地址后對主存相應(yīng)單元進(jìn)行訪問;如果不在主存中,通過輔助的軟硬件將虛擬地址對應(yīng)的內(nèi)容調(diào)入主存中,然后再進(jìn)行訪問。因此,
41、對虛擬存儲(chǔ)器的每次訪問都必須由輔助軟硬件進(jìn)行虛實(shí)地址的變換。64 虛擬存儲(chǔ)器是實(shí)現(xiàn)利用小容量的主存運(yùn)行大規(guī)模的程序的一種有效的辦法。盡管實(shí)現(xiàn)虛擬存儲(chǔ)要增加一些額外的投資和軟件開銷,虛擬存儲(chǔ)技術(shù)仍在各種計(jì)算機(jī)系統(tǒng)中得到了廣泛的應(yīng)用。 虛擬存儲(chǔ)器必須建立在主存一輔存結(jié)構(gòu)上,但一般的主存一輔存系統(tǒng)并不一定是虛擬存儲(chǔ)器,虛擬存儲(chǔ)器與一般的主存一輔存系統(tǒng)的本質(zhì)區(qū)別是: 654虛擬存儲(chǔ)器允許人們使用比主存容量大得多的地址空間來訪問主存,非虛擬存儲(chǔ)器最多只允許人們使用主存的整個(gè)空間,一般只允許使用操作系統(tǒng)分配的主存中的某一部分空間。4虛擬存儲(chǔ)器每次訪問主存時(shí)必須進(jìn)行虛實(shí)地址的變換,而非虛擬存儲(chǔ)系統(tǒng)則不必變換
42、。4虛擬存儲(chǔ)器的分配由操作系統(tǒng)完成,而主存一輔存系統(tǒng)的使用可以由程序人員根據(jù)需要進(jìn)行安排。66(2)虛擬存儲(chǔ)的工作原理 虛擬存儲(chǔ)技術(shù),實(shí)際上就是利用一個(gè)實(shí)際存在的容量比較小的主存儲(chǔ)器空間(物理空間)模擬一個(gè)假設(shè)的容量相當(dāng)大的存儲(chǔ)器空間(虛擬存儲(chǔ)器空間)。在程序運(yùn)行時(shí)由輔助軟硬件將編寫程序所用的邏輯地址(虛擬地址)自動(dòng)轉(zhuǎn)換成主存儲(chǔ)器中的物理地址(實(shí)際地址)。 為了便于主存與輔存中虛擬存儲(chǔ)器部分的信息交換,虛擬存儲(chǔ)器一般采用二維或三維的復(fù)合地址格式以方便地址變換。67 根據(jù)地址格式不同,虛擬存儲(chǔ)器分為:頁式虛擬存儲(chǔ)器、段式虛擬存儲(chǔ)器和段頁式虛擬存儲(chǔ)器。68作業(yè):P70 2、3、4、5、6、7、8、
43、9、10、11、12補(bǔ)充題:1、微程序控制的概念是什么?2、高速緩沖存儲(chǔ)器在多級(jí)存儲(chǔ)體系作用和工作原理?3、虛擬存儲(chǔ)器的作用和工作原理是什么?4、流水線的核心思想是什么?69 微處理器(Microprocessor)是微機(jī)的運(yùn)算及控制部件,也稱中央處理單元(CPU)。它本身不構(gòu)成獨(dú)立的工作系統(tǒng),因而它不能獨(dú)立地執(zhí)行程序。通常,微處理器由算術(shù)邏輯部件(ALU)、控制部件、寄存器組和片內(nèi)總線等幾部分組成,這些都在前面幾章中講過了有了一定的基礎(chǔ)。708086 CPU從功能上可分為兩部分,即總線接口部件BIU(Bus 1nterface Unit)和執(zhí)行部件EU(Execution Unit)。 80
44、86的內(nèi)部結(jié)構(gòu)如圖4-1所示71721.執(zhí)行部件 執(zhí)行部件(EU)的功能就是負(fù)責(zé)指令的執(zhí)行。將指令譯碼并利用內(nèi)部的寄存器和ALU對數(shù)據(jù)進(jìn)行所需的處理。 從結(jié)構(gòu)圖4-1中,可見到執(zhí)行部件由下列部分組成: 1)四個(gè)通用寄存器,即AX、BX、CX、DX; 2)四個(gè)專用寄存器,即基數(shù)指針寄存器BP,堆棧指針寄存器SP,源變址寄存器SI,目的變址寄存器DI; 3)標(biāo)志寄存器(FR); 4)算述邏輯部件(ALU)。7380868088的EU有如下特點(diǎn): 1、四個(gè)通用寄存器既可以作為16位寄存器使用,也可以作為8位寄存器使用。當(dāng)BX寄存器作為8位寄存器時(shí),分為BH和BL、BH為高8位,BL為低8位。 2AX
45、寄存器也常稱為累加器,8086指令系統(tǒng)中有許多指令都是通過累加器的動(dòng)作來執(zhí)行的。當(dāng)累加器作為16位來使用時(shí),可以進(jìn)行按字乘操作、按字除操作、按字輸入輸出和其它字傳送等;當(dāng)累加器作為8位來使用時(shí),可以實(shí)現(xiàn)按字節(jié)乘操作、按字節(jié)除操作、按字節(jié)輸入輸出和其它字節(jié)傳送,以及十進(jìn)制運(yùn)算等。74 3加法器是算術(shù)邏輯的主要部件,絕大部分指令的執(zhí)行都由加法器來完成。 4標(biāo)志寄存器FR共有16位,其中7位未用,所用的各位含義如下: 根據(jù)功能,8086的標(biāo)志可分為兩類:狀態(tài)標(biāo)志它是操作在執(zhí)行后,決定算術(shù)邏輯部ALU處在何種狀態(tài),這種狀態(tài)會(huì)影響后面的操作??刂茦?biāo)志它是人為設(shè)置的,指令系統(tǒng)中有專門的指令用于控制標(biāo)志的設(shè)
46、置和清除,每個(gè)控制標(biāo)志都對每一種特定的功能起控制作用。75 狀態(tài)標(biāo)志有六個(gè),即SF、ZF、PF、CF、AF和OF。表4-1 80868088標(biāo)志位表:762總線接口部件BIU 總線接口部件的功能是負(fù)責(zé)與存儲(chǔ)器、IO端口傳送數(shù)據(jù),即BIU管理在存儲(chǔ)器中存121程序和數(shù)據(jù)的實(shí)際處理過程。 總線接口部件由下列各部分組成: (1)四個(gè)段地址寄存器,即 CS一16位代碼段寄存器, DS一16位數(shù)據(jù)段寄存器, ES一16位附加段寄存器, SS一16位堆棧段寄存器。77(2)16位指令指針寄存器IP;(3)20位的地址加法器;(4)六字節(jié)的指令隊(duì)列。 80868088的BIU有如下特點(diǎn): 1 8086的指令
47、隊(duì)列為六個(gè)字節(jié),8088的指令隊(duì)列為四個(gè)字節(jié)。不管是8086還是8088,都會(huì)在執(zhí)行指令的同時(shí),從內(nèi)存中取下一條指令或下幾條指令,取來的指令就放在指令隊(duì)列中。這樣,一般情況下,CPU執(zhí)行完一條指令就可以立即執(zhí)行下一條指令,而不需要象以往的計(jì)算機(jī)那樣,讓CPU輪番進(jìn)行取指令和執(zhí)行指令的操作,從而提高了CPU的效率。782地址加法器用來產(chǎn)生20位地址。上面已經(jīng)提到,8086可用20位地址尋址:1M字節(jié)的內(nèi)存空間,但8086內(nèi)部所有的寄存器都是16位的,所以需要由一個(gè)附加的機(jī)構(gòu)來根據(jù)16位寄存器提供的信息計(jì)算出20位的物理地址,這個(gè)機(jī)構(gòu)就是20位的地址加法器。 例如,一條指令的物理地址就是根據(jù)代碼段
48、寄存器CS和指令指針寄存器IP的內(nèi)容得到的。具體計(jì)算時(shí),要將段寄存器的內(nèi)容左移4位,然后再與IP的內(nèi)容相加。假設(shè):CS=0FE00H,IP0400H,此時(shí)指令的物理地址為0FE400H。79 總線接口部件和執(zhí)行部件并不是同步工作的,它們是按以下流水線技術(shù)原則管理: (1)每當(dāng)8086的指令隊(duì)列中有兩個(gè)空字節(jié),或者8088的指令隊(duì)列中有一個(gè)空字節(jié)時(shí),總線接口部件就會(huì)自動(dòng)把指令取到指令隊(duì)列中。 (2)每當(dāng)執(zhí)行部件準(zhǔn)備執(zhí)行一條指令時(shí),它會(huì)從總線接口部件的指令隊(duì)列前部取出指令的代碼,然后用幾個(gè)時(shí)鐘周期去執(zhí)行指令。在執(zhí)行指令的過程中,如果必須訪問存儲(chǔ)器或者輸入/輸出設(shè)備,那么,執(zhí)行部件就會(huì)請求總線接口部
49、件,進(jìn)入總線周期,完成訪問內(nèi)存或者輸入輸出端口的操作;如果此時(shí)總線接口部件正好處于空閑狀態(tài),那么,會(huì)立即響應(yīng)執(zhí)行部件的總線請求。80 但有時(shí)會(huì)遇到這樣的情況,執(zhí)行部件請求總線接口部件訪問總線時(shí),總線接口部件正在將某個(gè)指令字節(jié)取到指令隊(duì)列中,此時(shí)總線接口部件將首先完成這個(gè)取指令的總線周期,然后再去響應(yīng)執(zhí)行部件發(fā)出的訪問總線的請求。 (3)當(dāng)指令隊(duì)列已滿,而且執(zhí)行部件又沒有總線訪問時(shí),總線接口部件便進(jìn)入空閑狀態(tài)。81 (4)在執(zhí)行轉(zhuǎn)移指令、調(diào)用指令和返回指令時(shí),下面要執(zhí)行的指令就不是在程序中緊接著的那條指令了,而總線接口部件往指令隊(duì)列裝人指令時(shí),總是按順序進(jìn)行的,這樣,指令隊(duì)列中已經(jīng)裝入的字節(jié)就沒
50、有用了。遇到這種情況,指令隊(duì)列中的原有內(nèi)容被自動(dòng)消除,總線接口部件會(huì)接著往指令隊(duì)列中裝入另一個(gè)程序段中的指令。 823存儲(chǔ)器結(jié)構(gòu) 80868088系統(tǒng)中存儲(chǔ)器按字節(jié)編址,可尋址的存儲(chǔ)器空間為1M字節(jié),由于1M字節(jié)為220,因此每個(gè)字節(jié)所對應(yīng)的地址應(yīng)是20位,這20位的地址稱為物理地址。 (1)存儲(chǔ)器的分段 20位的物理地址在CPU內(nèi)部就應(yīng)有20位的地址寄存器,而機(jī)內(nèi)的寄存器是16位的(16 位機(jī)),16位寄存器只能尋址64K字節(jié)。80868088系統(tǒng)中把1M存儲(chǔ)空間分成若干個(gè)邏輯段,每個(gè)邏輯段容量(64K字節(jié)),因此1M的存儲(chǔ)空間可分成16個(gè)邏輯段(0一15)。 83 允許邏輯段在整個(gè)存儲(chǔ)空間浮動(dòng),即段與段之間可以部分重疊、完全重疊、連續(xù)排列、斷續(xù)排列非常靈活,在整個(gè)存儲(chǔ)空間中可設(shè)置若干個(gè)邏輯段,如圖4-2所示。84 對于任何一個(gè)物理地址,可以唯一地被包含在一個(gè)邏輯段中,也可包含在多個(gè)相互重疊的邏輯段中,只要有段地址和段內(nèi)偏移地址就可以訪問到這個(gè)物理地址所對應(yīng)的存儲(chǔ)空間,如圖4-3所示。 在80868088存儲(chǔ)空間中,把16字節(jié)的存儲(chǔ)空間稱作一節(jié)(Paragraph)。為了簡化操作,要求各個(gè)邏輯段從節(jié)的整數(shù)邊界開始,也就是說段首地址低
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 化學(xué)初中說課稿
- 好朋友起玩說課稿
- 治療糖尿病周圍神經(jīng)病變
- 臨時(shí)行政主管
- 學(xué)校園區(qū)噴泉施工合同
- 精密儀器公司法務(wù)聘用合同
- 體育場館隔離墻安裝合同
- 市政排水工程級(jí)配碎石施工合同
- 綠色制造車間環(huán)保操作規(guī)程
- 2022年大學(xué)林業(yè)工程專業(yè)大學(xué)物理下冊期中考試試題B卷-附解析
- 《中風(fēng)的中醫(yī)治療》PPT課件.ppt
- 防火門窗施工方案
- “雙師教學(xué)”在初中數(shù)學(xué)課堂中的應(yīng)用
- 戰(zhàn)略合作簽約儀式教育PPT課程課件
- 土方填筑碾壓試驗(yàn)報(bào)告
- 老舊小區(qū)排水部分雨污水改造監(jiān)理細(xì)則
- 2022年地殼運(yùn)動(dòng)與變化教案與學(xué)案
- 《建筑起重吊裝工程安全技術(shù)規(guī)程》JGJ276
- 市政道路水穩(wěn)層項(xiàng)目施工合同
- 睿丁英語小紅帽和大灰狼的故事
- 轉(zhuǎn)人教版七年級(jí)上期中復(fù)習(xí)教案
評(píng)論
0/150
提交評(píng)論