計算機組成原理學習-實驗一 運算器實驗(詳細、系統)

如果你對計算機組成原理感興趣,可以考慮閱讀我的專欄

計算機組成原理【專欄】

須知

本文僅作學習筆記使用,僅在CSDN網站發佈,如果在其他網站發現,均爲侵權行爲,請舉報。作者:小王在努力。

實驗要求

 基本要求

  1. 熟悉proteus仿真系統

  2. 設計並驗證4位算數邏輯單元的功能

 擴展要求

  1. 實現ALU輸入輸出鎖存

  2. 實現8位算數邏輯運算單元

 思考內容

 思考單總線,雙總線和三總線結構在設計上的異同

實驗步驟

 一、理論分析

 計算機的運算器是一種類似於計算器的一個原件,他可以實現數邏運算和位運算,由於本實驗要求設計ALU並實現其部分功能。經過選擇,我們選取74LS181來實現ALU的功能部分。
 74LS181的功能真值表如下:
課本資源-算法設計與分析

 本實驗擴展要求爲了實現8位數邏運算,所以會需要兩個74LS181芯片。

 本實驗採用74LS373作爲鎖存器,來鎖存數據,用LED-GREEN作爲輸出顯示。

 本實現的功能爲:4位數邏運算:A異或B(擴展功能:A-B-1)

         8位數邏運算:A異或B(擴展功能:A-B-1)

 二、實驗方法

 按照基本要求,四位二進制算術邏輯運算單元電路:

 本電路採用一個74LS181作爲ALU核心,名爲U2的74LS373作爲4位操作數A和4位操作數B的鎖存器,名爲U5的74LS373作爲74LS181的功能輸入也就是S4~S0以及M的輸入,輸出結果用名爲U6的74LS181鎖存器中,最後74LS181鎖存器連接4個LED-GREEN作爲輸出。

 四位二進制的第一個功能:A異或B
在這裏插入圖片描述

 四位二進制的第二個功能:A-B-1
在這裏插入圖片描述

 擴展:八位二進制算術邏輯運算單元電路:

 使用名爲U7的74LS373鎖存器記錄八位操作數A和名爲U8的74LS373鎖存器記錄八位操作數B,由於74LS181只能進行4位的運算,所以我們可以用兩個74LS373分別來實現A操作數的第四位和B操作數的低四位運算以及A操作數的高四位和B操作數的高四位運算,分別用U1和U2存儲A、B高四位數據和A、B低四位數據,其中名爲U4的74LS181作低位運算的進位信號輸入到名爲U3的74LS181運算器中,兩個運算器的S0~S4和M分別由兩個鎖存器輸入,最後的運算結果保存在一個74LS373鎖存器,後面接8個LED-GREEN作爲輸出。

 八位二進制的第一個功能:A異或B

在這裏插入圖片描述

 八位二進制的第二個功能:A-B-1
在這裏插入圖片描述

 三、實驗結果分析

 我實現的功能爲0110,M=1的A異或B所以用數據A:1111和數據B:1010進行實驗,計算結果F3~F0=1010,實驗結果和計算符合。

 擴展功能:A-B-1,操作數A爲1111,操作數B爲0101,計算結果F3~F0=1001,實驗結果與計算符合。

功能 模式選擇M 功能選擇S3~S0 進位CN 四位輸入A 四位輸入B 四位輸出 進位輸出
算術A-B-1 0 0110 1 1111 1010 1010 0
邏輯異或 1 0110 X 1111 0101 1001 X

 擴展爲8位二進制後,功能A異或B,操作數A:01101110 操作數B:10111001,經過計算F7~F0=11010111,實驗結果和計算符合。

 擴展功能:A-B-1,操作數A:11101111操作數B:10011001,經過計算F7~F0=01010101,與實驗結果符合。

功能 模式選擇M 功能選擇S3~S0 進位CN 八位輸入A 八位輸入B 八位輸出 進位輸出
算術A-B-1 0 0110 1 01101110 10111001 11010111 0
邏輯異或 1 0110 X 11101111 10011001 01010101 X

 四、思考問題

  1. 單總線結構:這種結構的運算器實現一次雙操作數 運算要3步,1.A操作數從總線輸入 2.B操作數從總線輸入 3.輸出結果從總線輸出,總共要經歷三個脈衝才能完成雙操作數運算。
    在這裏插入圖片描述

  2. 雙總線結構:此時加了一根總線,有了兩根總線,只需要兩步就可以完成雙操作數的運算了 1.A操作數從總線1輸入的同時B操作數從總線2輸入 2.輸出結果暫時放到緩存器中,經過一個脈衝送入總線
    在這裏插入圖片描述

  3. 三總線結構:三總線結構的話就簡單了,只需要一步就可以完成雙操作數的運算了1.操作數A從總線1輸入,操作數B從總線2輸入,同時計算結果從總線3輸出。
    在這裏插入圖片描述

 五、問題和解決辦法

 問題1:接入總線之後,在輸入端進行輸入的時候,輸出端不響應,顯示爲高阻態。(雖然我沒有用總線吧,我採取的是用鎖存器輸入功能的方法,此處可以改爲總線控制)
 解決辦法:在輸入端要加上標號,對應的輸出端也要加上標號,這樣才能保證輸入與輸出對應。
 加標號的方法:
 1.右擊一條輸入總線的線
在這裏插入圖片描述
2.添加標號
在這裏插入圖片描述
在這裏插入圖片描述
3.輸入端的線就有了標號
在這裏插入圖片描述
4.接着給輸出端也加上標號
在這裏插入圖片描述
5.此時運行,發現輸出不是高阻態了,證明成功了
在這裏插入圖片描述

 六、結論

 完成了本次實驗要求的ALU運算功能電路設計與功能驗證實驗內容。我學會了熟練使用proteus軟件設計電路的同時,增加了對運算器運算過程的瞭解,瞭解了74LS181和74LS373芯片的功能以及用法。瞭解了總線的使用方法,以及對單總線和雙總線以及三總線的設計結構上的異同。

後話

  1. 首先給大家說一下,博主經常在線,如果有什麼問題或者想法,可以在下方評論,我會積極反饋的。
  2. 其次還是要請大家能夠多多指出問題,我也會在評論區等候大家!
    在這裏插入圖片描述 .
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章