計(jì)算機(jī)硬件系統(tǒng)_第1頁
計(jì)算機(jī)硬件系統(tǒng)_第2頁
計(jì)算機(jī)硬件系統(tǒng)_第3頁
計(jì)算機(jī)硬件系統(tǒng)_第4頁
計(jì)算機(jī)硬件系統(tǒng)_第5頁
已閱讀5頁,還剩82頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

計(jì)算機(jī)硬件系統(tǒng)

控制器F引運(yùn)算器|

第二單元XZ第一單元

高速緩存出

接輸入設(shè)備

主存儲(chǔ)器口

外存設(shè)備總輸出設(shè)備

第三單元第四單元

二.數(shù)據(jù)的算術(shù)運(yùn)算

補(bǔ)碼加減法運(yùn)算

原碼一位乘法運(yùn)算原碼一位除法運(yùn)算

補(bǔ)碼一位乘法運(yùn)算補(bǔ)碼一位除法運(yùn)算

原碼二位乘法運(yùn)算

補(bǔ)碼二位乘法運(yùn)算

其它快速乘除法運(yùn)算方法簡介

衲碼加減法的實(shí)現(xiàn)

[X+Y次兇補(bǔ)+[Y]補(bǔ)

田丫]補(bǔ)=兇補(bǔ)+[,]補(bǔ)

卜丫]補(bǔ)=對(duì)[丫加卜逐位取反,再在最低位加1

溢出判斷:

正+正得負(fù)步或負(fù)+負(fù)得正

數(shù)字位有向符號(hào)位的進(jìn)位,但符號(hào)位不產(chǎn)生

向更高位的進(jìn)位

雙符號(hào)位的值為01或10

補(bǔ)碼加減法運(yùn)算實(shí)例

X=0.1011y=-0.0101模4補(bǔ)碼

[X]補(bǔ)=001011,[Y]布111011

000101

1’補(bǔ)

001011001011

士!°11+0,0101

io(foiio010000

X+YX-Y(溢出)

補(bǔ)碼加減法運(yùn)算的實(shí)現(xiàn)

需要一個(gè)ALU和兩個(gè)寄存器(累加器)

1

輸入門

FOX

補(bǔ)碼表示中的符號(hào)位擴(kuò)展

由[X]補(bǔ)求[X/2]補(bǔ)的方法

原符號(hào)位不變,

且符號(hào)位與數(shù)值位均右移一位,例如,

[X]稱=10010貝I」[X/2]標(biāo)=110010

不同位數(shù)的整數(shù)補(bǔ)碼相加減時(shí),

位數(shù)少的補(bǔ)碼數(shù)的符號(hào)位向左擴(kuò)展,

一直擴(kuò)展到與另一數(shù)的符號(hào)位對(duì)齊。

01010101110000110101010111000011

+1111111110011100+0000000000011100

01010101010111110101010111011111

原碼一位乘運(yùn)算

[X*Y]原=(XS0Ys)(X*Y)

原碼表示是符號(hào)位(0正1負(fù))+數(shù)的絕對(duì)值,

求乘積通過分開處理符號(hào)位和數(shù)值,

積的符號(hào)位為被乘數(shù)與乘數(shù)二符號(hào)的異或值,

積的數(shù)值為被乘數(shù)與乘數(shù)二數(shù)的絕對(duì)值之積。

原碼一位乘運(yùn)算

[X*Y]原=(XS@YS)(|X*Y)

例如:X=0.1101Y-0.1011

部分積乘數(shù)

0.11010000001011

*0.10110001101101

iToi0010011110

11010001001111

00000010001111

+1101X和Y符號(hào)異或?yàn)樨?fù)

0.10001111最終乘積原碼表不為:

110001111

手工運(yùn)算過程計(jì)算機(jī)內(nèi)運(yùn)算的實(shí)現(xiàn)方法

原碼一位乘運(yùn)算

例如:X=0.1101Y=-0.1011

0.1101問題:

