【计算机组成原理】三、存储系统:1.存储器的分类、层次化结构、性能指标、基本组成(半导体、存储芯片基本原理)

三、存储系统(存储器层次结构)

文章目录

  • 三、存储系统(存储器层次结构)
    • 1.存储器的分类
      • 1.1按在计算机中的作用(层次)
      • ❗多级存储结构(==层次化结构==)
      • 1.2按存储介质
      • 1.3按存取方式
      • 1.4按信息的可更改性
      • 1.5按信息的可保存性
    • 2.存储器的性能指标
    • 3.主存储器的基本组成
      • 3.1半导体元件原理
      • 3.2存储芯片基本原理
      • 3.3如何实现不同的寻址方式

MDR定义:全称 memory data register,主存数据寄存器,MDR用来保存要被写入地址单元或者从地址单元读入的数据。

MAR定义:全称memory address register,主存地址寄存器,MAR用来保存数据被传输到的位置的地址或者数据来源位置的地址。

MAR、MDR虽然逻辑上是存储器,但是是集成在CPU上的

在这里插入图片描述

1.存储器的分类

1.1按在计算机中的作用(层次)

  1. 高速缓冲存储器

    简称Cache,位于主存和CPU之间,用来存放正在执行的程序段和数据,以便CPU能高速地使用它们。Cache的存取速度可与CPU的速度相匹配,但存储容量小、价格高。目前的高档计算机通常将它们制作在CPU中。

  2. 主存储器

    简称主存,又称内存储器(内存),用来存放计算机运行期间所需的大量程序和数据,CPU可直接随机地对其进行访问,也可以和高速缓冲存储器(Cache)及辅助存储器交换数据。其特点是容量较小、存取速度较快、每位价格较高。

  3. 辅助存储器

    简称辅存,又称外存储器(外存),是主存的后援存储器,用来存放当前暂时不用的程序和数据,以及一些需要永久性保存的信息,它不能与CPU直接交换信息。其特点是容量极大、存取速度较慢、单位成本低。

