• 沒有找到結果。

• 了解電腦如何執行二進制的定點數四則算術運算

N/A
N/A
Protected

Academic year: 2022

Share "• 了解電腦如何執行二進制的定點數四則算術運算"

Copied!
35
0
0

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

全文

(1)

本章目標

• 了解電腦系統的基本硬體及軟體結構

• 了解各種在電腦中常用的數碼與文數字碼

• 了解各種在電腦中常用的數目系統及其轉換

• 了解電腦如何執行二進制的定點數四則算術運算

• 了解電腦如何執行二進制的浮點數四則算術運算

• 了解IEEE 754浮點數標準格式

(2)

個人電腦系統的硬體架構

記 憶 器

音 效 卡 磁 碟 機 光 碟 機 網 路 卡

I/O界 面

. . . 中 央 處 理 器

(CPU )

位 址 匯 流 排

資 料 匯 流 排 控 制 匯 流 排

系 統 匯 流 排





顯 示 器 鍵 盤

時脈產生器

(3)

個人電腦系統軟體架構

檔案管理 I/O 驅動程式

命令解釋程式 作業系統 (MS-DOS,UNIX, WINDOWS 98/NT, 2000, XP, LINUX)

編輯程式 編譯程式

連結程式 組譯程式 系統程式庫

載入程式

系統軟體

系統

GUI 系統

網路通信程式

(4)

嵌入式微處理器系統

嵌入式微處理器系統的典型應用可以分成五大領域:

1. 消費性產品

2. 汽車控制器

3. 辦公室自動化

4. 工業控制器

5. 通信電子產品

(5)

典型的可規劃嵌入式微處理器系統架構

Ethernet IIC UART

GPIO

P1394 Timer

SDRAM 中斷要求

控制器 CPU

ADC DAC

DMAC IrDA

PCMCIA DSP

PWM

(6)

ASCII碼

MSB LSB

0 000

1 001

2 010

3 011

4 100

5 101

6 110

7 111

0 0000 NUL DLE SP 0 @ P p

1 0001 SOH DC1 ! 1 A Q a q

2 0010 STX DC2 2 B R b r

3 0011 ETX DC3 # 3 C S c s

4 0100 EOT DC4 $ 4 D T d t

5 0101 ENQ NAK % 5 E U e u

6 0110 ACK SYN & 6 F V f v

