计算机组成结构—存储器概述

目录

一、存储器的分类

1.按存储介质分类

半导体存储器

磁性材料存储器

光盘存储器

2.按存取方式分类

随机存储器(Random Access Memory, RAM)

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

串行访问存储器

直接存取存储器

3.按在计算机中的作用分类

二、存储器的性能指标

1.存储速度

2. 存储容量

3. 位价

三、层次化存储器基本结构


一、存储器的分类

        存储器是计算机系统中的记忆设备,用来存放程序和数据。存储器的种类繁多,从不同的角度对存储器可作不同的分类

1.按存储介质分类

        存储介质是指能寄存“0”、“1”两种代码并能区别两种状态的物质或元器件。存储介质主要有半导体器件、磁性材料和光盘等。

半导体存储器

        存储元件由半导体器件组成的存储器称为半导体存储器。现代半导体存储器都用超大规模集成电路工艺制成芯片,其优点是体积小、功耗低、存取时间短。

        半导体存储器又可按其材料的不同, 分为双极型(TTL)半导体存储器和 MOS 半导体存储器两种。前者具有高速的特点;后者具有高集成度的特点,并且制造简单,成本低廉,功耗小,所以 MOS 半导体存储器被广泛应用。

磁性材料存储器

        磁性材料存储器主要依靠磁性材料作为记录的介质,是不易失的永久记忆存储器。又可以分为磁表面存储器和磁芯存储器。

        磁表面存储器是在金属或塑料基体的表面上涂一层磁性材料作为记录介质,工作时磁层随载磁体高速运转,用磁头在磁层上进行读/写操作,故称为磁表面存储器。按载磁体形状的不同,可分为磁盘、磁带和磁鼓。

        磁芯是由硬磁材料做成的环状元件,在磁芯中穿有驱动线(通电流)和读出线,这样便可进行读/写操作,这种存储器称为磁芯存储器。磁芯属磁性材料。不过,磁芯存储器的体积过大、工艺复杂、功耗太大,目前几乎已不被采用。

光盘存储器

        光盘存储器是应用激光在记录介质(磁光材料)上进行读/写的存储器,具有非易失性的特点。光盘具有记录密度高、耐用性好、可靠性高和可互换性强等特点。

2.按存取方式分类

        按存取方式可把存储器分为随机存储器、只读存储器、顺序存取存储器和直接存取存储器。

