第二章 计算机指令集结构 指令集结构是系统结构的主要内容之一,其功能设计实际上就是确定软/硬件功能分配。

Slides:



Advertisements
Similar presentations
因数与倍数 2 、 5 的倍数的特征
Advertisements

3 的倍数的特征 的倍数有 : 。 5 的倍数有 : 。 既是 2 的倍数又是 5 的倍数有 : 。 12 , 18 , 20 , 48 , 60 , 72 , , 25 , 60 ,
《微型计算机技术 及应用》 ( 第 4 版) —— 戴梅萼 史嘉权. 目标 深刻理解 牢固掌握 灵活应用.
教员信息 姓 名:仲崇权 单 位:电子与信息工程学院 电 话: 办公室:创新院大厦720房间 :
§4 指令系统的发展和改进 CISC和RISC 按CISC方向发展和改进指令系统 按RISC方向发展和改进指令系统.
程序的执行 程序执行和指令执行概述 数据通路基本结构和工作原理 流水线方式下指令的执行
第五章 中央处理器 5.1 CPU的组成和功能 5.2 指令周期 5.3 时序产生器和控制方式 5.4 微程序控制器 5.5 微程序设计技术
信息技术:硬件、软件、网络、数据库 计算机技术、多媒体技术、压缩技术...
2017年3月5日 单片机原理与应用 背景知识调查.
微型计算机技术及应用 王 健 主讲 授课学时:40学时 大连理工大学计算机系.
计算机组成原理 北京理工大学计算机科学工程系 赵清杰 北京理工大学计算机科学工程系.
第3章 流水线技术.
实验四 利用中规模芯片设计时序电路(二).
第三章 计算机核心部件及其 工作原理.
计算机组成与系统结构 主讲教师: 胡越明 课件下载: ftp://ftp.cs.sjtu.edu.cn /huym/计算机组成与系统结构
第二章 指令系统.
大连理工大学软件学院 软件工程系 赖晓晨 计算机组成与结构 大连理工大学软件学院 软件工程系 赖晓晨
计算机基础知识 丁家营镇九年制学校 徐中先.
移动电子商务时代来临 即刻“升级”还是等待被淘汰 PayPal 中国区产品总监 赵祺 信行软件CEO 周翔.
周学海 , 中国科学技术大学 2018/11/9 计算机体系结构 周学海 , 中国科学技术大学 11/9/2018 中国科学技术大学.
(Verilog+Quartus Ⅱ+Cyclone版)
第4章 处理器(CPU) 4.1 引言 4.2 逻辑设计的一般方法 4.3 建立数据通路 4.4 一个简单的实现机制 4.5 多周期实现机制.
微处理器设计1 刘鹏 College of ISEE Zhejiang University
Windows 8 more simple more powerful more free.
第2章 汇编语言与汇编程序 ——8086/8088指令系统 mov ax,12h call display Jmp 1234h.
嵌入式系统课程简介 宋健建 南京大学软件学院 2004/02/10.
总 复 习.
第2章 计算机指令集结构 曲冠南
第三章 流水线技术.
嵌入式微处理器系统 第二章 处理器技术(1) 北京大学软件与微电子学院.
存储系统.
走进编程 程序的顺序结构(二).
7.1 机器指令 7.2 操作数类型和操作类型 7.3 寻址方式 7.4 指令格式举例 7.5 RISC 技术.
微机原理与接口技术 ——80x86微处理器 西安邮电大学 计算机学院 范琳.
数 控 技 术 华中科技大学机械科学与工程学院.
Windows网络操作系统管理 ——Windows Server 2008 R2.
时序逻辑电路实验 一、 实验目的 1.熟悉集成计数器的功能和使用方法; 2.利用集成计数器设计任意进制计数器。 二、实验原理
逆向工程-汇编语言
厂商—型号 海尔-PAD002 外观设计 建议零售价格:2999元 上市时间:2011年3月 目标人群:有移动互联需求的商务人士
CPU结构和功能.
应用实例 识别Ps & Pt ADTS 压力通道并校验 CPD8000 New MENSOR‘s ADTS: CPA8001.
第二章 计算机指令集结构 指令集结构是系统结构的主要内容之一,其功能设计实际上就是确定软/硬件功能分配。
第3章 流水线技术 曲冠南
Instructions: Language of the Machine
第二章 80x86计算机组织 x86微处理器 2.2 基于微处理器的计算机系统构成 2.3 中央处理机 2.4 存储器
第六次全国人口普查 近期数据处理工作部署 夏雨春 2010年12月28日.
CISC vs. RISC 複雜指令集電腦(Complex Instruction Set Computer: CISC)
第2章 计算机指令集结构 授课教师:车喜龙
C语言程序设计 主讲教师:陆幼利.
简单介绍 用C++实现简单的模板数据结构 ArrayList(数组, 类似std::vector)
微机系统的组成.
微机原理与接口技术 微机原理与接口技术 朱华贵 2015年11月13日.
第三章 MCS 51的硬件结构.
<编程达人入门课程> 本节内容 内存的使用 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群: ,
第4章 Excel电子表格制作软件 4.4 函数(一).
JSP实用教程 清华大学出版社 第2章 JSP运行环境和开发环境 教学目标 教学重点 教学过程 2019年5月7日.
iSIGHT 基本培训 使用 Excel的栅栏问题
作业3、4、6、7 俞天灿.
第八章 总线技术 8.1 概述 8.2 局部总线 8.3 系统总线 8.4 通信总线.
第4章 指令级并行 授课教师:车喜龙
3. 逻辑运算指令 A、简单逻辑操作指令 CLR A. (不影响CY、AC、 OV标志) CPL A
本节内容 通用寄存器 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群 : 联系电话:
得技通电子 问题 三 判断题:.
周学海 中国科学技术大学 2019/6/3 计算机体系结构 周学海 中国科学技术大学.
清华大学计算机科学与技术系高性能计算研究所 郑纬民 教授 2005年5月
微机原理与接口技术 西安邮电大学计算机学院 宁晓菊.
C++语言程序设计 C++语言程序设计 第一章 C++语言概述 第十一组 C++语言程序设计.
第三章 CPU子系统 西南石油大学计算机科学学院 主讲教师 杨 梅 联系电话:
第5章 中 央 处 理 器 5.1 CPU的功能和组成 5.2 指令周期 5.3 时序产生器和控制方式 5.4 微程序控制器
学习目标 1、什么是列类型 2、列类型之数值类型.
Presentation transcript:

