Chapter 3. Processor Basics

In This Chapter

image 3.1 Stand-Alone Processors 38

image 3.2 Integrated Processors: Systems on Chip 43

image 3.3 Other Architectures 59

image 3.4 Hardware Platforms 60

image 3.5 Summary 61

This chapter presents some basic information to help you navigate the huge array of embedded processor choices. We look at some of the processors on the market and the types of features they contain. Stand-alone processors are highlighted first. These tend to be the most powerful processors and require external chipsets to form complete systems. Next we present some of the many integrated processors that are supported under Linux. Finally, we look at some of the common hardware platforms in use today.

Dozens of embedded processors are available to choose from in a given embedded design. For the purposes of this chapter, we limit the discussion to those that contain a hardware memory-management unit and, of course, to those that are supported under Linux. One of the fundamental architectural design aspects of Linux is that it is a virtual memory operating system.1 Employing Linux on a processor that does not contain an MMU gives up one of the more valuable architectural features of the kernel and is beyond the scope of this book.

3.1 Stand-Alone Processors

Stand-alone processors are processor chips that are dedicated exclusively to the processing function. As opposed to integrated processors, stand-alone processors require additional support circuitry for their basic operation. In many cases, this means a chipset or custom logic surrounding the processor to handle functions such as DRAM controller, system bus addressing configuration, and external peripheral devices such as keyboard controllers and serial ports. Stand-alone processors often offer the highest overall CPU performance.

Numerous processors exist in both 32-bit and 64-bit implementations2 that have seen widespread use in embedded systems. These include the IBM Power Architecture 970/970FX, the Intel Pentium M, and the Freescale MPC74xx Host Processors, among others. The Intel Atom family of processors has found a niche in embedded applications.

The following sections describe processors from each of the major manufacturers of stand-alone processors. These processors are well supported under Linux and have been used in many embedded Linux designs.

3.1.1 IBM 970FX

The IBM 970FX processor core is a high-performance 64-bit-capable stand-alone processor. The 970FX is a superscalar architecture. This means that the core can fetch, issue, and obtain results from more than one instruction at a time. This is done through a pipelining architecture, which provides the effect of multiple streams of instruction simultaneously under ideal circumstances. The IBM 970FX contains up to 25 stages of pipelining, depending on the instruction stream and operations contained therein.

Some of the key features of the 970FX are as follows:

• A 64-bit implementation of the popular Power Architecture

• Deeply pipelined design, for very-high-performance computing applications

• Static and dynamic power-management features

• Multiple sleep modes, to minimize power requirements and maximize battery life

• Dynamically adjustable clock rates, supporting lower-power modes

• Optimized for high-performance, low-latency storage management

The IBM 970FX has been incorporated into a number of high-end server blades and computing platforms, including IBM’s own Blade Server platform.

3.1.2 Intel Pentium M

Certainly one of the most popular architectures, x86 in both 32- and 64-bit flavors has been employed for embedded devices in a variety of applications. In the most common form, these platforms are based on a variety of commercial off-the-shelf (COTS) hardware implementations. Numerous manufacturers supply IA32/64 single-board computers and complete platforms in a variety of form factors. Section 3.2 discusses the more common platforms in use today.

The Intel Pentium M has been used in a wide variety of laptop computers and has found a niche in embedded products. Like the IBM 970FX processor, the Pentium M is a superscalar architecture. These characteristics make it attractive in embedded applications:

• The Pentium M is based on the popular x86 architecture and thus is widely supported by a large ecosystem of hardware and software vendors.

• It consumes less power than other x86 processors.

• Advanced power-management features enable low-power operating modes and multiple sleep modes.

• Dynamic clock speed capability enhances battery-powered operations such as standby.

• On-chip thermal monitoring enables automatic transition to lower power modes to reduce power consumption in overtemperature conditions.

• Multiple frequency and voltage operating points (dynamically selectable) are designed to maximize battery life in portable equipment.

Many of these features are especially useful for embedded applications. It is not uncommon for embedded products to require portable or battery-powered configurations. The Pentium M has enjoyed popularity in this application space because of its power- and thermal-management features.

3.1.3 Intel Atom™

