存储器层次结构

内存

对于内存已经不像曾经那般陌生了,在汇编中,我们大量接触了内存,但是我们还没有对它有个确切、深入的了解。
内存其实叫做随机访问存储器(RAM,Random Access Memory),最基本的存储单位称为单元,一个单元存储1bit。
内存可以分为两种:

  • SRAM(Static RAM)
  • DRAM(Dynamic RAM)

这两者根据存储单元实现方式来区分

每个bit需要多少个晶体管运行时间是否需要刷新是否需要通电价格应用
SRAM4或61X暴怒需要可能要100X高速缓存(Cache Mymories)
DRAM110X需要1X主存(Main Memories)、显卡的帧缓存(Frame Buffers)

SRAM和DRAM都是易失的,即:断电后,会丢失所有保存的信息
因此,除此之外,还有非易失性存储器(或者叫只读存储器,ROM),现如今的ROM还提供了擦除功能(以前的ROM没有提供),但是擦除会导致ROM的磨损。BIOS和开机后执行的最初的命令都来自于ROM,同时,I/O设备的控制器也是由存储在ROM中的指令和数据组成的

磁盘

在这里插入图片描述

磁盘其实是由很多堆叠的盘片组成,这些盘片上涂油磁性材料磁头组(也叫磁臂,也就是那个Arm)的末端有多个读/写头

[!资料]

  1. 磁头组的末端有时并不是一个单独的读/写头(但是一般只有一个读读/写头),而是包含多个磁头的组合,每个磁头负责读取或写入一个磁道上的数据。这些磁头可以单独移动,以便定位到指定的磁道进行读写操作。
  2. 磁头组并非仅能感应磁场的变化,而是可以通过电流在磁性涂层上创建或改变磁场,从而实现数据的写入或擦除操作。读取数据时,磁头组则通过感应磁性涂层上磁场的变化来读取数据。

磁盘的容量由两个独立的因素决定:

  1. 记录密度:决定单独一个扇区可以存储多少bits
  2. 磁道密度:可以将相邻的磁道放置地多临近

这两个因素的乘积,称为面密度,它决定了整个磁盘的存储容量。磁盘的容量以GB为单位,但是需要注意,它的GB是2^10,这点有点奇怪。

在曾经,每一条磁道所包含的扇区数是固定的,这就意味着远离圆心的磁道的扇区之间的空隙会变的很大,因此会导致资源的浪费。
而现在使用了一些新的技术,更好的解决了这个问题,只是有点复杂

那么,磁盘是如何工作的呢?
所有的盘片都以一个固定的频率在旋转(逆时针旋转),如进一个很典型的速率是7200转/分钟。
在这里插入图片描述

盘片

![[图片资源/盘片的结构.png]]

  • 一个盘片有两个表面,上面和下面
  • 每个表面都包含一系列的同心圆,称之为磁道
  • 每个磁道包含很多个扇区扇区存储着数据,典型的:一个扇区存储512字节
  • 扇区之间有一些空隙,这些空隙不存储数据

磁盘阅读一个指定扇区需要多长时间?

在这里插入图片描述

  • 移动磁头所需的寻道时间
  • 等待磁盘移动到指定扇区所需的旋转延迟,平均情况下就是磁盘旋转一圈所花费时间的一半
  • 传输时间:该轨道在读/写头下通过的时间

磁盘的使用

现代磁盘控制器将磁盘作为一系列逻辑块提供给CPU,每个块是扇区大小的整数倍,磁盘控制器会保持物理扇区和逻辑块之间的映射
在最简单的情况下,一个逻辑块就是一个扇区。块从0开始进行编号,它是一系列增长的数字。

磁盘控制器会将一些柱面保留为备用柱面柱面就是多个盘片上的同一个磁道所形成的圆柱体),这些备用柱面没有被映射为逻辑块。如果有一个柱面的扇区坏了,磁盘控制器可以将数据复制到备用柱面,然后磁盘就能够正常工作。
这就是磁盘的格式容量会比是实际容量小的原因。

I/O总线

在这里插入图片描述
通过这张图我们可以大概地了解到他们之间的工作方式。

读取磁盘上的数据

CPU通过编写三元组来读取磁盘上的数据:指令、逻辑块号、内存地址
磁盘控制器读取和该逻辑块对应的任何扇区,它将数据复制,然后通过I/O总线传递给主存储器,然后使用中断机制通知CPU数据已被复制,然后CPU就能够执行程序处理这块内存。

固态磁盘(固态硬盘,SSDs)

在这里插入图片描述
固态硬盘中没有硬盘的机械结构,而是由许多的闪存和充当控制器的固件组成。但是在CPU看来,它和旋转磁盘完全相同,它具有相同的接口、相同的物理接口、相同的包装

