吴忠躺衫网络科技有限公司

您好,歡迎來電子發燒友網! ,新用戶?[免費注冊]

您的位置:電子發燒友網>電子百科>電腦硬件>臺式機>

多功能算術/邏輯運算單元(ALU) ,什么是多功能算術/邏輯

2010年04月13日 11:24 www.solar-ruike.com.cn 作者:佚名 用戶評論(0
關鍵字:
多功能算術/邏輯運算單元(ALU) ,什么是多功能算術/邏輯運算單元(ALU)

  由一位全加器(FA)構成的行波進位加法器,它可以實現補碼數的加法運算和減法運算。但是這種加法/減法器存在兩個問題:一是由于串行進位,它的運算時間很長。假如加法器由n位全加器構成,每一位的進位延遲時間為20ns,那么最壞情況下, 進位信號從最低位傳遞到最高位而最后輸出穩定,至少需要n*20ns,這在高速計算中顯然是不利的。二是就行波進位加法器本身來說,它只能完成加法和減法兩種操作而不能完成邏輯操作。本節我們介紹的多功能算術/邏輯運算單元(ALU)不僅具有多種算術運算和邏輯運算的功能,而且具有先行進位邏輯, 從而能實現高速運算
  
  1.基本思想
  
  一位全加器(FA)的邏輯表達式為
  
  Fi=Ai⊕Bi⊕Ci  
  Ci+1=AiBi+BiCi+CiAi???????? (2.35)

  
  我們將Ai和Bi先組合成由控制參數S0,S1,S2,S3控制的組合函數Xi和Yi,然后再將Xi,Yi和下一位進位數通過全加器進行全加。這樣,不同的控制參數可以得到不同的組合函數,因而能夠實現多種算術運算和邏輯運算。

圖2.10 ALU的邏輯結構原理框圖

  因此,一位算術/邏輯運算單元的邏輯表達式為
  
  Fi=Xi⊕Yi⊕Xn+i  
  Cn+i+1=XiYi+YiCn+i+Cn+iXi

  
  上式中進位下標用n+i代替原來以為全加器中的i,i代表集成在一片電路上的ALU的二進制位數。對于4位一片的ALU,i=0,1,2,3。n代表若干片ALU組成更大字長的運算器時每片電路的進位輸入,例如當4片組成16位字長的運算器時,n=0,4,8,12。

2.邏輯表達式
  
  控制參數S0,S1,S2,S3 分別控制輸入Ai 和Bi ,產生Y和X的函數。其中Yi是受S0 ,S1控制的Ai和Bi的組合函數,而Xi是受S2,S3控制的Ai和Bi組合函數,其函數關系如表2.4所示。

表2.4 Xi,Yi與控制參數和輸入量的關系

  根據上面所列的函數關系,即可列出Xi和Yi的邏輯表達式
  
  Xi=S2S3+S2S3(Ai+Bi)+S2S3(Ai+Bi)+S2S3Ai  
  Yi=S0S1Ai+S0S1AiBi+S0S1AiBi

  進一步化簡并代入前面的求和與進位表達式,可得ALU的某一位邏輯表達式如下

??? ? ?(2.36)

4位之間采用先行進位公式,根據式(2.36),每一位的進位公式可遞推如下:
  
  第0位向第1位的進位公式為
  
  Cn+1=Y0+X0Cn
  
  其中Cn是向第0位(末位)的進位。
  
  第1位向第2位的進位公式為
  
  Cn+2=Y1+X1Cn+1=Y1+Y0X1+X0X1Cn
  
  第2位向第3位的進位公式為
  
  Cn+3=Y2+X2Cn+2=Y2+Y1X2+Y0X1X2+X0X1X2Cn
  
  第3位的進位輸出(即整個4位運算進位輸出)公式為
  
  Cn+4=Y3+X3Cn+3=Y3+Y2X3+Y1X2X3+Y0X1X2X3+X0X1X2X3Cn
  
  設

  G=Y3+Y2X3+Y1X2X3+Y0X1X2X3
  P=X0X1X2X3

  
  則
  
  Cn+4=G+PCn???????????? (2.37)
  
  這樣,對一片ALU來說,可有三個進位輸出。其中G稱為進位發生輸出,P稱為進位傳送輸出。在電路中多加這兩個進位輸出的目的,是為了便于實現多片(組)ALU之間的先行進位,為此還需一個配合電路,稱之為先行進位發生器(CLA),下面還要介紹。

Cn+4是本片(組)的最后進位輸出。邏輯表達式表明,這是一個先行進位邏輯。換句話說,第0位的進位輸入Cn可以直接傳送到最高位上去,因而可以實現高速運算。
  
  用正邏輯表示的4位算術/邏輯運算單元(ALU)的邏輯電路圖如下,它是根據上面的原始推導公式用TTL電路實現的。這個器件的商業標號為74181ALU。

?

3.算術邏輯運算的實現
  
  上演示圖中除了S0-S3四個控制端外,還有一個控制端M,它使用來控制ALU是進行算術運算還是進行邏輯運算的。
  
  當M=0時,M對進位信號沒有任何影響。此時F 不僅與本位的被操作數Y和操作數X 有關,而且與本位的進位輸出,即C 有關,因此M=0時,進行算術操作。
  
  當M=1時,封鎖了各位的進位輸出,即C =0,因此各位的運算結果F 僅與Y 和X 有關,故M=1時,進行邏輯操作。
  
  圖2.11(b)示出了工作于負邏輯和正邏輯操作數方式的74181ALU方框圖。顯然,這個器件執行的正邏輯輸入/輸出方式的一組算術運算和邏輯操作與負邏輯輸入/輸出方式的一組算術運算和邏輯操作是等效的。


圖2.11 74181ALU的邏輯電路圖和方框圖

表2.5列出了74181ALU的運算功能表,它有兩種工作方式。對正邏輯操作數來說,算術運算稱高電平操作,邏輯運算稱正邏輯操作(即高電平為“1”,低電平為“0”)。對于負邏輯操作數來說,正好相反。由于S -S 有16種狀態組合,因此對正邏輯輸入與輸出而言,有16種算術運算功能和16種邏輯運算功能。同樣,對于負邏輯輸入與輸出而言,也有16種算術運算功能和16種邏輯運算功能。

表2.5 74181ALU算術/邏輯運算功能表

  說明:(1)H=高電平,L=低電平.(2)*表示每一位均移到下一個更高位,即A*=2A
  
  注意,表2.5中算術運算操作是用補碼表示法來表示的。其中“加”是指算術加,運算時要考慮進位,而符號“+”是指“邏輯加”。其次,減法是用補碼方法進行的,其中數的反碼是內部產生的,而結果輸出“A減B減1”,因此做減法時需在最末位產生一個強迫進位(加1),以便產生“A減B”的結果。另外,“A=B”輸出端可指示兩個數相等,因此它與其他ALU的“A=B”輸出端按“與”邏輯連接后,可以檢測兩個數的相等條件。

4.兩級先行進位的ALU
  
  前面說過,74181ALU設置了P和G兩個本組先行進位輸出端。如果將四片74181的P,G輸出端送入到74182先行進位部件(CLA),又可實現第二級的先行進位,即組與組之間的先行進位。
  
  假設4片(組)74181的先行進位輸出依次為P0,G0,G1P1,P2,G2,P3,G3,那么參考式(2.37)的進位邏輯表達式,先行進位部件74182CLA所提供的進位邏輯關系如下:
  
  Cn+x=G0+P0Cn  
  Cn+y=G1+P1Cn+x=G1+G0P1+P0P1Cn 
  Cn+z=G2+P2Cn+y=G2+G1P2+G0P1P2+P0P1P2Cn      (2.38) 
  Cn+4 =G3+P3Cn+z=G3+G2P3+G1P1P2+G0P1P2P3+P0P1P2P3Cn
 ?????  =G*+P*Cn

  
  其中
  
  P*=P0P1P2P3 
  G*=G3+G2P3+G1P1P2+G0P1P2P3

  
  根據以上表達式,用TTL器件實現的成組先行進位部件74182的邏輯電路圖如下所示,其中G*稱為成組進位發生輸出,P*稱為成組進位傳送輸出。

下面介紹如何用若干個74181ALU位片,與配套的74182先行進位部件CLA在一起,構成一個全字長的ALU。
  
  下圖示出了用兩個16位全先行進位部件級聯組成的32位ALU邏輯方框圖。在這個電路中使用了八個74181ALU和兩個74182CLA器件。很顯然,對一個16位來說,CLA部件構成了第二級的先行進位邏輯,即實現四個小組(位片)之間的先行進位,從而使全字長ALU的運算時間大大縮短。

  圖2.13 用兩個6位全先行進位部件級聯組成的32位ALU

非常好我支持^.^

(45906) 99.2%

不好我反對

(372) 0.8%

相關閱讀:

( 發表人:admin )

      發表評論

      用戶評論
      評價:好評中評差評

      發表評論,獲取積分! 請遵守相關規定!

      ?
      沙龙国际娱乐网站| 新澳博| 西乌| 叶氏百家乐官网平注技巧| 做生意门朝山| 百家乐最佳打| 智尊国际娱乐| 狮威百家乐官网娱乐平台| 真人百家乐新开户送彩金| 大发888亚洲游戏在线| 桃江县| 百家乐官网骗局视频| 威尼斯人娱乐城官方| 繁昌县| 百家乐官网网| 大发888我发财| 百家乐官网园游戏庄闲| 至尊百家乐20111110| 网上娱乐城排名| 开百家乐官网骗人吗| 百家乐娱乐网官网网| 临武县| 百家乐电子路单破解| 易胜博官网| 玩百家乐官网技巧巧| 新时代百家乐的玩法技巧和规则 | 百家乐官网网上漏洞| 金字塔百家乐的玩法技巧和规则 | 百家乐官网投注方法投资法| 博彩百家乐龙虎| 真人娱乐城源码| 圣保罗百家乐官网的玩法技巧和规则| 乐宝百家乐的玩法技巧和规则| 亚洲百家乐官网新全讯网| 电玩城百家乐技巧| 湘潭市| 百家乐投注限额| 平邑县| 真人百家乐新开户送彩金| 易胜博官网| 菲彩百家乐官网的玩法技巧和规则|