一.层次化存储结构
这里的知识涉及到微机原理,对,就是大二的微机原理,根据层次图我们可以知道,在层次化存储结构中,它的
层次是依速度的快慢来进行排列的,其中cpu的速度最快,所以它排在最前面。
其中cpu包含运算器和控制器,运算器和控制器中又包含寄存器。
Cache(高速缓冲寄存器),内存和外存字面意思。
需要注意的是,从速度来说cpu最快,其次是Cache(高速缓冲寄存器),内存,外存,但是从存储容量上来说
外存可存储的最多,其次内存,Cache(高速缓冲寄存器),cpu。
可以思考一下是为什么。
1. 补充
在上图中,我们可以去掉Cache(高速缓冲存储器),整个结构一样可以运行,只不过运行速度会极慢。
Cache(高速缓冲存储器)一般是用K,M做为单位,不比我们的内存动不动就是用G表示容量,
而Cache(高速缓冲存储器)中的内容都来自内存中的部分内容,奇怪的是加了一个这么小的东西,我们的
速度居然能提高数倍。这些问题在后面会得到解释。
二.Cache概念介绍
1.概念
如图。在上面的最后我们讲到一个问题,那就是,为什么加了一个小玩意(Cache),就能提高整个存储体系的
速度呢,而这里就需要了解到我们的”局部性“,先记下”局部性“原理这几个字。
2.计算 加入Cache之后的存取的平均周期时间
根据上图公式t3 = h * t1 +(1-h)* t2,我们可以算出t3 = 0.95 * 1ns + (1-0.95)* 1000 = (50.95ns)。
上图公式中,只有h没解释,这里解释一下,h表示的是cpu对Cache的命中率,什么是命中率呢,就是cpu
在执行操作的时候,会先去访问Cache中的数据,如果有,则表示命中了,没有就会去内存中找。所以命中率
就是cpu能在Cache中能获取到所需要的数据的概率。
这里我们假设概率是95%,t1假设时间为1ns,t2为1000ns
根据上面可以知道,当我们没引入Cache(高速缓冲寄存器)的时候,cpu从内存读取的时间为1000ns,引入后,时间为50.95,提高了将近20倍。
三.局部性原理
1.概念
计算机在处理相关的程序和数据会在某一时段集中的去读取某一空间的数据.
2.名词解释
时间局部性:
根据我们上图中的例子可以知道,这个程序会运行100万次,我们将这个100万次搞成一个块,放入我们的Cache中,让cpu从Cache中读取,而不去内存中读取,这样子,大大减少了所需要的时间。(因为Cache比内存快很多倍)。这就是时间局部性。
空间局部性:
这里我们使用数组来解释,当我们初始化一个数组a[10]={0},在计算机中,则是将内存中的一部分地址去存,对数组在内存中的相邻地址赋值,我们称之为空间局部性。
这里看一看别人的解释,反正这一块就有点抽象,配合视频看吧
四.主存的分类
1.概念
根据图我们可以知道,主存分为两种 随机存储器(RAM)与只读存储器(ROM),相信你对这两个存储器还有
部分了解(如果一点都没用,老李直接哭晕在厕所)。
随机存储器(RAM):
特点:一旦掉电,数据丢失。
只读存储器(ROM):
特点:一旦掉电,数据依然会保存下来。
2.编址
编址是指为计算机内存中的每个存储单元分配一个唯一的地址。
这个地址可以用来访问和操作存储单元中的数据。
编址是计算机系统中的重要概念,它使得计算机能够有效地管理和访问内存中的数据。
在编址过程中,每个存储单元都被分配一个唯一的地址,这样计算机就可以根据地址来定位和访问存储单元中的数据。
编址可以通过不同的方式实现,例如使用二进制、十六进制或其他编码方式来表示地址。
图中8*4位的存储器,8和4分别表示的是,8代表它有8个地址空间,4代表每一个地址空间存储4个bit位的信息
比如说000就有4个bit的容量。
我们可以用两个8*4位的存储器来组成8*8位的存储器和16*4位的存储器。
这个题目,算的我想死了,解题过程如下:
先求AC000H到C7FFFH之间的值,
也就是 (C7FFF - AC000 + 1)因为计算机的内存从0开始算,
所以(C7FFF - AC000 + 1)= 1C000(H) / 1024;
就是1*16的4次方+12(c)* 16的3次方 / 1024 = 112;
最终结果选B
第二问
已知112k个地址单元,一个内存地址16bit,那么得出式子
112*16 / 28*16*X = 1;
112*16可以知道总的地址,X是我们假设的bit位,由28片存储器,每片存储器16k 28*18*x得到总的地址,经过运算,得到X为4。
五. 磁盘结构与参数
1.概念
磁盘顾名思义,就是一个盘片,涂上特殊的材质来保存数据,盘面用来保存数据,读取数据需要使用专业的工具,磁头。
磁头需要先定位到相应的磁道上面,定位的所需的时间就是旋转延迟时间,中间的小直线分开的一片片的叫做扇区,数据就存储在扇区上。
绿色条是磁道。
2.试题
原题
可以根据大图来看,当单缓冲区处理R0的时候,需要3ms,而此时11个扇区(物理块)转一圈为33ms,每个扇区3ms,也就是说当处理完R0的时候,磁盘已经转到了R2的位置,需要再等待一圈,才能读到R1,也就是说R0-R1需要的时间是(33+3)ms,即:
前10个所需要的时间为 (33+3)10 = 330;
最后一个扇区R10的时间为,读取时间3ms,读完之后处理的时间3ms,共6ms,所以最终时间是360+6 = 366ms。*
这里可能会有点小疑问,就是我读取和处理扇区不能同时进行吗,答案是不行的,因为磁针读取数据需要读完这一个扇区(物理块)才能进行处理,所以,读完R0的时候,再开始处理,处理完之后就到了R2。
第二问,当我们优化整个磁盘后,如小图所示,当我们读完R0时,磁针到达R6,处理R0时间3ms,磁针刚好到达R1,所以整个的逻辑为R0-R1-R2-R3-R4-R5,此时已经转完一圈,正好跳过R0,获取R6,所以,优化后的时间是***(33X2)= 66 ms***,2是2圈。
使用优化后的磁盘,使得时间没用丝毫的浪费,注意,这种题目是考点,可能会将磁盘大小进行改变,时间也改变,一定要理解这道题目
大图优化前,小图优化后
六. 计算机总线
总线分类方式是根据离芯片远近等级分类的分类方式是根据离芯片远近等级分类的
1.解释
内部总线:
内部总线是计算机系统中用于将各个组件连接起来传递数据和控制信号的通信路径。
它是计算机内部各个硬件设备之间进行数据传输和协调工作的一种重要机制。内
部总线可以连接处理器、内存、输入输出设备等各个部件,实现它们之间的数据交换和通信。
系统总线:
系统总线是计算机系统中用于连接各个硬件组件的一组电子线路。
它允许不同的硬件设备(如处理器、内存、输入输出设备等)之间进行数据传输和通信。
系统总线通常由多条并行线路组成,用于传输数据、地址和控制信号。
它起到了协调和管理计算机系统中各个硬件组件之间的通信和数据传输的作用。系统总线的设计和性能对计算机系统的整体性能有重要影响。
而系统总线还包括:
数据总线:
数据总线是计算机系统中用于传输数据的一组电子线路或通信通道。
它允许不同的硬件组件(如处理器、内存、输入/输出设备)之间进行数据交换和通信。
数据总线通常由多个并行线路组成,每条线路可以传输一个数据位。
数据总线的宽度决定了它可以同时传输的数据位数,例如,一个8位数据总线可以同时传输8个数据位。
数据总线在计算机系统中起到了连接和协调各个硬件组件的重要作用,它使得这些组件能够相互通信和协同工作。
地址总线:
地址总线是计算机系统中的一种物理线路,用于传输CPU或其他设备发送的地址信号。
它连接了CPU和内存或其他外部设备,用于指示要访问的内存单元或外设的位置。
地址总线的宽度决定了系统的寻址能力,即能够寻址的内存或外设的数量。
例如,一个16位地址总线可以寻址2^16个内存单元或外设。
控制总线:
控制总线是计算机系统中的一种重要的数据传输通道。
它用于传输控制信号,以控制各个硬件组件之间的数据传输和操作。
控制总线通常由多条并行线路组成,用于传输指令、地址和其他控制信号。
它连接了中央处理器(CPU)、内存和其他外部设备,使它们能够相互通信和协调工作。
通过控制总线,CPU可以向内存发送读取和写入请求,从而实现数据的读取和存储操作。
同时,外部设备也可以通过控制总线向CPU发送中断请求,以便与CPU进行交互。
总之,控制总线在计算机系统中起着重要的控制和协调作用。
外部总线:
外部总线是计算机系统中用于连接各种外部设备和组件的物理通信通道。
它允许计算机与外部设备进行数据传输和通信。
外部总线通常由多个电子线路组成,用于传输数据、地址和控制信号。
它可以连接各种外部设备,如硬盘驱动器、打印机、键盘、鼠标等。
外部总线的速度和宽度可以影响计算机系统的性能。