Performance & Architecture Types

How can we further improve a computer? We might add more hardware to it in a way that makes a computer run its programs faster, for example.

A computer that consists of multiple CPU cores can run code in a parallel manner. This feature, called parallel computing, can be used to either run several programs at the same time or even run sections of the same program on several cores at the same time, which leads this program to execute its code faster.

In fact, we've already seen an example of parallel behavior when we discussed the ability to perform parts of the fetch-decode-execute cycle in a parallel manner (pipelining!) back in topic 5's slides 50-54.

Pipelining, however, is parallelization that happens inside one CPU core. The concept of parallel computing is when you have multiple cores (at least two cores) on which you can run programs or parts of programs in parallel, which can be done in addition to and independently from pipelining!