第二章 计算机指令集结构 指令集结构是系统结构的主要内容之一,其功能设计实际上就是确定软/硬件功能分配。 本章主要介绍CISC和RISC指令集结构的功能设计,重点学习典型的RISC指令集结构:MIPS。 其余内容要求自学。

2.1 CISC计算机和RISC计算机 计算机系统结构设计思想的转变 1. CISC的设计思想 由于软硬件的局限,特别是存储器,当初人们普遍认为计算机的指令越丰富越好。在R-R,R-M,M-M三种指令中,M-M被认为效率最高! 工艺技术发展后,问题出现了。 M-M指令在一条指令中就实现了数据间运算,不必再使用读入、写回指令。

2.1 CISC计算机和RISC计算机 2. CISC指令系统的问题 1)20%与80%定律: 2)编译难度的增加和译码时间的延长 一个指令系统中大约20%的指令是经常被使用的,所占比例约为全部程序的80%;而剩下的80%指令很少被用到,只占全部程序的20%。把大量不经常使用的复杂指令设计在微程序控制器中,增加了控制器的设计难度。 2)编译难度的增加和译码时间的延长 单纯通过增加指令的复杂性已不能再提高程序的执行速度了。 3)VLSI技术进步提供的机遇 CPU内部只用布线逻辑可以实现基本指令控制。VLSI对规整的电路设计和制作特别有利。有利于增加大量寄存器。

2.1 CISC计算机和RISC计算机 二. RISC计算机 1. RISC的特点: 1)精简指令系统及其结构,仅保留使用频率高的指令。 2)不设(或尽量少用)微程序控制器,由硬连逻辑直接译码。 3)使用大量的通用寄存器。 4)由于精简指令系统一般是由频率高的简单指令组成。易于实现优化编译和流水线技术。

