(第8章)中央處理器_第1頁
(第8章)中央處理器_第2頁
(第8章)中央處理器_第3頁
(第8章)中央處理器_第4頁
(第8章)中央處理器_第5頁
已閱讀5頁,還剩101頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

主講教師:李敏計算機工程學院計算機組成與體系結構中央處理器一、CPU的基本功能和組成8.1CPU的功能和組成

當代主流計算機所遵循的仍然是馮.諾依曼的“存儲程序、程序控制”思想

程序告訴計算機:應該逐步執(zhí)行什么操作;在什么地方找到用來操作的數(shù)據(jù),結果存到何處等

中央處理器是控制計算機自動完成取出指令和執(zhí)行指令任務的部件。它是計算機的核心部件,通常簡稱為CPU(CentralProcessingUnit)

控制器完成對整個計算機系統(tǒng)操作的協(xié)調與指揮。

(1)控制機器從內存中取出一條指令,并指出下一條指令在內存中的位置;

(2)對指令進行譯碼,并產(chǎn)生相應的操作控制信號,送往相應的部件,啟動規(guī)定的動作;

(3)指揮并控制CPU、內存與輸入/輸出(I/O)設備之間數(shù)據(jù)流動的方向運算器是數(shù)據(jù)加工處理部件,所進行的全部操作由控制器發(fā)出的控制信號指揮

(1)執(zhí)行所有的算術運算;

(2)執(zhí)行所有的邏輯運算,并進行邏輯測試8.1.1CPU的功能

★指令控制

保證機器按程序規(guī)定的順序取出執(zhí)行★操作控制

CPU產(chǎn)生每條指令所對應的操作信號,并把各種操作信號送往相應的部件,從而控制這些部件按指令的要求進行動作★時間控制

對各種操作的實施時間進行定時★數(shù)據(jù)加工

對數(shù)據(jù)進行算術運算和邏輯運算處理

控制器完成對整個計算機系統(tǒng)操作的協(xié)調與指揮。

(1)控制機器從內存中取出一條指令,并指出下一條指令在內存中的位置;

(2)對指令進行譯碼,并產(chǎn)生相應的操作控制信號,送往相應的部件,啟動規(guī)定的動作;

(3)指揮并控制CPU、內存與輸入/輸出(I/O)設備之間數(shù)據(jù)流動的方向運算器是數(shù)據(jù)加工處理部件,所進行的全部操作由控制器發(fā)出的控制信號指揮

(1)執(zhí)行所有的算術運算;

(2)執(zhí)行所有的邏輯運算,并進行邏輯測試算術邏輯單元狀態(tài)條件寄存器程序計數(shù)器PC地址寄存器AR地址總線ABUS數(shù)據(jù)總線DBUS累加器AC存儲器

I/OCPUALU指令寄存器IR指令譯碼器操作控制器時序產(chǎn)生器時鐘狀態(tài)反饋取指控制執(zhí)行控制ccccc緩沖寄存器DRCPU的基本模型8.1.2CPU的基本組成8.1.3

CPU中的主要寄存器

數(shù)據(jù)緩沖寄存器(DR)暫時存放由內存讀出或寫入的指令或數(shù)據(jù)字指令寄存器(IR)保存當前正在執(zhí)行的一條指令程序計數(shù)器(PC)確定下一條指令的地址地址寄存器(AR)保存當前CPU所訪問的內存單元的地址累加寄存器(AC)最常使用的一個通用寄存器狀態(tài)條件寄存器(PSW)保存由算術和邏輯指令的結果建立的各種條件碼8.1.4操作控制器與時序產(chǎn)生器

操作控制器在各寄存器之間建立數(shù)據(jù)通路(傳送信息的通路)操作控制器的功能:就是根據(jù)指令操作碼和時序信號,產(chǎn)生各種操作控制信號,以便正確地建立數(shù)據(jù)通路,從而完成取指令和執(zhí)行指令的控制硬布線控制器微程序控制器時序產(chǎn)生器產(chǎn)生并發(fā)出計算機所需要的時序控制信號二、指令周期8.2

指令周期—讀取指令指令地址送入主存地址寄存器讀主存,讀出內容送入指定的寄存器—分析指令—按指令規(guī)定內容執(zhí)行指令不同指令的操作步驟數(shù)和具體操作內容差異很大—檢查有無中斷請求若無,則轉入下一條指令的執(zhí)行過程形成下一條指令地址指令的執(zhí)行過程取指令執(zhí)行指令8.2.1指令周期的基本概念

