计算机系统结构全套课件-第2章-计算机指令集结构

上传人:仙*** 文档编号:170670909 上传时间:2022-11-22 格式:PPT 页数:82 大小:1.23MB
收藏 版权申诉 举报 下载
计算机系统结构全套课件-第2章-计算机指令集结构_第1页
第1页 / 共82页
计算机系统结构全套课件-第2章-计算机指令集结构_第2页
第2页 / 共82页
计算机系统结构全套课件-第2章-计算机指令集结构_第3页
第3页 / 共82页
资源描述:

《计算机系统结构全套课件-第2章-计算机指令集结构》由会员分享,可在线阅读,更多相关《计算机系统结构全套课件-第2章-计算机指令集结构(82页珍藏版)》请在装配图网上搜索。

1、计算机系统结构计算机系统结构全套精品课件全套精品课件2813812.1 指令集结构的分类2.2 寻址技术2.3 指令集结构的功能设计2.4 操作数的类型、表示和大小2.5 指令集格式的设计2.6 DLX指令集结构第二章 计算机指令集结构设计4812.1 指令集结构的分类2.1.1 指令集结构分类根据根据五个因素五个因素对计算机指令集结构进行分类:对计算机指令集结构进行分类:(1)(1)在在CPUCPU中操作数的存储方法中操作数的存储方法(2)(2)指令中显式表示的操作数个数指令中显式表示的操作数个数 (3)(3)操作数的寻址方式操作数的寻址方式 (4)(4)指令集所提供的操作类型指令集所提供的

2、操作类型 (5)(5)操作数的类型和大小操作数的类型和大小 第二章 计算机指令集结构设计5811.CPU中用来存储操作数的存储单元主要有:2.指令中的操作数可以显式给出,也可以隐式地给出。3.CPU对操作数的不同存取方式 l 堆栈堆栈l 累加器累加器l 一组寄存器一组寄存器 CPUCPU中操作数的存储方法,中操作数的存储方法,是各种指令集结构是各种指令集结构之间最主要的区别所在。之间最主要的区别所在。2.1 指令集结构的分类681CPU对操作数的不同存取方式 CPU提供的暂存器每条ALU指令显式表示的操作数个数运算结果的目的地访问显式操作数的过程堆栈堆栈0 0堆栈堆栈Push/PopPush/

3、Pop累加器累加器1 1累加器累加器Load/StoreLoad/Store累加器累加器一组寄存器一组寄存器2/32/3寄存器或存寄存器或存储器储器Load/StoreLoad/Store寄存寄存器或存储器器或存储器781 4.根据CPU内部存储单元类型进行分类,可以分为l 堆栈型指令集结构堆栈型指令集结构l 累加器型指令集结构累加器型指令集结构l 通用寄存器型指令集结构通用寄存器型指令集结构 例例 C=A+BC=A+B表达式在这三种类型指令集结构上的表达式在这三种类型指令集结构上的实现方法实现方法。假设。假设A A、B B、C C均是保存在存储器单元中,均是保存在存储器单元中,且且A A和和

4、B B的值在运算过程中一直被保持。的值在运算过程中一直被保持。2.1 指令集结构的分类881C=A+B表达式在这三种类型指令集结构上的实现方法 堆栈累加器寄存器(寄存器存储器)寄存器(寄存器寄存器)PUSH ALOAD ALOAD R1,ALOAD R1,APUSH BADD BADD R1,BLOAD R2,BADDStore CStore C,R1Add R3,R1,R2POP C Store C,R3981三种类型指令集结构的优缺点 指令集结构类型优点缺点堆栈型堆栈型 是一种表示计算的是一种表示计算的简单模型;指令短小。简单模型;指令短小。堆栈不能被随机访问,从而很难生堆栈不能被随机访问

5、,从而很难生成有效代码。同时,由于堆栈是瓶颈,成有效代码。同时,由于堆栈是瓶颈,所以很难被高效地实现。所以很难被高效地实现。累加器型累加器型 减小了机器的内部减小了机器的内部状态;指令短小。状态;指令短小。由于累加器是唯一的暂存器,这种由于累加器是唯一的暂存器,这种机器的存储器通信开销最大。机器的存储器通信开销最大。寄存器型寄存器型 是代码生成最一般是代码生成最一般的模型。的模型。所有操作数均需命名,且显式表示,所有操作数均需命名,且显式表示,因而指令比较长。因而指令比较长。10812.1.2 通用寄存器型指令集结构的分类 1.通用寄存器型指令集结构的主要优点 使编译器有效地使用寄存器。使编译

6、器有效地使用寄存器。(1)(1)在表达式求值方面,比其它类型指令集结构在表达式求值方面,比其它类型指令集结构 具有更大的灵活性具有更大的灵活性;(2)(2)寄存器可以用来存放变量。寄存器可以用来存放变量。减少存储器的通信量,加快程序的执行速度。减少存储器的通信量,加快程序的执行速度。(因为寄存器比存储器快)(因为寄存器比存储器快)可以用更少的地址位来寻址寄存器,从而可可以用更少的地址位来寻址寄存器,从而可 以有效改进程序的目标代码大小。以有效改进程序的目标代码大小。2.1 指令集结构的分类11813.两种主要的指令特性能够将通用寄存器指令集结构 (GPR)进一步细分 (1)ALU(1)ALU指

7、令到底有两个或是三个操作数?指令到底有两个或是三个操作数?有三个操作数的指令:两个源操作数有三个操作数的指令:两个源操作数 一个结果操作数一个结果操作数2.CPU需要设置多少个寄存器呢?主要由编译器使用寄存器的情况来决定。主要由编译器使用寄存器的情况来决定。l 为表达式求值保留一些寄存器为表达式求值保留一些寄存器l 为传递参数保留一些寄存器为传递参数保留一些寄存器l 用剩下的寄存器来保存变量用剩下的寄存器来保存变量2.1 指令集结构的分类1281 有两个操作数的指令:一个操作数既作为源操有两个操作数的指令:一个操作数既作为源操 作数,也作为目的操作数。作数,也作为目的操作数。(2)(2)在在A

