计算机中存储器的层次结构

news2024/10/6 2:22:18

现代的存储器体系结构是这样的:
在这里插入图片描述

越往上访问速度越快,更小,成本也越高。越往下访问速度越慢,更大,成本也越低。

在最高层(L0)是少量快速的CPU寄存器,CPU可以在一个时钟周期内访问他们。接下来是一个或多个小型到中型的基于SRAM高速缓存存储器。可以在几个CPU时间周期内访问他们。然后是基于DRAM的主存,可以在几十到几百个时钟周期内访问它们。接下来是慢速但是容量很大的本地磁盘。最后有些系统甚至包括一层附加到远程服务器上的磁盘要通过网络来访问他们。

高速缓存存储器缓存了主存的指令和数据。而主存建立了散列表,用来缓存磁盘的逻辑块。磁盘又以文件的形式缓存了来自网络的数据。

缓存是建立在当前层与下一层之间的一种关系。下一层包含了所要的数据,当前层从下一层提取数据。当从当前层提取到了数据,则缓存命中。若不成功则缓存不命中。从下一层取出数据以及与数据相近的数据,放入当前层并读取。若当前层层数已满,则要执行替换操作。

CPU中有至少2级的缓存,也就是L1和L2。L1缓存,也称内部缓存和L2缓存,也称外部缓存。有一些比较好的CPU上面则会有第三级的缓存,也就是L3,L3的用途是补充L2用的。L1,L2,L3层的缓存完全由内置在缓存中的硬件逻辑来管理。在一个虚拟存储器系统中,DRAM主存作为存储在磁盘上的数据块缓存。是由操作系统软件和CPU上的地址翻译硬件共同管理的。对于一个具有像afs这样的分布式文件系统的机器来说,本地磁盘作为缓存它是由运行在本地机器上的afs客户端进程管理。

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

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

相关文章

八股总结(八)SSM框架体系

文章目录 Spring基础1、Spring、SpringMVC、Mybatis与SpringBoot的区别2、Spring中常用的注解及作用 Spring IoC 、 DI、Bean3、Spring IoC是什么,有什么好处,Spring中是怎么实现的?4、Bean相关5、Component 和 Bean 的区别是什么&#xff1f…

基于RASC的keil电子时钟制作(瑞萨RA)(5)----驱动LED数码管

基于RASC的keil电子时钟制作5_驱动LED数码管 概述硬件准备视频教程数码管说明配置IO口数码管显示库smg.csmg.h主程序 概述 本篇文章主要介绍如何使用e2studio对瑞萨RA2E1开发板进行数码管的驱动。 硬件准备 首先需要准备一个开发板,这里我准备的是芯片型号R7FA2E…

管理能力提升 -《六顶思考帽》读后感

我们都听过“盲人摸象”的故事,每个盲人讲的都是自己的真实体验,都认为自己一定没错,但彼此争吵的很厉害。 这是一种传统思辨思维,它有两个特征: 判断和争论 :坚持我对,你错,从自己的…

ElasticSearch 7.x

前言 elastic表示可伸缩,search表示查询。所以es的核心即为查询。通常情况下,我们的数据可以分为三类:结构化数据、非结构化数据、半结构化数据。 结构化数据:一般会用特定的结构来组织和管理数据,表现为二维表结构。…

51单片机学习--按键控制流水灯模式定时器时钟

TMOD负责确定T0和T1的工作模式,TCON控制T0和T1的启动或停止计数,同时包含定时器状态 TF1:定时器1溢出标志 TF0:定时器0溢出标志 0~65535 每隔1微秒计数器1,总时间65535微秒,赋上初值64535,则只…

部署前端项目到服务器

声明:1.我演示使用的是华为云的服务器的Linux 系统2.通过宝塔部署项目3.项目是vue打包之后的4.其他服务器都差不多一样的配置 5.我是做前端的,下面教程只是个人操作,其他勿怪1.购买服务器 1.1:以下案例我使用的是华为云的服务器 购买服务器后,都有部署教程 有的人可能…

Tomcat 安装配置教程及成功后,启动失败报错解决方案

解决方案 我的报错原因是因为我的JDK是1.8的而我的Tomcat是10版本的,可能是因为版本原因吧,我重新装了Tomcat 9就可以启动成功了! 简单说下安装的时候需要注意哪些步骤吧 今天我在安装tomcat10的时候,安装成功后,启…

