导图社区 1. 计算机组成与体系结构
架构师之计算机组成与体系结构知识要点整理!本思维导图分考点、章节知识点两大部分,先点明考试要点帮助你明确考试考什么,再归纳这章节知识,帮你再知道考试考点的基础上,填充具体的内容。干货多多,快来学习吧!
编辑于2019-07-28 07:36:39计算机组成与体系结构
考点
Flynn分类法
CISC/RISC
计算机层次化存储结构
cache
时间/空间局部性
随机存储器和只读存储器
磁盘工作原理
流水线基本概念
流水线周期及流水线执行时间
流水线吞吐率
章节知识点
计算机系统组成
计算机硬件组成
控制器
概念:分析和执行指令的部件,依据机器指令, 统一指挥并控制计算机各部件协调工作的中心部件
组成:
程序计数器PC
存储下一条要执行指令的地址
指令寄存器IR
存储即将执行的指令
指令译码器ID
对指令中的操作码字段进行分析解释
时序部件
提供时序控制信号
运算器
概念:在控制器的控制下完成各种算术运算和逻辑运算
组成:
算术逻辑单元ALU
对数据的算术、逻辑运算
累加寄存器AC
通用寄存器,为ALU提供一个工作区,用于暂存数据
数据缓冲寄存器DR
写内存时,暂存指令或数据
状态条件寄存器PSW
存储状态标志与控制标志
主存
概念:用于存储运行中的指令和数据
辅存
概念:用于长期保存各种信息
输入设备
输出设备
计算机系统结构的分类
存储程序的概念 (冯诺依曼型计算机)
现状:1946年由冯诺依曼提出,目前绝大多数计算机仍建立在这个概念的基础上
弱点:存储器访问时一个瓶颈,目前已经出现了如“数据驱动的数据流计算机”、 “需求驱动的归约计算机”、“模式匹配驱动的智能计算机”
要点:
由运算器、存储器、控制器、输出设备、输入设备五大基本组件组成
计算机内部采用二进制来表示数据和指令
(基本定义)编译好的程序事先存储在存储器中,然后再启动计算机进行工作
Flynn分类
概念:
Flynn针对计算机系统的指令流、数据流的多倍性特征的分类法
指令流:机器执行的指令序列
数据流:指令流调用的数据序列,包括输入数据和中间结果,但不包括输出数据
定义:
单指令流/单数据流
指令部件每次只对一条指令进行译码,并只对一个操作部件进行分配数据
单指令流/多数据流
(并行处理机)包括多个重复的处理单元,由单一指令部件控制,按照统一指令流的要求为他们分配各自所需的不同数据
多指令流/单数据流
具有N个处理单元,按N条不同指令的要求对同一数据流进行不同的处理
一个处理单元的输出又作为另一个处理单元的输入
多指令流/多数据流
实现作业、任务、指令等各级全面并行的多机系统(多核处理器、多处理机)
CISC/RISC
CISC:增强指令的功能, 把一些由软件实现的常用 功能由硬件的指令系统实现
特点
指令数量多
指令使用频率差异大
支持多种寻址方式
变长的指令
有指令可以对主存单元中的数据直接进行处理
以微程序控制为主
RISC:尽量精简指令, 只保留那些功能简单、能在 一个节拍内完成的指令, 而较复杂的功能则由一段 子程序来实现
特点
指令数量少
指令长度固定
指令寻址方式少
寄存器寻址
立即数寻址
相对寻址
以硬布线逻辑(组合逻辑)控制为主
单周期指令执行,采用流水线技术
优化的编译器
CPU中的通用寄存器数量多
大部分RISC采用了cache方案,来提高取指速度
总线
概念:一组能为多个部件分时共享的公共信息传送线路
允许多个部件同时从总线上收数据,但只能一个同时发
总线位置
内部总线:CPU内部,寄存器之间和算术逻辑部件与控制部件之间传输数据所用的总线
外部总线:CPU与内存RAM/ROM、输入输出设备接口之间进行通信的通路
功能
地址总线
数据总线
控制总线
存储器系统
多级存储
主存储器
技术
RAM
可读可写,断电后信息无法保存
DRAM
信息会随时间逐渐消失,需要定时对其进行刷新维持信息不丢失
优点:密度大,价格低
SRAM
不断电的情况下能够一直维持
优点:速度快,电路简单
缺点:容量小,价格高
ROM
存储器的内容只能随机读出而不能写入
编址方法
存储器中每个单元的位数是相同且固定的,称为存储器编址单位
辅助存储器
概念
用于存放当前不需要立即使用的信息,一旦需要,再和主机成批交换数据
是主机的外部设备,又称外存储器
特点:容量大,价格低,可靠性高
常见辅存
磁带
硬盘
概念
记录面
圆柱面
概念:在磁盘的记录面组中,各记录面上相同编号(位置)的个磁道构成一个柱面
作用:当存储一个较大文件时,一条磁道不够,需要放在多条磁道上,可以放在一个柱面中,以提高磁盘的存储速度。
磁道
扇区
磁盘读写
先定位到目标磁道(寻道),通过移臂完成
在定位到目标扇区,通过盘面旋转完成
磁盘访问时间=寻道时间+旋转延迟时间
磁盘阵列
光盘
Cache
概念
利用了局部性原理,用于提高CPU数据输入输出的速率,减少了寄存器与内存之间的数据交换,同时又减少了高速寄存器,减少了计算机系统的成本
冯诺依曼瓶颈:CPU与存储统建数据传送带宽限制
系统的平均周期:T3 = T1 * h + T2 * (1- h)
访问:当CPU发出访问请求之后,存储器地址先被送到 Cache控制器以确定所需数据是否已在cache中
命中:直接对cache进行访问
未命中:从内存中读取数据,同时发往CPU和cache
映射机制
概念:主存和cache将均分成容量相同的块(页),再按照映射方式进行映射
映射方式
直接映射
使用随机存取存储器作为cache
映射方式:
对于内存,按照cache的结构,先分区,再分页
主存地址为:区号+页号+页内地址
每个主存中的页,只能映射到某一个固定的cache页中,因此冲突率非常高
在cache中,为每一页设立一个cache标记,用于标识当前cache页来自哪个内存区和内存页(直接映射的情况下只需要记录区号)。当CPU访问时,直接根据主存地址和标记,既可以找到cache页
优点:容易实现
缺点:不够灵活,cache空间利用不够充分
全相连映射
使用相联存储器作为cache存储器
映射方式:
不分区,只分页
主存的每一页都可以映射到cache中的任意一页
主存地址为:页号+页内地址
cache标记为主存页号,然后将cache标记与主存页标记进行逐个比较
缺点:访问速度慢,难以设计与实现
组相连映射
映射方式:
主存与cache都分组
主存中一个分组的页数与cache中的分组数相等
主存中的组与cache中的组形成直接映像,组内的页都是全相联映像
cache标记为区号+页号
优点:cache组中的页数可以进行调整,十分灵活
主存和cache的映射是硬件完成的。随意对于程序员是透明的
替换算法
当cache产生未命中,但是cache的数据又满了之后,就需要替换掉cache中的旧数据
算法
随机算法
先进先出
实现:为每一页做顺序记录
优点:容易实现,系统开销小
缺点:可能会把一些需要经常使用的程序块替换掉
近期最少使用
实现:对每一个页设置计数器
优点:算法合理,可以提高命中率
缺点:实现复杂,系统开销大
写操作
需要保持cache中与内存中的数据一致
常见方法:
写直达
写cache时同时写回内存
替换cache块时不需要写回主存
写回
CPU修改cache中某一块之后,相关数据并不立即写入内存单元
当该块要从cache中被淘汰时,才把数据写回内存
一般这种策略下,cache的块表中有一个标志位,用以标记是否存在修改
优点:速度快;缺点:因主存中数据未及时修改而出错
标记法 (有修改直接写内存,并标记,下次重新读)
对cache中的每一个数据设置一个有效标记位
读取完数据后,该标记位置为1
当CPU修改数据时,直接写内存,并修改标记位0
从cache中读取时,先测试有效位,如果是0,则从内存中读取
存储器中的数据存取方式
顺序存取(磁带)
数据以记录的形式进行组织,访问的时候必须按照特定的线性顺序进行
直接存取(磁盘)
每个数据库都拥有唯一的地址,读写装置可以直接移动到目的数据块所在位置进行访问
随机存取(主存)
存储器中每一个可寻址单元都具有自己唯一的地址和读写装置,系统可以同时对任意一个存储单元进行访问,跟访问顺序无关
相连存取(cache)
一种随机存取形式,但是选择一个单元进行读写是取决于其内容而不是其地址
每个单元都具有自己的读写装置,读写时间是一个常数。
可以对所有存储单元的特定位进行比较,选择符合条件的单元进行访问
流水线
流水线周期
流水线过程中,假设工作分为N个阶段,那么最耗时的那一段所消耗的时间,称为流水线周期
计算流水线执行时间
第一条指令执行的时间 + (n-1)*流水线周期
流水线的吞吐率
单位时间内流水线完成的任务数量
TP = n / Tk (吞吐率 = 任务数/完成n个任务所需时间)
最大吞吐率
流水线的加速比
不使用流水线与使用流水线的时间之比
S = T0 / Tk
最大加速比