gem5 Simple.py 配置中的 Icache 和 Dcache
Icache and Dcache in Simple.py configuration of gem5
我正在尝试了解使用 gem5 生成的模型。我使用 gem5 存储库中提供的 gem5/configs/learning_gem5/part1/simple.py 配置文件模拟了 build/X86/gem5.opt。
在输出目录中,我得到以下 .dot 图:
我有以下疑惑:
- 这个设计没有任何指令和数据缓存吗?我检查了 config.ini 文件,没有配置统计信息,例如 ICache/Dcache 大小。
- 添加icache_port和dcache_port的目的是什么?
system.cpu.icache_port = system.membus.slave
system.cpu.dcache_port = system.membus.slave
Does this design not have any Instruction and Data Cache? I checked the config.ini file there were no configuration statistics such as ICache/Dcache size.
我不是很熟悉那个配置,但是除非在某处明确添加了缓存,否则就没有缓存。
只需将其与 se.py 运行 进行比较,例如:
build/ARM/gem5.opt configs/example/se.py --cmd hello.out \
--caches --l2cache --l1d_size=64kB --l1i_size=64kB --l2_size=256kB`
肯定有缓存,例如config.ini
在 gem5 211869ea950f3cc3116655f06b1d46d3fa39fb3a 包含:
[system.cpu.dcache]
size=65536
What is the purpose of adding the icache_port and dcache_port?
我对端口系统不是很熟悉
我认为端口被用作组件通信的一种方式,通常在主/从对中,例如CPU为主,缓存为从。所以在这里我认为 CPU 端口在那里,但没有附加任何东西,所以没有缓存。
例如上面的se.py例子我们看得很清楚:
我正在尝试了解使用 gem5 生成的模型。我使用 gem5 存储库中提供的 gem5/configs/learning_gem5/part1/simple.py 配置文件模拟了 build/X86/gem5.opt。 在输出目录中,我得到以下 .dot 图:
我有以下疑惑:
- 这个设计没有任何指令和数据缓存吗?我检查了 config.ini 文件,没有配置统计信息,例如 ICache/Dcache 大小。
- 添加icache_port和dcache_port的目的是什么?
system.cpu.icache_port = system.membus.slave system.cpu.dcache_port = system.membus.slave
Does this design not have any Instruction and Data Cache? I checked the config.ini file there were no configuration statistics such as ICache/Dcache size.
我不是很熟悉那个配置,但是除非在某处明确添加了缓存,否则就没有缓存。
只需将其与 se.py 运行 进行比较,例如:
build/ARM/gem5.opt configs/example/se.py --cmd hello.out \
--caches --l2cache --l1d_size=64kB --l1i_size=64kB --l2_size=256kB`
肯定有缓存,例如config.ini
在 gem5 211869ea950f3cc3116655f06b1d46d3fa39fb3a 包含:
[system.cpu.dcache]
size=65536
What is the purpose of adding the icache_port and dcache_port?
我对端口系统不是很熟悉
我认为端口被用作组件通信的一种方式,通常在主/从对中,例如CPU为主,缓存为从。所以在这里我认为 CPU 端口在那里,但没有附加任何东西,所以没有缓存。
例如上面的se.py例子我们看得很清楚: