Computer organization and architecture

25
COMPUTER ORGANIZATION AND ARCHITETURE TOPICS:- Instruction and Instruction Sequencing Register Transfer Notation(RTN) Assembly Language Notation(APN) Basic instruction type Instruction execution & straight line sequencing Branching Condition codes Generating memory address

Transcript of Computer organization and architecture

Page 1: Computer organization and architecture

COMPUTER ORGANIZATION AND ARCHITETURE

TOPICS:-Instruction and Instruction Sequencing

•Register Transfer Notation(RTN)•Assembly Language Notation(APN)•Basic instruction type•Instruction execution & straight line sequencing•Branching•Condition codes•Generating memory address

Page 2: Computer organization and architecture

Addressing modes•Types of addressing modes•Implementation of variables and constants•Indirection and pointer•Indexing and array•Relative addressing•Additional modes

Page 3: Computer organization and architecture

INSTRUCTION AND INSTRUCTION SEQUENCING

Computer program consist of sequence of small steps, such as adding two numbers, testing for a particular condition , reading a character from the keyword

Four types of operation.

1) Data transfers between the memory and the processor registers.

2) Arithmetic and logical operations on data.3) Program sequencing and control.4) I/O Transfers

Page 4: Computer organization and architecture

REGISTER TRANSFER NOTATION (RTN)

•Transfer of information from one location in the computer to another.•Possible locations that may be involved in such transfers are memory locations, processor registers and registers in the I/O subsystem. •Example –• Add the contents of the register R1 and R2 and then places their sum into register R3. R3[R1]+[R2] Right side denoted the value. Left side denoted the name of the location where the value is to be placed.

Page 5: Computer organization and architecture

ASSEMBLY LANGUAGE NOTATION(ALN)

•It represent machine instructions and program.

•For this, we use assembly language format.

•Example :- 1) Move LOC ,R1• The contents of LOC are unchanged by the execution of this instruction but the old contents of register R1 are overwritten.

2) Add R1,R2,R3

Page 6: Computer organization and architecture

BASIC INSTRUCTION TYPES

Three types of basic instruction:- 1) 3 –Address instruction:-

• Add A,B,C• A &B are called Source operands.• C is called Destination operand.

• 3-address instruction is too large to fit in one word for a reasonable word length.

Operation Source1,Source2,Destination

Page 7: Computer organization and architecture

2) 2-Address Instruction:-• Add A,B• [B][A]+[B]• A is source operand and B is

destination operand

• A single 2-address instruction cannot be used to solve original problem A and B , without destroying either of them ,and to place the sum in location C.

• Move B,C C[B]

Operation Source, Destination

Page 8: Computer organization and architecture

3) 1-Adress Instruction:-• Add A• Accumulator[A]+Accumulator

• Using 1-address instructions , the operation

[C][A]+[B] can be performed by execution the sequence the instruction:-

• Load A• Add B• Store C

Operation Destination

Page 9: Computer organization and architecture

INSTRUCTION EXECUTION

•Executing a given instruction is a two-phase procedure:-

• 1) Instruction fetch:-•Instruction fetched from the main memory location whose address in the PC.•This instruction placed in the IR in the processor.

•2) Instruction execute:-•The instruction in IR is examined to determine which operation is to be performed.•The specified operation is performed by processor.•Perform arithmetic and logic operation.•Store the result in destination location.

Page 10: Computer organization and architecture

STRAIGHT LINE SEQUENCING

•PC holds the address of the instruction to be execute next.

•The address of 1st instruction placed into PC, then

•The processor control circuits use the information in the PC to fetch and execute instruction ,one at a time , in the order of increasing addresses . It is called straight line sequencing.

•During each instruction PC incremented by 4 to point to the next instruction

Page 11: Computer organization and architecture

BRANCHING

• It is loads a new value into the PC.•Processor fetch and executes the instruction at the new address , called branch target.•It follows the branch instruction in sequential address order .•A conditional branch instruction causes a branch only if a specified condition is satisfied.•If the condition is not specified ,the PC is incremented.•And the next instruction in sequential order is fetched and executed.• Branch>0 LOOP

Page 12: Computer organization and architecture

CONDITION CODES

•The processor keep the track of information about the result of various operation for use by subsequent conditional branch instructions.

•This is accomplished by recording the required information in individual bits, often called condition code flags.

•These flags are usually grouped together in a special processor register called condition code register or status register.

Page 13: Computer organization and architecture

