COM181 33511 CourseWorkSpecification
COM181 33511 CourseWorkSpecification
Coursework 1A
Design a 4-bit Arithmetic Logic Unit (ALU) with basic logic blocks (Logic Gates, MUX). A complete
solution takes in three 4-bit unsigned numbers A, B and C and should be capable of doing
1. Compute the function F1 = A + B - C
2. Computes a function F2 = A + B + C
3. Computes a function F3= 2’s complement of C
4. Computes F4 = A + 2*(B + C)
5. Computes F5 = A + 2*(B – C)
Part 1: Implement each of these components separately using basic gates- AND, OR, NOT. (Do not
use in-built functions from Logisim)
Part 2: Integrate these components to form a single ALU using control signals (Op-Sel) to choose any
one of the above five functions. Optimize the hardware if possible.
Part 3: A toy computer can be built using your ALU as shown in Figure 1. Use your ALU along with in-
built counter, ROMs, and RAM to implement this circuit in LogiSim. Test your circuit by storing
different values in ROM’s and observing the output in Output-RAM.
Part 4: How will you design a general-purpose computer with the ALU that you designed? Describe
using diagrams.
Submission: Please submit (in BlackBoard) a report containing your design as a Word or PdF
document. Attach Logisim files ( .circ ) used for simulating your circuit.
Evaluation Scheme:
https://www.youtube.com/watch?v=oI3X0XW-xkI&feature=emb_logo
Feedback will be provided within 4 weeks of submission as per University policy through BBL.
COM 181 Systems Architecture
Coursework 1B
This mini project will contribute towards 30% of your total marks.
Write a Step-Counter MIPS assembly program that can run under QtSPIM and use its console for input
and output. The program should present the user with sensible text messages and prompts and have
a good user interface. It should be well commented and accompanied by a word document giving
relevant diagrams, explanatory text and screen dumps. The description should allow anyone to
understand what the program does. Please submit your project on Blackboard as a zip file named as
SURNAME.zip. The zip file should contain a Word or similar document and a SURNAME.s file.
You will be able to access a short text file from BlackBoard containing the code shown below. You
should add this to your file before submitting it. The lines shown below describes an array with only
3 elements, but the actual text file (in BlackBoard) has an array consisting of 30 elements.
.data
array: .word 0x00, 0x33, 0x44
arraylength .word 0x03
.globl main
.text
Along with the code, submit a report (couple of A4 pages) having a description of your program and
explanatory diagrams such as flowcharts and/or screenshots. The description should be written in
such a way that anyone can easily understand what your program does. It should also include
information about how the program can be run.
The step-counter program should display a menu that allows a user to select a required function from
a given set of functions. The function set has the following features:
1. The program should allow the user to log in the step count for each day in a month (assume
month has 30 days) and store it in an array.
2. The program should display the step-count, in a visually pleasing manner.
3. The program should display the highest step-count. The program should also print the dates
on which the step-count was the highest. (Multiple instances if any also should be detected
and printed).
4. The program should be able to print the step-count of any particular date input by the user.
5. The program should display the lowest step-count. The program should also print the days on
which the step-count was lowest. (Multiple instances if any also should be detected and
printed).
The evaluation is as follows:
1. Presentation of both the report and the running of the program. 5 marks
2. Easy to understand. 5 marks
3. Code well commented. 5 marks
4. Code producing correct output. 5 x 3 = 15 marks
https://www.youtube.com/watch?v=oI3X0XW-xkI&feature=emb_logo
Feedback will be provided within 3 weeks of submission as per University policy through BBL.