|
% TODO: Source for these operations being used in MIPS education? |
|
The simple ALU generally used in MIPS education (when discussing |
|
specifically its implementation) supports eight operations, taking a |
|
3-bit operation code. However, this is limited in ability, as many |
|
instructions that SWIM requires cannot be supported with only eight ALU |
|
operations. The eight-operation ALU can perform the following |
|
operations: \emph{add}, \emph{subtract}, \emph{unsigned compare}, |
|
\emph{signed compare}, \emph{bitwise and}, \emph{bitwise or}, \emph{left |
|
shift 16}, and \emph{bitwise not}. Operations such as \emph{multiply}, |
|
\emph{xor}, and so on, are missing. For this project, as outlined by the |
|
control signals in Section \ref{subsec:control-signals}, we use an |
|
extended version of the simple eight-operation ALU, where the operation |
|
code has been expanded to four bits, allowing for 16 total operations. |
|
The original eight are preserved, as those are commonly used in |
|
education, and additional operations follow after. |
Design-Document/swim.tex
Lines 2609 to 2623 in 2a9efe1