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

Slides:



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

§4 指令系统的发展和改进 CISC和RISC 按CISC方向发展和改进指令系统 按RISC方向发展和改进指令系统.
程序的执行 程序执行和指令执行概述 数据通路基本结构和工作原理 流水线方式下指令的执行
第五章 中央处理器 5.1 CPU的组成和功能 5.2 指令周期 5.3 时序产生器和控制方式 5.4 微程序控制器 5.5 微程序设计技术
信息技术:硬件、软件、网络、数据库 计算机技术、多媒体技术、压缩技术...
2017年3月5日 单片机原理与应用 背景知识调查.
微型计算机技术及应用 王 健 主讲 授课学时:40学时 大连理工大学计算机系.
2011年广州市高二语文水平测试质量分析 广州市教育局教学研究室 陈坪
计算机组成原理 北京理工大学计算机科学工程系 赵清杰 北京理工大学计算机科学工程系.
第3章 流水线技术.
实验四 利用中规模芯片设计时序电路(二).
第三章 计算机核心部件及其 工作原理.
计算机组成原理 第二十一讲 计算机科学与技术学院 舒燕君.
计算机组成与系统结构 主讲教师: 胡越明 课件下载: ftp://ftp.cs.sjtu.edu.cn /huym/计算机组成与系统结构
第二章 指令系统.
大连理工大学软件学院 软件工程系 赖晓晨 计算机组成与结构 大连理工大学软件学院 软件工程系 赖晓晨
计算机基础知识 丁家营镇九年制学校 徐中先.
周学海 , 中国科学技术大学 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
周学海 , 中国科学技术大学 2018/11/15 计算机体系结构 周学海 , 中国科学技术大学 11/15/2018 中国科学技术大学.
Windows 8 more simple more powerful more free.
第2章 汇编语言与汇编程序 ——8086/8088指令系统 mov ax,12h call display Jmp 1234h.
MIPS 体系结构介绍 张福新.
嵌入式系统课程简介 宋健建 南京大学软件学院 2004/02/10.
总 复 习.
第2章 计算机指令集结构 曲冠南
第三章 流水线技术.
嵌入式微处理器系统 第二章 处理器技术(1) 北京大学软件与微电子学院.
存储系统.
走进编程 程序的顺序结构(二).
7.1 机器指令 7.2 操作数类型和操作类型 7.3 寻址方式 7.4 指令格式举例 7.5 RISC 技术.
微机原理与接口技术 ——80x86微处理器 西安邮电大学 计算机学院 范琳.
第一单元 初识C程序与C程序开发平台搭建 ---观其大略
第二章 计算机指令集结构 指令集结构是系统结构的主要内容之一,其功能设计实际上就是确定软/硬件功能分配。
WINDOWS 報告者: 洪仁修.
Windows网络操作系统管理 ——Windows Server 2008 R2.
逆向工程-汇编语言
CPU结构和功能.
第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语言程序设计 主讲教师:陆幼利.
微机系统的组成.
2019/4/29 计算机组成原理 辅导教师:陆明强.
第三章 MCS 51的硬件结构.
<编程达人入门课程> 本节内容 内存的使用 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群: ,
第4章 Excel电子表格制作软件 4.4 函数(一).
实验三 16位算术逻辑运算实验 不带进位控制的算术运算 置AR=1: 设置开关CN 1 不带进位 0 带进位运算;
JSP实用教程 清华大学出版社 第2章 JSP运行环境和开发环境 教学目标 教学重点 教学过程 2019年5月7日.
作业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++语言程序设计.
数据表示 第 2 讲.
24 or 1024? PWN Jawbone Up24 手环.
第4章 指 令 系 统 4.1 指令系统的发展与性能要求 4.2 指令格式 4.3 指令和数据的寻址方式 4.4 典型指令
第三章 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. 2012年6月,微软公司正式发布了其第一款搭载了最新的Windows8操作系统的自有品牌平板电脑Surface,并且有两个版本,RT为标准版,采用ARM处理器,只运行Metro应用, 而Pro版是一款全功能的PC机,采用intel处理器。

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 36··63← name JAL name 跳转并链接 Regs[R31]←PC+4;PC 36··63←name; ((PC+4)-227)≤name<((PC+4)+227) BEQZ R4,name 等于零时分支 if(Regs[R4]== 0) PC←name ; ((PC+4)-217)≤name<((PC+4)+217)

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