計算機(jī)組成原理第5章 中央處理器_第1頁
計算機(jī)組成原理第5章 中央處理器_第2頁
計算機(jī)組成原理第5章 中央處理器_第3頁
計算機(jī)組成原理第5章 中央處理器_第4頁
計算機(jī)組成原理第5章 中央處理器_第5頁
已閱讀5頁,還剩98頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

M

9林

*

IF~

A介紹CPU的功能和組成;

A通過具體例子介紹指令周期的概念,深入了解指令的執(zhí)行過

程;

A簡單介紹時序產(chǎn)生器和控制方式;

A詳細(xì)介紹微程序控制器的原理和設(shè)計技術(shù);.

A簡單介紹硬布線控制器的設(shè)計思想;

A了解傳統(tǒng)CPU的結(jié)構(gòu)的基礎(chǔ)上,進(jìn)一步了解流水CPU、RISC

CPU、多媒體CPU等先進(jìn)的計算機(jī)科學(xué)技術(shù)。

本拿的重點:便一步理繇CPU的為成、交成施合的過程,忽制器

的實的技術(shù)-----微程序相制拔木O

2

,IVK^S

5.1CPU的功能和組成

TO1g,?丁sr——hr-m

ACPU的功能

ACPU的基本組成

ACPU中的主要寄存器(簡單介紹)

ACPU操作控制器與時序產(chǎn)生器

淖FTG*"TIT化;TftTfE

:Bac^snx十

*

CPU是利用大規(guī)模集成電路技術(shù),把運算器

和控制器集成在一片芯片上,是微型計算機(jī)中的運

算控制部件,它本身不具備微型計算機(jī)硬件的全部

功能,即其本身不構(gòu)成獨立工作系統(tǒng),因此它不能

獨立地執(zhí)行程序。CPU其主要任務(wù)是執(zhí)行指令序列,

對系統(tǒng)的各個部件進(jìn)行統(tǒng)一的協(xié)調(diào)和控制。通常由

算術(shù)邏輯部件(ALU)、控制部件、寄存器組等幾

部分組成。

1、CPU的功能修合

:TTftr-n;£"rF<EJ7ZHTT^?SSCQ

CPU是計算機(jī)的核心組成部分,裝入內(nèi)存的程序在

CPU的控制下,完成取出指令和執(zhí)行指令的任務(wù)。

CPU的基本功能:

O指令控制:程序的順序控制,保證機(jī)器按順序執(zhí)行程序,

(如何保證:CPU內(nèi)部設(shè)置了程序計數(shù)器等部分)

?操作控制:管理并產(chǎn)生完成指令執(zhí)行操作所需的控制信號,

把這些信號送往相應(yīng)的部件,控制這些部件按指令的要求

進(jìn)行動作。

0時間控制:對各種操作實施時間上的定時,保證計算機(jī)有

條不紊地自動工作。

9數(shù)據(jù)加工:對數(shù)據(jù)進(jìn)行算術(shù)運算和邏輯運算處理。

2、CPU的基本組成?

傳統(tǒng)CPU:運算器、控制器。

現(xiàn)代CPU:運算器、Cache和控制器。

?控制器的主要功能:

?從內(nèi)存中取出一條指令,并指出下一條指令在內(nèi)存中的

位置。

?對指令進(jìn)行譯碼或測試,并產(chǎn)生相應(yīng)的操作控制信號,

以便啟動規(guī)定的動作。

?指揮并控制CPU、內(nèi)存和輸入/輸出設(shè)備之間數(shù)據(jù)流動

的方向。

?控制器的組成:程序計數(shù)器、指令寄存器、指令譯碼器、

b時序產(chǎn)生器和操作控制器。

6

8086內(nèi)部結(jié)構(gòu)圖

執(zhí)行部分

123456

ALU/控制電路8位

指令隊列緩沖器

標(biāo)志寄存器

7

3、CPU中的主要寄存器

MWSM■■MMtS*aaiav■■■■■

CPU中最基本寄存器:

?指令寄存器(IR):保存正在執(zhí)行的指令

?程序計數(shù)器(PC):存放要執(zhí)行的指令的地址

O地址寄存器(AR):保存當(dāng)前所要訪問的內(nèi)存單元的地址

?數(shù)據(jù)緩沖寄存器(DR):

?作為CPU和內(nèi)存、外圍設(shè)備之間信息傳送的中轉(zhuǎn)站;

?補償CPU和內(nèi)存、外圍設(shè)備之間在操作速度上的差別;

?在單累加器結(jié)構(gòu)的運算器中,數(shù)據(jù)緩沖寄存器還可兼作

操作數(shù)寄存器。

?累加寄存器(AC):暫時存放ALU運算的結(jié)果信息

o狀態(tài)條件寄存器(PSW):

4、CPU操作控制器與時序產(chǎn)生器

?操作控制器的功能:根據(jù)指令操作碼和時序信號,產(chǎn)生各

種操作控制信號,以正確建立數(shù)據(jù)通路,完成取指令和執(zhí)

