計算機原理第六章中央處理部件CPU_第1頁
計算機原理第六章中央處理部件CPU_第2頁
計算機原理第六章中央處理部件CPU_第3頁
計算機原理第六章中央處理部件CPU_第4頁
計算機原理第六章中央處理部件CPU_第5頁
已閱讀5頁,還剩91頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

第六章中央處理部件CPU

1946年馮?諾依曼(VonNeumann)根據他的“存儲程序”的思想,|

開始在普林斯頓高級研究院(PrincetonInstituteforAdvanced

Studies)制造名為ISA的計算機,這臺計算機包含的特征就是我們|

通常所說的存儲程序計算機,又稱為馮?諾依曼計算機。

電子數字計算機的控制器,又稱為計算機控制電路,是計算

機中處理指令的部件,它按特定的順序取出并解釋每一條指令,'

然后產生對運算器和其它部件發出操作的控制信號。|

在程序運行時,計算機系統是在控制器的統一協調下進行工

作的。計算機執行的指令序列稱之為指令流(InstructionStream);I

根據指令要求依次訪問的數據序列稱為數據流(DataStream)。

因此,從程序運行的角度來看,控制器的基本功能是:在時

間和空間上,對計算機的指令流和數據流實施正確控制。

菊3b旗4湖南科技大學計算機科學當a

2

從邏輯實現的角度來看,通用計算機控制器包括對以下步驟

的控制:

?控制取指令字(指令流出控制);

?解釋指令字(指令分析控制);

?組織計算機各個部件動作的信號序列,以完成指令的執

行(指令執行控制);

,確定下一條指令的地址(指令流向的控制)。

計算機工作過程:

副加電

凰產生Reset信號:置PC初始值

解執行程序

-取指一分析指令一執行指令(周而復始)

副停機

副停電

湖南科技大學計算機科學叮

I:6.1計算機硬件系統3

當今世界上大多數計算機的中央處理器又下述方法實現:

?(1)采用半導體公司(工廠)生產的微處理器構成通用的或專用的計

一?算機系統及工作站等;

S(2)一些計算機公司采用自行設計制造的芯片來構成大、中、小型

.計算機的CPU。如IBM、DECo

.但隨著用戶開放系統興趣的增長,這兩家公司也逐步走向開

?放。例如IBM公司也選用Intel80X86構成微機。

?2002年9月28日,中國科學院在“中國科學院計算所創新成就

一展”上宣布:我國第一款商品化的通用高性能CPU芯片-擁有自主

.知識產權的“龍芯”1號CPU流片成功,可大批量生產提供廣大用

..戶使用。

.“狗剩”是中科院計算所(所長李國杰院士)CPU開發項目小

組給“龍芯”起的名字,源于英文Godson的發音。

GodsonCPU具有高性能的64位浮點流水線,采用了當代通用

*CPU先進體系結構的主要設計技術,在邏輯驗證芯片上以12?5兆

.頻率工作,其浮點性能已超過50兆主頻的Intel486。

e采用0.18微米工藝制造,目前主頻最高可以達到266MHZ。

湖南科技大學計算機科學叮

?2002年9月26日,曙光天演信息

?技術有限公司宣布中國第一款完全

自主知識產權的服務器“龍騰”問

世。該款服務器采用了中科院計算

?所剛剛研制成功的中國自主知識產

,權的第一款通用CPU“龍芯”。

>“龍騰”服務器還采用了由曙

■光公司與中科院計算所聯合研發的

“龍芯”專用主板(主板頻率可達

?117兆)以及曙光自主研發的“曙光

?LINUX”操作系統。“龍騰”服務器

?的推出,標志著中國“龍芯”市場

.化遍界上惟一能與英特爾抗衡的芯片商是臺灣的威盛公司(全

?球第三大的CPU生產廠商)。英特爾與威盛的競爭主要集中在個

?人電腦市場。個人電腦市場的CPU是基于英特爾的X86架構。

?“龍芯”主要是行業領域的服務器應用,比如銀行、電信等。

?曙光“龍騰”服務器則基于RISC架構,這樣不會陷入英特爾的

.知識產權陷阱。

?IntekAMD、威盛和Transmeta等公司的x86兼容型CPU,或

■是如IBM、MOTOROLA等公司的RISQ架構CPU。

'市如劍麻代,;,湖南科技大孽計算機科攀看"演,".桐,

5

1、Intel80386微機系統

.

圖6.1Intel80386微機系統框圖

湖南科技大學計算機科學叮擂|

(1)80386微處理器

是系統中主要的處理、控制部件。

⑵80384時鐘發生器

機器加電時,首先由它產生復位信號(Reset)使計算機各部件

