第四章指令系統2_第1頁
第四章指令系統2_第2頁
第四章指令系統2_第3頁
第四章指令系統2_第4頁
第四章指令系統2_第5頁
已閱讀5頁,還剩54頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

第四章指令系統4.4指令和數據的尋址方式9、堆棧尋址方式堆棧尋址方式分寄存器堆棧、存儲器堆棧以先進后出原理存儲數據堆棧尋址方式堆棧是一組能存儲和取出數據的暫時存儲單元。很多計算機把存儲器的一部分用作堆棧。堆棧和其他形式的存儲器之間的差別就在于,它們對數據的存取方法或尋址方法有所不同。堆棧尋址方式堆棧是一種數據結構,是數據的一種組織方式。棧是一種只能在叫做棧頂的一端進行進棧和出棧操作的線性數據結構。棧的主要特點是“后進先出”。堆棧尋址方式常用的堆棧結構有:串聯堆棧(硬件堆棧)存儲器堆棧(軟件堆棧)1串聯堆棧一些計算機的CPU中有一組專門的寄存器,有16個或更多,它們稱為串聯堆棧,其中每一個寄存器能保存一個字的數據。1串聯堆棧2存儲器堆棧串聯堆棧存在一些限制:一是寄存器的數目一般是有限的。如堆棧有8個寄存器,那么把多于8個的數據壓入堆棧時,“老”的數據就從棧底壓出并被丟失。二是堆棧的讀出是破壞性的。當從堆棧取出一個數時,它就不能再在堆棧中存在。2存儲器堆棧存儲器堆棧的三個優點:堆棧能夠具有程序員要求的任意長度;只要程序員喜歡,愿意建立多少堆棧,就能建立多少堆棧;可以用對存儲器尋址的任何一條指令來對堆棧中的數據進行尋址。2存儲器堆棧存儲器堆棧的缺點:進出棧的操作實質上是對內存的讀寫操作;進出棧的操作要由多條指令完成;棧滿與棧空的判別也要由軟件來完成。2存儲器堆棧在存儲器類型的堆棧中,需要一個堆棧指示器,它是CPU中一個專用的寄存器。堆棧指示器指定的存儲器單元,就是堆棧的棧頂。在設計計算機系統時,把主存儲器的一部分用作堆棧區。一旦設定堆棧區后,這一部分就不能用作其他用途。2存儲器堆棧2存儲器堆棧當建立存儲器堆棧時,可用程序來設置。把一個主存地址送入堆棧指示器,就可確定堆棧的頂。在存儲器堆棧中,數據的壓入或取出操作,通常也是使用“進棧”指令和“出棧”指令來實現的,但是指令的功能和串聯堆棧中的情況有所不同。2存儲器堆棧(A)→Msp,(SP)-1→SP(SP)+1→SP,(Msp)→A存儲器堆棧中,進棧時先存入數據,后修改堆棧指示器;出棧時,先修改堆棧指示器,然后取出數據。

4.4.3尋址方式舉例4.4.3尋址方式舉例4.4.3尋址方式舉例(P60-8)MOV001010STO011011LAD11110011110000111100010011110011010010001010000101011001101111

1101011000000001110000104.5典型指令4.5.1指令的分類1.數據傳送指令2.算術運算指令3.邏輯運算指令4.程序控制指令5.輸入輸出指令

6.字符串處理指令7.特權指令8.其他指令