?行指令的控制。'

?根據(jù)設(shè)計方法不同,操作控制器可分為:

(1)硬布線控制器:采用組合邏輯技術(shù)來實現(xiàn);

(2)微程序控制器:采用存儲邏輯來實現(xiàn);

(3)門陣列控制器:吸收前兩種的設(shè)計思想來實現(xiàn)的。

本章重點介紹微程序控制器.

O時序產(chǎn)生器:產(chǎn)生對控制信號進(jìn)行時間上控制的定時信號.

5.2指令周期

o指令周期的基本概念

o幾種典型指令的指令周期分析

?CLA指令的指令周期

?ADD指令的指令周期

?STA指令的指令周期

?NOP指令和JMP指令的指令周期

?用方框圖語言表示指令周期

:LXK^S

-3

n

o

u

1、指令周期的基本概念*

?指令周期:取出并執(zhí)行一條指令的時間。-

程序的執(zhí)行過程(圖5.2):取指一執(zhí)行指令一再取指令一執(zhí)行指令...

各種指令的操作功能不同,其指令周期不盡相同。_

?機(jī)器周期:也稱CPU周期。

指令周期由若干個CPU周期組成。

通常:用內(nèi)存中讀取一個指令字的最短時間來規(guī)定CPU周期。

0時鐘周期:常稱為節(jié)拍。一個CPU周期又包含若干個時鐘周期,

它是處理操作的最基本單位。

算術(shù)邏輯單元

圖5.6h條指令的取指和執(zhí)行過程執(zhí)行指令控制

地址總線ABUS

第五條JMP指令,將地址碼部分21送到程序計數(shù)第下一條

指令從內(nèi)存21m兀開始執(zhí)行,改變門京先執(zhí)行聯(lián)序.

2、幾種典型指令周期分析——CLA*

?CLA指令功能:清累加器。是一個非訪內(nèi)指令。

0取指令階段,CPU完成三件事:

⑴從內(nèi)存取出指令;

(2)對程序計數(shù)器PC加1,為取下一條指令做好準(zhǔn)備;

(3)對指令操作碼進(jìn)行譯碼或測試,以確定進(jìn)行什么操作。

?執(zhí)行指令階段:CPU根據(jù)對指令操作碼的譯碼或測試,進(jìn)

行指令所要求的操作。

小結(jié):CLA指令的指令周期包括一個CPU周期的取指令和一

個CPU周期的執(zhí)行指令,共需兩個CPU周期。

取指令周期

執(zhí)行周期

S=-73tE-^£.

幾種典型指令周期分析(ADD)?

OADD30指令功能:取存儲單元(30)中的操作數(shù)和累加器的內(nèi)

容相加,結(jié)果送累加器。這是一條訪問內(nèi)存取數(shù)并執(zhí)行加法

的指令。

O取指令

?執(zhí)行指令:

?將操作數(shù)的地址送往地址寄存器

?把地址寄存器的內(nèi)容(30)送到地址總線;

?經(jīng)譯碼從內(nèi)存取出操作數(shù)(06)送往數(shù)據(jù)緩沖器;

?執(zhí)行相加的操作。

小結(jié):ADD指令功能由三個CPU周期組成:取指、送操作數(shù)地

4址、去操作數(shù)進(jìn)行相加運算并將結(jié)果放回累加器。

18~r~r?j~~~j~~'rre\

-IVK^S\:Li&zT-

ADD指令的指令周期

幾種典型指令周期分析(STA)

OSTA40指令的功能:把累加器內(nèi)容送存儲單元(40)。這

是一條訪內(nèi)存存數(shù)指令。

O取指令

?執(zhí)行指令:

?將操作數(shù)的地址送往地址寄存器;

?累加器的內(nèi)容送到數(shù)據(jù)緩沖寄存器DR;

?把地址寄存器的內(nèi)容(40)送到地址總線;

?把數(shù)據(jù)緩沖寄存器的內(nèi)容送到數(shù)據(jù)總線;

?數(shù)據(jù)總線上的數(shù)寫入選中的存儲單元(40)o

具體過程描述如圖

小結(jié):它由三個CPU周期組成。

22

,IVKJS

第三條指令STA執(zhí)行的功能是把和數(shù)006存入內(nèi)存單元40.

STA指令的指令周期

24

幾種典型指令周期分析(NOP和JMP)名、?

ONOP:空操作指令。在第二CPU周期中不發(fā)出任何

控制信號。

?JMP指令是一個程序控制指令,在執(zhí)行周期中只是

改變了PC的內(nèi)容。

算術(shù)邏輯單元

圖5.6h條指令的取指和執(zhí)行過程執(zhí)行指令控制

地址總線ABUS

第五條JMP指令,將地址碼部分21送到程序計數(shù)第下一條

指令從內(nèi)存21m兀開始執(zhí)行,改變門京先執(zhí)行聯(lián)序.

幾種典型指令周期分析

小結(jié):

?指令周期分取指令周期、執(zhí)行指令周期兩大部分;

