计算机指令系统(一)_第1页
计算机指令系统(一)_第2页
计算机指令系统(一)_第3页
计算机指令系统(一)_第4页
计算机指令系统(一)_第5页
已阅读5页,还剩84页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

数字逻耨与处理器

第8讲

计算机指令系统

清华大学电子工程系马惠敏

数字逻辑与处理器

2

关于计算机:Abigchallenge

PersonalComputer:CircuitBoard:IntegratedCircuit:

Hardware&Software/system缶16/PCBModule:

1-2Gdevices.25M-16Mdevices毋16/IC

10OKdevices

MOSFET

Schemefor

representing■«1K-1OK/Module

InformationGate:16-64devices

®2-l6/Cell

8devices

怎么去设计建造这样一个有1G=1O9个部件组成的复杂系统呢?

读写头带子•图灵机只要根据每二

X时刻读写头读到的一

个方格的信息和当前

a2m的内部状态对程序进

当前状态行查表,就可以确定

下一时刻的内部状态

和输出动作了。

•具体的程序是一个列

___________/表,也叫做规则表。

当前内部状态s输入数值i输出动作o卜.一时刻的内部状态s'

无限长纸带B1前移C

A0往纸带上写1B

C0后移A

图灵机模型

从控制器来理解计算机的通用,E•”52・

•UTM(UniversalTuringMachine)

通用图灵模型

如何用一个通用电路实现多种计算任务?

处理器指令集的任务!

数据通路和控制的实现!

什么是处理器指令集?

•处理器只是在块硅晶片上集成的超大规模的集成

电路,这颗精密的芯片为什么能够控制一个庞大

而复杂的电脑系统呢?

-归因于处理器中集成的指令集。

-所谓指令集,就是用来计算和控制计算机系统的一套

命令的集合,而每一种新型的处理器在设计时就规定

了一系列与硬件电路相配合的指令系统。

-指令集的先进与否,也关系到处理器的性能发挥,它

也是处理器性能体现的一个重要标志。

6

计算机系统

硬件/软件接口

■任何完整的计算机系统都是由硬件和软件

两部分组成

•ISA(lnstructionSetArchitecture)是计

算机硬件与底层软件之间的接口,它是程

序员为使一个二进制机器语言程序正确运

行所需要了解的属性

计算机软件

ISA

计算机硬件

机器语言

・计算机硬件的基本功能就是执行指令,指令在

冯・诺伊曼计算机中由二进制数字进行编码

•描述完成一个确定任务的指令序列称为程序

•计算机的全部二进制机器指令组成了一种可供

人与计算机进行交流的语言,称为机器语言

00100000000010000000000000000001

00100001000010000000000000000010

10101100000010000001111101000000

机器语言程序

汇编语言

■使用机器语言编写程序十分困难,于是人们发

明了用助记符表示指令的方法。助记符形式的

指令的集合组成了汇编语言

•汇编语言的助记符形式的指令必须翻译成机器

语言二进制指令才能在计算机上执行,实现这

种翻译的程序称为汇编器(assembler)

addi$s1,$0,1

addi$s1,$s1,2汇编语言源程序

sw$s158000($0)

汇编语言

程序:

Caddi$s1,$0,1

S1=1+2

addi$S15$S1,2汇编语言源程序

sw$s1,8000($0)

OO1OOOOOOOOO1OO1OOOOOOOOOOOOOOO1

00100001001010010000000000000010机器语言程序

10101100000010010001111101000000

高级语言

・汇编语言与机器语言是一一对应的,所以开发效率仍然十

分低下,于是人们发明了高级程序设计语言,如

FORTRAN>C等等

•使高级语言程序在只能运行二进制机器指令的计算机上运

行,有两种途径:

一编译一将高级语言编写的程序翻译成等价的二进制

指令序列来代替,计算机执行等价的机器语言程序

-解释以高级语言程序作为输入数据,顺序地检查

它的每一条语句,并直接执行等价的机器语言指令序

列,这种方法称为解释

计算机指令系统

•MIPS体系结构概述

-MIPS指令格式

-寻址方式

-指令:数据处理、数据传送、分支与跳转

・计算机性能评价

MIPS:Microprocessorwithoutinterlockedpipedstages

