• 沒有找到結果。

第 五 章

N/A
N/A
Protected

Academic year: 2022

Share "第 五 章"

Copied!
13
0
0

加載中.... (立即查看全文)

全文

(1)

‧‧ 1

第 五 章

5-1 試分別說明半加法器 (Half Adder) 與全加法器 (Full Adder) 在執行二進位加 法運算時,兩者之功能有何不同?

解: (1) 半加法器沒有考慮到進位傳輸 (Carry Propagation) 問題,因此僅可執行兩個 1 位元之二進位數相加。

(2) 全加法器有考慮進位傳輸之問題,因此可將全加法器串接起來,以便執行更 多位元加法運算。

5-2 試使用 AND、OR 與 NOT 等基本邏輯閘來實現半減器 (Half Subtractor) 與全 減器 (Full Subtractor) 之邏輯電路。

解: (1) 半減法器有減數與被減數等兩個輸入變數,分別用

x

y

來標示,兩數相減 後會 產生一個 差 (Difference) 與可能產生之借位 (Borrow) 等兩個輸出變 數,分別標示為

D

B

。接著參考減法運算規則,可知半減法器輸出與輸入 間之關係,如以下真值表所示。

x y D B

0 0 0 0

0 1 1 1

1 0 0 1

1 1 0 0

利用卡諾圖法對以上之真值表進行邏輯化簡,可得簡化後之布林函數式為

y x B

y x y x D

=

⋅ +

=

最後使用 AND, OR 與 NOT 等基本邏輯閘來實現半減法器之邏輯電路,如下 圖所示。

D

B x

y

(2) 只要在半減法器多加一個輸入變數,就便成了全減法器(Full Subtractor),故 全減法器有被減數、減數與借位輸入等 3 個輸入變數,分別標示為

x , y

B

i

(2)

‧‧ 2

而這 3 輸入之二進位數相減後,會產生一個差 (Difference) 與可能產生一個 借位 (Borrow) 等兩個輸出變數,分別標示為

D

B

o。接著參考減法運算規 則,可知半減法器輸出與輸入間之關係,如以下真值表所示。

x y Bi D Bo

0 0 0 0 0 0 0 1 1 1 0 1 0 1 1 0 1 1 0 1 1 0 0 1 0 1 0 1 0 0 1 1 0 0 0 1 1 1 1 1

利用卡諾圖法對以上之真值表進行邏輯化簡,可得簡化後之布林代數式為

i i

o

i i

i i

B y B x y x B

B y x B y x B y x B y x S

⋅ +

⋅ +

=

⋅ +

⋅ +

⋅ +

=

最後使用 AND, OR 與 NOT 等基本邏輯閘來實現半減法器之邏輯電路,如下 圖所示。

x y Bi

Bo

D (a)

5-3 試使用 AND 閘與 4 位元加法器一個設計

3 bit × 4 bit

之乘法器。

解: 假設被乘數

a = a

3

a

2

a

1 與乘數

b = b

4

b

3

b

2

b

1,利用上面之觀念,擴充設計 4

bit

×4

bit

乘法器之邏輯電路,依乘法之運算規則可得以下之計算式:

(3)

‧‧ 3

1 2 3 4 5 6 7

4 1 4 2 4 3 4

3 1 3 2 3 3

2 1 2 2 2 3

1 1 1 2 1 3

1 2 3 4

1 2 3

M M M M M M M

b a b a b a C

b a b a b a

b a b a b a

b a b a b a

b b b b

a a a

⋅ +

×

其中

4 7

4 3 6

4 2 3 3 5

4 1 3 2 2 3 4

3 1 2 2 1 3 3

2 1 1 2 2

1 1 1

C M

b a M

b a b a M

b a b a b a M

b a b a b a M

b a b a M

b a M

=

=

⋅ +

=

⋅ +

⋅ +

=

⋅ +

⋅ +

=

⋅ +

