导图社区 《微机原理》-存储系统
《微机原理》系列,介绍计算机存储系统基本结构,缓存读写策略等。包括:存储器结构、存储器扩展内存、Cache高速缓存。 整活!让知识自己说话~~
编辑于2023-01-29 11:42:24 河南存储系统
存储器结构
分类
按结构 读写速度高→低 容量小→大
Cache
SRAM
主存Main Memory(内存)
DRAM
外存
Flash/Disk
按存储介质
半导体
磁介质
光介质
按读写方式

RAM随机存储器
静态SRAM
动态DRAM
数据输出前必须激活
ROM只读存储器
ROM
PROM
EPROM可擦除可编程ROM
EEPROM电可擦除可编程ROM
Flash闪存
按读写速率
SDR
DDR
QDR
存储器扩展
存储器封装
地址线
控制线
片选线
数据线
设计需考虑
物理地址空间映射
一对一整体映射
一对多整体映射
一对一随机映射
一对多随机映射
数据位宽匹配
扩展
位扩展
存储器“并联”
地址线、片选线、控制线并联, 数据线分别连接不同的数据总线
字扩展
存储器“串联”
地址线、数据线、控制线并联 片选线连接不同的信号
复用
参考接口技术 接口复用
操作时序匹配
细节问题
访问数据边界对齐
字节使能信号
64位机,一行八个字节,就需要八个使能信号 信号由地址的后三位提供
访问一位,就全译码 访问两位,A0不议 访问四位,A1A0不议
内存条里各个芯片之间地址可能不连续
内存
内存的虚拟存储技术
多任务并行,实际内存容量不够
于是把外存的一部分空间当作内存使用
CPU访问程序过程
查看程序是否在内存
没有则从外存虚拟分区调入到内存, 刷新数据
一次读的慢,读得多
内存数据进入缓存
一次读的快,读的少
存储空间
虚拟地址空间
访存指令给出的空间范围 如,32位机---8GB
软件层面,虚的
物理地址空间
地址总线指示的地址
硬件层面,实的
内存
外存的虚拟存储分区
关系
查页表
V=1,在内存中
直接运行
V=0,在外存的虚拟部分
生成访问异常
操作系统数据装入内存 并由MMU更新映射表表
存储管理单元
由虚查实
两种分区方式
分段
多个程序,首地址对齐连续存放
需记录段地址,由操作系统进行装载
工作模式 (段地址保存位置)
专用寄存器保存---实模式
内存存储区保存---保护模式
在内存中的操作符表记录段地址, 由操作系统维护
段描述符
总共八个字节
界限是20位的数据
段的大小可以规定
G为0
G为1
在段描述符表中 找我要的段描述符
找符表的基地址 两种情况
全局描述符寄存器存全局描述符表首地址
段寄存器 高13位描述第几项 TI段选择子,RPL权限
局限
段比较大时,调度时间长
段地址对齐。产生未利用的空余空间
分页
映射关系
由于是随机映射,需要记录映射关系,页表
虚拟地址是连续编址,作为页表索引, 物理地址,作为页表的内容
页表存放在内存中,由程序维护 页表首地址存放在页表地址寄存器
举例:32位机,1GB物理内存,设定4KB/页 虚拟页有2^20=1M页,也就是页表项 物理页有2^18,物理页号18位,一律按四字节32位存储 一行4B,找到物理页放在哪里?页起始地址+虚拟页号<<2
二级页表,条件同上,1K页做一组 页目录和页表都在内存里,按32位地址寻址
段页式
缓存里 TLB表
在缓存里 存页表 查的快
用于提高虚拟地址到物理地址的转换速度
Cache高速缓存
基本概念
Cache
是CPU内部存储器,存放近期需要运行的指令和程序, 以提高CPU对主存的访问速度
命中Hit
非命中Miss
不在
未命中的替换策略
随即替换
先入先出
最近最少使用
nc/b是几次填满一行
提高高速缓存性能
程序
存在大量循环
时间局部性
过一会还来
空间局部性
我就在隔壁
映像关系
缓与内存
直接映像
分页(区)后, 同行对同行
缓存控制器,给出访问内存的第几页、哪一行、偏移多少 如左上角所示 在缓存中,标志位指示第几块,有效位指示有没有,一行还有数据 同行对同行,不需要存行号信息
当访问每个块同行时,命中率非常低 需改善
比较控制器,只有一个
全相联
随机
缓存控制器,传递cpu要的东西,第几行、偏移多少 缓存中,标志位确定拿到内存的行号,有效位指示有没有,一行还有数据
缓存中所有行都要比较一次, 比较控制器是行数个
组相联
比较控制器,只有路数个
概要
关系