第六章CPU與控制器_第1頁
第六章CPU與控制器_第2頁
第六章CPU與控制器_第3頁
第六章CPU與控制器_第4頁
第六章CPU與控制器_第5頁
已閱讀5頁,還剩138頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

CPU與控制器6.1 CPU結構與概念處理器與系統(tǒng)總線CPU內部結構寄存器CPU需要臨時的工作空間(臨時存儲)不同處理器中寄存器數(shù)目和功能不同設計主要考慮的因素存儲器的最高級用戶可見寄存器通用寄存器數(shù)據(jù)寄存器地址寄存器狀態(tài)寄存器寄存器組織指令周期兩步:取指執(zhí)行取指周期PC中存放下條指令地址處理器從PC指向的內存區(qū)域中獲得指令PC加1指令送指令寄存器(IR)處理器譯指并進行相關操作執(zhí)行周期處理器-內存數(shù)據(jù)在處理器和內存中傳送處理器I/O數(shù)據(jù)在處理器和I/O模塊間傳送數(shù)據(jù)處理對數(shù)據(jù)的算術和邏輯操作控制操作序列的變化,如jump上述各步驟地綜合間址周期需要讀內存以獲得操作數(shù)需要多次讀內存可看作一個額外的指令子周期間址周期指令周期狀態(tài)圖數(shù)據(jù)流(取指)取決于CPU的設計取指PC包含下條指令地址地址送到MAR地址送到地址總線控制器讀內存結果送到數(shù)據(jù)總線,MBR,IRPC加1數(shù)據(jù)流(取數(shù))檢查IR確定是否進入間址周期MBR最右N位送到MAR控制器讀內存結果(操作數(shù)地址)送到MBR數(shù)據(jù)流圖(取值)數(shù)據(jù)流(間址)數(shù)據(jù)流(執(zhí)行)可以有多種形式取決于執(zhí)行的指令包括內存讀/寫輸入/輸出寄存器數(shù)據(jù)轉移ALU操作數(shù)據(jù)流(中斷)簡單可預測保存PC當前內容以便返回PC中內容送到MBR特殊內存地址(棧指針)送到MARMBR寫到內存PC中送中斷程序開始地址取下一指令數(shù)據(jù)流(中斷圖)預取指取指需訪問內存執(zhí)行不需要訪問內存執(zhí)行當前指令時取下條指令改進性能沒有倍增:取指過程比執(zhí)行過程短可取多條指令跳轉和轉移意味著預取的指令不是所需的為了獲得更好的性能,流水線需有更多的階段流水線取指譯碼計算操作數(shù)取操作數(shù)執(zhí)行指令寫結果上述步驟可重疊流水線時間圖有分支的流水線處理分支多指令流預取轉移目標循環(huán)緩沖器轉移預測延遲轉移多指令流2個流水線以上將每個分支預取到不同的流水線上選擇合適的流水線導致對總線和寄存器的連接多分支需要更多的流水線預取轉移目標除了取此轉移指令外的指令,轉移目標處的指令也被取出來保持目標直到分支執(zhí)行IBM360/91分支預測(1)預測不發(fā)生跳轉不發(fā)生總是取下一條指令68020&VAX11/780預測總是發(fā)生跳轉將發(fā)生總是取目標指令分支預測(2)由操作碼預測某些條件轉移指令的操作碼總是發(fā)生轉移成功概率75%執(zhí)行/不執(zhí)行分支基于歷史循環(huán)適用分支預測(3)延遲分支分支條件預測重新安排指令CPU的基本功能(1)程序控制 保證機器按一定順序執(zhí)行程序是CPU的首要任務。(2)操作控制 一條指令的功能往往是由若干個操作信號的組合來實現(xiàn)的。(3)時間控制 對各種操作實施時間上的控制稱為時間控制。 各種指令的操作信號均受到時間的嚴格控制; 一條指令的整個執(zhí)行過程也受到時間的嚴格控制。(4)數(shù)據(jù)加工控制器的功能(基本功能) 控制器的基本功能就是負責指令的讀出,進行識別和解釋,并指揮協(xié)調各功能部件執(zhí)行指令。程序控制原理1、編程2、送MM(通過輸入設備)3、機器工作時,是按一定的序列逐條取出指令,分析指令,執(zhí)行指令,并自動轉到下一條指令執(zhí)行,直到程序規(guī)定的任務完成。4、程序控制由控制器承擔,程序存儲由存儲器完成。6.2 控制器的結構與功能控制器的功能(基本功能)取指令分析指令執(zhí)行指令控制程序和數(shù)據(jù)的輸入與結果輸出異常處理3種組織方法(1)

