![[工学]第四章指令系统.doc_第1页](http://file.renrendoc.com/FileRoot1/2019-1/5/a9cc559b-8bf9-473d-aa8d-a7c179d6b2ae/a9cc559b-8bf9-473d-aa8d-a7c179d6b2ae1.gif)
![[工学]第四章指令系统.doc_第2页](http://file.renrendoc.com/FileRoot1/2019-1/5/a9cc559b-8bf9-473d-aa8d-a7c179d6b2ae/a9cc559b-8bf9-473d-aa8d-a7c179d6b2ae2.gif)
![[工学]第四章指令系统.doc_第3页](http://file.renrendoc.com/FileRoot1/2019-1/5/a9cc559b-8bf9-473d-aa8d-a7c179d6b2ae/a9cc559b-8bf9-473d-aa8d-a7c179d6b2ae3.gif)
![[工学]第四章指令系统.doc_第4页](http://file.renrendoc.com/FileRoot1/2019-1/5/a9cc559b-8bf9-473d-aa8d-a7c179d6b2ae/a9cc559b-8bf9-473d-aa8d-a7c179d6b2ae4.gif)
![[工学]第四章指令系统.doc_第5页](http://file.renrendoc.com/FileRoot1/2019-1/5/a9cc559b-8bf9-473d-aa8d-a7c179d6b2ae/a9cc559b-8bf9-473d-aa8d-a7c179d6b2ae5.gif)
已阅读5页,还剩1页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第四章 指令系统一、本章主要内容内 容要 求指令格式(含定长操作码指令格式和扩展操作码指令格式)*寻址方式(数据寻址和指令寻址,常见寻址方式的特点和表示方法)*CISC和RISC的基本概念*二、知识结构寻址方式存储器寻址定长操作码不定长操作码操作码指令格式操作数操作数的个数立即数寻址直接寻址间接寻址寄存器间接寻址变址寻址寄存器寻址系统寻址基址寻址 三、具体内容介绍(一) 指令格式1. 指令的基本格式:机器内部的指令格式由两大字段组成,操作码和操作数;l 操作码规定本条指令所要进行的操作或完成的功能;l 操作数字段给出本条指令操作的数据对象以及下一条将要执行的指令的地址,操作数字段有可能包含寻址方式字段。l 指令系统中各指令的长度可以相同,也可以不同,一般取机器字长的倍数。操作码 寻址1 数1 寻址I 数i 寻址n 数n2. 定长操作码指令格式:所有指令的操作码位数相同。重点掌握内容:操作码位数和指令总统所含指令条数的关系。n位操作码,指令系统最多2n条指令;反之,指令系统有n条指令,至少log2n位操作码。3. 扩展操作码指令格式在高级语言中,各语句的使用频率相差较大,比如C语言中,goto语句是限制使用的,一般程序不会使用goto语句,而几乎所有的程序都需要多次使用赋值语句。同样,指令系统中各条指令的使用频率也不一定相同,定长操作码指令给所有指令分配相同位数的操作码,使得极少使用的指令和经常使用的指令具有相同位数的操作码,对操作码的译码效率会产生影响。扩展操作码指令格式将根据指令的使用频率不同,分配不同位数的操作码,以提高指令系统的整体译码速度。比如使用频率高的指令操作码位数较短,使用频率低的指令操作码位数长一些。二 指令的寻址方式指令的寻址方式指确定本条指令中所有操作数的地址以及下一条将要执行的指令的地址的方法。1. 形式地址和有效地址通常,指令中的操作数的位置有:指令中、内存中、CPU的寄存器中或者I/O接口中,所以指令中的操作数字段提供的值称为形式地址,把按照约定的寻址方式计算得到的地址称为有效地址。2. 数据寻址及常见寻址方式数据寻址:确定本条指令中所有操作数的地址,即寻找指令将要操作的数据的方法,常见数据寻址方式如下所示: 立即数寻址:指令的操作数字段给出的是操作数本身(操作数在指令中)。这是最简单最直接的寻址方式,执行指令时,数据随指令由内存读入CPU。 优点:简单、明确、速度快 缺点:由于操作数字段的位数是有限的,所以立即数表示数的范围也是有限的。比如每个操作数占6位,则无符号数的表数范围是0-63,有符号数的表数范围是-32-+31。所以立即数寻址方式只适合操作数较小的情况,大一些的操作数无法应用。直接寻址:操作数在内存,指令的操作数字段给出的是操作数的内存地址。执行指令时,指令由内存读入CPU后,再按照直接寻址字段给出操作数的内存地址读一次内存,即可将数据从内存读入CPU。 优点:由于操作数在内存,操作数所占的内存单元数由数据的类型决定,所以数据的范围可以较大。比如操作数字段占6位,对应数据为16位,则无符号数的表数范围是0-65535,有符号数的表数范围是-32768-+32767。 缺点:由于操作数字段的位数是有限的,所以操作数可存放的内存地址的范围也是有限的。比如每个操作数占6位,操作数只可在0-63内存单元存放。所以直接寻址中操作数的存放位置有限,可定义的操作数的个数就受限。间接寻址:操作数在内存,指令的操作数字段给出的是操作数的内存地址所存放的内存单元地址,即操作数字段给出的是操作数的地址的地址。执行指令时,指令由内存读入CPU后,再按照间接寻址字段给出操作数的内存地址的内存地址读一次内存,可得到操作数的内存地址,按照这个地址再读一次内存,即将数据从内存读入CPU。 优点:由于操作数在内存,操作数所占的内存单元数由数据的类型决定,所以数据的内存地址以及范围可以较大。比如操作数字段占6位,内存单元均以16位为单位读写,则对应操作数的内存地址占16位,则操作数的可存放地址范围是065535;对应操作数占16位,则无符号数的表数范围是0-65535,有符号数的表数范围是-32768-+32767。 缺点:首先由于操作数字段的位数是有限的,所以操作数的地址可存放的内存地址的范围也是有限的。比如每个操作数占6位,操作数的地址只可在0-63内存单元存放。其次读写操作数需要两次读写内存,速度较慢。寄存器寻址:操作数在CPU内的寄存器中,指令的操作数字段给出的是相应寄存器的编号。执行指令时,指令由内存读入CPU后,可直接按照寄存器编号读寄存器,读出内容即为本条指令需要的操作数。 优点:由于操作数在CPU中,取数速度较快。 由于CPU中寄存器的数量是有限的,所以需要的寄存器编号也较短,可以有效减少操作数字段的位数。 缺点:由于CPU中寄存器的数量是有限的,所以同时进行寄存器寻址的操作数个数是有限的,一旦超出,只能通过其他方式使用,比如将暂时不用的寄存器内容入栈保存,需要时再出栈使用。寄存器间接寻址:操作数在内存,操作数的内存地址在CPU内的寄存器中,指令的操作数字段给出的是相应寄存器的编号。执行指令时,指令由内存读入CPU后,可直接按照寄存器编号读寄存器,读出内容即为本条指令所需要的操作数的内存地址;再按照读出的内存地址读内存,即可读出本条指令所需要的操作数。 优点:由于操作数的地址在CPU中,获得操作数内存地址的速度较快。 由于CPU中寄存器的数量是有限的,所以需要的寄存器编号也较短,可以有效减少操作数字段的位数。 缺点:由于CPU中寄存器的数量是有限的,所以同时进行寄存器间接寻址的操作数个数是有限的,一旦超出,只能通过其他方式使用,比如将暂时不用的寄存器内容入栈保存,需要时再出栈使用;由于读操作数需要访问内存一次,速度较寄存器寻址较慢。变址寻址:操作数在内存,操作数的内存地址由CPU内的变址寄存器的内容和指令中给出的偏移量求和得到。执行指令时,指令由内存读入CPU后,可直接按照变址寄存器编号读寄存器,读出内容和指令中的偏移量求和即为本条指令所需要的操作数的内存地址;再按照计算出的内存地址读内存,即可读出本条指令所需要的操作数。 优点:一般将数组首地址放入指令的操作数字段,变址寄存器用来提供下标,在循环体中顺序修改变址寄存器的值,可实现数组功能。 缺点:由于操作数地址需要计算得到,速度较慢。 特点:读写一次内存可完成操作。3. 指令寻址及常见寻址方式相对寻址:下一条将要执行的指令所在的内存地址由CPU内的PC寄存器的内容(直接用或加1后使用)和指令中给出的偏移量求和得到,注意偏移量为有符号数,补码表示。 特点:可实现循环和选择结构。4. 其他常见寻址方式基址寻址:操作数或指令的内存地址由CPU内的基址寄存器的内容左移n位(乘2n)和指令中给出的偏移量求和得到。比如8086/8088中,四个段寄存器CS、DS、SS和ES均为基址寄存器,所有指令地址由(CS)*16+(PC)得到;所有数据段的地址由(DS)*16+指令中给出的偏移量得到;所有附加段的地址由(ES)*16+指令中给出的偏移量得到;所有堆栈段的地址由(SS)*16+(SP)或(SS)*16+(BP)得到。 特点:一般用来扩大寻址空间。4操作数的个数指令中的操作数个数一般有0-3个,多于三个的操作数可以转换为四类中的一类。零操作数指令:指令中无操作数字段。可能指令不需要操作数,比如停机指令hlt,也可能指令中的操作数隐含在特殊寄存器、堆栈或累加器中。一地址指令:指令中包含一个操作数字段。可能指令只需要一个操作数,也可能其他操作数隐含在特殊寄存器、堆栈或累加器中。二地址指令:指令中包含两个操作数字段,一般其中的一个操作数兼作目的操作数。三地址指令:指令中包含三个操作数字段,其中两个源操作数,一个目的操作数。三CISC和RISC的基本概念只需了解基本概念和特点即可。CISC:复杂指令集计算机。指令系统包含的指令条数较多,优点是编程方便,程序效率较高;缺点是指令条数较多导致系统复杂程度较高。RISC:精简指令集计算机。根据指令的使用频率,给使用频率较高的20%指令分配较短的操作码,使用较快的寻址方式;其他80%指令用较长操作码或直接用子程序实现。指令系统指令条数较少,一般嵌入式的处理器使用RISC,比如ARM处理器。 例题例1(2001年上海大学攻读硕士学位研究生入学考试试题,10分;武汉理工大学2004年攻读硕士学位研究生入学考试试题,10分;2004年武汉理工大学攻读硕士学位研究生入学考试试题,10分):假设某计算机指令长度为20位,具有双操作数、单操作数、无操作数三类指令格式,规定每个操作数占6位,现已设计出m条双操作数指令,n条无操作数指令,求这台计算机最多可设计出多少条单操作数指令?若操作码位数固定呢?解:本题为典型的扩展操作码指令格式,由题意,该指令系统的指令格式如下:操作码 操作数1(6位) 操作数2(6位) 由于规定每个操作数占6位,所以双操作数指令的操作码有20-6-6=8位;单操作数指令可以将操作码的位数扩充至操作数1,操作码有8+6=14位;无操作数指令可以将操作码的位数扩充至操作数2,操作码有14+6=20位。所以,双操作数指令最多可有28=256条,已知现已设计出m条双操作数指令,可剩余256-m个8位编码用于扩充单操作数指令。单操作数指令最多有(256-m)*26条,设最终指令系统有x条单操作数指令,可剩余(256-m)*26-x个14位编码用于扩充无操作数指令。无操作数指令最多有(256-m)*26-x)*26条,已知现已设计出n条无操作数指令,所以n=(256-m)*26-x)*26,解不等式求出x即可。n=(256-m)*64-x)*64n/64=(256-m)*64-xx=(256-m)*64- n/64这台计算机最多可设计出(256-m)*64- n/64条单操作数指令。(1) 本题如果将条件改为操作码位数固定,则最多可设计256-m-n条单操作数指令。例2、(2003年武汉理工大学攻读硕士学位研究生入学考试试题,10分)某机存储器及CPU的字长均为16位,CPU有16个16位的通用寄存器。请为该机设计能满足下列条件的指令格式,并加以说明。1、允许有不超过210种的操作指令2、主存储器空间不少于16MB3、至少有5种寻址方式4、只有单字长指令和双字长指令可供选择解:允许有不超过210种的操作指令-由于7log22108,所以操作码占8位,最多256条指令,现有210条,剩余46个编码可用于扩充。主存储器空间不少于16MB-主存字节地址至少log216M=24位至少有5种寻址方式-由于2log253,所以寻址方式占3位,最多8种寻址方式,现有5种,剩余3个编码可用于扩充其他寻址方式。16个通用寄存器,寄存器编号占log216=4位单字长指令即指令长度为16位,其中操作码必须占8位,一个操作数的寻址方式占3位,仅剩5位用于操作数。立即数寻址方式、寄存器寻址方式和寄存器间接寻址方式用5位可以直接表达,其他涉及内存的寻址方式需要24(字节寻址)(字寻址)位地址,指令的操作数字段只能提供5位,需要借助特殊寄存器提供高19位地址,但寄存器只有16位,可以将寄存器内容左移8位的方法构造出24位地址,再和指令提供的5位偏移地址求和,以得到操作数所需的24位有效地址。所以单字长指令格式为操作码8位,寻址方式3位,操作数5位。双字长指令即指令长度为32位,其中操作码必须占8位,剩余24位。双字长单操作数指令格式,24位中的3位为寻址方式,剩余21位用于操作数。立即数寻址方式和寄存器相关的寻址方式用5位可以直接表达,其他涉及内存的寻址方式需要24位地址,指令的操作数字段只能提供21位,可以将寄存器内容左移8位的方法构造出24位地址,再和指令提供的21位偏移地址求和,以得到操作数所需的2
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年楚雄彝族自治州禄丰县数学三年级第一学期期末试题含解析
- 2025年芳纶压光机项目合作计划书
- 2025年电气机械及器材项目建议书
- 消防预案评审流程试题及答案
- 大学生日常生活礼仪规范
- 2025年牙科综合治疗机合作协议书
- 新编大学计算机基础教程 课件 3.7 长篇文档的处理
- 供应链管理在供应链需求预测教学课件
- 2025年钢球光磨研设备合作协议书
- 维修安全技术管理体系
- 2025年上半年广州市海珠区海幢街道招考康园工疗站工作人员易考易错模拟试题(共500题)试卷后附参考答案
- 预设理论在人工智能中的应用-深度研究
- CNAS-CL01:2018 检测和校准实验室能力认可准则
- 工业机器人在建筑行业的应用考核试卷
- 人体发育学 第十章 婴幼儿情绪情感的发育
- 文化交流及艺术展览合作合同
- 中国产教融合行业市场发展现状及前景趋势与投资分析研究报告(2024-2030版)
- GB/T 29912-2024城市物流配送汽车选型技术要求
- 2025年能源集团所属辽宁能源煤电产业股份有限公司招聘笔试参考题库附带答案详解
- 人教版五年级数学下册全套试卷附完整答案
- 道路工程施工现场质量监控措施
评论
0/150
提交评论