Basic Computer Organization and Design - Computer Architecture - Lecture Slides, Slides of Computer Architecture and Organization

Instruction Codes, Computer Registers, Computer Instructions, Timing and Control, Instruction Cycle, Memory Reference Instructions, Design of Accumulator Logic are topics professor discussed in class.

Typology: Slides

2011/2012

Uploaded on 11/03/2012

dharmaraaj
dharmaraaj 🇮🇳

4.4

(68)

145 documents

1 / 45

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
BASIC COMPUTER ORGANIZATION AND DESIGN
• Instruction Codes
• Computer Registers
• Computer Instructions
• Timing and Control
• Instruction Cycle
• Memory Reference Instructions
• Input-Output and Interrupt
• Complete Computer Description
• Design of Basic Computer
• Design of Accumulator Logic
Docsity.com
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b
pf1c
pf1d
pf1e
pf1f
pf20
pf21
pf22
pf23
pf24
pf25
pf26
pf27
pf28
pf29
pf2a
pf2b
pf2c
pf2d

Partial preview of the text

Download Basic Computer Organization and Design - Computer Architecture - Lecture Slides and more Slides Computer Architecture and Organization in PDF only on Docsity!

BASIC COMPUTER ORGANIZATION AND DESIGN

• Instruction Codes

• Computer Registers

• Computer Instructions

• Timing and Control

• Instruction Cycle

• Memory Reference Instructions

• Input -Output and Interrupt

• Complete Computer Description

• Design of Basic Computer

• Design of Accumulator Logic

INTRODUCTION

• Every different processor type has its own design (different

registers, buses, microoperations, machine instructions, etc)

• Modern processor is a very complex device

• It contains

  • Many registers
  • Multiple arithmetic units, for both integer and floating point calculations
  • The ability to pipeline several consecutive instructions to speed execution
  • Etc.

• However, to understand how processors work, we will start with

a simplified processor model

• This is similar to what real processors were like ~25 years ago

• M. Morris Mano introduces a simple processor model he calls

the Basic Computer

• We will use this to introduce processor organization and the

relationship of the RTL model to the higher level computer

processor

INSTRUCTIONS

Instruction codes

• Program

  • A sequence of (machine) instructions

• (Machine) Instruction

  • A group of bits that tell the computer to perform a specific operation

(a sequence of micro-operation)

• The instructions of a program, along with any needed data

are stored in memory

• The CPU reads the next instruction from memory

• It is placed in an Instruction Register (IR)

• Control circuitry in control unit then translates the

instruction into the sequence of microoperations

necessary to implement it

INSTRUCTION FORMAT

Instruction codes

• A computer instruction is often divided into two parts

  • An opcode (Operation Code) that specifies the operation for that

instruction

  • An address that specifies the registers and/or locations in memory to

use for that operation

• In the Basic Computer, since the memory contains 4096 (=

212 ) words, we needs 12 bit to specify which memory

address this instruction will use

• In the Basic Computer, bit 15 of the instruction specifies

the addressing mode (0: direct addressing, 1: indirect

addressing)

• Since the memory words, and hence the instructions, are

16 bits long, that leaves 3 bits for the instruction’s opcode

Opcode Address

Instruction Format

15 14 12 0 I

11

Addressing mode

PROCESSOR REGISTERS

Instruction codes

• A processor has many registers to hold instructions,

addresses, data, etc

• The processor has a register, the Program Counter (PC) that

holds the memory address of the next instruction to get

  • Since the memory in the Basic Computer only has 4096 locations, the PC

only needs 12 bits

• In a direct or indirect addressing, the processor needs to keep

track of what locations in memory it is addressing: The

Address Register (AR) is used for this

  • The AR is a 12 bit register in the Basic Computer

• When an operand is found, using either direct or indirect

addressing, it is placed in the Data Register (DR). The

processor then uses this value as data for its operation

• The Basic Computer has a single general purpose register –

the Accumulator (AC)

PROCESSOR REGISTERS

Instruction codes

• The significance of a general purpose register is that it can be