處于初始狀態。加電后執行的第一條指令是轉移指令,轉到引

導程序入口。

時鐘發生器產生CLK2和CLK時鐘信號。其中CLK2為80386

提供了基本定時,它在80386內部被2分頻為以便產生用于執行

指令的處理器內部時鐘CLK。

CLK2=2*CLK

(3)80387協處理器

主要完成浮點運算和高精度整數運算。80386與協處理器并

行工作。

⑷總線控制邏輯

80386通過總線與存儲器、I/O設備交換信息。

(5)存儲器與輸入/輸出系統

存放數據、指令以及完成輸入/輸出操作的系統。

湖南科技大學計算機科學叮

7

▼(6)DMA控制器及中斷控制器

?DMA是控制I/O設備與存儲器直接傳送數據的邏輯電路。在

?一般情況下,數據是成組傳送的,且不影響當前程序的執行。

?中斷控制器主要用語傳送一個數據或機器發生故障時進行

.處理。

.⑺READY邏輯

.當80386與存儲器交換數據時,雙方速度不匹配,有時

80386要等待。READY信號是存儲器發向80386的。表示在此

?之前由80386發向存儲器的讀/寫命令已完成。止匕時80386不必等

?待(若已處于等待狀態則結束等待),可繼續執行下面的操作。

湖南科技大學計算機科學叮

2.80386結構及外部連線

地址總線

CLK2—A2—A31

BE3#32位

BE2HA地址

BE1::「使能

數據總線

D0-D31<:——)BEO#

80386W/R#_

ADSttD/C#''

NA#總線周

M/IO。

總線控制BS16?期定義

LOCK1t

READY#

>----------------

HOLDPEREQ

總線仲裁協處理

HLDABUSY?

器侑信

1\TRERRORU

NMIVcc

中斷-電源連接

RESETGND

湖南科技大孽計算機科舉與工諄為里步

9

?386的主要外連線

?(1)DO-D31:32位數據總線,雙向

.(2)A2-A31,BEO#?BE3#:地址總線

3A0?A31是32位地址線,其中AO,A1在80386內部轉換成

.“字節使能”信號BEO#?BE3#,分別是字節0?字節3的選擇信

?號。

BEO#:DO?D7字節0(最低有效字節)

BE1#:D8-D15字節1

BE2#:D16?D23字節2

BE3#:D24?D31字節3(最高有效字節)

A1A0BE3#BE2#BE1#BE0#

00XXX低

01XX低高

10X低高高

11低高高高

湖南科技大學計算機科學叮

10

386的主要外連線

.(3)CLK2:輸入到80386的時鐘

;(4)Reset:總清信號或復位信號;

1,(5)W/R#、M/IO#、D/C#、LOCK#:總線周期信號

W/R#=1寫周期W/R#=0讀周期

M/IO#=1存儲器操作M/IO#=0I/O操作

D/C#=1傳送的是數據D/C#=0傳送的是控制信號

LOCK#:總線鎖定信號,當它為低電平時,不允許芯片外部

.?的信號打斷當前總線周期的操作,即CPU不允許讓出總線控制權。

.?(6)ADS#:地址狀態信號

?當其為低電位時,表示BE0#?BE3#、A2?A31及總線周期定義

■信號W/R#、M/IO#、D/C#已有效。

(7)READY#:傳送響應信號

■是當數據傳送完成時由外部發給CPU的響應信號。當為低電位

.?時,表示當前的總線周期已完成,由BE0#?BE3#規定的有效字節

湖南科技大學計算機科學叮

11

已由外部接收或已由外部提供。

讀周期:READY#有效時,80386鎖存輸入數據,并結束這個

總線周期。

寫周期:READY#有效時,80386終止這個總線周期(信號已被

外部接收)。

在所有總線周期的第一節拍(也稱總線狀態),Ready#信號被

忽略,而這以后的每個節拍都對其進行采樣,直至它有效才轉入

下一個總線周期。

(8)NA#:是由存儲器或I/O送到80386的信號。它表示本次讀/寫操

作雖未完成,但已允許80386送出下一個讀/寫周期的地址及控制

信號,這樣可使兩次讀/寫周期的部分操作重疊進行,以縮短一條

指令的執行時間。

(9)HOLD和HLDA:總線仲裁信號。

HOLD為占用總線請求;當處理器允許釋放總線時,就發出應

答信號HLDA,并放棄總線控制權。________________________

「十,加而押「—_湖南科技大孽計司兒科軟?工!?稼將^

12

(10)INTR和NMI:為中斷請求信號和不可屏蔽中斷請求信號;

