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