Lecture Quizzes Flashcards
Why do we say that a computer is a general-purpose
machine?
It can solve different problems by loading and executing different programs.
What are the two main phases of instruction execution?
- Fetch: fetch instruction, increment PC, decode.
- Execute: perform the specified operation.
How many memory accesses are usually needed for
executing one instruction?
- At least once for fetching the instruction.
- It may need more for accessing the operands.
IBM TS1160 Tape Drive (20TB/tape)
- What type of memory is this?
- What is it mainly used for?
- Can it be used as a main memory? Why?
- Secondary memory, external memory, sequential access
- Backup, archive (secondary memory of archive type)
- No! It is not a RAM.
What is the main advantage of the associative
mapping for cache?
A memory block can be mapped to several different
cache lines, which increases cache hit ratio.
Is fully associative mapping implemented in
practice?
No! Comparison of all tags is impossible to be done in
reasonable time.
Is it true:
- The higher associativity level, the better hit ratio?
- The higher associativity level, the better performance?
- yes
- no
What information is specified in an instruction?
- Operation code
- Source operands and destination operand
- Next instruction address, if needed
What does it mean by relative addressing?
The effective memory address equals a base address, given in a register, plus an offset.
Why is it useful to use relative addressing?
- Program/data can be stored in different MM locations.
- Reduce the number of bits needed for MM addresses.
Why do we often
have holes in an
instruction pipeline?
We have different
execution patterns for
different instructions!
Which pipeline hazard has the largest impact? Why?
Control hazard, since branches can dramatically reduce pipeline performance, and we have many branch instructions.
Programmed I/O, Interrupt-driven I/O, and/or Direct memory
access (DMA)?
- Low-speed I/O
device, e.g., a
keyboard
-High-speed I/O
device, e.g., a hard
disk
- No, Yes, No
- No, Maybe, Yes
Why is data dependency an important issue for
superscalar architecture?
- A superscalar computer will be efficient only if there are sufficient numbers of instructions to be executed
concurrently. - Instructions can be executed concurrently only if there is no data dependency among them.
Which data dependencies can be removed?
How?
- Output dependencies and anti-dependencies can be eliminated.
- It is done by using additional registers, which is called