... Had the transportation industry kept pace with the computing industry, for example, today we could travel from New York to London in a second for a penny. Take just a moment to contemplate how such an improvement would change society -- living in Tahiti while working in San Francisco, going to Moscow for an evening at the Bolshoi Ballet...
They provide many definitions you should already have
Figure 1.2 page 7 is food for thought.
On page 9 they begin a discussion of performance
They state that performance of a program is based on
The Algorithm
IE a $O(n^2)$ sort vs an $O(n \log_2 n)$ sort.
The Programming language, compiler and architecture
The Processor and memory systems.
The I/O System (Hardware and OS)
The last three are subjects of chapters 2-6.
Understanding these will not necessarily make your programs faster
But it will help you understand where you might look for improvement.
Seven Great Ideas in Computer Architecture
Use abstraction to simplify design.
I think that is what we have been preaching for 1-4 years.
Make the common case fast.
This makes sense.
You will handle the common case more often, that is why it is common.
How about a PC without an adder?
Performance via Parallelism
How about a PC without an adder?
Performance via Pipelining
The auto industry has known this for years
We will see this later
Performance via prediction
We will see this later too
Hierarchy of Memories
Dependability via Redundancy
Section 1.3 gives a look at compiling and languages.
I assume you have this.
Point out that the compiler is why you don't have to learn different assembly languages.
1.4 Is a look at computers.
Again, read this quickly.
Have we discussed data path vs control path? If not do so.