8、LUALU指令中,有多少个操作数可以用存储器来寻指令中,有多少个操作数可以用存储器来寻 址,也即有多少个存储器操作数?址,也即有多少个存储器操作数?一般来说,一般来说,ALUALU指令有指令有0 03 3个存储器操作数。个存储器操作数。2.1 指令集结构的分类1381 ALU指令中,存储器操作数个数和操作数个数的 所有可能组合,以及相应的机器实例 ALU指令中存储器操作数个数ALU指令中操作数的最大个数机器实例02IBM RT-PC3SPARC,MIPS12PDP-10,IBM 360,Motorola 680003IBM360的部分指令的部分指令22PDP11,部分部分IBM360 指令指令

9、3 33VAX1481(3)(3)通用寄存器指令集结构进一步细分为三种类型:通用寄存器指令集结构进一步细分为三种类型:(4)(4)常见的三种通用寄存器型指令集结构的常见的三种通用寄存器型指令集结构的优缺点优缺点 注:表中注:表中(m,n)(m,n)的含义是,的含义是,指令的指令的n n个操作个操作 数中有数中有m m个存储器操作数。个存储器操作数。l 寄存器寄存器 -寄存器型寄存器型(R-R:register-register)R-R:register-register)l 寄存器寄存器 -存储器型存储器型(R-M:register-memoryR-M:register-memory)l 存储

10、器存储器 -存储器型存储器型(M-M:memory-memoryM-M:memory-memory)2.1 指令集结构的分类指令集结构类型优优 点点缺 点 寄存器寄寄存器寄存器型存器型(0,3)简单,指令字长固简单,指令字长固定,是一种简单的代定,是一种简单的代码生成模型,各种指码生成模型,各种指令的执行时钟周期数令的执行时钟周期数相近。相近。和指令中含有对存储器操作数访问和指令中含有对存储器操作数访问的结构相比,指令条数多,因而其的结构相比,指令条数多,因而其目标代码较大。目标代码较大。寄存器存寄存器存储器型储器型(1,2)可以直接对存储器操可以直接对存储器操作数进行访问,容易作数进行访问,

11、容易对指令进行编码,且对指令进行编码,且其目标代码较小。其目标代码较小。指令中的操作数类型不同。在一指令中的操作数类型不同。在一条指令中同时对一个寄存器操作数条指令中同时对一个寄存器操作数和存储器操作数进行编码,将限制和存储器操作数进行编码,将限制指令所能够表示的寄存器个数。由指令所能够表示的寄存器个数。由于指令的操作数可以存储在不同类于指令的操作数可以存储在不同类型的存储器单元,所以每条指令的型的存储器单元,所以每条指令的执行时钟周期数也不尽相同。执行时钟周期数也不尽相同。存储器存存储器存储器型储器型(3,3)是一种最紧密的编是一种最紧密的编码方式,无需码方式,无需“浪费浪费”寄存器保存变量

12、。寄存器保存变量。指令字长多种多样。每条指令的指令字长多种多样。每条指令的执行时钟周期数也大不一样,对存执行时钟周期数也大不一样,对存储器的频繁访问将导致存储器访问储器的频繁访问将导致存储器访问瓶颈问题。瓶颈问题。16812.2 寻址技术 1.在通用寄存器指令集结构中,一般是利用寻址方 式指明指令中的操作数是一个常数、一个寄存器 操作数,抑或是一个存储器操作数。2.当前指令集结构中所使用的一些操作数寻址方式。第二章 计算机指令集结构设计寻址方式指令实例含 义寄存器寻址寄存器寻址Add R4,R3RegsR4RegsR4RegsR3立即值寻址立即值寻址Add R4,#3RegsR4RegsR43

13、偏移寻址偏移寻址Add R4,100(R1)RegsR4RegsR4Mem100+RegsR1寄存器间接寻址寄存器间接寻址Add R4,(R1)RegsR4RegsR4MemRegsR1索引寻址索引寻址Add R3,(R1+R2)RegsR3RegsR3MemRegsR1+RegsR2直接寻址或绝对寻直接寻址或绝对寻址址Add R1,(1001)RegsR1RegsR1Mem1001存储器间接寻址存储器间接寻址Add R1,(R3)RegsR1RegsR1MemMemRegsR3自增寻址自增寻址Add R1,(R2)+RegsR1RegsR1MemRegsR2RegsR2RegsR2d自减寻址

14、自减寻址Add R1,-(R2)RegsR2RegsR2dRegsR1RegsR1+MemRegsR2缩放寻址缩放寻址AddR1,100(R2)R3RegsR1RegsR1Mem100RegsR2RegsR3*d18813.寻址方式使用情况统计结果 (VAXVAX指令集结构的机器:指令集结构的机器:gccgcc、SpiceSpice和和Tex Tex 基准程序)基准程序)1%0%24%43%32%6%16%3%17%55%1%6%11%39%40%0%10%20%30%40%50%60%70%存储器间接寻址缩放寻址寄存器间接寻址立即寻址偏移寻址TexSpicegcc立即值寻址方式立即值寻址方式

15、和和偏移寻址方式偏移寻址方式的使用频率十分高。的使用频率十分高。19814.各种偏移量字段大小的使用情况 寄存器寄存器型指令集结构的机器上寄存器寄存器型指令集结构的机器上(MIPSMIPS)运行运行SPECint92SPECint92基准程序集基准程序集 (compresscompress、espressoespresso、eqntotteqntott、gccgcc、lili)运行运行SPECfp92SPECfp92基准程序集基准程序集 (dudocdudoc、earear、hydro2dhydro2d、mdljdp2mdljdp2、su2corsu2cor)2.2 寻址技术2081 x x轴

16、的标记是对偏移量大小进行轴的标记是对偏移量大小进行loglog2 2()运算)运算所得,也就是偏移量字段的位数。所得,也就是偏移量字段的位数。0%5%10%15%20%25%30%0123456789101112131415SPECint92测量统计结果SPECfp92测量统计结果占偏移寻址方式的百分比2.2 寻址技术2181 程序所使用的偏移量大小分布十分广泛;程序所使用的偏移量大小分布十分广泛;较小的偏移量和较大的偏移量均占有相当大的比例;较小的偏移量和较大的偏移量均占有相当大的比例;将偏移量字段的大小设置为将偏移量字段的大小设置为12121616位位。这种长度可。这种长度可 以支持上述以

