5.5 mm in 1.25 nanoseconds
randomascii.wordpress.com
randomascii.wordpress.com
I think it's more likely that this is an artifact of the interconnect design. For example, the interconnect may be designed as a tree, where the path from core 0 to the L2 only visits a branch but the path to core1/2 has to traverse the root of the tree. If each stage adds a clock cycle, there's your 4 clock cycles: one to go to the root, one back down to the other side, and then the whole thing in the other direction for the reply from L2 with the data.
If the interconnect had been a ring bus instead, you'd find that the latency from cores 0 and 2 is the same, but higher for core 1 - assuming no other endpoints in the ring, but that's obviously not the case, since I/O needs to be on the bus too. It's possible he got the core numbers wrong in the die shot, and core 0 is the bottom left core. Then if the ring goes clockwise L2 - core 0 - core 1 - core 2 - I/O on the top right - L2, that's how you end up with core 0 being closer to the L2 in terms of clock cycles than the others, and the observation would be consistent with this design too.
The Big Misconception About Electricity.. https://www.youtube.com/watch?v=bHIhgxav9LY
Even the part where he explains the problem with the chain metaphor is wrong. If you actually had a mechanical chain and an engine moving it back and forth, you could extract energy from the movement of the chain either by exploiting friction (to heat up something, just like a resistor does) or by using gears that resist movement in the opposite direction (e.g. slipping the chain) to achieve movement in a single direction. There's nothing all that mysterious about how we extract energy from electricity, at least in practice.
In fact, you could even get an equivalent of the small induced curent: if you recreate his extremely long circuit with a motor instead of the battery and an extremely sensitive motion detector instead of the light bulb 1m away, you would detect some motion [1m/speed of sound in material connecting them] seconds after the motor is started, assuming you are not floating in a perfect vacuum; and then vastly higher motion after 300,000km/speed of sound in chain seconds later.
Nothing more mysterious going on with the EM field.
> Nothing more mysterious going on with the EM field.
That's precisely the point here - it all works out exactly in accordance with Maxwell's laws, via transmission line theory - see also my other reply (https://news.ycombinator.com/item?id=29934233)
This is to be expected, since the Poynting vector is ultimately a consequence of two very basic physical laws: conservation of energy, and special relativity. Any system which obeys these two laws will have some equivalent of Poynting's vector, though of course the exact formula will be different.
Veritasium's video is deliberately constructed to obscure these facts, and to make it seem like electricity is in fact more mysterious/counter-intuitive than it actually is.
Edit: apparently too slow, sorry for the noise.
E&M can be a little tricky, even for experienced circuit designers.
Only in the steady state does the Poynting vector follow the wires all around the loop (a point made in the original video.) In the period of interest - well before the EM waves launched by closing the switch have reached the far ends of the transmission lines - it does not, yet during this period, the load is passing a non-trivial current (and therefore dissipating power) that is determined by the voltage of the battery, the resistance of the load, and the characteristic impedances of the two transmission lines. For example, for 24 awg superconducting wire (~0.5mm in diameter) the characteristic impedance for each of the transmission lines would be a little less than 1 kΩ, so with a 12 volt battery, a 2kΩ load would be passing about 3mA and dissipating about 18mW (that is fully 50% of the current it will pass in the steady state.)
During this period, there is no energy-transferring chain of physical cause-and-effect that goes all around the wire loop, and it would, of course, upend physics if there were! In fact, during this period, it makes no difference whether the far ends of the transmission lines are open- or closed-circuit.
Even before the steady state is achieved, there is an energy-transferring chain of physical cause-and-effect that is moving (at limited speed, ~c) along the wire (but not all around the wire loop yet) - this is of course the moving electric and magnetic field caused by the "chain" of electrons being pushed or pulled. Of course, that will only reach the lightbulb after ~1 second in the original experiment. At the same, time, there is a different, smaller electric field "leaking" through the air/void in a straight line from the battery to everywhere else, which will reach the lightbulb much sooner in the original configuration, and of course this is also carrying some energy.
The situation is analogous to what would happen with mechanical waves (at least qualitatively if not quantitatively) - if you were to have the same wires but a source of sound instead of the battery, and a sound detector (or a seismograph) instead of the lightbulb, you would get a pretty similar effect - the "main" sound wave would travel along the wires at the speed of sound in that medium, while some other waves would also travel through the air and ground through the much shorter straight-line distance, and register much more quickly on the seismograph. Of course, there are some significant quantitative differences - there is no sound super-conductor, so some amount of mechanical energy will always be lost along the wires; and sound travels much more slowly through air than through metal wires, so the speed difference will be less noticeable.
Well, yes, that's one of the points being made in the original video!
> At the same, time, there is a different, smaller electric field "leaking" through the air/void in a straight line from the battery to everywhere else, which will reach the lightbulb much sooner in the original configuration, and of course this is also carrying some energy.
Well, yes, that is one of the other points being made in the original video!
And those effects are not so small as to be trivial - check out the numbers in the example I have provided.
Sound is rather different than EM, so one should be careful in arguing from analogies, even if it seems to give the correct answer. Why not just go with the very well-established EM formulae for this situation?
in your other reply (https://news.ycombinator.com/item?id=29935760) you are essentially saying of course this is all correct! - but the mere fact that this video prompted half a dozen or more videos in response (of wildly varying quality - some of them are laden with non-sequiturs about what would happen in different experiments) indicates that a nontrivial point is being made here, that seems counterintuitive for many people.
Given that you are confirming the main points of the video, it is not clear to me why you would call it "extremely misleading, if not technically wrong." In your other reply, you claim that Veritasium is deliberately obscure, but it is not clear to me that one can even make much of a case for him being accidentally less straightforward than he could have been, from this evidence.
- he claims the chain analogy is a lie, even though it gives the exact right intuition about the effects. He also obscures the intuition by asking why the energy doesn't go back and forth if the engine pulls the chain back and forth, which is nonsense.
- he phrases everything in a way that, to me, suggests that the energy is flowing directly from producer to consumer, when in fact energy is flowing on two separate pathways - radially away from the producer, and along the wires. Energy flow doesn't change if the consumer isn't there, though he seems to me to imply that it does.
- he claims that energy flows "outside the wires" and shows diagrams of the Poynting vectors all-around the circuit, but doesn't show that energy flow quickly decreases with distance from the wires, at least for the DC case
- he claims that what's happening inside the wires (the movement of the electrons) is not that important, when in fact it is the very movement of those electrons that generates the magnetic field, and the initial moving electric field
Overall, the video very explicitly tells you that the movement of the electrons and the chain analogy are wrong and mostly irrelevant to how power is actually transmitted in an electric circuit, which is simply wrong and misleading - even though the fields are an important part, they are intrinsically connected to the movement of electrons, and the chain analogy is pretty good at showing that (a compressive wave analogy would be even closer in some ways).
It's also important to note that you are the one talking about transmission line theory - the Veritassium video doesn't, and exclusively talks about Poynting vectors as an explanation, which would make it very hard to come up with a quantitative explanation of the phenomenon.
On the other hand, the thing about the chain analogy is that it is not "nonsense", as you put it, to point out that it is not the complete picture in general, it is not an "exact" intuition, and, most relevantly here, that it completely fails to explain what happens in this case in the period of interest, prior to the arrival of the reflected wave back to the origin and the establishment of a steady state. Furthermore, one can not get the correct answers - or the correct intuitions, for that matter - from any model that assumes the energy flows only where the charges are moving (this was a roadblock in understanding electromagnetism which was broken by Maxwell introducing the displacement current.)
Therefore, Veritasium had good pedagogical reasons for saying that the chain model is not accurate and for introducing the Poynting vector. As I pointed out in my previous post, your previous post consisted of a series of points in which you were saying, in effect, that Veritasium was correct, and if you want to reverse course on that now, I think you owe us an explanation of how the chain model explains what happens in the first second after the switch is turned on.
It depends what level of detail you want to explain. The chain model explains pretty well what happens in the steady state of the circuit, as long as we take the chain links to represent EM waves and not actual electrons. It also suggests that the motor starting to move the chain will cause some amount of motion to happen at the middle point by radiating mechanical waves through the air/ground. This explanation is actually equivalent to the amount of detail that can be gleaned from Veritassium's video - since his explanation also doesn't give (a) any quantitative description nor (b) any idea of what kind of motion/energy is being transmitted.
Of course, the chain analogy is nowhere near good enough compared to the transmission line explanation. Apart from the quantitive issue, the biggest weakness is that it predicts some kind of random motion, whereas the actual transmission line model predicts a current in the same direction as the final wore current.
A closer mechanical analogy which might actually have the necessary features (though definitely highly dampened) would be using a loud speaker and a water pipe. The loudspeaker will send a mechanical wave through the water pipe which will travel at the speed of sound through water, whereas water molecules will move in the same direction but much slower, similar to the real electron movement. Secondly, the sound waves will also travel through air and quickly reach the mid point of the pipe, and here they should actually cause a smaller sound wave to start traveling through the pipe from that point as well, in the same direction that the final wave will travel. The magnitude of the effect will be much smaller than in the EM case, but the other characteristics should be similar.
In fact, this sound-wave-in-water-pipe model would also predict the right phenomenon if you had two close parallel unconnected pipes, and were sending a sound wave through one of them - the sound wave would be transmitted across the gap and through the second pipe as well, even if the source were far away. The chain model might predict something similar here, but at a rate that is below our normal ability to notice, and thus outside our regular intuition.
To be clear, the issue we are seeking to explain is the first second or so of the thought experiment. [1]
> The chain model explains pretty well what happens in the steady state of the circuit, as long as we take the chain links to represent EM waves and not actual electrons.
But that isn't the chain model that you are complaining Verisatium is deprecating! You are implicitly agreeing with him by adding the caveat that I have emphasized!
> It also suggests that the motor starting to move the chain will cause some amount of motion to happen at the middle point by radiating mechanical waves through the air/ground.
This is getting increasingly Rube Goldberg with every iteration!
> This explanation is actually equivalent to the amount of detail that can be gleaned from Veritassium's video...
This is not an explanation, it is at best an attempt at an analogy.
> ...since his explanation also doesn't give (a) any quantitative description nor (b) any idea of what kind of motion/energy is being transmitted.
As hand-wavy as his explanation is, it does actually talk about things that can be found in EM theory. On the other hand, while you have hinted at a new, improved chain model that incorporates EM waves, you have not actually rolled it out to explain what happens in that first second in those terms, and I have no idea how your rattling-chains analogy is supposed to get the job done.
>[more of the same, but with pipes and loudspeakers!]
> In fact, this sound-wave-in-water-pipe model would also predict the right phenomenon if you had two close parallel unconnected pipes, and were sending a sound wave through one of them...
It does? Please explain, because I have no idea how you think that can be achieved.
In my previous post, I acknowledged your point that Veritasium could have been clearer, but I do not think this is a step in that direction.
[1] More generally, wherever the ratio of the characteristic distances to the characteristic times is multiples of c, which is commonplace in RF.
First of all, our experiment looks like this: we have a length of chain inside a tube arranged into a rectangle with 2 short 1m sides and two much longer sides (hundreds of km?). The longer sides of the rectangle are placed top and bottom. At the mid-point of the bottom side we have a motor that can pull the chain. At the midpoint of the other end, we have a piezoelectric generator standing very close to the chain. Once we turn the motor on, it will immediately start moving the chain at the near end, but it will take some long amount of time until the links near the piezoelectric start getting pulled. However, the movement of the links near the motor will create sound waves that will start traveling radially outwards from each point, starting with the position of the motor itself. The piezoelectric generator will start being rattled by these sound waves and producing a very small current after a duration of 1m / speed of sound in connecting medium (equivalent to 1/c s). After length of chain / speed of chain seconds pass (equivalent to 1s), the piezoelectric generator will start being rattled by the movement of the chain links near it as well, which has a much higher value.
This experiment models (a) how the engine transmits energy to a distant system regardless of how the chain is moving, and (b) what happens in the initial "1s" before the steady state. If we switched from one-way movement of the chain (DC) to alternative movement (AC), the setup also predicts (c) that the energy keeps flowing from engine to piezoelectric generator, even if the chain links are no longer moving along the whole length of the chain. It also shows that (d) energy is not in the chain links themselves, but in the sound waves they give off.
Note that I used a piezoelectric generator as the first thing that came to mind that does useful work while rattling in any direction, but the electrical component is not really important.
> > In fact, this sound-wave-in-water-pipe model would also predict the right phenomenon if you had two close parallel unconnected pipes, and were sending a sound wave through one of them...
> It does? Please explain, because I have no idea how you think that can be achieved.
If a water pipe A is carrying a sound wave, that sound wave will not be confined to the pipe itself, it will also propagate outwards radially from each segment of pipe. If there is another pipe, the sound waves from the original pipe will start vibrating the water in the second pipe, which will in turn cause other molecules of water to start vibrating and thus carrying the sound wave along the second pipe as well. Of course, in practice the effect will be significantly dampened, but it should happen.
The one thing that these mechanical wave models are completely incapable of explaining, and the thing that Maxwell was able to, is why and how these effects keep happening with electricity even in a perfect vacuum. Modelling EM waves as mechanical waves actually works pretty well until you remove the medium and they keep propagating.
Beyond that, I think there is an issue here in the relationship between analogy and explanation.
If we draw an analogy between two different phenomena, we have not, at that point, explained either. If the analogy is between one phenomenon we understand, and one that we do not, it does not follow that the explanation for the former also explains the latter; that is an additional premise that has to be justified independently. It may be that the analogy points us towards a justification, but we cannot assume that.
Analogies can also be helpful as what Daniel Dennett calls 'intuition pumps' - a point of view that may help us form intuitions about what is going on (they can also pump incorrect intuitions, however, so we have to be careful.) With regard to electricity, there was a time when it just seemed impossible to me that AC could send power to a distant lamp or motor, and the chain analogy helped me get around that block (I sometimes wonder if Edison, who held a strong and largely irrational antipathy towards AC, could have benefitted from it!)
This analogy gives useful intuitions with regard to simple DC and low-frequency AC circuitry, but it rapidly breaks down if we try to push it too far. The simple analogy fails as soon as we get to transformers, for example.
At this point, we might be tempted to patch it up this way: imagine that the chain drives a sprocket, which in turn drives a second sprocket with a different number of teeth, which is moving a second chain.
There are several problems with this, such as there being no obvious reason for conflating the transformer turns ratio with the sprockets' teeth ratio, and that, taken as an explanation, it implies that transformers work for DC. Furthermore, it is just an ad-hoc patch to the chain-loop 'theory' of electricity.
Maybe you can come up with something that avoids the second of these problems (e.g. use a lever instead of sprockets), and perhaps even the first (but if you go with the lever, now you have added the problem of why a lever but not gears), but the third will always be there - as it is in the increasingly complex models you have presented in this discussion. The fundamental problem is that there is no analog, in the mechanics of matter (including acoustics), to the interaction between electric and magnetic fields in the vacuum.
There is an interesting historical connection here: I am told that as Maxwell struggled with EM, he filled his notebooks with many mechanical models, having space filled with tiny gears meshing with one another, but they did not make it into the theory. They seemed to have served as intuition pumps, or as a Wittgenstein's ladder - a sort of scaffolding that gets you to where you are going, but which you can throw away once you are there - though physics did not completely abandon the luminiferous aether until Einstein's theory of special relativity showed it to be unnecessary.
In this light, I take the argument in Veritasium's video to be structured this way: the chain model (i.e. the simple one, in which the links stand for electrons) breaks down for more complex situations, such as what happens in the first second of his proposed experiment. In EM theory, however, there is a construct - the Poynting vector - which shows the flow of energy and which is completely general, providing a single unified picture of what is going on in all cases. It works for the first second of the experiment as well as the cases where the chain analogy is an effective intuition pump, such as the steady state of the experiment. Thus I, personally, have no problem with Veritasium saying that it is a strictly better explanation than the chain model, and also than your ad-hoc additions and alternatives to it (though he did not, of course, take any position on those.)
One other point: the transmission-line model itself contains an analogy, between the distributed properties of the line and a circuit of discrete components. In that case, however, the discrete model was developed, by Heaviside, rigorously from first principles, so we know it can be used in explaining what is going on. That is how you do analogies that will serve as explanations!
Finally, here's an insightful essay by Freeman Dyson, entitled "Why is Maxwell's Theory so hard to understand?"
https://www.clerkmaxwellfoundation.org/DysonFreemanArticle.p...
Related to the matter of explanations vs analogies - I think I agree with most of your points. It's also true that Veritassium was dismissing a different chain model than the one I used.
However, I would say that, to me but also many other people, the Poynting vector is not an explanation of what is happening - it seems to be much more of a property of the system rather than an explanation of why the system does what it does. The mechanical analogies help give this insight - why is it working the way that it is? - as do the (classical) field-based explanations.
In fact, as far as I understand, Maxwell's theory works quite well as a mechanical theory of (mechanical) waves propagating in a medium. The problem with this isn't that the maths don't work out - it's that the theories also hold for propagation in outer space or man-made vacuum, where we have been unable to find such a medium.
The existence of this medium, in which EM waves are simple mechanical waves, was actually the main scientific theory for quite some time (the luminiferous aether). However, as experiments probed deeper and deeper at the necessary properties, especially with the locality bounds imposed by special relativity, the luminiferous aether became impossible to accept and the need for a medium had to be abandoned in favor of the field-based explanation - without any change to the actual maths, though.
It's also important to note that the Poynting vector is itself a consequence of applying two simple laws - special relativity and the conservation of energy - to EM theory. These two simple laws lead to a basic observation: energy can't move from point A to point B without moving somehow through each point in space between A and B. The Poynting vector tells you, for any point, which direction the energy is moving in that point. The general concept is not tied to EM, just the particular magnitude and direction is dependent on Maxwell's equations. Equivalent vectors would exist for any phenomenon that can transfer energy - strong force, gravitational effects, mechanical waves, oil trucks etc.
The questions of what it means to understand something and what constitutes a good explanation seem related, and are both issues that I wish philosophy of the mind would spend more time on (but I'm probably just reading the wrong authors...) Formally speaking, science is not concerned with either of these issues, yet, paradoxically, it seems to have vastly expanded humanity's knowledge of, and ability to explain, the natural world.
This is off the top of my head, and perhaps it is an idea that's already been thoroughly trashed, but suppose understanding is a matter of developing intuitions that work? Until we have those intuitions, we have no idea what's likely to happen next, and that makes us feel uneasy and unprepared, but once we do, we feel more certain that we can handle whatever happens.
Putting aside our intuitions about other people, which are a huge part of being human, most of our other intuitions about the natural world are in Freeman Dyson's second layer - the layer of tangible, rather than fundamental, things. If we spend some time boating, for example, we develop intuitions about what might go wrong in stepping from a dock into a small boat. One way - perhaps the only way - to develop intuitions about things on the first layer is to work with them enough that we can begin to anticipate how things will work out before we have worked through the analysis (I say analysis, because, as Dyson is pointing out here, we have reached the point where most of our fundamental knowledge is abstract.)
This is not the whole picture, however, as there are many things, such as the Poynting vector, that are neither fundamental nor tangible. I imagine that if you work with the Poynting vector enough, you will develop intuitions about where it points before you have done the math. If you can look at a situation and say something like "Well, the Poynting vector will initially go this way, so there will be current in the load as soon as L/c seconds of the switch turning on", then you have provided an explanation (not the explanation) that works for yourself, and also other people with a similar familiarity/understanding of the Poynting vector.
At this point, you may well be thinking that this shows Veritasium was wrong to talk about the Poynting vector, as, presumably, few in his audience have this sort of familiarity with it (I don't.) Personally, however, I feel that what he was doing was useful, and also a very common, and perhaps unavoidable, pedagogical approach: he seems to be saying, in effect "it so happens that there is this abstract concept, that stands in this relationship to electromagnetic fields [also abstract concepts, by the way, but ones with which his audience are presumably more familiar] and which answers the questions we are concerned with here: how does energy get to the lamp, and when does it get there?" It is not a from-the-fundamentals, layer-one explanation, but, unless we are being unduly (and probably inconsistently) skeptical of science and scientists, we can be confident that it can, in turn, be explained from the fundamentals. Transmission-line theory is even further removed from layer one, yet it similarly offers a stepping-stone to it. These are useful abstractions that save us from figuring out everything from first principles all the time, which would be impossible for most people (such as myself), and inordinately burdensome for those who could.
I am not sure that Maxwell's theory works in the mechanical domain: while there are variants of the wave equation for transverse waves in solids and along material boundaries, is there a material or a mechanical analogy to the perpendicular interacting electrical and magnetic fields of Maxwell's theory? (Maybe there's a hybrid situation with piezoelectric materials or materials that do not follow Hookes law?)
I take your point that there are are analogs of the Poynting vector in other domains, and I assume you are raising this in support of another claim that I am now willing to provisionally accept: that there could be a valid and useful mechanical analog for Veritasium's experiment - it's just that I haven't seen one, yet, that I feel works well. The thing that makes the Poynting vector unique among its analogs is that it is the one in the specific domain that we are concerned with here. The other analogs might be just as abstract and difficult to develop intuitions about, or, if not, to relate to EM.
If my story in my prior post about Maxwell's notebooks is correct, it could be seen as suggesting that mechanical models help, as they certainly seem to have helped Maxwell - but if they are still useful now that we have the theory, I would expect them to be used to help teach it now. There's a cautionary tale, on page two of Dysons paper, about analogical reasoning, in his account of Maxwell's address to the 1870 annual meeting of the BAAS. As Dyson tells it, most of that talk was ostensibly about Kelvin's analogy between molecules and vortices - an analogy that did not lead to any physical knowledge.
Take a look at the video made by YouTuber AlphaPhoenix where he constructs the entire thing on a smaller scale and demonstrates the effect with an oscilloscope: https://www.youtube.com/watch?v=2Vrhk5OjBP8
One way of viewing what’s going on here is to consider the two sides as a pair of large dipole antennas. When the switch (or in AlphaPheonix’s case, a transistor) is turned on, a pulse of electrons is pushed down one antenna, setting up a transient wave in the electromagnetic field around it which induces a current in the opposite direction in the “receiving” antenna on the other side. This happens regardless of whether the wired are connected in a loop or not!
Physics is great.
I'm also not even sure if his testing methodology is solid; he was getting a ton of common mode junk in the target measurement probes, and subtracting it out in the scope. That works in steady state, but when trying to measure fast transients like this it depends on things like probe skew and more. It's just not clean enough for me to be able to trust the results are caused by the explanation he gave. Measuring subtle phenomena like this with long transmission lines involved with a single ground referenced scope and no true differential probes... ick.
Yes, this is obviously the case. But it's also not the setup that was being tested.
(Apparently he's editing a part2 which contains many weird & wonderful topological arrangements.)
Honestly though, I'm not sure what your problem is here. His results match very closely what you'd expect theoretically given the experimental setup. Not only that, if you model the setup in software using a suitable electromagnetic modelling code (there are videos on YouTube of people doing this) you get exactly the same result. Common mode noise on both sides is an irrelevance - you can just subtract it away without loss of generality.
If you look at his scope plot, the common mode voltage is kind of a mess and much larger than the actual differential voltage. That doesn't give me a lot of confidence in the final result. I'd like to see a more controlled version of this experiment with better equipment.
Source: I've done the same thing he did, using two probes to measure a differential voltage, and I can tell you it kind of works, but not well. Especially not at higher frequencies.
And if you are going to do anything useful (e.g. toggling the signal), the max frequency at which you can do it is even lower than the limit set by the propagation delay.
In any case, even TFA says the reason pretty explicitly: it's actually 4 pipelined stages, thus 4 clock cycles delay. Probably it was way too much power+area to drive the distance in one cycle.
There's definitely a lot more playing with clock domains too though. Run this bit at half clock, etc. But you still wouldn't want to have entirely async things within an execution unit, because bringing them back in sync costs a couple clock cycles on its own.
I do wonder how the tooling used in leading edge VLSI design rates on software quality. If the open FPGA tooling community has taught us something, it's that vendor tooling is hideously inefficient and just plain bad software. If VLSI design is on the same level (and it wouldn't be surprising if it is; in fact some FPGA tooling is done by the same companies and a similar codebase), then they might be leaving performance, design time, or both on the table just because the damn P&R and timing analysis take much longer to run than they would if the software weren't terrible. Of course I'm sure they just throw more machines at the problem for high stakes chip design, but...
Just plain bad software and hilariously overengineered sure, but inefficient is a big word to throw out. I don't think any non-vendor tool has yet proven able to play in the same league, yet. It's like comparing tinycc with gcc.
How true it is? Not the faintest, but maybe someone here was in a/the Alpha design team and can say yes/no.
Typical numbers for designs going for higher clocks (read: Pentium 4) would be 16 FO4 stages per clock. So of all you're doing is moving data from point A to point B on the chip, that still gives you quite a bit of leeway for adding buffer stages without having to add an extra cycle of latency.
Things have changed though, as other commenters have pointed out. These days everything is a lot more complicated, as you get to smaller nodes.
But, this request/response means that a ring bus seems unlikely because a unidirectional ring bus should make the sum of the request/response times identical for all CPUs, if I'm understanding correctly.
FWIW, the Cell used a bidirectional ring bus network, and it's of the same generation and happens to share technology heritage with the XCPU... (very similar PowerPC core) :-)
On a modern core the delay is enough that you can't come close to reaching from side one side of a core (not to mention CPU) to another in a single cycle.
Phase velocity is close to the speed of light. It can be reduced by dielectric materials parameters so it's often lower than c.
https://en.wikipedia.org/wiki/Phase_velocity
Group velocity is often much slower. Information transfer can never be faster the group velocity, rather than the phase velocity. So when it comes to "on chip communication" it is group velocity that matters. Group velocity depends on many factor of transmission line design such as line thickness, line width, dielectric thickness, etc.
I was blown away by the amount of technical detail we were getting access to and how clearly explained it was. Much of that was thanks to Bruce Dawson. I remember devouring everything I could find that he'd written and it was a fascinating crash course in CPU architecture for a relatively young software engineer at the time with little hardware background. Thanks Bruce!
This way of learning is not taught often enough, we learn it in school when learning another language (e.g. repeating words over and over). But in sciences and engineering the repeated reading of the material is not usually encouraged or talked about.
It would be interesting to see what the material was, it's not linked, but it must have been really detailed.
A lot of documentation these days is mostly references that you look up when you need the nitty gritty details and the bigger picture is not documented as well.
I don't repeatedly read books just to memorise or remember stuff, but I repeatedly read books because you learn and fully digest certain concepts which are then needed before moving on to other concepts
Short version: don't be too concerned if you're not completely confident on the details the first time through, because it will make a lot more sense next time around.
I appologise in advance for the fact I will repeat questions to people and get it wrong initially, it's part of the learning process
To learn a language, you can't problem solve your way to the solution, you either know it or you don't, and when you use it in practice (in a conversation) you can't look up what you need to know on the spot.
Like it's much easier to find a connection between two things you know about compared to two things you could look up.
In the mid-90s I set up my then-employer's first WAN. Cisco 2501 with T1s for in-city links and frame relay for inter-city/international. As part of our Cisco contract, we got a full manual set, which was maybe 24" of shelf space. In my spare time over a couple of weeks, I sat down and read the whole thing. Then I went back and actually studied the parts that were relevant, mostly by reading and re-reading until it all made sense to me.
On top of that, I added a lot of practical experimentation with the gear. But foundational for me was really understanding the perspective of the people who made it.
But for every given topic, we still need deep experts, like Bruce Dawson was for this processor at Microsoft. So I think this mode is still very valuable, so I agree with Ciantic: this way of learning is something everybody should have at least some practice in.
If reading a manual front to back for a bit of tech doesn't tell you everything you need to know to use it properly then its not a good manual.
My argument was essentially that you gain very little from memorizing reference docs. Reading a good manual is definitely invaluable on the other hand.
Is that good? Honestly I don't think so, it would be nice to be able to spend more time mastering a stack and using that, and I feel like the outcomes would be infinitely better than jumping ship every 12 months. But that is the reality of parts of the industry, it moves fast.
On later passes, I'm more inclined to jump around.
It is counter-intuitive because it tends to feel a little bit like a small child who has not yet learned to read, picking up a book and pretending to read by mimicking what the behavior looks and sounds like.
I fully agree with understanding the perspective of the people making the thing, knowing the what isn't always as useful as knowing the why. I speak a lot about being idiomatic, which is to say developing in a way that is sympathetic to the system and its existing approaches. That takes understanding the why more than the what.
I am reminded of the Honda motorcycle maintenance manuals. They are like being face to face with the engineers who designed the bike, reading that back to back would give you that deeper understanding of the system I think.
That's my pet peeve with auto-generated docs, they don't actually help much. I can see the function for myself, I don't need to be told it exists, I need to know why!
i think this is exactly the right take in entirely the wrong direction.
proficiency and mastery are about committing more and more complex things into sub- or un- concious action; muscle memory as it were. grandmaster chess players dont think about solving puzzles that stump novices, they absorb whole board states and many/all permutations instantly. BJJ black belts dont have to think about arm bars, they anticipate complex possibilities of moves and countermoves that a novice simply cannot fathom. this is as true in engineering as any other field. a simple litmus test: is there a difference between a college grad and a 40-years experienced engineer? of course there is
I think GPs point is exactly right. there is a certain lost magic to simply smashing your brain into something and absorbing as much as possible. big eyes, big ears, ego to attempt but humble to fail. one might call such a person a hacker.
edit: see The Art of Learning, Waitzkin
In other instances memorization is a foundational requirement, like language learning. Can't leanr a word if you don't know the alphabet, for example. In that sense practice only serves to reinforce the memorization it is the memory that is most important to being effective in that case.
...Unless you're into that kind of thing, and I do believe it will help "pick the right tool for the job", instead of writing your own or picking a random library off the internet. Maybe I should make a habit of it, I'm quite invested in Go at the moment.
On the other hand, probably a bigger factor is 'arsedness'. I don't have the attention span or interest to read something back-to-front, or maybe not anymore? I don't know for sure. But there's not many things that grip me enough to really draw me in.
...except writing shitpost comments on HN.
Don't treat all sources as a mere dictionary of self-evident structure. Quitting just because the blurb of immediate interest has been rendered leaves out key opportunities to learn what is available.
I taught myself almost everything I know, and repeated reading is the method I usually use. I don't memorize, but instead I attack any material to learn by "reading sweeps" (this only applies to topics I know nothing about).
I first read all the material and, even if I don't understand a word about anything, I keep going until the end. Then I read everything again from start to end and here I can definitely say that I'm starting to understand. Then again, and this time I allow myself to go back and clarify something I didn't understand. When I feel confident, I try to implement something with the reading material at hand.
I can't recall any material that I recently learnt that way but "The definitive guide to the ARM Cortex M3" by Joseph Yiu is a book I remember (back in 2007 when I started with Cortex microcontrollers).
Now I happily browse through as many sources as I can find, noting which I think are high quality even if above my head, and absorbing what I can for my current knowledge level. Then I'll revisit the good stuff and scan it to pick up the next layer deep, and repeat over select material until I feel I have what I need.
The other thing I do is make flashcards as I go (I use an app called Quizlet, but I know there are lots out there). Especially with a new subject, just basic terms can be overwhelming at first. I capture want I feel is important in a question & answer format, and just fire it up when I have to a few mins to run through some flashcards (e.g. waiting for a meeting, sitting on the lav, etc.). It seems to work really well for me.
The main point I wanted to make with how I became the CPU expert was not actually the "reading multiple times" in order to deeply understand it (although that was important) but rather the fact that I chose to become the CPU expert rather than having it assigned to me.
It was one of many times that I became the acknowledged expert of some area, and perhaps therefore in charge of that area, just by working hard in that area until I was "obviously" the expert.
I work on Display team in Windows and in past worked mostly on IddCx and SoftGpu but recently went through some VESA docs and chimed in my opinion during some meetings. Now I'm leading DisplayPort reliability efforts with graphics IHVs
Xbox 360 was getting into the era where consoles had OSes and things should be abstracted through DirectX but I guess Microsoft decided the safest thing to do was create a clone with artificial slowdowns rather than risk games pushing the limit breaking.
Nowadays consoles can change CPU / GPU microarchitectures seemingly without problems...
Yeah, the only place I've seen a full wafer on display is a display case in the lobby of a chip company office building. I wonder how often some process goes out of whack and they get an entire known-bad wafer that still looks great?
I think many of the alignment steps during manufacturing involve making a wafer, seeing how misaligned it is using an electron microscope, adjusting all the machines, then making another wafer. Repeat until the wafers start working.
reminds me of when I had some 'trash' leftover CPU's, chips, or memory units; drill a hole in it and you have a keychain gadget.
https://twitter.com/chiakokhua/status/1306437988801486848 sourced from
https://cset.georgetown.edu/wp-content/uploads/AI-Chips%E2%8... p45
I think there's a good chance that wafer doesn't have any metal layers, or only M1 at most. It looks the same as the chips I've delayered and removed all or almost all of the metal layers from. For example, here's a shot of the Wii's GPU with the metal layers scraped off:
"Wafer of the Sony PlayStation 1 CPU. While decaping a Sony CXD8606Q, I was very lucky to be able to match the die to an unidentified wafer I had in my collection. The 6“ wafer could accommodate a total of 200 individual dies."
Adding that to the fact that the three cores have a shared common bus, and there are gone to be some kind of signalling about who is using it (that we don't know), this could be reasonable.
The Xbox 360 CPUs works at 3.2 GHz, that's 0.3125 ns per cycle, and four cycles make those 1.25 ns. I won't be surprised if those who made the CPU designed to have 4 cycles of delay to cores 1 and 2 to be sure there isn't any kind of glitch reading the data from the port.
It's common in FPGA/microcontroller designs to have 'input synchronizers' on inputs from long digital lines (on any input where you can't guarantee synchronicity) to prevent metastability problems, especially when crossing clock domains. I think that's likely the case here, there are both long lines and different clock domains.
1. An otherwise inconvenient situation (snowpocalypse) was turned into a learning opportunity. I would've probably turned it into a Netflix binge.
2. People took the time to detail the CPU design in a document. I'm always looking for examples showing the benefits of documenting design (I'm an EM) and it's rare to find one that changes someone's life trajectory. :)
The documentation that I read showed the pipelines in great deal, but they were badly presented such that the flows of data and time were obscured. My main contribution was to straighten out and simplify the diagrams, and then animate them. Well, and then explain them. It was definitely a CPU that required that level of detail.
"...So the 5.5 mm actually only takes 0.625 nanoseconds each way, the signal actually goes 11 mm in 1.25 nanoseconds, so the original title of this blog post is a lie. Sorry!"
Now I am! 15 years late.