Computer Architecture Basics

Some of the most basic and vital components of what makes a computer work are the processor, memory and I/O devices. Different setups and structures of these components can allow for greater efficiency or specialization for specific tasks.

Processor

CISC vs. RISC

In the late 70s and early 80s computer memory was slow and expensive. Therefore the primary goal of processor innovation was to have a single instruction do more and have it execute that instruction faster. The CISC processor takes a single complex instruction and executes it all at once over the course of several clock cycles. It aims to keep code size small, reduce the amount of memory used, and keep the number of times memory is accessed to a minimum. With the CISC approach the majority of the computing burden is placed on the hardware. As the instructions got more complex the CISC approach started to provide diminishing returns. Processors started to become large, expensive and required more power.

The RISC processor brought about the concept of using a larger amount of smaller, simpler steps as opposed a single complex instruction. Each of these smaller instructions require fewer clock cycles to perform and overall a task can be completed in a faster time. Memory started to become cheaper and faster, compilers became more efficient and RISC started becoming more widely used. The fact that RISC placed more of the burden on the software compiler also allowed for lower power usage.

RISC also uses the method of “pipelining” instructions. This allows for increased performance by executing several instructions simultaneously but at different stages. While one instruction is being fetched from the memory, another that was already fetched is being decoded, and a third decoded instruction is being executed.

Interrupts

Parallel Architecture

Memory

RAM

ROM

Harvard vs. von Neumann Architecture

I/O