计算机体系结构和指令系统2

1.存储系统的层次结构

        有的教材把安装在电脑内部的磁盘成为“辅存”,把U盘、光盘等成为外存,也有的教材把磁盘、U盘、光盘等统称为“辅存”或外存。

主存——辅存:实现虚拟存储系统,解决了主存容量不够,辅存速度不够的问题

Cache——主存:解决了主存与CPU速度不匹配的问题

易混淆:Cache 与 主存储 之间是由硬件自动完成的,并没有操作系统的参与。Cache 会存储主存中的部分数据,CPU如果在Cache中找到了自己想要的数据,那么直接返回,如果没找到则会去主存中寻找,此时主存会把此次CPU寻找的数据放到Cache中方便CPU下一次快速查找

2.存储系统——存储器的分类

1.按位置分类,可分为内存和外存

内存(主存):用来存储当前运行所需要的程序和数据,速度快,容量小(这里的容量和速度只是相对于辅存来说的,通俗的称他为运行内存)

外村(辅存):用来存储当前不参与运行的数据,容量大,但速度慢

2.按材料分类,可分为磁存储器、半导体存储器和光存储器;

磁存储器:用磁性介质做成,如磁芯、磁泡、磁盘、磁带等;

半导体存储器:根据所用元件又可分为双极型和MOS型两类;根据是否需要刷新又可分为静态和动态两类;

光存储器:由光学、电学和机械部件等组成、如光盘存储器;

3.按工作方式,可分为读/写存储器和只读存储器:

读/写存储器(RAM)他指技能读取数据也能存入数据的存储器;

只读存储器(ROM)工作过程中仅能读取的存储器;

根据数据的写入方式,又可细分为 ROM 、PROM、EPROM、EEPROM等类型;

1.固定只读存储器(ROM):这种存储器是在厂家生产时就写好的数据,其内容只能读出,不能改变;一般用于存放系统程序BIOS和用于微程序控制;

2.可编程的只读存储器(PROM):其中的内容可以由用于一次性地写入,写入后不能再修改;

3.可擦除可编程的只读存储器(EPROM):其中的内容既可以读出,也可以由用户写入,写入后还可以修改,紫外线照射察除信息

4.电擦除可编程的只读存储器(EEPROM):与EPROM相似,EEPROM 中的内容既可以读出,也可以进行改写,电擦除的方法进行数据的改写。·

5.闪速存储器(Flash Memory):简称闪存,闪存的特性介于EPROM和EEPROM之间,类似于EEPROM,也可使用电信号进行信息的擦除操作。整块闪存可以在数秒内删除,速度远快于EPROM。

3.存储系统——高速缓存Cache

空间局部性: 在最近的未来要用到的信息(指令和数据),很可能与现在正在使用的信息在存储空间上是邻近的。
例如: 数组元素、顺序执 行的指令代码


时间局部性: 在最近的未来要用到的信息,很可能是现在正在使用的信息。
例如: 循环结构里面的指令代码。


        基于局部性原理,不难想到,可以把CPU目前访问的地址“周围”的部分数据放到Cache中,以提高访问效率

        在计算机的存储系统体系中,Cache是访问速度最快的层次。使用Cache改善系统性能的依据是程序的局部性原理

要把主存种的地址映射为Cache存储器里面的地址,地址映像方法有三种:

1.直接映像:就是主存的块与Cache中块的对应关系是固定的。这种方式的优点是地址
变换很简单,缺点是灵活性差;

2.全相联映像:允许主存的任一块可以调入Cache的任一块的空间。这种方式的优点是
主存的块调入Cache的位置不受限制,十分灵活。其缺点是无法从主存块号中直接获得
Cache的块号,变换比较复杂,速度比较慢;

3.组相联映像:这种方式是前面两种方式的折中。具体方法是将Cache先分成组再分块
组相联映像就是组间采用直接映像方式,而组内的块采用全相联映像方式;

选择替换算法的目标是使Cache获得最高的命中率;常用的替换算法有以下几种:

1.随机替换(RAND)算法:用随机数发生器产生一个要替换的块号,将该块替换出去;

2.先进先出(FIFO)算法:将最先进入的Cache信息块替换出去

3.近期最少使用(LRU)算法:将近期最少使用的Cache中的信息块替换出去;这种算法比先进先出算法要好些,但此法也不能保证过去不常用的将来也不常用;

4.优化替换(OPT):先执行一次程序,统计Cache的替换情况;有了这样的先验信息,在第二次执行该程序时便可以用最有效的方式来替换,达到最优目的;

Cache的i性能分析:

1.以下关于 Cache(告诉缓冲存储器)的叙述中,不正确的是:( A )

A. Cache 的设置扩大了主存的容量

B. Cache 的内容是主存部分内容的拷贝

C. Cache 的命中率并不随其容量增大线性地提高

D. Cache 位于主存与CPU之间

2.以下关于 Cache 与主存间地址映射的叙述中,正确的是:(D)

A. 操作系统负责管理 Cache 与主存之间的地址映射

B. 程序员需要通过编程来处理 Cache 与主存之间的地址映射