17、支持上述75759999基于偏移寻址方式的数据访基于偏移寻址方式的数据访 问中偏移量大小的表示。问中偏移量大小的表示。2.2 寻址技术22815.在一种Load/Store型指令集结构上,一些指令使用 立即值寻址方式的频率。比较指令比较指令和和ALUALU指令指令使用立即值寻址方式十分频繁。使用立即值寻址方式十分频繁。10%87%58%35%45%77%78%10%0%20%40%60%80%100%Load 指令比较指令ALU指令所有指令整型平均浮点平均23816.不同立即值大小的使用分布情况 将立即值的大小设置为将立即值的大小设置为8 81616位位,可以覆盖所有,可以覆盖所有使用立即值寻

18、址方式指令的使用立即值寻址方式指令的50508080。0%10%20%30%40%50%60%048121620242832表示立即值的位数百分比gccTexspice2.2 寻址技术24812.3 指令集结构的功能设计 第二章 计算机指令集结构设计操作类型实 例算 术 和 逻算 术 和 逻辑运算辑运算整数的算术和逻辑操作:加、减、与、或等。整数的算术和逻辑操作:加、减、与、或等。数据传输数据传输Load/Store控制控制分支、跳转、过程调用和返回、自陷等。分支、跳转、过程调用和返回、自陷等。系统系统操作系统调用、虚拟存储器管理等。操作系统调用、虚拟存储器管理等。浮点浮点浮点操作:加、乘等。

