计算机体系结构知识点
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
类型:数据相关 名相关 控制相关
(1)数据相关:写后读(可传递)
(2)名相关:使用相同寄存器或存储单元名,但无数据流动
a)反相关:读后写,需保证执行顺序不能改变
b)输出相关:写后写,需保证执行顺序不能改变
反相关可以通过换名消除
(3)控制相关
流水线冲突:对于具体流水线来说,由于相关的存在,使得指令流中的下一条指令不能再指定的时钟周期执行.
J型指令(跳转指令,跳转并链接指令,自陷指令,异常返回指令)
用26位二进制码表示跳转目标的指令地址(实际的指令地址应为32位,其中最低2位为“00”,最高4位由PC当前地址决定)。
MIPS的操作
课本P46
第三章
一.
流水线技术的特点
1把一个处理过程分解为若干个子过程,每个子过程有一个独立的功能部件实现
CPI(CyclesPer Instruction)
CPI=执行程序所需时钟周期数/所执行指令条数
∴CPU时间 =ICxCPI x时钟周期时间
可知CPU性能取决于一下三个方面
1时钟周期时间:取决于硬件实现技术和计算机组成
2CPI:取决于计算机组成和指令集结构
3IC:取决于指令集结构和编译技术
程序局部性原理
第一章
(一)
什么是计算机系统结构:程序员所看到的计算机属性,即概念性结构与功能特性.
透明性:在计算机技术中,把本来存在的事物或属性,但从某种角度看又好像不存在的概念成为透明性.
常见计算机系统结构分类法
冯氏分类法(冯泽云):按最大并行度对计算机进行分类.
Flynn分类法:按指令流和数据流多倍性进行分类
寄存器间接寻址通过把0作为偏移量实现
16位绝对寻址把R0(永远为0)作为基址寄存器实现
MIPS按字节寻址,地址为64位,所有存储器访问必须是边界对齐的
指令格式
I类
65516
操作码
rs
rt
立即数
R类
655556
操作码
rs
rt
rd
shamt
funct
J类
626
操作码
与PC相加的偏移量
I型指令(load,store,立即数,分支,寄存器跳转,链接跳转)
(1)结构冲突:硬件资源满足不了指令重叠执行的要求.
(2)数据冲突:当在流水线中重叠执行时,因需要用到前面指令的执行结果而发生的冲突
a)写后读冲突
b)写后写冲突
c)读后写冲突(经典五段流水线中不会发生)
(3)控制冲突:流水线遇到分支指令和其他会改变PC值的指令所引发的冲突.
解决冲突的方法
(1)结构冲突:停顿或添加硬件
(2)指令集庞大,指令条数多,功能复杂,使得控制器硬件复杂.
(3)许多指令集由于操作复杂,CPI较大,执行速度慢.
(4)指令功能复杂,规整性不好,不利于采用流水线提高性能
RISC指令集架构设计
设计RISC时遵循的原则
(1)指令条数少而简单
(2)采用简单有统一的指令格式
(3)指令的执行再单个机器周期内完成(采用流水线机制后)
1.面向目标程序增强指令功能
(1)增强运算型指令的功能
(2)增强数据传送指令的功能
(3)增强程序控制指令的功能
2.面向高级语言的优化实现来改进指令集
(1)增强对高级语言的优化实现来改进指令集
(2)高级语言计算机
3.面向操作系统的优化实现改进指令集
存在的问题
(1)各种指令集使用频度相差悬殊,许多指令很少用到.
解决瓶颈的方法
1.细分瓶颈段
2.重复设置瓶颈段
加速比(S)
顺序执行的时间比使用流水线的执行时间
效率(E)
流水线中的设备实际使用时间与整个运行时间的比值
流水线设计中的问题
1.瓶颈问题
2.流水线的额外开销
3.冲突问题
三.
经典五段流水线
1.取指
2.译码
3.执行
4.访存
5.写回
相关与流水线冲突
相关:两条指令之间存在依赖关系
2静态流水线与动态流水线(多功能流水线的进一步分类)
3部件级,处理机级及处理机间流水线
4线性流水线与非线性流水线
5顺序流水线与乱序流水线
二.
吞吐率TP:单位时间内流水线所完成的任务数量,或输出结果的数量
掌握各段时间相等与不等的流水线吞吐量计算
瓶颈
当流水线各段时间不完全相等时,流水线最大吞吐量和实际吞吐量由最长的一段决定,该段成为瓶颈
(4)只有load和store能访存,其他指令在寄存器间进行
(5)大多数指令都采用硬连逻辑来实现
(6)强调优化编译器的作用,为高级语言程序生成优化代码
(7)充分利用流水线来提高性能
控制指令:能改变控制流的指令
条件分支(使用频度最高),跳转,过程调用,过程返回
四.
指令的组成:操作码和地址码
编码格式:可变长度编码格式固定长度编码格式混合型编码格式
2字串位并
3字并位串
4全并行
从执行程序的角度并行性由低到高分为以下几个等级
1指令内并行
2指令级并行
3线程级并行
4任务级或过程及并行
5作业或程序级并行
提高并行性的技术途径
1时间重叠:流水线
2资源重复
3资源共享
第二章
一.
堆栈结构
累加器结构
通用寄存器结构(RM)
通用寄存器结构(RR)
二.
一些操作数寻址方式(掌握部分常用的即可)
寄存器寻址
立即数寻址
偏移寻址
寄存器间接寻址
索引寻址
直接寻址或绝对寻址
存储器简介寻址
自增寻址
自减寻址
缩放寻址
立即数和偏移寻址使用频度最高
三.
设计指令集结构时需要考虑哪些功能由硬件实现,哪些由软件实现.考虑因素由速度,成本,灵活性,硬件实现的特点是速度快,成本高,灵活性差,软件相反.
对指令集的基本要求:
则用连续2个5位二进制码表示2个寄存器的地址,然后是由1个16位二进制码表示1个立即数二进制码。
R型指令(ALU指令,专用寄存器读写指令,move指令等)
用连续3个5位二进制码表示3个寄存器的地址,然后用1个5位二进制码表示移位的位数(如果未使用移位操作,则全为0),最后是6位的Function码(它与Opcode码共同决定R型指令的具体操作方式)。
1单指令流单数据流
2单指令流多数据流
3多指令流单数据流(不存在)
4多源自文库令流多数据流
(二)
Amdahl定律:加快某部件执行速度所能获得的系统性能加速比,受限于该部件的执行时间占系统中总执行时间的百分比.
加速比 = =
加速比依赖于以下两个因素
1可改进比例
2部件加速比
CPU性能公式
CPU时间
CPU时间 =执行程序所需时间的时钟周期数 x时钟周期时间(系统频率倒数)
五.
寄存器:
有32个64位通用寄存器(整数寄存器)R0,R0…R31.R0永远等于0.
还有32个64位浮点数寄存器F0,F1…F31
还有一些特殊的寄存器
数据表示:
整数:字节,半字,字,双字(分别8,16,32,64位)
浮点数:单精度浮点数(32位),双精度浮点数(64位)
数据寻址方式:
只有立即数寻址和偏移量寻址,立即数字段和偏移量字段都是16位
第一代:电子管计算机
第二代:晶体管计算机
第三代:集成电路计算机
第四代:大规模集成电路计算机
第五代:智能计算机
实现软件可移植性的方法
① 采用系列机
②模拟与仿真
③统一高级语言
系列机的软件兼容
① 向上兼容
② 向下兼容
③ 向前兼容
④向后兼容
(四)
从处理数据的角度并行性由低到高分为以下几个等级
1字串位串:不存在并行性
空间局部性
时间局部性
计算机性能评测:执行时间 吞吐率
(三)
冯诺依曼结构:
1计算机以运算器为中心.
2在存储器中指令和数据同等对待.
3存储器是按地址访问,按顺序线性编址的一维结构.
4指令执行是顺序的,即一般是按照指令在存储器中存放的顺序执行.
5指令由地址码和操作码组成.
6指令和数据均以二进制编码表示.
五代计算机(没卵用)
2流水线各段的时间应尽可能相等,否则将引起流水线堵塞断流.时间长的段成为瓶颈
3流水线每一个功能部件的后面要有一个缓冲寄存器(锁存器),成为流水线寄存器.
4流水线技术适合于大量重复的时序过程,只有在输入端不断地提供任务,才能充分发挥流水线的效率.
5流水线需要有通过时间和排空时间.
流水线的分类
1单功能流水线与多功能流水线
(2)数据冲突:通过定向技术减少数据冲突引起的停顿
部分数据冲突无法通过定向技术消除,需要停顿(流水线互锁机制)
(3)依靠编译器解决数据冲突
即通过指令调度或流水线调度解决冲突
(4)控制冲突
a)预测分支成功
b)预测分支失败
c)延迟分支:设置延迟槽
四.
懒得写了
第四章
什么都没有
完整性:解决问题时指令集够用.要求功能齐全,使用方便
规整性:对称性,均匀性.与指令集相关的存储单元的使用操作码的设置对称.均匀指不同 的操作类型,字长,操作种类和数据存储单元,指令的设置要同等对待.
高效率:指令执行速度快,使用频度高.
兼容性:------------------------
CISC指令集架构设计(了解)
(1)数据相关:写后读(可传递)
(2)名相关:使用相同寄存器或存储单元名,但无数据流动
a)反相关:读后写,需保证执行顺序不能改变
b)输出相关:写后写,需保证执行顺序不能改变
反相关可以通过换名消除
(3)控制相关
流水线冲突:对于具体流水线来说,由于相关的存在,使得指令流中的下一条指令不能再指定的时钟周期执行.
J型指令(跳转指令,跳转并链接指令,自陷指令,异常返回指令)
用26位二进制码表示跳转目标的指令地址(实际的指令地址应为32位,其中最低2位为“00”,最高4位由PC当前地址决定)。
MIPS的操作
课本P46
第三章
一.
流水线技术的特点
1把一个处理过程分解为若干个子过程,每个子过程有一个独立的功能部件实现
CPI(CyclesPer Instruction)
CPI=执行程序所需时钟周期数/所执行指令条数
∴CPU时间 =ICxCPI x时钟周期时间
可知CPU性能取决于一下三个方面
1时钟周期时间:取决于硬件实现技术和计算机组成
2CPI:取决于计算机组成和指令集结构
3IC:取决于指令集结构和编译技术
程序局部性原理
第一章
(一)
什么是计算机系统结构:程序员所看到的计算机属性,即概念性结构与功能特性.
透明性:在计算机技术中,把本来存在的事物或属性,但从某种角度看又好像不存在的概念成为透明性.
常见计算机系统结构分类法
冯氏分类法(冯泽云):按最大并行度对计算机进行分类.
Flynn分类法:按指令流和数据流多倍性进行分类
寄存器间接寻址通过把0作为偏移量实现
16位绝对寻址把R0(永远为0)作为基址寄存器实现
MIPS按字节寻址,地址为64位,所有存储器访问必须是边界对齐的
指令格式
I类
65516
操作码
rs
rt
立即数
R类
655556
操作码
rs
rt
rd
shamt
funct
J类
626
操作码
与PC相加的偏移量
I型指令(load,store,立即数,分支,寄存器跳转,链接跳转)
(1)结构冲突:硬件资源满足不了指令重叠执行的要求.
(2)数据冲突:当在流水线中重叠执行时,因需要用到前面指令的执行结果而发生的冲突
a)写后读冲突
b)写后写冲突
c)读后写冲突(经典五段流水线中不会发生)
(3)控制冲突:流水线遇到分支指令和其他会改变PC值的指令所引发的冲突.
解决冲突的方法
(1)结构冲突:停顿或添加硬件
(2)指令集庞大,指令条数多,功能复杂,使得控制器硬件复杂.
(3)许多指令集由于操作复杂,CPI较大,执行速度慢.
(4)指令功能复杂,规整性不好,不利于采用流水线提高性能
RISC指令集架构设计
设计RISC时遵循的原则
(1)指令条数少而简单
(2)采用简单有统一的指令格式
(3)指令的执行再单个机器周期内完成(采用流水线机制后)
1.面向目标程序增强指令功能
(1)增强运算型指令的功能
(2)增强数据传送指令的功能
(3)增强程序控制指令的功能
2.面向高级语言的优化实现来改进指令集
(1)增强对高级语言的优化实现来改进指令集
(2)高级语言计算机
3.面向操作系统的优化实现改进指令集
存在的问题
(1)各种指令集使用频度相差悬殊,许多指令很少用到.
解决瓶颈的方法
1.细分瓶颈段
2.重复设置瓶颈段
加速比(S)
顺序执行的时间比使用流水线的执行时间
效率(E)
流水线中的设备实际使用时间与整个运行时间的比值
流水线设计中的问题
1.瓶颈问题
2.流水线的额外开销
3.冲突问题
三.
经典五段流水线
1.取指
2.译码
3.执行
4.访存
5.写回
相关与流水线冲突
相关:两条指令之间存在依赖关系
2静态流水线与动态流水线(多功能流水线的进一步分类)
3部件级,处理机级及处理机间流水线
4线性流水线与非线性流水线
5顺序流水线与乱序流水线
二.
吞吐率TP:单位时间内流水线所完成的任务数量,或输出结果的数量
掌握各段时间相等与不等的流水线吞吐量计算
瓶颈
当流水线各段时间不完全相等时,流水线最大吞吐量和实际吞吐量由最长的一段决定,该段成为瓶颈
(4)只有load和store能访存,其他指令在寄存器间进行
(5)大多数指令都采用硬连逻辑来实现
(6)强调优化编译器的作用,为高级语言程序生成优化代码
(7)充分利用流水线来提高性能
控制指令:能改变控制流的指令
条件分支(使用频度最高),跳转,过程调用,过程返回
四.
指令的组成:操作码和地址码
编码格式:可变长度编码格式固定长度编码格式混合型编码格式
2字串位并
3字并位串
4全并行
从执行程序的角度并行性由低到高分为以下几个等级
1指令内并行
2指令级并行
3线程级并行
4任务级或过程及并行
5作业或程序级并行
提高并行性的技术途径
1时间重叠:流水线
2资源重复
3资源共享
第二章
一.
堆栈结构
累加器结构
通用寄存器结构(RM)
通用寄存器结构(RR)
二.
一些操作数寻址方式(掌握部分常用的即可)
寄存器寻址
立即数寻址
偏移寻址
寄存器间接寻址
索引寻址
直接寻址或绝对寻址
存储器简介寻址
自增寻址
自减寻址
缩放寻址
立即数和偏移寻址使用频度最高
三.
设计指令集结构时需要考虑哪些功能由硬件实现,哪些由软件实现.考虑因素由速度,成本,灵活性,硬件实现的特点是速度快,成本高,灵活性差,软件相反.
对指令集的基本要求:
则用连续2个5位二进制码表示2个寄存器的地址,然后是由1个16位二进制码表示1个立即数二进制码。
R型指令(ALU指令,专用寄存器读写指令,move指令等)
用连续3个5位二进制码表示3个寄存器的地址,然后用1个5位二进制码表示移位的位数(如果未使用移位操作,则全为0),最后是6位的Function码(它与Opcode码共同决定R型指令的具体操作方式)。
1单指令流单数据流
2单指令流多数据流
3多指令流单数据流(不存在)
4多源自文库令流多数据流
(二)
Amdahl定律:加快某部件执行速度所能获得的系统性能加速比,受限于该部件的执行时间占系统中总执行时间的百分比.
加速比 = =
加速比依赖于以下两个因素
1可改进比例
2部件加速比
CPU性能公式
CPU时间
CPU时间 =执行程序所需时间的时钟周期数 x时钟周期时间(系统频率倒数)
五.
寄存器:
有32个64位通用寄存器(整数寄存器)R0,R0…R31.R0永远等于0.
还有32个64位浮点数寄存器F0,F1…F31
还有一些特殊的寄存器
数据表示:
整数:字节,半字,字,双字(分别8,16,32,64位)
浮点数:单精度浮点数(32位),双精度浮点数(64位)
数据寻址方式:
只有立即数寻址和偏移量寻址,立即数字段和偏移量字段都是16位
第一代:电子管计算机
第二代:晶体管计算机
第三代:集成电路计算机
第四代:大规模集成电路计算机
第五代:智能计算机
实现软件可移植性的方法
① 采用系列机
②模拟与仿真
③统一高级语言
系列机的软件兼容
① 向上兼容
② 向下兼容
③ 向前兼容
④向后兼容
(四)
从处理数据的角度并行性由低到高分为以下几个等级
1字串位串:不存在并行性
空间局部性
时间局部性
计算机性能评测:执行时间 吞吐率
(三)
冯诺依曼结构:
1计算机以运算器为中心.
2在存储器中指令和数据同等对待.
3存储器是按地址访问,按顺序线性编址的一维结构.
4指令执行是顺序的,即一般是按照指令在存储器中存放的顺序执行.
5指令由地址码和操作码组成.
6指令和数据均以二进制编码表示.
五代计算机(没卵用)
2流水线各段的时间应尽可能相等,否则将引起流水线堵塞断流.时间长的段成为瓶颈
3流水线每一个功能部件的后面要有一个缓冲寄存器(锁存器),成为流水线寄存器.
4流水线技术适合于大量重复的时序过程,只有在输入端不断地提供任务,才能充分发挥流水线的效率.
5流水线需要有通过时间和排空时间.
流水线的分类
1单功能流水线与多功能流水线
(2)数据冲突:通过定向技术减少数据冲突引起的停顿
部分数据冲突无法通过定向技术消除,需要停顿(流水线互锁机制)
(3)依靠编译器解决数据冲突
即通过指令调度或流水线调度解决冲突
(4)控制冲突
a)预测分支成功
b)预测分支失败
c)延迟分支:设置延迟槽
四.
懒得写了
第四章
什么都没有
完整性:解决问题时指令集够用.要求功能齐全,使用方便
规整性:对称性,均匀性.与指令集相关的存储单元的使用操作码的设置对称.均匀指不同 的操作类型,字长,操作种类和数据存储单元,指令的设置要同等对待.
高效率:指令执行速度快,使用频度高.
兼容性:------------------------
CISC指令集架构设计(了解)