*0.10111.加法器只有兩個(gè)數(shù)據(jù)輸入端

11012.加法器與乘運(yùn)算數(shù)據(jù)位數(shù)相同

1101解決方案:

0000每次求出部分積,而不是一次總累加

+1101變每次左移被乘數(shù)為右移部分積

0.10001111判乘數(shù)每一位的值用固定的一位線路

手工運(yùn)算過程

原碼一位乘法運(yùn)算的實(shí)現(xiàn)

需要一個(gè)ALU和三個(gè)寄存器(有右移位支持)

F/2<x]A

原碼一位乘運(yùn)算

例如:X=0.1101Y=-0.101^

0.1101000000累加器初值取零值

*0.1011+001101

1101001101初值0加被乘數(shù)

11010001101部分積右移,

0000將移出的一位保存起來

+1101求第一次部分積

0.10001111

手工運(yùn)算過程

原碼一位乘運(yùn)算

例如:X=0.1101Y=-0.10^1

0.1101000110

*0.1011+001101

1101010011前次部分積加被乘數(shù)

110100100111部分積右移

0000將移出的一位保存起來

+1101求第二次部分積

0.10001111

手工運(yùn)算過程

原碼一位乘運(yùn)算

例如:X=0.1101Y=-0.1^11

0.1101001001

*0.1011+000000

1101001001前次部分積加0

1101000100111部分積右移

0000將移出的一位保存起來

+1101求第三次部分積

0.10001111

手工運(yùn)算過程

原碼一位乘運(yùn)算

例如:X=0.1101Y=-0.^011

0.1101000100

*0.1011+001101

1101010001前次部分積加被乘數(shù)

11010010001111部分積右移

0000將移出的一位保存起來

+1101求第四次部分積

0.10001111

最后一步2數(shù)符號(hào)異或求

手工運(yùn)算過程積的符號(hào)

原碼一位乘運(yùn)算

例如:X=0.1101Y=-0.^011

0.1101000100

*0.1011+001101

1101010001前次部分積加被乘數(shù)

11010010001111部分積右移

0000將移出的一位保存起來

+1101求第四次部分積

0.10001111

若把乘數(shù)放在一個(gè)移位寄存器中,

該寄存起又用來接受加法器的移位

手工運(yùn)算過程輸出,則判乘數(shù)的某一位也更方便

原碼一位乘運(yùn)算

[X*Y]原=(XS@YS)(|X|*|Y|)

例如:X=0.1101Y=-0.1011

0.11010000001011

*o.io|TT]0001101.101

ITOT-0010011110

11010001001111

00000010001111

+1101X和Y符號(hào)異或?yàn)樨?fù)

0.10001111最終乘積原碼表不為:

110001111

手工運(yùn)算過程計(jì)算機(jī)內(nèi)運(yùn)算的實(shí)現(xiàn)方法

原碼一位乘運(yùn)算

[X*Y]原=(XSQYS)(|X|*|Y|)

例如:X=0.1101Y=-0.1011

0.11010000001011

*0.10110001101101

iToT0010011110

11010001001111

oooo0010001111

~+1101~X和Y符號(hào)異或?yàn)樨?fù)

0.10001111最終乘積原碼表不為:

110001111

手工運(yùn)算過程計(jì)算機(jī)內(nèi)運(yùn)算的實(shí)現(xiàn)方法

除法運(yùn)算

口在計(jì)算機(jī)內(nèi)實(shí)現(xiàn)除運(yùn)算時(shí),存在與乘法

運(yùn)算類似的幾個(gè)問題:加法器與寄存器

的配合,被除數(shù)位數(shù)更長,商要一位一

位地計(jì)算出來等。這可以用左移余數(shù)得

到解決,且被除數(shù)的低位部分可以與最

終的商合用同一個(gè)寄存器,余數(shù)與上商

同時(shí)左移。

口除法可以用原碼或補(bǔ)碼計(jì)算,都比較方