19、浮点操作:加、乘等。十进制十进制十进制加、十进制乘、十进制到字符的转换。十进制加、十进制乘、十进制到字符的转换。字符串字符串字符串移动、字符串比较、字符串搜索等。字符串移动、字符串比较、字符串搜索等。图形图形象素操作、压缩象素操作、压缩/解压操作等。解压操作等。1.指令集中操作的分类 26812.一种指令集结构中的指令到底要支持哪些类型的 操作?(指令集结构功能设计问题指令集结构功能设计问题)两种截然不同的方向:两种截然不同的方向:复杂指令集计算机(复杂指令集计算机(CISCCISC)强化指令功能,实现软件功能向硬件功能转移。强化指令功能,实现软件功能向硬件功能转移。精简指令集计算机(精简指令

20、集计算机(RISCRISC)尽可能地降低指令集结构的复杂性,以达到尽可能地降低指令集结构的复杂性,以达到 简化实现,提高性能的目的。简化实现,提高性能的目的。当今指令集结构功能设计的一个主要趋势。当今指令集结构功能设计的一个主要趋势。2.3 指令集结构的功能设计27812.3.1 CISC指令集结构的功能设计CISCCISC结构追求的目标:结构追求的目标:强化指令功能,减少程序的指令条数,以达到强化指令功能,减少程序的指令条数,以达到提高性能的目的。提高性能的目的。增强指令功能主要是从如下几个方面着手:增强指令功能主要是从如下几个方面着手:1.面向目标程序增强指令功能l 提高运算型指令功能提高

21、运算型指令功能l 提高传送指令功能提高传送指令功能l 增加程序控制指令功能增加程序控制指令功能2.3 指令集结构的功能设计28812.2.面向高级语言和编译程序改进指令系统面向高级语言和编译程序改进指令系统 (1)1)增加对高级语言和编译系统支持的指令功能增加对高级语言和编译系统支持的指令功能 对源程序中各种高级语言语句进行使用频对源程序中各种高级语言语句进行使用频 度的统计与分析,对于使用频度高的语句,度的统计与分析,对于使用频度高的语句,可以设置专门的指令或采取措施增加相应可以设置专门的指令或采取措施增加相应 令的功能,以提高其编译速度和执行速度。令的功能,以提高其编译速度和执行速度。从面

22、向编译程序,尤其是从优化代码生成从面向编译程序,尤其是从优化代码生成 的角度进行考虑,增加指令集结构的规整的角度进行考虑,增加指令集结构的规整 性来改进指令系统。性来改进指令系统。2.3 指令集结构的功能设计2981规整性:规整性:没有或尽可能减少例外的情况和特殊的没有或尽可能减少例外的情况和特殊的 应用,以及所有运算都能对称、均匀地应用,以及所有运算都能对称、均匀地 在存储器单元或寄存器单元之间进行。在存储器单元或寄存器单元之间进行。(2)(2)高级语言计算机指令系统高级语言计算机指令系统 面向高级语言面向高级语言(HL)(HL)的机器的机器 缩小机器语言和高级语言的语义差距。缩小机器语言和

23、高级语言的语义差距。间接执行型高级语言机器间接执行型高级语言机器 高级语言和机器语言是一一对应的,用汇高级语言和机器语言是一一对应的,用汇 编的方法编的方法(可以用软件实现,也可以用硬件实可以用软件实现,也可以用硬件实 现现)把高级语言源程序翻译成机器语言程序。把高级语言源程序翻译成机器语言程序。2.3 指令集结构的功能设计3081 直接执行型高级语言机器直接执行型高级语言机器 高级语言就作为机器语言,直接由硬件或高级语言就作为机器语言,直接由硬件或 固件对高级语言源程序的语句逐条进行解释以固件对高级语言源程序的语句逐条进行解释以 执行它。执行它。3.面向操作系统的优化实现改进指令系统 操作系

24、统的实现在很大程度上取决于体系结操作系统的实现在很大程度上取决于体系结 构的支持。构的支持。(1)(1)主要表现在对以下方面的支持主要表现在对以下方面的支持2.3 指令集结构的功能设计3181l 中断处理中断处理l 进程管理进程管理l 存储管理和保护存储管理和保护l 系统工作状态的建立与切换系统工作状态的建立与切换 (2)(2)设置指令设置指令l 支持系统工作状态和访问方式转移的指令支持系统工作状态和访问方式转移的指令l 支持进程转移的指令支持进程转移的指令l 支持进程同步和互斥的指令支持进程同步和互斥的指令2.3 指令集结构的功能设计32812.3.2 RISC指令集功能的设计1.CISC结

25、构存在的缺点(1)(1)在在CISCCISC结构的指令系统中,各种指令的使用频结构的指令系统中,各种指令的使用频 率相差悬殊。率相差悬殊。(2)CISC(2)CISC结构指令系统的复杂性带来了计算机体系结构指令系统的复杂性带来了计算机体系 结构的复杂性,这不仅增加了研制时间和成结构的复杂性,这不仅增加了研制时间和成 本,而且还容易造成设计错误。本,而且还容易造成设计错误。(3)CISC(3)CISC结构指令系统的复杂性给结构指令系统的复杂性给VLSIVLSI设计增加了设计增加了 很大负担,不利于单片集成。很大负担,不利于单片集成。2.3 指令集结构的功能设计3381(4)CISC(4)CISC

26、结构的指令系统中,许多复杂指令需要很结构的指令系统中,许多复杂指令需要很 复杂的操作,因而运行速度慢。复杂的操作,因而运行速度慢。(5)(5)在在CISCCISC结构的指令系统中,由于各条指令的功结构的指令系统中,由于各条指令的功 能不均衡性,不利于采用先进的计算机体系结能不均衡性,不利于采用先进的计算机体系结 构技术(如流水技术)来提高系统的性能。构技术(如流水技术)来提高系统的性能。2.RISC计算机 (1)(1)指令系统只包含那些使用频率很高的指令指令系统只包含那些使用频率很高的指令 和一些必要指令。和一些必要指令。Intel 80X86Intel 80X86最常用的十条指令最常用的十条

27、指令2.3 指令集结构的功能设计执行频率排序80X86指令指令执行频率(执行指令总数)1Load222条件分支条件分支203比较比较164Store125加加86与与67减减58寄存器寄存器间寄存器寄存器间数据移动数据移动49调用调用110返回返回1合合 计计96Intel 80X86最常用的十条指令 3581(2)(2)目的目的 使得计算机体系结构更加简单、更加合理和使得计算机体系结构更加简单、更加合理和 更加有效,克服更加有效,克服CISCCISC结构的缺点,使机器速度更结构的缺点,使机器速度更 快,程序运行时间缩短,从而提高计算机系统的快,程序运行时间缩短,从而提高计算机系统的 性能。性

28、能。(3)(3)设计原则设计原则l 选取使用频率最高的指令,并补充一些最有选取使用频率最高的指令,并补充一些最有 用的指令;用的指令;l 每条指令的功能应尽可能简单,并在一个机每条指令的功能应尽可能简单,并在一个机 器周期内完成;器周期内完成;l 所有指令长度均相同;所有指令长度均相同;2.3 指令集结构的功能设计3681l 只有只有LoadLoad和和StoreStore操作指令才访问存储器操作指令才访问存储器;l 其它指令操作均在寄存器之间进行;其它指令操作均在寄存器之间进行;l 以简单有效的方式支持高级语言。以简单有效的方式支持高级语言。2.3.3 控制指令 (1)(1)跳转跳转:当控制

29、指令为无条件改变控制流时,当控制指令为无条件改变控制流时,称之为称之为“跳转跳转”。(2)(2)分支:分支:当控制指令是有条件改变控制流时,当控制指令是有条件改变控制流时,称之为称之为“分支分支”。2.3 指令集结构的功能设计3781l 条件分支条件分支l 跳转跳转l 过程调用过程调用l 过程返回过程返回(3)(3)控制流程的各种改变情况控制流程的各种改变情况2.3 指令集结构的功能设计1.控制指令的使用频率 (一台(一台Load/StoreLoad/Store型指令集结构的机器:型指令集结构的机器:SPECint92SPECint92、Specfp92Specfp92基准程序)基准程序)13

30、%6%81%11%4%87%0%20%40%60%80%100%调用/返回跳转条件分支整型平均浮点平均改变控制流的大部分指令是改变控制流的大部分指令是条件分支指令。条件分支指令。表示分支条件的技术测试分支条件的方法优 点缺 点条件码条件码(CC)在程序的控制下,由在程序的控制下,由ALU操操作设置特殊的位。作设置特殊的位。可以自由设置可以自由设置分支条件。分支条件。CC是额外状态,条件码限是额外状态,条件码限制了指令顺序,因为必须从制了指令顺序,因为必须从一条指令将分支条件信息传一条指令将分支条件信息传送到分支指令。送到分支指令。条件寄条件寄存器存器 根据比较结果测试条件寄存根据比较结果测试条

31、件寄存器。器。简单简单 占用了一个寄存器。占用了一个寄存器。比较且比较且分支分支比较操作是分支指令的一部比较操作是分支指令的一部分,通常这种比较是受一定分,通常这种比较是受一定限制的。限制的。一条指令完成一条指令完成了两条指令的了两条指令的功能。功能。分支指令的操作增多。分支指令的操作增多。2.常用的三种表示分支条件的技术及其优缺点 40813.分支目标地址的表示 PCPC相对寻址:相对寻址:在指令中提供一个和程序计数在指令中提供一个和程序计数 器(器(PCPC)的值相加的偏移量。)的值相加的偏移量。(1)(1)有效地缩短指令中表示目标地址的字段的有效地缩短指令中表示目标地址的字段的 长度;长

32、度;(2)(2)使得代码在执行时与它被载入的位置无关。使得代码在执行时与它被载入的位置无关。关键问题是:关键问题是:转移目标离当前控制指令的偏移量有多大?转移目标离当前控制指令的偏移量有多大?2.3 指令集结构的功能设计41814.过程调用和返回的状态保存 两种方法来保存寄存器的内容:两种方法来保存寄存器的内容:(1)(1)“调用者保存调用者保存”方法方法 在一个调用者调用别的过程时,必须保存调用在一个调用者调用别的过程时,必须保存调用 者所要保存的寄存器,以备调用结束返回后,能够者所要保存的寄存器,以备调用结束返回后,能够 再次访问调用者。再次访问调用者。(2)“被调用者保存被调用者保存”方

33、法方法 被调用的过程必须保存它要用的寄存器,保证被调用的过程必须保存它要用的寄存器,保证 不会破坏过程调用者的程序执行环境,并在过程调不会破坏过程调用者的程序执行环境,并在过程调 用结束返回时,恢复这些寄存器的内容。用结束返回时,恢复这些寄存器的内容。2.3 指令集结构的功能设计4281 过程P1 调用 返回 R1 R1 保存状态 过程P2 恢复状态 调用 返回 R1 R1 保存状态 过程P3 恢复状态 执行 R1 R1 保存状态 过程P1 执行 过程P2 恢复状态 调用 返回(a)调用者保存(b)被调用者保存 图2.6 过程调用中寄存器内容的两种保存策略 2.3 指令集结构的功能设计4381

34、2.4 操作数的类型、表示和大小操作数类型和操作数表示是软硬件主要界面之一。操作数类型:操作数类型:面向应用、面向软件系统所处理的各面向应用、面向软件系统所处理的各 种数据结构种数据结构.操作数表示:操作数表示:硬件结构能够识别、指令系统可以直硬件结构能够识别、指令系统可以直 接调用的那些结构。接调用的那些结构。确定操作数表示是软硬件取舍折衷的问题。第二章 计算机指令集结构设计4481 1.操作数的类型l 整数(定点)整数(定点)l 浮点浮点l 十进制十进制l 字符字符2.操作数类型的两种表示方法 (1)操作数的类型由操作码的编码指定。操作数的类型由操作码的编码指定。(最常见的一种方法最常见的

35、一种方法)(2)数据可以附上由硬件解释的标记,由这些标记数据可以附上由硬件解释的标记,由这些标记 指定操作数的类型,从而选择适当的运算。指定操作数的类型,从而选择适当的运算。l 字符串字符串l 向量向量l 堆栈堆栈2.4 操作数的类型、表示和大小45813.操作数大小 l 字节字节l 半字(半字(1616位)位)l 单字(单字(3232位)位)l 双字(双字(6464位)位)(1)(1)字符字符:用用ASCIIASCII码表示,为一个字节大小。码表示,为一个字节大小。(2)(2)整数整数:用二进制补码表示,其大小可以是字节、用二进制补码表示,其大小可以是字节、半字或单字。半字或单字。(3)(3

36、)浮点操作数浮点操作数:单精度浮点(单字大小)和双精单精度浮点(单字大小)和双精 度浮点(双字大小)度浮点(双字大小).(4)(4)字符串字符串:将字符串中的每个字符当作一个字节将字符串中的每个字符当作一个字节 来看待。来看待。2.4 操作数的类型、表示和大小4681(5)(5)十进制操作数十进制操作数 压缩十进制压缩十进制 用用4 4位二进制数编码数字位二进制数编码数字0 09 9,然后将,然后将 两个十进制数字压缩在一个字节中存储。两个十进制数字压缩在一个字节中存储。二进制编码十进制二进制编码十进制 将十进制数字直接用字符串来表示将十进制数字直接用字符串来表示 。4.访问不同操作数大小的频

37、率 测试统计测试统计SPECint92SPECint92基准程序和基准程序和SPECfp92SPECfp92基准基准 程序对字节、半字、单字和双字四种大小的操作数程序对字节、半字、单字和双字四种大小的操作数 访问情况。访问情况。2.4 操作数的类型、表示和大小74%19%7%69%31%0%0%0%0%20%40%60%80%双字单字半字字节整型平均浮点平均基准程序对基准程序对单字和双字单字和双字的数据访问具有较高的频率。的数据访问具有较高的频率。选择操作数字段的长度为选择操作数字段的长度为3232位,可以有效支持位,可以有效支持8 8、1616、3232位整型操作数,以及位整型操作数,以及3

38、232位浮点操作数的表示。位浮点操作数的表示。选择操作数字段长度为选择操作数字段长度为6464位,则更具有一般性。位,则更具有一般性。48812.5 指令集格式的设计 指令由指令由操作码操作码和和地址码地址码组成。组成。指令集格式的设计指令集格式的设计 确定操作码字段和地址码字段的大小及其组合确定操作码字段和地址码字段的大小及其组合 形式,以及各种寻址方式的编码方法。形式,以及各种寻址方式的编码方法。设计原则设计原则l 尽可能地增加寄存器数目和寻址方式类型;尽可能地增加寄存器数目和寻址方式类型;l 充分考虑寄存器字段和寻址方式字段对指令平均充分考虑寄存器字段和寻址方式字段对指令平均 字长的影响

39、,以及它们对目标代码大小的影响;字长的影响,以及它们对目标代码大小的影响;l 设计出的指令集格式能够在具体实现中容易处理。设计出的指令集格式能够在具体实现中容易处理。第二章 计算机指令集结构设计2.5.1 寻址方式的表示方法 1.两种表示寻址方式的方法 (1)(1)将寻址方式编码于操作码中,由操作码在描述指将寻址方式编码于操作码中,由操作码在描述指 令操作的同时,也描述了相应操作的寻址方式;令操作的同时,也描述了相应操作的寻址方式;(2)(2)为每个操作数设置一个为每个操作数设置一个地址描述符地址描述符,由该地址描,由该地址描 述符表示相应操作数的寻址方式。述符表示相应操作数的寻址方式。操作码

40、 地址描述符 1 地址码字段 1 地址描述符 n 地址码字段 n 利用地址描述符表示寻址方式的方法 50812.5.1 寻址方式的表示方法 1.两种表示寻址方式的方法 (1)(1)将寻址方式编码于操作码中,由操作码在描述指将寻址方式编码于操作码中,由操作码在描述指 令操作的同时,也描述了相应操作的寻址方式;令操作的同时,也描述了相应操作的寻址方式;(2)(2)为每个操作数设置一个为每个操作数设置一个地址描述符地址描述符,由该地址描,由该地址描 述符表示相应操作数的寻址方式。述符表示相应操作数的寻址方式。操作码 地址描述符 1 地址码字段 1 地址描述符 n 地址码字段 n 利用地址描述符表示寻

41、址方式的方法 2.5 指令集格式的设计51812.选择哪种表示寻址方式的方法?由两个因数决定:由两个因数决定:(1)(1)指令集结构所采用的寻址方式种类及其适用范围指令集结构所采用的寻址方式种类及其适用范围 (2)(2)操作码与寻址方式之间的独立程度操作码与寻址方式之间的独立程度 2.5.2 指令集格式的选择 三种指令集编码格式三种指令集编码格式 :l 变长编码格式变长编码格式l 固定长度编码格式固定长度编码格式l 混合型编码格式混合型编码格式 2.5 指令集格式的设计 操作码 地址描述符 1 地址码 1 地址描述符 n 地址码 n 1.变长编码格式 有效减少指令集结构的平均指令长度,降低目标

42、代码有效减少指令集结构的平均指令长度,降低目标代码 的长度。的长度。使得各条指令的字长和执行时间大不一样。使得各条指令的字长和执行时间大不一样。多数多数CISCCISC计算机的指令集结构均是采用这种编码格式。计算机的指令集结构均是采用这种编码格式。2.固定长度编码格式 将操作类型和寻址方式组合编码在操作码中,所有指将操作类型和寻址方式组合编码在操作码中,所有指 令的长度是固定唯一的。令的长度是固定唯一的。操作码 地址码 1 地址码 2 地址码 3 5381 操作码 地址描述符 地址码 操作码 地址描述符 1 地址描述符 2 地址码 操作码 地址描述符 地址码 1 地址码 2 混合型编码格式 3

43、.混合型编码格式 通过提供一定类型的指令字长,期望能够兼通过提供一定类型的指令字长,期望能够兼 顾降低目标代码长度和降低译码复杂度两个目标。顾降低目标代码长度和降低译码复杂度两个目标。2.5 指令集格式的设计5481 2.6 DLX指令集结构DLXDLX是一种多元未饱和型指令集结构。是一种多元未饱和型指令集结构。DLXDLX指令集结构的指令集结构的设计思想:设计思想:l 具有一个简单的具有一个简单的Load/StoreLoad/Store指令集;指令集;l 注重指令流水效率;注重指令流水效率;l 简化指令的译码;简化指令的译码;l 高效支持编译器。高效支持编译器。第二章 计算机指令集结构设计5

44、5812.6.1 DLX指令集结构1.DLX中的寄存器 (1)32(1)32个通用寄存器个通用寄存器 命名:命名:R0R0、R1R1、R31R31 长度:长度:3232位位 寄存器寄存器R0R0的值总是为的值总是为0 0。(2)32(2)32个浮点寄存器个浮点寄存器 命名:命名:F0F0、F1F1、F31F31 长度:长度:3232位位 (用来保存用来保存3232位的单精度浮点数位的单精度浮点数)2.6 DLX指令集结构5681 6464位双精度浮点数位双精度浮点数 相邻两个浮点寄存器奇偶对相邻两个浮点寄存器奇偶对F Fi iF Fi+1i+1 (i=0,2,4,i=0,2,4,30,30)命

45、名命名:F0 F0、F2F2、F28F28、F30F30 (3)(3)一些特殊的寄存器一些特殊的寄存器 (比如用来保存浮点操作结果信息的浮点状态寄存器)(比如用来保存浮点操作结果信息的浮点状态寄存器)可以和通用寄存器相互进行数据传送。可以和通用寄存器相互进行数据传送。2.6 DLX指令集结构57812.DLX的数据类型 DLXDLX提供了多种长度的整型数据和浮点数据。提供了多种长度的整型数据和浮点数据。(1)(1)整型数据整型数据 有有8 8位、位、1616位和位和3232位多种长度。位多种长度。(当当8 8位和位和1616位整型数据载入到寄存器中时,位整型数据载入到寄存器中时,用用0 0或数

46、据的符号位来填充或数据的符号位来填充3232位通用寄存器位通用寄存器 中的剩余位。中的剩余位。)(2)(2)浮点数据浮点数据 有有3232位单精度浮点数和位单精度浮点数和6464位双精度浮点数。位双精度浮点数。浮点数据表示采用的是浮点数据表示采用的是IEEE 754IEEE 754标准。标准。2.6 DLX指令集结构58813 3.DLX的寻址方式和数据传送 (1)(1)寻址方式寻址方式l 寄存器寻址寄存器寻址l 立即值寻址立即值寻址l 偏移寻址偏移寻址l 寄存器间接寻址寄存器间接寻址 (2)(2)寄存器寻址字段的大小为寄存器寻址字段的大小为5 5位位,用来表示,用来表示3232个个 通用寄存

47、器或浮点寄存器。通用寄存器或浮点寄存器。(3)(3)存储器地址采用的是高端字节表示顺序,存存储器地址采用的是高端字节表示顺序,存 储器按字节寻址,其地址宽度为储器按字节寻址,其地址宽度为3232位位。2.6 DLX指令集结构59814.DLX的指令格式 寻址方式编码在操作码中。寻址方式编码在操作码中。指令的字长指令的字长3232位位,其中用,其中用6 6位位表示操作码。表示操作码。(4)(4)通过寄存器(通用寄存器和浮点寄存器)和存通过寄存器(通用寄存器和浮点寄存器)和存 储器之间的数据传送操作完成对存储器的访问。储器之间的数据传送操作完成对存储器的访问。2.6 DLX指令集结构各种类型指令的

48、格式 I 类型指令 6 5 5 16 操作码 rs1 rd 立即值 字节、半字、字的载入和储存;rdrs1 op 立即值。R 类型指令 6 5 5 5 11 操作码 rs1 rs2 rd Func 寄存器寄存器 ALU 操作:rdrs1 func rs2;函数对数据的操作进行编码:加、减、;对特殊寄存器的读/写和移动。J 类型指令 6 26 操作码 与 PC 相加的偏移量 跳转,跳转并链接,从异常(exception)处自陷和返回。图 2.13 DLX 的指令格式布局 61815.DLX中的操作 (1)(1)四种类型的操作四种类型的操作l LoadLoad和和StoreStore操作操作l A

49、LUALU操作操作l 分支和跳转操作分支和跳转操作l 浮点操作浮点操作 (2)(2)约定约定 (1)(1)符号符号“”:数据传送操作数据传送操作 其后附带一个下标其后附带一个下标n n,也即,也即“n n”表示传送表示传送 一个一个n n位数据。位数据。(2)(2)符号符号“#”:两个域的串联操作两个域的串联操作2.6 DLX指令集结构6281(3)(3)域的下标:域的下标:表明从该域中选择某一位。表明从该域中选择某一位。l 域中位的标记是从最高位开始标记,并且域中位的标记是从最高位开始标记,并且 起始标记为起始标记为0 0。l 下标可以是一个单独的数字。下标可以是一个单独的数字。l 如如 R

50、egsR4RegsR40 0 :选择寄存器选择寄存器R4R4中内容的符号位。中内容的符号位。l 下标也可以是一个范围。下标也可以是一个范围。l 如如 RegsR3RegsR324.3124.31 :选择寄存器选择寄存器R3R3中内容中内容 的最低一个字节。的最低一个字节。(4)(4)上标:上标:表示复制一个域。表示复制一个域。如如 0 02424可以得到一个可以得到一个2424位全为位全为0 0的一个域。的一个域。2.6 DLX指令集结构6381(5)(5)变量变量MemMem:表示存储器中的一个数组,:表示存储器中的一个数组,存储器按照字节寻址。存储器按照字节寻址。举例举例R8R8和和R10

51、R10:3232位寄存器位寄存器RegsR10RegsR1016.31 16.31 1616(MemRegsR8(MemRegsR80 0)8 8#MemRegsR8 MemRegsR8的含义。的含义。3.DLX中的四种操作类型 (1)(1)LoadLoad和和StoreStore操作操作 2.6 DLX指令集结构指令实例指令名称含 义LW R1,30(R2)载入整型字RegsR1 32 Mem30+RegsR2LW R1,1000(R0)载入整型字RegsR1 32 Mem1000+0LB R1,40(R3)载入字节RegsR1 32(Mem40+RegsR30)24#Mem40+RegsR

52、3LBU R1,40(R3)载入无符号字节RegsR1 32 024#Mem40+RegsR3LH R1,40(R3)载入整型半字RegsR1 32(Mem40+RegsR30)16#Mem40+RegsR3#Mem41+RegsR3LF F0,50(R3)载入单精度浮点RegsF0 32 Mem50+RegsR3LD F0,50(R2)载入双精度浮点RegsF0#RegsF1 64 Mem50+RegsR2SW 500(R4),R3储存整型字Mem500+RegsR4 32 RegsR3SF 40(R3),F0储存单精度浮点Mem40+RegsR3 32 RegsF0SD 40(R3),F0

53、储存双精度浮点Mem40+RegsR3 32 RegsF0Mem44+RegsR3 32 RegsF1SH 502(R2),R31储存整型半字Mem502+RegsR2 16 RegsR3116.31SB 41(R3),R2储存整型字节Mem41+RegsR3 8 RegsR224.31DLX中Load和Store指令实例 6581(2)(2)ALUALU操作操作l 简单的算术和逻辑运算简单的算术和逻辑运算l 寄存器比较指令(寄存器比较指令(,)指令实例指令名称 含 义Add R1,R2,R3加RegsR1 RegsR2+RegsR3ADDI R1,R2,#3和立即值相加RegsR1 Regs

54、R2+3LHI R1,#42载入高位立即值RegsR1 42#016SLLI R1,R2,#5逻辑左移的立即值形式RegsR1 RegsR2 5SLT R1,R2,R3设置小于if (RegsR2 RegsR3)RegsR1 1 else RegsR1 0ALU指令实例 2.6 DLX指令集结构6681(3)(3)分支和跳转操作分支和跳转操作 根据描述目标地址的方法和是否链接可以将根据描述目标地址的方法和是否链接可以将 跳转操作指令分为四种类型。跳转操作指令分为四种类型。其中:其中:l 两种类型的跳转指令用带符号位的两种类型的跳转指令用带符号位的2626位位 偏移量加上程序计数器的值来确定跳转

55、偏移量加上程序计数器的值来确定跳转 的目标地址;的目标地址;l 另外两种类型的跳转指令则指定一个寄另外两种类型的跳转指令则指定一个寄 存器,由寄存器中的内容决定跳转的目存器,由寄存器中的内容决定跳转的目 标地址。标地址。2.6 DLX指令集结构6781 跳转有两种类型跳转有两种类型l 简单跳转简单跳转l 跳转并链接跳转并链接(用于过程调用)(用于过程调用)返回一个地址,也即将下一条顺序指令返回一个地址,也即将下一条顺序指令 地址(返回地址)保存在寄存器地址(返回地址)保存在寄存器R31R31中。中。所有分支指令均是条件分支指令。所有分支指令均是条件分支指令。分支目标地址由一个带符号的分支目标地

56、址由一个带符号的2626位偏移量加位偏移量加 上程序计数器的值来确定。上程序计数器的值来确定。2.6 DLX指令集结构6881指令实例指令名称含 义J name跳转PC name;(PC+4)-225)name(PC+4)+225)JAL name跳转并链接RegsR31 PC+4;PC name;(PC+4)-225)name(PC+4)+225)JALR R2寄存器型跳转并链接RegsR31 PC+4;PC RegsR2;JR R3寄存器型跳转PC RegsR3;BEQZ R4,name“等于0”分支if (RegsR4=0)PC name;(PC+4)-215)name(PC+4)+21

