一、层次化存储结构
二、Cache
Cache的功能:提高CPU数据输入输出的速率,突破CPU与存储系统间数据传输带宽限制。在计算机存储系统体系中,Cache是访问速度最快的层次。使用Cache改善系统性能的依据是程序的局部性原理。
如果以 h
代表对Cache
的访问命中率,t1代表Cache
的周期时间,t2代表主存储器周期的时间,以读操作,使用“Cache+主存储器”的系统的平均周期为t3,则
t3=h∗t1+(1−h)∗t2
其中 (1-h)
又称为失效率。
三、局部性原理
在CPU访问寄存器时,无论是存取数据抑或存取指令,都趋于聚集在一片连续的区域中,这就被称为局部性原理。
时间局部性(temporal locality):被引用过一次的存储器位置在未来会被多次引用(通常在循环中)。
空间局部性(spatial locality) :如果一个存储器的位置被引用,那么将来他附近的位置也会被引用。
四、主存
主存分为随机存取存储器(RAM)与只读存储器(ROM),一般RAM用于内存(断电时将丢失其存储内容),ROM用于BIOS之类(断电还存在)。
五、总线
根据总线所处的位置不同,总线通常被分为三种类型,分别是:
内部总线:在CPU内部,寄存器之间和算术逻辑部件ALU与控制部件之间传输数据所用的总线称为片内总线(即芯片内部的总线)。
系统总线:系统总线包括数据总线、地址总线和控制总线,数据总线在CPU与RAM之间来回传送需要处理或是需要储存的数据;地址总线用来指定在RAM之中储存的数据的地址;控制总线将微处理器控制单元的信号,传送到周边设备。
外部总线:计算机和外部设备之间的总线。
六、系统可靠性分析
串联系统与并联系统
七、校验码
码距
一个编码系统的码距是整个编码系统中任意两个码字的最小距离,若用1位长度的二进制编码。若A=1,B=0,则AB之间的最小码距为1
CRC校验码
下面以一个例子来具体说明整个过程。现假设选择的CRC生成多项式为G(X) = X4 + X3 + 1,要求出二进制序列10110011的CRC校验码。下面是具体的计算过程:
(1)首先把生成多项式转换成二进制数,由G(X) = X4 + X3 + 1可以知道(,它一共是5位(总位数等于最高位的幂次加1,即4+1=5),然后根据多项式各项的含义(多项式只列出二进制值为1的位,也就是这个二进制的第4位、第3位、第0位的二进制均为1,其它位均为0)很快就可得到它的二进制比特串为11001。
(2)因为生成多项式的位数为5,根据前面的介绍,得知CRC校验码的位数为4(校验码的位数比生成多项式的位数少1)。因为原数据帧10110011,在它后面再加4个0,得到101100110000,然后把这个数以“模2除法”方式除以生成多项式,得到的余数(即CRC码)为0100,如图5-10所示。注意参考前面介绍的“模2除法”运算法则。
(3)把上步计算得到的CRC校验0100替换原始帧101100110000后面的四个“0”,得到新帧101100110100。再把这个新帧发送到接收端。
(4)当以上新帧到达接收端后,接收端会把这个新帧再用上面选定的除数11001以“模2除法”方式去除,验证余数是否为0,如果为0,则证明该帧数据在传输过程中没有出现差错,否则出现了差错。
海明校验码
海明码的公式: 这个式子的意思是,可以用来校验错误的数字个数(
)要大于或者等于原数据位数(n)和校验位数(k)的和。显然在
中我们要留出一个数表示数据正确,所以我们用
来代表出错的位数。
具体例子计算详见:【计算机组成原理】海明校验码(Hamming Code)_洋Key的博客-优快云博客_海明校验码