无内部互锁流水级的微处理器

MIPS体系结构

对于一条汇编语言指令来说,有两个问题要解决

•要指出进行什么操作

•要指出大多数指令涉及的操作数和操作结果放在何处

,1.指令格式

2.寻址方式

I3.指令系统

13

MIPS:操作数

名称实例注释

32个寄$s0,...$s7数据的快速定位,算术运算指令

存器$t0,...$t7的操作数必须在寄存器中

230个存

存储器[1]MIPS只能使用数据传送指令访问c

储字MIPS中使用字寻址,相邻数据字

卷储器[。]

23的字地址相差4。

常数操作数怎么办?

14

MIPS体系结构概述

-通用寄存器的习惯用法和命名

寄存器编号助记符用法

0zero永远为0

1at用做汇编器的临时变量

2-3v0,vl用于过程调用时返回结果

4-7a0-a3用于过程调用时传递参数

8-15t0-t7临时寄存器,在过程调用中被调用者不需要保存与恢复

24-25t8-t9

16-23s0-s7保存寄存器。在过程调用中被调用者一旦使用这些寄存器时,必

须负责保存和恢复这些寄存器的原值

26,27kO,kl通常被中断或异常处理程序使用,用来保存一些系统参数

28gP全局指针。一些运行系统维护这个指针来更方便的存取Static和

extern变量

29sp堆栈指针

30fp帧指针

31ra返回地址

MIPS:操作数

•寄存器为什么只有32个?

-因为电信号传输距离越远,传输时间就越长,

寄存器太多将会延长时钟周期。

•存储器对齐限制:

-MIPS中字的地址必须是4的倍数

存储器:12100

810

4101

01

16

地址数据

A:这是可以配置的。一般来说我们都使

用大端模式,和网络序相同。

存储器:1501100100

1400000000

1300000000

1200000000

地址数据

17

MIPS指令与汇编

p.指令格式^l-format:用于有立即数的指令,

lw,sw,beq,bne

2.寻址方式

^J-format:无条件跳转j,并连接jal

3.指令系统关于指令格式的思考

18

MIPS指令格式

(1)R■型指令

•一条32位的MIPSR型指令按下表bit数划分为

6个字段:6+5+5+5+5+6=32bit

655556

。各段含义如下:

|opcodersrtrdshamtfunct|

操作码第1个源第2个源目标寄移位量功能码

操作数操作数存器,

(放结果)I选择字段op中操作的

某种变体

数据通路

Instruction<31:0>

A<△

1<八

20

Inst612

E::二6

Memory2153-

05V1控制二)

IYVvVV

Adrv

RSRdV

RtImm16

PCSrc

busWRwRaRb

■y~■3232-bit

32Registers

cik

E

xWrEnAdr

s

n

d

imm16eData

r

16Memory

ExtOpALUSrcO20

MIPS指令格式

(1)R-Format例子

・MIPSR型指令:

add$8,$9,$10

10进制表示:

09108032

二进制表示的话:

ooodbolo£boil@ioioEoio向Iooo配|i面o汨

X

16进制:012A4020hex

10进制:19,546,144ten

.21

MIPS指令格式

(2)I■型指令

•一条32位的MIPSI型指令按下表bit数划分

为4个字段:6+5+5+16=32bit

65516

。各段含义如下:

|opcodersrtaddress

~I~~iI

操作码第1个源目标寄地址相

操作数存器(放对基址

寄存器结果)偏移量

22

MIPS指令格式

(2)I■型指令

•I•型指令:装入/存储指令、分支指令和立即数运

算指令的格式

-数据装入:Rt=Mem[Rs+Address]

符号扩展

-数据存储:Mem[Rs+Address]=Rt.

OpRsRtAddress

6位5位5位16位

例L装入/存储指令

lw$sl,100($s2)8E510064

1100直idb】o|ik)ooi|booo碗

:hex

MIPS指令格式

(2)I■型指令

•例2:分支指令

-if(Rs<relation>Rt)goto(PC+4)+Address

OpRsRtAddress

6位5位5位16位

beq$t0,$t1,Target

-分支指令采用的寻址方式为PC相对寻址——分

支目标的地址是PC+4与指令中的偏移量之和

24

数据通路

