Family of Accelerated Processors Opens the Doors to New

advertisement
Family of Accelerated Processors Opens the Doors to New Embedded Possibilities
A new family combines dual and quad-core x86 processing with high-end graphic
capability that can also be used for numerically intensive applications.
by Tom Williams, Editor-in-Chief
The concept of combining multicore x86 functionality with a powerful parallel
architecture graphics processing engine on the same piece of silicon has come of age and
could significantly transform the areas and applications for embedded processors.
Following on its groundbreaking G-Series of what it calls accelerated processing units
(APUs), Advanced Micro Devices is announcing a new series of APUs—named the
Embedded R-Series—with more x86 cores with advanced features integrated with even
more powerful GPUs to form a line of performance, power and cost that can address a
wide selection of embedded applications that increasingly rely on high-performance
graphics as well as numerically intense computation.
Where earlier an x86-based design that integrated graphics processing relied on the x86
CPU to interface via a North Bridge connection with a discrete graphics processor, the
APU integrated both on the same chip. The GPU can, of course, be used for demanding
graphics tasks as well as to offload such things as DSP operations if needed in the same
code string. In the past, such operations would involve the x86 CPU sending calls to a
DSP or discrete GPU to invoke code running on the coprocessor that would then send
results back to the CPU—with all the latency and overhead that would necessarily be
involved. With both architectures on the same die, the application can be written as one
program using OpenCL thus vastly reducing both latency and overhead.
The new AMD R-Series builds on the earlier G-Series but uses a more advanced multiple
pipeline x86 architecture and implements the series as a selection of dual or quad-core
devices with AMDs DirectX-11 capable Radeon 7000 Series graphics engines with up to
384 parallel processing units. This integrated architecture allows a combination of
dedicated and shared resources. Therefore the two or four x86 cores, each of which has
four execution pipelines, a dedicated thread scheduler and a dedicated Level 1 cache, also
share instruction fetch and decode, a Level 2 cache and two 128-bit floating point MACs,
which can be combined into a 256-bit floating point unit (Figure1).
In addition, the single instruction multiple data (SIMD) parallel processing GPU shares
the memory controller with the x86 cores for fast access to memory as well as to provide
fast communications between GPU and CPU cores. And that is before we even get to the
floating point capabilities of the parallel GPU. Depending on the number of parallel
processing units in a given devices GPU, single precision floating point computation can
range from 178 to 578 GLOPs per second (Figure 2).
In addition it is possible to combine the graphic performance of an APU with that of a
SMD discrete GPU for even more graphics performance in terms of raw output or the
number of displays that can be driven. For example combining the performance of the
high end quad core R-464L with that of the AMD E6760 GPU would yield an additional
20% more graphics performance. That could be harnessed for raw graphical or numeric
compute power or to be able to drive more displays than the four that can be directly
driven from the device.
Interfaces available directly on the chip include HDMI, Display Port and DVI. In
addition to the four independent display ports, a x16 PCI Express port can be configured
as up to four more outputs for either graphics or other I/O. This can be configured as up
to four DVI interfaces to directly drive up to four more displays. By using a discrete GPU
on a Windows 7-based board, it is possible to drive up to a total of ten displays. A
selection of controller hubs will be available to provide additional I/O including SATA,
VGA, USB 2.0, USB 3.0 and PCIe 4x1. There is even a hub available that supports the
legacy PCI bus.
Additional Support Features
The ability to support such high end graphical and compute capabilities on a single chip
suggests a range of applications that can benefit from additional features required by such
things as video conferencing, surveillance and other kinds of distributed applications. For
example, the ability to manage distributed nodes independent of operating system state is
supported by AMD’s DAS 1.0 implementation of the Desktop and mobile Architecture
for System Hardware (DASH) management scheme. It allows remote operators to go into
systems and reset or power down and restart them and perform remote BIOS updates
among other things.
A dedicated video compression engine offers hardware support for the encoding and
compression needed for distributed applications such as video conferencing and
surveillance where high-definition video must be rapidly transmitted across wired or
wireless networks at constrained bandwidths. There are also performance enhancements
for secure asset management in terms of encryption and decryption for sharing and
rendering protected video content.
A broad range of decode support is also provided to support low-power rendering of
video content. This includes H.264, MPEG-2, VC-1, MPC, DivX, MPEG-2 IDCT+
MotionComp, Dual HD Decode (1080p+1080i) and MVC for Blu-ray Stereo 3D. Thus in
addition to the raw power of control, numeric and graphical computing, there is a range
of interfaces and built-in services that address a wide and growing range of application
needs on a single chip that can be run by a single set of code written in a single language,
namely OpenCL. Therefore one development discipline can be used to exploit the
capabilities built into something like an APU.
Where from Here?
Now why, exactly, this detailed description of an admittedly major new product line? For
one thing, the implications are potentially enormous. AMD is currently leading the
market in this particular arena, but it is sure to attract competition. What happens then is
anyone’s guess, but we can take a shot at predicting. First, there are a good many
identified applications for which such a device would be a distinct advantage. These
include digital signage where the ability to control multiple displays is a must and the
capability for remote management is very desirable. There are increased possibilities in
security and surveillance where there is a need to manage multiple video feeds.
Teleconferencing, high-end casino gaming and advanced medical imaging all come
immediately to mind. But along with such increased capabilities there arise possibilities
we may not have thought of yet and these deserve exploration as well.
It is tempting to compare the significance of the emergence of the APU as a new class of
devices along with that of the applications services platform (ASP), which combines a
general-purpose CPU—in that case an ARM architecture—on the same die with an
FPGA fabric. Such devices have recently been introduced by Xilinx, Microsemi and
Altera. While ASPs may address a whole different set of potential applications they are a
huge step forward but need to overcome the fact that they combine two different
development disciplines—that of the programmer and the FPGA developer, which are
not often mastered by the same person.
Admittedly, graphics development is a more specialized discipline than general
programming as well so there will be hurdles. Here, however the same code base can
access and allocate the resources dynamically, such as by dedicating parts of the parallel
engine to numeric computation and others to graphics rendering. One simple example
that everyone can relate to is the now notorious game, “Angry Birds.” Anyone who has
played the game has no doubt noticed that in addition to the display of flying birds and
the various things they destroy to thwart the evil pigs, there is also physics at work. The
boards, rocks and other objects sway and either fall or don’t fall, smash or don’t smash
according to the force and angle of how they are struck. These are two different types of
calculations.
The same can be said of such more practical applications as computational fluid
dynamics, seismic computation and display or many other sophisticated problem solving
applications. The ability to combine a CPU architecture that is capable of generalpurpose programming including interrupt-driven and real-time control with a graphics
processor that is also capable of intense numerical computation opens a vast number of
possibilities.
Consider as only one example the combination of machine vision with motion control.
Video data captured by a machine’s “eyes” can be rapidly processed in the GPU’s
parallel units, features or other clues extracted and then used to direct the CPU to move
arms, wheels or other aspects of a vision-directed application all on one main device
under the control of a unified set of code. We leave the reader to imagine further.
Advanced Micro Devices, Sunnyvale, CA. (408) 749-4000. [www.amd.com]
Download