Houdini查看参数能用的内置变量($符号开头的变量)

在某个参数上,右键,reference, local variable就能看到

什么是生成式人工智能及其工作原理?

什么是生成式人工智能? 生成式人工智能是一个令人兴奋的领域,它有可能彻底改变我们创建和消费内容的方式。它可以产生新的艺术、音乐,甚至是以前从未存在过的逼真的人脸。生成式人工智能最有前途的方面之一是它能够为各个行业创建独特的定制…

【雕爷学编程】MicroPython动手做(18)——掌控板之声光传感器3

知识点:什么是掌控板? 掌控板是一块普及STEAM创客教育、人工智能教育、机器人编程教育的开源智能硬件。它集成ESP-32高性能双核芯片,支持WiFi和蓝牙双模通信,可作为物联网节点,实现物联网应用。同时掌控板上集成了OLED…

Git初始化

查看git版本 git --version 设置Git的配置变量 方法: 修改全局文件(用户主目录下.gitconfig)修改系统文件(如/etc/gitconfig) 用户姓名和邮件地址 修改用户名和邮件地址 git config --global user.name "用…

【雕爷学编程】MicroPython动手做(17)——掌控板之触摸引脚2

知识点:什么是掌控板? 掌控板是一块普及STEAM创客教育、人工智能教育、机器人编程教育的开源智能硬件。它集成ESP-32高性能双核芯片,支持WiFi和蓝牙双模通信,可作为物联网节点,实现物联网应用。同时掌控板上集成了OLED…

《cuda c编程权威指南》02 - 内存管理和线程管理

一个典型的CUDA编程结构包括5个主要步骤。 分配GPU内存。从CPU内存中拷贝数据到GPU内存。调用CUDA内核函数来完成程序指定的运算。将数据从GPU拷回CPU内存。释放GPU内存空间。 这里先理一理如何分配gpu内存。 目录 1. 内存管理函数 1.1 分别内存 1.2 数据拷贝 2. gpu内存…

从互联网到云时代,Apache RocketMQ 是如何演进的?

作者:隆基 2022 年,RocketMQ 5.0 的正式版发布。相对于 4.0 版本而言,架构走向云原生化,并且覆盖了更多业务场景。 消息队列演进史 操作系统、数据库、中间件是基础软件的三驾马车,而消息队列属于最经典的中间件之一…

面试最常被问到的接口自动化测试面试题汇总

一、请问你是如何做接口测试的? 大体来说,经历以下过程:接口需求调研、接口测试工具选择、接口测试用例编写、接口测试执行、接口测试回归、接口测试自动化持续集成。具体来说,接口测试流程分成以下九步: 第一步&…

Android架构技术大纲(记录)

关于作者:CSDN内容合伙人、技术专家, 从零开始做日活千万级APP。 专注于分享各领域原创系列文章 ,擅长java后端、移动开发、人工智能等,希望大家多多支持。 目录 一、导读二、概览三、目录3.0 设计模式3.1 数据结构与算法3.2 Java…

[每日习题] 完全数计算 扑克牌大小 ——牛客习题

hello,大家好,这里是bang___bang_,今天也还是记录2道牛客习题,1道简单题(完全数计算);1道中等题(扑克牌大小)。 目录 1️⃣完全数计算 2️⃣扑克牌大小 1️⃣完全数计算…

Cpp05 — 内存管理

内存管理 代码是以文件的形式存储在磁盘上的。 不是说是代码就会加载到代码段,而是代码编译好的二进制指令代码会加载到代码段,然后程序中main函数执行时就是在代码段取指令来执行。栈和堆上的数据是运行时才建立的。 常量区是有硬件保护的&#xff0c…

【JAVA】java中的逻辑控制

作者主页:paper jie的博客 本文作者:大家好,我是paper jie,感谢你阅读本文,欢迎一建三连哦。 本文录入于《JAVASE语法系列》专栏,本专栏是针对于大学生,编程小白精心打造的。笔者用重金(时间和精…

Android应用开发(22)获取Property系统属性

Android应用开发学习笔记——目录索引 开发过程中我们经常需要获取Property系统属性&#xff0c;比如model、device、product 等等&#xff0c;通常debug的时候可以使用如下命令获取。 adb shell getprop <property name> adb shell setprop <property name> <…