(ll)PEREQ、BUSY#、ERROR:為協處理器接口信號。

3.控制器的作用

主要作用是:發出滿足一定時序關系的控制信號,實現指令系

統所規定的各條指令的功能,并保證計算機系統正常運行。

1,■睡i贏.湖南科技大學計算機科學叮

13

:6.2CPU相關知識

?一、CPU的發展過程

>CPU是英語"CentralProcessingUnit/中央處理器”的縮寫,其

.中X86CPU是目前個人電腦所使用最多的CPU。

.1978年美國Intel公司生產出了第一塊16位的CPU—i8086芯

.片,它使用的指令代碼就叫x86指令集。之后,Intel公司根據

i8086簡化設計和生產了i8088,但它仍然使用x86指令集。

,1981年8月,美國IBM公司使用i8088芯片生產出了具有劃時代

?意義的IBMPC機。以后,雖然Intel公司又不斷設計和生產出更快、

e更先進的CPU,但也都保留了上一代CPU技術的精華,新一代的

>CPU都能在二進制代碼級兼容x86指令。

,Intel生產的CPU芯片命名沿用了x86模式,如i80286、i80386、

i80486直到1993年因商標注冊問題而將其后續產品586、686級

CPU改名為今天的Pentium系列。

?把Intel公司生產的兼容x86指令集的CPU(包括其他公司所生產

*的兼容產品)稱之為x86系列CPU。以下為敘述方便,將X86CPU

?簡稱為“CPU”。

湖南科技大學計算機科學叮

14

.二、X86CPU的技術結構和特點

?1.CPU的基本結構

>CPU一般由邏輯運算單元、控制單元和存儲單元組成。在

,邏輯運算和控制單元中包括一些寄存器,這些寄存器用于CPU

,在處理數據過程中數據的暫時保存。

?2.CPU的總線

CPU的總線有數據總線、地址總線和控制總線,CPU對數

.據的處理、傳送,對各種存儲、輸入輸出設備的控制都是通過

.這些總線進行的。在一般情況下,CPU內、外總線的數據“位”

■數是一致的。

,CPU的數據總線在與L2Cache、內存和總線擴展槽之間的

?交換數據時的時鐘頻率并不完全一致,不同類型的CPU有所區

,別。

93.數學協處理器

少數學協處理器專門用于對數、指數和三角函數等數學運算,俗

稱浮點運算。

湖南科技大學計算機科學叮

15

在i8088、i80286和i80386時代,CPU和數學協處理器是分別

安裝在電腦主板上的,在i80486時代,凡型號上標有DX的CPU

均已內置協處理器,只有部分486CPU因生產需要而不內置,

所以在i8088至i80486時代除了常見的CPU外,還有對應的i8087、

i80287、i80387和i80487系列的協處理器,這些x87協處理器均

使用x87指令集。

至UPentium時代,所有的CPU中均內置協處理器。

CPU的浮點運算能力主要取決于協處理器,而浮點運算對

于電腦在處理3D圖形數據時至關重耍,所以AMD、Cyrix公司

的CPU浮點運算能力不強也是它們競爭能力比Intel公司差的重

要原因之一。

4.CPU的封裝和外形

所謂CPU封裝是CPU生產過程中的最后一道工序,封裝是采

用特定的材料將CPU芯片或CPU模塊固化在其中以防損壞的保

護措施,一般必須在封裝后CPU才能交付用戶使用。

1,■睡i贏.湖南科技大學計算機科學叮

?CPU的封裝方式取決于CPU安裝形式和器件集成設計,從大

?的分類來看通常采用Socket插座進行安裝的CPU使用PGA(柵格

?陣列)方式封裝,而采用Slotx槽安裝的CPU則全部采用SEC(單

?邊接插盒)的形式封裝。

.?由于市場競爭日益激烈,目前CPU封裝技術的發展方向以

>節約成本為主。

e我們常可以在CPU性能列表上看到“生產工藝”一項,其

中有“0.18unT或“0.25um”等。一般來說“生產工藝”中的數