Instruction<31:0>

A△△

<八

Inst26102

二6

E2-二-

Memory0553控制工)

VVV1

IYVYV

AdrY

RStRV

Rt<dImml6

PCSrc

busWRwRaRb

■y~■3232-bit

32Registers

cik

E

xWrEnAdr

s

n

d

imml67eData

r

16Memory

ExtOpALUSrcO25

MIPS指令格式

(2)*

例3:addi$21,$22,-50

opcode=8(具体是什么操作)

rs=22(操作数寄存器)

rt=21(目的寄存器)

immediate=-50(默认是十进制)

请把指令翻译成机器码。

26

MIPS指令格式

例3:addi$21,$22,-50

十进制指令格式:

82221-50

二进制指令格式:

00100010110101011111111111001110

十六进制表示:22D5FFCEhex

十进制表示:584,449,998ten

.27

MIPS指令格式

(3)J-Format指令(1/2)

•J型指令格式:

6bits26bits

。每部个的名字是:

|opcodetarge七address

o关键点:

“必须让opcode部分与R和I型指令一致,以便于电路理解执行

/其他字段都节省出来给跳转的目的地址用以表示很大的跳转

范围.

28

MIPS指令格式

(3)J-Format指令

•例:跳转指令的格式

000010Address

6位26位

-跳转指令采用伪直接寻址——跳转地址为指令

中的26位常数与PC中的高位拼接得到

例:j1000008002710hex

00001000000000000010011100010000

29

MIPS指令格式

(3)J-Format指令

•总之:

-新的PC={PC[31..28]5目标地址300}

•一定要明白上面的每一项是从哪里来的!

•Note:{55}表示合并

{4bits,26bits,2bits}=32bitaddress

-{1010,11111111111111111111111111,00}

=10101111111111111111111111111100

-Note:书上用II,Verilog里用{,,}

.30

?关于MIPS指令格式的思考十

•指令格式为什么要分三类呢?

-所有指令长度相同,都是32位

-要让每一条指令刚好合适,充分发挥作用

提示:和ALU及指令译码电路设计有关

31

MIPS寻址方式

「1.指令格式

「/寄存器寻址

,立即数寻址

2.寻址方式J甘4T出gm中

A/基址或偏移寻址

/PC相对寻址

V3.指令系统

/伪直接寻址

MIPS寻址方式

(1)寄存器寻址

例:MIPS算术运算指令的操作数必须从32个32位寄存器

中选取

add$tO,$sl,$s2#寄存器$tO的内容为g+h

add$tl,$s3,$s4#寄存器$”的内容为i+j

sub$sO,$t0,$tl#寄存器$sO的内容为(g+h)-(i+j)

Registeraddressing

oprsrtrd••■functRegisters

Register

MIPS寻址方式加快对常见情

(2)立即数寻址况的处理、

•以常数作为操作数,无须访问存储器就可以使用常数。

•因为常数操作数频繁出现,所以在算术指令中加入常数

字段,比从存储器中读取常数快得多。

Lw$tO,AddrConstant4($zero)#$tO=常数4

add$sp,$sp,$t0#$sp=$sp+$t0($tO==4)

addi$sp,$sp,4#$sp=$sp+4

Immediateaddressing

oprsrtImmediate

34

数据通路

Instruction<31:0>

A△△

<八

Inst26102

二6

E2-二-

Memory0553控制工)

VVV1

IYVYV

AdrY

RStRV

Rt<dImml6

PCSrc

busWRwRaRb

■y~■3232-bit

32Registers

cik

E

xWrEnAdr

s

n

d

imml6?eData

r

16Memory

ExtOpALUSrcO35

MIPS寻址方式

(2)立即数寻址

•怎样把一个32位长的常数装入寄存器$sO中?

0000000000111101b000100100000000

LoadUpperImmediate612304

Lui$SO,61#$s0=00000000001111010000000000000000

addi$sO,$s0,2340#$so=oooooooo00111101oooo1001oooooooo

拆散和重装大常数还可以这样完成:

X

ori$s5,$0,0x1000有长度限制,

Sil$S5,$S5,16#$s5=0x10000000raddj为16位,

Immediateaddressing

oprsrtImmediate

MIPS寻址方式

(3)基址或偏移寻址

