2017.0319.數字電路與系統-算術邏輯單元


算術邏輯單元

1.算術邏輯單元ALU,CPU是由運算器和控制器構成的,這里講的是運算器。運算器既能完成算術運算也能完成邏輯運算。ALU是能完成一系列算術運算和邏輯運算的電路,是計算機的核心。實際上來講,輸入到計算機里的數據,ALU控制其進行算術運算還是邏輯運算,包括具體是哪種算術,哪種邏輯,最后將計算好的數據輸出。

2.一位的ALU是指操作數都是一位的二進制數,ALU中S的位數決定着能夠進行計算的種類,如果S為兩位,那么它只能提供四種操作碼。S的不同碼,代表着不同的計算,就是對不同的計算進行了編碼。如果S為三位的操作碼,那么三位二進制的編碼有八種情況,如果算術操作和邏輯操作各有四個,那么我們就必須對S2S1S0進行詳細的划分,S2為0時,后續的四種編碼均用來代替算術運算,S2為1時,后續的四種編碼均用來代替邏輯運算。ALU存在一個功能表,輸入為n位的S變量,輸出為相應的具體運算。計算機整體運算器的真值表和S是不一樣,着眼點更大,輸入是操作數,經過S的選擇控制,輸出結果。

3.貌似需要將S,A,B,F的位數統一起來,S是幾位的設定,那么輸入A,B,輸出F也同樣是幾位的設定,如果計算結果超過了,就采用進位的辦法。

4.算術邏輯單元的講解,是從一位的ALU入手,后續的n位的ALU是由很多一位的ALU集成在一起。這里運用前面的概念,一位的ALU是指S,A,B,F的位數均為1位么?

設計ALU本質上是設計一位的ALU單位,然后級聯起來就夠了。

以上述的這張ALU的邏輯圖看,我們對於S,A,B,F的位數是否統一的理解應該是這樣的,n個一位的ALU算術邏輯單元中,每一個算術邏輯單元均有兩個操作數且是一位的ai,bi,輸出數fi,i從0到(n-1),這樣n位的ALU中有兩個輸入數A和B,一個輸出數F,均為n位,只是這n位是從不同的一位算術邏輯單元輸入的。那對於操作碼,它的位數我覺着沒什么要求,你想,具體要經過多少運算其實是無所謂的,和輸入,輸出數據的位數沒有任何關系。

5.我們先來仔細分解一位的ALU算術邏輯單位的內部邏輯圖,最后尋求n位的ALU,只要將它們級聯起來即可。

 

由於ALU是算術邏輯運算器,是算術,邏輯兩者集成的,那么在一位的ALU中,實際上還分成了算術單元和邏輯單元,具體進行算術還是邏輯運算,由S2來起控制作用,S的最高位起到一個分流的作用。MUX是個二選一數據選擇器,顯示在上圖最右側,S2是決定了輸出為算術運算的結果還是邏輯運算的結果。

我們從n位的ALU到一位的ALU,再到LU,AU,這是一個自頂向下的思路。從宏觀到到微觀。

6.接着講解AU和LU,這兩個單元。在這兩個單元里,仍然是要有輸入,輸出數據和控制器,控制其進行哪種運算的的地址端,如果我們假定算術和邏輯運算都是四種。那么這里可以是由四選一數據選擇器來構成,如下圖所示,S1,S0.以及左邊的四個數據均為輸入,共有六個輸入。分成兩類,數據端和地址端。視頻這里講解的四選一數據選擇器和之前理解的貌似不一樣啊?

這里關於LU單元的設計,除了用數據選擇器來設定外,還有一種設計方法,就是將數據端和地址端全當成輸入端,F為輸出端,列出真值表。

7.AU單位的設計和LU完全不一樣,如果沒理解錯,這個是由全加器來構成的。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM