Forth CPU

时间:2018-04-07 05:30:21

标签: cpu-cache forth hardware-design

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

需要一种缓存策略,决定只将RAM的一个窗口复制到CPU缓存中。 Forth CPU能够从第一级缓存读取,但不能从RAM读取,因为访问RAM需要花费很多时间。

在图中,指令指针指向第一个字并且到目前为止执行了一个命令,并且将在短时间内到达单词“:add”的结尾。但那会发生什么呢?

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

Enter image description here

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

1 个答案:

答案 0 :(得分:1)

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

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

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