便,也有一次求多位商的快速除法方案,

還可以用快速乘法器完成快速除法運(yùn)算O

原碼一位除運(yùn)算

[Y/X]原=(XS?Ys)(|Y|/|X|)

原碼一位除是指用原碼表示的數(shù)相除,求出原

碼表示的商。除操作的過程中,每次求出一位商。

從理解原理考慮,用恢復(fù)余數(shù)除法講解計(jì)算機(jī)

內(nèi)的實(shí)現(xiàn)方法更直觀方便,即確定上商應(yīng)為1還是

為0時(shí),必須用被除數(shù)或中間余數(shù)減去除數(shù),通過

檢查本次求得的余數(shù)為正還是為負(fù)才能知道,而不

象人計(jì)算時(shí)用眼睛直接看出來的。若求出一個(gè)為負(fù)

的余數(shù)來,通常應(yīng)首先恢復(fù)其值為正,再求下一位

商才有道理。但計(jì)算機(jī)內(nèi)從來不用這種辦法,而是

直接用求得的負(fù)余數(shù)求下一位商??梢詥??為什么?

原碼一位除運(yùn)算

[Y/X]原=(X?Y)(Y/X)

例如:X=-0.1101Y=0.1011

0.110100101100000初態(tài)

0.110110.1011011110000000第1次

110101001000010第2次

1001000101000110第3次

110111101001100第4次

1010000011101101第5次

1101

-om和Y符號(hào)異或?yàn)樨?fù)

最終商原碼表示為:

11101

余數(shù)為:0.0111*2-4

加減交替除法原理證明

1.若第i-1次求商余數(shù)為+RM,商1

望左移胡R。若R?o則..

2.則弟i次求向Ri=2Ri_pY若R*O商o

恢復(fù)余數(shù)為正且左移得2(Ri+Y)

3.則第i+1次求商Rj+f2(Ri+Y)-Y

=2Rj+Y

實(shí)質(zhì)是:對(duì)上次負(fù)差直接左移,

本次用+Y求商即可.

原碼一位除法運(yùn)算的實(shí)現(xiàn)

需要一個(gè)ALU和三個(gè)寄存器(有左移位支持)

2F<x]A

被除數(shù)(余數(shù))商

00101100000開始情形

x=+)110011-Y

0.101111111000000<0,商0

111100000(00左移1位

+)001101+Y

Y=00100100001>0,商1

0.110101001000[010左移1位

+)110011-Y

[丫]補(bǔ)=00010100011>0,商1

001010on)110左移1位

001101+)110011-Y

11110100110<0,商0

[丫]補(bǔ)=11101001100左移1位

+)001101+Y

11001100011101101>0,商1

原碼一位除運(yùn)算

[Y/X]原=(X?Y)(Y/X)

例如:X=-0.1101Y=0.1011

0.110100101100000初態(tài)

0.110110.1011011110000000第1次

110101001000010第2次

1001000101000110第3次

110111101001100第4次

1010000011101101第5次

1101

-om和Y符號(hào)異或?yàn)樨?fù)

最終商原碼表示為:

11101

余數(shù)為:0.0111*2-4

補(bǔ)碼乘除法運(yùn)算

原碼乘除法實(shí)現(xiàn)不難,但有兩個(gè)問題:

符號(hào)位與數(shù)值位分別處理,

若數(shù)據(jù)為補(bǔ)碼形式,可能多兩次原T卜碼變換

也可以直接用補(bǔ)碼完成乘除法運(yùn)算

即從補(bǔ)碼開始,直接得到補(bǔ)碼的積或商

下面看一看補(bǔ)碼乘除運(yùn)算的算法

補(bǔ)碼乘法運(yùn)算

補(bǔ)碼乘法的實(shí)現(xiàn)算法,先復(fù)習(xí)兩個(gè)概念:

補(bǔ)—補(bǔ)

[X][X/2]=XsXsX1X2...Xn

[X]補(bǔ)—X=?X0+WXj*2』

