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.
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
11 % To use one do something like: \gls{PowerPC}
12 % Note that the entries are case sensitive.
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}
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}
31 % https://en.wikibooks.org/wiki/LaTeX/Glossary
32 % http://tug.ctan.org/macros/latex/contrib/glossaries/glossariesbegin.pdf
34 % An empty entry to use as a template:
43 % BUG: the glossary entries have a '.' after them that I am not expecting.
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
49 \newglossaryentry{Binutils
}
53 GNU Binary Utilities is part of the toolchain used for creating and managing
54 binary objects (compiled code).
56 See:
\href{https://www.gnu.org/software/binutils/
}{GNU web site
}
60 \newglossaryentry{CPU
}
64 Central Processing Unit.
65 The brain of a conventional computer that executes general purpose programs.
66 Contrast with
\gls{GPU
} and
\gls{VPU
}.
71 \newglossaryentry{CSR
}
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.
83 \newglossaryentry{FPGA
}
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
}
93 \newglossaryentry{gcc
}
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
}
105 \newglossaryentry{GNU
}
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
}
115 \newglossaryentry{GPU
}
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
}
128 \newglossaryentry{IEEE754
}
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
}
139 \newglossaryentry{ISA
}
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
}
151 \newglossaryentry{JIT
}
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
}
161 \newglossaryentry{Linux
}
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
}
175 \newglossaryentry{LLVM
}
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
}
187 \newglossaryentry{PowerPC
}
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
}
198 \newglossaryentry{RISC
}
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
}
209 \newglossaryentry{RISCV
}
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
}
218 \newglossaryentry{SoC
}
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
}
229 \newglossaryentry{SPARC
}
233 A
\gls{RISC
} \gls{ISA
} created by Sun Microsystems.
234 See:
\href{https://en.wikipedia.org/wiki/SPARC
}{Wikipedia
}
238 \newglossaryentry{SupervisorMode
}
240 name=Supervisor Mode,
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.
248 \newglossaryentry{VPU
}
252 Video Processing Unit and Visual Processing Unit and Vector Processing Unit
253 Contrast with
\gls{CPU
} and
\gls{GPU
}.
258 \newglossaryentry{Z80
}
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
}
268 % Other entries to consider: