Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >CSAPP 存储器层次结构 笔记

CSAPP 存储器层次结构 笔记

作者头像
wywwzjj
发布于 2023-05-09 06:35:17
发布于 2023-05-09 06:35:17
3260
举报

在简单的模型中,存储器系统是一个线性的字节数组,CPU 能够在一个常数时间内访问每个存储器位置。

但这并没有反映现代系统实际工作的方式,实际的存储系统是一个具有不同容量、成本和访问时间的存储设备层次结构。

存储技术

随机访问存储器 RAM

  • 静态 SRAM:容量小,存取速度快,以触发器(双稳态)做为存储元,通常做 cache。
  • 动态 DRAM:容量大,速度较慢,以 MOS 晶体管和电容器组成的电路做存储元,通常做主存储器。

磁盘存储

磁盘属于外部 I/O 设备,其特点是存储容量大,速度慢,价格便宜。其利用磁性材料被磁化后,会形成两个稳定的剩磁状态的性质,就像触发器的双稳态一样。

局部性原理

在程序中,程序倾向于引用邻近与其他最近引用过的数据项的数据项,或者最近引用过的数据项本身。这种倾向性,被称为局部性原理。

这是一个持久的概念,对硬件和软件系统的设计和性能都有着极大的影响。

局部性通常有两种不同的形式,时间上,空间上。

在一个具有良好时间局部性的程序中,如果一个内存位置被引用了一次,那么程序很可能在不远的将来引用附近的一个内存位置。

存储器层次结构

不同存储技术的访问时间差异很大。速度较快的技术每字节的成本要比速度较慢的技术高,而且容量较小。CPU 和主存之间的速度差距在增大。

一个编写良好的程序倾向于展示出良好的局部性。

高速缓存存储器

缓存的理念,简单来说就是,最常用的数据就那么点,将其放到读取速度最快的存储区域,将大大提高运行效率。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019/10/21,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
《深入理解计算机系统》(CSAPP)读书笔记 —— 第六章 存储器层次结构
  随机访问存储器( Random-Access Memory,RAM)分为两类:静态的和动态的。静态RAM(SRAM)比动态RAM(DRAM)更快,但也贵得多。SRAM用来作为高速缓存存储器。DRAM用来作为主存以及图形系统的帧缓冲区。
