Skip to main content
Commonmark migration
Source Link

###Replacing software with hardware

Replacing software with hardware

###Replacing hardware with software

Replacing hardware with software

###Doing both

Doing both

###Replacing software with hardware

###Replacing hardware with software

###Doing both

Replacing software with hardware

Replacing hardware with software

Doing both

Added footnotes based on discussion in the comments.
Source Link
user22815
user22815

Fast forward to the modern era, and non-CPU graphics are required on the desktop. Even the operating system cannot function without a GPU. It is so important that CPUs actually integrate GPUs now.1

We now have CPUs hundreds or even thousands of times as powerful2 as we had when DVDs were introduced. When Blu-ray came along, we never needed specialized hardware, because general-purpose hardware was more than powerful enough to handle the task.

Modern Intel CPUs have specialized instructions for H.264 encoding and decoding. This is part of a trend where general-purpose CPUs are gaining specialized functions, all in the same chip. We do not need a separate PCI Express board to decode H.264 efficiently as with DVDs early on, because CPUs contain similar circuitry.


1 GPU refers to a processor specifically designed to perform graphical computations. Older 2D graphics cards were not GPUs: they were simply framebuffers with DACs to talk to the monitor. The difference is GPUs contain specialized processors that excel at certain types of calculations, and as time went on, are now actually programmable themselves (shaders). Graphics hardware has always contained the specialized circuitry necessary to convert the data in a framebuffer into a format that can be output across a cable (VGA, DVI, HDMI, DisplayPort) and understood by a monitor. That is irrelevant to the discussion of offloading the computations to specialized hardware.

2 DVD-Video was released in 1997, at a time when the Pentium 2 was also newly-released. This was a time when CPUs were rapidly increasing in power: one could consider a new P2 computer with a DVD decoder, or installing one in a slightly older P1. Compare that to a modern generation 6 Core i7 using Wikipedia's list of MIPS, and a modern CPU is anywhere between 590 and 1,690 times faster. This is due in part to clock speed, but also the move to multiple cores as being standard as well as modern CPUs doing a lot more work per core per clock tick. Also relevant is that as technology advances, Intel (who dominates the desktop and x86 server market) adds specialized instructions to help speed up operations that desktop users want to do (e.g. video decoding).

Fast forward to the modern era, and non-CPU graphics are required on the desktop. Even the operating system cannot function without a GPU. It is so important that CPUs actually integrate GPUs now.

We now have CPUs thousands of times as powerful as we had when DVDs were introduced. When Blu-ray came along, we never needed specialized hardware, because general-purpose hardware was more than powerful enough to handle the task.

Modern Intel CPUs have specialized instructions for H.264 encoding and decoding. This is part of a trend where general-purpose CPUs are gaining specialized functions, all in the same chip. We do not need a separate PCI Express board to decode H.264 efficiently as with DVDs early on, because CPUs contain similar circuitry.

Fast forward to the modern era, and non-CPU graphics are required on the desktop. Even the operating system cannot function without a GPU. It is so important that CPUs actually integrate GPUs now.1

We now have CPUs hundreds or even thousands of times as powerful2 as we had when DVDs were introduced. When Blu-ray came along, we never needed specialized hardware, because general-purpose hardware was more than powerful enough to handle the task.

Modern Intel CPUs have specialized instructions for H.264 encoding and decoding. This is part of a trend where general-purpose CPUs are gaining specialized functions, all in the same chip. We do not need a separate PCI Express board to decode H.264 efficiently as with DVDs early on, because CPUs contain similar circuitry.


1 GPU refers to a processor specifically designed to perform graphical computations. Older 2D graphics cards were not GPUs: they were simply framebuffers with DACs to talk to the monitor. The difference is GPUs contain specialized processors that excel at certain types of calculations, and as time went on, are now actually programmable themselves (shaders). Graphics hardware has always contained the specialized circuitry necessary to convert the data in a framebuffer into a format that can be output across a cable (VGA, DVI, HDMI, DisplayPort) and understood by a monitor. That is irrelevant to the discussion of offloading the computations to specialized hardware.