在固态磁盘中由一组固件,称为闪存翻译层,它的作用和旋转磁盘中的磁盘控制器功能相同,内存可以以为单位来读取数据。一系列的页组成一个这个块和CPU眼中的逻辑块不同),当想要写入数据进固态硬盘的时候,需要找到一个被擦除的块才能够写入其中的页;如果我们想修改某一页的内容,需要将这页所处的块的内容全部复制。但是:擦除会使得闪存磨损

程序的局部性

[!资料]
程序的局部性是指程序在执行过程中表现出的一种特性,即程序倾向于在一段时间内重复访问相同的内存位置,或者倾向于使用相同的指令序列。

局部性有两种:

  • 时间局部性(Temporal Locality):这是指如果一个信息项被访问,那么它在不久的将来很可能再次被访问。例如,当程序执行时,它往往会重复执行相同的代码块,或者多次访问相同的变量。这种局部性使得缓存机制(如CPU缓存)能够有效地工作,因为常用的数据和指令可以被存储在速度较快的存储器中,以便快速访问。
  • 空间局部性(Spatial Locality):这是指如果一个信息项被访问,那么与它相邻的信息项也很可能被访问。例如,当程序访问了一个数组元素时,它很可能在不久的将来访问同一个数组的其他元素。空间局部性也使得缓存有效,因为缓存行(cache line)中的多个数据项可以一次性加载到缓存中,而不是每次只加载一个。

这种特性是计算机科学中的一项重要原理,它有助于提高程序的效率和性能。

存储器层次结构

在这里插入图片描述

存储器层次结构中的每一层都包含从下一个较低级别层次所检索的数据

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

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

相关文章

怎么获取OpenAI的api-key【人工智能】

怎么获取OpenAI的api-key【人工智能】 前言版权推荐怎么获取OpenAI的api-key1.访问控制台2.点击API keys3.点击Start verification4.点击新建密钥 最后 前言 2024-4-11 11:32:06 以下内容源自《【人工智能】》 仅供学习交流使用 版权 禁止其他平台发布时删除以下此话 本文首…

自动挡变速箱 相关的东西研究

1. 原来大众POLO变速箱故障时,详细的维修流程是这样的!_易车 原来大众POLO变速箱故障时,详细的维修流程是这样的!_易车 大众POLO七速干式双离合变速箱OAM 本文主要讲解的是大众POLO双离合变速箱的维修案例,首先说一…

【C++】模版

目录 一、泛型编程二、函数模板2.1 函数模板概念2.2 函数模板格式2.3 函数模板的原理2.4 函数模板的实例化2.5 模板参数的匹配原则 三、类模板3.1 类模板的定义格式3.2 类模板的实例化 四、非类型模板参数五、模板的特化5.1 概念5.2 函数模板特化5.3 类模板特化5.3.1 全特化5.3…

JS加密:对比JScrambler和JShaman加密效果

本文,以一个实例,比对JS加密两大神器:JScrambler、JShaman的加密结果,看看谁的加密效果更好。 注:本文不是技术文章,仅仅从加密结果的“型”上简单观查,不做技术分析,仅看哪个加密代…

【计算机考研】数据结构都不会,没有思路,怎么办?

基础阶段,并不需要过于专门地练习算法。重点应该放在对各种数据结构原理的深入理解上,也可以说先学会做选择题、应用题。 因为在考试中,大部分的算法题目,尤其是大题,往往可以通过简单的暴力解决方案得到较高的分数。…

计算机服务器中了devicdata勒索病毒怎么办,devicdata勒索病毒解密数据恢复

在企业的生产运营过程中,网络为企业的发展带来了极大便利,大大提升了企业生产效率,但网络在为人们提供便利的同时,也为企业的数据安全带来隐患,近期,云天数据恢复中心接到多家企业的求助,企业的…

多语言婚恋交友app搭建秘籍,助你占据市场先机

在当今社交网络蓬勃发展的时代,相亲、交友已经不再局限于传统的线下相识,而是通过移动应用来实现。尤其是对于涉及国际范围的婚恋交友APP,多语言功能更是不可或缺的重要组成部分。为什么选择多语言婚恋交友APP搭建呢?通过多语言支…

客户关系CRM管理系统源码 企业crm管理系统

客户关系CRM管理系统源码 企业crm管理系统 系统功能介绍 1、 公海管理:公海类型、客户公海。 2、 线索管理:我的线索、线索列表、线索状态、线索来源。 3、 客户管理:我的客户、客户列表、成交客户、行业类别、预查、地区列表、客户状态、…

LLM 推理优化探微 (4) :模型性能瓶颈分类及优化策略

编者按: 在人工智能浪潮袭卷全球的大背景下,进一步提升人工智能模型性能,满足更多应用需求已经刻不容缓。如何优化模型延迟和吞吐量,成为了业界亟待解决的重要问题。 我们今天为大家带来的这篇文章,其观点为&#xff1…