指令周期

:

CPU從內存取出一條指令并執(zhí)行完這條指令的時間總和

CPU周期

:

又稱機器周期(總線周期),CPU訪問內存所花的時間較長,因此用CPU從內存讀取一條指令字的所需的最短時間來定義

時鐘周期

:

通常稱為節(jié)拍脈沖或T周期。一個CPU周期包含若干個時鐘周期T

相互關系:

1個指令周期=若干個CPU周期

1個CPU周期=若干T周期

取指時間+執(zhí)行指令時間指令周期·CPU周期

·時鐘周期020

CLA

;累加器清0021

ADD30

;(AC)+(30)→AC

022

STA40

;(AC)→(40)023

NOP

;空操作

024

JMP21

;21→PC…030000006 ;數(shù)據(jù)

…040存和數(shù) ;數(shù)據(jù)5條典型指令構成的簡單程序一個CPU周期一個CPU周期取指令階段執(zhí)行指令階段開始取指令PC+1對指令譯碼執(zhí)行指令取下條指令PC+18.2.2CLA指令的指令周期取出CLA指令算術邏輯單元狀態(tài)條件寄存器程序計數(shù)器PC地址寄存器AR地址總線ABUS數(shù)據(jù)總線DBUS累加器AC緩沖寄存器DRCPUALU指令寄存器IR指令譯碼器操作控制器時序產(chǎn)生器時鐘狀態(tài)反饋取指控制執(zhí)行控制cccc+10000202021222324303140CLAADD30STA40NOPJMP21000006000020CLACLA000021算術邏輯單元狀態(tài)條件寄存器程序計數(shù)器PC地址寄存器AR地址總線ABUS數(shù)據(jù)總線DBUS累加器AC緩沖寄存器DRCPUALU指令寄存器IR指令譯碼器操作控制器時序產(chǎn)生器時鐘狀態(tài)反饋取指控制執(zhí)行控制cccc+12021222324303140CLAADD30STA40NOPJMP21000006000020CLACLA000021000000執(zhí)行CLA指令8.2.3

ADD指令的指令周期

一個CPU周期一個CPU周期取指令階段執(zhí)行指令階段開始取指令PC+1對指令譯碼送操作數(shù)地址取下條指令PC+1取出操作數(shù)執(zhí)行加操作一個CPU周期算術邏輯單元狀態(tài)條件寄存器程序計數(shù)器PC地址寄存器AR地址總線ABUS數(shù)據(jù)總線DBUS累加器AC緩沖寄存器DRCPUALU指令寄存器IR指令譯碼器操作控制器時序產(chǎn)生器時鐘狀態(tài)反饋取指控制執(zhí)行控制cccc+12021222324303140CLAADD30STA40NOPJMP21000006000021ADDADD300000210000220000300000060+6=6000006取出并執(zhí)行ADD指令8.2.4

STA指令的指令周期

算術邏輯單元狀態(tài)條件寄存器程序計數(shù)器PC地址寄存器AR地址總線ABUS數(shù)據(jù)總線DBUS累加器AC緩沖寄存器DRCPUALU指令寄存器IR指令譯碼器操作控制器時序產(chǎn)生器時鐘狀態(tài)反饋取指控制執(zhí)行控制cccc+120212223243040CLAADD30STA40NOPJMP21000006000022STASTA40000022000023000040000006000006000006取出并執(zhí)行STA指令8.2.5NOP指令和JMP指令的指令周期算術邏輯單元狀態(tài)條件寄存器程序計數(shù)器PC地址寄存器AR地址總線ABUS數(shù)據(jù)總線DBUS累加器AC緩沖寄存器DRALU指令寄存器IR指令譯碼器操作控制器時序產(chǎn)生器時鐘狀態(tài)反饋取指控制執(zhí)行控制cccc+120212223243040CLAADD30STA40NOPJMP21000006000024JMP21JMP21000024000021000006000006000025000021取出并執(zhí)行JMP指令三、用方框語言表示指令周期8.3用方框圖語言表示的指令周期指令系統(tǒng)(模型機的五指令系統(tǒng))方框——一個CPU周期方框內內容——數(shù)據(jù)通路操作或某種控制操作菱形符號——判別或測試~——公操作符號前邊所講述的5種操作的框圖描述如下:取下一條指令或與外圍設備交換數(shù)據(jù)。取指執(zhí)行用方框圖語言表示指令周期指存讀指存地址總線數(shù)存讀公操作例1雙總線結構機器的數(shù)據(jù)通路圖微操作信號微操作信號注意微操作控制信號(右邊)ALU0ALU0四、控制器的組成控制器是計算機系統(tǒng)的指揮中心,它把運算器、存儲器、輸入輸出設備等部件組成一個有機的整體,然后根據(jù)指令的要求指揮全機的工作??刂破鞯幕窘M成1.指令部件