0執(zhí)行指令時間的長短不同,可能包括一?三個CPU周期;

?執(zhí)行周期中CPU周期的劃分原則:總線及控制不沖突。

27

3、用方框圖語言表示指令周期?

o規(guī)則:

?方框代表一個CPU周期,其內(nèi)容表示數(shù)據(jù)通路的操作或

某種控制操作。

?菱形表示某種判斷或測試,時間上依附于它前面方框的

CPU周期,不單獨占用一個CPU周期。

?“?”表示公操作,指一條指今執(zhí)行完畢后,CPU所開

始進(jìn)行的一些操作。這些操作可能是CPU對外設(shè)請求的

處理,如中斷處理、通道處理等,若沒有外設(shè)請求,

CPU將轉(zhuǎn)入下一個“取指令”。因此取指令也可以認(rèn)為

是公操作。

幺前面五條指令用方框圖語言表示的指令周期見圖。

?,..........…….

28—??…,個

:IVK^S:iAeZ十

1

指令周期分析及方框圖表示示例

【例1】圖5.15所示為雙總線結(jié)構(gòu)機(jī)器的數(shù)據(jù)通路,IR為指令寄

存器,PC為程序計數(shù)器(具有自增功能),M為主存(受R/W信

號控制),AR為地址寄存器,DR為數(shù)據(jù)緩沖寄存器,ALU由

加、減控制信號決定完成何種操作,控制信號G控制的是一

個門電路。另夕卜,線上標(biāo)注有小圈表示有控制信號,例中yi

表示y寄存器的輸入控制信號,RIo為寄存器R1的輸出控制信

號,未標(biāo)字符的線為直通線,不受控制。

(1)?ADDRrRo”指令完成(Ro)+(Rz)一%的功能操作,畫出其指

令周期流程圖,假設(shè)該指令的地址已放入PC中。并列出相應(yīng)

的微操作控制信號序列。

(2)“SUBRPR3”指令完成(R3ZR1)一R3的操作,畫出其指令期

物充程圖,并列出相應(yīng)的微操作控制信號序列

30

?IVKDS:gGZ十

11

II

|\|\

I

5.3時序產(chǎn)生器和控制方式

7^"后:二i唯'『罡:'噌'『手力呻二手\電"7"^"

一、時序信號的作用和體制

二、時序信號產(chǎn)生器

三、控制方式

n言Kgzz清ErF=cjT^c_^3<E_^Qp|r丁府任虹HRE

;IVxds:Ut&xT

一、時序信號的作用和體制(1)為、、*

對時序信號的理解:

CPU的“作息時間”表。機(jī)器一旦啟動,CPU開始取指令并

執(zhí)行指令,操作控制器就利用定時脈沖的順序和不同的脈沖間

隔,有步驟地指揮各部件工作,規(guī)定在這一脈沖到來之前做什

么,在另一脈沖到來之前又做什么。

一般來說,操作控制器發(fā)出的各種控制信號都是時間因素

(時序信號)和空間因素(部件位置)的函數(shù)。

思考:用二進(jìn)制碼表示的指令和數(shù)據(jù)都放在內(nèi)存里,那么CPU

是怎樣識別出它們是數(shù)據(jù)還是指令呢?

時間、空間

一、時序信號的作用和體制(2)V公?

時序信號的體制:

一個CPU周期中要劃分為若干個小段,每一個小段中

應(yīng)該做什么有嚴(yán)格規(guī)定。

根據(jù)組成計算機(jī)硬件的器件的特性,微程序控制器中

的時序信號最基本的體制是節(jié)拍電位-節(jié)拍脈沖制。一個

節(jié)拍電位表示一個CPU周期,節(jié)拍脈沖把一個CPU周期劃

分成幾個較小的時間間隔。

二、時序信號產(chǎn)生器《務(wù)

微程序控制器的時序信號產(chǎn)生器(P142圖5.17):

由時鐘源、環(huán)形脈沖發(fā)生器、節(jié)拍脈沖和讀寫時序譯碼邏

輯、啟停控制邏輯等部分組成。

?IVxds;U&ZT

'—

RDWETiT2T3T4

圖5.17時序信號產(chǎn)生器框圖

37圖5.18環(huán)形脈沖發(fā)生器與譯碼邏輯

IJC;J\

節(jié)拍電位與節(jié)拍脈沖時序關(guān)系圖

38CPU周期CPU周期

圖5.20啟??刂七壿?/p>

三、控制方式(1)

控制器的控制方式指形成不同操作序列的時序信號的

控制方法。有同步控制、異步控制、聯(lián)合控制三種方式。

?同步控制方式:

在任何情況下,已定的指令在執(zhí)行時所需的機(jī)器周期數(shù)和時

鐘周期數(shù)都固定不變。

0異步控制方式:

?每條指令、每個操作控制信號需要多少時間就占用多少時

間。一

?采用應(yīng)答方式。

三、控制方式(2)

0聯(lián)合控制方式:上述兩種情況的結(jié)合。