=

=

觀察

M

1

~ M

7 之乘積可知,執行

3 bit × 4 bit

乘法器之邏輯電路,可用 2 個 4 位元加 法器來實現較為簡單,如下圖所示。

四 位 元 加 法 器

四 位 元 加 法 器 b3

a3b4 a3 a2 a1

0 =0 C

0 =0 C

x4 x3 x2 x1 y4 y3 y2 y1 a3 a2 a1

a2

b4

b2

0

a3 a1

b1

x4 x3 x2 x1 y4 y3 y2 y1 C4 S4 S3 S2 S1

M7 M6 M5 M4 M3 M2 M1

C4 S4 S3 S2 S1

5-4 試以圖 5-22 之 4 位元乘法器,說明此電路進行 12 加 10 之算術運算過程 ( 請在 邏輯電路上標示出每個邏輯閘輸入與輸出端之邏輯值 )。

解:

被乘數 乘數

乘積

(4)

‧‧ 4

四 位 元 加 法 器

四 位 元 加 法 器

x4 x3 x2 x1 y4 y3 y2 y1

C4 S4 S3 S2 S1

0 =0 C

0 =0 C

x4 x3 x2 x1 y4 y3 y2 y1

1 1 0 0

1

0 0

0

1 1 0

四 位 元 加 法 器 C0 =0

1

0

1 1 0

x4 x3 x2 x1 y4 y3 y2 y1

1 1 0 0

0

0

0 C4 S4 S3 S2 S1

C4 S4 S3 S2 S1

0 1 1 1 1

5-5 試設計一組合邏輯電路,以比較

x = x

4

x

3

x

2

x

1

y = y

4

y

3

y

2

y

1 之 4 位元二進位 數,當

x = y

時,輸出為邏輯 1,而當當

x ≠ y

時,輸出為邏輯 0。

解: 使用 XOR 閘可用來判斷兩個 2 進位數是否相等 ( 若 2 位元之二進位數相等,則 輸出為邏輯 1;若 2 位元之二進位數不等,則輸出為邏輯 0),故可使用 4 個 2 輸 入之 XOR 與 AND 閘來實現本題邏輯電路,如下圖所示。

x1

y1

x2

y2

x3

y3

x4

y4

f

5-6 試使用全加法器、基本邏輯閘與兩個選擇變數

S

2

S

1,以設計可產生下表之算 術運算之邏輯電路。

(5)

‧‧ 5

S

2

S

1 =0

C

in =1

C

in

0 0

f

=

a

+

b f

=

a

+

b

+1 0 1

f

= a−1

f = a

1 0

f

=

a

+

b f

=

a

+

b

+1 1 1

f = a f

= a+1

解: 首先藉由兩個選擇變數

S

2

S

1,用來控制輸入變數 b,以求取題意之功能的組 合邏輯電路,如下所示。

S2 S1 輸 出 f

0 0 b

0 1 1

1 0 b

1 1 0

接著利用上面所得之組合邏輯,即可求得題意之算術用算電路,如下圖所示。

b S1

S2

全加 法器 a

Cin

x

y Co

Ci

S f

Cout

5-7 試改變圖 5-26 之算術運算電路,假設

= 0

C

in ,並增加一條選擇變數

S

3,當

S

3

= 0

時,此電路執行算術運算,而當

S

3

= 1

時,此電路可產生下表之邏輯運算之邏 輯運算電路。

S2 S2 S1 輸 出 f 邏輯運算功能 1 0 0 f =ab AND 1 0 1 f =a+b OR 1 1 0 f =ab XOR 1 1 1 f =a NOT

解: 依題意之邏輯運算,首先列出邏輯運算單元之功能表 ( 全加法器之輸入 xy b

S1

S2

f

(6)

‧‧ 6

之邏輯運算 ),如下表所示。

S3 S2 S1

x y

Cin 輸出 f =xy 邏輯運算功能 1 0 0