i=l

補(bǔ)碼乘法

[X]補(bǔ)=XSXxx2…….xn

[Y]補(bǔ)=YSYiY2…….Yn

nn

Y=-Yo+工Yj*2.i=W(Yi+i.Yi)*2』

i=li=0

補(bǔ)碼乘法運(yùn)算

[X*Y]補(bǔ)=[X]補(bǔ)夫[Y]補(bǔ)

n

[Y]補(bǔ)—(-Y0+5Y「2-i)

&i=l

.丫0*2。+YJ21+丫2*2]+…+Yn*2-n

-丫0*2。+(丫1*2。-%*2-1)+(丫2*2-1-丫2*2?2)+...+

(Y「Yo)*2。+2X)*2-】+…+(丫什「丫口*2^

Y=-Yo+工K*2“=W(X+iYj)*2?i

i=li=0

補(bǔ)碼乘法運(yùn)算

[X*Y]補(bǔ)=[X]補(bǔ)*[Y]補(bǔ)

用Y的值乘[X]補(bǔ),達(dá)到[X]補(bǔ)乘[Y]補(bǔ)

求出[X*Y]補(bǔ),不必區(qū)分符號(hào)與數(shù)值位?!?/p>

乘數(shù)最低一位之后要補(bǔ)初值為0的一位附加線

路,并且每次乘運(yùn)算需要看附加位和最低位兩

位取值的不同情況決定如何計(jì)算部分積,其規(guī)

則是:

00+0£(X+1-X)*2-i

01+被乘數(shù)[X]補(bǔ)

1o一被乘數(shù)i=0

11+0

部分積乘數(shù)附加位

000000I101100開始情形

。00000ol1011000+0并右移

11001110-X

110011

111001101011并右移

11110011ol10111+0并右移

00110101+X

001001

000100111010并右移

11001110-X

110111111010且不再移位

X=+0.1101[X*Y]補(bǔ)=101111110

Y=-0.1010即X*Y=-0.10000010

補(bǔ)碼除法運(yùn)算

補(bǔ)碼除法與原碼除法很類似

差別僅在于:

被除數(shù)與除數(shù)為補(bǔ)碼表示,

直接用補(bǔ)碼除,求出反碼商,

再修正為近似的補(bǔ)碼商.

實(shí)現(xiàn)中,求第一位商要判2數(shù)符號(hào)的同異,

同號(hào),作減法運(yùn)算,異號(hào),則作加運(yùn)算;

上商,余數(shù)與除數(shù)同號(hào),商1,作減求下位商,

余數(shù)與除數(shù)異號(hào),商0,作加求下位商;

商的修正:多求一位后舍入,或最低位恒置1

被除數(shù)商

11011100000開始情形

+)001101+Y,二數(shù)異號(hào)

-00010000001符號(hào)同,商1

0010000oopt0余數(shù)左移

+)110011-Y

-11101100o|10符號(hào)異,商0

1101100oil00余數(shù)左移

+)001101+Y

-00001100101符號(hào)同,商1

000110011010余數(shù)左移

+)110011-Y

-11100101010符號(hào)異,商0

110010|10101左移,最低位商1

結(jié)果10101

原碼一位乘運(yùn)算

例如:X=0.1101Y=-0.1^11

0.1101001001

*0.1011+000000

1101001001前次部分積加0

1101000100111部分積右移

0000將移出的一位保存起來

+1101求第三次部分積

0.10001111

手工運(yùn)算過程

原碼一位乘運(yùn)算

[X*Y]原=(XS@YS)(|X*Y)

例如:X=0.1101Y-0.1011

部分積乘數(shù)

0.11010000001011

*0.10110001101101

iToi0010011110

11010001001111

00000010001111

+1101X和Y符號(hào)異或?yàn)樨?fù)

0.10001111最終乘積原碼表不為:

110001111

手工運(yùn)算過程計(jì)算機(jī)內(nèi)運(yùn)算的實(shí)現(xiàn)方法

