計算機組成原理第二章(第六講)_第1頁
計算機組成原理第二章(第六講)_第2頁
計算機組成原理第二章(第六講)_第3頁
計算機組成原理第二章(第六講)_第4頁
計算機組成原理第二章(第六講)_第5頁
已閱讀5頁,還剩23頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、計算機組成原理第一章第一章 計算機系統概論計算機系統概論第二章第二章 運算方法和運算器運算方法和運算器第三章第三章 存儲系統存儲系統第四章第四章 指令系統指令系統 第五章第五章 中央處理器中央處理器 第六章第六章 總線系統總線系統 第七章第七章 外圍設備外圍設備 第八章第八章 輸入輸出系統輸入輸出系統第九章第九章 并行組織并行組織目錄計算機組成原理計算機組成原理3 上一講回顧1.原碼除法原理原碼除法原理(1)回復余數法)回復余數法(2 2)不回復余數法(加減交替法)不回復余數法(加減交替法)2.并行除法器并行除法器(1 1)可控加法)可控加法/ /減法(減法(CASCAS)單元)單元圖圖2.1

2、0(a)2.10(a)(2 2)不回復余數陣列除法器)不回復余數陣列除法器圖圖2.10(b)2.10(b)3.邏輯運算邏輯運算 運算器是數據的加工處理部件,是運算器是數據的加工處理部件,是CPU的重要的重要組成部分;組成部分; 最基本的結構中包含:最基本的結構中包含:算術算術/邏輯運算單元邏輯運算單元、數、數據緩存寄存器、據緩存寄存器、通用寄存器通用寄存器、多路轉換器和數據總、多路轉換器和數據總線等邏輯構件。線等邏輯構件。2.5 定點運算器的組成定點運算器的組成 由一位全加器由一位全加器(FA)構成的構成的行波進位加法器行波進位加法器,它可以實現補碼數的加,它可以實現補碼數的加法運算和減法運算

3、。但是這種加法法運算和減法運算。但是這種加法/減法器存在兩個問題:減法器存在兩個問題: (1)由于)由于串行進位串行進位,它的運算時間很長。假如加法器由,它的運算時間很長。假如加法器由n位全加器位全加器構成,每一位的進位延遲時間為構成,每一位的進位延遲時間為20ns,那么最壞情況下,那么最壞情況下, 進位信號從最進位信號從最低位傳遞到最高位而最后輸出穩定,至少需要低位傳遞到最高位而最后輸出穩定,至少需要n*20ns,這在高速計算中,這在高速計算中顯然是不利的。顯然是不利的。 (2)就行波進位加法器本身來說,它只能完成加法和減法兩種操作)就行波進位加法器本身來說,它只能完成加法和減法兩種操作而而

4、不能完成邏輯操作不能完成邏輯操作。 本節我們介紹的多功能算術本節我們介紹的多功能算術/邏輯運算單元邏輯運算單元(ALU)不僅具有多種算術不僅具有多種算術運算和邏輯運算的功能,而且具有運算和邏輯運算的功能,而且具有先行進位先行進位邏輯,邏輯, 從而能實現高速運算。從而能實現高速運算。 2.5.2 多功能算術多功能算術/邏輯邏輯運算單元運算單元(ALU) 1. 1. 基本思想基本思想 全加器的表達式為: Si = Ai Bi Ci Ci+1 = AiBi + BiCi + AiCi 一位全加器內部邏輯圖 BCSiCi+1ABCAAiBiCi 我們將我們將Ai和和Bi先組合成由控制參數先組合成由控制

5、參數S0,S1,S2,S3控制的組合函數控制的組合函數Xi和和Yi,然后再將然后再將Xi,Yi和下一位進位數通過全加器進行全加。這樣,不同的控制參數可和下一位進位數通過全加器進行全加。這樣,不同的控制參數可以得到不同的組合函數,因而能夠實現多種算術運算和邏輯運算。以得到不同的組合函數,因而能夠實現多種算術運算和邏輯運算。 因此,一位算術因此,一位算術/ /邏輯運算單元邏輯運算單元的邏輯表達式為的邏輯表達式為 F Fi iX Xi iYYi iCCn ni i C Cn ni i1 1X Xi iY Yi iY Yi iC Cn ni iC Cn ni iX Xi i 上式中進位下標用上式中進位

6、下標用n ni i代替原來代替原來以為全加器中的以為全加器中的i i,i i代表集成在一片代表集成在一片電路上的電路上的ALUALU的二進制位數。對于的二進制位數。對于4 4位位一片的一片的ALUALU,i i0 0,1 1,2 2,3 3。n n代表代表若干片若干片ALUALU組成更大字長的運算器時組成更大字長的運算器時每片電路的進位輸入,例如當每片電路的進位輸入,例如當4 4片組片組成成1616位字長的運算器時,位字長的運算器時,n n0 0,4 4,8 8,1212。 控制參數控制參數S0 S0 ,S1 S1 ,S2 S2 ,S3 S3 分別控制輸入分別控制輸入Ai Ai 和和Bi Bi

