Forth 中的缓存请求 CPU

Cache request in Forth CPU

在计算机的 RAM 中存储了一个较长的程序,用 Forth 编程语言编写。它包含三个子函数,并且需要太多字节来将它们存储在 CPU.

的一级缓存中

需要一个缓存策略来决定只有 window 的 RAM 被复制到 CPU 缓存中。 Forth CPU 能够从一级缓存中读取,但不能从 RAM 中读取,因为访问 RAM 需要很长时间。

图中指令指针指向第一个字,目前已经执行了一个命令,很快就会到达“:add”字的末尾。但是接下来会发生什么?

如果CPU已经执行了一级缓存(+)中的最后一个命令,则没有进一步的命令。 Forth CPU 的哪一部分决定 卸载 CPU 缓存的当前内容并从 RAM 中检索新块?

我不确定这是否与“块缓冲区”、“Forth VM 中的堆栈缓存”或“基于硬件的 CPU 缓存有关。文献有点乱:

实际上,这似乎是一个不特定于 Forth 的一般问题 CPU。

CPU 将数据从内存检索到缓存中的部分称为 缓存控制器单元 缓存控制电路 .

另请参阅:Microprocessor Design/Cache wikibook, How does CPU identify if the instructions are decoded 问题。