Unit 1 & 2 COA Functional - Components
Unit 1 & 2 COA Functional - Components
T he address bus carries the address location of the data orinstruction.Thedata
bus carries data from one component to anotherandthecontrolbuscarriesthe
control signals. The system bus is the common communication path that carries
signals to/from CPU, main memory and input/output devices. The input/output
devices communicate with the system bus through the controller circuit which
helps in managing various input/output devices attached to the computer.
1.Address Bus
It is a group of conducting wires which carries address only.Address bus is
unidirectional because data flow in one direction, from microprocessor to
memory or from microprocessor to Input/output devices (That is, Out of
Microprocessor).
Length of Address Bus of 8085 microprocessor is 16 Bit (That is, Four
Hexadecimal Digits), ranging from 0000 H to FFFF H, (H denotes
Hexadecimal). The microprocessor 8085 can transfer maximum 16 bit
address which means it can address 65, 536 different memory location.
T he Length of the address bus determines the amount of memory a system
can address.Such as a system with a 32-bit address bus can address 2^32
memory locations.If each memory location holds one byte, the addressable
memory space is 4 GB.However, the actual amount of memory that can be
a ccessed is usually much less than this theoretical limit due to chipset and
motherboard limitations.
2. Data Bus
It is a group of conducting wires which carries Data only.Data bus is
bidirectional because data flow in both directions, from microprocessor to
memory orInput/OutputdevicesandfrommemoryorInput/Outputdevices
to microprocessor.
Length of Data Bus of 8085 microprocessor is 8 Bit (That is, two Hexadecimal
Digits), ranging from 00 H to FF H. (H denotes Hexadecimal).
henitiswriteoperation,theprocessorwillputthedata(tobewritten)on
W
the data bus, when it is read operation, the memory controller will get the
data from specific memory block and put it into the data bus.
T he width of the data bus is directly related to the largest number that the
bus can carry,suchasan8bitbuscanrepresent2tothepowerof8unique
values, this equates to the number 0 to 255.A 16 bit bus can carry 0 to
65535.
3.Control Bus –
It is a group of conducting wires, which is used to generate timing and
control signals to control all theassociatedperipherals,microprocessoruses
control bus to process data, that is what to do with selected memory
location. Some control signals are:
∙Memory read
∙Memory write
∙I/O read
∙I/O Write
∙Opcode fetch
If one line of control bus may be the read/write line.If the wire is low (no
electricity flowing) then the memory is read,ifthewireishigh(electricityis
flowing) then the memory is written.
BUS Arbitration in Computer Organization
us Arbitration refers to the process by which the current bus master accesses
B
andthenleavesthecontrolofthebusandpassesittotheanotherbusrequesting
processorunit.Thecontrollerthathasaccesstoabusataninstanceisknown as
Bus master.
conflict may arise if the number of DMA controllers or other controllers or
A
processors try to access the common bus at the same time, but access can be
giventoonlyoneofthose.OnlyoneprocessororcontrollercanbeBusmasterat
the same point of time. To resolve these conflicts, Bus Arbitration procedure is
implemented
to coordinate the activities of all devices requesting memory transfers. The
selection of the bus master must take into account the needs ofvariousdevices
by establishing a priority system for gaining access to the bus. The Bus Arbiter
decides who would become current bus master.
There are two approaches to bus arbitration:
Advantages –
∙Simplicity and Scalability.
∙The user can add more devices anywhere along thechain, up to a certain
aximum value.
m
Disadvantages –
∙The value of priority assigned to a device is dependson the position of
master bus.
∙Propagation delay is arises in this method.
∙If one device fails then entire system will stopworking.
(ii) Polling or Rotating Priority method –
In this method, the devices are assigned unique priorities and complete to access
the bus, but the priorities are dynamically changed to give every device an
opportunity to access the bus.
Advantages –
∙This method does not favor any particular deviceand processor.∙
The method is also quite simple.
∙If one device fails then entire system will notstop working.
Disadvantages –
∙Adding bus masters is different as increases thenumber of address lines of
the circuit.
(iii) Fixed priority or Independent Request method –
In this method, the bus control passes from one device to another only through
the centralized bus arbiter.
Advantages –
∙This method generates fast response.
Disadvantages –
∙Hardware cost is high as large no. of control linesare required.
bus structure, on the other hand, is more efficient for transferring information
A
between registers in a multi-register configuration system.
bus consists of a set of common lines, one for each bit of register, through
A
which binary information is transferred one at a time. Control signals determine
which register is selected by the bus during a particular register transfer.
The following block diagram shows a Bus system for four registers. It is
constructed with the help of four 4 * 1 Multiplexers each having four data inputs
(0 through 3) and two selection inputs (S1 and S2).
e have used labels to make it more convenient for you to understand the input
W
output configuration of a Bus system for four registers. For instance, output 1 of
register A is connected to input 0 of MUX1.
T he two selection lines S1 and S2 are connected to the selection inputs of all four
multiplexers. The selection lines choose the four bits of one register and transfer
them into the four-line common bus.
When both of the select lines are at low logic, i.e. S1S0 = 00, the 0 data inputs of
all four multiplexers are selected and applied to the outputs that forms the bus.
This, in turn, causes the bus lines to receive the content of register A since the
outputs of this register are connected to the 0 data inputs of the multiplexers.
S imilarly, when S1S0 = 01, register B is selected, and the bus lines will receive the
content provided by register B.
T he following function table shows the register that is selected by the bus for
each of the four possible binary values of the Selection lines.
ote: The number of multiplexers needed to construct the bus is equal to the number of bits
N
in each register. The size of each multiplexer must be 'k * 1' since it multiplexes 'k' data
lines. For instance, a common bus for eight registers of 16 bits each requires 16
multiplexers, one for each line in the bus. Each multiplexer must have eight data input lines
and three selection lines to multiplex one significant bit in the eight registers.
T he most commonly used three state gates in case of the bus system is abuffer
gate.
Memory Transfer
ost of the standard notations used for specifying operations on memory
M
transfer are stated below.
oThe
transfer of information from a memory unit tothe user end is called
aReadoperation.
oThe
transfer of new information to be stored in the memory is called
aWriteoperation.
oA memory word is designated by the letterM.
oWe must specify the address of memory word whilewriting the memory
transfer operations.
oTheaddress registeris designated byARand thedata registerbyDR.
PUSH
It inserts the data word at specified address to the top of the stack. It can be
implemented as:
//decrement SP by 1
SP <-- SP - 1
It deletes the data word at the top of the stack to the specified address. It
can be implemented as:
//transfer the content of SP (i.e, at top most data)
//into specified memory location
(memory address) <-- SP
//increment SP by 1
SP <-- SP + 1
peration type instruction does not need the address field in this CPU
O
organization. This is because the operation is performed on the two
operands that are on the top of the stack. For example:
SUB
T his instruction contains the opcode only with no address field. It pops the
two top data from the stack, subtracting the data, and pushing the result into
the stack at the top.
DP-11, Intel’s 8085 and HP 3000are some of the examplesof the stack
P
organized computers.
The advantages of Stack based CPU organization –
∙Efficient computation of complex arithmetic expressions.
∙Execution of instructions is fast because operanddata are stored in
consecutive memory locations.
∙Length of instruction is short as they do not haveaddress field.
The disadvantages of Stack based CPU organization –
∙The size of the program increases.
Note:Stack based CPU organisation uses zero addressinstruction.
General Register based CPU Organization
hen we are using multiple general purpose registers, instead of single
W
accumulator register, in the CPU Organization then this type of organization is
known as General register based CPU Organization. In this type of organization,
computer uses two or three address fields in their instruction format. Each
address field may specify a general register or a memory word.If many CPU
registers are available for heavily used variables and intermediate results, we can
avoid memory references much of the time, thus vastly increasing program
execution speed, and reducing program size.
For example:
MULT R1, R2, R3
R1 <-- R2 * R3
This instruction also can be written using only two address fields
as:MULT R1, R2
In this instruction, the destination register is the same as one of the source
registers. This means the operation
R1 <-- R1 * R2
E xample –
IR register contains = 0001XXXXXXXXXXXX, i.e. ADD after fetching and
decoding of instruction we find out that it is a memory reference instruction
for ADD operation.
Hence, DR ← M[AR]
AC ← AC + DR, SC ← 0
2.Register Reference –These instructions performoperations on registers
rather than memory addresses. The IR(14 – 12) is 111 (differentiates it from
memory reference) and IR(15) is 0 (differentiates it from input/output
instructions). The rest 12 bits specify register operation.
E xample –
IRregistercontains=0111001000000000,i.e.CMAafterfetchanddecode
cyclewefindoutthatitisaregisterreferenceinstructionforcomplement
accumulator.
Hence, AC ← ~AC
E xample –
IR register contains = 1111100000000000, i.e. INP after fetch and decode
c ycle we find out that it is an input/output instruction for inputing character.
Hence, INPUT character from peripheral device.
The set of instructions incorporated in16 bit IR register are:
1. Arithmetic, logical and shift instructions (and, add, complement, circulate
left, right, etc)
2. To move information to and from memory (store the accumulator, load the
accumulator)
3. Program control instructions with status conditions (branch, skip)
4. Input output instructions (input character, output character)
SYMBOL HEXADECIMAL CODE DESCRIPTIONAND 0xxx 8xxxAnd
ADD 1xxx 9xxx Add memory word to AC LDA 2xxx Axxx Load
BUN 4xxx Cxxx Branch Unconditionally BSA 5xxx Dxxx Branch and
ISZ 6xxx Exxx Increment and skip if 0 CLA 7800 Clear AC CLE
7100 Complement E
CIR 7080 Circulate right AC and E CIL 7040 Circulate left AC and
Addressing Modes
ddressing Modes– The term addressing modes refers to the way in which the
A
operand of an instruction is specified. The addressing mode specifies a rule for
interpreting or modifying the address field of theinstructionbeforetheoperand
is actually executed.
Addressing modes for 8086 instructions are divided into two categories:
1) Addressing modes for data
2) Addressing modes for branch
The 8086 memory addressing modesprovideflexibleaccesstomemory,allowing
y ou to easily access variables, arrays, records, pointers, and other complex data
types. The key to good assembly language programming is the proper use of
memory addressing modes.
An assembly language program instruction consists of two parts
∙Immediate addressing mode :In this mode data ispresent in address field of
instruction .Designed like one address instruction format.
∙Note:Limitation in the immediate mode is that therange of constants are
restricted by size of address field.
Example: MOV AL, 35H (move the data 35H into AL register)
∙Register mode:In register addressing the operandis placed in one of 8 bit or
16 bit general purpose registers. The data is in the register that is specified by
the instruction.
Here one register reference is required to access the data.
T he 8086 CPUs let you access memory indirectly through a register using the
register indirect addressing modes.
∙
MOV AX, [BX](move the contents of memory location
s
addressed by the register BX to the register AX)
seful for stepping through arrays in a loop. R2 – start of array d– size of an
U
element
∙Auto indexed ( decrement mode): Effective addressof the operand is the
contents of a register specified in the instruction. Before accessing the
operand, the contents of this register are automatically decremented to
point to the previous consecutive memory location.–( R1)
Here one register reference,one memory reference and one ALU operation is
required to access the data.
Example:
Add R1,-(R2) //OR
2 = R2-
R d
R1 = R1 + M[R2]
uto decrement mode is same as auto increment mode. Both can also be used to
A
implement a stack as push and pop . Auto increment and Auto decrement modes
are useful for implementing “Last-In-First-Out” data structures.
∙Direct addressing/ Absolute addressing Mode (symbol[ ]):The operand’s
offset is given in the instruction as an 8 bit or 16 bit displacement element. In
this addressing mode the 16 bit effective address of the data is the part of
the instruction.
Here only one memory reference operation is required to access the data.
Example:ADD
AL,[0301] //add the contents of offset address 0301 to AL
Note:
1. PC relative nad based register both addressing modes are suitable for
program relocation at runtime.
2. Based register addressing mode is best suitable to write position
independent codes.
Advantages of Addressing Modes
1.To give programmers to facilities such as Pointers, counters for loop controls,
indexing of data and program relocation.
2.To reduce the number bits in the addressing field of the Instruction.
Sample Question
Match each of the high level language statements given on the left hand side with
the most natural addressing mode from those listed on the right hand side.
1. A[1] = B[J]; a. Indirect addressing
2. while [*A++]; b. Indexed addressing
3. int temp = *x; c. Autoincrement
( A) (1, c), (2, b), (3, a)
(B)(1, a), (2, c), (3, b)
(C)(1, b), (2, c), (3, a)
(D)(1, a), (2, b), (3, c)
Answer: (C)
Explanation:
List 1 List 2
1) A[1] = B[J]; b) Index addressing
Here indexing is used
ote: The 2's compliment can be obtained by taking the 1's compliment and adding one to
N
the least significant pair of bits. The 1's compliment can be implemented with inverters, and
one can be added to the sum through the input carry.
oWhen
the mode input (M) is at a low logic, i.e.'0', the circuit act as an
adder and when the mode input is at a high logic, i.e. '1', the circuit act as a
subtractor.
oThe exclusive-OR gate connected in series receivesinput M and one of the
inputs B.
oWhen M is at a low logic, we have B⊕0 = B.
The full-adders receive the value of B, the input carry is 0, and the circuit
performs A plus B.
oWhen M is at a high logic, we have B⊕1 = B' andC0 = 1.
The B inputs are complemented, and a 1 is added through the input carry.
The circuit performs the operation A plus the 2's complement of B.
T he numbers copied down in successive lines are shifted one position to the left
from the previous number.
Finally numbers are added and their sum form the product.
T he sign of the product is determined from the sign of the multiplicand and
multiplier. If they are alike, sign of the product is positive else negative.
Hardware Implementation :
Following components are required for theHardwareImplementationof
multiplication algorithm :
1.Registers:
Two Registers B and Q are used to store multiplicand and multiplier
respectively.
Register A is used to store partial product during multiplication.
Sequence Counter register (SC) is used to store number of bits in the
multiplier.
2.Flip Flop:
To store sign bit of registers we require three flip flops (A sign, B sign and Q
sign).
Flip flop E is used to store carry bit generated during partial product
addition.3.Complement and Parallel adder:
This hardware unit is used in calculating partial product i.e, perform addition
required.
Flowchart of Multiplication:
.InitiallymultiplicandisstoredinBregisterandmultiplierisstoredinQ
1
register.
2. Sign of registers B (Bs) and Q (Qs) are compared usingXORfunctionality (i.e.,
if both the signs are alike, output of XOR operation is 0 unless 1) and output
stored in As (sign of A register).
Note:Initially 0 is assigned to register A and Eflip flop. Sequence counter is
initialized with value n, n is the number of bits in the Multiplier.3. Now least
significant bit of multiplier is checked. If it is 1 add the content of register A
with Multiplicand (register B) and result is assigned in A register with carry bit
in flip flop E. Content of E A Q is shifted to right by one position, i.e., content
of E is shifted to most significant bit (MSB) of A and least significant bit of A is
shifted to most significant bit of Q.
4. If Qn = 0, only shift right operation on content of E A Q is performed in a
similar fashion.
5. Content of Sequence counter is decremented by 1.
. Check the content of Sequence counter (SC), if it is 0, end the process and
6
the final product is present in register A and Q, else repeat the process.
Example:
ultiplicand = 10111
M
Multiplier = 10011
Array Multiplier-
narray multiplieris a digital combinational circuitused for multiplying two
A
binary numbers by employing an array of full adders and half adders. This array is
used for the nearly simultaneous addition of the various product terms involved.
To form the various product terms, an array of AND gates is used before the
Adder array.
Checkingthebitsofthemultiplieroneatatimeandformingpartialproductsisa
sequentialoperationthatrequiresasequenceofaddandshiftmicro-operations.
Themultiplicationoftwobinarynumberscanbedonewithonemicro-operation
by means of a combinational circuit that forms the product bits all at once. This is
a fast way of multiplying two numbers since all it takes is the time for the signals
to propagate through the gates that form the multiplication array. However, an
array multiplier requires a large number of gates, and for this reason it was not
economical until the development of integrated circuits.
F orimplementationofarraymultiplierwithacombinationalcircuit,considerthe
multiplicationoftwo2-bitnumbersasshowninfigure.Themultiplicandbitsare
b1 and b0, the multiplier bits are a1 and a0, and the product is
c3c2c1c0
ssuming A = a1a0 and B= b1b0, the various bits of the final product term P can
A
be written as:-
1. P(0)= a0b0
2. P(1)=a1b0 + b1a0
. P(2) = a1b1 + c1 where c1 is the carry generated during the addition for the P(1) term.
3
4. P(3) = c2 where c2 is the carry generated during the addition for the P(2) term.
F or the above multiplication, an array of four AND gates is required to form the various product
terms like a0b0 etc. and then an adder array is required to calculate the sums involving the
various product terms and carry combinations mentioned in the above equations in order to
get the final Product bits.
1. The first partial product is formed by multiplying a0 by b1, b0. The multiplication of two
its such as a0 and b0 produces a 1 if both bits are 1; otherwise, it produces 0. This is
b
identical to an AND operation and can be implemented with an AND gate. 2. The first partial
product is formed by means of two AND gates.
3. The second partial product is formed by multiplying a1 by b1b0 and is shifted one position
t o the left.
4. The above two partial products are added with two half-adder(HA) circuits. Usually there
are more bits in the partial products and it will be necessary to use full-adders to produce
the sum.
5. Note that the least significant bit of the product does not have to go through an adder
since it is formed by the output of the first AND gate.
A
combinational circuit binary multiplier with more bits can be constructed in
similar fashion. A bit of the multiplier is ANDed with each bit of the multiplicand
in as many levels as there are bits in the multiplier. The binary output in each level
of AND gates is added in parallel with the partial product of the previous level to
form a new partial product. The last level produces the product. For j multiplier
bits and k multiplicand we needj*kAND gates and(j-1)k-bit adders to produce a
product ofj+kbits.
Division isasimilaroperationtomultiplication,especiallywhenimplementedusing
a procedure similar to the algorithm shown inFigure3.18a.Forexample,consider
the pencil-and-paper method for dividing the byte 10010011 by the nybble 1011:
(b)
(c)
Figure 3.19.Division of 32-bit Boolean number representations:(a) algorithm, (b)
example using division of the unsigned integer 7 by the unsigned integer 3, and (c)
schematic diagram of ALU circuitry - adapted from [Maf01].
(a)
(b)
(c)
Figure 3.20.Division of 32-bit Boolean number representations:(a) algorithm, and
(b,c) examples using division of +7 or -7 by the integer +3 or -3; adapted from
[Maf01].
Floating point arithemetic
Floating point (FP) representations of decimal numbers are essential to scientific
computation usingscientific notation. The standardfor floating point representation
is the IEEE 754 Standard. In a computer, there is a tradeoff between range and
precision - given a fixed number of binary digits (bits), precision can vary inversely
with range. In this section, we overview decimal to FP conversion, MIPS FP
instructions, and how registers are used for FP computations.
We have seen that an n-bit register can represent unsigned integers in the range 0 to
n -1, as well as signed integers in the range -2n-1to-2n-1-1. However, there are very
2
large numbers (e.g., 3.15576 · 1023), very small numbers(e.g., 10-25), rational
numbers with repeated digits (e.g., 2/3 = 0.666666...), irrationals such as 21/2, and
transcendental numbers such as e = 2.718..., all of which need to be represented in
computers for scientific computation to be supported.
and can be innormalized form(mantissa has exactlyone digit to the left of the
decimal point, e.g., 2.3425 · 10-19) ornon-normalizedform. Binary scientiic notation
has the folowing configuration, which corresponds to the decimal forms:
Assume that we have the followingnormal formatforscientific notation in
Boolean numbers:
+1.xxxxxxx2· wyyyyy2,
which can represent decimal numbers ranging from -2.0 · 10-38to 2.0 · 1038.
In FP, overflow and underflow are slightly different than in integer numbers. FP
overflow (underflow) refers to the positive (negative) exponent being too large for the
number of bits alloted to it. This problem can be somewhat ameliorated by the use of
double precision, whose format is shown as follows:
Here, two 32-bit words are combined to support an 11-bit signed exponent and a
52-bit significand. This representation is declared in C using thedoubledatatype, and
can support numbers with exponents ranging from -30810to 30810. The primary
advantage is greater precision in the mantissa.
Both single- and double-precision FP representations are supported by the IEEE 754
Standard, which is used in the vast majority of computers since its publication in
1980. IEEE 754 facilitates the porting of FP programs, and ensures minimum
standards of quality for FP computer arithmetic. The result is a signed representation -
the sign bit is 1 if the FP number represented by IEEE754 is negative. Otherwise, the
sign is zero. A leading value of 1 in the significand is implicit for normalized
numbers. Thus, the significand, which always has a value between zero and one,
occupies 23 + 1 bits in single-precision FP and 52 + 1 bits in double precision. Zero
is represented by a zero significand and a zero exponent - there is no leading value of
one in the significand. The IEEE 754 representation is thus computed as:
As a parenthetical note, the significand can be translated into decimal values via the
following expansion:
With IEEE 754, it is possible to manipulate FP numbers without having special
purpose FP hardware. For example, consider the sorting of FP numbers. IEEE 754
facilitates breaking FP numbers up into three parts (sign, significant, exponent). The
numbers to be sorted are ordered first according to sign (negative < positive), second
according to exponent (larger exponent => larger number), and third according to
significand (when one has at least two numbers with the same exponents).
Another issue of interest in IEEE 754 isbiased notationfor exponents. Observe that
twos complement notation does not work for exponents: the largest negative
(positive) exponent is 000000012(111111112) . Thus,we must add abias termto the
exponent to center the range of exponents on the bias number, which is then equated
to zero. The bias term is 127 (1023) for the IEEE 754 single-precision
(double-precision) representation. This implies that
As a result, we have the following example of binary to decimal floating point
conversion:
Decimal-to-binary FP conversion is somewhat more difficult. Three cases pertain:
(1) the decimal number can be expressed as a fraction n/d where d is a power of
two; (2) the decimal number has repeated digits (e.g., 0.33333); or (3) the decimal
number does not fit either Case 1 or Case 2. In Case 1, one selects the exponent as
-log2( d), and converts n to binary notation. Case3 is more difficult, and will not be
discussed here. Case 2 is exemplified in the following diagram:
Here, the significand is 101 0101 0101 0101 0101 0101, the sign is negative
(representation = 1), and the exponent is computed as 1 + 127 = 12810= 1000
00002. This yields the following representation inIEEE 754 standard notation:
The following table summarizes special values that can be represented using the
IEEE 754 standard.
Computer Arithmetic
Negative Number Representation
∙Sign Magnitude
Sign magnitude is a very simple representation of negative numbers. In sign
magnitude the first bit is dedicated to represent the sign and hence it is called
sign bit.
For example,
∙+25 = 011001
Where 11001 = 25
And 0 for ‘+’
∙-25 = 111001
Where 11001 = 25
And 1 for ‘-‘.
Range of number represented by sign magnitude method= -(2n-1-1) to
+(2n-1-1) (for n bit number)
+ 0 = 000000
– 0 = 100000
S o, (-8)10 = (1000)2
Please don’t get confused with (8)10 =1000 and (-8)10=1000 as with 4 bits, we
can’t represent a positive number more than 7. So, 1000 is representing -8 only.
ormalization
N
∙Floating point numbers are usually normalized
∙Exponent is adjusted so that leading bit (MSB) ofmantissa is 1∙
Since it is always 1 there is no need to store it
∙Scientific notation where numbers are normalizedto give a single digit
before the decimal point like in decimal system e.g. 3.123 x 103 For
example, we represent 3.625 in 32 bit format.
hanging 3 in binary=11
C
Changing .625 in binary
.625 X 2 1
.25 X 2 0
.5 X 2 1
riting in binary exponent form
W
3.625=11.101 X 20
On normalizing
11.101 X 20=1.1101 X 21
On biasing exponent = 127 + 1 = 128
(128)10=(10000000) 2
For getting significand
010000000 11010000000000000000000
Again we follow the same procedure upto normalization. After that, we add 1023
to bias the exponent.
F or example, we represent -3.625 in 64 bit format.
Changing 3 in binary = 11
.625 X 2 1
.25 X 2 0
.5 X 2 1
S o, final representation
1 10000000000 110100000000 …………. making total 52 bits by adding further 0’s
Now we get the difference of exponents to know how much shifting is required.
( 1
0000010 – 01111110)2 = (4)1 0
Now, we find the difference of exponents to know how much shifting is required.
( 1 0000010 – 01111110)2 = (4)1 0
Now, we shift the mantissa of lesser number right side by 4 units.
Mantissa of– 0.5625 = 1.00100000000000000000000
(note that 1 before decimal point is understood in 32-bit representation)
Shifting right by4units,0.00010010000000000000000
Mantissa of9.75=1. 00111000000000000000000
– 1. 00111000000000000000000
————————————————
1. 00100110000000000000000
s a result of that, if the requirement is to read two operand for the operation then read
A
operation need to be carried twice. So that’s why it is making the process little longer.
One of the advantage of one bus organisation is that, it is one of the simplest and also
this is very cheap to implement. At the same time a disadvantage lies that it has only
one bus and this “one bus” is accessed by all general purpose registers, program
counter, instruction register, MAR, MDR making each and every operation sequential.
No one recommend this architecture now-a-days.
wo Bus organizatrion –
T
Two overcome the disadvantage of one bus organisation an another architecture was
developed known as two bus organisation. In two bus organisation there are two buses.
The general purpose register can read/write from both the buses. In this case, two
operands can be fetched at the same time because of the two buses. One of bus fetch
operand for ALU and another bus fetch for register. The situation arrises when both
buses are busy fetching operands, output can be stored in temporary register and when
the buses are free, particular output can be dumped on the buses.
herearetwoversionsoftwobusorganisation,i.e.,in-busandout-bus.Fromin-busthe
T
generalpurposeregistercanreaddataandtotheoutbusthegeneralpurposeregisters
can write data.Here buses gets dedicated.
hree Bus organizatrion –
T
In three bus organisation we have three bus, OUT bus1, OUT bus2 and a IN bus. From
the out buses we can get the operand which can come from general purpose register
and evaluated in ALU and the output is dropped on In Bus so it can be sent to
respective registers.This implementation is a bit complex but faster in nature because in
parallel two operands can flow into ALU and out of ALU. It was developed to overcome
the “busy waiting” problem of two bus organisation. In this structure after execution, the
output can be dropped on the bus without waiting because of presence of an extra bus.
The structure is given below in the figure.
The mainadvantagesof multiple bus organisationsover single bus are as given below.
1. Increase in size of the registers.
2. Reduction in the number of cycles for execution.
3. Increases the speed of execution or we can say faster execution.