7、 ,產生,產生Y Y和和X X的函數。其中的函數。其中YiYi是受是受S0 S0 、S1S1控制的控制的AiAi和和BiBi的組合函數,而的組合函數,而XiXi是受是受S2 S2 、S3S3控制的控制的AiAi和和BiBi組合函數,其函數關系如表組合函數,其函數關系如表2.52.5所示。所示。 2.邏輯表達式邏輯表達式表表2.5 Xi,Yi2.5 Xi,Yi與控制參數和輸入量的關系與控制參數和輸入量的關系 根據上面所列的函數關系根據上面所列的函數關系, ,即可列出即可列出XiXi和和YiYi的邏輯表達式:的邏輯表達式: 2.5 定點運算器的組成定點運算器的組成 進一步化簡并代入前面的求和與進位

8、表達式,可得進一步化簡并代入前面的求和與進位表達式,可得ALUALU的某一位邏輯的某一位邏輯表達式如下表達式如下 : 4位之間采用先行進位公式位之間采用先行進位公式,根據式(根據式(2.36),每一位的進位公式可每一位的進位公式可遞推如下:遞推如下:第第0位向第位向第1位的進位公式為位的進位公式為Cn1Y0X0Cn其中其中Cn是向第是向第0位(末位)的進位。位(末位)的進位。第第1位向第位向第2位的進位公式為位的進位公式為Cn2Y1X1Cn1Y1Y0X1X0X1Cn第第2位向第位向第3位的進位公式為位的進位公式為Cn3Y2X2Cn2Y2Y1X1Y0X1X2X0X1X2Cn第第3位的進位輸出(即

9、整個位的進位輸出(即整個4位運算進位輸出)公式為位運算進位輸出)公式為Cn4Y3X3Cn3Y3Y2X3Y1X2X3Y0X1X2X3X0X1X2X3Cn設設GY3Y2X3Y1X2X3Y0X1X2X3PX0X1X2X3 則則 Cn4GPCn(2.37) 這樣這樣,對一片對一片ALU來說來說,可有三個進位輸出。其中可有三個進位輸出。其中G稱為稱為進位發進位發生輸出生輸出,P稱為稱為進位傳送輸出進位傳送輸出。 在電路中多加這兩個進位輸出的目的在電路中多加這兩個進位輸出的目的,是為了便于實現多片(組)是為了便于實現多片(組)ALU之間的先行進位之間的先行進位,為此還需一個配合電路為此還需一個配合電路,稱

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

11、業標號為74181ALU。 上演示圖中除了上演示圖中除了S0S3四個控制端外四個控制端外,還有一個控制端還有一個控制端,它使用來控制它使用來控制ALU是進行算術運算還是進行邏輯運算的。是進行算術運算還是進行邏輯運算的。當當0時時,對進位信號沒有任何影響。此時對進位信號沒有任何影響。此時F 不僅與不僅與本位的被操作數本位的被操作數Y和操作數和操作數X 有關有關,而且與本位的進位輸出而且與本位的進位輸出,即即C 有關有關,因此因此0時時,進行進行算術操作算術操作。 當當1時時,封鎖了各位的進位輸出封鎖了各位的進位輸出,即即C 0,因此各位的因此各位的運算結果運算結果F 僅與僅與Y 和和X 有關有關

12、,故故1時時,進行進行邏輯操作邏輯操作。 3.算術邏輯運算的實現算術邏輯運算的實現 圖圖2.12(b)示出了工作于負邏輯和正邏輯操作數方式的示出了工作于負邏輯和正邏輯操作數方式的74181ALU方方框圖。顯然框圖。顯然,這個器件執行的正邏輯輸入這個器件執行的正邏輯輸入/輸出方式的一組算術運算和邏輯輸出方式的一組算術運算和邏輯操作與負邏輯輸入操作與負邏輯輸入/輸出方式的一組算術運算和邏輯操作是等效的。輸出方式的一組算術運算和邏輯操作是等效的。 表表2.6列出了列出了74181ALU的運算功能表,它有兩種工作方式。對的運算功能表,它有兩種工作方式。對正邏輯正邏輯操作數操作數來說,算術運算稱來說,算

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

14、:(1)H高電平高電平,L低電平低電平.(2)*表示每一位均移到下一個更高位表示每一位均移到下一個更高位,即即A*2A注意注意,表表2.5中算術運算操作是用中算術運算操作是用補碼補碼表示法來表示的。表示法來表示的。其中其中“加加”是指是指算術加算術加,運算時要考慮進位運算時要考慮進位,而符號而符號“”是是指指“邏輯加邏輯加”。 其次其次,減法是用補碼方法進行的減法是用補碼方法進行的,其中數的反碼是內部產生其中數的反碼是內部產生的的,而結果輸出而結果輸出“A減減B減減1”,因此做減法時需在最末位產生一因此做減法時需在最末位產生一個強迫進位個強迫進位(加加1),以便產生以便產生“A減減B”的結果。

15、另外的結果。另外,“AB”輸輸出端可指示兩個數相等出端可指示兩個數相等,因此它與其他因此它與其他ALU的的“AB輸出端輸出端按按“與與”邏輯連接后邏輯連接后,可以檢測兩個數的相等條件。可以檢測兩個數的相等條件。 前面說過前面說過,74181ALU設置了設置了P和和G兩個本組先行進位輸出端。如果將四片兩個本組先行進位輸出端。如果將四片74181的的P,G輸出端送入到輸出端送入到74182先行進位部件(先行進位部件(CLA),又可實現第二級的先行進又可實現第二級的先行進位位,即組與組之間的先行進位。即組與組之間的先行進位。假設假設4片(組)片(組)74181的先行進位輸出依次為的先行進位輸出依次為

16、P0,G0,G1P1,P2,G2,P3,G3,那么那么參考式參考式(2.37)的進位邏輯表達式的進位邏輯表達式,先行進位部件先行進位部件74182CLA所提供的進位邏輯關系所提供的進位邏輯關系如下:如下:CnG0P0CnCnG1P1CnG1G0P1P0P1CnCnG2P2CnG2G1P2G0P1P2P0P1P2Cn(2.38)Cn4 G3P3CnG3G2P3G1P1P2G0P1P2P3P0P1P2P3CnG*P*Cn 其中其中P*P0P1P2P3G*G3G2P3G1P1P2G0P1P2P3根據以上表達式根據以上表達式,用用TTL器件實現的成組先行進位部件器件實現的成組先行進位部件74182的邏

17、輯電路如下的邏輯電路如下圖所示圖所示 其中其中G*稱為成組進位發生輸出稱為成組進位發生輸出,P*稱為成組進位傳送輸出。稱為成組進位傳送輸出。4.兩級先行進位的兩級先行進位的ALU 下面介紹如何用若干個下面介紹如何用若干個74181ALU位片,與配套的位片,與配套的74182先行進位部件先行進位部件CLA在一起,構成一個全字長的在一起,構成一個全字長的ALU。下圖示出了用兩個下圖示出了用兩個16位全先行進位部件級聯組成的位全先行進位部件級聯組成的32位位ALU邏輯方框圖。在邏輯方框圖。在這個電路中使用了八個這個電路中使用了八個74181ALU和兩個和兩個74182CLA器件。很顯然,對一個器件。

18、很顯然,對一個16位位來說,來說,CLA部件構成了第二級的先行進位邏輯,即實現四個小組(位片)之間的部件構成了第二級的先行進位邏輯,即實現四個小組(位片)之間的先行進位,從而使全字長先行進位,從而使全字長ALU的運算時間大大縮短。的運算時間大大縮短。 總線是計算機內各部件之間傳送信息的公用的總線是計算機內各部件之間傳送信息的公用的一組連線。一組連線。 由于計算機內部的由于計算機內部的主要工作過程主要工作過程是是信息傳送和信息傳送和加工加工的過程的過程, ,因此在機器內部各部件之間的數據傳送因此在機器內部各部件之間的數據傳送非常頻繁。為了非常頻繁。為了減少減少內部的傳送線并便于控制內部的傳送線并

19、便于控制, ,通常通常將一些寄存器之間數據傳送的通路加以歸并將一些寄存器之間數據傳送的通路加以歸并, ,組成組成總總線結構線結構,使不同來源的信息在此傳輸線上分時傳送。,使不同來源的信息在此傳輸線上分時傳送。2.5.3 內部總線內部總線和外部總線 根據總線所在位置,總線分為根據總線所在位置,總線分為內部總線內部總線和和外部外部總線總線兩類。兩類。內部總線內部總線是指是指CPU內各部件的連線內各部件的連線外部總線外部總線是指是指系統總線系統總線,即,即CPU與存儲器、與存儲器、I/O系統之間的連線。系統之間的連線。單向總線和雙向總線 按總線的邏輯結構來說,總線可分為按總線的邏輯結構來說,總線可分

20、為單向傳送單向傳送總線總線和和雙向傳送總線雙向傳送總線。所謂所謂單向總線單向總線,就是信息只能向一個方向傳送,就是信息只能向一個方向傳送所謂所謂雙向總線雙向總線,就是信息可以分兩個方向傳送,就是信息可以分兩個方向傳送,既可以發送數據,也可以接收數據。既可以發送數據,也可以接收數據。下圖為由三態門組成的雙向數據總線。下圖為由三態門組成的雙向數據總線。2.5.4 定點運算器的基本結構定點運算器的基本結構 運算器包括運算器包括ALU陣列乘除器陣列乘除器寄存器寄存器多路開關多路開關三態緩沖器三態緩沖器數據總線等邏輯部件數據總線等邏輯部件。 運算器的設計,主要是圍繞運算器的設計,主要是圍繞ALU和寄存器同數和寄存器同數據總線之間如何傳送操作數和運算結果進行的。據總線之間如何傳

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論