a + b b

0

a ⋅ b

AND 1 0 1

a

1 0

a

NOT 1 1 0

a b

0 f =ab XNOR 1 1 1

a + b

0 0

a + b

OR

接著利用上面所得之邏輯運算,即可求得題意之算術用算電路,如下圖所示。

b

S1

S2

全 法器 S x

y Ci

Co

Cin

Cout

a S3

f

5-8 試繪出十進位加法器 (Decimal Adder) 之邏輯電路圖,並說明電路進行 6 加 9 之運算過程 ( 請在邏輯電路上標示出每個邏輯閘輸入與輸出端之邏輯值 )。

解:

(7)

‧‧ 7

x3

x2

x1 x4 y1 y2 y3 y4

T8 T4 T2 T1

S1

S2

IC-74LS83 C4

IC-74LS83 C4

k

C4

x3

x2

x1 x4 y1 y2 y3 y4

S3

S4 S2 S1

x3 x2 x1

x4 y4y3 y2y1

S1 S2 S3 S4

S4 S3

0 1 1 0 1 0 0 1

0

1

1 1 1

1

1 1 1 1 1 1 0

0

0 1 0 1

1 1 1 1

5-9 試設計一個可產生 BCD 數碼之 10 的補數 (10 Complement) 的組合邏輯電路。

解: 10 的補數產生器是一種組合邏輯電路,故其設計步驟如下:

(1) 因電路之輸入為 BCD 碼,故所設計之電路有 4 個輸入變數,分別標示為

2 3 4

, y , y

y

y

1 等 4 個符號;而輸出為輸入之 10 的補數,故輸出亦應有 4 個 輸出變數,分別以

z

4

, z

3

, z

2z1 等符號來標示。

(2) 因輸出為輸入之 10 的補數,故可用下表來定義輸出與輸入之關係。

y

4

y

3

y

2

y

1

z

4

z

3

z

2

z

1 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 1 0 0 1 0 1 0 0 0 0 0 1 1 0 1 1 1 0 1 0 0 0 1 1 0 0 1 0 1 0 1 0 1 0 1 1 0 0 1 0 0 0 1 1 1 0 0 1 1

四位元加法器 四位元加法器 四位元加法器 四位元加法器

四位元加法器 四位元加法器 四位元加法器 四位元加法器

(8)

‧‧ 8

1 0 0 0 0 0 1 0 1 0 0 1 0 0 0 1

(3) 利用卡諾圖化簡表 5-3 之真值表,以求得

z

4 ,

z

3 ,

z

2

z

1 之最簡布林函數式 如下:

2 2

2 3 2 3 2 3 3

2 3 4 4

y z

y y y y y y z

y y y z

=

=

⋅ +

=

=

最後使用邏輯閘來實現

z

4 ,

z

3 ,

z

2

z

1之布林函數式,即可得 10 的補數產生器之 方塊圖與組合邏輯電路,如下圖所示。

y4

y3

y2

y1

z1

z2

z3

z4

5-10 試利用 4 位元加法器設計一個可將 BCD 碼轉換為加 3 碼之邏輯電路圖。

解: 將每個 BCD 碼加上 3(0011),假設所求之 BCD 碼

a = a

4

a

3

a

2

a

1 ,則使用 4 位元 加法器來實現 BCD 碼轉換為加 3 碼,如下圖所示。

四位元並行加法器

x

1

x

2

x

3

x

4

y

1

y

2

y

3

S

1

y

4

C

out

C

in

S

2

S

3

S

4

a

4

a

3

a

2

a

1

D

5

D

6

D

7

D

8

C

4

1 0 0 1

5-11 試繪出 4 位元並行加法器 (4-bits Parallel Adder) 之邏輯電路圖,並說明此電路 進行 6 加 9 之算術運算過程 ( 請在邏輯電路上標示出每個邏輯閘輸入與輸出端 之邏輯值 )。

