储存器的层次结构

首先众所周知,在主机中一个完整的储存系统应该包括了主储存器,cache,外储存器。
其实我们还可以把储存器分为随机储存器(RAM),只读储存器(ROM)。
RAM又可以分为静态RAM和动态RAM,即为SRAM和DRAM。
SRAM常用作cache,DRAM常用作内存。
RAM 的特点就是可以随机的存取,但是系统断电之后,RAM内保存的数据会丢失。而ROM内的数据只能随机读出,而不能进行写入,但是断电之后的内容可以保留下来。
RAM和ROM一起构成了构成了主存。
储存器的层次:
储存器的层次结构主要体现在内存和外存,内存和cache两个层次上。
内存和cache之间的数据交换是由硬件完成的。
内存和外存之间的数据交换是由硬件和操作系统完成的。
SRAM和DRAM 的介绍:
SRAM储存器主要是由触发器构成的,经常用作cache,它的数据的存取速度仅次于寄存器。
DRAM储存器主要使由电容构成的,常用作内存,因为是电容组成的,电容内部的电荷的保持时间很短暂,为了是数据能够保存下来,就必须进行刷新的操作。
因为储存体是一个举矩阵的形式,所以每次刷新都是按行进行刷新的。
刷新我们可以三种刷新方式:集中刷新,分散刷新,异步刷新
集中刷新:是把刷新操作集中到一段时间内进行,由于刷新的时候,是不能进行读写操作的,所以在刷新的这段时间会产生一个“死区”。
分散刷新:是把刷新操作分散地进行,周期性地进行。在分散刷新中,传统的储存周期已经不是,等于一个读写周期,而是储存周期=读写周期+刷新一行的时间。
异步刷新:异步刷新是集中刷新和分散刷新的集合版。
储存器的内容的扩充:
储存器主要有三种线,数据线,地址线,控制线
储存器内容的扩充主要有三种方式:位扩充,字扩充,字位扩充
储存器的大小的格式是:aK X b位
位扩充:增加的储存器的储存字长,也就是增加了b,同时数据线的个数也要增加,数据线的个数等于b。多个储存器的片选信号线是连接在一起的,每次就取出新增加的位数的数据。
字扩充:增加的是储存器的储存单元个数。在字扩充中需要片选信号线来区分不同的芯片,在字扩充中往往CPU的地址线会比储存器的地址线要多,多出来的地址线常用于片选信号线。字扩充中每个芯片都应该和所有的数据线相连接。
字位扩充:字位扩充是字扩充和位扩充的结合体。首先是将储存器之间进行位扩充,形成一个小组,再在每个小组之间进行字扩充。和字扩充一样,多出来的地址线依旧是用于作为片选信号线。
提高储存器的存取速度的方式:
有两种方式,双口RAM和多模块储存器
双口RAM是具有两组相互独立的数据线,地址线和控制线,分别连接两个不同的CPU,同时还加入一个BUSY标志,防止同时进行访问。由于这个BUSY标志的存在,两个CPU在访问的时候就不会发生冲突,可以同时进行读操作。
多模块储存器:又可以分为单体多字储存器,多体并行储存器,
单体多字储存器:就是把储存器的储存字长增加了n倍,随之数据线的宽度也要增加n倍。这个储存器的缺点是,指令和数据都要连续的存储在内存中,存取的效果才会比较好。如果遇见了转移指令和不能连续存放的操作数,这个方法就不是那么明显。
多体并行存储器:就是采用多个模块组成的储存器,每个模块有独立的数据寄存器,地址寄存器和地址译码器,都是独立的储存器。
还可以分为高位交叉编址和低位交叉编址
高位交叉编址:所谓的高位交叉编址就是将每个存储器的地址编码的高位地址当作是体号,地位地址当作是体内地址。在高位交叉编址中,各个模块是串行地工作着,虽然方便了扩充,但是储存器的带宽收到了限制。
低位交叉编址:将地址编码的低位地址当作是体号,高位地址是体内地址。每个模块是可以实现并行的运行的,因为CPU的速度要比主存快,所以可以实现同时取值,大大提高主存的访问速度。
cache:
当CPU和外部设备都需要访问主存的时候,由于外部设备的优先级比较高,所以CPU不得不等待外部设备访问的结束,这时,我们引进了cahe,cache里卖弄储存了内存的部分的内容。
cache时基于局部性原理的,局部性原理分为时间局部性和空间局部性。所谓的时间局部性就某个指令或者数据被使用后,果断时间依旧会被使用。空间局部性值得是一个指令和数据被使用后,接下俩它周围的指令和数据都有可能会被使用。
cache和主存的地址变换方式:
有三种直接映射,全相联映射和组相联映射
直接映射的方式:这个方式是将cache分一定的行数,然后将主存相同的块数看成一个轮回。内存中的每个块都对应了cache相应的固定的块数。可以采用取余数的方法。
过程:当CPU的访存指令取出地址码,该地址码包括了标记,块号,和字号。首先根据内存的块号找到cache的块号,就是使用取余数的方法。之后用得到的块号在cache中找到相应的块,从块里面取出标志和内存的标志进行对比,如果该cache块的标志相同而且有效位也是有效的,意味着就是命中了,之后就用内存地址的低地址位区读取cache俩面的字,如果标志位不符合或者是有效位为0,则需要从内存中读取相应的块,替换原来的旧的块,同时将信息送到CPU,并把cache相应的块的有效位置1.
全相联的映射:这个映射的方式允许了内存中的任意一字块可以映射到cache中的任意位置。
全相联的映射过程:cpu的访存指令,指出了一个内存地址,该内存地址包括了块号,字号等,然后将内存的地址的块号于cache的标志进行对比,如果块号命中,则利用内存地址的低地址位去命中的cache块里读取说需要的字。如果块号没有命中,就去内存地址中读取相应的字,并把内存块读入到cache中。
组相联的映射:组相联映射就是全相联映射和直接映射的结合。组与组之间是直接映射,组内是全相联的映射。
全相联映射的过程:首先CPU 的访存指令给出了一个内存地址,这个内存地址低地址位是块内地址,再高一点的地址位是组号,剩下的地址位是标记位。每个cache块里面都存有了标记位和组号。首先通过组号寻找到cache中对应的组,然后将cache里面的标记为和内存地址的标记为进行对比,如果命中,则利用内存地址的低地址位取读取相应cache块里的字。如果不命中,就要去内存中取相应的块,并放入到cache中。
cache中的主存块替换算法:
这个主存块替换算法类似于,请求页面管理方式的页面置换算法:
主要有先进先出,最近最少使用,时钟置换算法,改良时钟置换算法等
cache的写策略:
写回法:当cache里面的数据被修改,修改位会被置为1,当相应的cache块被置换出去以后,如果修改位是1,这需要写回内存
全写法:当cache的内容被修改了,就要立即的写回内存。
虚拟储存器和cache:
虚拟储存器是一个逻辑储存器,而cache是一个真实存在的物理储存器。
两个储存器都运用了局部性的原理。虚拟储存器的实现依靠了操作系统和硬件的方式实现。而cache完全由硬件实现的。

