4. There must be a
mechanism to inform
memory that we want to do
the
read operation
There must be a
mechanism to inform
memory that we want to
read
precisely which element
There must be a
mechanism to transfer
that data element from
memory to processor
4
6. Address Bus
The address bus is unidirectional and address
always travels from processor to memory
Data Bus
Data moves from both, processor to memory and
memory to processor, so the data bus is
bidirectional
Control Bus
information from the processor to a peripheral
and some take information from the peripheral to
the processor
6
7. A binary number is generated on the address
bus, fifth, seventh, eighth, tenth; the cell
which is needed
A memory cell is an n-bit location to store
data, normally 8-bit also called a byte
The number of bits in a cell is called the cell
width
7
9. Precise synchronization between the
processor and the memory is the
responsibility of the control bus
Since the memory never wants to listen or to
speak of itself. Then why is the control bus
bidirectional.
9
10. There are temporary storage places inside the
processor called registers
Registers are inside the processor
They are used when we need more than one
data element inside the processor at one time
In its operation it is similar to memory
It is also knows as scratch pad ram
10
11. Memory is a limited resource but the number
of memory cells is large
Registers are relatively very small in number,
and are therefore a very scarce and precious
resource
Registers are more than one in number, so
we have to precisely identify or name them
Some manufacturers number their registers
like r0, r1, r2, others name them like A, B, C,
D etc. 11
11
12. There is a central register in every processor
called the accumulator
Traditionally all mathematical and logical
operations are performed on the accumulator
The word size of a processor is defined by
the width of its accumulator. A 32bit
processor has an accumulator of 32 bits
12
13. It does not hold data but holds the address of
Data
13
14. This is a special register in every architecture
called the flags register
Collection of different Boolean information each
bit has an independent meaning
Like the accumulator it is an 8, 16, or 32 bits
register but unlike the accumulator it is
meaningless as a unit, rather the individual bits
carry different meanings
The bits of the accumulator work in parallel as a
unit and each bit mean the same thing
The bits of the flags register work independently
and individually, and combined its value is
meaningless
14
16. A program is defined to be “an ordered set of
instructions.”
Instructions have a positional relationship.
The whole logic depends on this positioning
“The program counter holds the address of
the next instruction to be executed.”
This number is called the opcode.
16
17. Symbols are called instruction mnemonics
add, sub, lad
The dumb translator that will convert these
mnemonics back to the original opcodes is a
key program to be used throughout this
course and is called the assembler
Add to 152 or some numbers
17
19. These instructions are used to move data
from one place to another.
These places can be registers, memory, or
even inside peripheral devices. Some
examples are:
mov ax, bx ; move data from bx to ax
lad 1234 ; laod 0234 into accumulator
19
20. Arithmetic instructions like addition, subtraction,
multiplication, division and Logical instructions like
logical and, logical or, logical xor, or complement
are part of this group. Some examples are:
and ax, 1234 ; AND 1234 with ax
add bx, 0534 ; AND 0534 to bx
add bx, [1200] ; ADD data at address 1200 to bx
The bracketed form is a complex variation meaning to
add the data placed at address 1200.
20
21. These are instructions that control the
program execution and flow by playing with
the instruction pointer and altering its normal
behavior to point to the next instruction.
cmp ax, 0 ; compare ax with 0
jne 1234 ; jump if not equal to the
; instruction at address 1234
21
22. Another group called special instructions works
like the special service commandos. They allow
changing specific processor behaviors and are
used to play with it. They are used rarely but
are certainly used in any meaningful
program.
cli ; clear the interrupt flag
sti ; set the interrupt flag
22