对于计算机系统的一点个人理解

 

cpu访问内存的一个数据的流程:

  1. cpu会在逻辑地址空间中找到它要访问的逻辑地址,即得到一个虚拟地址

  2. 然后交给mmu硬件去访问TLB,命中则得到真实的物理地址,不命中则去访问主存DRAM,得到包含该页的页表,然后得到物理地址。

  3. 之后这个物理地址会按照cache的匹配方式分为标记位、组索引、块偏移,去访问SRAM(cache),命中则返回所需数据,不命中则访问主存DRAM

  4. 然后如果是进行读取操作的话是直接会行替换更新cache,写的话会看是否是写分配而更新cache。

 

而汇编代码的地址对应的是虚拟地址的话,那么重定位做的也只是在虚拟地址空间层面上的将地址重定位

posted @ 2022-03-14 18:16  青城墨白  阅读(42)  评论(0)    收藏  举报