Microsoft Word - 第五章

Similar documents
0 0 = 1 0 = 0 1 = = 1 1 = 0 0 = 1

Microsoft PowerPoint - chap04.ppt

萬用閘的應用

BCD 碼轉二進制碼 投稿類別 : 工程技術 篇名 : BCD 碼轉二進制碼 作者 : 粘家誠 高雄高級工業職業學校 資訊科三年甲班 指導老師 : 鄭鈞升老師 第 1 頁

840 提示 Excel - Excel -- Excel (=) Excel ch0.xlsx H5 =D5+E5+F5+G5 (=) = - Excel 00

Microsoft Word - ACL chapter02-5ed.docx

基本數學核心能力測驗_行為觀察記錄紙_G2版本

Microsoft Word - DA 資料處理-講義-01

Microsoft Word - ACI chapter00-1ed.docx

Microsoft Word _醫療用恆溫保溫袋.doc

新增Microsoft Word 文件.doc

ICCAD 2019 CAD Contest Problem D: Logic Synthesis using Programmable Logic Gates Contents Taiwan Semiconductor Research Institute (TSRI), NARL 0. Anno

利用VHDL設計乘法器

Microsoft PowerPoint - chap7.ppt

一、乘法公式與多項式

表二 105 年國中教育會考英語科閱讀與聽力答對題數對應整體能力等級加標示對照表 閱讀答 對題數 聽力答對題數 待加強待加強待加強待加強待加強待加強待加強待加強待加強待加強待加強待加強

Microsoft PowerPoint - 3C¬ì§Þ»P¥Í¬¡-chapter2

Chapter 3 Camera Raw Step negative clarity +25 ] P / Step 4 0 ( 下一頁 ) Camera Raw Chapter 3 089


目次 CONTENTS 2 1 乘法公式與多項式 二次方根與畢氏定理 因式分解 一元二次方程式

臺北市103學年度國民中學(含完全中學國中部)學校課程計畫審閱

<4D F736F F F696E74202D20BCC6A6ECA874B2CEBEC9BDD7C1BFB871B2C4A440B3B9>

數位邏輯題庫本

1 式子的運算 19 例 1 解 符號的簡記 ( 乘法 ) 1x 4x x 5 1xx 4x4x x 5 5 x 5 x 5x 除以一個不為 0 的數就是乘以該數的倒數 P5 1 1 x x 5 5 x 4 x 4 x 可視為 x 1x4 x 1 4 x4x x x 4 x x x


Microsoft PowerPoint - chap5.ppt

Microsoft Word - Ch03-2.doc

穨_1_.PDF

标题

目 录 一 重 要 提 示... 3 二 公 司 主 要 财 务 数 据 和 股 东 变 化... 3 三 重 要 事 项... 8 四 附 录 / 28

Microsoft PowerPoint - chap18.ppt

圖形編輯設計簡介 建立電路符號檔與轉換成VHDL程式碼 2

電腦簡介

Microsoft Word - 第2章 遺傳.doc

Microsoft Word

第一章

Microsoft Word - 第三章第一節第二節.doc

untitled

Microsoft Word - 第四章.doc

Microsoft PowerPoint - chap12.ppt


Microsoft PowerPoint - chap2.ppt

Microsoft PowerPoint - chap05.ppt

Microsoft PowerPoint - chap07.ppt

二次曲線 人們對於曲線的使用及欣賞 比曲線被視為一種數學題材來探討要早 得多 各種曲線中 在日常生活常接觸的 當然比較容易引起人們的興趣 比如 投擲籃球的路徑是拋物線 盤子的形狀有圓形或橢圓形 雙曲線 是較不常見的 然而根據科學家的研究 彗星的運行軌道是雙曲線的一部 分 我們將拋物線 圓與橢圓 雙曲

Microsoft PowerPoint - chap07.ppt

6-1-1極限的概念

章節

<4D F736F F D B0D3B77EC3FEA7DEC3C0C476C1C9A5BFA6A1B8D5C3442DB57BA6A1B35DAD702DBEC7ACEC2E646F6378>

Microsoft PowerPoint - 4_布林代數與邏輯簡化_1_UNANS

<4D F736F F D BEC7A67EABD7B2CEA440A44ABEC7B4FAC5E728B8EAB971C3FEB14DB77EACECA5D8A44729>

Microsoft Word - _m30.doc

Microsoft Word - 105學年度第一次統測模考範圍表.doc

( ) (1) (2) (3) (4) 2

Microsoft Word - 數位邏輯學科題庫_500題_ doc

Microsoft Word - _74_98碩士班命題-計算機概論_醫工_ 醫工-計算機概論 without answer.doc