2. RISC计算机与CISC计算机的比较 CISC RISC 特征 IBM 370 VAX 11 INTEL 80486 SPARC MIPS R4000 开发年份 1973 1978 1989 1987 1991 指令数量 208 304 235 75 94 指令长(B) 2-6 2-57 1-11 4 寻址方式 24 3 通用 寄存器 16 8 120-136 32 控制 存储器 420 KB 480 246 — Cache (KB) 64 128 指令数量明显减少,长度等长。利于流水线的设计和工作效率提高。使绝大部分指令都能在1个时钟周期内执行完成--这是RISC技术的一个基本的目标。 简化寻址方式。 和存储器相关的指令只有LOAD/STORE。 取消控制存储器。改用硬连布线逻辑。空出的物理地方正好放大量的寄存器。

2.1 CISC计算机和RISC计算机 CISC与RISC计算机的在程序执行时间上的比较 类型 指令条数I 指令平均周期数CPI 周期时间T CISC 1 2-15 33ns-5ns RISC 1.3-1.4 1.1-1.4 10ns-2ns 综合3个因素,RISC的运算速度要比CISC快约3倍。其中的关键是CPI的下降。

2.1 CISC计算机和RISC计算机 三. CISC和RISC的应用发展 1. IBM公司在1975年成功开发出第一款RISC处理器,从此RISC架构开始走进超级计算机中。除了IBM的Power和PowerPC 外,还有DEC的Alpha、SUN的SPARC、HP的PA-RISC、MIPS技术公司的 MIPS、ARM公司的ARM等等。 2. CISC却在PC上获得新生,微软与Intel唱起了“双黄戏”,一唱一合,顽固坚持CISC路线,搞X86处理器,为了保持软件兼容,PC必须一直延续X86架构无法脱离。(Windows系列+Intel X86系列)。

2.1 CISC计算机和RISC计算机 3. 发展RISC PC的只有苹果公司,它们的全系列PC都基于IBM的 PowerPC指令架构。但在2006年也开始转用Intel的处理器(x86架构) 。 4. 2011年1月,微软公司同ARM公司(全世界几乎所有的智能手机和平板电脑设备微处理器,包括iPhone和iPad的,都由ARM设计)合作决定其下一代Windows操作系统以ARM微处理器(RISC架构)的设计 5. 在Pentium品牌推出后,英特尔开始逐渐在x86中引入RISC的设计思想。他表面上接受CISC指令,实际上通过译码器转化成RISC。借助PC市场上攫取的巨额利润,英特尔开始疯狂提升x86处理器的性能。于是,在服务器和超级计算机市场上,英特尔的Xeon品牌开始逐渐发力,性能和当时的RISC处理器相比已不落下风甚至略有胜出。

2.1 CISC计算机和RISC计算机 6. 2012年6月,微软公司正式发布了其第一款搭载了最新的Windows8操作系统的自有品牌平板电脑Surface,并且有两个版本,RT为标准版,采用ARM处理器,只运行Metro应用, 而Pro版是一款全功能的PC机,采用intel处理器。近两年推出的Win 10 也是同样有两个版本,分别支持两种架构。 7. 目前,x86处理器占据了超过90%的个人电脑市场,以ARM为代表的RISC产品则同样占据了超过90%的移动计算市场。两强都想、都有希望进入对方的领地。究竟谁能胜利,我们拭目以待。

2.2 MIPS指令集结构 MIPS诞生于1980年代,是最早的RISC处理器之一。 一 . MIPS的寄存器 32个64位通用寄存器(GPRs) 也被称为整数寄存器,寄存器R0的值永远为0。 32个64位浮点数寄存器(FPRs) 一些特殊寄存器 如浮点状态寄存器,可以与通用寄存器交换数据。

2.2 MIPS指令集结构 二 . MIPS的数据表示 1、整数:字节(8位)、半字(16位)、字(32位)、双字(64位) 2、浮点数:单精度浮点数(32位)、双精度浮点数(64位) 字节、半字或者字在装入64位寄存器时,用零扩展或者用符号位扩展来填充该寄存器的剩余部分。装入以后,对它们将按照64位整数的方式进行运算。

