计算机体系结构课程的经典PP第二章_第1页
计算机体系结构课程的经典PP第二章_第2页
计算机体系结构课程的经典PP第二章_第3页
计算机体系结构课程的经典PP第二章_第4页
计算机体系结构课程的经典PP第二章_第5页
已阅读5页,还剩78页未读 继续免费阅读

下载本文档

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

文档简介

数据表示与指令系统§1

数据表示一、数据表示的确定1.

何谓数据表示由硬

件直

(引用

)的数

型,

2.

数据表示的主要类型1)常用数据表示:定点数、字符串、浮点数等。

2)高级数据表示:自定义、向量、堆栈数据表示3.数据表示与系统结构的关系1)数据表示是硬件设计基础2)数据表示是指令加工的对象4.数据表示确定在进行软件和硬件的功能分配时,计算机系统结构设

计应考虑在机器中设置哪些数据表示,使之能对应用中用

到的数据结构有高的实现效率。在定点、浮点、字符串、

逻辑、十进制等基本数据表示的基础之上,根据应用的需

要,考虑在机器中引入哪些高级的数据表示,以便能为数

据的实现提供更好的支持(通用性和利用率是否较高)。1)一般计算机要选用常用的数据表示;2)对较高级的数据表示要有针对选取。①当处理的数据类型较多时,可选自定义的数据。②当对向量数据处理较多时,可选向量数据表示。③当逆波兰表达式处理较多时,可选堆栈数据表示

。二、

自定义数据表示自定义数据表示是为缩短高级语言和机器语言的语义差距引出

来的。它又有标志符数据表示和数据描述符两类。1.标志符2

)

取①简单的用三位标志符区分8种(23)类型1

)

式①类型标志

②数据值1

0

4

制6

8

(

)数

值0110100001101000类

标无

号BCD

码类型标志数据值如

:志

数H

土吊3)使用标志位的优缺点可简化指令系统与编译程序,便于不同数据类型的自动校验与转换。缺点:一个标志位只能对一个数据进行描述,其描述效率不高。2.描述符格

性数

块①特征位:用来区分描述符还是非描述符。当

符时,

面的

段,

用1

0

1

表示描述符的特征位。②

度:

块的

。③块首址:第一个数据单元的地址。④

性:

据的

。2)使用描述符的好处①描述相同类型的数据时,描述效率高;

②利用块属性也有利于对信息的保护;③

可当

及间

使

。直

给出

块的

址,

寻址。000

据1011101

1

101

1101

1

101

1000

数据

101

1000

数据④可描述阵列数据:描述一个阵列可用一级、二级描述符描述。】

03A=30

33存

描述符给出的仍是数据描述符存

接一级描述符(要求数据连续存放)101

16000a00000a01000a33000a20000a21000a22000a23000a00000aO1000a02000aO3000a30000a31000a32000a33000a10000all000a12000a13二级描述符41011011011014444101分别利用两级描述符和三级描述符描述下列阵列数据。a00

a01

a02

aO3

b00

b01

b02

b⁰3a10

a1l

a12

a13

b10

b11

b12

b13A=a20

a21

a22

a23

B=b20

b21

b22

b23a30

a31

a32

a33

b30

b31

b32

b33000000第一级

101

2000b00000b01000b33第二级101101000

a33a00a011616§2计算机系统的发展途径一

高CPU的

发二

、从

机向多

展§3影响计算机系统结构发展的因素一

、程序的可移植性的影响二

、应用对系统结构的影响三

、器件发展的影响第二章

数据表示与指令系统§1

示一

、数据表示的确定二

、自定义数据表示1.解:1)两级描述符:000bOO00ObO1000b33000a0000OaO1:00Oa332161621616101101101101101101或

:第一级第二级第

级第二级00O

a00

a01

a33000

b00

b01

..b33:第一级第二级2

)

符第三级

A第手级B10110101101101101101b00b30b01b31b02b32b03b33a01a31a03a33a00a30a02a32101101101101

4244444444三、

向量数据表示1.

含义:有序排列的数据元素称为向量(向量数据)

2.