The Intel Atom™ has enjoyed success in Netbooks and a range of embedded systems. The Intel Atom™ family of processors features low power consumption and binary compatibility with older 32-bit Intel processors, enabling a wide range of off-the-shelf software solutions. Like the other stand-alone processors described in this section, the Atom™ is paired with companion chipset(s) to build a complete solution. The N270 and Z5xx series of processors have been widely used in low-power products. The author’s Dell Mini 10, on which portions of this second-edition manuscript were written, contains the Intel Atom™ Z530 processor.

More information about Intel Atom™ processors can be found via the URL given in the last section of this chapter.

3.1.4 Freescale MPC7448

The Freescale MPC7448 contains what is referred to as a fourth-generation Power Architecture core, commonly called G4.3 This high-performance 32-bit processor is commonly found in networking and telecommunications applications. Several companies manufacture blades that conform to ATCA, an industry-standard platform specification, including this and other similar stand-alone Freescale processors. Section 3.3 examines these platforms.

The MPC7448 has enjoyed popularity in a wide variety of signal-processing and networking applications because of its advanced feature set:

• Operating clock rates in excess of 1.5GHz

• 1MB onboard L2 cache

• Advanced power-management capabilities, including multiple sleep modes

• Advanced AltiVec vector-execution unit

• Voltage scaling for reduced-power configurations

The MPC7448 contains a Freescale technology called AltiVec to enable very fast algorithmic computations and other data-crunching applications. The AltiVec unit consists of a register file containing 32 very wide (128-bit) registers. Each value within one of these AltiVec registers can be considered a vector of multiple elements. AltiVec defines a set of instructions to manipulate this vector data effectively in parallel with core CPU instruction processing. AltiVec operations include such computations as sum-across, multiply-sum, simultaneous data distribute (store), and data gather (load) instructions.

Programmers have used the AltiVec hardware to enable very fast software computations commonly found in signal-processing and network elements. Examples include fast Fourier Transform, digital signal processing such as filtering, MPEG video encoding and decoding, and fast generation of encryption protocols such as DES, MD5, and SHA1.

Other chips in the Freescale lineup of stand-alone processors include the MPC7410, MPC7445, MPC7447, MPC745x, and MPC7xx family.

3.1.5 Companion Chipsets

Stand-alone processors such as those just described require support logic to connect to and enable external peripheral devices such as main system memory (DRAM), ROM or Flash memory, system buses such as PCI, and other peripherals, such as keyboard controllers, serial ports, IDE interfaces, and the like. This support logic often is accomplished by companion chipsets, which may even be purpose-designed specifically for a family of processors.

For example, the Pentium M is supported by one such chipset, called the 855GM. The 855GM chipset is the primary interface to graphics and memory—thus the suffix GM. The 855GM has been optimized as a companion to the Pentium M. Figure 3-1 illustrates the relationship between the processor and chipsets in this type of hardware design.

Figure 3-1. Processor/chipset relationship

image

Note the terminology that has become common for describing these chipsets. The Intel 855GM is an example of what is commonly referred to as a northbridge chip because it is directly connected to the processor’s high-speed front-side bus (FSB). Another companion chip that provides I/O and PCI bus connectivity is similarly referred to as the southbridge chip because of its position in the architecture. The southbridge chip (actually, an I/O controller) in these hardware architectures is responsible for providing interfaces such as those shown in Figure 3-1, including Ethernet, USB, IDE, audio, keyboard, and mouse controllers.

On the Power Architecture side, the Tundra Tsi110 Host Bridge for Power Architecture is an example of a chipset that supports the stand-alone Power Architecture processors. The Tsi110 supports several interface functions for many common stand-alone Power Architecture processors. The Tundra chip supports the Freescale MPC74xx and the IBM PPC 750xx family of processors. These processors can use the Tundra chip to provide direct interfaces to the following peripherals:

• Dual data rate (DDR) DRAM, integrated memory controller

• Ethernet (the Tundra provides four Gigabit Ethernet ports)

• PCI Express (supports two PCI Express ports)

• PCI/X (PCI 2.3, PCI-X, and Compact PCI [cPCI])

• Serial ports

• I2C

• Programmable interrupt controller

• Parallel port

Many manufacturers of chipsets exist, including VIA Technologies, Marvell, Tundra (now IDT), nVidia, Intel, and others. Marvell and Tundra primarily serve the Power Architecture market, whereas the others specialize in Intel architectures. Hardware designs based on one of the many stand-alone processors, such as Intel x86, IBM, or Freescale Power Architecture, need to have a companion chipset to interface with system devices.

