




已閱讀5頁,還剩111頁未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
計算機(jī)組成原理 主編: 石磊 教授 鄭州大學(xué)信息工程學(xué)院計算機(jī)系 2 第一章 概述 第二章 計算機(jī)中的數(shù)據(jù)表示 第三章 運(yùn)算方法和運(yùn)算器 第四章 存儲器及存儲系統(tǒng) 第五章 指令系統(tǒng) 第六章 中央處理器 第七章 總線系統(tǒng) 第八章 輸入輸出系統(tǒng) 第九章 計算機(jī)外部設(shè)備 第十章 計算機(jī)系統(tǒng)及發(fā)展 目錄 計算機(jī)組成原理 第三章運(yùn)算方法和運(yùn)算器 2015年 12月 17日 第 3頁 第 3章 運(yùn)算方法和運(yùn)算器 計算機(jī)組成原理 清華大學(xué)出版社教學(xué)目標(biāo) 教學(xué)重點(diǎn) 教學(xué)過程 計算機(jī)組成原理 第三章運(yùn)算方法和運(yùn)算器 2015年 12月 17日 第 4頁 教學(xué)目標(biāo) 理解和掌握數(shù)據(jù)在運(yùn)算器中的基本運(yùn)算方法 理解運(yùn)算器的核心部件 計算機(jī)組成原理 第三章運(yùn)算方法和運(yùn)算器 2015年 12月 17日 第 5頁 教學(xué)重點(diǎn) 運(yùn)算器的核心部件 定點(diǎn)數(shù)和浮點(diǎn)數(shù)四則運(yùn)算 計算機(jī)組成原理 第三章運(yùn)算方法和運(yùn)算器 2015年 12月 17日 第 6頁 教學(xué)過程 點(diǎn)數(shù)的加減運(yùn)算 點(diǎn)乘法運(yùn)算 點(diǎn)除法運(yùn)算 點(diǎn)運(yùn)算器的組成和結(jié)構(gòu) 點(diǎn)算術(shù)運(yùn)算方法和浮點(diǎn)運(yùn)算器 計算機(jī)組成原理 第三章運(yùn)算方法和運(yùn)算器 2015年 12月 17日 第 7頁 計算機(jī)進(jìn)行算術(shù)運(yùn)算的特點(diǎn) (1)所有數(shù)據(jù)都是用二進(jìn)制數(shù)位形式來表示的。 (2)在計算機(jī)內(nèi)部數(shù)以編碼形式即機(jī)器數(shù)來表示的。 (3)機(jī)器運(yùn)算用電子設(shè)備實(shí)現(xiàn),電子設(shè)備規(guī)模有限,因而機(jī)器運(yùn)算要解決運(yùn)算方法、數(shù)據(jù)表示格式及數(shù)據(jù)長度的選取、規(guī)定等問題。 (4)用計算機(jī)進(jìn)行運(yùn)算時,都要把復(fù)雜的運(yùn)算,簡化為一系列最基本的運(yùn)算才能實(shí)現(xiàn)。計算機(jī)可以實(shí)現(xiàn)的基本運(yùn)算有算術(shù)運(yùn)算 (加、減、乘、除等 )和邏輯運(yùn)算 (與、或、異或等 )。 計算機(jī)組成原理 第三章運(yùn)算方法和運(yùn)算器 2015年 12月 17日 第 8頁 點(diǎn)數(shù)的加減運(yùn)算 碼加減運(yùn)算規(guī)則 碼加減運(yùn)算規(guī)則 本的二進(jìn)制加法 /減法器 法運(yùn)算及其加速方法 計算機(jī)組成原理 第三章運(yùn)算方法和運(yùn)算器 2015年 12月 17日 第 9頁 碼加減運(yùn)算 對兩個數(shù)進(jìn)行加減運(yùn)算時,計算機(jī)的實(shí)際操作時加還是減,不僅取決于指令的操作碼,還取決于兩個操作數(shù)的符號。 當(dāng)原碼加減運(yùn)算時,符號位并不參加運(yùn)算,只有兩數(shù)的絕對值參加運(yùn)算。首先要判斷參加運(yùn)算的兩個操作數(shù)的符號,再根據(jù)操作的要求決定進(jìn)行相加還是相減運(yùn)算,最后還要根據(jù)兩個操作數(shù)絕對值的大小決定結(jié)果的符號,整個運(yùn)算過程比較復(fù)雜。 計算機(jī)組成原理 第三章運(yùn)算方法和運(yùn)算器 2015年 12月 17日 第 10頁 碼加減運(yùn)算 在大多數(shù)計算機(jī)中,通常只設(shè)置加法器而不設(shè)置減法器,減法運(yùn)算將轉(zhuǎn)換為加法運(yùn)算來實(shí)現(xiàn)。原碼運(yùn)算時,用 |X|+|Y|補(bǔ)來代替 |X|-|Y|。 計算機(jī)組成原理 第三章運(yùn)算方法和運(yùn)算器 2015年 12月 17日 第 11頁 碼加減運(yùn)算 原碼加減運(yùn)算規(guī)則如下: 參加運(yùn)算的操作數(shù)取其絕對值。 若做加法,則兩數(shù)直接相加,若做減法,則將減數(shù)先 變一次補(bǔ),再進(jìn)行加法運(yùn)算。 運(yùn)算之后,可能有兩種情況: 若有進(jìn)位,結(jié)果為正,即得到正確的結(jié)果。 若無進(jìn)位,結(jié)果為負(fù),則應(yīng)再變一次補(bǔ),才能得到正確的結(jié)果。 結(jié)果加上符號位。 通常,把運(yùn)算之前的變補(bǔ)稱為前變補(bǔ),運(yùn)算之后的變補(bǔ)稱為后變補(bǔ)。 計算機(jī)組成原理 第三章運(yùn)算方法和運(yùn)算器 2015年 12月 17日 第 12頁 碼加減運(yùn)算 在大多數(shù)計算機(jī)中,通常只設(shè)置加法器而不設(shè)置減法器,減法運(yùn)算將轉(zhuǎn)換為加法運(yùn)算來實(shí)現(xiàn)。原碼運(yùn)算時,用 |X|+|Y|補(bǔ)來代替 |X|-|Y|。 計算機(jī)組成原理 第三章運(yùn)算方法和運(yùn)算器 2015年 12月 17日 第 13頁 補(bǔ)碼加法 補(bǔ)碼加法的公式是 x補(bǔ) +y補(bǔ) = + 補(bǔ) 在模 2意義下,任意兩數(shù)的補(bǔ)碼之和等于該兩數(shù)之和的補(bǔ)碼 這是 補(bǔ)碼加法的理論基礎(chǔ) ,其結(jié)論也適用于定點(diǎn)整數(shù) 例: x 補(bǔ) y 補(bǔ) x 補(bǔ) y 補(bǔ) + 補(bǔ) 所以 例: x 補(bǔ) y 補(bǔ) x 補(bǔ) y 補(bǔ) + 補(bǔ) 所以 算機(jī)組成原理 第三章運(yùn)算方法和運(yùn)算器 2015年 12月 17日 第 16頁 補(bǔ)碼減法 負(fù)數(shù)的減法運(yùn)算可以轉(zhuǎn)化為加法來做,它可以和常規(guī)的加法運(yùn)算使用同一加法器電路,從而簡化了計算機(jī)的設(shè)計 數(shù)用補(bǔ)碼表示時,減法運(yùn)算的公式為 補(bǔ) x補(bǔ) -y補(bǔ) x補(bǔ) - 2 2 例 : 已知 1 2 : , , , 例: + + x補(bǔ) y補(bǔ) x 補(bǔ) 補(bǔ) 補(bǔ) 所以 算機(jī)組成原理 第三章運(yùn)算方法和運(yùn)算器 2015年 12月 17日 第 19頁 溢出概念與檢驗(yàn)方法 兩個正數(shù)相加 ,結(jié)果為負(fù)(即: 大于機(jī)器所能表示的最大正數(shù) ) ,稱為 上溢 。 兩個負(fù)數(shù)相加 ,結(jié)果為正(即: 小于機(jī)器所能表示的最小負(fù)數(shù) ),稱為 下溢 。 運(yùn)算出現(xiàn)溢出,結(jié)果就是錯誤的 例 求 。 解 : 補(bǔ) 補(bǔ) 補(bǔ) 補(bǔ) 補(bǔ) 兩正數(shù)相加,結(jié)果為負(fù),顯然錯誤。 運(yùn)算中出現(xiàn)了“ 上溢 ” 有進(jìn)位 無進(jìn)位 又例 求 。 解 : 補(bǔ) 補(bǔ) 補(bǔ) 補(bǔ) 補(bǔ) 正數(shù)相加,結(jié)果無溢出 無進(jìn)位 無進(jìn)位 例 求 。 解 : 補(bǔ) 補(bǔ) 補(bǔ) 補(bǔ) 補(bǔ) 負(fù)數(shù)相加,結(jié)果為正,顯然錯誤。 運(yùn)算中出現(xiàn)了“ 下溢 ” 無進(jìn)位 有進(jìn)位 又例 求 。 解 : 補(bǔ) 補(bǔ) 補(bǔ) 補(bǔ) 補(bǔ) 負(fù)數(shù)相加,結(jié)果為負(fù),無 溢出。 有進(jìn)位 有進(jìn)位 進(jìn)一步結(jié)論 : 當(dāng)最高有效位產(chǎn)生進(jìn)位而符號位無進(jìn)位時 ,產(chǎn)生 上溢 ; 當(dāng)最高有效位無進(jìn)位而符號位有進(jìn)位時 ,產(chǎn)生 下溢 。 產(chǎn)生 “ 溢出 ” 的原因 : 分析可知,當(dāng)最高有效數(shù)值位的運(yùn)算 進(jìn)位 與符號位的運(yùn)算 進(jìn)位 不一致時,將產(chǎn)生運(yùn)算 “ 溢出 ” “溢出”檢測方法 為了判斷 “ 溢出 ” 是否發(fā)生 ,可采用 兩種 檢測的方法 。 第一種方法 : 采用 雙符號位 法 , 稱為 “ 變形補(bǔ)碼 ” 或“ 模 4補(bǔ)碼 ” ,可使模 2補(bǔ)碼所能表示的數(shù)的范圍擴(kuò)大一倍 第二種溢出檢測方法 : 采用 “ 單符號位法 ” 。 當(dāng)最高有效位產(chǎn)生進(jìn)位而符號位無進(jìn)位時 ,產(chǎn)生 上溢 ; 當(dāng)最高有效位無進(jìn)位而符號位有進(jìn)位時 ,產(chǎn)生 下溢 。 故: 溢出邏輯表達(dá)式為 : V 中 : 進(jìn)位。(顯然:此邏輯關(guān)系可用異或門方便地實(shí)現(xiàn)) 在定點(diǎn)機(jī)中,當(dāng)運(yùn)算結(jié)果發(fā)生溢出時 ,機(jī)器通過邏 輯電路自動檢查出溢出故障 ,并進(jìn)行中斷處理。 計算機(jī)組成原理 第三章運(yùn)算方法和運(yùn)算器 2015年 12月 17日 第 26頁 碼加減運(yùn)算規(guī)則 ( 1/4) 公式總結(jié): X+Y補(bǔ) =X補(bǔ) +Y補(bǔ) =X補(bǔ) + 例 3X=Y= X+Y補(bǔ) 解: X補(bǔ) =Y補(bǔ) =X+Y補(bǔ) = X補(bǔ) +Y補(bǔ) = 算機(jī)組成原理 第三章運(yùn)算方法和運(yùn)算器 2015年 12月 17日 第 27頁 碼加減運(yùn)算規(guī)則 ( 2/4) 例 3X=Y= 解: X補(bǔ) = 補(bǔ) = = X補(bǔ) + = 算機(jī)組成原理 第三章運(yùn)算方法和運(yùn)算器 2015年 12月 17日 第 28頁 碼加減運(yùn)算規(guī)則 ( 3/4) 溢出及處理:補(bǔ)碼加減運(yùn)算可能溢出,為判斷,采用變形補(bǔ)碼形式 判斷溢出的原則:以兩位符號位表示數(shù)的符號。當(dāng)兩符號位不同時,溢出;兩符號位相同時,無溢出。無論是否發(fā)生溢出,最高符號位代表真正的符號。 變形補(bǔ)碼的加減法,同樣是兩個符號位都看作數(shù)值位參加運(yùn)算,最高符號位產(chǎn)生的進(jìn)位丟掉。 X+Y 變補(bǔ) =X 變補(bǔ) +Y 變補(bǔ) 變補(bǔ) =X 變補(bǔ) +變補(bǔ) 例 3X=Y= X+Y補(bǔ) 解: X變補(bǔ) = Y 變補(bǔ) = X+Y 變補(bǔ) = X+Y補(bǔ) = 算機(jī)組成原理 第三章運(yùn)算方法和運(yùn)算器 2015年 12月 17日 第 29頁 碼加減運(yùn)算規(guī)則 ( 4/4) 例 3X=Y= X+Y補(bǔ) 解: X 變補(bǔ) = Y 變補(bǔ) = X+Y 變補(bǔ) = 算結(jié)果的兩符號位是 01,不相同,發(fā)生溢出,因第一符號位是 0,代表正數(shù), 這種溢出為“正溢出”。 例 3X=Y= X+Y補(bǔ) 解: X 變補(bǔ) = Y 變補(bǔ) = X+Y 變補(bǔ) = 果的兩符號位是 10,不相同,發(fā)生溢出,因第一符號位是 1,代表負(fù)數(shù), 所以稱這種溢出為“負(fù)溢出”。 計算機(jī)組成原理 第三章運(yùn)算方法和運(yùn)算器 2015年 12月 17日 第 30頁 本的二進(jìn)制加法 /減法器 在計算機(jī)中完成兩個二進(jìn)制數(shù)相加的基本加法器有半加器和全加器。半加器在完成兩數(shù)相加時,不需要考慮低位進(jìn)位。全加器用來完成兩個二進(jìn)制數(shù)相加,并且同時考慮低位的進(jìn)位,即全加器完成三個一位數(shù)相加的功能。 設(shè): 為第 i+1位產(chǎn)生的進(jìn)位 則全加器以 、 計算機(jī)組成原理 第三章運(yùn)算方法和運(yùn)算器 2015年 12月 17日 第 31頁 本的二進(jìn)制加法 /減法器 圖 3加器邏輯圖 i i i i i+1 輸 出 輸 入 0 1 1 0 1 0 0 0 0 1 1 0 1 0 0 0 1 0 0 0 1 0 1 0 0 0 1 0 1 1 1 0 1 0 1 1 1 1 1 1 表 3加器真值表 計算機(jī)組成原理 第三章運(yùn)算方法和運(yùn)算器 2015年 12月 17日 第 32頁 本的二進(jìn)制加法 /減法器 全加器的表達(dá)式為: = 一位全加器內(nèi)部邏輯圖 B C i+1 A B C A i 算機(jī)組成原理 第三章運(yùn)算方法和運(yùn)算器 2015年 12月 17日 第 33頁 本的二進(jìn)制加法 /減法器 利用全加器可以實(shí)現(xiàn)兩數(shù)的和或差 1、串行加法:從低位開始,每步只完成一位運(yùn)算的加法。 串行加法器只需要一個全加器和一個進(jìn)位觸發(fā)器 計算兩個 要 n+1步( 1位符號位),或n+2步( 2位符號位)運(yùn)算。 高位運(yùn)算只有等低位運(yùn)算完成后才能進(jìn)行,速度較慢 2、并行加法器:可在同一時刻完成 若采用變形補(bǔ)碼表示一個機(jī)器數(shù),則符號位需 2位,這時需要 n+2個加法器。 運(yùn)算速度比串行進(jìn)位加法器高很多,這是用足夠多的硬件設(shè)備換來的。 計算機(jī)組成原理 第三章運(yùn)算方法和運(yùn)算器 2015年 12月 17日 第 34頁 本的二進(jìn)制加法 /減法器 圖 3波進(jìn)位補(bǔ)碼加法 /減法器 A A 0 1 0 1 0 溢出 控制 M=1 減 M=0 加 計算機(jī)組成原理 第三章運(yùn)算方法和運(yùn)算器 2015年 12月 17日 第 35頁 法運(yùn)算及其加速方法 在計算機(jī)技術(shù)發(fā)展過程中,人們提出了各種各樣提高運(yùn)算速度的方法: 、從計算機(jī)系統(tǒng)結(jié)構(gòu)角度,提出了并行處理、流水線等方式; 、運(yùn)算電路特別是用高速化的邏輯電路實(shí)現(xiàn)加法和移位功能; 、運(yùn)算方法和邏輯結(jié)構(gòu)的高速化。 計算機(jī)組成原理 第三章運(yùn)算方法和運(yùn)算器 2015年 12月 17日 第 36頁 法運(yùn)算及其加速方法 1一級分組先行進(jìn)位法 ( 1)相鄰 4位加法器單元邏輯(第 i+開: i=i i I*,最后一項(xiàng)的前四個因子記為 則, 算機(jī)組成原理 第三章運(yùn)算方法和運(yùn)算器 2015年 12月 17日 第 37頁 四位一組先行進(jìn)位全加器 + + + i i 計算機(jī)組成原理 第三章運(yùn)算方法和運(yùn)算器 2015年 12月 17日 第 38頁 一級分組先行進(jìn)位及組間行波進(jìn)位 14 1 (2 4 5 8 11 12 2 2 1 第 3組先行 進(jìn)位加法器 第 2組先行 進(jìn)位加法器 第 1組先行 進(jìn)位加法器 第 0組先行 進(jìn)位加法器 計算機(jī)組成原理 第三章運(yùn)算方法和運(yùn)算器 2015年 12月 17日 第 39頁 法運(yùn)算及其加速方法 2 二級分組先行進(jìn)位法 仿一級分析法: + 1) + 3*(1 ) + 7* + 7*1 ) + 11* + 11*3*(1 ) 計算機(jī)組成原理 第三章運(yùn)算方法和運(yùn)算器 2015年 12月 17日 第 40頁 法運(yùn)算及其加速方法 圖 4片 4位先行加法器構(gòu)成的 16位快速進(jìn)位加法器邏輯示意圖 C 0 1 I+0 12 8 4 0 12 8 4 0 中組 (包括四小組 )加法器 5 10 I+2 14 15 一級先行進(jìn)位 第 3組 一級先行進(jìn)位 第 2組 一級先行進(jìn)位 第 1組 一級先行進(jìn)位 第 0組 計算機(jī)組成原理 第三章運(yùn)算方法和運(yùn)算器 2015年 12月 17日 第 41頁 點(diǎn)乘法運(yùn)算 實(shí)現(xiàn)乘除法運(yùn)算的方案: 1、當(dāng)使用乘除運(yùn)算較多,速度要求高時,用硬件直接實(shí)現(xiàn); 2、一般情況,配置乘除法選件; 3、對速度要求不高的機(jī)器,用軟件實(shí)現(xiàn)。 計算機(jī)組成原理 第三章運(yùn)算方法和運(yùn)算器 2015年 12月 17日 第 42頁 碼一位乘法 ( 1/5) 算法描述 設(shè) X原 = iX 1Y原 = iY 1乘積 Z原 = ( 運(yùn)算步驟 (1) 從乘數(shù)的最低位開始,用乘數(shù) ,若 B 的某個二進(jìn)制位為 1,則得位積 A;如為 0,則得位積 0。 (2) 的所得的位積,因?yàn)槲粰?quán)不同,逐次向左移位,即在空間上按一定位數(shù)錯開,這樣逐位進(jìn)行下去,直到乘數(shù)各位都乘完為止。 (3) 把經(jīng)過移位對準(zhǔn)的各次位積相加起來即得結(jié)果。 計算機(jī)組成原理 第三章運(yùn)算方法和運(yùn)算器 2015年 12月 17日 第 43頁 碼一位乘法 ( 2/5) 缺點(diǎn) (a)將多個數(shù)一次相加,機(jī)器難以實(shí)現(xiàn)。一般的加法器,只能把兩個輸入數(shù)相加,多個位積的同時輸入是無法實(shí)現(xiàn)的。 (b)乘積位數(shù)增長一倍,即 2n,而機(jī)器字長只有 改進(jìn) (a)把一次求和操作,變成逐步累加求部分積的操作。 (b)將求積過程中逐位按權(quán)左移位積的操作,改為位積不動,而是上次部分積右移的操作。 計算機(jī)組成原理 第三章運(yùn)算方法和運(yùn)算器 2015年 12月 17日 第 44頁 碼一位乘法 ( 3/5) 手算方法 例如 求 A= 機(jī)器算法 若用 0 2 2 2A + 2 和 AB=求得乘積位左移位左移位左移不移位乘數(shù)被乘數(shù)0 1 0 0 1 1 1 0 02221 1 0 11121 1 0 10200 0 0 00 1 1 1 0 第三章運(yùn)算方法和運(yùn)算器 2015年 12月 17日 第 45頁 碼一位乘法 ( 4/5) 例 3已知 X=Y= X Y原 解: X原 =Y原 =X| = |Y| = 原碼一位乘法運(yùn)算規(guī)則,求 X Y原 的數(shù)值部分。 |X| |Y| = 而 1 0 =1 最后求得 X Y原 = 計算機(jī)組成原理 第三章運(yùn)算方法和運(yùn)算器 2015年 12月 17日 第 46頁 例 3 位乘法運(yùn)算過程 +) 0. 0 0 0 0 +) 0. 0 0 0 0 +) 0. 1 0 1 1 +) 0. 1 0 1 1 0. 0 0 0 1 0. 0 1 1 0 0. 1 1 0 0 0. 0 0 1 0 0. 0 0 1 0 0. 0 1 0 1 0. 0 1 0 1 0. 1 0 1 1 0. 0 0 0 0 右移一位得部分積 數(shù)同時右移一位 右移一位得部分積 數(shù)同時右移一位 右移一位得部分積 數(shù)同時右移一位 右移一位得部分積 數(shù)同時右移一位 ,加 |X| ,加 0 ,加 0 ,加 |X| 設(shè)部分積初值 操作說明 乘 數(shù) 部 分 積 1 0 0 1 1 1 0 0 1 1 1 0 0 1 1 1 0 0 1 1 低 位 積 高 位 積 例 計算機(jī)組成原理 第三章運(yùn)算方法和運(yùn)算器 2015年 12月 17日 第 47頁 原碼一位乘法邏輯結(jié)構(gòu)原理圖 1 S R 分積 Z 乘數(shù) Y 計數(shù)器 i Y/2Y / 2Z 乘法啟動 n 1 s 1 , 2 被乘數(shù) X 加數(shù)器 計算機(jī)組成原理 第三章運(yùn)算方法和運(yùn)算器 2015年 12月 17日 第 48頁 碼一位乘法 ( 5/5) 工作原理 ( I) 乘法開始時,“啟動”信號使控制觸發(fā)器 1”,于是開啟時序脈沖 T。 ( 當(dāng)乘數(shù)寄存器 1”時,部分積 在加法器中相加,其結(jié)果輸出至 ( 旦打入控制脈沖 制信號 此同時, 計數(shù)器 ( 計數(shù)器 i=數(shù)器的溢出信號使觸發(fā)器 0”,關(guān)閉時序脈沖 T, 乘法宣告結(jié)束。 若將 1連接起來,乘法結(jié)束時乘積的高 0,低 1, 由于移位而全部丟失。 計算機(jī)組成原理 第三章運(yùn)算方法和運(yùn)算器 2015年 12月 17日 第 49頁 碼一位乘法 X 補(bǔ) 與真值的關(guān)系: 設(shè) X補(bǔ) = n,則有設(shè) X補(bǔ) = 2X 證明:當(dāng) X補(bǔ) = 2X=X 當(dāng) X補(bǔ) = 2+X=2X(根據(jù)定義) 由此可得: X =X補(bǔ) 2 - 0 n 即 ,真值 X=X補(bǔ) ; ,真值 X= n 故可推出,當(dāng) ( n) =X( 0 n) 以得到: X Y補(bǔ) = X補(bǔ) ( n) + 計算機(jī)組成原理 第三章運(yùn)算方法和運(yùn)算器 2015年 12月 17日 第 50頁 碼一位乘法 校正法的思想: 先將任意兩個補(bǔ)碼 X補(bǔ) 、 Y補(bǔ) 看作是一般的二進(jìn)制數(shù),仍按原碼運(yùn)算規(guī)則求得 X補(bǔ) Y補(bǔ) ,然后對其結(jié)果加以校正,而獲得 X Y補(bǔ) 之值。 當(dāng)乘數(shù) 原碼乘法相似,只是在部分積相加、右移操作時, 按補(bǔ)碼性質(zhì)進(jìn)行;當(dāng)乘數(shù)為負(fù)時,先不考慮乘數(shù)的符號,將乘數(shù)補(bǔ)碼的數(shù)值部分與被乘數(shù)相乘;最后進(jìn)行校正操作,即加上 。 設(shè) Y補(bǔ) = n ,我們用一個公式表示補(bǔ)碼校正法的算法規(guī)則: X Y補(bǔ) = X補(bǔ) ( n) + 時, X Y補(bǔ) = X補(bǔ) ( n) 當(dāng) 時, X Y補(bǔ) = X補(bǔ) ( n) + 計算機(jī)組成原理 第三章運(yùn)算方法和運(yùn)算器 2015年 12月 17日 第 51頁 碼一位乘法 布斯夫婦提出,又稱 對校正法的改進(jìn),不論乘數(shù)為正為負(fù),符號位都參加運(yùn)算,其運(yùn)算規(guī)則統(tǒng)一。 假設(shè) X、 X補(bǔ) 和 Y 補(bǔ) = n,都是任意符號表示的數(shù)。求新的部分積,取決于兩個比較位的數(shù)位,即 布斯乘法規(guī)則: ( 1)設(shè)置附加位 =0,部分積初值 補(bǔ) =0。 ( 2)當(dāng) n0時,判 ,若 =00或 11,即相鄰位相同時,上次部分積右移一位,直接得部分積。 若 =01,上次部分積加 X補(bǔ) ,右移一位得新部分積 若 =10,上次部分積加 ,右移一位得新部分積 ( 3)當(dāng) n=0時,判 (對應(yīng)于 運(yùn)算規(guī)則同( 1)只是不移位。即在運(yùn)算的最后一步,乘積不再右移。 計算機(jī)組成原理 第三章運(yùn)算方法和運(yùn)算器 2015年 12月 17日 第 52頁 碼一位乘法 例 3X補(bǔ) =Y補(bǔ) =X Y 補(bǔ) 解: 補(bǔ) = X Y 補(bǔ) = 算機(jī)組成原理 第三章運(yùn)算方法和運(yùn)算器 2015年 12月 17日 第 53頁 表 3 3+) 1 1 0 1 1 1 +) 0 0 1 0 0 1 +) 1 1 0 1 1 1 1 1 1 1 0 1 1 1 1 0 1 0 1 1 1 1 0 1 1 1 1 0 1 1 1 1 0 1 1 1 0 0 0 0 1 1 0 0 0 1 1 0 0 0 0 0 0 0 右移一位得部分積 右移一位得 右移一位得 =10, + =11,右移一位得 =01, +X補(bǔ) =10, + =11,最后一步不移位 設(shè)部分積初值 ,附加位 =0 操作說明 乘 數(shù) 附加位 部 分 積 1 1 0 1 1 0 1 1 1 0 1 1 1 1 1 1 0 1 0 1 1 1 1 0 0 0 1 1 1 1 低 位 積 高 位 積 計算機(jī)組成原理 第三章運(yùn)算方法和運(yùn)算器 2015年 12月 17日 第 54頁 碼兩位乘法 為了提高乘法的執(zhí)行速度 , 可以選用兩位乘法的方案 。 所謂兩位乘法 , 就是每次處理乘數(shù)中的兩位 , 從而使乘法的速度提高了一倍 。 為了簡單起見 , 這里只介紹補(bǔ)碼兩位乘法 。 可以根據(jù)前面介紹的 即把補(bǔ)碼兩位乘理解為將 計算機(jī)組成原理 第三章運(yùn)算方法和運(yùn)算器 2015年 12月 17日 第 55頁 假定上次乘法的部分積表示為 Z補(bǔ),本次的部分積表示為 Z 補(bǔ) ,則有: Z補(bǔ) =2Z補(bǔ) +( - X補(bǔ) Z 補(bǔ) =2 Z補(bǔ) +( X補(bǔ) =22Z補(bǔ) +( - X補(bǔ) +( X補(bǔ) =2Z補(bǔ) +( - X補(bǔ) +2( X補(bǔ) =2Z補(bǔ) +( + 2X補(bǔ) 計算機(jī)組成原理 第三章運(yùn)算方法和運(yùn)算器 2015年 12月 17日 第 56頁 判斷位 操 作 說 明 0 0 0 原部分積 +0,右移兩位 0 0 1 原部分積 +X補(bǔ) ,右移兩位 0 1 0 原部分積 +X補(bǔ) ,右移兩位 0 1 1 原部分積 +2X補(bǔ) ,右移兩位 1 0 0 原部分積 +2 ,右移兩位 1 0 1 原部分積 + ,右移兩位 1 1 0 原部分積 + ,右移兩位 1 1 1 原部分積 +0,右移兩位 表 3補(bǔ)碼兩位乘法操作 計算機(jī)組成原理 第三章運(yùn)算方法和運(yùn)算器 2015年 12月 17日 第 57頁 被乘數(shù)和部分積取 3個符號位,當(dāng)乘數(shù)的數(shù)值位 數(shù)取 2個符號位,共需做 n/2+1次累加, n/2次移位(最后一次不移位);當(dāng) 數(shù)只需 1個符號位,共需 (n+1)/2次累加和移位,但最后一次僅移一位。 計算機(jī)組成原理 第三章運(yùn)算方法和運(yùn)算器 2015年 12月 17日 第 58頁 例 3知 X=Y= X Y。 解: X補(bǔ) =B, Y補(bǔ)= , 0A 。 2X補(bǔ) =2 = 計算機(jī)組成原理 第三章運(yùn)算方法和運(yùn)算器 2015年 12月 17日 第 59頁 A C 附加位 說明 0 0 0 . 0 0 0 0 0 0 0 + 2 - X 補(bǔ)1 1 1 . 0 0 1 1 0 1 0 1 1 1 . 0 0 1 1 0 1 0 2 1 1 1 . 1 1 0 0 1 1 0 + 0 0 0 0 . 0 0 0 0 0 0 0 1 1 1 . 1 1 0 0 1 1 0 2 1 1 1 . 1 1 1 1 0 0 1 + X 補(bǔ)0 0 0 . 0 1 1 0 0 1 1 0 0 0 . 0 1 0 1 1 0 0 2 0 0 0 . 0 0 0 1 0 1 1 + - X 補(bǔ)1 1 1 . 1 0 0 1 1 0 1 1 1 1 . 1 0 1 1 0 0 0 1 1 1 1 . 1 1 0 1 1 0 0 1 . 1 0 0 1 1 1 0 0 1 0 1 1 0 0 1 1 1 1 0 1 0 1 0 0 0 1 0 0 1 0 1 0 1 1 0 0 0 0 1 0 1 0 1 1 1 0 0 , + 2 - X 補(bǔ) 部分積右移兩位 1 1 1 , + 0 部分積右移兩位 0 0 1 , + X 補(bǔ) 部分積右移兩位 1 1 0 , + - X 補(bǔ) 最后一次右移一位 所以 X Y補(bǔ) = Y=算機(jī)組成原理 第三章運(yùn)算方法和運(yùn)算器 2015年 12月 17日 第 60頁 至此,介紹了原碼、補(bǔ)碼一位乘法和補(bǔ)碼兩位乘法,對于初學(xué)者來說,往往會在運(yùn)算次數(shù)、符號位取多少位、符號位是否參加運(yùn)算等問題上出錯,為了幫助大家記憶,特將這 3種乘法運(yùn)算的上述問題統(tǒng)一列于表3 計算機(jī)組成原理 第三章運(yùn)算方法和運(yùn)算器 2015年 12月 17日 第 61頁 乘法類型 符號位 累加次數(shù) 移位 參與運(yùn)算 部分積 乘數(shù) 方向 次數(shù) 每次位數(shù) 原碼一位乘法 否 2 0 n 右 n 1 補(bǔ)碼一位乘法 是 2 1 n+1 右 n 1 補(bǔ)碼兩位乘法 是 3 2( n/2+1 右 n/2 2 1( (n+1)/2 右 (n+1)/2 2(最后一次移 1位 ) 表 3乘法運(yùn)算總結(jié) 計算機(jī)組成原理 第三章運(yùn)算方法和運(yùn)算器 2015年 12月 17日 第 62頁 列乘法器 為了進(jìn)一步提高乘法運(yùn)算的速度,可采用高速乘法模塊組成的陣列乘法器。設(shè)有兩個不帶符號的二進(jìn)制整數(shù) 102102 101010)( 22)( 第三章運(yùn)算方法和運(yùn)算器 2015年 12月 17日 第 63頁 例 3 例如: m=n=5時, P 9 P 8 P
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 醫(yī)藥市場營銷的倫理邊界與監(jiān)管
- 醫(yī)療信息化對教育領(lǐng)域的啟示
- Axure RP 互聯(lián)網(wǎng)產(chǎn)品原型設(shè)計課件 第6章 使用母版和動態(tài)面板
- 創(chuàng)新型智慧藥房系統(tǒng)在醫(yī)療園區(qū)的推廣與應(yīng)用
- 傳媒公司商家合同范例
- 醫(yī)療大數(shù)據(jù)驅(qū)動的公共衛(wèi)生健康監(jiān)測
- 醫(yī)療教育中的溝通藝術(shù)培養(yǎng)卓越醫(yī)者
- 買房公示合同范例
- 借款附帶質(zhì)押合同范例
- 保潔消毒合同范例
- 建筑工人安全教育新模式試題及答案
- 環(huán)境藝術(shù)設(shè)計職業(yè)生涯規(guī)劃書
- 郵政社招筆試試題及答案
- 2025年java開發(fā)面試題及答案
- 2025年春江蘇開放大學(xué)生活中的經(jīng)濟(jì)學(xué)060057綜合作業(yè)一、二參考答案
- (高職)《國際商務(wù)談判與溝通》完整版教學(xué)課件全套電子教案
- 漏纜安裝施工作業(yè)指導(dǎo)書資料
- 《大學(xué)物理》說課課件
- 用En值評價人員比對結(jié)果的范例
- 支局一點(diǎn)一策PPT通用課件
- 國防科大暗室屏蔽部分標(biāo)書
評論
0/150
提交評論