- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
RISC32的体系结构 设计流程 设计管理 设计方法与设计管理 设计进度 进度检查依据 设计文档编写 编写设计文档: 好的设计文档是设计成功的一半 其它工程师能够非常容易地根据文档将工作重现 系统使用说明: 外部接口、系统功能、系统结构 系统设计说明: 系统算法 层次结构、模块划分 模块接口信号、功能及结构、关键技术及解决方案 设计文档就是系统电路的文本实现 体系结构 定义微处理器与软件之间的接口 供操作系统、编译程序以及汇编语言程序等的设计者使用。 体系结构的内容 数据类型 寻址方式 寄存器模型 指令集 指令格式 指令功能 机器管理 存储器管理 微处理器的外部引脚 学习内容 数据类型 寻址方式 寄存器模型 指令集 指令格式 指令功能 机器管理 存储器管理 微处理器的外部引脚 数据类型 数据存储方式 大端次序 寻址方式 如何解释存储器地址以及如何指定存储器地址。 少的寻址方式具有大量减少指令数目的能力,但也增加程序设计的复杂性,因此需要合理地选择。 RISC体系结构一般都支持最常用的简单寻址方式,以优化程序密度与速度。 寻址方式 寄存器组织 系统当前状态寄存器CPSR C:进位标志位,说明上一次ALU算术操作产生进位或借位。 N:负数标志位,上一次ALU算术/逻辑结果的最高位。 Z:结果‘0’标志位,说明上次ALU算术/逻辑结果为全‘0’。 V:溢出标志位,说明上一次ALU算术运算产生溢出。 mode:当前正在执行的程序的优先级,4位数据可以表示16种优先级。 IE:中断允许位。值为0时禁止任何中断响应。值为‘1’时,若发出请求的中断的优先级高于当前正在执行的程序的优先级mode时进行中断响应,否则中断申请被挂起,直到其优先级高于mode才予以响应。NMI中断发出中断请求时只要IE为‘1’就进入中断响应。因此RISC32支持17级优先级的中断。 指令格式 在确定微处理器的指令格式及指令时,其实已确定了微处理器数据路径的结构。 微处理器数据路径采用的结构很大程度上影响了指令格式及指令集。 编码格式既强调了译码的简单性,又注重了编码的密度。 RISC32采用register-register类型的指令格式,又叫做 LOAD/STORE 格式。 所有指令的长度为32位。指令的格式有五种。 浮点指令格式—REG1 REG格式指令的功能由OP场和f场决定。 REG1格式为浮点指令格式。 寄存器指令格式—REG2 Dst = src1 op src2 [sh #shift] ; 6位的操作码场OP、3位的功能场f确定指令功能 5位的目的寄存器地址场dst,两个5位的源寄存器地址场src1与src2确定寄存器操作数地址 5位移位次数场#shift、2位的移位方式场SH决定操作数src2的移位方式 C为带进位运算控制位。若C为1,对于加法指令,将CPSR寄存器中的进位C作为最低位进位;对于减法指令,则将CPSR的C位作为借位。 寄存器指令格式—REG2 移位次数场#shift是一个立即数,表示移位次数。 2位移位方式位SH可以确定四种移位方式。 第二源操作数src2以SH确定的方式经过#shift次移位后作为算术运算部件ALU的第二源操作数。 立即数指令格式—REG3 第二个源操作数是一个8位的立即数lit(literal)。 在指令执行过程中,8位立即数扩展为32位参与运算。 根据立即数的符号决定立即数的扩展方式是符号扩展还是无符号扩展。 立即数lit经过#shift次逻辑左移位后作为指令执行的第二源操作数。 8位立即数是有符号数还是无符号数由指令决定, 有符号指令如addi指令中的8位立即数是有符号数; 无符号指令如addo中的8位立即数是无符号数。 控制指令格式—CTRL CTRL格式由6位操作码OP场,5位的src1寄存器地址场与21位偏移值场displacement所组成。 偏移值displacement是一个以字节为单位的有符号数,因此转移指令所能转移的范围是[-220,+(220-1)]。 MEM指令格式—CTRL MEM是取数与存数指令格式 由6位操作码场、5位的src/dst寄存器场、5位的地址基址寄存器场src1及16位的位移场displacement所组成。 位移场displacement是一个有符号数,以字节为单位。 指令编码—OP场 指令编码— f 场 指令类型 算术操作指令 逻辑操作指令 比较操作指令 传送操作指令 控制操作指令 LOAD/STORE指令 系统指令 指令表示 lit:立即数,由#表示 disp:MEM或或控制指令中的偏移,由#表示 算术指令都有两种形式: 无符号数形式: 有符号数形式 由指令助记忆符号最后一个字母表示: i表示有符号数计算 o表示无符号数计算。 指令功能—算
文档评论(0)