Sandbox
-
1:11 - 1:18In this last part in our series of lectures
on computer organization, let us take a look -
1:18 - 1:20at the bus.
-
1:20 - 1:22What is a bus?
-
1:22 - 1:31So far we had seen the blocks of CPU, memory,
I/O and the interconnecting bus. -
1:31 - 1:38On more than one occasion, I had pointed out
that we have to evolve some kind of standardization -
1:38 - 1:46so that the system from the bus we will see
something uniform because you may be having -
1:46 - 1:51different types of memory systems and you
may be having different types of devices but -
1:51 - 1:55the CPU must see something uniform on the
bus on the bus end. -
1:55 - 2:02In spite of all these, though we talk about
standards, we would find that there are different -
2:02 - 2:09standards; obviously because the CPU and memory
work at some rate different from I/O. -
2:09 - 2:16If at all CPU is directly involved, that is
going to be at another rate; then, memory -
2:16 - 2:24I/O will be a different rate; and in I/O,
you have a spectrum from the lowest K speed -
2:24 - 2:26to the fastest one.
-
2:26 - 2:37So generally, we would find that there are
different types of buses and when a processor -
2:37 - 2:44comes with some brand name in the market,
you would find that that particular manufacturer -
2:44 - 2:46comes out with its own bus also.
-
2:46 - 2:56By the time that particular bus gets standardized,
you would find that the bus is no longer very -
2:56 - 3:02relevant, mainly because the processor is
outdated. -
3:02 - 3:10Nevertheless, we can always talk in the case
of bus; in general, about the specifications -
3:10 - 3:16of the bus.
-
3:16 - 3:22Here there are certain things which you may
find are common and there are certain things -
3:22 - 3:26which would keep varying.
-
3:26 - 3:32Now while specifying a bus, what exactly is
the bus; what is it we have talked about earlier? -
3:32 - 3:37We have always said a bus is a set of signal
lines. -
3:37 - 4:01We had introduced the bus as a set of signal
lines. -
4:01 - 4:11Bus in fact is a term introduced by Americans;
earlier the British used to call it highway. -
4:11 - 4:18Now that particular term is coming in a different
context like super highway for information -
4:18 - 4:19and so on.
-
4:19 - 4:23Earlier they were calling it highway.
-
4:23 - 4:29Essentially on a highway something moves;
but Americans used the bus. -
4:29 - 4:35Now in the case of computer system, we can
say the bus is like a highway over which the -
4:35 - 4:37data moves – there is some communication.
-
4:37 - 4:51But Americans called it bus – since bus
is a set of signal lines, these signal lines -
4:51 - 4:57are carried over lines, which form conductors.
-
4:57 - 5:10So the bus has conductors and a bus is usually
long; while trying to meet an electrical specification, -
5:10 - 5:20you will find that you would need some current
amplifiers, we call them current drivers. -
5:20 - 5:27That means along with the bus or as part of
a bus, you have drivers. -
5:27 - 5:32So you can see that a bus has drivers and
conductors and we are quite familiar with -
5:32 - 5:34the term bus.
-
5:34 - 5:44Now let us go into certain aspects of the
specifications. -
5:44 - 5:51There are actually three types of specifications
but usually in computer organization, or we -
5:51 - 5:56may say even computer scientists will be concerned
more with only one thing. -
5:56 - 6:01That particular thing is called the logical
specification of the bus. -
6:01 - 6:07In fact all the time when we were talking
about some transfer over the bus, we were -
6:07 - 6:10indicating this.
-
6:10 - 6:12What is it we said earlier?
-
6:12 - 6:20We said the CPU places address on the bus
and if it were a read cycle, the CPU also -
6:20 - 6:27places a read signal on the bus, and then
the memory responds with data and it puts -
6:27 - 6:28it on the bus.
-
6:28 - 6:32CPU, of course, reads it in.
-
6:32 - 6:39So you can see that there is generation of
address, signal generation of read signal -
6:39 - 6:42and strobing the data that’s available.
-
6:42 - 6:44This is what we were talking about all the
time. -
6:44 - 6:45Now what is the data?
-
6:45 - 6:50Data is a pattern of 1s and 0s; it is a string
of 1s and 0s. -
6:50 - 6:53Similarly address also is a string.
-
6:53 - 6:58So all the time we were only talking about
the logical aspect of it because we never -
6:58 - 7:07said the data which is 1 means say 1 volt;
0 means say 0 volts or any such thing; we -
7:07 - 7:12did not talk about any physical, real-world
quantity. -
7:12 - 7:15We were not referring to any physical quantity.
-
7:15 - 7:18We are talking about a read as a read signal,
write as a write signal. -
7:18 - 7:23We never said read means what must be the
voltage and so on and so forth. -
7:23 - 7:28So that is what we are talking about when
we talk about the logical specification; another -
7:28 - 7:37thing as you would have noticed is that we
are talking about sequence of actions. -
7:37 - 7:45What are the things we were mentioning?
-
7:45 - 7:57We said first address, then read and then
the data comes, which is strobed, so we were -
7:57 - 7:58talking about sequence also.
-
7:58 - 8:07In other words, the sequence of actions which
is part of what we refer to as bus protocol, -
8:07 - 8:14is only one specific way in which this read
or write can be performed. -
8:14 - 8:24So we talk about logical signals involved
and then we also talk about the sequence in -
8:24 - 8:28which the signals must be generated.
-
8:28 - 8:34Now generally when we discuss the bus in computer
science, or from a computer scientist’s -
8:34 - 8:39point of view, we will always be concerned
with these logical aspects. -
8:39 - 8:46But later as I was just trying to point out,
there are two things: one is the electrical -
8:46 - 8:48specification.
-
8:48 - 8:55So when we talk about the electrical specification
of the bus, I have to say for instance what -
8:55 - 8:58does 1 mean?
-
8:58 - 9:11Do 1 and 0 there refer to say some voltage
signals or current signals or some other signals? -
9:11 - 9:21And if for instance 1 and 0 will be represented
by plus 5 V and 0 V or 3 V, plus 3 V and plus -
9:21 - 9:290.2 V or let us say plus 15 V and minus 15
V. -
9:29 - 9:33All these things really refer to the physical
quantities. -
9:33 - 9:39They would come into the electrical specification
of the bus. -
9:39 - 9:45It is not enough if we say that the address
is placed. -
9:45 - 10:01We have to specify exactly what must be the
levels of the voltage or current signals. -
10:01 - 10:14Essentially we can just put it as physical
specification, but then the mechanical specification -
10:14 - 10:16of the bus also has to be specified.
-
10:16 - 10:24So together, these two form the physical part
of the bus and this forms the logical part -
10:24 - 10:27of the bus.
-
10:27 - 10:33One talks about the electrical signal levels
and so on, the other one talks about the mechanical -
10:33 - 10:34thing.
-
10:34 - 10:44So this would say how long the bus conductor
can be and what sort of edge connector is -
10:44 - 10:51used – is it something like 32 pin or 62
pin and if it is this pin, is it a parallel -
10:51 - 10:55or are the pins parallel or staggered, etc.
-
10:55 - 11:03For instance, if we talk about the standard
bus, we have specification along all the three -
11:03 - 11:04dimensions.
-
11:04 - 11:12If we say multi-bus, there is a specific multi-bus
connector and each of the multi-bus signals -
11:12 - 11:20is going to be defined in terms of some electrical
voltage current and so on. -
11:20 - 11:24And then we also talk about this particular
one. -
11:24 - 11:26So essentially we will only concentrate on
this. -
11:26 - 11:32But let us not forget that there are these
specifications also; somebody must concern -
11:32 - 11:34with this; otherwise there is no standard.
-
11:34 - 11:37Now why must we be concerned even down to
the level of mechanical? -
11:37 - 11:43That is mainly because this is the one which
is going to give freedom to the user. -
11:43 - 11:49So if we say use multi-bus one connector or
multi-bus two connectors or some other X bus, -
11:49 - 11:55new bus, and then all he does is he goes to
the shop and ask for that connector and then -
11:55 - 12:00brings it and then machine properly without
any difficulty. -
12:00 - 12:05He is not going to be bothered about either
logical aspect or electrical aspect; for him, -
12:05 - 12:11when he keys in, there must be a display and
that particular display must mean something -
12:11 - 12:14to him at a higher level.
-
12:14 - 12:20Having said that, we will be concentrating
on the logical aspects of this bus. -
12:20 - 12:24We can note that essentially there are again
three sections. -
12:24 - 12:31The first one we may say is concerned with
the data transfer. -
12:31 - 12:34This is the one we keep talking all that time
about. -
12:34 - 12:41That is, we say that the CPU places address,
indicates what type of transfer, read or write, -
12:41 - 12:48input or output, whatever it wants, and then
memory or I/O responds. -
12:48 - 12:54So all these things: placing the address,
placing the appropriate control signal, and -
12:54 - 12:58then passing on the data will come under the
data transfer aspect. -
12:58 - 13:05Now as the CPU is involved in this data transfer
because what is going on in any instruction -
13:05 - 13:11cycle again and again is the same thing, fetching
an instruction, interpreting, executing, as -
13:11 - 13:17part of executing fetching a data, that is,
instruction or data fetching – it all comes -
13:17 - 13:18under the data transfer.
-
13:18 - 13:21This is what is going on in every instruction
cycle. -
13:21 - 13:28Now this is the essential thing as far as
the processor is concerned. -
13:28 - 13:34As this goes on some other device may indicate
that it is ready; in the case of interrupt, -
13:34 - 13:36is it not.
-
13:36 - 13:42Now in a system which has n number of devices,
that is, multiple devices, we also said that -
13:42 - 13:48we have to look in to the priority among these
when there is a multiple request for this -
13:48 - 13:50CPU attention.
-
13:50 - 13:58So we have to basically see that there is
priority checking and so on. -
13:58 - 14:06We may put this particular one as priority
arbitration; meaning as CPU is busy with the -
14:06 - 14:22transfer, then possibly there is some other
specialized hardware unit, which looks into -
14:22 - 14:25the action.
-
14:25 - 14:31Priority arbitration can go on in parallel
with the data transfer. -
14:31 - 14:44For instance as part of the some instruction
cycle, when one of the n devices or two of -
14:44 - 14:51the devices indicate that readiness, then
there is a conflict. -
14:51 - 14:58Now the priority arbitrator will look in to
the requests and then will choose the higher -
14:58 - 15:05priority device between those two so that
when the instruction cycle is complete it -
15:05 - 15:10can go ahead, that is, in the case of interrupt.
-
15:10 - 15:17So priority arbitration is another piece of
action that goes on and we will have dedicated -
15:17 - 15:29signal lines as part of the bus because then
only two things can go on in parallel; otherwise -
15:29 - 15:31it is not possible.
-
15:31 - 15:37If the same sets of signal lines are going
to be used, one has to keep idling. -
15:37 - 15:43For instance that was the situation in the
case of DMA. -
15:43 - 15:51The I/O is directly accessing the memory so
CPU is going out of action. -
15:51 - 16:02The third aspect of this bus we may just put
in general as initialization. -
16:02 - 16:05Different people may call it differently.
-
16:05 - 16:11What exactly we mean here is something to
do with checking about the power, the system -
16:11 - 16:21clock, and few other signal lines, which really
not take direct part in data transfer or priority -
16:21 - 16:22arbitration.
-
16:22 - 16:24There will be another set of signal lines.
-
16:24 - 16:29We may just call them for instance system
reset signal. -
16:29 - 16:36So that can come under the initialization
and a few other things: system clock, system -
16:36 - 16:44reset, some special signal lines, monitoring
the power – all these things will come under -
16:44 - 16:47this.
-
16:47 - 16:52So we as we talk about the data transfer;
we should also take a look at what is going -
16:52 - 16:58on in this and also know the functions of
some of these because there is no standard -
16:58 - 17:00about this particular thing.
-
17:00 - 17:07So generally when you study any bus, you may
be able to identify a group of signals belonging -
17:07 - 17:13to this or this or this category.
-
17:13 - 17:19Now there are different types of buses, we
may say. -
17:19 - 17:25Actually I am not talking about just the standard
buses here. -
17:25 - 17:34I am just trying to give what you may call
a generic or general classification. -
17:34 - 17:36What are the various things involved?
-
17:36 - 17:43For instance, we are not talking about multi-bus
or a new bus or uni-bus or a mass bus and -
17:43 - 17:46so on; we are discussing purely from functional
point of view. -
17:46 - 17:56Now we know that CPU and memory, both work
at electronic speed. -
17:56 - 18:12So it is meaningful to have a processor memory
bus and have it somewhat different, distinct -
18:12 - 18:23from what you may call the second one as an
I/O bus mainly because in the case of processor -
18:23 - 18:31memory, the transfer is going to be very fast
whereas in the case of I/O bus, we do not -
18:31 - 18:32know.
-
18:32 - 18:39We have devices with varying speeds, characteristics,
and what not. -
18:39 - 18:47Then there is another bus also that we talk
about; that is generally called a back plane -
18:47 - 18:49bus.
-
18:49 - 18:57In some systems we may not able to identify
them separately. -
18:57 - 19:02For instance the processor of the memory bus
itself may act as a back plate bus; it is -
19:02 - 19:08not necessary that all the three must exist
in all the systems. -
19:08 - 19:16Now let us say some one is looking up the
system with an Intel processor. -
19:16 - 19:24Then suited with that particular Intel processor,
there may be certain memory chips. -
19:24 - 19:33It is even possible that the manufacturer
of the processor or the CPU has also come -
19:33 - 19:41up with a set of memory chips, which would
directly talk in the sense there will be some -
19:41 - 19:42special features about that memory.
-
19:42 - 19:50For instance let us say suppose you have a
processor with multiplexed bus, there is let -
19:50 - 19:53us say address and data multiplex.
-
19:53 - 20:00If you have the memory chips or the memory
controller, which goes with the chip in the -
20:00 - 20:07memory bus system, it can take care of the
multiplexing, so that internally it buffers -
20:07 - 20:09and then de-multiplexes that.
-
20:09 - 20:18Then it is meaningful; and so what happens
is this processor memory bus essentially we -
20:18 - 20:31may say is a short bus and also it is a bus
which does transaction as fast as possible. -
20:31 - 20:42We can understand fast because, for this processor
utilization to be the highest, maximal, it -
20:42 - 20:53must be fast and invariably the processor,
memory, and the bus are interconnecting the -
20:53 - 20:55processor memory bus on a single board itself.
-
20:55 - 21:04That is why invariably we define that particular
thing as a short bus and there may not be -
21:04 - 21:06any standard about this also.
-
21:06 - 21:11For an Intel processor, there may be a set
of things; for a Motorola processor there -
21:11 - 21:13may be another set of things.
-
21:13 - 21:22It is all because of the signals that are
generated by the respective processor. -
21:22 - 21:29We can say that this processor memory bus
is a proprietary bus because we have a specific -
21:29 - 21:35processor and then we have specific memory
requirement; it is not open for the general -
21:35 - 21:37use.
-
21:37 - 21:41Now in the case of I/O bus, it is a different
story. -
21:41 - 21:52First of all, we have different types of devices
to be connected; and second thing is that -
21:52 - 21:58whereas in the case of processor memory even
at the time of the design it is known how -
21:58 - 22:03much of memory it has, at the time of the
system installation, we do not know how many -
22:03 - 22:10devices we want – may be during installation
we would like to add a few more devices. -
22:10 - 22:15Generally we would find this I/O bus is in
contrast with the other one. -
22:15 - 22:26I/O bus will be a long and slow bus; slow
because essentially it is concerned with the -
22:26 - 22:28I/O part.
-
22:28 - 22:38Generally it is lower compared with the other
one, which is the processor memory bus, and -
22:38 - 22:44it is also a long bus because you may have
to have many connectors for the expansion -
22:44 - 22:50of these devices and so on.
-
22:50 - 22:56So we have a range of speeds to be taken care
of in the I/O; it is more or less standardized -
22:56 - 22:58in the processor memory.
-
22:58 - 23:03The user is not directly concerned with this
whereas the user is very much concerned with -
23:03 - 23:06this.
-
23:06 - 23:18And the third one, the back plane bus, is
on the PC board itself. -
23:18 - 23:26You have the set of signal lines connected
that is why it has derived the name back plane. -
23:26 - 23:36As I said in some systems the back plane bus
itself may be the processor memory bus. -
23:36 - 23:45So through a few system configurations we
will just see the essential difference between -
23:45 - 23:46these back plane buses.
-
23:46 - 23:52But we take it as the back plane bus is one
in which you have the entire set of signal -
23:52 - 24:03lines on the PCB itself; so that is how it
got the name back plane. -
24:03 - 24:13Now regarding the requirements, it so happens
that there are two requirements for a bus -
24:13 - 24:15and they seem to be also conflicting.
-
24:15 - 24:22We generally talk about bus latency.
-
24:22 - 24:24What is the bus latency?
-
24:24 - 24:32Whenever there is a requirement of the bus
for a data transfer, you would like to see -
24:32 - 24:41that the bus is made available as fast as
possible for the specific requirement. -
24:41 - 24:46So we would have to see that the bus latency
time must be minimized. -
24:46 - 24:58The time associated with the bus latency must
be minimized; that is, whenever there is a -
24:58 - 25:06request for the bus, the bus must be made
available with the least delay possible. -
25:06 - 25:12Then the other factor is the bus bandwidth.
-
25:12 - 25:23This particular one conveys to us that if
the bandwidth is high, more data can be transferred; -
25:23 - 25:30that is, there is more efficient utilization.
-
25:30 - 25:41Now more data can be transferred
if we can bunch all the data, buffer it and -
25:41 - 25:47then send it with the least amount of interaction
asking for address, control, things like that. -
25:47 - 25:54As we have seen for instance in the DMA, the
data is ready and available and then, like -
25:54 - 25:55a machine gun, it keeps going.
-
25:55 - 25:58Every time we do not have to keep checking.
-
25:58 - 26:10So the bus bandwidth can be increased by what
we say as buffering the data and transmitting -
26:10 - 26:23block of data so that the time that is generally
lost between two blocks or pieces of data -
26:23 - 26:28can be further minimized.
-
26:28 - 26:38So there is buffering or storing more data
before the actual transmission starts. -
26:38 - 26:42So what we exactly gain here is that before
the transmission, there may be some overheads -
26:42 - 26:49and delay, but then there should not be any
delay once the transmission starts, and once -
26:49 - 26:51it starts, it goes very fast.
-
26:51 - 27:00While buffering a block and transmitting blocks
of data, you maximize the bandwidth. -
27:00 - 27:01Now what happens?
-
27:01 - 27:07When there is a block data transfer, the bus
is not going to be available for some other -
27:07 - 27:10device which requires it.
-
27:10 - 27:20That is because when the bus is being used
by some other device, the one which requires -
27:20 - 27:24the bus is going to wait; that is the reason.
-
27:24 - 27:29Now as we said the latency must be minimized;
that is, the wait period must be minimized. -
27:29 - 27:36We also say that the bus bandwidth must be
maximized. -
27:36 - 27:43Now while trying to maximize this, we ended
up buffering the data and then transmitting -
27:43 - 27:52the blocks of data; and while trying to maximize
this, we see that the latency gets affected. -
27:52 - 28:01That is, the device which requests the bus
has to wait because some other large transfer -
28:01 - 28:03is going on.
-
28:03 - 28:10So these two – bus latency and bus bandwidth
– are actually conflicting requirements, -
28:10 - 28:19so there must be some compromise between these;
now this is very important. -
28:19 - 28:27Talking about different types of buses from
the timing point of view we talk about synchronous -
28:27 - 28:37buses in which the transmission takes place.
-
28:37 - 28:46It is synchronized with some clock and of
course the asynchronous bus. -
28:46 - 29:00We have both types of buses; generally you
will find that when synchronous bus is used -
29:00 - 29:05everything must be known a priori.
-
29:05 - 29:15For instance, in the case of processor–memory
interaction, the speed of the processor and -
29:15 - 29:20how exactly memory is organized is known,
whereas when it comes to I/O device we were -
29:20 - 29:22not sure.
-
29:22 - 29:29We may add slow device and fast device later
on also; a priori we will not have everything. -
29:29 - 29:35So it may be better to say that it depends
on the individual characteristic of the device. -
29:35 - 29:40The bus transmission must be flexible; for
this asynchronous is better. -
29:40 - 29:46If everything is known a priori, then we can
make those elements in synchronous, or rather -
29:46 - 29:48work in synchronous.
-
29:48 - 29:58That is, for instance, we have talked about
synchronous action earlier. -
29:58 - 30:12Remember in the initial period we are talking
about the states and in each state we were -
30:12 - 30:15saying some minimum action was going on.
-
30:15 - 30:22The minimum action is going on and then the
state itself is being defined by the clock -
30:22 - 30:24of the system.
-
30:24 - 30:28That is in connection with CPU, we are talking
about it. -
30:28 - 30:38Remember then we were saying in state T1 the
address is placed; let us say the address -
30:38 - 30:41line may be either 1 or 0.
-
30:41 - 30:50So either it may be this way or it may this
way; actually this particular one refers to -
30:50 - 30:55rise time and fall time.
-
30:55 - 31:07So in T1 the addresses is placed on the bus
and, let us say, in T2 the read control signal -
31:07 - 31:11is generated.
-
31:11 - 31:14The read control signal is generated in T2.
-
31:14 - 31:19The address has been placed; the read control
signal is generated; let us say that particular -
31:19 - 31:23going signal is 0 to 1.
-
31:23 - 31:32That is, T1 address is placed; T2 wait control
signal is generated; on seeing read, the memory -
31:32 - 31:39responds with the data from the location indicated
by the address. -
31:39 - 31:43So from now from the memory side this is all
this from the CPU side. -
31:43 - 31:52Now to indicate that the memory is different
from these we will call these as the data -
31:52 - 31:55coming from the memory or memory dot data.
-
31:55 - 32:08The data that is coming some time after the
memory sees the control signal read. -
32:08 - 32:13So let us say there is some delay.
-
32:13 - 32:17I am just indicating the delay by this delta.
-
32:17 - 32:23There is some delay from the time the control
signal is generated to the time the data is -
32:23 - 32:25generated.
-
32:25 - 32:33This data actually refers to the data being
0. -
32:33 - 32:39We do not know; may be some bit is 0, some
bit is 1, so we would represent both. -
32:39 - 32:44For instance if the memory responds to the
8-bit data, some bits will be 1; some bits -
32:44 - 32:47will be 0.
-
32:47 - 32:52Some bits may continue to be 1; some bits
may continue to be 0. -
32:52 - 33:03So when we mark this way, it basically means
it can be 1 or 0; this delta is the delay. -
33:03 - 33:11This delay is due to the memory responding
to the control signal read. -
33:11 - 33:20There can also be delay introduced by the
memory – that is when we talk about reading -
33:20 - 33:25the data; delay with reference to the address
also is possible. -
33:25 - 33:29It is not shown here; here only the particular
delay is shown. -
33:29 - 33:42Now here you can see that assuming this delta,
the delay, is less than one clock period, -
33:42 - 33:50then we say that before T3 comes, this data
can be read. -
33:50 - 33:54This indicates that the read control signal
in this says data is available. -
33:54 - 33:59That is, we may refer to this as valid data.
-
33:59 - 34:08We say valid data because before this instant,
the data was not valid; during this instant, -
34:08 - 34:11there is some transition.
-
34:11 - 34:13Now the valid data is available.
-
34:13 - 34:20The CPU can actually read any time after this
and even before T3. -
34:20 - 34:32In this duration, the CPU can strobe it in,
but if you want to be very careful you can -
34:32 - 34:38see that at T3 this information is strobed,
meaning, let us say something like this. -
34:38 - 34:46For the read control this edge is used; this
edge is used for reading. -
34:46 - 34:53If that is so, we say that reading of the
data is synchronized with the clock. -
34:53 - 35:02Here this is a clear picture of synchronous
transmission, synchronizing with the T1 clock, -
35:02 - 35:09the address is generated; synchronizing with
T2 clock, read control is generated; and in -
35:09 - 35:17response to the read control, the memory places
the data on the bus and synchronizing with -
35:17 - 35:23T3, the data is read by the CPU.
-
35:23 - 35:31So this is the synchronized transmission,
which means we know for sure that this delta -
35:31 - 35:36is not going to be more than this period.
-
35:36 - 35:39That is, well before T3, the valid data is
available. -
35:39 - 35:45In case this is not available, we had talked
about the situation earlier. -
35:45 - 35:53In case before the next clock pulse the valid
data is not available, that means memory is -
35:53 - 35:58not responding to this control and address
signals. -
35:58 - 36:00It needs more time.
-
36:00 - 36:11We assume this particular period is 100 nanoseconds
and the memory is delaying let us say by 150 -
36:11 - 36:12nanoseconds.
-
36:12 - 36:16That is, only 50 nanoseconds later, the valid
data will be available, which means well before -
36:16 - 36:27the next pulse, that is, T4, the data will
be available. -
36:27 - 36:32So reading cannot be performed here; so what
will be done? -
36:32 - 36:40What can be done is the read control signal
must be further extended beyond and taken -
36:40 - 36:49up to T4 because the data is not going to
be available here. -
36:49 - 36:54It is going to be available somewhere about
50 nanoseconds later. -
36:54 - 37:07So the actual valid data will be available
here itself; that means 1 clock pulse later, -
37:07 - 37:13that data can be read.
-
37:13 - 37:17How is this achieved?
-
37:17 - 37:23The extension of this read pulse and delaying
the reading is achieved as we had seen earlier. -
37:23 - 37:35We said that the CPU can have a ready input,
which can be used by the memory subsystem, -
37:35 - 37:48and as soon as the memory system sees the
read pulse, it can immediately say that the -
37:48 - 37:57CPU, rather memory, is not ready.
-
37:57 - 38:08Now on seeing this ready input to the CPU,
on seeing that memory is not ready, then until -
38:08 - 38:18it becomes ready for every clock pulse, the
signals generated by the CPU will get extended. -
38:18 - 38:26At this point, when the valid data is ready,
that is, somewhere between T3 and T4, when -
38:26 - 38:34the memory is ready with the data, the memory
can pull this up again. -
38:34 - 38:43So when T4 comes, it sees that the CPU is
ready and reading can be performed at that -
38:43 - 38:44point.
-
38:44 - 38:45So this how it is done.
-
38:45 - 38:48We had seen this earlier.
-
38:48 - 38:59That is, T3 is an extra state that is included
as a wait state; that is, the CPU was made -
38:59 - 39:06to wait during T3, and that was because of
the ready input to the CPU. -
39:06 - 39:11The ready input is generated by the memory.
-
39:11 - 39:15How and why is it generated?
-
39:15 - 39:21It is known very well that the CPU’s fast
memory is slow; that means a priori it is -
39:21 - 39:22known.
-
39:22 - 39:30So, on seeing ready input, which is generated
by the CPU as output ready input to the memory, -
39:30 - 39:35the memory responds immediately, saying that
it is not going to be ready. -
39:35 - 39:42And how much delay is again depending on how
many wait states must be introduced. -
39:42 - 39:50Since it is known that more than one state
is not necessary, this will just pan for about -
39:50 - 39:52one state.
-
39:52 - 39:58This is the very clear case of synchronous
transmission. -
39:58 - 40:06The CPU memory makes use of a set of signal
lines and the transmission is going on or -
40:06 - 40:12communication is going on between CPU and
memory in a synchronized manner; it synchronizes -
40:12 - 40:16with every clock edge.
-
40:16 - 40:24In the case of I/O, we just cannot guarantee
that. -
40:24 - 40:31Some buses or devices may be fast, some devices
will be slow. -
40:31 - 40:37And it may so happen that half way through
the life cycle of the system, you may bring -
40:37 - 40:39in some new device.
-
40:39 - 40:48We may bring in a new device, which may be
fast or slow. -
40:48 - 40:53In those situations, specifically with reference
to the I/O bus, it is meaningful to have an -
40:53 - 41:03asynchronous bus; meaning there will be a
signal which says starts the I/O operation -
41:03 - 41:09and when the I/O has finished with it, it
can tell that it has finished this job. -
41:09 - 41:15If it is a fast device, it is going to tell
very fast, and the CPU will note it. -
41:15 - 41:24If it is a slow device, the device is going
to take its own time and then inform. -
41:24 - 41:34So the master of the bus can initiate a data
transfer and I/O will take its own time and -
41:34 - 41:40then it will communicate saying when it has
finished the job, that is, the transfer. -
41:40 - 41:50In other words we can introduce what we may
call us some communication between master -
41:50 - 42:03and slave in an interlocked manner; what is
this communication? -
42:03 - 42:10The master says perform the data transfer
and then slave responds to it. -
42:10 - 42:20So in an interlocked manner you establish
the protocol of the communication. -
42:20 - 42:30That is, the master says the data is ready,
now you can take it; the slave says I am taking -
42:30 - 42:36and this it says taking it own time.
-
42:36 - 42:40So we call this master–slave interlocked
communication. -
42:40 - 42:48It synchronizes with nothing; it will not
go by the clock. -
42:48 - 42:52It need not go by the clock; the clock can
very much be there. -
42:52 - 43:03Certainly it is not going to say that in this
time slot something must be done; that restricting -
43:03 - 43:07is not there.
-
43:07 - 43:14We also say that a set of signals that are
used in the interlocked communication would -
43:14 - 43:21be something like the master and slave shaking
hands. -
43:21 - 43:26So we refer to these signals involved in this
as handshaking signals. -
43:26 - 43:37You may be able to appreciate why we say this.
-
43:37 - 43:43When we meet a person, let us say we say hello.
-
43:43 - 43:46And then, he also says hello.
-
43:46 - 43:48Then you shake his hands and say how do you
do. -
43:48 - 43:50And he also says how do you do.
-
43:50 - 43:53It is somewhat like that: the master says
hello, are you there? -
43:53 - 43:57The slave says, yes I am here.
-
43:57 - 44:03Then the master says here is the data; the
slave says I have taken the data. -
44:03 - 44:09That means a set of signals involved in this
process are referred to as handshaking signals; -
44:09 - 44:18they see to it that the communication goes
in an orderly manner, and for a person who -
44:18 - 44:25is not used to speaking very fast, takes his
own time and then responds with the hello -
44:25 - 44:28or how do you do, it may be fast; some may
be slow. -
44:28 - 44:36The same situation exists here too; in other
words what we need is a few extra signals, -
44:36 - 44:38somewhat like this.
-
44:38 - 44:42The master may place the address – let us
just take a read cycle itself – the master -
44:42 - 44:50may place the address and then it may generate
another signal, which says that the address -
44:50 - 45:03is placed and that signal will be sensed by
the slave and it will respond saying I was -
45:03 - 45:08sensed there, and it will take the address.
-
45:08 - 45:21Then the master will generate a read signal;
and then the slave knows that from the address, -
45:21 - 45:26the slave must read and place the data.
-
45:26 - 45:31After it places the data, it says now the
data is ready. -
45:31 - 45:39The master will respond saying it will take
the valid data that is available on the bus; -
45:39 - 45:44some extra signals are introduced.
-
45:44 - 45:58So in this way, the address is placed; I will
avoid this bipolar signal; I will just using -
45:58 - 46:02only one, just to show you the sequence.
-
46:02 - 46:05Let us say it is something like this.
-
46:05 - 46:12The address is placed; I am just assuming
only one this thing at some time edge. -
46:12 - 46:22Since we have assumed read cycle, let us say
that after the address is placed, the read -
46:22 - 46:30signal is
also introduced. -
46:30 - 46:35Now there are different ways in which we can
use a handshake signal; I am just assuming -
46:35 - 46:37one specific sequence.
-
46:37 - 46:41So the address is placed and read is indicated.
-
46:41 - 46:51From the master point of view, it can indicate
that it wants the slave to respond by reading -
46:51 - 46:55the contents of the location, the address
of which is given. -
46:55 - 47:03So after it has performed its job, the master
indicates through one hand shake signal; we -
47:03 - 47:08will call it MSYNC.
-
47:08 - 47:20This in fact is an indication
that it wants reading to be performed by the -
47:20 - 47:29slave and it also gives indication of the
address. -
47:29 - 47:46On seeing the MSYNC signal, the slave understands
all this, and in response to this, the slave -
47:46 - 47:54can respond with the data, that is, the memory.
-
47:54 - 48:00We assume this is memory response data.
-
48:00 - 48:07Whatever may be the delay that delay is because
of the memory? -
48:07 - 48:20After that delay, it generates the data and
this is now available on the bus – valid -
48:20 - 48:24data.
-
48:24 - 48:29Let us create some space for the other thing.
-
48:29 - 48:41After the data is placed, in this case the
memory can generate a similar slave SYNC signal -
48:41 - 48:52and indicate that after the instant, it will
indicate that -
48:52 - 48:55from the point of view of slave, it has done
its job. -
48:55 - 49:05The master is indicated by placing address
and read: it is an indication to the slave -
49:05 - 49:09that the slave must perform read.
-
49:09 - 49:20On seeing this master SYNC, the slave has
responded by generating the data and placing -
49:20 - 49:22it on the bus.
-
49:22 - 49:27After it has done its job, the slave is indicating.
-
49:27 - 49:35Now this SSYNC is the signal given or generated
by the slave. -
49:35 - 49:40On seeing this SSYNC signal, the master knows
that whatever it wants is available on the -
49:40 - 49:48bus because after this instant, that is, on
seeing the SSYNC signal, the master knows -
49:48 - 49:54that the required information is available.
-
49:54 - 50:02Now the master, on seeing this, will read;
that means, this read signal will continue -
50:02 - 50:09certainly beyond this for some time; after
that it will terminate. -
50:09 - 50:20That means by this time the master has read
the data, then after it has read the data -
50:20 - 50:27the master may terminate its signal, that
is, after this instant when the data has been -
50:27 - 50:39read, the master will terminate its signal
and on seeing this, the slave may respond -
50:39 - 50:42with a few things.
-
50:42 - 50:53Suddenly on seeing this MSYNC going negative,
the SSYNC also will be pulled down by the -
50:53 - 50:57slave.
-
50:57 - 51:06This is the indication that the slave knows
that the master has performed its job of reading, -
51:06 - 51:09now it is closing the whole show.
-
51:09 - 51:17So we say that there are two hand shake signals,
one MSYNC asserted by the master is an indication -
51:17 - 51:27to the slave that it wants something to be
done and on doing that particular work, the -
51:27 - 51:39slave asserts the signal and on seeing the
assertion of SSYNC, MSYNC, the master, concludes -
51:39 - 51:50its job of reading and then negates the MSYNC
and on seeing the negation of MSYNC, the slave -
51:50 - 51:53also negates it.
-
51:53 - 52:01So we see that the signals are asserted, that
means the signals are placed and the signals -
52:01 - 52:11are negated; that is the signals are removed
and you can see the specific sequence. -
52:11 - 52:17Now there is absolutely no clock that need
be used here. -
52:17 - 52:22On seeing the signal, the other signal is
generated; on seeing the negation of this -
52:22 - 52:29signal, the other signal is generated; and
in between, the required activity is done. -
52:29 - 52:36This is the way the ASYNC bus will work and
you need a set of extra signals for this. -
52:36 - 52:45These extra signals are something like a clock
because they really do the timing, but it -
52:45 - 52:50is not strict clock periods like this.
-
52:50 - 52:57So generally these are timing signals; that
is about the synchronization. -
52:57 - 53:55We will see more about these processes in
the next lecture.
- Title:
- Sandbox
- Description:
-
You can use this Sandbox to try out things with the Amara tool.
The video that is primarily streaming here is http://www.youtube.com/watch?v=ZU2kyr9jRkg , which is completely blank. But you can go to the URLs tab to add the URL of another video and make it primary.
Please remember to download your subtitles if you want to keep them, as they will get deleted - and the streaming URL reverted to the blank video if you changed it - after a week or two,
- Video Language:
- English
- Team:
- Captions Requested
- Duration:
- 01:46:39
Claude Almansi edited English subtitles for Sandbox | ||
Claude Almansi edited English subtitles for Sandbox | ||
Claude Almansi edited English subtitles for Sandbox | ||
Claude Almansi edited English subtitles for Sandbox | ||
Claude Almansi edited English subtitles for Sandbox | ||
koma edited English subtitles for Sandbox | ||
koma edited English subtitles for Sandbox | ||
Claude Almansi edited English subtitles for Sandbox |
Claude Almansi
Revision 1 = provided subtitles for Lecture 1.2 of Prof. Scott Plous' Social Psychology course
Claude Almansi
Revision 1 = provided subtitles for Lecture 1.2 of Prof. Scott Plous' Social Psychology course
Claude Almansi
Revision 1 = provided subtitles for Lecture 1.2 of Prof. Scott Plous' Social Psychology course