【计算机组成原理之存储系统】超级详细
计算机组成原理系列
- 三、存储系统
- 3.1存储系统概念
- 3.2.1存储器芯片的基本原理
- 3.2.2SRAM和DRAM
- 3.2.3 ROM
- 3.3.1 主存和CPU的连接
- 位拓展
- 字拓展
- 字位同时拓展
- 3.3.2 双端口RAM和多模块存储器
- 3.4 外部存储器
- 3.5 Cache
声明:此为个人笔记,代码一部分来自王道408课程,仅供个人学习使用,如有侵权请联系;如有转载使用,一切后果自行负责与本人无关
三、存储系统
3.1存储系统概念
3.2.1存储器芯片的基本原理
3.2存储器芯片的基本原理
mos管接通是有电荷,电容存储电荷,存储元表示1,反之无电荷表示0。多个存储元单位组成一个存储单元,如下10100011;多个存储单元组成一个存储体。一个存储单元也成为存储字长,如10100011也叫做8bit(8位)。因此n位地址,就有2的n次方个地址,总容量等于存储单元个数*存储字长。
译码器通过多个自选线读多个存储单元,
一个内存条包含多个存储器芯片
如果要读取其中一个芯片的数据,就需要通过片选线给芯片高频电信号,其他芯片低频电信号,以区别;
地址线一般是CPU通过数据总线结构控制的;
存储芯片对外暴露的迎角每一条都对应一条线(读写线、片选线、数据线等)
对于整个存储体而已就可以这样表示容量
8k\*8 就是2的13次方\*8比特1k=1024B=2的十次方
现代计算机都是按字节寻址(1B=8bit)
总量为1KB,地址线为10根的情况下:
按字节寻址 1k个单元,每单元1B;按字寻址256个单元,每单元4B
按半字寻址,512单元,每单元2B;按双字寻址,128单元,每单元8B
3.2.2SRAM和DRAM
3.2.2 SRAM和DRAM
静态RAM(sram)用于cache
动态RAM(dram)用于主存,有地址复用技术和特有的刷新方法
电容和稳态触发器的内容可以去查询电路器件的内容,此处不予深究
SRAM用触发器存储信息,非破坏性读出,读出后不需要重写,运行速度快,集成度低,成本高,易失存储器,不需要刷新,同时送行列地址,常做cache。
DRAM用电容存储信息,是破坏性读出,读出后需要重写,运行速度慢,集成度高,成本低,易失存储器(断电后信息消失),需要刷新,分两次送行列地址,常做主存。
DRAM的刷新
刷新周期:一般为2ms
刷新单位:行
刷新方法
一、集中刷新
刷新时间固定,存在死区;读写不受刷新影响,存储速度快;死区不能访问存储器(死区是指刷新时停止对存储器的读写操作的这段时间)
二、分散刷新
把每行刷新分散到每个工作周期中,没有死区;但是存储周期长,减低速度
三、异步刷新
结合上两种方法,缩短死时间又提高速度,具体方法是用刷新周期除行数得到刷新时间间隔T,用逻辑电路每隔T刷新一次。
3.2.3 ROM
3.2.3 ROM
ROM特点:随机存取,非易失性存储器,结构简单,位密度比可读写存储器高。
ROM类型:
MROM(掩模式只读存储器)
PROM(一次性可编程只读存储器)
EPROM(可擦除可编程只读存储器)可以对内容多次改写
闪存存储器(flash memory)可长期保存信息,可重写,擦写速度快(v写<v擦)价格便宜集成度高
SSD(固态硬盘) 可长期保存信息,可重写,读写速度快,低功耗价格高,实际上是控制单元和存储单元(闪存芯片)的集成
3.3.1 主存和CPU的连接
- 3.3.1主存和CPU的连接
一根片选线,一根读写控制线(或者两根),若干地址线A0-An-1,若干数据线D0-Dn-1。
地址线条数由存储单元个数计算,8K=2的13次方,因此需要13根地址总线;
数据线条数由存储字长计算,8位就是8条,16位就是16条。
位拓展
8K=2的13次方,因此需要13根地址总线,A0-A12
数据总线D0-D7
**多个存储芯片并联,拓展存储字长(位数)。**例如4片16K*1位等同于16K*4位
字拓展
多个存储芯片串联,**拓展存储单元个数。**例如4片16K*8位等同于64K*8位
字位同时拓展
多个芯片串联并联结合在一起,增加存储字数量增加存储字长。
译码片选法(地址空间)
n条线有2n次方个选片信号;通过地址译码器对芯片进行选择
74l138译码器的结构
输入3个输出8个,所以叫3-8译码器
线选法*
n条线有n个选片信号
计算:通过这两种方法求地址
3.3.2 双端口RAM和多模块存储器
3.3.2 双端口RAM和多模块存储器
双端口RAM 空间平行提升速度
两端口同时对不同地址单元存取数据(√)
两端口同时对同一地址单元存取(写入)数据(×)
两端口同时对同一地址单元读出数据(√)
两端口同时对同一地址单元,一个存取数据,一个写入数据(×)
多模块存储器(难点)
多模块存储器 时间并行提升速度
详细过程如下:
按照连续访问的原则,高位交叉编址是按存储体访问,比如先访问M0,00000,000001,0000010.。。。
(从上向下的访问顺序)
只有等到M0访问完才能开始访问M1,以此类推。
因此高位交叉编址如果连取n个地址,耗时nT(T是一个存储体的访问时间)。高位交叉编址只拓展了容量,而没有提升速度。
低位交叉编址可以在不改变存取周期的前提下,采用流水线方式并行存储,可以提高存储器的带宽。
因为低位交叉按照连续访问原则,是从左到右访问,同样是00000,000001,0000010。。。但是地位交叉编址却能调动四个存储体,此时再连取n个地址,耗时为T+(n-1)r (r代表存取时间)。
3.4 外部存储器
3.4.1磁盘存储器
磁表面存储是指把某些磁性材料薄薄地涂在铝的表面来存储信息。磁盘存储器磁带存储器和磁鼓存储器都属于磁表面存储器。
磁表面存储器:存储量大价格低,记录介质可重复用,记录信息可长期保存不丢失,非破坏性读出,读出时不需要重生;缺点速度慢,结构负责对环境要求高。
外存储器既可以作为输入设备,也可作为输出设备
存储区域(磁头数-记录面数,磁头用于读写盘面上记录面的信息;面数表示硬盘每一面盘片上有多少条磁道;扇区数表示一条磁道上有多少个扇区)
硬盘存储器(磁盘驱动器、磁盘控制器、盘片)
存取时间是计算问题
存取时间=寻道时间+旋转延迟时间+传输时间
数据传输率D=rN(单位时间内向主机传送的数据的字节数),N表示每条磁道的容量。
磁盘地址磁盘工作过程驱动器号2位(2比特),柱面号8位(8比特),盘面号4位,扇区号4位。
磁盘阵列
RAID0RAID1
越往后可靠性越好
总结:
3.4.2固态硬盘(重点:读写性能、磨损技术)
存储介质:闪存芯片有多个块,块有多个页
读写特性:
以页为单位读写——相当于磁盘的扇区
以块为单位擦除——每个页都可写一次,读无数次
支持随机访问
读快写慢
系统通过IO总线说明要读/写的逻辑块号(对应固态硬盘里的页)将逻辑号映射对应的物理地址
3.5 Cache
3.5.1cache基础
cache速度远快于内存速度,更好配合CPU
题型:cache运算时间t
Tc访问cache的时间;Tm访问主存的时间;命中率为H
若先访问cache,cache未命中再访问主存,
此时t=HTc+(1-H)(Tc+Tm)
若同时访问cache和主存,若cache命中立即停止访问主存。此时t=HTc+(1-H)™
cache的工作原理
主存中一个块也叫一个页/一个页面/页框;cache中的块也叫行。
总结:
3.5.2 Cache与主存的映射方式
重点难点全相连映射、直接映射、组相连映射
例题中cache的容量为8*64=512b,主存地址空间为256MB为2的28次方,2的28次方除以2的6次方等于2的22次方,(存储单元个数÷存储字长=主存块号);按字节编址,其数据有8个cache行,行长为64B(2的6次方)
因此主存块号为22位、存储字长为块内地址为6位。
每个主存的地址访问就如图所示,0…000000000~0.000111111(前22位为主存块号,后六位从000000-111111)
映射时,可以随意放,因此cache前面只需加上22位标记(22位主存块号)
直接映射,
主存块在cache中位置=主存块号%cache总块数,比如,cache有8块,主存块号为8,8号主存块在cache中只能存放在0号cache块。
根据主存块号(22位)的后三位确定cache行,
若前十九位与cache标记匹配且有效位=1,则cache命中,若未命中或有效位=0就正常访问主存。
直接映射其实是这样的:标记号+行号(3位)+6位块内地址。
组相连映射
所属组号=主存块号%分组数
根据主存块号的后2位确定所属分组号,若前二十位与cache标记匹配且有效位=1,则cache命中,若未命中或有效位=0就正常访问主存。组相连映射其实是这样的:标记号+组号(2位)+6位块内地址。
总结
3.5.3 Cache 的替换算法
重点难点
全相联映射和组相连映射需要替换算法;直接映射不需要。
随机算法
先进先出算法
最先被调度的最先被替换
1
12
123
1234
1234(命中不替换)
1234(命中不替换)
5234 (未命中替换)
5134(未命中替换)
5124(未命中替换)
5123(未命中替换)
4123(未命中替换)
4523(未命中替换)
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-RYHPKvFd-1657595416871)(image/image_8X-OCrgDm0.png)]
近期最少使用算法
刚开始计数器全部是0,未命中且还有空闲行时,新转入行的计数器置0,其余非空闲行全加1;
未命中且无空闲行,计数器最大的信息块淘汰,新装入的块的计数器值0,其余加1;
命中时,命中行计数器清零,比其低的计数器加1,其余不变。
最不经常使用算法
新调入的块计数器=0,之后每被访问一次计数器+1,需要替换时,选择计数器最小的一行。
LFU算法不遵循局部性原理,实际效果不如LRU
3.5.4 Cache写策略
1、写命中时
写回法:当cpu对cache写命中时只修改cache内容,不立即写入内存,只有当此块被替换才写回主存。(未被修改的块不必召回)
全写法
当CPU对cache写命中时,必须把数据同时写入cache和主存,一般使用写缓冲。写缓冲是SRAM实现的FIFO队列,在专门的控制电路下逐一写回。若写操作很频繁,可能会因为写缓冲饱和发生堵塞。
2、写不命中
写分配法:把主存中的块调入cache,在cache中修改,通常搭配写回法使用。
非写分配法:只写入主存,不调入cache,(只有在读未命中是才调入cache)搭配全写法使用。
多级cache:各级cache之间采用全写法+非写分配法;cache主存之间采用写回法+写分配法;离CPU越近cache的速度越快容量越小;离CPU越远cache速度越慢容量越大。
总结:
【计算机组成原理之存储系统】超级详细相关推荐
- 计算机基础知识论文统一格式,计算机论文格式(超级详细的攻略)
一般来说,论文写作都是有标准的写作格式的,并且论文的优劣可以看出一个学者的学术情况,下面是计算机论文格式的介绍,欢迎阅读指正. 1.题名.题名是一篇论文的总题目,是论文内容的高度概括,是论文精髓集中表 ...
- 王道计算机组成原理 物理层整理 超详细版
数据通信 通信的目的是传送信息. 数据:传送信息的实体,通常是有意义的符号序列. 信号:数据的电气/电磁的表现,是数据在传输过程中的存在形式. 数字信号:代表消息的参数取值是离散的. 模拟信号 ...
- 408计算机考研笔记!超级详细!!!
408笔记22考研专业课134分(可以试看) 咸鱼:一大颗旺仔牛奶糖 我是过来人,我知道你们学408会整理很多东西,知识点又乱糟糟的,因为要看的内容太多了,而且知识点有些在某道某勤上,有些在课本上,有 ...
- 408王道计算机组成原理强化——存储系统大题
目录 1.页式存储系统 1.1.TLB 1.1.1.全相联映射 1.1.2.组相联映射 1.2.各组件存放位置 1.3.Cache 1.3.1.全相联映射 1.3.2.直接映射 1.3.3.组相联映射 ...
- 计算机组成原理常见面试题目总结,含答案
0. 写在前面 总导航在此 这些问题是我备考计算机组成原理过程中,详细总结的常见面试问题和答案.逐个搜索并记录下来,花了很大的精力! 目录 0. 写在前面 1. 冯诺依曼体系结构和机器的特点 2. 计 ...
- 计算机组成原理——存储系统(超详细,必看!!)
本篇文章是对王道考研的2021计算机组成原理学习笔记,希望对大家有所帮助. 文章目录 三.存储系统 3.1 基本概念 1.存储器的层次结构 2.存储器的分类 3.存储器的性能指标 3.2主存储器 3. ...
- 华中科技大学计算机组成原理慕课第四章 存储系统(一) 单元测验(习题+答案+详细解析)
第四章 存储系统(一) 单元测验 ★有诗云:纸上得来终觉浅,绝知此事要躬行.--陆游(宋) 本篇内容整理及解析:Code_流苏(CSDN) 观前提示:以下解析来自自己思考以及笔记记录的综合,可能并不官 ...
- 计算机组成原理 之 计算题、分析题 题解详细总结(已完结)
第1章 计算机系统概述 0.1编码 第2章 存储系统 主存储器 存储体的基本扩展方式 磁盘存储器 第3章 总线与主板 第4章 I/O接口与数据交换控制 第6章 控制器逻辑 Intel 8086 指令简 ...
- 408复习笔记——计算机组成原理(三):存储系统
408笔记系列(十一)(PS:本人使用的是王道四本书和王道视频) 计算机组成原理:(三)存储系统 前言 一.简介 二.主要内容 1. 存储器的组成 2. 存储器的分类 3. CPU与主存 4. 高速缓 ...
- 计算机组成原理知识点汇总(考研用)——第三章:存储系统
计算机组成原理知识点汇总(考研用)--第三章:存储系统 本文参考于<2021年计算机组成原理考研复习指导>(王道考研),<计算机组成原理> 思维导图: 文章目录 计算机组成原 ...
最新文章
- linux编译警告不能连接,linux编译警告信息
- Google推出的新服务:Docs Spreadsheets
- 科大星云诗社动态20210420
- python psutil库安装_安装psutil模块报错安装python-devel
- python import 问题
- float.equals_Java Float类equals()方法与示例
- pgsql处理文档类型数据_【干货总结】:可能是史上最全的MySQL和PGSQL对比材料
- postgresql 高可用 etcd + patroni 之六 callback bind vip
- Google要回归国内,百度李彦宏居然不怕?我想笑
- java swing container_Java Swing GUI学习(一)
- Win10更新提示0x8024402f错误的解决方法
- IOS判断用邮箱登录验证是不是合法的方法
- centos下Linux网易云音乐,CentOS7.5安装网易云音乐
- matlab力学大作业答案,计算力学大作业报告.docx
- winrar是不是计算机应用软件,请注意winrar不是一个免费软件。在40天的试用期结束后,你必须购买一个许可,或者将他从你的计算机中删除...
- netware显示没有首选服务器,NetWare下服务器配置几例
- Word控件Spire.Doc 【页面设置】教程(1):在C#/VB.NET:在 Word 文档中插入分页符
- 计算机导论——计算机软件03
- matlab中的三次样条曲线拟合,三次样条拟合典型实例.doc
- MOSFET 工作原理
热门文章
- [数字图像处理]频域滤波(2)--高通滤波器,带阻滤波器与陷波滤波器
- 悦然建站分享:记录一下网站加速优化的过程
- android 5播放flash插件下载地址,Flash Player安卓版
- Atom 常用快捷键
- linux测试dns配置文件,Linux系统中如何查看和修改DNS配置
- OC Foundation框架 集合
- matlab 股票分时图_matlab画股票走势图 急急急!
- 用php怎样将图片gif转化为jpg
- ks检验正态分布结果_SPSS实现Shapiro-Wilk正态分布检验
- 一文搞定学术英语写作 (斯坦福SCI论文写作课程笔记)