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

下載本文檔

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

文檔簡(jiǎn)介

第五章中央處理器5.1CPU的組成和功能5.2

指令周期5.3

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

微程序控制器5.5微程序設(shè)計(jì)技術(shù)5.6

硬布線控制器5.7傳統(tǒng)的CPU5.8流水CPU5.9RISCCPU5.10多媒體CPU

5.1CPU的組成和功能一、CPU的功能:

1、指令的控制功能:控制程序嚴(yán)格按程序規(guī)定的順序進(jìn)行。

2、操作的控制功能:對(duì)指令的具體操作控制

3、時(shí)序的控制功能:對(duì)各種操作實(shí)施時(shí)間上的定時(shí)控制

4、數(shù)據(jù)加工的功能:對(duì)數(shù)據(jù)進(jìn)行算術(shù)運(yùn)算和邏輯運(yùn)算

1.

運(yùn)算器:ALU,寄存器(DR,AC,PSW)

2.

cache

3.

控制器:

◆控制器功能:是負(fù)責(zé)指令的讀出,進(jìn)行識(shí)別和解釋,并產(chǎn)生相應(yīng)的操作控制信號(hào)來(lái)指揮各功能部件自動(dòng)協(xié)調(diào)工作?!艨刂破鹘M成:PC、IR、ID、時(shí)序部件、微操作控制部件和中斷系統(tǒng),操作控制臺(tái)

二、CPU的組成(1)程序計(jì)數(shù)器PC:用來(lái)存放待執(zhí)行指令在存儲(chǔ)器中的地址,

又可稱做指令地址寄存器(2)指令寄存器IR:用來(lái)存放從存儲(chǔ)器中取出的待執(zhí)行指令。

(3)指令譯碼器

ID:對(duì)操作碼譯碼并識(shí)別出當(dāng)前要執(zhí)行的指令是一條什么指令,又可稱做操作碼譯碼器(4)時(shí)序部件

:用來(lái)產(chǎn)生各種時(shí)序信號(hào),通常由系統(tǒng)主時(shí)鐘,節(jié)拍信號(hào)發(fā)生器和啟停邏輯等部件組成。

(5)微操作控制器:就是根據(jù)指令操作碼和時(shí)序信號(hào),產(chǎn)生

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

控制。根據(jù)設(shè)計(jì)方法不同,操作控制器

可分為:

①硬布線控制器:是采用時(shí)序邏輯技術(shù)來(lái)實(shí)現(xiàn)的;②微程序控制器:是采用存儲(chǔ)邏輯來(lái)實(shí)現(xiàn)的;③兩種方式的組合

(6)中斷系統(tǒng):用于處理系統(tǒng)中出現(xiàn)的偶然事件,由軟硬件

構(gòu)成的綜合部件。

(7)操作控制臺(tái):人工干預(yù)計(jì)算機(jī)工作的部件。

◆控制器的結(jié)構(gòu)框圖:圖中可以看出:控制器的主體是微操作控制部件,由它根據(jù)當(dāng)前所執(zhí)行的指令在各個(gè)機(jī)器周期的各個(gè)節(jié)拍內(nèi)產(chǎn)生相應(yīng)的微操作控制信號(hào),以控制全機(jī)各個(gè)部件的操作。

1、執(zhí)行過(guò)程

:取指令→取操作數(shù)→執(zhí)行指令2、基本概念:

①指令周期:從取出這條指令到執(zhí)行完這條指令的時(shí)間。

②機(jī)器周期:完成一個(gè)最基本步驟所需要的時(shí)間,如:取

指令、取操作數(shù)。又稱總線周期、CPU周期

③時(shí)鐘周期(T周期):通常又稱為節(jié)拍脈沖,CPU完成一個(gè)最基本的動(dòng)作所需要的時(shí)間。

一、指令的執(zhí)行過(guò)程:5.2