?大部分操作序列安排在固定的機(jī)器周期中,對某些時間

難以確定的操作則以執(zhí)行部件的“回答”信號作為本次

操作的結(jié)束。.

?機(jī)器周期的節(jié)拍脈沖數(shù)固定,但是各條指令周期的機(jī)器

周期數(shù)不固定。

5.4微程序控制器

引言

?基本思想:利用軟件方法設(shè)計硬件。即仿照通常的解題程

,序的方法,把操作控制信號編成所謂的“微指令”,存放

到一個只讀存儲器里。當(dāng)機(jī)器運行時,一條又一條地讀出

..這些微指令,從而產(chǎn)生全機(jī)所需要的各種操作控制信號,

使相應(yīng)部件執(zhí)行所規(guī)定的操作。

?微程序控制器特點:具有規(guī)整性、靈活性、可維護(hù)性等一

系列優(yōu)點。

,IVKJS

主要內(nèi)容:

一、基本概念:

4-微命令和微操作

,微指令和微程序.

二、微程序控制器原理

-三、微程序設(shè)計舉例

四、兩種關(guān)系:

CPU周期與微指令周期的關(guān)系

機(jī)器指令與微指令的關(guān)系

43

一、微命令和微操作(1)

W**■■MV?BHW

?計算機(jī)的兩大組成部件:

?控制部件:控制器。

?執(zhí)行部件:運算器、存儲器、外設(shè)相對來說是執(zhí)行部

■微命令:控制部件通過控制線向執(zhí)行部件發(fā)出各種控制命令;

■微操作:執(zhí)行部件接受微命令后所進(jìn)行的操作。

44

:Bac^sG二十

一、微命令和微操作(2)

根據(jù)數(shù)據(jù)通路的結(jié)構(gòu)關(guān)系,微操作的相容性和相斥性:

?相容性的微操作:在同時或同一個CPU周期內(nèi)可以并行執(zhí)

“行的微操作;

?相斥性的微操作:不能同時或同一個CPU周期內(nèi)并行執(zhí)行

.的微操作。一

示例:P145圖5.20。三個寄存器的訪問可以同時,而ALU的

加、減運算只能依次進(jìn)行,不能并行。如微操作1,2,3是

相容的,而4,6,8是相斥的。

二、微指令和微程序

?微指令:在機(jī)器的一個CPU周期中,一組實現(xiàn)一定操作功

能的微命令的組合。一般由操作控制和順序控制兩大部分組

成。P146圖P21示意一條微指令的基本格式。

?微指令周期:讀出一條微指令并執(zhí)行微指令的時間總和。串

行方式的微程序控制器中,微指令周期就是只讀存儲器的工

作周期。

?微程序:許多條微指令按照一定的順序組成微程序。

事實上:一條機(jī)器指令的功能是有一定的微程序來實現(xiàn)的。

圖5.22微指令唯本格式

WB-PJH

"AS

48

三、微程序控制器原理

?aaH*^**?■■■*s*■■■■Mfcs*aaw?K—awvMBHar/■?—?

微程序控制器原理框圖如P147圖5.23所示。它主要

由控制存儲器、微指令寄存器、地址轉(zhuǎn)移邏輯三大部分組

成,其中微指令寄存器分為微地址寄存器和微命令寄存器

兩部分。

:LXK^S

四、微程序設(shè)計舉例

?設(shè)計思想:

?一條機(jī)器指令是由若干條微指令組成的序列實現(xiàn)的。一

條機(jī)器指令對應(yīng)一個微程序,而微程序的總和可實現(xiàn)整

個指令系統(tǒng)。

?微指令又是“一個CPU周期中一組實現(xiàn)一定操作功能的

微命令的組合”。

?分析指令系統(tǒng)的每條指令的微命令及如何組合為微指令

是很重要的。

E1女x9、;U&ZT

O舉例:設(shè)計“十進(jìn)制

加法”運算指令的

微程序:一

仍以運算器為例,

并假設(shè)參加運算的兩

個十進(jìn)制數(shù)已經(jīng)分別

存入寄存器RI、R2

中,要調(diào)整的數(shù)據(jù)6

放到R3寄存器中:

圖5.25十進(jìn)制加法微程序

?首先確定實現(xiàn)“十進(jìn)制加法”運算的算法,根據(jù)算法畫出

指令流程.

算法:(1)R1+R2存入R2;

(2)R2+R3存入R2;

(3)測試進(jìn)位標(biāo)志CY,若CY=O,表示不該加6,需要

將R2-6后存入R2;若CY=L表示該加6,R2中就是十進(jìn)制運

算結(jié)果。

(指令流程也是微程序的一種表示形式)

?第二步確定微指令的格式:

按前面已經(jīng)給出一種微指令的格式。(實際上微指令

的格式及如何編碼都有很多種方法,這里給出的是一種比

較直觀的方法(直接表示法),5.5節(jié)將詳細(xì)介紹多種設(shè)計

方法。)

?根據(jù)每一條微指令所需要控制信號和微指令的格式分別

