计算机系统基础(五)

存储系统

CPU内部通过寄存器/Cache/主存储器/联机磁盘存储器/脱机光盘,磁盘存储器

外存储器:联机磁盘存储器/脱机光盘,磁盘存储器

从上到下是:cpu较快,但是存储容量少,外部慢存量大

内存编址
存储器由一块块的(存储单位)组成,为了方便寻找到每一块空间,
我们需要对每一个空间进行标识--内存编址。

芯片,存储器由若干个芯片构成。

内存容量,是存储器的大小。内存容量=每个芯片rongl*芯片个数,
每个芯片的容量= 一个地址代表的容量*编址总数。

芯片是由很多小格子组成,1bit组成,4个格子编成一个地址,
三八编码器,由32个格子组成,每4位编一个地址,可以编8个地址

CPU跟内存做交互,根据地址总线找到存储单元,
通过数据总线找到存储单元地址,读取数据

8个地址不需要把个总线,只需要3个总线,因为3位二进制数可以表示8个地址。
一个二进制位可以表示0跟1,

数据总线,计算机yicichulin位的数据,则数据总线的长度位n。
注意:数据总线的长度,并不一定代表一个地址的长度。

字,和数据总线紧密相关,数据总线有几位,则一个字就由多少位组成。
如64位计算机,表示一次可以处理64位数据,则1个字就是64位。

地址总线,加入需要n位二进制数来表示所有地址,则地址总线的个数位n。

内存按字节编址,地址从A4000H到CBFFFH,一共有()个字节。
若用存储容量位32K*8bit的存储芯片构成内存。至少需要()片。

1kb等于1024字节
1字节等于8比特(bit),*8bit是按字节编址

首先直接进行16位数字相减,求出地址之间的总个数。
公式:B-A+1,尾地址-首地址+1,CBFFFH-A4000H+1= 27FFF+1 = 28000H,
H表示是16进制数,然后转换成10进制数,

2*16^4 + 8* 16^3 = 163840 = 160 * 1024(个)=160K

160k / 32k = 5片芯片

如果存储容量位32K*4bit,需要2块4bit的芯片才能组成一个字节,则需要10块


Cache,高速缓冲存储器,在CPU的所有操作中,访问内存是最频繁的操作, 由于一把微机中的主存储器的工作速度
比CPU低一个数量级,加上CPU的所有访问都要通过总线这个瓶颈,所有缩短存储器的访问时间是提高计算机速度
的关键。采用CPU和内存之间加jingle高速缓存存储器cache的办法,可以较好的解决这以问题。

简单来说cache是为了解决高速运行的CPU与主存储器之间速度不匹配的问题。


cache是主存的一部分内容的复制,cache的地址映像方法:
1直接映像,第0区的第0页,就存在cache第0区的第0页,固定划分,查找方便,缺点是不灵活。
2全相连映像,特点是不分区,可以任意存放,比较灵活,缺点是查找麻烦。
3组相连映像,再分组,再分页,增加了开销,增加了性能消耗,

cache的性能,在cpu在访问内存时,首先要判断所要访问的内容是否在cache中,如果在,
就成为命中,此时cpu直接从cache中调用该内容;否则,就成为不命中,cpu只好去内存中
调用所需的子程序或指令了,cpu不但可以直接从cache中读出内容,也可以直接往其中写入内容,
由于cache的存取速率相当于,cpu的利用率大大提高,进而使整个系统西能提升。

如股票以Hc为代表对cache的访问命中率,tc为cache的存取时间,tm为主存的访问时间
,则cache的平均访问时间ta为
ta = Hc * tc + (1-Hc)* tm
平均访问时间 = 访问命中率*存取时间 +(1-访问命中率) * 主存访问时间

因为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中取数,否则从主存中取数。

磁盘存储器
分为主轴,磁道t,扇区s,柱面c,盘面,旋转,读、写头,磁bi,组合臂

在磁盘上存储数据的排列方式会影响I/O服务的总时间,假设每磁道划分为10个物理块,
每块存放1个逻辑记录。逻辑记录R1,R2,...R10,存放在同一个磁道上,记录顺序如下:
物理块 1 2 3 4 5 6 7 8 9 10
逻辑记录R1 R2 R3 R4 R5 R6 R7 R8 R9 R10
假定磁盘的旋转速度为30ms/周,磁头当前处在R1的开始处。若系统顺序处理这些记录,
使用单缓冲区,每个记录处理时间为6ms,则处理这10个记录的最长时间为(),
若对信息存储进行优化分布后,处理10个记录的最少时间为()。

磁盘旋转,10条记录一共30ms,则每条记录读取需要3ms,每条记录处理为6ms
单缓冲区的意思是,一次只能处理一条记录,然后才能处理下一条,所以R1需要9ms,
系统顺序执行,则经过了9ms后,磁头已经到了R4位置,必须重新经过8ms才能到下一条。

9+8*3 = 24+9 = 33 * 9 = 297+3+6+306ms
3+6= 9 *10 = 90ms

总线
总选Bus,是计算机各种功能部件之间传送信息的公共通信干线。
按照总线相对应的cpu或其他芯片的位置可分为:
1内部总线,寄存器之间和算数逻辑部件ALU与控制部件之间传输数据所用的线。
2外部总线,cpu与内存和I/O设备接口之间通讯。

总线按照功能划分:
1地址总线--传送地址信息
2数据总线--传送数据信息
3控制总线--传输控制信号和时序信号

按总线在微机中的位置,可分为机内总线和机外总线两种。
按总线功能划分,可微分局部总线,系统总线,通讯总线
按总线中的数据线的多少,可以分为并行总线和串行总线,

周期= 3t
8t + 99*3t 297 +8 = 305

最大吞吐率是 1/3
90 / 36 = 10/4 =

9 + (10-1) * 3t
9+ 9*3= 27+9 = 36

1 cpu在执行指令的过程中,会自动修改(A)的内容,使其保存的总是将要执行的吓一跳指令地址。
用于存放当前从主存器读出的正在执行的一条指令是(B)
从内存中取出一条指令,经过数据总线送往指令寄存器中,此设备叫做(C)
用来保存当前cpu访问的内存单元地址是(D)
用于传送和暂存数据,也可以参与算术逻辑运算,并保存结果的设备叫做(E)
写内存时,暂存指令或数据的设备叫做(F)
用于存放状态与控制标识,如终端标志,溢出标志(G)
A程序计数器,B指令寄存器,C指令译码器,D地址寄存器,E累加寄存器,F数据缓冲寄存器,G状态条件寄存器

2 存储速度从块到慢的是,1寄存器组(cpu的组成部分),2cache,内存(主存储器),flash

3 计算机采用分级存储体系的主要目的
解决存储的容量、价格,速度之间的矛盾。

4 多指令流,单数据流(MISD),只有理论,无实际意义,实际上很少见,多用于容错系统,

猜你喜欢

转载自www.cnblogs.com/gsy2012/p/12314073.html