•Four commonly used flags are:-•N(negative):-Set to 1 if the result is negative; otherwise cleared to 0

•Z(zero):-Set to 1 if the result is 0;othrrwise cleared to 0

•V(overflow):-Set to 1 if the arithmetic overflow occurs ; otherwise cleared to 0

•C(carry):-Set to 1 if a carry-out results from the operation ; otherwise cleared to 0

Page 14: Computer organization and architecture

•The N and Z flags are affected by instructions that transfer data such as Move ,Load , or Store.

•The Instruction Branch>0 tests one or more condition codes.

•In some computers ,the condition code flags are affected automatically by instruction that perform arithmetic or logic operation

Page 15: Computer organization and architecture

ADDRESSING MODES•The instruction set of a computer typically provides a number of such method, called addressing modes.•Types of addressing modes:- EA=effective address

Name Assembler syntax

Addressing function

Immediate # value Operand=value

Register Ri EA=Ri

Absolute(Direct) LOC EA=LOC

Indirect (Ri) , (LOC) EA=[Ri] ,EA=[LOC]

Index X(Ri) EA=[Ri]+X

Base with Index (Ri,Rj) EA=[Ri]+[Rj]

Base with Index and offset

X(Ri,Rj) EA=[Ri]+[Rj]+X

Relative X(PC) EA=[PC]+X

Auto increment (Ri+) EA=[Ri] ;Increment Ri

Auto decrement -(Ri) Decrement RiEA=[Ri];

Page 16: Computer organization and architecture

IMPLEMENTATION OF VARIABLES AND CONSTANTS

•A variable is represented by allocating a register or a memory location to hold its value.•Two addressing modes to access variables:- 1) Register mode:-The operand is the contents of a processor register .•Operand is held in register named in address file•EA = R•Limited number of registers•Very small address field needed

Shorter instructions Faster instruction fetch

•Move LOC,R1

Page 17: Computer organization and architecture

2) Absolute mode:-

•The operand is in a memory location.

• The address of this location is given explicitly in the instruction .

•It is also called Direct mode.

•Declaration such as• Integer A,B

Page 18: Computer organization and architecture

Address and data constants can be represented in assembly level language using Immediate mode

•Immediate mode:- The operand is given explicitly in the instruction.

•Example – Move 200immediate ,Ro

•The common convention is to be used the sharp sign(#) in front of the value of the use as in immediate operand.• Move #200, Ro

Page 19: Computer organization and architecture

INDIRECTION AND POINTERS

•The register or memory location that contains the address of an operand is called a pointer.•Indirection is the ability to reference something using a name, reference, or container instead of the value itself.

• The most common form of indirection is the act of manipulating a value through its memory address.

• For example, accessing a variable through the use of a pointer.

•Indirection and use of pointers are important and powerful concepts in programming.

Page 20: Computer organization and architecture

•Indirect mode:-• The effective address of the operand is the contents of register or memory location whose address appears in the instruction.

•Memory cell pointed to by address field contains the address of (pointer to) the operand.

•e.g. ADD (A) Add contents of cell pointed to by

contents of A to accumulator• Add (R2),R1

Page 21: Computer organization and architecture

INDEXING AND ARRAY

•Indexing provide the different kind of flexibility for accessing operands.

•It is useful in dealing with lists and array.

•Index Mode:- •The effective address of the operand is generated by adding a constant value to the contents of a register.

Page 22: Computer organization and architecture

•The register used may be special register provided for this purpose or general –purpose register called index register. • X(Ri) • EA=X+[Ri]

•Where X denoted the constant value contained in the instruction, •And Ri is the name of the register involved.

Page 23: Computer organization and architecture

RELATIVE ADDRESSING

•Relative Mode:-•The effective address is determined by the index mode using the PC in the place of general purpose register Ri.

• EA=[Ri]+PC•i.e. get operand from Ri cells from current location pointed to by PC•The mode can be used access data operands.•Most common used in to specify the target address in branch instruction.• Branch>0 LOOP

Page 24: Computer organization and architecture

ADDITIONAL MODES

• Auto increment mode:- (Ri)+• The effective address of the operand is the

contents of a register specified in the instruction.

• After accessing the operand ,the contents of this register are automatically incremented to point to the next item.

• Auto Decrement mode:- -(Ri)• The contents of a register specified in the

instruction are first automatically decremented.

• After that used as the effective address of the operand.

Page 25: Computer organization and architecture

THANXS!