寫出四條微指令的編碼。

?將上述四條微指令按順序排列構(gòu)成“十進(jìn)制加法”的微

程序(編碼形式)。

五、CPU周期與微指令周期的關(guān)系

?在串行方式的微程序控制器中,

微指令周期=讀出微指令的時間+執(zhí)行該條微指令的時間.

?為了保證整個機(jī)器控制信號的同步,一般將一個微指令周期

時間設(shè)計得恰好和CPU周期時間相等。

?讀微

—執(zhí)行微指令微指令周期搐令

T1T2T3T4T1T2T3T4

CPU周期CPU周期

,1VK3S

六、機(jī)器指令與微指令的關(guān)系

P151圖5.26很好地說明了機(jī)器指令和微指令之間的

關(guān)系,也方便深層次地解釋程序的執(zhí)行過程:取指令人IR

,后通過微程序執(zhí)行指令?!?/p>

小結(jié):

?一條機(jī)器指令的功能是由若干條微指令組成的序列來實現(xiàn)

的。

?從指令與微指令,程序與微程序,地址與微地址的——對

應(yīng)關(guān)系來看,前者與內(nèi)存儲器有關(guān),后者與控制存儲器有

關(guān)。

?每一個CPU周期就對應(yīng)一條微指令。

56

-

微命令

圖機(jī)器指令與微指令

5.27,小

的關(guān)系

5.5微程序設(shè)計技術(shù)

avav'_a?■

___Krol_____r-_X.ICL-△33*_____/

微程序設(shè)計的關(guān)鍵是如何確定微指令的結(jié)構(gòu)。

目標(biāo)是:

,?有利于縮短微指令字長度;’

?有利于減小控制存儲器的容量;.

?有利于提高微程序的執(zhí)行速度;

?有利于對微指令的修改;

?有利于提高微程序設(shè)計的靈活性。

本節(jié)內(nèi)容

,?微命令編碼方法

258.微地址形成的方法人"T'

▲[魴士匕人敖才

、微命令編碼

微命令編碼:對微指令中的操作控制字段采用的

表不方法。

?直接表示法:操作控制字段中的每一位代表一

個微命令。

?優(yōu)點:簡單直觀,其輸出直接用于控制。

?缺點:微指令字較長,使控制存儲器容量較大。

?編碼表示法:把一組相斥性的微命令信號組成

一個小組(即一個字段),然后通過小組(字

Ti-l卡I?/力-斗「y./力-4■田』/二七口

二、微地址形成的方法(1)

才Fr不注-手機(jī)-二千Er丁'=r<EJ7s高■EcjTTfig

微指令執(zhí)行順序控制是通過產(chǎn)生后繼微

.指令的地址實現(xiàn)的。其方法有兩種:

計數(shù)器法方式:

順序執(zhí)行微指令時,由現(xiàn)行微地址加上

一個增量來產(chǎn)生;非順序執(zhí)行微指令,須通

過轉(zhuǎn)移方式。與程序計數(shù)器來產(chǎn)生機(jī)器指令

地址的方法相似。

特息酒鎰制寶段較短H微地嶼生

60產(chǎn)■-?*.—rrq-TTJW

a和機(jī)I埼圣伯早幺吆玨衿彷殄什臺麗目「懂

二、微地址形成的方法(2)

yirTOzrramsjr-TrirT^ry?r-ngjnln-rr^^TitrT^C:

名路轉(zhuǎn)移方式:

?多路轉(zhuǎn)移:一條微指令具有多個轉(zhuǎn)移分支的能

力。如“取指”微指令要根據(jù)操作碼產(chǎn)生多個

微程序分支。

?當(dāng)微程序不產(chǎn)生分支時,后繼微地址由微指令的

順序控制字段給出;

?當(dāng)微程序出現(xiàn)分支時,按順序控制字段的“判別

測試”標(biāo)志和“狀態(tài)條件”信息選擇某一分支所

對應(yīng)的微地址?!盃顟B(tài)條償.革值標(biāo)志=理以宴二

現(xiàn)微程序2n路轉(zhuǎn)移。取指后的分支由1嚙加字段確

三、微指令格式(1)

微指令的編譯方法是決定微指令格式的主

要因素??紤]到速度、成本等原因,微指令的

格式大體分為兩類:

水平型微指令

「次能定義并執(zhí)行多個并行操作微命令的微

制字判別測試字下地址字

于土匕日庫軟0

WuL段

前面5?4節(jié)的微指吩勺水平型板指令。

套水平型微盛曾聲工一

:Bac^s

三、微指令格式(2)

垂直型微指令

微指令中設(shè)置微操作碼字段,采用微操

作碼編譯法,由微操作碼規(guī)定微指令的功能。

垂直型微指令的結(jié)構(gòu)類似于機(jī)器指令的

結(jié)構(gòu)。

特點:

每條微指令的功能單一,一條垂直型微指

令只能產(chǎn)生3至敬搦自

63'till|B?

a惚早早田祐k的微粹享住機(jī)垢通A,日的徽

三、微指令格式(3)

F*ErPhEr丁;滬Tig*T

水平型微指令和垂直型微指令的比較

?水平型微指令并行操作能力強(qiáng),效率高,靈

活性強(qiáng)。

?水平型微指令執(zhí)行一條指令的時間短,垂直

型微指令執(zhí)行時間長。(水平用較少的微指

令數(shù)實現(xiàn)一條指令的功能,因而縮短了指令

的執(zhí)行時間,而且水平型不需要譯碼)

14/左六匕京吉開I"2八后

四、動態(tài)微程序

靜態(tài)微程序

對應(yīng)于一臺計算機(jī)的機(jī)器指令只有一組

微程序,而且這一組微程序設(shè)計好之后,一

般無需改變而且也不好改變。

動態(tài)微程序

通過改變微指令和微程序來改變機(jī)器的

指令系統(tǒng)。這樣可以在一臺機(jī)器上實現(xiàn)不同

5類型的指令系統(tǒng)。這種技術(shù)又稱為仿真其他

6機(jī)器指令系統(tǒng),以便擴(kuò)大機(jī)器的功蒯三

5.6硬布線控制器

硬布線控制器:把控制部件看做產(chǎn)生專門固定

時序控拜蕊八f路和觸發(fā)

器構(gòu)成結(jié)果反饋信息C1????Cn

B1

設(shè)計目標(biāo)Bj:操作速度。

II

樹形邏輯網(wǎng)絡(luò)

指令

特點:上譯碼需I制的速度

Im[_

較快。----------彳微指令都

IR

MlMiT1Tk

要從拄指吟寄存器:,而硬布

量線控制盛節(jié)拍電位/節(jié)拍

脈沖發(fā)生器

矍展:白復(fù)位沖TTjFTTiE-^C

浪復(fù)雜,

硬布線控制器設(shè)計(1)

?微操作抨制信號的產(chǎn)牛n

硬布線控制器中,某一微操作控制信號

由布爾代數(shù)表達(dá)式描述的輸出函數(shù)產(chǎn)生???/p>

邏輯函數(shù)的設(shè)計方法:

根據(jù)所有機(jī)器指令流程圖,尋找出產(chǎn)生

同一個微操作信號的所有條件,并與適當(dāng)?shù)?/p>

節(jié)拍電位和節(jié)拍脈沖組合,從而寫出其布爾

代數(shù)表達(dá)式并進(jìn)行簡化,然后用門電路或可

編程器件來實現(xiàn)EEEFTEFT工E"

硬布線控制器設(shè)計(2)

[例4]圖5.32中五條指令的微操作控制信號的產(chǎn)

生。注意T脈沖的順序。

O回顧指令流程

CW)

