指令系統(tǒng)2012(V1.2).ppt
《指令系統(tǒng)2012(V1.2).ppt》由會員分享,可在線閱讀,更多相關(guān)《指令系統(tǒng)2012(V1.2).ppt(88頁珍藏版)》請在裝配圖網(wǎng)上搜索。
第七章指令系統(tǒng),計算機組成原理,2012年3月26日,7.1指令概述,?用計算機解題時,一般都要編制程序,程序既可用高級語言編寫,亦可用機器語言編寫;?但計算機只能夠識別和執(zhí)行用機器語言編寫的程序;?各種高級語言編寫的應用程序,最終都要翻譯成機器語言來執(zhí)行。?機器語言是由一系列的指令(語句)組成的;?指令的格式就是機器語言的語法;?每條指令規(guī)定機器完成一定的功能。?一臺計算機的所有的指令集合稱為該機的指令系統(tǒng)或指令集。它是程序工作者編制程序的基本依據(jù),也是進行計算機邏輯設計的基本依據(jù)。,,,,,,指令系統(tǒng)基本概念,機器指令(指令)計算機能直接識別、執(zhí)行的某種操作命令。指令系統(tǒng)(指令集)一臺計算機中所有機器指令的集合。機器硬件設計的依據(jù),也是軟件設計的基礎。硬件和軟件間的界面,直接影響計算機系統(tǒng)性能,7.2指令系統(tǒng)的發(fā)展與性能要求7.2.1指令系統(tǒng)的發(fā)展計算機的程序是由一系列機器指令組成的。從計算機組成的層次結(jié)構(gòu)來說,計算機的指令有微指令、機器指令和宏指令之分:微指令--微程序級的命令,解釋執(zhí)行機器指令。屬于硬件宏指令--由若干條機器指令組成的軟件指令,完成某一特定功能。屬于軟件機器指令--介于微指令與宏指令之間,通常簡稱為指令,完成某一特定操作。本章所討論的指令,是機器指令。1.指令系統(tǒng)指令系統(tǒng)是表征一臺計算機性能的重要因素,它的格式與功能不僅直接影響到機器的硬件結(jié)構(gòu),而且也直接影響到系統(tǒng)軟件,影響到機器的適用范圍。,,,2.指令系統(tǒng)的發(fā)展(1)系列計算機系列計算機是指基本指令系統(tǒng)相同、基本體系結(jié)構(gòu)相同的一個系列的各種型號的計算機。其必要條件是同一系列的各機種有共同的指令集.而且新推出機種的指令系統(tǒng)一定應包含所有舊機種的全部指令,即實現(xiàn)"向上兼容"。這樣,舊機種上運行的各種軟件可以不加任何修改便可在新機種上運行,大大減少了軟件開發(fā)費用。系列機解決了各機種的軟件兼容問題。(2)指令系統(tǒng)結(jié)構(gòu)從計算機指令系統(tǒng)的角度看當前的計算機指令系統(tǒng)結(jié)構(gòu)分為兩大類:復雜指令集計算機(CISC)精簡指令集計算機(RISC),,,,,70年代末期:大多數(shù)計算機的指令系統(tǒng)多達幾百條。我們稱這些計算機為復雜指令系統(tǒng)計算機(CISC)。但是如此龐大的指令系統(tǒng)難以保證正確性,不易調(diào)試維護,造成硬件資源浪費。為此人們又提出了易于采用VLSI技術(shù)實現(xiàn)的精簡指令系統(tǒng)計算機(RISC)。,,,3.指令系統(tǒng)的性能要求一個完善的指令系統(tǒng)應滿足如下四方面的要求:(1)完備性。完備性是指用匯編語言編寫各種程序時,指令系統(tǒng)直接提供的指令足夠使用,而不必用軟件來實現(xiàn)。完備性要求指令系統(tǒng)豐富、功能齊全、使用方便。(2)有效性。有效性是指利用該指令系統(tǒng)所編寫的程序能夠高效率地運行。高效率主要表現(xiàn)在程序占據(jù)存儲空間小、執(zhí)行速度快。(3)規(guī)整性。規(guī)整性包括指令系統(tǒng)的對稱性、勻齊性、指令格式和數(shù)據(jù)格式的一致性。對稱性:在指令系統(tǒng)中所有的寄存器和存儲器單元都可同等對待,所有的指令都可使用各種尋址方式;勻齊性:一種操作性質(zhì)的指令可以支持各種數(shù)據(jù)類型;格式一致性:指令長度和數(shù)據(jù)長度有一定的關(guān)系,以方便處理和存取。(4)兼容性:至少要能做到"向上兼容",即低檔機上運行的軟件可以在高檔機上運行。,,,指令系統(tǒng)的性能,完善的指令系統(tǒng),完備性,高效性,規(guī)整性,兼容性,,,,,,,,,4.低級語言與硬件結(jié)構(gòu)的關(guān)系計算機的程序是計算機能夠識別的一串指令或語句。編寫程序的過程,稱為程序設計,而程序設計所使用的工具則是計算機語言.計算機語言有高級語言和低級語言之分。高級語言語句和用法與具體機器的指令系統(tǒng)無關(guān)。低級語言分機器語言(二進制語言)和匯編語言(符號語言),這兩種語言都是面向機器的語言,它們和具體機器的指令系統(tǒng)密切相關(guān)。,,,,,,,,,,傳統(tǒng)機器級,計算機系統(tǒng)的層次結(jié)構(gòu),,5.高級語言級,,4.匯編語言級,,3.操作系統(tǒng)級,,2.一般機器級,,1.微程序設計級,,,,,,綜上所述,匯編語言與硬件的關(guān)系密切,編寫的程序緊湊、占內(nèi)存小、速度快,特別適合于編寫經(jīng)常與硬件打交道的系統(tǒng)軟件;而高級語言不涉及機器的硬件結(jié)構(gòu),通用性強、編寫程序容易,特別適合于編寫與硬件沒有直接關(guān)系的應用軟件。,,,7.3指令格式,指令由操作碼和地址碼兩部分組成,它的基本格式如下:,?操作碼是說明指令操作性質(zhì)的二進制數(shù)代碼。?操作碼所占的二進制位數(shù)決定了一臺計算機所能允許的指令條數(shù)。例如,操作碼占用六位二進制碼時,這臺計算機最多允許有:26=64條指令,1.操作碼,,,2.地址碼,根據(jù)一條指令中有幾個操作數(shù)地址,可將該指令稱為幾操作數(shù)指令或幾地址指令。一般的操作數(shù)有被操作數(shù)、操作數(shù)及操作結(jié)果這三種數(shù),因而就形成了三地址指令格式。在此基礎上,后來又發(fā)展成二地址格式、一地址格式和零地址格式,如下圖所示:,三地址指令,二地址指令,單地址指令,零地址指令,三地址指令字中有三個操作數(shù)地址。(A1)OP(A2)→A3A1為被操作數(shù)地址,也稱源操作數(shù)地址;A2為操作數(shù)地址,也稱終點(目的)操作數(shù)地址;A3為存放結(jié)果的地址。同樣,A1,A2,A3既可以是內(nèi)存中的單元地址,也可以是運算器中通用寄存器的地址。,單地址指令又稱為單操作數(shù)指令。通常這種指令通常以運算器中累加寄存器AC中的數(shù)據(jù)為被操作數(shù),指令字的地址碼字段所指明的數(shù)為操作數(shù),操作結(jié)果又放回累加寄存器AC中。(AC)OP(A)→ACOP表示操作性質(zhì);(AC)表示累加寄存器AC中的數(shù);(A)表示內(nèi)存中地址為A的存儲單元中的數(shù)或運算器中地址為A的通用寄存器中的數(shù);→表示把操作(運算)結(jié)果傳送到指定的地方。,二地址指令常稱為雙操作數(shù)指令,它的兩個地址碼字段分別指明參與操作的兩個數(shù)在內(nèi)存中或運算器中通用寄存器的地址,A1作存放操作結(jié)果的地址。(A1)OP(A2)→A1,零地址指令的指令字中只有操作碼,而沒有地址碼。,,,7.3.1操作碼(OP)與地址碼(AC),指令系統(tǒng)中每一條指令對應一個操作碼操作碼的長度取決于指令系統(tǒng)的規(guī)模LOP=〔log2n〕定長指令、變長指令地址碼包括被操作數(shù),操作數(shù),操作結(jié)果,,,1、指令分類方法,按計算機系統(tǒng)的層次結(jié)構(gòu)分類按操作數(shù)個數(shù)分類按操作數(shù)物理位置分類,,,2、計算機系統(tǒng)層次結(jié)構(gòu)對指令分類,微指令:微程序級的指令,屬于硬件層面機器指令:每一條機器指令可以完成一個獨立的運算。宏指令:若干機器指令組成的軟件指令,屬于軟件,,,3、按操作數(shù)個數(shù)分類,三地址指令,二地址指令,一地址指令,OP,零地址指令,(A1)OP(A2)→(A3),(A1)OP(A2)→(A1),(AC)OP(A)→AC,如停機,空操作,堆棧指令,,,4、按操作數(shù)的物理位置分類,訪問內(nèi)存存儲器-存儲器(SS)型訪問寄存器寄存器-寄存器(RR)型訪問內(nèi)存和寄存器型寄存器-存儲器(RS)型,,,5、指令字長度,指令中包含二進制代碼的位數(shù)與機器字的長度有關(guān):單字長,雙字長,半字長。采用多字長指令的目的解決尋址較大存儲空間的問題取指令要多次訪內(nèi),影響速度,占用存儲空間較大。等長指令:結(jié)構(gòu)簡單,控制線路簡單。變長指令:結(jié)構(gòu)靈活,充分利用指令長度,控制復雜,,,6、指令字助記符,ADDSUBMOVJMPSTRLDA,7、指令操作碼的擴展技術(shù),(1)操作碼定長,m?2n,一般在指令字的最高位分配若干個固定位表示操作碼。,若操作碼占用n位,則可以表示多少條不同的指令?,操作碼定長編碼法的特點是什么?,(2)操作碼長度可變,這種格式對于簡化硬件設計,減少指令譯碼時間非常有利,在字長較長的大、中型機和超級小型機以及RISC上廣泛采用。,各指令操作碼的位置、位數(shù)不固定,根據(jù)需要變化。,這種格式能夠有效地壓縮程序中操作碼的平均長度,在字長較短的微型機上廣泛采用。如Z80、Intel8086/Pentium等。,①含義?,②優(yōu)點?,③缺點?,增加指令譯碼和分析的難度,使控制器的設計復雜化。,,,例.指令字長16位,可含有3、2、1或0個地址,每個地址占4位,可表示多少條指令?,操作碼地址碼,,,15~1211~87~43~0,,0000XYZ1110XYZ,,,11110000YZ11111110YZ,三地址指令15條,二地址指令15條,,111111110000Z111111111110Z,一地址指令15條,11111111111100001111111111111111,零地址指令16條,,可表示61條指令,例:若指令字長是16位,若零地址指令有15條、一地址指令31條、二地址指令14條、三地址指令15條。假設每個地址碼需要用4位的二進制表示,該指令系統(tǒng)應如何編碼?,可變長度的指令系統(tǒng)的設計,到底使用何種擴展方法有一個重要的原則:,就是使用頻度(即指令在程序中的出現(xiàn)概率)高的指令應分配短的操作碼;使用頻度低的指令相應地分配較長的操作碼。(霍夫曼編碼法),作用:有效地縮短操作碼在程序中的平均長度,節(jié)省存儲器空間,縮短了經(jīng)常使用的指令的譯碼時間,因而可以提高程序的運行速度。,,,例題:假如某計算機模型:7條指令(I1~I7),程序中出現(xiàn)的概率用Pi表示,則可考慮表5.1所示的方案,這就是擴展操作碼,使用頻率高的指令的操作碼為2位,低的用4位。這不是壓縮到最小代碼的方案,因為在計算機中的操作碼還是希望有一定的規(guī)整性,否則會引起硬件實現(xiàn)的復雜化。,,由此可見,操作碼擴展技術(shù)是一種重要的指令優(yōu)化技術(shù),它可以縮短指令的平均長度,減少程序的總位數(shù)以及增加指令字所能表示的操作信息。當然,擴展操作碼比固定操作碼譯碼復雜,使控制器的設計難度增大,且需更多的硬件來支持。,8、指令長度與字長的關(guān)系,字長:指計算機能直接處理的二進制數(shù)據(jù)的位數(shù),它是計算機的一個重要技術(shù)指標。作用:字長決定了計算機的運算精度,字長越長,計算機的運算精度越高。,一般機器的字長都是字節(jié)長度(即8位)的l,2,4或8倍數(shù)。,指令的長度:主要取決于操作碼的長度、操作數(shù)地址的長度和操作數(shù)地址的個數(shù)。各指令的長度不是固定的,但也不是任意的。指令的長度通常為字節(jié)的整數(shù)倍。,,,指令的長度與機器的字長沒有固定的關(guān)系,它既可以小于或等于機器的字長,也可以大于機器的字長。前者稱為短格式指令,后者稱為長格式指令,一條指令存放在地址連續(xù)的存儲單元中。,在同一臺計算機中可能既有短格式指令又有長格式指令,但通常是把最常用的指令(如算術(shù)邏輯運算指令、數(shù)據(jù)傳送指令)設計成短格式指令,以便節(jié)省存儲空間和提高指令的執(zhí)行速度。,例:outport,AL-----長格式outDX,AL-----短格式,,,,,7、PDP-11指令格式舉例,OP(10bit),MODE(3),Rn(3),OP(10bit),MODE(3),Rn(3),MODE(3),Rn(3),,,源操作數(shù),被操作數(shù),尋址模式,操作數(shù)地址,,,,,單字長指令,雙字長指令,IBM370系列機的指令格式(1),RR型指令與RRE型指令是寄存器-寄存器型指令,參加運算的操作數(shù)都在通用寄存器中。,,,IBM370系列機的指令格式(2),RX型指令和RS型指令是寄存器-存儲器型指令。其中,RX是二地址指令:第一個源操作數(shù)與結(jié)果放在同一寄存器R1中;第二個源操作數(shù)在存儲器中,其地址=(X2)+(B2)+D2;RS是三地址指令:R1存放結(jié)果;R2存放源操作數(shù);另一個源操作數(shù)在主存中,其地址=(B2)+D2.,,,SI型指令是存儲器-立即數(shù)型指令,該指令將立即數(shù)imm(立即數(shù))送到地址=(B1)+D1的存儲器中。S型指令是單地址存儲器指令。,IBM370系列機的指令格式(3),,,IBM370系列機的指令格式(4),SS和SSE型指令是存儲器-存儲器指令,兩個操作數(shù)都在存儲器中,其地址分別為(B1)+D1和(B2)+D2,同時(B1)+D1也是目的地址。SS和SSE型指令是可變字長的指令,用于十進制運算及字符串的運算和處理。,,,課堂練習與思考:,1.指令格式中,地址碼字段是通過來體現(xiàn)的,因為通過某種方式的變換,可以給出地址。常用的指令格式有零地址指令、單地址指令、三種.,尋址方式,操作數(shù)有效,二地址指令,2、二地址指令中,操作數(shù)的物理位置可安排在____。A、棧頂和次棧頂B、兩個主存單元C、一個主存單元和一個寄存器D、兩個寄存器,C,3、指令格式是指令用表示的結(jié)構(gòu)形式,通常格式中由操作碼字段和字段組成。,二進制代碼,地址碼,4、指令字長為16位,每個地址碼為6位,采用擴展操作碼的方式,設計14條二地址指令,100條一地址指令,100條零地址指令。①畫出擴展圖。②計算操作碼平均長度。,【解】①操作碼的擴展如下:0000ΜΜΜ14條二地址指令11011110000000ΜΜΜ100條一地址指令11111000111111100100000000ΜΜΜ100條零地址指令1111100101100011②操作碼平均長度=(414+10100+16100)/214≈12.4,,,7.3.2指令尋址方式,尋找指令或操作數(shù)有效地址的方式指令尋址順序?qū)ぶ诽S尋址操作數(shù)尋址,,,,1、順序?qū)ぶ?程序的指令序列在主存順序存放。程序執(zhí)行時從第一條指令開始,逐條取出并逐條執(zhí)行,這種程序的順序執(zhí)行過程,稱為順序?qū)ぶ贩绞健榱诉_到順序?qū)ぶ返哪康?,CPU中必須有一個程序計數(shù)器(PC)對指令的順序號進行計數(shù)。PC中開始時存放程序的首地址,每執(zhí)行一條指令,PC加1,以指出下條指令的地址,直到程序結(jié)束。PC存放下一條指令的地址,,,順序?qū)ぶ愤^程,100,,,IncAX,addax,bx,,,,PC,+1,100,101,內(nèi)存,,,101,,,2、跳躍尋址,當程序中出現(xiàn)分支或循環(huán)時,就會改變程序的執(zhí)行順序。此時對指令尋址就要采取跳躍尋址方式。所謂跳躍,就是指下條指令的地址不是通過程序計數(shù)器PC當前值獲得的,而是由指令本身給出。跳躍的處理方式是重新修改PC的內(nèi)容。然后進入取指令階段。,,,跳躍尋址過程,IR,100,JMP103,,,MOVAX,BX,,,,,,PC,內(nèi)存,100,101,102,103,+1,JMP103,指令寄存器IR,MOVAX,BX,,103,,,7.3.3操作數(shù)的尋址方式,形成操作數(shù)有效地址的方法。單地址指令地址碼的構(gòu)成:X,I,D實際有效地址為E,實際操作數(shù)SS=(E),,,尋址方式分類,立即尋址直接尋址間接尋址寄存器尋址、,寄存器間接尋址相對尋址變址尋址復合尋址,,,,,,,1、立即尋址,地址碼字段是操作數(shù)本身S=D例:MOVAX,2038H(2038H→AX)Little-Endian,,MOV,38,,,,,20,20,38,,,,,內(nèi)存,AX,,,2、寄存器尋址(RegisterAddressing),操作數(shù)在CPU的內(nèi)部寄存器中.AX,BX,CX,DXMOVAX,BXE=R,0 x2000,0 x4FFF,,BX,AX,0 x2000,,,3、直接尋址(DirectAddressing),地址碼字段直接給出操作數(shù)在內(nèi)存的地址.E=DMOVAX,[200],,77,,,,200,200,內(nèi)存,,,4、間接尋址(IndirectAddressing),D單元的內(nèi)容是操作數(shù)地址,D是操作數(shù)地址的地址E=(D),,400,,788,,,,,300,300,400,需要訪問兩次內(nèi)存,速度慢已被淘汰,內(nèi)存,,,5、寄存器間接尋址,D單元的內(nèi)容是操作數(shù)的地址,D是操作數(shù)地址的地址E=(R)MOVAX,[BX],,300,,R,,,6、相對尋址(RelativeAddressing),指令中的D加上PC的內(nèi)容作為操作數(shù)的地址.E=D+(PC),2000,,,,,PC,2100,程序指令計數(shù)器,,,7、變址尋址(IndexAddressing),指定一個寄存器R,其存放基址,R被稱為變址寄存器。它與本指令的地址無關(guān),R的內(nèi)容可以隨要求填入。E=D+(R)MOVAX,200[SI]SI,DI都稱為變址寄存器,3000,,操作數(shù),,,,,,R,3200,內(nèi)存,,,,,,,8、復合尋址(CompositeAddressing),將間址,相對,變址,基值等尋址方式組合.變址間址先變址,后間址.E=((R)+D),3000,,5000,,,,,,操作數(shù),,,3100,,,9、塊尋址,用于I/O指令。對順序連續(xù)的成塊數(shù)據(jù)字進行尋址目的:壓縮程序的長度,加快執(zhí)行速度。用于:兩個部件間的數(shù)據(jù)交換;程序,數(shù)據(jù)塊的浮動。數(shù)據(jù)搬移子程序若塊的長度可變,格式如下:,數(shù)據(jù)塊定長時:,,,,,,,10、段尋址,Intel8086/8088微機中,ALU16位運算,但其尋址范圍可到1M,即地址有20位。實質(zhì)是基值尋址。,4位,16位邏輯地址,20位物理地址,16位段寄存器,,ALU,,,,,11、堆棧尋址方式,堆棧------一組能存取數(shù)據(jù)的暫時存儲單元。串聯(lián)堆棧一組專門的寄存器,一個R保存一個數(shù)據(jù)。數(shù)據(jù)的傳送在棧頂和通用寄存器之間進行。快速:在CPU內(nèi)部實現(xiàn)串行:進棧和出棧涉及到棧內(nèi)所有其它數(shù)據(jù)的移動;破壞性讀出:讀數(shù)據(jù)的同時也離開了堆棧;棧容量有限:取決于CPU內(nèi)堆棧專用寄存器的數(shù)量;棧頂不動,數(shù)據(jù)移動。,,,堆棧尋址方式,AX,AX,,,,,BX,BX,AX,,,,CX,CX,BX,AX,,,PUSHAX,PUSHBX,PUSHCX,CX,BX,AX,,,,POPCX,堆棧頂,,,存儲器堆棧,用一部分主存空間作堆棧稱為存儲器堆棧。堆棧的數(shù)目、長度可隨意指定SP---堆棧指示器(棧指針),CPU中一個專門寄存器,SP內(nèi)容是棧頂單元地址。改變SP內(nèi)容即可移動棧頂?shù)奈恢谩6褩2僮髌陂g,堆棧中數(shù)據(jù)不動,棧頂移動非破壞性讀出,,,進棧,進棧--------累加器中的數(shù)送堆棧保存.(AC)→堆棧MSP堆棧指針(sp)-1→sp,a,,,PUSHa,PUSHb,PUSHc,100,99,98,97,,,,,,,,a,b,b,AC,,,,,,,出棧,出棧--------將堆棧中的數(shù)取出送累加器堆棧指針(sp)+1→sp(堆棧MSP)→AC,,,100,99,98,97,,,,a,b,b,AC,,a,,,,,,,例1.字長16位,主存64K,指令單字長單地址,80條指令。尋址方式有直接、間接、相對、變址。請設計指令格式。解:80條log[80]=7采用7位操作碼尋址方式4種采用2位PC為16位(訪存空間決定)變址寄存器16位相對尋址E=(PC)+D變址尋址E=(R)+D,,,,,,答:指令格式及尋址方式的特點如下:1)單字長二地址指令;2)操作碼可指定16條指令;3)源和目的均有8種尋址方式;4)源地址寄存器和目的地址寄存器均有8個;5)可尋址范圍為1~64K,例2.分析以下指令格式及尋址方式特點?,,,,,,200,500,1100,200,100,,500,,800,,100,,200,,2100,PC=1000,R基=2000,尋址方式,X,操作數(shù),立即,0,100,直接,1,200,間接,2,500,相對,3,100,變址,4,200,變址間址,5,500,有效地址E,S=D,E=D=100,E=(D)=200,E=PC+D=1100,E=(R)+D=2100,E=((R)+D)=200,例3.設某機的指令格式、有關(guān)寄存器和主存內(nèi)容如下,X為尋址方式,D為形式地址,請在下表中填入有效地址E及操作數(shù)的值。?,,,解答:,,例題4.某機指令格式如下:,其中X為尋址特征位,且X=00時不變址;X=01時用變址寄存器X1進行變址;X=10時用變址寄存器X2進行變址;X=11時相對尋址。設(PC)=1234H,(X1)=(X2)=1122H,請確定下列指令的有效地址(均用十六進制表示,H表示十六進制);(1)4420H(2)2244H(3)1322H(4)3521H(5)6723H解:(1)指令4420H展開為:0100010000100000BX=00不變址,有效地址=D=0020H,,,,,,,(2)指令2244H展開為:0010001001000100BX=10用變址寄存器X2進行變址,有效地址=(X2)+D=1122H+44H=1166H(3)指令1322H展開為:0001001100100010BX=11為相對尋址,有效地址=(PC)+D=1234H+22H=1256H(4)指令3521H展開為:0011010100100001BX=01用變址寄存器X1進行變址,有效地址=(X1)+D=0037H+21H=0058H(5)指令6723H展開為:0110011100100011BX=11為相對尋址,有效地址=(PC)+D=1234H+23H=1257H,,,,,,,,,,,,,,,,,例題6:假設機器字長16位,主存容量為128K字節(jié),指令字長度為16位或32位,共有128條指令,設計計算機指令格式,要求有直接、立即數(shù)、相對、基值、間接、變址六種尋址方式。解:由已知條件,機器字長16位,主存容量128KB/16=64K字,因此MAR=16位,共128條指令,故OP字段占7位。采用單字長和雙字長兩種指令格式,其中單字長指令用于算術(shù)邏輯和I/O類指令,雙字長用于訪問主存的指令。,,,尋址方式由尋址模式X定義如下:X=000直接尋址E=D(64K)X=001立即數(shù)D=操作數(shù)X=010相對尋址E=PC+D,PC=16位X=011基值尋址E=Rb+D,Rb=16位X=100間接尋址E=(D)X=101變址尋址E=RX+D,RX=16位,,,課堂練習與思考:,1、若存儲器中的內(nèi)容是操作數(shù)的地址,則使用的尋址方式是。,2、單地址指令中為了實現(xiàn)兩個數(shù)的算術(shù)運算,除地址碼指明的一個操作數(shù)外,另一個常采用尋址方式。,存儲器間接尋址,隱含,3、變址尋址方式中,操作數(shù)的有效地址等于。A、基值寄存器內(nèi)容加上形式地址(位移量)B、堆棧指示器內(nèi)容加上形式地址(位移量)C、變址寄存器內(nèi)容加上形式地址(位移量)D、程序記數(shù)器內(nèi)容加上形式地址(位移量),C,,,課堂練習與思考:,4、用某個寄存器中操作數(shù)的尋址方式稱為___尋址。A直接B間接C寄存器直接D寄存器間接,C,5.寄存器間接尋址方式中,操作數(shù)處在______。A.通用寄存器B.主存單元C.程序計數(shù)器D.堆棧,B,6、指令系統(tǒng)采用不同尋址方式的目的是______。A實現(xiàn)存貯程序和程序控制;B縮短指令長度,擴大尋址空間,提高編程靈活性;C可直接訪問外存;D提供擴展操作碼的可能并降低指令譯碼的難度;,B,,,課堂練習與思考:,7.指令格式如下所示,OP為操作碼字段,試分析指令格式及尋址方式特點。1510987430,解:⑴雙字長二地址指令,用于訪問存儲器,操作碼字段可指定64種操作;⑵RS型指令,一個操作數(shù)在通用寄存器中(共16個通用寄存器),另一個操作數(shù)在內(nèi)存中⑶有效地址可通過基址尋址求得,即有效地址等于基址寄存器(共16個)內(nèi)容加上位移量。,,,課堂練習與思考:,8.某機主存容量為4M16位,且存儲字長等于指令字長,若該機的指令系統(tǒng)具備120種操作。操作碼位數(shù)固定,且具有直接、間接、立即、相對四種尋址方式。(1)畫出一地址指令格式并指出各字段的作用;(2)該指令直接尋址的最大范圍;(3)一次間址的尋址范圍;(4)相對尋址的尋址范圍。,,,1.數(shù)據(jù)傳送類指令這類指令的功能是實現(xiàn)寄存器與寄存器,寄存器與存儲單元以及存儲單元與存儲單元之間的數(shù)據(jù)傳送。數(shù)據(jù)傳送指令主要包括取數(shù)指令、存數(shù)指令、傳送指令、成組傳送指令、字節(jié)交換指令、清累加器指令、堆棧操作指令等等。,2.算術(shù)運算指令這類指令包括二進制定點加、減、乘、除指令,浮點加、減、乘、除指令,求反、求補指令,算術(shù)移位指令,算術(shù)比較指令,十進制加、減運算指令等。這類指令主要用于定點或浮點的算術(shù)運算。大型機(如IBM370機、國產(chǎn)銀河機、CRAY-1機、CDC的STAR-100機等)中還設置有向量運算指令,可直接對整個向量或矩陣進行求和、求積運算。,7.4.1指令的分類,,,3.邏輯運算指令這類指令包括邏輯加、邏輯乘、邏輯比較、測等指令、按位加、邏輯移位等指令,主要用于無符號數(shù)的位操作、代碼的轉(zhuǎn)換、判斷及運算。移位指令用來對寄存器的內(nèi)容實現(xiàn)左移、右移或循環(huán)移位。,4.程序控制指令程序控制指令也稱轉(zhuǎn)移指令。執(zhí)行程序時,有時機器執(zhí)行到某條指令時,出現(xiàn)了幾種不同結(jié)果,這時機器必須執(zhí)行一條轉(zhuǎn)移指令,根據(jù)不同結(jié)果進行轉(zhuǎn)移,從而改變程序原來執(zhí)行的順序。這種轉(zhuǎn)移指令稱為條件轉(zhuǎn)移指令。還有無條件轉(zhuǎn)移指令、轉(zhuǎn)子程序指令、返回主程序指令、中斷返回指令等。轉(zhuǎn)子指令是轉(zhuǎn)向本指令操作地址所指出的子程序入口,并將原程序中下一條指令地址存入內(nèi)存某單元中,以便為返回主程序時提供返回地址。,,,5.輸入輸出指令輸入輸出指令主要用來啟動外圍設備,檢查測試外圍設備的工作狀態(tài),并實現(xiàn)外部設備和CPU之間,或外圍設備與外圍設備之間的信息傳送。6.字符串處理指令字符串處理指令是一種非數(shù)值處理指令,一般包括字符串傳送、字符串轉(zhuǎn)換(把一種編碼的字符串轉(zhuǎn)換成另一種編碼的字符串)、字符串替換(把某一字符串用另一字符串替換)等。這類指令在文字編輯中對大量字符串進行處理。,,,7.特權(quán)指令特權(quán)指令是指具有特殊權(quán)限的指令。這類指令只用于操作系統(tǒng)或其他系統(tǒng)軟件,一般不直接提供給用戶使用。在多用戶、多任務的計算機系統(tǒng)中特權(quán)指令必不可少。它主要用于系統(tǒng)資源的分配和管理。8.其他指令除以上各類指令外,還有狀態(tài)寄存器置位、復位指令、測試指令、暫停指令,空操作指令,以及其他一些系統(tǒng)控制用的特殊指令。,,,,,7.4.28086/8088典型指令,數(shù)據(jù)傳送類取數(shù)MOVAX,TEMP存數(shù)MOVTEMP,AX傳送MOVAX,CX算術(shù)運算類定點+,-,,ADD,ADC,INC,SUB,DECMUL,DIV等浮點+,-,,,求反,求補NEG,比較邏輯運算類NOT,AND,OR,XOR,TEST,,,8086/8088典型指令,程序控制類無條件轉(zhuǎn)移JMP條件轉(zhuǎn)移C,Z,N,P,V轉(zhuǎn)子程序JSR子程序返回RET中斷返回IRET輸入/輸出類INAX,nOUTn,AX字符串處理字符串傳送、轉(zhuǎn)換、比較、查找特權(quán)指令:系統(tǒng)資源的分配和管理其他類標志操作:CLC(clearcarryflag)CLI(clearinterruptelableflag)HLT,WAIT,ESC,LOCK,,,7.5.3指令系統(tǒng)發(fā)展方向,CISC---復雜指令系統(tǒng)計算機ComplexInstructionSystemComputer指令數(shù)量多,指令功能,復雜的計算機。RISC---精簡指令系統(tǒng)計算機ReducedInstructionSystemComputer指令數(shù)量少,指令功能單一的計算機。,1.什么是復雜指令系統(tǒng)計算機?⑴.更多的指令和復雜的指令有利于提高操作系統(tǒng)的效率,縮短指令系統(tǒng)與高級語言的語義差別。⑵.為了向下兼容而只能擴充不能減去任意一條指令。⑶.缺點:研制周期變長,調(diào)試和維護難度加大,系統(tǒng)性能下降。例:DEC公司的VAX11/780有303條指令,18種尋址方式,我們稱這些計算機為復雜指令系統(tǒng)計算機為CISC,intel公司的i80X86微處理器,IBM公司的大型、中型計算機等均為CISC。,,,,,,,2、高級語言中各種語句的動態(tài)出現(xiàn)頻度,,,3、精減指令系統(tǒng)(RISC),選取使用頻率最高的一些簡單指令,指令條數(shù)少;尋址方式簡單指令長度固定,指令格式簡單CPU設置大量寄存器只有存/取數(shù)指令才能訪問存儲器,其余指令的操作都在寄存器之間進行.每一個機器周期完成一條機器指令。,⑴RISC產(chǎn)生的時代背景從計算機的發(fā)展過程來看,指令系統(tǒng)是隨著計算機體系結(jié)構(gòu)的完善和性起來的。?早期的計算機結(jié)構(gòu)簡單,指令條數(shù)少,指令系統(tǒng)功能弱,計算機的性能較差。?隨著VLSI技術(shù)的迅速發(fā)展,硬件成本不斷下降,軟件成本不斷上升,促進人們在指令系統(tǒng)中增加更多的指令和更復雜的指令,以適應不同應用領(lǐng)域的需要。?特別是系列機問世之后,為了能做到程序兼容,新設機型或高檔機除了要繼承老機器的指令系統(tǒng)中的全部指令外,還要增加若干新的指令,從而導致同一系列計算機的指令系統(tǒng)越來越復雜,機器結(jié)構(gòu)也越來越復雜。,,,對CISC指令系統(tǒng)所作的運行統(tǒng)計分析表明,各種指令使用頻率相差懸殊,常用的較為簡單的指令,僅占指令總數(shù)的20%,但在程序中使用的頻率卻占80%。下表是HP公司研究了IBM370計算機的高級語言運行情況后所得到的統(tǒng)計數(shù)據(jù)。,,,根據(jù)上述分析情況,國外一些計算機公司和大學開展了對指令系統(tǒng)合理性的研究,1975年IBM公司的JohnCocke提出了精簡指令系統(tǒng)的想法,后來出現(xiàn)了各種各樣的“精簡指令系統(tǒng)計算機”,簡稱RISC(ReducedInstructionSetComputer)。也稱為RISC技術(shù)。,RISC技術(shù)的實質(zhì)是要求指令系統(tǒng)簡化,盡量使用寄存器-寄存器操作指令,指令操作在一個周期內(nèi)完成,指令格式力求一致,以利于提高編譯的效率。,,,⑵早期CISC設計風格的主要特點:①指令系統(tǒng)復雜。具體表現(xiàn)在指令數(shù)多、尋址方式多、指令格式多;②絕大多數(shù)指令需要多個時鐘周期才能執(zhí)行完成;③各種指令都可訪問存儲器;④采用微程序控制;⑤有專用寄存器;⑥難以用優(yōu)化編譯生成高效的目標代碼程序。,,,(3)RISC技術(shù)的主要特征:①一個有限的簡單指令集:選用使用頻率最高(80%-90%)的一些簡單指令;指令長度固定,指令格式種類少,尋址方式種類少;只有取數(shù)/存數(shù)指令訪問存儲器,其余指令的操作都在寄存器之間進行;②CPU配備大量的通用寄存器,以寄存器-寄存器方式工作,減少訪存操作;③強調(diào)指令流水線的優(yōu)化,使大多指令可在一個時鐘周期內(nèi)執(zhí)行完畢;④采用由陣列邏輯實現(xiàn)的組合電路控制器,不用或少用微程序;⑤采用優(yōu)化編譯技術(shù),對寄存器分配進行優(yōu)化,保證流水線暢通。,,,?RISC機則將指令做了簡化,數(shù)量減少,格式也不同,與老機器不能兼容。因為大多數(shù)用戶的程序是用高級語言編寫的,重新在RISC上編譯一次即可運行。?有的公司仍然考慮到目標碼兼容的問題,例如HP公司開發(fā)的目標碼翻譯器與浮點數(shù)轉(zhuǎn)換軟件等,可使目標碼程序在采用RISC技術(shù)的體系計算機中運行。,(4)指令系統(tǒng)的兼容問題,當前,計算機公司生產(chǎn)的各種CISC都能夠?qū)崿F(xiàn)軟件兼容,新型號或高檔機包含了舊型號或抵擋機的全部指令并加以擴充。因此,用戶的目標碼程序可以不加修改直接在新機器上運行。,①CISC的兼容性,②RISC的兼容性,,,,,,,,,4、CISC與RISC的比較,,,,,,,5、典型RISC機指令系統(tǒng),第七章指令系統(tǒng)小結(jié)1.指令系統(tǒng)指一臺計算機中所有機器指令的集合,是表征計算機性能的重要因素。2.指令系統(tǒng)的性能要求完備性、有效性、規(guī)整形、兼容性3.指令尋址方式順序?qū)ぶ贩绞剑褐噶钪饤l順序執(zhí)行,PC+1->PC跳躍尋址方式:程序轉(zhuǎn)移4.操作數(shù)的尋址方式,引入操作數(shù)尋址方式目的(1)縮短指令長度(2)擴大尋址范圍(3)提高編程靈活性,,,5.指令的格式(定長、變長指令的格式)6.典型指令的分類數(shù)據(jù)傳送類指令、算術(shù)運算指令、邏輯運算指令、程序控制指令、輸入輸出指令、字符串處理指令、特權(quán)指令、其他指令7.指令系統(tǒng)結(jié)構(gòu)從計算機指令系統(tǒng)的角度看當前的計算機指令系統(tǒng)結(jié)構(gòu)分為兩大類:復雜指令集計算機(CISC)精簡指令集計算機(RISC),,,本章結(jié)束:繼續(xù)學習第八章!,- 1.請仔細閱讀文檔,確保文檔完整性,對于不預覽、不比對內(nèi)容而直接下載帶來的問題本站不予受理。
- 2.下載的文檔,不會出現(xiàn)我們的網(wǎng)址水印。
- 3、該文檔所得收入(下載+內(nèi)容+預覽)歸上傳者、原創(chuàng)作者;如果您是本文檔原作者,請點此認領(lǐng)!既往收益都歸您。
下載文檔到電腦,查找使用更方便
14.9 積分
下載 |
- 配套講稿:
如PPT文件的首頁顯示word圖標,表示該PPT已包含配套word講稿。雙擊word圖標可打開word文檔。
- 特殊限制:
部分文檔作品中含有的國旗、國徽等圖片,僅作為作品整體效果示例展示,禁止商用。設計者僅對作品中獨創(chuàng)性部分享有著作權(quán)。
- 關(guān) 鍵 詞:
- 指令系統(tǒng) 2012 V1
鏈接地址:http://m.jqnhouse.com/p-11535010.html