指令部件的主要任務是完成取指令并分析指令。指令部件包括:⑴程序計數(shù)器⑵指令寄存器⑶指令譯碼器暫存在指令寄存器中的指令只有在其操作碼部分經(jīng)過譯碼之后才能識別出這是一條什么樣的指令,并產(chǎn)生相應的控制信號提供給微操作信號發(fā)生器。⑷地址形成部件根據(jù)指令的不同尋址方式,形成操作數(shù)的有效地址??刂破鞯幕窘M成

用二進制碼表示的指令和數(shù)據(jù)都放在內存里,那么CPU是怎樣識別出它們是數(shù)據(jù)還是指令呢?

從時間上來說:取指令事件發(fā)生在指令周期的第一個CPU周期中,即發(fā)生在“取指令”階段,而取數(shù)據(jù)事件發(fā)生在指令周期的后面幾個CPU周期中,即發(fā)生在“執(zhí)行指令”階段。

從空間上來說:如果取出的代碼是指令,那么一定經(jīng)DR送往指令寄存器IR,如果取出的代碼是數(shù)據(jù),那么一定送往運算器。時間控制對計算機來說是非常重要的![思考]2.時序部件時序信號的作用和體制

計算機的協(xié)調動作需要時間標志,而且需要采用多級時序體制。而時間標志則用時序信號來體現(xiàn)。

硬布線控制器中,時序信號往往采用主狀態(tài)周期-節(jié)拍電位-節(jié)拍脈沖三級體制。主狀態(tài)周期(指令周期):包含若干個節(jié)拍周期,可以用一個觸發(fā)器的狀態(tài)持續(xù)時間來表示節(jié)拍電位(機器周期):表示一個CPU周期的時間,包含若干個節(jié)拍脈沖節(jié)拍脈沖(時鐘周期):表示較小的時間單位

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)定地翻轉即可。節(jié)拍脈沖節(jié)拍電位1主狀態(tài)周期節(jié)拍電位2主狀態(tài)周期-節(jié)拍電位-節(jié)拍脈沖

IORQMREQRDWET1T2T3T4

IORQ°MREQ°RD°WE°T1°T2°T3°T4°MERQ’IORQ’RD’WR’Φ提供頻率穩(wěn)定且電平匹配的方波時鐘脈沖信號由石英晶體振蕩器組成產(chǎn)生一組有序的間隔相等或不等的脈沖序列啟動停機時序信號產(chǎn)生器

啟??刂七壿嫻?jié)拍脈沖和讀寫時序譯碼邏輯環(huán)形脈沖發(fā)生器時鐘脈沖源時序部件能產(chǎn)生一定的時序信號,以保證機器的各功能部件有節(jié)奏地進行信息傳送、加工及信息存儲。包括:⑴脈沖源產(chǎn)生具有一定頻率和寬度的時鐘脈沖信號,為整個機器提供基準信號。⑵啟??刂七壿媶⑼?刂七壿嫷淖饔檬歉鶕?jù)計算機的需要,可靠地開放或封鎖脈沖,控制時序信號的發(fā)生或停止,實現(xiàn)對整個機器的正確啟動或停止。⑶節(jié)拍信號發(fā)生器節(jié)拍信號發(fā)生器又稱脈沖分配器。脈沖源產(chǎn)生的脈沖信號,經(jīng)過節(jié)拍信號發(fā)生器后產(chǎn)生出各個機器周期中的節(jié)拍信號,用以控制計算機完成每一步微操作。一條指令的取出和執(zhí)行可以分解成很多最基本的操作,這種最基本的不可再分割的操作稱為微操作。微操作信號發(fā)生器也稱為控制單元(CU)。不同的機器指令具有不同的微操作序列。4.中斷控制邏輯

