计算机体系结构基础知识介绍之内存结构的36个术语汇总解释

内存层次结构是一种优化内存组织的方法,它可以最小化访问时间。内存层次结构基于一种称为局部性原理的程序行为而设计。以下是一些术语的简单定义:

  • cache:缓存是一种小型、快速的内存单元,位于CPU附近。它存储了最近从主存储器访问的频繁使用的数据和指令。
  • fully associative:全相联是一种缓存映射方式,它允许任何主存储器块映射到任何缓存块。
  • write allocate:写分配是一种缓存写策略,它在写入缓存时,如果发生缺失,就将主存储器块加载到缓存中。
  • virtual memory:虚拟内存是一种内存管理技术,它允许程序使用比物理内存更大的地址空间。虚拟内存通过将程序的地址空间分成大小相等的页,并将它们映射到物理内存中的页框来实现。
  • dirty bit:脏位是一种用于标记缓存或虚拟内存中的块是否被修改过的位。如果一个块被修改过,那么在替换或换出时,就需要将它写回主存储器。
  • unified cache:统一缓存是一种将数据和指令放在同一个缓存中的方法。这样可以提高缓存的利用率,但也会增加数据和指令之间的冲突。
  • memory stall cycles:内存停滞周期是指CPU因为等待内存访问而浪费的周期数。内存停滞周期取决于访问频率和访问延迟。
  • block offset:块偏移是指一个地址在一个块中的位置。块偏移可以用来确定一个地址所在的字节或字。
  • misses per instruction:每条指令的缺失数是指执行一条指令时发生的缺失次数。每条指令的缺失数可以用来衡量程序对缓存的敏感性。
  • direct mapped:直接映射是一种缓存映射方式,它将每个主存储器块映射到一个固定的缓存块。直接映射简单且快速,但也容易发生冲突。
  • write back:写回是一种缓存写策略,它只在替换或换出时才将修改过的块写回主存储器。写回可以减少对主存储器的访问次数,但也需要额外的脏位来标记修改过的块。
  • block:块是一组连续的字节或字,它是内存传输和替换的基本单位。一个块可以包含多个字节或字,也可以包含多个数据项或指令。
  • valid bit:有效位是一种用于标记缓存或虚拟内存中的块是否有效或已分配的位。如果一个块无效或未分配,那么它不能被访问或替换。
  • data cache:数据缓存是一种专门用于存储数据的缓存。数据缓存可以提高数据访问的速度,但也需要处理数据依赖和同步问题。
  • locality:局部性是一种程序行为,它表明程序倾向于在短时间内重复访问相同或相邻的内存地址。局部性可以分为时间局部性和空间局部性。
  • block address:块地址是指一个块在主存储器中的位置。块地址可以用来确定一个块所属的缓存集合或虚拟内存页。
  • hit time:命中时间是指在缓存或虚拟内存中找到所需数据所需的时间。命中时间包括查找时间和访问时间。
  • address trace:地址追踪是一种记录程序执行过程中访问的内存地址的方法。地址追踪可以用来分析程序的局部性和缓存行为。
  • write through:写直达是一种缓存写策略,它在写入缓存时,同时也将数据写入主存储器。写直达可以保持缓存和主存储器的一致性,但也会增加对主存储器的访问次数。
  • cache miss:缓存缺失是指所需数据不在缓存中的情况。缓存缺失会导致从主存储器或更低层次的内存中加载数据,从而增加访问延迟。
  • set:集合是一组具有相同索引位的缓存块。一个集合可以包含一个或多个缓存块,取决于缓存的相联度。
  • instruction cache:指令缓存是一种专门用于存储指令的缓存。指令缓存可以提高指令取得的速度,但也需要处理指令依赖和分支预测问题。
  • page fault:页故障是指所需数据不在物理内存中的情况。页故障会导致从辅助存储器或更低层次的内存中加载数据,从而增加访问延迟。
  • random replacement:随机替换是一种缓存或虚拟内存替换策略,它随机选择一个块进行替换。随机替换简单且公平,但也可能替换掉有用的块。
  • average memory access time:平均内存访问时间是指访问内存所需的平均时间。平均内存访问时间取决于命中率和缺失惩罚。
  • miss rate:缺失率是指发生缺失的概率。缺失率可以用来衡量程序对内存层次结构的适应性。
  • index field:索引位是指一个地址用于确定一个块所属的集合或页框的位。索引位可以用来快速定位一个块在缓存或虚拟内存中的位置。
  • cache hit:缓存命中是指所需数据在缓存中的情况。缓存命中可以直接从缓存中访问数据,从而减少访问延迟。
  • n-way set associative:n路组相联是一种缓存映射方式,它允许每个主存储器块映射到一个集合中的任何一个缓存块。n路组相联可以减少冲突,但也增加了查找时间和复杂度。
  • no-write allocate:不写分配是一种缓存写策略,它在写入缓存时,如果发生缺失,就不将主存储器块加载到缓存中。不写分配可以避免加载不需要的块,但也可能导致多次写入同一个块。
  • page:页是一组连续的字节或字,它是虚拟内存地址空间的基本单位。一个页可以包含多个字节或字,也可以包含多个数据项或指令。
  • 最近最少使用:最近最少使用是一种缓存或虚拟内存替换策略,它选择最长时间没有被访问的块进行替换。最近最少使用可以近似地模拟程序的局部性,但也需要额外的计数器或链表来记录访问历史。
  • 写缓冲区:写缓冲区是一种用于暂存写回或写直达的数据的缓冲区。写缓冲区可以允许CPU在不等待主存储器响应的情况下继续执行,但也需要处理缓冲区溢出和顺序一致性问题。
  • 缺失惩罚:缺失惩罚是指发生缺失时从更低层次的内存中加载数据所需的时间。缺失惩罚取决于内存层次结构的深度和宽度。
  • 标记位:标记位是指一个地址用于确定一个块在主存储器中的唯一位置的位。标记位可以用来比较一个块是否命中或缺失。
  • 写停滞:写停滞是指CPU因为等待写缓冲区空闲而浪费的周期数。写停滞取决于写频率和写延迟。

内存停滞周期是指CPU因为等待内存访问而浪费的周期数。内存访问经常是最慢的,因为它通常需要几十个时钟周期读或写主存,在此期间指令执行陷入停滞。这就是CPU缓存如此重要的原因:它可以极大地降低内存访问需要的周期数。

内存停滞周期会影响CPU的性能指标,如每指令周期数(CPI)和每周期指令数(IPC)。CPI较高代表CPU经常陷入停滞,通常都是在访问内存。而较低的CPI则代表CPU基本没有停滞,指令吞吐量较高。这些指标指明了性能调优的主要工作方向。内存访问密集的负载,可以通过使用更快的内存(DRAM)、提高内存本地性(软件配置),或者减少内存I/O数量来提高性能。

 页故障指的是当软件试图访问已映射在虚拟地址空间中,但是目前并未被加载在物理内存中的一个分页时,由中央处理器的内存管理单元所发出的中断。页故障通常是由于程序的内存需求超过了物理内存的容量,或者由于程序访问了无效或受保护的地址而引起的。

当发生页故障时,操作系统会根据虚拟地址和页表来确定所需数据在主存储器或辅助存储器中的位置,并将其加载到物理内存中的一个空闲分页,并更新页表和其他相关数据结构。然后,操作系统会将控制权返回给程序,让它重新执行导致页故障的指令。

猜你喜欢

转载自blog.csdn.net/qq_52505851/article/details/131830554