Review Questions
1
.
What is the difference between CPU and ALU?
2
.
What is the difference between the processor used in your smartphone and the one used in your desktop, tablet, or laptop computer?
3
.
What is the definition of abstraction?
-
a piece of software that takes a program written in a given HLL and generates another program
-
the most evolved method by which a human can direct a computer on how to perform tasks and applications
-
the set of instructions recognized by each processor family
-
removal of unimportant elements of a program or computer code that distract from its process
4
.
What is the term for the technique the OS uses to isolate different programs from each other so they do not overwrite each other’s data or corrupt each other’s files?
-
virtual memory
-
scheduling
-
neuromorphic computer
-
assembler
5
.
Why do computers only work with 1s and 0s?
6
.
Why is the OS the only software allowed to access the hardware?
7
.
Do a big supercomputer and small budget laptop use the same levels of abstraction?
8
.
What type of number would we need to represent the number of marbles in a bag?
-
signed integer
-
unsigned integer
-
floating point number
-
Boolean number
9
.
What type of number would we need to represent the temperature outside to the nearest whole number?
-
signed integer
-
unsigned integer
-
floating point number
-
Boolean number
10
.
What type of number would we need to represent the amount of money in a bank account?
-
signed integer
-
unsigned integer
-
floating point number
-
Boolean number
11
.
What is the two’s complement of the binary number 11100101?
-
01100101
-
11100100
-
00011010
-
00011011
12
.
What is the one’s complement of the binary number 10100010?
-
00100010
-
10100011
-
01011101
-
01011110
13
.
If you see a series of bits, can you know whether they present a signed or an unsigned integer, a floating point, or a character?
14
.
Why do we need unsigned integers?
15
.
What is the purpose of a linker?
-
A linker puts the executable into memory and arranges its content in a specific way to make it ready for execution by the processor.
-
A linker tells a program if a condition has been met.
-
A linker takes all the generated object files, looks for needed libraries, and then links everything together in one executable file.
-
A linker is a register that keeps track of instructions to be executed.
16
.
What is the output of the assembler called?
-
object code
-
source code
-
dynamic library
-
static library
17
.
What stores dynamically allocated data?
-
stack
-
register
-
bus
-
heap
18
.
Why do you need to learn assembly programming?
19
.
What is the main philosophy behind CISC?
20
.
What is the main philosophy behind RISC?
21
.
What technology do we use to build a cache?
-
static random access memory (SRAM)
-
NAND gate
-
dynamic random access memory (DRAM)
-
solid state drive (SSD)
22
.
What technology do we use to build memory?
-
static random-access memory (SRAM)
-
NAND bate
-
dynamic random-access memory (DRAM)
-
solid state drive (SSD)
23
.
What term means that, when the cache is empty, it does not have the needed data?
-
cache hit
-
cache memory
-
cache miss
-
cache reset
24
.
Why is it necessary to have multiple levels of cache memory?
-
to make it harder for the CPU to obtain instructions from RAM
-
to make it faster for the CPU to obtain data from RAM
-
just in case one level of cache fails
-
to be able to execute instructions in parallel
25
.
Is programming a single core or multicore easier? Why?
26
.
Why did the industry move to multicore?
27
.
What is the term used to describe when two or more programs execute on the processor at the same time?
-
temporal parallelism
-
spatial parallelism
-
simultaneous multithreading (SMT)
-
superscalar capability