One of the advantages of Linux as an embedded OS is rapid support of new chipsets. Linux currently supports the chipsets mentioned here, as well as many others. Consult the Linux source code and configuration utility for information on your chosen chipset.

3.2 Integrated Processors: Systems on Chip

The preceding section highlighted stand-alone processors. Although they are used for many applications, including some high-horsepower processing engines, the vast majority of smaller embedded systems employ some type of integrated processor, or system on chip (SOC). Scores of SOCs exist to choose from. This section examines a few from the industry leaders and looks at some of the features that set each group apart.

Several major processor architectures exist, and each architecture has examples of integrated SOCs. Power Architecture has been a traditional leader in many networking- and telecommunications-related embedded applications, and MIPS may have the market lead in lower-end consumer-grade equipment.4 ARM is used in many cellular phones. These architectures and, of course, IA32/64 represent the major architectures in widespread use in embedded Linux systems. However, as you will see in Chapter 4, “The Linux Kernel: A Different Perspective,” Linux supports more than 20 different hardware architectures today.

3.2.1 Power Architecture

Power Architecture is the modern term that refers to the family of technology and products conforming to the various versions of the Power Architecture Instruction Set Architecture. Many good documents describe Power Architecture in great detail. Consult the last section of this chapter as a starting point.

Power Architecture processors have found their way into embedded products of every description. From automotive, consumer, and networking applications to the largest data and telecommunications switches, Power Architecture is one of the most popular and successful architectures for embedded applications. Because of this popularity, there exists a large array of hardware and software solutions from numerous manufacturers targeted at Power Architecture.

3.2.2 Freescale Power Architecture

Freescale Semiconductor has a large range of Power Architecture processors with integrated peripherals. Freescale Power Architecture processors have enjoyed enormous success in the networking market segment. This lineup of processors has wide appeal in a large variety of network equipment, from the low end to the high end of the product space.

By anyone’s measure, Freescale has enjoyed tremendous success in the embedded market. Part of this success goes as far back as the venerable 68K family of products, which still capture market share today in the form of Coldfire processors. More recently, Freescale has enjoyed success with its PowerQUICC product line. The PowerQUICC architecture has been shipping for more than a decade. It is based on a Power Architecture core of a particular version integrated with a QUICC engine (also called a communications processor module or CPM in the Freescale literature). The QUICC engine is an independent RISC processor designed to offload the communications processing from the main Power Architecture core, thus freeing the Power Architecture core to focus on control and management applications. The QUICC engine is a complex but highly flexible communications peripheral controller.

In its current incarnation, PowerQUICC encompasses five general groups. Although somewhat dated, the PowerQUICC I family (8xx) lives on. PowerQUICC II (82xx) is still quite popular, as is PowerQUICC II Pro (83xx). PowerQUICC III (85xx) is hugely popular in networking and other gear.

PowerQUICC III gave rise to the new QorIQ family of processors, which employ the high-performance e500 core in single-core and multicore implementations. QorIQ processors promise to be market-leading multicore processing engines with powerful features that make them suitable for high-speed networking and other commercial and industrial applications.

3.2.3 Freescale PowerQUICC I

The PowerQUICC I family includes the original Power Architecture-based PowerQUICC implementations and consists of the MPC8xx family of processors. These integrated communications processors operate at 50 to 133MHz and feature the embedded Power Architecture 8xx core. The PowerQUICC I family has been used for ATM and Ethernet edge devices, such as routers for the small office/home office (SOHO) market, residential gateways, ADSL and cable modems, and similar applications.

The CPM or QUICC engine incorporates two unique and powerful communications controllers. The Serial Communication Controller (SCC) is a flexible serial interface that can implement many serial-based communications protocols, including Ethernet, HDLC/SDLC, AppleTalk, synchronous and asynchronous UARTs, IrDA, and other bitstream data.

The Serial Management Controller (SMC) is a module capable of similar serial-communications protocols. It includes support for ISDN, serial UART, and SPI protocols.

Using a combination of these SCCs and SMCs, you can create flexible I/O combinations. An internal time-division multiplexer even allows these interfaces to implement channelized communications such as T1 and E1 I/O.

Table 3-1 summarizes a small sampling of the PowerQUICC I product line.