57、5)BNEZ R4,name“不等于0”分支if (RegsR4!=0)PC name;(PC+4)-215)name(PC+4)+215)典型的分支和跳转指令 2.6 DLX指令集结构6981(4)(4)浮点操作浮点操作 浮点操作:浮点操作:加、减、乘、除。加、减、乘、除。(后缀(后缀D D:双精度浮点操作:双精度浮点操作 后缀后缀F F:单精度浮点操作):单精度浮点操作)下表列出了下表列出了DLXDLX所有指令及其含义。所有指令及其含义。各种指令使用频率测试统计结果。各种指令使用频率测试统计结果。(SPECint92SPECint92和和SPECfp92SPECfp92基准程序)基准程序)

58、2.6 DLX指令集结构7081DLX中的所有指令及其含义指令类型操作码含 义 数据传送LB,LBU,SB载入字节,载入无符号字节,储存字节LH,LHU,SH载入半字,载入无符号半字,储存半字LW,SW载入字,储存字LF,LD,SF,SD载入单精度浮点,载入双精度浮点,储存单精度浮点,储存双精度浮点MOVI2S,MOVS2I将通用寄存器中的内容移入特殊寄存器,将特殊寄存器中的内容移入通用寄存器MOVF,MOVD将一个单精度/双精度浮点寄存器的内容拷贝到另一个单精度/双精度浮点寄存器MOVFP2I,MOVI2FP将32位浮点寄存器中的内容移入整型寄存器,将32位整型寄存器中的内容移入浮点寄存器2