5.7傳統(tǒng)CPU簡介

OM6800CP七AM。號ism.

典力]

外設(shè)采4

OIntel8

產(chǎn)生

8085兼名

隊列,節(jié)、到主

/存儲

OIBM370/器

使用

Tntp1R

5.7流水CPU簡介

一、并行處理技術(shù)

二、流水CPU的結(jié)構(gòu)

三、流水線中的主要問題

四、奔月蕾CPU

n言Kgrgs清ErG*Er丁拓=£_^=^73111^^三電£_^£:

;IVxds:Ut&xT

一、并行處理技術(shù)

標(biāo)準(zhǔn)的馮?諾依曼體系結(jié)構(gòu)是串行處理,即一個時

刻只能進(jìn)行一個操作。

并行忤的兩種含W

?同時性:兩個以上事件在同一時刻發(fā)生。如多機(jī)系統(tǒng)中,

同一時刻多個進(jìn)程在運行。

.?并發(fā)性:兩個以上事件在同一間隔內(nèi)發(fā)生。如并發(fā)程序,

某一時刻CPU中只有一個進(jìn)程在運行,而在一個時間段內(nèi),

多個進(jìn)程同時運行。

并行忤的二種形式

?時間并行:即使用流水處理部件,時間重疊。

齡.空間并行二段置重公選皤JW工J主要堀蹴/理

k”器系統(tǒng)和多計算機(jī)系統(tǒng)。W正

、流水CPU的結(jié)構(gòu)

?流水CPU的組成:

按流水方式組織,其組成由指令部件,指

令隊列,執(zhí)行部件三大部分,目組成3級流水

線。

?執(zhí)行段的速度匹配問題的解決

?執(zhí)行部件分為定點和浮點執(zhí)行部件,分別處理定

點和浮點運算指令;

?在浮點執(zhí)行部件中,又有浮點加法部件和浮點乘

⑥〃/除部件*Q也可以同時執(zhí)行不同的指金-I

?藍(lán)景流水1+尊相,?Q有一條招今流春上三

流水CPU的時空圖

沼-E

(a)一個指令流水線過程段

(b)非流水線時空圖

三、流水線中的主要問題

?資源相關(guān):指多條指令進(jìn)入流水線后在司一

