Nameless Site

But one day, you will stand before its decrepit gate,without really knowing why.

0%

存储系统I

存储系统层次结构

基本存储体系

存储程序 —-> 内存
1) 输入设备将程序与数据写入主存; ^
2) CPU取指令; |
3) CPU执行指令期间读数据; |
4) CPU写回运算结果; |
5) 输出设备输出结果; |
程序控制 —-> CPU

主存容量不足的原因:

  • 存在制约主存容量的技术因素
  • 应用对主存的需求不断扩大

image-20191224143440462

哈佛结构:是一种将指令储存和数据储存分开的存储器结构,可支持:数据和指令并行储存、指令 预取,提高处理器的执行效率;另外,指令和数据可有不同的数据宽度,如Microchip 公司的PIC16芯片的程序指令是14位宽度,而数据是8位宽度。
目前使用哈佛结构的:PIC系列、摩托罗拉公司的MC68系列、Zilog公司的Z8系列、 ATMEL公司的AVR系列和ARM公司的ARM9、ARM10和ARM11。

image-20191227012511278

存储体系层次化结构的理论基础

局部性原理

  • 时间局部性:
    • 现在被访问的信息2在不久的将来还将再次被访问;
    • 时间局部性的程序结构体现:循环结构
  • 空间局部性:
    • 现访问信息2 ,下一次访问2附近的信息。
    • 空间局部性的程序结构体现:顺序结构

主存中的数据组织

存储字长:

  • 主存的一个存储单元所包含的二进制位数;
  • 目前大多数计算机的主存按字节编址,存储字长也不断加大,如16位字长、 32位字长和64位字长;
  • ISA设计时要考虑的两个问题:
    • a)如何根据字节地址读取一个32位的字?
    • b)一个字能否存放在主存的任何字节边界? - 字的存放问题 - 字的边界对齐问题

image-20191224151529700

image-20191224151536995

边界对齐与存储地址的关系(以32位为例)

  • 双字长数据边界对齐的起始地址的最末三位为000(8字节整数倍;
  • 单字长边界对齐的起始地址的末二位为00(4字节整数倍);
  • 半字长边界对齐的起始地址的最末一位为0(2字节整数倍)。

image-20191224151700729

image-20191224151728347

静态存储器工作原理

image-20191224154646533

image-20191224154652629

image-20191224154658914

image-20191224154704558

image-20191224154711826

image-20191224154729278

image-20191224154739209

动态存储器工作原理

SRAM存储单元不足:

  • 晶体管过多
  • 存储密度低
  • 功耗大

image-20191224162301973

image-20191224162316869

image-20191224162327920

image-20191224162336607

image-20191224162343371

image-20191224162351879

image-20191224162357494

image-20191224162402845

image-20191224162410001

存储拓展

image-20191224161733688

位拓展举例: 用16K * 8 的存储芯片构建16K * 32的存储器

所需芯片数量: 16K*32/(16K*8) = 4
所有存储芯片并行工作,贡献32位数据中的不同8位

image-20191227012839226


字扩展举例: 用16K* 8 的存储芯片构建128k* 8的存储器

所需芯片数量: 128K * 8/ (16K*8) = 8
128k存储器 -> 17根地址线
16K的存储 -> 14根地址线
多余的3根地址线 作为片选译码输入

image-20191227012958630


用16K* 8 的存储芯片构建128K* 8的存储器,其中08000H~0BFFFH存储空间保留不用

所需芯片数量: (128K-16k )* 8/ (16K*8) = 7
image-20191227013302066


image-20191224162032635

习题

字位结构为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 语言程序段如下:

img

若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、游戏卡中的游戏,等等。


下列属于衡量存储器技术指标的是:存储容量、存取时间、存储周期和存储器带宽