0% found this document useful (0 votes)
30 views3 pages

Co 3

The document describes Project 3 for a computer organization course which involves extending a previous duo-core simulator to include private caches for each core using the LRU replacement algorithm and MSI cache coherence protocol. Students must implement the simulator, test it, and write a report documenting their work, the system design, algorithms, data structures, testing process, and source code with an emphasis on correctness and readability.

Uploaded by

nimmaladinesh82
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
30 views3 pages

Co 3

The document describes Project 3 for a computer organization course which involves extending a previous duo-core simulator to include private caches for each core using the LRU replacement algorithm and MSI cache coherence protocol. Students must implement the simulator, test it, and write a report documenting their work, the system design, algorithms, data structures, testing process, and source code with an emphasis on correctness and readability.

Uploaded by

nimmaladinesh82
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 3

Computer Organization – Draft Version

University at Albany
Department of Computer Science
ICSI 504 – Fall 2023
Project 3
Assigned: Thursday, November 9th, 2023.
Due: Tuesday, November 28th, 2023, by 11:59 PM. Submissions with 20% penalty will
be accepted by Thursday, November 30th, by 11:59 PM.

Student Name:

Purpose of the Project


The primary goal of this exercise is to extend your project-2 solution to include private cache
support to each core.

The Details
You are to develop a simulator for a new version of your previous developed duo-core version of
the abm abstract machine. As illustrated below your new machine has a cache component for each
processor. Each cache component must the capacity of two abm words. This means that it can store
at most three variables abm program variables. You are to use the Least Recently Used (LRU)
replacement algorithm for all cache updates. Your simulator must support all instructions included
in your previous solution for project-2 with the addition of support for the MSI cache coherence
write-back protocol.

PE1 PE2

Cache Cache

Memory Bus

Memory
All processor communications with memory will be under the control of the memory bus
component.

What to report
Each student must provide an itemized list of his or her own contributions to the components of the
following deliverables:
1. Software design (whole system or list specific modules),
2. Coding (whole system or list specific modules),
3. Debugging (whole system or list specific modules),
4. Report preparation (whole report or list specific sections/diagrams),
5. Other (any other relevant contribution).

If more than one student contributed to a particular component, quantify, as a percentage, each
student's contribution to this component. Also provide a short description of your own contribution.

How to report
The report must contain the following sections and sub-sections. Each section/subsection should be
clearly delineated with a proper heading.
1. External Documentation including [5-10 pages]:
a. Title page (Names and UAlbany IDs of group members must be included here).
b. A table of contents.
c. [30%] System documentation.
i. A high-level data flow diagram for the complete system.
ii. A list of routines and their brief descriptions.
iii. Implementation details.
d. [15%] Test documentation.
i. How you tested your program.
- Data used for all tests done.
- Testing outputs produced.
ii. List of program bugs and your plans to address them.
iii. Executable version of your solution.
iv. Difficulties and solutions involved in creating the program.
e. [5%] Algorithms and data structures.
i. Algorithms. Does your system use any complex algorithm?
If NO, skip to the next item,
If YES, describe your algorithm(s).
ii. Data structures. Does your system use any complex data structures such as
arrays, linked lists, stacks, queues, graphs, hash tables, or trees?
If NO, skip to the next item,
If YES, what criteria you used in deciding each data structure used, e.g.,
performance vs. flexibility?

f. [5%] User documentation.


i. What operating system was used.
ii. How to compile your program.
iii. What other applications (tools) does your system require.
iv. How to run your program.
v. Describe parameters (if any).
vi. Other requirements needed to run your executable.

2. Source Code
a. [40%] Correctness.
b. [5%] Programming style.
i. Layering.
ii. Readability.
iii. Comments.
iv. Efficiency.

What to Submit
 Your solutions must be submitted through blackboard.
 Your files for Project 3 must include the source code for all modules used for the exercise as
well as an executable file to allow your solution to be tested. You must place all your source
files as well as your testing results in a Microsoft Compressed (zipped) folder (.zip). Your (.zip)
folder must follow the format: 504 Project 3 Your Name. Marks will be deducted if you do not
follow this requirement.

You might also like