?'機(jī)器時鐘周期內(nèi)爭用同一個功能部件所發(fā)生

的沖突。

解決方法:指令推遲執(zhí)行,或是設(shè)置重復(fù)資

源。

?數(shù)據(jù)相關(guān):在一個程序中,如果必須等前一

'條指令執(zhí)行完畢后,才能執(zhí)行后一條指令,

74

1次人]:小以計

解)±1戶T*-定在1梏洋土古術(shù)

主要掌握其超標(biāo)量流水線、指令Cache

和數(shù)據(jù)Cache、浮點單元、轉(zhuǎn)移預(yù)測四個方

面的特性。(P196-198)

n言Hfcrgs淖ErG*Er丁章=£?^==73111^^三/二^£

;IVxds:Ut&xT

5.9RISCCPU

?RISC的三個基本要素:有限、簡單的指令集、

CPU配備大量的通用寄存器、強(qiáng)調(diào)對指令流水

線的優(yōu)化

?RISC機(jī)器的特征:

?使用等長指令。

?尋址方式少,絕不出現(xiàn)存儲器間接尋址。

?只有取數(shù)、存數(shù)指令訪問存儲器。

?指令數(shù)一般少于100條,指令格式少于4種。

?指令功能簡單,控制器多采用硬布線方式。

盤.大部分指會在二加器囿期內(nèi)完成j一一

k,CPU中通用寄存器數(shù)量相當(dāng)多。鼻

5.10多媒體CPU

'?多媒體技術(shù)的主要問題'

?MMX技術(shù)

O動態(tài)執(zhí)行技術(shù)

77

:Bac^srsx十

一、多媒體技術(shù)的主要問題

?媒體:信息傳遞領(lǐng)域中傳遞信息的媒介。包括

存儲信息的實體與傳遞信息的載體兩部分。如

磁盤、光盤等屬于存儲信息的實體,而載體指

表示信息的形體,如數(shù)值、文字、聲音、圖形

與動靜圖象等。

?多媒體技術(shù):指計算機(jī)把各種不同的電子媒質(zhì)

集成起來,統(tǒng)一進(jìn)行存儲、處理和傳輸?shù)募夹g(shù)。

如把計算機(jī)屏幕顯示、視頻光盤、CD-ROM以及

聯(lián)B言和聲善綜合戶并在御i王趙闞建密屋輯連二接不

「1*

/Fh放小在4玄自右六7=71葉

三MMX技術(shù)*

o一種多媒體擴(kuò)展結(jié)構(gòu)技術(shù)。

?MMX指令是一種SIMD并行處理指令,其先進(jìn)

?性主要體現(xiàn)在:(P206)

?SIMD結(jié)構(gòu)

?飽和運算方式

?積和運算方式

?比較指令

?轉(zhuǎn)換指令

三、動態(tài)執(zhí)行技術(shù)

?動態(tài)執(zhí)行技術(shù)

通過預(yù)測程序流來調(diào)整指令的執(zhí)行,

”并且分析程序的數(shù)據(jù)流來選擇指令執(zhí)行的

最佳順序。

?實現(xiàn)的關(guān)鍵

使用一個指令緩沖池以開辟一個較長

.的指令窗口,以便允許執(zhí)行單元能在一個■

較大的范圍內(nèi)調(diào)遣和執(zhí)行已譯碼過的程序

J日/J\\jOFWXo,:LifeXT-

實驗:實驗計算機(jī)的設(shè)計

?設(shè)計指令系統(tǒng):

確定指令系統(tǒng)的指令,包括幾種類型,

操作數(shù)有哪幾種尋址方式,以及指令的編碼等。

要兼顧必要性(編程方便)和可行性(硬件條

件)。

?設(shè)計指令執(zhí)行流程

對于微程序控制的計算機(jī)設(shè)計指令流程

、時,要保證每條微指令所包含的微操作的必要

實驗:實驗計事機(jī)的設(shè)計_

O設(shè)計微操作控制信號及其實現(xiàn)方法:

綜合指令系統(tǒng)各指令執(zhí)行流程中涉及到的

微操作控制信號,統(tǒng)計總共需要多少個微操作

控制信號.

設(shè)計時應(yīng)考慮以下幾點:

?微指令編碼格式

?微操作信號的有效性

?器件的操作條件一

告設(shè)計微指令格式

翻定微程序指制方苴==*

1

/4■?.'.?i.14,9

:Bac^s:iSX十:

/llll-、T-r

Pentium4的邏輯結(jié)構(gòu)

匚江RT-TTGrEr-n」=EEJ!ZI

?寄存器組與CPU字長

?超標(biāo)量結(jié)構(gòu)ALU

?流水線處理技術(shù)

?SIMD技術(shù)

?EM-64T

?超線程技術(shù)

?雙核與多核技術(shù)

Pentium4處理器的邏輯結(jié)構(gòu)

?"jdB'l:q1q-war-rra-Ufa—

64位,時鐘頻率士匕A支預(yù)測器

一控制器

總線接口

預(yù)取