指令周期三者關(guān)系:一個(gè)指令周期包含若干個(gè)CPU周期,一個(gè)CPU周期的功能由多個(gè)時(shí)鐘周期來(lái)完成下面通過(guò)五條指令組成的程序?yàn)槔诱f(shuō)明指令的執(zhí)行過(guò)程:

八進(jìn)制地址八進(jìn)制內(nèi)容助記符

020Q

250000

CLA021Q

030030

ADD30022Q020040STA40023Q000000NOP024Q140021JMP21.........030Q000006031Q000040.........040Q存和數(shù)單元

例:CPU結(jié)構(gòu)如圖所示,其中有一個(gè)累加寄存器AC、一個(gè)狀態(tài)條件寄存器和其他四個(gè)寄存器,各部分之間的連線表示數(shù)據(jù)通路,箭頭表示信息傳送方向。(l)標(biāo)明圖中四個(gè)寄存器的名稱。(2)簡(jiǎn)述指令從主存取到控制器的數(shù)據(jù)通路。(3)簡(jiǎn)述數(shù)據(jù)在運(yùn)算器和主存之間進(jìn)行存/取訪問(wèn)的數(shù)據(jù)通路解:

(1)a為數(shù)據(jù)緩沖寄存器DR,b為指令寄存器IR,

c為主存地址寄存器,d為程序計(jì)數(shù)器PC。

(2)主存M→緩沖寄存器DR→指令寄存器IR→操作控制器

(3)存貯器讀:M→DR→ALU→AC

存貯器寫:AC→DR→M

方框:代表一個(gè)CPU周期,方框中的內(nèi)容表示數(shù)據(jù)通路的操作或某種控制操作。

菱形

:通常用來(lái)表示某種判別或測(cè)試,不過(guò)時(shí)間上它依附于緊接它的前面一個(gè)方框的CPU周期,而不單獨(dú)占用一個(gè)CPU周期。二、用方框圖表示指令周期:前面五條典型指令用方框圖語(yǔ)言表示為:前面五條典型指令用方框圖語(yǔ)言表示為:↓↓例:用方框圖表示ADDA

指令周期流程圖:解:↓

ADD

PC→AR→ABUSDBUS→DR→IRPC+1→PC譯碼A→ARDBUS→DRDR→ALU

AC→ALUALU→AC~AR→ABUS例:用方框圖表示STAB指令周期流程圖:解:↓

STAPC→AR→ABUSDBUS→DR→IRPC+1→PC譯碼

B

→AR↓

AR→ABUSAC→DRDR→DBUS

~↓三、指令操作流程圖:

任何指令的執(zhí)行過(guò)程,實(shí)際上是由控制器產(chǎn)生一系列微操作控制信號(hào)的過(guò)程,將這些微操作控制信號(hào)合理的分配在各個(gè)機(jī)器周期的各個(gè)節(jié)拍中,便可構(gòu)成各條機(jī)器指令的操作流程圖。假定計(jì)算機(jī)的每個(gè)機(jī)器周期包含4個(gè)節(jié)拍,那么:取指令的操作的流程圖為:

LDAA1STAA2ADDA2ANDA3JMPL1………L1:………JMPZL2COML2:………HALT

例:用圖表示下列指令操作流程圖:例:用圖表示ADD指令周期及操作流程圖:

ADDA指令周期流程圖:解:↓

ADD↓

PC→MAR→ABUSDBUS→DR→IRPC+1→PCA→ARAR→ABUSDBUS→DRDR→ALU

ALU→AC↓~

ADDA指令操作流程圖:

PC→MARLDAR↓

RDM↓

PC+1→PC↓

DR→IRLDIR↓↓

IR(A)→ARLDAR↓

RDM讀出操作↓

↓~譯碼譯碼AC+MDR→AC例:如下所示為雙總線結(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è)門電路。另外,線上標(biāo)注有小圈表示有控制信號(hào),例中yi表示y寄存器的輸入控制信號(hào),R1o為寄存器R1的輸出控制信號(hào),未標(biāo)字符的線為直通線,不受控制。(1)“ADDR2,R0”指令完成(R0)+(R2)→R0的功能操作,畫出其指令操作流程圖,假設(shè)該指令的地址已放入PC中。并列出相應(yīng)的微操作

