‹ back to Computer Architecture

LectureComputer Architecture · 20 October 2015

Computer Architecture : Lecture 2

Computer Architecture :

Instruction Groups 

DATA MOVEMENT Instructions 

Arithmetic Instruction 

Program Control 

Special Instruction 

The First Commercial Success : Study Case 

Register Architecture 

General Purpose Register 

INDEX BASE REGISTER 

Flag Register 

Instruction Groups

We all know that computer works with the help of instructions. We have divided the different instructions in different groups, for better understanding. Their name are as follow

1. Data Movement instructions

a. Deals with data movement from memory to processor or processor to memeory

b. Deal with movement from register to register ot from register to memory / processor

2. Arithmetic / Logic Instructions

a. Deals with mathematical function ( + , – multiply ) or logical functions (and, Xor)

3. Program Control Instruction

a. We know normally the instructions are carried out one by one (consecutively) . However some times we do not need to run consecutive instruction. For these purposes , such commands are use (You man like to think about command “if”)

4. Special instructions

a. They are used to force processor to change its behavior as per our will

DATA MOVEMENT Instructions

Mov ax,bx ;                          move data from bx to ax

Lda 0246 ;                            load 0246 to accumulator

Arithmetic Instruction

Add ax,1234                                     Add 1234 with ax

Add bx,ax                                         add ax to bx

Add bx,[1212]                                   add data from address and add it to bx

Program Control

Cmp ax,0                                compare ax with 0

Jne 1234                                 jump if not equal to the instruction and mov at address 1234

Special Instruction

Cli                                      disable interrupts

The First Commercial Success : Study Case

Model :      IBM PC

Reason :    Easily available platform , and free software available to program

Processor:  IAPX88 (Intel Advance Processor 88)

This was the first processor that was implanted on a IBM system. It was the first commercial success. Later on intel released IAPX 38086

IAPX88 was a 16 bit microprocessor.

Intel created 4 bit processors , however the first 8 bit processor by intel was 8080. Later on a advance version 8085 was introduced, which was 8 bit processor but had more computational power as compared to its ancestors

The 8088 had a 1 MB memory , which was a big achievement. The first IBM Machine had 4.1 Mhz , which was considered a high speed.

In this case study we will have a look at intel IAPX architecture. The processor is a 16 bit processor. First of all we will have look at its general purpose registers .

The registers were named as AX,BX,CX,DX

Register Architecture

General Purpose registers Pointer Index Base Register Flag Register Segment Register
AX

BX

CX

DX

SI

DI

CS

DS

SS

ES

General Purpose Register

AX : Accumulator Register

AX

8 Bit 8 Bit
AH AL

Al= A low side

Ah A High side

Hence you can use this as 16 bit register or as two 8 bit register.

BX : Base Register       –>       Used to Access Memory

CX : Counter Register  –>      It is used where we need to count special instruction

DX : Destination Register –>  Destination of I/O

INDEX BASE REGISTER

//16 bit register

SI–> Holds memory addresses for source

DI–>Holds memory addresses for destination

IP–>Instruction Pointer (Used in program while accessing memory)

SP–>It will be discussed in later (used while accessing memory)

BP –>Base pointer

Flag Register

C=Carry Bit // Holds carry after addition

P=Parity Bit// used for parity checking (w.r.t number of 1s )

A=Auxiliary Carry // We already know that 4 binary bits group together to create a hexadecimal number called “NIBBLE”. While doing addition /subtraction if one group of nibble produces carry for next group of nibble such carry is called auxiliary carry

Z=Zero bit // The Z bit is set (1) if last mathematical or logical operation produces zero in result .

S=Sign bit // The most significant bit represents the sign (1= ive)

T=Trap flag // pending

I= Interupt flag // Either we need interrupt or not to effect our program

D= Direction Flag // While copying memory , do we need to copy contents from up to down or down to up

O=Over flow = used in signed arithmetic

First published on fatsup.wordpress.com ↗