計(jì)算機(jī)硬件系統(tǒng)

控制器F引運(yùn)算器|

第二單元XZ第一單元

高速緩存出

接輸入設(shè)備

主存儲(chǔ)器口

外存設(shè)備總輸出設(shè)備

第三單元第四單元

補(bǔ)碼加減法運(yùn)算的實(shí)現(xiàn)

需要一個(gè)ALU和兩個(gè)寄存器(累加器)

1

輸入門

FOX

原碼一位乘法運(yùn)算的實(shí)現(xiàn)

需要一個(gè)ALU和三個(gè)寄存器(有右移位支持)

F/2<x]A

原碼一位除法運(yùn)算的實(shí)現(xiàn)

需要一個(gè)ALU和三個(gè)寄存器(有左移位支持)

2F<x]A

三.定點(diǎn)運(yùn)算器的功能與組成

完成算數(shù)與邏輯運(yùn)算

ALU:計(jì)算出結(jié)果及其特征

通用寄存器組:存放參加運(yùn)算的數(shù)據(jù)和運(yùn)

算結(jié)果(包括標(biāo)志寄存器)

乘商寄存器:用于完成硬件乘除法

數(shù)據(jù)通路(datapath)

我們以教學(xué)計(jì)算機(jī)的運(yùn)算器為例來詳細(xì)講解。

教學(xué)計(jì)算機(jī)的運(yùn)算器概述

教學(xué)計(jì)算機(jī)的運(yùn)算器的組成與設(shè)計(jì)

字長16位,用4片4位的位片結(jié)構(gòu)的Am2901組成

1.要詳細(xì)介紹Am2901芯片的內(nèi)部組成和實(shí)現(xiàn)的功能

2.怎樣連接4片Am2901成為16位的運(yùn)算器(Am2902)

3.怎樣解決運(yùn)算器實(shí)用中的幾個(gè)問題:

(1)Am2901最低位的進(jìn)位輸入信號(hào)

(2)如何處理運(yùn)算結(jié)果的標(biāo)志位

