Computer Science 306 - Assignment 1- Creating a Simple ALU-1
Computer Science 306 - Assignment 1- Creating a Simple ALU-1
If you have a Study.com College Saver membership and are seeking college credit for this course,
you must submit an assignment and pass the proctored final exam. You must submit your
assignment before registering for the final. Below you will find prompts and instructions for
submitting your assignment.
Study AI
About this Assignment
In this course, you began by learning the abstract concepts of Boolean logic and binary number
system and ended by using these concepts in order to implement advanced computer
architectures such as CPUs, memory systems, and parallel computers.
Decide on the number of operands for the ALU and design its instruction set
Phase One
Start by building an 8-bit ALU using Logisim. This ALU can implement 16 instructions on 8-bit
operands. In previous lessons, you created a 4-bit ALU; this will be 8-bit, and you should adjust/add
components accordingly.
Arithmetic addition
Increment
Decrement
Comparison (with 3 outputs: one for equals, one for less than and one for greater than)
Logic bitwise Or
In addition to these nine instructions, please suggest five more instructions that the ALU can
implement for a total of 14 instructions (we are reserving 2 instructions for branching). Justify the
importance of the five instructions you added in a Word doc to submit as part of this
assignment. Label these instructions as 'Phase One.'
After you've suggested and justified your five suggested instructions, please build at least the nine
above-mentioned operations as blocks in Logisim.
Phase Two
In phase two of the project, you are required to design the instruction set of the ALU/CPU as
follows:
Create the opcode table for the ALU by giving a binary code and a name for each
instruction you built in Logisim in phase one.
Decide how many operands you want your instructions to handle and justify your choice.
We suggest either one operand with accumulator or two operands with the result stored in
one of the input registers.
In Logisim, add a multiplexer to the circuit you built in phase one that chooses one of the
available operations. The simplest way to create this part of the CPU is to connect the outputs
of the multiplexer to the inputs of AND arrays connected to the output of the operation
blocks.
Please record your answer to phase two in the same Word doc and label it 'Phase Two.'
Phase Three
In phase three, you are required to use Logisim to implement the control unit for at least the
following three operations:
addition
In order to finish this phase, you need to add operand registers according to the decision you took
for the number of operands in phase two. Following the example in Building an ALU Using Logisim,
you will need to adjust for 8 bits. Following is a completed 4-bit ALU as an example.
Step 10: Final ALU Testing
Please record your answer to phase three in the same Word doc and label it 'Phase Three.'
Phase Four
In order to be able to write assembly language for the CPU we need to add two instructions
(without implementation). Write the following programs:
Write a program that adds operands until the new value to be added is 0. You do not need
to implement the input operations to modify the contents of the registers. Just assume that
by the end of each iteration, the register content is modified.
Write a program that shifts the content of a register until the least significant bit is 0. Think
of a way to stop shifting if the content of the register is 11111111 and add it to your program.
Please record your programs in the same Word doc and label them under the section 'Phase
Four.'
Related Chapters and Lessons
This assignment covers material presented in the chapters:
Sources
In addition to lessons in these chapters, you may refer to external sources as well. Any sources you
use for this project, whether external or on Study.com, should be cited on a reference page that
follows APA format. If you are unsure about how to use the APA format to cite your sources, please
see the following lessons:
Grading Rubric
Your project will be graded based on the following rubric:
Needs Total
Category Unacceptable (0-1) Acceptable (4-5)
Improvement (2-3) Points
Less than 5
The project
No additional additional
contains 5
Addition of 5 instructions are instructions are
additional
instructions to the suggested and/or suggested and/or 5
instructions with
ALU no choice the justification is
clear and correct
justification not clear or not
choice justification
correct
Not all 9
All 9 instructions are All 9 instructions
instructions are
Build the 9 original implemented in are implemented
implemented in
instructions in Logisim Logisim with some in Logisim and 10
Logisim and/or
(x2) minor functional functioning
there are major
issues correctly
functional issues
Registers are
Registers are not
added and
Add the operand added and/or not
N/A correctly 5
registers connected to the
connected to the
circuit
circuit
Total Points 50
If you are not satisfied with the score you receive on your assignment, you may revise or rewrite it,
and resubmit them for grading using the same submission form above. Keep in mind that the
grade you receive on your assignment is only a portion of your overall grade for the course, and
you are free to retake the proctored final exam as well if you choose. Please see the course syllabus
for a more detailed breakdown of the grading policy.
Explore our library of over 88,000 lessons