L-1.5: Common bus system using multiplexer | Computer organization and Architecture

00:11:25
https://www.youtube.com/watch?v=nbDd46e_LpE

Résumé

TLDRThe video explains how registers in computers communicate using a common bus architecture, facilitated by multiplexers that manage data transfer between them. It covers the connection of multiple registers (A, B, C, and D) through a bus, which is controlled using select lines in multiplexers. Select lines determine which register loads its data onto the bus. Registers, numerous bits in sequence, connect to the bus to enable data and instruction execution. Multiplexers each select one bit, driven by select line values, to load onto the bus, which can then share data with any connected register or device. The load function, governed by a control unit, signals registers to receive data from the bus. The discussion includes practical examples of loading and transferring data across registers using select line combinations. Additionally, the video touches on questions related to competitive exams, such as calculating the number of multiplexers needed based on bit counts in registers.

A retenir

  • 💡 Different types of registers are crucial for executing computer programs.
  • 🖥️ Registers communicate using a common bus controlled by multiplexers.
  • 🔀 Multiplexers are key in selecting data from specific registers.
  • 🔧 Select line values determine which register's data is loaded onto the bus.
  • ⚙️ No. of multiplexers equals the number of bits in the register.
  • 🚦 Load signals control data acceptance by registers.
  • 📚 Key for competitive exams: Know how to calculate multiplexer needs.
  • 🔢 Registers are typically 16 bits wide in computers.
  • 🛠️ Building a bus requires precise wiring and understanding of select lines.
  • 🤖 Control units manage which registers load data on the bus.

Chronologie

  • 00:00:00 - 00:05:00

    The video introduces the topic of how registers communicate using a common bus, focusing on the Von Neumann architecture where different devices, including various types of registers like program counter, input, output, accumulator, etc., interact. The explanation covers how buses facilitate data transfer between these registers, using bus architecture with multiplexers. Each register (A, B, C, D) is depicted as a 4-bit register to simplify understanding, although normally 16-bit registers are used. The speaker explains how the bits from these registers are connected through multiplexers, each having 4 inputs and 1 output, controlled by select lines S0 and S1, which determine which register's data is loaded onto the bus.

  • 00:05:00 - 00:11:25

    The process of loading register data onto a bus via multiplexers is demonstrated with select line values. For instance, a select line value of 00 loads register A’s data, while 01 loads register B’s data onto the bus. This concept extends to other registers, C and D, using similar select line logic. Explanation is given on how data is moved from one register to another through the bus by manipulating select lines and control signals, specifically the 'load' signal in registers. Additionally, the speaker addresses potential exam questions about the number of multiplexers required, relating them to the number of bits in a register and number of inputs per multiplexer, affirming that communication between registers is achieved using bus architecture.

Carte mentale

Vidéo Q&R

  • What is a common bus in computer architecture?

    A common bus is a shared communication medium that allows registers and other devices to share data with each other in a computer system.

  • How do multiplexers aid in register communication via a bus?

    Multiplexers help by selecting the appropriate register data to be loaded onto the bus based on select line values.

  • What are some types of registers mentioned?

    Some types mentioned are program counter, input register, output register, accumulator, data register, and temporary registers.

  • How are registers selected to communicate data on the bus?

    Registers are selected using multiplexers and select lines, where the select line values determine which register's data is loaded onto the bus.

  • How do load signals work in this context?

    Load signals, controlled by the control unit, activate the accept (load) function of a register, allowing it to receive data from the bus.

  • What determines the number of multiplexers needed?

    The number of multiplexers required equals the number of bits in the register.

  • How many inputs do multiplexers need according to the number of registers?

    The number of inputs in each multiplexer must match the number of registers.

  • What bit widths are generally used in computers for registers?

    Registers in computers generally use bit widths like 16 bits to hold data.

Voir plus de résumés vidéo

Accédez instantanément à des résumés vidéo gratuits sur YouTube grâce à l'IA !
Sous-titres
en
Défilement automatique:
  • 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
Tags
  • computer architecture
  • common bus
  • registers
  • multiplexers
  • select lines
  • data transfer
  • control unit
  • Von Neumann architecture