2 DVD-Video was released in 1997, at a time when the Pentium 2 was also newly-released. This was a time when CPUs were rapidly increasing in power: one could consider a new P2 computer with a DVD decoder, or installing one in a slightly older P1. Compare that to a modern generation 6 Core i7 using Wikipedia's list of MIPS, and a modern CPU is anywhere between 590 and 1,690 times faster. This is due in part to clock speed, but also the move to multiple cores as being standard as well as modern CPUs doing a lot more work per core per clock tick. Also relevant is that as technology advances, Intel (who dominates the desktop and x86 server market) adds specialized instructions to help speed up operations that desktop users want to do (e.g. video decoding).

Fixed comma splice
Source Link

I think the fundamental connection that other answers are missing is this:

Given a general-purpose computer (e.g. a CPU), one can program it to perform pretty much any computation that we have defined. However, specialized hardware may perform better, or may not provide any value.

(this answer is focused on desktop processing and uses examples from that domain)

###Replacing software with hardware

If you are old enough to remember PC gaming in the mid-to-late 1990s, you probably remember FPS games like Quake. It started out being "software rendered," meaning the CPU performed the calculations necessary to render the graphics. Meanwhile, the CPU also had to perform input processing, audio processing, AI processing, etc. It was very taxing on the CPU resources. In addition, graphics processing is not well-suited to a mainstream CPU (then or now). It tends to be a very highly parallel task, requiring many more cores than even a modern high-end CPU (8).

We moved graphics processing from software to hardware: enter the 3dfx Voodoo and Nvidia TNT (now GeForce). These were specialized graphics cards that offloaded processing from the CPU to the GPU. Not only did this spread the workload, providing more computing resources to do the same amount of work, the graphics cards were specialized hardware that could render 3D graphics much faster and with more features than the CPU could.

Fast forward to the modern era, and non-CPU graphics are required on the desktop. Even the operating system cannot function without a GPU. It is so important that CPUs actually integrate GPUs now.

###Replacing hardware with software

Back when DVD was brand-new, you could install a DVD drive in your desktop computer. However, the CPUs of the day were not powerful enough to decode the DVD video and audio streams without stuttering. At first, a specialized PCI board was required to perform the decoding. This was specialized hardware that was build specifically to decode the DVD format and nothing else. Much like with 3D graphics, it not only provided more computing resources but was custom-built for the task, making DVD playback smooth.

As CPUs grew much more powerful, it became feasible to decode DVDs "in software," meaning "on a general-purpose computer." Even with a less-efficient processor, it had enough raw speed and pipeline optimizations to make DVD playback work to users' expectations.

We now have CPUs thousands of times as powerful as we had when DVDs were introduced. When Blu-ray came along, we never needed specialized hardware, because general-purpose hardware was more than powerful enough to handle the task.

###Doing both

Modern Intel CPUs have specialized instructions for H.264 encoding and decoding. This is part of a trend where general-purpose CPUs are gaining specialized functions, all in the same chip. We do not need a separate PCI Express board to decode H.264 efficiently as with DVDs early on, because CPUs contain similar circuitry.

I think the fundamental connection that other answers are missing is this:

Given a general-purpose computer (e.g. a CPU), one can program it to perform pretty much any computation that we have defined. However, specialized hardware may perform better, or may not provide any value.

(this answer is focused on desktop processing and uses examples from that domain)

###Replacing software with hardware

If you are old enough to remember PC gaming in the mid-to-late 1990s, you probably remember FPS games like Quake. It started out being "software rendered," meaning the CPU performed the calculations necessary to render the graphics. Meanwhile, the CPU also had to perform input processing, audio processing, AI processing, etc. It was very taxing on the CPU resources. In addition, graphics processing is not well-suited to a mainstream CPU (then or now). It tends to be a very highly parallel task, requiring many more cores than even a modern high-end CPU (8).

