- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第三章 指令系统 3.1 指令系统的定义及性能要求 3.2 指令格式及指令类型 3.3 指令和数据的编码及寻址方式 3.4 堆栈寻址方式 3.5 RISC机型 指令系统是指一台计算机所有机器指令的集合,构成了计算机的机器语言,是计算机硬件与上层软件的接口。计算机的指令系统决定了计算机的CPU的功能和结构。CISC和RISC是现代两大典型指令系统体系结构。设计一台机器的指令系统应考虑到其完备性和完整性、兼容性、均匀性、可扩充性。 指令分类:依据操作数个数来分 指令中地址个数的选取要考虑诸多的因素。从缩短程序长度,用户使用方便,增加操作并行度等方面来看,选用三地址指令格式较好;从缩短指令长度,减少访存次数,简化硬件设计等方面来看,一地址指令格式较好。对于同一个问题,用三地址指令编写的程序最短,但指令长度最长,而用二、一、零地址指令来编写程序,程序的长度一个比一个长,但指令的长度一个比一个短。 双操作数运算类指令的执行 对于双操作数运算类指令(如加法指令)来说,每条指令中都需要包含以下4 个地址信息: ① 第一操作数地址A1 ;② 第二操作数地址A2 ;③ 操作结果存放地址A3 ;④ 下条将要执行指令的地址A4 。 这些地址信息可以明显地给出,称为显地址;也可以依照某种事先的约定,用隐含的方式给出,称为隐地址。 (1) 三地址双操作数指令 三地址双操作数指令有3 个显地址,指令的含义为:(A1 )OP(A2 ) → A3假设指令存放在主存的50 号单元中,第一、第二操作数分别存放在主存的100 和200 号单元中,结果存放在主存的300 号单元,如图 所示。 (2) 二地址双操作数指令 二地址双操作数指令有两个显地址,第一操作数地址同时兼作结果存放地址(目的地址) ,指令的含义为 (A1 )OP(A2 ) → A1 (3) 一地址双操作数指令 一地址双操作数指令只有一个显地址,参加运算的另一个操作数来自累加寄存器Acc 。指令的含义为: (Acc)OP(A1 ) → Acc (4) 零地址双操作数指令 零地址双操作数指令中只有操作码字段,操作数地址都是隐含的。操作数在堆栈的栈顶位置和次栈顶位置,它们分别从堆栈中弹出,送到运算器中进行运算,运算的结果再压入堆栈。执行一条零地址的加法指令访问主存的次数取决于堆栈的结构。 举例 例:分别利用三地址、二地址、一地址和零地址指令编制计算算术表达式x = (a×b+ c - d) ÷ (e+ f)的程序。 解:假设a、b 、c 表示操作数,A 、B 、C 表示操作数所在存储地址。 (1) 三地址指令程序 MUL A ,B ,X ADD X ,C ,X SUB X ,D ,X ADD E ,F ,Y DIV X ,Y ,X 共需5 条三地址指令,每条指令4 次访存,执行此程序共访存20 次。 (2) 二地址指令程序 MOV X ,A MUL X ,B ADD X ,C SUB X ,D MOV Y ,E ADD Y ,F DIV X ,Y 共需7 条二地址指令,MOV 指令3 次访存,算术运算指令4 次访存,执行此程序共访存2 × 3 + 5 × 4 = 26 次。 (3) 一地址指令程序LOAD E ADD F STORE XLOAD AMUL BADD CSUB DDIV XSTORE X 共需9 条一地址指令,每条指令2 次访存,执行此程序共访存9 × 2 = 18 次。 (4) 零地址指令程序PUSH APUSH BMULPUSH CADDPUSH DSUBPUSH EPUSH FADDDIVPOP X 共需12 条指令,其中7 条一地址的进、出栈指令,5 条零地址的算术运算指令。进、出栈指令3 次访存,算逻指令4 次访存,执行此程序共访存7 × 3 + 5 × 4 = 41 次。 例: 某一机器的指令系统,操作码8 位,地址码均为16 位,CPU 与主存之间每次传送16 位数据。A 、B 、C 、D 、E 表示字地址,存放16 位数据。 (1) 分别用三地址、二地址、一地址和零地址指令编写程序,计算A = (B - C) × (D -E)(不允许覆盖任何操作数,可以使用暂存单元) 。 (2)
您可能关注的文档
最近下载
- 大班户外游戏教案100篇.doc VIP
- 北京市西城区2024届高三下学期5月模拟测试数学(解析版).pdf VIP
- 部编版六年级语文上册一二单元测试卷.doc VIP
- 2024年9月江苏省税务系统遴选面试真题带详解.docx VIP
- 20192020学年人教部编版六年级语文上册第一二单元测试卷.doc VIP
- 【人教部编版】小学语文六年级上册单元测试卷汇编一.pdf VIP
- 部编版六年级上册第一单元测试卷 人教(部编版).doc VIP
- 湖南省衡阳市名校联考联合体2024届高三高考考前仿真联考一数学试题含答案.docx VIP
- 年产6万吨合成蜡深加工项目(红石化工公司)环境影响报告.docx
- DB21T1342-2021 建筑工程文件编制归档规程.pdf
文档评论(0)