Computer Architecture


Preface

What is Computer Architecture?

Computer
Architecture
= Instruction Set Architecture
+
Machine Organisation

Instruction Set Architecture

The Instruction Set Architecture (or ISA) describes the structure of the computer as seen by a programmer. A family of processors which all run the same (binary) code are all said to have the same architecture. (Note that "architecture" used alone most commonly refers to ISA.)
Some ISAs Date
IBM 360 197x
SUN SPARC 1987
DEC Alpha 1992
SGI MIPS 1986
Intel x86 1978
In the case of the IBM, SUN and Intel ISAs, it is possible to purchase processors which execute the same instructions from more than one manufacturer. All these processors may have quite different internal organisations (copyright and other legal considerations will generally require significant differences!) but they all appear identical to a programmer, because their instruction sets are the same.

Microcoded Processors

It is even possible to build a microcoded processor which can execute multiple ISAs. We will look briefly at how this is achieved later.

Machine Organisation

This refers to the layout and interconnection of the various functional units. Processors with widely varying performance (but the same ISA) can be constructed by changing details such as the
  • pipeline length,
  • number of functional units,
  • cache size and organisation,
  • sophistication of instruction issue unit (ability to issue more than one instruction at the same time), etc.

Microcode

Microcode is the lowest programmable level of a machine; it's usually considered part of the hardware.

CISC machines usually use microcode extensively to implement their complex instructions.

Modifiable microcode even makes it possible for a machine to have more than one ISA.

Instruction Set Architecture and machine organisation are not necessarily related! Details of a machine's organisation are usually transparent to software. Programs compiled for the same ISA will run in the same way (but probably at vastly different speeds) on machines with different internal structures. In particular, caches are transparent to software: a program will run in exactly the same way on a system with no cache as on one which has the largest cache which is technically feasible at any time.

Continue on to Machine Organisation
Back to the Table of Contents
© John Morris, 1998

e-REdING. Biblioteca de la Escuela Superior de Ingenieros de Sevilla.


:
: Ingeniería