复习 - 计算机组成原理
计算机系统概述
机器指令的组成部分以及各部分的功能
机器指令由操作码和地址码组成:操作码用于指出操作,地址码用于指出操作数的地址
冯诺伊曼机的特点
- 由运算器、控制器、存储器、输入、输出组成
- 以运算器为核心
- 存储程序:提前将程序和数据以二进制的形式存储在存储器中
- 指令与数据以二进制以同等地位存储在存储器中,并用地址寻访
- 指令由操作码和地址码组成
编译和解释
- 编译:将编译性语言转化为机器语言,运行时不需要再次编译
- 解释:在解释性语言运行程序的过程中,解释一句运行一句,再次运行仍需要解释
- c语言:预处理,编译,汇编,链接
指令执行过程
比如执行加法指令。
- 取指:PC->MAR->M->MDR->IR
- 分析:op(IR)->指令译码器->控制信号
- 执行:ad(IR)->MAR->M->MDR->ACC+(MDR)->ACC
计算机主要的性能指标
- 机器字长:计算机一次能处理的二进制位数
- 主存容量:主存储器能存储的二进制位数
- 主频:CPU时钟频率
- 吞吐量:单位时间完成的任务数
- CPI,IPS:clock per instruction, instruction per second
CPU为什么多核
可以并行处理任务,提高吞吐率
数据的运算和表示
为什么采用二进制数表示数据
- 硬件实现简单,因为只需要开关的亮和灭就可以表示0和1
- 便于实现算术逻辑运算
原码怎么转变为反码
若该数为正数,则不变。如该数为负数,则除了符号位全部取反
单精度浮点数和双精度浮点数
- 单精度浮点数占32位,1,8,23,符号位,指数(移码127),尾数(规格化,10,01)
- 双精度浮点数占64位,1,11,52
什么是上溢,什么是下溢
- 结果大于能表示的最大正数,上溢
- 结果小于能表示的最小负数,下溢
大端,小端
大端:高位字节储存在低地址,符合人类习惯 小端:低位字节储存在低地址,便于计算机计算
实现乘法
通过加法和移位实现,从乘数的低位开始,随着被乘数和乘数的每一位进行运算,累加器逐渐右移
实现减法
使用加法器实现,只需要用加减法标志代替低位进位,如果是加法就正常运行,如果是减法,就使输入取反,低位进位为1。
A补-B补=A补+(-B)补
(-B)补=B补全部取反+1
多级存储系统
从内到外,速度降低,价格降低,CPU,寄存器,cache,主存,外存。
cache-主存系统解决主存与内存速度不匹配的问题
主存-外存系统解决贮存容量不足的问题
组成了成本低,容量大,速度快的存储系统
存储器结构
- 译码驱动
- 存储矩阵
- 读写电路
半导体随机存储器
组成,速度,用处,刷新,地址复用
- SRAM:静态随机存储器,双稳态触发器,速度快,Cache
- DRAM:动态随机存储器,栅极电容,速度慢,主存,刷新,地址复用
刷新方式
- 集中刷新:选择一段时间进行集中刷新
- 分散刷新:存取周期之后加上一段刷新周期
- 异步刷新:集中刷新和分散刷新的折衷
存取时间和存取周期
- 存取时间:启动一次存储器操作到操作结束所需要的时间
- 存取周期:连续两次独立的存储器操作所需要的最短时间间隔
寄存器和存储器
容量,速度,易失
- 寄存器一般是8位或8的整数倍,速度快,易失性
- 存储器容量大,速度慢,有RAM易失,ROM非易失
Cache
- 定义:高速缓冲存储器,和主存形成的Cache-主存体系解决了主存和CPU之间速度不一致的问题
- 原理:时间局部性(替换算法),空间局部性(cache行)
- 替换算法:FIFO,LRU
Cache的三种映射
- 直接映射:一个一组,主存数据块只能放在对应的唯一位置
- 组相联映射:分组一组,主存数据块可以放在对应分组中的任意一个位置
- 全相联映射:全部一组,主存数据块可以放在任意位置
锁存器、触发器、寄存器
- 锁存器:电平触发
- 触发器:脉冲触发
- 寄存器:由n个锁存器或触发器组成
指令系统
流水线技术
流水线技术:将重复过程拆成若干个子过程,不同子过程之间并行执行。
比如五段流水线取指,分析,执行,访存,写回,在第一条指令的取指阶段结束后,就执行第二条指令的取指阶段,随着时间的推移就能实现不同指令在不同阶段的并行。
影响流水线的因素
流水线冲突:因为相关等原因导致的指令中的某个
- 结构相关:硬件资源不满足指令重叠执行的条件。阻塞,增加硬件资源
- 数据相关:后续指令的运行需要当前指令执行的结果。阻塞,数据旁路
- 控制相关:遇到分支指令或改变PC值的指令。预测转移技术
指令流水线会不会缩短一条指令的执行时间
流水线:将重复过程分解为若干个子过程,不同子过程之间并行执行 流水线只能缩短多段流水线的执行时间,而不能缩短一条指令的执行时间,因为一条指令所经历的过程相同,甚至由于相关,会导致一条指令的执行时间增加。
寻址方式
直接寻址,间接寻址,寄存器寻址,寄存器间接寻址
基址寻址,变址寻址,相对寻址
指令集合
- RISC(Reduced instruction set computer,精简指令集)和CISC(Complex instrcution set Computer,复杂指令集)
- X-86,ARM,RISC-V, MIPS
CPU的功能
CPU由运算器和控制器组成,运算器的功能是进行算术逻辑运算,控制器的功能是协调计算机各部分的运行。 CPU的具体功能:
- 指令控制:取指,分析,执行
- 操作控制
- 时间控制
- 数据加工:算数逻辑运算
流水线越多越快?
- 硬件成本和散热成本增加
- 不同流水段之间的锁存器增加,使得缓冲时间大于执行时间
总线结构的优点
- 结构简单
- 便于拓展
为什么定义总线标准
总线标准是不同硬件之间通信所规定的协议。
- 提高系统的可靠性:需要遵守相同的标准
- 提高系统的灵活性:只要遵循相同的标准就能兼容不同厂商的硬件
- 降低维护成本
- 提高互操作性:保证不同硬件之间的兼容性和互操作性
系统总线分类
- 地址总线:指出数据总线上数据的地址。单向
- 数据总线:传输数据。双向
- 控制总线:传输来自CPU的控制信号和来自硬件的反馈信号。双向
总线宽度,总线带宽,总线复用
- 总线宽度:总线上能够传输的数据位数=数据总线根数
- 总线带宽:总线单位时间内传输的数据位数,总线数据传输率
- 总线复用:一条总线上分时传输两种信号
- 信号线数:地址总线+数据总线+控制总线的根数
I/O系统
中断响应过程
- 中断判优
- 中断响应:关中断,保存断点,执行中断隐指令
- 中断处理:保护现场,开中断,执行中断服务程序,关中断,恢复现场
- 中断结束
中断响应优先级和中断处理优先级
- 中断响应优先级:多个中断发生时,CPU选择优先响应哪个中断
- 中断处理优先级:中断嵌套时优先处理谁
向量中断,中断向量,向量地址
- 向量中断:一种识别中断源的办法,识别中断源的目的是引出中断服务程序入口地址的地址
- 中断向量:中断服务程序的入口地址
- 向量地址:中断向量的地址,中断服务程序入口地址的地址
程序中断和调用子程序
- 序中断:在原程序执行的过程中,暂停原程序,转而去处理其他优先级更高的任务,等中断处理结束后再返回执行原程序
- 调用子程序:在主程序执行过程中,暂停主程序,转而去执行子程序,等子程序结束后再返回执行原程序
调用子程序的时间和位置是已知的,程序中断是随机发生的。
中断嵌套
在中断服务执行的过程中,暂停原程序,转而去为其他优先级更高的任务执行中断服务程序,等中断处理结束后再返回执行原程序。
上一篇: 高并发实战系统架构设计 35:未读计数系统的计数系统设计
下一篇: 数据库操作
推荐阅读
-
基于51单片机的温湿度测量电力载波通信(实物+原理图+PCB+全套资料)--利用51单片机,测量温湿度,通过电力载波协议将数据通过220V供电线路传输到计算机显示,具体功能如下演示视频,全套资料
-
计算机视觉期末考试复习
-
6.计算机网络知识复习(第 06 天)--子网划分、构建超网络、ICMP、IPv6
-
【锟斤拷�⊠是怎样炼成的】——两分钟帮你彻底弄懂计算机的编码原理
-
X 射线计算机断层扫描设备的原理,X 射线计算机断层扫描设备 X 射线计算机断层扫描设备 ...
-
计算机组成原理 [CO] Ch3 存储系统
-
Hadoop 架构原理,三个组成部分的详细介绍(注释)
-
计算机组成与体系结构第 5 版 pdf 王爱英 百度网盘下载
-
原创《计算机网络原理》学习资料分享--第1章/第1节(为梦想中的自己喝彩!)。
-
冯-诺依曼结构计算机的基本工作原理是什么?