\subsection{Hardware peripherals}

Planning of the peripherals was done based on the information provided on large
parts by David Oberhollenzer. A lot of his advice contributed heavily to the
direction the development went. 

\subsubsection{Peripherial selection}

The selection of the hardware peripherals was done based on implementation
difficulty, common use in computer systems, relevance in current times and
wether they were fitting for demonstrative purposes.

\paragraph{Serial communication interface}

Serial communication interfaces have been around for a long time. They have been
used for many different applications from early mouse pointer devices
\cite{232mouse} to user input terminals\cite{vt100}
which are far away from the real computer system. They are still very common in
smaller embedded sytems and in the server space where they are used as a simple
and less error prone way to interface with the operating system and programs
running there. They are fairly easy to implement as there are a  interface
ICs which provide a more generic interface for serial communications
\cite{pc16550}. Most SOCs
\footnote{SOC... System on a Chip} have some form of serial communication
interface. The most common serial interface voltages are 3.3V, 5V and levels
as per TIA-/EIA-232 specification\cite{rs232}.

\paragraph{Parallel Port interface}

Parallel ports are absent on most modern computer systems but historically have
been the high speed interfaces on computers. Early computer systems used 
parallel-ports for expansions and the ISA-Bus
\footnote{ISA...Industry Standard Architecture} was for some time the main way
of expansion for PCs
\footnote{PC in this thesis referrs to Computer Systems using the x86 
Architecture}. Most younger people remeber parallel ports as the port for
printers on their home PCs. A prallel port is easy to implement because it has
simmilar use of control, data and address lines like a processor uses internally
anyways\cite{laval_parallel}. Usage of the standard IEEE 1284 port limits the
design to the signals on this port or makes the use of the signals on this port
obligatory.

\paragraph{Digital to Analog Converter}

Digital to Analog Converters or more commonly DACs are used on all modern PCs
for sound output. They have been around for longer and some external sound card
interfaces have been standardisedlike AC '97\cite{ac97}. Implementation of a
standard audio interface requires higher speed connections or more precise 
timing for ac97 for example. Earlier computer systems did not have a sound card
as it doesn't have import usage for computing and user input tasks and later
on computer systems only had a PC speaker for diagnostics such as the IBM PC AT
\cite{ibmpc} which can only procude one specific frequency and does not have a
DAC. A dac is not easy to implement as it requires a constant sampling rate and
a buffer to be of any practical use.

\paragraph{Graphical output / GPU}

Graphical output on older computer systems such as the EDVAC
\cite{neumann} was not possible because it requires
either a heavy load on the processor or dedicated hardware and due to the mostly
scientific use it was easier to just print the caracters as letters via a
printer. Drawing characters
onto a screen is by itself not an easy task as it requires, for example for
VGA a Digital to Analog Converter with 25MHz sampling rate and a buffer to
contain all needed data for one frame or at least parts of it, while the CPU
renders the frame\cite{vga}. Screen output is one of the if not the most common
form of output on a computer today.

\paragraph{Inter Integrated Circuit}

Inter Integrated Circuit or IIC for short is a standard for serial transmission
between Integrated circuits\cite{iic}. This is done on a master-slave basis and
transmission speed is fairly low in standard 100kBit/s mode. The bus is used
on many different platforms for many different things including HDMI DDC
\cite{ddc}. Though there are some IIC ICs which can interface with a parallel
bus such as the PCA9564 \cite{pca9564} but these are either limited in
capability or not easy to use and implement. Most people don't have an
understanding of IIC as it is only known in technical fields.

\paragraph{Utility analysis}

Among the above mentioned processor peripherals from the criteria mentioned
before a utility analysis was performed. To do this different point have been
credited for the criteria mentioned which can be seen in Table 
\ref{tab:utility_base}. The multipliers in Table \ref{tab:utility_base} have
been applied to the points and the sums in Table \ref{tab:utility_result} 
resulted. Based on this 
result the DAC and Serial Communication interface were chosen as peripherals.

\begin{table}[H]
	\centering
	\resizebox{\textwidth}{!}{
		\begin{tabular}{ |l||c|c|c|c|c|}
			\hline
			Criteria 	& serial port   & parallel port & DAC	& GPU	& IIC\\
			\hline
			\hline
			implementation	& 0		& 0		& 1	& 4	& 2\\
			\hline
			common use	& 2		& 1		& 3	& 3	& 1\\
			\hline
			relevance	& 2		& 1		& 3	& 3	& 1\\
			\hline
			demonstrative	& 2		& 1		& 3	& 2	& 1\\
			\hline

		\end{tabular}
	}
	\caption{utility analysis base points for peripherals}
	\label{tab:utility_base}
\end{table}

\begin{table}[H]
	\centering
	\begin{tabular}{ |l|c|}
		\hline
		Criteria 	& multiplier \\
		\hline
		\hline
		implementation &	-2\\
		\hline
		common use &		1\\
		\hline
		relevance &		2\\
		\hline
		demonstrative &		3\\
		\hline


	\end{tabular}
	\caption{utility analysis multipliers for peripherals}
	\label{tab:utility_mul}
\end{table}


\begin{table}[H]
	\centering
	\resizebox{\textwidth}{!}{
		\begin{tabular}{ |l||c|c|c|c|c|}
			\hline
			Criteria 	& serial port   & parallel port & DAC	& GPU	& IIC\\
			\hline
			\hline
			implementation	& 0	& 0	& -2	& -8	& -4\\
			\hline
			common use	& 2	& 1	& 3	& 3	& 1\\
			\hline
			relevance	& 4	& 2	& 6	& 6	& 2\\
			\hline
			demonstrative	& 6	& 3	& 9	& 6	& 3\\
			\hline
			\hline
			\textbf{SUM}	& 12	& 6	& 16	& 7	& 2\\
			\hline

			\hline

		\end{tabular}
	}
	\caption{utility analysis results for peripherals}
	\label{tab:utility_result}
\end{table}