向量数据的三要素:1)基地址:存放第一个向量数据的地址;2)向量长度:向量数据个数;3)位移量:与基地址的距离。3.

根据三要素可推出参数1)

起始地址=

地址

+

量,

实际

作的第一个数据(元素)的地址;2)

有效向量长度=向量长度-位移量,

实际参与本次

操作的向量数据个数。4.

向量运算指令

基地址

a0STAR—100机共有16个向量寄存器,

移每个

:四位二进制数表示。

起始地址

F

G

X

A

Y

B

C

效别气

2)说明:

a9·度长a2al式用)格存器1寄

10a3

为F:主操作码字段,表示向量指令操作性质。G:辅操作码字段(根据结果,进行转移等)X:存放源向量A长度及基址的寄存器号。Y:存放源向量B长度及基址的寄存器号。A:源向量A位移量所在寄存器号。B:源向量B位移量所在寄存器号。Z:

控制向量长度

(在G有效时)

。C:

存放结果向量C长度及基地址的寄存器号。FGXAYB乙CA向量1000H

al)ala2

a3·al0B向量2000H

b0blb2b3●b8C向量3000H3)例子:完成

以下

。A,B向

。cO=a3+b1c1=a4+b2c7=a10+b8设

测出

8

9

1

0

别11存、放12X号、寄A

、空B

,C,并

出各寄存器及指令

内容。XABCc(clc2c3··c7111000H8#39#10#11升12#92000H83000H解:①向量寄存器分配(无G)F

G

X

A

Y

B

乙向量加10001001101010111100X=1000BA=1001BY=1010B

B=1011B

C=1100B②向量指令格式填写5.

稀疏向量的压缩1)稀疏向量含义:具有多个0元素的向量。2)压缩办法:利用有序“位向量”来指明稀疏向量中各元素的状况及所在位置。①位向量的位数与向量长度相等。②某元素为0时,对应位向量的位为0。某元素为非0时,对应位向量的位为1。

如:

稀疏向量aO00a30a5a60有序位向量:

1占用5个单元

节省3个单元a0=56a3=-112a5=78a6=34目的:*可节省存储空间;*实际长度减少可加快运算速度。0

0

1

1四、

堆栈数据表示1.

含义

:凡

后出方式工

作的特

(

)区

。2.

:1)寄存器堆栈,全由寄存器构成,速度快,扩充栈容

成本高。2)寄存器与存贮器结合堆栈。①寄存器速度快作栈顶(需数个栈顶寄存器)。

②存贮器价格低扩充栈容易。3.

堆栈的生长方式通常采用向下生长方式:压入数据后,堆栈指针SP向

地址减少方向变化。4.

堆栈的主要作用1)保护信息,保存现场;2)支持子程序嵌套与中断嵌套以及递归调用的正确进

入与返回;3)十分有利于完成对逆波兰表达式的运算。

5.

逆波兰表达式及其运算1)三种表达式①数学表达式:

A+B②波兰表达式:+AB③逆波兰表达式:

AB+2)数学表达式的树结构①把运算符做结点。②把运算元素做叶子。③把最

(二叉

)

例:(A+B)*C-D/(E+F)3)逆波兰表达式的生成利用后序遍历树,生成逆波兰表达式要点:先左,后右,先枝叶,后结点,依次收集运算元

素与运算符,直到最后一个运算符(根结点)为止AB+C*DEF+/-4)在堆栈机上完成逆波兰表达式运算要点:见运算元素压入堆栈。见运算符就将次栈顶元素与栈顶元素进行相应运算,

结果留在栈顶,直到最后一个运算符。8

FFEDM八9十E+FDM八6

DDMA7

EEDM八11A+B)八4

|cCA+BA3

十A+B八AA八BBA八顶次顶E+F)M(A+B)八(E+F)10D/顶*C*251五、浮点数尾数的基值

(rm)选择1.浮点表示浮点数的一般形式

N=SXrPS

尾数(含小数点)

p阶码

r

基数(基值rm

)S

小数点后的最高数值位为非0的浮点数称为规格化浮点数。计算机中r

2、4、8、16等。