控制信號(hào)序列。

(2)“SUBR1,R3”指令完成(R3)-(R1)→R3的操作,畫出其指令操作流程圖,并列出相應(yīng)的微操作控制信號(hào)序列?!猓骸?/p>

譯碼↓↓↓PCO,G,ARiDRO

,G,IRi

R/W=0(讀)R2O

,G,Yi

R0O,G,Xi

+,G,R0i↓↓

PC→AR等待讀PC+1

DR→IR

R2→Y

R0→X

R/W(讀)R0+R2→

R0↓↓↓

譯碼↓↓↓↓↓

PC→AR等待讀PC+1

DR→IR

R3→Y

R1→X

R/W(讀)R3-R1→

R3~~R3O

,G,Yi

R1O,G,Xi-,G,R0i↓~例:參見(jiàn)下圖數(shù)據(jù)通路,畫出數(shù)據(jù)指令“STA(R2)R1”的指令操作流程圖,其含義是將寄存器R1的內(nèi)容傳送至(R2)為地址的貯存單元中。標(biāo)出各微操作信號(hào)序列。解:↓↓↓

譯碼↓↓↓PCO,G,ARiDRO

,G,IRi

R/W=0(讀)R2O

,G,ARi

R1O,G,DRi

R/W=1(寫)↓↓

PC→AR等待讀PC+1

DR→IR

R2→AR

R1→DR

等待寫

R/W(讀)

R/W(寫)時(shí)序部件作用:用來(lái)產(chǎn)生執(zhí)行機(jī)器指令過(guò)程中的各種時(shí)序信號(hào),

在各條不同指令的不同機(jī)器周期的不同節(jié)拍中應(yīng)產(chǎn)生什么微操作控制信號(hào)是由指令操作流程圖嚴(yán)格地規(guī)定的,所以時(shí)序部件實(shí)質(zhì)上只需要產(chǎn)生各個(gè)機(jī)器周期中的節(jié)拍信息。時(shí)序信號(hào):它由時(shí)序信號(hào)產(chǎn)生器產(chǎn)生,類似“作息時(shí)間”的東西,使計(jì)算機(jī)可以準(zhǔn)確、迅速、有條不紊地工作。操作控制器就利用定時(shí)脈沖的順序和不同的脈沖間隔,有條理、有節(jié)奏地指揮機(jī)器的動(dòng)作,規(guī)定在這個(gè)脈沖到來(lái)時(shí)做什么,在那個(gè)脈沖到來(lái)時(shí)又做什么,給計(jì)算機(jī)各部分提供工作所需的時(shí)間標(biāo)志。5.3

時(shí)序部件時(shí)序部件的結(jié)構(gòu):時(shí)序部件的組成:⑴啟停邏輯:只有通過(guò)啟停邏輯部件將機(jī)器啟動(dòng)起來(lái),時(shí)序部件才開(kāi)始產(chǎn)生節(jié)拍信息(節(jié)拍電位和節(jié)拍脈沖),以控制全機(jī)開(kāi)始工作。兩種常用的控制啟停的方案圖所示:⑵脈沖源:即主時(shí)鐘,通常由石英晶體振蕩器構(gòu)成。脈沖源在機(jī)器

上電后立即開(kāi)始產(chǎn)生時(shí)鐘脈沖序列,直至關(guān)電源為止,不允許有任何的間斷。它相當(dāng)于人的脈搏。

⑶節(jié)拍信號(hào)(時(shí)序)發(fā)生器DCPQQ。。RSDCQQ節(jié)拍電位與節(jié)拍脈沖時(shí)序關(guān)系圖

①當(dāng)R端有效時(shí)(即為低),將觸發(fā)器置0②當(dāng)S端有效時(shí),將觸發(fā)器置1③當(dāng)R、S都無(wú)效且CP在上升沿時(shí),將信息從D打入觸發(fā)器節(jié)拍信號(hào)發(fā)生器一、微操作控制部件作用:

