目录
1.输入输出技术
1.1数据传输控制方式
1.2中断处理过程
2.总线
3.可靠性
3.1可靠性指标
3.2串联系统与并联系统
3.3混合模型
4.性能指标
1.输入输出技术
即CPU控制主存与外设交互的过程
1.1数据传输控制方式
(1)程序控制(查询)方式:分为无条件传送和程序查询方式两种。方法简单,硬件开销小,但I/0能力不高,严重影响CPU的利用率。
其中,无条件传送是系统默认所有I/0都是准备好的,直接开始操作;而程序查询是CPU每一次都去询问各个I/O设备是否准备好,只要有一个设备没准备好就要重复查询,所以严重影响CPU利用率
(2)程序中断方式:与程序控制方式相比,中断方式因为CPU无需等待而提高了传输请求的响应速度。(即数据的传输与CPU是一个并行的过程)
简单来讲就是,老师(CPU)上课讲课,让你做笔记,你做笔记的过程不影响老师继续讲课,只需要做完告诉老师即可
(3)DMA方式:DMA方式是为了在主存与外设之间实现高速、批量数据交换而设置的。DMA方式比程序控制方式与中断方式都高效。(DMAC向总线裁决逻辑提出总线请求;CPU执行完当前总线周期即可释放总线控制权。此时DMA响应,通过DMAC通知I/0接口开始DMA传输)
简单来讲,就是DMA相当于助教,CPU只负责初始化,DMA打工就行
(4)效率:I/O处理机 > 通道方式 > DMA方式 > 程序中断方式 > 程序控制(查询)方式
前两者知道有这个东西就行
1.2中断处理过程
(1)CPU无需等待也不必查询I/0状态
(2)当I/0系统准备好以后,发出中断请求信号通知CPU
(3)CPU接到中断请求后,保存正在执行程序的现场(用栈保存现场),打断的程序当前位置即为断点
(4)(通过中断尚量表)转入I/O中的服务程序的执行,完成I/O系统的数据交换(中断向量表用于保存中断服务程序的入口地址)
(5)返回被打断的程序继续执行(恢复现场)
2.总线
一条总线同一时刻仅允许一个设备发送,但允许多个设备接收。(分时双工,性能不是很高)
总线的分类:
数据总线(DataBus):在CPU与RAM之间来回传送需要处理或是需要储存的数据。
地址总线(AddressBus):用来指定在RAM(RandomAccessMemory)之中储存的数据的地址。
控制总线(ControlBus):将微处理器控制单元(ControlUnit)的信号,传送到周边设备。
3.可靠性
3.1可靠性指标
平均无故障时间:MTTF = 1 / λ, λ为失效率
平均故障修复时间:MTTR = 1 / μ, μ为修复率
平均故障间隔时间:MTBF = MTTR + MTTF
系统可用性 = MTTF / MTBF * 100%
在实际应用中,一般MTTR很小,所以通常认为MTBF ≈ MTTF
可靠性可以用MTTF / (1 + MTTF)来度量
3.2串联系统与并联系统
跟物理上的电路差不多,其中方块为系统中的某一个部件
(1)串行系统
该图片来自希赛软考
R = R1 * R2 * …… * Rn,其中R为可靠性
(2)并行系统
通过部件的冗余来提高容错性和可靠性
该图片来自希赛软考
R = 1 - (1 - R1) * (1 - R2) * …… * (1 - Rn),其中R为可靠性
3.3混合模型
该图片来自希赛软考
4.性能指标
(1)字长和数据通路宽度
字长:表示计算机一次能够读取的数据长度
数据通路宽度:指一次性数据线路能够通过的数据量
两者一般以bit为单位
(2)主存容量和存取速度
主存容量:eg:在16 G + 512 G的电脑里,主存就是16 G
存取速度:从主存读数据到读完回来,完成该操作的时间
(3)运算速度
运算速度是指计算机系统处理数据和执行指令的速度。主要由主频和浮点运算速度决定。
(5)吞吐量与吞吐率
吞吐量:某一个时间间隔内所完成的任务量
吞吐率:单位时间内完成的任务量
(6)响应时间(RT)(Response Time)与完成时间(TAT)
响应时间:从提交请求到完成请求的时间
(7)兼容性
一般为向下兼容
(8)主频与CPU时钟周期
主频:eg: 2.4 GHz表示一秒内能够有2.4 G次脉冲
CPU时钟周期 = 1 / 主频
(9)CPI(clock per instruction)与IPC(instruction per clock)
CPI:平均每条指令的平均时钟周期个数
IPC:每(时钟)周期运行指令条数
(10)MIPS(Million Instruction Per Second)与MFLOPS(Million Floating-point Operations per Second)
MIPS:百万条指令每秒
MIPS = 指令条数 / (执行时间 * 10 ^ 6) = 主频 / CPI = 主频 * IPC
MFLOPS:每秒百万个浮点操作
MFLOPS = 浮点操作次数 / (执行时间 * 10 ^ 6)
注:此处的指令条数和浮点操作次数都是以百万为单位,所有需要除以10 ^ 6
声明:笔记内容参考自希赛软考
上一篇:软件设计师学习笔记6-存储系统