I have been working on an upcoming post about megatrends and how they drive tech. I had included the end of Moores Law to illustrate how the end of a megatrend might also have a big influence on tech, but that section got away from me, becoming much larger than the sections on each individual current megatrend. So I decided to break it out into a separate post and publish it first. Here it is.
Moores Law, concerning what we put on silicon wafers, is over after a solid fifty year run that completely reshaped our world. But that end unleashes lots of new opportunities.
Moore, Gordon E.,Cramming more components onto integrated circuits,Electronics, Vol 32, No. 8, April 19, 1965.
Electronicswas a trade journal that published monthly, mostly, from 1930 to 1995. Gordon Moores four and a half page contribution in 1965 was perhaps its most influential article ever. That article not only articulated the beginnings, and it was the very beginnings, of a trend, but the existence of that articulation became a goal/law that has run the silicon based circuit industry (which is the basis of every digital device in our world) for fifty years. Moore was a Cal Tech PhD, cofounder in 1957 of Fairchild Semiconductor, and head of its research and development laboratory from1959. Fairchild had been founded to make transistors from silicon at a time when they were usually made from much slower germanium.
One can find many files on the Web that claim to be copies of the original paper, but I have noticed that some of them have the graphs redrawn and that they are sometimes slightly different from the ones that I have always taken to be the originals. Below I reproduce two figures from the original that as far as I can tell have only been copied from an original paper version of the magazine, with no manual/human cleanup.
The first one that I reproduce here is the money shot for the origin of Moores Law. There was however an equally important earlier graph in the paper which was predictive of the future yield over time of functional circuits that could be made from silicon. It had less actual data than this one, and as well see, that is really saying something.
This graph is about the number of components on an integrated circuit. An integrated circuit is made through a process that is like printing. Light is projected onto a thin wafer of silicon in a number of different patterns, while different gases fill the chamber in which it is held. The different gases cause different light activated chemical processes to happen on the surface of the wafer, sometimes depositing some types of material, and sometimes etching material away. With precise masks to pattern the light, and precise control over temperature and duration of exposures, a physical two dimensional electronic circuit can be printed. The circuit has transistors, resistors, and other components. Lots of them might be made on a single wafer at once, just as lots of letters are printed on a single page at one. The yield is how many of those circuits are functionalsmall alignment or timing errors in production can screw up some of the circuits in any given print. Then the silicon wafer is cut up into pieces, each containing one of the circuits and each is put inside its own plastic package with little legs sticking out as the connectorsif you have looked at a circuit board made in the last forty years you have seen it populated with lots of integrated circuits.
The number of components in a single integrated circuit is important. Since the circuit is printed it involves no manual labor, unlike earlier electronics where every single component had to be placed and attached by hand. Now a complex circuit which involves multiple integrated circuits only requires hand construction (later this too was largely automated), to connect up a much smaller number of components. And as long as one has a process which gets good yield, it is constant time to build a single integrated circuit, regardless of how many components are in it. That means less total integrated circuits that need to be connected by hand or machine. So, as Moores papers title references,crammingmore components into a single integrated circuit is a really good idea.
The graph plots the logarithm base two of the number ofcomponentsin an integrated circuit on the vertical axis against calendar years on the horizontal axis. Every notch upwards on the left doubles the number of components. So while means components, means components. That is a thousand fold increase from 1962 to 1972.
There are two important things to note here.
The first is that he is talking aboutcomponentson an integrated circuit, not just the number of transistors. Generally there are many more components thantransistors, though the ratio did drop over time as different fundamental sorts of transistors were used. But in later years Moores Law was often turned into purely a count of transistors.
The other thing is that there are only four real data points here in this graph which he published in 1965. In 1959 the number of components is , i.e., that is not about anintegratedcircuit at all, just about single circuit elementsintegrated circuits had not yet been invented. So this is a null data point. Then he plots four actual data points, which we assume were taken from what Fairchild could produce, for 1962, 1963, 1964, and 1965, having 8, 16, 32, and 64 components. That is a doubling every year. It is an exponential increase in the true sense of exponential.
What is the mechanism for this, how can this work? It works because it is in the digital domain, the domain ofyesorno, the domain of or .
In the last half page of the four and a half page article Moore explains the limitations of his prediction, saying that for some things, like energy storage, we will not see his predicted trend. Energy takes up a certain number of atoms and their electrons to store a given amount, so you can not just arbitrarily change the number of atoms and still store the same amount of energy. Likewise if you have a half gallon milk container you can not put a gallon of milk in it.
But the fundamental digital abstraction isyesorno. A circuit element in an integrated circuit just needs to know whether a previous element said yes or no, whether there is a voltage or current there or not. In the design phase one decides above how many volts or amps, or whatever, means yes, and below how many means no. And there needs to be a good separation between those numbers, a significant no mans land compared to the maximum and minimum possible. But, the magnitudes do not matter.
I like to think of it like piles of sand. Is there a pile of sand on the table or not? We might have a convention about how big a typical pile of sand is. But we can make it work if we halve the normal size of a pile of sand. We can still answer whether or not there is a pile of sand there using just half as many grains of sand in a pile.
And then we can halve the number again. And the digital abstraction of yes or no still works. And we can halve it again, and it still works. And again, and again, and again.
This is what drives Moores Law, which in its original form said that we could expect to double the number of components on an integrated circuit every year for 10 years, from 1965 to 1975. That held up!
Variations of Moores Law followed; they were all about doubling, but sometimes doubling different things, and usually with slightly longer time constants for the doubling. The most popular versions were doubling of the number of transistors, doubling of the switching speed of those transistors (so a computer could run twice as fast), doubling of the amount of memory on a single chip, and doubling of the secondary memory of a computeroriginally on mechanically spinning disks, but for the last five years in solid state flash memory. And there were many others.
Lets get back to Moores original law for a moment. The components on an integrated circuit are laid out on a two dimensional wafer of silicon. So to double the number of components for the same amount of silicon you need to double the number of components per unit area. That means that the size of a component, in each linear dimension of the wafer needs to go down by a factor of . In turn, that means that Moore was seeing the linear dimension of each component go down to of what it was in a year, year over year.
But why was it limited to just a measly factor of two per year? Given the pile of sand analogy from above, why not just go to a quarter of the size of a pile of sand each year, or one sixteenth? It gets back to the yield one gets, the number of working integrated circuits, as you reduce the component size (most commonly calledfeature size). As the feature size gets smaller, the alignment of the projected patterns of light for each step of the process needs to get more accurate. Since , approximately, it needs to get better by as you halve the feature size. And because impurities in the materials that are printed on the circuit, the material from the gasses that are circulating and that are activated by light, the gas needs to get more pure, so that there are fewer bad atoms in each component, now half the area of before. Implicit in Moores Law, in its original form, was the idea that we could expect the production equipment to get better by about per year, for 10 years.
For various forms of Moores Law that came later, the time constant stretched out to 2 years, or even a little longer, for a doubling, but nevertheless the processing equipment has gotten that better time period over time period, again and again.
To see the magic of how this works, lets just look at 25 doublings. The equipment has to operate with things times smaller, i.e., roughly 5,793 times smaller. But we can fit more components in a single circuit, which is 33,554,432 times more. The accuracy of our equipment has improved 5,793 times, but that has gotten a further acceleration of 5,793 on top of the original 5,793 times due to the linear to area impact. That is where the payoff of Moores Law has come from.
In his original paper Moore only dared project out, and only implicitly, that the equipment would get better every year for ten years. In reality, with somewhat slowing time constants, that has continued to happen for 50 years.
Now it is coming to an end. But not because the accuracy of the equipment needed to give good yields has stopped improving. No. Rather it is because those piles of sand we referred to above have gotten so small that they only contain a single metaphorical grain of sand. We cant split the minimal quantum of a pile into two any more.
Perhaps the most remarkable thing is Moores foresight into how this would have an incredible impact upon the world. Here is the first sentence of his second paragraph:
Integrated circuits will lead to such wonders as home computersor at least terminals connected to a central computerautomatic controls for automobiles, and personal portable communications equipment.
This was radical stuff in 1965. So called mini computers were still the size of a desk, and to be useful usually had a few peripherals such as tape units, card readers, or printers, that meant they would be hard to fit into a home kitchen of the day, even with the refrigerator, oven, and sink removed. Most people had never seen a computer and even fewer had interacted with one, and those who had, had mostly done it by dropping off a deck of punched cards, and a day later picking up a printout from what the computer had done when humans had fed the cards to the machine.
The electrical systems of cars were unbelievably simple by todays standards, with perhaps half a dozen on off switches, and simple electromechanical devices to drive the turn indicators, windshield wipers, and the distributor which timed the firing of the spark plugsevery single function producing piece of mechanism in auto electronics was big enough to be seen with the naked eye. And personal communications devices were rotary dial phones, one per household, firmly plugged into the wall at all time. Or handwritten letters than needed to be dropped into the mail box.
That sentence quoted above, given when it was made, is to me the bravest and most insightful prediction of technology future that we have ever seen.
By the way, the first computer made from integrated circuits was the guidance computer for the Apollo missions, one in the Command Module, and one in the Lunar Lander. The integrated circuits were made by Fairchild, Gordon Moores company. The first version had 4,100 integrated circuits, each implementing a single 3 input NOR gate. The more capable manned flight versions, which first flew in 1968, had only 2,800 integrated circuits, each implementing two 3 input NOR gates. Moores Law had its impact on getting to the Moon, even in the Laws infancy.
In the original magazine article this cartoon appears:
At a fortieth anniversary of Moores Law at the Chemical Heritage Foundationin Philadelphia I asked Dr. Moore whether this cartoon had been his idea. He replied that he had nothing to do with it, and it was just there in the magazine in the middle of his article, to his surprise.
Without any evidence at all on this, my guess is that the cartoonist was reacting somewhat skeptically to the sentence quoted above. The cartoon is set in a department store, as back then US department stores often had a Notions department, although this was not something of which I have any personal experience as they are long gone (and I first set foot in the US in 1977). It seems that notions is another word for haberdashery, i.e., pins, cotton, ribbons, and generally things used for sewing. As still today, there is also aCosmeticsdepartment. And plop in the middle of them is theHandy Home Computersdepartment, with the salesman holding a computer in his hand.
I am guessing that the cartoonist was making fun of this idea, trying to point out the ridiculousness of it. It all came to pass in only 25 years, including being sold in department stores. Not too far from the cosmetics department. But the notions departments had all disappeared. The cartoonist was right in the short term, but blew it in the slightly longer term.
There were many variations on Moores Law, not just his original about the number of components on a single chip.
Amongst the many there was a version of the law about how fast circuits could operate, as the smaller the transistors were the faster they could switch on and off. There were versions of the law for how much RAM memory, main memory for running computer programs, there would be and when. And there were versions of the law for how big and fast disk drives, for file storage, would be.
This tangle of versions of Moores Law had a big impact on how technology developed. I will discuss three modes of that impact; competition, coordination, and herd mentality in computer design.
Competition
Memory chips are where data and programs are stored as they are run on a computer. Moores Law applied to the number of bits of memory that a single chip could store, and a natural rhythm developed of that number of bits going up my a multiple of four on a regular but slightly slowing basis. By jumping over just a doubling, the cost of the silicon foundries could me depreciated over long enough time to keep things profitable (today a silicon foundry is about a $7B capital cost!), and furthermore it made sense to double the number of memory cells in each dimension to keep the designs balanced, again pointing to a step factor of four.
In the very early days of desktop PCs memory chips had bits. The memory chips were called RAM (Random Access Memoryi.e., any location in memory took equally long to access, there were no slower of faster places), and a chip of this size was called a 16K chip, where K means not exactly 1,000, but instead 1,024 (which is ). Many companies produced 16K RAM chips. But they all knew from Moores Law when the market would be expecting 64K RAM chips to appear. So they knew what they had to do to not get left behind, and they knew when they had to have samples ready for engineers designing new machines so that just as the machines came out their chips would be ready to be used having been designed in. And they could judge when it was worth getting just a little ahead of the competition at what price. Everyone knew the game (and in fact all came to a consensus agreement on when the Moores Law clock should slow down just a little), and they all competed on operational efficiency.
Coordination
Technology Reviewtalks about this in their story on the end of Moores Law. If you were the designer of a new computer box for a desktop machine, or any other digital machine for that matter, you could look at when you planned to hit the market and know what amount of RAM memory would take up what board space because you knew how many bits per chip would be available at that time. And you knew how much disk space would be available at what price and what physical volume (disks got smaller and smaller diameters just as they increased the total amount of storage). And you knew how fast the latest processor chip would run. And you knew what resolution display screen would be available at what price. So a couple of years ahead you could put all these numbers together and come up with what options and configurations would make sense by the exact time whenyou were going to bring your new computer to market.
The company that sold the computers might make one or two of the critical chips for their products but mostly they bought other components from other suppliers. The clockwork certainty of Moores Law let them design a new product without having horrible surprises disrupt their flow and plans. This really let the digital revolution proceed. Everything was orderly and predictable so there were fewer blind alleys to follow. We had probably the single most sustained continuous and predictable improvement in any technology over the history of mankind.
Herd mentality in computer design
But with this good came some things that might be viewed negatively (though Im sure there are some who would argue that they were all unalloyed good). Ill take up one of these as the third thing to talk about that Moores Law had a major impact upon.
A particular form of general purpose computer design had arisen by the time that central processors could be put on a single chip (see the Intel 4004 below), and soon those processors on a chip, microprocessors as they came to be known, supported that general architecture. That architecture is known as thevon Neumann architecture.
A distinguishing feature of this architecture is that there is a large RAM memory which holds both instructions and datamade from the RAM chips we talked about above under coordination. The memory is organized into consecutive indexable (or addressable) locations, each containing the same number of binary bits, or digits. The microprocessor itself has a few specialized memory cells, known as registers, and an arithmetic unit that can do additions, multiplications, divisions (more recently), etc. One of those specialized registers is called the program counter (PC), and it holds an address in RAM for the current instruction. The CPU looks at the pattern of bits in that current instruction location and decodes them into what actions it should perform. That might be an action to fetch another location in RAM and put it into one of the specialized registers (this is called a LOAD), or to send the contents the other direction (STORE), or to take the contents of two of the specialized registers feed them to the arithmetic unit, and take their sum from the output of that unit and store it in another of the specialized registers. Then the central processing unit increments its PC and looks at the next consecutive addressable instruction. Some specialized instructions can alter the PC and make the machine go to some other part of the program and this is known as branching. For instance if one of the specialized registers is being used to count down how many elements of an array of consecutive values stored in RAM have been added together, right after the addition instruction there might be an instruction to decrement that counting register, and then branch back earlier in the program to do another LOAD and add if the counting register is still more than zero.
Thats pretty much all there is to most digital computers. The rest is just hacks to make them go faster, while still looking essentially like this model. But note that the RAM is used in two ways by a von Neumann computerto contain data for a program and to contain the program itself. Well come back to this point later.
With all the versions of Moores Law firmly operating in support of this basic model it became very hard to break out of it. The human brain certainly doesnt work that way, so it seems that there could be powerful other ways to organize computation. But trying to change the basic organization was a dangerous thing to do, as the inexorable march of Moores Law based existing architecture was going to continue anyway. Trying something new would most probably set things back a few years. So brave big scale experiments like the Lisp MachineorConnection Machinewhich both grew out of the MIT Artificial Intelligence Lab (and turned into at least three different companies) and Japans fifth generation computerproject (which played with two unconventional ideas, data flow and logical inference) all failed, as before long the Moores Law doubling conventional computers overtook the advanced capabilities of the new machines, and software could better emulate the new ideas.
Most computer architects were locked into the conventional organizations of computers that had been around for decades. They competed on changing the coding of the instructions to make execution of programs slightly more efficient per square millimeter of silicon. They competed on strategies to cache copies of larger and larger amounts of RAM memory right on the main processor chip. They competed on how to put multiple processors on a single chip and how to share the cached information from RAM across multiple processor units running at once on a single piece of silicon. And they competed on how to make the hardware more predictive of what future decisions would be in a running program so that they could precompute the right next computations before it was clear whether they would be needed or not. But, they were all locked in to fundamentally the same way of doing computation. Thirty years ago there were dozens of different detailed processor designs, but now they fall into only a small handful of families, the X86, the ARM, and the PowerPC. The X86s are mostly desktops, laptops, and cloud servers. The ARM is what we find in phones and tablets. And you probably have a PowerPC adjusting all the parameters of your cars engine.
The one glaring exception to the lock in caused by Moores Law is that of Graphical Processing Units, orGPUs. These are different from von Neumann machines. Driven by wanting better video performance for video and graphics, and in particular gaming, the main processor getting better and better under Moores Law was just not enough to make real time rendering perform well as the underlying simulations got better and better. In this case a new sort of processor was developed. It was not particularly useful for general purpose computations but it was optimized very well to do additions and multiplications on streams of data which is what is needed to render something graphically on a screen. Here was a case where a new sort of chip got added into the Moores Law pool much later than conventional microprocessors, RAM, and disk. The new GPUs did not replace existing processors, but instead got added as partners where graphics rendering was needed. I mention GPUs here because it turns out that they are useful for another type of computation that has become very popular over the last three years, and that is being used as an argument that Moores Law is not over. I still think it is and will return to GPUs in the next section.
As I pointed out earlier we can not halve a pile of sand once we are down to piles that are only a single grain of sand. That is where we are now, we have gotten down to just about one grain piles of sand. Gordon Moores Law in its classical sense is over. SeeThe Economistfrom March of last year for a typically thorough, accessible, and thoughtful report.
I earlier talked about thefeature size of an integrated circuit and how with every doubling that size is divided by . By 1971 Gordon Moore was at Intel, and they released their first microprocessor on a single chip, the 4004 with 2,300 transistors on 12 square millimeters of silicon, with a feature size of 10 micrometers, written 10m. That means that the smallest distinguishable aspect of any component on the chip was th of a millimeter.
Since then the feature size has regularly been reduced by a factor of , or reduced to of its previous size, doubling the number of components in a given area, on a clockwork schedule. The schedule clock has however slowed down. Back in the era of Moores original publication the clock period was a year. Now it is a little over 2 years. In the first quarter of 2017 we are expecting to see the first commercial chips in mass market products with a feature size of 10 nanometers, written 10nm. That is 1,000 times smaller than the feature size of 1971, or 20 applications of the rule over 46 years. Sometimes the jump has been a little better than , and so we actually seen 17 jumps from10m down to 10nm. You can see them listed in Wikipedia. In 2012 the feature size was 22nm, in 2014 it was 14nm, now in the first quarter of 2017 we are about to see 10nm shipped to end users, and it is expected that we will see 7nm in 2019 or so. There are stillactive areas of researchworking on problems that are yet to be solved to make 7nm a reality, but industry is confident that it will happen. There are predictions of 5nm by 2021, but a year ago there was still much uncertaintyover whether the engineering problems necessary to do this could be solved and whether they would be economically viable in any case.
Once you get down to 5nm features they are only about 20 silicon atoms wide. If you go much below this the material starts to be dominated by quantum effects and classical physical properties really start to break down. That is what I mean by only one grain of sand left in the pile.
Todays microprocessors have a few hundred square millimeters of silicon, and 5 to 10 billion transistors. They have a lot of extra circuitry these days to cache RAM, predict branches, etc., all to improve performance. But getting bigger comes with many costs as they get faster too. There is heat to be dissipated from all the energy used in switching so many signals in such a small amount of time, and the time for a signal to travel from one side of the chip to the other, ultimately limited by the speed of light (in reality, in copper it is about less), starts to be significant. The speed of light is approximately 300,000 kilometers per second, or 300,000,000,000 millimeters per second. So light, or a signal, can travel 30 millimeters (just over an inch, about the size of a very large chip today) in no less than one over 10,000,000,000 seconds, i.e., no less than one ten billionth of a second.
Todays fastest processors have a clock speed of 8.760GigaHertz, which means by the time the signal is getting to the other side of the chip, the place if came from has moved on to the next thing to do. This makes synchronization across a single microprocessor something of a nightmare, and at best a designer can know ahead of time how late different signals from different parts of the processor will be, and try to design accordingly. So rather than push clock speed further (which is also hard) and rather than make a single microprocessor bigger with more transistors to do more stuff at every clock cycle, for the last few years we have seen large chips go to multicore, with two, four, or eight independent microprocessors on a single piece of silicon.
Multicore has preserved the number of operations done per second version of Moores Law, but at the cost of a simple program not being sped up by that amountone cannot simply smear a single program across multiple processing units. For a laptop or a smart phone that is trying to do many things at once that doesnt really matter, as there are usually enough different tasks that need to be done at once, that farming them out to different cores on the same chip leads to pretty full utilization. But that will not hold, except for specialized computations, when the number of cores doubles a few more times. The speed up starts to disappear as silicon is left idle because there just arent enough different things to do.
Despite the arguments that I presented a few paragraphs ago about why Moores Law is coming to a silicon end, many people argue that it is not, because we are finding ways around those constraints of small numbers of atoms by going to multicore and GPUs. But I think that is changing the definitions too much.
Here is a recent chart that Steve Jurvetson, cofounder of the VC firm DFJ (Draper Fisher Jurvetson), posted on his FaceBook page. He said it is an update of an earlier chart compiled by Ray Kurzweil.
In this case the left axis is a logarithmically scaled count of the number of calculations per second per constant dollar. So this expresses how much cheaper computation has gotten over time. In the 1940s there are specialized computers, such as the electromagnetic computers built to break codes at Bletchley Park. By the 1950s they become general purpose, von Neuman style computers and stay that way until the last few points.
The last two points are both GPUs, the GTX 450 and the NVIDIA Titan X. Steve doesnt label the few points before that, but in every earlier version of a diagram that I can find on the Web (and there are plenty of them), the points beyond 2010 are all multicore. First dual cores, and then quad cores, such as Intels quad core i7 (and I am typing these words on a 2.9MHz version of that chip, powering my laptop).
That GPUs are there and that people are excited about them is because besides graphics they happen to be very good at another very fashionable computation. Deep learning, a form of something known originally as back propagation neural networks, has had a big technological impact recently. It is what has made speech recognition so fantastically better in the last three years that Apples Siri, Amazons Echo, and Google Home are useful and practical programs and devices. It has also made image labeling so much better than what we had five years ago, and there is much experimentation with using networks trained on lots of road scenes as part of situational awareness for self driving cars. For deep learning there is a training phase, usually done in the cloud, on millions of examples. That produces a few million numbers which represent the network that is learned. Then when it is time to recognize a word or label an image that input is fed into a program simulating the network by doing millions of multiplications and additions. Coincidentally GPUs just happen to perfect for the way these networks are structured, and so we can expect more and more of them to be built into our automobiles. Lucky break for GPU manufacturers! While GPUs can do lots of computations they dont work well on just any problem. But they are great for deep learning networks and those are quickly becoming the flavor of the decade.
While rightly claiming that we continue to see exponential growth as in the chart above, exactly what is being measured has changed. That is a bit of a sleight of hand.
And I think that change will have big implications.
I think the end of Moores Law, as I have defined the end, will bring about a golden new era of computer architecture. No longer will architects need to cower atthe relentless improvements that they know others will get due to Moores Law. They will be able to take the time to try new ideas out in silicon, now safe in the knowledge that a conventional computer architecture will not be able to do the same thing in just two or four years in software. And the new things they do may not be about speed. They might be about making computation better in other ways.
Machine learning runtime
We are seeing this with GPUs as runtime engines for deep learning networks. But we are also seeing some more specific architectures. For instance, for about a a year Google has had their own chips called TensorFlow Units (or TPUs) that save power for deep learning networks by effectively reducing the number of significant digits that are kept around as neural networks work quite well at low precision. Google has placed many of these chips in the computers in their server farms, or cloud, and are able to use learned networks in various search queries, at higher speed for lower electrical power consumption.
Special purpose silicon
Typical mobile phone chips now have four ARM processor cores on a single piece of silicon, plus some highly optimized special purpose processors on that same piece of silicon. The processors manage data flowing from cameras and optimizing speech quality, and even on some chips there is a special highly optimized processor for detecting human faces. That is used in the camera application, youve probably noticed little rectangular boxes around peoples faces as you are about to take a photograph, to decide what regions in an image should be most in focus and with the best exposure timingthe faces!
New general purpose approaches
We are already seeing the rise of special purpose architectures for very specific computations. But perhaps we will see more general purpose architectures but with a a different style of computation making a comeback.
Conceivably the dataflow and logic models of the Japanese fifth generation computer project might now be worth exploring again. But as we digitalize the world the cost of bad computer security will threaten our very existence. So perhaps if things work out, the unleashed computer architects can slowly start to dig us out of our current deplorable situation.
Secure computing
We all hear about cyber hackers breaking into computers, often half a world away, or sometimes now in a computer controlling the engine, and soon everything else, of a car as it drives by. How can this happen?
Cyber hackers are creative but many ways that they get into systems are fundamentally through common programming errors in programs built on top of the von Neumann architectures we talked about before.
A common case is exploiting something known as buffer overrun. A fixed size piece of memory is reserved to hold, say, the web address that one can type into a browser, or the Google query box. If all programmers wrote very careful code and someone typed in way too many characters those past the limit would not get stored in RAM at all. But all too often a programmer has used a coding trick that is simple, and quick to produce, that does not check for overrun and the typed characters get put into memory way past the end of the buffer, perhaps overwriting some code that the program might jump to later. This relies on the feature of von Neumann architectures that data and programs are stored in the same memory. So, if the hacker chooses some characters whose binary codes correspond to instructions that do something malicious to the computer, say setting up an account for them with a particular password, then later as if by magic the hacker will have a remotely accessible account on the computer, just as many other human and program services may. Programmers shouldnt oughta make this mistake but history shows that it happens again and again.
Another common way in is that in modern web services sometimes the browser on a lap top, tablet, or smart phone, and the computers in the cloud need to pass really complex things between them. Rather than the programmer having to know in advance all those complex possible things and handle messages for them, it is set up so that one or both sides can pass little bits of source code of programs back and forth and execute them on the other computer. In this way capabilities that were never originally conceived of can start working later on in an existing system without having to update the applications. It is impossible to be sure that a piece of code wont do certain things, so if the programmer decided to give a fully general capability through this mechanism there is no way for the receiving machine to know ahead of time that the code is safe and wont do something malicious (this is a generalization of the halting problem I could go on and on but I wont here). So sometimes a cyber hacker can exploit this weakness and send a little bit of malicious code directly to some service that accepts code.
Beyond that cyber hackers are always coming up with new inventive ways inthese have just been two examples to illustrate a couple of ways of how itis currently done.
It is possible to write code that protects against many of these problems, but code writing is still a very human activity, and there are just too many human-created holes that can leak, from too many code writers. One way to combat this is to have extra silicon that hides some of the low level possibilities of a von Neumann architecture from programmers, by only giving the instructions in memory a more limited set of possible actions.
This is not a new idea. Most microprocessors have some version of protection rings which let more and more untrusted code only have access to more and more limited areas of memory, even if they try to access it with normal instructions. This idea has been around a long time but it has suffered from not having a standard way to use or implement it, so most software, in an attempt to be able to run on most machines, usually only specifies two or at most three rings of protection. That is a very coarse tool and lets too much through. Perhaps now the idea will be thought about more seriously in an attempt to get better security when just making things faster is no longer practical.
Another idea, that has mostly only been implemented in software, with perhaps one or two exceptions, is called capability based security, through capability based addressing. Programs are not given direct access to regions of memory they need to use, but instead are given unforgeable cryptographically sound reference handles, along with a defined subset of things they are allowed to do with the memory. Hardware architects might now have the time to push through on making this approach completely enforceable, getting it right once in hardware so that mere human programmers pushed to get new software out on a promised release date can not screw things up.
From one point of view the Lisp Machines that I talked about earlier were built on a very specific and limited version of a capability based architecture. Underneath it all, those machines were von Neumann machines, but the instructions they could execute were deliberately limited. Through the use of something called typed pointers, at the hardware level, every reference to every piece of memory came with restrictions on what instructions could do with that memory, based on the type encoded in the pointer. And memory could only be referenced by a pointer to the start of a chunk of memory of a fixed size at the time the memory was reserved. So in the buffer overrun case, a buffer for a string of characters would not allow data to be written to or read from beyond the end of it. And instructions could only be referenced from another type of pointer, a code pointer. The hardware kept the general purpose memory partitioned at a very fine grain by the type of pointers granted to it when reserved. And to a first approximation the type of a pointer could never be changed, nor couldthe actual address in RAM be seen by any instructions that had access to a pointer.
There have been ideas out there for a long time on how to improve security through this use of hardware restrictions on the general purpose von Neumann architecture. I have talked about a few of them here. Now I think we can expect this to become a much more compelling place for hardware architects to spend their time, as security of our computational systems becomes a major achilles heel on the smooth running of our businesses, our lives, and our society.
Quantum computers
Quantum computers are a largely experimental and very expensive at this time technology. With the need to cool them to physics experiment level ultra cold, and the expense that entails, to the confusion over how much speed up they might give over conventional silicon based computers and for what class of problem, they are a large investment, high risk research topic at this time. I wont go into all the arguments (I havent read them all, and frankly I do not have the expertise that would make me confident in any opinion I might form) butScott Aaronsons blogon computational complexity and quantum computation is probably the best source for those interested. Claims on speedups either achieved or hoped to be achieved on practical problems range from a factor of 1 to thousands (and I might have that upper bound wrong). In the old days just waiting 10 or 20 years would let Moores Law get you there. Instead we have seen well over a decade of sustained investment in a technology that people are still arguing over whether it can ever work. To me this is yet more evidence that the end of Moores Law is encouraging new investment and new explorations.
Unimaginable stuff
Even with these various innovations around, triggered by the end of Moores Law, the best things we might see may not yet be in the common consciousness. I think the freedom to innovate, without the overhang of Moores Law, the freedom to take time to investigate curious corners, may well lead to a new garden of Eden in computational models. Five to ten years from now we may see a completely new form of computer arrangement, in traditional silicon (not quantum), that is doing things and doing them faster than we can today imagine. And with a further thirty years of development those chips might be doing things that would today be indistinguishable from magic, just as todays smart phone would have seemed like utter magic to 50 year ago me.
Many times the popular press, or people who should know better, refer to something that is increasing a lot as exponential. Something is only truly exponential if there is a constant ratio in size between any two points in time separated by the same amount. Here the ratio is , for any two points a year apart. The misuse of the term exponential growth is widespread and makes me cranky.
Why the Chemical Heritage Foundation for this celebration? Both of Gordon Moores degrees (BS and PhD) were in physical chemistry!
For those who read my first blog, once again seeRoy Amaras Law.
I had been a post-doc at the MIT AI Lab and loved using Lisp Machines there, but when I left and joined the faculty at Stanford in 1983 I realized that the more conventional SUN workstationsbeing developed there and at spin-off company Sun Microsystemswould win out in performance very quickly. So I built a software based Lisp system (which I called TAIL (Toy AI Language) in a nod to the naming conventions of most software at the Stanford Artificial Intelligence Lab, e.g., BAIL, FAIL, SAIL, MAIL) that ran on the early Sun workstations, which themselves used completely generic microprocessors. By mid 1984 Richard Gabriel, I, and others had started a company called Lucidin Palo Alto to compete on conventional machines with the Lisp Machine companies. We used my Lisp compiler as a stop gap, but as is often the case with software, that was still the compiler used by Lucid eight years later when it ran on 19 different makes of machines. I had moved back to MIT to join the faculty in late 1984, and eventually became the director of the Artificial Intelligence Lab there (and then CSAIL). But for eight years, while teaching computer science and developing robots by day, I also at night developed and maintained my original compiler as the work horse of Lucid Lisp. Just as the Lisp Machine companies got swept away so too eventually did Lucid. Whereas the Lisp Machine companies got swept away by Moores Law, Lucid got swept away as the fashion in computer languages shifted to a winner take all world, for many years, of C.
Full disclosure. DFJ is one of the VCs who have invested in my company Rethink Robotics.
The rest is here:
The End of Moores Law Rodney Brooks
- HD Moores Law - Video [Last Updated On: July 24th, 2012] [Originally Added On: July 24th, 2012]
- Moores Law - Transistor Graph - Video [Last Updated On: July 24th, 2012] [Originally Added On: July 24th, 2012]
- Moores Lane road construction project begins [Last Updated On: October 2nd, 2012] [Originally Added On: October 2nd, 2012]
- Orono man totals pickup while reaching for cellphone [Last Updated On: October 2nd, 2012] [Originally Added On: October 2nd, 2012]
- 2 in Charlotte face fake ID charges [Last Updated On: October 4th, 2012] [Originally Added On: October 4th, 2012]
- Why there may be more to computing than Moores Law [Last Updated On: October 11th, 2012] [Originally Added On: October 11th, 2012]
- VR pioneer invents 'illumination-as-a-service' [Last Updated On: October 12th, 2012] [Originally Added On: October 12th, 2012]
- What is reality...M theory vs Moores law creating real universe vs creating a virtual one - Video [Last Updated On: October 30th, 2012] [Originally Added On: October 30th, 2012]
- The Rayz/Moores Law @ Put-in-Bay Final Countdown - Video [Last Updated On: October 30th, 2012] [Originally Added On: October 30th, 2012]
- Moores Law @ Beer Barrel Put-in-Bay Hip Hop Medley - Video [Last Updated On: October 30th, 2012] [Originally Added On: October 30th, 2012]
- Good explanation of the singularity - Video [Last Updated On: October 30th, 2012] [Originally Added On: October 30th, 2012]
- What you MUST know about the future - Video [Last Updated On: October 30th, 2012] [Originally Added On: October 30th, 2012]
- Computer Apple 1 How to tell value KK4WW - Video [Last Updated On: October 30th, 2012] [Originally Added On: October 30th, 2012]
- Rise of the transapients - Video [Last Updated On: October 30th, 2012] [Originally Added On: October 30th, 2012]
- Moores Law Music Performing Bruce Springsteen - Video [Last Updated On: October 30th, 2012] [Originally Added On: October 30th, 2012]
- Moore's Law Ice Cream Man - Video [Last Updated On: October 30th, 2012] [Originally Added On: October 30th, 2012]
- Moores Law performs Vehicle at PIB - Video [Last Updated On: October 30th, 2012] [Originally Added On: October 30th, 2012]
- Explaining Moores Law [HD] - MOCustoms.co.uk - Video [Last Updated On: October 30th, 2012] [Originally Added On: October 30th, 2012]
- Global Challenge Part Fifty - Video [Last Updated On: October 30th, 2012] [Originally Added On: October 30th, 2012]
- Towards next-generation devices through computer nanomaterial design for semiconductor spintronics - Video [Last Updated On: October 30th, 2012] [Originally Added On: October 30th, 2012]
- Aiming to establish new spintronics - Video [Last Updated On: October 30th, 2012] [Originally Added On: October 30th, 2012]
- Correlated electronic materials - Video [Last Updated On: October 30th, 2012] [Originally Added On: October 30th, 2012]
- Energy Efficient Electronics: Searching for the Milli-Volt Switch - Video [Last Updated On: October 30th, 2012] [Originally Added On: October 30th, 2012]
- Moores Law - Video [Last Updated On: October 30th, 2012] [Originally Added On: October 30th, 2012]
- Geeking out aero-style for a hundred bucks - Dan Shapiro - Video [Last Updated On: October 30th, 2012] [Originally Added On: October 30th, 2012]
- moores law visualization - Video [Last Updated On: October 30th, 2012] [Originally Added On: October 30th, 2012]
- how moores law affects conrad shawcross - Video [Last Updated On: October 30th, 2012] [Originally Added On: October 30th, 2012]
- The Everton Autobiography: How the Blues nearly signed the great Ferenc Puskas & when police action thwarted Goodison ... [Last Updated On: November 2nd, 2012] [Originally Added On: November 2nd, 2012]
- Letters: Guardian 'surrender' on self-regulation [Last Updated On: November 7th, 2012] [Originally Added On: November 7th, 2012]
- Academics take issue with Guardian editorial on press regulation [Last Updated On: November 9th, 2012] [Originally Added On: November 9th, 2012]
- Area deaths [Last Updated On: November 22nd, 2012] [Originally Added On: November 22nd, 2012]
- clip 2012 12 02 19;00;19 - Video [Last Updated On: December 4th, 2012] [Originally Added On: December 4th, 2012]
- Police news: Twice as many helmeted motorcyclists crash since law repeal, kids pair with emergency responders during ... [Last Updated On: December 5th, 2012] [Originally Added On: December 5th, 2012]
- Clallam burglaries are on the rise [Last Updated On: December 6th, 2012] [Originally Added On: December 6th, 2012]
- When exotic investments are too good to be true [Last Updated On: December 10th, 2012] [Originally Added On: December 10th, 2012]
- Top headlines: Man in custody in deadly drive-by shooting, Genesee County commissioner says judge can pay back ... [Last Updated On: December 12th, 2012] [Originally Added On: December 12th, 2012]
- Paul Raschke - Obituary [Last Updated On: December 12th, 2012] [Originally Added On: December 12th, 2012]
- Pitt County Grand Jury [Last Updated On: December 17th, 2012] [Originally Added On: December 17th, 2012]
- Connecticut school shooting prompts Genesee County schools, police to take extra precautions [Last Updated On: December 18th, 2012] [Originally Added On: December 18th, 2012]
- MEN Sport review of the year 2012 [Last Updated On: December 18th, 2012] [Originally Added On: December 18th, 2012]
- 'The police weren't laughing:' Text message 'joke' of gunfire frightens Grand Blanc, county schools deal with 'end of ... [Last Updated On: December 20th, 2012] [Originally Added On: December 20th, 2012]
- Top headlines: Schools closed in Genesee County amid violence rumors, Flint church holds candlelight vigil [Last Updated On: December 21st, 2012] [Originally Added On: December 21st, 2012]
- More than $1 million worth of drugs seized in Salisbury [Last Updated On: December 21st, 2012] [Originally Added On: December 21st, 2012]
- Anatomy of the school-closing decision: Rumors of violence led to all Genesee County schools shutting for two days [Last Updated On: December 21st, 2012] [Originally Added On: December 21st, 2012]
- Solo rock stars die sooner than those in bands [Last Updated On: December 21st, 2012] [Originally Added On: December 21st, 2012]
- Lecturer's private research not 'held' by university for purposes of FOI disclosure, rules Tribunal [Last Updated On: December 22nd, 2012] [Originally Added On: December 22nd, 2012]
- Liverpool Local News: Liverpool John Moores University to handout record £2.1m after trebling student scholarship kitty [Last Updated On: December 26th, 2012] [Originally Added On: December 26th, 2012]
- University and College News: Liverpool John Moores University to handout record £2.1m after trebling student ... [Last Updated On: December 26th, 2012] [Originally Added On: December 26th, 2012]
- Storm whips into Northeast bringing snow, rain [Last Updated On: December 28th, 2012] [Originally Added On: December 28th, 2012]
- Genesee County sheriff says fireplace blockage may have allowed carbon monoxide buildup [Last Updated On: December 28th, 2012] [Originally Added On: December 28th, 2012]
- Moores Law Experiment 2 - Video [Last Updated On: September 18th, 2013] [Originally Added On: September 18th, 2013]
- The Skanner Newspaper - Remember the Moores at Christmastime [Last Updated On: December 20th, 2013] [Originally Added On: December 20th, 2013]
- HowStuffWorks "How Moore's Law Works" - Computer [Last Updated On: December 20th, 2013] [Originally Added On: December 20th, 2013]
- Minneapolis Housing Trend Favors More Residential Home Office Use [Last Updated On: December 31st, 2013] [Originally Added On: December 31st, 2013]
- Kendal solicitor wins place with top law firm [Last Updated On: January 1st, 2014] [Originally Added On: January 1st, 2014]
- Prince George’s County home sales [Last Updated On: January 3rd, 2014] [Originally Added On: January 3rd, 2014]
- Obituary: Loyce Tapp [Last Updated On: January 5th, 2014] [Originally Added On: January 5th, 2014]
- More charges for WSU grad arrested with bombs [Last Updated On: January 11th, 2014] [Originally Added On: January 11th, 2014]
- Chemical weapons charge added to man with dozens of bombs [Last Updated On: January 11th, 2014] [Originally Added On: January 11th, 2014]
- Myths of Moore's Law - CNET News [Last Updated On: January 16th, 2014] [Originally Added On: January 16th, 2014]
- Team 10 saves war medals from auction [Last Updated On: January 22nd, 2014] [Originally Added On: January 22nd, 2014]
- Dad who abducted kids, fled to Cuba found insane [Last Updated On: January 23rd, 2014] [Originally Added On: January 23rd, 2014]
- Calendar: Jan. 23 to 26 [Last Updated On: January 23rd, 2014] [Originally Added On: January 23rd, 2014]
- After baby's death in Perry County, parents seek answers [Last Updated On: January 23rd, 2014] [Originally Added On: January 23rd, 2014]
- Simulations to enable novel lithographic patterning techniques [Last Updated On: January 28th, 2014] [Originally Added On: January 28th, 2014]
- Sullivan sued by victim’s parents [Last Updated On: January 30th, 2014] [Originally Added On: January 30th, 2014]
- Palm Beach murderer James Sulllivan sued to recover $13.5 million he was ordered to pay 20 years ago for killing his ... [Last Updated On: January 30th, 2014] [Originally Added On: January 30th, 2014]
- Group: Adult jail no place for juveniles [Last Updated On: January 31st, 2014] [Originally Added On: January 31st, 2014]
- Sotomayor Presides Over Moot Court Raising Privacy Questions [Last Updated On: January 31st, 2014] [Originally Added On: January 31st, 2014]
- Harbour Grace mayor under pressure over staffing crisis [Last Updated On: February 4th, 2014] [Originally Added On: February 4th, 2014]
- Colleens Dream Foundation Grants Over $12,000 to UC San Diego Moores Cancer Center to Fund Ovarian Cancer Research [Last Updated On: February 4th, 2014] [Originally Added On: February 4th, 2014]
- Crossbar nanowire chips combine to form tiny CPU for ... [Last Updated On: February 6th, 2014] [Originally Added On: February 6th, 2014]
- New Mexico Blocks Vote on Legalized Pot [Last Updated On: February 12th, 2014] [Originally Added On: February 12th, 2014]
- Calendar Feb. 17 to Feb.19 [Last Updated On: February 18th, 2014] [Originally Added On: February 18th, 2014]
- Calendar: Feb. 20 to 23 [Last Updated On: February 20th, 2014] [Originally Added On: February 20th, 2014]
- IBM Atomic Shorts The end of Moores law 00 12 - Video [Last Updated On: February 28th, 2014] [Originally Added On: February 28th, 2014]
- MIT Research Looks to Extend Moores Law [Last Updated On: March 1st, 2014] [Originally Added On: March 1st, 2014]
- Indiana Guardsman's bomb-possession charge moved to federal court [Last Updated On: March 4th, 2014] [Originally Added On: March 4th, 2014]
- Bomb case moved to federal court [Last Updated On: March 5th, 2014] [Originally Added On: March 5th, 2014]
- Will 100 become the new 60? [Last Updated On: March 9th, 2014] [Originally Added On: March 9th, 2014]