口操作数在存储器中,且存储器地址是某寄存

器与指令中某常量的和。

Lw$tO58($sO)#$sO中装的是存储器中的地址

3.Baseaddressing

37

MIPS寻址方式飞

•MIPS采用存取体系结构:只有Load和Store指

令实现对内存的访问。

•机器本身只提供一种存储器寻址方式:

c(rx)立即数c+寄存器rx的值

MIPS寻址方式

(4)PC相对寻址

例:条件分支指令

bne$sO,$s1,Exit#如果$sO不等于$s1,则跳转到Ex计

MIPS寻址方式

(4)PC相对寻址

问题L为什么选PC寄存器?

因为几乎所有的条件分支指令都是跳转到附近的地址。

问题2:目的地址比当前的PC地址小怎么办?

问题3:如何处理16位无法表达的远距离分支?

插入一个无条件跳转到分支目标地址的指令,把分支

指令中的条件变反以决定是否跳过该指令。

beq$sO,$s1,L1

Bne$sO,$s1,L2jL2

L1:

215<|L2-PC|<227

L2:

MIPS寻址方式

(5)伪直接寻址

跳转地址二PC中原高4位I指令中的26位I00

j10000#跳转到PC110000

5.Pseudodirectaddressing

opAddressMemory

]

PCWord

I____t__________

问题1:PC高位限制了跳转的范围,如何跳出高4位限制的范围?

MIPS指令系统

r1.指令格式

2.寻址方式

4(1)数据处理类:算数逻辑运算

:3.指令系统(2)数据传送类:存取操作

(3)控制类:分支与跳转

42

算术运算指令

・加法

add$tO,$t1,$t2#$tO=$t1+$t2

・减法

sub$t2,$t3,$t4#$t2=$t3-$t4

------->注释

,寄存器以$符号开始

算术运算指令

・编译C语言的赋值语句

f=(g+h)-(i+j)

假设变量f、g、h、i、j分

addtl,g,h别分配给寄存器$50~$54

addt2ri,j临时变量t2分别分配

给寄存器$11、$t2

subfftlrt2

add$tl,$slA$s2

add$t2,$s3,$s4

sub$sOf$tlA$t2

算术运算指令

•加16位有符号立即数

addi$t2,$t3,5#$t2=$t3+5

•MIPS没有减立即数的指令,如何实现减立即

数操作?

8rsrtimm

逻辑运算指令

and$tO,$t1,$t2#$t0=$t1&$t2

or$tO,$t1,$t2#$t0=$t1|$t2

xor$tO,$t1,$t2#$t0=$t1㊉$t2

nor$tO,$t1,$t2#$t0=~($t1|$t2)

-如何实现NOT运算?

0rsrtrd0funct

逻辑运算指令

•立即数逻辑运算

andi$tO5$t151O

ori$tO5$t151O

xori$tO5$t151O

|opcodersrtimmediate|

65516

逻辑运算指令

•移位运算,移位量为立即数

逻辑左移——

sll$tO,$t1,10#$t0=$t1«10,shiftleftlogical

逻辑右移——

srl$t0,$t1,10#$t0=$t1»10,shiftrightlogical

算术右移——

sra$t0,$t1,10#$t0=$t1»10,shiftrightarithm.

0rsrtrdshamtfunct

逻辑运算指令

•移位运算,移位量在某个寄存器中

sllv$to,$t1,$t3#$to=$t1«($t3%32)

srlv$tO,$t1,$t3#$tO=$t1»($t3%32)

srav$tO,$t1,$t3#$tO=$t1»($t3%32)

0rsrtrd0funct

比较指令

•比较两个寄存器的内容,并根据比较的结果设置

第三个寄存器

sit$t15$t25$t3#if($t2<$t3)$t1=1;

#else$t1=0

situ$t15$t25$t3#无符号比较

0rsrtrd0funct

•寄存器与立即数比较

slti$t15$t2,10#与立即数比较

sltui$H,$t2J0#与无符号立即数比较

|opcodersrtimmediate

计算机指令系统

■MIPS体系结构概述

-指令格式

-寻址方式

-指令系统

•数据处理指令

•数据传送指令

•分支与跳转指令

装入/存储指令

