1、1 存储器是计算机中存储信息的部件 它可以把需要CPU处理的程序和原始数据存储起来 处理时自动而连续地从存储器中取出程序中的指令并执行指令规定的操作 程序执行过程中的数据也可利用存储器保存起来 这就是说 计算机每完成一条指令 至少有一次为了取指而访问存储器 第五章存储器 2 5 1概述 5 1 1存储系统的层次结构存储系统的层次结构 就是把各种不同存储容量 不同存储速度的存储器 按照一定的体系结构方式组织起来 使所存放的程序数据按层次分布在各种存储器中 三级存储系统 高速缓冲存储器 主存储器 外存储器 3 1 主存储器 外存储器 弥补主存容量的不足 主存 内存 一般把具有一定容量且速度较高的存
2、储器作为内存 CPU可直接用指令对内存储器进行读写 存放现行程序和数据 存取速度快 容量有限 是主机的一部分 通常用半导体存储器作为内存 4 内存 外存存储层次的形成解决了存储器的大容量和低成本之间的矛盾 外存 辅存或海存 存储容量大 速度较低 位于主机之外的存储器 用来存放当前暂时不用的程序和数据 CPU不能直接用指令对外存进行读写 要使用外存中的信息 必须先将它调入内存 5 2 主存储器 高速缓冲存储器为使主存储器与CPU的速度相匹配 提高CPU访问存储器的速度 在CPU和内存中间设置高速缓冲器 cache 高速缓存 内存层次的形成解决了速度与成本的矛盾 6 在现代微机中同时采用这两种存储
3、层次 构成cache 内存 外存三级存储系统 这三级存储系统的形成 满足了现代微型计算机对存储系统的速度快 容量大且价格低廉的要求 7 3 虚拟存储技术基本思想 将存储系统中的一部分外存 如磁盘 磁带等 与主存组合起来并视为一个整体 把两者的地址空间进行统一编址 形成逻辑地址空间 允许用户自由 充分地使用整个逻辑地址空间 除系统指定的保留区域外 同时采用软 硬件结合的手段 将用户逻辑地址自动转换为实际访问主存的物理地址 并对程序自动分段调入主存 或调出主存 这样 对用户编程来说 允许程序使用的地址空间不再受主存空间的限制 同时也免去对程序分段和存储空间动态分配的繁重负担 8 5 1 2存储器的
4、分类1 按存取方式分类 1 随机存储器 RAM 既可读有可写 又称读 写存储器 如主存 2 只读存储器 ROM 只能读 不能写 存放固定不变的系统程序和子程序等 3 顺序存储器 SAM 按照顺序进行读 写 如磁带 9 2 按存储器载体分类 1 磁介质存储器 速度较慢 一般用作外存 如磁盘 磁带等 2 半导体存储器 容量大 速度快 体积小 功耗低 广泛用于大 中 小及微型机中作内存 3 光存储器 速度快 但需复杂的硬件 主要用作外存 10 5 1 3存储器的基本组成半导体存储器的内部结构为例 存储体 核心 一个基本存储电路可存入一个二进制数码 读 写电路 位于存储体与数据总线之间 是存储体的控制
5、电路 11 5 1 4存储器的技术指标1 存储容量 通常以允许存放的字数 位数或字节数表示存储器的容量 32K 161KB 210B 1024B 1MB 210KB 1024KB2 存取周期 又称读写周期或访问周期 通常指连续存入或取出两个数据所间隔的时间 3 取数时间 从CPU发出读命令开始 直到存储器获得有效读出信号的一段时间 4 可靠性 通常以平均无故障工作时间来衡量存储器的可靠性 5 经济性 常以 性能价格比 来衡量存储器经济性能的好坏 12 5 2半导体读写存储器5 2 1静态RAM1 静态RAM的工作原理MOS型静态RAM的基本存储单元 可由六个MOS场效应晶体管构成 其基本存储单
6、元电路如图所示 VF1 VF2 组成双稳态触发器VF3 VF4 负载管VF5 VF6 控制管 13 设VF1截止 VF2导通 为1 VF2截止 VF1导通 为0 A点状态 14 2 静态RAM组成将多个存储单元按一定方式排列起来 就组成了一个静态RAM存储器 如图5 4所示 字译码 210 1024需要2N译码线全译码 32 32矩阵方式 需要2 2N 2译码线 15 3 静态RAM举例Intel21141K 4位4094字节64 64矩阵 16 5 2 2动态RAM存储的信息具有一定的时间性 在很短的时间内 其数据是有效的 超过一定的时间 数据就消失了 为了使数据常在 就要周期性地对所在数据
7、重写 刷新 这种存储器为动态存储器 1 动态RAM的工作原理 1 四管动态存储单元P163图5 6 2 三管动态存储单元 3 单管动态存储单元 17 2 动态RAM的使用举例例 用4K 1的存储芯片构成16K字节 8位 的内存模块 需要32个4K 1的芯片分4组 每组由4K 1的8个芯片组成 4K字节 P166图5 9 18 5 3半导体只读存储器5 3 1掩膜式只读存储器ROM制造厂家根据程序设计者编好的程序组成的 1 0 代码矩阵 利用集成电路工艺制造出相应的掩膜图案并生产出ROM芯片 这种ROM中的信息是永久性存储 使用时只能读出而不能写入新内容 19 5 3 2可编程的只读存储器PRO
8、M制作时不写入信息 使用时可写入自己的程序 但写入是一次性的 一旦写入内容后就不能更改 所以称一次性可编程序只读存储器 又称为现场可编程序只读存储器 20 5 3 3可编程 可擦除的只读存储器 EPROM用户使用时可重复编程 可多次改写所写内容 1 紫外线擦除的EPROM采用紫外线擦去原存内容 再用专门写入器改写内容 因此又称UVEPROM 实际中 用12mW cm2的紫外线 或X射线 灯 相距3cm 进行照射10 20min 就可把EPROM中的原存全部信息抹去 并成为全 1 状态 然后 再根据用户程序 用加电压的手段使要存入 0 的那些存储位进行写 0 而对要存 1 的存储位不加电压 仍保
9、存原有的 1 代码 常用的 2732 4KB 2764 16K 2725627128Intel2716 21 2 电可改写的 可重编程的只读存储器 简称为EEPROM或E2PROM 它是采用金属 氮 氧化物 硅 MNOS 集成工艺制成的 使用时让电流只通过指定的存储单元 把其中一个字 或字节 擦去并改写 其余未通入电流的单元内容保持不变 22 3 EPROM芯片举例 Intel271616K位 可组成2K 8的紫外线擦除的EPROM 地址线 A0 A1011根数据线 D0 D88位 后备线 23 5 4存储器与CPU的连接5 4 1存储器与CPU连接时要考虑的问题1 CPU总线的负载能力2 C
10、PU的时序与存储器的存取速度之间的配合3 存储器的电平信号与CPU的电平匹配4 存储器的地址要合理分配5 控制信号的连接 24 5 4 2存储器地址分配及译码1 存储器地址分配在进行存储器与CPU连接前 首先要确定内存容量的大小和选择存储器芯片的容量大小 2 存储器地址译码 25 5 4 3存储器与CPU的连接存储器芯片的外部引脚按功能分为数据线 地址线和控制线 CPU对存储器的读写操作首先是向其地址线发地址信号 然后向控制线发读写信号 最后在数据线上传送数据信息 每一块存储器芯片的地址线 数据线和控制线都必须和CPU建立正确的连接 才能进行正确的操作 CPU与存储器的连接就是指地址线 数据线
11、和控制线的连接 重点说明的是存储器与CPU地址总线的连接方式 必须满足对这些芯片所分配的地址范围的要求 26 CPU发出的地址信号必须实现两种选择 1 片选 对存储器芯片的选择 使相关芯片的片选端CS为有效 2 字选 在选中的芯片内部再选择某一存储单元 片选信号和字选信号均由CPU发出的地址信号经译码电路产生 其中 片选信号 由存储器芯片的外部译码电路产生 需自行设计 字选信号 由存储器芯片的内部译码电路产生 这部分译码电路不需用户设计 27 下面介绍外部译码电路的两种译码方法 1 线性选择法直接用CPU地址总线中某一高位线作为存储器芯片的片选信号 简称为线选法 优点 连接简单 片选信号的产生
12、不需复杂的逻辑电路 缺点 1 当采用线选法时 高位地址未全部用完 而又没有对其实施控制时 会出现地址的不连续和多义性 2 即使所有的高位地址线都用作线选 其能寻址的存储空间也十分有限 28 2 全译码法将高位地址全部作为译码器的输入 用译码器的输出作为片选信号 在这种方法中 低位地址线用作字选 与芯片的地址输入端直接相连 高位地址线全部连接进译码电路 用来生成片选信号 这样 所有的地址线均参与片内或片外的地址译码 不会产生地址的多义性和不连续性 在全译码方式中 译码电路的核心常用一块译码器充当 例如74LS138等 29 5 4 4常用的译码电路一种常见的3 8译码器74LS138 3个输入端
13、8个输出端3个使能端 30 0000111111100110111111010110111110111110111110011110111101111110111101111110111111111110 31 5 4 5存储器连接举例 采用的连接方式 位并联地址串联 例5 1 利用74LS138译码器和2114 1K 4 芯片构成一个4K 8容量的存储器 要求存储器的起始地址是80000H 画出连线图 32 例5 1 若在一微机中 存储器结构如图所示 试问该存储系统的首地址 末地址为多少 33 例5 2 今有2114 1K 4 芯片若干 利用74LS138译码器构成一个4K 8容量的存储系统 要求存储器的起始地址是8C000H 画出连线图 例5 3 利用74LS138译码器和2114 1K 4 芯片构成一个4K 8容量的存储器 要求存储器的起始地址是91C00H 画出连线图 例5 4 今有2114 1K 4 芯片若干 构成一个3K容量的存储系统 地址范围是 08000H 08BFFH该如何连线 34 例5 5 今有2114芯片 1K 4 2716芯片 2K 8 芯片若干 构成一个4K容量的存储系统 需要有2K的RAM和2K的EPROM 该如何连线 并写出地址范围