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

下載本文檔

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

文檔簡(jiǎn)介

M

9林

*

IF~

A介紹CPU的功能和組成;

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

程;

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

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

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

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

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

本拿的重點(diǎn):便一步理繇CPU的為成、交成施合的過(guò)程,忽制器

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

2

,IVK^S

5.1CPU的功能和組成

TO1g,?丁sr——hr-m

ACPU的功能

ACPU的基本組成

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

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

淖FTG*"TIT化;TftTfE

:Bac^snx十

*

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

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

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

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

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

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

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

部分組成。

1、CPU的功能修合

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

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

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

CPU的基本功能:

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

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

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

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

進(jìn)行動(dòng)作。

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

條不紊地自動(dòng)工作。

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

2、CPU的基本組成?

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

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

?控制器的主要功能:

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

位置。

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

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

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

的方向。

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

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

6

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

執(zhí)行部分

123456

ALU/控制電路8位

指令隊(duì)列緩沖器

標(biāo)志寄存器

7

3、CPU中的主要寄存器

MWSM■■MMtS*aaiav■■■■■

CPU中最基本寄存器:

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

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

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

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

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

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

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

操作數(shù)寄存器。

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

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

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

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

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

?行指令的控制。'

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

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

(2)微程序控制器:采用存儲(chǔ)邏輯來(lái)實(shí)現(xiàn);

(3)門(mén)陣列控制器:吸收前兩種的設(shè)計(jì)思想來(lái)實(shí)現(xiàn)的。

本章重點(diǎn)介紹微程序控制器.

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

5.2指令周期

o指令周期的基本概念

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

?CLA指令的指令周期

?ADD指令的指令周期

?STA指令的指令周期

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

?用方框圖語(yǔ)言表示指令周期

:LXK^S

-3

n

o

u

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

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

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

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

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

指令周期由若干個(gè)CPU周期組成。

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

0時(shí)鐘周期:常稱(chēng)為節(jié)拍。一個(gè)CPU周期又包含若干個(gè)時(shí)鐘周期,

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

算術(shù)邏輯單元

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

地址總線ABUS

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

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

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

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

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

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

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

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

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

行指令所要求的操作。

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

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

取指令周期

執(zhí)行周期

S=-73tE-^£.

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

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

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

的指令。

O取指令

?執(zhí)行指令:

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

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

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

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

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

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

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

-IVK^S\:Li&zT-

ADD指令的指令周期

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

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

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

O取指令

?執(zhí)行指令:

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

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

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

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

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

具體過(guò)程描述如圖

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

22

,IVKJS

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

STA指令的指令周期

24

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

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

控制信號(hào)。

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

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

算術(shù)邏輯單元

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

地址總線ABUS

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

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

幾種典型指令周期分析

小結(jié):

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

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

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

27

3、用方框圖語(yǔ)言表示指令周期?

o規(guī)則:

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

某種控制操作。

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

CPU周期,不單獨(dú)占用一個(gè)CPU周期。

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

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

處理,如中斷處理、通道處理等,若沒(méi)有外設(shè)請(qǐng)求,

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

是公操作。

幺前面五條指令用方框圖語(yǔ)言表示的指令周期見(jiàn)圖。

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

28—??…,個(gè)

:IVK^S:iAeZ十

1

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

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

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

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

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

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

表示y寄存器的輸入控制信號(hào),RIo為寄存器R1的輸出控制信

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

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

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

的微操作控制信號(hào)序列。

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

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

30

?IVKDS:gGZ十

11

II

|\|\

I

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

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

一、時(shí)序信號(hào)的作用和體制

二、時(shí)序信號(hào)產(chǎn)生器

三、控制方式

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

;IVxds:Ut&xT

一、時(shí)序信號(hào)的作用和體制(1)為、、*

對(duì)時(shí)序信號(hào)的理解:

CPU的“作息時(shí)間”表。機(jī)器一旦啟動(dòng),CPU開(kāi)始取指令并

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

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

么,在另一脈沖到來(lái)之前又做什么。

