Exercises
Computer Organization I, Autumn 2005, HT 5
To be presented in week 47 (5.-9.12.2005).
- [2 htp]
Subroutines, macros, literals, variables, constants
- Give an example of a situation where routine XYZ would be better to implement as a macro than as a subroutine. Why? Example?
- Give an example of a situation where routine XYZ would be better to implement as a subroutine than as a macro. Why? Example?
- Give an example of a situation where constant value X would be better to implement as a literal than as a constant in the instruction. Why? Example?
- Give an example of a situation where constant value X would be better to implement as a constant in the instruction than a literal. Why? Example?
- How does using a literal differ from using a variable? Advantages? Disadvantages?
- How does using a literal differ from using constant field? Advantages? Disadvantages?
- [2 htp] Assume that a disk spins with speed 7200 rpm, it has one read/write head
per surface, there are 2000 cylinders (tracks per surface), each track has
50 sectors, and sector size is 0.5 KB. Assume (unrealistically), that seek
time (head transfer time) is linear to the number of tracks passed, and that
it is 0.02 ms/track. Assume (unrealistically), that the location of each
sector for one file is random, and from this one can deduce (with
probability theory) that the average number of tracks passed is 667. Assume
further (unrealistically), that the file is read from the disk one sector at
a time.How long does it take, in average, to read one 333.33 KB file? What
about 24 MB file?
- [2 htp] Linking. How would the Fig 7-15 (b) in Tanenbaum book [Tane99] change, if the modules were linked (from bottom up) in order ACDB instead of the order ABCD used in Fig. 7-15?
Please note that the addresses grow bottom-up in Fig. 7-15. Modules are defined in Fig 7-14.
- [2 htp] Memory mapped I/O. In example driver.k91 there is a device driver implemented with direct I/O.
- How does the device driver know that the device has printed the given number?
- What does the device driver do while the device is printing the number? How long can this take?
- How does the device (device controller) tell the device driver that the given task is done?
- Hoe does the application program (that call the device d river) know when the task given to the device is done?
- How should one modify the device driver, if one wanted to use indirect I/O instead? The purpose is not to give a precise answer, but just the general ideas on what needs to be changed in the driver in case indirect I/O was used.
What is good/bad with this change? Are there any changes to the specifications for the device (device driver) because of this change?
- [2 htp (extra)] Fill in the Student Feedback form. In question 14 (" How would you like to develop the course?") answer also to the underlying extra questions. Mark down each question part in your answer. Take copies of the answers to discuss them in your study circle and in the group meeting.
- How much did you use the (Authorware) web lectures? How much time did you use for the web lectures altogether.
If you did not use the web lectures, why not?
- How do you think the web lectures relate to normal lectures? Would you have preferred to have normal lectures for this course?
- How much time did you use to read the text book (Stallings)?
- How many total hours did you use for this course?
- How do the study circles work in your opinion? Do you have a suggestion for a better method to form study circles?
- How does the method to give extra/minus points for project work activity? Were the percentage levels for plus/minus points ok or what levels would be better?
- Do you have any other constructive comments for any part of the course?
- How did you find doing this course in English? Did you have enough support?
You can also give more comments in CSMoodle discussion group "Metacourse" or in the extra project 4.
">Teemu Kerola