中斷控制邏輯是用來控制中斷處理的硬件邏輯。有關中斷的問題將在中斷章節(jié)中專門進行討論。3.微操作信號發(fā)生器五、控制器的控制方式1.同步控制方式

同步控制方式即固定時序控制方式,各項操作都由統(tǒng)一的時序信號控制,在每個機器周期中產(chǎn)生統(tǒng)一數(shù)目的節(jié)拍電位和工作脈沖。由于不同的指令,操作時間長短不一致。同步控制方式應以最復雜指令的操作時間作為統(tǒng)一的時間間隔標準。控制方式CPU周期取指周期CPU周期取源數(shù)CPU周期取目標數(shù)CPU周期執(zhí)行周期P0P1P2W0W1同步控制方式這種控制方式設計簡單,容易實現(xiàn);但是對于許多簡單指令來說會有較多的空閑時間,造成較大數(shù)量的時間浪費,從而影響了指令的執(zhí)行速度。

在同步控制方式中,各指令所需的時序由控制器統(tǒng)一發(fā)出,所有微操作都與時鐘同步,所以又稱為集中控制方式或中央控制方式。1.同步控制方式(續(xù))異步控制方式即可變時序控制方式,各項操作不采用統(tǒng)一的時序信號控制,而根據(jù)指令或部件的具體情況決定,需要多少時間,就占用多少時間。

這是一種“應答”方式,各操作之間的銜接是由“結束-起始”信號來實現(xiàn)的。由前一項操作已經(jīng)完成的“結束”信號,或由下一項操作的“準備好”信號來作為下一項操作的起始信號,在未收到“結束”或“準備好”信號之前不開始新的操作。2.異步控制方式異步控制采用不同時序,沒有時間上的浪費,因而提高了機器的效率,但是控制比較復雜。

由于這種控制方式?jīng)]有統(tǒng)一的時鐘,而是由各功能部件本身產(chǎn)生各自的時序信號自我控制,故又稱為分散控制方式或局部控制方式。2.異步控制方式(續(xù))W0W1…Wi第N條指令結束應答W0W1…Wj第N+1條指令結束應答啟動下一條W0W1…Wk第N+2條指令結束應答異步控制方式啟動下一條i、j、k不一定相等一般采用兩條定時控制線:“請求”線和“回答”線演示這是同步控制和異步控制相結合的方式。實際上現(xiàn)代計算機中幾乎沒有完全采用同步或完全采用異步的控制方式,大多數(shù)是采用聯(lián)合控制方式。通常的設計思想是:在功能部件內部采用同步方式或以同步方式為主的控制方式,在功能部件之間采用異步方式。3.聯(lián)合控制方式控制器在實現(xiàn)一條指令的功能時,總要把每條指令分解成為一系列時間上先后有序的最基本、最簡單的微操作,即微操作序列。微操作序列是與CPU的內部數(shù)據(jù)通路密切相關的,不同的數(shù)據(jù)通路就有不同的微操作序列。假設規(guī)定各部件用大寫字母表示,字母加下標in表示該部件的接收控制信號,實際上就是該部件的輸入開門信號;字母加下標out表示該部件的發(fā)送控制信號,實際上就是該部件的輸出開門信號。復習:指令的微操作序列六、微程序控制器

微程序控制器它利用軟件方法(微程序設計技術)來設計硬件微程序控制的基本思想就是把操作控制信號編成所謂的“微指令”,存放到一個只讀存儲器里(控制存儲器CM)。當機器運行時,一條又一條地讀出這些微指令,從而產(chǎn)生全機所需要的各種操作控制信號,是相應部件執(zhí)行所規(guī)定的操作微程序設計技術的實質是將程序設計技術和存儲技術相結合,即用程序設計的思想方法來組織操作控制邏輯,將微操作控制信號按一定規(guī)則進行信息編碼(代碼化),形成控制字(微指令),再把這些微指令按時間先后排列起來構成微程序,存放在一個只讀的控制存儲器中。微命令→指令系統(tǒng)處理器內部可以分為:控制部件和執(zhí)行部件微命令:控制部件向執(zhí)行部件發(fā)出的控制命令微操作:執(zhí)行部件接受微命令后所進行的操作 (微操作在執(zhí)行部件中是最基本的操作)微指令:實現(xiàn)一定操作功能的一組微命令微程序:實現(xiàn)一條機器指令功能的微指令序列指令系統(tǒng)=所有指令,指令=微程序微程序=若干微指令,微指令=一組微命令微命令→微操作⑴微命令和微操作一條機器指令可以分解成一個微操作序列,這些微操作是計算機中最基本的、不可再分解的操作。在微程序控制的計算機中,將控制部件向執(zhí)行部件發(fā)出的各種控制命令叫做微命令,它是構成控制序列的最小單位。例如:打開或關閉某個控制門的電位信號、某個寄存器的打入脈沖等。因此,微命令是控制計算機各部件完成某個基本微操作的命令?;拘g語微命令和微操作是一一對應的。微命令是微操作的控制信號,微操作是微命令的操作過程。