Table 3-1. Freescale PowerQUICC I Highlights

image

3.2.4 Freescale PowerQUICC II

The next step up in the Freescale Power Architecture product line is PowerQUICC II. PowerQUICC II incorporates the company’s G2 Power Architecture core derived from the 603e embedded Power Architecture core. These integrated communications processors operate at 133 to 450MHz and feature multiple 10/100Mbps Ethernet interfaces, security engines, ATM and PCI support, and more. The PowerQUICC II encompasses the MPC82xx products.

PowerQUICC II adds two new types of controllers to the QUICC engine. The FCC is a full-duplex fast serial communications controller. The FCC supports high-speed communications such as 100Mbps Ethernet and T3/E3 up to 45Mbps. The MCC is a multichannel controller capable of 128KB 64KB channelized data.

Table 3-2 summarizes the highlights of selected PowerQUICC II processors.

Table 3-2. Freescale PowerQUICC II Highlights

image

3.2.5 PowerQUICC II Pro

Based on the Freescale Power Architecture e300 core (evolved from the G2/603e), the PowerQUICC II Pro family operates at 266 to 667MHz and features support for Gigabit Ethernet, DDR SDRAM controllers, PCI, high-speed USB, security acceleration, and more. These are the MPC83xx family of processors. The PowerQUICC II and PowerQUICC II Pro families of processors have been designed into a wide variety of equipment, such as LAN and WAN switches, hubs and gateways, PBX systems, and many other systems with similar complexity and performance requirements.

The PowerQUICC II Pro contains three family members without the QUICC engine and two that are based on an updated version of the QUICC engine. The MPC8358E and MPC8360E both add a new Universal Communications Controller, which supports a variety of protocols.

Table 3-3 summarizes the highlights of selected members of the PowerQUICC II Pro family.

Table 3-3. Freescale PowerQUICC II Pro Highlights

image

3.2.6 Freescale PowerQUICC III

At the top of the PowerQUICC family are the PowerQUICC III processors. These operate between 600MHz and 1.5GHz. They are based on the e500 core and support Gigabit Ethernet, DDR SDRAM, RapidIO, PCI and PCI/X, ATM, HDLC, and more. This family incorporates the MPC85xx product line. These processors have found their way into high-end products such as wireless base station controllers, optical edge switches, central office switches, and similar equipment.

Table 3-4 highlights some of the PowerQUICC III family members.

Table 3-4. Freescale PowerQUICC III Highlights

image

3.2.7 Freescale QorIQ™

Pronounced “core eye queue,” QorIQ is Freescale’s newest technology based on Power Architecture. Many chips in the QorIQ family are multicore processors based on the e500 and e500mc cores. Freescale currently describes three platforms in the QorIQ family on its public website.5 That information is summarized here.

The P1 series includes the P1011/P1020 and the P1013/P1022. These processors contain the e500 Power Architecture core, and each has a specialized set of peripherals aimed at the networking, communications, and control plane applications. They have one or two cores, and they have a remarkably low power profile capable of roughly 3.5 watts. Table 3-5 summarizes the major highlights of the P1 series.

Table 3-5. Freescale QorIQ P1 Series Highlights

image

The P2 series consists of the P2010 and P2020. This series also contains one or two cores. They offer a higher level of performance than the P1 series, with core speeds up to 1.2 GHz, and they have larger cache arrays. They have typical power requirements in the 6-watt range. Table 3-6 lists the highlights of the P2 series.

Table 3-6. Freescale QorIQ P2 Series Highlights

image

The P4 series consists of the P4040 and P4080. This series has processors up to eight cores, and it is based on a special multicore optimized e500 core called e500mc. These cores have hardware support for a hypervisor, private back-side caches, and floating point support. Unique to this family is the Data Path Acceleration Architecture (DPAA) for very-high-speed data plane applications. This family of processors also has enhanced debug and tracing capabilities. Table 3-7 shows the highlights from the P4 series.

Table 3-7. Freescale QorIQ P4 Series Highlights

image

3.2.8 AMCC Power Architecture

Some of the examples later in this book are based on the AMCC Power Architecture 440EP Embedded Processor. The 440EP is a popular integrated processor found in many networking and communications products. The following list highlights some of the features of the 440EP:

On-chip dual data rate (DDR) SDRAM controller

• Integrated NAND Flash controller

