理解CPU访存:层次结构存储系统解析

需积分: 0 14 下载量 109 浏览量 更新于2024-07-11 收藏 6.51MB PPT 举报
"CPU访存过程-计算机系统基础第六章ppt" CPU访存过程是计算机系统执行指令的基础,它涉及到多个层次的存储器系统,包括高速缓存(Cache)、主存、磁盘存储器以及虚拟存储器。在这个过程中,硬件和操作系统相互协作,确保数据的高效访问。 首先,我们关注CPU与主存的连接。CPU执行指令时,需要从内存中读取指令和数据。当CPU发出地址请求时,会先查找高速缓存,这是因为Cache的访问速度远快于主存,如果数据在Cache中(命中),则可以直接读取,提高系统性能。如果Cache未找到(缺失),则需要通过主存来获取数据。主存的访问速度虽慢,但容量较大,能存储大量指令和数据。 高速缓存的工作原理基于程序的局部性原则,即程序倾向于在短时间内重复访问同一块内存区域。Cache通过行和主存块之间的映射方式(如直接映射、全相联映射或组相联映射)来存储最近使用的数据,以提高命中率。 当Cache也找不到所需数据时,就会发生主存缺失。此时,如果系统使用了虚拟存储器,OS会在地址转换过程中介入。地址转换通常包括逻辑地址到线性地址再到物理地址的转换,可能需要查询页表和TLB(Translation Lookaside Buffer)。TLB用于快速查找页表信息,如果TLB中没有对应条目(TLB缺失),则需要操作系统协助处理,通过页表找出实际的物理地址。 在IA-32/Linux系统中,地址转换涉及到的步骤包括:首先,逻辑地址经过页表翻译成线性地址,然后线性地址再映射到物理地址。这个过程保证了程序可以独立于物理内存布局运行,同时,通过页面替换策略,使得有限的主存能够处理更大的虚拟地址空间。 在磁盘存储器部分,由于磁盘速度远慢于主存,所以通常用于长期存储大量数据。磁盘访问通常伴随着I/O操作,这在CPU执行指令时会导致较大的延迟。 CPU访存是一个复杂的过程,涉及硬件的多层次存储系统和操作系统的地址转换、页面管理和异常处理机制。理解这一过程有助于优化程序设计,利用局部性原理提高程序执行效率,并且对理解和调试系统行为具有重要意义。