10mips体系结构与编程_205805804

10mips体系结构与编程_205805804

ID:34113290

大小:510.19 KB

页数:43页

时间:2019-03-03

10mips体系结构与编程_205805804_第1页
10mips体系结构与编程_205805804_第2页
10mips体系结构与编程_205805804_第3页
10mips体系结构与编程_205805804_第4页
10mips体系结构与编程_205805804_第5页
资源描述:

《10mips体系结构与编程_205805804》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、微机原理(计算机原理)第10讲MIPS体系结构与编程1第10讲MIPS体系结构与编程MIPS体系结构概述MIPS指令集简介MIPS汇编语言程序设计清华大学电子工程系,马洪兵,2008年秋2MIPS体系结构概述MIPS诞生于1980年代,是最早的RISC处理器之一,也是目前销量最好的RISC处理器之一,从游戏机到路由器,再到SGI的超级计算机,都可以看到MIPSCPU的应用MIPS起源于Stanford大学JohnHennessy教授的研究成果。Hennessy于1984年在硅谷创立了MIPS公司(www.mips.com)JohnL.H

2、ennessy出版了两本著名的教科书:ComputerOrganizationandDesign:TheHardware/SoftwareInterface(计算机组成与设计:硬件/软件接口)ComputerArchitecture:AQuantitativeApproach(计算机体系结构:量化方法)清华大学电子工程系,马洪兵,2008年秋3MIPS体系结构概述MIPS=MicroprocessorwithoutInterlockedPipelineStages,无互锁流水级的微处理器MIPS的另一个含义是每秒百万条指令——Milli

3、onsofinstructionspersecond清华大学电子工程系,马洪兵,2008年秋4MIPS体系结构概述MIPS体系结构经历了以下几代MIPSI——该指令集用于最初的32位处理器,至今仍然很流行,R2000、R3000都是MIPSI的实现MIPSII——MIPSI的升级,最初为R6000定义,失败MIPSIII——应用于R4000的64位指令集MIPSIV——MIPSIII的升级,应用于R5000和R10000清华大学电子工程系,马洪兵,2008年秋5MIPS体系结构概述MIPS指令集的特点所有指令都是32位的算术/逻辑运算指

4、令为3操作数指令格式,两个源操作数和一个目标操作数只能是寄存器操作数32个通用寄存器寄存器0($0)总是返回0无条件码清华大学电子工程系,马洪兵,2008年秋6MIPS体系结构概述内存寻址对内存的访问只能通过装入(load)和存储(store)指令进行。算术/逻辑运算指令不能直接访问内存只有一种寻址方式:基址寄存器+16位有符号偏移量数据在内存中存储时必须按边界对齐清华大学电子工程系,马洪兵,2008年秋7MIPS体系结构概述MIPS不支持的特征不能对字节或半字进行算术/逻辑运算指令没有专门的堆桟支持最小子程序支持。子程序调用通过“跳转

5、与链接指令”进行,将返回地址保存在一个寄存器中($31)。将返回地址保存在寄存器中不如保存在堆栈中灵活最小中断、异常支持:中断发生时,处理器只负责跳到预定义的地址处,其余所有操作都由软件完成清华大学电子工程系,马洪兵,2008年秋8MIPS体系结构概述寄存器32个通用寄存器可供编程使用:$0~$31,其中$0无论写入什么永远返回0$31被子程序调用指令(“跳转与链接指令”)用来保存返回地址除此以外,所有寄存器都可以在任何指令中以相同方式使用——真正通用清华大学电子工程系,马洪兵,2008年秋9MIPS体系结构概述通用寄存器的习惯用法和命

6、名寄存器编号助记符用法0zero永远为01at用做汇编器的暂时变量2-3v0,v1子函数调用返回结果4-7a0-a3子函数调用的参数8-15t0-t7临时寄存器。在子函数中使用时不需要保存与恢复24-25t8-t916-23s0-s7保存寄存器。在子函数中使用这些寄存器时,子函数必须保存和恢复这些寄存器的原值26,27k0,k1通常被中断或异常处理程序使用,用来保存一些系统参数28gp全局指针。一些运行系统维护这个指针来更方便的存取static和extern变量29sp堆栈指针30s8/fp第9个保存寄存器/帧指针31ra子函数的返回地

7、址清华大学电子工程系,马洪兵,2008年秋10MIPS体系结构概述整数除法相关的寄存器有两个和乘法相关的寄存器hi和lo,用来保存计算结果它们不是通用寄存器,只能用于乘除操作清华大学电子工程系,马洪兵,2008年秋11MIPS体系结构概述浮点寄存器浮点加速器(FPA,floating-pointaccelerator)如果可用,则增加了32个浮点寄存器$f0~$f31清华大学电子工程系,马洪兵,2008年秋12MIPS指令集简介MIPS指令集包括三类指令:数据处理指令——实现算术与逻辑运算数据传送指令——实现寄存器和内存间的数据交换分支

8、指令——实现程序流程控制清华大学电子工程系,马洪兵,2008年秋13MIPS指令集简介算术运算指令add$t0,$t1,$t2#$t0=$t1+$t2sub$t2,$t3,$t4#$t2=$t3-$t4ad

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。