CS 354 | Computer Organization and Systems | Fall 2017 | |

## Project 5 - Arithmetic Logic Unit (ALU) Circuitry## GoalsIn this project you will create a functioning 4-bit Arithmetic Logic Unit using logisim. ## Arithmetic Logic UnitAt the very heart of computers is their ability to compute logical operations that can be interpreted as arithmetic computations. The part of the computer that performs these operations is called the Arithmetic Logic Unit or just simply the ALU. This is described in section C.5 in Appendix C of your text. Let's think abstractly about the ALU for now. The figure above shows a 1-bit ALU as described in your text. Ignore the internal components and focus on the interface (inputs and outputs). The ALU has several inputs: - Data Inputs
- A is the first data input value
- B is the other data input value
- Carry_In provides the Carry from addition in the previous place value
- Less provide a less than signal for an aggregate collection of ALUs
- Control Signals
- A_Invert drives a multiplexor to optionally invert the value of A
- B_Invert drives a multiplexor to optionally invert the value of B
- Operation (2 bits: Op_0 and Op_1)
- Result is the output of the computation performed by the ALU
- Carry_Out is the carry to send to the next place value
While it is often useful to think of the CPU as a black box, the goal of this course is for you to see all the gory details! Let's actually see how an ALU performs the computations and why they are correct. Underneath the interface layer, the main components of the ALU are: - A full adder that takes two bits plus a carry and produces a sum and carry (recall you did this in Project 1)
- An AND gate for ANDing the input values together
- An OR gate for ORing the input values together
- Inverters for NOTting the values of A or B
Recall that a MUX allows the selection of one of 2 ## Tasks
## DeliverablesSend me an email of your Logisim circuit file (.circ) for the 4-bit ALU an email attachment. Don't include extraneous circuitry in your final submission. ## ReferencesCopyright © 2017, David A. Reimann. All rights reserved. |