45
KIẾN TRÚC MÁY TÍNH & HỢP NGỮ 02 – Biểu diễn số nguyên 1

02 Bieu Dien So Nguyen

Embed Size (px)

DESCRIPTION

dsdgsg

Citation preview

  • KIN TRC MY TNH &

    HP NG

    02 Biu din s nguyn

    1

  • H c s q tng qut2

    Tng qut s nguyn c n ch s thuc h c s q bt k c biu din:

    (mi ch s xi ly t tp X c q phn t)

    V d:

    H c s 10: A = 123 = 100 + 20 + 3 = 1.102 + 2.101 + 3.100

    q = 2, X = {0, 1}: h nh phn (binary)

    q = 8, X = {0, 1, 2,, 7}: h bt phn (octal)

    q = 10, X = {0, 1, 2,, 9}: h thp phn (decimal)

    q = 16, X = {0, 1, 2,,9, A, B,, F}: h thp lc phn (hexadecimal)

    Chuyn i: A = 123 d = 01111011 b = 173 o = 7B h

    H c s thng c bin din trong my tnh l h c s 2

    0

    0

    1

    1

    1

    1011 ......... qxqxqxxxxn

    nn

  • Chuyn i gia cc h c s

    3

    c im

    Con ngi s dng h thp phn

    My tnh s dng h nh phn, bt phn, thp lc phn

    Nhu cu

    Chuyn i qua li gia cc h m ?

    H khc sang h thp phn (... dec)

    H thp phn sang h khc (dec ...)

    H nh phn sang h khc v ngc li (bin )

  • Chuyn i gia cc h c s[1] Decimal (10) Binary (2)

    4

    Ly s c s 10 chia cho 2

    S d a vo kt qu

    S nguyn em chia tip cho 2

    Qu trnh lp li cho n khi s nguyn = 0

    V d: A = 123

    123 : 2 = 61 d 1

    61 : 2 = 30 d 1

    30 : 2 = 15 d 0

    15 : 2 = 7 d 1

    7 : 2 = 3 d 1

    3 : 2 = 1 d 1

    1 : 2 = 0 d 1

    Kt qu: 1111011, v 123 l s dng,

    thm 1 bit hin du vo u l 0 vo

    Kt qu cui cng: 01111011

  • Chuyn i gia cc h c s[2] Decimal (10) Hexadecimal (16)

    5

    Ly s c s 10 chia cho 16

    S d a vo kt qu

    S nguyn em chia tip cho 16

    Qu trnh lp li cho n khi s nguyn = 0

    V d: A = 123

    123 : 16 = 7 d 12 (B)

    7 : 16 = 0 d 7 Kt qu cui cng: 7B

  • Chuyn i gia cc h c s[3] Binary (2) Decimal (10)

    6

    Khai trin biu din v tnh gi tr biu thc

    V d:

    10112 = 1.23 + 0.22 + 1.21 + 1.20 = 1110

    0

    0

    1

    1

    1

    1011 2.2....2.... xxxxxxn

    nn

  • Chuyn i gia cc h c s[4] Binary (2) Hexadecimal (16)

    7

    Nhm tng b 4 bit trong biu din nh phn ri chuyn

    sang k s tng ng trong h thp lc phn (0000

    0,, 1111 F)

    V d

    10010112 = 0100 1011 = 4B16

    HEX BIN HEX BIN HEX BIN HEX BIN

    0 0000 4 0100 8 1000 C` 1100

    1 0001 5 0101 9 1001 D 1101

    2 0010 6 0110 A 1010 E 1110

    3 0011 7 0111 B 1011 F 1111

  • Chuyn i gia cc h c s[5] Hexadecimal (16) Binary (2)

    8

    S dng bng di y chuyn i:

    V d:

    4B16 = 10010112

    HEX BIN HEX BIN HEX BIN HEX BIN

    0 0000 4 0100 8 1000 C` 1100

    1 0001 5 0101 9 1001 D 1101

    2 0010 6 0110 A 1010 E 1110

    3 0011 7 0111 B 1011 F 1111

  • Chuyn i gia cc h c s[6] Hexadecimal (16) Decimal (10)

    9

    Khai trin biu din v tnh gi tr biu thc

    V d:

    7B16 = 7.161 + 12 (B).160 = 12310

    0

    0

    1

    1

    1

    1011 16.16....16.... xxxxxxn

    nn

  • H nh phn

    10

    c dng nhiu trong my tnh biu din cc gi tr lu trong

    cc thanh ghi hoc trong cc nh. Thanh ghi hoc nh c kch

    thc 1 byte (8 bit) hoc 1 word (16 bit).

    n c gi l chiu di bit ca s

    Bit tri nht xn-1 l bit c gi tr (nng) nht MSB (Most Significant

    Bit)

    Bit phi nht x0 l bit t gi tr (nh) nht LSB (Less Significant Bit)

    0

    0

    1

    1

    1

    1011 2.2....2.... xxxxxxn

    nn

  • tng nh phn11

    S nh phn c th dng biu din bt k vic g m bn mun!

    Mt s v d:

    Gi tr logic: 0 False; 1 True

    K t:

    26 k t (A Z): 5 bits (25 = 32)

    Tnh c trng hp vit hoa/thng + k t l 7 bits (ASCII)

    Tt c cc k t ngn ng trn th gii 8, 16, 32 bits (Unicode)

    Mu sc: Red (00), Green (01), Blue (11)

    V tr / a ch: (0, 0, 1)

    B nh: N bits Lu c ti a 2N i tng

  • S nguyn khng du12

    c im

    Biu din cc i lng lun dng

    V d: chiu cao, cn nng, m ASCII

    Tt c bit u c s dng biu din gi tr (khng quan tm n

    du m, dng)

    S nguyn khng du 1 byte ln nht l 1111 11112 = 28 1 = 25510

    S nguyn khng du 1 word ln nht l 1111 1111 1111 11112 = 216

    1 = 6553510

    Ty nhu cu c th s dng s 2, 3 word.

    LSB = 1 th s l s l s l

  • S nguyn c du13

    Lu cc s dng hoc m (s c du)

    C 4 cch ph bin:

    [1] Du lng

    [2] B 1

    [3] B 2

    [4] S qu (tha) K

    S c du trong my tnh c biu din dng s b 2

  • S nguyn c du[1] Du lng

    14

    Bit tri nht (MSB): bit nh du m / dng

    0: s dng

    1: s m

    Cc bit cn li: biu din ln ca s (hay gi tr tuyt

    i ca s)

    V d:

    Mt byte 8 bit: s c 7 bit (tr i bit du) dng biu din

    gi tr tuyt i cho cc s c gi tr t 0000000 (010) n

    1111111 (12710)

    Ta c th biu din cc s t 12710 n +12710

    -N v N ch khc gi tr bit MSB (bit du), phn ln (gi

    tr tuyt i) hon ton ging nhau

  • S nguyn c du[2] B 1

    15

    Tng t nh phng php [1], bit MSB dng lm bit du

    0: S dng

    1: S m

    Cc bit cn li (*) dng lm ln

    S m: Thc hin php o bit tt c cc bit ca (*)

    V d:

    Dng b 1 ca 00101011 (43) l 11010100 (43)

    Mt byte 8 bit: biu din t 12710 n +12710

    B 1 c hai dng biu din cho s 0, bao gm: 00000000 (+0) v

    11111111 (0) (mu 8 bit, ging phng php [1])

    Khi thc hin php cng, cng thc hin theo quy tc cng nh phn thng

    thng, tuy nhin, nu cn pht sinh bit nh th phi tip tc cng bit nh

    ny vo kt qu va thu c

  • S nguyn c du[3] B 2

    16

    Biu din ging nh s b 1 + ta phi cng thm s 1 vo kt

    qu (dng nh phn)

    S b 2 ra i khi ngi ta gp vn vi hai phng php

    du lng [1] v b 1 [2], l:

    C hai cch biu din cho s 0 (+0 v -0) khng ng nht

    Bit nh pht sinh sau khi thc hin php tnh phi c cng

    tip vo kt qu d gy nhm ln

    Phng php s b 2 khc phc hon ton 2 vn

    V d:

    Mt byte 8 bit: biu din t 12810 n +12710 (c li 1

    s v ch c 1 cch biu din s 0)

  • S b 1 v S b 2

    0 0 0 0 0 1 0 1S 5 (8 bit)

    1 1 1 1 1 0 1 0S b 1 ca 5

    1 1 1 1 1 0 1 1S b 2 ca 5

    1+

    0 0 0 0 0 1 0 1+ S 5

    0 0 0 0 0 0 0 01Kt qu

    17

  • Nhn xt s b 218

    (S b 2 ca x) + x = mt dy ton bit 0 (khng tnh bit 1 cao nht

    do vt qu phm vi lu tr)

    Do s b 2 ca x chnh l gi tr m ca x hay x (Cn gi l

    php ly i)

    i s thp phn m 5 sang nh phn?

    i 5 sang nh phn ri ly s b 2 ca n

    Thc hin php ton a b?

    a b = a + (b) Cng vi s b 2 ca b.

  • S nguyn c du[4] S qu (tha) K

    19

    Cn gi l biu din s dch (biased representation)

    Chn mt s nguyn dng K cho trc lm gi tr dch

    Biu din s N:

    +N (dng): c c bng cch ly K + N, vi K c chn sao cho tng ca K v mt s

    m bt k trong min gi tr lun lun dng

    -N (m): c c bng cck ly K - N (hay ly b hai ca s va xc nh)

    V d:

    Dng 1 Byte (8 bit): biu din t -12810 n +12710

    Trong h 8 bit, biu din N = 25, chn s tha k = 128, :

    +2510 = 100110012

    -2510 = 011001112

    Ch c mt gi tr 0: +0 = 100000002, -0 = 100000002

  • Nhn xt20

    S b 2 [3] lu tr s c du v cc php tnh ca chng trn

    my tnh (thng dng nht)

    Khng cn thut ton c bit no cho cc php tnh cng v tnh tr

    Gip pht hin d dng cc trng hp b trn.

    Du lng [1] / s b 1 [2] dng cc thut ton phc tp v

    bt li v lun c hai cch biu din ca s 0 (+0 v -0)

    Du lng [1] php nhn ca s c du chm ng

    S tha K [4] dng cho s m ca cc s c du chm ng

  • Biu din s m (s b 2)21

    -2n-1 2n-2 23 22 21 20

    0

    0

    1

    1

    2

    2

    1

    1011 2.2....2.)2.(... xxxxxxxn

    n

    n

    nn

    N bits

    Phm vi lu tr: [-2n-1, 2n-1 - 1]

    V d:

    1101 01102 = -27 + 26 + 24 + 23 + 22 + 21

    = -128 + 64 + 16 + 4 + 2 =

    = -4210

  • V d (s b 2)22

  • Tnh gi tr khng du v c du23

    Tnh gi tr khng du v c du ca 1 s?

    V d s word (16 bit): 1100 1100 1111 0000

    S nguyn khng du ?

    Tt c 16 bit lu gi tr gi tr l 52464

    S nguyn c du ?

    Bit MSB = 1 do s ny l s m

    p dng cng thc gi tr l 13072

  • Tnh gi tr khng du v c du24

    Nhn xt

    Bit MSB = 0 th gi tr c du bng gi tr khng du.

    Bit MSB = 1 th gi tr c du bng gi tr khng du tr i 256

    (28 nu tnh theo byte) hay 65536 (216 nu tnh theo word).

    Tnh gi tr khng du v c du ca 1 s?

    V d s word (16 bit): 1100 1100 1111 0000

    Gi tr khng du = 52464

    Gi tr c du: v bit MSB = 1 nn gi tr c du = 52464

    65536 = 13072

  • Php dch bit v php xoay25

    Shift left (SHL): 1100 1010 1001 0100

    Chuyn tt c cc bit sang tri, b bit tri nht, thm 0 bit phi nht

    Shift right (SHR): 1001 0101 0100 1010

    Chuyn tt c cc bit sang phi, b bit phi nht, thm 0 bit tri nht

    Rotate left (ROL): 1100 1010 1001 0101

    Chuyn tt c cc bit sang tri, bit tri nht thnh bit phi nht

    Rotate right (ROR): 1001 0101 1100 1010

    Chuyn tt c cc bit sang phi, bit phi nht thnh bit tri nht

  • Php ton LogicAND, OR, NOT, XOR

    26

    AND 0 1

    0 0 0

    1 0 1

    OR 0 1

    0 0 1

    1 1 1

    XOR 0 1

    0 0 1

    1 1 0

    NOT 0 1

    1 0

    Php nhn Php cng Php so snh khc

    Php ph nh

  • V d27

    X = 0000 1000b = 8d

    X shl 2 = 0010 0000b = 32d = 8 . 22

    (X shl 2) or X = 0010 1000b = 40d = 32 + 8

    Y = 0100 1010b = 74d

    ((Y and 0Fh) shl 4) = 1010 0000

    OR OR

    ((Y and F0h) shr 4) = 0000 0100

    = 1010 0100 = 164d (khng du)

    = (164 28) = -92d (c du)

  • Mt s nhn xt28

    i vi s nguyn khng du

    x SHL y = x . 2y

    x SHR y = x / 2y

    i vi s nguyn bt k

    AND dng tt bit (AND vi 0 lun = 0)

    OR dng bt bit (OR vi 1 lun = 1)

    XOR, NOT dng o bit (XOR vi 1 = o bit )

    x AND 0 = 0

    x XOR x = 0

    M rng:

    Ly gi tr ti bit th i ca x: (x SHR i) AND 1

    Gn gi tr 1 ti bit th i ca x: (1 SHL i) OR x

    Gn gi tr 0 ti bit th i ca x: NOT(1 SHL i) AND x

    o bit th i ca x: (1 SHL i) XOR x

  • Cc php ton t29

    Php Cng (+)

    Php Tr (-)

    Php Nhn (*)

    Php Chia (/)

  • Php cng30

    Nguyn tc c bn:

    V d:

    0 1

    0

    1

    0 1

    1 10

    1 1 1 0

    1 0 0 0

    1

    1110

    1

    1

    01

    1 1 1 0

    1 0 0 0

    1

    1

  • Php cng31

  • Php tr32

    Nguyn tc c bn: a v php cng

    A B = A + (-B) = A + (s b 2 ca B)

    V d: 11101 10011 = 11101 + 01101

    1 1 1 0

    1 0 0 0

    1

    1010

    1

    1

    01

    1 1 1 0

    0 1 1 0

    1

    1

  • Php tr33

  • Php nhn34

    Nguyn tc c bn:

    0 1

    0

    1

    0 0

    0 1

  • Php nhn35

    0 1

    1 0

    011

    1

    1 0 0

    0 00 0 0

    0 11 0 0

    0 11 0 0

    0011

    0 1

    1 01

    1 0 0

  • Php nhn36

  • Thut ton nhn37

    Gi s ta mun thc hin php nhn M x Q vi

    Q c n bit

    Ta nh ngha cc bin:

    C (1 bit): ng vai tr bit nh

    A (n bit): ng vai tr 1 phn kt qu nhn ([C, A, Q]: kt qu nhn)

    [C, A] (n + 1 bit) ; [C, A, Q] (2n + 1 bit): coi nh cc thanh ghi ghp

    Thut ton:Khi to: [C, A] = 0; k = nLp khi k > 0{

    Nu bit cui ca Q = 1 thLy (A + M) [C, A]

    Shift right [C, A, Q]k = k 1

    }

  • 38

  • Thut ton nhn ci tin (s khng/c du)

    39

    Khi to: A = 0; k = n; Q-1 = 0 (thm 1 bit = 0 vo cui Q)

    Lp khi k > 0

    {

    Nu 2 bit cui ca Q0Q-1{

    = 10 th A M A

    = 01 th A + M A

    = 00, 11 th A khng thay i

    }

    Shift right [A, Q, Q-1]

    k = k 1

    }

    Kt qu: [A, Q]

  • V dM = 7, Q = -3, n = 4

    40

  • Php chia41

    Gi s ta mun thc hin Q / M viKhi to: A = n bit 0 nu Q > 0; A = n bit 1 nu Q < 0; k = n

    Lp khi k > 0

    {

    Shift left (SHL) [A, Q]

    A M A

    # Nu A < 0: Q0 = 0 v A + M A

    # Ngc li: Q0 = 1

    k = k 1

    }

    Kt qu: Q l thng, A l s d

  • V d php chia42

  • Prefix in byte (Chun IEC)43

    International Electrotechnical Commission (IEC)

  • Prefix in byte (Chun SI)44

    International System of Units (SI)

    Ch : khi ni kilobyte chng ta ngh l 1024 byte nhng thc ran l 1000 bytes theo chun SI, 1024 bytes l kibibyte (IEC)

    Hin nay ch c cc nh sn xut a cng v vin thng mi dngchun SI

    30 GB 30 * 109 ~ 28 * 230 bytes

    1 Mbit/s 106 b/s

  • Homework45

    c chng 9, sch ca W.Stalling

    c trc slide bi ging s thc