59、.6 DLX指令集结构7181指令类型操作码含 义 算术/逻辑ADD,ADDI,ADDU,ADDUI带符号加,带符号立即值加,无符号加,无符号立即值加SUB,SUBI,SUBU,SUBUI带符号减,带符号立即值减,无符号减,无符号立即值减MULT,MULTU,DIV,DIVU带符号乘,无符号乘,带符号除,无符号除AND,ANDI与,和立即值与OR,ORI,XOR,XORI或,和立即值或,异或,和立即值异或LHI载入高位立即值SLL,SRL,SRA,SLLI,SRLI,SRAI包含了立即值(S_I)和变量(S_)的移位操作,移位有:逻辑左移,逻辑右移和算术右移S_,S_I设置条件,“_”可以是L

60、T,GT,LE,GE,EQ,NE2.6 DLX指令集结构7281指令类型操作码含 义 控制BEQZ,BNEZ根据指定通用寄存器的内容等于/不等于0分支BFPT,BFPF测试浮点状态寄存器中的比较位为真/假进行分支J,JR跳转,基于寄存器的跳转JAL,JALR跳转并链接,基于寄存器的跳转并链接TRAP转换到操作系统RFE从异常恢复用户模式2.6 DLX指令集结构7381指令类型操作码含 义 浮点ADDD,ADDF双精度浮点加,单精度浮点加SUBD,SUBF双精度浮点减,单精度浮点减MULTD,MULTF双精度浮点乘,单精度浮点乘DIVD,DIVF双精度浮点除,单精度浮点除CVTF2D,CVTF2