❗多级存储结构(层次化结构

看完整章再看会更透彻。

在这里插入图片描述

存储系统层次结构主要体现在Cache-主存层次主存-辅存层次

  • Cache-主存层次:解决CPU与主存速度不匹配的问题。
  • 主存-辅存层次:解决存储系统的容量问题(主存容量不够)。

在存储体系中,Cache、主存能与CPU直接交换信息,辅存则要通过主存与CPU交换信息;主存与CPU、Cache、辅存都能交换信息。

在这里插入图片描述

主存与Cache之间的信息调度功能全部由硬件自动完成。而主存与辅存层次的调度目前广泛采用虚拟存储技术实现。

存储器层次结构的主要思想是:上一层的存储器作为低一层存储器的高速缓存。也即Cache(或主存)中的内容只是主存(或辅存)中内容的一部分。

从CPU角度看,Cache-主存层次速度接近于Cache,容量和价位却接近于主存。

从主存-辅存层次分析,其速度接近于主存,容量和价位却接近于辅存。

主存和Cache之间的数据调动是由硬件自动完成的,对所有程序员均是透明的;而主存和辅存之间的数据调动则是由硬件和OS共同完成的,对应用程序员是透明的。

在主存-辅存这一层次的不断发展中,逐渐形成了虚拟存储系统,在这个系统中程序员编程的地址范围与虚拟存储器的地址空间相对应。 对具有虚存的计算机系统而言,编程时可用的地址空间远大于主存空间。

1.2按存储介质

  1. 磁表面存储器(外存硬盘,磁盘、磁带)、磁心存储器,
  2. 半导体存储器(RAM,ROM,cache、MOS型存储器、双极型存储器),
  3. 光存储器(光盘)。

1.3按存取方式

  1. 随机存储器(RAM,random access memory)

    存储器的任何一个存储单元的内容都可以随机存取,而且存取时间与存储单元的物理位置无关。

    主要用作主存或高速缓冲存储器。

    RAM又分为:

    1. 静态RAM(SRAM以触发器原理寄存信息);
    2. 动态RAM(DRAM以电容充电原理寄存信息)。
  2. 顺序存取存储器(SAM,sequential access memory)

    顺序存取存储器的内容只能按某种顺序存取,读写一个存储单元所需时间取决于存储单元所在的物理位置。

    如磁带。

  3. 直接存取存储器(DAM,direct access memory)

    既有随机存取特性,也有顺序存取特性。存取信息时通常先寻找整个存储器中的某个小区域(如磁盘上的磁道),再在小区域内顺序方式查找。

    如机械硬盘。

    速度:RAM>DAM>SAM


以上的都是串行访问存储器

  • 串行访问存储器

对存储单元进行读写操作时,需按其物理位置的先后顺序寻址,包括顺序存取存储器SAM(如磁带)与直接存取存储器DAM(如磁盘)。

  • 相联存储器(Associative Memory),即可以按内容访问的在储器(CAM,ContentAddressed Mamory)可以按照内容检索到存楮位置进行读写,“快表”就是一种相联存储器。

1.4按信息的可更改性

  1. 读写存储器(Read/Write Memory)

即可读、也可写。

如:磁盘、RAM,Cache。

  1. 只读存储器(ROM,Read Only Memory)

只能读,不能写。信息一旦写入存储器就固定不变,即使断电,内容也不会丢失。

通常用它存放固定不变的程序、常数和汉字字库,甚至用于OS的固化。它与随机存储器可共同作为主存的一部分,统一构成主存的地址域。

如:实体音乐专辑通常采用CD-ROM,实体电影采用蓝光光碟,BIOS通常写在ROM中。

由ROM派生出的存储器也包含可反复重写的类型,广义上的ROM已可通过电擦等方式进行写入,但其写入速度比读取速度慢得多。

1.5按信息的可保存性

  1. 易失性存储器

断电后,存储信息即消失的存储器,称为易失性存储器(RAM,即主存、cache)。

  1. 非易失性存储器

断电后信息仍然保持的存储器,称为非易失性存(ROM,磁表面存储器、光存储器)。

  • 破坏性读出

若某个存储单元所存储的信息被读出时,原存储信息被破坏,则称为破坏性读出(如DRAM芯片,读出数据之后要重写)。

具有破坏性读出性能的存储器,每次读出操作后,必须紧接一个再生的操作,以便恢复被破坏的信息。

  • 非破坏性读出

若读出时,被读单元原存储信息不被破坏,则称为非破坏性读出(如SRAM芯片,ROM,磁盘,光盘)。

2.存储器的性能指标

通常把存放一个二进制位的物理器件称为存储元,它是存储器的最基本的构件。地址码相同的多个存储元构成一个存储单元。若干存储单元的集合构成存储体。当对某个基本单元电路进行读/写操作时,必须被行、列地址共同选中。

存储器有3个主要性能指标,即存储容量、单位成本、存储速度。

比特bit(0/1)

字节byte, 就是简写为b:1Byte = 8Bit

1KB =210B

8KB =210 * 23 = 213B

1MB =210 KB = 220B

在这里插入图片描述

  • 存储容量
    存储容量 = 存储单元个数 × 存储字长 如: 1 M × 8 位 存储容量=存储单元个数×存储字长\\ 如:1M × 8位 存储容量=存储单元个数×存储字长如:1M×8
    MDR位数反应 存储字长。

  • 单位成本(每位价格)
    每位价格 = 总成本 总容量 每位价格=\frac{总成本}{总容量} 每位价格=总容量总成本

  • 存储速度(数据传输率,主存带宽)
    数据传输率 = 数据的宽度 存储周期 存储周期 = 存取时间 + 恢复时间 数据传输率=\frac{数据的宽度}{存储周期}\\ 存储周期=存取时间+恢复时间 数据传输率=存储周期数据的宽度存储周期=存取时间+恢复时间

    • 存取时间(Ta):存取时间又称存储器的访问时间(Memory Access Time),是指从启动一次存储器操作到完成该操作所经历的时间,分为读出时间和写入时间。(读出时间是指从主存接收到有效地址开始到数据稳定为止的时间,写入时间是指从主存接收到有效地址开始到数据写入被写单元为止的时间)
    • 存取周期(Tm):存取周期又称读写周期或访问周期。它是指存储器进行一次完整的读写操作所需的全部时间,即连续两次独立访问存储器操作(读或写操作)之间所需的最小时间间隔 (存取周期=存取时间+恢复时间)
    • 主存带宽(Bm)主存带宽称数据传输率,表示每秒从主存进出信息的最大数量,单位为字/秒、字节/秒(B/s)、位/秒(b/s)。

存取时间不等于存储周期,通常存储周期大于存取时间。这是因为对任何一种存储器,在读写操作之后,总要有一段恢复内部状态的复原时间。对于破坏性读出的存储器,存取周期往往比存取时间大得多,因为存储器中的信息读出后需要马上进行再生。

在这里插入图片描述

3.主存储器的基本组成

3.1半导体元件原理

在这里插入图片描述

MOS管:可理解为一种电控开关,输入电压达到某个阈值时,MOS管就可以接通,如果达不到电压,那么就是绝缘体不导电。

电容:当输入电压,那么就产生电压差,给电容充电,存储电荷。

当多个存储元结合一起,那么就构成存储单元。

存储元 → 存储单元 → 存储体

3.2存储芯片基本原理

下面是栅极电容工作原理:

当MAR稳定之后,控制电路才打开译码器的开关,让译码器翻译地址,再控制MDR输出数据。

在这里插入图片描述

读写控制线2根或1根

地址线:n 个地址线可以片选译码出 2n存储单元
如果采用地址复用技术时,通过行通选和列通选分行、列两次传送地址信号,因此地址线减半n/2

数据线:一个储单元存放m位数据通过m根数据线传输。

数据总线带宽 = 存储字长

总容量 = 存储单元个数 × 存储字长

例如:8KB × 8位

8KB:213B个存储单元

8位:每个存储单元包含8个存储元(存储元件你)

封装为下面:

在这里插入图片描述

3.3如何实现不同的寻址方式

主存各存储单元的空间位置是由单元地址号来表示的,而地址总线是用来指出存储单元地址号的,根据该地址可读出或写入一个存储字。

通常计算机系统既可按字寻址,也可按字节寻址。按什么寻址就是按照什么大小寻址。

在这里插入图片描述

当寻址时,就把每一行开头的地址作为字地址。在下面一行中存放数据又分为大端、小端。

在这里插入图片描述

有两种不同的地址指定方式:大端方式与小端方式。

大端方式:指令中给出的地址是操作数最高有效字节所在的地址。

小端方式:指令中给出的地址是操作数最低有效字节所在的地址。

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/406907.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Godot《躲避小兵》实战之创建游戏主场景

游戏主场景 现在是时候将我们所做的一切整合到一个可玩的游戏场景中了。 创建新场景并添加一个 Node节点,命名为 Main。(我们之所以使用 Node 而不是 Node2D,是因为这个节点会作为处理游戏逻辑的容器使用。本身是不需要 2D 功能的。&#x…

STM中的I2C

常见的几种通信接口 I2C总线定义 定义 I2C - Inter-Integrated Circuit:两线式 串行总线:说明处理器和外设之间只需两根信号线,分别是SCL时钟控制信号线和SDA数据线 SCL(serial clock line) 时钟控制信号线&#xff…

fastadmin 安装

环境要求,大家可以参考官方文档的,我这里使用的是phpstudy,很多已经集成了。 注意一点,PHP 版本:PHP 7.4 。 第二步:下载 下载地址:https://www.fastadmin.net/download.html 进入下载地址后…

【嵌入式裸机开发】智能家居入门7:最新ONENET,MQTT协议接入,最全最新(微信小程序、MQTT协议、ONENET云平台、STM32)

智能家居入门7 前言一、ONENET云平台创建产品与设备二、STM32端连接服务器前的准备三、STM32端实现四、微信小程序端连接服务器前的准备五、微信小程序端实现六、最终测试 前言 本篇文章介绍最新ONENET云平台的MQTT协议接入方法,在STM32上实现数据上云与服务器下发…

TCP和UDP编程的学习

UDP编程特点:c/s模型 不可靠 ; 无链接 ;数据报形式(效率高); TCP编程特点: 面向链接; 可靠传输;(保证数据准确可靠); 面向字节流&a…

基于x86 平台opencv的图像采集和seetaface6的口罩人脸检测识别功能

目录 一、概述二、环境要求2.1 硬件环境2.2 软件环境三、开发流程3.1 编写测试3.2 配置资源文件3.2 验证功能一、概述 本文档是针对x86 平台opencv的图像采集和seetaface6的口罩人脸检测识别功能,opencv通过摄像头采集视频图像,将采集的视频图像送给seetaface6的口罩人脸检测…

【blender】一个汉堡包

第一次建模,哈哈汉堡包样式大差不差。至于这么做的,那么多快捷键完蛋,忘得差不多了! 官网地址:https://www.blender.org/download/ 我下载的是4.2版本

DHCP协议-CSP认证

文章目录 DHCP协议 DHCP协议 stringstream的用法 应用实践 #include<bits/stdc.h>using namespace std;signed main() {string s"wo shi wwl, also wlw";stringstream ss;ss<<s;while(ss>>s){if(s[s.size()-1],) s[s.size()-1] ;cout<<s<…

Excel的使用总结2

目录 1、数据的分割 2、根据某个条件筛选出来的数据&#xff0c;想要直接复制&#xff0c;并粘贴到与筛选数据对应的位置 3、几个单元格中的内容连接 4、如果一个表格数据很多&#xff0c;但是你想查看一列中是否有数据&#xff0c;如何查看 1、数据的分割 首先&#xff0c…

SwapPrompt(论文解读): Test-Time Prompt Adaptation for Vision-Language Models

2023(Neural IPS) 摘要 测试自适应 &#xff08;TTA&#xff09; 是无监督域自适应&#xff08;UDA&#xff09;中一种特殊且实用的设置&#xff0c;它允许源域中的预训练模型去适应另一个目标域中的未标记测试数据。为了避免计算密集型的骨干网络微调过程&#xff0c;因此利…

JavaScript(31)——内置构造函数

构造函数 构造函数是一种特殊的函数&#xff0c;主要用于快速初始化对象 用大写字母开头只能由new操作符来执行 function Stu(name, age) {this.name namethis.age age}const xiaom new Stu(小明, 18)const xiaoh new Stu(小红, 19)console.log(xiaom);console.log(xiaoh…

使用 Visual Studio 编辑器作为 DailyNotes 的 markdown 编辑器

DailyNotes 是我使用过的最优秀的日常笔记管理工具&#xff0c;为它配置一个好的 markdown 编辑器&#xff0c;可以大幅提升效率。 除了使用 Typora 作为 markdown 编辑器&#xff0c;Visual Studio Code 也是一个非常不错的选择&#xff0c;令人惊喜的是&#xff0c;它也支持…

ts枚举类型校验,提示枚举信息

ts 类型验证&#xff0c;提示枚举信息 const eventTypeList [MOUSE_MOVE, // 鼠标移动LEFT_CLICK // 左键单击// MOUSE_OUT, ] as consttype EventTypeList typeof eventTypeList[number]

Pod基础使用

POD基本操作 1.Pod生命周期 在Kubernetes中&#xff0c;Pod的生命周期经历了几个重要的阶段。下面是Pod生命周期的详细介绍&#xff1a; Pending&#xff08;待处理&#xff09;: 调度: Pod被创建后&#xff0c;首先进入“Pending”状态。此时&#xff0c;Kubernetes的调度器…

uniapp中 使用 VUE3 组合式API 怎么接收上一个页面传递的参数

项目是uniapp &#xff0c;使用了vue3 vite // 使用的组合式API 的 语法糖 <script setup> // 无法使用 onLoad <script> 使用不了下面方法获得上一个页面参数传递 onLoad(options){ } 解决方案1&#xff08;亲测Ok&#xff09;&#xff1a;消息通知与监听…

虹软科技25届校招笔试算法 A卷

目录 1. 第一题2. 第二题3. 论述题 ⏰ 时间&#xff1a;2024/08/18 &#x1f504; 输入输出&#xff1a;ACM格式 ⏳ 时长&#xff1a;2h 本试卷分为不定项选择&#xff0c;编程题&#xff0c;必做论述题和选做论述题&#xff0c;这里只展示编程题和必做论述题&#xff0c;一共三…

Win11搭建Angular开发环境

作为一名后端程序员&#xff0c;无论当前的工作是否需要&#xff0c;会一点点前端无疑对自己是有帮助的。今天就来介绍一下如何搭建Angular的开发环境。我也是摸着石头过河&#xff0c;所以很多东西也不熟悉&#xff0c;先按照Angular官网的介绍来配置吧。 这个是Angular最新版…

mmyolo训练模型报错:ValueError: Key img_path is not in available keys解决办法

使用mmyolo训练模型 的时候报错&#xff1a;ValueError: Key img_path is not in available keys. Traceback (most recent call last): File “tools/train.py”, line 123, in main() File “tools/train.py”, line 119, in main runner.train() File “/root/anaconda3/en…

erlang学习:erlang学习:书上案例22.6练习题3

初步实现了书上案例第二&#xff0c;三问的要求&#xff0c;对输出结果有部分偏差&#xff0c;没有实现对已完成任务状态的记录&#xff0c;因此已完成任务输出无论如何都是0&#xff0c;明天会在record中加一个字段进行已完成任务状态的记录 (2) 添加一个名为job_centre:stati…

服务器备份

服务器备份 一、方案 FreeFileSync freeSSHd Windows任务计划程序 FreeFileSync&#xff1a;设置文件备份方案&#xff08;双向同步、镜像同步、更新同步、自定义同步&#xff09;&#xff0c;适用于本地的文件同步之外&#xff0c;还支持 Google Driver、SFTP 和 FTP 三种…