一般來(lái)說(shuō),操作控制器發(fā)出的各種控制信號(hào)都是時(shí)間因素

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

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

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

時(shí)間、空間

一、時(shí)序信號(hào)的作用和體制(2)V公?

時(shí)序信號(hào)的體制:

一個(gè)CPU周期中要?jiǎng)澐譃槿舾蓚€(gè)小段,每一個(gè)小段中

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

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

的時(shí)序信號(hào)最基本的體制是節(jié)拍電位-節(jié)拍脈沖制。一個(gè)

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

分成幾個(gè)較小的時(shí)間間隔。

二、時(shí)序信號(hào)產(chǎn)生器《務(wù)

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

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

輯、啟??刂七壿嫷炔糠纸M成。

?IVxds;U&ZT

'—

RDWETiT2T3T4

圖5.17時(shí)序信號(hào)產(chǎn)生器框圖

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

IJC;J\

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

38CPU周期CPU周期

圖5.20啟停控制邏輯

三、控制方式(1)

控制器的控制方式指形成不同操作序列的時(shí)序信號(hào)的

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

?同步控制方式:

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

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

0異步控制方式:

?每條指令、每個(gè)操作控制信號(hào)需要多少時(shí)間就占用多少時(shí)

間。一

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

三、控制方式(2)

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

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

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

操作的結(jié)束。.

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

周期數(shù)不固定。

5.4微程序控制器

引言

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

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

到一個(gè)只讀存儲(chǔ)器里。當(dāng)機(jī)器運(yùn)行時(shí),一條又一條地讀出

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

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

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

系列優(yōu)點(diǎn)。

,IVKJS

主要內(nèi)容:

一、基本概念:

4-微命令和微操作

,微指令和微程序.

二、微程序控制器原理

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

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

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

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

43

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

W**■■MV?BHW

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

?控制部件:控制器。

?執(zhí)行部件:運(yùn)算器、存儲(chǔ)器、外設(shè)相對(duì)來(lái)說(shuō)是執(zhí)行部

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

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

44

:Bac^sG二十

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

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

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

“行的微操作;

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

.的微操作。一

示例:P145圖5.20。三個(gè)寄存器的訪問(wèn)可以同時(shí),而ALU的

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

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

二、微指令和微程序

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

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

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

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

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

作周期。

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

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

圖5.22微指令唯本格式

WB-PJH

"AS

48

三、微程序控制器原理

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

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

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

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

兩部分。

:LXK^S

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

?設(shè)計(jì)思想:

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

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

個(gè)指令系統(tǒng)。

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

微命令的組合”。

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

是很重要的。

E1女x9、;U&ZT

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

加法”運(yùn)算指令的

微程序:一

仍以運(yùn)算器為例,

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

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

存入寄存器RI、R2

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

放到R3寄存器中:

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

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

指令流程.

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

(2)R2+R3存入R2;

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

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

算結(jié)果。

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

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

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

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

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

方法。)

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

寫(xiě)出四條微指令的編碼。

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

程序(編碼形式)。

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

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

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

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

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

?讀微

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

T1T2T3T4T1T2T3T4

CPU周期CPU周期

,1VK3S

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

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

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

,后通過(guò)微程序執(zhí)行指令。”

小結(jié):

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

的。

?從指令與微指令,程序與微程序,地址與微地址的——對(duì)

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

關(guān)。

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

56

-

微命令

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

5.27,小

的關(guān)系

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

avav'_a?■

___Krol_____r-_X.ICL-△33*_____/

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

目標(biāo)是:

,?有利于縮短微指令字長(zhǎng)度;’

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

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

?有利于對(duì)微指令的修改;

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

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

,?微命令編碼方法

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

