第一章 數位系統與二進位數字 -...
TRANSCRIPT
T. R. Hsu T. R. Hsu
1 - 2
1-1 數位系統(1/1)
Digital Systems
Digital
Binary
Binary Code
General Purpose Digital Computer
Hardware Description Language (HDL)
Verilog HDL
VHDL
T. R. Hsu T. R. Hsu
1 - 3
1-2 二進位數字(1/1)
Binary Numbers
基底為 r 的數字系統
Ex:
01
12
21
1 .... ararararan
nn
n
mm rarara
....
22
11
1010123
5 )4.511(5251525054)2.4021(
012345212021202121)110101(
10)53(141632
T. R. Hsu T. R. Hsu
1 - 4
1-3 數字基底的轉換(1/4)
Number-Base Conversions
十進位整數部分轉換為以r為基底之數字
利用除法
餘數
餘數
rnn aaaaaN ).....( 012110
00
11
22
11 .... rarararara
nn
nn
111
22
11
.... Qarararar
N nn
nn
0a
223
121 .... Qarara
r
Q nn
nn
1a
T. R. Hsu T. R. Hsu
1 - 5
1-3 數字基底的轉換(2/4)
Number-Base Conversions
餘數
……
直到商數為0為止‚而每次除法後所得的餘數即為以 r 為基底之數字的係數.
334
132 .... Qarara
r
Q nn
nn
2a
T. R. Hsu T. R. Hsu
1 - 6
1-3 數字基底的轉換(3/4)
Number-Base Conversions
十進位小數部分轉換為以r為基底之數字
利用乘法
……
rmaaaF )......0( 2110
mm rarara
....
22
11
1112
31
21 .... ParararaarFm
m
2222
41
321 .... ParararaarPm
m
3332
51
432 .... ParararaarPm
m
T. R. Hsu T. R. Hsu
1 - 7
1-3 數字基底的轉換(4/4)
Number-Base Conversions
直到沒有小數部份或所要求位元數為止,而乘積後所得整數部分即為以 r 為基底數字的係數.
T. R. Hsu T. R. Hsu
1 - 8
1-4 八進位及十六進位數字(1/3)
Octal and Hexadecimal Numbers
二進位轉換成八進位或十六進位數字
Ex:
2)11000010011101110100111010(
8)7406.26153(
2)0010111110110110110010(
16)2.62( FBC
T. R. Hsu T. R. Hsu
1 - 9
1-4 八進位及十六進位數字(2/3)
Octal and Hexadecimal Numbers
八進位或十六進位數字轉換成二進位
Ex:
28 )100010001011111110()124.673(
216 )1101011000000011().306( D
T. R. Hsu T. R. Hsu
1 - 10
1-4 八進位及十六進位數字(3/3)
Octal and Hexadecimal Numbers
不同數字基底之間的轉換
以r為基底的數字
十進位
二進位 十六進位八進位
T. R. Hsu T. R. Hsu
1 - 11
1-5 補數(1/4)
Complements
r-1 補數 (Diminished Radix Complement)
對於具有 n 個位數且基底為 r 的數字 N,
則 N 之 r-1 補數定義為:
Ex:
546700之9補數為999999-546700=453299
012398之9補數為999999-012398=987601
0101101之1補數為1010010
Nrn
)1(
T. R. Hsu T. R. Hsu
1 - 12
1-5 補數(2/4)
Complements
r 補數 (Radix Complement)
對於具有 n 個位元且基底為 r 的數字 N,
則 N 之 r 補數定義為:
Ex:
012398之10補數為987602
0110111之2補數為1001001
0,
0,0
NifNr
Nif
n
T. R. Hsu T. R. Hsu
1 - 13
1-5 補數(3/4)
Complements
補數的減法 (Subtraction with Complements)
Ex: 兩個 n 位數且基底為 r 的無號數 M-N 的減法
將被減數M與減數N之r的補數相加。也就是說
若 ,則和會產生一個末進位 ,則去掉末進位 剩下的就是 。
若 ,則和不會產生末進位,結果等於
,這個數字是 之 r 補數。為了得到慣用的答案,則將剛才加法所得的和再求其的補數並在前面加上負號,即為答案。
nnrNMNrM )(
NM nr
nr NM
NM
)( MNrn
)( MN
T. R. Hsu T. R. Hsu
1 - 14
1-5 補數(4/4)
Complements
Ex: 利用10的補數法求 72532-3250
M = 72532
N之10的補數 = + 96750
和 = 169282
去掉末進位 105 = -100000
答案 = 69282
T. R. Hsu T. R. Hsu
1 - 15
1-6 二進位有號數(1/2)
Signed Binary Numbers
有號數 (Signed Numbers)
無號數 (Unsigned Numbers)
01001
符號 數字
+9
11001
符號 數字
-9
11001
數字
25
T. R. Hsu T. R. Hsu
1 - 16
1-6 二進位有號數(2/2)
Signed Binary Numbers
Signed Number
Signed-Magnitude Representation
Signed-1’s-Complement Representation
Signed-2’s-Complement Representation
Arithmetic Addition
Arithmetic Subtraction
T. R. Hsu T. R. Hsu
1 - 17
1-7 二進位碼(1/2)
Binary Codes
BCD碼 (8421碼)
超3碼 (Excess-3)
2 4 2 1加權碼
8 4 -2 -1加權碼
葛雷碼 (Gray Code)
ASCII字元碼 (ASCII Character Code)
Error-Detecting Code (錯誤偵測碼 / 糾錯碼)
Error Corrected Codes (錯誤回復碼)
T. R. Hsu T. R. Hsu
1 - 18
1-7 二進位碼(2/2)
Binary Codes
BCD加法 (BCD Addition)
4 0100 4 0100 8 1000
+5 +0101 +8 +1000 +9 +1001
9 1001 12 1100 17 10001
+0110 +0110
10010 10111
T. R. Hsu T. R. Hsu
1 - 19
1-8 二進位儲存與暫存器(1/1)
Binary Storage and Registers
暫存器 (Register)
暫存器轉移 (Register Transfer)
T. R. Hsu T. R. Hsu
1 - 20
1-9 二進位邏輯(1/4)
Binary Logic
二進位邏輯的定義
(Definition of Binary Logic)
三個基本的邏輯運算 – AND 、 OR 、NOT 。
AND:
z=1 充要條件是x=1且y=1;否則z=0。
OR:
若 x=1或y=1或同時 x=1且y=1 則 z=1;如果同時 x=0且y=0
則 z=0。
NOT:
如果 x=0 則 z=1;如果 x=1 則 z=0。
zyx
zyx
zxzx 或
T. R. Hsu T. R. Hsu
1 - 21
1-9 二進位邏輯(2/4)
Binary Logic
AND OR NOT
0 0 0 0 0 0 0 1
0 1 0 0 1 1 1 0
1 0 0 1 0 1
1 1 1 1 1 1
yx yx xx x xy y
邏輯運算真值表 (布林代數真值表 )
(Truth Tables of Logical Operations)