用來(lái)產(chǎn)生全機(jī)各個(gè)部件所需要的操作控制信號(hào)5.4微操作控制部件二、微操作控制部件構(gòu)成方式:

①組合邏輯(硬布線)控制器

②微程序控制器

③PLA(可編程邏輯陣列)

5.4微操作控制部件(續(xù))組合邏輯控制器:

組合邏輯控制器是早期設(shè)計(jì)計(jì)算機(jī)的一種方法:是把控制部件看作為產(chǎn)生專門固定時(shí)序控制信號(hào)的邏輯電路,而此邏輯電路以使用最少元件和取得最高操作速度為設(shè)計(jì)目標(biāo)。這種邏輯電路是一種由門電路和觸發(fā)器構(gòu)成的復(fù)雜樹(shù)形邏輯網(wǎng)絡(luò),故稱之為硬布線控制器。1、組合邏輯控制器設(shè)計(jì)步驟:

第一步是:進(jìn)行微操作綜合。具體作法是將指令操作流程圖中各條機(jī)器指令在不同機(jī)器周期的不同節(jié)拍中產(chǎn)生的同一個(gè)微操作控制信號(hào)集中到一起形成一個(gè)邏輯表達(dá)式,任何一個(gè)微操作控制信號(hào)都會(huì)有一個(gè)邏輯表達(dá)式,全機(jī)很可能有幾百個(gè)邏輯表達(dá)式。第二步是:將這些邏輯表達(dá)式化簡(jiǎn)為最簡(jiǎn)單的邏輯表達(dá)式。第三步是:用邏輯電路去實(shí)現(xiàn)所有表達(dá)式,便形成了“組合邏輯控制器”。設(shè)計(jì)過(guò)程即為:總之:“組合邏輯控制器”直接由各種類型的邏輯門和觸發(fā)器等構(gòu)成。是指令操作流程圖在計(jì)算機(jī)中的具體體現(xiàn),它缺點(diǎn)是:設(shè)計(jì)工作量大,而且不便于修改,優(yōu)點(diǎn)是速度快,微操作控制信號(hào)的產(chǎn)生速度取決于所使用邏輯門的延遲時(shí)間。微操作綜合形成邏輯表達(dá)式

化簡(jiǎn)邏輯表達(dá)式

用邏輯電路去實(shí)現(xiàn)表達(dá)式2、組合邏輯控制器與其它部件的關(guān)系:

Ci:微操作控制信號(hào)Im:指令TK:時(shí)序信號(hào)Bj:運(yùn)算結(jié)果反饋信息3、組合邏輯控制器設(shè)計(jì)舉例:若某主機(jī)的結(jié)構(gòu)如圖:若該機(jī)主要有以下幾條指令:LDA、STA、ADD、AND、JMP、JMPZ、COM、HALT…

則該機(jī)的硬布線控制器的設(shè)計(jì)過(guò)程為:①微操作綜合:就是根據(jù)指令操作流程圖的安排,將需要產(chǎn)生同一個(gè)微操作

控制信號(hào)的條件集中起來(lái)形成一個(gè)邏輯表達(dá)式,顯然該模型機(jī)中應(yīng)形成20個(gè)邏輯表達(dá)式,例如:

JMP·M2·T1+JZ·M2·T3·(ZF=1)RD

M(C13)=Ml·T2+LDA·M2·T2+ADD·M2·T2+AND·M2·T2LDAR(C16)=Ml·T1+LDA·M2·T1+STA·M2·T1+ADD·M2·T1+AND·M2·T1DR→X(C8)=LDA·M2·T4+ADD·M2·T4+AND·M2·T4LDPC(C18)=…………②將表達(dá)式化為最簡(jiǎn)形式如:M2·【JMP·T1+JZ·T3·(ZF=1)】RD