▲[魴士匕人敖才

、微命令編碼

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

表不方法。

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

個(gè)微命令。

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

?缺點(diǎn):微指令字較長(zhǎng),使控制存儲(chǔ)器容量較大。

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

一個(gè)小組(即一個(gè)字段),然后通過(guò)小組(字

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

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

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

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

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

計(jì)數(shù)器法方式:

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

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

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

地址的方法相似。

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

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

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

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

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

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

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

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

微程序分支。

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

順序控制字段給出;

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

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

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

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

三、微指令格式(1)

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

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

格式大體分為兩類(lèi):

水平型微指令

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

制字判別測(cè)試字下地址字

于土匕日庫(kù)軟0

WuL段

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

套水平型微盛曾聲工一

:Bac^s

三、微指令格式(2)

垂直型微指令

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

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

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

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

特點(diǎn):

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

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

63'till|B?

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

三、微指令格式(3)

F*ErPhEr丁;滬Tig*T

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

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

活性強(qiáng)。

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

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

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

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

14/左六匕京吉開(kāi)I"2八后

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

靜態(tài)微程序

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

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

般無(wú)需改變而且也不好改變。

動(dòng)態(tài)微程序

通過(guò)改變微指令和微程序來(lái)改變機(jī)器的

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

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

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

5.6硬布線控制器

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

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

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

B1

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

II

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

指令

特點(diǎn):上譯碼需I制的速度

Im[_

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

IR

MlMiT1Tk

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

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

脈沖發(fā)生器

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

浪復(fù)雜,

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

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

硬布線控制器中,某一微操作控制信號(hào)

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

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

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

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

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

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

編程器件來(lái)實(shí)現(xiàn)EEEFTEFT工E"

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

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

生。注意T脈沖的順序。

O回顧指令流程

CW)

5.7傳統(tǒng)CPU簡(jiǎn)介

OM6800CP七AM。號(hào)ism.

典力]

外設(shè)采4

OIntel8

產(chǎn)生

8085兼名

隊(duì)列,節(jié)、到主

/存儲(chǔ)

OIBM370/器

使用

Tntp1R

5.7流水CPU簡(jiǎn)介

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

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

三、流水線中的主要問(wèn)題

四、奔月蕾CPU

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

;IVxds:Ut&xT

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

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

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

并行忤的兩種含W

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

同一時(shí)刻多個(gè)進(jìn)程在運(yùn)行。

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

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

多個(gè)進(jìn)程同時(shí)運(yùn)行。

并行忤的二種形式

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

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

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

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

?流水CPU的組成:

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

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

線。

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

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

點(diǎn)和浮點(diǎn)運(yùn)算指令;

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

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

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

流水CPU的時(shí)空?qǐng)D

沼-E

(a)一個(gè)指令流水線過(guò)程段

(b)非流水線時(shí)空?qǐng)D

三、流水線中的主要問(wèn)題

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

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

的沖突。

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

源。

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

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

74

1次人]:小以計(jì)

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

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

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

面的特性。(P196-198)

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

;IVxds:Ut&xT

5.9RISCCPU

?RISC的三個(gè)基本要素:有限、簡(jiǎn)單的指令集、

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

線的優(yōu)化

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

?使用等長(zhǎng)指令。

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

?只有取數(shù)、存數(shù)指令訪問(wèn)存儲(chǔ)器。

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

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

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

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

5.10多媒體CPU

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

?MMX技術(shù)

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

77

:Bac^srsx十

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

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

存儲(chǔ)信息的實(shí)體與傳遞信息的載體兩部分。如

磁盤(pán)、光盤(pán)等屬于存儲(chǔ)信息的實(shí)體,而載體指

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

與動(dòng)靜圖象等。

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

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

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

聯(lián)B言和聲善綜合戶(hù)并在御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)

?飽和運(yùn)算方式

?積和運(yùn)算方式

?比較指令

?轉(zhuǎn)換指令

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

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

通過(guò)預(yù)測(cè)程序流來(lái)調(diào)整指令的執(zhí)行,

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

最佳順序。

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

使用一個(gè)指令緩沖池以開(kāi)辟一個(gè)較長(zhǎng)

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

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

J日/J\\jOFWXo,:LifeXT-

實(shí)驗(yàn):實(shí)驗(yàn)計(jì)算機(jī)的設(shè)計(jì)

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

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

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

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

