[Solved] CS520 Computer Architecture Project 1

$25

File Name: CS520_Computer_Architecture_Project_1_.zip
File Size: 357.96 KB

SKU: [Solved] CS520 Computer Architecture Project 1 – Category: Tag:
5/5 - (1 vote)

1. RULES

  • All students must work alone. Cooperation is not allowed.
  • Sharing of code between students is considered cheating and will receive appropriate action in accordance with University policy. The TAs will scan source code through various tools available to us for detecting cheating. Source code that is flagged by these tools will be dealt with severely.
  • You must do all your work in the C/C++.
  • Your code must be compiled on remote.cs.binghamton.edu or the machines in the EBG7 and EBQ22. This is the platform where the TAs will compile and test your simulator. They all have the same software environment.
  1. Project Description

In this project, you will construct a baking pipeline simulator.

3. Baking Pipeline Simulator

The baking simulator has the following 12 stages.

Stage Description
Scaling All ingredients are measured and lined up in order of use.
Mixing Ingredients are combined into a dough.
Fermentation The dough is allowed to ferment.
Folding The dough is folded to be degassed.
Dividing The dough is divided into the desired individual portions.
Rounding The portioned dough is loosely shaped into round balls.
Resting The dough is rested for a while to relax the gluten
Shaping The dough is formed into its final shape.
Proofing The dough goes through one final fermentation.
Baking The dough is baked.Note. The oven needs to be cleaned for 1 minute after every 10 baking.
Cooling The loaves are cooled on racks.
Stocking The baked bread is placed on shelves.

The baking pipeline receives one request at every minute. Suppose that every stage needs 1 minute except the baking stage. Note that the scaling stage takes a 10minute break after every 1000 requests to prepare new materials. Also, the baking stage needs a 1minute break after every ten baking. If the stage takes a break, the stage is stalled, and all the requests need the stage must wait until it becomes available again.

Unlike other stages, the baking stage needs 1 or 2 minutes, depending on the bread type. A bagel needs 1minute baking, and a baguette needs 2minute baking at the baking stage.

The norequest is there to inject a bubble into the pipeline. Thereby, even though the pipeline stage is stalled, the bubble still can proceed. For example, during the scaling stages break, norequest operations can still be read from the trace file.

The simulator receives one request among three request types as follows every minute.

> NoRequest

> BakeBagel

> BakeBaguette

The request traces (trace1, trace2, trace3, and trace4) are already provided. You must complete your projects in the provided project01.c and project01.h files. You cannot add extra files.

4. Validation and Other Requirements

4.1. Validation requirements

Sample simulation outputs are provided. You must run your simulator and debug it until it matches the simulation outputs. Your simulator must print the final results correctly as follows.

Baking count:

Bagel baking:

Baguette baking:

No request:

How many minutes to bake:

Performance (bakes/minutes):

Your output must match both numerically and in terms of formatting, because the TAs will diff your output with the correct output. You must confirm correctness of your simulator by following these two steps for each program:

  • Redirect the console output of your simulator to a temporary file. This can be achieved by placing > your_output_file after the simulator command.
  • Test whether or not your outputs match properly, by running this unix command: diff iw <your_output_file> <posted_output_file>

The iw flags tell diff to treat uppercase and lowercase as equivalent and to ignore the amount of whitespace between words. Therefore, you do not need to worry about the exact number of spaces or tabs as long as there is some whitespace where the sample outputs have whitespace. Both your outputs and final memory_map.txt must be the same as the solution.

  • Your simulator must run correctly not only with the given traces. Note that TA will validate your simulator with hidden traces.

4.2. Compiling and running simulator

You will hand in source code and the TA will compile and run your simulator. As such, you must be able to compile and run your simulator on machines in EBG7 and EBQ22. This is required so that the TAs can compile and run your simulator. You also can access the machine with the same environment remotely at remote.cs.binghamton.edu via SSH.

The pipeline receives a program name.

e.g. ./baking_sim traces/trace1 > results/traces/output_trace1

5. What to submit

You must hand in project1.c. Also, you must submit a cover page with the project title, the Honor Pledge, and your full name as electronic signature of the Honor Pledge. A cover page is posted on the project website.

6. Penalties

Various deductions (out of 100 points):

5 points for each date late during the first 6 days.

10 points for each date late after the first 6 days.

Up to 10 points for not complying with specific procedures. Follow all procedures very carefully to avoid penalties.

Cheating: Source code that is flagged by tools available to us will be dealt with according to University Policy. This includes a 0 for the project and other disciplinary actions.

Reviews

There are no reviews yet.

Only logged in customers who have purchased this product may leave a review.

Shopping Cart
[Solved] CS520 Computer Architecture Project 1
$25