C/C++基础----常量和基本数据类型

HelloWorld #include <iostream>using namespace std;int main() {// 打印cout << "Hello,World!" << endl;return 0; }c/c文件和关系 c和c是包含关系&#xff0c;c相当于是c的plus版本c的编译器也可以编译c语言c文件.cpp结尾.h为头文件.c为c语言…

【吊打面试官系列】Java高并发篇 - 什么是Java并发容器的实现?

大家好&#xff0c;我是锋哥。今天分享关于 【什么是Java并发容器的实现&#xff1f;】面试题&#xff0c;希望对大家有帮助&#xff1b; 什么是Java并发容器的实现&#xff1f; 何为同步容器&#xff1a;可以简单地理解为通过 synchronized 来实现同步的容器&#xff0c;如果有…

绿联 安装MariaDB数据库用于Seatable服务

绿联 安装MariaDB数据库用于Seatable服务 MariaDB MariaDB 是一个流行的开源关系型数据库管理系统&#xff08;RDBMS&#xff09;&#xff0c;它是MySQL的一个分支&#xff0c;提供了丰富的功能和性能&#xff0c;适用于各种应用场景。 核心功能 SQL支持: MariaDB完全支持SQL&a…

科大睿智五大关键点解读CMMI认证评估对企业的重要性

CMMI认证作为国际软件行业的主流标准&#xff0c;引起了广泛关注。那么&#xff0c;CMMI认证评估对企业有哪些的重要性&#xff0c;这是企业需要重点考虑的问题&#xff0c;小编今日分享CMMI认证的认证价值&#xff0c;为意向企业做出分析指导&#xff0c;一起来看下吧。 一、…

两款微功耗轨至轨运算放大器芯片 D8541和D8542的芯片描述

D8541和D8542是推出的两款微功耗轨至轨运算放大器芯片&#xff0c;其中D8541为单运放&#xff0c;D8542为双运放&#xff0c;它特别适用于NTC温度采集电路、ADC基准电压电路、有源滤波器、电压跟随器、信号放大器等电路应用&#xff0c;在新能源充电桩、智能充电枪、储能等产品…

一辆汽车的节拍时间是怎样的?

节拍时间&#xff0c;又称 takt time&#xff0c;是德语中“节奏”的意思。在汽车制造业中&#xff0c;它指的是按照客户需求和生产计划&#xff0c;生产一辆汽车所需的时间。这个时间是固定的&#xff0c;它决定了生产线上每个工序的操作速度和节奏&#xff0c;是生产线上所有…

光子晶体能带分析、能谱计算、光纤模拟计算使用COMSOL仿真

COMSOL Multiphysics是一款强大的多物理场仿真软件&#xff0c;它提供了高效的计算性能和出色的多场耦合分析能力&#xff0c;能够实现精确的数值仿真。在光子晶体能带分析、能谱计算、光纤模态计算以及微腔腔膜求解等方面&#xff0c;COMSOL已经被广泛应用于科学研究以及工程计…

系统监控-硬件资源-内存篇01-整体思路-性能指标-性能工具概览-Buffer/Cache

参考来源&#xff1a;性能优化实战 内存的功能主要用来存储系统和应用程序的指令、数据、缓存等。 内存性能分析整体思路 当你看到系统的剩余内存很低时&#xff0c;是不是就说明&#xff0c;进程一定不能申请分配新内存了呢&#xff1f;当然不是&#xff0c;因为进程可以使…

这4本计算机期刊,含CCF推荐,1个月发表周期,部分期刊剩15篇版面,接受预留

转眼间已进入四月份&#xff0c;正值春景好时节&#xff0c;在踏青赏景之余也别忘了做好科研&#xff08;学业&#xff09;规划。 我方致力于学术论文发表辅导十余年&#xff0c;与100余家国际出版社长期合作&#xff0c;推荐各领域论文至SCI/EI/CNKI收录期刊快速发表&#xf…

【Qt 学习笔记】Qt信号和槽的其他说明及Lambda表达式

博客主页&#xff1a;Duck Bro 博客主页系列专栏&#xff1a;Qt 专栏关注博主&#xff0c;后期持续更新系列文章如果有错误感谢请大家批评指出&#xff0c;及时修改感谢大家点赞&#x1f44d;收藏⭐评论✍ Qt信号和槽的其他说明及Lambda表达式 文章编号&#xff1a;Qt 学习笔记…

头歌-机器学习 第16次实验 EM算法

第1关:极大似然估计 任务描述 本关任务:根据本节课所学知识完成本关所设置的选择题。 相关知识 为了完成本关任务,你需要掌握: 什么是极大似然估计; 极大似然估计的原理; 极大似然估计的计算方法。 什么是极大似然估计 没有接触过或者没有听过”极大似然估计“的同学…