常規(guī)組合邏輯法(或稱隨機邏輯法); 分立元件時代的產(chǎn)物; 方法是按邏輯代數(shù)的運算規(guī)則,以組合電路最小化為原則,用邏輯門電路實現(xiàn); 不規(guī)整,可靠性低,造價高。(2)

可編程邏輯陣列(PLA)法; 與前者本質相同,工藝不同; 用大規(guī)模集成電路(LSI)來實現(xiàn)。 (3)微程序控制邏輯法。 將程序設計的思想方法引入控制器的控制邏輯; 將各種操作控制信號以編碼信息字的形式存入控制存儲器中(CM); 一條機器指令對應一道微程序,機器指令執(zhí)行的過程就是微程序執(zhí)行的過程??刂破鞯慕M成一、指令部件 指令部件應包括程序計數(shù)器(PC)、指令寄存器(IR)、指令譯碼器(ID)、程序狀態(tài)寄存器(PSW)和地址形成部件等5個部分。去內存取指令或取數(shù)據(jù)對各功能部件產(chǎn)生控制PSW地址形成部件時序部件OC譯碼器PC微操作信號產(chǎn)生器............ACOC(1)程序計數(shù)器PC 用來指出在內存中存放指令的單元地址。表明現(xiàn)行指令在主存儲器的單元地址。(2)指令寄存器IR 指令寄存器用來存放現(xiàn)行指令的代碼。(3)指令譯碼器ID 又稱為操作碼譯碼器,用以產(chǎn)生操作性質的控制電位,并將其送到微操作控制線路上,在時序部件定時信號作用下,產(chǎn)生具體的控制操作信號。(4)程序狀態(tài)字寄存器(PSW) 程序狀態(tài)字用來表征當前運算的狀態(tài)及程序的工作方式。(5)地址形成部件 根據(jù)尋址方式的不同,用來形成操作數(shù)有效地址的功能部件。二、時序部件 時序部件就是用來產(chǎn)生各部件所需要的定時控制信號的部件。時序信號一般由工作周期,工作節(jié)拍及工作時標脈沖三級時序信號構成。三、微操作控制線路1、微操作是指計算機中最基本的操作2、微操作控制邏輯,用來產(chǎn)生機器所需的全部的微操作信號。微操作控制邏輯的作用是把操作碼譯碼器輸出的控制電位,時序信號以及各種控制條件進行組合,按一定時間順序產(chǎn)生并發(fā)出一系列微操作控制信號,以完成指令規(guī)定的全部操作。四、中斷控制邏輯 中斷控制邏輯用來控制中斷處理的硬件邏輯。一、

概念 1、時序部件:計算機的機內時鐘。它用其產(chǎn)生的周期狀態(tài),節(jié)拍電位及時標脈沖去對指令周期進行時間劃分,刻度和標定。 2、指令周期:在計算機中從指令的讀取到指令的執(zhí)行完成,執(zhí)行一條指令所需要的時間,稱為指令周期。 指令周期通常由若干個CPU周期來表示,CPU周期也稱為機器周期。由于CPU內部的操作速度較快,而CPU訪問一次內存所花的時間較長,通常用存儲周期為基礎來規(guī)定CPU周期。時序系統(tǒng)二、3級時序信號1、周期(1)

在一個控制階段內均持續(xù)起作用的信號;(2)

通常用周期狀態(tài)寄存器來標志和指明某某周期控制;(3)

指令周期可分為取指周期、分析周期、執(zhí)行周期。2、節(jié)拍(1)

把一個機器周期分成若干個相等的時間段,每一個時間段對應一個電位信號,稱節(jié)拍電位;(2)

一般都以能保證ALU進行一次運算操作作為一拍電位的時間寬度。 3、時標工作脈沖(1)

及時改變標志狀態(tài);(2)

時標脈沖的寬度一般為節(jié)拍電位寬度的1/N,只要能保證所有的觸發(fā)器都能可靠地,穩(wěn)定地翻轉即可。三、3級時序信號的關系1、一臺計算機機內的控制信號一般均由若干個周期狀態(tài),若干個節(jié)拍電位及若干個時標脈沖這樣3級控制時序信號定時完成。 3級時序的組合關系如圖所示。 2、3級控制時序信號的寬度均成正整數(shù)倍同步關系。周期狀態(tài)之間,節(jié)拍電位之間,時標脈沖之間既不容許有重疊交叉,又不容許有空白間隙,應該是能一個接一個地準確連接,一個降落另一個升起而準確切換的同步信號。 如何形成控制不同微操作序列的時序控制信號的方法,稱為控制器的控制方式??刂品绞酵ǔ7譃橥娇刂品绞健惒娇刂品绞健⑼惒铰?lián)合控制方式三類。一、同步控制方式1、含義:又稱為固定時序控制方式或無應答控制方式。任何指令的執(zhí)行或指令中每個微操作的執(zhí)行都受事先安排好的時序信號的控制。2、每個周期狀態(tài)中產(chǎn)生統(tǒng)一數(shù)目的節(jié)拍電位及時標工作脈沖。3、以最復雜指令的實現(xiàn)需要為基準。4、優(yōu)點:設計簡單,操作控制容易實現(xiàn)。缺點:效率低??刂品绞蕉惒娇刂品绞?、

