華中科技大學 計算機組成原理 上機實驗2 2018

notice : 這篇文章僅僅具備上機實驗的參考做用,而且須要配套的文件ide

Logisim學習 學習

隧道 測試

至關於局部變量 spa

複用器-Bit-Selector3d

把(West edge)輸入數據從最低位開始,平均分紅n組,n由輸出位寬決定; code

另外一個輸入(South egde)決定選擇第i組數據 blog

用到的組件總結 遞歸

WiringBit Extender,Constant,Tunnel,Probe ip

Gatesci

PlexersMultiplexer,Decoder,Bit Selector

ArithmeticAdder/Substractor*,Multiplier,Divider,Comparator,Shifter

Anchor

構建 32 位運算器。利用封裝好的 32 位加法器以及 logisim 平臺中現有運算部件(禁用系統自帶的加法器,減法器)構建一個32 位運算器,可支持算術加、減、乘、除,邏輯與、或、非、異或運算、邏輯左移、邏輯右移,算術右移運算,支持經常使用程序狀態標誌(有符號溢出OF、無符號溢出 CF,結果相等 Equal),運算器功能以及輸入輸出引腳見下表,在主電路中詳細測試本身封裝的運算器,在報告中分析該運算器的優缺點。

   

8位串行可控加法器

見課本P69,不一樣之處就是這裏有cin

eg. X + Y
Sub=0,Cin 就是進位
Sub=1

,Cin=0 , Sub xor Cin = 1,表示對Y的補碼運算

,Cin=1 ,Sub xor Cin = 0,Cin表示借位,所以Y-1,與補碼的+1抵消

CLA74182先行進位電路

串行進位加法器一級一級的進位延遲大,

因此能夠想辦法提早獲得當前位的進位輸入

4位爲例,設二進制加法器第i位輸入爲xi,yi,輸出爲si,進位輸入是ci,進位輸出Ci+1

遞歸的展開有

這裏能夠發現各級的進位與其餘進位無關

G*,P*再按 "文件" 所給提示鏈接便可

G*,P*做用

到下面會提到

CLA..做用

部分1:由以上產生的Gi,Pi,輸入到CLA,G*,P*

部分2:由Gi,Pi,C0能產快速生各個位的進位

4位快速加法器

這個比較簡單,若是畫好了CLA74182,G*,P*做用仍不明

notice

上面GP index從1開始

做用

輸入Xi,Yi,C0

   

由以上產生Gi,Pi,輸入到CLA,能產快速生各個位的進位和

   

獲得Si,Ci,G*,P*

   

輸出(須要的)(高亮最後的輸出)

各結果的產生次序

Xi,Yi,C0

0

Gi,Pi(Xi,Yi)

1

G*P*(Gi,Pi),Ci(Gi,Pi,C0)

2

Si(Ci,Xi,Yi)

3

notice

這裏用了隧道G1,G2,…

16位快速加法器

成組進位

而只把xi,yi丟向4位快速加法器,就能獲得G*,P*,輸入CLA74182,獲得各個進位,再輸回4位快速加法器,獲得Si

輸出(須要的)(高亮最後的輸出)

各結果的產生次序

Xi,Yi,C0

0

Gi*,Pi*

1

Ci(Gi*,Pi*,C0),GAll*,PAll*

2

Si(Ci,Xi,Yi)

3

   

32位快速加法器

16位加法器,只不過多了個溢出檢測↓

_溢出檢測

第一種

相加兩數X,Y符號相同,且與結果S的符號不一樣

第二種

最高數據位的進位與符號位的進位是否一致,不一致表示溢出

例如 -111+(-110

補碼是1001 + 1010

因此溢出了

這裏用第一種溢出檢測便可;能夠用複用器-Bit-Selector分離出符號位(比Splitter簡單)

ALU

equal&&op=1011

logisim運算器比較器

Signed OverFlow

只須要處理有符號加減的

Unsigned Overflow

加法和小於加數,減法差大於被減數

特別的:加法:無符號加法,溢出便是進位,32位加法器的一個輸出cout就是此變量

alu operation

logisim複用器數據選擇器multiplexer

0

自帶移位器

1

自帶移位器

2

自帶移位器

3

自帶乘法器

4

自帶除法器

5

32位加法器

6

32位加法器

7

自帶邏輯門

8

自帶邏輯門

9

自帶邏輯門

10

自帶邏輯門

11

具體電路再也不給出

其餘

^運算器測試電路

ALU 從左側的欄目中到運算器測試電路上,完成運算器測試電路

相關文章
相關標籤/搜索