I thought that I had done this
[libresoc-isa-manual.git] / powerpc-add / src / glossary.tex
1 % Glossary
2
3 % In the main documentation text I have not tagged every use of the glossary
4 % entries below, I have tagged the first in a chapter, or first use for some
5 % number of paragraphs.
6
7 % Put the definition of terms of the glossary terms in here
8 % Try to keep in alphabetic order - for easier editing, they will
9 % be generated (in the PDF) in alphabetic order regardless of the order below
10
11 % To use one do something like: \gls{PowerPC}
12 % Note that the entries are case sensitive.
13
14 % Having an entry below will not make it appear in the glossary,
15 % it will only appear if it is used, eg: \gls{PowerPC}
16
17 % How to use:
18 % GlsName The text that should be used in the document, eg: \gls{GlsName}
19 % GlsText The text that will be shown in the document in place of \gls{GlsName}
20 % GlsName and GlsText can be different but you will probably want
21 % to make them the same.
22 % \newglossaryentry{GlsName}
23 % {
24 % name=GlsText,
25 % description={
26 % See: \href{}{}
27 % }
28 % }
29
30 % See:
31 % https://en.wikibooks.org/wiki/LaTeX/Glossary
32 % http://tug.ctan.org/macros/latex/contrib/glossaries/glossariesbegin.pdf
33
34 % An empty entry to use as a template:
35 % \newglossaryentry{}
36 % {
37 % name=,
38 % description={
39 % See: \href{}{}
40 % }
41 % }
42
43 % BUG: the glossary entries have a '.' after them that I am not expecting.
44
45 % BEWARE: the documentation may need to be built more than once for all of the
46 % entries below to appear. This seems to be if an entry is only mentioned in another
47 % glossary entry.
48
49 \newglossaryentry{Binutils}
50 {
51 name=Binutils,
52 description={
53 GNU Binary Utilities is part of the toolchain used for creating and managing
54 binary objects (compiled code).
55 Used with \gls{gcc}.
56 See: \href{https://www.gnu.org/software/binutils/}{GNU web site}
57 }
58 }
59
60 \newglossaryentry{CPU}
61 {
62 name=CPU,
63 description={
64 Central Processing Unit.
65 The brain of a conventional computer that executes general purpose programs.
66 Contrast with \gls{GPU} and \gls{VPU}.
67 % See: \href{}{}
68 }
69 }
70
71 \newglossaryentry{CSR}
72 {
73 name=CSR,
74 description={
75 Control and Status Register.
76 A special register that records CPU status and processing options.
77 One important option to this project is that the special instructions
78 that we have created will be recognised.
79 % See: \href{}{}
80 }
81 }
82
83 \newglossaryentry{FPGA}
84 {
85 name=FPGA,
86 description={
87 Field-programmable gate array.
88 An integrated circuit where the circuitry can be reconfigured.
89 See: \href{https://en.wikipedia.org/wiki/Field-programmable_gate_array}{Wikipedia}
90 }
91 }
92
93 \newglossaryentry{gcc}
94 {
95 name=gcc,
96 description={
97 \gls{GNU} Compiler Collection.
98 A popular open source compiler for C (\& related), Fortran, Ada \& Go and able to generate
99 object code for many \gls{ISA}s including \gls{PowerPC}.
100 See: \href{https://en.wikipedia.org/wiki/GNU_Compiler_Collection}{Wikipedia}
101 }
102 }
103
104
105 \newglossaryentry{GNU}
106 {
107 name=GNU,
108 description={
109 The GNU project is a large collection of free software.
110 It provides many of the core programs that are used by many \gls{Linux} distributions.
111 See: \href{https://www.gnu.org/}{GNU website}
112 }
113 }
114
115 \newglossaryentry{GPU}
116 {
117 name=GPU,
118 description={
119 Graphics processing unit.
120 Special purpose processor optimised for graphics and image generation,
121 often able to run in parallel -- the same instructions on
122 different data at the same time.
123 Contrast with \gls{CPU} and \gls{VPU}.
124 See: \href{https://en.wikipedia.org/wiki/Graphics_processing_unit}{Wikipedia}
125 }
126 }
127
128 \newglossaryentry{IEEE754}
129 {
130 name=IEEE754,
131 description={
132 A popular standard way of representing and manipulating floating point numbers.
133 Initiated by the Institute of Electrical and Electronics Engineers in 1985.
134 Different precisions from 16 to 256 bits are described.
135 See: \href{https://en.wikipedia.org/wiki/IEEE_754}{Wikipedia}
136 }
137 }
138
139 \newglossaryentry{ISA}
140 {
141 name=ISA,
142 description={
143 Instruction Set Architecture.
144 An abstract model of a computer a definition that includes: registers, memory access,
145 input/output, data types, CPU instruction set.
146 Everything that is needed to be able to create programs to run on the machine.
147 See: \href{https://en.wikipedia.org/wiki/Instruction_set_architecture}{Wikipedia}
148 }
149 }
150
151 \newglossaryentry{JIT}
152 {
153 name=JIT,
154 description={
155 Just In Time compilation.
156 Translate when the program runs, only when needed.
157 See: \href{https://en.wikipedia.org/wiki/Just-in-time_compilation}{Wikipedia}
158 }
159 }
160
161 \newglossaryentry{Linux}
162 {
163 name=Linux,
164 description={
165 A free kernel on which free operating systems and specialised environments are built.
166 Linux is found all the way for small, embedded systems, to desktops, to servers
167 and the world's biggest super computers.
168 It runs on many \gls{ISA}s and supports a huge variety of peripheral devices.
169 Linux was inspired by Unix and is upwards compatible with POSIX.
170 See: \href{https://www.linuxfoundation.org/}{Linux Foundation}
171 }
172 }
173
174
175 \newglossaryentry{LLVM}
176 {
177 name=LLVM,
178 description={
179 A compiler and related toolchain.
180 An open source and able to compileAda, C, C++, D, Delphi, Fortran, Haskell, Julia, Objective-C, Rust, and Swift
181 able to generate object code for many \gls{ISA}s including \gls{PowerPC}.
182 See: \href{https://en.wikipedia.org/wiki/LLVM}{Wikipedia}
183 }
184 }
185
186
187 \newglossaryentry{PowerPC}
188 {
189 name=PowerPC,
190 description={
191 A \gls{RISC} \gls{ISA} created in 1991 by Apple, IBM and Motorola.
192 The name is a backronym: Performance Optimization With Enhanced RISC
193 Performance Computing, sometimes abbreviated as PPC or called POWER).
194 See: \href{https://en.wikipedia.org/wiki/PowerPC}{Wikipedia}
195 }
196 }
197
198 \newglossaryentry{RISC}
199 {
200 name=RISC,
201 description={
202 Reduced Instruction Set Computer.
203 A computer design philosophy that features simple but fast instructions,
204 often with many registers.
205 See: \href{https://en.wikipedia.org/wiki/Reduced_instruction_set_computer}{Wikipedia}
206 }
207 }
208
209 \newglossaryentry{RISCV}
210 {
211 name=RISC-V,
212 description={
213 An open sourced \gls{RISC} \gls{ISA} started in 2010 at the University of California, Berkeley.
214 See: \href{https://en.wikipedia.org/wiki/RISC-V}{Wikipedia}
215 }
216 }
217
218 \newglossaryentry{SoC}
219 {
220 name=SoC,
221 description={
222 System on a Chip.
223 An integrated circuit that has (almost all) the components needed to
224 make a fully running system.
225 See: \href{https://en.wikipedia.org/wiki/System_on_a_chip}{Wikipedia}
226 }
227 }
228
229 \newglossaryentry{SPARC}
230 {
231 name=SPARC,
232 description={
233 A \gls{RISC} \gls{ISA} created by Sun Microsystems.
234 See: \href{https://en.wikipedia.org/wiki/SPARC}{Wikipedia}
235 }
236 }
237
238 \newglossaryentry{SupervisorMode}
239 {
240 name=Supervisor Mode,
241 description={
242 A privileged CPU state where the program can execute instructions or otherwise
243 do things that a non-privileged program would not be allowed to do.
244 % See: \href{}{}
245 }
246 }
247
248 \newglossaryentry{VPU}
249 {
250 name=VPU,
251 description={
252 Video Processing Unit and Visual Processing Unit and Vector Processing Unit
253 Contrast with \gls{CPU} and \gls{GPU}.
254 % See: \href{}{}
255 }
256 }
257
258 \newglossaryentry{Z80}
259 {
260 name=Zilog Z80,
261 description={
262 An 8 bit processor produced by the Zilog Inc in 1986.
263 It is compatible with the Intel 8080 processor.
264 See: \href{https://en.wikipedia.org/wiki/Z80}{Wikiedia}
265 }
266 }
267
268 % Other entries to consider:
269 % emulator
270 % namespace
271 % MSB
272 % PCR
273 % ISANS
274 % SIE
275 % MISA
276 % WARL
277 % WLRL