Download as pdf or txt
Download as pdf or txt
You are on page 1of 20

Modern Computer Architecture

By Rafiquzzaman and Chandra

Chapter 1 – Introduction to Computers –


Evolution, Programming , and Architecture
provided by
Sameer Akram
Von Neumann Architecture
• The von Neumann architecture – also known as
the von Neumann model or Princeton architecture
– is a computer architecture based on a 1945
description by the mathematician and physicist John von
Neumann and others in the First Draft of a Report on
the EDVAC.
Von Neumann Architecture (Contd.)
• This design architecture describes an electronic digital
computer with
—A processing unit that contains an arithmetic logic
unit and processor registers
—A control unit that contains an instruction
register and program counter
—Memory that stores data and instructions
—External mass storage
—Input and output mechanisms

• The design of a von Neumann architecture machine is a


stored-program system.
Von Neumann Architecture (Contd.)
• Input
• Control
• ALU
• Memory
• Output
Von Neumann Architecture (Contd.)
Stored-program concept
• A stored-program digital computer keeps both program
instructions and data in read-write, random-access
memory (RAM).
• Stored-program computers were advancement over the
program-controlled computers of the 1940s, such as
the Colossus and the ENIAC. Those were programmed
by setting switches and inserting patch cables to route
data and control signals between various functional
units.
• The vast majority of modern computers use the same
memory for both data and program instructions.
Computer Structures
 General register machines
 Accumulator based machines
 Stack machines
Registers
 Registers are of two types
— General purpose registers
— Dedicated registers
 General purpose registers
— These registers can be used to hold data, memory
addresses, or the result of arithmetic and logic
operations and can be accessed by a user program.
 Dedicated Registers
— These registers are available for the exclusive use of
control unit and cannot be accessed by a user
program and have got pre-defined functionality.
General register machines
• Eight general registers (R0 through R7)
• Dedicated register are as follows:
• Program Counter (PC): holds the address of next
instruction to be executed.
• Instruction Register (IR): holds the current
instruction being executed.
• Effective Address Register (EAR): holds the address
of data to be retrieved from memory.
• Stack Pointer (SP): holds the address of the top
element of stack (TOS).
• Flag (F): represents the status of ALU.
• General register machines support three- and two-
address instructions.
General register machines (contd.)
General register machines (contd.)
 Three-address Instructions Set
Instruction Operation
 ADD x, y, z z  (x) + (y)
 SUB y, x, z z  (x) - (y)
 SUB x, y, z z  (y) - (x)
 MUL x, y, z z  (x) * (y)
 DIV y, x, z z  (x) / (y)
 DIV x, y, z z  (y) / (x)
General register machines (contd.)
 Two-address Instructions Set
 MOV x, y y  (x)
 ADD x, y y  (x) + (y)
 SUB y, x x  (x) - (y)
 SUB x, y y  (y) - (x)
 MUL y, x x  (x) * (y)
 MUL x, y y  (x) * (y)
 DIV y, x x  (x) / (y)
 DIV x, y y  (y) / (x)
General register machines (contd.)
 Examples of general register machines
— IBM’s 370
— DEC’s VAX-11
— Motorola’s MC68000
Accumulator-based machines
 One of the operands is assumed to be held in the
accumulator register (ACC) for arithmetic and logic
operations.
 Results of all arithmetic and logic operations are routed
to the ACC.
 One-address instructions are predominant in this
organization.
 Examples
— Rockwell’s M6502
— Motorola’s MC6809
Accumulator-based machines (contd.)
Accumulator-based machines (contd.)
 Some typical one-address instructions available in
accumulator-based machines
 LDA x Acc  (x)

 STA x x  (Acc)

 ADD x Acc  (Acc) + (x)

 SUB x Acc  (Acc) - (x)

 MUL x Acc  (Acc) * (x)

 DIV x Acc  (Acc) / (x)


Stack machines
 A stack machine is a computer system in which primary
element of the CPU is stack.
 Stack (LIFO – Last-in-first-out)
 Stack may be implemented in hardware or software
 A hardware stack with a storage capacity of p words can
be obtained using p shift registers.
 Primary advantage of this organization is that the stack
manipulations can be carried out at a high speed.
 This idea is implemented in IBM 370.
Stack machines (contd.)
Stack machines (contd.)
 Software Stack: The stack can be implemented by
configuring some portion of the read-write memory as
stack area.
 One of the CPU registers, called stack pointer (SP), is
used to hold the address of the most recently entered
item into the stack.
 Hence SP points to the top of the stack (ToS).
 Two basic operations PUSH and POP
 Typical examples of stack machines
Hewlett-Packard’s HP3000, Burroughs B1700
 Some general register machines, such as PDP-11 and
MC68000, posses the capabilities to perform some stack
operations.
Stack Machine Instructions
 PUSH x (TOS)  (x)
 POP z z  ( (TOS) )
 ADD (NOS)  ( (TOS) ) + ( (NOS) )
 SUB (NOS)  ( (TOS) ) – ( (NOS) )
 MUL (NOS)  ( (TOS) ) * ( (NOS) )
 DIV (NOS)  ( (TOS) ) / ( (NOS) )

TOS = Top of Stack


NOS = Next on Stack

You might also like