7.局部性原理
时间局部性:指如果程序中的某条指令一旦被执行,则不久的将来该指令可能再次被执行。
空间局部性:指一旦程序访问了某个存储单元,则在不久的将来,其附近的存储单元也最有可能被访问。
8.磁盘工作原理
我们来看上面这道例题,磁盘的旋转周期为33ms,表示旋转一圈耗时33ms,一共有11个记录,可以理解为读取1个记录消耗的时间为3ms。
若采用单缓冲区顺序处理(如上图中的大圈),当我们把R0读取单缓冲区时,此时磁头跑到了R1的起始位置,但是此时是不能读取R1的,因为R0占用着缓冲区(还未处理完),所以新的记录是进不来的。当我们处理完缓冲区中的R0之后,花费了3ms,此时磁头已经跑到了R2的起始位置,但是我们接下来想要处理的应该是R1,所以这个时候磁头会一直转动,直到转过一圈,再次跑到R1的起始位置时,才可以处理R1。所以我们处理一个记录R0,一共耗时为:一个记录+一圈,也就是3+33=36ms。从R0到R9都是同样的道理,所以共耗时:36*10=360ms,而对于R10,我们就可以直接读取并处理,耗时为6ms,所以总共耗时为360+6=366ms。
若对信息存储进行优化分布(如上图中的小圈),先看大圈,我们处理R0的时候,磁头跑到了R2,此时我们将R2假设为R1;而处理完R1之后,磁头跑到了R4,此时我们将R4假设为R2,以此类推,就得到了上图中的小圈。这样下来,就没有任何的时间浪费,那么读取和处理分别耗时3ms,也就是处理完一个记录耗时3+3=6ms,一共11个记录,总共耗时6*11=66ms。
9.总线结构
微机中的总线分为数据总线、地址总线、控制总线。
①数据总线(DB):用来传送数据信息,是双向的。CPU既可以通过DB从内存或输入设备读入数据,也可以通过DB将内部数据送至内存或输出设备。DB的宽度决定了CPU和计算机其他设备之间每次交换数据的位数。
②地址总线(AB):用于传送CPU发出的地址信息,是单向的。传送地址总线的目的是指明与CPU交换信息的内存单元或I/O设备,地址总线的宽度决定了CPU的最大寻址能力。
③控制总线(CB):用来传送控制信号、时序信号和状态信息等,双向线表示。其中有的信号是CPU向内存或外部设备发出的信息,有的信号是内存或外部设备向CPU发出的信息。CB中的每一条线的信息传送方向是单方向且确定的,但CB作为一个整体则是双向的。
10.系统可靠性分析
系统中的各个子系统的可靠性均采用R1、R2、......、Rn表示;失效率均采用λ1、λ2、......、λn表示。
10.1 串联系统的可靠性(R)与失效率(λ)
10.2 并联系统的可靠性(R)与失效率(μ)
10.3 简单的举例
11.差错控制
11.1 校验码的基本概念
11.2 循环校验码(CRC)
循环冗余校验码(CRC)广泛应用于数据通信领域和磁介质存储系统中。它利用生成多项式为k个数据位产生r个校验位来进行编码,其编码长度为k+r。
循环冗余校验码是由两部分组成的,左边为信息码(数据),右边为校验码。若信息码占k位,则校验码就占n-k位。其中,n为CRC码的字长,所以又称为(n,k)码。校验码是由信息码产生的,校验码位数越多,该代码的校验能力就越强。在求CRC编码时,采用的是模2运算。
11.3 奇偶校验码(PC)
奇偶校验是一种简单有效的校验方法(可以检错,不能纠错)。这种方法通过在编码中增加一位校验位来使编码中1的个数为奇数(奇校验)或者为偶数(偶校验),从而使码距变为2。
对于奇校验,它可以检测代码中奇数位出错的编码,但不能发现偶数位出错的情况,即当合法编码中的奇数位发生了错误时,编码中的1变成0或0变成1,则该编码中1的个数的奇偶性就发生了变化,从而可以发现错误。
奇校验:被传输的有效数据中“1”的个数是奇数个,校验位填“0”,否则填“1”。
偶校验:被传输的有效数据中“1”的个数是偶数个,校验位填“0”,否则填“1”。
例如:奇校验 1000110(0),采用奇校验,“1”的个数为奇数个,所以校验位填“0”。
偶校验1000110(1),采用偶检验,“1”的个数为奇数个,所以校验位填“1”。
11.4 海明校验码(HC)
海明码的构成方法是在数据位之间的特定位置上插入k个校验位,通过扩大码距来实现检错和纠错(可以检错和纠错)。
设数据位是n位,校验位是k位,则n和k必须满足:2^k - 1 ≥ n + k。
我们看上面这个例题,对于信息1011的海明码,我们要确定校验位,此时数据位为n=4,首先采用公式2^k - 1 ≥ n + k,解得校验位k=3,分别存放在:2^0=1、2^1=2、2^2=4这三个位置。而剩下空出来的位置则对应补上数据位,即:第三位为I1,第五位为I2,第六位为I3,第七位为I4。(如果校验位更多,则第八位为r3:2^3=8)
因为I4占据第七位:7=2^2+2^1+2^0;I3占据第六位:6=2^2+2^1;I2占据第五位:5=2^2+2^0;I1占据第三位:3=2^1+2^0。我们找出这几个式子中指数的规律:👇👇👇
校验位r2对应2^2,而7、6、5分别包含2^2,这三位分别对应数据位I4、I3、I2,则:r2=I4 异或 I3 异或I2,而数据位I4=1,I3=0,I2=1,得异或结果为r2=0。
校验位r1对应2^1,而7、6、3分别包含2^1,这三位分别对应数据位I4、I3、I1,则:r1=I4 异或 I3 异或I1,而数据位I4=1,I3=0,I1=1,得异或结果为r1=0。
校验位r0对应2^0,而7、5、3分别包含2^0,这三位分别对应数据位I4、I2、I1,则:r0=I4 异或 I2 异或I1,而数据位I4=1,I2=1,I1=1,得异或结果为r0=1。
所得最终的结果为:I4=1,I3=0,I2=1,r2=0,I1=1,r1=0,r0=1,收到的信息为:1010101。
12.输入输出技术
12.1 直接程序控制
直接程序控制是指外设数据的输入/输出过程是在CPU执行程序的控制下完成的。这种方法分为:无条件传送和程序查询方式两种情况。
①无条件传送:在此情况下,外设总是准备好的,它可以无条件的随时接收CPU发来的输出数据,也能够无条件的随时向CPU提供需要输入的数据。
②程序查询方式:在这种方式下,利用查询方式进行输入/输出,就是通过CPU执行程序来查询外设的状态,判断外设是否准备好接收数据或准备好了向CPU输入的数据。
12.2 中断方式
对于程序控制I/O的方法,其主要的缺点在于CPU必须等待I/O系统完成数据的传输任务,整个系统的性能严重下降。
利用中断方式完成数据的输入/输出过程为:当I/O系统与外设交换数据时,CPU无需等待也不必去查询I/O的状态,而可以抽身出来处理其他任务。当I/O系统准备好了以后,则发出中断请求信号通知CPU,CPU接到中断请求信号后,保存正在执行程序的现场,转入I/O中断服务程序的执行,完成与I/O系统的数据交换,然后再返回被中断的程序继续执行。
与程序控制方式相比,中断方式因为CPU无需等待而提高了效率。
12.3 直接存储器存取方式(DMA)
在计算机与外设交换数据的过程中,无论是程序控制方式,还是中断方式,都需要CPU通过执行程序来实现,这就限制了数据的传送速度。为进一步提高相应的速度,我们引入了DMA。
DMA是指数据在内存与I/O设备间(通俗的说,就是主存与外设)的直接成块传送,即在内存与I/O设备间传送一个数据块的过程,不需要CPU的任何干涉,只需要CPU在过程开始时启动、在过程结束时处理,实际操作全部由DMA硬件自动执行完成,CPU在此传送过程中可以去做别的事情。
12.4 输入/输出处理机(IOP)
DMA方式的出现减轻了CPU对I/O操作的控制,使得CPU的效率显著提高。而通道方式的出现则进一步提高了CPU的效率。通道是一个具有特殊功能的处理器,又称为输入输出处理器(IOP),它分担了CPU的一部分功能,可以实现对外围设备的统一管理,完成外围设备与主存之间的数据传送。
通道方式大大提高了CPU的工作效率,然而这种效率的提高是以增加更多的硬件为代价的