• PCI bus interface

• Dual 10/100Mbps Ethernet ports

• On-chip USB 2.0 interface

• Up to four user-configurable serial ports

• Dual I2C controllers

• Programmable Interrupt Controller

• Serial Peripheral Interface (SPI) controller

• Programmable timers

• JTAG interface for debugging

This is indeed a complete SOC. Figure 3-2 is a block diagram of the AMCC Power Architecture 440EP Embedded Processor. With the addition of memory chips and physical I/O hardware, a complete high-end embedded system can be built around this integrated microprocessor with minimal interface circuitry.

Figure 3-2. AMCC PPC 440EP Embedded Processor

image

Courtesy AMCC Corporation

Many manufacturers offer reference hardware platforms to enable a developer to explore the capabilities of the processor or other hardware. The examples in Chapter 14, “Kernel Debugging Techniques,” and Chapter 15, “Debugging Embedded Linux Applications,” were executed on the AMCC Yosemite board, which is the company’s reference platform containing the 440EP, shown in Figure 3-2.

Numerous product configurations are available with Power Architecture processors. As shown in Figure 3-2, the AMCC 440EP contains sufficient I/O interfaces for many common products, with very little additional circuitry. Because this processor contains an integrated floating-point unit (FPU), it is ideally suited for products such as network-attached imaging systems, general industrial control, and networking equipment.

AMCC’s Power Architecture product lineup includes several configurations powered by two proven cores. Its 405 core products are available in configurations with and without Ethernet controllers. All 405 core configurations include integrated SDRAM controllers, dual UARTs for serial ports, I2C for low-level onboard management communications, general-purpose I/O pins, and integral timers. The AMCC 405 core integrated processors provide economical performance on a proven core for a wide range of applications that do not require a hardware FPU.

The AMCC 440-based core products raise the performance level and add peripherals. The 440EP featured in some of our examples includes a hardware FPU. The 440GX adds two triple-speed 10/100/1000Mbps Ethernet interfaces (in addition to the two 10/100Mbps Ethernet ports) and TCP/IP hardware acceleration for high-performance networking applications. The 440SP adds hardware acceleration for RAID 5/6 applications. All these processors have mature Linux support. Table 3-8 summarizes the highlights of the AMCC 405xx family.

Table 3-8. AMCC Power Architecture 405xx Highlights

image

Table 3-9 summarizes the features of the AMCC 440xx family of processors.

Table 3-9. AMCC Power Architecture 440xx Highlights

image

3.2.9 MIPS

You might be surprised to learn that 32-bit processors based on the MIPS architecture have been shipping for more than 20 years. The MIPS architecture was designed in 1981 by a Stanford University engineering team led by Dr. John Hennessey, who later went on to form MIPS Computer Systems, Inc. That company has morphed into the present-day MIPS Technologies, whose primary role is the design and subsequent licensing of MIPS architecture and cores.

The MIPS core has been licensed by many companies, several of which have become powerhouses in the embedded processor market. MIPS is a Reduced Instruction Set Computing (RISC) architecture with both 32-bit and 64-bit implementations shipping in many popular products. MIPS processors are found in a large variety of products, from high-end to consumer devices. It is public knowledge that MIPS processors power many popular, well-known consumer products, such as Sony high-definition television sets, Linksys wireless access points, and the popular Sony PlayStation game console.

The MIPS Technology website lists 73 licensees that currently are engaged in manufacturing products using MIPS processor cores. Some of these companies are household names, including Sony, Texas Instruments, Cisco’s Scientific Atlanta (a leading manufacturer of cable TV set-top boxes), Motorola, and others. One of the largest and most successful of these is Broadcom Corporation.

3.2.10 Broadcom MIPS

Broadcom is a leading supplier of SOC solutions for markets such as cable TV set-top boxes, cable modems, HDTV, wireless networks, Gigabit Ethernet, and Voice over IP (VoIP). Broadcom’s SOCs have been very popular in these markets. We mentioned earlier that you likely have Linux in your home even if you don’t know it. If you do, it probably is running on a Broadcom MIPS-based SOC.

In 2000, Broadcom acquired SiByte Inc., which resulted in the communications processor product lineup the company is currently marketing. These processors currently ship in single-core, dual-core, and quad-core configurations. The company still refers to them as SiByte processors.

