Quiz 1 Introduction of Information and Communication
Engineering
A quiz of the topic "Computer System Engineering"
Do all questions (or as much as you can) in 30 minutes.
1 A computer composed of hardware and software. Can you
describe the distinction between them? When a piece of program is
stored in a memory chip, what is hardware and what is software?
2 A computer is useful exactly because it is programmable.
Moreover, its programmability makes it "universal" that is it can do
almost everything (an overstatement). What is the different
between a computer simulation and a real world? In a computer
racing game car, a car running through a simulated world, it is just a
movie. However let's consider the following scenario. A
real car is controlled by an electronic control unit (ECU). The
program in ECU can be changed so that a car can accerelate
faster. I claim that the world also change when I change ECU's
program. Discuss my claim, whether you agree or disagree with it
and why do you think so.
3 A compiler translates a "source" program into a "machine"
program. A "token" of a source is translated exactly into two "machine"
numbers. Here is my rules of translation:
source
machine
number
10 number
+
20 0
print
30 0
a
40 1
b
40 2
c
40 3
->
50 0
an example
print a + 1
is rearranged to (a postfix form)
a 1 + print
and translated to a machine program sequence as follows:
40 1
10 1
20 0
30 0
Now, please "compile" the following source:
b + c -> a
a + 1 -> a
print a
I will rearrange it to the postfix form for you,
b c + a ->
a 1 + a ->
a print
Write the machine program of the above "source".
4 An ALU is a unit that performs arithmetic and logic functions
on binary numbers. For example:
101
001 +
----
110
Follow your own logic of thinking and try to add these two numbers:
1011
0101 +
-----
The end
Enjoy my brain teaser!
Prabhas Chongstitvatana