微命令有兼容性和互斥性之分。兼容性微命令是指那些可以同時產(chǎn)生,共同完成某一些微操作的微命令;而互斥性微命令是指在機器中不允許同時出現(xiàn)的微命令。兼容和互斥都是相對的,一個微命令可以和一些微命令兼容,和另一些微命令互斥。對于單獨一個微命令,談論其兼容和互斥都是沒有意義的。機器指令與微指令程序機器指令1機器指令2機器指令i機器指令n……..………微指令2微指令1微指令i微指令n……..……..微程序⑵微指令、微地址

微指令是指控制存儲器中的一個單元的內容,即控制字,是若干個微命令的集合。存放控制字的控制存儲器的單元地址就稱為微地址。

一條微指令通常包含兩部分:

①操作控制字段,又稱微操作碼字段,用以產(chǎn)生某一步操作所需的各微操作控制信號;

②順序控制字段,又稱微地址碼字段,用以控制產(chǎn)生下一條要執(zhí)行的微指令地址。基本術語⑶微周期

從控制存儲器中讀取一條微指令并執(zhí)行相應的微命令所需的全部時間稱為微周期。⑷微程序

一系列微指令的有序集合就是微程序。每一條機器指令都對應一個微程序。基本術語(續(xù))微程序和程序是兩個不同的概念。微程序是由微指令組成的,用于描述機器指令,微程序實際上是機器指令的實時解釋器,是由計算機的設計者事先編制好并存放在控制存儲器中的,一般不提供給用戶。對于程序員來說,計算機系統(tǒng)中微程序一級的結構和功能是透明的,無須知道。而程序最終由機器指令組成,是由軟件設計人員事先編制好并存放在主存或輔存中的。所以說,微程序控制的計算機涉及到兩個層次:一個是機器語言或匯編語言程序員所看到的傳統(tǒng)機器層,包括:機器指令、工作程序、主存儲器;另一個是機器設計者看到的微程序層,包括:微指令、微程序和控制存儲器。

2.基本術語(續(xù))通常,一條機器指令對應一個微程序。由于任何一條機器指令的取指令操作都是相同的,因此將取指令操作的微命令統(tǒng)一編成一個微程序,這個微程序只負責將指令從主存單元中取出送至指令寄存器中。此外,也可以編出對應間址周期的微程序和中斷周期的微程序。這樣,控制存儲器中的微程序個數(shù)應為機器指令數(shù)再加上對應取指、間址和中斷周期等公用的微程序數(shù)。機器指令對應的微程序程序計數(shù)器PC地址寄存器AR緩沖寄存器DR指令寄存器IR微地址寄存器μAR微指令寄存器μIR主存儲器控制存儲器CM微命令地址譯碼器地址譯碼機器指令級微指令級1.微程序控制器的基本組成

如圖給出了一個微程序控制器基本結構的簡化框圖,在圖中主要畫出了微程序控制器比組合邏輯控制器多出的部件,包括以下幾個部分:控制存儲器、微指令寄存器、微地址形成部件、微地址寄存器等。微程序控制器的組成和工作過程微程序控制器的基本結構微程序控制器的基本結構⑴控制存儲器(CM)

這是微程序控制器的核心部件,用來存放微程序。⑵微指令寄存器(IR)

用來存放從CM中取出的微指令。⑶微地址形成部件

用來產(chǎn)生初始微地址和后繼微地址。⑷微地址寄存器(MAR)

