如何使用 "Simics Training" 和 "QSP CPU" 包?

How do I use the "Simics Training" and "QSP CPU" packages?

1 - 包管理器中显示了“Simics Training”包,以及“targets\simics-user-training”和“targets\workshop-01”。有关启动和完成这些培训的文档在哪里? (我假设这与普通的“my-simics-project-1/documentation.html”文档不同,因为该文档从未在“入门”部分中引用过这些目标中的任何一个)

2 - 在文档中有一行:“QSP-x86 包包含一个遗留处理器核心,默认情况下在包含的模拟机器中使用。要使用更现代的处理器,包 QSP-CPU 可以安装,其中包含最新的处理器内核。”如何实际使用 QSP-CPU 来 select 模拟不同的 CPU? (相关:我在发行说明中看到一堆 ICH10 的提及。默认 QSP-x86“targets\qsp-x86\firststeps.simics” 正在模拟什么?理想情况下,我想至少模拟一个基于 PCH 的系统.)

#点 1 如果您检查 SImics 项目中的 doc/ 文件夹,您应该有实验室说明。它们是 stand-alone PDF 有点不一致,但这来自它们当前的构建方式。寻找 nut-001 和 workshop-01。

#第 2 点(为什么 Whosebug 没有标题样式?您真的可以使用它们来编写结构良好的答案)

如果您已安装所有内容,请使用脚本“qsp-atom-core.simics”等 运行 标准 QSP 设置,但使用不同类型的内核。例如:

> simics.bat targets\qsp-x86\qsp-client-core.simics

要查看该核心是如何选择的,请打开脚本文件。比如看客户端核心脚本,先type/cat项目中的trampoline脚本。然后,去打开或 cat 或键入脚本文件本身。例如:

C:\Users\jengblo\simics-projects\my-simics-project-5>type targets\qsp-x86\qsp-client-core.simics
# Auto-generated file. Any changes will be overwritten!
decl { substitute "C:\Users\jengblo\AppData\Local\Programs\Simics\simics-qsp-cpu-6.0.1\targets\qsp-x86\qsp-client-core.simics" }
run-command-file "C:\Users\jengblo\AppData\Local\Programs\Simics\simics-qsp-cpu-6.0.1\targets\qsp-x86\qsp-client-core.simics"

鉴于蹦床,转到实际的脚本文件:

C:\Users\jengblo\simics-projects\my-simics-project-5>type C:\Users\jengblo\AppData\Local\Programs\Simics\simics-qsp-cpu-6.0.1\targets\qsp-x86\qsp-client-core.simics
# In order to run this, the QSP-x86 (2096), QSP-CPU (8112) and
# QSP-Clear-Linux (4094) packages should be installed.

decl {
! Script that runs the Quick Start Platform (QSP) with a client processor core.

 params from "%simics%/targets/qsp-x86/qsp-clear-linux.simics"
  default cpu_comp_class = "x86-coffee-lake"
  default num_cores = 4
}

run-command-file "%simics%/targets/qsp-x86/qsp-clear-linux.simics"

并注意“cpu_comp_class”参数是如何设置的。无可否认,找到可用的此类 classes 的方法有点晦涩难懂。在你的 运行ning Simics session 从 client-core 脚本启动(例如),检查主板内部组件的类型。

simics> list-components board.mb
┌─────────┬─────────────────────────┐
│Component│Class                    │
├─────────┼─────────────────────────┤
│cpu0     │processor_x86_coffee_lake│
│gpu      │pci_accel_vga_comp       │
│memory   │simple_memory_module     │
│nb       │northbridge_x58          │
│sb       │southbridge_ich10        │
└─────────┴─────────────────────────┘

注意 cpu0 组件的 class。要从同一模式中查找其他 classes,请使用 list-classes 命令:

simics> list-classes substr = processor_x86
The following classes are available:
┌─────────────────────────────┬──────────────────────────────┐
│            Class            │      Short description       │
├─────────────────────────────┼──────────────────────────────┤
│processor_x86QSP1            │N/A (module is not loaded yet)│
│processor_x86QSP2            │N/A (module is not loaded yet)│
│processor_x86_airmont        │N/A (module is not loaded yet)│
│processor_x86_broadwell_xeon │N/A (module is not loaded yet)│
...

然后您可以构建自定义脚本以从给定的核心开始。按照安装中找到的“qsp-client-core.simics”模式进行操作。将该文件复制到您的项目中,并修改核心 class 以及其他参数。