-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathsimics-guide.tex
77 lines (58 loc) · 6.69 KB
/
simics-guide.tex
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
\chapter{Дополнительная информация по работе с~Simics} \label{chap:append01}
В данное приложение включены сведения о различных приёмах, используемых при ежедневном использовании Simics, не описанные в главах, посвящённых индивидуальным лабораторным работам. Данный материал не заменяет необходимость ознакомления с официальной документацией Simics, а лишь подчёркивает ключевые моменты в ней.
\section{Обновление workspace}
Для получения последних исправлений ошибок в моделях необходимо использовать самую свежую версию базового пакета Simics из установленных на системе. Номера доступных версий можно определить по именам существующих директорий (по умолчанию в \texttt{/opt/simics}). В дальнейших примерах последней версией будет считаться \textbf{4.6.32}, при этом 4.6 --- это основная версия, а последняя цифра --- номер минорной версии обновления, котороый будет использован ниже.
Каждая копия workspace характеризуется \emph{комбинацией} версий пакетов, в ней используемых. Версия пакета Simics Base (\textnumero 1000) определяет настройки версий остальных пакетов, установленных одновременно с ним. Для того, чтобы увидеть список установленных пакетов и их версии, используйте ключ \texttt{-v} при запуске Simics:
\begin{lstlisting}
$ ./simics -v
Simics Base 1000 4.6.32 (4051)
Model Library: Intel Core i7 with X58 and ICH10 2075 4.6.21 (4051)
Model Builder 1010 4.6.14 (4051)
Extension Builder 1012 4.6.6 (4042)
\end{lstlisting}
Также версию Simics можно узнать из командной строки любой уже запущенной симуляции c помощью команды \texttt{version}:
\begin{lstlisting}
simics> version
Installed Products:
Model Builder
Extension Builder
Model Library: Intel Core i7 with X58 and ICH10
Installed Packages:
Package Nbr Version Build Sources
=====================================================
Simics-Base 1000 4.6.32 4145 No
Model-Builder 1010 4.6.49 4146 No
Extension-Builder 1012 4.6.19 4141 No
x86-Core-i7-X58-ICH10 2075 4.6.59 4146 No
\end{lstlisting}
В примере сверху базовый пакет имеет версию 4.6.32. Обновления пакетов могут периодически устанавливаться в вашей системе для исправления ошибок в предоставляемых моделей. Однако уже созданные workspace будут по-прежнему использовать старые версии, если для них не выполнить процедуру обновления.
Для обновления workspace, как и для его создания, используется программа \texttt{workspace-setup}, находящаяся внутри новой версии базового пакета (версии 4.6.\textbf{<minor>}).
\begin{lstlisting}
$ /opt/simics/simics-4.6/simics-4.6.<minor>/bin/workspace-setup
Workspace updated successfully
\end{lstlisting}
\section{Список часто используемых команд Simics}
\dictum[А.Б.~Шипунов и др. Наглядная статистика. Используем R!]{Меню и кнопки отвлекают, создавая иллюзию простоты творческого процесса.}
\begin{center}
\small
\begin{tabularx}{\textwidth}{Xlp{0.4\textwidth}}
%\begin{longtable}{|p{0.3\textwidth}|l|p{0.3\textwidth}|}\
\textbf{Команда} & \textbf{Синонимы} & \textbf{Выполняемая функция}\\\hline
\texttt{help <topic>} & \texttt{man} & Справка по команде, классу или слову topic\\
\texttt{win-help} & & Открыть окно индексируемой справки \\
\texttt{continue} & \texttt{c, r, run} & Начать или продолжить симуляцию\\
\texttt{stop} & & Остановить симуляцию\\
\texttt{step-cycle [count]} & \texttt{sc} & Исполнить count циклов, печатаю следующую инструкцию\\
\texttt{exit} & \texttt{quit, q} & Выйти из симулятора\\
\texttt{run-command-file <script.simics>} & & Выполнить скрипт Simics\\
\texttt{pregs [-all]} & & Распечатать содержимое регистров текущего процессора\\
\texttt{print-time [-all]} & \texttt{ptime} & Вывести значение виртуального времени процессора\\
\texttt{win-control} & & Открыть окно \textbf{Simics Control}\\
\texttt{\%<register name>} & \texttt{read-reg} & Прочитать содержимое регистра текущего процессора \\
\texttt{\%<register name> = <val>} & \texttt{write-reg} & Записать значение в регистр текущего процессора \\
\texttt{output-radix <10|16>} & & Изменить основание используемой для вывода чисел системы счисления\\
\texttt{break <address>} & & Поставить точку останова по адресу \\
\texttt{delete [id]} & & Удалить точку останова по её номеру \\
\end{tabularx}
% \end{longtable}
\end{center}