计算机组成原理系列

  • 三、存储系统
    • 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. 计算机基础知识论文统一格式,计算机论文格式(超级详细的攻略)

    一般来说,论文写作都是有标准的写作格式的,并且论文的优劣可以看出一个学者的学术情况,下面是计算机论文格式的介绍,欢迎阅读指正. 1.题名.题名是一篇论文的总题目,是论文内容的高度概括,是论文精髓集中表 ...

  2. 王道计算机组成原理 物理层整理 超详细版

    数据通信 通信的目的是传送信息. 数据:传送信息的实体,通常是有意义的符号序列. 信号:数据的电气/电磁的表现,是数据在传输过程中的存在形式. ​ 数字信号:代表消息的参数取值是离散的. ​ 模拟信号 ...

  3. 408计算机考研笔记!超级详细!!!

    408笔记22考研专业课134分(可以试看) 咸鱼:一大颗旺仔牛奶糖 我是过来人,我知道你们学408会整理很多东西,知识点又乱糟糟的,因为要看的内容太多了,而且知识点有些在某道某勤上,有些在课本上,有 ...

  4. 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.组相联映射 ...

  5. 计算机组成原理常见面试题目总结,含答案

    0. 写在前面 总导航在此 这些问题是我备考计算机组成原理过程中,详细总结的常见面试问题和答案.逐个搜索并记录下来,花了很大的精力! 目录 0. 写在前面 1. 冯诺依曼体系结构和机器的特点 2. 计 ...

  6. 计算机组成原理——存储系统(超详细,必看!!)

    本篇文章是对王道考研的2021计算机组成原理学习笔记,希望对大家有所帮助. 文章目录 三.存储系统 3.1 基本概念 1.存储器的层次结构 2.存储器的分类 3.存储器的性能指标 3.2主存储器 3. ...

  7. 华中科技大学计算机组成原理慕课第四章 存储系统(一) 单元测验(习题+答案+详细解析)

    第四章 存储系统(一) 单元测验 ★有诗云:纸上得来终觉浅,绝知此事要躬行.--陆游(宋) 本篇内容整理及解析:Code_流苏(CSDN) 观前提示:以下解析来自自己思考以及笔记记录的综合,可能并不官 ...

  8. 计算机组成原理 之 计算题、分析题 题解详细总结(已完结)

    第1章 计算机系统概述 0.1编码 第2章 存储系统 主存储器 存储体的基本扩展方式 磁盘存储器 第3章 总线与主板 第4章 I/O接口与数据交换控制 第6章 控制器逻辑 Intel 8086 指令简 ...

  9. 408复习笔记——计算机组成原理(三):存储系统

    408笔记系列(十一)(PS:本人使用的是王道四本书和王道视频) 计算机组成原理:(三)存储系统 前言 一.简介 二.主要内容 1. 存储器的组成 2. 存储器的分类 3. CPU与主存 4. 高速缓 ...

  10. 计算机组成原理知识点汇总(考研用)——第三章:存储系统

    计算机组成原理知识点汇总(考研用)--第三章:存储系统  本文参考于<2021年计算机组成原理考研复习指导>(王道考研),<计算机组成原理> 思维导图: 文章目录 计算机组成原 ...

最新文章

  1. linux编译警告不能连接,linux编译警告信息
  2. Google推出的新服务:Docs Spreadsheets
  3. 科大星云诗社动态20210420
  4. python psutil库安装_安装psutil模块报错安装python-devel
  5. python import 问题
  6. float.equals_Java Float类equals()方法与示例
  7. pgsql处理文档类型数据_【干货总结】:可能是史上最全的MySQL和PGSQL对比材料
  8. postgresql 高可用 etcd + patroni 之六 callback bind vip
  9. Google要回归国内,百度李彦宏居然不怕?我想笑
  10. java swing container_Java Swing GUI学习(一)
  11. Win10更新提示0x8024402f错误的解决方法
  12. IOS判断用邮箱登录验证是不是合法的方法
  13. centos下Linux网易云音乐,CentOS7.5安装网易云音乐
  14. matlab力学大作业答案,计算力学大作业报告.docx
  15. winrar是不是计算机应用软件,请注意winrar不是一个免费软件。在40天的试用期结束后,你必须购买一个许可,或者将他从你的计算机中删除...
  16. netware显示没有首选服务器,NetWare下服务器配置几例
  17. Word控件Spire.Doc 【页面设置】教程(1):在C#/VB.NET:在 Word 文档中插入分页符
  18. 计算机导论——计算机软件03
  19. matlab中的三次样条曲线拟合,三次样条拟合典型实例.doc
  20. MOSFET 工作原理

热门文章

  1. [数字图像处理]频域滤波(2)--高通滤波器,带阻滤波器与陷波滤波器
  2. 悦然建站分享:记录一下网站加速优化的过程
  3. android 5播放flash插件下载地址,Flash Player安卓版
  4. Atom 常用快捷键
  5. linux测试dns配置文件,Linux系统中如何查看和修改DNS配置
  6. OC Foundation框架 集合
  7. matlab 股票分时图_matlab画股票走势图 急急急!
  8. 用php怎样将图片gif转化为jpg
  9. ks检验正态分布结果_SPSS实现Shapiro-Wilk正态分布检验
  10. 一文搞定学术英语写作 (斯坦福SCI论文写作课程笔记)