如:

0.235×81当

r=2

1

011

×2L0]数表示化制规格二进110011.001=1.10101

×21=1101.01

×2-10=0.00110101

×2100小数、可正可负整数、可正可负计算机中Sp3.rm影响的因素①数的表示范围上图中阶码的位数P的大小主要影响浮点数的可表示

范围的大小。2.浮点数的一般格式rm=2时m

位非0最小正尾数2-m.00...01最大正尾数1

-

2

-m.11...11P

1最大正阶2^P-1011...1P

0最大负阶-2^p100...0尾数的位数m

主要影响浮点数的可表示精度。当P一定时,尾数采用什么进制

(

r

)

可影响数的表

示范围、精度及数在数轴上分布的离散程度。P在所有的机器种都时采用二进制。上最小正浮点数

2-m*2-2^P非0最小尾数乘最大负阶-2^p

最大的正浮点数(1-2m)*22~P-1最大尾数乘最大正阶-2^p-1正数轴上表示范围②规格化浮点数个数尾数最高数值位为非0的浮点数称为规格化浮点数

。Pm0001101100010010111115/16

15

240

3840Pm000110111000100111118/169/1615/168/89/8115/88/49/415/48/29/215/2设:P=2,m=4正尾数、

规格化、非负阶。rm=2时,共有32个规格化浮点数1/16

1162562/16

232512rm=16时,共有60个规格化浮点数m0001101101004/164/441601015/165/452001106/166/462401117/167/472810008/168/483210019/169/4936111115/1615/41560Im=4时③规格化浮点数的稀密度e_

rm=β时

与rm=2相

点数的

数rm=2

时,非负规格化浮点数个数rm=16时

e=15/32=0.47tm

=4时

e=24/32=0.75结论:

rm越大,规格化浮点数分布越稀疏。④精度:

(从e可以看出)rm大,精度低。4.rm

的选择原则①应视数的表示范围决定。②随着位数范围越来越大,

I…有向下取的趋势。习

2.

用r=2和8,在不包括符号位在内

的p=3,m=3

且非负阶、正尾数、规格化条件下1)先列出两种r的规格化浮点数表。2)分别计算r。=2和8条件下规格化数的个数,数的表示

范围及表示比e。阶

码部

分值E=

0二

:0.1000

四进制:

0.0100

0.0010

:0.0001最小规格化浮点数的尾数的确定:设

数m=4对

(

0.1)

I1/21/41/81/16三、

向量数据表示四

示五、浮点数尾数的基值(rm)选择rm选

择浮点数的一般格式对数的表示个数、范围、精度、稀密度。的影响

稀密度e的概念规格化浮点数的概念规格化浮点数的最小尾数的确定:设尾数位数m=4

阶码部分值E=0对

(0.1)

r=2:0.1000

1/2r=4:

0.0100

1/4r=8:

0.0010

1/8r=16:

0.0001

1/16上溢负数区

下溢

正数区最小负数

最大负数

最小正数阶

数六、

下溢的处理两种溢出:<上溢>运算结果超出允许范围。<下溢>是指尾数右移过程中丢掉的移

出位,它影响精度。上溢最大正数(绝对值最大)

(绝对值最小)移出位阶符数符误差分析中把机器能表示的最

小分辨数值定为11.

法①含义:对尾数移出位简单截取的一种处理方法

②特点:

I)

无下移处理线路,实现容易。Ⅱ)平均误差为负且较大,无法调节,只适用于对精度无要求之处。2.恒置1法①含义:

不管移出位如何,均将尾数末位置1的一种下溢处理方法。右移后尾数移出位2-12-2取值误差综合20001110~1+3/410+1/211+1/4001001-1/410-1/21

1-3/4③特点:

I)

有了简单的下溢处理线路;Ⅱ)综合

误差

所下降

(比截断法)②取值表右移后移出位2-12-2取值误差综合2X0

0X0+1/20

1-1/41

0X+1+1/21

1+1/43.舍

法①含义:根据移出最高位进行舍取时的一种下溢处理法。

