University of Helsinki Department of Computer Science
 

Department of Computer Science

Department information

 

Computer Organization II, Spring 2009, Exercise 1

NOTE Questions slightly modified for future use already.

These homework exercises will be covered in practice session on week 11 (Thu 12.3. and Fri 13.3). Please notice, that this practice session is at the same week as the lectures begin!

Each week one article-based questions must be submitted on paper to the teacher.

You need (at least to try hard) to solve the questions in advance, that is before the meeting. In the meeting we will discuss about the questions and their solutions. There is no time to solve them there. Solutions to the homework are not provided afterwards.

The weekly meetings are important for your learning. They give you structure for the course and support you in learning the content. They also give you some hints about the exam.

During the meeting, you will also have possibility to ask about the parts you feld were difficult to understand. This is your opportunity to make sure that you master the material well.

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.

ARTICLE:

Return the answer on paper in the meeting. Exceptionally, the last return time for this week's 'essay' is Monday 16.3 at noon.

Look at the article: J. Mashey, The Long Road to 64 bits. Communications of the ACM, Volume 52, Number 1, January 2009, pp. 45-53.

Please note: The articles bibliographical information could have just be written CACM 52(1):45-53. Still you should have been able to find it (even without google).

The article gives one person's perspective and reasoning about one of the several major transitions that has happened or is currently happening in the computing world.

Please write (In Finnish or in English) a short (1/2 -1 page) 'essay' that gives your viewpoint to this matter. How do you see it? You may choose one (or two) of the listed reasons. Please justify your selection.

There is no need for you to agree with the article. You can also argue against the article.

Please notice that you need not read and memorize the article. You just need to be able to make your own opinion. The article gives you good background and a lot of possible ways for reasoning.

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. 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. Moved from week 2 What does DMA mean and how is it implemented? What would be an alternative for it?
  5. 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?

  6. 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