Conceptual Questions
1
.
Why is the memory connected directly to the CPU?
2
.
Both the disk and memory store programs and data. Why do we need them both in a computer system?
3
.
Why do we need an assembler? Why don’t we make compilers generate machine language directly?
4
.
If there are two processors that understand the same ISA, does this mean they have exactly the same microarchitecture?
5
.
Can the step from algorithms to HLL programs be automated instead of being done by a human being? Justify your answer.
6
.
The idea of compilers and assemblers made HLL more portable. Why is that?
7
.
Suppose we have a list of 1,000 numbers ordered in ascending order. We need to find whether a specific number is in the list or not. What is the best algorithm to accomplish this?
-
Scan the list from first number to last number until you find the number you want or reach the last number.
-
Scan the list from last number to first number until you find the number you want or reach the first number.
-
Go to the middle of the list and see whether the number you are looking for is bigger or smaller than the middle number. If it is bigger, discard the lower half. If it is smaller, discard the higher half. Then redo the same in the smaller list.
-
Take a quick look at the list and decide whether the number is present.
8
.
Why is the two’s complement a good choice for presenting signed numbers?
9
.
As a programmer, do you think it is useful to know about data presentation? Why?
10
.
Why are computers slower in dealing with floating points than integers?
11
.
For portable devices, such as your smartphone, do you think processors supporting CISC ISA or RISC ISCA should be used? Why?
12
.
Is it possible to build a de-compiler? That is, if given an assembly code, can we bring the original HLL code? Explain.
13
.
Why are the different technologies organized as a hierarchy?
14
.
What is the relationship between SSD and flash memory?
15
.
Do you think it is better to have more cores in the chip or to use multiple chips with fewer cores each? Why?
16
.
Why is heterogeneous computing here to stay?