電機與電子群資電類專業科目 ( 二 ) 注意 : 考試開始鈴 ( 鐘 ) 響前, 不可以翻閱試題本 103 學年度科技校院四年制與專科學校二年制統一入學測驗試題本 電機與電子群資電類 專業科目 ( 二 ): 數位邏輯 數位邏輯實習 電子學實習 計算機概論 公告試題 注意事項 ˉ 1. 請核對考試科目

Microsoft Word - 計算機概論.doc

Python a p p l e b e a r c Fruit Animal a p p l e b e a r c 2-2

17-72c-1

QR Code 技術之探討

Microsoft PowerPoint - chap4.ppt

經濟系微積分 (95 學年度 ) 單元 28: 對數函數的導函數 單元 28: 對數函數的導函數 ( 課本 x4.5) 一. 自然對數函數的導函數 因為 e x 與 ln x 互為反函數, 故對於 x > 0, 將兩邊對 x 微分, 得 d e ln x = x dx [eln x ] = d [x

Microsoft Word - CH01-02.doc

數1下

Microsoft PowerPoint - 遊戲企劃

(Microsoft PowerPoint -

(Microsoft PowerPoint - \245\250\266\2606)

<4D F736F F D20B3E6B4B9A4F930365F32A443AC71C5E3A5DCBEB9B1B1A8EE2E646F63>

男人的大腦 女人的大腦

本公司(銀行)銷售○○投信「○○基金」所收取之通路報酬如下:

(精校版)陕西省语文卷文档版(含答案)-2011年普通高等学校招生统一考试.doc

<4D F736F F D20312D3220A447A4B8A440A6B8C170A5DFA4E8B57BA6A120C1BFB8712E646F63>

封面-12


101

篇名:

目錄 1. 摘要 簡介 全加器的研究與分析 全加器的結構 全加器的優缺點分析 新的兩位元加法器電路設計 偶位元全加器電路 奇位元全加器電路 模擬結果與比較

縣 94 學年度 上 學期 區 國民中學 Q 年級 R 領域教學計畫表 設計者:

99710a72ZW.PDF

行政法概要 本章學習重點 本章大綱 第一節行政作用之概念 第二節行政作用之分類 一 行政程序法 第三節行政作用法之範圍 第四節行政作用之私法 行為 二 行政罰法三 行政執行法一 源起二 類型 第五節行政作用中的非 權力行為 一 類型 二 事實行為 第六節行政作用之內部 行為 一 行政規則

Microsoft Word - tck-103-4y-04-2(資電)

智慧型水塔研究


1

NCKU elearning Manual

2013年香港高級程度會考成績統計

1

投影片 1

(Microsoft Word \245\277\244\361\273P\244\317\244\361.doc)

( )... 5 ( ) ( )

¾ú¥v¬ì²Ä8¦¸-«ü¦Ò«ÊŁ±.prn, page Normalize ( <4D F736F F D20BEFAA576ACECB2C438A6B82DABFCA6D2ABCAADB12E646F63> )

<4D F736F F D20B3E6A4B830312D2D2DBCC6BD75BB50BEE3BCC6AABAA55BB4EEB942BAE22E646F6378>

1 500 表 1: 各國平均分數

Microsoft PowerPoint - Chapter3

Microsoft Word - 工作項目07

完 成 1.51 亿 元, 占 预 算 的 113.1%, 同 比 增 长 22.1% 分 县 ( 市 ) 完 成 情 况 : 东 乡 县 0.69 亿 元, 同 比 增 长 24.7%; 积 石 山 县 1.25 亿 元, 同 比 增 长 18.5%; 临 夏 县 1.48 亿 元, 同 比 增

* 2


2 2.? ?

Transcription:

5 組合邏輯電路設計 算術運算電路 hpter hpter hpter hpter hpter hpter hpter hpter

概述 加 減 乘與除等四種算術運算在我們日常生活中, 用來處理數值運算之基本方法, 因此數位電路 (Dgtl rcut) 亦應具有這些基本算術運算功能, 才能用來幫助人類處理各種繁瑣之數值運算問題 數位電路僅能用來處理二進位 ( 二元性 ) 資料, 若引入補數 (omplement) 之觀念, 則減法運算可用加法來取代, 又乘法運算可用連續加法運算代替, 而除法運算亦可用連續減法運算來取代, 故加法器可為算術運算之基本電路 本章首先將討論 位元加法器 (Adder) 之設計方法, 再進一步說明如何串接 n 個 位元加法器來設計 n 位元二進位數並行加法電路 接下來討論使用補數之觀念, 使用加法器來取代減法電路之設計方法 接著討論如何直接設計減法器 (ubtrctor) 與乘法器 (ultpler), 以提所高算術運算電路之運算速度 最後討論將算術運算 (Arthmetc Operton) 與邏輯運算 (Logc Operton) 合併在同一個邏輯電路, 稱為算術邏輯單元 (Arthmetc Logc Unt; ALU), 以實現多功能之組合邏輯函數

加法器 ( 概述 ) 在數位系統中, 加法器 (Adder) 可用來執行兩組二進位數之加法運算 首先討論一種沒有考慮到進位傳輸 (rr Propgton) 問題之加法電路, 因此種加法器僅可執行兩個 位元之二進位數相加, 故被稱為半加法器 (Hlf Adder) 若有考慮進位傳輸之問題, 便可將加法器串接起來, 以便執行更多位元加法運算, 故這種加法器被冠以全加法器 (Full Adder) 之名稱 全加法器亦僅能執行兩個 位元之二進位數相加, 接著討論全加器串接方法, 以設計可執行兩組兩個位元以上相加之加法電路, 稱為並行加法器 (Prllel Adder) 若使用並行加法器直接執行 n 位元之加法運算, 雖此種加法電路具構造簡單之優點, 但運算速度較慢為最大缺點, 故本節將提出前視進位加法器 (Look Ahed rr Adder), 以改善並行加法器因進位造成運算速度延遲之缺點 因人類習慣使用十進位執行算數運算, 因此亦將於本節討論十進位加法器之設計方法, 最後提出採用補數之觀念, 以設計出可同時執行加 減法運算之組合邏輯電路

半加法器 半加法器 (Hlf Adder) 是一種組合邏輯電路, 此電路僅可執行兩組 位元之二進位數的加法運算 接著列出兩個二進位數相加之運算規則如下 : 被加數加數 進位 和 半加法器有加數與被加數等兩個輸入變數, 分別用 與 來標示, 而兩數相加後會產生一個 和 (um) 與可能產生之進位 (rr) 等兩個輸出變數, 分別標示為 與 半加法器 HA () 方塊圖 (b) 真值表

利用卡諾圖法對以上真值表進行邏輯化簡, 可得化簡後之布林函數式為 最後使用邏輯閘來實現半加法器之邏輯電路, 如下圖所示 5

全加法器 因半加法器沒有考慮進位傳輸的問題, 故無法執行兩組 位元以上的二進位數相加, 即半加法器缺少一個進位輸入端, 當兩個較低位元之二進位數相加後, 若有進位產生時, 進位輸入可作為傳送進位與上一位元相加之用 若在半加法器上多加一個輸入變數, 就便成了全加法器 (Full Adder), 故全加法器有加數 被加數與進位輸入等 個輸入變數, 分別標示為 與, 而此 個二進位數相加後, 亦 會產生一個和 (um) 與可能的進位 (rr) 等 個輸出變數, 分別標示為 與 o o o 全加法器 FA o () 方塊圖 (b) 真值表 6

7 利用卡諾圖法對以上真值表進行邏輯化簡, 可得簡化後之布林函數式為 o ) ( 最後將化簡所得之布林函數, 使用邏輯閘來實現全加法器之邏輯電路, 如下圖 () 所示 o () o (b) 註 : 上圖 () 與 (b) 皆可用來執行全法加器運算功能之邏輯電路圖, 而這兩個電路之輸出 皆為, 而為使全加法器之邏輯電路圖有不同的表示方式, 進位輸出 o 採用邏輯功能相同, 但表示形式不同之布林函數式, 即圖 () 之進位輸出 o, 而圖 (b) 之進位輸出 o ) (

二進位並行加法器 欲對兩組 n 位元之二進位數相加, 必須串接 n 個全加器才能完成 若欲將兩組 位元之二進位數, 被加數 執行加法運算規則如下 : 與加數 進位被加數加數 和 根據上面之運算式可知, 並行加法電路之原理是將較低位元之加數與被加數相加所得之進位, 直接傳送至較高位元之進位輸入端, 再與較高位元之加數與被加數相加所得之進位, 再直接傳送至更高位元之進位輸入端, 依此類推, 便可執行 n 個位元之加法運算, 此種加法器稱漣波進位加法器 (Rpple rr Adder), 亦可稱為並行加法器 (Prllel Adder) FA o FA o FA o FA o 8

二進位前視進位加法器 並行加法器在進行加法運算時, 雖然所有加數與被加數皆為已知, 但較高位元之加法運算, 必須等較低位元相加, 得到穩定的進位訊號後, 才能得到正確之結果, 即加數與被加數通過邏輯閘之層數與加數 被加數之位元數成正比關係, 因此會造成嚴重進位傳輸延遲之問題 雖然並行加法器之電路構造較為簡單, 但運算速度會受到進位傳輸時間的限制而變慢 為了加快算術運算速度 ( 假設每個邏輯閘之傳輸延遲時間皆相同之條件下 ), 可從改良電路著手, 以減少等待進位所造成之傳輸延遲時間 而目前於減少進位傳輸延遲之方法非常多, 其中最廣範使用之方法為前視進位加法 (Look-Ahed rr) 原理 首先根據下圖 ( 全加法器 ) 來定義與進位 (rr) 有關的兩個變數, 分別為進位產生 (rr Genertor) 和進位傳輸 P (rr Propgton) 於下 : G P G 觀察左圖可得, 全加法器之輸出 與 之 P G 布林函數式於下 : P G P 若以設計 位元加法器為例, 將每一級的進位 用被加數 9 加數 與進位 表示如下 :

P P P P G P P P G P P G P G P G P P P G P P G P G P G P P G P G P G P G P G P G P G P G 若被加數 與加數 分別為 位元之二進位數, 觀察上面之進位 ( 表示加數 被加數或進位位元之權位 ) 之布林函數式, 僅與被加數 加數 與 o 有關 對兩數之加法運算而言, 加數與被加數應為已知數值, 藉由較複雜之邏輯運算, 先將每一級之進位 計算出來, 便可省掉執行加法運算時, 等待進位之時間, 故可加快電路之運算速度 接著利用基本邏輯閘, 配合上述之布林函數式, 即可繪出 位元之前視進位產生器之邏輯電路, 如右圖所示

若組合進位產生 G 和進位傳輸 P 之邏輯電路, 即可繪出 位元前視進位加法器之方塊圖與邏輯電路, 分別如下 右圖所示 P G P G P G P G 位元前視進位產生器 位元前視進位加法器 () 方塊圖 雖此右圖之加法電路看起來相當複雜, 在執行二進位數加法運算時, 較高位元之相加, 不必再等較低位元相加後之進位, 便能得到正確相加結果, 故可大大提高執行多位元加法電路之運算速度

十進位加法器 一種以 個位元的二進位數來代表 個位元的十進位數之數碼稱為 BD 碼 (Bnr ode Decml), 首先說明 BD 碼與二進位碼間之差異, 如下表所示 十進位數 二進位碼 BD 碼 5 6 7 8 9 5 因人類習慣用十進位數 (Decml) 來做算術運算, 且大多數的數字顯示裝置, 亦是以十進位數來顯示, 以方便大眾閱讀 觀察左表可知, 當十進位數小於或等於 9 時,BD 碼和二進位碼完全相同, 而當十進位數大於 9 時,BD 碼和二進位碼便不相同了 本節所討論之十進位加法器 (Decml Adder) ( 亦可稱為 BD 加法器 ) 是直接將兩個十進位數 (BD 碼 ) 做加法運算, 且相加後之結果亦直接以十進位數 (BD 碼 ) 來表示, 故兩 BD 數相加後之和若超過 9, 必須進行進位修正, 才不會產生錯誤之 BD 和

A 部份 B 部份 部份 十進位數 二進位和 BD 和 K T 8 T T T 8 5 6 7 8 9 5 6 7 8 9 每一個位元之十進位數值不會超過 9, 所以兩個十進位數相加, 再加上可能的進位輸入值, 可能之最大值為 9 9 9 如果利用 位元之二進位加法器來執行兩個十進位數字相加, 所得十進數之範圍為 ~9, 如左表所示 一個完整的 BD 加法器, 必須考慮 9 個輸入變數 ( 包括兩組 位元之 BD 碼與 位元之進位輸入 ) 與 5 個輸出變數 ( 包括 個位元之和與 個進位輸出 ), 若採用組合邏輯電路之設計步驟, 以設計十進位加法器, 則會變得相當複雜且不可行, 故必須尋找兩組 BD 數碼之加法規則, 以演算法 (Algorthm) 來設計電路, 才能簡化 BD 加法器之設計問題

根據 BD 碼與二進位碼之關係, 分成 個部份來說明設計十進位加法器之演算法如下 :. 當二組 BD 和 T T T ) 小於或等於 9 時,BD 碼與二進位碼相同, 故所得之二進位和不必 ( 8 T 做任何進位修正. 當二組 BD 和 T T T ) 大於 9, 且小於或等於 5 時, 因這部分之 BD 碼與二進位碼不同, ( 8 T 必須將所得之二進位和再加十進位數之 6 ( 二進位數之 ), 以跳過 6 個 BD 碼沒有使用之二進位數, 以做為進位修正之用 而需要進行進位修正之情況, 可經由右邊之卡諾圖 ( 即將 ~ 方格設定為邏輯 ) 化簡得到之布林函數式為 T T T 8 T f T8 T T8 T. 當二組 BD 和 T T T ) ( 8 T 大於 5 時, 因此部分之 BD 碼亦與二進位碼不同, 故亦必須將 相加所得之二進位和再加十進位數之 6 ( 二進位數之 ), 來跳過 6 個 BD 碼沒有使用 之二進位碼, 以做為進位修正之用 觀察上表可知, 當 K ( 二進位和大於 5 之部分 ) 時, 需要進行進位修正, 故可得布林函數式為 f K

綜合以上 點之討論可得需要進位修正之布林函數式為 K T8T T8T 經由以上之討論, 即可繪出十進位加法器之方塊圖與邏輯電路, 如下圖所示 k 四位元加法器 I-7L8 n T8 T T T BD 加法器 四位元加法器 I-7L8 8 () 方塊圖 (b) 邏輯電路圖 5

上圖僅能執行兩組 位元之十進位數的加法運算, 而需要執行兩個位元以上之十進位數加法 運算時, 常常需串接兩個或兩個以上之十進位加法器, 以便執行更多十進位數加法運算 將兩個以上之十進位加法器進行串接時, 可將較低位元相加後之進位輸出, 直接傳輸至較高 位元加法器的進位數入, 即可完成串接工作 而下圖的十進位加法電路, 便可用來執行兩組 百位以下之十進位數的加法運算 依此類推, 便可得到更多位數之十進位加法運算電路 個位數 十位數 百位數 n 十進位加法器 十進位加法器 十進位加法器 out 8 8 8 6

二進位加 / 減法器 ( 單一位元 ) 對兩組二進位數 ( 與 ) 執行加法 ( ) 或減法 ) 算, 故全加法器 (Full Adder) 為必要使用之邏輯元件 ( ' 運算, 皆需使用到加法運 設計之二進位加 / 減法算術運算電路, 欲執行加法運算時, 則加數亦須保持不變, 直接使用加法器將被加數 與加數 相加 ; 當欲執行減法運算時必須對減數取 的補數 ( ' s ' s, 可使用 XOR 閘來取得 的補數 ) 後, 再使用被加數 與加輸 之 的補數相加 根據以上之討論, 即可實現執行兩個 位元之二進位加 / 減法運算電路, 如下圖所示 被加數 / 被減數 加數 / 減數 位元之二進位加 / 減法運算電路之邏輯功能如下 :. 當控制 時, 全加法器之輸入端 ( 與 n ) 分 別為 與, 則此電路將執行 ( 當 時, ) 之算術運算. 當控制 時, 全加法器之輸入端 ( 與 n ) 分 全加法器 out n 別為 與, 則此電路將執行 ( 當 時,, 再加上進位輸入 n, 即 ' ) 之算術運算, 即此時電路將執行 之算術運算 ' 7

二進位加 / 減法器 ( 多位元 ) 前面所討論之 位元加 / 減法算術運算電路, 亦可擴充至 n 位元加 / 減法算術運算電路 假設某兩組二進位數分別為 ) 加 / 減法算術運電路, 如下圖所示 被加數 / 被減數加數 / 減數 與, 則可執行兩組 位元 ( 與 觀察右圖可知, 位元 ( 與 ) 加 / 減法算術運電路之邏輯功能如下 : 四位元加法器. 當控制 時, 位元加法器之輸入端 ( 與 ) 分別為 與, 則此電路將執行 ( 當 時, ) 之算術運 算 n. 當控制 時, 位元加法器之輸入端 ( 與 n ) 分別為, 則此電路將執行 ' ( 當 時,, 再加上進位輸入 n, 即 ' 術運算, 此時電路將執行 之算術運算 與 ) 算 8

