欢迎来到天天文库
浏览记录
ID:44985524
大小:337.00 KB
页数:24页
时间:2019-11-06
《第5章 指令与指令系统和汇编语言程序设计(1)》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、第5章指令、指令系统和汇编语言程序设计本章主要内容指令格式与指令系统概述寻址方式概述与应用举例汇编语言程序设计计算机系统由硬件和软件两大部分组成。硬件指由中央处理器、存储器以及外围设备等组成的实际装置。软件是为了使用计算机而编写的各种系统的和用户的程序,程序由一个序列的计算机指令组成。指令是计算机运行的最小的功能单元,是指挥计算机硬件运行的命令,是由多个二进制位组成的位串,是计算机硬件可以直接识别和执行的一个信息体。一台计算机提供的全部指令构成该计算机的指令系统。指令用于程序设计人员告知计算机执行一个最基本运算
2、、处理功能,多条指令可以组成一个程序,完成一项预期的任务。1、指令概述、功能和设计要求具体一点说,可以把设计要求归纳为如下4点:完备性:指令齐全,编程方便规整性:格式与运算规则统一高效性:占内存少,运行省时兼容性:同一系列机软件兼容既要支持程序设计人员用它设计各种程序,越简单、方便越好,又要容易在计算机中用硬件实现这些指令的处理功能,越节省、高效越好,但这两个方面的要求经常是有矛盾的。对设计指令系统的要求确定指令系统的两种思路从降低硬件系统构成的复杂度、提高指令执行速度和并行性考虑,确定指令系统的两种思路:精简指
3、令系统计算机指令数目较少、格式与功能简单、运行高效追求计算机控制器实现简单,运行高速更容易在单块超大规模集成电路芯片内制做出来指令并行性好复杂指令系统计算机(相对于RISC)指令条数多,格式多样,寻址方式复杂,每条指令的功能强,汇编程序设计容易些计算机控制器的实现困难多,很多指令被使用的机会比较少。指令并行度差RISCReducedInstructionSetComputerCISCComplexInstructionSetComputer输入设备输出设备入出接口和总线外存设备主存储器高速缓存控制器运算器ADDS
4、UBANDORMVRRSHRRCLOUTSTOREPUSHJUMPJRCCALLRETLOADPOPIN使用硬件系统用到的基本指令指令格式指令格式:操作码:指明本条指令的操作功能,每条指令有一个确定的操作码操作数地址:说明操作数存放的地址,有时是操作数本身指令字:完整的一条指令的二进制表示指令字长:指令字中二进制代码的位数机器字长:计算机能直接处理的二进制数据的位数指令字长(字节倍数)=0.5、1、2…个机器字长定长指令字结构vs.变长指令字结构操作码操作数地址操作码组织与编码(1)定长操作码在指令字最高位部分分
5、配固定若干位用于表示操作码,有利于简化计算机硬件设计,提高指令译码和识别速度。例如:IBM360机、TEC-2000的16位机指令操作码的位数限制指令系统中的指令条数!操作码组织与编码(2)变长操作码在指令字最高位部分用一固定长度的字段来表示基本操作码,而对于部分操作数地址位数可以少的指令,则把另外多位辅助操作码扩充到该操作数地址字段,即操作码位数可变。这种方法在不增加指令字长的情况下,可表示更多的指令,但增加了译码和分析难度,要求更多的硬件支持。例如:PDP-11计算机、TEC-2000的8位机操作码组织与编码
6、(3)操作码字段与操作数地址字段有所交叉不同指令的操作码长度可以不同,表示操作码所用到的一些二进制位不再集中在指令字的最高位部分,而是与用于表示操作数地址的一些字段有所交叉,操作码还被区分为主操作码和辅助操作码这样不同的两部分,这是一种比较特殊、不很常用的方案。例如:NOVA(DJS-130)计算机就采用这种方案指令操作数个数无操作数指令(零地址指令)单操作数指令(一地址指令)双操作数指令(二地址指令)三操作数指令(二地址指令)多操作数指令(多地址指令)指令操作数来源和去向CPU内部的通用寄存器输入输出设备(接口
7、)的一个寄存器主存储器的一个存储单元操作数个数与来源OPA1A2OPA1OPOPA1A2A3OPA1A2更多假设某机器的指令长度为16位,包括4位基本操作码和三个4位地址码段。15…1211……87……43……0OPA1A2A34位基本操作码可表示16个状态,如用4位操作码,则能表示16条三地址指令,若用8位操作码,则可表示256条二地址指令,而用12位操作码,则可表示4096条一地址指令,若16位全用作操作码,则可表示65536条零地址指令操作码的扩展技术若需要在16位字长的指令中能够同时支持三地址、二地址、一
8、地址指令各15条,零地址指令16条,则可以选用如下方案的变长操作码实现:16条零地址指令的操作码的高12位每位均用1,低4位随意,即:1111111111110000~111111111111111115条三地址指令的操作码为:0000~111015条二地址指令的操作码的高4位选用1111,低4位用0000~1110,即得到:11110000~1111111015条一地址
此文档下载收益归作者所有