计算机组成原理—硬件结构
二、存储器
1.概述
存储器是计算机系统中的记忆设备,用来存放程序和数据
1.1存储器的层次结构
缓存-主存层次主要解决CPU和主存速度不匹配的问题,速度接近缓存
主存-辅存层次主要解决存储系统的容量问题,容量接近与价位接近于主存
2.主存储器
2.1概述
主存与CPU的联系
主存各存储单元的空间是由单元地址号来表示。
字地址使用该地址高位字节的地址来表示,其字地址是4的整数倍,正好用地址码的末两位来区别
高地址存高位数据
低地址存低位数据
设地址线24位
若字长8位,按字节寻址的范围是16M(2的24次方)
若字长16位,按字节寻址的范围是8M
若字32位,按字节寻址的范围是4M
主要指标是存储容量和存储速度
存储容量:存储单元个数*存储字长(注意单位,是否除以8)
存储速度,分为存取时间和存取周期
存储器带宽:频率*位数(1ns = 1MHz)
3.半导体存储芯片
3.1基本结构
3.2译码驱动方式
- 线选法:在矩阵中每次选一行
- 重合法:在矩阵中利用X/Y地址译码器找到1位
4.随机存取器
4.1静态RAM(SRAM)
静态RAM是用触发器工作原理存储信息的,存储信息会保持原状态,不需要再生
4.1.1SRAM单元电路
4.SRAM的举例
以Intel 2144为例,1k*4(10根地址线,4根数据线)
其内部存储矩阵如下图所示
此结构将列分为4个组,每组16列,存取时,正好在每组拿一列,4位输出/输入
4.2动态RAM(DRAM)
常见的动态RAM的基本单元电路有三管式和但管式两种,都是靠电容存储电荷原理来寄存信息。需要刷新,一般间隔2ms(一次存取)
4.2.1三管式
单元电路
其中的存储的0/1与原存信息是相反的
1k*1结构示意图
4.2.2单管式
单元电路
16k*1结构示意图
注:此时用了地址线的复用,先行地址,在列地址
4.3刷新
刷新是一行一行的刷新
4.3.1集中刷新
在2ms内选一个时间段进行刷新,会存在"死区"(不能进行任何操作)
4.3.2分散刷新
每行都进行一次集中刷新,无"死区",但会使存取周期变长
4.3.3异步刷新
将上述两种方法结合,在2ms内寻找完成每一行刷新需要的时间间隔,在这个间隔内做一次集中刷新
4.3.4指令译码阶段刷新
不会出现"死区"
4.4静态和动态的比较
动态RAM静态RAM集成度高低封装性低高功耗低高价格低高速度低高刷新需要不需要5.存储器与CPU的连接
5.1存储容量的扩展
位扩展是指增加字长,eg:1k * 4的芯片可以变成1k * 8的
字扩展是指增加存储器字的数量,eg:1k * 8的芯片可以变成2k * 8的
将上面两种扩展结合
5.2存储器和CPU的连接
- 选择合适的芯片(种类,个数)
- 数据线
- 地址线
- 控制线
- 片选信号:位扩展:串联(一起选用);字扩展:互斥(只用一个)
5.2.1数据线(2个为例)
- 位扩展:一个芯片连高位,一个芯片连接低位
- 字扩展:对应相连即可
5.2.2地址线
- 位扩展:对应相连即可
- 字扩展:先连低位,如有剩余,则连片选等
5.2.3控制
5.2.4片选信号
基本思想:位扩展:串联(一起选用);字扩展:互斥(只用一个)
6.存储器地校验
6.1汉明码地组成
汉明码具有一位纠错能力,默认偶检验(可以改为奇检验)
汉明码 = 信息码 + 校验码
设信息码个数为n,校验码地个数为k,则要满足<strong>n + k |