M(C13)=Ml·T2+M2·T2·(LDA+ADD+AND)LDAR(C16)=DR→X(C8)=M2·T4·(LDA+ADD+AND)LDPC(C18)=…………Ml·T1+M2·T1·(LDA+STA+ADD+AND)③用電路去實(shí)現(xiàn)這些邏輯表達(dá)式:

上面僅僅是產(chǎn)生4個(gè)微操作控制信號(hào)用硬件電路來(lái)實(shí)現(xiàn)的電路圖,對(duì)于一臺(tái)具有幾十個(gè),幾百個(gè)微操作控制信號(hào)的計(jì)算機(jī),其組合邏輯控制器將是非常復(fù)雜、非常繁瑣、無(wú)規(guī)律可循,設(shè)計(jì)工作量大,尤其是這樣的組合邏輯控制器一旦設(shè)計(jì)完畢,要想進(jìn)行任何修改將是非常困難的。

于是在1951年英國(guó)劍橋大學(xué)M.V.Wilkes教授首先提出了用軟件(程序)來(lái)產(chǎn)生微控制信號(hào),它的設(shè)計(jì)基本思想是:用執(zhí)行每條機(jī)器指令時(shí)它們各自所需要的微操作控制信號(hào)先后順序來(lái)編寫它們各自相應(yīng)的微程序,每個(gè)微程序包含若干條微指令,每一條微指令對(duì)應(yīng)一個(gè)或幾個(gè)微操作命令。然后把這些微程序存到一個(gè)控制存儲(chǔ)器中,在執(zhí)行每條機(jī)器指令時(shí)就轉(zhuǎn)去執(zhí)行它的微程序。

由于這些微指令是以二進(jìn)制代碼形式表示的,每位代表一個(gè)控制信號(hào)(若該位為1,表示該控制信號(hào)有效;若該位為0,表示此控制信號(hào)無(wú)效),因此,逐條執(zhí)行每一條微指令,也就相應(yīng)地完成了一條機(jī)器指令的全部操作。用這種方法來(lái)產(chǎn)生控制信號(hào)的控制器叫微程序控制器,其核心部件是控制存儲(chǔ)器。微程序控制器1、基本概念:微命令——控制部件通過(guò)控制線向執(zhí)行部件發(fā)出的各種控制命令(即微操作控制信號(hào))微指令——微命令的集合;微程序——解釋一條機(jī)器指令的微指令的集合微程序設(shè)計(jì)——設(shè)計(jì)與各條機(jī)器指令相對(duì)應(yīng)的微程序的過(guò)程

2、機(jī)器指令和微程序的關(guān)系:一條機(jī)器指令對(duì)應(yīng)一個(gè)微程序(該微程序是按執(zhí)行每條機(jī)器指令所需的薇操作命令的先后順序而編寫的,它存放在控制存儲(chǔ)器CM中,它常由E2PROM構(gòu)成)。

任何一條機(jī)器指令可由一段微程序來(lái)解釋執(zhí)行。3、微指令的格式:⑴

微指令格式:微操作碼(控制字段):用來(lái)確定該微指令所能產(chǎn)生的微命令.微地址碼:用來(lái)確定將要執(zhí)行的下條微指令在控制存儲(chǔ)器中的地址微操作碼微地址碼①控制字段:據(jù)構(gòu)成方式分成水平型和垂直型兩種格式:

◆水平型微指令:是指能并行產(chǎn)生多個(gè)微命令的微指令,又有直接控制和編碼控制兩種具體格式:直接控制的水平型微指令的格式:

編碼控制的水平型微指令的格式:

總之:①

直接控制的水平型微指令具有最高的并行性,缺點(diǎn)是控制字段較長(zhǎng),效率較低。②編碼控制的水平型微指令將控制字段分成許多子字段,每個(gè)子字段設(shè)置一個(gè)譯碼器,任何子字段中包含的微命令構(gòu)成一個(gè)“相斥類”的微命令組。處于不同子字段中的微命令,它們構(gòu)成“相容類”的微命令組。它能縮短控制字段的長(zhǎng)度。實(shí)際中也可將直接控制和編碼控制結(jié)合起來(lái)形成混合型的水平型微指令格式.◆垂直型微指令:是完全仿照機(jī)器指令的格式,不具有并行性,即每條微指令只能產(chǎn)生一個(gè)微命令,其具體格式:

