ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

存储器层次结构

2020-11-22 14:05:04  阅读:178  来源: 互联网

标签:数据项 存储 存储器 层次结构 局部性 CPU


                                           **存储器层次结构**## 标题
到目前为止,在对系统的研究中,我们依赖于一个简单的计算机系统模型,CPU执行指令,而存储器系统为CPU存放指令和数据。再简单模型中,存储器系统是一个线性的字节数组,而CPU能够在一个常数时间内访问每个存储器位置。虽然迄今为止,这都是一个有效的模型,但是它没有反映现代系统实际工作的方式。
实际上,存储器系统是一个具有不同容量,成本和访问时间的存储设备的层次结构。CPU寄存器保存着最常用的数据。靠近CPU的小的,快速的*高速缓存存储器*     作为一部分存储在相对慢速的主存储器中数据和指令的缓冲区域。主存缓存存储在容量较大的,慢速磁盘上的数据,而这些磁盘常常有作为存储在通过网络连接的其他机器的磁盘或磁带上的数据的缓冲区域。
作为一个程序员,你需要理解存储器层次结构,因为它对应用程序的性能有着巨大的影响。如果你的额程序需要的数据是存储在CPU寄存器中的,那么在指令的执行期间,在0个周期内就能访问到他们。如果存储在高速缓存中,需要4到75个周期。如果存储在主存中,需要上百个周期。而如果存储在磁盘上,大约需要几千万格周期!
这里就是计算机系统中一个基本而持久的思想:如果你理解了系统是如何将数据在存

储器层次结构中上上下下移动的,那么你就可以编写自己的应用程序,使得它们的数据项
存储在层次结构中较高的地方,在那里 CPU 能更快地访问到它们。
这个思想围绕着计算机程序的一个称为局部性(locality)的基本属性。具有良好局部性
的程序倾向于一次又一次地访问相同的数据项集合,或是倾向于访问邻近的数据项集合。
具有良好局部性的程序比局部性差的程序更多地倾向于从存储器层次结构中较高层次处访
问数据项,因此运行得更快。例如,在 Core i7 系统,不同的矩阵乘法核心程序执行相同
数量的算术操作,但是有不同程度的局部性,它们的运行时间可以相差 40倍!

标签:数据项,存储,存储器,层次结构,局部性,CPU
来源: https://blog.csdn.net/qq_49017400/article/details/109946384

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有