University of Helsinki Department of Computer Science
 

Department of Computer Science

Department information

 

Computer Organization II, Spring 2010, Exercise 1

These homework exercises will be covered in practice session on week 3 (Wed 20.1.). Please notice, that this practice session is at the same week as the lectures begin!

This first week's homework covers the issues of preceeding courses: Computer organisation I, Concurrent programming, Introduction to data communication. If you find it difficult to solve the homework, please refresh your knowledge about the courses.

SPECIAL TASK:

This week there is no special task, but you can already prepare for the submission next week (exercise week 2).

HOMEWORK:

These are based on the prerequisite course Computer Organization I. You should be familiar with all of these in advance. We are building on this knowledge.

  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. What does DMA mean and how is it implemented?
    2. What would be an alternative for it?
    3. Describe simple case where DMA is used and explain how its is used.

  4. User mode and priviledged mode
    1. Give three different types of situations where processor state changes from user mode to privileged mode.
    2. Give an example of a situation where processor state does not change to user mode at the time of interrupt handler return.
    3. What are the advantages of the priviledged mode? What disadvantages?
    4. Would it be useful to offer multiple levels of priviledged modes? 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. What kind of information 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?

Tiina.Niklander@cs.helsinki.fi