2.2 MIPS指令集结构 三 . MIPS的指令格式 所有的指令都是32位的 操作码占6位,寻址方式编码到操作码中 3种指令格式:

2.2 MIPS指令集结构 1、 I类指令 load指令 访存有效地址:Regs[rs]+immediate rt rs 立即数( immediate ) 操作码 6 5 16 10 11 15 31 寄存器号 load指令 访存有效地址:Regs[rs]+immediate 从存储器取来的数据放入寄存器rt store指令 要存入存储器的数据放在寄存器rt中

2.2 MIPS指令集结构 1、 I类指令 立即数指令 Regs[rt] ← Regs[rs] op immediate 分支指令 立即数( immediate ) 操作码 6 5 16 10 11 15 31 寄存器号 立即数指令 Regs[rt] ← Regs[rs] op immediate 分支指令 转移目标地址:Regs[rs]+immediate,rt无用 寄存器跳转、寄存器跳转并链接 转移目标地址为Regs[rs]

2.2 MIPS指令集结构 2、 R类指令 包括ALU指令、专用寄存器读/写指令、move指令等。 ALU指令 6 5 rt rd func 10 11 15 16 31 20 21 shamt 25 26 操作码 rs 源1 源2 目的 包括ALU指令、专用寄存器读/写指令、move指令等。 ALU指令 Regs[rd]← Regs[rs] func Regs[rt] func为具体的运算操作编码 shamt存放移位的位数, 也就是指令中的立即数

2.2 MIPS指令集结构 3、 J类指令 包括跳转指令、跳转并链接指令、自陷指令、异常返回指令。 26 操作码 6 与 PC 相加的偏移量 31 5 包括跳转指令、跳转并链接指令、自陷指令、异常返回指令。 在这类指令中,指令字的低26位是偏移量,它与PC值相加形成跳转的地址。

2.2 MIPS指令集结构 四 . MIPS的操作 符号的意义: x←ny:从y传送n位到x x,y←z:把z传送到x和y 下标:表示字段中具体的位; 对于指令和数据,按从最高位到最低位(即从左到右)的顺序依次进行编号,最高位为第0位,次高位为第1位,依此类推。 下标可以是一个数字,也可以是一个范围。 例如:Regs[R4]0:寄存器R4的符号位 Regs[R4]56..63:R4的最低字节

2.2 MIPS指令集结构 Mem:表示主存;按字节寻址,可以传输任意个字节。 上标:用于表示对字段进行复制的次数 例如:0 32:一个32位长的全0字段 符号##:用于两个字段的拼接,并且可以出现在数据传送的任何一边。

2.2 MIPS指令集结构 1、load和store 详见P45 表2.11 指令举例 指令名称 含 义 LD R2,20(R3) 装入双字 Regs[R2]←64 Mem[20+Regs[R3]] LW R2,40(R3) 装入字 Regs[R2]←64 (Mem[40+Regs[R3]]0)32 ## Mem[40+Regs[R3]] SD R4,300(R5) 保存双字 Mem[300+Regs[R5]]←64 Regs[R4]

2.2 MIPS指令集结构 2、 ALU操作 详见P46 表2.12 指令举例 指令名称 含义 DADDU R1,R2,R3 无符号加 Regs[R1]← Regs[R2]+ Regs[R3] DADDIU R4,R5,#6 加无符号立即数 Regs[R4]← Regs[R5]+6 DSLL R1,R2,#5 逻辑左移 Regs[R1]← Regs[R2]<<5

2.2 MIPS指令集结构 3、分支和跳转 详见P46 表2.13 指令举例 指令名称 含义 J name 跳转 JAL name (PC+4 )36··63←( name<<2) JAL name 跳转并链接 Regs[R31]←PC+4; BEQZ R4,name 等于零时分支 if(Regs[R4]== 0) PC←(PC+4)+(name<<2)

2.2 MIPS指令集结构 4、浮点操作 由操作码指出操作数是单精度(SP)或双精度(DP) 后缀S:表示操作数是单精度浮点数 包括加、减、乘、除,分别有单精度和双精度指令。 浮点数比较指令