00:00:00
Hello friends, welcome to Gate Smashers
00:00:03
In today's video we are going to
discuss that how the registers are
00:00:06
communicating with each other
with the help of common bus.
00:00:10
That means how registers transfer data
to each other with the help of common bus
00:00:16
As we have seen in the last video in
the Von Neumann's architecture that
00:00:19
different types of devices
communicate with each other
00:00:23
And registers are one of the important points here
00:00:26
because we use different
types of registers in the computer
00:00:30
Like program counter, input register,
output register, accumulator,
00:00:36
data register, temporary registers
00:00:38
These different types of registers are
what they are using inside the computer
00:00:43
to execute the programs
00:00:45
Means the most important thing that we
want to execute the data and instruction
00:00:50
the registers are helping the most
00:00:52
And here all the registers that we are
using to connect them, what do we have?
00:00:58
Common bus, means we are using bus
architecture here
00:01:01
and to make the bus, we are
taking the help of multiplexers
00:01:06
So here you will be absolutely
clear from this diagram
00:01:09
In this diagram also
if we see, first of all
00:01:12
we have 4 registers,
register A, B, C and D
00:01:15
And these 4 are 4 bit registers that I
have taken here but generally what we use
00:01:20
in computers are 16 bit registers
00:01:23
But if we make such big registers with so
much data then
00:01:26
the diagram will become very complex
00:01:29
So here I have 4 bit registers 0, 1, 2, 3
and anyway registers are sequence of
00:01:35
bits, sequence of flip flops
00:01:37
So apart from that if we talk here, I
have taken 4*1 multiplexers, there are 4
00:01:42
multiplexers and in all 4 4*1 means
00:01:46
That there are 4 inputs and output is
1 and if there are 4 inputs then how
00:01:51
many select lines will there be?
00:01:52
There will be 2 select lines S0 and S1
and with the help of these select lines
00:01:58
what we will do is
00:01:58
How we allow the
output or registers to
00:02:01
load the data and
share it with each other
00:02:04
With example we
will see this but first of
00:02:06
all if we talk here how
we have connected it
00:02:09
So see the first
bit of register A0 is
00:02:12
connected with this
A1, A2, A3 with this
00:02:18
And the same B0 is with the first, B1
with the second, B2 with the third,
00:02:22
B3 with the fourth I have
just made a connection
00:02:25
of these 4 only
00:02:27
because if we make all these
connections here
00:02:29
diagram will become very complex,
you will not be clear
00:02:33
But if you see these
bits then you will get
00:02:35
an idea that which bit
is connected with which
00:02:39
So we understand from this example,
first of all if we talk let's say that the
00:02:43
select lines we have
are S1 and S0, S1 and S0
00:02:49
Now if we talk here what values
can be there? 00, 01, 10, 11
00:02:56
And if we talk about multiplexers
then how does it work?
00:03:00
Let's say 1, 2, 3, 4 these are 4 inputs
00:03:03
0, 1, 2, 3 and 2 select lines
00:03:06
So if S1 and S0 are 0, 0
00:03:09
means if this value value is 0, 0
multiplexer's property tells
00:03:14
That it picks up the 0th input, if it is
01 then first input
00:03:19
If it is 10 then it will pick second,
if it is 11 then it will pick third
00:03:23
and show it in the output
00:03:25
So we are using the same here, you
should know the multiplexer property
00:03:29
Then it will be easily clear to you,
so let's say if we apply 00
00:03:33
Select lines are here,
so what did we apply
00:03:36
00, so what will happen?
00:03:38
As we applied 00, the a0 will be selected,
00:03:43
means a0 here will become,
00:03:46
Output, first of all from this
one, it will pick up 0th one
00:03:50
As I just told you,
as we give 00 here
00:03:53
it will pick the 0th value, the 0th input
00:03:56
So here 0th input is? a0,
00:03:58
here which is the 0th input? a1,
00:04:00
what is the 0th input here? a2
00:04:03
And here which is the 0th input? a3,
00:04:06
so what will be in output? These four will!
00:04:09
And what will it become?
a3, a2, a1, a0, so what does it mean?
00:04:16
That the value of the
register number a will
00:04:19
be selected and you
can also say it like this
00:04:22
That the data of register
a will be loaded on the bus
00:04:28
Now we can give it to any register
from the bus, to ALU
00:04:32
can give it to memory
We can transfer it anywhere,
00:04:35
all the devices
connected with the bus
00:04:37
And if we see 01, let's say
what value did I pass in select line? 01
00:04:43
So as soon as we give 01, so see which
value will it pick up?
00:04:46
this value of 1.
00:04:48
So let's say if we give 01 here,
so what is the first value here?
00:04:53
First one b0, this first bit is b0,
so b0, what is here? b1,
00:04:59
what is here? b2, what is here? b3
00:05:03
So see which register
was chosen here
00:05:06
which register data will be
loaded on the bus? b
00:05:10
Similarly, here 1 0, so
what will happen in 1 0?
00:05:15
the third value will be loaded
00:05:18
the third bit of everything here
It will be loaded,
00:05:21
so the third of this?
00:05:23
Basically the third of this
is c0, c1, c2, c3,
00:05:28
c register data will be loaded on the bus
00:05:35
Or multiplexer will load the data on the bus,
00:05:38
if it's 1 1, D data will be loaded
00:05:41
See as soon as 1 comes, so 1 1
means the last bit,
00:05:45
fourth I mean third bit,
00:05:46
because we start numbering from 0
00:05:48
So this is d0, d1, d2, d3, see these
lines are already connected here
00:05:54
So the data here will be
00:05:56
It will be loaded, the register
data will be loaded on the bus
00:06:01
So if any instruction
is written here that
00:06:04
let's say we have to
load data of a on the bus
00:06:08
So to load data of a on the bus,
what you have to do is
00:06:11
pass select lines value as 0, 0
00:06:15
So the data of a register
will be loaded on the bus
00:06:20
And if we talk like
this, let's say if we
00:06:22
want to give this
data to b from the bus.
00:06:27
The data of a has already come on the bus
00:06:32
Now we have to give this data to b,
00:06:34
pick data from a and send it to b
00:06:39
So how will we do it? nothing,
we will connect these lines with b
00:06:44
Already these lines will be connected,
but here I have not made a diagram, so
00:06:48
you make it and see What you have to
do is, we bring these lines down like this
00:06:53
Here all these lines will be connected
00:07:04
Third line will be done and
this is our most significant
00:07:10
So LSB, 2nd, 3rd and 4th, all these lines
will come down and what we have to do
00:07:15
is simply connect
them here Like this
00:07:22
similarly it will be
connected with C, D and A
00:07:27
And our instruction is, first
load the data of A on the bus
00:07:32
So what we did to load the data
of a register on the bus is
00:07:36
turned the value of select line 0, 0
00:07:38
So the data is loaded on the bus, now
what we have to do is,
00:07:41
give that data to b, to do so, here
00:07:46
we load
00:07:47
on every register there will be
Load signal or load bit
00:07:52
with the control unit
turn load bit or load signal to 1
00:07:59
where? In this case,
we have to activate b
00:08:01
Because our instruction is saying that
load the data of a on the bus first, we
00:08:05
have done that by
making the select lines 0, 0
00:08:08
Now what we have to do is, with control signal
00:08:12
activate the load value of b?
00:08:16
will make it 1, for others it is 0
00:08:18
Although this data is going to C,
although this whole data is going to C
00:08:23
A already has it and
similarly data is going to D
00:08:27
But who will pick up that data here?
That data will pick up only b
00:08:34
Because instruction says that we
have to give that data to b, so control unit
00:08:38
will send which signal here?
00:08:39
What will be the load of b?
Will be 1, will be active
00:08:43
So this is how the registers
communicate with each other using the bus
00:08:48
Now here if we talk about gate, net or
any competitive level of exam
00:08:53
So what questions can come here?
00:08:55
about numerical question
or one mark question
00:08:59
So here first of all they can ask
number of multiplexers required
00:09:03
Means how many number
of multiplexers I will need here
00:09:07
So according to the question here
every multiplexer is picking up one bit
00:09:12
This is 0th bit, this is 1st bit,
this is 2nd bit, this is 4th bit
00:09:17
See here it picked up 0th bit, it has
to pick up 1st bit, it has to select 2nd
00:09:21
bit, it has to select 3rd bit
00:09:23
So if we talk about number of
multiplexers, our first question is
00:09:27
number of multiplexers required
00:09:31
Number of mux required will
be number of bits in register
00:09:41
Means all the bits in register,
let's say if there are 8 bits in register
00:09:46
If there are 8 bits in every register
then number of multiplexer is 8
00:09:50
If we have 16 bits in register then
number of registers required is 16
00:09:55
And second question is that the
inputs, number of inputs in multiplexer
00:10:03
Means we took 4*1
multiplexer here,
00:10:06
let's say we need 8*1,
16*1, how much we need
00:10:10
How will we know that number of
inputs in the multiplexer will come equal to
00:10:15
number of register
00:10:16
How much? equal to number of register,
see here number of multiplexers is equal
00:10:22
to number of register Means all the
bits are 0th bit, 1 bit, 2nd bit, 3rd bit
00:10:28
Let's say if I increase
2 more bits here,
00:10:31
4th and 5th, then
who will pick up 4th bit
00:10:34
Here I will need
one more multiplexer,
00:10:37
for 5th bit I will need
one more multiplexer
00:10:39
So if we have number of bits is 10, then
how many multiplexers are required? 10
00:10:45
But here if we talk about this
multiplexer, I need 4*1 or how much?
00:10:51
To make K*1 multiplexer what you need?
00:10:55
Number of registers
00:10:57
1, 2, 3 and 4, so these are two
important points asked in exams
00:11:03
So note these two points and apart
from this if we talk about how we make
00:11:08
architecture How we use it,
then we use bus architecture here
00:11:13
So this is how the different registers
communicate with each other and they
00:11:17
share the data.
00:11:18
So how many types of
registers are there, how
00:11:20
we use them, we will
see in the next video
00:11:23
Thank you