The single-core SiByte processors include the BCM1122 and BCM1125H. They are both based on the MIPS64 core and operate at clock speeds of 400 to 900MHz. They include on-chip peripheral controllers such as the DDR SDRAM controller, 10/100Mbps Ethernet, and the PCI host controller. Both include an SMBus serial configuration interface, PCMCIA, and two UARTs for serial port connections. The BCM1125H includes a triple-speed 10/100/1000Mbps Ethernet controller. One of the more striking features of these processors is their power dissipation. Both feature a 4W operating budget at 400MHz operation.

The dual-core SiByte processors include the BCM1250, BCM1255, and BCM1280. Also based on the MIPS64 core, these processors operate at clock rates from 600MHz (BCM1250) to as high as 1.2GHz (BCM1255 and BCM1280). These dual-core chips include integrated peripheral controllers such as DDR SDRAM controllers; various combinations of Gigabit Ethernet controllers; 64-bit PCI-X interfaces; and SMBus, PCMCIA, and multiple UART interfaces. Like their single-core cousins, these dual-core implementations feature low power dissipation. For example, the BCM1255 features a 13W power budget at 1GHz operation.

The quad-core SiByte processors include the BCM1455 and BCM1480 communications processors. As with the other SiByte processors, these are based on the MIPS64 core. The cores can be run from 800MHz to 1.2GHz. These SOCs include integrated DDR SDRAM controllers, four separate Gigabit Ethernet MAC controllers, and 64-bit PCI-X host controllers. They also contain SMBus, PCMCIA, and four serial UARTs.

Table 3-10 summarizes selected Broadcom SiByte processors.

Table 3-10. Broadcom SiByte Processor Highlights

image

3.2.11 Other MIPS

As we pointed out earlier, nearly 100 current MIPS licensees are shown on the MIPS Technologies licensees web page, at www.mips.com/content/Licensees/ProductCatalog/licensees. Unfortunately, it is not possible to cover them all here. Start your search at the MIPS technologies website for a good cross-section of the MIPS processor vendors.

For example, ATI Technologies uses a MIPS core in its Xilleon set-top box family of chipsets. Cavium Networks’ Octeon family uses MIPS64 cores in a variety of multicore processor implementations. Integrated Device Technology, Inc. (IDT), has a family of integrated communications processors called Interprise, based on the MIPS architecture. PMC-Sierra, NEC, Toshiba, and others have integrated processors based on MIPS. All of these and more are well supported under Linux.

3.2.12 ARM

The ARM architecture has achieved a very large market share in the consumer electronics marketplace. Many popular and now ubiquitous products contain ARM cores. Some well-known examples include the Sony PlayStation Portable (PSP), Apple iPhone, Blackberry Storm, TomTom GO 300 GPS, and the Motorola Droid mobile phone. Processors containing ARM cores power the majority of the world’s digital cellular phones, according to the ARM Corporate Backgrounder at www.arm.com/miscPDFs/3822.pdf.

The ARM architecture was developed by ARM Holdings, plc and is licensed to semiconductor manufacturers around the globe. Many of the world’s leading semiconductor companies have licensed ARM technology and currently are shipping integrated processors based on one of several ARM cores.

3.2.13 TI ARM

Texas Instruments uses ARM cores in the DaVinci, OMAP, and other families of integrated processors. These processors contain many integrated peripherals intended to be used as single-chip solutions for various consumer products, such as cellular handsets, PDAs, and similar multimedia platforms. In addition to the interfaces commonly found on integrated processors, such as UARTs and I2C, the OMAP devices contain a wide range of special-purpose interfaces, including the following:

• LCD screen and backlight controllers

• Buzzer driver

• Camera interface

• MMC/SD card controller

• Battery-management hardware

• USB client/host interfaces

• Radio modem interface logic

• Integrated 2D or 3D graphics accelerators

• Integrated security accelerator

• S-Video outputs

• IrDA controller

• DACs for direct TV (PAL/NTSC) video output

• Integrated DSPs for video and audio processing

Many popular cellular handsets and PDA devices have been marketed based on the TI OMAP platform. Because they are based on an ARM core, these processors are supported by Linux today. Table 3-11 compares some of the more recent ARM-based processors from TI.

Table 3-11. TI ARM Highlights

image

3.2.13.1 BeagleBoard

