計算機概論

45
計計計計計 計計計計計 6 6 計計計計計計 計計計計計計

Upload: nuwa

Post on 05-Jan-2016

77 views

Category:

Documents


0 download

DESCRIPTION

計算機概論. 第 6 章 數位邏輯設計. 6-1  邏輯電路 (Logic Circuit). 兩個二元變數 X 、 Y 進行相加的結果, SUM 代表和, CARRY 代表進位. SUM = ((NOT X) AND Y) OR (X AND (NOT Y)) = (X ’ * Y) + (X * Y ’ ) CARRY = X AND Y = X * Y. 6-2 布林代數 (Boolean Algebra). 值為 0 或 1 的二元變數 (binary variable) 值為 0 或 1 的常數 (constant) - PowerPoint PPT Presentation

TRANSCRIPT

計算機概論計算機概論第第 66 章 數位邏輯設計章 數位邏輯設計

6-16-1  邏輯電路 邏輯電路 (Logic Circuit)(Logic Circuit)兩個二元變數兩個二元變數 XX 、、 YY 進行相加的結果,進行相加的結果, SUMSUM代表和,代表和, CARRYCARRY 代表進位代表進位

X 與 Y 相加

X Y SUM CARRY 0 0 1 1

0 1 0 1

0 1 1 0

0 0 0 1

SUM = ((NOT X) AND Y) OR (X AND (NOT Y)) SUM = ((NOT X) AND Y) OR (X AND (NOT Y)) = (X’ * Y) + (X * Y’) = (X’ * Y) + (X * Y’)

CARRY = X AND YCARRY = X AND Y = X * Y = X * Y

6-2 6-2 布林代數 布林代數 (Boolean Algebr(Boolean Algebra)a)

值為值為 00 或或 11 的二元變數 的二元變數 (binary variable)(binary variable) 值為值為 00 或或 11 的常數 的常數 (constant)(constant) ANDAND 、、 OROR 、、 NOTNOT 運算子 運算子 (operator)(operator) (( 、、 )) 、、 [[ 、、 ]] 、、 {{ 、、 } } 等括號等括號 = = 等號等號

舉例來說,假設有個布林函數舉例來說,假設有個布林函數 F(X, Y, Z) = F(X, Y, Z) = XYZ’ + (X’Z’)(Y + Z)XYZ’ + (X’Z’)(Y + Z) ,且,且 X = 1X = 1 、、 Y = 1Y = 1 、、

Z = 0Z = 0 ,則運算過程如下:,則運算過程如下:

F(X, Y, Z) = XYZ’ + (X’Z’)(Y + Z) = X * Y * Z’ + (X’ * Z’) * (Y + Z) = 1 * 1 * 0’ + (1’ * 0’) * (1 + 0) = 1 * 1 * 1 + (0 * 1) * (1 + 0) = 1 + 0 * 1 = 1 + 0 = 1

X Y Z F(X, Y, Z)00001111

00110011

01010101

00100010

欄數為二元變數的個數,加上一個存放結果的欄位,故有 n+1 欄。

每個二元變數有 0 、1 兩種值,所以 n 個二元變數會有 2n 種組合,故有 2n 列。

將 X 、 Y 、 Z 的值代入 F ( X 、 Y 、Z ),就可以算出這個欄位的值。

6-2-16-2-1  真值表 真值表 (Truth Table)(Truth Table)布林函數布林函數 F(X, Y, Z) = XYZ’ + (X’Z’)(Y + Z) F(X, Y, Z) = XYZ’ + (X’Z’)(Y + Z) 的真值表推算如下:的真值表推算如下:

6-2-26-2-2  文氏圖 文氏圖 (Venn Diagram)(Venn Diagram)

以文氏圖來表示以文氏圖來表示 F(X, Y, Z) = X’Z’ + XYF(X, Y, Z) = X’Z’ + XY

6-2-36-2-3  布林代數恆等式 布林代數恆等式一、公設一、公設P1.P1. 00 與與 11 的存在的存在 (a)(a) X + 0 = XX + 0 = X

(b)(b) X * 1 = XX * 1 = XP2.P2. 交換律交換律 (a) (a) X + Y = Y + XX + Y = Y + X

(b) (b) X * Y = Y * XX * Y = Y * XP3.P3. 結合律結合律 (a) (a) X + (Y + Z) = X + (Y + Z) = (X + Y) + Z(X + Y) + Z

(b) (b) X * (Y * Z) = X * (Y * Z) = (X * Y) * Z(X * Y) * Z

P4.P4. 分配律分配律 (a) X + (Y * Z) = (a) X + (Y * Z) = (X + Y) * (X + Z)(X + Y) * (X + Z)

(b) X * (Y + Z) = (b) X * (Y + Z) = (X * Y) + (X * Z)(X * Y) + (X * Z)