件)。

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

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

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

實(shí)驗(yàn):實(shí)驗(yàn)計(jì)事機(jī)的設(shè)計(jì)_

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

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

微操作控制信號(hào),統(tǒng)計(jì)總共需要多少個(gè)微操作

控制信號(hào).

設(shè)計(jì)時(shí)應(yīng)考慮以下幾點(diǎn):

?微指令編碼格式

?微操作信號(hào)的有效性

?器件的操作條件一

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

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

1

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

:Bac^s:iSX十:

/llll-、T-r

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

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

?寄存器組與CPU字長(zhǎng)

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

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

?SIMD技術(shù)

?EM-64T

?超線程技術(shù)

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

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

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

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

一控制器

總線接口

預(yù)取

控制邏輯

?V

L2

cache

Pentium4處理器的芯片布局

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

及其接口L2cache

高級(jí)動(dòng)態(tài)執(zhí)行

.超級(jí)流水線

定點(diǎn)運(yùn)算器技術(shù)

Streaming

SIMD

Extensions2

Tracecache浮點(diǎn)運(yùn)算器

(L1指令cache)MMX

?IVxds;U&ZT

Pentium4的寄存器組

P4Pentium804868038680868088

3115870

整數(shù)寄存器組GPROEAXAXAHAL

GPR1ECXCXCHCL

GPR2EDXDXDHDL

GPR3EBXBXBHBL

GPR4ESPSP

GPR5EBPBP

GPR6ESISI

GPR7EDIDi

指令計(jì)數(shù)器EIPIP

標(biāo)志寄存器EFLAGSFLAGS

浮點(diǎn)寄存器組

86

:Bac^s-U^z-f-

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

87

nx十

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

同時(shí)工作:

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

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

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

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

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

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

?1個(gè)ALU用于完成浮點(diǎn)操作數(shù)地址的計(jì)算

?1個(gè)ALU用于完成浮點(diǎn)加法、乘法和除法運(yùn)算

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

?1個(gè)ALU用于完成多媒體信號(hào)處理(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

級(jí)I每一級(jí)的操作都很簡(jiǎn)單,

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

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

ITelchDvccxleMS:Write

13KetchIMock皺Write

其3

14IfetchDecode■Write

15IletchDecode\\rite

16Write

.舉逡

:Bac^snx十

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

?Pentium4有多條超流水線,每

條流水線的級(jí)數(shù)均很長(zhǎng),定點(diǎn)

運(yùn)算達(dá)20級(jí),浮點(diǎn)運(yùn)算達(dá)到29

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

多可達(dá)到126條

?超級(jí)流水線中每步操作都非常簡(jiǎn)單,因此主頻可以顯著提高

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

2ik567891011121314151617181920

13J*4i411?

TCNxtIPTCFirtchDthreAllocRenamoQuoSehSehSch□r<pDUpRFRF曰FigsBrCkDrive

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

90

E1女x9、;U&ZT

指令流水線的效果彘

CPU

Add

運(yùn)算

流水線會(huì)阻塞嗎?結(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

別存儲(chǔ)在地址為L(zhǎng)OADR4,ESTORER2,A

A,B,C,D,E的單

?SUBR4,R3SUBR4,R3

元中

?IVxds;U&ZT

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

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

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

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

錯(cuò)誤,那么流水線就會(huì)中斷,CPU的速度將會(huì)受到影響

,1VK3S-

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

Pentium4的64位寄存器組

整數(shù)寄存器組P4Pentium803868048680868088

311587。

GPR0EAXAXAHAL

GPR1ECXCXCHCL

GPR2EDXDXDHDL

64位處

GPR3EBXBXBHBL

理器的

整數(shù)寄GPR4ESPSP

存器組GPR5EBPBP

GPR6ESISI

GPR7EDIDI

指令計(jì)數(shù)器EIPIPI

標(biāo)志寄存器EFLAGS

溫馨提示

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

評(píng)論

0/150

提交評(píng)論