导图社区 计算机组成原理(2)
计算机组成指的是系统结构的逻辑实现,包括机器机内的数据流和控制流的组成及逻辑设计等。主要分为五个部分:控制器,运算器,存储器,输入设备,输出设备。
编辑于2022-08-05 17:15:47 山东省计算机组成原理
1. 计算机发展历程
计算机硬件的发展
微型计算机的发展是以微处理器技术为标志的
计算机四代变化
1946第一代计算机
电子管
1958第二代计算机
晶体管
1965第三代计算机
中小规模集成电路
1972第四代计算机
超大规模集成电路
计算机软件的发展
面向机器的机器语言和汇编语言、面向问题的高级语言
机器语言是机器唯一可以识别并且执行的语言
汇编语言需经过汇编程序的翻译成机器语言之后才可以执行
高级语言需编译成汇编语言,再由汇编语言翻译成机器语言*(解释器直接解释为机器语言)
p
软件层面
硬件系统和软件系统共同构成了一个完整的计算机系统
p
没有配置任何软件(包括系统软件和应用软件)的系统称为裸机
冯诺依曼模型机
p
计算机按照此原理应有5大功能
数据存储
数据处理
数据传输
操作判断
操作控制
p
2. 计算机硬件组成
CPU
p
运算器
包括算数运算和逻辑运算
定点数
乘法
Booth算法
p
原码一位乘法
p
除法
原码除法运算
p
补码除法运算
p
浮点数的表示和运算
pp
浮点数的规格化 |左规&右规
保证非0的浮点数在尾数的最高数位保证是一个有效位 由于规格化浮点数的最高位为第一位有效位,所以默认将尾数最高位隐藏
IEEE754标准 32bit:1 8 23 64bit:1 11 52 符号 阶码 尾数
p
核心是ALU(算术逻辑单元)
p
核心部件为带标志加法器
一位全加器
p
最基本的加法单元
串行进位全加器
p
将n个一位全加器相连可得到n位加法器,每级进位依赖前一级的进位,进位信号逐级产生,依赖前一级进位
并行进位加法器
p
进位只与加数与被加数和最低进位有关,可同时形成各位的值,不依赖前一级进位
实现该加法器的电路为超前(先行)进位部件,简称CLA(carry-lookahead adder),实现的加法器称为全先行进位加法器
带标志加法器
p
可进行带符号整数的加/减运算,需加入新的逻辑门电路生成标志信息
可通过多路选择题选择运算的类型(逻辑or算数)
包括若干寄存器:ACC(累加寄存器)、MQ(乘商寄存器)、X(操作数寄存器)、IX(变址寄存器)、BR(基址寄存器)、暂存寄存器,前三个寄存器是必须的
PSW(程序状态寄存器),也称标志寄存器
包括移位器
算数移位 |高位补充符号位
逻辑移位 |补0
循环移位 |带进位标志寄存器的大循环和不带的小循环
p
控制器
PC(程序计数器)
存放当前欲执行指令的地址,可以自动加一形成下一条指令的地址,与MAR有一条直接的数据通路
执行完第一条程序后需通过计算(判断程序为顺序型还是转跳型)获取下一条指令的地址
IR(指令寄存器),内容来自主存的MDR,OP(IR)将操作码送至CU,用于分析指令并发出各种微操作命令序列,Ad(IR)送至MAR,用于取操作数
CU(硬布线控制器和微程序控制器)
硬布线控制器(组合逻辑控制器):通过指令的需求,程序内外的时序状态来决定微操作
p
时钟周期:时钟信号控制节拍发生器,产生节拍
机器周期:包含取指周期、间址周期、执行周期、中断周期,由于访问内存所用时间较长一般以存取周期作为机器
CPU控制方式
同步控制方式:使用统一时钟信号,通常以最复杂耗时最长的指令作为标准,为实现指令流水线保证所有的周期具有相同数目、相同时间间隔
异步控制方式:各部件不存在基准信号,按自身固有的速度运行,通过应答方式联络
联合控制方式:介于同步异步的折中,大部分同步小部分异步
微程序控制器:将微操作信号代码化,微操作控制信号由微指令产生
p
一条机器指令对应一个微程序,一个微程序对应多条微指令
微指令的编码方式
直接编码:每一位都对应一个微命令
p
字段直接编码:将微指令的微命令分为若干字段,相容性微命令在不同字段,互斥性微命令在同一字段,通常用全零表示无操作
p
字段间接编码:一些字段的微命令需要另一字段的微命令解释
水平型微指令
微地址形成方式
p
微指令格式
水平型微指令
p
微程序短,微指令长不便编写,效率高
垂直型微指令
p
微指令短,微程序长便于编写,效率低
混合型微指令
在垂直型微指令基础上加一些不复杂的并行操作
动态微程序和毫微程序
p
合称中央处理器
数据通路:数据在各个功能部件之间用于传输的路径
CPU内部单总线方式:所有寄存器输入输出端连接到一条公共通路上
多总线:相比较于单总线不需要暂存寄存器
专用数据通路:根据指令执行过程中流通的硬件进行设计,效率高,硬件工程量大
主要功能
1. 指令控制
操作控制
数据加工
中断处理
时间控制
SRAM(Cache)
程序的访问局部性原理
时间局部性
空间局部性
Cache和主存都被划分为块,Cache块又被称为Cache行,由于Cache的容量远小于主存,所以Cache块要远少于主存块,Cache与主存之间数据交换为块交换,与CPU为字交换
Cache和主存映射
直接映射:每一块装入指定位置,若已有内容则发生块冲突,当前Cache块的内容会被无条件替换出去,直接映射的关系可以定义为Cache行号=主存块号 mod Cache总行号
p
全相联映射:每一块可以装入Cache的任意位置,标记用于指出该行取自哪儿一个主存块
p
组相联映射:组内全相联,组间直接映射,Cache组号 = 主存块号 mod Cache组数
p
主存块替换算法
RAND(随机算法):随机替换Cache中的数据
FIFO(先入先出算法):替换最早存入Cache的数据
LRU(近期最少使用算法):选择近期内长期未使用的Cache行
p
LFU(最不经常使用算法):设置计数器,选择一个最近使用次数最少的Cache行进行替换
Cache写策略
全写法(写直通法):当写命中时,同时将数据写入Cache和主存,增加写缓存加快CPU对内存的读写速度
非写分配法:直接向主存中写入数据,不调入Cache
回写法:当写命中时只修改Cache中的数据,当此块换出时才会写入主存,会设置一个脏位,当脏位为1时写入主存,当脏位为0时不写入主存
写分配法:当Cache写不命中时,将主存中的数据调入Cache并进行修改
命中率=命中次数/(命中次数+总访存次数)
IR、MAR和MDR对各类程序员都是透明的,即不可见
多处理器基本概念
SISD(单指令单数据):一般包含一个处理器和一个存储器,一条指令处理一条数据
SIMD(单指令多数据):一条指令可对多条数据生效,配置一个指令控制部件和多个处理单元,每个单元拥有独立的AR,有独立地址
向量存储器:可实现高性能向量运算
MISD(多指令单数据):不存在
MIMD(多指令多数据)
多计算机系统:每个计算节点都有私有存储器(不可互访,可通过消息传递),
多处理器系统:共享地址,通过存取指令访问系统中所有存储器
硬件多线程
细粒度多线程:多个线程轮流交叉执行,可乱序并行执行
粗粒度多线程:只有出现开销较大的阻塞时才会切换线程,开销较细粒度多线程开销较大
同时多线程:上述两种线程的结合,实现指令集并行的同时实现线程级并行
多核处理器
多个处理单元集成到一个CPU中,可独立OR共享Cache,可执行真正意义上的多线程,同样也需多线程才可发挥出全部性能
子主题
存储器
主存储器 |CPU可以直接访问
p
MAR(地址寄存器)和MDR(数据寄存器)逻辑上属于内存,在硬件实现上集成在CPU上
MAR存放访存地址,经过指令译码后找到存储单元,MAR的位数取决于存储单元的个数
MDR(数据寄存器)用于暂存要从存储器中读或写的信息,位数与存储字长相等,一般为字节2次幂的整数倍(nMB)
时序控制逻辑用于产生存储器所需的各种时序信号
存储器逻辑组成部分功能
存储体:由许多存储单元组成,每个存储单元包含若干存储元件,每个存储元件可以存储0或1
存储单元存储的代码称为存储字,代码的长度称为存储字长,存储字长可以是1B(8位),可以是字节的偶数倍
地址寄存器和地址译码器
类别
RAM(易失性)
DRAM
数据的存储和排列
排列方式
p
存储方式
p
随机存取,读写方便使用灵活
存储元电路栅极电容(破坏性读出,存取周期包括恢复时间)中的电荷来存储信息,相对于SRAM密度较高
p
集中刷新
利用一段集中的时间对内存进行刷新,但这段时间无法访问内存,称为死时间,又称访存死区,在2ms内集中抽出一段时间进行刷新
分散刷新
每次进行一次读写操作后都会刷新一行,前0.5微秒时间用于读写,后0.5微秒用于刷新
异步刷新
假设共128行,需要在2ms内刷新完毕,则每隔15.6微秒进行一次随机一行的刷新
刷新周期一般为2ms
由于译码器线路有限,所以大多排列为2维/3维来减少线路数量
SRAM
双稳态触发器(六晶体管MOS来记忆信息的,可保持原有状态为非破坏性读出)
p
串行访问存储器
按物理位置的先后顺序寻址
顺序存取存储器(磁带)
直接存取存储器(磁盘、光盘)
相联存储器:根据内容或地址进行寻址的存储器
ROM(非易失性)
最初的ROM只能随机读出不能写入
MROM(掩模式ROM):厂家写入后其他用户不可修改,只能读取
PROM(可编程ROM):可由用户通过专门的PROM写入器写入信息
EPROM(可擦除可编程ROM):可进行有限次数的重写
UVEPROM(ultraviolet rays[紫外线])
EEPROM(electrically[电擦除])
Flash:在EEPROM发展而来,每个存储元只需要单个mos管,密度比内存高,但由于写之前需要擦除,所以写速度比读速度要慢
SSD:固态硬盘,与Flash存储介质类似,但控制单元不同
手机使用的Flash芯片集成度要更高,价格也更贵
BIOS:存储了自举装入程序,负责引导操作系统,与RAM统一编址
辅助存储器 |需调入主存后才可被访问
磁盘存储器
硬盘存储器
磁盘驱动器
磁头组件
盘片组件
磁盘控制器
盘片
存储区域
磁头数
柱面数
扇区数
性能指标
记录密度
道密度
沿半径磁道数
位密度
单位长度磁道二进制位数
面密度
道密度*位密度
容量
格式化容量
按某种文件组织形式组织文件,相对于非格式化容量要小
非格式化容量
平均存取时间
p
寻道时间,旋转延迟时间,传输时间
数据传输率
磁盘阵列
具有更好的存储性能可靠性和安全性
固态硬盘
由多个闪存芯片和闪存翻译层组成
每个闪存芯片由多个块组成,每个块又包含多个页
擦除是以块为单位,读写是以页为单位,一个块被擦除后其中的每个页都可以重新读写
3. 计算机主要性能指标
字长
指计算机进行一次整数运算所能处理的二进制位数,通常为字节的整数倍
字用来表示被处理信息的单位,用来度量数据类型的宽度,由机器的机器字长进行换算,例如64位机按字编址是以8byte为一字
数据通路带宽
指数据总线一次所能并行传输信息的位数(各个子系统通过数据总线连接形成的数据传送路径称为数据通路)
指的是外部总线的宽度,与CPU内部的总线宽度有所不同
主存容量
MAR反映所能寻址的最大值,并不能代表实际内存容量的大小
运算速度
吞吐量
单位时间内处理请求的数量,主要取决于主存的存取周期
主频和CPU时钟周期
两者互为倒数,执行指令最少需要一个时钟周期
响应时间
指用户做出请求,系统对其做出反应的等待时间
CPI(每指令时钟周期)
执行一条指令所需的时钟周期数
CPU执行时间
指运行一个程序所需的时间
CPU执行时间=CPU时钟周期数/主频=(CPI*指令条数)/主频
MIPS(每秒执行多少百万条指令)
基准程序
专门用于性能评价的一组程序
4. 计算机硬件设计
提升主存速度(存储体为一个独立的主存储器)
多模块存储器
p
单体多字存储器
多体并行存储器
p
高位交叉编址(顺序方式)
低位交叉编址(交叉方式)
双端口RAM
p
5. 指令系统
指令是指示计算机执行某种操作的命令,所有指令的集合称为指令集,指令通常包括操作码和地址码两部分组成
零~四地址指令
操作码
使用频率越高的操作码分配更少的位数
定长操作码
分配定长位数作为指令的操作码
扩展操作码
1. 4位基本操作码保留全1作为扩展操作码,依据指令系统的设计方式进行特定设计
指令的操作类型:数据传送、算术逻辑运算、移位操作、转移操作、输入输出操作
指令的寻址方式
指令寻址
顺序寻址
由程序计数器自动加1给出下一条指令的地址
跳跃寻址
下一条指令地址不由程序计数器给出,由本条指令给出下条指令的计算方式,分为绝对地址(由标记符直接得到)和相对地址(偏移量),结果是通过修改PC值实现的,所以还是要通过PC
数据寻址
p
隐含寻址:不直接给出数据的地址,在指令中隐含操作数的地址
立即(数)寻址:在指令中直接给出立即数,不需要访存
直接寻址:指令中形式地址包含数据真正的存储地址
寄存器寻址:数据被存放在寄存器中,形式地址为寄存器地址
寄存器间接寻址:与间接寻址类似,不同的是数据地址存放在寄存器中
间接寻址:形式地址存放着真实地址存放的地址
堆栈寻址:通过堆栈存储操作数地址,隐含SP自动进行寻址操作,一般采用堆栈结构的计算机指令表面表现为无操作数形式
相对寻址:形式地址存放的是相对于当前指令的偏移量,与PC值相加形成有效地址
基址寻址:形式地址为偏移量,有通用寄存器或基址寄存器存放基址,基址不变,由偏移量确定操作数的位置
变址寻址:形式地址A不变,通过修改变址寄存器的值来寻找数据,通常用于数组
指令执行方案
单指令周期:串行执行,每条指令花费相同的时间周期(以最长的时间周期为标准),会降低整个系统的执行效率
多指令周期:每个指令都依据实际需要时钟周期进行执行,串行执行
流水线:并行执行,在每个时钟周期启动一条指令,尽量让多条指令同时执行,使其处于不同的执行步骤中
指令流水线
时间并行:一个任务分解成多个子阶段在不同的功能部件并行执行
空间并行:设置多个执行相同任务的功能部件,让这些功能部件并行工作
流水线冒险
结构冒险(资源冲突):硬件资源竞争造成的冲突,可通过延迟指令执行时间和增加硬件部件解决
数据冒险(数据冲突):相同周期不同指令对相同数据进行修改导致的数据前后顺序错误,可通过延迟后执行指令的执行时间、设置专用的数据通路或通过编译器优化解决
控制冒险(控制冲突):由于前条分支指令跳转导致后面应依此执行的指令未被执行,可通过对转移指令进行分支预测(静态预测:总是猜true or false,预测正确率低;动态预测:根据前序指令执行情况预测,预测正确率高);预取转移指令控制流后两条指令;加快和提前生成条件码;提高转移方向的猜准率
高级流水线技术
多发射技术
动态多发射(超标量流水线技术):配置多个功能部件,实现同一时间多个相同指令并行执行,可通过编译优化提升指令整体的执行速度
静态多发射(超长指令字技术):由编译器挖掘出代码的内在并行性,将多条可并行执行的指令合并成一条可具有多个操作码的超长指令字,并行执行
超流水线技术
提高流水线主频提升流水线性能,成本高设计复杂
流水线的吞吐率TP ThroughPut rate
p
流水线的加速比
p
流水线的表示方法时空图
p
6. 主题