第二章 数据表示与指令系统
description
Transcript of 第二章 数据表示与指令系统
-
2.1 2.2 2.3 2.4 2.5
-
2.1 2.1.1
-
CPUA=A+BAB200200 6, 4200*200=40000CPU 2440000 340000 740000
-
1, 4*40000=16000012/ CPU
-
(table graphrecordtree)(int floatstack)
-
1.16 -327683276702.1.2
-
2.
-
3.Nme rm re prm 16q(
-
mermrep()q () 0.00345 0.34510-2
-
1pqN
-
p=23q=7 rm = re=2N
-
q=2p=4rm=2rm=16rm 2 p=4(bit3~bit04bit3=1
-
rm 16 q2, p=4(bit3~bit04,bit3~bit0 110 bit3~bit0 00011111
-
1 rm rm248162816rm=232rm=215/2
-
2 rm1/2-2rm 215rm 168rm 21/2 rmrm 211bitrm 164bitsrm rm =2, 20(0.1001~0.1111) , 21(0.1~0.1111)rm =16, 160(0.1001~0.1111) , 161(0.0001
-
11691616q=5p=9re =2rm =16
-
117821 1 16
10.1211: 0 1000001 , 10000000>1 0 1000001 , 10000001
-
0.100000000
-
qrm qrm rmrm
-
22 1
-
rm 16 re 2, 44q=2rm 28 (124) 22 =(24))221/4rm=2rm 1615 1161162=(1/16)16216
-
rm2rm163
-
rm4rm 250%100% rm2rm 400011011
-
IBM370IBM430016BurroughsB6700,B77008DECVAX-11CDCCDC6600IntelX862
-
511211310114ROMPLA
-
2.2 Self-defining /
-
2.2.1
-
1.
-
2.2 A32B335301ABIC2R1AB2BA
-
1AB2MB3R>3
-
=++
-
LISPPROLOG
-
2.BurroughsB65007500
-
1010000101
-
:
-
3.
-
2.2.2 A=(a0,a1,a2,,an-1) -
- ci=ai+bi, I=10,11,,1000(C)for(i=10; i
-
=+ =- a0an-1a10
-
C(411)=A(411)+B(-43)=+=-
-
2.2.3 - - LISP,PROLOG
-
,
-
F=A*B+C/(D-E)AB*CDE-/+
-
12
-
2.3
-
2.3.1
-
DJS20081101VAX-114
-
2.
-
- - - - - -
-
op m1 m2op r m op r1 r2op op m op r(2)
-
3.
-
(CPI)
-
2.3.2
-
= + 2.3.3 1.
-
I/O21016: : :
-
: , , Huffman: , , : (Huffman), ()(), ()(),
-
R
-
1. I1 I2 I3 I4 I5 I6 I7 0.4 0.3 0.15 0.05 0.04 0.03 0.03 H=2.17R=(3-2.17)/3=0.28=28% 1 0001107 I1: 000 I2: 001 I3: 010 I4: 011 I5: 100 I6: 101 I7: 110
-
2
-
(1) (2) (3)(2)1) (4)10 (5)
-
10000001110.090.1510.061I1 I2 I3 I4 I5 I6 I7 0.4 0.3 0.15 0.05 0.04 0.03 0.030 10 110 11100 11101 11110 11111
-
I1: 0 I2: 10 I3: 110 I4: 11100 I5: 11101 I6: 11110 I7: 11111 R=(2.20-2.17)/2.20=1.36% =4L=0.4*1+0.3*2+0.15*3+0.05*5 +0.04*5+0.03*5+0.03*5 = 2.20
-
Huffman: - - 0, 1 3 Huffman,
-
1: Huffman0, 10, 110, 11100, 11101, 11110, 111110.4,0.3,0.15,0.05, 0.04, 0.03, 0.03I1, I2, I3 : 00, 01, 10I4, I5, I6, I7 : 1100,1101,1110,1111L=(0.4+0.3+0.15)*2+(0.05+0.04+0.03+0.03)*4 = 2.30=(2.30-2.20)/2.30=0.0565=5.65%
-
2. 2 2.3
-
4-8-124 4-6-10(B-1700)
-
0001000011101500000001...1110151111...11111111...000000011110151111...11111111...111111111111...15/15/158/64/5124-8-12
-
4-8-12 15-15-151545=(4812)15/45=84-8-12 8-64-5125848464851212/584=11.45
-
242150.05130.015140.004 (4-8-12) (15-15-15) 15-15-15000011101111
-
37440.12150.02550.004 (14)(3-6-9) 4-16-640XX1XX0xx 41xx 0xx 161xx 1xx 0xx 64 4-16-64 =0.12*4*3+0.02*15*6+0.004*55*9=5.22
-
478100.049180.02500.003 125( 4-6-10) 410(0000-1001) 5(1010-1110)220 (1111)664
-
(1)
-
(1)
-
5.IBM370IBM3701632483800RR1601RX3210RSSI3211SS48RSXI
-
RR(R1) OP (R2) R1RX(R1) OP M[(X2)+(B2)+D2] R1RS(R3) OP M[(B2)+D2] R1SII OP M[(B1)+D1] M[(B1)+D1]
-
SS LM2[(B2)+D2] M1[(B1)+D1]16RR 3248SS8RR2440SSR
-
1.419216123
-
1.OPC 000 xxx xxx xxx 011 xxx xxx xxx 000 000 xxx 111 101 xxx111 111 110 000 111 111 111 1114192163333419216
-
2.166XX
-
5123(45()
-
155XagAGX2 5
-
1B2B4B0.5B32
-
1 ADD XAB X MUL XXC MUL YDE Y ADD XXY SUB YFG DIV XXY63//63=1861+3242B421844272112B
1B2B4B0.5B
-
( MOV XA X ADD XB MUL XC MOV YD MUL YE ADD XY MOV YF SUB YG DIV XY X9263/32+63=2491+2245B452444596141B1B2B4B0.5B
-
LOAD F FSUB G GSTORE X f-gXLOAD AADD BMUL CSTORE Y (a+b)cLOAD DMUL EADD YDIV XSTORE X1212/12121+236B36124364884B
-
PUSH A a PUSH B b ADD PUSH C MUL PUSH D PUSH E MUL ADD PUSH F PUSH G
-
SUB DIV POP X X
148263/ 82+63=3481+2630B3034430136166B
-
R1R2 MOVE R1A R1 ADD R1B MUL R1C MOVE R2D MUL R2E ADD R1R2 MOVE R2F SUB R2G DIV R1R2 MOVE XR1 X10448
-
25
-
32 R-S
-
2.4 (CISC) (RISC)
-
2.4.1(CISC)CISC(Complex Instruction Set Computer) CISC 1.2. 3.
-
CPU1.
-
Z80LDIR254100499 LDIRLDDR POLY
-
1 2 3
-
2.
-
DEA()B-1700
-
3.
-
VAX-11CHMXRETHOT SPORTS) I/O
-
(1)200(2)VLSI(3) 20%-80%80%20%CISC1979David PattersonCISC
-
2.4.2 RISC RISC(Reduced Instruction Set Computer) CPU
-
1.RISC Cache PattersonRISC1979IBMIBM80110MIPS
-
2.RISC(1) (2) (3) (4) -CPU-CPU-CPU
-
CPURISC
-
ABAABBABCCBCCC
-
RISCRISC
-
()Y=(X)+1Y=(X)+1+R2
-
RISC RISC. RISCLOADSTORE
-
Tcpu=IN*CPI*TcTc:IN:CPUCPI:CISCRISC RISCTcpuCISCRISCCPITcpu,CISCINTcpu
-
RISC
-
RISCCISCCPUVLIWRISC
-
2 231415162061. [email protected]
-
2.RISC3264 ANSI/IEEE i86081632
-
(1) 32RISC4G(2) i860SPARC4K
RISCCPU Cache
-
RISC
-
p=6m=48rm=28162.3 6482816
-
15. 9ADD30%SUB24%JOM6% STO7%JMP7% SHR2%CIL3% CLA20%STP1%
,16
-
12345
-
Carnegie Mellon(1)(2)LOADSTORELOADSTORE(3)(4)(5)(6)
-
IEEEMichael SlaterRISCRISC LOADSTORE LOAD
-
Patterson1981198332RISC CPURISC IRISC IIRISC(1)Carnegie Mellon(2)IEEEMichael Slater
-
15. (1) Huffman0.010.020.03010.030.06010.060.12010.070.070.14010.260100.300.200.240.44010.5610011
-
Huffman ADD() 30% 01 SUB() 24% 11 CLA() 20% 10 JOM() 6% 0001 STO() 7% 0011 JMP() 7% 0010 CIL() 3% 00001 SHR() 2% 000001 STP() 1% 000000
-
(2) 2-5 ADD() 30% 00 SUB() 24% 01 CLA() 20% 10 JOM() 6% 11000 STO() 7% 11001 JMP() 7% 11010 SHR() 2% 11011 CIL() 3% 11100 STP() 1% 11101
-
(3) 23=8(4) -OP(2)R1(3)R2(3)OP(5)R1(3)X(2)d(6)(5) 64(-32~+31)-
-
1.2.3.4.
-
1.10I1 20%I2 12%I3 11%I4 15%I5 8%I6 3%I7 2%I8 18%I9 10%I10 1%11023.22.12348180
-
1.3.033-43.143-53.122.
-
2 23141516206
- 2.RISC(1)OS
-
3.rm 2pm
-
rmmrp2p
-
-1 -(rm -1+ rm -p ) 0 -(1-rm -p ) - rm -1
-
317(82 16
q=6p=8re =2rm =2
-
q=6p=48rm=28162.3 6482816
-
p=16q=6 rm=16 re=2N
-
rm20rm>2|log2rm|10rm1630rm23
-
OS
2816P=4rm=2,rm=16 -- eta2+
=+
+