實驗2 運算器實驗(1)
學號: 姓名:
一、 實驗目的
1.掌握開源數字電路模擬軟件Logisim的使用;
2.掌握有符號數加減運算溢出檢測的基本方法;
3.掌握運算器的組成及其工作原理;
4.驗證4位函數發生器74181的組合功能。
二、實驗設備
EL-JY-II型計算機組成原理實驗系統一套,排線若干。
三、實驗內容
1.利用Logisim軟件設計一個全加器;
2.利用Logisim軟件設計一個行波進位的補碼加法/減法器;
四、實驗步驟
- 74181功能驗證
(1) 參考EL-JY-II型實驗儀配套的實驗指導(實驗一),在EL-JY-II型實驗儀上完成運算器實驗的線路連接;
(2) 74181的功能表如下:
|
方式
|
M=1邏輯運算
|
M=0算術運算
|
|
S3 S2 S1 S0
|
邏輯運算
|
CN=1(無進位)
|
CN=0(有進位)
|
|
0 0 0 0
|
F=/A
|
F=A
|
F=A加1
|
|
0 0 0 1
|
F=/(A+B)
|
F=A+B
|
F=(A+B)加1
|
|
0 0 1 0
|
F=(/A)B
|
F=A+/B
|
F=(A+/B)加1
|
|
0 0 1 1
|
F=0
|
F=負1
|
F=0
|
|
0 1 0 0
|
F=/(AB)
|
F=A加A(/B)
|
F=A加A/B加1
|
|
0 1 0 1
|
F=/B
|
F=(A+B)加A/B
|
F=(A+B)加A/B加1
|
|
0 1 1 0(異或)
|
F=A⊕B
|
F=A減B減1
|
F=A減B
|
|
0 1 1 1
|
F=A/B
|
F=A(/B)減1
|
F=A(/B)
|
|
1 0 0 0
|
F=/A+B
|
F=A加AB
|
F=A加AB加1
|
|
1 0 0 1
|
F=/(A⊕B)
|
F=A加B
|
F=A加B加1
|
|
1 0 1 0
|
F=B
|
F=(A+/B)加AB
|
F=(A+/B)加AB加1
|
|
1 0 1 1
|
F=AB
|
F=AB減1
|
F=AB
|
|
1 1 0 0
|
F=1
|
F=A加A
|
F=A加A加1
|
|
1 1 0 1
|
F=A+/B
|
F=(A+B)加A
|
F=(A+B)加A加1
|
|
1 1 1 0(或)
|
F=A+B
|
F=(A+/B)加A
|
F=(A+/B)加A加1
|
|
1 1 1 1
|
F=A
|
F=A減1
|
F=A
|
(3) 參考EL-JY-II型實驗儀配套的實驗指導(實驗一),從74181功能表中選擇部分功能進行測試,同時記錄測試數據與測試結果。
|
A
|
B
|
S3 S2 S1 S0 M Cn
|
F
|
|
00000011
|
00000010
|
011000
|
00000001
|
|
00000101
|
00000001
|
100101
|
00000110
|
|
00000110
|
00000010
|
011010
|
00000100
|
|
00000101
|
00000001
|
111010
|
00000101
|
2、運算器數據傳輸通路分析與模擬;
![]()
(1) 學習Logisim中分割器(Splitter)、通道(Tunnel)組件、寄存器(Rigister)等組件,分析電路圖lab1-3中運算器的數據通路;
![]()
(2) 設計一個操作流程,要求通過該流程能夠在電路圖lab1-3上模擬兩個16位數的算術或邏輯運算,并將運算結果顯示在輸出燈上。
|
操作
說明
|
先分別輸入兩個16位數,每輸入一個數時,先打開C-G,然后點LDR1按鈕暫存第一個數,然后點滅C-G、LDR1;第二個數輸入后,按打開C-G,然后點LDR2按鈕暫存第二個數。此時,兩個數據均儲存在ALU里,點擊ALU-G,再根據表格依次點擊,完成對應運算
|
|
第1步
|
輸入第一個16位數:0000000000000101,先打開C-G,然后點LDR1按鈕暫存第一個數,然后點滅C-G、LDR1
|
|
第2步
|
第二個數:0000000000000001輸入后,按打開C-G,然后點LDR2按鈕暫存第二個數
|
|
第3步
|
點擊ALU-G,依次點亮S0、S3、Cn,點擊AR,實現兩個數的加法算數運算
|
|
第4步
|
計算結果可知:
0000000000000101+0000000000000001=0000000000000110
|
|
最終結果
(截圖)
|
![]()
|
問:該實驗如何實現多種不同運算的控制?
答:運算器部件要實現多種不同的功能,必須由控制器提供控制信號,運算器只是一個被動執行的部件。S0,S1, S2,S3是功能選擇控制端,決定是做加、減、邏輯與、邏輯或、邏輯異或、移位等運算,表一的實驗結果與手工驗算完全一致,從而驗正了整個ALU的算術/邏輯運算功能和移位處理功能。靈活運用SO,S1, S2,S3的不同組合可以實現許多其它功能,如通過移位運算可以實現數據的乘2(左移一位)和除2運算(右移一位)此外選擇S3S2S1S0=0000或S3S2S1 S0=0001將操作數A或B可以直接送到ALU的輸出,這樣可以直接驗證輸入數據是否正確。