Kääntöpuolella suomeksi
581365-8 Computer Organization II, Exam 7.6.2011
You may answer in English, Finnish, or Swedish.
Write in each answer sheet your name, signature, id-number, course name, and page nr/total nr of pages.
Write down any assumptions you need to make. One or two page answer is sufficient for each problem.
Exam grading will be done only in July.
- [10 p] Briefly
- What do terms ”big endian” and ”little endian” mean? Give a bit-level example.
- What is a page fault and how is it handled in the system?
- What is TLB? For what purpose is it used and when?
- What is bus multiplexing. Give an example using PCI-bus.
- What is bus arbitration? In which two ways it can be implemented?
- [8 p] Cache
- [4 p] Which problem is solved with MESI protocol. How does MESI protocol work (main principles)?
- [4 p] Explain how set-associative cache works. Use as an example an (unrealistically small) cache with 16-bit addresses, cache line length 16 bytes and total cache size is 512 bytes. The cache is two-way set-associative, i.e., the set size is 2. Right now we are processing a read reference to a 4-byte word in byte address 0x61A4.
Explain in details of the example cache structure and draw a diagram, that shows it. Make sure that your answer clearly indicates how the given byte address is split to parts/fields (on bit-level). Explain carefully how the referenced word is found from the cache.
Assume that the referenced word is found from the cache this time.
- [10 p] Control dependencies. Jumps and branches have a strong effect on the performance of a pipelined CPU. To execute them efficiently, several methods have been invented and implemented. Explain each of the following method: how it solves the problem, how the solution can be implemented. Describe also the advantages and disadvantages of each method.
- Delayed branch
- Multiple streams
- Loop buffer
- Branch prediction
- Predicated execution
- [8 p] Control
- [4 p] How is microprogrammed control implemented?
- What advantages/disadvantages are there in microprogrammed control as compared to hardwired control?
- What is the difference between horizontal and vertical microcode? Give an example.