Computer Organization I, exam    17.12.2015             suomeksiToisella puolella suomeksi  

This is the course exam for lecture course Autumn 2015. This exam can not be used as final exam.
Question 4 is also miniexam 4.
Questions 1-3 are also make-up exams for miniexams 1-3.

Write in each answer sheat your name and signature, student id number, and course name.
It is sufficient to give 1-2 page answer to each question.
Please write the answer for each problem on its own sheet and return it in its own pile!
  1. [10 p] System structure, CPU, bus
    1. [5 p] In address 124 there is the next instruction "JNZER R1, JumpTable(R1)" to execute. How do the contents of registers PC, R1, IR, SR, MAR, MBR and TR change during the fetch-execute cycle for this instruction?
    2. [3 p] What are the interrupts and what are they needed for? How are they implemented in the fetch-execute cycle? Give a conrcrete machine language level example, relating to an interrupt occurring during the execution of instruction "JNZER R1, JumpTable(R1)". What type of interrupt does your example use?
    3. [2 p] Why do you need the privileged execution mode for the processor? How does it differ from normal execution mode? How is it in in practice implemented in the fetch-execute cycle?

  2. [10 p] Data representation and correctness, memory
    1. [1 p] What is the 16-bit two's complement Big-Endian representation of integer value -13 at byte address 0x11AABB00? What bits in what byte?
    2. [1 p] Like part (a), but with 8-bit representation.
    3. [1 p] Like part (a), but with Little-Endian representation.
    4. [3 p] What is the 32-bit IEEE floating point standard representation?
    5. [1 p] What is the 32-bit IEEE floating point standard representation for -4.50?
    6. [3 p] Which problem is solved with Hamming code, and how is it done (just main principles)?

  3. [10 p] Operating systems, external memory, I/O
    1. [3 p] Give an example on an event E, which results in moving a ready-to-run (ready) process P to running state. How is the move done?
      What happens to process Q, that was running when event E occurred?
    2. [3 p] It is important for the overall system that the operating system will get its turn to execute every now and then, and always when needed. How is this implemented?
    3. [4 p] How is the interrupt driven I/O (indirect I/O) implemented?
      How do the device driver DD and device controller process DCP running on the device controller communicate with each other during (interrupt driven) I/O?
      How and when does the DCP know what DD wants it to do?
      How and when does the DD know that the DCP has completed the task given to it?
     
  4. [10 p] Compilation, linking, loading, interpretation, emulation
    1. [1 p] What is Java virtual machine (Java VM, JVM)?
    2. [3 p] P is a program written in Java. How do you execute P with interpretation?
      What is P's representation at execution time, and how is it obtained?
      What advantage interpretation has as compared to (ordinary) compilation?
    3. [3 p] P is a program written in Java. How do you execute P with (ordinary) compilation (translation)? What is P's representation at execution time, and how is it obtained?
      What advantage compilation has as compared to interpretation?
    4. [3 p] P is a program written in Java. How do you execute P with JIT-compilation?
      What is P's representation at execution time, and how is it obtained?
      What advantage JIT-compilation has as compared to ordinary compilation?