可看出:控制字段包含微操作碼、源部件地址和目標(biāo)部件地址等三個(gè)字段,任何時(shí)候只能由微操作碼字段經(jīng)譯碼后產(chǎn)生一個(gè)微命令C,它完全不具有并行性,但是由于增設(shè)了源部件地址和目標(biāo)部件地址字段,使得一個(gè)微命令可對(duì)不同的源和目標(biāo)部件進(jìn)行操作,這對(duì)于減少微命令的個(gè)數(shù)是有效的。

②微指令的地址字段:*斷定方式:具體格式如圖所示:

由于微程序在控制存儲(chǔ)器中有兩種不同的存放方式:連續(xù)存放和不連續(xù)存放。兩種方式下地址字段格式不同,分別作如下說(shuō)明:條件測(cè)試字段的長(zhǎng)度取決于條件轉(zhuǎn)移類微指令可判定的外部條件的個(gè)數(shù)。如果外部條件有4個(gè),考慮到還有無(wú)條件轉(zhuǎn)移的情況,采用編碼方式條件測(cè)試字段至少應(yīng)有3位;微指令地址字段的長(zhǎng)度取決于控制存儲(chǔ)器的總字?jǐn)?shù)*增量方式:是模仿機(jī)器指令的做法:微指令在控制存儲(chǔ)器中連續(xù)存放。這就是說(shuō)一般情況下微指令順序執(zhí)行,只有遇到轉(zhuǎn)移類微指令才會(huì)改變微程序的執(zhí)行順序。因此微指令中可不包含地址字段,但是同樣需要考慮到條件轉(zhuǎn)移類微指令的需要,應(yīng)設(shè)置條件測(cè)試字段。另外要求控制器中設(shè)置一個(gè)獨(dú)立的

微程序計(jì)數(shù)器,一般情況下由微程序計(jì)數(shù)器的不斷加“1”

計(jì)數(shù)指向下條微指令的地址,遇到轉(zhuǎn)移類的微指令時(shí),可用修改微程序計(jì)數(shù)器內(nèi)容的辦法來(lái)實(shí)現(xiàn)微程序的轉(zhuǎn)移。采用增的微指令格式如圖所示:■微指令格式舉例:可看出:20位控制字段可分別產(chǎn)生20個(gè)微命令,任何一條微指令要并行產(chǎn)生哪些微命令,只需將相應(yīng)位置“1”。微地址字段占8位,表明控制存儲(chǔ)器可存放256條微指令。條件測(cè)試字段占2位,采用編碼方式,最多可有3個(gè)供測(cè)試的外部條件,加上不轉(zhuǎn)移的情況正好構(gòu)成4種編碼,它只提供兩個(gè)外部條件,即運(yùn)算結(jié)果是否為“0”(ZF=l)和進(jìn)位位是否為“l(fā)”(CF=1),顯然是夠用了。4、微程序控制器的結(jié)構(gòu):微程序控制器組成:主要由控制存儲(chǔ)器、微地址寄存器和

微命令寄存器及地址轉(zhuǎn)移邏輯四大部分組成。①控制存儲(chǔ)器:用來(lái)存放實(shí)現(xiàn)全部指令系統(tǒng)的微程序,它是一種

只讀存儲(chǔ)器。一旦微程序固化,機(jī)器運(yùn)行時(shí)則只讀不寫。其工作過(guò)程是:每讀出一條微指令,則執(zhí)行這條微指令;接著又讀出下一條微指令,又執(zhí)行這一條微指令……。讀出一條微指令并執(zhí)行微指令的時(shí)間總和稱為一個(gè)微指令周期??刂拼鎯?chǔ)器的字長(zhǎng)就是微指令字的長(zhǎng)度,其存儲(chǔ)容量視機(jī)器指令系統(tǒng)而定,即取決于微程序的數(shù)量。對(duì)控制存儲(chǔ)器的要求是速度快,讀出周期要短。

