- 1、本文档共10页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
本章主要内容第2章指令系统的设计计算机系统结构1指令操作码的优化(不讲)RISC技术简介MIPS指令集MIPS模拟器(补充2.4.2RISC技术简介(P44)名词:RISC——ReducedInstructionSetComputing,精简指令集计算机(1)RISC产生的背景:20%与80%规律(2)RISC设计的基本原则:只设置最常用的简单指令,凡遇复杂操作均用多条简单指令实现;指令长度固定,操作码与操作数长度都尽量统一;基本指令的启动时间间隔降低到1个时钟周期;访问主存只有load和store指令,用变址寻址;尽量采用硬连逻辑对指令译码;为了加快执行速度,在编译过程中对目标代码结构进行优化;(3)RISC性能优势的原因采用RISC技术的主要动机是使各条指令的执行时序尽可能一致,CPU在执行时间上可以把它们安排得更紧凑,就像许多大小相近的箱子容易被堆放得更密集一样。这样机器内的各种资源可以充分利用,单位时间内能执行更多的指令,速度更快。这方面的具体内容,在第3章讲流水线时会详细介绍。
2.4.2RISC技术的发展计算机系统结构320世纪70年代初,IBM研究中心的JohnCocke证明,计算机中约20%的指令承担了80%的工作,1974年,他提出RISC的概念。在RISC的早期研究中,加州大学伯克利分校(UCBerkeley)和斯坦福大学(Stanford)提出了许多有创见的新思想。伯克利率先在1982年完成了RISCI型32位芯片的设计,斯坦福大学则在JohnHennessy(现任校长)带领下于1983年完成了第一个采用RISC理念的商用MIPS微处理器。1984年Hennessy等人创建了MIPS计算机公司,1998年改名为MIPS技术公司(美普思科技公司,MIPSTechnologiesInc),目前是美国最著名的芯片设计公司之一。MIPS技术公司本身不生产微处理器,它只设计高性能工业级的32位和64位CPU的结构体系,并且向其它半导体公司提供使用其内核(IP)的授权,用于生产基于MIPS而又各具特色的微处理器。1999年MIPS技术公司发布了MIPS32和MIPS64架构标准。MIPS的通用微处理器主要用于构建高性能工作站、服务器和超级计算机系统,其嵌入式产品在1999年以前全球销量第一,目前也仅次于ARM。
MIPS处理器计算机系统结构4MIPS的意思是“无内部互锁流水级的微处理器”(Microprocessorwithoutinterlockedpipedstages),其机制是尽量利用软件办法避免流水线中的数据相关问题。MIPS具有强大的应用基础,能在MIPS上运行的操作系统,包括Linux、WindRiver、WinCE、GNU、和MontaVista等;支持14种编译器,包括MIPS、SDE、GreenHills、GNU和WindRiver等;支持15种调试器,包括GNU、GreenHills、WindRiver、ASHLING和FS2等;支持18种仿真工具,包括MentorGraphics、Synopsys、CoWare和Candence等。中国科学院计算所的龙芯1和2都采用64位MIPS指令架构。中国龙芯已与MIPS公司合作,购买其指令系统授权,以便批量生产与出口。
2.6.1MIPS的寄存器(P47)32个64位通用寄存器(GPRs),也称为整数寄存器名称是R0,R1,…,R31(也可写为$0,$1,…,$31)R0的值永远是0,可用作源寄存器,也可作为无用结果的目的寄存器;R31用于存放跳转并链接类指令的返回地址。32个64位浮点数寄存器(FPRs)F0,F1,…,F31用来存放32个单精度浮点数(32位),也可以用来存放32个双精度浮点数(64位)。存储单精度浮点数(32位)时,只用到FPR的一半,其另一半没用。特殊功能寄存器PC(programcounter,程序计数寄存器)HI(整数乘除结果高位寄存器,除法余数)LO(整数乘除结果低位寄存器,除法的商)它们可以与通用寄存器交换数据。浮点状态寄存器:用来保存有关浮点操作结果的信息。
MIPS的寄存器别名(程序员习惯用法)MIPS编译器支持一些专业程序员对32个通用寄存器GPR(GENERALPURPOSEREGISTER)约定的习惯性用法(非强制的):REGISTERNAME USAGE$0$zero 常量0(constantvalue0)$2-$3$v0-$v1 函数调用返回值(valuesforresultsandexpressionevaluation)$4-$7$a0-$a3 函数调用参数
文档评论(0)