随机存储器(Random Access Memory, RAM

        RAM是一种可读/写存储器, 其特点是存储器的任何一个存储单元的内容都可以随机存取,而且存取时间与存储单元的物理位置无关。计算机系统中的主存都采用这种随机存储器。

        由于存储信息原理的不同, RAM 又分为静态 RAM(以触发器原理寄存信息)和动态 RAM(以电容充放电原理寄存信息)。

只读存储器(Read Only Memory, ROM

        只读存储器是能对其存储的内容读出,而不能对其重新写人的存储器。这种存储器一旦存入了原始信息后,在程序执行过程中,只能将内部信息读出,而不能随意重新写人新的信息去改变原始信息。

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

串行访问存储器

        如果对存储单元进行读/写操作时,需按其物理位置的先后顺序寻找地址,则这种存储器称为串行访问存储器,也称为顺序存取存储器。显然这种存储器由于信息所在位置不同,使得读/写时间均不相同,比如磁带存储器就是一种顺序存取存储器。

直接存取存储器

        还有一种属于部分串行访问的存储器,比如磁盘。在对磁盘读/写时,首先直接指出该存储器中的某个小区域(磁道),然后再顺序寻访,直至找到位置。故其前段是直接访问,后段是串行访问,称为直接存取存储器。

3.按在计算机中的作用分类

        按在计算机系统中的作用不同,存储器可以分为主存储器、辅助存储器、缓冲存储器。

        主存储器(简称主存):用来存放程序和数据,可以和CPU直接交换信息。

        辅助存储器(简称辅存):主存储器的后援存储器, 用来存放当前暂时不用的程序和数据, 它不能与CPU直接交换信息。两者相比,主存速度快、容量小、每位价格高;辅存速度慢、容量大、每位价格低。

        缓冲存储器(简称缓存Cache) 用在两个速度不同的部件之中。

ps:现代计算机中,辅存已经多为SSD固态硬盘

二、存储器的性能指标

        存储器有 3 个主要性能指标:速度、容量和每位价格(简称位价)。

1.存储速度

(1)存取时间

        要想衡量存储速度,最直观的指标就是完成一次存储器读/写操作所需要的时间,这叫做 存取时间,又称为 访问时间(Memory Access Time)。

        存取时间又分为读出时间和写入时间。读出时间是从存储器接受到有效地址开始,到产生有效输出所需的全部时间;写入时间是从存储器接受到有效地址开始,到数据写入被选中存储单元为止的全部时间。

(2)存储器周期

        存储器周期 (Memory Cycle Time)指连续进行两次独立的存储器操作(读或者写)需要的最小时间间隔,也叫 存取周期。需要注意的是,存储器周期并不等同于完成一次读写操作的时间,而是要更大;因为存储器经过一次读写操作后,并不能立即进行下一次读写,中间还需要一段时间来恢复内部状态。所以,存储器周期 = 存取时间 + 恢复时间

(3)存储器带宽

        一般来说,存储器周期越短,存储器的速度就越快;这前提是存储器的每次读写操作处理的数据位数相同。通常情况下,存储器每次读写的位数是跟存储字长相关的,字长越长,一个存取周期处理的数据就越多。

        所以可以用 数据传输率 来表示存储速度,而 存储器带宽 就是衡量数据传输率重要指标。存储器带宽指单位时间内存储器存取的数据量。单位为位/秒(b/s),或者字节/秒(B/s)、字/秒。

        存储器带宽 = 数据宽度 / 存储周期

        例如,存储器周期为 500 ns,每个存取周期可以访问 16 位,那么带宽就是:

        16 bit ÷ 500 ns = 32 Mb/s

2. 存储容量

        存储容量指存储器能存放的数据总量,一般用二进制代码的总位数(bit)来表示。

        存储容量 = 存储字数 × 存储字长

        存储字数代表了存储器地址空间的大小,由地址线的位数决定。容量一般也可以用字节总数(Byte)来表示,也就是:

        存储容量(字节数) = 存储字数 × 存储字长 / 8

        例如,某机器存储字长为 8 位,地址线有 28 位,那么它的主存最大存储容量为:

        2^{28} × 8 / 8 = 2^{28} B = 256 MB

3. 位价

        每位价格也就是存储器的单位成本。

        位价 = 总成本 / 总容量

        一般来说,速度越高,位价就越高;容量越大,位价就越低;而且容量越大,速度也会越低。

三、层次化存储器基本结构

         最理想的存储器应该同时满足大容量、高速度、低位价,可惜这是很难达到的。

        上面列出了不同层级的存储器。由上至下, 位价越来越低,速度越来越慢,容量越来越大,CPU 访问的频度也越来越少。

  • 寄存器通常都制作在 CPU 芯片内。寄存器中的数直接在 CPU 内部参与运算, CPU 内可以有十几个、几十个寄存器,它们的速度最快,位价最高,容量最小。

  • 主存用来存放将要参与运行的程序和数据,它与 CPU 速度差距较大。

  • 为了使主存和 CPU 之间速度更好地匹配, 需要在主存与 CPU 之间插入一种比主存速度更快、容量更小的高速缓冲存储器 Cache,其位价要高于主存。

        以上三类存储器都是由速度不同、位价不等的半导体存储材料制成的,它们都设在主机内。现代计算机将 Cache 也制作在 CPU 内。

        磁盘、磁带属于辅存,其容量比主存大得多,大都用来存放暂时未用到的程序和数据文件。CPU不能直接访问辅存, 辅存只能与主存交换信息, 因此辅存的速度可以比主存慢得多。

        存储系统的层次结构主要体现在缓存-主存和主存-辅存这两个存储层次上。显然, CPU 和缓存、主存都能直接交换信息; 缓存能直接和 CPU、主存交换信息; 而主存可以和 CPU、缓存、辅存交换信息。

  • 缓存-主存层次

        这一层次主要解决 CPU 和主存速度不匹配的问题。由于缓存的速度比主存的速度高, 只要将CPU近期要用的信息调人缓存, CPU 便可以直接从缓存中获取信息, 从而提高访存速度。但由于缓存的容量小,因此需不断地将主存的内容调入缓存,使缓存中原来的信息被替换掉。主存和缓存之间的数据调动是由硬件自动完成的,对程序员是透明的。

  • 主存-辅存层次

        这一层次主要解决存储系统的容量问题。辅存的速度比主存的速度低,而且不能和 CPU 直接交换信息, 但它的容量比主存大得多, 可以存放大量暂时未用到的信息。当CPU需要用到这些信息时, 再将辅存的内容调人主存, 供CPU直接访问。主存和辅存之间的数据调动是由硬件和操作系统共同完成的。

        在主存-辅存这一层次的不断发展中,逐渐形成了虚拟存储系统。主存和辅存共同构成了虚拟存储器,二者在硬件和系统软件的共同管理下工作。

        从CPU角度来看, 缓存-主存这一层次的速度接近于缓存, 高于主存; 其容量和位价却接近于主存。主存-辅存这一层次,从整体分析,其速度接近于主存,容量接近于辅存,平均位价也接近于低速、廉价的辅存位价。这就解决了速度、容量、成本这三者的矛盾。现代的计算机系统几乎都具有这两个存储层次,构成了缓存、主存、辅存三级存储系统。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

如何在iPhone上恢复永久删除的照片?

2007 年,Apple Inc. 推出了这款震撼人心的智能手机,后来被称为 iPhone。您会惊讶地发现,迄今为止,Apple Inc. 已售罄 7 亿台 iPhone 设备。根据 2023 年 8 月的一项调查数据,95% 的智能手机利润都落入了苹果公司的口袋…

下载页面上的视频

引言:有些页面上的视频可以直接右键另存为或者F12检索元素找到视频地址打开后保存,但有些视频页面是转码后的视频,不能直接另存为视频格式,可以参考下本方法 以该页面视频为例:加载中...点击查看详情https://wx.vzan.c…

#SOP#-如何使用AI辅助论文创作

#SOP#-如何使用AI辅助论文创作 ——2024.4.6 “在使用工具的时候,要做工具的主人” 最终交付物: 一份可执行的AI辅助创作论文的指导手册 交付物质量要求: 不为任何AI大模型付费!不为任何降重网站付费!通过知网检查论…

苍穹外卖08(地址簿功能,用户下单功能,订单支付全过程,内网穿透Cpolar)

目录 一、导入地址簿功能代码 1. 需求分析和设计 1 产品原型 2 接口设计 2. 代码导入 3. 功能测试 二、用户下单 1. 需求分析和设计 1 产品原型 2 接口设计 3 表设计 2. 代码开发 1 DTO设计 2 VO设计 3 开发代码 3. 功能测试 三、订单支付 1 微信支付介绍 1 …

Java 学习和实践笔记(51):二分法查找(折半检索)

二分法查找(折半检索)又叫binary search. 要在一堆数据中查找是否存在某一个已知数,二分法查找的步骤: 第一步,对数据实现排序 第二步,将该数与排序后的数据集的中间一个数进行比较 第三步,…

非关系型数据库(缓存数据库)redis的性能管理

目录 一.Redis性能管理 1.Info Memory——查看Redis内存使用 2.内存碎片率 3. 内存使用率 4.内存回收key 二.缓存的穿透,击穿和雪崩 1.缓存的穿透 1.1 问题描述 1.2 缓存穿透发生的条件 1.3 缓存穿透发生的原因 1.4 解决方案 2 缓存的击穿 2.1 问题描…

使用SVD将图像压缩四分之一(MATLAB)

SVD压缩前后数据量减少的原因在于,通过奇异值分解(SVD),我们将原始数据(如图像)转换成了一种更加紧凑的表示形式。这种转换依赖于数据内部的结构和相关性,以及数据中信息的不均匀分布。 让我们…

以 2021inCTF-DeadlyFastGraph 入门 JSC利用

前言 最近一直在入门浏览器的利用,然后一直都在搞 V8,然后接触的比较多的都是一些混淆、越界的洞,希望后面可以入门 jit 然后在今年的阿里云 CTF 中看到了一道 jsc 相关的题目,当时本来想做一做的,但是环境一直没有搭…

vLLM介绍

vLLM是伯克利大学LMSYS组织开源的大语言模型高速推理框架,旨在极大地提升实时场景下的语言模型服务的吞吐与内存使用效率。vLLM是一个快速且易于使用的库,用于 LLM 推理和服务,可以和HuggingFace 无缝集成。vLLM利用了全新的注意力算法「Page…

ZKP价值链路的垂直整合

1. ZKP proof生命周期 从ZKP(zero-knowledge proof)生命周期,先看围绕ZKP的价值链路形成: 1)User intent用户意图:以某用户意图为起点,如想要在某zk-rollup上swap某token、证明其身份、执行某…

java数据结构与算法刷题-----LeetCode405. 数字转换为十六进制数

java数据结构与算法刷题目录(剑指Offer、LeetCode、ACM)-----主目录-----持续更新(进不去说明我没写完):https://blog.csdn.net/grd_java/article/details/123063846 文章目录 分组位运算 分组位运算 这道题正常来说可以用转换7进制的思想来&…

加速度:电子元器件营销网站的功能和开发周期

据工信部预计,到2023年,我国电子元器件销售总额将达到2.1万亿元。随着资本的涌入,在这个万亿级赛道,市场竞争变得更加激烈的同时,行业数字化发展已是大势所趋。电子元器件B2B商城平台提升数据化驱动能力,扩…

算法学习18:动态规划

算法学习18:动态规划 文章目录 算法学习18:动态规划前言一、线性DP1.数字三角形:f[i][j] max(f[i - 1][j - 1] a[i][j], f[i - 1][j] a[i][j]);2.1最长上升子序列:f[i] max(f[i], f[j] 1);2.2 打印出最长子序列3.最长公共子序…

[从零开始学习Redis | 第九篇] 深入了解Redis数据类型

前言: 在现代软件开发中,数据存储和处理是至关重要的一环。为了高效地管理数据,并实现快速的读写操作,各种数据库技术应运而生。其中,Redis作为一种高性能的内存数据库,广泛应用于缓存、会话存储、消息队列…

MySQL - 基础三

11、事务管理 CURD不加控制,会有什么问题? 当客户端A检查还有一张票时,将票卖掉,还没有执行更新数据库时,客户端B检查了票数,发现大于0,于是又卖了一次票。然后A将票数更新回数据库。这是就出现…

09 flink-sql 中基于 mysql-cdc 的 select * from test_user 的具体实现

前言 这也是最近帮一个朋友看问题 遇到的一个问题 然后 引发了一下 对于 flink-sql 里面的一些 常规处理的思考, 理解 原始问题主要是 在测试库可以使用 flink-sql 可以正常同步, 但是 在生产环境 无法正常同步数据 这个问题 我们后面单独 记录一篇文章 测试用例 下载…

设计模式总结-外观模式(门面模式)

外观模式 模式动机模式定义模式结构外观模式实例与解析实例一:电源总开关实例二:文件加密 模式动机 引入外观角色之后,用户只需要直接与外观角色交互,用户与子系统之间的复杂关系由外观角色来实现,从而降低了系统的耦…

携程旅行 abtest

声明: 本文章中所有内容仅供学习交流使用,不用于其他任何目的,抓包内容、敏感网址、数据接口等均已做脱敏处理,严禁用于商业用途和非法用途,否则由此产生的一切后果均与作者无关!wx a15018601872 本文章…

WindowsPowerShell安装配置Vim的折腾记录

说明 vim一直以来都被称为编辑器之神一样的存在。但用不用vim完全取决于你自己,但是作为一个学计算机的同学来说,免不了会和Linux打交道,而大部分的Linux操作系统都预装了vim作为编辑器,如果是简单的任务,其实vim只要会…

c/c++之编译链接

了解我们写的代码是如何转变成可执行文件.exe的是很有必要的,我们将这些底层的东西掌握清楚才能打好基础,筑高楼。 编译链接的全流程 我们平时写代码的文件是.c或者.cpp文件。这里面包括我们的代码,还有宏定义,引用头文件以及注…