61、I,CVTD2F,CTD2I,CVTI2F,CVTI2D转换指令,CVTx2y表示从类型x转换到类型y,其中x和y可以是I(整型)、D(双精度浮点)、F(单精度浮点)_D,_F双精度浮点和单精度浮点比较,“_”可以是LT、GT、LE、GE、EQ、NE,根据比较结果设置浮点状态寄存器中的位2.6 DLX指令集结构7481基于SPECint92基准程序集的指令使用频率测量统计结果指令compresseqntottEspressogcc(cc1)li整型平均载入19.8%30.6%20.9%22.8%31.3%26%存储5.6%0.6%5.1%14.3%16.7%9%加14.4%8.5%23.8%1

62、4.6%11.1%14%减1.8%0.3%0.5%0%乘 0.1%0%除 0%比较15.4%26.5%8.3%12.4%5.4%13%载入立即值8.1%1.5%1.3%6.8%2.4%3%2.6 DLX指令集结构7581指令compresseqntottEspressogcc(cc1)li整型平均条件分支17.4%24.0%15.0%11.5%14.6%16%无条件分支1.5%0.9%0.5%1.3%1.8%1%调用0.1%0.5%0.4%1.1%3.1%1%返回,跳转0.1%0.5%0.5%1.5%3.5%1%移位6.5%0.3%7.0%6.2%0.7%4%与2.1%0.1%9.4%1.6%