If you have been around embedded Linux for any length of time, you have undoubtedly heard of the BeagleBoard. Its popularity stems from its low price point, easy availability, and broad community support. The popular U-Boot bootloader is supported on the board, making kernel integration easier. The BeagleBoard is based on the TI OMAP3530. It has provisions to connect keyboard and display, SD cards for kernel and root file system, a serial connection for a console, and a dual-mode USB 2.0 port.

The BeagleBoard is a great platform for experimentation and learning, as well as a perfect development platform for various OMAP-related development projects. The only drawback of the BeagleBoard was the lack of an Ethernet port. Fortunately, this problem was remedied by a company called Tin Can Tools. It developed a companion board called the BeagleBuddy Zippy Ethernet Combo Board. In addition to adding an Ethernet port, it adds another SD/MMC interface, a battery-backed real-time clock, an I2C expansion interface, and another serial port. You can find more information at www.tincantools.com/product.php?productid=16147&cat=255&page=1.

3.2.14 Freescale ARM

The success of the ARM architecture is made more evident by the fact that leading manufacturers of competing architectures have licensed ARM technology. As a prime example, Freescale Semiconductor has licensed ARM technology for its line of i.MX application processors. These popular ARM-based integrated processors have achieved widespread industry success in multimedia consumer devices such as portable game platforms, PDAs, and cellular handsets.

The Freescale ARM product portfolio currently includes nine families of application processors. They range from the i.MX21 through the i.MX51 series. All the i.MX products can be found at www.freescale.com/webapp/sps/site/homepage.jsp?code=IMX_HOME.

The i.MX21 features an ARM9 core, and the i.MX31 has an ARM11 core. Like their TI counterparts, these SOCs contain many integrated peripherals required by portable consumer electronics devices with multimedia requirements. The i.MX21/31 contains some of the following integrated interfaces:

• Graphics accelerator

• MPEG-4 encoder

• Keypad and LCD controllers

• Camera interface

• Audio multiplexer

• IrDA infrared I/O

• SD/MMC interface

• Numerous external I/O, such as PCMCIA, USB, DRAM controllers, and UARTs for serial port connection

The i.MX35 family of processors is used in automotive, consumer, and industrial applications. They feature ARM11 cores running at 532 MHz with many integrated features similar to the i.MX21/31 families. Here are some examples of i.MX35 integrated peripherals:

• LCD controller (all but i.MX351)

• OpenVG graphics accelerator (i.MX356/7)

• High-speed Ethernet controller

• CAN bus controller

• USB 2.0 host and OTG plus PHY

SD/MMC interface

• I2C controller

• UARTs, SPI, and SSI/I2S

The i.MX37 family of processors currently consists of the single i.MX37 Applications Processor. It is ideally suited for portable multimedia applications. The i.MX37 features the ARM1176JZF-S ARM core; an image-processing unit; and integrated support for H.264, VC-1, MPEG-2, and MPEG-4 decoders. It has all the usual connectivity, including SD/MMC, USB, UART, audio in/out, GPIO, keypad controller, and more. More information on this processor is available at www.freescale.com/webapp/sps/site/taxonomy.jsp?code=IMX37_FAMILY.

The i.MX51 family of processors currently consists of five products, ranging from the i.MX512 to the i.MX516. According to Freescale’s summary page for i.MX51, these processors are targeted at consumer, industrial, and automotive applications. They feature CPU speeds from 600MHz to 800MHz. These chips, like their brethren, have a high level of integration. They feature various hardware accelerators such as integrated video accelerators, integrated hardware-based codecs, and security accelerators. These processors all contain some combination of the usual array of I/O, including USB, Ethernet, video in/out, SD/MMC, and UARTS.

3.2.15 Other ARM Processors

More than 100 semiconductor companies are developing integrated solutions based on ARM technology—far too many to list here. Many offer specialized application processors serving vertical markets such as the handset market, storage area networking, network processing, the automotive market, and many more. These companies include Altera, PMC-Sierra, Samsung Electronics, Philips Semiconductor, Fujitsu, and more. See the ARM Technologies website at www.arm.com for additional ARM licensees and information.

3.3 Other Architectures

We have covered the major architectures in widespread use in embedded Linux systems. However, for completeness, you should be aware of other architectures that Linux supports. A recent Linux snapshot revealed over 20 architecture branches (subdirectories).

