1
1
mirror of https://github.com/foxsen/archbase.git synced 2026-02-09 21:25:17 +08:00

IPC应为CPI。同时适当修改描述使得语义更清晰。

感谢@lyth031指正。

Resolved #16.
This commit is contained in:
Zhang Fuxin
2021-11-15 23:52:28 +08:00
parent 2a941feb5b
commit df8547f0b2

View File

@@ -102,7 +102,7 @@ knitr::include_graphics("images/chapter5/storage_hierarchy.png")
Cache是内存的映像其内容是内存内容的子集处理器访问Cache和访问内存使用相同的地址。从20世纪80年代开始RISC处理器就开始在处理器芯片内集成KB级的小容量Cache。现代处理器则普遍在片内集成多级Cache典型的多核处理器的每个处理器核中一级指令Cache和数据Cache各几十KB二级Cache为几百KB而多核共享的三级Cache为几MB到几十MB。现代处理器访问寄存器时一拍可以同时读写多个数据访问一级Cache延迟为1-4拍访问二级Cache延迟为10-20拍访问三级Cache延迟为40-60拍访问内存延迟为100-200拍。
CPU执行一个程序的时间可以描述为程序中的指令数×IPC×时钟周期。其中IPCInstruction Per Cycle表示每个时钟周期执行的指令数可以细分为运算指令的IPC×运算指令比例 + 访存指令的IPC×访存指令的比例。访存指令的IPC为平均访问延迟AMATAverage Memory Access Latency的倒数。在具有高速缓存的计算机中,
CPU执行一个程序的时间可以描述为程序运行的总动态指令数 * CPI * 时钟周期。其中CPICycle Per Instruction表示平均每条指令执行花费的时钟周期数。CPI可以进一步细分为每种类型指令的CPI与这类指令占总指令数比例乘积之和如运算指令CPI * 运算指令比例 + 访存指令CPI * 访存指令比例 + 其他指令CPI * 其他指令比例。访存指令CPI也称为平均访问延迟AMATAverage Memory Access Latency。在具有高速缓存的计算机中
$$AMAT = HitTime + MissRate * MissPenalty$$