•实现内存与寄存器之间的数据传送

Iw$t1,30($t2)#Loadword

sw$t3,500($t4)#Storeword

opcodersrtoffset

MIPS只支持基址(变址)+偏移量的内存寻址方式

存放基址的寄存器称为基址寄存器,指令中的

常量称为偏移量

栈操作

•虽然MIPS有32个通用寄存器,但是在某些

情况下(例如子程序调用)仍然需要将寄存器

的内容换出到内存中,在这种情形下,栈

是保存寄存器内容的理想场所

•MIPS有一个$sp寄存器可以用做栈指针

•将数据放入栈中称为压栈(PUSH),从栈中

取出数据称为出栈(POP)

栈操作

•例,将$51、$s2、$s3寄存器的内容压入栈

addi$sp,$sp,-12

sw$s1,8($sp)高地址高地址

sw$s2,4($sp)*-$sp

$s1的内容

sw$s3,O($sp)$s2的内容

$s3的内容*-$sp

习惯上,栈按照从高到

到低的地址顺序增长低地址低地址

■压栈前1■压栈后|

•出栈操作

lw$s1,8($sp)

Iw$s2,4($sp)

lw$s3,0($sp)高地址

addi$sp,$sp,12—$sp

低地址

出栈后

装入高位立即数

•装入高位立即数(loadupperimmediate)

lui$t1,30

00111100000rtimmediate

•例,将32位立即数0x1234abcd装入$t1寄存器

Iui$t1,0x1234

ori$t1,$t1,Oxabcd

计算机指令系统

■MIPS体系结构概述

-指令格式

-寻址方式

-指令系统

•数据处理指令

•数据传送指令

•分支与跳转指令

分支(branch)指令

beq$tO,$t15Target#如果$tO=$t1,则分支执

#行标号为Target的指令

bne$tO5$t15Target#如果$tO!=$t1,则分支执

#行标号为Target的指令

■分支指令与比较指令相结合,可以实现各种条件分支:相

等、不等、小于、小于或等于、大于、大于或等于

跳转(jump)指令

•无条件分支

jLable#无条件跳转到标号Lable处

分支指令的应用

•例

假设变量f、g、h、i、j分

unsignedinti,j;

配给寄存器$sO~$s4

■■■

lf(i<=j)

f=g+h;

else3汇编代码

f=g-h;

situ$t2,$s4,$s3

beq$t2,$zero,Else

sub$sO,$s1,$s2

jExit

Else:add$sO,$s1,$s2

Exit:・・.

分支指令的应用

•例

假设变量、对应寄存器

while(save[i]==k)ik

数组的基

i+=1;$s3^n$s5,save

址存放在$$6中

3汇编代码

Loop:sll$t15$s3,2

add$t1,$t1,$s6

Iw$tO50($t1)

bne$tO,$s5,Exit

addi$s3,$s3,1

Loop

Exit:■■■

过程调用

•MIPS的过程调用遵循如下约定:

-通过$a0~$a3四个参数寄存器传递参数

-通过$vO~$v1两个返回值寄存器传递返回值

-通过$ra寄存器保存返回地址

过程调用

子程序调用通过跳转与链接指令jal进行

jalProcedure#将返回地址保存在$ra寄存器

#中,程序跳转到过程

#Procedure处执行

子程序返回通过寄存器跳转指令jr进行

jr$ra#跳转到寄存器指定的地址

叶过程

不调用其他过程的过程

leaf_example:

addi$sp,$sp,-12

sw$t1,8($sp)

sw$tO,4($sp)

intleaf_example(intg,inth,inti,intj)

sw$sO,O($sp)

