[From the last episode: We put together many of the ideas we’ve been describing to show the basics of how in-memory compute works.]
I’m going to take a sec for some commentary before we continue with the last few steps of in-memory compute. The whole point of this website is the fact that, while doing true engineering work is hard, we can view many of the concepts intuitively. I place high value on being able to have a sense of what’s going on without having to have a degree.
That also means that I’ve tried to avoid math as much as possible, simply because not everyone has a strong background in math. The intuitive thing means that you mostly don’t need the math to get the gist. What math we’ve used has been pretty basic.
It’s So Cuz the Math Sez So!
Many engineering schools completely bypass anything intuitive. That was certainly the case when I got my degree. It was always all about the math. If you knew the math, then nothing else mattered. And yet curious minds want more.
One example was the notion of a circuit called a gyrator. It was defined for us by its mathematical formulation – and that’s it. And yet, at least for me, there was this need to know – why is it called a gyrator? That has implications of something spinning around. But no one asked that question, and it didn’t apparently occur to the professor that this might be an interesting question, the answer to which might actually have given some insights.
And so, to this day, I have no idea why it’s called a gyrator. (OK, having found the Wikipedia entry, now I do.)
My brother described a similar situation in his thermodynamics class. There are a number of notions in thermo, some familiar, others not. Energy and entropy we can grasp. But then there’s this thing called “enthalpy.” What the heck is that?
After the lecture, my brother went to the front to ask this question of the prof. The prof looked confused, pointed to the equation on the board, and said, “It’s this.” My brother said, “I don’t mean, how do we calculate it; I mean, what is it?” The prof responded, somewhat exasperatedly while indicating the formula, “That’s what it is!” In other words, there was no need really to understand what it was. Just use the dang formula and shut up!
How We Get to In-Memory Compute
But what we just saw with in-memory compute is an example of a situation where intuition would never have provided the answer. The whole notion comes out of the fact of currentThe amount of electrical flow. Measured in amperes or amps (A). being generated according to Ohm’s Law. Someone had to look at that and think,
- Huh… if the cell is resistive, then Ohm’s Law multiplies voltageVoltage is what gets electrons to flow. It's analogous to water pressure, which gets water to flow. Voltage is measured in units of "volts." and conductanceThe literal opposite of resistance. Rather than how hard is it to push the flow through, it looks at how easy it is. Measured in mhos. (and, honestly, most engineers think in terms of resistanceForces that tend to reduce the amount of flow or current. Measured in ohms (Ω)., not conductance).
- Huh… if we store the weights (which we don’t want to have to change) in the resistor, then we can use the word-line voltage as the other number to multiply by. Unlike the weights, it will have lots of different values as we run calculations. So we conveniently have one number that’s static and another that’s dynamic.
- We have to make some changes to the basic memory structure to allow multiple word lines to be active, and then we can do multiply-accumulate.
None of that is intuitive just looking at a memory.
So, while I’m a huge fan of everything intuitive, we have to tip our hat in this case to a phenomenon that’s suggested only by the math. And another tip of the hat to whoever had the insights.
As we said, there are some caveats that we have yet to deal with, but the fundamental notion is pretty cool. Thanks math!
Leave a Reply