- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
一个CPU的指令系统(Instruction Set)定义该CPU“所能做的”或者“应该做的”工作。 “所能做的”意思是告诉系统软件设计者该CPU能做什么事情(软件设计者使用它)。 “应该做的”意思是告诉硬件设计者在设计CPU时应该让CPU完成的任务(硬件设计者实现它)。 它处在软件设计者与硬件设计者之间能对上话的一个“接口”。 4.1.3 指令类型 对于不同数据类型的操作应当用不同的操作码,如整数加法和浮点加法应当使用不同的操作码,视为不同的指令。 按指令的功能分类,可分为 1、算术运算指令 整数和浮点数的加、减、乘、除等。 表征结果的特征:Z,C,V,N 5、I/O访问类指令 访问I/O端口,有读写之分。 与存储器访问不同,向端口写入的信息可能是控制信息,而从端口中读出的可能是状态信息。 I/O指令访问只出现在具有分开的I/O空间和存储空间—独立编址。 若使用单一的地址空间,其中一部分空间分给I/O,同样使用存储器访问指令来访问这部分I/O空间----存储映像的I/O空间----统一编址。 10、浮点运算类指令 浮点加、减、乘、除、开方运算。 整数与单精度浮点数转换,整数与双精度浮点数转换,单精度浮点数转换与双精度浮点数转换。 常用的指令结构的运算器结构有三种。 堆栈(Stack)结构:二个操作数总是在堆栈的栈顶。 累加器(Accumulator)结构:一个操作数总是在累加器中。 通用寄存器(General Purpose Register)结构: 寄存器—存储器结构:一个操作数在存储器中,另一个在存储器中。 寄存器—寄存器结构:二个操作数都在寄存器中。 如下图。 注意: 对于某一特定处理器而言,它可能只用到上述寻址方式中的一部分。 上述寻址方式可以组合起来使用。如基址寻址与变址寻址组合使用。 可通过指令的操作码或另设一个字段,来区分不同的寻址方式。 说明 rs,rt为源寄存器号。 rd目的寄存器号。 sa只用于移位指令,用来指定移位的位数。 R类指令的op=0。 I类指令的低16位是立即数,计算时要把它扩展到32位。 0扩展(用于无符号数运算)和符号扩展(用于符号数运算) J类指令右边的26位是字地址,用于产生跳转的目标地址。 4.2.2 MIPS通用寄存器 rs,rt,rd每个都有5位,所以它们一共能访问25=32个寄存器。 P120表4.3列出了32个寄存器的名称和它们的用途。 注意: 0号寄存器的内容永远为0。 31号寄存器用来保存返回地址。 除了以上2点,其他寄存器没有什么区别,可以同样使用。 在以后的使用中,不使用带$的寄存器名,而是直接使用r+寄存器号。 4.3 MIPS指令和ALU设计 4.3.1 本书CPU可执行的MIPS指令 这里选取若干典型的MIPS指令来描述CPU逻辑电路的设计方法。 典型指令如下表所示。 MIPS汇编语言用#号作为注释部分。 下面简要介绍一下这些指令。 1、加、减、与、或、异或运算指令 add/sub/and/or/xor rd,rs,rt # rd--rs op rt 2、逻辑左移、逻辑右移、算术右移指令 sll/srl/sar rd,rt,sa # rd--rt shift sa 3、16位数移入寄存器高位指令 lui rt,imm # rt--imm16 4、立即数的加法指令addi(符号扩展) addi rt,rs,imm # rt--rs+imm(符号扩展) 5、立即数的逻辑运算指令 andi/ori/xori rt,rs,imm #rt--rs op imm(0扩展) 6、读(取)存储字指令 lw rt,offset(rs) #rt--memory[rs+offset] 7、写(存)存储字指令 sw rt,offset(rs) #memory[rs+offset]--rt 8、条件转移指令,如 beg rs,rt,label # if(rs==rt) PC--label bne rs,rt,label # if(rs!=rt) PC--label 9、无条件转移指令 j target #PC--target 10 转子(程序)指令 jal target #r31--PC+8;PC--target 11 子程序返回指令 jr rs #PC--rs 4.3.2 ALU设计 综合P121表中的指令,ALU需要实现以下运算: 算术运算----加add、减sub 逻辑运算----与and、或or、异或xor 移位运算----逻辑左移sll、逻辑右移srl、算术右移sra 置高位立即数lui 共有9个运算,ALU的操作控制信号(码)需要4位,逻辑电路图如下。 说明 a[31:0]和b[31:0]是2个32位的输入。 aluc[3:0]是ALU
您可能关注的文档
最近下载
- 1.2.4绝对值 课件 2025-2026学年人教版数学七年级上册.pptx VIP
- QGDW 11651.13-2017 变电站设备验收规范-第13部分:穿墙套管.pdf VIP
- 电子商务客服教案课程.doc VIP
- 客服培训课程小游戏.pptx
- QGDW 11651.12—2017变电站设备验收规范-第12部分:母线及绝缘子.pdf VIP
- 中国食用油行业现状分析-小包装食用油市场潜力巨大
- 分散式风电工程施工组织设计.doc VIP
- 定价策略与渠道价格管理8.doc VIP
- 透析患者高磷血症的控制37页PPT.pptx VIP
- QGDW 11651.10-2017 变电站设备验收规范-第10部分:干式电抗器.pdf VIP
文档评论(0)