P5.P5. 互補互補 (a) X + X’ = 1(a) X + X’ = 1 (b) X * X’ = 0(b) X * X’ = 0

二、定理二、定理T1. 冪次 (a) X + X = X (b) X * X = X

T2. 0T2. 0 與與 11 的特性的特性 (a) X + 1 = 1(a) X + 1 = 1 (b) X * 0 = 0(b) X * 0 = 0

T3. Absorption (a) X + XY = X (b) X * (X + Y) = X (c) X + X’Y = X + Y (d) X * (X ‘ + Y) = X * Y

T4. 狄摩根 (a) (X + Y)’ = X’ * Y’ (b) (X * Y)’ = X’ + Y’

T5. 反身律 (X’)’ = X

T6. Consensus

(a) XY + X’Z + YZ = XY + X’Z(b) (X + Y) * (X’ + Z) * (Y + Z) = (X + Y) * (X’ + Z)

6-36-3  邏輯閘 邏輯閘 (Logic Gate)(Logic Gate)6-3-16-3-1    ANDAND 閘閘

6-3-26-3-2    OROR 閘閘

6-3-36-3-3    NOTNOT 閘閘

6-3-46-3-4    XORXOR 閘閘

6-3-56-3-5    NANDNAND 閘閘

使用使用 NANDNAND 閘來模擬閘來模擬 ANDAND 閘閘

使用 NAND 閘來模擬 OR 閘

使用 NAND 閘來模擬 NOT 閘

6-3-66-3-6    NORNOR 閘閘

使用 NOR 閘來模擬 AND 閘

使用使用 NORNOR 閘來模擬閘來模擬 OROR 閘閘

使用 NOR 閘來模擬 NOT 閘

6-3-76-3-7    XNORXNOR 閘閘

6-4 6-4 邏輯簡化邏輯簡化 (Logic Minimization)(Logic Minimization)

6-4-16-4-1  標準形式 標準形式 (Standard Form)(Standard Form) 積項積項 (product terms)(product terms) 和項和項 (sum terms) (sum terms) 最小項最小項 (miniterms)(miniterms) 最大項最大項 (maxiterms) (maxiterms)

最小項之和最小項之和 (sum of miniterms)(sum of miniterms)

最大項之積最大項之積 (product of maxterms)(product of maxterms)

X Y 最小項 符號

0011

0101

X’Y’X’YXY’XY

m0

m1

m2

m3

1

X Y Z 最小項 符號00001111

00110011

01010101

X’Y’Z’X’Y’ZX’YZ’X’YZXY’Z’XY’ZXYZ’XYZ

m0

m1

m2

m3

m4

m5

m6

m7

X Y 最大項 符號

0011

0101

X+YX+Y’X’+YX’+Y’

m0

m1

m2

m3

0

MMii’ = m’ = mii 且 且 mmii’ = M’ = Mii

X Y Z 最大項 符號00001111

00110011

01010101

X+Y+ZX+Y+Z’X+Y’+ZX+Y’+Z’X’+Y+ZX’+Y+Z’X’+Y’+ZX’+Y’+Z’

m0

m1

m2

m3

m4

m5

m6

m7

將布林函數將布林函數 F(X, Y, Z) = X’Y + XZF(X, Y, Z) = X’Y + XZ 表示成最小項之和表示成最小項之和(1(1 )首先,將)首先,將 F(X, Y, Z) = X’Y + XZF(X, Y, Z) = X’Y + XZ 的真值表寫出來的真值表寫出來

X Y Z F(X , Y , Z ) 最 小 項 符 號00001111

00110011

01010101

00110101

X ’Y ’Z ’X ’Y ’ZX ’Y Z ’X ’Y ZX Y ’Z ’X Y ’ZX Y Z ’X Y Z

m 0

m 1

m 2

m 3

m 4

m 5

m 6

m 7

(( 22 )以)以 OROR 運算子連接所有布林值等於運算子連接所有布林值等於 11 的最小項的最小項

F (X, Y, Z) = m2 + m3 + m5 + m7

= Σ m (2, 3, 5, 7)

將布林函數 F(X, Y, Z) = X’Y + XZ 表示成最大項之積( 1 )首先,將 F(X, Y, Z) = X’Y + XZ 的真值表寫出來

X Y Z F(X , Y , Z ) 最 大 項 符 號00001111

00110011

01010101

00110101

X + Y + ZX + Y + Z ’X + Y ’ + ZX + Y ’ + Z ’X ’ + Y + ZX ’ + Y + Z ’X ’ + Y ’ + ZX ’ + Y ’ + Z ’

M 0

M 1

M 2

M 3

M 4

M 5

M 6

M 7

(( 22 )以 )以 AND AND 運算子連接所有布林值等於 運算子連接所有布林值等於 0 0 的最大項的最大項

F (X, Y, Z) = M0 + M1 + M4 + M6

