CS 2700: Assembly Language and Computer Architecture

Spring 2024 - Lab 3

Due 5/1

  1. Use one of the Windows machines in DBH 288 -- the black machines on the rows closer to the back of the room.
  2. Log in with your OIT user name and password so that you will be able to save any files you work on for later use.
  3. Visit our textbook's official web site, select the "SAMPLE MATERIALS" tab, and download the MARIE Simulator file.
  4. Double-click on 'MARIE_Simulator.zip". Most Windows machines will automatically "unzip" (uncompress the file, compressed into the zip file format) if you double-click on the file name.
  5. In Windows, open the Windows Explorer, go to Downloads or Desktop -- wherever your web browser placed the unzipped MARie simulator files.
  6. Copy the marieDPI.jar file out into a folder that is not inside the Windows zip file viewer. (Your Desktop is a good choice.) Double-click on the copy of marieDPI.jar.
  7. Assemble and load into the data path simulator Ex4_1.mas (the same program you looked at as part of Lab 1). [You will need to assemble the code, to generate a .mex file.]

  8. Set the stepping speed (using the Set Speed button) to a rate at which you can closely examine register values and RTL instructions change with the movement of data. (10,000 is a good value to start with.)

  9. Step through several assembly language statements in example 4_1. Take your time. Figure out how the displayed RTL commands correspond to changes in register contents. Examine which parts of the process are common to all instructions and which parts are specific to particular assembly language commands. (Spend at least 10 minutes on this activity.)

  10. MARIE DP simulator questions:

    1. Why does the simulator use 3-numeral hex values to specify the contents of the PC and MAR (bottom right) when all the other registers use 4 numerals?

    2. Which part(s) of the diagram turn pink, when does it/they and what does the color change indicate? (What is the part doing?) If you don't see anything turning pink, set your step speed to a bigger number and try again.

    3. What is stored in the IR when the AC is set to 000A for the second time? What does the IR change to 3 clock cycles (lines in the bottom right window) later? Where does 12 bits of the IR data go a few clock cycles after the instruction (the second IR contents you identified) starts?

    4. What does it mean when the blue lines at the bottom of the diagram (above the RTL instructions) turn red? What does it mean when some of the blue lines at the bottom turn red and some stay blue? (Looking closely at the RTL instructions and which instructions correspond to which color changes may help you figure this out.)

    5. What does it mean when the red line between the MAR and main memory turns red? What RTL instruction(s) are visible at times when the line between MAR and main memory is red?

  11. Upload a plain text (.txt) or MS Word document containing your answers to the questions above (and your name) to Canvas by the assignment deadline.

Last updated 4/23/2024