[From the last episode: We looked at how engineers count using hexadecimalA base-16 counting system (rather than the base-10 system we usually use). Digits can go from 0 to 9 and then A, B, C, D, E, and F. numbers.]
Let’s come back to the basic microprocessorA computer chip that does computing work for a computer. It may do general work (like in your home computer) or it may do specialized work (like some of the processors in your smartphone). for today’s discussion. That is, the general-purpose one. They’re not all made alike. Of course, they may have different features – just like any product – but there are some fundamental differences depending on whether you need – or can afford – a big one or a small one.
When we say “afford,” yes, that can mean in money. But it can also refer to whether it draws too much currentThe amount of electrical flow. Measured in amperes or amps (A). for, say, your battery. And, of course, using a big processor to solve a small problem is just a waste.
But what do we mean by “big” and “little”? Yeah, part of it is size, but that mostly has to do with what capabilities the processor has.
Big or Little Addresses?
One of the determining factors for size has to do with how much memory the processor can get to. That memory will contain both instructions and the data that the instructions will work on. We measure how big those are by the number of bitsThe smallest unit of information. It is a shortened form of "binary digit." Since it's binary, it can have only two values -- typically 0 and 1. used, usually referring to the instruction length. A bigger instruction lets you have more instructions, but, more importantly, it lets you use longer addresses for the data you’re going to work on.
What does that mean? Every spot in memory has an address. The address tells the memory which memory location you want. The larger the address, the more memory locations you can access. A small memory might give results that are 8 bits, or 1 byteA byte is 8 bits., wide; a larger memory might give results that are 32 bits, or 4 bytes, wide. (Yeah, a byte is 8 bits, always.)
If you have a small byte-wide memory that has 16 entries (this way smaller than a real-life memory, but it’s for illustration), then you can have addresses from 0 to 15. (Annoyingly to most people, engineers start counting from 0 instead of from 1. There are good reasons for that, but it does take a little getting used to.) Every location in that memory stores one byte. And, since we now know how to do this, we label the memory addressWhen referring to memory, a binary number that shows where, within some memory block, the data you want is located. If you want to read or change that data, you have to give the address so that the right data is read or changed. using hexadecimal numbers.
So, one of the things that separates big and small processors is simply the size of the data they can work with.
Simple or Complicated?
There are other differences as well. In general, big processors are optimized to run blazingly fast. The kinds of processors running in the CloudA generic phrase referring to large numbers of computers located somewhere far away and accessed over the internet. For the IoT, computing may be local, done in the same system or building, or in the cloud, with data shipped up to the cloud and then the result shipped back down. need to be super-fast because of all the jobs they have to run. Your job might not take that long, but there are many more jobs waiting, so the Cloud folks want them all to run as fast as they can.
But there’s a cost to that – besides money: energy. A big processor consumes lots of energy – some need special cooling so that they don’t melt the systemThis is a very generic term for any collection of components that, all together, can do something. Systems can be built from subsystems. Examples are your cell phone; your computer; the radio in your car; anything that seems like a "whole.". If you’re running a small battery-powered IoTThe Internet of Things. A broad term covering many different applications where "things" are interconnected through the internet. device, then that large processor would suck the battery dry in no time. You want a less energy-hungry processor for an IoT gadget.
Then there are the instructions. Big processors have lots of them, and some of the instructions are quite complicated and specialized. In fact, two different “flavors” of processor have evolved because of this. Some of them, like the ones in most laptops and desktop machinesIn our context, a machine is anything that isn't human (or living). That includes electronic equipment like computers and phones., are called Complex Instruction SetEach processor or processor family has a specific set of instructions that it can execute. This is called the instruction set, or sometimes the instruction-set architecture (ISA). Computers, or CISCComplex Instruction Set Computer; a kind of processor architecture that may have many, many instructions that are complicated and specialized. This term contrasts with RISC. machines. Because they got so complicated, other engineers thought, “OK, we need to go back to basics and simplify things again. They’re out of control!” And with that we got Reduced Instruction Set Computers, or RISCReduced Instruction Set Computer; a kind of processor that has far fewer instructions than a CISC processor. It can still do the same things, but it may require the use of multiple simpler instructions instead of one complicated instruction. machines. You can still have large RISC processors that can do lots of things; it’s just that they’ll do it in a simpler way (that may take a few more steps) than a CISC machine might do it.
We’re not going to dive into RISC vs. CISC any more than this; I mention it simply because you may have heard the terms. In terms of size, the most complex processors tend to be the big ones.
There’s one other consideration for big vs. small processors that may be fun to understand. It has to do with what we call pipelinesA way of speeding up a repeated task by breaking it up into stages and having different resources do each stage. It takes longer for the first task to be completed (that’s the latency); the others come out in quick succession after the first one., but let’s save it for next week, since it’s an interesting discussion all of its own.
Leave a Reply