= ΠM (0, 1, 4, 6)

6-4-2  卡諾圖 (Karnaugh Map)

兩個二元變數的卡諾圖

以卡諾圖將 F(X, Y) = XY + XY’ 簡化為積項之和( 1 ) F(X, Y) = XY + XY’ = m3 + m2 = Σ m (2, 3)

0 1

0 m 0 m 1

1 m 2 m 3

X Y

(( 22 ))

(( 33 ))

0 1

0 0 0

1 1 1

X Y

0 1

0 0 0

1 1 1

X Y

1 1

( 4 )找出矩形涵蓋的積項並求取其和, XY’ + XY = (X)(Y’ + Y) = X

三個二元變數的卡諾圖

以卡諾圖將 F(X, Y, Z) = X’YZ + X’YZ’ + XYZ +

XY’Z 簡化為積項之和( 1 ) F (X, Y, Z) = Σm (2, 3, 5, 7)

00 01 11 10

0 m 0 m 1 m 3 m 2

1 m 4 m 5 m 7 m 6

YZX

m0 m1 m3 m2

m4 m5 m7 m6

(( 22 ))

(( 33 ))

00 01 11 10

0 m 0 m 1 m 3 m 2

1 m 4 m 5 m 7 m 6

YZX

0 0 1 1

0 1 1 0

00 01 11 10

0 0 0 1 1

1 0 1 1 0

YZX

(( 44 )) X’YZ + X’YZ’ = (X’Y)(Z + Z’) = X’YX’YZ + X’YZ’ = (X’Y)(Z + Z’) = X’Y ,, XXY’Z Y’Z

+ XYZ = XZ(Y’ + Y) = XZ+ XYZ = XZ(Y’ + Y) = XZ ,兩者相加於是,兩者相加於是 得到得到 X’Y + XZX’Y + XZ 四個二元變數的卡諾圖四個二元變數的卡諾圖

00 01 11 10

00 m 0 m 1 m 3 m 2

01 m 4 m 5 m 7 m 6

11 m 1 2 m 1 3 m 1 5 m 1 4

10 m 8 m 9 m 1 1 m 1 0

WXYZ

以卡諾圖將以卡諾圖將 F(W, X, Y, Z) = F(W, X, Y, Z) = ΣΣm (0, 2, 4, 6, 8, m (0, 2, 4, 6, 8, 10, 13, 15) 10, 13, 15) 簡化為積項之和簡化為積項之和(( 11 ))

00 01 11 10

00 1 0 0 1

01 1 0 0 1

11 0 1 1 0

10 1 0 0 1

WXYZ

(( 22 ))

(( 33 ))找出矩形涵蓋的積項並求取其和,本找出矩形涵蓋的積項並求取其和,本 例有三個矩形,例有三個矩形, W’Z’ + WXZ + W’Z’ + WXZ +

X’Z’X’Z’

00 01 11 10

00 1 0 0 1

01 1 0 0 1

11 0 1 1 0

10 1 0 0 1

WXYZ

以卡諾圖將布林函數簡化為和項之積以卡諾圖將布林函數簡化為和項之積F(X, Y, Z) = X’YZ + X’YZ’ + XYZ + XY’ZF(X, Y, Z) = X’YZ + X’YZ’ + XYZ + XY’Z以卡以卡

諾圖將布林函數簡化為和項之積諾圖將布林函數簡化為和項之積(( 11 )) F(X, Y, Z) = F(X, Y, Z) = ΣΣm(2, 3, 5, 7)m(2, 3, 5, 7)

(( 22 )) 00 01 11 10

0 0 0 1 1

1 0 1 1 0

YZX

(( 33 ))

(( 44 )找出矩形涵蓋的積項並求取其和得到)找出矩形涵蓋的積項並求取其和得到 X’X’Y’ + Y’ +

XZ‘XZ‘(( 55 )) F(X, Y, Z) = (X’Y’ + XZ’)’ = (X + Y)F(X, Y, Z) = (X’Y’ + XZ’)’ = (X + Y)

(X’ + Z)(X’ + Z)

00 01 11 10

0 0 0 1 1

1 0 1 1 0

YZX

無所謂情況無所謂情況 (Don’t Care Condition)(Don’t Care Condition)

00 01 11 10

00 1 1 0 0

01 d 1 d 0

11 0 0 d 1

10 0 0 d 1

WXYZ

找出矩形涵蓋的積項並求取其和,得到找出矩形涵蓋的積項並求取其和,得到W’Y’ + WYW’Y’ + WY

00 01 11 10

00 1 1 0 0

01 d 1 d 0

11 0 0 d 1

10 0 0 d 1

WXYZ

6-46-4 組合電路組合電路 (Combinational (Combinational Circuit)Circuit)

半加法器半加法器

X 與 Y 相加X Y SUM CARRY0011

0101

0110

0001