Computer Buses

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments
Captions
in this video I will look at the buses that are used inside a computer a bus is a communication pathway that allows data to travel between different components inside a computer understanding how buses work will give you a better understanding of what you can achieve with a computer this will help you determine where potential bottlenecks in system performance may occur when the computer is put under load to start with let's consider the question what is a computer bus or as it's better known a system bus a bus inside a computer is essentially a group of electrical wires that carry a signal on a motherboard these wires are called traces the bus carries data but you need to control the movement of the data to determine where it is going in order to do this a typical system bus is divided into three parts the first part is the data bus this bus carries the data a computer bus works just like a regular bus used to carry people the regular bus will have a limited number of seats a system bus will have a limited number of bits it can send it once for example a 32-bit bus can send 32 bits at once think of it like a bus with 32 seats and in order for the bus to leave it needs to have all 32 seats occupied a 32-bit bus always sends 32 bits of data at once no more no less the next step is that the data needs to know where it is going this is achieved by using the address bus the address bus essentially tells the computer where the data is going for example going to the main memory or to memory on a device more on that later in the video lastly there is the control bus the control bus determines when data is sent without any control the computer would not be able to determine when data is sent and when it is complete previous data would get mixed up with the new data and thus transfer errors would occur to understand the bus better let's consider a simple example of how a bus may work in the old days of computing this is how buses worked later in the video we will see the problems with using a bus designed like this and how modern buses were differently to overcome these problems to start with let's consider there are 16 wires for the address bus this will allow us to access 64 kilobytes of memory not a lot by today's standards now let's consider that we have a 16-bit data bus 16 bits can be sent or received on the data bus at once which is 2 bytes lastly we have our control bus in this example there are only 4 wires this is a simple example and you would generally have more but for this example there is read/write transfer acknowledgment and a clock signal wire the clock signal will determine when data is sent the read and write wires determine if data is being sent and the transfer acknowledgment wire determines if the data went through ok so essentially set the address bus to the address you want to read or write to place or receive your data on the data bus and use the control wires to determine when to start to transfer what sort of transfer be it either read or write and if it was received this is a very simple example that you may find in a very old computer but it is not without its problems consider that with this example we have 36 wires consider now that we wanted to send 32 or 64 bits at once this would greatly increase the number of wires required however having extra wires is not the only problem this would create this brings us to the topic of serial versus parallel serial transmission is when the data is transferred using one channel each bit follows the previous bit as in follow-the-leader parallel is when multiple channels are used at the same time think of it like line dancing where everyone is in a line and dancing in sync with each other in the old days of computing serial was the first technology to be used but was very slow in order to improve speed multiple channels were combined together to increase the speed it makes sense as sending more data at once greatly increases speed thus old computer started using parallel transmission to increase speed consider this example there are four bits being transmitted the first using serial and the second using parallel there is a small gap in transmission in between the bits it is difficult to precisely time electronics at high speed so sometimes there will be small delays in transmissions at high speed now consider our line dancing example if you were to speed the music up everyone in the line would need to match the music as the music gets faster this gets harder and harder with parallel communication all data must arrive at the destination before any more can be sent if all channels are not exactly in sync the transmission needs to slow down to keep it in sync this limits the speed parallel can run at essentially faster parallel communications require each channel to be precisely timed with each other channel now consider you have 64 channels that is a lot of channels to have precisely timed with each other if the channels get out of sync with each other this is referred to as clock skew in the case of cereal if you consider a follow-the-leader example if a person in the line were to go slower than the others the effect would be that everyone behind the person would also slow down it is a lot easier to time one channel than trying to keep multiple channels in sync with each other as electronics improved serial communication speeds increased and thus started getting faster than parallel communication for these reasons serial transmissions have started to replace parallel communication in newer computers you will find serial communication has replaced parallel for most of the buses in the computer including the buses from the CPU this allows higher speed and also requires less wires to connect devices together membrane modules still use parallel communication maybe one day that will change but you will find that just about everything else nowadays is serial communication to better understand how serial communication works I will use PCI Express as an example there are a number of different ways that serial communication can be implemented however you will find that they are similar to how PCI Express is implemented in this example I will use the PCI Express by one slot this slot only has one lane of traffic making it easy to understand each PCI Express slot has a number of pins for power and other functions each Lane will have eight wires that are used for data transmission the first four are for sending data of these four wires the first two are for sending and the last two are ground wires in some cases there may only be one ground wire and the second wire may be reserved you may be wondering why there are two sent wires when it is using serial communication the reason is that the two wires are run next to each other to reduce data corruption from interference when sending data the difference between the two signals is measured since both wires are next to each other they will both equally be affected by interference and thus the difference will remain the same with the interference quite high running an extra wire is a small price to pay to reduce interference and thus increase the amount of data that can be sent the same principle applies to the received wires for wires two of which are for receiving and to our foreground using two received wires electrically reduces interference and thus increases the speed data can be transferred at in old buses to save wires the bus may work in both directions essentially a switch would be flipped to determine if the bus was receiving or sending nowadays you will find that buses will use separate wires per sending and receiving the next point to consider is how data is sent from the PCI Express slot the way this is achieved is by using packets a packet contains a 96 to 128 byte header and a variable length amount of data up to 4 kilobytes the data sent is always in multiples of 32 bits the header contains the address and other configuration information all data sent contains extra bits which are used for error-checking the version of PCI Express being used will determine how much extra data is needed for error checking having the address in the header means separate wires are not required for the address bus as would have been required in previous computers you can see that using serial communication has significantly reduced the number of wires required if you want to increase the speed further you just add additional lanes for example with a PCI Express by 16 slot there are 16 lanes of traffic going into and out of the slot you will notice that there is no wire for the clock signal with PCI Express there is no external clock signal since the timing signal is embedded in the data signal itself this is one of the big advantages of serial communication since data does not need to line up with the clock signal it does not matter if the data traveling over it runs at slightly different speeds the other end will simply process it at the speed it receives the next point to consider is what happens when you have multiple devices chips and buses which are connected together here there are potential different devices of different speeds and there may be large amounts of data being transferred around in order to match the speeds between different devices and components buffering methods and wait states are used consider this example note that you have a Northbridge chip the Northbridge is connected to the CPU in this example there are two conveyor belts which represent data channels the two conveyor belts are exiting the North Bridge which transports data to the GPU and South Bridge since the GPU or graphics processing unit requires a lot of data it is not uncommon for it to be directly connected to the North Bridge or the CPU itself as the CPU is the fastest component in any computer system it will be sending data to the North Bridge quite fast the buses to other components will be slower than the CPU and therefore in order to match the speeds a buffer is used essentially what happens is as the data comes in the Northbridge takes the data from the buffer and places it on the bus if the buses are slightly out of sync the data stays in the buffer until it can be placed on the bus by having small delays in the buffer this gets around the buses being out of sync with each other the problem occurs when the buffer is full when this occurs the incoming dated needs to be stopped otherwise it will be lost this is done by sending a control signal to the bus telling it to stop this is called a wait state once the buffer is freed up the bus starts again the CPU being the fastest component in the computer is often placed into a wait state a number of different design techniques are performed to prevent the CPU from going into a wait state but you can only do so much you can start to understand why a computer can be under heavy load and for the CPU utilization to be low the computer is under load but the load is not in the CPU bottlenecks can potentially occur anywhere in a computer system understanding how the buses work gives you a better understanding of where those bottlenecks may occur sometimes because of different speeds of buses upgrading from SATA 2 to SATA 3 or changing an expansion card to a different slot may make a big difference to your computer's performance buses in the computer can be either internal or external internal buses are generally high speed buses that are inside the computer examples include the bus that connects to the CPU memory and the chips like the Northbridge external buses connect devices outside the computer these buses are generally slower than the internal buses examples include USB firewire and scuzzy scuzzy can be used to connect devices outside a computer however it can also be used to connect devices inside the computer some buses can be both internal and external an example of this is PCI Express PCI Express can be used internally in a computer and also can be used to connect devices external to the computer you will find that in a bus that supports both external speeds will generally be slower than what can be achieved internally inside the computer you may also come across the term storage bus a storage bus is simply a bus designed for the purpose of communicating with storage devices such as hard disks optical devices and solid-state drives you may also come across the term host bus adapter or HBA this refers to the adapter or device that supplies the bus for the storage devices the term is commonly used in servers and storage devices to access devices the parallel ata interface or peda was very popular in the 80s it was also known as IDE standing for integrated electronics there were many improvements made to it after it was introduced so it may also be called enhanced ID the interface is obsolete nowadays but you may find that your motherboard has this connection on it it may be any one of the three names regardless of what name is used since it is old technology modern motherboards will support all the old and new features of the interface so if you are using a modern motherboard don't worry about what the connection is called it will support all the new and old features of the interface nowadays you will most likely be using a SATA connection to connect the storage devices in your computer SATA is a serial connection while ide was parallel previously in computing parallel was faster than serial however as computers started to increase in speed timing parallel connections became harder to achieve it was found that better results could be achieved by using serial connections rather than parallel the other connection that is commonly used is scuzzy this stands for a small computer system interface traditionally scuzzy devices cost more so you would only see scuzzy used in servers or high-end workstations the scuzzy interface has changed a large number of times therefore you need to make sure you have the right interface and cable for the scuzzy device you are using traditionally scuzzy was parallel but now it has made the change to serial there are other kinds of storage devices that are used but these are the main ones you were going to come across the last point that I would like to cover is expansion cards shown here is an example of a PCI Express by one expansion card the expansion card will receive a clock signal from the motherboard all expansion slots have a standardized clock rate if different motherboards used different clock rates then a different expansion card would need to be manufactured to support each different clock rate this now means that only one expansion card needs to be made for each slot type this creates the problem that the manufacturer is stuck with that clock rate and it may not be suitable for their needs for this reason you will find that a lot of expansion cards will have their own crystal oscillator a crystal was used to generate clock rate having a crystal on the expansion card allows the manufacturer of the expansion card to create their own clock rate totally independently of the clock rates used on the motherboard the expansion card will still need to sync it's transfers up with the clock rates applied by the motherboard it does this using buffers and weight states as in the previous example of the Northbridge in order to power the crystal the expansion card receives 12 and 3.3 volt power from the motherboard this will be the first set of pins found on the expansion card not all the pins will be power but a large number of them are this power allows the expansion card to power the crystal to generate its own clock cycle you should now understand that a computer system uses a number of busses for devices to communicate with each other buffers are used so different speed devices can communicate with each other if too much data comes in at once a wait state is used to temporarily stop the data from being transmitted this concludes this video from IT free training I hope this has given you a better understanding of what buses do inside a computer until the next video from us I would like to thank you for watching
Info
Channel: itfreetraining
Views: 10,848
Rating: 4.9352751 out of 5
Keywords: Buses, Computer buses, A+, ITFreeTraining
Id: aBCaCrC3z0k
Channel Id: undefined
Length: 17min 46sec (1066 seconds)
Published: Sun Jun 14 2020
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.