含義:可變時序控制方式或應答控制方式。執(zhí)行一條指令需要多少節(jié)拍,不作統(tǒng)一的規(guī)定,而是根據(jù)每條指令的具體情況而定,需要多少,控制器就產(chǎn)生多少時標信號。2、特點:每一條指令執(zhí)行完畢后都必須向控制時序部件發(fā)回一個回答信號,控制器收到回答信號后,才開始下一條指令的執(zhí)行。3、優(yōu)點:指令的運行效率高; 缺點:控制線路比較復雜。 4、異步工作方式一般采用兩條定時控制線來實現(xiàn)。我們把這兩條線稱為“請求”線和“回答”線。當系統(tǒng)中兩個部件A和B進行數(shù)據(jù)交換時,若A發(fā)出“請求”信號,則必須有B的“回答”信號進行應答,這次操作才是有效的,否則無效。三、同步,異步聯(lián)合控制方式1、含義:同步控制和異步控制相結合的方式即聯(lián)合控制方式,區(qū)別對待不同指令。2、一般的設計思想是,在功能部件內部采用同步式,而在功能部件之間采用異步式,并且在硬件實現(xiàn)允許的情況下,盡可能多地采用異步控制。一、基本工作過程 計算機的基本工作過程主要是指執(zhí)行指令的過程。計算機執(zhí)行指令的過程可以分為三個階段:取指令;分析指令;執(zhí)行指令。 1、取指令(PC)→MAR,READ(PC)+1→PC讀操作(將MAR所指定的地址單元的內容讀出)→MDR,(MDR)→IR,指令譯碼器對操作碼字段OC開始譯碼。指令執(zhí)行的過程2、分析指令OC:識別和區(qū)分不同的指令類別;AC:獲取操作數(shù)的方法。 例如,假設目前在IR寄存器中的指令是一條加法指令: ADD(R0),R1 其中R0,R1是通用寄存器,事先由其它指令已送入了內容。分析指令階段能得到兩個結果:這是一條加法指令;源點操作數(shù)是寄存器間接尋址方式,操作數(shù)在內存中,有效地址是(R0),終點操作數(shù)是寄存器直接尋址方式,操作數(shù)就是R1寄存器的內容。 又如,若目前在IR寄存器中的指令是一條減法指令: SUBD(R0),(R1) 其中R0,R1是通用寄存器,事先由其它指令已送入了內容。分析指令階段能得到兩個結果:這是一條減法指令;源點操作數(shù)是寄存器變址尋址方式,操作數(shù)在內存中,有效地址是(R0)+D,終點操作數(shù)是通用寄存器間接尋址方式,有效地址是R1寄存器的內容。3、執(zhí)行指令 執(zhí)行指令階段完成指令所規(guī)定的各種操作,具體實現(xiàn)指令的功能。 F(IR,PSW,時序)→微操作控制信號序列 例如,ADD(R0),R1 又如,SUBD(R0),(R1) 若無意外事件(如結果溢出)發(fā)生,機器就又從PC中取得下一條指令地址,開始一條新指令的控制過程。 計算機的基本工作過程可以概括地說成是取指令,分析指令,執(zhí)行指令,再取下一條指令,依次周而復始地執(zhí)行指令序列的過程。例設指令格式如下:

加法指令功能:將寄存器rs中的一個數(shù)與存儲器中的一個數(shù)(地址為(rs1)+disp)相加,結果放在寄存器rd中,rs與rd為同一個寄存器從存儲器取指令,送入指令寄存器,進行操作碼譯碼(分析指令)

程序計數(shù)器加1,準備取下一條指令。

控制信號:計算數(shù)據(jù)地址,將地址送地址寄存器AR

控制信號:存儲器取數(shù)

控制信號:加法運算,結果送寄存器,置標志位

