指令长度与机器字长的关系5.2.3,机器字长是指计算机能直接处理的二进制数据的位数,它与计算机的功能和用途有很大的关系,是计算机的一个重要技术指标。地址码长度决定了指令直接寻址能力。这对于字长较短(8位或16位)的微型机来说远远满足不了实际需要,扩大寻址能力的方法,一是通过增加机器字长来增加地址码的长度:二是采用地址扩展技术,把存储空间分成若干个段,用基地址加位移量的方法来增加地址码的长度。指令字长度是指一个指令字中包含二进制代码的位数。如指令字长度等于机器字长度的指令,称为单字长指令
• 机器字长是指计算机能直接处理的二进制数据 的位数,它与计算机的功能和用途有很大的关 系,是计算机的一个重要技术指标。地址码长 度决定了指令直接寻址能力。这对于字长较短 (8位或16位)的微型机来说远远满足不了实 际需要,扩大寻址能力的方法,一是通过增加 机器字长来增加地址码的长度;二是采用地址 扩展技术,把存储空间分成若干个段,用基地 址加位移量的方法来增加地址码的长度。 ◼5.2.3 指令长度与机器字长的关系 ◼指令字长度是指一个指令字中包含二进制代码 的位数。如指令字长度等于机器字长度的指令, 称为单字长指令
指令的长度主要取决于操作码的长度、操作数地址的长度和操作数地址的个数。由于操作码的长度、操作数地址的长度及指令格式不同,各指令的长度不是固定的,指令的长度通常为字节的整数倍。指令的长度与机器的字长没有固定的关系,它既可以小于或等于机器的字长,也可以大于机器的字长。前者称为短格式指令,后者称为长格式指令。一条指令存放在地址连续的存储单元中。同一台计算机中可能既有短格式指令文有长格式指令,但通常是把最常用的指令(如算术逻辑运算指令、数据传送指令)设计成短格式指令,以便节省存储空间和提高指令的执行速度。在Intel8086中,指令格式是可变的:为8位、16位24位、32位、40位、48位六种
• 指令的长度与机器的字长没有固定的关系,它既可 以小于或等于机器的字长,也可以大于机器的字长。 前者称为短格式指令,后者称为长格式指令。一条 指令存放在地址连续的存储单元中。同一台计算机 中可能既有短格式指令又有长格式指令,但通常是 把最常用的指令(如算术逻辑运算指令、数据传送 指令)设计成短格式指令,以便节省存储空间和提 高指令的执行速度。 指令的长度主要取决于操作码的长度、操作数地址的长 度和操作数地址的个数。由于操作码的长度、操作数地 址的长度及指令格式不同,各指令的长度不是固定的, 指令的长度通常为字节的整数倍。 ◼在Intel8086中,指令格式是可变的:为8位、16位、 24位、32位、40位、48位六种
5.3数据表示计算机中基本数据有逻辑数、定点数、无符号数、浮点数、字符数及数组等。目前微机所用的数据(字)长度一般为32位,4个字节。内存地址按字节编址。计算机指令系统可支持对字节、半字、字、双字的运算,有的还支持位操作。为便于硬件的实现,一般要求多字节数据采用对准数据边界的方式储存。不合要求则填充空白字节(无操作)代替
5.3 数据表示 • 计算机指令系统可支持对字节、半字、字、 双字的运算,有的还支持位操作。 计算机中基本数据有逻辑数、定点数、无符 号数、浮点数、字符数及数组等。 目前微机所用的数据(字)长度一般为32位, 4个字节。内存地址按字节编址。 ◼ 为便于硬件的实现,一般要求多字节数据采 用对准数据边界的方式储存。不合要求则填充空 白字节(无操作)代替
对准边界(下图所示)格式存储数据:地址4字节32位存储器0字地址04字地址48半字地址10半字地址8半字地址1212字节地址15字节地址1416字节地址19字节地址18字节地址17字节地址16半字地址22字节地址20字节地址2120在数据对准边界存储的计算机中,对于以二进制表示的存储地址来说,半字地址的最低位、字地址的最低两位和双字地址的最低三位恒为零
4字节32位存储器 字地址0 字地址4 半字地址10 半字地址8 字节地址15 半字地址12 半字地址22 对准边界(下图所示)格式存储数据: 字节地址14 字节地址19 字节地址18 字节地址17 字节地址16 字节地址21 字节地址20 地址 0 4 8 12 16 20 在数据对准边界存储的计算机中,对于以二进制 表示的存储地址来说,半字地址的最低位、字地 址的最低两位和双字地址的最低三位恒为零。 字节地址18
有的计算机不要求对准边界存储数据,如下图所示,但这种方式增加硬件的复杂程度,并且有可能导致访问次数增加。32位、4个字节字节半字半字的一半半字另一半一字的1/4
32位、4个字节 地址 0 4 8 半字的一半 字节 一字的3/4 半字 有的计算机不要求对准边界存储数据,如下 图所示,但这种方式增加硬件的复杂程度,并 且有可能导致访问次数增加。 半字另一半 一字的1/4 半字