referred to in instructions

  • e.g. load AC with the contents of a specific memory location; store the

contents of AC into a specified memory location

• Often a processor will need a scratch register to store

intermediate results or other temporary data; in the Basic

Computer this is the Temporary Register (TR)

• The Basic Computer uses a very simple model of input/output

(I/O) operations

  • Input devices are considered to send 8 bits of character data to the processor
  • The processor can send 8 bits of character data to output devices

• The Input Register (INPR) holds an 8 bit character gotten from an

input device

• The Output Register (OUTR) holds an 8 bit character to be send

to an output device

COMMON BUS SYSTEM

Registers

• The registers in the Basic Computer are connected using a

bus

• This gives a savings in circuitry over complete

connections between registers

COMMON BUS SYSTEM

Registers

S S S

Bus

Memory unit 4096 x 16

LD INR CLR

Address Write Read AR

LD INR CLR

PC

LD INR CLR

DR

LD INR CLR

ALU AC

E

INPR

IR

LD

LD INR CLR

TR

OUTR

LD

Clock

16-bit common bus

7 1 2 3 4 5 6

COMMON BUS SYSTEM

Registers

• Three control lines, S 2 , S 1 , and S 0 control which register the

bus selects as its input

• Either one of the registers will have its load signal

activated, or the memory will have its read signal activated

  • Will determine where the data from the bus gets loaded

• The 12- bit registers, AR and PC, have 0’s loaded onto the

bus in the high order 4 bit positions

• When the 8-bit register OUTR is loaded from the bus, the

data comes from the low order 8 bits on the bus

0 0 0 x 0 0 1 AR 0 1 0 PC 0 1 1 DR 1 0 0 AC 1 0 1 IR 1 1 0 TR 1 1 1 Memory

S 2 S 1 S 0 Register

BASIC COMPUTER INSTRUCTIONS

Instructions

• Basic Computer Instruction Format

15 14 12 11 0 I Opcode^ Address

Memory-Reference Instructions (OP-code = 000 ~ 110)

Register-Reference Instructions (OP-code = 111, I = 0)

Input-Output Instructions (OP-code =111, I = 1)

15 12 11 0 0 1 1 1 Register operation

15 12 11 0 1 1 1 1 I/O operation

INSTRUCTION SET COMPLETENESS

• Instruction Types

A computer should have a set of instructions so that the user can

construct machine language programs to evaluate any function

that is known to be computable.

Functional Instructions

- Arithmetic, logic, and shift instructions

- ADD, CMA, INC, CIR, CIL, AND, CLA

Transfer Instructions

- Data transfers between the main memory

and the processor registers

- LDA, STA

Control Instructions

- Program sequencing and control

- BUN, BSA, ISZ

Input/Output Instructions

- Input and output

- INP, OUT

Instructions

CONTROL UNIT

Instruction codes

• Control unit (CU) of a processor translates from machine

instructions to the control signals for the microoperations

that implement them

• Control units are implemented in one of two ways

• Hardwired Control

  • CU is made up of sequential and combinational circuits to generate the

control signals

• Microprogrammed Control

  • A control memory on the processor contains microprograms that

activate the necessary control signals

• We will consider a hardwired implementation of the control

unit for the Basic Computer

TIMING SIGNALS

Clock

T0 T1 T2 T3 T4 T

T

T

T

T

T

D

CLR SC

- Generated by 4-bit sequence counter and 416 decoder

- The SC can be incremented or cleared.

- Example: T 0 , T 1 , T 2 , T 3 , T 4 , T 0 , T 1 ,...

Assume: At time T 4 , SC is cleared to 0 if decoder output D3 is active.

D 3 T 4 : SC 

Timing and control

INSTRUCTION CYCLE

• In Basic Computer, a machine instruction is executed in the

following cycle:

1. Fetch an instruction from memory

2. Decode the instruction

3. Read the effective address from memory if the instruction has an

indirect address

4. Execute the instruction

• After an instruction is executed, the cycle starts again at

step 1, for the next instruction

• Note : Every different processor has its own (different)

instruction cycle