We all
know this is very vast topic under Computer Architecture and Organization in computer science so today
I am writing not all but relevant about computer
organization and design. Before starting the topic I am writing down the
topics I will cover under this:-
- INTRODUCTION & SIMPLE PROCESSOR (BASIC COMPUTER)
- INSTRUCTIONS
- INSTRUCTION FORMAT
- ADDRESSING MODES
- REGISTERS IN BASIC COMPUTER
INTRODUCTION & ABOUT SIMPLE PROCESSOR I.E. BASIC COMPUTER
First
of all I want to make you clear that every processor in digital system has its
own design i.e. design means the registers, buses, micro-operations,
instructions etc, used by different processor is different.
If i
say about processors in today era, these are very complex device because the work
these processors can do are also complex like doing multiple arithmetic
operations on both integer and floating point calculations, modern processors
having multiple registers for different works, and the new ability of pipelining
the instructions for having speed in their execution is also making them
different, etc.
So,
if you want to understand how processors work everyone takes simple processor model
which is similar to the real processors before 20 years ago.
We simply
call simple processor model as BASIC COMPUTER.
The basic
computer has two components, first one called as processor and second one is
called as memory.
The memory
has 4096 words in it i.e. 12 bits are used to select a word in memory, because
4096
= 212
And every
word uses 16 bits to store value.
INSTRUCTIONS
These
Instructions are very similar to the instructions given by an instructor to
instruct someone. So here instructions are given by programmer to instruct machine
or say processor. Here especially instructions are called machine instructions
because these instructions are used to instruct a processor which is a machine.
The
group of these machine instructions is known as program as like a page of English
lines having group of multiple English lines.
Machine
instruction is defined as the group of bits that tells computer to perform a
specific operation, or a sequence of micro-operations.
These
instructions can contain data into them on which we can perform any desired
operation. So these instructions and any data needed stored in memory (second
component of basic computer).
If I
say deeper then the Central Processing Unit (CPU) is totally using these
instructions and executes them one by one. So the question arises that, from
where CPU gets the address of the instruction it should execute that is from IR
(Instruction Register). IR instruction address to CPU.
Basic
computer is always executing instructions by converting them into micro
operations and this translation is being done by control circuitry in control
unit.
INSTRUCTION FORMAT
Instruction
is basically divided into two parts,
Operation
Code is the code or part in instruction from where machine understands which operations
are to execute through this instruction.
Address
is that part which specifies the register or any location in memory which we
can use for that operation written in operation code.
If I
say about Basic Computer it contains 4096 words in memory and as previously
explained in this type of memory 12 bits are used to specify any address.
And,
this memory can store 16 bits at one location in which 3 bits are reserved for
instruction opcode(Operation Code), and 1 bit is reserved for Addressing
Mode(will explain later), rest 12 bits
are used to store any address of data, register or any other location could use
in instruction.
ADDRESSING MODES
In
this sub part I will only define Addressing Modes not explain the types of
Addressing Modes.
Mainly
addressing modes are used to specify how we are explaining address in address
field of the instructions, i.e. how we are placing value of address field in
instruction like in 16 bits of instruction one bit (15th bit) is
used to represent the addressing mode.
Here
I m writing only about two addressing modes i.e. Direct and Indirect
Direct Addressing also represents by 0
bit in addressing mode, in direct addressing mode the address used in
instruction shows that on that address we can find data and can perform
operations.
Indirect Addressing also represents by
1 bit (as shown in above diagram), indirect addressing mode shows that at the address
used in instruction, data is not present instead on that address another memory
location is present and on that second memory location our data is there which can
be use by instruction to perform operation. (It is quite complicated to understand).
In
this the term is also used named as Effective Address (EA), Effective address
is the address on which directly the operand can be accessed without any
modification to access for computation with instruction.
REGISTERS IN BASIC COMPUTER
We
know a processor has lot of registers to handle work given to it. Registers are
used to hold instruction , addresses, data, etc.
Program Counter (PC) is the register in
processor which holds memory address of
next instruction to be executed, PC in Basic
Computer needs only 12 bits to store address of next instruction for execution.
Address Register (AR) is that register
of processor which keeps track of memory locations used for addressing. It is
also 12 bit register. i.e. it is used to store memory addresses.
Data Register (DR), this register is
used to store data on which operations
performed by processor. Or we can say this register is used to store
operand found on memory locations given in instructions.
Accumulator (AC) this is also a
register of the processor and this register comes under general purpose register.
General purpose registers can directly be used in instructions.
e.g.
like, LOAD AC this instruction will save
content from specific memory location to Accumulator.
Temporary Register (TR) a register used
to store temporary data or intermediate results while executing instruction.
For
performing Input/Output operations processor has Input Register (INPR) and Output
Register (OUTR).
The INPR holds an 8 bit character it got
from any input device attached to processor.
The OUTR holds an 8 bit character to be
send to an output device attached to processor.
0 comments
If you have any questions or suggestions, you are free to ask, i will appreciate that and, i will try my best...