立即数计算机组成原理,计算机组成原理-(五).ppt

本文深入探讨了处理器指令系统,包括源寄存器和目的寄存器的概念,以及如何通过G0和常量模拟缺失指令。此外,详细介绍了PentiumⅡ的寻址方式,如模式字节、SIB和存储器地址计算。还提到了饱和运算在处理溢出情况下的重要性,并阐述了MMX技术如何提升整数数据处理效率。最后,讨论了操作码扩展的策略,强调了编码优化对系统性能的影响。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

计算机组成原理-(五)

* * 注:SRC=源寄存器 DST=目的寄存器 R1=源寄存器 S2=源寄存器或者立即数 ADDR=内存地址 FCN=函数代码 MASK=操作类型 CON=常量 V=寄存器标识符 CC=条件码集合 R=目的寄存器 cc=条件码 r=LZ,LEZ,Z,NZ,GZ,GEZ * 读者可能会注意到表5-2中缺少一些大家所熟悉的CISC指令,但是可以很容易地用 G0或者一个常量操作数(格式3)来模拟这些指令。表5-3给出了一些这样的例子。 表5-3中例子的实现通常由编译器产生,而且能被Ultra SPARCⅡ汇编器识别。它 们中的许多都利用了G0是硬接地,向G0中存数没有任何效果这样一个事实。 由此也可以看出,指令系统是很灵活的,有些操作可以用硬件来完成,也可以用软件 完成,例如表5-3中的MOV指令,可以设置这条指令用硬件实现,也可以用另一条指令 (即软件的方法)来实现这条指令。当然有时可能需要连续执行几条指令才能完成另一条 指令的功能。所以计算机中软、硬件功能的分工不是一成不变的。 * Scale指定比例系数(4种组合分别对应×1,x2,x4,x8,);Index(3位)定义变址寄存器;BASE(3位)定义基址寄存器。 * 例 REPE CMPSB ;串比较,直到ZF=0(串相等)或CX=0(串末尾) * (3)模式字节 PentiumⅡ指令系统规定操作数中必须有一个是在寄存器中。模式字段MOD与R/M 字段组合定义另一个操作数的寻址方式,REG字段规定了另一个操作数所在的寄存器。 从逻辑上来说,EAX、EBX、ECX、EDX、ESI、EDI、EBP和ESP中的任意一个都可以 用于源操作数寄存器和目的操作数寄存器。但是编码规则禁止了其中的某些组合,而把 它们用于特殊的目的。 由MOD和R/M联合指定8种寄存器寻址和24种变址寻址方式, reg/OP 指定某个寄存器为操作数或作为操作码的扩展用。 ③SIB:由SS(2 位)、Index、Base三部分组成。SS指定比例系数(4种组合分别对应×1,x2,x4,x8,);Index(3位)定义变址寄存器;BASE(3位)定义基址寄存器。 存储器地址的=(变址器寄存器)×比例因子+(基址寄存器) 。 * PentiumⅡ具有很大的地址空间,采用了段页式存储管理模式,即将内存分为16384 个段,每个段的容量为4GB,按0~232-1进行编址,地址长度为32位,按照小端排序(低 位地址存放在低位字节)的方式存储字。 PentiumⅡ配备了大量的寄存器,包括基本体系结构寄存器、系统级寄存器、调试和 测试寄存器、浮点寄存器等,其中32位的通用寄存器不仅可以用于处理32位的数据,还 可以用于处理16位和8位数据,以满足用户的不同要求。 * * 由于PentiumⅡ的指令系统比较庞大,为了简单起见,图5—20列出了编译器和程序 员比较常用的PentiumⅡ指令系统中的整数指令,不包括浮点指令、控制指令和某些特 殊的整数指令。 * * * * * 但是,在很多情况下,这种运算模式会产生问题。例如图像的插值运算:a点亮度值为F3H,b点亮度值为1DH,则根据上述运算模式线性插值结果为10H/2=08H。显然,该结果的亮度值比b点还低。为此,引入饱和运算:即上溢与下溢结果被截取至各类数据值域的最大值或最小值。 * (F3H+1DH)/2=FFH/2=7FH,实际上F3H+1DH=110H,在一般运算中已溢出,但在饱和运算时取8位二进制数值的最大值为FFH。 * 一条MMX指令能同时操作8 B,且一个时钟可以同时完成两条指令,因此在一个时钟周期内可以处理完16B的数据。几乎所有靠重复和循环方式对整数数据进行计算的应用,均能从MMX技术中获益。 * PADD 环绕字节加法,无数据类型时默认为字节运算。 PADD指令如有S或US则为饱和运算,此处没有,故为环绕运算。 * * * 根据指令系统的要求,扩展操作码的组合方案可以有很多种,可以采用等长扩展,也可采用不等长扩展。 例如PDP-11机的指令操作码就有4、7、8、10、11和13位等不同的长度。在进行操作码扩展的过程中,必须要注意的是,不同指令的操作码编码一定不能重复,另外在设计不同长度的操作码时,还要尽量做到使用频度高的指令使用短的操作码,使用频度低的指令使用较长的操作码,这样可以缩短经常使用的指令的译码时间,加快系统整体的运行速度。 * 其中,ACS和ACD字段分别用于指示源寄存器和目的寄存器。主操作码为3位,各辅助操作码

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值