7 0111 BEL ETB ` 7 G W g w

8 1000 BS CAN ( 8 H X h x

9 1001 HT EM ) 9 I Y i y

A 1010 LF SUB * : J Z j z

B 1011 VT ESC + ; K [ k {

C 1100 FF FS , < L \ l |

D 1101 CR GS - = M ] m }

E 1110 SO RS . > N ^ n ~

(7)

電腦中常用的數碼

權位式數碼 非權位式數碼

十進制數字

8 4 2 1 BCD 加三碼 格雷碼

0 0000 0000 0011 0000

1 0001 0001 0100 0001

2 0010 0010 0101 0011

3 0011 0011 0110 0010

4 0100 0100 0111 0110

5 0101 0101 1000 0111

6 0110 0110 1001 0101

7 0111 0111 1010 0100

8 1000 1000 1011 1100

9 1001 1001 1100 1101

10 1010 0001 0000 0100 0011 1111

11 1011 0001 0001 0100 0100 1110

12 1100 0001 0010 0100 0101 1010

13 1101 0001 0011 0100 0110 1011

(8)

二進制數目系統

N a a a a

a

q

q

p p

i

i p

q

i

2 1

1

0 0

1 1 1

2 2 2 2

2

= + + + + +

=

=−

LL LL

(aq1aq2LLa .a a0 1 2LLap)2

1101 = 1 2× 3 + ×1 22 + ×1 20

(9)

轉換二進制為十進制

11010 01101 1 2 1 2 1 2 1 2 1 2 1 2 1 2 32 16 4 1 0 25 0 125 0 03125

53 40625

2

5 4 2 0 2 3 5

10

.

. . .

.

= × + × + × + × + × + × + ×

= + + + + + +

=

(10)

轉換十進制為二進制

1310 = + + =8 4 1 23 + 22 + +0 20 = 11012

(11)

轉換十進制為二進制

109 2 54 54 2 27 27 2 13

13 2 6 6 2 3 3 2 1 1 2 0

÷ =

÷ =

÷ =

÷ =

÷ =

÷ =

÷ =

LL LL

LL LL LL

LL LL

1 0 1 1 0 1

1 MSB

LSB

(12)

轉換十進制為二進制

0 78125 2 156250 0 56250 2 11250

0 1250 2 0 250 0 250 2 0 500 0 500 2 1 000

. .

. .

. .

. .

. .

× =

× =

× =

× =

× =

= +

= +

= +

= +

= +

1 0 56250 1 0 1250

0 0 250 0 0 500 1 0 000

. . . . .

整數

(13)

轉換十進制為二進制

0 43 2 0 86 0 86 2 1 72 0 72 2 1 44 0 44 2 0 88

. .

. .

. .

. .

´ =

´ =

´ =

´ =

= +

= +

= +

= +

0 0 86 1 0 72 1 0 44 0 0 88

. . . . 整數

0 88 2 1 76 0 76 2 152 0 52 2 1 04

. .

. .

. .

´ =

´ =

´ =

= +

= +

= +

1 0 76 1 0 52 1 0 04

. . . 整數

(14)

十六進制數目系統

N a a a a

a

q

q

p

p

i

i p

q

i

16 1

1

0 0

1

1 1

16 16 16 16

16

= + + + + +

=

=−

LL LL

(aq1aq2LLa .a a0 1 2LLap)16

123F E3. 16 = ×1 163 + ×2 162 + ×3 161 + ×F 160 + ×E 161 + ×3 162

(15)

十進制、二進制、與十六進制之間的關係

十進制 二進制 十六進制 十進制 二進制 十六進制

0 0000 0 8 1000 8

1 0001 1 9 1001 9

2 0010 2 10 1010 A(a)

3 0011 3 11 1011 B(b)

4 0100 4 12 1100 C(c)

5 0101 5 13 1101 D(d)

6 0110 6 14 1110 E(e)

7 0111 7 15 1111 F(f)

(16)

二進制轉換為十六進制

{ { { { { { 0101 1101 1001 1011 0100 1110 5 D 9 . B 4 E

.

(17)

轉換十六進制為二進制

} } } } } } 3 7 C . B 8 6

0111 1000 0110 0011 1100 1011

.

(18)

轉換十六進制為十進制

AED BF A 16 E 16 D 16 B 16 F 16

10 256 14 16 13 1 11 0 0625 15 0 00390625 2797 74609375

16

2 1 0 1 2

10

.

. .

.

= × + × + × + × + ×

= × + × + × + × + ×

=

(19)

轉換十進制為十六進制

167 16 10 10 16 0

÷ =

÷ =

LL LL

7

10 MSD

LSD 整數部分 餘數

0 45 16 7 2 0 2 16 3 2 0 2 16 3 2

. .

. .

. .

× =

× =

× =

= +

= +

= + 7 0 2 3 0 2 3 0 2 . . . 小數部分 整數

16710 = A716 0 45. 10 = 0 73. 16

(20)

二進制加法運算

1 0 1 0

1 1 1 0

3 2 2 0

(-2) (-2) (-2) (-0)

1 0 0 0

1 +

1 0 0 0

(1) (1) (1) (0) 進位

加數 被加數

(21)

二進制減法運算

1 0 1 0

1 1 1 0

2 2 1 0

(-1) (-0) (-0) 0

(1) -

1 1 0 0

(2) (2) (0) (0) 借位

(-1)

被減數

減數

(22)

二進制乘法運算

1 0 0 1

1 1 0 1

1 1 0 1

0 0 0 0

0 0 0 0

1 1 0 1

×

+

乘數 被乘數

0 1 0 1

1 1 1 乘積

(23)

二進制除法運算

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

1 0 1 1 1 1 0 1

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

0 1 1 0 1

除數 被除數

商數

餘數

(24)

數目表示法

N2 = (0an2LLa a .a a1 0 1 2LLam)2

N ai i

i m

n 2

2

= × 2

=−

N2 = 2nN2

(25)

2補數算術運算---兩數均為正數

溢位發生,結果錯誤 0110

+ 0100 1010

(b) +6

+ +4 +10 沒有溢位,結果正確

0011 + 0010 0101

(a) +3

+ +2 +5

(26)

2補數算術運算---兩數均為負數

1100 + 1001 10101

(b) -4

+ -7 -11

符號位元為0,表 示溢位,結果錯誤 摒除

符號位元為1,

結果正確 1101

+ 1100 11001

(a) -3

+ -4 -7 摒除

(27)

2補數算術運算---兩異號數

0110 + 1001 1111

(b) +6

+ -7 -1

符號位元為1,結 果正確

符號位元為0, 沒有進位 結果正確

0111 + 1100 10011

(a) +7

+ -4 +3 摒除

(28)

浮點數表示方法

指數(e) 假數(m)

m

× 2

e

(29)

IEEE 754浮點數標準格式

x = − ( 1 )

s

× 2

e bias

× 1 .m

s為符號位元:0為正數;1為負數 e為指數;bias為偏移量

m為假數

(30)

IEEE 754標準格式

類型 單精確制 雙精確制 四倍精確制

符號位元(s) 1 1 1

指數(e)位元數目 8 11 15

假數(m)位元數目 23 52 112

語句全部長度 32 64 128

指數偏移量(bias) 127 1023 16383

最大指數值 255 2047 32767

最小指數值 0 0 0

(31)

IEEE 754單精確制格式

指數(e) 假數(m)

s

1位元

8位元 23 位元

32 位元

(32)

IEEE 754單精確制格式的指數意義

偏移指數 數目符號 真實指數 假數 類別

0000 0000 +

---- ----

00…00 00…00

11…11 到 00…01

正 0 負 0

去標準化的數 0000 0001 到 0111 1111 --- −126 到 0 00…00 到 11…11 標準化的數 1000 0000 到 1111 1110 --- 1 到 127 00…00 到 11…11 標準化的數

1111 1111

+

---- ---- ---- ----

00…00 00…00 10…00

00…01 到 11…11

正∞

負∞

未定值 不成立的數

(33)

浮點數的四則運算

( )

x + = −y ( 1)xs mx2xeye + −( 1)ys my 2ye

( )

x − = −y ( 1)xs mx2xeye − −( 1)ys my 2ye

( )

x × = −y ( 1)xs mx × −( 1)ys my 2xe+ye

( )

x ÷ = −y ( 1)xs mx ÷ −( 1)ys my 2xeye

(34)

早期的IA-32微處理器重要特性

微處理器 出廠年 操作頻率 電晶體

數目

暫存器 資料匯流

排寬度

位址空間 快取記憶器

8086 1978 8 MHz 29 k 16 GP 16 1 MB

286 1982 12.5 MHz 134 k 16 GP 16 16 MB 386 DX 1985 20 MHz 275 k 32 GP 32 4 GB

486 DX 1989 25 MHz 1.2 M 32 GP, 80 FPU 32 4 GB L1:8 kB Pentium 1993 60 MHz 3.1 M 32 GP, 80 FPU 64 4 GB L1:16 kB Pentium Pro 1995 200 MHz 5.5 M 32 GP, 80 FPU 64 64 GB L1: 16 kB

L2: 256/512 kB Pentium II 1997 266 MHz 7 M 32 GP, 80 FPU,

64 MMX

64 64 GB L1: 32 kB

L2: 256/512 kB Pentium III 1999 500 MHz 8.2 M 32 GP, 80 FPU

64 MMX, 128 XMM

64 64 GB L1: 32 kB L2: 512 kB

(35)

近期的IA-32微處理器重要特性

微處理器 出廠年 架構類型 操作頻率 電晶體

數目

暫存器 資料匯流

排頻寬

位址空

快取記憶器

P III

P III Xeon

1999 P 6 700 MHz 28 M 1.06 GB/s 64 GB L1: 3 kB L2: 256 kB P 4 2000 NetBurst 1.50 GHz 42 M 3.2 GB/s 64 GB L1: 8 kB

L2: 256 kB µop Trace: 12 k Xeon 2001 NetBurst 1.70 GHz 42 M 3.2 GB/s 64 GB L1: 8 kB

L2: 256 kB µop Trace: 12 k Xeon 2002 NetBurst;

Hyper- threading

2.20 GHz 55 M 3.2 GB/s 64 GB L1: 8 kB L2: 512 kB µop Trace: 12 k Xeon MP 2002 NetBurst; 1.60 GHz 108 M

32 GP 80 FPU 64 MMX 128 XMM

3.2 GB/s 64 GB L1: 8 kB

參考文獻

相關文件

有關 PHP 的敘述何者有誤?①可在 Apache、MS IIS 等 Web 伺服 器執行的 Script②只能在 Linux 或 Unix 作業系統上執行,無法於 Windows 或 Mac

專案導向應用程式開發 階梯程式編輯畫面 狀態的監視與控制 階梯程式助憶碼輔助顯示 階梯程式註解功能

數位計算機可用作回授控制系統中的補償器或控制

• 點選 Method Editor 來進行方法程式編輯(同樣,也可 在開啟後的視窗中,點選 Form Editor 來切回原視窗). Form

各國的課程綱要均強調運算的概念性了解。我國 2009 年課程綱要談到所謂

[r]

[r]

[r]