计算机组成原理与体系结构——层次化存储结构
1. 简介
存储层次是在计算机体系结构下存储系统层次结构的排列顺序。每一层于下一层相比都拥有较高的速度和较低延迟性,以及较小的容量。大部分现今的中央处理器的速度都非常的快。大部分程序工作量需要存储器访问。由于高速缓存的效率和存储器传输位于层次结构中的不同档次,所以实际上会限制处理的速度,导致中央处理器花费大量的时间等待存储器I/O完成工作。
2. 分类
由上图可知:
(1)层次化的存储结构可以分为:CPU、Cache(高速缓存)、主存(内存)、外存(辅存)。
(2)从上至下,读取速度越来越慢,存储容量越来越大。
3. 计算机的存储结构为什么层次化的划分?
主要原因是为了提高性价比减少成本。我们已经知道CPU的读取速度是非常快的,那我们为什么不只用CPU内存呢?是因为CPU的价格非常昂贵的,至今为止,CPU中基本上还是一级缓存和二级缓存。三级缓存比较少见。而且,CPU中的存储容量是非常小的,基本都是KB级别的存储,CPU的内存容量也就几KB,MB级别的CPU内存也是比较少见的。所以,出于经济成本的考虑,计算机中的存储结构是按照层次进行划分的。
4. 局部性原理
局部性原理: CPU访问存储器时,无论是存取指令还是存取数据,所访问的存储单元都趋于聚集在一个较小的连续区域中。
三种不同类型的局部性:
时间局部性(Temporal Locality):如果一个信息项正在被访问,那么在近期它很可能还会被再次访问。程序循环、堆栈等是产生时间局部性的原因。
空间局部性(Spatial Locality):在最近的将来将用到的信息很可能与正在使用的信息在空间地址上是临近的。
顺序局部性(Order Locality):在典型程序中,除转移类指令外,大部分指令是顺序进行的。顺序执行和非顺序执行的比例大致是5:1。此外,对大型数组访问也是顺序的。指令的顺序执行、数组的连续存放等是产生顺序局部性的原因。
早在 1968 年,Denning.P 就曾指出:程序在执行时将呈现出局部性规律,即在一较短的时间内,程序的执行仅局限于某个部分;相应地,它所访问的存储空间也局限于某个区域
。他提出了下述几个论点:
程序执行时,除了少部分的转移和过程调用指令外,在大多数情况下仍是顺序执行的。该论点也在后来的许多学者对高级程序设计语言(如
FORTRAN
语言、PASCAL
语言)及C
语言规律的研究中被证实。过程调用将会使程序的执行轨迹由一部分区域转至另一部分区域,但经研究看出,过程调用的深度在大多数情况下都不超过 5。这就是说,程序将会在一段时间内都局限在这些过程的范围内运行。
程序中存在许多循环结构,这些虽然只由少数指令构成,但是它们将多次执行。程序中还包括许多对数据结构的处理,如对数组进行操作,它们往往都局限于很小的范围内。
局限性还表现为下述两个方面:时间局限性。如果程序中的某条指令一旦执行,则不久以后该指令可能再次执行;如果某数据被访问过,则不久以后该数据可能再次被访问。产生时间局限性的典型原因是由于在程序中存在着大量的循环操作。
空间局限性。一旦程序访问了某个存储单元,在不久之后,其附近的存储单元也将被访问,即程序在一段时间内所访问的地址,可能集中在一定的范围之内,其典型情况便是程序的顺序执行。存储器中,如磁带上,这样做还能降低存储价格。
计算机组成原理与体系结构——层次化存储结构相关推荐
- 计算机组成原理和体系结构----软考(到处copy)
计算机组成原理和体系结构 数据的表示 n进制转十进制 十进制转n进制 使用短除法 二进制转八进制和十六进制 原码.反码.补码以及移码 浮点数运算 计算机结构 计算机体系结构分类 - Flynn CIS ...
- 【软考系统架构设计师】计算机组成原理与体系结构章节习题集
[软考系统架构设计师]计算机组成原理与体系结构章节习题集 [计算机组成原理章节习题集第01题:红色] 01.RISC指令系统的特点包括() ①指令数量少 ②寻址方式多 ③指令格式种类少 ④指令长度固定 ...
- 太原理工计算机组成原理报告,太原理工《计算机组成原理与体系结构》--实验报告.docx...
本科实验报告 课程名称:计算机组成原理与体系结构 实验项目: 运算器.移位器.运算存储器. 总线控制.微程序控制器原理 实验地点: 明向计算机学院306实验室 专业班级: 物联1403 学号:2014 ...
- 【软件设计师】计算机组成原理与体系结构-Flynn分类法
计算机组成原理与体系结构-Flynn分类法 Flynn分类法 Flynn分类法 Flynn分类法是一种计算机体系结构的分类方法.通过这种分类方法,我们可以把常见的计算机进行分类.分类依据有两个指标,分 ...
- 计算机组成原理——关于数据对齐存储
计算机组成原理--关于数据对齐存储 1. 综述 博客:http://blog.csdn.net/cyxcw1/article/details/9080519(C/C++数据边界对齐的注意事项) 对齐: ...
- 计算机组成原理:储存系统和结构
❤️强烈推荐人工智能学习网站❤️ 储存系统的组成: 1.按作用分类 1>高速缓冲存储器:位于主存和CPU之间,用来存放正在执行的程序段和数据,以便CPU能高速的访问它们.其速度可以和CPU速度相 ...
- 《软件设计师》——计算机组成原理与体系结构
任何进制转成十进制,使用按权展开法,注意小数点. 十进制转成任意进制,使用短除法. 1个字节有8个位,每位分别用二进制的0和1来表示.分为无符号数和有符号数,下面以有符号数来说明,有符号数最高位是符号 ...
- 计算机组成原理---冯诺依曼体系结构及性能和功耗
文章总结摘要自徐文浩老师的<深入浅出计算机组成原理> 文章目录 一.计算机的基本硬件组成 二.冯诺依曼体系结构 性能 计算机的计时单位:CPU 时钟 功耗 并行优化,理解阿姆达尔定律 总结 ...
- 【计算机组成原理与体系结构】硬件系统概述
目录 一.计算机的发展 二.计算机的硬件系统 三.硬件的工作原理 四.计算机系统的层次结构 五.计算机的性能指标 一.计算机的发展 第一代计算机:电子管计算机 第一台电子计算机:ENIAC(1946) ...
最新文章
- leetcode 567. Permutation in String 字符串的排列 滑动窗口法
- HDU 2149 Public Sale (博弈)
- 手机数据抓包入门教程
- Windows10 + Visual Studio 2017 + CMake +OpenCV编译、开发环境配置及测试
- python单词统计、给定一个段落()_数训营第一课笔记:Python基础知识
- 科大讯飞语音助手Lite智能鼠标电脑版安装不成功为什么?怎么办?
- php代码返回404,php--------返回404状态
- 百度web前端面试题之求两个数的最大公约数和最小公倍数
- Neutron 架构 - 每天5分钟玩转 OpenStack(67)
- mysql 几级缓存_Mysql中一级缓存二级缓存区别
- python机器学习:线性回归_房价和房屋尺寸关系的线性拟合
- python面向对象的含义_Python面向对象(一)
- ASP.NET CORE MVC 2.0 发布到IIS 配置问题
- 兼具颜值与智慧 华为Mate 10 Pro体验图赏
- 使用FlyMCU往STM32中烧写程序
- svn update中断,报cleanup错误
- 怎么创建css样式表,怎样创建可反复使用的外部CSS样式表?
- 新款 2018款macbook Pro 装双系统教程
- uni-app app上实现截屏保存图片到本地
- 高山养羊也可以运用GPS卫星定位系统
热门文章
- NEU健康上报脚本解析教程
- algorithm头文件下的常用函数-学习笔记
- 数学建模让人收益终身——2022美国大学生数学建模竞赛F奖
- C#sizeof用法
- 定位教程0---定位初介绍
- Oracle联立多个表建视图,一个简单的联立方程组模型让你了解内外生变量、如何识别以及2SLS估计步骤...
- php curl获取腾讯视频教程,获取腾讯视频M3U8下载地址
- PCB 传输线教程(上):基于 Polar Si9000 与嘉立创工艺的传输线设计
- fjksldajfmlsdmfldsalf;md;lsfml;sdmfl;sad
- 医学图像处理开源软件集合