第4章中央处理器设计(RISC)要点解析.ppt

  1. 1、本文档共248页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第4章 中央处理器设计(RISC) 中央处理器也简称为处理器(或称为CPU)是组成计算机系统的核心部件,是计算机组成原理研究的主要内容之一。 4.1 计算机组成的层次概念 软件 应用软件 系统软件 编译 指令系统 硬件 数据路径 数字电路 物理实现 4.2 RISC与CISC 4.2.2 精简指令系统计算机体系结构 精简指令系统的依据 通过优化典型的高级语言程序中最耗费时间的操作,能够更好地支持高级语言。RISC结构通常体现如下几点: 首先是使用大量的寄存器; 其次,要精心设计流水线; 最后,应采用相对简单的指令系统。这对于在单一芯片上实现CPU是有益的。 4.2.2 精简指令系统计算机体系结构 精简指令系统的特征 指令系统简单; 只有load和store指令可以访问存储器; 简单的寻址方式; 固定长度的指令格式。 4.3 模型机的指令系统 模型机指令系统的设计原则是: 采用简单的指令系统 规模适度 认真权衡利弊 加快经常性事件的运行速度 4.3.1把模型机的汇编语句翻译成机器指令 模型机的加法指令: add T0,S1,S2 用十进制表示是 寄存器S0到S7相对应的是寄存器16到23,寄存器T0到T7相对应的是寄存器8到15。 4.3.2 模型机的指令格式 模型机指令中每一个字段名称的含义如下: Op:指令的基本操作,称为操作码 rs:第一个源操作数寄存器 rt:第二个源操作数寄存器 rd:目标操作数寄存器,它存放的是指令操作的结果 shamt:暂时不用。 funct:这个字段选择Op字段中的具体操作,有时被称为function字段或功能字段。 4.3.3 模型机寻址方式 寄存器寻址方式 首先约定如下的符号:用Rs、Rt、Rd分别表示rs、rt、rd字段(见图4.2)描述的寄存器中存储的数据。 算术运算(如add)指令采用的是寄存器寻址方式,它的三个操作数都在寄存器中。 设有以下算术运算指令:add T0,R1,R2。其含义是将寄存器R1和R2中的值求和,并将其结果存放于寄存器T0中。R1、R2、T0分别对应于指令格式中的rs、rt、rd字段所表示的寄存器(见图4.2)中存储的数据,即Rs、Rt、Rd。此时Rd=Rs+Rt。 4.3.3 模型机寻址方式 基址寻址方式 基址寻址方式的有效地址按下式计算: EA=Rs+address (4.1) 其中address是指令格式中的低16位字段(图4.2)的数值。 基址寻址方式对应的指令格式称为I格式( I类型)。 数据传送指令使用I格式。 4.3.3 模型机寻址方式 load指令采用基址寻址方式(I格式,图4.2) 把数据从存储器中读到寄存器中的情况称为读(load)。load指令的功能如下: Rt←M(Rs+address)或记为Rt=M(Rs+address) load指令的用法举例: 例如:指令load T0, 32(S3) 将基址寄存器S3(位于指令的rs字段)的内容加上32(位于指令的address字段),其求和后的结果作为存储器的地址,用该地址访问存储器,将其内容读出,再写入到寄存器T0中,T0由指令的rt字段标识。 4.3.3 模型机寻址方式 store指令采用基址寻址方式(I格式,图4.2) store指令的功能是将寄存器rt中的数据传送(写)到存储器当中去,存储器的地址也由(4.1)式计算。store指令的功能如下: M(Rs+address)←Rt或记为M(Rs+address)=Rt store指令的用法举例: 例如:指令store T0, 32(S3) 将寄存器T0(T0由指令的rt字段标识)中的内容写入到存储器中去,存储器的地址为基址寄存器S3(位于指令的rs字段)的内容加上32(位于指令的address字段)。 4.3.3 模型机寻址方式 立即寻址方式(图4.2) 加法指令中,如果有一个操作数为常数,则称为立即数加法指令,记为addi。寄存器SP加常数4就可以写成: addi SP,SP,4 //SP=SP+4 4.3.3 模型机寻址方式 在RISC中,通常提供一个特殊的寄存器,称为ZERO寄存器,寄存器ZERO中的值始终为零。 为了和其他值比较,就必须有一个立即数形式的小于比较指令。如比较S2是否小于10,其判断条件可写成: slti T0,S2,10 // 如果S210,则T0=1 后面紧接着的指令可以通过判断T0是否等于1来确定S2是否小于10。 4.3.3 模型机寻址方式 32位常数的处理 lui指令:它用来设置寄存器中某常数的高16位,并允许下一条指令指定此常数的低16位。 例如:lui T0,255 // T0为寄存器8 指令lui T0,255的功能是将指令中的16位立即数2

文档评论(0)

三沙市的姑娘 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档