1數據傳送指令這類指令用以實現寄存器與寄存器,寄存器與存儲器單元,存儲器單元與存儲器單元之間的數據傳送;數據傳送時,數據從源地址傳送到目的地址,而源地址中的數據保持不變,因此實際上是數據復制;數據傳送指令一次可以傳送一個數據或一批數據;有些機器設置了數據交換指令,完成源操作數與目的操作數互換,實現雙向數據傳送。2算術運算指令一般計算機都具有這類指令。早期的低檔微型機,要求價格便宜,硬件結構比較簡單,支持的算術運算指令就較少,一般只支持二進制加、減法、比較和求補碼(取負數)等最基本的指令;而其他計算機,由于要兼顧性能和價格兩方面因素,還設置乘、除法運算指令。通常根據算術運算的結果置狀態位,一般有Z(結果為0)、N(結果為負)、V(結果溢出)、C(產生進位或借位)四個狀態位。當滿足括弧內所提出的條件時,相應位置成“1”,否則為“0”。3邏輯運算指令通常計算機具有對兩個數進行與、或、非(求反)、異或(按位加)等操作的邏輯運算指令。有些計算機還設置有位操作指令,如位測試(測試指定位的值)、位清除(把指定位清零)、位求反(取某位的反值)指令等。4程序控制指令(轉移指令)無條件轉移指令條件轉移指令(根據狀態測試結果進行轉移)轉子程序指令返回主程序指令中斷返回指令轉移指令分為絕對轉移和相對轉移5輸入/輸出(I/O)指令計算機所處理的一切原始數據和所執行的程序(除了固化在ROM中的以外)均來自外部設備的輸入,處理結果需通過外部設備輸出。有些計算機采用外部設備與存儲器統一編址的方法把外部設備寄存器看成是存儲器的某些單元,任何訪問存儲器的指令均可訪問外部設備,因此不再專設I/O指令。6輸入/輸出(I/O)指令計算機所處理的一切原始數據和所執行的程序(除了固化在ROM中的以外)均來自外部設備的輸入,處理結果需通過外部設備輸出。有些計算機采用外部設備與存儲器統一編址的方法把外部設備寄存器看成是存儲器的某些單元,任何訪問存儲器的指令均可訪問外部設備,因此不再專設I/O指令。7特權指令某些指令使用不當會破壞系統或其他用戶信息,因此為了安全起見,這類指令只能用于操作系統或其他系統軟件,而不提供給用戶使用,稱為特權指令。一般來說,在單用戶、單任務的計算機中不一定需要特權指令,而在多用戶、多任務的計算機系統中,特權指令卻是必不可少的。它主要用于系統資源的分配和管理,包括改變系統的工作方式、檢測用戶的訪問權限、修改虛擬存儲器管理的段表、頁表和完成任務的創建和切換等。在某些多用戶的計算機系統中,為了統一管理所有的外部設備,輸入輸出指令也作為特權指令,不允許用戶直接使用。需輸入輸出時,可通過系統調用,由操作系統來完成。8其他指令等待指令停機指令空操作指令開中斷、關中斷狀態寄存器置位、復位指令測試指令向量指令多處理機指令4.5.2基本指令系統早期CISC設計風格的主要特點:指令系統復雜。具體表現在指令數多、尋址方式多、指令格式多。絕大多數指令需要多個時鐘周期才能執行完成。各種指令都可訪問存儲器。采用微程序控制。有專用寄存器。難以用優化編譯生成高效的目標代碼程序。4.5.3精簡指令系統RISC指令系統的最大特點是:⑴選取使用頻率最高的一些簡單指令,指令條數少;⑵指令長度固定,指令格式種類少;⑶只有取數/存數指令訪問存儲器,其余指令的操作都在寄存器之間進行。4.5.3精簡指令系統RISC技術的主要特征:簡化的指令系統。表現在指令數較少、基本尋址方式少、指令格式少、指令字長度一致。以寄存器-寄存器方式工作。以流水方式工作,從而可在一個時鐘周期內執行完畢。使用較多的通用寄存器以減少訪存,不設置或少設置專用寄存器。采用由陣列邏輯實現的組合電路控制器,不用或少用微程序。采用優化編譯技術,保證流水線暢通,對寄存器分配進行優化。RISC的產生與發展1.RISC的產生1975年IBM公司開始研究指令系統的合理性問題,IBM的Johncocke提出精簡指令系統的想法。后來美國加州伯克萊大學的RISCI和RISCⅡ機、斯坦福大學的MIPS機的研究成功,為精簡指令系統計算機(reducedinstructionsetcomputer,簡稱RISC)的誕生與發展起了很大作用。對CISC進行測試表明,各種指令的使用頻率相差懸殊,最常使用的是一些比較簡單的指令,僅占指令總數的20%,但在程序中出現的頻率卻占80%。而較少使用的占指令總數20%的復雜指令,為了實現其功能而設計的微程序代碼卻占總代碼的80%。

復雜的指令系統必然增加硬件實現的復雜性,這不僅增加了研制時間和成本(例如,開發32位微處理器80386用了三年多時間、投資一億五千萬美元)以及設計失誤的可能性,而且由于復雜指令需要進行復雜的操作,與功能較簡單的指令同時存在于一個機器中,很難實現流水線操作,從而降低了機器的速度。

另外還難以將基于CISC技術的高檔微型機的全部硬件集成在一個芯片上或將大、中型機的CPU裝配在一塊板上,而對電路的延遲時間來講,芯片內部、芯片之間與插件板之間的電路,其延遲時間差別很大,這也會影響CISC的速度。

由于以上原因,終于產生了不包含復雜指令的RISC。2.RISC的發展1983年以后,一些中、小型公司開始推出RISC產品,由于它具有高性能價格比,市場占有率不斷提高。1987年SUN微系統公司用SPARC芯片構成工作站,從而使其工作站的銷售量居于世界首位。當前一些大公司,如IBM,DEC,Intel,Motorola等都將其部分力量轉到RISC方面來,RISC已成為當前計算機發展的不可逆轉的趨勢。一些發展較早的大公司轉向RISC是很不容易的,因為RISC與CISC指令系統不兼容,因此他們在CISC上開發的大量軟件如何轉到RISC平臺上來是首先要考慮的;而且這些公司的操作系統專用性強,又比較復雜,更給軟件的移植帶來了困難。而像SUN微系統公司,以UNIX操作系統作為基礎,軟件移植比較容易,因此它的工作站的重點很快從CISC(用68020微處理器)轉移到RISC(用SPARC徽處理器)。從技術發展的角度來講,CISC技術已很難再有突破性的大進展,要想大幅度提高性能價格比也已很困難。而RISC技術是在CISC基礎上發展起來的,且發展勢頭正猛。正因為看到這一點,在CISC市場上占有率最高的Intel公司和Motorola公司也進軍RISC領域。IBM、Motorola和Apple聯合發展PowerPC芯片,HP和Intel聯合開發代號為Merced的微處理器芯片。RISC的產生與發展RISC的特點精簡指令系統計算機的著眼點不是簡單地放在簡化指令系統上,而是通過簡化指令使計算機的結構更加簡單合理,從而提高運算速度。計算機執行程序所需要的時間P可用下式表示:

P=I╳CPI

╳T

其中I是高級語言程序編譯后在機器上運行的指令數,CPI為執行每條指令所需的平均周期數,T是每個機器周期的時間。

由于RISC指令比較簡單,原CISC機中比較復雜的指令在這里用于程序來代替,因此RISC的I要比CISC多20%一40%。但是RISC的大多數指令只用一個機器周期實現(80年代),所以CPI的值要比CISC小得多。同時因為RISC結構簡單,所以完成一個操作所經過的數據通路較短,使得了值大為減少。后來,RISC的硬件結構有很大改進,一個機器周期平均可完成1條以上指令,甚至可達到幾條指令。RISC的特點證明題1、

用定量分析方法證明多模塊交叉存儲器帶寬大于順序存儲器帶寬。

解:假設:(P90)①存儲器模塊字長等于數據總線寬度;②模塊存取一個字的存儲周期等于T;③總線傳送周期為τ;④交叉存儲器的模塊數為m。T=mτ交叉存儲器要求其模塊數≥m,以保證啟動某模塊后經mτ時間再次啟動該模塊時,它的上次存取操作已經完成。這樣連續讀取m個字所需時間為:(1)交叉存儲器為實現流水方式存儲,即每經過τ時間延時后啟動下一模塊,應滿足:t1=T+(m-1)τ=mτ+mτ-τ=(2m-1)τ(2)順序方式存儲器連續讀取m個字所需時間為

t2=mmτ=m2τ存儲器帶寬為比較可知W1>W2故存儲器帶寬為:W1==11t1(2m-1)τW2==11t2m2τ簡答題1

、簡要總結一下,采用哪幾種技術手段可以加快存儲系統的訪問速度?

2、一臺機器的指令系統有哪幾類典型指令?列出其名稱。

設計題1、用2M×8位的SRAM芯片,設計8M×32位的SRAM存儲器。

A0-A20為片內地址;用4片為一組進行位擴展,構成2M×32位;用4組進行字擴展,構成8M×32位;用A21和A22經2:4譯碼器產生各組的片選信號2、機器字長32位,常規設計的物理存儲空間≤32M,若將物理存儲空間擴展到256M,請提出一種設計方案。

解:可采用多體交叉存取方案,即將主存分成8個相互獨立、容量相同的模塊M0,M1,M2,···,M7,每個模塊32M×32位。它們各自具備一套地址寄存器、數據緩沖寄存器,各自以等同的方式與CPU傳遞信息。0819715CPU存儲器控制器M0M1M7CPU訪問8個存儲模塊,可采用兩種方式:一種是在一個存取周期內,同時訪問8個存儲模塊,由存儲器控制器控制它們分時使用總線進行信息傳遞。另一種方式是:在一個存取周期內分時訪問每個體,即每經過1/8存取周期就訪問一個模塊。這樣對每個模塊而言,從CPU給出訪存操作命令直到讀出信息仍然是一個存取周期時間。而對CPU來說,它可以在一個存取周期內連續訪問8個存儲體,各體的過程將重疊(并行)進行。3、某機器單字長指令為32位,共有40條指令,通用寄存器有128個,主存最大尋址空間為64M。尋址方式有立即尋址、直接尋址、寄存器尋址、寄存器間接尋址、基值尋址、相對尋址六種。請設計指令格式,并做必要說明。解:(1)40指令,OP為占6位;(2)六種尋址方式,占3位;(3)用7位來指定寄存器;(4)剩余16位為偏移量,直接尋址空間為64K;

分析題1、某機的指令格式如下所示

X為尋址特征位:X=00:直接尋址;X=01:用變址寄存器RX1尋址;X=10:用變址寄存器RX2尋址;X=11:相對尋址

設(PC)=1234H,(RX1)=0037H,(RX2)=1122H(H代表十六進制數),請確定下列指令中的有效地址:

①4420H

②2244H

③1322H

④3521H解:(1)X=00,D=20H,有效地址EA=20H;(2)X=10,D=44H,有效地址EA=1122H+44H=1166H;(3)X=11,D=22H,有效地址EA=1234H+22H=1256H;(4)X=01,D=21H,有效地址EA=0037H+21H=0058H。(PC)=1234H,(RX1)=0037H,(RX2)=1122H

①4420H

②2244H

③1322H

溫馨提示

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

評論

0/150

提交評論