(3)如何處理移位指令、置'UC和清'(FC觸發(fā)器的指令

(4)如何支持硬件乘、除法指令

重點(diǎn)是前2項(xiàng)內(nèi)容和第3項(xiàng)中的⑴(2)

教學(xué)計(jì)算機(jī)運(yùn)算器的控制和使用(包括教學(xué)實(shí)驗(yàn))

輸出YAm2901內(nèi)部組成

/OE二選一

(無動(dòng)畫)

算邏運(yùn)算部件

16個(gè)累加器

乘商寄存器Q

Q3|I|Q0B16個(gè)k.A口地址功能

一二選———

通用寄存器彳血址8種運(yùn)算功能

Y8種數(shù)據(jù)組合

RAM38種結(jié)果處理

Am2901芯

片是一個(gè)4位的

位片結(jié)構(gòu)的運(yùn)算

符號(hào)位F3器器件,其內(nèi)部組

結(jié)果為零F=0000

成講解如下:

結(jié)果溢出OVR

Cn+4

進(jìn)位輸出

第一個(gè)組成部分是

3位功能選擇碼8種運(yùn)算功能算邏運(yùn)算部件ALU,

000R+S完成3種算術(shù)運(yùn)算

001S-R和5種邏輯運(yùn)算

共計(jì)8種功能。

010R-S

011R①

S其輸出為F,兩

100

_RAS路輸入為S、R,

101RAS最低位進(jìn)位Cn,

四個(gè)狀態(tài)輸出信

110R(DS

號(hào)如圖所示。

111R0)S

第二個(gè)組成部分

是通用寄存器組

由16個(gè)寄存器構(gòu)

<

F3成,并通過B口

F=0000Cn

OVR與A口地址選擇

Cn+4被讀的寄存器,

B口地址還用于

指定寫入寄存器

B鎖存器A鎖存器

通過B口地址、

A口地址A口地址讀出的

數(shù)據(jù)將送到B、

B口地址A鎖存器,要寫

[(寫入)入寄存器的數(shù)據(jù)

由一個(gè)多路選擇

器送來。

一組三選一門

完成把ALU的

輸出、或左移

一位、或右移

一位的值送往

通用寄存器組

,最高、最低

位移位信號(hào)有

雙向入/出問題

一組三選一門

完成Q寄存器

的左移一位、

或右移一位、

或接收ALU輸

出值的功能,

最高、最低位

移位信號(hào)有雙

向入/出問題。

一組二選一門,

選擇把A口數(shù)據(jù)

或ALU結(jié)果送出

芯片,以給出輸

出Y的數(shù)據(jù),Y

輸出的有無還受

輸出使能/OE信

號(hào)的控制,僅當(dāng)

/OE為低是才有

Y輸出,/OE為

高,Y輸出為高

阻態(tài)。

8種結(jié)果處理

3位控制碼通用寄存器Q寄存器Y輸出

000Q—FF

001F

010B-FA

011B—FF

100B―F/2Q—F/2F

101B―F/2F

110B—2FQ—2FF

111B—2FF

運(yùn)算器,三大件

運(yùn)算暫存乘除快

多路選通連起來

數(shù)據(jù)組合有內(nèi)外

運(yùn)算功能指明白

存移輸出巧安排

運(yùn)算功能選擇

―151413

數(shù)據(jù)組合選擇

―12II10

運(yùn)算結(jié)果處理

―181716

Am2901內(nèi)部組成

組成

算邏運(yùn)算部件

16個(gè)累加器

乘商寄存器Q

Q3|I|Q0B16個(gè)k.A口地址功能

一二選———

通用寄存器彳血址8種運(yùn)算功能

Y18?168種數(shù)據(jù)組合

?—

RAM38種結(jié)果處理

運(yùn)算器的時(shí)鐘脈沖信號(hào)

運(yùn)算器的時(shí)鐘脈沖信號(hào)CP

教學(xué)計(jì)算機(jī)的主頻:1.8432MHZ/3

個(gè)

沿

通用寄存器接受

Am2901的操作使用

控制信號(hào)

操作功能

B口A口18171615141312II10Cn

R0-R0+R100000001on0000010

R2<-R2-R0001000000100010011

右移

RO<-RO+R1000000011010000010

Q<-ROY<-F/00000000001000

0000

RO<-ROAR1Y<-A口000000010101000010

RO—ROARlY<-F00000001Oil1000010

入出信號(hào)及引腳

4片Am2901之間的連接

F=0

F15

Y15?12YU?8Y7?4Y3T)

OVER

4-

盤Cin

學(xué)高位

RAN(15RAIHO

Am2901Am2901Am2901Am2901

Q15QO

cII

A口□JL

B口------

18?—It

15?3L

&?°D15?12Dll?8D7?4D3?0

+5VAm2902

Cin

Cn+zCn+yCn+x

F=0□

OVER

Y15?12YU?8Y7?4-

F15

A盤IS

高位

AMO

一Am2901Am2901Am2901Am2901

Q15fQO

CP-1-r

A口

B口

18?6一

15?3

I2Y

D15?12DU?8D7?4D3?O

入出信號(hào)及引腳

Y15?Y0

CPOOE

Cy

F=0—

OverCin

F15—運(yùn)算器部件

RAM15一RAM0

k

Q15~THaQO

A3?AOB3?B0」8?1615?1312?10

D運(yùn)?D0

⑴如何提供ALU最低位進(jìn)位皤

不同指令需求Cin例子最低位進(jìn)位控制碼

ADD指令0R0+R1+000

INC指令1R0+0*運(yùn)01

ADC指令CR0+R1+CJ算10

SUB指令1R0+/R1+1、00

DEC指令0R0+/0+0遮01

運(yùn)

SBB指令(原理)CR0+/R1+C算

實(shí)現(xiàn)中C—/Cy,因此1勺R(shí)0+/R1+/C10

實(shí)驗(yàn)量測波形方波D+0+方波11

最低位進(jìn)位信號(hào)由SCi編碼和加、減運(yùn)算選擇共同決定

最低位進(jìn)位信號(hào)Cin的邏輯表達(dá)式

Cin=/BU*B10*/MI5*/MI4*/MI3

+Bll*/B10*/MI5*/MI4*/MI3*C

+/Bll*/B10*/MI5*/MI4*MI3

+Bll*/B10*/MI5*/MI4*MI3*/C

+Bll*B10*TCLK2

16位運(yùn)算器最低位進(jìn)位輸入信號(hào)Cin

運(yùn)算功能碼

Cy最o

G

[F=0低

A1

【OVRL位

16位的3進(jìn)c

F15

位/C

方波

RAM15運(yùn)算器RAMO

3E

Q15

"D15?0

B口

A口18?10

(2)如何處理計(jì)算結(jié)果標(biāo)志位

算術(shù)與邏輯的運(yùn)算指令結(jié)果產(chǎn)生標(biāo)志位的值

該標(biāo)志位的值只在執(zhí)行運(yùn)算步驟接受

算術(shù)運(yùn)算指令的結(jié)果影響C、Z、V、S

邏輯運(yùn)算指令的結(jié)果只影響Z

其他指令或其他執(zhí)行步驟不接受標(biāo)志位的值

由此可見:

若設(shè)置標(biāo)志位寄存器,

會(huì)有接收或不接受標(biāo)志位的值這樣兩種處理

(依據(jù)什么指令的什么時(shí)刻)

幾條影響C觸發(fā)器的指令

指令中有STC(C-1)、CLC指令(C-0)

指令中有RCL、RCR、SHL、SHR指令,

他們的移位輸出要傳送進(jìn)C

對(duì)乘除法指令的支持

指令中MULSR指令,DIVSR指令

他們的運(yùn)行用到了移位輸出要傳送進(jìn)C

(還決定寄存器的移位輸入)

乘法,聯(lián)合右移位

通用寄薦器|~~)Q寄薦器

除法,聯(lián)合左移位

/F15______

m通》存寤.Q寄存器

狀態(tài)寄存器的控制

用3位碼控制有8處來源

SSTB343332cZVS

000不變?nèi)徊蛔?CZV,S)

