If you’ve worked in technology for any length of time, you’ve probably come across the term ASIC, which stands for Application-Specific Integrated Circuit. These are specialized chips that you find in a variety of tech devices, from networking switches to digital voice records. What are they exactly? And why are they so important to the way we work?
Jack of All CPUs
To explain why ASICs are special, we first need to understand CPUs. Central Processing Units are designed to be the “brains” behind the computers we use today. The CPU inside a laptop, a mobile phone, and a gaming console all basically work the same way. They are designed to take inputs, perform operations on those inputs, and produce outputs.
CPUs like the ones found in modern computing devices are considered “general purpose CPUs”. That means that they are designed in such a way as to handle any task you give them. For example, think about the human brain. While your brain isn’t exactly a CPU, it does behave like one in some ways. Your brain is capable of many different and diverse tasks. You can drive a car, cook and meal, and do vector calculus. You don’t get much different than those three tasks. Yet your brain can do all three. There’s very little your human brain can’t be adapted to do given the proper instruction set.
Likewise, general purpose CPUs are designed to run many different types of code to accomplish goals. They can run Operating Systems, run word processing applications, mine for cryptocurrency, and play music. Each of these applications is a specific kind of program, but they all run on top of the same CPU. The ability of a general purpose CPU to run just about any kind of program is why computers today are so flexible.
General purpose CPUs do have a few drawbacks. For this discussion, the most important is their speed. CPUs are designed to handle any task, but they aren’t designed to do them particularly fast. Yes, CPUs still execute instructions as fast as possible in a matter of milliseconds. For most complex applications that is more than fast enough. But for some very specific uses, CPUs can’t keep up. That’s where ASICs come in.
Clarity of Purpose
If you practice something enough, you get very good at it. Take a Rubik’s Cube, for instance. These delightful little puzzles are a challenge to solve when you first get them. There are 43 quintillion possible permutations of the cube. Try to solve them all would take hundreds of lifetimes. Yet, there is an algorithm that allows you to solve a cube in less than one hour, let alone one lifetime.
When a human applies the algorithms to a particular cube permutation, they can solve them very quickly. Here’s an example of a random permutation being solved in less than 10 seconds:
Pretty impressive. I couldn’t even change the stickers around that fast.
Human brains can take instructions sets that are very specific and learn them very quickly. Look at any speed running type of activity, from cube solving to cup stacking. They all rely on a simple set of instructions repeated as quickly as possible to accomplish a goal. Your brain is only concentrating on one thing at a time. When you’re trying to speed solve a Rubik’s Cube, you aren’t thinking about the quadratic equation or what wine goes well with gopher. Your brain is essentially wired to produce a single outcome – a solved cube – in the minimum time necessary.
That’s what an ASIC is designed to do. Take a simple instruction set and perform the operations as quickly as possible to product output. Given a similar algorithm, watch this robot solve a Rubik’s Cube in less than a second:
That computer is designed along ASIC lines: take inputs, calculate, and produce outputs. The key is that those outputs are constrained to very few operations or algorithms. ASICs achieve speed because they are purpose built to do one thing really, really fast. Sometimes that one thing can be something that used to be really hard, like network packet forwarding or Bitcoin mining.
ASICs do have a couple of downsides as well. The first is that they aren’t flexible at all. They are useless outside of their preprogrammed purpose. They can’t switch from doing digital video recording to packet forwarding, for instance. ASICs are also expensive to develop because they must be built at a very large scale and duplicated endlessly. The R&D that goes into making something do one thing really, really fast is actually quite huge. And considering that ASICs require 4-5 chips at a minimum compare to one or two general purpose CPUs it takes a lot of ASIC sales to recover development costs.
Putting It All Together
General purpose CPUs and ASICS each have their own area of expertise when it comes to systems. CPUs are expensive to build, slow to operate, and perfectly suited to handle anything you throw at them. ASICs are purpose built in bulk, very fast at their narrow focus, and completely inflexible. You can’t build modern tech equipment without some combination of both. Outside of PCs and laptops, every device has some kind of ASIC to do signal processing or some other kind of special purpose. ASICs make the world work behind the scenes.
- Revealing Security Threats with ExtraHop Reveal(x) - February 13, 2018
- The Logic Of Tables with Broadcom SDKLT - February 8, 2018
- Getting Ready for GDPR - January 18, 2018
- Going Faster with 400Gbps Ethernet and Andy Bechtolsheim - January 12, 2018
- Architecting Container Direction with Nirmata - January 5, 2018
- Continuing the SD-WAN Discussion At FutureWAN - January 4, 2018
- Keeping An Eye On Containers with Ixia CloudLens - January 4, 2018
- Balancing The Cost Of Your Application Delivery Controllers with KEMP Metered Licensing - December 27, 2017
- Arista vs. Cisco – The Tale Up To Now - December 14, 2017
- Unmasking Bad Actors with Gigamon - December 7, 2017