(add$tO,$aO,$a1

intf;

add$t1,$a2,$a3

f=(g+h)-(i+j);sub$sO,$tO,$t1

returnf;

add$vO,$sO,$zero

Iw$sO,O($sp)

Iw$tO,4($sp)

Iw$t1,8($sp)

addi$sp,$sp,12

jr$ra

叶过程

intleaf_example(intg,inth,inti,intj)leaf_example:

(addi$sp,$sp,-4

intf;sw------$Hr8<$sp)——

f=(g+h)-(i+j);-sw------$tGp4($sp)——

returnf;sw$sO,O($sp)

add$tO,$aO,$a1

add$t1,$a2,$a3

sub$sO,$tO,$t1

临时寄存器不必保存add$vO,$sO,$zero

Iw$sO,O($sp)

保存寄存器必须保存Iw$t0y-4($sp)

Iw$t41-8($sp)

addi$sp,$sp,4

jr$ra

嵌套过程调用

主调过程将调用后还需要使用的参数寄存器

$a0~$a3和临时寄存器$t0~$t9压栈

-被调过程将返回地址寄存器ra和在被调过程中修

改了的保存寄存器$s0-$s7压栈

嵌套过程调用

ProcA

高地址

ProcA的栈空间调用ProcB

ProcB的栈空间调用ProcC

从ProcC返回

ProcC的栈空间

从ProcB返回

栈增长方向

低地址从ProcA返回

嵌套过程调用(ref.2/3.6)

intfact(intn)

・计算n!(

if(n<1)return1;

faCtadd

$sp,$sp,-8elsereturn(n*fact(n-1));

swV

$ra,4($sp))

swV

sUi$aO,O($sp)Stack

bK$tO,$aO,1

eq

a$tO,$zero,L1OldSra

addOldSfpmain

$vO,$zero,1

.dd

$sp,$sp,8

KOldSaO

L$raOldSrafact(10)

OldSfp

addi$aO,$aO,-1OldSaO

difactOldSrafact(9)

3OldSfp

Iw$aO,O($sp)

lw$ra,4($sp)OldSaO

$sp,$sp,8OldSrafact(8)

admOldSfp

.$vO,$aO,$vO

K$raOldSaOStackgrows

OldSrafact(7)

OldSfp

fact:d

ad$sp,$sp,-8#调整栈指针

sw$ra,4($sp)#保存返回地址

sw/

$aO,O($sp)#保存参数n

sKi

$tO,$aO,1#判断n是否小于1

beq

$tO,$zero,L1#n>l则调至L1

add

$vO,$zero,1#否则返回1

add

#从栈中弹出两个值

-$sp,$sp,8

K$ra#返回值jal后

d

ad$aO3$aO,"1#n>l,参数变成(n-1)

Jafact#用(n-1)调用fact

lw

lw$aO,O($sp)#从上21返回,恢复参数n

adm$ra4($sp)#恢复返回地址

d5

.

K$sp,$sp,8#调整堆栈指针以弹出两个栈元素

ul$vO5$aO5$vO#返回n*fact(n-1)

$ra#返回到调用者

MIPS指令与汇编

所有的MlPS指令都是32位长

^R-format:所有其他

1.指令格式^l-format:用于有立即数的指令,

Iw,sw,beq,bne

2・寻址方式

^J-format:无条件跳转j,并连接jal

3.指令系统关于指令格式的思考

70

计算机指令系统

■MIPS体系结构概述

-MIPS指令格式

-寻址方式

-指令:数据处理、数据传送、分支与跳转

•计算机性能评价

计算机性能评价

-为什么要进行性能评价?

•性能指标:

-响应时间:CPI

一吞吐率(Throughput)

-标准(Benchmarks)

,Dieyield(给定工艺下的成本)

・功率消耗

关于性能Performance的定义

通过率

飞机哈尔滨到最大速乘客

悉尼度p*mph

6.5610

Boeing747470286,700

hoursmph

1350

another3hours132178,200

mph

•哪一个性能更好Whichhashigherperformance?

■传送一名旅客所需要的时间?

■传送400名旅客所需要的时间?

•在计算机里,处理一个任务所需要的时间被称为_

ResponseTimeurExecutionTime(响应时间或者执行时间)

・计算机中把一天或者一段时间内能完成的任务称为

通过量(吞吐量)或者带宽bandwidth

计算机性能评价:响应时间与吞吐量

•响应时间一从提交作业到完成

作业所花费的时间

>个人用户更关心响应时间

•吞吐量——一定时间间隔内完成

的作业数

>企业级计算机的管理人员更

关心吞吐量

对于企业级服务器以外的应用,响应

时间是评价计算机性能的主要依据!

Definitions

■性能指单位时间的某某指标〜越大越好

■如果我们主要关心responsetime,那么计算

温馨提示

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

评论

0/150

提交评论