Page 152 - A Practical Guide from Design Planning to Manufacturing
P. 152
Computer Architecture 125
to architectures improve performance or add new capabilities, but only if
they are supported by new software. Very few architects would ever think
to describe the x86 architecture as elegant or efficient, but by maintaining
software compatibility it has become the most widely used architecture. To
displace it, any new architecture will have to exceed x86 capabilities or
performance by such a wide margin as to overcome the inertia of the
established software base. Meanwhile, all the currently supported archi-
tectures will continue to expand their capabilities to try to avoid fading into
computer history like the VAX architecture and many others.
Key Concepts and Terms
64-bit addressing Registers
Floating point Return
HyperThreading (HT) RISC and CISC
Immediate value SIMD
Instruction pointer (IP) Stack and accumulator
Interrupt and exception Translation lookaside buffer (TLB)
Jump, branch, and call Two’s complement and BCD
Memory VLIW and EPIC
Review Questions
1. What are the differences between high-level programming languages,
assembly code, and machine language?
2. What are the functions of computation, data transfer, and control
flow instructions?
3. Describe the differences between RISC and CISC architectures.
4. Describe the differences between VLIW and EPIC architectures.
5. Explain the operation of jumps, branches, calls, and interrupts.
6. What are the advantages and disadvantages of fixed instruction
encoding length?
7. What are the advantages and disadvantages of floating-point data
compared to integer formats?
8. What are the sources of software interrupts, hardware interrupts,
and exceptions?
9. Describe how virtual memory works and its advantages.
10. How can SIMD instructions improve performance?
11. [Bonus] Create a pure register instruction set architecture that con-
tains the minimum number of instruction types needed to create a