Addis Ababa Science and Technology University
College of Engineering
Department of Electrical and Computer Engineering
Computer Architecture and Organization
Assignment II and Project Details Deadline: Dec. 30, 2024
Presentation: Dec. 31 or/and Jan 1
Note:
Please do not copy from one another, or from any other source.
Please include graphics (visual illustrations) to make your application better.
Assignment II (max. 5 marks)
1. Report on
a. Multicore Computers
b. Parallel Processing
c. Intel 8085 and 8086 Processor Organizations
Note that details like cache organization, memory organization, registers organization and
so on should be included.
2. Detailed discussion on architectures
a. RISC, with example architectures
b. CISC, with example architectures
Note: This assignment should be handwritten, and no maximum page limits, but should be at least 15 pages.
Page 1 of 3
Programming Project (max. 15 marks) (group assignment) (Report + Presentation/Demo)
Part – I: LMC Programming
1. Write a program on LMC that will accept three numbers and outputs the largest of the three numbers.
2. Write a program on LMC to list the prime numbers between 0 and an input number.
3. Write a program on LMC to calculate the factorial of an input number.
Part – II: Simulating Cache Mapping, Control Unit and Pipelining
Write an application program that illustrates/simulates the following workings of a computer system:
1. Cache Mapping Techniques
2. Microprogrammed Control Unit Implementation
3. Instruction Pipelining
PART I) Write an application program that implements Cache mapping techniques:
a. Direct Mapping
b. Associative Mapping
c. Set-Associative Mapping
Your program should (at least) do the following:
i. Allow the user to select the mapping technique he/she wants to visualize
ii. Based on the technique selected, allow to visualize the cache content
iii. Generate a random word (requested by the processor) and make sure if it is in cache
(hit) or not (miss)
iv. If hit, deliver to processor register. If miss, bring the word (a block containing the
requested word) and deliver the word to the processor.
v. Cache should always hold a portion of main memory at any given time
vi. Main memory content may be some randomly generated blocks of words.
vii. If cache is full, allow the user to make decide which replacement technique to use.
(Remember that in direct mapping that is not required).
PART II) Write an application program that implements microprogrammed control:
a. Vertical implementation
b. Horizontal implementation
Your program should (at least) do the following:
i. Allow the user to select the implementation type
ii. The user provides the specifications of his processor
a. Number of registers
b. Number of supported ALU functions
c. An instruction to execute
i. Optionally, you may allow her/him to select the number of buses (3-, 2- or
1-bus organization)
Page 2 of 3
ii. Show sequence of microoperations for the given instruction with their
corresponding time.
iii. Display the final control word (rows of bits representing the respective microoperations)
Note: You may expand the application to support more features than stated. That would be a plus!
Page 3 of 3