目录
5、RAID5(无独立校验盘的奇偶校验码的磁盘阵列)——容量计算
一、指令——计算公式
指令周期:取出(解释)并执行一条指令所需的全部时间。
完成一条指令(一个指令周期)可以分为:取指周期、分析周期、执行周期
指令流水技术:指令步骤的并行、提高处理器执行指令的效率。
假设使用流水线将指令流的处理过程划分为取指、分析、执行三个并行处理的过程段。在这个流水线中,处理器有三个操作部件,同时对这三条指令进行加工,加快了程序的执行速度。
几乎所有的高性能计算机都采用了指令流水线。
1、指令的执行方式
(1)顺序方式
各条机器指令之间顺序串行地执行,执行完一条指令后才取下一条指令。缺点是速度慢,机器各部件利用率低。
(2)重叠方式。
在解释第K条指令的操作完成之前就可以开始解释第K+1条指令。
(3)流水方式
2、相关理论公式
流水线周期:执行时间最长的一段
流水线的吞吐率和最大吞吐率:吞吐率是指单位内流水线处理机流出的结果数。对指令而言,就是单位时间内执行的指令数。
典型真题
试题分析
本题考查流水线计算。
流水线周期为:3Δt。
流水线的吞吐率为:指令条数/流水线执行时间。即:n/(2Δt+1Δt+3Δt+1Δt+2Δt+(n-1)*3Δt)=n/(6Δt+3nΔt)
流水线的最大吞吐率就是上面的式子中,n趋向于无穷大的结果。当n趋向于无穷大时,上式的结果为:1/3Δt。
所以应该选B。
流水线加速比=不用流水线的执行时间/使用流水线的执行时间
10条指令不用流水线的执行时间=(2Δt+1Δt+3Δt+1Δt+2Δt)*10=90Δt。
10条指令使用流水线的执行时间=(2Δt+1Δt+3Δt+1Δt+2Δt)+(10-1)*3Δt=36Δt。
所以加速比为:90Δt/36Δt=5:2。
试题答案:B、C
二、高速缓冲存储器
1、Cache的映像方法
(1)直接映像
直接映像方式的优点是地址变换很简单,缺点是不灵活,块冲突率高。
(2)全相联映像
位置不受限制,十分灵活。其主要缺点是无法从主存块号中直接获得Cache的块号,变换比较复杂,速度比较慢。
(3)组相联映像
距离CPU较近 位置可以采用直接映像或者组相联映像距离CPU较远的可以采用全相联映像
2、cache的性能——公式计算
CPU在访问内存时,首先判断所要访问的内容是否在Cache中,如果在,就称为“命中”,此时CPU直接从Cache中调用该内容;否则,就称为 “不命中”,CPU只好去内存中调用所需的子程序或指令了。
CPU不但可以直接从Cache中读出内容,也可以直接往其中写入内容。由于Cache的存取速率相当快,使得CPU的利用率大大提高,进而使整个系统的性能得以提升。
如果以Hc为代表对Cache的访问命中率,tc为Cache的存取时间,tm为主存的访问时间,则Cache的平均访问时间ta为:
ta = Hc * tc +(1-Hc)* tm
3、cache的写策略
因为cache的内容是部分主存内容的副本,应该与主存内容保持一致。而CPU对cache的写入更改了cache内容,如何与主存内容保持一致就有几种写操作工作方式可供选择,统称为写策略。
(1)写回法(write--back)
当CPU对cache写命中时,只修改cache的内容不立即写入主存,只当此行被换出时才写回主存。这种策略使cache在CPU-主存之间,不仅在读方向而且在写方向上都起到高速缓存作用。
(2)写直达法(write--through)
又称全写法,写透。是当cache写命中时,cache与主存同时发生写修改。
(3)标记法
数据进入cache后,有效位置1,当cpu对该数据修改时,数据只写入主存并将该有效位置0。要从cache中读取数据时要测试其有效位,若为1 则直接从cache中取数,否则从主存中取数。
4、cache的替换算法
(1)随机算法
这是最简单的替换算法。随机法完全不管Cache块过去、现在及将来的使用情况,简单地根据一个随机数,选择一块替换掉。
(2)先进先出(First In and First Out,FIFO)算法
按调入Cache的先后决定淘汰的顺序,即在需要更新时,将最先进入Cache的块作为被替换的块。
这种方法要求为每块做一记录,记下它们进入Cache的先后次序。这种方法容易实现,而且系统开销小。其缺点是可能会把一些需要经常使用的程序块(如循环程序)替换掉。
(3)近期最少使用(Least Recently Used,LRU)算法
LRU算法是把 CPU近期最少使用的块作为被替换的块。这种替换方法需要随时记录Cache中各块的使用情况,以便确定哪个块是近期最少使用的块。
LRU算法相对合理,但实现起来比较复杂,系统开销较大。通常需要对每一块设置一个称为“年龄计数器”的硬件或软件计数器,用以记录其被使用的情况。
(4)最不经常使用页置换(Least Frequently Used,LFU)算法
要求在页置换时置换引用计数最小的页,因为经常使用的页应该有一个较大的引用次数。
但是有些页在开始时使用次数很多,但以后就不再使用,这类页将会长时间留在内存中,因此可以将引用计数寄存器定时右移一位,形成指数衰减的平均使用次数。
LFU的复杂度以及计数器规模都比LRU大,LRU只关注近期访问情况,而LFU会统计累计访问次数作为淘汰的依据。该算法计数器位数多,实现困难。
三、磁盘存储器 ——计算题
典型真题一
试题分析
系统读记录的时间为30/10=3ms。对第一种情况:系统读出并处理记录R1之后,将转到记录R4的开始处,所以为了读出记录R2,磁盘必须再转一圈,需要3ms(读记录)加30ms(转一圈)的时间。
这样,处理10个记录的总时间应为处理前9个记录(即R1,R2,…,R9)的总时间再加上读R10和处理时间 (9×33ms+ 9ms=306ms)。
若对信息进行分布优化的结果对应关系所示: 物理块 1 2 3 4 5 6 7 8 9 10 逻辑记录R1 R8 R5 R2 R9 R6 R3 R10 R7 R4
记录的开始处,立即就可以读出并处理,因此处理10个记录的总时间为:10×(3ms(读记录)+6ms(处理记录))=10×9ms90ms
参考答案:(1)D (2)B
典型真题二
试题分析
根据题干要求,先进行移臂调度,找到对应柱面,然后进行旋转调度,找到对应磁头和扇区。
由表可知①⑤⑦在17柱面(21-17=4),②③⑧在23柱面(23-21=2),④⑥在32柱面(32-21=9)。因此按最短移臂算法,应该是23柱面17柱面32柱面38柱面,只有D项满足。
参考答案:D
四、计算机系统结构的分类——概念
Flynn 分类
1966年,Michael.J.Flynn 提出根据指令流、数据流的多倍性特征对计算机系统进行分类(通常称为 Flynn 分类法),有关定义如下。
- (1)指令流:指机器执行的指令序列;
- (2)数据流:指由指令流调用的数据序列,包括输入数据和中间结果,但不包括输出数据。
Flynn根据不同的指令流-数据流组织方式,把计算机系统分成以下四类。
(1)单指令流单数据流(Single Instruction stream and Single Data stream,SISD)
SISD 其实就是传统的顺序执行的单处理器计算机,其指令部件每次只对一条指令进行译码,并只对一个操作部件分配数据。
(2)单指令流多数据流(Single Instruction stream and Multiple Data stream,SIMD)
SIMD 以并行处理机(矩阵处理机)为代表,并行处理机包括多个重复的处理单元,由单一指令部件控制,按照同一指令流的要求为它们分配各自所需的不同数据。
(3)多指令流单数据流(Multiple Instruction stream and Single Data stream,MISD)
MISD 具有n个处理单元,按 n 条不同指令的要求对同一数据流及其中间结果进行不同的处理。一个处理单元的输出又作为另一个处理单元的输入。这类系统实际上很少见到。
(4)多指令流多数据流(Multiple Instruction stream and Multiple Data stream,MIMD)
MIMD 是指能实现作业、任务、指令等各级全面并行的多机系统。如多核处理器、多处理机属于 MIMD。
五、指令系统——概念
1、复杂指令系统CISC的特点
(1)指令数量众多。指令系统拥有大量的指令,通常有 100~250 条。
(2)指令使用频率相差悬殊。最常使用的是一些比较简单的指令,仅占指令总数的20%,但在程序中出现的频率却占80%。而大部分复杂指令却很少使用。
(3)支持很多种寻址方式。支持的寻址方式通常为 5~20 种。
(4)变长的指令。指令长度不是固定的,变长的指令增加指令译码电路的复杂性。
(5)指令可以对主存单元中的数据直接进行处理。典型的 CISC 通常都有指令能够直接对主存单元中的数据进行处理,其执行速度较慢。
(6)以微程序控制为主。CISC 的指令系统很复杂,难以用硬布线逻辑(组合逻辑)电路实现控制器,通常采用微程序控制。
2、精简指令系统RISC的特点
(1)指令数量少。优先选取使用频率最高的一些简单指令和一些常用指令,避免使用复杂指令。只提供了 LOAD(从存储器中读数)和 STORE(把数据写入存储器)两条指令对存储器操作,其余所有的操作都在 CPU 的寄存器之间进行。
(2)指令的寻址方式少。通常只支持寄存器寻址方式、立即数寻址方式和相对寻址方式。
(3)指令长度固定,指令格式种类少。因为 RISC 指令数量少、格式少、相对简单,其指令长度固定,指令之间各字段的划分比较一致,译码相对容易。
(4)以硬布线逻辑控制为主。为了提高操作的执行速度,通常采用硬布线逻辑(组合逻辑)来构建控制器。
(5)单周期指令执行,采用流水线技术。因为简化了指令系统,很容易利用流水线技术,使得大部分指令都能在一个机器周期内完成。少数指令可能会需要多周期,例如, LOAD/STORE 指令因为需要访问存储器,其执行时间就会长一些。
(6)优化的编译器:RISC 的精简指令集使编译工作简单化。因为指令长度固定、格式少、寻址方式少,编译时不必在具有相似功能的许多指令中进行选择,也不必为寻址方式的选择而费心,同时易于实现优化,从而可以生成高效率执行的机器代码。
(7)CPU 中的通用寄存器数量多,一般在 32 个以上,有的可达上千个。
典型真题
试题分析
试题答案:B
六、总线
总线是一组能为多个部件分时共享的公共信息传送线路。
按总线相对于 CPU 或其他芯片的位置可分为内部总线和外部总线两种。
按总线功能来划分,又可分为地址总线、数据总线、控制总线三类,地址总线用来传送地址信息,数据总线用来传送数据信息,控制总线用来传送各种控制信号。
按照总线中数据线的多少,可分为并行总线和串行总线。
典型真题
试题分析
对端到端通信总线的信号传输方向与方式的分类定义如下:
单工是指A只能发信号,而B只能接收信号,通信是单向的。
半双工是指A能发信号给B,B也能发信号给A,但这两个过程不能同时进行。(对讲机)
全双工比半双工又进了一步,在A给B发信号的同时,B也可以给A发信号,这两个过程可以同时进行互不影响。
参考答案:C
七、磁盘阵列——容量计算
1、RAID 0(无冗余和无校验的数据分块)
RAID 0(无冗余和无校验的数据分块)代表了所有RAID级别中最高的存储性能。
RAID 0提高存储性能的原理是把连续的数据分散到多个磁盘上存取,这样,系统有数据请求就可以被多个磁盘并行的执行,每个磁盘执行属于它自己的那部分数据请求。
这种数据上的并行操作可以充分利用总线的带宽,显著提高磁盘整体存取性能。
2、RAID 1(磁盘镜像阵列)
RAID 1 称为镜像,它将数据完全一致地分别写到工作磁盘和镜像磁盘,磁盘空间利用率为50%。
3、RAID 2(采用纠错海明码的磁盘阵列)
采用了海明码纠错技术,用户需增加校验盘来提供单纠错和双验错功能。对数据的访问涉及阵列中的每一个盘。大量数据传输时I/O性能较高,但不利于小批量数据传输。实际应用中很少使用。
4、RAID 3和RAID 4(采用奇偶校验码的磁盘阵列)
把奇偶校验码存放在一个独立的校验盘上。如果有一个盘失效,其上的数据可以通过对其他盘上的数据进行异或运算得到。
读数据很快,但因为写入数据时要计算校验位,速度较慢。
RAID 3采用位交叉奇偶校验,RAID 4采用块交叉奇偶校验码。RAID 3适用于大型文件且I/O需求不频繁的应用,RAID 4适用于大型文件的读取。
5、RAID5(无独立校验盘的奇偶校验码的磁盘阵列)——容量计算
无独立校验盘,校验信息分布在组内所有盘上,对于大批量和小批量数据的读写性能都很好,适用于I/O需求频繁的应用。
当有N块阵列盘时,用户空间为N-1块盘容量。
典型真题
试题分析
共有3块80G的硬盘做RAID 5,则总容量为(3-1)×80=160G;
如果有2块 80G的盘和1块40G的盘,则以较小的盘的容量为计算方式,总容量为(3-1)×40=80G。
参考答案:B、B
6、RAID6(独立的数据硬盘与两个独立的分布式校验方案)
RAID 6技术是在RAID 5基础上,为了进一步加强数据保护而设计的一种RAID方式,实际上是一种扩展RAID 5等级。
当有N块阵列盘时,用户空间为N-2块盘容量。
7、RAID7(最优化的异步高I/O速率和高数据传输率)
RAID 7完全可以理解为一个独立存储计算机,它自身带有操作系统和管理工具,完全可以独立运行。
8、RAID10(最可靠与高性能)
RAID 1+0 也被称为RAID 10标准,实际是将RAID 1和RAID 0标准结合的产物。
RAID 1是一个冗余的备份阵列,而RAID 0负责数据读写的阵列。
由于利用了RAID 0极高的读写效率和RAID 1较高的数据保护和恢复能力,使RAID 10成为了一种性价比较高的等级。