減法器 ( 半減法器 ) 減法器可用來執行兩個二進位數相減之算術運算, 而沒有考慮到借位傳輸 (Borrow Propgton) 問題之減法電路, 因這種減法器僅可執行 位元之二進位數相減, 故被稱為半減器 (Hlf ubtrctor) 而兩組二進位數相減之運算規則如下: 被減數減數 借位 差 半減法器有減數與被減數等兩個輸入變數, 分別用 與 來標示, 兩數相減後會產生一個差 (Dfference) 與可能產生之借位 (Borrow) 等兩個輸出變數, 分別標示為 D 與 B B D 半減法器 H D B () 方塊圖 (b) 真值表 9

利用卡諾圖法對半減器之真值表進行邏輯化簡, 可得簡化後之布林函數式如下 : D B 使用邏輯閘來實現半減法器之邏輯電路, 如下圖所示 D B

減法器 ( 全減法器 ) 因考慮借位傳輸的問題, 全減法器有被減數 減數與借位輸入等 個輸入變數, 分別標示為 與 B, 而這 個輸入之二進位數相減後, 會產生一個差 (Dfference) 與可能產生一個借位 (Borrow) 等兩個輸出變數, 分別標示為 D 與 減法器之方塊圖與真值表, 如下圖所示 B o 當得知輸入與輸出之變數後, 即可繪出全 B D B o B 全減法器 F D B o () 方塊圖 (b) 真值表

