Chapter 8 - Computer Architecture

Basic computer operation and organization

From an engineering viewpoint, a computer manipulates coded data and responds to events occurring in the external world. This is called a stored-program or von Neumann machine architecture.

Nothing can occur simultaneously or instantaneously in a computer. Important operations are

This is the basic "fetch-execute" cycle.

Problems with this diagram:

Answers:

Keeping track of what instruction is being executed is so important that a special CPU register called the program counter is used to keep track of the address of the instruction to be executed.

Central Processing Unit (CPU)

Control unit

RISC
Reduced instruction set machine - Executes a simple set of instructions very fast.
CISC
Complex instruction set (such as the 68000) - Has a powerful set of instructions which allows many complex operations to be represented as a single instruction.

Arithmetic Logic Unit

Memory

User concern with memory

Computer memory is always organized in a fixed manner.

Vertical grid organization of memory

Any particular processor will have an x-bit address capacity.

Memory addresses do not need to be contiguous.
ROM and RAM can be intermixed.
Memory does not have to start at $000000 or end at $FFFFFF.


68000 architecture


68000 internal register organization

Data registers


Address registers


Stack pointers


Program counter


Status register


Software architecture

Fetch-execute revisited

Basic fetch-execute cycle:

Program counter

Because the computer must keep track of instruction locations, it uses the program counter to keep track of the address of the next instruction to be executed. Instruction_register is an internal (to the processor) memory location (register) used to store coded data (instructions).

Instruction coding

Instructions are coded data in the following format:
op_code source(s) destination next_instruction

The exact way this information is represented is different for every microcomputer. Present microcomputers typically code instructions in several somewhat simplified formats:
op_code source1 source2/destination
or
op_code source/destination
where source, source1 and source2 identify where any needed data is to be obtained and where the result (if any) is to be placed in a destination, which is also the second source of needed data. For example, x := x + y is represented in the first format as ADD Y X.

Add processing to decode instructions

Our original fetch-execute cycle has now become more complex:

Instructions which require more than one computer word to describe can be indicated by extension_flag and fetched until the instruction is complete.

The exact manner in which memory locations are represented is known as addressing and can directly effect the program execution speed of the computer.


Next Section: Chapter 9 - Computer Operation
Previous Section: Chapter 7 - Lab Report Format
EEAP 282 Class Notes Table of Contents


-- aurora@po.cwru.edu -- About this server -- Copyright 1992, F. Merat