gem5的Simple.py配置中的Icache和Dcache

时间:2019-10-28 00:55:17

标签: gem5

我试图了解使用gem5生成的模型。我使用gem5存储库中提供的gem5 / configs / learning_gem5 / part1 / simple.py配置文件模拟了build / X86 / gem5.opt。 在输出目录中,我得到以下.dot图:

enter image description here

我有以下疑问:

  1. 此设计没有任何指令和数据缓存吗?我检查了config.ini文件,没有配置统计信息,例如ICache / Dcache大小。
  2. 添加icache_port和dcache_port的目的是什么? system.cpu.icache_port = system.membus.slave system.cpu.dcache_port = system.membus.slave

1 个答案:

答案 0 :(得分:1)

  

此设计没有指令和数据缓存吗?我检查了config.ini文件,没有配置统计信息,例如ICache / Dcache大小。

我对该配置不是很熟悉,但是除非将缓存显式添加到某处,否则就不会有缓存。

只需将其与se.py运行进行比较,例如:

build/ARM/gem5.opt configs/example/se.py --cmd hello.out \
  --caches  --l2cache --l1d_size=64kB --l1i_size=64kB --l2_size=256kB`

肯定有缓存,例如gem5 211869ea950f3cc3116655f06b1d46d3fa39fb3a上的config.ini包含:

[system.cpu.dcache]
size=65536
  

添加icache_port和dcache_port的目的是什么?

我对端口系统不是很熟悉。

我认为端口通常在主/从对中用作组件通信的一种方式。 CPU是主机,高速缓存是从机。所以在这里,我认为这里有CPU端口,但是没有附加任何端口,因此没有缓存。

例如,在上面的se.py示例中,我们清楚地看到了这一点:

enter image description here