硬件体系结构中的缓存的定性与定量分析案例

摘要:

本文主要就硬件体系结构中,cache对处理器性能的影响给出定量统计的例子,并且由定量的结果如何推导出定性的结论。

问题描述:

假设某顺序执行的处理器,其平均缺失率为2%,平均每条指令要访问存储器1.5次,cache缺失代价为100个周期;

此处将cache命中时间包含在cpu执行时间内,cpu理想的cpi为1.0。比较cache的存在与否,对于性能的影响。

问题解答:

这里的性能评估从cpu时间入手:

那么我们将对应的数据代入后:

就可以得到在存在cache的情况下的cpu时间;

那么接下来我们讨论,在不存在cache的情况下,cpu时间应该如何表示?不存在cache,也即意味着每次访问都是缺失,

那么1000条指令会有1500次内存访问,对应的停顿时钟周期为1500*100,然后再除以指令数1000后,我们得到:

CPU时间(无cache) = 151*指令数*时钟周期时间

因此我们得出结论,在存在cache和不存在cache的情况下,两者的性能相差接近40倍。

定性的结论:

cache对于低cpi和高时钟频率的cpu的性能影响尤其重要;

分析:

我们看上述定性结论的前半部分,为什对于低cpi的尤其重要?我们回到上述的公式,性能之比可以表示为:

考察上述的公式,可以发现如果cpi=1.0变得更大一点的话,那么性能之比会相应地变小,这也就意味着

cache的存在对于高cpi的cpu的性能影响没有对于低cpi的cpu的性能影响大。

同样的道理,如果高时钟频率的话,那么相应的150和3会显得更大,造成性能之比变大,也就意味着性能

影响越显著;

因此,从对于上述公式的考察,我们可以得到如下的定性结论(由定量分析到定性结论的过程):

cache对于低cpi和高时钟频率的cpu的性能影响尤其重要;

时间: 2024-10-12 10:31:10

硬件体系结构中的缓存的定性与定量分析案例的相关文章

为什么branch prediction和cache是硬件体系结构中两大研究主题?

摘要: 本文主要通过简单的量化计算的例子,来说明为什么硬件体系结构研究中branch prediction和cache是两大 研究的主题. 基本概念介绍: 描述案例之前,我们简单的介绍几个概念: 1. CPI:cycle-per-instruction,即每条指令需要的时钟周期数,对于理想的处理器,我们认为一条指令就需要一个 时钟周期,也即CPI=1.0; 2. IPC:instruction-per-cycle,即每个时钟可以执行多少条指令,即CPI的倒数: 3. 假设理想的CPI=1.0,但

体系结构中共享池研究

1.keep 让SQL跑得更快. 有时候一些基础表需要非常的频繁访问,尤其是在一些循环中,对该表中的访问速度将变的非常重要.为了提高系统的处理性能,可以考虑将一些表及索引读取并保存到内存中. 二.关于keep内存的几个参数 下面了解一下具体和CACHE有关的几个概念,即DB_CACHE中的几个pool: DB_CACHE_SIZE:指定缺省的buffer pool的大小,以字节为单位. DB_KEEP_CACHE_SIZE:指定keep buffer pool的大小,以字节为单位. DB_REC

蚂蚁金服技术专家分享25个分布式缓存实践与线上案例

前言: 本文主要介绍使用分布式缓存的优秀实践和线上案例.这些案例是笔者在多家互联网公司里积累并形成的优秀实践,能够帮助大家在生产实践中避免很多不必要的生产事故. 一.缓存设计的核心要素 我们在应用中决定使用缓存时,通常需要进行详细的设计,因为设计缓存架构看似简单,实则不然,里面蕴含了很多深奥的原理,如果使用不当,则会造成很多生产事故甚至是服务雪崩之类的严重问题. 1.容量规划 缓存内容的大小缓存内容的数量淘汰策略缓存的数据结构每秒的读峰值每秒的写峰值2.性能优化 线程模型预热方法缓存分片冷热数据

硬件体系优化及IO优化核心优化原理详解

从图上看,上面是CPU层面,下面是资源层面,越往下越慢.运行速度. 从容量上看越往下越大. 先在内存中处理,后再硬盘中处理. CPU和内存处理速度比也相差很大,1000倍的差距 所以光用内存也是慢,一般CPU里面也有缓存,1级缓存,2级缓存.CACHE 交互过程中可能放到1级缓存,二级缓存,进行平缓操作,CPU和内存. 电脑的快慢有什么决定的和你到时候优化什么地方. 比方说瓶颈是硬盘差,我CPU变成双核的,硬盘还不快,应为瓶颈不是CPU,是磁盘. 电脑的各个部件你最好有个平衡.某一个好,都不能提

详解网络体系结构中的各层次

一.物理层 1. 概述 物理层考虑的是怎样才能在连接各种计算机的传输媒体上传输数据比特流. 2. 作用--如何服务上层 尽可能地屏蔽掉传输媒体和通信手段的差异,使物理层上面的数据链路层感觉不到这些差异,这样就可使数据链路层只需要考虑如何完成本层的协议和服务,而不必考虑网络具体的传输媒体和通信手段是什么(因为现在的计算机网络中的硬件设备和传输媒体的种类非常繁多,并且通信手段也有许多不同方式). 3. 任务--确定与传输媒体的接口有关的一些特性 机械特性:指明接口所用接线器的形状和尺寸.引脚数目和排

linux驱动之I2C

include/linux/i2c.h struct i2c_msg;struct i2c_algorithm;struct i2c_adapter;struct i2c_client;struct i2c_driver;union i2c_smbus_data; I2C驱动主要包含三部分:I2C核心.I2C总线驱动.I2C设备驱动,它们主要的数据结构在目录:/include/linux/i2c.h struct i2c_driver 1 /* 2 * A driver is capable o

深入解析Windows操作系统笔记——CH2系统结构

2.系统结构 本章主要介绍系统的总体结构,关键部件之间的交互,以及运行在什么环境. 2.系统结构... 1 2.1 需求和设计目标... 1 2.2 操作系统模型... 2 2.3 总体结构... 2 2.3.1 可移植性... 3 2.3.2 对称多处理... 3 2.3.3 可伸缩性()5 2.3.4 客户和服务器版本的区别... 5 2.3.5 版本检查... 5 2.4 关键的系统组件... 5 2.4.1 环境子系统和子系统dll6 2.4.1.1 Windows子系统... 7 2.

利用NABCD模型进行竞争性需求分析

1.1 项目背景 开发软件的名称:学生信息管理系统 项目的任务提出者:小组讨论决定  需求规定: 1>N(Need 需求) 采用计算机对学生信息进行管理,进一步提高了办学效益和现代化水平.为广大教师和学生提高工作效率,实现学生信息管理工作流程的系统化,规范化和自动化.现在我国的大中专院校的学生信息管理水平普遍都不是很高,有的还停留在全用纸介质基础上,这种管理方式已不能适应时代的发展,社会的需求,因为它浪费了大量的人力物力,也存在着许多不足的因素.在今天信息时代这种传统的管理方法必然会被计算机为基

gsensor架构和原理分析【转】

本文转载自:http://blog.csdn.net/u012296694/article/details/48055491 本文主要描述了在android2.3平台G-sensor相关软硬件的体系架构和实现原理,按照Applications.Framework.HAL.Driver和Hardware五大层次分别介绍. 1.系统架构 (Architecture) 1.1 Android体系架构图 1.2 Sensor子系统架构图 · Application Framework Sensor应用程