Yliopiston etusivulle Suomeksi På svenska In English
Helsingin yliopisto Tietojenkäsittelytieteen laitos
 

Department of Computer Science

Suomeksi In English Homework

Computer Organization II,  Fall 2006, HW 1

This will be covered in practise session during the week 36 (4-8.9.2006).
Please notice, that this practice session is at the same week as the lectures begin!
  1. Basic components
    1. What are the basic componets of a computer system?
    2. What is common/different with a cell phone and a desk top computer system?
    3. What is common/different with a smart card and a desk top computer system?
    4. How is the processor attached to the rest of the system?
    5. What type/kind of registers are needed? How many?

  2. Program execution
    1. How is a program executed?
    2. What does the processor know about the program in execution?
    3. What does the program know about the processor executing it?

  3. I/O.
    1. Explain term memory-mapped I/O?
    2. What other possibilities are there to implement I/O than memory-mapped I/O?
    3. Why would memory mapped I/O be better than its alternative(s)?
    4. How can one implement a system where user level processes can not mess up data structures used in memory mapped I/O, by accident or in purpose? Give at least two possible solutions.

  4. User state and priviledged state
    1. Give three different types of situations where processor state changes from user state to priviledged state.
    2. Give an example of a situation where processor state does not change to user state at the time of interrupt handler return.
    3. What use is there from the priviledged state? What bad?
    4. Would it be useful to offer multiple levels of priviledged states? Why?

  5. Machine language
    1. What is the difference between machine language and symbolic assembly language?
    2. How are instructions presented in machine language?
    3. How does the processor execute machine instructions?
    4. How does one find out what memory address an instruction refers to?
    5. Which instructions can/can not be stored in registers?
    6. Can any given bit combination be interpreted in different ways in hardware? If yes, how? If no, why not?

Teemu Kerola