控制信號: 微程序控制技術在現(xiàn)今計算機設計中得到廣泛的采用,其實質是用程序設計的思想方法來組織操作控制邏輯。1、微程序控制技術被廣泛應用的原因物質基礎:ROM靈活性提高了可靠性,可利用性及可維護性(簡稱RAS技術),大大優(yōu)化了硬件控制技術。有利于機器設計時的仿真。也就是說,在M1機器上使用M2機器語言編寫程序并運行,從用戶角度來看,M1和M2無區(qū)別,要能做到這一點,只有機器具有控存CM的微程序設計結構才行。其他(反映在以下幾方面的優(yōu)點)6.3微程序控制原理2、與組合邏輯控制方法相比,微程序控制方法在諸多方面有著顯著的差別從實現(xiàn)方式上 微程序控制:規(guī)整,增、刪、改較容易 組合邏輯控制:零亂且復雜,當修改指令或增加指令時非常麻煩,有時甚至沒有可能。從性能上來比較 在同樣的半導體工藝條件下,微程序控制的速度比組合邏輯控制方式的速度低,這是因為執(zhí)行每條微指令都要從控存中讀取一次,影響了速度,而組合邏輯控制方式取決于電路延遲,因而在超高速計算機中,對影響速度的關鍵部分例如CPU,往往采用組合邏輯控制方法。近年來在一些新型計算機結構中如RISC結構,一般選用組合邏輯方法。診斷能力 微程序設計方法:診斷能力強 組合邏輯控制:診斷能力弱一、基本概念1.控制字(CW) 表征微操作控制要求的二進制字,稱為控制字。2.微指令 由同時發(fā)出的控制信號所執(zhí)行的一組微操作。組成微指令的微操作又稱為微命令。3.微地址 存放控制字的單元地址。4.微程序 一系列微指令的有序集合構成微程序。5.微周期 微周期就是從控制存儲器中讀出一條微指令并執(zhí)行相應操作所需要的時間。6.3.1基本概念與基本原理二、基本原理控制信號PC→AB +PC+1 -ALU→PC ∧Imm/disp→ALU ∨DB→IR ALU→GRDB→DR ALU→DRDR→DB ALU→ARrs1→GR AR→ABrs,rd→GR ADS(rs1)→ALU M/IO(rs)→ALU W/RDR→ALU例 加法運算的控制信號如下:取指微指令 取指:(1) 訪存命令:(21),(22),(23) 指令送指令寄存器:(5) 程序計數(shù)器+1:(3)計算地址微指令 取源操作數(shù):(8),(10),(4) 加法運算:(13) 有效地址送地址寄存器:(19)取數(shù)微指令 數(shù)據(jù)地址送地址總線:(20) 訪存命令:(21),(22),(23) 數(shù)據(jù)送數(shù)據(jù)寄存器:(6)加法運算和送結果微指令 源操作數(shù)送ALU:(9),(11),(12) 加法運算:(13) 送結果:(17)三、微指令編碼 微指令中的每一位表示一個控制信號?!?”表示有控制信號,“0”表示無控制信號。包括控制字段和下地址字段

一、基本組成1、控制存儲器CM 存放控制命令和下一條微指令地址。由只讀存儲器構成,字長比機器字長要長。2、微指令寄存器IR 用來存放從控制存儲器中取得的微指令。3、微地址形成部件AG 用來產(chǎn)生機器指令的首條微指令地址和后續(xù)地址。4、微地址寄存器AR 接收微地址形成部件送來的微地址。6.3.2微程序控制器的基本結構和工作過程6.3.2微程序控制器的基本結構和工作過程二、工作過程 微程序控制器的工作過程實質上就是在微程序控制器的控制之下,計算機執(zhí)行機器指令的過程:1、從控制存儲器中運行取指令微程序,完成從主存儲器中取得機器指令的工作;2、根據(jù)機器指令的操作碼,得到相應機器指令的微程序入口;3、逐條取出微指令,完成相關微操作控制;4、執(zhí)行下一條機器指令。一、編譯法的選擇原則減少微指令的長度;提高微操作的并行性;提高機器的控制性能并降低價格;有利于微程序設計的靈活性。二、編譯法1、直接控制法(不譯法) 每一個獨立的二進制位代表一個微命令。按不譯法編碼的微指令,又稱水平微指令。面向數(shù)據(jù)通路的控制門(或控制點)。 優(yōu)點:并行執(zhí)行,執(zhí)行速度也比較快;微程序所需用的微指令條數(shù)少。 缺點:編制程序難度較大;微指令不能充分利用。6.4.1微指令編譯法2、字段直接編譯法 把一條微指令分成幾段,段與段間按水平法設計,每個段內分別按垂直法進行編碼,每一段形成一個微命令,一條微指令可同時有并行的幾個微命令。 微指令字分段的原則:在同一節(jié)拍內,需要互相配合起作用的微操作,是并行操作,其微命令可以分在不同的字段內,以便配合進行微操作控制(組合性的操作控制)。這是微命令的相容性。在同一節(jié)拍內,不允許同時出現(xiàn)具有“排它”性的微操作,是串行操作,其微命令可分在一個字段內,這是微命令的互斥性。6.4.1微指令編譯法3、字段間接編譯法 它是在字段直接編譯法基礎上用來進一步縮短指令字長,組合零散微命令的一種編譯法。若在字段直接編譯法中再規(guī)定一個字段的某些微命令要由另一個字段中的某些微命令來解釋,稱為字段間接編譯法。 這種編譯法適用于把那些不同類型的,不常用的,但數(shù)量又可觀的“零散”的微命令編入少數(shù)幾個字段之中,以減少微指令字的長度,組合編譯更多的微命令。4、常數(shù)源字段 僅有幾位,用來給某些部件發(fā)送常數(shù),又稱發(fā)射字段??勺鳛椴僮鲾?shù)進入ALU運算,或作為計算器初值控制微程序的循環(huán)次數(shù)。6.4.1微指令編譯法1、初始微地址的形成 每條機器指令對應一段微程序,當執(zhí)行公用的取指微程序從主存中取出機器指令后,由機器指令的操作碼指出微程序的首地址。這是一種多分支情況,通常有以下幾種方式:操作碼的位數(shù)與位置固定,這時可直接使操作碼與微地址碼的部分位相對應。 例如,若微入口地址=00OC,則控制存儲器第零頁的一些單元被安排為各個微程序入口(即首地址),再通過無條件微轉移指令使這些單元與相應的后續(xù)微指令相連接。6.4.2微程序流的控制當每類指令的操作碼位數(shù)與位置固定,而各類指令之間的操作碼位數(shù)與位置不固定時,可采用分級轉移的方法。先按指令類型轉移到某條微指令,區(qū)分出是哪一大類,然后進一步按機器指令操作碼轉移,區(qū)分出是哪一種具體的機器指令。當操作碼的位數(shù)與位置都不固定時,通常的方法是采用PLA可編程邏輯陣列實現(xiàn)。6.4.2微程序流的控制2、后繼微地址的形成 得到微程序入口以后,就開始執(zhí)行微程序。通常采用兩種方法形成后繼微地址:增量方式 這種方式和機器指令的控制方式類似。

