Computer Systems Organization (Tietokoneen toiminta ) Autumn -99

Exercise 2 (1.-5.11.)


Please note that there are a couple of guides to the TTK-91 assembly language available also in English at the following addresses: http://www.cs.Helsinki.FI/~marttine/titokoksieng1.html and http://www.cs.Helsinki.FI/~marttine/titokoksieng2.html.

1. Give brief answers to the following questions.
a) What are interrups used for?
b) What consequencies does the clock cycle frequency have to computer performance?
c) What are BASE and LIMIT registers used for?
d) What is a cache? Why is it used and where?
e) What are device controllers and device drivers used for? How do they differ from each other?

2.
a) Give the decimal number 47.875 in the form specified by the IEEE single precision standard.
b) Convert the following floating point numbers to decimal numbers:

          0 10000000 11000000000000000000000 
          0 10000010 10010000000000000000000 

(eg. Tanenbaum Appendix B p. 643 - or Aho, Ullman p. 201-)

3.
a) The decimal ASCII codes for the letters A and B are 65 and 66. Give the character string AB in a bit form together with the control bits specified in the Hamming code.
b) Try changing one bit and see if you can detect the change. What happens if you change two bits?
(Tanenbaum pp. 61-64)

4. a) Describe, how instruction fetch is realized at the register level.
b) Why does the control unit increase PC after a instruction fetch? What would happen if this wasn't done? Would it be possible to increase PC after the execution of the instruction? What would the benefits and drawbacks be?
c)Explain what happens after the instruction has been fetched.
(Tanenbaum pp.42-43)

5. Write the TTK-91 assembly language instructions which compare the contents of the memory locations FIRST and SECOND and load to the register R1 the address of the memory location (FIRST or SECOND) which contains the larger value. If the contents are equal, a zero has to be loaded into R1.
(TTK-91 is a very simple, but realistic example machine that was invented to give the students of the Computer System Structure course an idea how real machines behave. In reality TTK-91 exists only as the simulator KOKSI that can run programs written in the TTK-91 assembly language. The TTK-91 machine is explained in detail in Finnish, but there are also some material in English.)

6.
a) Does the UNICODE standard include the japanese Hiragana characters? How about the western symbols used to represent music (notes etc.)? Try to find the information from the Internet.
(Tanenbaum pp. 109-112)

b) The FAQ-articles (Frequently Asked Questions) compiled in USENET newsgroups provide answers to some of the questions which tend to be recurrently posed in these groups. Find out what FAQ-articles there are in the newsgroup hierarchy comp.sys.ibm.pc.hardware. (There are a number of individual groups in the said hierarchy: comp.sys.ibm.pc.hardware.misc, comp.sys.ibm.pc.hardware.networking etc.)