《计算机系统结构》电子教案(课2).ppt

上传人:b****2 文档编号:2644177 上传时间:2022-11-04 格式:PPT 页数:45 大小:406KB
下载 相关 举报
《计算机系统结构》电子教案(课2).ppt_第1页
第1页 / 共45页
《计算机系统结构》电子教案(课2).ppt_第2页
第2页 / 共45页
《计算机系统结构》电子教案(课2).ppt_第3页
第3页 / 共45页
《计算机系统结构》电子教案(课2).ppt_第4页
第4页 / 共45页
《计算机系统结构》电子教案(课2).ppt_第5页
第5页 / 共45页
点击查看更多>>
下载资源
资源描述

《计算机系统结构》电子教案(课2).ppt

《《计算机系统结构》电子教案(课2).ppt》由会员分享,可在线阅读,更多相关《《计算机系统结构》电子教案(课2).ppt(45页珍藏版)》请在冰豆网上搜索。

《计算机系统结构》电子教案(课2).ppt

第第22章章指令系统的设计指令系统的设计本章主要内容本章主要内容

(1)

(1)指令操作码的优化(不讲)指令操作码的优化(不讲)

(2)

(2)RISCRISC技术简介技术简介(3)(3)MIPSMIPS指令集指令集(4)(4)MIPSMIPS模拟器(补充)模拟器(补充)2014.2.171计算机系统结构2.4.22.4.2RISCRISC技术简介(技术简介(P44P44)名词:

名词:

RISCReducedInstructionSetComputingRISCReducedInstructionSetComputing,精简指令集计算机精简指令集计算机

(1)

(1)RISCRISC产生的背景:

产生的背景:

20%20%与与80%80%规律规律

(2)

(2)RISCRISC设计的基本原则:

设计的基本原则:

只设置最常用的简单指令,凡遇复杂操作均用多条简单指令实现;只设置最常用的简单指令,凡遇复杂操作均用多条简单指令实现;指令长度固定,操作码与操作数长度都尽量统一;指令长度固定,操作码与操作数长度都尽量统一;基本指令的启动时间间隔降低到基本指令的启动时间间隔降低到11个时钟周期;个时钟周期;访问主存只有访问主存只有loadload和和storestore指令,用变址寻址;指令,用变址寻址;尽量采用硬连逻辑对指令译码;尽量采用硬连逻辑对指令译码;为了加快执行速度,在编译过程中对目标代码结构进行优化;为了加快执行速度,在编译过程中对目标代码结构进行优化;(3)(3)RISCRISC性能优势的原因性能优势的原因采用采用RISCRISC技术的主要动机是使各条指令的执行时序尽可能一致,技术的主要动机是使各条指令的执行时序尽可能一致,CPUCPU在在执行时间上可以把它们安排得更紧凑,就像许多大小相近的箱子容易被堆执行时间上可以把它们安排得更紧凑,就像许多大小相近的箱子容易被堆放得更密集一样。

这样机器内的各种资源可以充分利用,单位时间内能执放得更密集一样。

这样机器内的各种资源可以充分利用,单位时间内能执行更多的指令,速度更快。

行更多的指令,速度更快。

这方面的具体内容,在第这方面的具体内容,在第33章讲流水线时会详细介绍。

章讲流水线时会详细介绍。

2014.2.172计算机系统结构2.4.22.4.2RISCRISC技术的发展技术的发展2020世纪世纪7070年代初,年代初,IBMIBM研究中心的研究中心的JohnJohnCockeCocke证明,计算机中约证明,计算机中约20%20%的的指令承担了指令承担了80%80%的工作,的工作,19741974年,他提出年,他提出RISCRISC的概念。

的概念。

在在RISCRISC的早期研究中,加州大学伯克利分校(的早期研究中,加州大学伯克利分校(UCBerkeleyUCBerkeley)和斯坦福)和斯坦福大学(大学(StanfordStanford)提出了许多有创见的新思想。

伯克利率先在提出了许多有创见的新思想。

伯克利率先在19821982年完成年完成了了RISCIRISCI型型3232位芯片的设计,斯坦福大学则在位芯片的设计,斯坦福大学则在JohnHennessyJohnHennessy(现任校长)现任校长)带领下于带领下于19831983年完成了第一个采用年完成了第一个采用RISCRISC理念的商用理念的商用MIPSMIPS微处理器微处理器。

19841984年年HennessyHennessy等人创建了等人创建了MIPSMIPS计算机公司,计算机公司,19981998年改名为年改名为MIPSMIPS技术技术公司(美普思科技公司,公司(美普思科技公司,MIPSTechnologiesIncMIPSTechnologiesInc),),目前是美国最著名的目前是美国最著名的芯片设计公司之一。

芯片设计公司之一。

MIPSMIPS技术公司本身不生产微处理器,它只设计高性能技术公司本身不生产微处理器,它只设计高性能工业级的工业级的3232位和位和6464位位CPUCPU的结构体系,并且向其它半导体公司提供使用其内的结构体系,并且向其它半导体公司提供使用其内核(核(IPIP)的授权,用于生产基于的授权,用于生产基于MIPSMIPS而又各具特色的微处理器。

而又各具特色的微处理器。

19991999年年MIPSMIPS技术公司发布了技术公司发布了MIPS32MIPS32和和MIPS64MIPS64架构标准。

架构标准。

MIPSMIPS的通用微处理器主要用于构建高性能工作站、服务器和超级计算的通用微处理器主要用于构建高性能工作站、服务器和超级计算机系统,其嵌入式产品在机系统,其嵌入式产品在19991999年以前全球销量第一,目前也仅次于年以前全球销量第一,目前也仅次于ARMARM。

2014.2.173计算机系统结构MIPS处理器处理器MIPSMIPS的意思是的意思是“无内部互锁流水级的微处理器无内部互锁流水级的微处理器”(MicroprocessorMicroprocessorwithoutinterlockedpipedstageswithoutinterlockedpipedstages),),其机制是尽量利用软件办法避免流其机制是尽量利用软件办法避免流水线中的数据相关问题。

水线中的数据相关问题。

MIPSMIPS具有强大的应用基础,能在具有强大的应用基础,能在MIPSMIPS上运行的操作系统,包括上运行的操作系统,包括LinuxLinux、WindRiverWindRiver、WinCEWinCE、GNUGNU、和和MontaMontaVistaVista等;支持等;支持1414种编译器,包括种编译器,包括MIPSMIPS、SDESDE、GreenHillsGreenHills、GNUGNU和和WindRiverWindRiver等;支持等;支持1515种调试器,包括种调试器,包括GNUGNU、GreenGreenHillsHills、WindRiverWindRiver、ASHLINGASHLING和和FS2FS2等;支持等;支持1818种仿真工具,包括种仿真工具,包括MentorMentorGraphicsGraphics、SynopsysSynopsys、CoWareCoWare和和CandenceCandence等。

等。

中国科学院计算所的龙芯中国科学院计算所的龙芯11和和22都采用都采用6464位位MIPSMIPS指令架构。

中国龙芯已与指令架构。

中国龙芯已与MIPSMIPS公司合作,购买其指令系统授权,以便批量生产与出口。

公司合作,购买其指令系统授权,以便批量生产与出口。

2014.2.174计算机系统结构2.6.1MIPS的寄存器(的寄存器(P47)3232个个6464位通用寄存器(位通用寄存器(GPRsGPRs),),也称为整数寄存器也称为整数寄存器名称是名称是R0R0,R1R1,R31R31(也可写为也可写为$0$0,$11,$3131)R0R0的值永远是的值永远是00,可用作源寄存器,也可作为无用结果的目的寄存器;,可用作源寄存器,也可作为无用结果的目的寄存器;R31R31用于存放跳转并链接类指令的返回地址。

用于存放跳转并链接类指令的返回地址。

3232个个6464位浮点数寄存器(位浮点数寄存器(FPRsFPRs)F0F0,F1F1,F31F31用来存放用来存放3232个单精度浮点数(个单精度浮点数(3232位),也可以用来存放位),也可以用来存放3232个双精度浮个双精度浮点数(点数(6464位)。

位)。

存储单精度浮点数(存储单精度浮点数(3232位)时,只用到位)时,只用到FPRFPR的一半,其另一半没用。

的一半,其另一半没用。

特殊功能寄存器特殊功能寄存器PCPC(programcounterprogramcounter,程序计数寄存器)程序计数寄存器)HIHI(整数乘除结果高位寄存器,除法余数)整数乘除结果高位寄存器,除法余数)LOLO(整数乘除结果低位寄存器,除法的商整数乘除结果低位寄存器,除法的商)它们可以与通用寄存器交换数据。

它们可以与通用寄存器交换数据。

浮点状态寄存器:

用来保存有关浮点操作结果的信息。

浮点状态寄存器:

用来保存有关浮点操作结果的信息。

2014.2.175计算机系统结构MIPS的寄存器别名(程序员习惯用法)的寄存器别名(程序员习惯用法)MIPSMIPS编译器支持一些专业程序员对编译器支持一些专业程序员对3232个个通用寄存器通用寄存器GPRGPR(GENERALGENERALPURPOSEREGISTERPURPOSEREGISTER)约定的习惯性用法(非强制的):

约定的习惯性用法(非强制的):

REGISTERNAMEREGISTERNAMEUSAGEUSAGE$0$zero$0$zero常量常量0(0(constantvalue0)constantvalue0)$2-$3$v0-$v1$2-$3$v0-$v1函数调用返回值函数调用返回值(valuesforresultsandvaluesforresultsandexpressionevaluation)expressionevaluation)$4-$7$a0-$a3$4-$7$a0-$a3函数调用参数函数调用参数(arguments)arguments)$8-$15$t0-$t7$8-$15$t0-$t7暂时的暂时的(或随便用的或随便用的)$16-$23$16-$23$s0-$s7s0-$s7保存的保存的(或如果用,需要或如果用,需要SAVE/RESTORESAVE/RESTORE的的)()(saved)saved)$24-$25$t8-$t9$24-$25$t8-$t9暂时的暂时的(或随便用的或随便用的)$26-$27$k0-$k1$26-$27$k0-$k1由操作系统的异常或中断处理程序使用由操作系统的异常或中断处理程序使用$28$28$gpgp全局指针全局指针(GlobalPointer)GlobalPointer)$29$sp$29$sp堆栈指针堆栈指针(StackPointer)StackPointer)$30$30$fpfp帧指针帧指针(FramePointer)FramePointer)(BNN(BNN:

fpfpisstaleisstaleacutallyacutally,andcanbesimplyusedas$t8),andcanbesimplyusedas$t8)$31$31$rara返回地址返回地址(returnaddress)returnaddress)2014.2.176计算机系统结构2.6.2MIPS的数据表示的数据表示整数整数字节(字节(88位)位)半字(半字(1616位)位)字(字(3232位)位)双字(双字(6464位)位)浮点数浮点数单精度浮点数(单精度浮点数(3232位)位)双精度浮点数(双精度浮点数(6464位)位)字节、半字或者字在装入字节、半字或者字在装入6464位寄存器时,用零扩展或者用符号位扩展来填位寄存器时,用零扩展或者用符号位扩展来填充该寄存器的剩余部分。

装入以后,对它们将按照充该寄存器的剩余部分。

装入以后,对它们将按照6464位整数的方式进行运算。

位整数的方式进行运算。

2014.2.177计算机系统结构2.6.3MIPS的数据寻址方式(的数据寻址方式(P47)立即数寻址与偏移量寻址;立即数寻址与偏移量寻址;立即数字段和偏移量字段都是立即数字段和偏移量字段都是1616位的。

位的。

寄存器间接寻址是通过把寄存器间接寻址是通过把00作为偏移量来实现的;作为偏移量来实现的;1616位绝对寻址是通过把位绝对寻址是通过把R0R0(其值永远为其值永远为00)作为基址寄存器来完成的;)作为基址寄存器来完成的;MIPSMIPS的存储器按字节寻址,地址为的存储器按字节寻址,地址为6464位;位;

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 工程科技 > 材料科学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1