» Overview» Embedded Systems: Moving Toward Standards» The Benefits of the AMD64 System for Embedded Design» Sockets and Longevity
Telephone switches. Network routers. Application-specific server blades. Medical imaging systems. Storage systems. Aerospace and military equipment. That’s the domain of embedded computing, where microprocessors and other components are used in specialized gear, instead of traditional servers, desktops, workstations and mobile devices. Traditionally, embedded software development has leveraged equally specialized 8-bit, 16-bit or 32-bit microprocessors. Increasingly, however, embedded designs are turning to higher performance solutions, like AMD's Opteron™ and Sempron™ processors and AMD's Turion™ 64 mobile technology.
Unlike in the desktop/server, you may not ever know they're there. Embedded device manufacturers rarely discuss the specific components used in their products. Even so, it's a trend worth knowing about for two big reasons. First, AMD is working closely with embedded product makers to continually improve its processors, and in some cases, such as with reduced power consumption and heat emission, AMD is applying that knowledge back in mainstream processor development. Second, many of those devices are software-accessible: they're on networks, they can participate in SOA or Web services transactions, and in some cases, you can write and deploy applications onto them. Realizing some of the "PCs and servers" on your network aren't "traditional" can help you work with them more efficiently.
Rather than being generic computing devices, like desktops/notebooks/servers, embedded systems are purpose-designed, purpose-built, and purpose-programmed for specific tasks or roles.
One of my favorite examples of a high-end embedded system was Apple's first LaserWriter printer. The printer, which debuted in 1985, used a 12MHz Motorola 68000 microprocessor – which was faster than the 8MHz processor used in the high-end Macintosh at that time. That goes to show that there can be a lot of computational power packed into an embedded device.
If you go back just a few years ago, embedded systems were extremely different than traditional computing devices. For hardware, they used different processors, motherboards, bus systems, power supplies, and I/O infrastructure (most notably, non-standard keyboard/video subsystems) than their multi-purpose siblings. Even expansion cards and connectors were unique. For software, embedded devices used custom operating systems, or used special real-time or non-real-time operating systems coming from companies like Wind River, Green Hills, QNX or others. Languages were typically C or Assembler, and IDEs and tools were provided by the operating system providers.
That's changing, and changing rapidly. For hardware, standard processors based on the x86 or ARM specifications have taken over many high-end embedded projects. That's because those processors are fast enough, robust enough, and inexpensive enough to do the job – and are readily available from a number of providers at attractive price points. Software is migrating to standard operating systems, like Linux or Windows Embedded. Tools, too, are becoming more like those in the desktop/server world. Yes, many embedded developers use custom toolchains, but tools based on Eclipse are taking the non-Microsoft embedded world by storm, and Microsoft is making solid inroads with Visual Studio, at least into some segments of the embedded universe.
Where you find x86, you find AMD64 processors, which embedded systems developers are using to run both 32-bit and 64-bit software. While there are few cases yet (that I know of) of deployed embedded systems running 64-bit Linux or 64-bit Windows®, such systems are under development. One of the best features, of course, of using the AMD Opteron or Sempron processors, or Turion 64 mobile technology, is that the same hardware design can be used for 32-bit software today, and for 64-bit software in the future, with 64-bit embedded Linux and Windows capable of running both 32-bit and 64-bit applications at the same time. Using industry-standard processors also reduces time to market, both on the hardware and software design, because most or all development and testing can be done on a PC, rather than a hardware prototype.
Embedded developers using 32-bit or 64-bit designs have found some compelling advantages and benefits to using AMD's processors. One of the key advantages is that it uses industry standards, including the instruction set. Embedded systems manufacturers and software developers are increasingly turning away from single-vendor architectures and adopting industry-standard-based platforms. Another is that the integrated memory controller, found on all AMD64 processors, improves performance by lowing latency to memory, supports high memory bandwidth – and reduces board space and simplifies design.
The HyperTransport Technology™ architecture (itself another standard), provides tremendous I/O capacity. Because this architecture removes the need for separate I/O controller chips, it also simplifies product design by reducing chip count. That's particularly true in those few embedded designs that use multiple processors, because HyperTransport enables "glueless" multiprocessor systems.
Going along with that is the fact that there are only a few different sockets in the AMD world – and that there many options for reusing hardware and software design with different processors. For example, in some cases you can create different versions of a product simply by offering one with a single-core processor, and the other with a dual-core processor -- with no other hardware or software changes required. Because the same boards and software can be shared between different products (such as, say, a high-end device and a low-end device), the embedded systems manufacturer can leverage economies of scale, reduce costs, and reduce development/testing time.
A final point in that area: AMD has put tremendous effort into reducing the power consumption and heat emissions of its AMD64 processors. Under the label "AMD PowerNow!" the company has extended that into the realm of battery-powered devices, though all embedded systems can benefit from the Opteron, Sempron and Turion 64's reduced power draw.
To support embedded developers, AMD has launched a line of processors specifically for this market segment, as part of the Opteron, Sempron and Turion 64 families. All of them have the full AMD64 architecture, including HyperTransport Technology and the AMD PowerNow! power-reduction technology. They also leverage AMD's Direct Connect Architecture, which links the processor directly to memory and I/O, without using a shared I/O bus. In multiprocessor systems, Direct Connect Architecture links the processors together without requiring glue chips.
All of current embedded AMD64 processors use one of two different sockets:
- 754 pins: for single-processor single-board computers and extremely low-power applications
- 940 pins: for high-performance single-board computers, blades and appliances with one or more processors.
In the second part of this article we'll talk about the specific single-core and dual-core embedded AMD64 processors that AMD makes for those different applications.
One unique concern that embedded systems makers have, which general PC makers don't, is product longevity. You want to be able to manufacture a certain phone switch, network router, storage cabinet or other device for years – and you don't want to run out of any component during the product's manufacturing lifespan. Contrast that to PC makers, who might only want to offer three or four different processors, each at a specific price point, but who are always driving for faster, faster, faster chips. Embedded hardware and software developers crave consistency over rapid innovation from their supplier: a part that's only around for a couple of years is worthless in that market segment.
To help address that, AMD unveiled what it's calling the Longevity Program, which has several pillars:
- Because AMD's embedded AMD64 processors are carefully designed subsets of standard processors, they share the same roadmap. AMD says that it generally launches the embedded version of a new processor within 60 days of availability of the server/workstation version.
- The processor will remain consistent for a minimum of five years of active manufacturing, plus another two years of possible "end of life" commitment.
- AMD will maintain the product's "customer system image stability" – that is, how it looks to the hardware/software developer – for the entire longevity period, without changes to form, fit, function or even foundry process. If there are any minor changes, they won't affect how the processor works in the end product.
- AMD will offer identical pricing for embedded processors as it does for the analogous server/workstation processor for its active product lifespan. (Once the server/workstation version has been discontinued, the embedded processor's price will be market driven.)
In the second part of this discussion, we'll look at AMD's embedded AMD64 processors, focusing mainly on the Opteron processors, but also looking at the Sempron processors and Turion 64 mobile technology. We'll also talk about the hardware/software ecosystem for embedded processors, power management, and the Open Platform Management Architecture.
Alan Zeichick is a technology consultant and analyst who focuses on software development and microprocessor technology. Reach him at zeichick@camdenassociates.com.