We moved graphics processing from software to hardware: enter the 3dfx Voodoo and Nvidia TNT (now GeForce). These were specialized graphics cards that offloaded processing from the CPU to the GPU. Not only did this spread the workload, providing more computing resources to do the same amount of work, the graphics cards were specialized hardware that could render 3D graphics much faster and with more features than the CPU could.

Fast forward to the modern era, and non-CPU graphics are required on the desktop. Even the operating system cannot function without a GPU. It is so important that CPUs actually integrate GPUs now.

###Replacing hardware with software

Back when DVD was brand-new, you could install a DVD drive in your desktop computer. However, the CPUs of the day were not powerful enough to decode the DVD video and audio streams without stuttering. At first, a specialized PCI board was required to perform the decoding. This was specialized hardware that was build specifically to decode the DVD format and nothing else. Much like with 3D graphics, it not only provided more computing resources but was custom-built for the task, making DVD playback smooth.

As CPUs grew much more powerful, it became feasible to decode DVDs "in software," meaning "on a general-purpose computer." Even with a less-efficient processor, it had enough raw speed and pipeline optimizations to make DVD playback work to users' expectations.

We now have CPUs thousands of times as powerful as we had when DVDs were introduced. When Blu-ray came along, we never needed specialized hardware, general-purpose hardware was more than powerful enough to handle the task.

###Doing both

Modern Intel CPUs have specialized instructions for H.264 encoding and decoding. This is part of a trend where general-purpose CPUs are gaining specialized functions, all in the same chip. We do not need a separate PCI Express board to decode H.264 efficiently as with DVDs early on, because CPUs contain similar circuitry.

I think the fundamental connection that other answers are missing is this:

Given a general-purpose computer (e.g. a CPU), one can program it to perform pretty much any computation that we have defined. However, specialized hardware may perform better, or may not provide any value.

(this answer is focused on desktop processing and uses examples from that domain)

###Replacing software with hardware

If you are old enough to remember PC gaming in the mid-to-late 1990s, you probably remember FPS games like Quake. It started out being "software rendered," meaning the CPU performed the calculations necessary to render the graphics. Meanwhile, the CPU also had to perform input processing, audio processing, AI processing, etc. It was very taxing on the CPU resources. In addition, graphics processing is not well-suited to a mainstream CPU (then or now). It tends to be a very highly parallel task, requiring many more cores than even a modern high-end CPU (8).

We moved graphics processing from software to hardware: enter the 3dfx Voodoo and Nvidia TNT (now GeForce). These were specialized graphics cards that offloaded processing from the CPU to the GPU. Not only did this spread the workload, providing more computing resources to do the same amount of work, the graphics cards were specialized hardware that could render 3D graphics much faster and with more features than the CPU could.

Fast forward to the modern era, and non-CPU graphics are required on the desktop. Even the operating system cannot function without a GPU. It is so important that CPUs actually integrate GPUs now.

###Replacing hardware with software

Back when DVD was brand-new, you could install a DVD drive in your desktop computer. However, the CPUs of the day were not powerful enough to decode the DVD video and audio streams without stuttering. At first, a specialized PCI board was required to perform the decoding. This was specialized hardware that was build specifically to decode the DVD format and nothing else. Much like with 3D graphics, it not only provided more computing resources but was custom-built for the task, making DVD playback smooth.

As CPUs grew much more powerful, it became feasible to decode DVDs "in software," meaning "on a general-purpose computer." Even with a less-efficient processor, it had enough raw speed and pipeline optimizations to make DVD playback work to users' expectations.

We now have CPUs thousands of times as powerful as we had when DVDs were introduced. When Blu-ray came along, we never needed specialized hardware, because general-purpose hardware was more than powerful enough to handle the task.

###Doing both

Modern Intel CPUs have specialized instructions for H.264 encoding and decoding. This is part of a trend where general-purpose CPUs are gaining specialized functions, all in the same chip. We do not need a separate PCI Express board to decode H.264 efficiently as with DVDs early on, because CPUs contain similar circuitry.

Source Link
user22815
user22815
Loading