②微命令寄存器:

用來(lái)存放由控制存儲(chǔ)器讀出的一條微命令信息。其中微地址寄存器決定將要訪問(wèn)的下一條微指令的地址,而微命令寄存器則保存一條微指令的操作控制字段和判別測(cè)試字段的信息。

③微地址寄存器:

用來(lái)存放下一條微指令在控制存儲(chǔ)器的地址,常用CAR來(lái)表示。④地址轉(zhuǎn)移邏輯:在一般情況下,微指令由控制存儲(chǔ)器讀出后直接給出下一條微指令的地址,通常我們簡(jiǎn)稱微地址,這個(gè)微地址信息就存放在微地址寄存器中。如果微程序不出現(xiàn)分支,那么下一條微指令的地址就直接由微地址寄存器給出。當(dāng)微程序出現(xiàn)分支時(shí),意味著微程序出現(xiàn)條件轉(zhuǎn)移。在這種情況下,通過(guò)判別測(cè)試字段P和執(zhí)行部件的“狀態(tài)條件”反饋信息,

去修改微地址寄存器的內(nèi)容,并按改好的內(nèi)容去讀下一條微指令。地址轉(zhuǎn)移邏輯就承擔(dān)自動(dòng)完成修改微地址的任務(wù)&&&若某用戶的程序如下:

LDAXADDYSTAZ………HALT

將程序的首地址→PC,微指令的執(zhí)行過(guò)程:取指:①將微程序首址M→CAR②取微指令CM(CAR)→微命令、微地址寄存器③產(chǎn)生微命令:LDAR,RDM④形成下一條微指令地址M+1⑤取下條微指令CM→微命令、微地址寄存器

⑥產(chǎn)生微命令:LDDR,LDIR

5、微程序控制器的工作原理:

6、微程序設(shè)計(jì)舉例“微程序設(shè)計(jì)”的過(guò)程就是設(shè)計(jì)用來(lái)解釋各條機(jī)器指令的微程序的過(guò)程,一般來(lái)說(shuō),指令系統(tǒng)中包含多少條機(jī)器指令,就應(yīng)該設(shè)計(jì)出多少個(gè)微程序,由于修改比較方便,故現(xiàn)代計(jì)算機(jī)中廣泛采用微程序控制方式。若微指令的格式采用斷定方式,直接控制水平型微指令的格式,并且控制存貯器的容量為256×30,外部條件為三個(gè)。下面以一條加法指令:ADDR1(R2)為例來(lái)說(shuō)明微程序設(shè)計(jì)的具體過(guò)程。①將ADD指令操作流程圖畫出來(lái)②畫出微程序流程圖某模型機(jī)的主機(jī)結(jié)構(gòu)框圖如圖所示,從圖中可看出:微程序控制器微程序控制器

ADD指令操作流程圖:

PC→AR↓

RDM↓

PC+1→PC↓

DR→IRLDIR↓↓

(R2)→AR

RDM↓

DR→X↓

R1→Y“+”LDR1

ADD

微程序流程圖:

LDAR(C16)RDM(C13)PC+1(C17)LDDR(C14)LDIR(C15)↓

LDAR(C16)RDM(C13)LDDR(C14)↓↓

DR→X(C8)R1→Y(C5)“+”(C10)LDR1(C1)00H

ADD82H

34H

↓↓譯碼譯碼M→DRLDDR等待讀LDDR00H

~~③據(jù)微指令格式,微程序流程圖編寫微程序例:據(jù)微程序流程圖,微指令的格式,設(shè)計(jì)十進(jìn)制加法指令“ADDR2,R1”的微程序。微程序流程圖:微指令的格式:解:該十進(jìn)制加法指令的微程序?yàn)椋?0000000

0000111110001000000000010100100100000000000000001001

010001001100000000000100000000