C. 应用软件对 Cache 与主存之间的地址映射进行调度

D. 由硬件自动完成 Cache 与主存之间的地址映射

Cache 总结:

1.Cache 位于 主存 与 CPU 之间;

2.由硬件来实现;

3.容量小一般在 几kb - 几mb 之间;

4.速度快 - 一般会比主存快 5 - 10 倍;

5.由半导体存储器制成;

6.内容是主存储器的副本,所以 Cache 是无法扩大主存的容量的;

7.Cache 既可以存放程序也可以存放数据,当CPU要获取数据时候,Cache 会判断该数据是否在高速缓存区中,如果在则命中,命中时可直接对 Cache 进行寻址获取数据,如果未命中则需要从主存中读取数据并按照确定的替换算法将此次获取的数据写入到Cache中;

3.主存与 Cache 的地址映射方式中,(A)方式可以实现主存的任意一块装入 Cache 中任意位置,只有装满才需要替换;

A.全相联

B.直接相联

C.组相联

D.串并联

主存储器中包含存储体MAR(地址寄存器)MDR(数据寄存器)

MAR(地址寄存器)的位数决定了主存储器的存储单元个数,例如 MAR 的位数是 4 那么主存储器就有 2的4次方 个存储单元;

MDR(数据寄存器)的字长决定了每个存储单元能存放的数据长度,例如 MDR 字长为 4 那么每个存储单元能存放的数据长度就是 4 个二进制数据; 

以下是一个 8*4为的存储器 ->

        可以对其进行 字扩展 变为 8*8 的存储器,存储单元仍然是 8 个,但每个存储单元可以存放 8 位二进制数,如下所示 ->

        也可对其进行 未扩展 变为 16*4 的存储器,存储单元变成了 16 个,但是每个存储单元仍只能存放 4 位二进制数,如下所示 ->

4.内存地址从 AC000H 到 C7FFFH ,共有 (112) K个地址单元,如果该内存地址按字(16bit)地址,由28片存储器芯片构成;已知构成此内存的芯片每片有 16K 个存储单元,则该芯片每个存储单元存储 (4) 位;

首先科普一下:

K -> 2的10次方

M -> 2的20次方

G -> 2的30次方

        第一空直接用 (C7FFFH + 1 - AC000H)即可得出答案,因为假设我们有10个存储单元,他们的从 0 - 9 ,那么是不是用 9 + 1 - 0 = 10 即可算出存储单元的个数

        第二空用第一空算出来的结果 112K来计算 ->  (112K * 16 ) / ( 28 * 16K ) = 4

存储系统——硬盘(磁盘)

公式:存取时间 = 寻道时间 + 等待时间(平均定位时间 + 转动延迟)

注意:寻道时间是指磁头移动道磁盘所需的时间;等待时间为等待读写的扇区转到磁头下方所用的时间

总线系统:

1.片内总线:片内总线是芯片内部的总线,他是 CPU 芯片内部寄存器与寄存器之间,寄存器与 ALU 之间的公共连接线;

2.系统总线:系统总线是计算机系统内部各功能部件(CPU、主存、I/O接口)之间相互连接的总线;按照系统总线传输信息内容的不同,又可分为 3 类:数据总线地址总线和控制总线

3.通信总线

输入输出技术

CPU与外设之间的数据传输方式:

1.直接程序控制方式:直接程序控制方式是指在完成数据的输入/输出中,整个输入/输出过程是在 CPU 执行策划给你续的控制下完成的;这种方式还可以分为以下两种:

(1)无条件传送方式:无条件地与 CPU 交换数据

(2)程序查询方式:先通过 CPU 查询外设状态,准备好之后再与 CPU 交换数据

2.中断方式

3.直接存储器存取方式:直接存储器存取(Direct Memory Access,DMA)方式是在存储器与 I/O 设备之间传送数据,即在内存与 I/O 设备之间传送一个数据块的过程中,不需要 CPU 的任何干涉,是一种完全由 DMA 硬件完成的 I/O操作的方式

5.当计算机系统总常用的输入/输出控制方式有无条件传送、中断、程序查询和 DMA 方式等;当采用 (D) 方式时,不需要 CPU 执行程序指令来传送数据;

A. 中断

B. 程序查询

C. 无条件传送

D. DMA 

可靠性

        计算机系统的可靠性是指从他开始运行(t = 0)到某个时刻 t 这段时间内能正常运行的概率,用 R(t) 表示;

计算公式:

串联部件的可靠度 = 各部件的可靠度的乘积

并联部件的可靠度 = 1 - 部件失效率的乘积

依题意得:

1.一个部件的失效率 = 1 - R

2.左边三个并联部件的失效率 =(1 - R)^3

3.左边三个并联部件的可靠度 = 1 - (1 - R)^3

4.右边连两个并联部件的失效率 =(1 - R)^2

5.右边两个并联部件的可靠度 =  1 - (1 - R)^2

6.最后算出左边三个并联部件串联上右边两个并联部件的可靠度,如下所示 ->

(1 - (1 - R)^3)* (1 - (1 - R)^2)

所以这题选择 B 选项

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值