接受微地址形成部件送來的微地址,為在CM中讀取微指令做準備。1.微程序控制器的基本組成①執(zhí)行取指令公共操作。取指令的公共操作通常由一個取指微程序來完成,這個取指微程序也可能僅由一條微指令組成。具體的執(zhí)行是:在機器開始運行時,自動將取指微程序的入口微地址送MAR,并從CM中讀出相應的微指令送入IR。微指令的操作控制字段產(chǎn)生有關的微命令,用來控制計算機實現(xiàn)取機器指令的公共操作。取指微程序的入口地址一般為CM的0號單元,當取指微程序執(zhí)行完后,從主存中取出的機器指令就已存入指令寄存器IR中了。2.微程序控制器的工作過程②由機器指令的操作碼字段通過微地址形成部件產(chǎn)生該機器指令所對應的微程序的入口地址,并送入MAR。

③從CM中逐條取出對應的微指令并執(zhí)行之。

④執(zhí)行完對應于一條機器指令的一個微程序后又回到取指微程序的入口地址,繼續(xù)第①步,以完成取下一條機器指令的公共操作。以上是一條機器指令的執(zhí)行過程,如此周而復始,直到整個程序執(zhí)行完畢為止。2.微程序控制器的工作過程(續(xù))微程序設計控制單元的主要任務是編寫對應各條機器指令的微程序,具體步驟是首先寫出對應機器指令的全部微操作節(jié)拍安排,然后確定微指令格式,最后編寫出每條微指令的二進制代碼。微程序控制單元設計⑴確定微程序控制方式

根據(jù)計算機系統(tǒng)的性能指標(主要是速度)確定微程序控制方式。⑵擬定微命令系統(tǒng)

初步擬定微命令系統(tǒng),并同時進行微指令格式的設計,包括微指令字段的劃分、編碼方式的選擇、初始微地址和后繼微地址的形成等等。1.微程序控制單元的設計步驟⑶編制微程序

對微命令系統(tǒng)、微指令格式進行反復的核對和審查,并進行適當?shù)男薷?;對重復和多余的微指令進行合并和精簡,直至編制出全部機器指令的微程序為止。⑷微程序代碼化

將修改完善的微程序轉換成二進制代碼,這一過程稱為代碼化或代真。⑸寫入控制存儲器最后將一串串二進制代碼按地址寫入控制存儲器的對應單元。1.微程序控制單元的設計步驟(續(xù))微指令可以分成操作控制字段和順序控制字段兩大部分。這里所說的微指令編碼法指的就是操作控制字段的編碼方法。各類計算機從各自的特點出發(fā),設計了各種各樣的微指令編碼法。

例如:大型機強調速度,要求譯碼過程盡量快;微、小型機則更多地注意經(jīng)濟性,要求更大限度地縮短微指令字長;而中型機介于這兩者之間,兼顧速度和價格,要求在保證一定速度的情況下,能盡量縮短微指令字長。微指令編碼法

操作控制字段中的各位分別可以直接控制計算機,無須進行譯碼。在這種形式的微指令字中,操作控制字段的每一個獨立的二進制位代表一個微命令,該位為“1”表示這個微命令有效,為“0”則表示這個微命令無效。每個微命令對應并控制數(shù)據(jù)通路中的一個微操作。1.直接控制法(不譯碼法)這種方法結構簡單,并行性強,操作速度快,但是微指令字太長。若微命令的總數(shù)為N個,則微指令字的操作控制字段就要有N位。在某些計算機中,微命令的總數(shù)可能會多達三、四百個,甚至更多,這使微指令的長度達到難以接受的地步。

另外,在N個微命令中,有許多是互斥的,不允許并行操作,將它們安排在一條微指令中是毫無意義的,只會使信息的利用率下降。所以這種方法在復雜的系統(tǒng)中很少單獨采用,往往與其他編碼方法混合起來使用。1.直接控制法(續(xù))這種方法將操作控制字段分為若干個小段,每段內采用最短編碼法,段與段之間采用直接控制法。⑴

字段直接編碼法各字段都可以獨立地定義本字段的微命令,而和其他字段無關,因此又稱為顯式編碼或單重定義編碼方法。這種方法縮短了微指令字,因此得到了廣泛的應用。2.字段編碼法字段直接編碼法⑵

字段間接編碼法

字段間接編碼法是在字段直接編碼法的基礎上,用來進一步縮短微指令字長的方法。間接編碼的含義是,一個字段的某些編碼不能獨立地定義某些微命令,而需要與其他字段的編碼來聯(lián)合定義,因此又稱為隱式編碼或多重定義編碼方法。3.字段編碼法(續(xù))字段間接編碼法圖6-11字段間接編碼法

字段編碼法中操作控制字段的分段原則:

