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).
- Study Diary
The study diary is personal and there is no right or wrong way to do it. The weekly submission must contain your own reflective thought about your learning. Issues like: what topics were new, what you knew already, on what issues you disagree or agree with the course book or lecturer and other issues that come to your mind when studying the course content.
Start maintaining the study diary from the beginning and it will make the submission much easier.
- Article
Next week's text will be based on the article: J. Mashey, The Long Road to 64 bits. CACM 52(1):45-53. (Alternative longer format: Communications of the ACM, Volume 52, Number 1, January 2009, pp. 45-53.
Make sure that you can find the article from the Kumpula science library or from a digital archive of the publisher. The digital archive you can access at least either through NELLI portal or directly.
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.
- Basic components
- What are the basic componets of a computer system?
- What is common/different with a cell phone and a desk top computer system?
- What is common/different with a smart card and a desk top computer system?
- How is the processor attached to the rest of the system?
- What type/kind of registers are needed? How many?
- Program execution
- How is a program executed?
- What does the processor know about the program in execution?
- What does the program know about the processor executing
it?
- I/O.
- What does DMA mean and how is it implemented?
- What would be an alternative for it?
- Describe simple case where DMA is used and explain how its is used.
- User mode and priviledged mode
- Give three different types of situations where processor state changes from user mode to privileged mode.
- Give an example of a situation where processor state does not change to user mode at the time of interrupt handler return.
- What are the advantages of the priviledged mode? What disadvantages?
- Would it be useful to offer multiple levels of priviledged modes? Why?
- Machine language
- What is the difference between machine language and symbolic assembly language?
- How are instructions presented in machine language?
- How does the processor execute machine instructions?
- How does one find out what memory address an instruction refers to?
- What kind of information can/can not be stored in registers?
- Can any given bit combination be interpreted in different
ways in hardware? If yes, how? If no, why not?