in English Kääntöpuolella suomeksi

581365-8 Computer Organization II, Course exam 16.10.2006  

Write in each answer sheet your name, signature, id-number, course name, and page nr/total nr of pages.

  1. [12 p] Combinatorial circuit is used to control a 7-segment display (see Figure below). The circuit has four inputs (X1, X2, X3, X4) and seven outputs (Z1, ..., Z7). The decimal number given as input is binary coded decimal number (BCD), i.e., numbers  0, 1, 2,..., 9 are coded into bits 0000, 0001, 0010, ..., 1001. Based on the input, the circuit determines which display segments will be activated (lit). When the corresponding output value 1, the display segment corresponding to it is lit. For example, if the input value is number 5 (X1 X2 X3 X4 = 0101), then display segments Z1, Z2, Z4, Z6, and Z7 are lit (value 1) and all other segments are dark (value 0).

    1. Give  Z7 as a truth table.
    2. Give Z7 as a Boolean statement in SOP (sum of products) form.
    3. Give Z7 as a Boolean statement in POS (product of sums) form.
    4. Give the SOP form Karnaugh map of Z7 and the simplest possible SOP-form for Z7 based on it. Show how the simplification was done with Karnaugh map.

  2. [12 p] Virtual memory
    1. What is the basic problem solved by virtual memory?
    2. What does TLB has to do with the basic problem? Which problem is solved with TLB? What use is there with TLB?
    3. What type locality is present in TLB? Why not the other one?
    4. What is inverted page table and what is good/bad with it as compared to ordinary page table?
       
  3. [12 p] Dependencies.
    1. What type dependencies between machine instructions appear in a normal (not super-scalar) pipeline? Give a concrete (machine language level) example on each dependency type.
    2. How can one prevent the possible problems caused by these (part a) dependencies? How can one reduce the performance deficiencies caused by them?
    3. What type dependencies between machine instructions appear in a super-scalar pipeline (dependencies not mentioned above)? Give a concrete (machine language level) example on each dependency type.
    4. How can one prevent the possible problems caused by these (part c) dependencies? How can one reduce the performance deficiencies caused by them?
       
  4. [12 p] IA-64 and Itanium. Explain the following concepts. Give a (machine language level) example to each one.
    1. Predicated execution
    2. Control speculation).
    3. Data speculation
    4. Software pipelining