①把互斥性的微命令分在同一段內,兼容性的微命令分在不同段內。這樣不僅有助于提高信息的利用率,縮短微指令字長,而且有助于充分利用硬件所具有的并行性,加快執(zhí)行的速度。

②應與數(shù)據(jù)通路結構相適應。

③每個小段中包含的信息位不能太多,否則將增加譯碼線路的復雜性和譯碼時間。

④一般每個小段還要留出一個狀態(tài),表示本字段不發(fā)出任何微命令。因此當某字段的長度為三位時,最多只能表示七個互斥的微命令,通常用000表示不操作。3.字段編碼法(續(xù))對于指令的執(zhí)行,可有幾種控制方式:順序方式、重疊方式、先行控制及流水線控制方式。順序方式指的是各條機器指令之間順序串行的執(zhí)行,即執(zhí)行完一條指令后,方可取出下一條指令來執(zhí)行。這種方式控制簡單,但速度慢,機器各部件的利用率低。為了加快指令的執(zhí)行速度,充分利用計算機系統(tǒng)的硬件資源,提高機器的吞吐率,計算機中常采用重疊方式、先行控制方式,以及流水線控制方式。流水線技術通常,一條指令的執(zhí)行過程可以分為3個階段:取指、分析、執(zhí)行。假定每個階段所需的時間為t,采用順序方式執(zhí)行n條指令所需的時間為T=3nt

最早出現(xiàn)的重疊是“取指K+1”和“執(zhí)行K”在時間上的重疊,稱為一次重疊,這將使處理機速度有所提高,所需執(zhí)行時間減少為T=3t+(n-1)2t=(2n+1)t重疊控制如果進一步增加重疊,使“取指K+2”、“分析K+1”和“執(zhí)行K”重疊起來,稱為二次重疊,則處理機速度還可以進一步提高,所需執(zhí)行時間減少為:T=3t+(n-1)t=(2+n)t為了在“執(zhí)行K”時同時完成“分析K+1”和“取指K+2”的工作,應把控制器分解為存儲控制器、指令控制器、運算控制器。

重疊控制(續(xù))先行控制是重疊控制的一種改進方式。在重疊控制中,“執(zhí)行K”和“分析K+1”重疊,如果所有指令的“分析”與“執(zhí)行”的時間均相等,則重疊的流程是非常流暢的,無任何阻礙,機器的指令分析部件和執(zhí)行部件功能充分地發(fā)揮,機器的速度也能顯著地提高。但是,現(xiàn)代計算機的指令系統(tǒng)很復雜,各種類型指令難于做到“分析”與“執(zhí)行”時間始終相等。此時,各個階段的控制部件就有可能出現(xiàn)間斷等待的問題。這樣,指令的分析部件和執(zhí)行部件都不能連續(xù)地、流暢地工作,從而使機器的整體速度受到影響。先行控制原理

為了使各部件能連續(xù)地工作,則提出先行控制的方式。圖6-22中“分析”和“執(zhí)行”階段之間有等待的時間間隔Δt,但它們各自的流程中卻是連續(xù)的。先行控制的主要目的是使各階段的專用控制部件不間斷的工作,以提高設備的利用率及執(zhí)行速度。先行控制原理(續(xù))流水處理技術是在重疊、先行控制方式的基礎上發(fā)展起來的,它基于重疊的原理,但卻是在更高程度上的重疊。1.流水線

流水線是將一個較復雜的處理過程分成m個復雜程度相當、處理時間大致相等的子過程,每個子過程由一個獨立的功能部件來完成,處理對象在各子過程連成的線路上連續(xù)流動。在同一時間,m個部件同時進行不同的操作,完成對不同子過程的處理。流水工作原理這種方式類似于現(xiàn)代工廠的生產(chǎn)流水線,在那里每隔一段時間(Δt)從流水線上流出一個產(chǎn)品,而生產(chǎn)這個產(chǎn)品的總時間要比Δt大得多。由于流水線上各部件并行工作,同時對多條指令進行解釋執(zhí)行,機器的吞吐率將大大提高。

1.流水線(續(xù))

流水CPU洗衣房的流水作業(yè)三個階段:1.水洗(30)2.烘干(40)3.熨燙(20)ABCD6PM789TaskOrderTime304040404020

流水CPU

指令流水線