001接受ALU狀態(tài)輸出(Cy,ZRQV,F15)

010接收內(nèi)部總線輸出(IB7654)

0110三位不變

1001三位不變

101RAMO三位不變

110RAMI5三位不變

111QO三位不變

狀態(tài)寄存器的邏輯表達(dá)式

C:=/B34*/B33*/B32*CV:=/B34*/B33*/B32*V

+/B34*/B33*B32*Cy+/B34*/B33*B32*OV

+/B34*B33*/B32*IB7+/B34*B33*/B32*IB5

+B34*/B33*/B32+/B34*B33*B32*V

+B34*/B33*B32*RAMO+B34*V

+B34*B33*/B32*RAM15

+B34*B33*B32*QO

Z:=/B34*/B33*/B32*ZS:=/B34*/B33*/B32*S

+/B34*/B33*B32*ZR+/B34*/B33*B32*F15

+/B34*B33*/B32*IB6+/B34*B33*/B32*IB4

+/B34*B33*B32*Z+/B34*B33*B32*S

+B34*Z+B34*S

16位運(yùn)算器的狀態(tài)寄存器

SS:來自內(nèi)部總線IB

Y15?0

C一四

GCin

位F=0

Z-A

標(biāo)

LOV16位的

V-1志

F15

s-位

0,1,RAMO

Q0,RAM15

RAM15運(yùn)算器RAMO

Q15;3E

B口WVo

A口18?10

(3)寄存器移位輸入信號(hào)

2位控制碼左移(MI7)右移(/MI7)指令

SSH(B9B8)RAMOQ0RAM15Q15