I)当移出的最高位(2-1)=0时,按截断法。Ⅱ)当移出的最高位(2-1)=1时,将尾数的末位加1。③特点:I

)

需移出最高位判别线路及尾数加1线路,比较复杂。

Ⅱ)综合误差较小,用于对精度要求较高处,较常用。②取值表4.查表舍入

法(ROM查表法)①

本思想

从n位

数中

取K位

移出

起送ROM中去查表,并从表中送出K位尾数,使其综合

误差趋于0。n

数ROM送n-k立

k

位移

位查

表表出k

位n-k

位k

位右移后尾数移出位2-12-2取值误差综合误差》00000000

1-1/41

001+1/211+1/4010001U01-1/41010+1/211+1/4②ROM表的安排原则I

)

当K

位尾数为非全1时,按舍入法取值。Ⅱ

)

当K

位尾数为全1时,按截断法取值。③取值表,设K=2,

两个移出位右移后尾数移

位2-12-2取值误差综合误差

>1.00010001-1/41011+1/211+1/4110011001-1/410-1/211-3/4④特点:

I)

具有最复杂的下溢线路(除舍入

法线路

外,

有ROM

表)

;Ⅱ)综合误差最小;Ⅲ)用在精度高的地方。§

2

式一、地址表示1.地址表示类型1)按所用不同进制数①用二进制地址②用八进制地址③用十六进制地址④用十进制地址2

)按所指不同空间表示①存贮单元地址。②I/O端口地址。③寄存器地址3)按存贮管理不同①页地址②段地址③段页地址4)按访问空间数据长度不同(注意地址边界的问题)

(

8

)②半字地址(16位)③

单字

(

3

2

)④双字地址(64位)5)按编程角度①逻辑地址——程序员编程使用②物理地址——程序在主存中的实际存放地址6

)

分①基地址:某用户存储单元的首地址②界

护2物理地址空间的信息分布1)条件:在一个具有双字存储器中,可存放多种

据(

)2)紧凑存放:尽量利用存储空间,将各种不同长度的数据紧凑存放,但可能出现双字、字、半

字跨主存字边界存放的情况,从而增加访存时间。如

字(

4

)、

字(2字节)、字节、半字、单字、单字乙上课Ⅱ去夷专夷乙与未Ⅱ去未毕与与未Z上

X

XI去X

K去東中(

4

吉Z

专未

能猷去

XX(

)

山异专

专未:

(

8去夷专夷°以H一‘二、寻址方式简介1.三种面向的寻址方式机器指令可以访问寄存器、堆栈或主存中的数;

因此相应地就有面向寄存器、面向堆栈和面向主存的不同寻址方式。2.

寻址方式选择原则1)尽快获得操作数(速度)2)

址字

(

省空间)3)能访问尽可能大的存储空间4)有利于循环程序设计5)有灵活多变寻址来达到同一目的访问(编程灵活)3.

术1

)

位目

时,

备的

入程序,把目程序的逻辑地址用软的方法逐一修改

。静态再定位的优点是不需要增加任何硬件。

缺点:对提高主存的利用率不利。不利于多道程序的运行环境。2)动态再定位动态再定位的

种方法是设置基址寄存器和

地址加法器硬件,在程序装入主存时,只将装入

主存的起始地址存入该道程序的基址寄存器中即

可,指令的地址字段不作修改。程序在执行过程

访

。基址寻址的方法主要是支持程序的动态再定位。变址寻址则主要是为实现程序的循环,支持向量、数

组数据的寻址使用的。动态再定位技术的进一步发展是采用映象表来进

行地址的映象和变换,它可以使每个用户在机器上运行比实际主存容量大得多的程序。§

3

统能由计算机硬件直接识别的指令为机器指令,所有

机器指令的集合为指令系统,不同的机器类型具有不同的指令系统。一、指令主要类型类

型任

务表

式运动类指令实现数据的传递复制传递、交换、压入、弹出算术类指令实现各种算术运算加、减、乘、除、比较等逻辑运算指令实现各种逻辑运算逻辑加、逻辑乘、异或、同或、取反等移位指令实现各种移动运算左移、右移、循环左移、循环右移等转移指令实现程序分支转移条件转移、无条件转移、转子、返回等入出指令实现信息交换输

