WEBVTT

00:00:00.000 --> 00:00:03.800
Modern CPUs are awesome. You can play games, create content,

00:00:03.800 --> 00:00:06.960
and even watch tech explainer videos with handsome hosts,

00:00:06.960 --> 00:00:10.120
I guess it was supposed to be someone else, on the same machine.

00:00:10.120 --> 00:00:14.720
But as great as this versatility is, there are times when you'd really rather have a chip

00:00:14.720 --> 00:00:18.880
that can do just one thing, but do it really, really well.

00:00:18.880 --> 00:00:23.800
Now there are lots of electronics that contain chips called A6 or FPGAs

00:00:23.800 --> 00:00:28.920
instead of regular CPUs. And we're gonna explain what these are one at a time,

00:00:28.960 --> 00:00:32.960
starting with A6. Not to be confused with the shoe company,

00:00:32.960 --> 00:00:36.840
A6 stands for Application Specific Integrated Circuit

00:00:36.840 --> 00:00:42.720
and it does exactly what it sounds like, processes data for one application.

00:00:42.720 --> 00:00:50.360
This is because A6 are built very differently from your typical x86 or ARM or RISC-5 general processor.

00:00:51.000 --> 00:00:56.800
A regular processor can apply many different kinds of calculations depending on what a program needs,

00:00:56.800 --> 00:01:01.280
but A6 are hardwired to perform only the calculations

00:01:01.280 --> 00:01:05.260
or to run only the algorithms that are needed for a specific task.

00:01:05.260 --> 00:01:10.120
This hardwiring can happen in a couple of ways. Some A6 are manufactured in what's called

00:01:10.120 --> 00:01:14.120
a semi-custom manner, where the fab has what's essentially

00:01:14.120 --> 00:01:18.040
a blank template of logic gates, which are then permanently connected

00:01:18.040 --> 00:01:23.520
according to the design the client needs. Meanwhile, other A6 are full custom designs

00:01:23.520 --> 00:01:28.320
where the entire chip and every transistor is pretty much designed from scratch.

00:01:28.320 --> 00:01:34.360
Unsurprisingly, because A6 are so specialized, they take a lot of time and money to develop.

00:01:34.360 --> 00:01:40.040
But because A6 are usually for small, highly integrated devices that ship lots of units,

00:01:40.040 --> 00:01:43.360
the cost of an individual A6 tends to be quite low.

00:01:43.360 --> 00:01:50.640
For example, the chips inside USB chargers or network switches or even electronic toys are often A6,

00:01:50.640 --> 00:01:56.080
but all of these are often low-cost products. Network switches are particularly interesting applications

00:01:56.240 --> 00:02:00.800
since a simple $15 unmanaged switch can handle network traffic better

00:02:00.800 --> 00:02:04.200
than a desktop CPU that costs 10 times as much.

00:02:04.200 --> 00:02:07.640
But of course, there's a good chance you've heard of ASIC-based crypto miners

00:02:07.640 --> 00:02:12.240
designed to run cryptographic hashes much more efficiently than a graphics card can.

00:02:12.240 --> 00:02:15.680
And those are quite expensive due to both demand

00:02:15.680 --> 00:02:20.280
and the fact that they aren't as mass-produced as other ASIC-based devices.

00:02:20.280 --> 00:02:23.520
And of course, there's the fact that they make you money.

00:02:23.520 --> 00:02:28.880
Let's switch gears right now and talk about FPGAs or field programmable gate arrays.

00:02:28.880 --> 00:02:32.520
How are those different? You can think of these as sitting somewhere

00:02:32.520 --> 00:02:39.260
between an ASIC and a CPU. Their logic can be customized for specific applications,

00:02:39.260 --> 00:02:42.680
but unlike ASICs, they can actually be electrically

00:02:42.680 --> 00:02:46.080
reprogrammed after they've been manufactured.

00:02:46.080 --> 00:02:50.160
You can think of the structure of an FPGA as being kind of like Lego blocks.

00:02:50.160 --> 00:02:54.040
Once you put them together, they'll stay that way, but you can always take them apart

00:02:54.040 --> 00:02:57.680
and put them back together and make something completely different.

00:02:57.680 --> 00:03:01.960
Now, although FPGAs aren't quite as powerful as purpose-built ASICs,

00:03:01.960 --> 00:03:06.600
their versatility has made them increasingly popular for machine learning applications

00:03:06.600 --> 00:03:12.120
as they can be optimized for different AI models in neural networks, yet still outperform

00:03:12.120 --> 00:03:15.240
traditional CPUs and even GPUs.

00:03:15.240 --> 00:03:18.480
But perhaps even more interesting is that you can reconstruct

00:03:18.480 --> 00:03:22.120
other kinds of processors inside an FPGA,

00:03:22.160 --> 00:03:26.360
including the ones from, say, for example, retro game consoles.

00:03:26.360 --> 00:03:32.000
There have been some really cool projects that use an FPGA to recreate the retro gaming experience

00:03:32.000 --> 00:03:37.440
as faithfully as possible, such as the NT Mini and the Mega SG from Analog.

00:03:37.440 --> 00:03:40.960
The FPGAs inside those consoles contain circuitry

00:03:40.960 --> 00:03:44.160
that very closely mimics the original NES

00:03:44.160 --> 00:03:48.480
and Sega Genesis processors, respectively, meaning that it's a much smoother

00:03:48.480 --> 00:03:54.680
and more accurate experience than software emulation, like what gets used by those classic plug-and-play consoles

00:03:54.680 --> 00:04:00.000
that have gained popularity recently. Another really awesome FPGA project is the MR,

00:04:00.000 --> 00:04:06.520
another gaming device that actually allows you to choose between different old-school consoles and arcade games

00:04:06.520 --> 00:04:11.080
than reprogram the FPGA on the fly according to what you want to play.

00:04:11.080 --> 00:04:14.200
It's kind of like a transformer, but on the inside,

00:04:14.200 --> 00:04:17.520
like that time I washed down a Mentos with a bottle of Pepsi.

00:04:18.200 --> 00:04:21.640
Oh, subscribe. That's the end.
