`
febird
  • 浏览: 256384 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

cpu 的 cache 是很宝贵的——从互相平行的数组看

阅读更多

以前一直想不通,为什么在有些系统中,要把同一个数据结构的不同字段放入 多个互相平行的数组中,而不是放入一个结构中。

典型的如Windows PE 可执行文件的导入表,有 IAT (导入地址表)和 INT(导入名字表),这两个表就放在两个互相平行的数组中,而按照我们的第一感觉,好像这样的设计纯粹是玩弄我们的大脑,没有任何别的益处。其实仔细想想,这样的益处是很大的,在Windows 从 INT 载入 IAT 以后,INT 就几乎永远用不着了,而 IAT 使用得非常频繁,这样,CPU 就会把 IAT 载入 cache,如果把 INT 和 IAT 分离(两个平行的数组),CPU 载入 IAT 时就不会连 INT 也载入了。而如果不分离(INT和IAT中每项合并起来放入一个结构),CPU载入IAT时,因为没有用的 INT 项目在物理位置上(地址)和IAT的相应项目是相邻的,所以就连 INT 也一起载入了,这样就多浪费了一倍的 CPU cache。

在很多性能敏感的应用或系统中,这样的设计是很必要的,往往提高好几倍的性能。

 

分享到:
评论

相关推荐

    CPU Cache and Memory Ordering

    – 简单介绍CPU的架构,部分主要模块及其功能(Cache Structure, Cache Line , Set-Way); – Cache Coherence算法 (MESI, MOESI); – CPU Memory Ordering模型 (Atomic,Reorder,Memory Barrier (Compiler, CPU),...

    cpu cache 测试

    cpu cache 延迟周期 测试 也可以验证cpu cache大小

    结合CPU-Cache-急速内存池的一种实现.rar

    在"结合CPU-Cache-急速内存池的一种实现"这个项目中,开发者针对服务端应用的特点,巧妙地利用了CPU缓存(Cache)的特性,实现了更快速、更高效的内存池。 首先,我们要理解CPU缓存的作用。CPU运行速度远高于内存,...

    多Cache一致性__目录协议模拟器使用方法1

    多Cache一致性目录协议模拟器是一种用于理解分布式存储系统中Cache一致性问题的工具,它通过动画方式模拟了四个CPU(A、B、C、D)在访问内存时的情况。每个CPU都配备了一个包含4个块的Cache,而全局的分布式存储器...

    谈谈Cache——由主频相同的CPU性能差异所想到的.pdf

    由于现代CPU运算速度远超内存读写速度,Cache的存在可以显著减少CPU等待数据的时间,提高数据访问效率。根据其距离CPU核心的远近,Cache通常分为L1、L2和L3三级。 L1 Cache是最接近CPU核心的,也是最快的,但容量...

    通通透透看硬件——CPU篇.pdf

    "通通透透看硬件——CPU篇" CPU(Central Processing Unit,中央处理单元)是计算机系统的核心组件之一,负责执行指令和处理数据。下面我们将对 CPU 的知识点进行详细的介绍。 CPU 的结构 CPU 的结构主要包括三...

    cpu_cache_interrupt.zip_cache_cache verilog_cache 中断_cpu流水_inter

    在"自己做的MIPS_CACHE_中断CPU - 副本"这个文件中,很可能包含了一个基于MIPS架构的CPU模型,该模型具有Cache功能,并且实现了中断处理。通过阅读和理解这个Verilog代码,开发者可以学习到如何在硬件层面实现这些...

    cache的CPU设计.rar

    在“实验7.3——多级流水带cache的CPU设计”中,你可能需要实现以下功能: 1. 使用VHDL描述CPU的各个部分,包括ALU、控制单元和各种寄存器。 2. 设计多级流水线,处理流水线中的相关问题。 3. 实现Cache模块,包括...

    CPU Cache 基础文章.pdf

    CPU Cache 基础文章.pdf

    Cache的工作原理

    通常情况下,Cache的命中率很高,这大大减少了CPU等待数据的时间,提高了整体系统的响应速度。 #### 四、Cache的基本结构 根据Cache的组织方式不同,可以分为几种基本类型: ##### 1. 全相联Cache - **特点**:...

    高性能CPU从L3 Cache谈起.pdf

    从 Intel 的 CPU 发展计划来看,在 2005 年将采用 90 纳米工艺,制造具有 24 MB L3 Cache 的 CPU。 L3 Cache 的工作原理 L3 Cache 的工作原理可以分为三个级别:L1 Cache、L2 Cache 和 L3 Cache。CPU 需要一个数据...

    透过专利看微处理器的技术发展(六)——Cache专利技术的发展历程.pdf

    随着半导体加工工艺水平的不断提高,CPU 和存储器的性能都有了很大提高。因此,Cache 技术的发展变得越来越重要。 Cache 技术的发展历程可以分为几个阶段: 1. 早期 Cache 技术(1960s-1980s):早期 Cache 技术...

    cpumemory_optimization_memory_cpucache_

    《程序员必知的内存优化与CPU缓存》 在计算机科学领域,性能优化是一个至关重要的主题,特别是对于软件开发者来说,理解如何有效地利用CPU、内存和缓存是提高程序效率的关键。本文将深入探讨内存优化和CPU缓存的...

    5级无Cache流水CPU源代码

    在这个场景中,"5级无Cache流水CPU"指的是一个具有五个不同执行阶段且不配备Cache的处理器模型。下面将详细解释这个主题。 1. **流水线原理**: 流水线设计将CPU的运算过程分为取指、译码、执行、访存和写回等阶段...

    菜鸟也能玩硬件——CPU篇.pdf

    CacheMemory 的工作原理是这样的:当 CPU 需要读取数据时,它首先会检查 CacheMemory 中是否已经存储了该数据,如果已经存储了,那么 CPU 就可以直接从 CacheMemory 中读取数据,如果没有存储,那么 CPU 就需要从主...

    8位无Cache的5段流水CPU

    参考《16位5级流水无cache实验CPU课程设计实验要求》文档及其VHDL代码,在理解其思想和方法的基础上,将其改造成8位的5级流水无cache的实验CPU,包括对指令系统、数据通路、各流水段模块、内存模块等方面的改造。...

    架起CPU与内存桥梁——缓存详解(上).pdf

    架起 CPU 与内存桥梁——缓存详解(上).pdf 缓存是计算机系统中的一种高速存储器,它扮演着 CPU 和内存之间的桥梁角色。为了理解缓存在系统中的重要角色,我们必须了解缓存、CPU 和内存子系统之间的相互关系。 在...

    Attacking SMM Memory via Intel CPU Cache Poisoning

    In this paper we describe novel practical attacks on SMM memory (SMRAM) that exploit CPU caching semantics of Intel-based systems.

    分块矩阵优化cache

    若匹配成功,即发生“命中”,数据直接从Cache传输至CPU;反之,若未找到匹配项,即发生“失效”,需从主存获取数据并加载至Cache,然后传递给CPU。 #### Cache失效类型解析: - **义务失效**:当某个Cache行首次...

Global site tag (gtag.js) - Google Analytics