、输出二、指令格式的优化1.对操作码编码方法1)等长编码①每条指令的编码位数相等②编码位数L的确定与指令条数N相关。③

:1og,N]

例:N=7

L=3I)

编码规整,使控制器译码机构简单。Ⅱ)当指令使用频度不同时,

不利于等效平均编码长度

的减少,从而不利于信息的传递效率。等长法用于RISC

(精简指令系统计算机)中点=特L2)Huff

man

压缩编码法①基本思想I)频度高的指令用短码表示。Ⅱ)频度低的指令用较长码表示。②Huffman-A方案编码树的绘制要点:*将指令按频度从高到低顺序排列;*在指令线之外找个根结点,并将它与两端指令连接起

来形成△;*其余指令分别作与频度高的那条边的多条平行线,即

形成编码树。每条指令的使用频度之和为1,

即Pi

=1I3O1结

点I2O根I1O分

点I4OI7I5③编码形成编码树上,结点与结点之间,结点与指令之间规则

0

,

1。每条指令均从根结点出发,

沿最短路径指向指令,

依次收集途中数码,即形成编码。④特点I)在指令的使用频度不相同时,有利于降低信息等效平均编码长度及信息的传送效率。Ⅱ)不同位数编码类型太多,使控制器的译码复杂。⑤信息等效平均码长L的计算li二3)扩展编码法①基本思想:

即要考虑频度不同时,用不等长

编码,又要考虑减少不同位数编码类型,使译码

机构不要太复杂,采用多余一位进行扩展。②两位扩展11110

03

111101

111110I)3/3/3

案)

011:0101000101001101100101101111000111001111

100111101Ⅱ)2/4/8方案002o

1100010011100110184③三

展I)7/7/7方案1111116

1000001011Ⅱ)

4/16/64方案111000I

110110001000000101100010001100064例:某机7条指令使用频度分别为0

.

45,0

.

3,0

.

15,

0.05,0.03,0.01,0.01,

画Huffman-A

方案的树

结构,分别用等长法,H-A方案,扩展法进行编

码,并分别计算各种方案编码的平均码长。L-≥Pi*h(0.45+0.3+0.15+0.05+0.03+0.01+0.01=1

)IiPi等

法H-A扩展法OPliOPliOPliI112I3I4I516170.450.300.150.050.030.010.01000001010011100101110301011011101111011111011111112345000110211001101111011114信息等效平均

码长L31.972.2L=2pi*li=0.45*1+0.3*2+0.15*3+0.05*4+0.03*5+0.02*6=1.97解

:6.05.02OO1

.O1.25.1O5.O3.553-15.451六

、下

理下溢处理的方法、综合误差的大小溢出

称附

位§

2

式物理地址空间的信息分布三种面向的寻址方式寻

则程序在主存中的定位技术§3

统对

:2

介1)含义:指信息源中包含的平均信息量。

(理论上可以达到的最短平均码长)2)信息源熵H的计算:H

≥Pi*log·Pi3.多地址指令设计某机指令字长16位,每个地址字段为4位,要求编写11

条三地址指令,70条两地址指令,140条单地址指令,

写出各类指

示意图。4

4

4

41)

式①三地址指令000

m11条1010OPAlA2A3②两地址指令0001011

1641111100

16>70条11

16000011110101111140条000011111110

121011④零地址11111110110000001111111111111111③单地址指令000011110110320条162)可扩展零地址指令条数计算①共可编写多少条三地址:24=16②剩余三地址共可扩展多少条两地址:

(2⁴-11)*24=5*16=80③剩余二地址共可扩展多少条单地址:〔(24-11)*24-70〕*24=(80-70)*16=160

④剩余单地址共可扩展多少条零地址:{〔(24-11)*2⁴-70〕*24-140}*24=(160-140)*16=320三、

指令系统的改进途径1.

按CISC(

复杂指令系统计算机)方向发展与改进指

令系统●CISC的改进思路按CISC方向发展改进指令系统的出发点是,如何进一