6.4.2微程序流的控制增量與下址字段結合BCF信號定義BCF=0 順序執(zhí)行微指令。BCF=1 條件轉移微指令(0)。BCF=2 條件轉移微指令(溢出)BCF=3 無條件轉移。BCF=4 測試循環(huán)微指令。BCF=5 轉微子程序。BCF=6 返回微命令。BCF=7 操作碼產(chǎn)生后繼微地址的微命令。多路轉移 根據(jù)操作碼產(chǎn)生不同后繼微地址; 根據(jù)硬件狀態(tài)產(chǎn)生轉移,由微地址的低位決定。微中斷 在微程序執(zhí)行過程中,出現(xiàn)微中斷信號,完成當前指令的微程序后響應微中斷。微中斷處理程序已經(jīng)安排在控制存儲器中,硬件產(chǎn)生微中斷處理程序入口地址。 綜合上述,后繼微地址的形成是設計微程序控制的關鍵問題之一。確定后繼微指令地址有以下幾種情況:順序執(zhí)行時,后繼微地址可以由現(xiàn)行微指令字的下地址字段NAF或微程序計數(shù)器PC直接確定無條件轉向的后繼微地址,可以由現(xiàn)行微指令字的下地址字段確定有條件轉向的后繼微地址由現(xiàn)行機器指令操作碼,現(xiàn)行微指令執(zhí)行時產(chǎn)生狀態(tài)特征或條件碼的判別結果決定。6.4.2 微程序流的控制1、水平微指令 在一條微指令中定義并執(zhí)行多個并行操作微命令。使用直接控制法、字段編譯法。2、垂直微指令 設置微操作碼字段,采用微操作碼編譯法,由微操作碼規(guī)定微指令的功能。不強調實現(xiàn)微指令的并行控制功能一條微指令只控制實現(xiàn)一二種功能。 與指令類似。設微指令字長16位,微操作碼3位,6.4.3 微指令格式寄存器-寄存器傳送型運算控制型移位控制型訪問主存無條件轉移條件轉移其他比較水平型并行操作能力、效率、靈活性好于垂直型水平型執(zhí)行時間短水平型微程序其微指令字較長,但微程序短垂直型與指令相似,易掌握6.4.4 微程序控制存儲器由ROM構成或部分用ROM構成實現(xiàn)固定的指令系統(tǒng);部分又RAM構成實現(xiàn)擴展根據(jù)用戶需求改變微程序,實現(xiàn)動態(tài)微程序控制存儲器操作分為:串行1、毫微程序是用以解釋微程序的一種程序,因此組成毫微程序的毫微指令是負責解釋微指令的微指令。2、毫微程序設計的基本思想 采用兩級微程序設計方法第一級用垂直微指令編制垂直微程序第二級用水平微指令編制水平微程序。3、實現(xiàn)方法無對應一一對應一對多6.4.5毫微程序設計4、采用毫微程序設計的主要優(yōu)缺點通過使用少量的控制存儲器空間,就可達到高度的并行性;垂直微程序面向算法描述,編制微程序較容易;水平型毫微指令能定義很多并行操作微指令,兩級層次降低了編制微程序的復雜性。微程序設計具有較大的靈活性。毫微程序設計有時需要訪問控制存儲器兩次,影響了機器執(zhí)行的速度,同時,也增加了系統(tǒng)的復雜性。6.4.5毫微程序設計6.5 硬布線控制的計算機時序與節(jié)拍操作控制信號硬布線控制器機器周期的確定機器周期內操作的確定6.5.1時序與節(jié)拍機器周期的延長 封鎖CP

