Chapter 1
Chapter 1
Chapter 1
College of Engineering
Department of Electrical & Computer Engineering
Computer Architecture
• It refers to the operational units and their interconnections that realize the
architectural specifications.
7
Fig 1.2a. Data movement: Fig 1.2b Data storage: data
transferring data from one transferred from the external
peripheral or communication environment to computer storage
line to another. (read) and vice versa (write).
8
Fig 1.2d. Data processing, on data en
Fig 1.2c. Data processing,
route between storage and the
on data in Storage.
external environment.
Structure
• The first generation of computers used vacuum tubes for digital logic
elements and memory.
• Then, a computer could get its instructions by reading them from memory,
and a program could be set or altered by setting the values of a portion of
memory.
• With rare exceptions, all of today’s computers have this same general structure
and function and are thus referred to as von Neumann machines.
18
Memory of the IAS
• Consists of 1000 storage locations called words
• Word length - 40 binary digits (bits) each.
• A word may contain:
• A numbers stored as 40 binary digits( bits)- sign bit +39 bit value.
• An instruction pair. Each instruction:
• An opcode (8 bits) specifying the operation to be performed, and
• An address (12 bits) designating one of the words in memory
(numbered from 0 to 999).
Figure 1.5 below illustrates these formats.
19
Cont.…..
• Both the control unit and the ALU contain storage locations, called registers,
defined as follows:
• For example, the result of multiplying two 40-bit numbers is an 80-bit number;
the most significant 40 bits are stored in the AC and the least significant in the
MQ.
Registers
Memory buffer register • Contains a word to be stored in memory or sent to the I/O unit
(MBR) • Or is used to receive a word from memory or from the I/O unit
Memory address register • Specifies the address in memory of the word to be written
(MAR) from or read into the MBR
Instruction register (IR) • Contains the 8-bit opcode instruction being executed
Instruction buffer register • Employed to temporarily hold the right-hand instruction from
(IBR) a word in memory
Accumulator (AC) and • Employed to temporarily hold operands and results of ALU
multiplier quotient (MQ) operations
Fig. 1.6. Expanded
Structure of IAS
Computer
23
Instruction cycle
• Each instruction cycle consists of two subcycles.
• The fetch cycle
• The execute cycle
• During the fetch cycle, the OPcode of the next instruction is loaded into
the IR and the address portion is loaded into the MAR.
• This instruction may be taken from the IBR, or it can be obtained from
memory by loading a word into the MBR, and then down to the IBR, IR,
and MAR.
• Once the opcode is in the IR, the execute cycle is performed.
24
Cont.……..
• Control circuitry interprets the opcode and executes the instruction by
sending out the appropriate control signals to cause data to be moved or an
operation to be performed by the ALU.
• The IAS computer had a total of 21 instructions, which are listed in below.
• Data transfer: Move data between memory and ALU registers or between
two ALU registers.
25
Cont.……
• Unconditional branch: Normally, the control unit executes instructions
in sequence from memory. This sequence can be changed by a branch
instruction, which facilitates repetitive operations.
• Conditional branch: The branch can be made dependent on a
condition, thus allowing decision points.
• Arithmetic: Operations performed by the ALU.
27
The IAS Instruction Set
28
Computer System
• A computer system, like any system , consists of an interrelated set
of components.
Program Concept
• A sequence of steps
• Data and instructions need to get into the system and results out
Input/output
Main memory
Computer Components: Top Level View
Instruction Cycle
• Two steps:
• Fetch
• Execute
Fetch Cycle
• Program Counter (PC) holds address of next instruction to fetch.
• Increment PC.
• Instruction fetch: Read instruction from its memory location into the
processor.
• Operand fetch: Fetch the operand from memory or read it in from I/O.