计算机组成原理—储存器的层次结构相关推荐

  1. 计算机专业408题目结构,2019考研408计算机组成原理知识:计算机系统层次结构

    计算机组成原理在408计算机综合考试中所占分值45分,说明是必考的重点内容,考生要在这部分多花时间复习.以下是新东方在线整理的的计算机组成原理知识,希望大家认真看. 2019考研408计算机组成原理知 ...

  2. 计算机组成原理储存器系统实验,计算机组成原理实验存储器.ppt

    <计算机组成原理实验存储器.ppt>由会员分享,可在线阅读,更多相关<计算机组成原理实验存储器.ppt(28页珍藏版)>请在人人文库网上搜索. 1.计算机组成原理实验,西工大软 ...

  3. 计算机组成原理-存储器的层次结构

    第三章 存储器的层次结构 3.1 存储器分类 按存储介质分类 (1)半导体存储器:         TTL,MOS,SSD.         易失 (2)磁表面存储器:         磁头,载磁体 ...

  4. 计算机组成原理--储存器概述

    首先说一个概念: DMA(Direct Memory Access,直接存储器访问) 是所有现代电脑的重要特色,它允许不同速度的硬件装置来沟通,而不需要依赖于 CPU 的大量中断负载.否则,CPU 需 ...

  5. 计算机组成原理——计算机系统的层次结构

    计算机硬件的基本组成 要了解数字计算机的主要组成和工作原理,可从打算 盘说起.假设给了一个算盘.一张带有横格的纸和一 支笔,要求我们计算y=ax+b-c这样一个题目.为了 和下面讲到的内容做比较,我们 ...

  6. 计算机组成原理读写周期波形图,第3章存储器层次结构-1讲述.ppt

    第3章存储器层次结构-1讲述 计算机组成原理 * 计算机组成原理 --存储器层次结构(1) 2016-3-18 几个基本概念 1.存储器:计算机系统中的记忆设备,用来存放程序和数据. 2.存储元:存储 ...

  7. 第一章 计算机系统概述 1.2.3 计算机的多级层次结构 [计算机组成原理笔记]

    第一章 计算机系统概述 1.2.3 计算机的多级层次结构 本笔记参考书目: 计算机组成原理(第六版.立体化教材)白中英.戴志涛 2021王道计算机组成原理视频公开课 本节重点: 计算机系统的五层结构: ...

  8. 计算机组成原理笔记——存储器分类、层次结构、技术指标、存储单元地址分配

    计算机组成原理笔记--存储器分类.层次结构.技术指标.存储单元地址分配 一. 概述 存储器的分类 按存储介质划分: (1)半导体存储器 双极型(TTL).MOS (2)磁表面存储器 磁头.载磁体 (3 ...

  9. (计算机组成原理)第一章计算机系统概述-第三节:计算机层次结构

    文章目录 一:计算机系统的多级层次结构 二:计算机软件的分类 (1)系统软件 (2)应用程序 三:三个级别的语言 (1)编译程序.解释程序和汇编程序的区别 (2)三个级别的语言 四:计算机体系结构和计 ...

最新文章

  1. 第五届合肥工业大学宣城校区程序设计大赛题解
  2. python函数整理
  3. lambda java_Java Lambdas简介
  4. sql双表查询java代码_原生sql 多表查询
  5. 德勤收购MSSP厂商Vigilant
  6. linux ftp远程更新,用ftp远程安装linux
  7. ubuntu17安装mysql后数据库乱码_linux安装MySQL数据库,设置编码为utf8
  8. loss函数之SoftMarginLoss
  9. Unity3D基础11:Rigidbody物理类组件
  10. 软件易用性文章分享第二篇-手机易用性: 一个经典的实验
  11. MATLAB 绘图函数及绘图辅助
  12. C#生成与识别条形码、二维码示例 zxing、 barcodelib生成条形码 code128B等 无白边 自动宽度
  13. html实体注册商标,html 注册商标,html 注册商标代码
  14. ion-refresher安卓移动端失效
  15. 【学习番外篇】Firefly ROC-RK3328-CC刷Ubuntu18.04+VNC
  16. 考研前夕 — 成人的世界里没有那么多童话
  17. Hadoop-1-大数据概述
  18. 《炬丰科技-半导体工艺》单晶硅制造工艺
  19. kernel panic分析
  20. 云服务器怎么换ip云服务器,云服务器换ip难不难?云服务器换IP的步骤

热门文章

  1. 第6章 TCP/IP路由协议故障处理
  2. python向自己qq邮件发信息_python实现自动向QQ邮箱发送天气预报邮件
  3. Labview文字识别-从训练到识别
  4. python pdf解析毕业论文_电影数据读取、分析与展示毕业论文+任务书+Python项目源码...
  5. 初学者在VMware上搭建自己的CentOS8
  6. 心得体会标题大全_心得体会题目大全
  7. 机器学习入门系列之PCA降维
  8. 递归函数c语言求爬格子,指标的含义,真或假.doc
  9. linux 内存block读取6,Linux硬盘 和文件系统维护
  10. 江苏省一级计算机ms,计算机一级六大MS题型介绍