控制計數(shù)器的輸入6.5.2操作控制信號的產(chǎn)生例:加法指令ADD取指(只允許安排與指令類型無關的操作)

指令地址送AB:PC→AB=cy1從存儲器取指令送DB:ADS=cy1&T1,M/IO#=cy1, W/R#=cy1 指令送IR:DB→IR=cy1 PC+1:PC+1=cy1計算地址

取兩個源操作數(shù):rs1→GR=ADD&cy2,(rs1)→ALU=ADD&cy2,disp→ALU=ADD&cy2加法運算:+1=ADD&cy2有效地址送AR:ALU→AR=ADD&cy2取數(shù) 數(shù)據(jù)地址送AB:AR→AB=ADD&cy3 由存儲器將數(shù)據(jù)送DB:ADS=ADD&cy3&T1,M/IO#=ADD&cy3,W/R#=ADD&cy3 數(shù)據(jù)送DR:DB→DR=ADD&cy加法運算和送結果 兩個源操作數(shù)送ALU:rs→GR=ADD&cy4,(rs)→ALU=ADD&cy4,DR→ALU=ADD&cy4加法運算:+=ADD&cy4送結果:ALU→GR=ADD&cy4對所有指令,cy1周期中所產(chǎn)生的信號是相同的不同周期中的同一信號需要進行組合 如+=ADD&cy2+ADD&cy4+SUB&cy2+…同類指令所需的控制信號大部分是相同的 如ADD與SUB,只有+,-命令不同操作碼編碼時應該考慮簡化邏輯表達例:7位操作碼(OP0~OP6),16條運算指令格式:OP0OP1OP2OP3~OP6=001XXXX命令A是16條運算指令在cy2周期中需產(chǎn)生的,則命令A=ADD&cy2+SUB&cy2+…=OP0&OP1&OP2&cy26.5.2操作控制信號的產(chǎn)生例:SUN4SPARC部分指令的操作碼6.5.3控制器的組成譯碼器一根輸出信號線對應一條指令增設指令類型信號:算邏類,轉移類,...程序計數(shù)器Reset輸入PC+1輸入轉移地址輸入中斷入口地址輸入中斷控制邏輯單一中斷入口檢測中斷查中斷源執(zhí)行中斷處理程序向量中斷 中斷源提供部分中斷處理程序入口地址中斷隱指令

執(zhí)行中斷處理之前由硬件完成的操作軟中斷 中斷程序入口由指令地址碼部分給出硬布線邏輯的實現(xiàn)途徑全定制電路(如ASIC)半定制電路:如門陣列可編程電路可編程邏輯器件PLD現(xiàn)場可編程門陣列FPGA指令操作碼的代碼分配機器周期,節(jié)拍和主頻的確定指令周期數(shù)的確定機器周期內部操作的確定綜合所有指令的每個操作命令6.5.4硬布線控制邏輯設計中的若干問題實現(xiàn)硬布線:隨機邏輯實現(xiàn),修改困難微程序:控存實現(xiàn),修改方便性能硬布線:速度快微程序:速度低6.5.5硬布線控制與微程序控制的比較本單元小結硬布線控制的計算機時序與節(jié)拍操作控制信號的產(chǎn)生控制器的組成硬布線控制邏輯設計中的若干問題硬布線控制與微程序控制的比較6.6 流水線技術什么是流水線?考慮設計一個洗衣機的工作流程,假定它有三道工序:洗滌、清洗、甩干。每個環(huán)節(jié)為5分鐘。需要完成的任務為3批,則考慮下述工作方式的工作效率:第一種:串行工作方式,即按照如下方式工作:第1批洗滌第1批清洗第1批甩干第2批洗滌第2批清洗第2批甩干第3批洗滌第3批清洗第3批甩干3批衣服的整個工作時間為3*3*5=45分鐘第二種:重疊工作方式,設計三個部件,可以同時工作,每個部件只做一樣工作,操作方式如下圖:第1批洗滌第1批清洗第1批甩干第2批洗滌第2批清洗第2批甩干第3批洗滌第3批清洗第3批甩干Tdtdtdtdtdt3批衣服的工作時間為6*5=30分鐘,節(jié)省15分鐘。引出下述關于洗衣機工作的有關性能特點:吞吐率:單位時間內完成的任務數(shù)TP=n/T加速比:串行方式與流水線方式的時間比:上述為45/30=1.5效率:即洗衣機的利用率,上述洗衣機的效率是9/15=3/5將一條指令的執(zhí)行分為幾個階段,讓幾條指令按流水線工作。這就引出了計算機中的流水線技術。包含以下內容:指令的重疊執(zhí)行流水線的表示方法流水線的特點流水線的性能分析流水線最佳段數(shù)的選擇非線性流水線技術1、順序執(zhí)行方式一條指令的執(zhí)行過程:取指令->分析->執(zhí)行執(zhí)行n條指令所用的時間為:如每段時間都為t,則執(zhí)行n條指令所用的時間為:T=3nt主要優(yōu)點:控制簡單,節(jié)省設備。主要缺點:執(zhí)行指令的速度慢,功能部件的利用率很低。取指令k分析k執(zhí)行k取指令k+1分析k+1執(zhí)行k+16.6.1 指令的重疊執(zhí)行方式2、一次重疊執(zhí)行方式(一種最簡單的流水線方式)