四位元並行加法器

C

0

(9)

‧‧ 9

解: 假設被加數

x = x

4

x

3

x

2

x

1

= 0110 = ( 6 )

10,而加數

y = y

4

y

3

y

2

y

1

= 1001 = ( 9 )

10,則可將 4 位 元並行加法器進行 6 加 9 之算術運算過程,如下圖所示。

y1

x1

C0

S1 S2 S3 S4

x2 y2 x3 y3 x4 y4

C4

FA

x y

S

Ci Co FA

x y

S

Ci FA

x y

S

Ci FA

x y

S Ci

C3

C2

C1

Co Co Co

0 1

1 1

1 0 0

0

0 0

1 1 1 1

5-12 試說明使用並行加法器來執行兩個

n

位元之二進位數的加法運算有何缺點?

並請說明改善之方法為何?

解: 使用並行加法器來執行二進位數的加法運算時,雖然所有加數與被加數之信號皆 為已知,但較高位元之加法運算,必須等較低位元相加,得到穩定的進位訊號後,

才能得到正確之結果,即加數與被加數通過邏輯閘之層數與加數、被加數之位元 數成正比關係,因訊號通過邏輯閘會造成時間延遲之關係,因此會造成嚴重進位 傳輸延遲之問題。

為了加快算術運算速度 ( 假設每個邏輯閘之傳輸延遲時間皆相同之條件下 ),

可從改良電路著手,以減少等待進位所造成之傳輸延遲時間。而目前於減少進位 傳輸延遲之方法非常多,其中最廣範使用之方法為前視進位加法 (Look-Ahead Carry) 原理。

5-13 試設計具串接輸入之 4 位元數值比較器的組合邏輯電路。

解:

(10)

‧‧ 10

)

1(x y f >

)

3(x y f <

x1

y1

x2

y2

x3

y3

x4

y4

)

2(x y f = )

(x =y ) (x < y

) (x >y 串級

輸入

串級 輸出

5-14 試利用兩個 4 位元加法器,設計一個 8 位元之二進位減法器。

解: 假設被減數

a = a

8

a

7

a

6

a

5

a

4

a

3

a

2

a

1,而加數

b = b

8

b

7

b

6

b

5

b

4

b

3

b

2

b

1,則可利用兩個 4 位元加法器,設計一個 8 位元之二進位減法器,如下圖所示。

四位元並行加法器

b4

a3

a2

a1

x1 x2x3

S4

S3

S2

S1

x4 y1 y2 y3 y4 B8

Cout Cin

a5 a6 a7a8b5 b6 b7 b8

四位元並行加法器 x1 x2 x3

S4

S3

S2

S1

x4 y1 y2 y3 y4 B4

Cout Cin

D5 D6 D7 D8 D1 D2 D3 D4

b3

b2

b1

a4

1

(11)

‧‧ 11

5-15 試使用半加法器 (Half Adder) 與基本邏輯閘 ( 包括 AND, OR 與 NOT 閘 ) 來 實現下列邏輯運算式:

(a)

f

1

( x , y , z ) = xyz

(b)

f

1

( x , y , z ) = xyz

(c)

f

3

( x , y , z ) = xyz + xz + yz

解: 若半加器有兩個輸入

x

y

,可產生兩個輸出

S

C

,而欲使用半加器產生所 求之邏輯用算,通常使用輸出

S = xy

之布林函數來實現。接著利用半加法器與 基本邏輯閘 ( 包括 AND, OR 與 NOT 閘 ) 來實現所求邏輯運算式如下:

(a)

f

1

( x , y , z ) = xyz

x

y

) , ,

1(x y z x f

y

S

C x

y

S

C

HA

z

HA

(b)

f

1

( x , y , z ) = xyz

) , ,

2(x y z f

x

y

S

C

HA

x

y

z

(c)

f

3(

x

,

y

,

z

)=

x

y

z

+

x

z

+

y

z

) , ,