The Linux source tree contains ports for Sun Sparc and the Xtensa from Tensilica, to name a couple. Spend a few minutes looking through the architecture branch of the Linux kernel to see the range of architectures for which Linux has been ported. Beware, however, that not all these architectures might be up to date in any given snapshot. You can be reasonably certain that the major architectures are fairly current, but the only way to be certain is to follow the development in the Linux community or to consult with your favorite embedded Linux vendor. Appendix E, “Open Source Resources,” contains a list of resources you can consult to help stay current with Linux developments.

3.4 Hardware Platforms

The idea of a common hardware reference platform is not new. The venerable PC/104 and VMEbus are two examples of hardware platforms that have withstood the test of time in the embedded market.7 More recent successful platforms include CompactPCI and its derivatives.

3.4.1 CompactPCI

The CompactPCI (cPCI) hardware platform is based on PCI electrical standards and Eurocard physical specifications. cPCI has the following general features:

• Vertical cards of 3U or 6U heights

• A latch system for securing and ejecting cards

• Front- or rear-panel I/O connections are supported

• High-density backplane connector

• Staggered power pins for hot-swap support

• Support by many vendors

• Compatibility with standard PCI chipsets

You can view highlights of and obtain specifications for the cPCI architecture at the PCI Industrial Computer Manufacturers Group (PICMG) cPCI web page at www.picmg.org/compactpci.stm.

3.4.2 ATCA

A successor to the successful cPCI, Advanced Telecommunications Computing Architecture is the name given to the architecture and platforms designed around the PICMG 3.x series of specifications. Many top-tier hardware manufacturers are shipping or developing new ATCA-based platforms. The primary applications for ATCA platforms are carrier-class telecommunications switching and transport equipment, and high-end data-center server and storage equipment.

ATCA platforms are leading the industry trend away from in-house proprietary hardware and software platforms. Many of the largest equipment manufacturers in the telecommunications and networking markets have been slowly moving away from custom, in-house-designed hardware platforms. This trend is also evident in the software platforms, from operating systems to so-called middleware such as high-availability and protocol stack solutions. Downsizing and time-to-market pressures are two key factors driving this trend.

ATCA is defined by several PICMG specifications, summarized in Table 3-12.

Table 3-12. ATCA PICMG 3.x Specification Summary

image

The platforms described in this section are the most relevant in any discussion of embedded Linux platforms today. Especially with ATCA, the industry is increasingly moving toward COTS technology. Both ATCA and Linux are playing increasingly important roles in this industry trend.

3.5 Summary

• Linux supports many stand-alone processors. The most widely supported are IA32/IA64 and Power Architecture. These stand-alone processors are used as building blocks to create very-high-performance computing engines. This chapter presented several examples from Intel, IBM, and Freescale.

• Integrated processors, or systems on chip (SOCs), dominate the embedded Linux landscape. Many vendors and several popular architectures are used in embedded Linux designs. Several of the most popular were presented in this chapter by architecture and manufacturer.

An increasingly popular trend in larger systems is to move away from proprietary hardware and software platforms and toward commercial off-the-shelf (COTS) solutions. Two popular platforms in widespread use in embedded Linux systems are cPCI and ATCA.

3.5.1 Suggestions for Additional Reading

PowerPC 32-bit architecture reference manual
Programming Environments Manual for 32-Bit Implementations of the PowerPC
Architecture—Revision 2
Freescale Semiconductor, Inc.
www.freescale.com/files/product/doc/MPCFPE32B.pdf

PowerPC 64-bit architecture reference manual
Programming Environments Manual for 64-Bit Microprocessors—Version 3.0
International Business Machines, Inc.
https://www-01.ibm.com/chips/techlib/techlib.nsf/techdocs/F7E732FF811F783187256FDD004D3797/$file/pem_64bit_v3.0.2005jul15.pdf

Short summary of Power Architecture
A Developer’s Guide to the POWER Architecture
Brett Olsson, Processor Architect, IBM Corp.
Anthony Marsala, Software Engineer, IBM Corp.
http://www-128.ibm.com/developerworks/linux/library/l-powarch

Intel XScale overview page
www.intel.com/design/intelxscale/

Intel Atom overview page
www.intel.com/design/intarch/atom/index.htm

Power.org home page
www.power.org/home

BeagleBoard resources
www.beagleboard.org

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
52.14.98.249