[:據越小表明CPU生產技術越先進。

:目前,CPU生產工藝已達到0.13um的水平。

j.三、Intel及其他廠商的CPU;

I,目前使用的CPU有好幾家公司的產品,除了Intel公司外,主

?要還有AMD、Cyrix和IDT(集成設備公司)等三家公司的產品。

..由于目前世界上CPU中有90%是Intel公司生產的,就是說世界

:.上有90%的x86型電腦中安裝的是Intel公司生產的CPU。

憶Intel生產的CPU就成了事實上的X86CPU技術規范和標準。

海/緲謨墓;,湖南科技春計算機科鉆基博,"'粕M

17

?四、CPU的技術參數和性能指數

?CPU的技術參數是生產廠家提供的有關CPU的技術指標或

標準。

'-CPU性能指數是該CPU在組裝電腦后的表現情況,通常使

1?用專用軟件進行測試,然后得出的有關數據。

[.1、CPU的主要技術參數

主頻:單位為MHz,數值越高越好。

1時鐘頻率:CPU的外部時鐘頻率,由電腦主板提供。

?486的外頻一般是33MHz,40MHz,Pentium主板的外頻一般

;?是66MHz。一些主板由于技術精良,工藝先進,可以超頻1/3以上

?穩定使用,成為超頻愛好者的首選。

、>目前新一代主板芯片支持133MHz、200MHz的外頻。

:.倍頻系數:CPU的主頻=時鐘頻率X倍頻系數

’.內部緩存(LICache):封閉在CPU芯片內部的高速緩存,用

*于暫時存儲CPU運算時的部分指令和數據,存取速度與CPU主頻

?一致,L1緩存的容量單位一般為KB。L1緩存越大,CPU工作時與

[.存取速度較慢的L2緩存和內存間交換數據的次數越少,相對電腦

的運算速度可以提高。

湖南科技大學計算機科學叮

18

總線:描述CPU外部的數據總線和地址總線”位“數。

安裝插座:描述CPU安裝時所用插座類型。

兼容性:說明CPU能正常運行的軟件范圍。

一工作電壓:描述CPU工作時所需的電源條件。一般來說,工作電

壓越低,CPU功耗越小。

其他:描述CPU的技術結構、能源管理等特點。如制作工藝、封

裝形式等。

五、CPU的超頻和鎖頻

L超頻與Remark

CPU一般應工作在產品標稱主頻上,但如果人為的將工作

頻率調高,并適當調整CPU的工作電壓以保持電腦正常運行各

種軟件,這就是超頻。

由于Intel公司的CPU產品質量優越,將CPU主頻調高一檔并

沒有問題,所以有少數奸商將CPU表面原生產廠家的標記型號

等打磨后重新標注成對應同類CPU高一檔主頻的型號,這就是

Remark,即英語"重新標記"的意思。

湖南科技大學計算機科學叮

-?19

在超頻使用時要注意CPU的散熱,尤其是AMD和Cyrix的

?CPUo

[?2.鎖頻

,由于超頻和Remark現象,無論是在經濟上還是在產品聲譽

命上都對Intel公司產生了不良影響,為此Intel公司在生產時對

?CPU采取了“鎖頻”措施,以減少超頻和Remark行為。

?所謂的鎖頻實際就是將CPU的“倍頻系數”固定起來,例

?如廠家將Pentium133的“倍頻系數”固定為“2”,將Pentium

.166MMX的“倍頻系數”固定為“2.5”,這樣就使用戶或商

.人不能隨意將CPU超頻或Remark了。

.五、CPU的插槽

?由于CPU的高速發展,主板內存、顯卡遠遠跟不上CPU的|

,速度,為了配合不同形式的處理器,就須生產出不同接口的主

.板,所謂接口:即住板的CUU插槽。

=1、SLOT1

用于早期的賽揚、PentiumII、III系列。1998年推出。

:十第戌原理,湖南科技大學計算機科學當a??H

.2、SLOTA20

?用于AMD推出的K7上,是SLOT1的雙生子,和SLOT1外

#觀一樣,只是左、右倒轉了。

3、Socket7,Super7

'Socket7主板支持最初的Pentiu系列處理器及兼容的AMD、

命Cyrix以及Intel的芯片(133MHz?266MHz),系統使用66MHz的

總線。

?Super7主板增加了對100MHz外頻和AGP接口類型的支持。

.AMDK6系列的CPU可以達至U450MHz。

湖南科技大學計算機科刖鼻捉血f?

/

、Socket370

二Socket370架構是新型PentiumIII和CeleronCPU的標準插座

三亶。支持的最大速度依賴于主板和BIOS。多數Socket370主

三有6行插腳,比Socket7多一圈插腳。

湖南科技大學計算機科學呵工程,

22

5、SocketA

SocketA架構是當前AMD的Athlon和Duron的插座標準。支

?持的最大CPU速度依賴于主板和BIOS。SocketA主板可以支持

?133MHz外頻。

23

6、Socket423

使用Intel850芯片組,基本上要配價貴的RAMBUS內存。

支持IntelSocket423奔騰4處理器(OLGA封裝)中央處理器。

湖南科技大學計目機科學與工程

24

7、Socket478

使用的芯片組有:Intel850、Intel845D、Intel845E、

?Intel845G>Intel845>威盛P4X333、威盛P4X266、硅統645、

*硅統648o

英特爾英特爾英特爾威盛威盛

芯片組硅統648

850E845G845EP4X333P4X266

發表日期2002年5月2002年5月2002年5月2002年5月2001年8月2002年7月

CPUSocket

Socket478Socket478Socket478Socket478Socket478

Socket423/478

支持的處IntelIntelIntelIntelIntelIntel

理器Pentium4Pentium4Pentium4Pentium4Pentium4Pentium4

前端總線100/133100/133100/133100/133100/133

100MHz

時鐘頻率MHzMHzMHzMHzMHz

最大內存量2048MB3072MB3072MB3072MB4096MB2048MB

SDRAM支持否是是是是否

是否支持

否否否否否否

?I)DRSDRAM

湖南科技大學計算機科學叮

25

6.3控制器的組成

一,一、控制器的功能

?控制器的功能:計算機快速、自動、連續工作是控制器在程

.?序的要求下不斷對機器進行控制的結果。

.?(1)取指令(PC給出指令地址)

■(2)分析指令(得到操作命令、地址)

,(3)執行指令(完成一組微操作MOP)

(4)輸入、輸出(控制程序和數據的輸入和結果輸出)'

{(5)處理隨機事件(中斷、DMA)|

卜,二、控制器的組成

,1、程序計數器PC存放指令地址

順序執行PC—PC+1

p非順序執行PC—ADDR或PC—EA

::2、指令寄存器IR:存放取出的現行指令

^^■_7帚出恪山謨中口」湖南科技大彝埒機科拈基淖fe,'

26

3、指令譯碼器ID

對IR中的指令操作碼進行譯碼,產生相應控制電位,提供

給微操作序列形成部件,還形成計算EA所需的控制信息。

4、產生計算機所需定時信號,用以在指令執行過程中,對各

功能部件進行有節奏的時序控制。(周期、節拍、工作脈沖)

5、產生計算機所需定時信號,用以在指令執行過程中,對各

功能部件進行有節奏的時序控制。(周期、節拍、工作脈沖)

脈沖源:產生主脈沖(主頻)

啟停電路:控制是否允許主脈沖發送,并保證輸出脈沖的完

整性,實現對計算機安全可靠的啟動和停機

時序信號的產生部件:以主脈沖為基準,產生相應于不同機

器指令的時序信號(狀態、節拍發生器)

6、決定指令執行所需不同微操作的相關信號

指令寄存器操作碼的操作信號

?

湖南科技大學計算機科學叮

指令寄存器操作碼的操作信號

冒程序狀態字寄存器的狀態條件信號

中斷機構輸出的信號

指令轉移地址

_____________£6.3控制器基本:成框用

■如磔向wJ_湖南科技吳莉?曼機科攀匕途驟,’卻

?三、指令執行過程28

?1、組成控制器的基本電路

?計算機中采用電路,基本上分為兩種類型:

?記憶電路:觸發器以及由觸發器組成的寄存器、計數器在存

?儲單元等,特點是輸入信號消失后,原信息仍然保留其中;

?沒有記憶功能電路:加法器、算術邏輯單元等,當輸入信號

.改變后,輸出跟著變化。

?2、指令執行過程舉例

?(1)一條加法指令的執行過程

,假設運算器的框圖如圖6.6所示。運算器由8個GR、1個ALU,

?并有4個記憶運算結果狀態的標志觸發器N,Z,V和C。

?假設指令格式為:

OPrs,rdrs1Imm(或DISP)

.指令功能:將寄存器(rs)中的一個數與存儲器中的一個數(其

地址為(rsl)+DISP)相加,結果放在寄存器rd中,rs與rd為同一

■寄存器:

《超M組磁訓"一、湖南科技,十算機科密與潭匐,,械蟆

29

*

圖6.6運算器框圖

湖南科技大軍計算機科學,jxsWiB

30

加法指令完成以下操作:

(1)從存儲器取指令,送入IR,并進行操作碼譯碼。PC加1,為下一

?條指令作好準備。控制器發出的控制信號:

.

.PC-AB;W/R#=0;M/IO#=1;DB-IR;PC+1

.(2)計算數據地址,將計算得到的有效地址送到AR。控制器發出

.的控制信號:

.rsl->GR;(rsl)一ALU;disp-ALU;“+ALU-AR

?(3)到存儲器中取數。控制器發出的控制信號:'

?AR-AB;W/R#=0;M/IO#=1;DB-DR

f(4)進行加法運算,結果送寄存器,并根據運算結果置狀態位N、i

?Z、V、C.控器發出的控制信號:

:rs->GR;(rs)—ALU;DR-ALU;“+”;

.rd一GR;ALU-rd;N,Z,V,C

?注意:一條微指令中的控制信號是同時發出的。

,腿領遍叫」、湖南科技大孽計算初科鉆工潮

--------------------------------------

取用t1“算:地1止,2取散,3力11法運算?

7,Z|r>-T1丁2T!T231

CLK26

U1ULinRJLU11R1A

??CPU內部CI,K_

byr仃5

「?的寄存器,

J1JIY」AB.r)B-IR/\_

?如JPLVC-/、ATARX.、pc41

1\_

等..都.是AR——AH.F)H——DR

''GR\_J

An7//

■-7r人國

在一個周W/R系X麻$$$\

MB

一期的末尾M/To滋

「?一/

4接受信息…口念經蜜洽隘

!?X?L

7I、令/I

L.的,即在數據總線1小\2_1/_LZ

rs1—*CrR.(rsl)-A,1.1J/

)?TM2J時r」,'利14I“^isp—*A、I…-LJ\

L?用Li1CTLIKTkn時-L

t/\_/L_

管鐘的下降—Sil.u/V

■4T、士DR-AIAJ

r*沿打入奇1

A1.1J—?AR\—

)?存器。

