栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

CS:APP/深入理解计算机系统-第一章(1.5~1.6)

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

CS:APP/深入理解计算机系统-第一章(1.5~1.6)

1.5 Caches Matter

前面1.4节介绍的hello程序运行流程里有很多次copy操作,这对实际程序是一个很大的负担。

对于系统设计工程师来说,要想办法加速copy操作。

从物理层面来说,读取大存储空间的设备内的内容时,速度会远低与读取小存储空间的设备。对应于register file和main memory,前者只存几百个byte的信息,所以读取前者的时间远小于读取后者。并且随着半导体技术的发展,processor-memory gap持续扩大,加速processor比加速main memory更容易实现。

为了解决processor-memory gap,系统设计工程师搞出来一个更小更快的设备,命名为cache memories(缓存),用于临时存储processor未来可能需要的信息。

下图展示了一个典型系统里面的缓存:

L1缓存位于processor芯片上,容量是数万个byte,访问速度几乎和register file一样快。

L2缓存容量数百万个byte,通过特殊的bus与processor项链,访问时间要比L1慢5倍左右,比Main memory短5~10倍。

L1和L2采用一种叫做静态随机存储器(static random access memory, sram)的技术实现。对于更强/更新的系统,它甚至有三级缓存:L1,L2,L3。

总的来说,缓存的思想是利用局部性(程序在局部区域访问数据和代码的趋势),系统可以获得较大的内存和较快的内存的效果。

------------------------------------------------------------------

1.6 Storage Devices Form a Hierarchy

在processor和main memory(较大,较慢的存储设备)之间插入一个缓存(高速存储设备)在如今是一个比较通用的想法。在每个计算机系统中都有上图金字塔式的memory层次结构。

从金字塔尖到金字塔底,整体上趋向与容量变大,速度变慢。这种结构的主要思想是,一个level的存储被用作是下一个level的缓存。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/298189.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号