Moore's Law has changed almost every aspect of technology and continues to do so. Here's an in-depth look at how it has helped to bring us today's amazing video cameras.
People refer to Moore's Law in a variety of variations. Some say that it's an assertion that processing power will double every year, while others say that it's about processor prices decreasing by half each year, and so on.
The truth is that it's really just an observation by Gordon Moore that transistor density was doubling every 18 months.
Increasing transistor density doesn't necessarily mean increasing processing power. In memory, for example, it means higher capacities for each chip. In processors, it can mean more logic for a given die size or the same amount of logic in a smaller die.
To increase transistor density, clearly you need smaller transistors. Smaller transistors require smaller voltages to drive current through them, which means that smaller transistors also enable lower power consumption. That's clearly a big benefit in mobile computing, where power consumption is paramount.
In desktop computing, generally performance is paramount. However, 'performance' means different things to different people. Scientists and engineers crave floating point performance for their simulations and CAD systems, so they tend to favor vector supercomputers that have predictable data access patterns, as their primary tasks are to load data, crunch numbers and save the results back.
For 3D rendering, people frequently think that they want floating point performance, but, in realit,y 3D renderers are heavier on integer math; they identify which data to load by calculating ray hits in the scene geometry, so there's no way to predict the data access pattern. This leads to what is sometimes referred to as 'pointer chasing', which is largely integer logic (looking up pieces of data in a data structure). Web and database servers primarily favor throughput rather than processing power, since their workloads mostly involved servicing HTTP requests and querying databases and delivering data.
Mobile computing is on the other end of the spectrum, where battery life trumps nearly everything else.
Memory cells are relatively simple. DRAM cells are little more then capacitors. To set a bit, the controller gives it a charge. To clear it, the controller drains the charge. To read the value on a bit, the controller drains the charge out of it. Since the capcitors will drain by themselves anyway, the controller has a refresh cycle, where it reads out each cell and refreshes it with a fresh charge (or not, for a zero bit). Since the details of this are beyond the scope of this article, suffice it to say that the refresh cycle, as well as the read and write processes, don't operate one bit at a time, but rather on groups of them.
Non-volatile memory, such as static ram, requires quite a bit more circuitry, because the memory cells are still basically capacitors. The difference is that they each have their own refresh circuitry. In the most basic version, an SRAM cell essentially consists of a loop that has two sets of capacitors, operational amplifiers and inverters. The capacitor drains into the op amp, which drives the draining current through the inverter and into the second capacitor. When the cell is not latched for reading or writing, the switches connecting it to the outside world are disconnected, essentially making this a closed loop.
Since DRAM cells are simple, it's possible to have a lot more of them within a given transistor budget than it is possible to have logic. That leads to the possibility of having a lot more DRAM than necessary on a cell. So, if a DRAM cell is bad due to a wafer defect, it's possible to remap it to a clean cell.
That's not generally possible with logic, because it's quite a bit more complex. Also, if a wafer defect breaks one part of a pipeline, the entire pipeline would have to be remapped.
Because of factors such as these, memory is a lot less expensive than logic in a processor.
How designers take advantage of the increased transistor density depends on what they're designing for, constraints on the size of the dies that they can profitably fabricate and power budget, among other considerations.
Die size is a major constraint, because a larger die increases cost two ways.
The most obvious way is due to simple geometry. With a larger die, there's room for fewer of them on a given wafer size, so production volume decreases. The next most obvious is yield. Since the probability exists of a defect in a wafer that's significant enough to make a processor malfunction is more or less constant for a batch of wafers, a larger die increases the probability of encountering one, further reducing production volume.
There is, however, a caveat to the defect issue: while a defect that affects logic is usually enough to render a chip useless, there's a way to handle defects in memory without affecting reliability.
As we saw in my previous article about processor performance, there are diminishing returns from simply adding logic to a processor. Adding computing power without a way to feed data into the processor has no benefit. Having vast amounts of data available for a computational unit that can't keep up isn't helping anything, either.
In an ARM processor, the primary design target has been to keep power consumption down. Everything about the processors, from the instruction set to the actual processors themselves, is geared toward minimizing power consumption. The trend there has been to add computational capabilities as the transistor budget has increased. So, we're now seeing ARM processors with 64-bit addressing, hardware floating point, encryption and even support for vector instructions.
x86 processors have traditionally been about maximizing performance within a given price envelope. Intel's vast production capacity and advanced fabrication technology has made it possible to not only pull out the entire bag of processor architecture tricks, such as vector units and trace caches, it also allows Intel's designers to dedicate vast amounts of die area to caches, leading to processors that fit into consumer budgets, yet have megabytes of on-die cache memory.
Some processor designs, like IBM's POWER, have no real price constraint, so they have hundreds of megabytes of cache and massive memory busses with 100 GB/sec throughput. And no, that's not a typo, but they're also made for multi-million dollar computers.
GPUs have an edge over more general purpose processors, such as x86, because GPU compute cores are simple and legion. A GPU with a large on-die cache and a high-speed interconnect to feed data to its legion of course, is huge, but if a few cores fail because of a wafer defect, nVidia can disable them and route logic around them, then market the part as being 'lower-end', rather than discarding it entirely.
The most obvious benefits to cameras are from improvements to the internal buses and on-board processing. Being able to upload (or build) a color LUT on the camera and bake into the footage while recording it requires computing power that would have required a full-fledged workstation just a few years ago. Now, we that ability in tablet computers...and cameras.
Cameras like those in the Blackmagic family of products are feasible, in large part, because of Moore's Law; the processors, disk controllers and the solid state media itself are all benefits derived from progress in the semiconductor manufacturing. Companies that make memory have been working to make non-volatile memory faster and more compact, so that they can increase the storage capacity, as well as speed.
Reasonable quality analog to digital converters for audio are readily available. Sensors, however, don't work quite the same way. Filmmakers and photographers generally want dynamic range, high quality color and, of course, resolution. Still photographers want most of the same things, but photographers shooting for print require higher resolution and are reside in the high-end, still shooting with medium format cameras, so they can have their cake and eat it, too...but at a considerable price. A medium format digital back, by itself, can cost tens of thousands of dollars and, while the small market exacerbates the price tag, that's not the only factor.
A big part of the price results directly from the size of the sensor. It's harder to work around dead or hot pixels on a digital sensor than it is to work around a dead memory cell, so the large dies that we crave are also harder to get good yields with because they still have to contend with the defect density issue just like other parts do, only the remapping tricks don't work as well. On top of that, sensors still need coatings, micro-lenses, color filter arrays and possibly low pass and IR cut filters, all of which add to the cost of manufacture.
The higher transistor budgets do have a benefit when it comes to controlling the sensor, as well as reading data from it. The controllers currently available can exert fine enough control to turn some photosites on while keeping others off and deliver data to the back end from the previous frame (which is where we get our rolling shutter artifacts from).
The current trend is to push for lower power consumption and more cores, rather than higher clock rates. Most software developers don't use multiple cores well, but as they become more prevalent, this will change gradually. Single thread performance will still continue to improve, though it's unlikely that it will reach the pace that it had just a few years ago.
The desktop computing market is clearly dying, being rapidly overtaken by mobile computing. There are still applications where a desktop computer is a better choice than a mobile computer, particularly editing, grading and compositing with 4K (or bigger) footage, creating 3D matte paintings and characters, and creating games. Even so, laptops are nearing a point where they are enough for most of these tasks and even some tablets, such as the Surface 3 Pro, are quite capable for video editing, though they're still lacking in the GPU department.
This would actually be quite feasible to overcome as a limitation, simply with more sophisticated docking stations. Build a docking station that has a high-speed bus connection to the laptop or tablet, integrate some expansion slots into it to enable external GPUs, and you have a workstation at home, yet portable enough to work on the road. A Surface Pro 3 would do fine for on-set DIT work (I have even been using one to edit short films). The GPU isn't quite enough to run Resolve, unfortunately, and currently there's no performant way to connect a discrete GPU.
As the desktop market gives way to the mobile market, the low-end of the desktop market might well disappear. It's already shrinking; even in the big box retail stores like Best Buy, there are very few desktop machines available, largely replaced by laptops. Now, we're seeing tablet computers shrunk down to the size of a wristwatch.
At some point, it won't be feasible to make artifacts on a silicon wafer any smaller. At that point, one could say that Moore's Law has reached its limit. However, there are other technologies in development; for example, IBM has published papers describing transistors it has built with carbon nanotubes – transitors significantly smaller than the smallest current silicon-based transistors. So, there is something to look forward to even when the engineers are no longer able progress with silicon.