.1JTiffrd—(;R

/L

ALU-rd?宜Z、Z、V、C

《沁姓組同理,湖南科技孱計巢機科科遙

32

.(2)條件轉移指令的執行過程

■指令功能:根據N、Z、V、C的狀態,決定是否轉換。

?完成以下操作:

?副從存儲器取指令,送入指令寄存器,并進行操作碼譯碼。

?PC+1,如不轉移,即為下一條要執行的指令地址。

?本操作對所有指令都是相同的。

?t如轉移條件成立,根據指令規定的尋址方式計算有效地址,

,轉移指令常采用相對尋址方式,轉移地址=PC+disp。此處PC

?是指本條指令的地址,而在上一機器周期已執行PC+1操作,

e因此計算時應取原PC值。最后將轉移地址送PC.

,本條指令只需兩個機器周期,如轉移條件成立,在第二機

?器周期增加一個ALU-PC信號;如為相對轉移,則用PC

.一ALU信號取代加法指令第二周期中的(rsl)一ALU信號。其他

.信號與加法指令的前兩個機器周期中的信號相同。

.某些計算機對條件轉移指令的功能規定為:先進行比較運算,

—根據運算結果置條件碼,并根據條件碼決定是否轉移。要完成

?這樣的功能顯然要增加周期數。、_

;:訂組成原理,-_湖南科技大孽計算機科孽身邛冊麗■一

6.4微程序控制計算機的基本工作原理33

一、微程序控制的基本概念

⑴微命令和微操作

微命令:構成控制信號序列的最小單位。例如:打開或關閉某個控制

門的電位信號。微命令由控制部件通過控制線向執行部件發出。

微操作:執行部件接受微命令后所進行的最基本的操作。

微命令是微操作的控制信號,而微操作是微命令控制的操作過程,在

計算機內部實質上是同一個信號。對控制部件為微命令,對執行部件為

微操作。很多情況下,兩者常常不加區分地使用。

(2)控制存儲器:一種固定存儲器,字長較長,主要用于存放控制命

令和下址。控存字長比機器字長要長得多。

⑶微指令和微周期

微指令:一組實現一定操作功能的微命令的組合。通常用二進編碼表

示。一條微指令包括微命令部分、微地址碼部分或其它

微周期:指從控制存儲器讀取一條微指令并執行相應的微操作所需的

時間。與指令周期之間的差別是,微周期的時間一般是固定的。I

(4)微程序:完成一條指令功能的微指令序列集合;把不同指令的微

操作序列編成微程序來執行.使微操作控制信號碼點化,所有指令對應

的微操作序列按編碼的二進制信息方式存放在控制存儲器中,執行指

令時,從控存中讀出程序并轉化為微操作是制點號序列._________

I鬲融圓面湖蚓技大學計0機科學L"懵a‘

?微程序設計:就是用類似程序設計的方法、組織和控制計算機內部信34

?息的傳送和互相的聯系。

.(5)機器指令與微指令的關系

.機器指令:是提供給使用者編程的基本單位,它表示機器能夠完成

?的一項基本功能。

?微指令:是實現機器指令的一系列微命令的組合。

?一條機器指令對應若干條微指令序列組成的微程序,機器指令由

.微指令進行解釋并執行。

.⑹程序與微程序的關系

程序由機器指令構成,對用戶程序而言,是為某項任務編制并放在

?主存儲器中,允許修改。

?微程序由微指令構成,一條機器指令對應一段微程序,所以微程序

.用于描述機器指令的。

.微程序是在設計計算機時將它預先編制好,并存入控制存儲器中,

,通常不允許用戶修改。但也有機器向用戶提供了微程序設計能力,允

?許用戶自己編制微程序,擴充所需要的功能。

.(7)主存儲器與控制存儲器的關系

.主存儲器中存放的系統程序和用戶程序,容量很大;

控制存儲器中存放的是對應于機器指令系統的全部微程序,控制實

?現機器的整個指令系統,容量有限,速度比主存快。

湖南科技大學計算機科學叮

二、實現微程序控制的基本原理

,1、控制信號

?序

?號控制信號功能控制信號功能

?1PC-AB指令地址送地址總線13+ALU進行加法運算

2ALC-PC轉移地址送PC14—ALU進行減法運算

3PC+1程序計數器加115AALU進行邏輯乘運算

■4imm—ALU立即數或偏移量送ALU16VALU進行邏輯加運算

.5DB-IR取指到指令寄存器17ALU-GRALU運算結果送通用寄存器

6DR—DB數據總線上數送數據寄存器18ALU—DRALU運算結果送數據寄存器

.7DR—DB數據寄存器數據送數據總線19ALU—ARALU運算結果送地址寄存器

.8rsl—*GR寄存器地址送送通用寄存器20AR—AB地寄存器內容送地址總線

?9rs,rd一GR寄存器地址送送通用寄存器21ADS地址總線上地址有效

■10(rsl)->ALU寄存器內容送送ALU22M/IO#訪問存儲器或I/O

.11(rs)-ALU寄存器內容送送ALU23W/R#寫或讀

12DR—ALU數據寄存器內容送ALU

號3組屈HL「機.程可??廣檢

?仍以執行一條加法指令為例,它由四條微指令解釋執行,每條37

.微指令所需的控制信號如下:

.1、取指令:

PC—AB(1);W/R#=O(23);M/IO#=1(22);DB-IR(5);

?PC+1(3);ADS(21)

?2、計算地址

?rsl->GR(8);(rsl)一ALU(10);disp->ALU(4);(13);

ALU->AR(19)

3、取數

?AR一AB(20);W/R#=0(23);M/IO#=1(22);DB一DR(6);

.ADS(21)

?4、運算送結果

.rs->GR(9);(rs)-ALU(11);DR->ALU(12);(13);

?ALU->GR(17)

?微指令最簡單的組成形式是將每個控制信號用一個控制位來表

?示。當該位為“1”表示有控制信號;當該位為“0”表示沒有控

.制信號。M/IO#,W/R#則根據是訪問存儲器還是I/O設備,是寫還是

?讀而設置成“1”或“0”。

?本例共有23個控制信號,所以總共有23個控制位,若控存容量

?為4K,則每條微指令還需12位地址來表示下址。

^■^州如觸瀛聞:湖南科技大孽計算機科孽務工?潭"編

38

?-—-控制字段-——?<----------下址字段--------?

12???2324???35

ALU->PC

PC->ABW/R#

則加法指令的4條微指令編碼如下:

1?23為控制字段,24?35為下址字段(略去)。

11111111112222

12345678901234567890123

?取指111110

?算地址11111

?取數

11110

一加法11111

最?魄g湖南科技大學計算機科學叮

39

微程序也可用流程圖來表示,如下圖。

湖南科技大學計算機科學叮

40

2、微程序控制器

微程序控制器如右下圖。

指令寄存器IR操作碼地址碼

形成本條指令

的微程序入口指令譯碼

地址

控制存儲器

微指令寄存器控制字段下址

湖南科技大學計算機科學叮r.f'1,^H

41

3、時序信號及工作脈沖的形成

對于同步控制系統,統一的系統時鐘,是協調各個部件協調工作

的基本手段。合理設計的時標系統,不僅僅可以保證系統工作的協調

和正確,也是系統能否高效工作的基礎。

CLK2經過二分頻得到CLK,CLK分頻得到Tl0T2可從T1反相得至上

見“圖6.12時序信號及工作脈沖”。

指令周期:對于絕大多數情況,一條計算機指令的執行時間,或者

簡單地認為指令周期,指令周期為存儲周期的整數倍。

例如:2個存儲周期(一地址指令)

機器周期:根據指令執行的不同任務,將一個指令周期劃分成幾個時

間段,也稱工作狀態;

以存儲周期為基準確定機器周期。

2個機器周期(標志觸發器):IF(取指周期)、EX(執行周期)

副節拍:機器周期劃分為若干個相等時間段,每段稱為一個節拍

系統時鐘:一個節拍電位的寬度,所有微操作在一個節拍內完成

節拍一般用具有一定寬度的電位信號表示,稱為節拍電位。

湖南科技大學計算機科學叮

I.42

在計算機系統中,節拍電位通常是具有周期性的,一條指令執

?行結束后,節拍電位在下一條指令執行中會從頭開始;所以節拍

?電位的周期和指令周期是相同的。表示一個劃分成n個相等時間段

一,的指令周期T,有n個節拍電位T。、與指令周期的劃分相對

?應。這樣,將一條指令的微操作序列按時序性要求,分配到各個

.節拍中去執行。節拍電位的順序性保證了微操作的時序性。

指令

周期

ToL_

T12______

T

a1n-1

?一般說來,節拍電位的寬度就是機器的系統時鐘周期,因此,

>所有微操作都是與計算機系統時鐘信號同步。

湖南科技大學計算機科學叮

I43

.4、指令周期與存儲周期之間關系

.早期的計算機,指令周期通常是存儲周期的整數倍,如兩倍、三

*倍、四倍等,具體的倍數與指令的功能相關。

*一條沒有數據訪存的指令通常指令周期為一個存儲周期,這個存

?儲周期用于取出指令;一條一地址訪存(非存儲器間接訪存尋址)指令

?的指令周期需要兩個存儲周期;如果指令數據需要兩次訪存,則指令

.周期等于三倍存儲周期,依此類推。這中間的主要原因是早期計算機

存儲器的控制器需要由系統控制器擔任,而且存儲器與CPU系統在相

合同的系統時鐘下工作。下圖是一個一地址指令中指令周期與存儲周期

一之間關系圖。

指令周期

<——取指周期(IF)執行周期(EX)——A

ToT1T2T3ToTiT2T3

第一存儲周期第二存儲周期

取指令To訪問存儲器

指令譯碼Ti訪問存儲器結束

運算并保存結果

PC+1T2

送操作數地址送存儲器

T3PC

湖南科技大學計算機科學叮

44

當前計算機系統的指令周期往往與系統存儲器的存儲周期沒

有直接的關系,尤其在使用微處理器的環境中。

目前大多數微處理器和存儲器系統采用獨立時鐘設計,以減少

存儲器和處理器之間的關聯,減少對彼此系統實際設計的相互影

響。但是這并不是說計算機的指令周期與存儲器訪問周期沒有關

系。

由于現代計算機系統都使用了Cache存儲器系統,緩沖了CPU與

系統存儲器之間的時間關系。

計算機指令的執行周期與離CPU最近的Cache存儲器系統(一般

為第一級Cache,Level1cache)的存儲周期的關系與早期計算機與

系統存儲器之間的關系是一樣的,即指令周期為離CPU最近的存

儲器系統的存儲周期的整數倍。

對于工作頻率非常高的微處理器,如工作頻率達200MHz以上,

絕大多數存儲器的工作是無法滿足要求的,微處理器一般采用加

入“等待周期”來完成從存儲器取出數據。當然在存儲器系統和

結構設計中也需要采取相應的措施。

1,■睡i贏.湖南科技大學計算機科學叮

I?5、電路配合中的常見45

?副電路延遲引起的波形畸變

?售機器周期的確定

?一條微指令要完成若干個微操作,不同的微指令要完成的微操作是

不同的,所有的微操作都應在一個機器周期內完成。

也就是說機器周期時間應大于或等于執行時間最長的微操作時間。

?時鐘脈沖CLK和工作脈沖CP的標準性

>CP主要作為寄存器和觸發電路的打入脈沖。在控制打入脈沖的機

.器中,總是盡量將CP信號送到控制門的最后一級。

.在傳送CLK的線上或產生打入脈沖的信號線上不允許出現“毛

?刺”,否則將引起誤動作。

-6、微程序控制計算機的工作工程簡單總結

?微程序控制也有其不足之外,其一是速度比組合邏輯控制慢,其

.二是幾乎所有指令處理的速度是一樣的。典型的RISC一般不采用微

程序控制。

而目前的CISC處理器,如Intel的Pentiumn/III等,一般采用混合控

?制邏輯,即常用的簡單指令采用組合邏輯控制實現,如寄存器之間的

.數據傳送指令等,而對于不常用的和復雜的指令則采用微程序控制實

現。采用混合控制邏輯實現計算機處理器,是目前處理器設計中最常

采用的方法。

萬謙?湖南科技大學計算機科學叮

微程序46

主振

控制條件方案的

控制控制器

存儲器

啟停

輸出輸入

設備設備

I

溫馨提示

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

評論

0/150

提交評論