步增强原有指令的功能以及设置更为复杂的新指令来取代

原先由软件子程序完成的功能,实现软件功能的硬化。从面向机器语言目标程序的优化实现、面向高级语言

的优化实现和面向操作系统的优化实现三个方面来改进。1)

面向目标程序的优化实现目标是提高包括系统软件和应用软件在内的各种机

器语言目标程序的实现效率,即缩短目标程序的长度,

加快目标程序的执行速度,并使实现起来方便可行。a.对使用频度高的指令加速完成,可提高指令的吞

吐量。b.

对经常出现的程序段,可用一条指令代替。2)面向高级语言的优化实现目标是缩短高级语言和机器语言的语义差距,这样可以缩短编译程序的长度和节省编译所需的时间。a.

对使用频度高的语句,通过增设复合指令来减少辅助

操作时间。b.

在编译中优化代码生成。c.改进指令系统使之与各种高级语言的语义差距都有共

同的减少。d.提供多种指令系统,多种系统结构以适应不同的高级

语言。e.发展高级语言计算机。3)

面向

OS

(操作系统)的优化实现目标是缩短OS与计算机系统结构之间的语义差,减少

OS的时间开销和空间开销。a.操作系统的常用指令进行分析改进。b.增设专用于OS

的新指令。c.

对OS

中由软件子程序实现的某些功能进行硬化或固化。

d.设置专门的处理机来运行OS,发展功能分布处理系统2.

RISC

方向发展与

改进指令系

统1)

CISC

题指令系统日趋庞大和复杂,使机器的设计周期

长,

升高

系统检测的成本增加;指令的操作繁杂,使执行速度降低;高级语言源程序的优化编译困难,编译的时

空开销增大;指

令系统中,

有80

%的指令

使用频

利用率低,

因而系统的性能价格比低。(

般软

件中简单指令约占总指令数的80%,复

指令只有

2

0%

;简单指令约

总运行

的20%,复

杂指令约占总运行时间的80

%)2)对策a.去掉复杂指令,复杂指令功能由软件实现,可

简化电路设计b.

去掉微程序,采用硬连控制方法,提高处理器

速度c.

简单指令有利于流水线执行d.

简化电路节省了芯片面积,利于增加Cache容

量3)RISC

器主要特

点a.

精简指令的条数,使用频度很高的部分指令(<100);

b.让指令字等长,所有指令都在一个机器周期执行完;c.寻址方式简单,充分利用寄存器寻址;(2~3种)d.CPU内增加通用寄存器的数目;e.

用重迭寄存器窗口技术,有利于子程序调用时的

参数传递;f.

访存指令只有Load/Store两种,其它的指令一律只能对寄存器进行操作。4)设

计RISC

术按设计RISC机

器的

令系统;在CPU内设置大量的寄存器,并采用重叠寄

存器组的窗口;指令采用重叠和流水的方式解释,并

采用延迟转移;优化设计高质量的编译程序。P65

(图2-23有错)RISCII:

138个32位寄存器,其中10个全局寄存器窗口:6(入高)+10(本)+6(出低)优化延迟LOAD

X,R1BRANCH

LADD2,

R1SUB

R1,

R2L:STORE

R1,YLOADADDBRANCHNOPSUBL:STOREX,R12,R1LR1,R2R1,YBRANCHLSUBR1,R2L:STORER1,Y延迟转移:(流水)LOAD

X,R1ADD

2,

R1延

迟5)RISC

点简化了指令系统的设计,适合于用VLSI来实现;提高了机器的运行速度和效率;降低了设计成本,提高

了系统的可靠性;可以直接高效地支持高级语言的实现,

简化了编译程序(指令范围、寻址方式选择、分析、变换)。6)

RISC的问题及发展趋势RISC的问题和不足是:加重了汇编语言程序设计的负担;目标程序所占的存贮空间量可能加大;对浮点运算和虚拟存贮器等的支持还不够强;

对编译程序的设计质量要求较高,难度较大。今后计算机发展改进的总趋势是让RIS

温馨提示

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

评论

0/150

提交评论