63、2.1%3%或6.0%5.5%4.8%4.2%6.2%5%其它(异或,非)1.0%2.0%0.5%0.1%1%2.6 DLX指令集结构7681指令compresseqntottEspressogcc(cc1)li整型平均载入浮点数 0%储存浮点数 0%浮点加 0%浮点减 0%浮点乘 0%浮点除 0%浮点比较 0%浮点寄存器移动 0%其它浮点操作 0%2.6 DLX指令集结构基于SPECfp92基准程序集的指令使用频率测量统计结果指令doducearhydro2dmdljdp2su2cor整型平均载入1.4%0.2%0.1%1.1%3.6%1%储存1.3%0.1%0.1%1.3%1%加13.6%

64、13.6%10.9%4.7%9.7%11%减0.3%0.2%0.7%0%乘 0%除 0%比较3.2%3.1%1.2%0.3%1.3%2%载入立即值2.2%0.2%2.2%0.9%1%7881指令doducearhydro2dmdljdp2su2cor整型平均条件分支8.0%10.1%11.7%9.3%2.6%8%无条件分支0.9%0.4%0.4%0.1%0%调用0.5%1.9%0.3%1%返回,跳转0.6%1.9%0.3%1%移位2.0%0.2%2.4%1.3%2.3%2%与0.4%0.1%0.3%0%或 0.2%0.1%0.1%0.1%0%其它(异或,非)0%2.6 DLX指令集结构7981

65、指令doducearhydro2dmdljdp2su2cor整型平均载入浮点数23.3%19.8%24.1%25.9%21.6%23%储存浮点数5.7%11.4%9.9%10.0%9.8%9%浮点加8.8%7.3%3.6%8.5%12.4%8%浮点减3.8%3.2%7.9%10.4%5.9%6%浮点乘12.0%9.6%9.4%13.9%21.6%13%浮点除2.3%1.6%0.9%0.7%1%浮点比较4.2%6.4%10.4%9.3%0.8%6%浮点寄存器移动2.1%1.8%5.2%0.9%1.9%2%其它浮点操作2.4%8.4%0.2%0.2%1.2%2%2.6 DLX指令集结构8081图2

66、.14 指令使用频率的整型平均0.00%5.00%10.00%15.00%20.00%25.00%30.00%与移位或整型储存整型比较整型加条件分支整型载入compresseqntottespressogccli动画演示动画演示2.6 DLX指令集结构8181图2.15 指令使用频率的浮点平均0.00%5.00%10.00%15.00%20.00%25.00%浮点载入浮点乘整型加浮点储存条件分支浮点加浮点减浮点比较浮点寄存器移动移位doducearhydro2dmdljdp2su2cor动画演示动画演示2.6 DLX指令集结构82812.6.2 DLX指令集结构效能分析 DLXDLX指令集结构的指令格式、寻址方式和操作指令集结构的指令格式、寻址方式和操作都非常简单。都非常简单。图2.16 VAX 8700和MIPS M2000的比较结果0.000.501.001.502.002.503.003.504.00spicematrixnasa7fpppptomactvdoducespressoeqntottliSPEC 89基准程序MIPS/VAX性能比率指令执行比率CPI 比率2.6 DL

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!