控制邏輯

?V

L2

cache

Pentium4處理器的芯片布局

前端總線L1數(shù)據(jù)cache

及其接口L2cache

高級動態(tài)執(zhí)行

.超級流水線

定點運算器技術(shù)

Streaming

SIMD

Extensions2

Tracecache浮點運算器

(L1指令cache)MMX

?IVxds;U&ZT

Pentium4的寄存器組

P4Pentium804868038680868088

3115870

整數(shù)寄存器組GPROEAXAXAHAL

GPR1ECXCXCHCL

GPR2EDXDXDHDL

GPR3EBXBXBHBL

GPR4ESPSP

GPR5EBPBP

GPR6ESISI

GPR7EDIDi

指令計數(shù)器EIPIP

標(biāo)志寄存器EFLAGSFLAGS

浮點寄存器組

86

:Bac^s-U^z-f-

Pentium4的超標(biāo)量結(jié)構(gòu)運算器

87

nx十

?采用超標(biāo)量(superscalar)結(jié)構(gòu),一共包含9個ALU,均可

同時工作:

?2個高速整數(shù)ALU(每個時鐘周期進(jìn)行2次操作),用于完成簡

單的整數(shù)運算(如加、減法)

?1個慢速整數(shù)ALU(需要多個時鐘周期才能完成1次操作),用于

完成整數(shù)乘、除法運算

?2個地址生成部件(AGU),用于計算操作數(shù)的有效地址,所

生成的地址分別用于從內(nèi)存取操作數(shù)或向內(nèi)存保存操作結(jié)果

?1個ALU用于完成浮點操作數(shù)地址的計算

?1個ALU用于完成浮點加法、乘法和除法運算

?1個ALU用于執(zhí)行流式的SIMD處理(SSE/SSE2/SSE3指令)

?1個ALU用于完成多媒體信號處理(MMX指令)

88

-

指令的流水線執(zhí)行

指令的順序執(zhí)行:

指令1(11)指令2(12)指令3(13)

ExecuteExecute

UrileJIfplch

Ifelchl>ev<HieI)e<<>dek:N:::W、、rile

TOT1T2T3T4T5T6~T8~T9,1

指令的流水線執(zhí)行::!Pentium1的流力〈線分成20

級I每一級的操作都很簡單,

IlIFetchllecode:Write執(zhí)行速度快快,;因而允許時

..J鐘頻率高出1GHz以上

ITelchDvccxleMS:Write

13KetchIMock皺Write

其3

14IfetchDecode■Write

15IletchDecode\\rite

16Write

.舉逡

:Bac^snx十

超流水線(Hyper-pipeline)技術(shù)

?Pentium4有多條超流水線,每

條流水線的級數(shù)均很長,定點

運算達(dá)20級,浮點運算達(dá)到29

級,處于執(zhí)行狀態(tài)的指令數(shù)最

多可達(dá)到126條

?超級流水線中每步操作都非常簡單,因此主頻可以顯著提高

■Pentium4的20級超流水線結(jié)構(gòu)的示意圖:

2ik567891011121314151617181920

13J*4i411?

TCNxtIPTCFirtchDthreAllocRenamoQuoSehSehSch□r<pDUpRFRF曰FigsBrCkDrive

取指階段譯碼階段執(zhí)行階段保存結(jié)果,修改IP

90

E1女x9、;U&ZT

指令流水線的效果彘

CPU

Add

運算

流水線會阻塞嗎?結(jié)果

如何確保指令流水線通暢?

例:調(diào)整后:

LOADR1,BLOADR1,B

a=b+c;LOADR2,CLOADR2,C

?ADDR2,R1々LOADR3,D

「<

e=e-d;〉?STORER2,A、ADDR2,R1

假設(shè)a,b,c,d,e分LOADR3,D-LOADR4,E

別存儲在地址為LOADR4,ESTORER2,A

A,B,C,D,E的單

?SUBR4,R3SUBR4,R3

元中

?IVxds;U&ZT

指令預(yù)取和分支預(yù)測

?為了使流水線不中斷,指令預(yù)取部件用于完成指令地址的計

算,并從指令cache中讀取指令(一次64位),它還通過動態(tài)

分支預(yù)測器對即將執(zhí)行的指令提前進(jìn)行預(yù)取,如果預(yù)測發(fā)生

錯誤,那么流水線就會中斷,CPU的速度將會受到影響

,1VK3S-

Pentium的64位擴(kuò)展技術(shù)(EM-64T)

Pentium4的64位寄存器組

整數(shù)寄存器組P4Pentium803868048680868088

311587。

GPR0EAXAXAHAL

GPR1ECXCXCHCL

GPR2EDXDXDHDL

64位處

GPR3EBXBXBHBL

理器的

整數(shù)寄GPR4ESPSP

存器組GPR5EBPBP

GPR6ESISI

GPR7EDIDI

指令計數(shù)器EIPIPI

標(biāo)志寄存器EFLAGS

溫馨提示

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

評論

0/150

提交評論