天天看點

實驗四 32 位 ALU 設計實驗根據OP進行操作的原理其他細節

一、實驗預習要求

  1. 預習《計算機組成原理》慕課附錄 3.4 節、《計算機硬體系統設計》慕課 4.3

    節。

    二、實驗目的

  2. 掌握定點數加減法溢出檢測方法。
  3. 了解算術邏輯運算單元 ALU 的基本構成。
  4. 掌握 Logisim 中各種運算元件的使用方法:
  1. 邏輯運算:與、或、非、異或
  2. 算術運算:乘法器、除法器、求補器、比較器
  3. 移位器
  1. 熟練掌握多路選擇器的使用方法。
  2. 能利用前述實驗完成的 32 位加法器(禁止使用 Logisim 自帶的加法器/減法

    器元件)和 Logisim 的運算元件構造指定規格的 ALU 單元。

三、實驗内容

使用 Logisim 軟體打開實驗電路圖“alu.circ”完成算術邏輯運算單元 ALU

子電路的設計,并在 ALU 自動測試電路中進行測試。

7. 算術邏輯運算單元 ALU 子電路設計。

8. ALU 自動測試。

先上電路圖:

實驗四 32 位 ALU 設計實驗根據OP進行操作的原理其他細節

實驗原理分析:

ALU 運算操作碼定義 如下:

實驗四 32 位 ALU 設計實驗根據OP進行操作的原理其他細節

根據OP進行操作的原理

使用資料選擇器,将op(這裡的s)所有取值的對應運算功能實作,最後根據op的值來進行資料選擇。

0,1,2操作

這三個操作類似,我們可以一起說。需要實作的運算功能,我們都可以直接在logisim中直接找到。

實驗很明顯的說到,

Y取低五位,因為x的資料位寬就是32位,是以最多隻能被移動5位(2^5=32),取Y低五位我們可以用分線器實作。

實驗四 32 位 ALU 設計實驗根據OP進行操作的原理其他細節

3操作

實作乘法使用乘法器即可,由于相乘可能出現溢出,R2對應端口連接配接高進位。

4操作

将x和y連接配接觸發器,将商和餘數連接配接對應端口即可。

5,6操作

加法直接連接配接加法器輸入端即可,減法我們可以看成x+(-y),使用一個求補器将y的補碼送進加法器。

有符号加減法溢出,我們将最高位和符号位進位異或(下面有圖檔)。

無符号加法溢出很好了解,如果最高的兩位相加,産生了進位,那麼肯定就是溢出了!

無符号減法,因為我們求補碼多加了一個模,按理說就應該會産生一個進位,是以當進位為1是,其實并未溢出。進位為0,說明1(應該進的)+1(溢出的)=>0,此時是真正溢出了!是以我們要取反!

引用一張ppt吧,嘿嘿,挺簡明的。
實驗四 32 位 ALU 設計實驗根據OP進行操作的原理其他細節

7,8,9,10操作

根據需要實作的邏輯功能,連接配接對應即可。

11,12操作

我們可以使用現成的比較器進行比較,同時注意比較器中有 無符号和有符号的 選項,注意選擇。

此外,由于比較結果資料位寬為1位,而選擇器資料位寬為32位,這裡需要使用位擴充器。

實驗四 32 位 ALU 設計實驗根據OP進行操作的原理其他細節
實驗四 32 位 ALU 設計實驗根據OP進行操作的原理其他細節

[外鍊圖檔轉存中…(img-luESZXLn-1618490852793)]

其他細節

1) 由于不能有引腳懸空,是以不輸入的都要接地

2)result2隻在X和Y進行乘除操作才會有數值,其他時候都是0,這同樣可以使用一個 資料選擇器實作

3)同樣的,UOF和OF隻在X和Y進行加減操作才會有數值,其他時候都是0,同樣可以使用一個 資料選擇器實作

4)Equal可以在比較器的 ‘=’ 那裡直接連接配接

繼續閱讀