嵌入式与Linux那些事
2021/05/20
1.4K0
《深入理解计算机系统》(CSAPP)读书笔记 —— 第六章 存储器层次结构
存储器层次结构介绍
这里先说一下存储器系统: 寄存器 -----> 高速缓存 -----> 主存储 存储器对程序的性能有着巨大的影响,程序的运行就是对数据的不停的计算和搬移,其中最为耗时的就是程序对数据的搬移。因此,存储器对数据的存取速度是至关重要的。 CPU在访问寄存器中的数据只需要一个周期就可以访问到,在高速缓存中需要4-75个周期,如果在主存器上则需要上百个周期,如果在磁盘上则需要几千万个周期。
HeaiKun
2020/07/06
1.4K0
【愚公系列】软考高级-架构设计师 006-存储技术(存储器的层次结构)
计算机存储技术是指用于存储数据和指令的各种技术。这些技术可以分为两大类:主存储技术和辅助存储技术。主存储技术通常指的是随机存取存储器(RAM)和只读存储器(ROM),而辅助存储技术包括硬盘驱动器(HDD)、固态驱动器(SSD)、光盘驱动器和磁带等。
愚公搬代码
2024/05/10
1520
『计算机的组成与设计』-存储器层次结构
我们利用局部性原理将计算机存储器组织成为存储器层次结构(memory hierarchy)。存储器层次结构由不同速度和容量的多级存储器构成。 如果存储器需要的数据存放在高层存储器中的某个块中,则称为一次命中。命中率是在高层次存储器中找到数据的存储访问比例,是存储器层次结构性能的重要衡量指标。
1ess
2021/10/29
9740
『计算机的组成与设计』-存储器层次结构
02.计算器存储器的原理
import java.util.HashMap; public class StudentHashMapExample { public static void main(String[] args) { // 创建一个哈希映射 HashMap<String, Integer> studentMap = new HashMap<>(); // 添加学生信息到哈希映射 studentMap.put("Alice", 85); studentMap.put("Bob", 92); studentMap.put("Charlie", 78); studentMap.put("David", 90); // 获取学生信息 int aliceScore = studentMap.get("Alice"); System.out.println("Alice's score: " + aliceScore); // 更新学生信息 studentMap.put("Alice", 88); aliceScore = studentMap.get("Alice"); System.out.println("Updated Alice's score: " + aliceScore); // 删除学生信息 studentMap.remove("Bob"); System.out.println("Bob's information removed."); // 遍历学生信息 for (String name : studentMap.keySet()) { int score = studentMap.get(name); System.out.println(name + "'s score: " + score); } } }
杨充
2024/08/01
1150
存储器及其管理方式
“计算机存储器包括主存和辅存,本文中存储器管理的对象主要是主存,也称内存。它的主要功能包括分配和回收主存空间、提高主存利用率、扩充主存、对主存信息实现有效保护。”
搬砖俱乐部
2019/07/08
1.7K0
存储器及其管理方式
【Story】存储器系统的完整讲解
存储器系统是计算机体系结构中的关键组成部分,负责存储数据和指令。它通常分为多种类型,每种类型具有不同的特性、用途和性能。以下是关于存储器系统的完整讲解:
LuckiBit
2024/12/11
2880
【Story】存储器系统的完整讲解
【愚公系列】软考中级-软件设计师 006-计算机系统知识(存储系统)
计算机系统中的存储系统指的是用于存储和访问数据的硬件和软件组件。存储系统的主要目的是提供计算机系统运行所需的数据和程序的长期存储和快速访问。
愚公搬代码
2024/01/18
1930
计算机中的层次化存储究竟是个什么鬼?
作者个人研发的在高并发场景下,提供的简单、稳定、可扩展的延迟消息队列框架,具有精准的定时任务和延迟队列处理功能。自开源半年多以来,已成功为十几家中小型企业提供了精准定时调度方案,经受住了生产环境的考验。为使更多童鞋受益,现给出开源框架地址:
冰河
2021/02/05
5270
计算机中的层次化存储究竟是个什么鬼?
存储概述:计算机层次化存储体系概述
1946年,冯•诺依曼提出了以存储程序为核心的计算机模型,该计算机模型一直沿用至今。通常称该计算机模型为冯•诺依曼模型(结构),将采用该思想设计的计算机为冯•诺依曼计算机。
Janesong
2024/08/30
2190
图解计算机的存储器金字塔
在计算机组成原理中的众多概念中,开发者接触得最多的还是内存、硬盘、虚拟内存、CPU 缓存这些概念。这些概念有一个更为抽象的表示 —— 存储器,它是冯 · 诺依曼计算机体系中的五大组件之一,用于存储程序和数据。
用户9995743
2022/12/22
8330
图解计算机的存储器金字塔
存储器层次结构
实际的软件开发过程中,常会遇到服务端请求响应时间长,吞吐率不够。 分析对应问题时,你肯定听过“主要瓶颈不在CPU,而在I/O”,存储很重要。
JavaEdge
2022/12/13
9500
存储器层次结构
计算机组成原理--储存器概述
首先说一个概念: DMA(Direct Memory Access,直接存储器访问) 是所有现代电脑的重要特色,它允许不同速度的硬件装置来沟通,而不需要依赖于 CPU 的大量中断负载。否则,CPU 需要从来源把每一片段的资料复制到暂存器,然后把它们再次写回到新的地方。在这个时间中,CPU 对于其他的工作来说就无法使用。
风骨散人Chiam
2020/10/28
2K0
软考:硬件中的CPU架构、存储系统(Cache、虚拟内存)、I/O设备与接口
在软件设计师考试中,对硬件的理解是必不可少的。硬件知识不仅帮助我们更好地理解软件运行的物理基础,还能指导我们如何编写更高效的代码。本章将介绍硬件知识的重要性和在软件设计师考试中的考察目标。
码事漫谈
2025/04/30
1180
软考:硬件中的CPU架构、存储系统(Cache、虚拟内存)、I/O设备与接口
计算机基础1-从计算机组成到程序性能
若想要完成复杂的计算,例如游戏场景、文字处理等,就必须要有数据的存储。以最早的计算工具算盘为例,排列成串的算珠即是它的存储介质。现代计算机都是基于冯诺依曼结构,这套模型的背后,指出了将存储设备与中央处理器分开的架构,也就是说,存储与计算的指令系统是分开的。
jadeCarver
2021/01/07
4840
计算机组成原理:4. 存储器
地址线和数据线共同来反应存储芯片的容量,比如地址线 10 根,数据线 4 根,芯片容量为 2^{10} \times 4 = 4 K位。
浪漫主义狗
2023/03/23
1.9K0
计算机组成原理:4. 存储器
计算机存储器分类与选择
存储器是计算机系统中的关键组件,负责存储程序和数据。根据不同的分类标准,存储器可以分为多种类型,每种类型都有其独特的特点和应用场景。本文将详细介绍存储器的分类及其特点。
一个风轻云淡
2024/06/25
4210
【愚公系列】软考高级-架构设计师 007-存储技术(Cache)
Cache(发音为“cash”)是一种高速数据存储层,存在于计算机的存储器层次结构中,它的作用是暂时存储近期被访问的数据和指令,以便于快速访问。由于Cache的访问速度远高于主存储器(如RAM)和辅助存储设备(如硬盘或SSD),利用Cache可以显著减少数据访问的平均时间,从而提高计算机系统的整体性能。
愚公搬代码
2024/05/11
1980
新手经常忽略的嵌入式基础知识点,你都掌握了吗?
为解决各种问题,人们发明了不计其数的机器。嵌入式设备种类繁多,从嵌入火星漫游机器人的计算机到为操纵核潜艇导航系统的系统,不一而足。
嵌入式与Linux那些事
2022/05/24
6380
新手经常忽略的嵌入式基础知识点,你都掌握了吗?
存储器体系结构学习笔记
存储器的性能直接影响到CPU的性能评价,定义存储器停顿周期数为CPU等待存储器访问而停顿的时钟周期数,由此有CPU执行时间有:
月见樽
2020/01/15
2K0
存储器体系结构学习笔记
推荐阅读
相关推荐
《深入理解计算机系统》(CSAPP)读书笔记 —— 第六章 存储器层次结构
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档