-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathmain.tex
217 lines (167 loc) · 6.79 KB
/
main.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
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% Bachelor's & Master's Thesis Template %%
%% Copyleft by Dawid Weiss & Marta Szachniuk %%
%% Faculty of Computing and Telecommunication %%
%% Poznan University of Technology, 2020 %%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Szkielet dla pracy licencjackiej pisanej w języku polskim.
\documentclass[english,bachelor,a4paper,oneside]{ppfcmthesis}
\usepackage[utf8]{inputenc}
\usepackage[OT4]{fontenc}
% Fix footnotes to the bottom of the page
\usepackage[bottom]{footmisc}
% Better table formatting
\usepackage{makecell} % Makecell for breaking a long text
\renewcommand{\cellalign}{tl} % Makecell left alignment
\renewcommand{\arraystretch}{1.75} % More vertical padding
% Code snippets
\usepackage{listings}
\usepackage{color}
\usepackage{multicol}
\usepackage{caption}
\usepackage{subcaption}
\usepackage{multirow}
\usepackage{pdfpages}
\definecolor{codegreen}{rgb}{0.00,0.60,0.00}
\definecolor{preprocesorbrown}{rgb}{0.50,0.25,0.23}
\definecolor{codelightblue}{rgb}{0.30,0.70,0.60}
\lstset{frame=tb,
aboveskip=3mm,
belowskip=3mm,
showstringspaces=false,
columns=flexible,
basicstyle={\small\ttfamily},
numbers=none,
numberstyle=\tiny\color{gray},
keywordstyle=\color{codelightblue},
commentstyle=\color{codegreen},
stringstyle=\color{preprocesorbrown},
breaklines=true,
breakatwhitespace=true,
tabsize=2,
captionpos=b
}
% Lists without bulletpoints
\usepackage{enumitem}
\lstdefinestyle{lstC}
{
language = C,
keywordstyle = \color{blue}\ttfamily,
commentstyle = \color{codegreen}\ttfamily,
stringstyle = \color{red},
emphstyle = \color{codelightblue}\ttfamily,
directivestyle = \color{preprocesorbrown}\ttfamily,
morekeywords = {inline, target_ulong, uint32_t, uint64_t, no_inline, BOOL, _Bool},
}
\lstdefinestyle{lstCsharp}
{
language = C++, % No C# support
keywordstyle =\color{blue}\ttfamily,
commentstyle =\color{codegreen}\ttfamily,
stringstyle =\color{red},
emphstyle =\color{codelightblue}\ttfamily,
directivestyle =\color{preprocesorbrown}\ttfamily,
morekeywords ={var,async,await,using,byte,string,get,set,uint, checked},
emph ={Descendants,First,FormUrlEncodedContent,HttpClient,
HttpWebRequest,HttpWebResponse,JObject,JProperty,
KeyValuePair,Length,List,OfType,
PropertyChangedEventHandler,Stream,StreamReader,
Value,WebRequest,Where}
}
%--------------------------------------
% Strona tytułowa
%--------------------------------------
% Autorzy pracy, jeśli jest ich więcej niż jeden
% wstaw między nimi separator \and
\author
{%
Patryk Kościk \album{144635}
}
\authortitle{} % Do not change.
\title
{%
Performance analysis of different emulation methods
in control systems and IoT devices on the example of
the Renode Framework
}
% Your supervisor comes here.
\ppsupervisor{dr inż.~Adam Turkot}
% Year of final submission (not graduation!)
\ppyear{2023}
\begin{document}
% Front matter starts here
\frontmatter\pagestyle{empty}%
\maketitle\cleardoublepage%
%--------------------------------------
% Miejsce na kartę pracy dyplomowej
%--------------------------------------
\thispagestyle{empty}\vspace*{\fill}%
\begin{center}Tutaj będzie karta pracy dyplomowej;\\oryginał wstawiamy do wersji dla archiwum PP, w pozostałych kopiach wstawiamy ksero.\end{center}%
\vfill\cleardoublepage%
% \thispagestyle{empty}\vspace*{\fill}%
\begin{vplace}
\begin{center}
\huge{\textit{Abstract}}
\end{center}
In the context of control systems, embedded systems, and IoT devices, emulation refers to a collection of software
techniques that enable developers or end-users to execute unmodified software intended for different hardware
architectures. This technology had become an inseparable part of the development cycle in the Industry 4.0 era, thus the
effort arose to improve the performance capabilities of this techniques. Many of the emulation optimization efforts had
negative side effects on the portability and maintainability, limiting the possible scope of numerous projects.
Simulation by translation classifies as one of these optimization methods. In further chapters, this work will
present the differences between translation and interpretation CPU simulation, focusing mainly on the underlying code,
modes of operation, and speed.
\end{vplace}
\newpage
\begin{vplace}
\begin{center}
\huge{\textit{Streszczenie}}
\end{center}
W kontekście systemów sterowania, systemów wbudowanych oraz urządzeń IoT, emulacja odnosi się do zbioru technik
programistycznych, które umożliwiają programistom oraz użytkownikom końcowym uruchomienie niezmodyfikowanego
oprogramowania zaprojektowanego dla niekompatybilnych architektur sprzętowych. Technologia ta stała się nieodłącznym
elementem cyklu rozwoju w erze Przemysłu 4.0, dlatego też pojawiły się wysiłki mające na celu poprawę wydajności
emulatorów. Wiele z działań mających na celu optymalizację emulacji miało negatywne efekty uboczne na przenośność i
łatwość utrzymania projektów, ograniczając możliwość wykorzystania ich w wielu projektach. Symulacja przez translację
klasyfikuje się jako jedna z tych metod optymalizacji. W dalszych rozdziałach niniejszej pracy przedstawione zostaną
różnice pomiędzy symulacją translacyjną a interpretacyjną procesora, skupiając się głównie na kodzie źródłowym,
mechanizmach, oraz szybkości działania.
\end{vplace}
\newpage
%--------------------------------------
% Spis treści
%--------------------------------------
\pagenumbering{Roman}\pagestyle{ppfcmthesis}%
\tableofcontents*
\cleardoublepage % Zaczynamy od nieparzystej strony
%--------------------------------------
% Rozdziały
%--------------------------------------
%Najwygodniej jeśli każdy rozdział znajduje się w oddzielnym pliku
\mainmatter%
\input{chapters/01-introduction.tex}
\input{chapters/02-simulation_basics.tex}
\input{chapters/03-translation.tex}
\input{chapters/04-interpretation.tex}
\input{chapters/05-implementation.tex}
\input{chapters/06-analysis.tex}
\input{chapters/07-conclusions.tex}
%--------------------------------------
% Literatura
%--------------------------------------
\bibliographystyle{unsrt}{\raggedright\sloppy\small\bibliography{bibliografia}}
%--------------------------------------
% Dodatki
%--------------------------------------
\cleardoublepage\appendix%
\newpage
% Removing all includes from this section breaks some conditional
\if
% \begin{appendices}
% % \include{chapters/A-definitions.tex}
% \end{appendices}
%--------------------------------------
% Informacja o prawach autorskich
%--------------------------------------
\ppcolophon
\end{document}