存储系统层次结构
基本存储体系
存储程序 —-> 内存
1) 输入设备将程序与数据写入主存; ^
2) CPU取指令; |
3) CPU执行指令期间读数据; |
4) CPU写回运算结果; |
5) 输出设备输出结果; |
程序控制 —-> CPU
主存容量不足的原因:
- 存在制约主存容量的技术因素
- 应用对主存的需求不断扩大
哈佛结构:是一种将指令储存和数据储存分开的存储器结构,可支持:数据和指令并行储存、指令 预取,提高处理器的执行效率;另外,指令和数据可有不同的数据宽度,如Microchip 公司的PIC16芯片的程序指令是14位宽度,而数据是8位宽度。
目前使用哈佛结构的:PIC系列、摩托罗拉公司的MC68系列、Zilog公司的Z8系列、 ATMEL公司的AVR系列和ARM公司的ARM9、ARM10和ARM11。
存储体系层次化结构的理论基础
局部性原理
- 时间局部性:
- 现在被访问的信息2在不久的将来还将再次被访问;
- 时间局部性的程序结构体现:循环结构
- 空间局部性:
- 现访问信息2 ,下一次访问2附近的信息。
- 空间局部性的程序结构体现:顺序结构
主存中的数据组织
存储字长:
- 主存的一个存储单元所包含的二进制位数;
- 目前大多数计算机的主存按字节编址,存储字长也不断加大,如16位字长、 32位字长和64位字长;
- ISA设计时要考虑的两个问题:
- a)如何根据字节地址读取一个32位的字?
- b)一个字能否存放在主存的任何字节边界? - 字的存放问题 - 字的边界对齐问题
边界对齐与存储地址的关系(以32位为例)
- 双字长数据边界对齐的起始地址的最末三位为000(8字节整数倍;
- 单字长边界对齐的起始地址的末二位为00(4字节整数倍);
- 半字长边界对齐的起始地址的最末一位为0(2字节整数倍)。
静态存储器工作原理
动态存储器工作原理
SRAM存储单元不足:
- 晶体管过多
- 存储密度低
- 功耗大
存储拓展
位拓展举例: 用16K * 8 的存储芯片构建16K * 32的存储器
所需芯片数量: 16K*32/(16K*8) = 4
所有存储芯片并行工作,贡献32位数据中的不同8位
字扩展举例: 用16K* 8 的存储芯片构建128k* 8的存储器
所需芯片数量: 128K * 8/ (16K*8) = 8
128k存储器 -> 17根地址线
16K的存储 -> 14根地址线
多余的3根地址线 作为片选译码输入
用16K* 8 的存储芯片构建128K* 8的存储器,其中08000H~0BFFFH存储空间保留不用
所需芯片数量: (128K-16k )* 8/ (16K*8) = 7
习题
字位结构为256Kx4位SRAM存储芯片,其地址引脚与数据引脚之和为:22
256K 需要18根,4位4根
假定用若干块4K 4位的存储芯片组成一个8K8位的存储器,则地址0B1F所在芯片的最小地址是0000H
用若干片2K´4位的存储芯片组成一个8K´8位的存储器,则地址0B1FH所在的芯片在全局的最大地址是0FFFH
下列存储器类型中,速度最快的是 B
A.Flash Memory B.SRAM C.DRAM D.EPROM
SRAM是cache
关于内存的下列说法中,错误的是AD
A.内存的存取速度不能低于CPU速度,否则会造成数据丢失
B.某计算机内存容量为8GB,按字节编址,那么它的地址总线为33位
C.程序只有在数据和代码等被调入内存后才能运行
D.采用虚拟内存技术后程序可以在硬盘上直接运行
DRAM比SRAM慢,可能的原因包括ABCD
A.DRAM读之前需要预充电
B.DRAM存储体行列地址线复用
C.DRAM需要刷新
D.DRAM存储单元采用了双译码结构
不需要定时刷新的半导体存储器芯片是ACD
A.SRAM B.DRAM C.Flash Memory D.EPROM
某计算机存储器按字节变址,采用小端方式存放数据。假定编译器规定int 型和 short 型长度分别为 32 位和 16 位,并且数据按边界对齐存储。某 C 语言程序段如下:
若record 变量的首地址为 0xC008,则地址 0xC008 中内容及 record.c 的地址是0x11 0xC00E
计算机字长32位,主存容量为128MB,按字编址,其寻址范围为0~128M-1
某计算机内存容量为8GB,按字节编址,那么它的地址总线为33位 错
要大于33根
下列关于RAM和ROM的叙述中,正确的是BD
A.ROM和RAM都不需要刷新
B.RAM是易失性存储器,ROM是非失性存储器
C.Cache可选RAM、ROM做数据存储体
D. RAM和ROM都采用随机存取的方式进行访问
一般Cache采用高速的SRAM制作,比ROM速度快很多,因此Ⅲ是错误的,排除法即可选A。动态RAM是靠MOS电路中的栅极电容来记忆信息的。由于电容上的电荷会泄漏,需要定时给与补充,所以动态 RAM需要 设置 刷新 电路。RAM需要刷新,而ROM不需要刷新。
ROM与RAM两者的差别:
(1) RAM是随机存取存储器; ROM是只读存储器;
(2) RAM是易失性的,一旦掉电,则所有信息全部丢失;ROM是非易失性的,其信息可以长期保存,常用于存放一些固定用的数据和程序,如计算机的自检程序、BIOS、游戏卡中的游戏,等等。
下列属于衡量存储器技术指标的是:存储容量、存取时间、存储周期和存储器带宽