Central processing units (CPUs) are very generalized. And by CPU I mean the actual regular processing cores that do all your general computing. They can process pretty much anything you throw at them — graphics, language modeling, word processing, real-time monitoring, game logic, whatever. There’s really nothing they can’t do. However, being so general purpose, they’re not necessarily all that fast at everything. So doing graphics on the CPU — software rendering — is going to be slow and energy intensive.
Graphics processing units (GPUs) aren’t generalized (although what they can do has expanded over the years). They’re only suited for certain tasks, like graphics and AI, but they can do it faster and with less energy than the CPU. But they can’t do a lot of stuff a regular CPU can.
Let’s try an extreme example like trying to crack an encryption key. That’s extremely intensive work for a CPU or GPU just to test one possible key, maybe millions of cycles used for each. But what if we build a custom chip that can only do one thing — possible key comes in and result comes out. All the logic circuits needed to test a key (all the cycles the CPU ran to implement the testing logic) are hardcoded into the chip, so it can test a key in one or two cycles, making it insanely faster. But that’s all it can do, nothing else. Something like this was actually made in the 1990s.
In fact, many modern processors have built in encryption modules so all the heavy encryption work is taken off the rest of the CPU. With everything on an iPhone being encrypted, the CPU having to do that work would slow everything down. Many mobile CPUs also have a reserved area for video decoding. That decoder can’t do anything but decode, but it does it way faster and using less power than the normal compute cores in the chip. That’s because all the logic necessary to decode video is baked in in advance.
In general, the more specialized you get, the faster you get, but that specialization narrows what you’re capable of doing.
Latest Answers