hehehe.. Ok guys. let's try and wrap this one THIS TIME.
firstly-> Conquerors comment
"This is exactly what happened, for example to the XT and AT computers. Their data tranfer rate was too sow in compasrison to the clock speed. So they had to be abandoned.
Data tranfer rate = Bus Width * Clock speed / (8 * No. of clock pulses per transfer)"
Your point is extremely correct but also extremely off-topic. The data-transfer rate you speak of is the memory sub-system transfer rate.
What knewton and myself have been saying is that each 'stage' of a pipe-line WITHIN the processor has a transfer or 'propagation' rate.
I'm sorry my previous examples haven't been satisfactory. but I might try again.
Let's say that you and a group of friends (10 of you) are a professional PC construction team. (I thought I'd use something we all might know about)
You can organise yourselves into groups or do one task each but at the end you want the PC to be together and working (oh really!!)
now, your construction team needs an overseer, that's me - I'm your clock.
For the sake of this example, let's assume that you have as many PC parts as you'll need (that's equivalent to unlimited memory bandwidth.. always enough data)
First attempt, you guys organise yourselves into two groups of 5 people.
First team puts CPU and RAM onto MB. Second team puts MB into case along with all PCI cards, video card, HD, PS, CD, Floppy.. we're ignoring peripherals for now.
Now the flow of PC bits is moderated by me yelling "MOVE ON" at exact intervals. say every 1 minute.
so every 2 minutes (1 minute per stage) 5 PCs come out.. or do they.
now the first group has to pass there MBs to the second group. but we all know that teh second stage is going to take longer, in fact they can't complete they duties in that 1 minute. so they tell me to 'clock' less often, yell "MOVE ON" every 5 minutes. (slower clock).
so I do that, and now the second group is ready for new MBs on time. but now group one is sitting around doing nothing for the most part of each cycle.. this is in-efficient.
it's takes 10 (5) minutes to 'clock' through 5 PCs...
but on average if we left the process running long enough, the time would be 5 minutes because we start and finish 5 PCs every 5 minutes. (that's 1 PC per minute).
you re-organise your team. now your in 2 groups again, but the first group is only 2 people, group 2 is 8 people.
The first group does more easy work, installing CPU and RAM. the second group does the same, but there's more of them to do it.
now I 'clock' every 5 minutes, but in that clock the first team can get 8 MBs ready, for the second team who can all finish 1 MB each, so that's 8 MBs for teh group.
so now every 5 minutes (on average after time) you produce 8 PCs. or 1.66 PCs per minute...
you just upped your rate by simply re-organising you pipe-line stages, notice that the clock is the same.
Now I can't start 'clocking' every 2,3 or 4 minutes to make it faster, unless I train you guys to build faster... this is this equivalent of getting transistors to switch faster.
you guys re-organise again, this time you are in 4 groups - 2 people, 2 people, 3 and 3. (10 altogether)
Group 1 of 2 puts CPUs and RAM in - this takes 1 minute each so 2 PCs per minute.
Group 2 of 2 puts PS and MB in case - this takes 1 minute each aswell.
Group 3 of 3 work together to get HD and Floppy and CD into the case. they can produce 2 PCs per minute allup.
Group 4 of 3 people stick all PCI cards in and video card in and plug in HD, CD and FLoppy cables. together they can assemble 2 PCs per minute.
so you have organised a nice pipe-line; each stage is equal.. throughput is maximised.. and you can change your clock to 1 minute intervals. all up on average (after time) your PCs will be assembled at 2 per minute.
now, see here, you have doubled your pipe-line and gone for a 5 times faster clock, but your throughput is only up 20% and that's really b/c your pipe-line is managed better.
now if you clock faster, no-one will get anything done.
You could split into 8 stages and halve your clock again, but your throughput wouldn't change would it. each stage might only get 1 PC out per clock.. with a 30 second clock, that's still 2 PCs per clock.
so the time it takes for each person or group to get theier tasks done is the assembly line propagation delay.. which is directly relatable to the propagation delay we spoke of in the real world CPU transistors delays.
I sincerely hope I covered it properly... any problems to speak of, feel free to correct me.
The logic is kinda simple when you finally get your head around it.. Sort of like once you find Wally you think everyone will see him straight away - too easy!!!!
balzi
"I spilled coffee all over my wife's nighty... ...serves me right for wearing it?!?"