计算机系统结构chapter2-1 第二章 数据表示、寻址方式与指令系统
计算机系统结构课后答案unit2
第2章数据表示与指令系统1、数据结构和机器的数据表示之间是什么关系确定和引入数据表示的基本原则是什么?答:数据表示是能由硬件直接识别和引用的数据类型。
数据结构反映各种数据元素或信息单元之间的结构关系。
数据结构要通过软件映象变换成机器所具有的各种数据表示实现,所以数据表示是数据结构的组成元素。
不同的数据表示可为数据结构的实现提供不同的支持,表现在实现效率和方便性不同。
数据表示和数据结构是软件、硬件的交界面。
除基本数据表示不可少外,高级数据表示的引入遵循以下原则:(1)看系统的效率有否提高,是否养活了实现时间和存储空间。
(2)看引入这种数据表示后,其通用性和利用率是否高。
2、标志符数据表示与描述符数据表示有何区别描述符数据表示与向量数据表示对向量数据结构所提供的支持有什么不同?答:标志符数据表示指将数据类型与数据本身直接联系在一起,让机器中每个数所都带类型樗位。
其优点是:(1)简化了指令系统和程序设计;(2)简化了编译程序;(3)便于实现一致性校验;(4)能由硬件自动变换数据类型;(5)支持数据库系统的实现与数据类型无关;(6)为软件调试和应用软件开发提供支持。
缺点是:(1)会增加程序所点的主存空间;(2)在微观上对机器的性能(运算速度)不利。
数据描述符指数据的描述与数据分开存放,描述所访问的数据是整块还是单个的,及访问该数据块或数据元素的地址住处它具备标志符数据表示的优点,并减少了标志符数据表示所占的空间,为向量和数组结构的实现提供支持。
数据描述符方法优于标志符数据表示,数据的描述与数据分开,描述所访问的数据是整块还是单个的,及访问该数据块或数据元素的地址信息,减少了樗符数据表示所占的窨。
用描述符方法实现阵列数据的索引比用变址方法实现要方便,且便于检查出程序中的阵列越界错误。
但它不能解决向量和数组的高速运算问题。
而在有向量、数组数据表示的向量处理机上,硬件上设置有丰富的赂量或阵列运算指令,配有流水或阵列方式处理的高速运算器,不仅能快速形成向量、数组的元素地址,更重要的是便于实现把向量各元素成块预取到中央处理机,用一条向量、数组指令流水或同时对整个向量、数组高速处理.如让硬件越界判断与元素运算并行。
计算机体系结构第二章 数据表示与指令系统2
第二章准备
数据结构:堆栈的描述与操作 汇编语言:子程序调用(堆栈的应用) 组成原理:进制转换、浮点数表示
一、数据表示
1、数据表示与数据结构 数据表示:指可由硬件直接辨认的数据类型 数据结构=数据表示+结构关系
(硬件) (软件)
高级语言与传统指令的数据表示对比
不等的事件时,按照短代码给高概率事件、把长代码 给低概率事件的原则分配,可使平均码长达到最低。
(2) Huffman压缩编码方法
Huffman编码方法 这种编码方法由两个过程组成。 频度合并: 码元分配:
从小到大排序, 最小两个合并, 重复上述过程, 只剩一个结束。
现设一台模型机,共有7种不同的指令,使用频度如表所示。 若用定长操作码表示,则需要3位。
为减少此信息冗余量,改用
1.00
哈夫曼树:
1
0.60
1Байду номын сангаас
0.30
1
0
0.15
1
0
0 0
0.06
0.09
1
010
0.03 0.03 0.04 0.05
I7 I6 I5 I4
0.15 0.30 0.40
I3 I2 I1
∑Pili=0.40*1+0.30*2+0.15*3+0.05*5+0.04*5+0.03*5+0.03*5 =2.20(位)
(2)绝大多数指令需要多个机器周期方可执 行完毕
(3)各种指令都可访问存储器 (4)采用微程序控制 (5)有专用寄存器 (6)难以用优化编译器生成高效的目标代码
RISC(Reduced Instruction Set Computer) 简化指令功能,提供最必要的操作, 功 能弱
计算机系统结构第2章
解:如果在没有向量数据表示的计算机上实现, 一般需要6条指令,其中有4条指令要循环4万 次。因此,CPU与主存储器之间的通信量: 取指令:2+4×40,000条, 读或写数据:3×40,000个, 共要访问主存储器:7×40,000次以上
• 如果有向量数据表示,只需要一条指令。 减少访问主存(取指令)次数4×40,000次
• 浮点数要进行舍入处理的原因是: (1)十进制数转化为浮点数时,有效位长度超过
给定的尾数字长。 (2)两个浮点数的加减乘除结果,尾数长度超过
给定的尾数字长。 • 舍入处理要解决的问题是:
把规格化尾数的p+g位处理成只有p位。 其中:p是浮点数表示方式给定的尾数字长,
g是超过给定尾数字长的部分。
• 舍入方法的主要性能标准是: 绝对误差小,
上溢
下溢(浮点零)
上溢
-Nmin
负数区
-Nmax 0 Nmin
正数区
Nmax
3. IEEE754浮点数国际标准
• 32位单精度浮点数格式如下:
符号 S,1 位 阶码 e,8 位
尾数数值 m,23 位
阶码用移-127码表示,即阶码的0~255分别 表示阶码的真值为-127~128。 尾数用原码、小数,1位符号位、23位小数和 1位隐藏的整数共25位表示。 尾数和阶码的基值都是2。 • 64位双精度浮点数,阶码用11位移码表示
数据的功能,如地址、地址偏移量、数值、 控制字、标志等;
同一种操作(如加法)通常有很多条指令。 • 在高级语言和应用软件中 数据的属性由数据自己定义; 在高级语言与机器语言之间的语义差距,要
靠编译器等填补。
• Burroughs公司在大型机中引入自定义数据表 示方式和带标志符的数据表示方式
自考02325计算机系统结构考点笔记
第一章概论第一节计算机系统的层次结构计算机系统=硬件/固件+软件计算机语言从低级到高级发展:高一级语言的语句相对于低一级语言来说功能更强,更便于应用,但又都以低级语言为基础。
层次结构由高到低依次为:应用语言机器级M5、高级语言机器级M4、汇编语言机器级M3、OS机器级M2、传统机器语言机器级M1、微程序机器级M0。
虚拟机:由软件实现的机器。
语言实现的两种基本技术:翻译:先把N+1级程序全部转换成N级后,再去执行新产生的N级程序,在执行过程中N+1级程序不再被访问。
解释:每当一条N+1级指令被译码后,就直接去执行等效的N级指令,然后再去取下一条N+1级指令,以此重复执行。
第二节计算机系统结构、计算机组成和计算机实现一、计算机系统结构的定义和内涵定义:它是软件和硬件/固件的交界面,即机器语言程序员看到的机器物理系统的抽象。
实质:确定计算机系统中软、硬件的界面,界面之上是硬件和软件实现的功能,界面之下是硬件和固件实现的功能。
透明性:在计算机技术中,把这种本来存在的事物或属性从某个角度看不到,则称对它是透明的。
二、计算机组成与计算机实现的定义和内涵1.计算机组成定义:计算机系统结构的逻辑实现,包括机器级内部的数据流和控制流的组成以及逻辑设计等。
2.计算机实现定义:指的是计算机组成的物理实现,包括处理机、主存等部件的物理结构,器件的集成度和速度,器件、模块的划分与连接,专用器件的设计。
三、计算机系统结构、组成和实现的相互关系和影响1)相同系统结构,可以有不同的组成;2)一种组成可以有多种不同的实现方法;3)采用不同的系统结构会使可以采用的组成技术产生差异;4)组成也会影响结构。
第三节计算机系统的软、硬件取舍及定量设计原理一、软硬件取舍的基本原则软、硬件功能的分配比例对计算机性能的影响:提高硬件功能的比例可提高解题速度,减少程序所需的存储空间,但会增加硬件成本,降低硬件利用率和计算机系统的灵活性级适应性;而提高软件功能的比例可降低硬件成本,提高系统的灵活性、适应性,但解题速度会下降,软件设计费用和所需的存储器用量增加。
计算机系统结构 第二章 数据表示与指令系统
缺点:处理速度慢, 需要花费时间在数的浮 加位加1以及因此产生进 位的时间。
19
4)查表舍入法
其方法是基于存储逻辑思想 ,用ROM 或PLA存放下溢 处理表。
优点:集中了上述各种处理方 法的优点,避免了舍入法所需 的相加和进位传输时间。由于 ROM的读出时间比加法时间短, 所以这种查表的速度比较快。 该方法速度快,平均误差可调 节到趋于0
计算机系统结构
第二章数据表示与指令系统
刘超 中国地质大学计算机学院
第二章 数据表示与指令系统
2.1浮点数数据表示(尾数/基值选择、下溢处理) 2.2高级数据表示(自定义、向量、堆栈) 2.3寻址方式与指令格式优化(寻址/定位/优化) 2.4指令系统的两种风格(CISC和RISC)
3
2.1.2引入数据表示的原则
巨的、范大围、大中,个型数机多上,,运rm算宜速取度大快,;这而样小使、可微表型示机的由数 于可表示数范围不要求太大、速度也不要求太高, 尾 取数 值字小长些较。短如,:所以更注重于可表示精度,宜使rm
PDP-11/ Intel X86等,rm=2; IBM 370,rm=16; Burroughs B6700,rm=8
由于表示产生的误差大小就是数的表示精度。当 总的机器字长确定好之后,结构设计者就应该确 定好浮点数表示中p和m的位数,这主要示根据 数的表示范围和精度来定的。
8
阶码采用二进制p位, 尾在数非采负用阶、rm正进尾制数m、′位规, 格化条件下各种浮点数 特性参量的一般式
10
(1)可表示数的范围 随于p可着大以的rm减r的m少的增。大值,,可为表表示示数相的同范范围围增的大数,,换其句阶话码说的位,对数
寻址方式与指令系统节
寻址方式与指令系统节导言在计算机科学中,寻址方式和指令系统是计算机体系结构设计中至关重要的两个方面。
寻址方式决定了数据的存取方式,而指令系统则规定了计算机执行操作的方法。
本文将探讨寻址方式和指令系统在计算机设计中的重要性,并对它们的一些常见形式和特点进行详细介绍。
寻址方式直接寻址直接寻址是一种简单的寻址方式,其中地址字段直接指向要访问的内存单元。
这种寻址方式效率高,但存储器可以直接访问的容量有限。
间接寻址在间接寻址中,地址字段指向另一个存储位置,该位置包含最终要访问的内存地址。
这种方式可以扩展寻址范围,但多了一次内存访问的开销。
寄存器寻址在寄存器寻址中,指令中直接给出一个寄存器地址,该寄存器中存储了要访问的内存地址。
这种方式速度快,但寄存器数量有限。
基址寻址基址寻址方式使用一个基址寄存器存储一个基地址,再使用另一个寄存器存储偏移量,通过将这两者相加得到最终的内存地址。
这种方式适合访问分散存储的数据结构。
变址寻址变址寻址方式类似于基址寻址,不同之处在于,变址寻址方式允许加上的偏移量不是固定的,而是由指令中提供的。
这种方式适合迭代访问数组等数据结构。
指令系统CISC复杂指令集计算机(CISC)是一种指令系统,其指令集包含了丰富的功能,一条指令可以完成多种操作。
CISC指令集通常包含复杂的寻址方式和复杂的指令格式,适合处理复杂的任务。
RISC精简指令集计算机(RISC)是另一种指令系统,其每条指令只执行一项操作,指令集更加简单明了。
RISC指令集通常使用固定长度的指令格式,寻址方式也相对较简单,适合处理简单快速的任务。
SIMD单指令多数据流(SIMD)是一种并行计算技术,其指令系统中一条指令可以同时处理多个数据元素。
SIMD适用于需要大量相同计算的任务,例如图像处理和数字信号处理。
VLIW超长指令字(VLIW)是一种指令系统,其一条指令包含多个操作,由硬件解析并同时执行。
VLIW通常需要编译器生成多个操作的组合,并且对硬件要求较高。
计算机体系结构第二章
2) 说明:
F
G
X
A
Y
B
Z
C
主操作码字段,表示向量指令操作性质。 F:主操作码字段,表示向量指令操作性质。 G:辅操作码字段(根据结果,进行转移等) : 存放源向量A长度及基址的寄存器号。 X:存放源向量A长度及基址的寄存器号。 存放源向量B长度及基址的寄存器号。 Y:存放源向量B长度及基址的寄存器号。 源向量A位移量所在寄存器号。 A:源向量A位移量所在寄存器号。 源向量B位移量所在寄存器号。 B:源向量B位移量所在寄存器号。 Z:控制向量长度(在G有效时)。 : 存放结果向量C长度及基地址的寄存器号。 C:存放结果向量C长度及基地址的寄存器号。
②块长度:描述数据块的个数。 ③块首址:第一个数据单元的地址。 ④块属性:描述数据的特征。 2)使用描述符的好处 ) ①描述相同类型的数据时,描述效率高; ②利用块属性也有利于对信息的保护; ③可当作直接寻址及间接寻址使用。 直接寻址:根据描述符给出数据块的首址,直接寻址。
存储器一次间接
101 101 000 1 1 数据
= 0.00110101×2100 × 小数、 计算机中 S 小数、可正可负 p 整数、可正可负 整数、
2. 浮点数的一般格式
3. rm影响的因素 ①数的表示范围 上图中阶码的位数 的大小主要影响浮点数的可表示 阶码的位数P的大小主要影响浮点数的可表示 阶码的位数 范围的大小。 范围的大小
尾数的位数m主要影响浮点数的可表示精度。
C向量 3000H c0
c1 c2 c3 ... c7
设:编译程序测出8、9、10、 11、12号寄存器空闲,并分 别存放X、A、Y、B、C,画 出各寄存器及指令的内容。
F G X A Y B Z C
计算机系统结构第二章new
3.指令字格式优化的措施
(3) 采用0、1、2、3等多种地址制,以增强指令的功能, 丏让常用的短操作码不多个地址字段相配合。
(4) 在同种地址制内再采用多种地址形式,如寄存器-寄存 器、寄存器-主存、主存-主存等,让每种地址字段可以有多 种长度,丏让长操作码不短地址码迚行组配。 (5) 在维持指令字在存贮器中按整数边界存贮的前提下,使 用多种丌同的指令字长度。
0
0
1
0
1
4
7
2
尾数用八迚制表示:(0.472)8×85
一、浮点数据表示
一、浮点数据表示----举例
一、浮点数据表示
一、浮点数据表示
尾数(16) 尾数(10) 1/16 2/16 3/16 4/16 5/16 6/16 7/16 8/16 9/16 10/16 11/16 12/16 13/16 14/16 15/16 尾数(2) 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111 阶码 10
数符
阶符
阶码 尾数
尾数
147 0.625×2
一、浮点数据表示
2 通用计算机浮点数的表示格式
0 0 1 0 1 1 0 0 1 1 1 0 1
在丌同的计算机上,浮点数的表示方式也丌相同。一般地, 阶码部分用二迚制表示。 尾数用几迚制表示,随机器而异。
一、浮点数据表示
2 通用计算机浮点数的表示格式
0 0 1 0 1 1 0 0 1 1 1 0 1
本章的难点是:浮点数尾数基值的选择;操作码和指令字格
式的优化设计。
一、浮点数据表示
一、浮点数据表示
计算机系统结构
20
2.2.2.2间接寻址方式与变址寻址方式的比较
目的相同:都是为了解决操作数地址的修改问题,都能做到不 改变程序而修改操作数地址 原则上,一种处理机中只需设置间址寻址方式与变址寻址方 式中的任何一种即可,有些处理机两种寻址方式都设置 如何选取间址寻址方式与变址寻址方式?优缺点怎样?
tiger September 2008
17
2.2.1 编址方式
编址方式是指对各种存储设备进行编码的方法 2.2.1.1编址单位 常用的编址单位:字编址、字节编址、位编址、块编址 等 编址单位与访问字长 一般:字节编址,字访问 部分机器:位编址,字访问 辅助存储器:块编址 2.2.1.2零地址空间个数 三个零地址空间:通用寄存器、主存储器和输入输出设 备均独立编址 两个零地址空间:主存储器与输入输出设备统一编址 一个零地址空间:所有存储设备统一编址,最低端是通 用寄存器,最高端是输入输出设备,中间为主存储器 隐含编址方式,实际上没有零地址空间:堆栈、Cache等
tiger September 2008
5
例2.2
实现A=A+B,A和B均为200×200的矩阵,分析向量数据表示 的作用 解: 如果在没有向量数据表示的计算机系统上实现,一般需要6 条指令,其中有4条指令要循环4万次。 因此,CPU与主存储器之间的通信量: 取指令2+4×40,000条, 读或写数据3×40,000个, 共要访问主存储器7×40,000次以上。 如果有向量数据表示,只需要一条指令。 减少访问主存(取指令)次数:4×40,000次 缩短程序执行时间一倍以上。
req 1 p ( 1 rm ) rm
计算机系统结构讲解
条件转移指令后面插入空操作;如果指 令的执行过程分为多个流水段,则要插 入多条指令
调整前的指令序列:
1: move r1, r2 2: cmp r3, r4 ;(r3)与(r4)比较 3: beq exit ;如果(r3)=(r4)则转移到next 4: add r4, r5
下一节主要介绍RISC
第二章 指令系统
2.1 数据表示 2.2 寻址技术 2.3 指令格式的优化设计 2.4 指令系统的功能设计 2.5 RISC指令系统
2.5 精简指令系统计算机RISC
2.5.1 从CISC到RISC
70年代,指令系统已非常庞大,指令功能 相当复杂(见下页表)。
1975年,IBM公司率先组织力量开始研究指 令系统的合理性问题
2.4.2 指令系统性能
完整性是指应该具备的基本指令种类,通用 计算机必须有5类基本指令
规整性包括对称性和均匀性 对称性:所有寄存器头等对待操作码的设 置等都要对称,如:A-B与B-A 均匀性:不同的数据类型、字长、存储设 备、操作种类要设置相同的指令
高效率:指令的执行速度要快;指令的使用 频度要高;各类指令之间要有一定的比例
实现方法:如果转移不成功执行下条指 令,否则取消下条指令。例子:
RRR
……
SSS
;If部分的程序代码
cmp r1, r2, thru ;若转移,则取消TTT
TTT
;若不转移,则执行TTT
……
;Then部分的程序代码
…… UUU
;Then部分的程序代码
thru: VVV
十分接近
目前,超标量、超流水线处理机的CPI已经 达到0.5,实际上用IPC (Instruction Per Cycle)更确切。
计算机系统结构第2章
表示型、结构型
√ . 表示型数据:硬件能直接识别和引用的、由运算指 令和运算部件实现运算的数据。如定点数,浮点数, 布尔数和二进串,表示型数据是自然数据形式。 √ . 结构型数据:将表示型数据按一定的逻辑组织起来, 就成为结构型数据。它们面向应用和软件。如: 串, 栈, 队列, 向量, 树, 图等等。结构型数据是人为的
★ 续上
★浮点数的规格化 规定:浮点数 F = M1×2n 在保证 F 的值不变的前提下,同时变换 n 和 M1的值,使得该浮点数真值 的尾数小 数点后面第一位为 “1” 成为 0.1□□ …□ × 2n 的形式 例如:0.0100111 × 26 变换为 0.1001110 × 25 (注:请同学们考虑,如若尾数用补码表示,那 末小数点后第一位应是□? 请举例)
原理上,软件实现的功能完全可以用硬件或固件完成,硬件实现的功能也可以由软件的模拟来完成,只是其性能、价格实现的难易程度有所不同。
软件和硬件在逻辑上是等效的。
具有相同功能的计算机系统,其软、硬件功能分配比例可以在很宽的范围内变化。
第二章 数据表示与指令系统 (P36)
. 浮点数一般的典型格式如图所示:
数符
阶符
E(阶码)
M(尾数的有效数字)
一般浮点表示
小数点
S SE E1 …… En M1 M2 …… Mm
N=(-1)S 2 E 0.M
. 理论上浮点数从格式换算为真值:
2.1 浮点数表示和 IEEE 754 标准 2.2 高级数据表示 自定义数据/ 向量数据/ 堆栈数据 2.3 寻址方式与指令格式的优化设计 寻址方式/ 程序定位技术/ 指令格式优化设计 2.4 指令系统设计的两种风格 指令系统的功能 CISC / RISC 两种指令系统风格和它们的比较
第2章 数据表示寻址方式与指令系统.ppt
1.浮点数尾数基值的选择 浮点数存储格式:
阶符 阶码P
数符 尾数S
N 2 p S
例:设尾数为4位,阶码为2位
0 11
0 1011
N=2111011
实际上浮点数表示方法要研究的关键问题是: 在数据字长已经确定的前提下,研究各种浮点数 表示方式的表数范围、表数精度、表数效率及它 们之间的关系等,并且企图寻找到一种具有最大 表数范围、最高表数精度和最优表数效率的浮点 数表示方法。
3.堆栈数据表示和堆栈计算机
堆栈计算机表现在它有由高速寄存器组成的 硬件堆栈,有丰富的堆栈操作指令,能直接用堆 栈进行复杂的运算和处理。(一般的通用寄存器型 机器只有简单的软堆栈——在主存中开辟一个堆 栈区,只有少量功能简单的堆栈指令)
堆栈计算机可以用堆栈保存全局性参数,局 部性参数,返回地址,各种状态标志信息和中间 结果所用的工作区,有力的支持了子程序的嵌套 和递归调用。
它又有标志符数据表示和数据描述符两类。
⑴ 标志符数据表示:
标志符数据表示是让数据字本身带有数据或 信息的类型标志。标志符由编译程序建立,对高 级语言源程序应设计成透明的。
标志符虽然主要用于指明数据类型,但还可 以用于指明机器内所用信息的各种类型,如指明 是数值,控制信息,地址还是指令字。
采用标志符数据表示方法的优点:
截
00
断
法
11
10
01
00 00 101 01 110 10 1 1111 1 00
⑵ 恒置1法:把规格化尾数有效字长p位的最低一 位置成r/2,而不管超过有效字长之外的g位代码 是什么。
最大误差:在整数二进制运算时为1,在分数二进 制运算时为
对于正数,统计平均误差接近于零,但稍偏正。 平均误差无法调节。
计算机系统结构02指令系统(数据表示)
2.1.2 浮点数据的表示方法
r 一、浮点数的表示方式: Nm e m
(1)两个数值 尾数m:数制(小数或整数)和码制(原码或补码)。 阶码e: 整码,移码(偏码、增码、余码)或补码。
(2)两个基值:
尾数基值rm:2、4、8、16和10进制等。
阶码基值re:通常为2进制。
(3)两个字长:长度和物理位置,均不包含符号位 尾数长度p: 尾数部分按基值计算的长度 阶码长度q : 阶码部分的二进制位数。
二进制字长:L2= kp2+q2+2
由于F1和F2二进制字长相同,即L1= L2,得
p1+q1 =kp2+q2 (2.1)
24
字长和表数的范围确定时,尾数基值与标数精 度的关系
F1的表数范围是:|N1max|22q1
F2的表数范围是:|N2max|(2k)2q2
F1和F2的表数的范围相同,得到:2q1 k2q2
(rm, p) 2 m
(rm) rm1
rm
在字长确定的情况下,如何选择尾数基值rm,
使表数范围最大、表数精度和表数效率最高。
23
2.浮点数尾数基值的选择 假设有两种表示方式F1和F2,它们二进
制字长相同,尾数都用原码或补码、小 数表示,阶码都用移码、整数表示,阶 码的基值均为2,尾数基值不同。 浮点数表示方式F1:rm1=2,p1,q1, 二进制字长:L1= p1+q1+2 浮点数表示方式F2:rm2=2k,p2,q2,
浮点数的存储方式如下:
1位 1位
q位
p位
mf ef
e
m
注:mf 为尾数的符号位,ef 为阶码的符号位,e 为阶码的值,m 为尾数的值。9
寻址方式和指令系统50页PPT
第2章 寻址方式和指令系统
4.从源串中取数指令LODS 语句格式:① LODSB——从字节串中取数 ② LODSW——从字串中取数 功能:将SI所指的源串中的一个字节(或字)存储单元 中的数据取出来送入AL(或AX)中。 即:① 字节操作:([SI])→AL,字操作:([SI]) →AX。 ② 修改指针SI,使它指向串中的下一个元素。 当DF=0时,(SI)增量。当DF=1时,(SI)减量。
第2章 寻址方式和指令系统
2.加指令ADD 语句格式:ADD OPD, OPS 功能:将目的操作数与源操作数相加,结 果存入目的地址中,源地址的内容不改变。 即(OPD)+(OPS)→OPD。
第2章 寻址方式和指令系统
3.带进位加指令ADC 语句格式:ADC OPD,OPS 功能:将目的操作数加源操作数再加低位进位, 结果送目的地址。 即(OPD)+(OPS)+CF → OPD。 【例2.20】无符号双字加法运算。 Sum=0234 4652H + 0F0F0F 0F0H MOV AX,4652H ;(AX)=4652H ADD AX,0F0F0H ;(AX)=3742H,CF=1 MOV DX,0234H ;(DX)=0234H ADC DX,0F0F0H ;(DX)=0F325H,CF=0
MOV BL,11H ;(BL)=11H
IMUL BL
;(AX)=0FAF4H
返回本节
第2章 寻址方式和指令系统
2.3.4 除运算指令
1.无符号除指令DIV 2.有符号除指令IDIV
第2章 寻址方式和指令系统
1.无符号除指令DIV
语句格式:DIV OPS
功能:字节除法:(AX)/(OPS)→ AL(商)、AH(余数)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
必须用专门的指令 完成标识符的初始 化
❖ 为软件调试和应用软件开
发提供支持;
13
采用标识符缩短操作码而节省程序空间
计 算
机
系
统
采用标识符 数据字增长
不采用标识符
结 构
A
数据(少)
B
通常有
面积B>面积A
指令(多)
采用标识符 指令字缩短
14
举例:
计 算
机
系
❖ 假设X处理机的数据不带标志符,其指令字
统 结
20
数据描述符与带标识符的区别
计 算
机
系
❖ 标识符是和每一个数据相连的,合存在一个
统 结
存储单元中,描述单个数据的类型特征。 构
❖ 描述符是和数据分开存放的,专门用来描述 所要访问的数据是整块数据还是单块数据, 访问该数据块或数据元素需要的地址以及其 他特征信息等。
第二章 数据表示、寻址方式与 指令系统
计 算 机 系 统 结 构
计 算 机 系 统 结 构
1 数据表示
计 算
机
系
❖ 定义:机器硬件能直接识别和引用的数据类型。 统 结
❖ 条件:相应的运算指令和运算硬件(处理部件)。 构
❖ 分类:基本数据表示、高级数据表示、自定义数据 表示。
❖ 目标:
缩小高级语言和机器语言间的语义差别
用定点数表示浮点数
构
不方便而低效
❖ 50年代提出变址操作,为向量、阵列提供方便。
变址寻址:把CPU中某个变址寄存器的内容与偏移量D相 加来形成操作数有效地址。
用循环遍历向量和阵列
❖ 可变长字符串数据表示
支持串数据结构的实现
用于输入、输出、事务处理和编译
8
起始地
变化范 围
计 算 机
址
系
统
结
构
多维 图 2.1 变址操作对向量、 阵列数据结构的支持
9
2 高级数据表示
计 算
机
系
❖ (1)自定义数据表示(Self_defining)
统 结
带标识符的数据表示
构
数据描述符
❖ (2)向量数组数据表示
❖ (3)堆栈数据表示
10
(1)自定义数据表示
计 算
机
系
❖ 高级语言和机器语言的差别
❖用类型说明语句指明数据类型,数据类型与数据本身 联系
数据
目的:描述复杂和多维的结构类型。
17
数据描述符
计 算
机
系
❖ 实现阵列数据的索引比变址方法实现的好,
统 结
而且能检查程序设计中阵列越界错误。
构
❖ 为向量、数组数据结构的实现提供一定的支 持,有利于简化编译中的代码生成。
❖ 工作过程:如下图
18
描述符的工作过程
主存储器
计 算 机
系
指令 操作码 X Y 寄存器
统
结
101
构
描述符
(数据)
101
000
··· ··· ···
地址生成逻辑
101 描述符
(数据) 000
数据块 数据块
101
按指令操作数x,y访存,若取来的字的前三位
=“000”,就是所需操作数
=“101”,表明是描述符。取到描述符寄存器,经地址形成逻辑
形成操作数的地址,再访存取数
19
101
101 101 101
长和数据字长均为32位;Y处理机的数据带 构
标志符,数据字长增加至35位,其中3位是
标志符,其指令字长由32位减少至30位。并
假设一条指令平均访问2个操作数,每个操
作数平均被访问R次。分别计算这两种不同
类型的处理机中程序所占用的存储空间。
15
计
算
机
系
统
Bx32I 2*32I
By30I2*35I
结 构
6
数据表示中应表达的内容
计 算
机
系
❖ 数值的表达
统 结
进位制数、负数、小数点的方式
构
❖ 字符和符号的表达 ASCII码
❖ 数据单位的表达
字:逻辑单位,一条指令处理的数据单位。32Bit,
字节、半字、字、双字
❖ 数据的属性
类型、存放的位置、对数据的约束
7
数据表示的发展
计 算
机
系
❖ 定点数据表示
统
结
统 结
的操作集。
构
目的:防止不同类型数据间的误操作。
分类:基本类型、结构类型。
❖ 基本数据类型
内容:二进制位、二进制位串、整数、十进制数、浮点 数、字符、布尔数等。
❖ 结构数据类型定义:由一组相互有关的数据元素复 合而成的数据类型。
分类:系统数据类型、用户自定义数据类型 内容:数组、字符串、向量、堆栈、队列、记录等
R
R
程序占用存储空间的比值:
By
3
0I
2*3 R
5I 1 5R3 5
Bx 32I 2*32I 16R32
R
当R>3时,有:By<Bx 在实际应用中经常是R>10
即带标志符的处理机所占用的存储空间通常要小。
16
(1)自定义数据表示-数据描述符
计 算
机
系
描述符
统
结
101
各种标识符 长度
地址
构
数据
000
❖运算符通用,与数据类型无关
机器语言
❖操作码指明操作数的类型
浮加
I
J
❖ 问题:编译时需要把高级语言中的数据类型 说明语句和运算符变换成机器语言中不同类
型指令的操作码,并验证操作数的类型是否 与运算符要求的一致
11
(1)自定义数据表示-带标识符的数据表示
计 算
机
系
统
类型标志 数据值
结 构
主要用于指明数据类型(如二进制整 数、十进制整数等),也可用于指明机器 内部所用信息的各种类型。
提高性能/价格 节省处理时间和存储空间
❖ 实现:最小的存储空间、最简单的存取算法。
4
数据表示与数据结构
计 算
机
❖
数据表示:指的是能由机器硬件直接识别和引用的 数据类型。由硬件实现的数据类型
系 统 结
构
❖ 数据结构:面向计算机系统软件、面向应用领域所
需处理的数据类型。由软件实现的数据类型。
反映了应用中用到的各种数据元素或信息单元之间的结 构关系
目标:最大限度满足应用要求、最简化的方法实现。 实现:通过数据表示和软件映象相结合方法实现。
❖ 两者的关系
不同的数据表示可为数据结构的实现提供不同的支持
数据表示是数据类型的子集
数据结构和数据表示是软、硬件的界面
数据表示的确定实质上是软、硬件的取舍问题
5
数据类型
计 算
机
系
❖ 定义:具有一组值的集合,且定义了作用于该集合
3
4 4 4
3 * 4二维阵列 A
a11 a12 a13 a14
a
2
1
a 22
a 23
a
2
4
a 31 a 32 a 33 a 34
000
a11
000
a12
000
a13
000
a14
000
a21
000
a22
000
a23
000
a24
000
a31
000
a32
000
a33
000
a34
计 算 机 系 统 结 构
由编译程序建立,对高级程序员透明。
12
带标识符的数据表示的优缺点
计 算
机
系
优点:
缺点:
统 结
❖ 简化指令系统和程序设计 使程序所占用的主 构
❖ 简化编译程序
存空间增加(如下
❖ 便于一致性校验
图)
❖ 能由硬件自动完成数据类 型的变换
降低指令的执行速 度;
❖ 支持数据库系统的实现与 数据类型无关的要求