000/0/SHLSHR

01C/C/RCLRCR

10Q15/F15CyRAM0DIVMUL

實(shí)現(xiàn)中,具體移位輸入信號(hào)是用

SSH編碼和ALU中的結(jié)果處理控制信號(hào)17

(這里用MI7表示,移位方向)共同決定的

左右移位輸入信號(hào)邏輯表達(dá)式

RAM15=/B/B8*C

+B9*/B8*Cy

Q15=B9*RAMO

RAMO=/B*B8*C

+B9*/B8*Q15

Q0=B9*/B8*/F15

RAMI5.OE=/MI7

Q3.OE=/MI7

RAMO.OE=MI7

QO.OE=MI7

16位運(yùn)算器的最高位、最低位移位輸入信號(hào)

RAM15運(yùn)算器出M0移-0

oGG

AQ15A輸-C

CL

入L

33—Q15

Cy信

號(hào)1/F15

RAMOB口Oil11II」D15?0號(hào)

SSHA口18?10f左移控制

16位運(yùn)算器的完整組成

?來自內(nèi)部總線IBsCil運(yùn)算功能碼

L/-------在Y15?OQJ\

四0

G

G低

位F=O

AA1

Cin位

L標(biāo):OVR16位的L

進(jìn)C

3

1志F15

位/C

方波

O,1,RAMO

Q0,RAM15

RAMO移0

移RAM15

0一G運(yùn)算器

3E輸

A輸Q15C

C一入

L

入Q15

3

Cy一信

/F15

號(hào)

號(hào)IT

RAMO-0B口D15?O

右移控制]tfSSHA口18?IOtI左移控制

完整16位運(yùn)算器的脫機(jī)實(shí)驗(yàn)

??來自內(nèi)部總線IBsCil運(yùn)算功能碼

II/-------介Y15?0JI

四0

G

G低

位F=0

AA1

L標(biāo)L

進(jìn)c

16位的3

1志F15

位/c

方波

O,1,RAMO

Q0,RAM15

移0

0一G運(yùn)算器

A輸RAM15:RAMOc

C一入

L

入Q15

3Q15Q0

Cy一信

/F15

號(hào)

RAMO-0號(hào)

B口D15?0

右移控制]tA口18?10SSHItt左移控制

位運(yùn)算器脫機(jī)實(shí)驗(yàn)

用16

四Y15?Y0(用16個(gè)指示燈顯示結(jié)果)

個(gè)ssTn介ns。

指c

示一

zCyCin

燈-F=0

顯V?—Over

示S-F15

態(tài)

運(yùn)算器部件

RAM15一-R4M0

+QU

D15?D0

SSH18?612-0(用16個(gè)開關(guān)提供輸入數(shù)據(jù))

------------------------通過24位微型開關(guān)

A口B口SCiSSH18?615?3122?-00SST提供控制信號(hào)

16位運(yùn)算器的操作使用

控制信號(hào)

操作功能

B口A口SST18?615?312?0CnSSH

0

R0-R0+R100000001001011000001/

00

R2<-R2-R0001000000010100010011/

00

右移邏堆t右移00

RO<-RO+R10000000170011010000010001

與c循環(huán)右木夕

Q<-ROY<-F/000000100000010000/

0000

聯(lián)合左移

RO|Q<-R0-R3|Q000000110011100010010010

0-R0AR1Y-A口0000000100101010000100/

實(shí)現(xiàn)補(bǔ)碼加減運(yùn)算的邏輯電路

F-X

力口F?—Y

X-F

Vrx-X+Y

IX—X?Y

F-X

F-/Y

F-1

X-F

實(shí)現(xiàn)補(bǔ)碼加減運(yùn)算的邏輯電路

必要完善:

單累加器變多累積器:

兩個(gè)選通門均變?yōu)槎嗦?/p>

送0還是送1到ALU處理

接收門送每個(gè)累加器。

支持寄存器移位功能:

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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)論