谈到效率,缓存是核心。
我知道缓存通常会自动发生。
但是,我想自己控制缓存的使用,因为我认为我可以比一些不知道确切程序的启发式方法做得更好。
因此,我需要汇编指令来直接移入或移出高速缓存单元。
喜欢:
movL1 address content
Run Code Online (Sandbox Code Playgroud)
我知道有一些指令会给出“缓存系统”提示,但我不确定这是否足够,因为这些提示可能会被忽略,或者它们可能不足以表达任何可以通过这种移入/移出缓存来表达的内容命令。
是否有任何允许完全缓存控制的汇编程序?
旁注:为什么我想改进缓存:
考虑一个具有 1 个寄存器和一个包含 2 个单元的缓存的假设 CPU。
考虑以下两个程序:
(其中 x,y,z,a 是存储单元)
"START"
"move 1 to x"
"move 2 to y"
"move 3 to z"
"move 4 to a"
"move z to x"
"move y to x"
"END"
"START"
"move 1 to x"
"move 2 to y"
"move 3 to z"
"move 4 to a"
"move a to x"
"move y to x"
"END"
Run Code Online (Sandbox Code Playgroud)
在第一种情况下,您将寄存器和缓存用于 x,y,z(a 只写入一次)在第二种情况下,您将寄存器和缓存用于 a,x,y (z只写入一次)
如果 CPU …