3(x y z f

x

y

S

C

HA

x

y

z

Q

5-16 試使用基本邏輯閘 ( 包括 AND, OR 與 NOT 閘 )、全加法器與兩個選擇變數

S

2

S

1,設計輸入變數為

a

b

,而輸出變數

f

可產生如下表之邏輯電路。

(12)

‧‧ 12

S

2

S

1 輸出 f

0 0 0 0 1

b

1 0

b

1 1 1

解: 欲使用基本邏輯閘 ( 包括 AND, OR 與 NOT 閘 )、全加法器與兩個選擇變數

S

2

S

1,設計輸入變數為

a

b

,而產生所求輸出變數

f = xy

,則所求邏輯運算 單元之功能表如下所示:

S2 S1 x y 輸出 f

0 0 0 0 0

0 1 0 b b

1 0 1 b b

1 1 1 0 1

只要令

S =

2

x

,而

y = ( S

1

S

2

) ⋅ b

,即可使全加器之輸入

x

y

滿足上表的需求,

故可繪出所求之邏輯運算電路,如下圖所示。

全加

法器 f

x

y

S Ci

Co

Cin

S2

b

S1

Cout

5-17 試使用基本邏輯閘 ( 包括 AND, OR 與 NOT 閘 )、全加法器與兩個選擇變數

S

2

S

1,設計輸入變數為

a

b

,而輸出變數

f

可產生如下表之算術電路。

S2 S1 輸出 f

0 0 a+b1'S

0 1 a +b

1 0 a+b2'S

1 1

a

+1

(13)

‧‧ 13

解: 欲使用基本邏輯閘 ( 包括 AND, OR 與 NOT 閘 )、全加法器與兩個選擇變數

S

2

S

1,設計輸入變數為

a

b

,而產生所求全加法器之和

S = x + y

,則所求算數 運算單元之功能表如下所示:

S

2

S

1 Cin

x

y 輸出 f

0 0 0

a b a

+

b

S =

a

+

b

' 1

0 1 0

a b a + b

1 0 1

a b a

+

b

2'S =

a

+

b

+1

1 1 1

a

0

a

+1

只要令

C

i =

S

2

x = a

y = SSb + SSb

2 1 2

1

)

(

,即可使全加器之輸入

x

y

滿 足上表的需求,故可繪出所求之算數運算電路,如下圖所示。

全加

法器 f

x

y

S Ci

Co

S2

b

S1

Cout

a

5-18 試利用一個全加法器 (Full Adder) 與一個 NOT 閘來設計一個全減法器 (Full Subtractor) 之邏輯電路。

解: 假設被減數為

a

,減數為

b

,欲使用全加法器來代替全減法器之運算,則可對 減 數 為

b

取 補 數

(b )

, 並 令 進 位 輸 入

( C

in

)

即 可 在 全 加 器 之 和

(S )

得 到

= + +

=

a b

1

S a

+

b

2'S =

a

b

之算術運算,如下圖所示。

全加法器

x y

S

Ci

Cout

B

a b

1

D

參考文獻

相關文件

第十條 中央主管機關得將本法第三章穩定就業措施、第四章促進失 業者就業、第五章支持退休後再就業及第七章開發就業機會所定

第五 第五章 章 章 章 工作時間、 工作時間、 工作時間、請假 工作時間、 請假 請假 請假、休假 、休假 、休假 、休假. 第二十 條 司機輪值出車勤務時,連續工作 4 小時,至少有

本書總共分成六個章節: 〈第一章、擁有自信〉 ; 〈第二章、設定願景〉 ; 〈第三章、掌握行動力〉 ; 〈第四 章、建立人際關係〉 ;

A.低 B.中 C.高 D.平常 答案:(C) 第五章

[r]

通規是按最小極限尺寸設計的,作用是防止孔的作用尺寸小於

[r]

[r]