IF(InstructionFetch) 取指令階段ID(InstructionDecode) 指令譯碼階段EX(Execute) 執(zhí)行運算階段MEM(MemoryAccess) 存儲器訪問階段WB(WriteBack) 寫回結果階段WB流水線的時空圖流水線技術:把一個重復的過程分解為若干個子過程,每個子程序可以與其他子過程同時進行描述流水線的工作,最常用的方法是時間-空間圖(時空圖)橫坐標:表示時間,即各個任務在流水線中所經(jīng)過的時間縱坐標:表示空間,即流水線的各個子過程,也稱為級、段、流水線深度(Stage)非流水計算機的時空圖每4個機器周期才有一個輸出結果流水計算機的時空圖每個機器周期可以輸出一個結果

并行處理技術并行性(Parallelism): 在同一時刻或是同一時間間隔內完成兩種或兩種以上性質相同或不相同的工作同時性(Simultaneity):同一時刻發(fā)生的并行性并發(fā)性(Concurrency):同一個時間間隔內發(fā)生的并行性并行性的等級指令內部并行:微操作之間指令級并行(ILP:InstructionLevelParallel)線程級并行(TLP:ThreadLevelParallel)程序級并行系統(tǒng)級并行:分布式系統(tǒng)、多機系統(tǒng)、機群系統(tǒng)提高并行性的技術途徑時間重疊(Time-interleaving)=時間并行

多個過程在時間上相互錯開,輪流重疊地使用同一套硬件設備的各個部分資源重復(Resource-replication)=空間并行 通過重復設置資源(尤其是硬件資源),提高性能資源共享(Resource-sharing)

使多個任務按一定時間順序輪流使用同一套硬件設備⑴按處理級別分類流水線按處理級別可分為操作部件級、指令級和處理機級三種。操作部件級流水線是將復雜的算邏運算組成流水線工作方式。指令級流水線則是將指令的整個執(zhí)行過程分成多個子過程。處理機級流水線又稱為宏流水線,這種流水線由兩個或兩個以上處理機通過存儲器串行連接起來,每個處理機對同一數(shù)據(jù)流的不同部分分別進行處理。各個處理機的輸出結果存放在與下一個處理機所共享的存儲器中。每個處理機完成某一專門任務。圖6-24為處理機級流水線。2.流水線分類⑵按功能分類

流水線按功能可分成單功能流水線和多功能流水線兩種。單功能流水線只能實現(xiàn)一種固定的功能。多功能流水線則可有多種連接方式來實現(xiàn)多種功能。2.流水線分類(續(xù))⑶按工作方式分類靜態(tài)流水線在同一時間內只能以一種方式工作。它可以是單功能的,也可以是多功能的。當是多功能流水線,且從一種功能方式變?yōu)榱硪环N功能方式時,必須先排空流水線,然后為另一種功能設置初始條件后方可使用。顯然,不希望這種功能的轉換頻繁發(fā)生,否則將嚴重影響流水線的處理效率。動態(tài)流水線則允許在同一時間內將不同的功能段連接成不同的功能子集,以完成不同的功能。顯然,動態(tài)流水線必是多功能流水線,而單功能流水線必是靜態(tài)的。2.流水線分類(續(xù))⑷按流水線結構分類流水線按結構分為線性流水線和非線性流水線兩種。在線性流水線中,從輸入到輸出,每個功能段只允許經(jīng)過一次,不存在反饋回路。一般的流水線均屬這一類。非線性流水線除有串行連接通路外,還有反饋回路,在流水過程中,某些功能段要反復多次使用。非線性流水線常用于遞歸或組成多功能流水線。2.流水線分類(續(xù))流水線的特點流水線實際上是把一個功能部件分解成多個獨立的子功能部件(一個任務也就分成了幾個子任務,每個子任務由一個子功能部件完成),并依靠多個子功能部件并行工作來縮短所有任務的執(zhí)行時間流水線有助于提高整個程序(所有任務)的吞吐率,但并沒有減少每個指令(任務)的執(zhí)行時間流水線各個功能段所需時間應盡量相等。否則,時間長的功能段將成為流水線的“瓶頸”,會造成流水線的“阻塞”(Stall)

流水線中的主要問題流水線中存在一些相關(沖突、冒險Hazard,相關、依賴Dependence,競爭Competition)的情況,它使得下一條指令無法在設計的時鐘周期內執(zhí)行。這些相關將降低流水線性能主要有三種類型的相關(沖突)結構相關(

溫馨提示

  • 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

提交評論