如果兩個過程的時間相等,則執(zhí)行n條指令的時間為:T=(1+2n)t主要優(yōu)點:指令的執(zhí)行時間縮短功能部件的利用率明顯提高主要缺點:需要增加一些硬件控制過程稍復雜取指分析執(zhí)行取指分析執(zhí)行取指分析執(zhí)行3、二次重疊執(zhí)行方式 把取第k+1條指令提前到分析第k條指令同時執(zhí)行如果三個過程的時間相等,執(zhí)行n條指令的時間為:T=(2+n)t理想情況下同時有三條指令在執(zhí)行處理機的結構要作比較大的改變,必須采用先行控制方式取指k+2分析k+2執(zhí)行k+2取指k+1分析k+1執(zhí)行k+1取指k分析k執(zhí)行k6.6.2 流水線的表示方法流水線的表示法有三種:連接圖、時空圖、預約表。主要考慮前二種。1、簡單流水線的連接圖表示

流水線的每一個階段稱為流水步、流水步驟、流水段、流水線階段、流水功能段、功能段、流水級、流水節(jié)拍等。一個流水階段與另一個流水階段相連形成流水線。指令從流水線一端進入,經(jīng)過流水線的處理,從另一端流出。有些復雜指令在執(zhí)行階段也采用流水線方式工作,稱為操作流水線。取指令譯碼執(zhí)行保存結果t1t2t3t42、一種指令流水線一般4至12個流水段,等于及大于8個流水段的稱為超流水線處理機3、流水線的時空圖采用“時空圖”表示流水線的工作過程。一條簡單流水線的時空圖:取指形成操

作數(shù)地址譯碼取操作數(shù)執(zhí)行保存結果分析k分析k+1分析k+2分析k+3執(zhí)行k執(zhí)行k+1執(zhí)行k+2執(zhí)行k+3時間空間0t1t2t3t4t5一個浮點加法器流水線的時空圖(由求階差、對階、尾數(shù)加和規(guī)格化4個流水段組成):ED1時間空間0t1t2t3t4t5ED2ED3ED4ED5EA1EA2EA3EA4EA5MA1MA2MA3MA4MA5NL1NL2NL3NL4NL5t6t7t8NL:規(guī)格化MA:尾數(shù)加EA:對階ED:求階差流水線的主要特點在流水線的每一個功能部件的后面都要有一個緩沖器,稱為鎖存器、閘門寄存器等,它的作用是保存本流水段的執(zhí)行結果。各流水段的時間應盡量相等,否則回引起阻塞、斷流等。只有連續(xù)提供同類任務才能充分發(fā)揮流水線的效率。在流水線的每一個流水線段中都要設置一個流水鎖存器。流水線需要有“裝入時間”和“排空時間”。只有流水線完全充滿時,整個流水線的效率才能得到充分發(fā)揮。衡量流水線性能的主要指標有:吞吐率、加速比和效率1、吞吐率(ThoughPut)求流水線吞吐率的最基本公式:TP=n/Tk

n為任務數(shù),Tk為完成n個任務所用時間各段執(zhí)行時間相等,輸入連續(xù)任務情況下完成n個連續(xù)任務需要的總時間為:

Tk=(k+n-1)Dt

k為流水線的段數(shù),Dt為時鐘周期6.6.3 線性流水線的性能分析1時間空間S123……n-1nS2S3S4123……n-1n123……n-1n123……n-1nkDt(n-1)DtnDt(k-1)DtT吞吐率:

最大吞吐率為:

各段執(zhí)行時間不相等、輸入連續(xù)任務情況下:

吞吐率為:

最大吞吐率為:流水線各段執(zhí)行時間不相等的解決辦法S1輸入Dt1=DtS2Dt2=3DtS3Dt3=DtS4Dt4=Dt輸出1時間空間S1S2S3S4SDti(n-1)Dt2Tk23…n123…n123…n123…n一是將“瓶頸”流水段細分(如果可分的話):二是將“瓶頸”流水段重復設置:S1輸入輸出DtS2-1DtS2-2DtS2-3DtS3DtS4DtS2(3Dt)S1輸入輸出Dt1=DtS2-1S2-1S2-1S3S4Dt3=DtDt4=DtDt2=3Dt流水段重復設置的流水線1時間空間23nS1S2-1456…14…-2-1n-225…n-136…n123n456…-2-1123n456…-2-1S2-2S2-3S3S42、加速比(Speedup)計算流水線加速比的基本公式:

S=順序執(zhí)行時間T0/流水線執(zhí)行時間Tk各段執(zhí)行時間相等,輸入連續(xù)任務情況下

加速比為:

最大加速比為:

各段執(zhí)行時間不等,輸入連續(xù)任務情況下實際加速比為:K=6K=10任務

個數(shù)加速比102468112481632641283、效率(Efficiency)計算流水線效率的一般公式:

各流水段執(zhí)行時間相等,輸入n個連續(xù)任務流水線的效率為:

流水線的最高效率為:

各流水段執(zhí)行時間不等,輸入n個連續(xù)任務流水線的效率為:流水線各段的設備量或各段的價格不相等時:

流水線的效率為:

即:

其中,ai<k,且流水線的吞吐率、加速比與效率的關系:

因為

因此:E=TP·

Dt,S=k·E4、流水線性能分析舉例對于單功能線性流水線,輸入連續(xù)任務的情況,通過上面給出的公式很容易計算出流水線的吞吐率、加速比和效率。例5.2:用一條4段浮點加法器流水線求8個浮點數(shù)的和:

Z=A+B+C+D+E+F+G+H解:Z=[(A+B)+(C+D)]+[(E+F)+(G+H)]1時間空間23求階差4567123456712345671234567對階尾數(shù)加規(guī)格化加數(shù)ACEGA+BE+FBDFHC+DG+HA+B+C+DE+F+G+H結果A+BC+DE+FG+HA+B+C+DE+F+G+HZ7個浮點加法共用了15個時鐘周期。

流水線的吞吐率為:

流水線的加速比為:

流水線的效率為:流水線最佳段數(shù)的選擇流水線的最佳段數(shù)與流水線的延遲時間t與流水線本身的價格a的乘積平方根成正比,而與瑣存器的延遲時間d及價格b的乘積的平方根成反比。即在設計一條流水線時,可以根據(jù)該公式,在流水線的延遲時間t一定的情況下,通過調整流水線本身的價格a、瑣存器的延遲時間d和瑣存器的價格b來選擇最佳流水線段數(shù)k0.本單元小結流水線技術指令的重疊執(zhí)行方式流水線的表示方法線性流水線的性能分析超標量處理機:

Intel公司的i860,i960,Pentium處理機Motolora公司的MC88110

IBM公司的Power6000

SUN公司的SuperSPARC等。超流水線處理機:

SGI公司的MIPSR4000,R5000,R10000等。超標量超流水線處理機:

DEC公司的Alpha等。6.7 超標量處理機6.7.1 基本結構一般流水線處理機:

一條指令流水線,

一個多功能操作部件,每個時鐘周期平均執(zhí)行指令的條數(shù)小于1。多操作部件處理機:

一條指令流水線,

多個獨立的操作部件,操作部件可以采用流水線,也可以不流水。多操作部件處理機的指令級并行度小于1。超標量處理機典型結構:

多條指令流水線、多個功能部件。

先進的超標量處理機有:定點處理部件CPU,浮點處理部件FPU,圖形加速部件GPU

大量的通用寄存器,兩個一級高速Cache

超標量處理機的指令級并行度大于1Motorola公司的MC88110:

10個操作部件

兩個寄存器堆:整數(shù)部件通用寄存器堆,32個32位寄存器;浮點部件擴展寄存器堆,32個80位寄存器。每個寄存器堆有8個端口,分別與8條內部總線相連接,有一個緩沖深度為4的先行讀數(shù)棧和一個緩沖深度為3的后行寫數(shù)棧。

兩個獨立的高速Cache中,各為8KB,采

溫馨提示

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

評論

0/150

提交評論