Seven Great Ideas in Computer Architecture
Seven great ideas of computer design have been invented so far and most of them will be covered in this course.
-
Use abstraction to simplify design:
Abstractions allow lower-level details are hidden to offer a simpler model at higher levels.
-
Make the common case fast:
Making the common case (such as integer arithmetic) fast will tend to enhance performance better than optimizing the rare case (such as floating-point arithmetic).
-
Performance via parallelism:
Examples of parallel computer architecture include multi-processor computers, multi-core processors, and grid computers.
This issue will only be briefly mentioned in this course.
-
Performance via pipelining:
Pipelining includes a set of data processing elements connected in series, where the output of one element is the input of the next one.
-
Performance via prediction:
Examples of prediction include pre-fetching data and dynamic branch prediction.
-
Hierarchy of memories:
Hierarchy of memories has the fastest, smallest, and most expensive memory per bit at the top of the hierarchy and the slowest, largest, and cheapest per bit at the bottom.
-
Dependability via redundancy:
A system can be more dependable by including redundant components that can take over when a failure occurs and to help detect failures.
This issue may not be covered in this course.
Moore’s law is the observation that the number of transistors on integrated circuits doubles approximately every two years.
However, it is no longer true, so Moore’s law is dropped from the great ideas.