利用卡諾圖法對上圖之真值表進行邏輯化簡, 可得簡化後之布林函數式為 B B B B B B B B B D o ) ( 使用邏輯閘來實現全加法器之邏輯電路, 如下圖所示 B B o D () B B o D (b) 註 : 上圖 () 與 (b) 皆可用來執行全減器運算功能之邏輯電路圖, 而這兩個電路之輸出 D 皆為 B D, 而為使全減法器之邏輯電路圖有不同之表示方式, 輸出 o B 採用邏輯功能相同, 但表示形式不同之布林函數式, 即圖 () 之輸出 o B B B, 而圖 (b) 之輸出 B B o ) (

十進位加減法器 (9 的補數產生器 ) 使用 的補數之運算規則, 以設計使用十進位加法器來取代十進位減法運算之方法 假設被減數 與減數 均為 位元之 BD 碼, 欲使用十進位加法器來取代 十進位減法運算須對減數 取 的補數後, 再與被減數 相加, 即可執行 ' 之 算術運算 為實現十進位加 / 減法運算電路, 首先應設計 9 的補數產生器, 因 9 的補數產生器是一種組 合邏輯電路, 故其設計步驟如下 :. 因電路之輸入為 BD 碼, 故所設計之電路有 個輸入變數, 分別標示為 與 等 個符號 ; 而輸出為輸入之 9 的補數, 故輸出亦應有 個輸出變數, 分別以 z z z 與 z 等 符號來標示. 因輸出為輸入之 9 的補數, 故可用真值表表來定義輸出與輸入之關係

. 利用卡諾圖化簡所得之真值表, 以求得 z z z 與 z 之最簡布林函數式如下 : z z z z. 最後使用邏輯閘來實現 z z z 與 z 之布林函數式, 即可得 9 的補數產生器之組合邏輯電 路, 如下圖所示 z z z z

十進位加 / 減法器 設計之十進位加 / 減法算術運算電路, 欲執行加法運算時, 則被加數 與加數 必須保持不變 ; 而欲執行減法運算時, 被減數 必須保持不變, 而對減數 取 的補數 根據以上之討論, 即可得執行兩個 BD 碼 ( 與 ) 之十進位加 / 減法算術運算電路, 如下圖所示 被加數 / 被減數 加數 / 減數 觀察左圖可知, 十進位加 / 減法算術運算電路之邏輯運算功能如下 : 9 的補數產生器 組 對 之多工器線多工器. 當選擇 時,BD 加法器之輸入端 ( z 與 n ) 分別為 與, 則此電路將執行 之十進位 (BD 碼 ) 算術運算 out BD 加法器 z z z z n. 當選擇 時,BD 加法器之輸入 ( 與 ' n ) 分別為 9 與, 則此電路將執行 ' ( 當 時, z 9' 再加上進位輸入 n, 即 ' 9' ) 算術運算, 此時電路將執行 之十進位 (BD 碼 ) 算術 運算 5

二進位乘法器 由於積體電路製造技術的持續進步, 目前算術電路中之乘法運算, 皆直接用乘法器 (ultpler) 來完成, 而不再使用加法器來代替, 以加快算術電路之運算速度 二進位數之乘法原理與十進位相同, 必須考慮各個位元相乘後之加權位置, 因乘法可視為連續之加法, 二進位乘法器亦是依此原理設計出來的 乘法器 (ultpler) 是一種組合邏輯電路, 而兩個 位元之二進位數 與 之乘法運算規則如下 : 觀察上面之乘法運算規則, 兩個 位元之二進位數乘法運算與兩個輸入的 AND 閘之邏輯運算 ( 真值表 ) 完全相同, 故兩個 位元之二進位 ( 分別標示為 與 之符號 ) 乘法電路, 可用 AND 閘來實現, 且兩數相乘後之輸出僅有 個, 使用 之符號來標示, 如下圖所示 6

位元與 位元之乘法器 兩組 n 個位元之二進位數相乘的運算規則與兩組十進位數相乘一樣, 欲執行被乘數 與乘數 b b b 之 bt bt 乘法運算, 依二進位乘法之運算規則, 可得以下之計算式 : b b b b b b 被乘數乘數 乘積 其中 b b b b 觀察 ~ 之乘積可知, 欲執行 bt bt 乘法器之邏輯電路, 至少需 個 AND 閘與 個全 加法器, 故可用 位元加法器來實現較為簡單, 如下圖所示 b 四位元加法器 b 7 註 : 上面之方程式為數學運算式, 而非布林函數式, 其中 之符號為算術運算之加法, 而非 OR 之邏輯運算註 : 位元加法器之電路, 已經考慮進位傳輸之問題, 故在設計乘法電路時, 可省去考慮進位傳輸之困擾

位元與 位元之乘法器 被乘數 與乘數 b bbbb, 依乘法之運算規則, 可得以下之計算式 : 8 b 7 b b 6 b b b 5 b b b b b b b b b b b b b b 被乘數乘數 乘積 b b b 四位元加法器 b 四 位 元 加 法 器 四位元加法器 8 7 6 5 8

算術邏輯單元 ( 概述 ) 將算術運算 (Arthmetc Operton) 與邏輯運算 (Logc Operton) 合併在同一個邏輯電路, 稱為算術邏輯單元 (Arthmetc Logc Unt; ALU), 藉著選擇變數之改變, 不但可用來執行各種加 減法之算術運算, 亦可用來實現一些 AND OR NOT 與 XOR 等基本邏輯運算 設計算術邏輯單元需遵循一定的設計步驟 : 先考慮算術運算電路 藉由改變算術運算之邏輯功能, 以實現所需之邏輯運算 若尚有未能實現之邏輯運算, 則再修正算術運算電路, 以得到符合實際所需之算術邏輯運算單元 9

算術運算電路之設計 實現算術運算電路的基本元件為全加法器 (FA), 首先假設 FA 之被加數與加數分別為 與 b, 當給予 FA 之被加數 加數 b 與進位輸入端 不同之邏輯值時, 便可得到各種不同功能之 算術運算電路, 如下圖所示 全加法器 o 全加法器 o () 通過 (b) 遞增 b b 全加法器 o 全加法器 o b (c) 加法運算 b (d) 有進位輸入之加法運算

全加法器 o 全加法器 o (e) 遞減 (f) 通過 b b 全加法器 o 全加法器 o b (g) 加 b 之 的補數 b (h) 減法運算 藉由兩個選擇變數 與, 即可用來控制輸入變數 b 之真 / 補 / (True/omplement One/Zero Element) 之組合邏輯電路, 如下圖所示

b f 輸出 f b b () 邏輯電路圖 (b) 邏輯運算功能表 若分別加入被加數 加數 b 之輸入端與進位輸入 電路, 而此電路圖與功能表如下圖所示 n, 便可結合算術運算功能在同一個邏輯 n 輸出 f 算術運算功能 n 通過 遞增 b b 加法運算 b b 有進位輸入之加法運算 遞減 通過 b 全加法器 o f b b 加 b 之 的補數 b b 減法運算 b ) ( ' b out

邏輯運算單元之設計 若再增加一條選擇線 與部分組合邏輯電路, 便可將上圖改變為可產生 OR AND XOR 與 NOT 等 個邏輯運算之算術邏輯電路, 如下圖所示 n b 全加法器 o f out

當選擇線 與 具不同值, 且 n 時, 產生下列邏輯運算功能 :. 當 時, 全加法器之輸入端 b f b) b (, 故此時電路便可執行 OR 之邏輯運算, 則全加法器之輸出 n b 全加法器 o f out

. 當 時, 全加法器之輸入端 故此時電路便可執行 XOR 之邏輯運算 b, 則全加法器之輸出 f b, n b 全加法器 o f out 5

. 當 時, 全加法器之輸入端 f, 故此時電路便可執行 NOT 之邏輯運算, 則全加法器之輸出 n b 全加法器 o f out 6

. 當 時, 全加法器之輸入端 b b, 則全加法器之輸出 f ( b) b [( b) b] [( b) b ] b, 故此時電路便可執行 AND 之邏輯運 算 n b 全加法器 o f out 7

算術邏輯單元之設計 若分別結合算術運算與邏輯運算功能, 便可實現 位元算術邏輯單元之設計, 如上圖所示, 而結合後之整體算術邏輯運算功能表, 如下表所示 n 輸出 f 算術邏輯運算功能 通過 遞增 b b 加法運算 b b 有進位輸入之加法運算 遞減 通過 b b 加 b 之 的補數 b b 減法運算 ( b' b) b b OR b b XOR b NOT b b AND 8

數值比較器 ( 位元之數值比較器 ) 數值比較器 (gntude omprtor) 是一種組合邏輯電路, 它可決定一數值大於 等於或小 於另一數值 首先討論一位元之比較器設計步驟列述如下 :. 欲比較兩個 位元之二進位數之邏輯電路應有 個輸入變數, 分別標示為 與 之符號 ; 而兩數值比較結果, 可指出兩數值間大於 等於或小於之關係, 故此電路應有 個輸出變數, 分別 標示為 f ( > ) f ( ) 與 f ( < ) 之符號. 因輸出可指出兩數值 ( 與 ) 間之大於 等於或小於之關係, 且兩個數值比較大小之結果, 亦僅有一個輸出成立 ( 此情況可設定為邏輯 ), 其它兩個輸出不成立 ( 此情況可設定為邏輯 ), 故可用下面之真值表來定義輸出與輸入間的關係 輸入 輸出 ( ) f > f ( ) f ( < ) 9

. 利用卡諾圖對上面之真值表進行邏輯化簡, 以求得輸出之最簡布林函數式 f f f < > ) ( ) ( ) ( ) ( ) (. 使用邏輯閘來實現以上 個輸出布林函數式, 即可繪出 位元數值比較器之邏輯電路, 如右圖所示 ) ( f < ) ( f ) ( f >

n 位元之數值比較器 n 欲設計 n 位元之數值比較器, 若使用真值表來表示, 則可產生 種組合, 所以用傳統組合邏輯設計方法, 則會變得相當不實用 因此必須法展一套直接 有效之程序 (Procedure) 來解決此類問題, 而此種解決問題之程序稱為演算法 (Algorthm) 與 以比較 兩組二進位數之大小為例, 以說明使用演算法來設計 位元數值比較器之方法 首先使用演算法來發展出兩組 位元之二進位 ( 與 ) 數值比較器的真值表, 如下表所示 輸入輸出 f ( > ) f ( ) f ( < ) > < > < > < > <

比較兩組多位元之二進位數之大小, 需由兩個最高有效位元 (B) 開始比較, 若此對位元不相等, 則兩數值之大小立刻可以決定, 而不必理會比 B 低之二進位數 ; 若兩個 B 相等, 再比較下一對權位較低之有效位元, 直到有一對有效位元不相等為止 若 個有效位元皆相等, 則表示 與 相等 根據以上之說明, 即可設計出 位元數值比較器之邏輯電路, 如下圖所示

f ( < ) f ( > ) f ( )

I-7L85 除了提供 位元比較器之所有輸入與輸出接腳外, 另外增加 A > B ( 第 腳 ) A B ( 第 腳 ) 與 A < B ( 第 腳 ) 等 個串級 (scde) 接腳, 利用此 個接腳, 可用串接多個 I-7L85, 以實現超過 個位元之數值比較器, 如下圖所示 V A B A DATA INPUT A B A B 6 5 9 A B A A B A B A < IN B A IN B A > IN B A > B OUT A B OUT B A < B OUT 5 6 7 8 B A < B A B A > B A > B A B A < B GND DATA IN PU T AADE INPUT OUTPUT 5 6 7 8 9 A > B A B A < B A A A I-7L85 B B B A A > B A B A < B B A > B A B A < B A A A I-7L85 B B B A A > B A B A < B B A > B A B A < B A A A I-7L85 B B B A A > B A B A < B B > < 5 6 7 8 9

問題討論 試分別說明半加法器 (Hlf Adder) 與全加法器 (Full Adder) 在執行二進位加法運算時, 並討論兩者之 功能有何不同 解 : () 半加法器 : 未考慮進位傳送之運算, 僅可對兩個 個位元之 進位數進行加法運算 (b) 全加法器 : 有考慮進位傳送之運算, 因此可用串接之方式對超過兩個 個位元之 進位數進行加法運算 5

試討論串接 個全加法器所設計之 位元並行加法器的缺點, 並請說明改善之方法 解 : () 使用並行加法器來執行二進位數的加法運算時, 雖然所有加數與被加數之信號皆為已知, 但較高位元之加法運算, 必須等較低位元相加, 得到穩定的進位訊號後, 才能得到正確之結果, 即加數與被加數通過邏輯閘之層數與加數 被加數之位元數成正比關係, 因訊號通過邏輯閘會造成時間延遲之關係, 因此會造成嚴重進位傳輸延遲之問題 (b) 為了加快算術運算速度 ( 假設每個邏輯閘之傳輸延遲時間皆相同之條件下 ), 可從改良電路著手, 以減少等待進位所造成之傳輸延遲時間 而目前於減少進位傳輸延遲之方法非常多, 其中最廣泛使用之方法為前視進位加法 (Look-Ahed rr) 原理 6

試分別說明半減法器(Hlf ubtrctor) 與全減法器 (Full ubtrctor) 在執行二進位加法運算時, 並討論兩者之功能有何不同 解 : () 半減法器 : 未考慮借位傳送之運算, 僅可對兩個 個位元之 進位數進行減法運算 (b) 全減法器 : 有考慮借位傳送之運算, 因此可用串接之方式對超過兩個 個位元之 進位數進行減法運算 7

試討論算術邏輯單元(ALU) 之基本定義 解 : 將算術運算 (Arthmetc Operton) 與邏輯運算 (Logc Operton) 合併在同一個邏輯電路, 此種電路稱為算術邏輯單元 (Arthmetc Logc Unt; ALU), 它可實現多種功能之組合邏輯函數, 即藉著選擇變數之改變, 不但可用來執行各種加 減法之算術運算, 亦可用來實現一些 AND OR NOT 與 XOR 等基本邏輯運算 8

5 試繪出十進位加法器 (Decml Adder) 之邏輯電路圖, 並說明電路進行 6 加 9 之運算過程 ( 請 解 : 在邏輯電路上標示出每個邏輯閘輸入與輸出端之邏輯值 ) k I-7L8 T8 T T T I-7L8 9