010001001001000000000000000000(10)(01)例:某模型機(jī)的數(shù)據(jù)通路圖、微指令格式為下圖所示:試寫出下面幾條指令從輸入到運(yùn)行的微程序。

INADDA1STAA2OUTA3JMPA4數(shù)據(jù)開(kāi)關(guān)值→R0R0+[A1]→R0R0→[A2][A3]→BUSA4→PC指令指令的功能

解:①據(jù)數(shù)據(jù)通路,畫出它們微程序流程圖②據(jù)微程序流程圖及微指令的格式

寫微程序

本章綜合舉例例:假設(shè)某計(jì)算機(jī)的運(yùn)算器框圖如下圖所示,其中ALU為16位的加法器(高電平工作),SA、SB為16位鎖存器,4個(gè)通用寄存器由D觸發(fā)器組成,O端輸出,其讀寫控制如下表所示:讀控制寫控制RWRA1RA1選擇選擇WA0WA11111000011011××R0R2R3R4不讀出1111000011011××R0R2R3R4不寫入要求:(1)設(shè)計(jì)微指令格式。

(2)畫出:ADDR1,R0指令,即(R1)+(R0)→R1

SUBR2,R3指令,即(R3)-(R2)→R3

“MOVR2,R3”指令,即(R2)→(R3)三條指令的微指令流程圖。(4)依據(jù)ADD,SUB,MOV的微程序流程圖寫出其微程序。解:RA0RA1WA0WA1RWLDSALDSBSB-ALUSB-ALUReset~

(1)微指令字長(zhǎng)12位,微指令格式如下::~:一段微程序結(jié)束,轉(zhuǎn)入取機(jī)器指令的控制信號(hào)(2)畫出三條指令的微程序流程圖,如下圖所示:其中:未考慮“取指周期”和順序控制問(wèn)題,也即微程序僅考慮“執(zhí)行周期”,微指令序列的順序用數(shù)字標(biāo)號(hào)標(biāo)在每條微指令的右上角。每一框表示一條微指令。(4)依據(jù)ADD,SUB,MOV的微指令流程圖寫出其執(zhí)行時(shí)的二進(jìn)制代碼。

指令微程序代碼

ADD1.00**101000002.01**100100003.**0101001001

SUB4.11**101000005.10**100100006.**1101000101

MOV7.10**101000008.**1101001011例:某機(jī)采用微程序控制方式,已知全機(jī)有50個(gè)微命令,控制存儲(chǔ)器共128字,條件測(cè)試字段占3位。解答下述問(wèn)題:

(1)若采用直接控制的水平型微指令,請(qǐng)?jiān)O(shè)計(jì)微指令的具體格式。

(2)若采用編碼控制的水平型微指令,已知50個(gè)微命令構(gòu)成4個(gè)相斥類,分別包含4個(gè)、18個(gè)、22個(gè)和6個(gè)微命令,其他條件不變,請(qǐng)?jiān)O(shè)計(jì)微指令的具體格式。解:(1)由于控制存儲(chǔ)器共128字,若微地址采用斷定方式則微地址需要7位,條件測(cè)試字段3位,采用直接控制的水平型微指令時(shí)需控制字段50位,故它的微指令的格式為:

C1C2‥‥‥C50

P1P2P3微地址7(2)若采用編碼控制的水平型微指令,它的微指令的格式為:733553

P1P2P3微地址

A組B組C組D組例:處理機(jī)邏輯框圖中,有兩條獨(dú)立的總線和兩個(gè)獨(dú)立的存儲(chǔ)器。已知指令存儲(chǔ)器IM最大存儲(chǔ)容量為16384字(字長(zhǎng)18位),數(shù)據(jù)存儲(chǔ)器DM最大存儲(chǔ)容量為65536字(字長(zhǎng)16位)。各寄存器均有“打入”和“送出”控制命令,但圖中未標(biāo)注出。寫出下列各寄存器的位數(shù):PC;IR;累加寄存器AC0和AC1;通用寄存器R0—R3;IAR;IDR;DAR;DDR。

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 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ì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論