193
第第第 第第第第第第第第 第第第 第第第第第第第第 第第第第第第第第 一、 第第第第第第第第 一、 第第第第第 第第第第 、、 第第第第第 第第第第 、、 第第第第第第 第第第第第第 第第第第第第 第第第第第第 第第第第 第第第第 第第第第第第第第第第第 第第第第第第第第第第第

第二章 运算方法和运算器

Embed Size (px)

DESCRIPTION

第二章 运算方法和运算器. 一、数据和文字的表示 二、定点加法、减法运算 三、定点乘法运算 四、定点除法运算 五、逻辑运算 六、定点运算器的组成和结构. 2 .1 数据与文字的表示方法 -------------------------------------------------------------------------------- 2.1.1 数据格式 2.1.2 数的机器码表示 2.1.3 字符与字符串的表示方法 2.1.4 汉字的表示方法 2.1.5 校验码. 2.1.1 数据格式. 计算机中常用的数据表示格式有两种 : - PowerPoint PPT Presentation

Citation preview

  • 2.1 --------------------------------------------------------------------------------

    2.1.1 2.1.2 2.1.3 2.1.4 2.1.5

  • 2.1.1 :

  • 11n +1 2

  • 012n (0:01):

    (012n 01)0||12-n(2.1)

    0||2n1 (2.2)

    X0 X1X2...Xn

  • 21N N = RE MM:mantissa)N:(exponent)R: (radix)2816EsMsE1E2EmM1M2Mn

  • EsMsE1E2EmM1M2Mn MsE1E2EmM1M2Mn .

  • IEEE754 3264: S E M 3231 30 23 22 064S E M 63 62 52 51 0e e 127(01111111) e127.

  • 32 (1)s(1.)2127e127(2.5)

    64 (1)s(1.)21023 e1023 (2.6)

    2 00.5

  • 2 1/2=|M|1 S1=1 S1=0 1 .

  • 2

  • 303

  • 1.2.3.4.

  • [1] (41360000)1632

    [:]

    0100 0001 0011 0110 0000 0000 0000 0000

    e127100000100111111100000011=(3)10

    1 1.M1.011 0110 0000 0000 0000 0000 1.011011

    X(1)s1.M2e (1.011011)23 1011.011(11.375)10

  • [2] 20.5937532

    [:] 20.5937510100.10011

    1210100.100111.01001001124e4

    S=0 E4127131M010010011

    32 0100 0001 1010 0100 1100 0000 0000 0000(41A4C000)16

  • 3.

    1.()2.

  • BCDASCII4 12(c)13(d) 0 123 12 1 2 3 C 0 1 2 D()00

  • 4.

  • BCD

  • (1)

    (2)

    (3)

  • 2.1.2

  • 1.01

  • X 10 [X] = 1-X=1+|X| 01 X1 = + 0.1011011

    X2 = - 0.1011011 [X1]=0.1011011[X2] =1.1011011

  • 0+0-0[+0]=0.000...0[-0]=1.000...0

  • : : 1- 2-n :-(1- 2-n)8168: 127/128-127/12825516: 32767/32768 -32767/32768 65535

  • X 2n>X0[X] = 2n-X=2n+|X| 0X>-2nX1 = + 0 1011011

    X2 = - 0 1011011 [X1] =01011011[X2] =11011011

  • :[+0] =00000000 [-0] =10000000 : 2n-1:-(2n-1) 8168: 127-12725516: 32767 -32767 65535

  • 2.4 0000~1111 1616= 24 N 2n2

  • X 10 [x]= 2+X=2-|X| 0 X-1 X1 = + 0.1011011

    X2 = - 0.1011011 [X1]=01011011[X2]=10100101

  • X 2n>X0 [x]= 2n+1+X=2n+1-|X| 0X- 2nX1 = + 0 1011011

    X2 = - 0 1011011 [X1]=01011011[X2]=10100101

  • :n+1: 2n -1 ~ -2n n+1: 1- 2-n ~ - 1 0[0][0]0.0000

    0

  • [X]=[X] 1X= -01001001 [X]=11001001 [X]=10110110+1=10110111[X]= 28 +X=100000000-1001001= 10110111 10 0 0 0 0 0 0 0 - 1 0 0 1 0 0 1 1 0 1 1 0 1 1 1

  • 3 1

  • :

    X 1 X 0[X]= (2- 2-n )+X 0 X > -1

    X1=+0.1011011 [X1] =0.1011011X2= -0.1011011 [X2] =1.0100100

  • : X 2n > X 0 [X]= (2n+1 -1)+X 0 X > -2n X3=+1011011 [X3] =01011011 X4= -1011011 [X4] =10100100 0: [+0]=00000000 [-0] =11111111

  • 4.[X]= 2n + X 2n > X -2n X1 = 0101 0101[X1]=0101 0101[X1]=1101 0101X2 = -0101 0101[X2]=1010 1011[X2]=0010 1011

  • [X][X] [X] 01 [X]10X[X]=[X] =[X] X0 [X] [X] [X][X]

  • [5]16151(1)??(2)??

    [:](1)(2151)10(32767)10 0 111 111 111 111 111 (2151)10(32767)10 1 111 111 111 111 111 (2) (1215)10(0.111...11)2 (1215)10(0.111..11)2

  • [6]SEM32 (1)s(1.M)2E128 [:](1): 0 11 111 111 111 111 111 111 111 111 111 11 [1(12-23)]2127

    (2) : 0 00 000 000 000 000 000 000 000 000 000 00 1.02128

    (3): 1 11 111 111 111 111 111 111 111 111 111 11 [1(1223)]2127

    (4): 1 00 000 000 000 000 000 000 000 000 000 00 1.02128

  • 2.1.3 1. ASCII(128 95959533031127

  • 2.

    24

  • 1.

    :

    2.1.4

  • 2.

    ASCII0 1

  • 3.

  • 2.1.5

  • (01n1)n

    C01n1 (2.15)

    1C1C0

    C01n1 (2.16)

    1C0

  • A B AC(01n1C)BB('0'1'n1C ')

    F'0'1'n1C '

    F1F0

  • [7]5 [:] 801 1 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 0 1 0 1 0 1 0 1 0 10 1 0 1 0 1 0 0 0 1 0 1 0 1 0 0 1 0 1 0 1 0 1 0 0 00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 10 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 01 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1

  • 2.2 2.2.1 2.2.2 2.2.3 2.2.4 2.2.5

  • [X]+[Y] = [X+Y] : [X-Y]=[X]+[-Y]

  • 2.2.1 [][][] (mod 2) :22

  • [8] 0.1001 0.0101[:] []0.1001 []0.0101

    []0.1001 []0.0101 []0.1110

    0.1110

  • [9] 0.1011 0.0101[:][]0.1011[]1.1011

    []0.1011 []1.1011 [] 10.0110

    0.0110

  • 2.2.2

    [][][][][] [][][]1[]

  • [10] 10.111020.1101[1][1][2][2]

    [:][1]1.0010[1]0.1110[2]0.1101[2]1.0011

  • [11] 0.11010.0110[:][]0.1101[]0.0110[]1.1010 [] 0.1101 [] 1.1010 [] 10.0111

    0.0111

  • 2.3 ||
  • [12] 0.1011 0.1001

    [:]

    []0.1011 []0.1001

    []0.1011 []0.1001 []1.0100

  • [13] 0.1101 0.1011

    [:]

    []1.0011 []1.0101 []1.0011 []1.0101 []0.1000

  • :

    ::

  • 42

    1.

    2. 4

    . Sf1Sf2

  • [14] 0.1100 0.1000

    [:]

    []00.1100[]00.1000

    []00.1100 []00.1000 01.0100

    011

  • [15] 0.1100 -0.1000

    [:] []11.0100[]11.1000

    []11.0100 []11.1000 10.1100

    101

  • 1. 4 VSf1Sf2Sf1Sf2

    2. 4

  • 00011011 OVR = Sf1 Sf2 = 1 OVR = Sf1 Sf2 = 0

  • 12VCfCoCfCo

    . SC

  • CS [X]= 1. 1 0 1 [X]= 1. 1 1 0 + [Y]= 1. 00 1 + [Y]= 0.1 0 0 [X+Y]= 10.1 1 0 [X+Y]= 10.0 1 0 C=0S=1 C=1S=1 X+Y=+0.010

  • 2.2.4 / AiBiCiSiCi1 2.2 2.2 SiAiBiCi Ci1AiBiBiCiCiAi (2.23)

  • 2.2

    Ai

    Bi

    Ci

    Si

    Ci+1

    0

    0

    0

    0

    0

    0

    0

    1

    1

    0

    0

    1

    0

    1

    0

    0

    1

    1

    0

    1

    1

    0

    0

    1

    0

    1

    0

    1

    0

    1

    1

    1

    0

    0

    1

    1

    1

    1

    1

    1

  • n1(FA)nM

    M0(AB)M1(AB)AB[A][B]B1MM11

    CnCn1CnCn1

  • (FA)Si6T(3T)Ci15TTT

  • n2.2(a)nta

    tan2T9T(2n9)T (2.22)

    9T2T

    ta(n-1)2T9T

  • 2.2.5 BCD()

    nBCDn4BCDBCD

  • iiCi
  • 2.3.1 1. :2.3

  • n() []f .n110 []f .n110[](ff)(0.n110)(0.n110) ff ()

  • 0.11010.1011.:

  • :100

  • nn2n n 1

  • 2. :ABC 1 2.NN

  • 3AC

  • :X=0.1101Y=0.1011XY. B=X Cd=4. :1()

    1()

    0()

    1()XY=0.10001111

  • A.B110CdnSxSy

  • 1. R0Z0R2XR1YR1R0 2.

  • R0 R1 ynALU R2CxQQynynRSLDR0LDR1T1T2+1Ti

  • 3.

    Aam1a1a0

    Bbn1b1b0

    ab

    m1n1 a ai2ib bj2j i0j0

  • ABmnP

    Ppmn1p1p0

    P

  • mn()aibj

  • mn{aibj|0im10jn1}mn12.4 mn

  • 55[16]A 11011B 10101aibjp9p8p0

    [:] a4b01 a3b01 a2b00 a1b01 a0b01a4b10 a3b10 a2b10 a1b10 a0b10a4b21 a3b21 a2b20 a1b21 a0b20a4b30 a3b30 a2b30 a1b30 a0b30a4b41 a3b41 a2b40 a1b41 a0b41

    Pp9p8p7p6p5p4p3p2p1p01000110111 (56710)

  • 4.(1) 2

    2

    C10 CiaiCi1

    ai*aiECi10in

    2

  • (2) (n1)(n1)

    AB()

  • A=anan-1a1a0B=bnbn-1b1b0(n1)ABnn2n:ABPp2n1p1p0p2nanbnP2n 1

  • [17] 1513

    [:] [] 01111 [] 11101 ||1111||11011111000011 ( 11000011)2=(-195)10 15 (13) 195

  • 2.4 2.4.1

    n()[]f .n110[]f .n110 q/[q](ff)+(0.n110/0.n110)

  • 0.10010.1011: 0.1 1 0 1q0.1 0 1 1 0.1 0 0 1 0 (r0)00.0 1 0 1 1 2111 0.0 0 1 1 1 0 r1 r10.0 0 1 0 1 1 22110.0 0 0 0 1 1 0 r2r20.0 0 0 1 0 1 1 23100.0 0 0 0 1 1 0 0 r3 r30.0 0 0 0 1 0 1 1 24110.0 0 0 0 0 0 0 1 r4r4

    q0.1101r0.00000001

  • 1. 211r021r1 3. r122r1>221r122r24. r223r22421r324r4

  • : : 1

  • 1. (1)|X|
  • 1. R0R2R1 n R1R0 2. 3.R1R0n+1 n+1 n0

  • R0 R1 qnALU R2CxQQqnqnRSLDR0LDR1T1T2+1Ti+1ff

  • R0R2R1XR0R00-YR0100nn-n

  • 2.4.2 1./(CAS) /(CAS)P0CASP1CAS

  • CASSiAi(BiP)Ci Ci1(AiCi)(BiP)AiCi (2.32)

    P0(FA)P1CiCi1

  • 2.01 440.123456 ()0.1230.q1q2q30.00r3r4r5r6 n14

  • /(CAS)(n1)(n1)(n1)2CAS()

  • 6() 0.123456 3 0.123q3 q0.q1q2q3r6 r0.00r3r4r5r6

  • P12CAS

  • ()CAS3T2nn(n1)2td3(n1)2Tn

  • 2.5 2.5.1 2.5.2 2.5.3 2.5.4

  • 2.5.1

  • 1.

    012n012nii(i012n)[21] 1010010112111100001 2[:] 110110100 200001111

  • 2. V 01n 01n 012n iii(i012n) [22] 1010000110011011 [:] 1 0 1 0 0 0 0 1 1 0 0 1 1 0 1 1 1 0 1 1 1 0 1 1 10111011

  • 3. 01n 01n 012n iii(i012n)

    [23] 1011100111110011[:]1 0 1 1 1 0 0 1 1 1 1 1 0 0 1 1 1 0 1 1 0 0 0 1 10110001

  • 4. 2 01n 01n 012niii(i012n) [24] 1010101111001100[:]1 0 1 0 1 0 1 1 1 1 0 0 1 1 0 0 0 1 1 0 0 1 1 1 01100111

  • 2.5.2 /(ALU) (FA)/ /(ALU)

  • 1. (FA) FiAiBiCi Ci1AiBiBiCiCiAi (2.35) AiBiS0S1S2S3XiYiXiYi

  • 2.10ALU

  • / FiXiYiCni Cni1XiYiYiCniCniXi

  • 2. S0 S1 S2 S3 Ai Bi YXYiS0 S1AiBiXiS2 S3AiBi2.4(52) 2.4 XiYi52 XiYi XiS2S3S2S3AiBi S2S3 AiBi S2S3 Ai

    YiS0S1AiS0S1AiBiS0S1AiBi

  • ALU

    FiYiXiCn+ iCni1YiXiCni

  • 42.3601

    Cn1Y0X0Cn

    Cn012

    Cn2Y1X1Cn1Y1Y0X1X0X1Cn

    23

    Cn3Y2X2Cn2Y2Y1X1Y0X1X2X0X1X2Cn

  • 34

    Cn4Y3X3Cn3Y3Y2X3Y1X2X3Y0X1X2X3X0X1X2X3Cn

    GY3Y2X3Y1X2X3Y0X1X2X3PX0X1X2X3

    Cn4GPCn

  • ALUGP

    ALU(CLA)

    Cn+4()0Cn

    4/(ALU)

  • S0S3ALU

    0F YX C 0

    1C 0F Y X 13.

  • //

  • 2.574181ALU:16 1616 1.2.5 2.AB1(1)AB 3.ABALUAB"

  • 4.ALU 74181ALUPG74181PG74182CLA

    474181P0G0G1P1P2G2P3G374182CLA

  • CnG0P0Cn

    CnG1P1CnG1G0P1P0P1Cn

    CnG2P2CnG2G1P2G0P1P2P0P1P2Cn

    Cn4 G3P3CnG3G2P3G1P1P2G0P1P2P3P0P1P2P3Cn G*P*Cn

    P*P0P1P2P3

    G*G3G2P3G1P1P2G0P1P2P3

  • TTL74182G*P*

  • 74181ALU74182CLAALU

  • 1632ALU74181ALU74182CLA16CLAALU

  • 2.5.3

    CPUCPUI/O

  • 2.14(a)4

  • 2.14

  • EDE0D1E1E0

  • 2.5.4 ALU

    ALU

  • 1. ALU ALUABCPU

  • 2. ALU ALUALUALU:

  • 1.ALU

    2.12ALUALU12

  • 3.

    ALUALU ALU 23ALU

  • 2.6 2.6.1

    2.6.2

    2.6.3

    2.6.4

  • 2.6.1

    2Ex M

    2EM

    EEMM

    (M2EEM)2EE

  • 1. 0 2.

    3.

    4.

  • (1) 0

    00

  • (2)

    E EE (1E

  • (3)

  • (4)

    01.10.1111.M

  • (5)

    01011 1""1"

  • (6) 1

  • [25] 20100.110110112100(0.10101100)

    [:][]00 0100.11011011[]00 1001.01010100 EEE[E][E]00 01011 10011 110E2ME2 []00 1000.00110110(11)(11)M2

  • 0. 0 0 1 1 0 1 1 0 (11) 1. 0 1 0 1 0 1 0 0 1. 1 0 0 0 1 0 1 0 (11)

    1.00010101(10) 00 011

  • 011. 0 0 0 1 0 1 0 1 11. 0 0 0 1 0 1 1 0

    00

    2011(0.11101010)

  • 2.6.2 1.

    2Ex M

    2EM 2(EE)(MM)

  • 2(E- E)(MM)

  • 2.

    0

    /

    /

  • (1)

    11[]2n2n2n[][]2n2n 2n(2n()) 2n[]1

  • [][]2n1[][]2n2n1 2n1(2n()) [][][](mod 2n1) [][][]

  • 0 1 01 0 1 0

  • [26] 011110[] []

    [:][]01 011 []00 110 []11 010[][][]10 001 [][][]00 101 3

  • (2)

  • 111 0111

  • 00 0 10 10 1

  • [27] [1]11.01100000[2]11.01100001[3]11.01101000[4]11.011110014

    [:][1]11.0110()

    2]11.0110()

    [3]11.0110()

    [4]11.1000()

  • [28] 250.011001123(0.1110010)4()8[]8()[:][M]0.0110011 [M]1.0001110[E]01 011 [E]00 011 [E]00 011[]00 011 0.0110011 [] 01 011 1.0001110(1) [EE][E][E]00 01100 01100 110 2

  • (2) [M][M][0.0110011][1.0001110] [1.10100101001010](3) 00 101(-3) 1.01001010010100

    (4) 1.0100101 []00 1011.0100101 23(0.1011011)

  • 2.6.3 1.

  • T k T{T1T2Tk} i
  • (Si): (Si) ,(L),(C),

    Siilmax{i}lml f1/

  • k n Tkk(n1) (2.45) kkn1n1nTLnk(2.46)

  • TLTkk

    TL nkCk Tk k(n1)

    n>>k Ck>k kk

  • 2.

    0442.1803

  • X=1.100022 Y=1.110024

    XYX=0.011024

    111.000125

  • [29] 0 170ns 260ns390ns 480nsL tl10ns(1) 4 (2)75ns()[:](1)90ns10ns100ns1234 300ns 4Ck300/1003(2) 75nsCk300/754

  • 2.6.4 1.CPU

    80x87Intel80x86CPU 80x87

  • (1)8038680x87386I/O386CPU80x8738638680x8780x8780x8780x8738680x8738680x8780x8738680x8780x87386

  • (2)7IEEE754 80x87 80

  • 2.CPU

    CPU84 (DF)(D1)(D2)(EX)UV41(X1)2(X2)(WF)(ER)U

  • 88080IEEE754808048610

  • 2