Naked Engeering - Designing Computer Chips
Meera - This week, Dave and I have set out to investigate just how computers are engineered. We've come along to the computer laboratory at the University of Cambridge. Dave, just to start off with, what will we be looking at in terms of computers?
Dave - If you take apart any piece of modern equipment from a [mobile] phone to a telephone, to even a washing machine, you'll find little black rectangles called computer chips, and that's where all of the complicated controlling things are happening inside these little blocks.
Meera - Here to tell us a bit more about these computer chips is Dr. Robert Mullins, lecturer in Computer Science at the University of Cambridge...
Robert - So if we take those black pieces of plastic and we were to remove the plastic with some acid or something, we'd see, in the centre, a little piece of silicon, about 1 centimetre on the side, and on top of that would be a tiny little electronic digital circuit, and that's the computer chip. So the circuit is printed on top of the silicon chip using a process called photolithography, very similar really to a photographic process. We effectively print a layer of transistors, it's what we build our digital circuits out of, and then on top of that layer of transistors, we print layers and layers of interconnect.
I always think of a transistor as a short pipe with a tap in the middle, and the tap is what we call the gate, and either end is called the source and drain. We can turn the tap on and off by applying a voltage to the gate terminal. That changes the electrical properties in the material under the gate and then they enable the transistor to conduct or not.
Dave - A transistor is essentially an electronic switch, so you can use a small current or small voltage to turn on or off a much larger one on the other side of the transistor. How do you connect these together?
Robert - It's relatively straightforward to put the transistors down, but we then need to interconnect these huge numbers of transistors. So we need lots and lots of layers of metal to do that.
Meera - But how do all these transistors work together inside a computer, when you're giving a computer an instruction to do something?
Robert - At the lowest level, we take a few transistors, maybe 6 or 8 transistors, and put them together to build a single memory cell or a single logic gate.
Dave - These logic gates are little groups of transistors which can do a variety of little operations, so you might have a logic gate with two inputs and one output. Some of them are called 'AND' gates so if both inputs have a positive voltage on them the output will be positive; Or it might be an 'OR' gate, so if one or other of the two inputs are positive then the output will be positive. So there's a whole variety of this different logic gates.
Meera - But how then do you step up from there to a whole computer?
Robert - So in the same way as we build gates out of transistors, we build larger circuits. For example 'adders'; They're able to just take two inputs and add their numbers together. We build those out of logic gates. Once we have the more complex building blocks, so larger memories, components that are able to add numbers, then again, it's another layer of abstraction to interconnect these components to build complete processors.
Dave - So one group of people is designing transistors and other group will then put those together to form gates and then the gates get to put together to form adders and then another group will be putting the big chunks together to form the whole chip.
Robert - That's right.
Meera - Now what about the size of these chips and transistors? Things have changed over time, so the original computer chips that were designed were much bigger than the ones that we see today...
Robert - And it's one of the reasons why computers get a lot faster very quickly. Smaller transistors mean that they switch faster. It also means we can put more on a single chip. It means we can build more powerful, more complex processors. So we can illustrate this point by looking - I've got a little - this is one of the early ARM processors.
Meera - This to me looks reasonably small. It's about 7 mm by 7 mm. How many transistors are on this?
Robert - On this early processor, about 25,000.
Meera - And so, how does this compare to a chip that we would see today?
Robert - So incredibly, if you manufactured something, a simple ARM processor in the cutting edge process today, the processor would fit in a square 70 microns by 70 microns, and that's small enough to print these processors on the edge of a human hair.
Meera - So that's about 10,000 times smaller!
Robert - Yeah. We're really able to exploit that scaling to make processors go faster.
Meera - So a computer is made up of these very tiny chips, but there are many instructions that you give a computer, or many processes going on. Are different sets of chips, or different microprocessors, dealing with different things?
Robert - If we look at a complete computer system, there are actually many different types of chip in that device. So, some will be microprocesssors like we've been talking about, others will just be dedicated to memory, to storing data or instructions. By bringing everything together on one chip, things become faster, it also becomes lower power as well.
Dave - As transistors get smaller and smaller, and smaller, eventually you're going to get the point where the transistors are going to have just 4 or 5 atoms in them.
Robert - That's right. So as we build atomic scale devices then what's called device variation really causes major problems. So two transistors manufactured next to each other on our piece of silicon can have very different characteristics. Before then, I think one of the major performance limiters will be power consumption.
Dave - This power is actually used for the physical switching of the transistors on and off?
Robert - That's right. So we dissipate power when we switch transistors on and off, and to execute each instruction, we need to switch a certain number of transistors on and off. As we build more complex processors, the number of transistors that we have to switch on and off per instruction increases and that means we have to dissipate more energy. Also, applications have changed; If you think about what people want in terms of computing devices, now they want mobile devices, they want it to run on batteries, if your processor is consuming a large amount of power, that's going to reduce your battery life. We're also building large data centres with large number of processors in them and I can show you the problems of trying to put a large number of processors in a single room, if I show you one of our small computer rooms...
Meera - There are about 100 computers in here and the sound of the air-conditioning alone to remove the heat from here shows just how much energy is needed!
Dave - For every kilowatt hour of energy you're using in the computers, it probably takes about another kilowatt hour to get it out through the air conditioners, making the problem twice as bad...
Robert - And this is a fraction of the size of a modern data centre, and of course the running cost of the data centre, a big part of it is the total electricity bill which comes from the power dissipated in the processors.
Meera - Right. Now that I can hear you again Robert, tell me a bit about your research - you're also trying to make chips that will need less power?
Robert - Yes. The approach we're taking is to put hundreds or even thousands of very, very simple processors on a chip and then design this in a way that they can be specialised for a particular application. It's this specialisation that enables us to reduce power.
Dave - This is because the general purpose processor has got to be able to do everything, so if you're doing any one thing, lots of it is essentially being wasted all the time.
Robert - That's exactly right.
Meera - So you're really having to redesign and really think about how a computer is actually made, and create different or new types of chips?
Robert - Yeah and I think the combination of the new applications that we're seeing for computers at the moment make this one of the most exciting times to be learning about computer science, or trying to solve these problems.