intel atom final scjsdbcfcbbbbb xzvndsjvcnccncnc dndnddn

Upload: adarsh-vr

Post on 03-Jun-2018

222 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/12/2019 iNTEL Atom Final SCJSDBCFCBBBBB XZVNDSJVCNCCNCNC DNDNDDN

    1/31

    CHAPTER 19

    THE ATOM SoCINTELS HIGH END EMBEDDED

    PROCESSOR

    In this chapter ,you will learn:

    The history of Intels embedded processors

    The history of the Atom processor

    The features of the Bonnell microarchiteture

    The components of the tunnelcreek SoC

    The display controllers and their working Power management and ACPI

    The new microarchitecture named Silvermont

    Intel is known the world over by its prominence in the desktop PC and server processor market.

    Most of the worlds desktop and laptop PCs and servers are powered by Intels x86 processors

    which have, over the years, made giant leaps in terms of computing power and performance .

    Intel has other processors which are not based on the x86 architecture .For example ,Intels

    Itanium processor is one such product which has made itself useful for servers . Besides all this

    ,Intel has products which have been used in the embedded market as well .Let us make a

    survey of the embedded processors/microcontrollers popularized by Intel .

    19.1 History of Intels embedded processors

    In 1976 Intel introduced the 8048, possibly the first microcontroller, which had on-chip

    memory and peripherals. It was followed by Intels 8 bit microcontroller chip 8051 which waslaunched in 1980 and became an instant hit .It included a host of variants and was called the

    MCS-51 family . It is one of the very popular microcontroller families in use because of being

    very simple and easy to use .Intel stopped production of 8051 in 2006 ,but had already licensed

    it to many companies and now there are many other manufacturers for this embedded

    processor. Examples are Atmel ,Philips etc ,to name a few . There are many enhanced variants

    of this architecture and many manufacturers have incorporated the 8051 core into their SoCs

  • 8/12/2019 iNTEL Atom Final SCJSDBCFCBBBBB XZVNDSJVCNCCNCNC DNDNDDN

    2/31

    .Even though by current standards ,an 8 bit processor seems relatively low end ,the truth is

    that many applications are still around for such embedded processors .

    In the x86 series , Intel released 80186, the immediate successor of 8086. Its architecture

    was meant for embedded use and hence was never targeted as a processor for PC use. It had

    an x86 core similar to the 8086 with a 16 bit data bus and 20 bit address bus and could use a

    maximum frequency of 10 MHz.. But it also had a number of internal peripherals which allowed

    it to be categorized as an embedded processor . The peripherals included were timers, DMA

    controllers ,interrupt controllers etc..In 1987, Intel added more enhancements to it by including

    math co-processor support, energy saving power down modes, and a DRAM refresh controller.

    Clock rates were increased up to 25MHz and through the years Intel continued to develop new

    versions of the 80186 with added features, lower voltages, and different packages.

    In 2007 ,intel discontinued this chip; however, there were other producers of this chip

    ,who continued to manufacture it under license . AMD, for example made versions up to

    50MHz . Fujitsu and Siemens were two others who continued to support it because it was

    embedded in millions of devices. Because of its simplicity and familiar x86 ISA ,it is still being

    used in devices which do not need the highend services expected from the modern gadgets

    we are getting accustomed to .

    Besides the above, there were other embedded processors manufactured by Intel ,like the

    MCS-196 family which was also a popular embedded 16 bit processor . All these had their peak

    times in history ,but as market requirements change ,new products are needed to fill up the

    space that comes up.

    Currently , high end embedded processors are those with 32 bit computational

    capability , while the 64 bit processor market for embedded products is just opening up. ARM is

    a very popular 32 bit RISC SoC which boasts of very low power dissipation and has made its

    presence felt in all the tablet ,mobile phones and various other hand held devices

  • 8/12/2019 iNTEL Atom Final SCJSDBCFCBBBBB XZVNDSJVCNCCNCNC DNDNDDN

    3/31

    Intel is the market leader in the general purpose processor market and has a list of

    high performing processors .We have discussed all the techniques used in advanced

    processors in Chapter 16 .With chapters 15 ,17 and 18 we covered all the advanced x86

    processors of Intel.

    In 2008, Intel released its is first low power but high performance embedded processor,

    code named ATOM. Within the space of the last five years ,Atom has been used in many

    implementations starting from netbooks to tablets, mobile phones, and other embedded

    devices . In 2010, an Atom based SoC was released ,targeted specifically for embedded use

    cases. This is an x86 core with on chip peripherals so that it could be used as a single chip

    computer . This chapter will explore this Atom SoC architecture in detail and comment on its

    use for advanced embedded computing .

    19.1.2 Desktop vs embedded systems

    In chapter 16 ,we discussed the various ways by which the performance of a processor can be

    increased .Performance is defined in terms of IPC i.e. Instructions per cycle. Over the years,

    processors have shown very high improvements in IPC .This parameter is very important,

    especially in the field of desktop computing where we use processors that we call general

    purpose processors . In such systems . the processor is expected to facilitate computation

    only. The processor is accompanied by interfacing chips when a full fledged computer systemhas to be developed.The accompanying chips interface the processor with peripheral devices

    which are necessary for users to communicate with the processing system . Currently such

    interfacing is done by a set of chips called a chipset . The latest Intel platforms (Section..)

    have just one chip acting as a chipset . More details of x86 platforms and chipsets are

    presented in Chapter 20..

    Embedded systems have to be looked up in a different perspective . For embedded

    applications ,the following points are to be noted:i) All the peripheral controllers are expected to be inside the processor chip and the

    chip then becomes an SoC.

  • 8/12/2019 iNTEL Atom Final SCJSDBCFCBBBBB XZVNDSJVCNCCNCNC DNDNDDN

    4/31

    ii) Many embedded systems operate on battery power and hence conserving power is

    very important . SoCs for such uses are expected to have very low power

    dissipation, both in active and idle states

    iii) Most embedded products are expected to be of small physical size

    iv) As embedded systems have become very advanced in terms of their handling of

    signals like audio , image and video ,the computational capability of an embedded

    processor SoC should encompass the domains of digital signal processing ,floating

    point operations etc.

    v) In todays world, connectivity is absolutely necessary for any embedded product .

    Hence the SOC being used should provide the necessary support for ensuring this.

    Now that we have listed out the features necessary for an embedded processor , let us

    examine the capabilities of Atom as a processor which can fit in the embedded domain.

    We will start with the history of Atom ,followed by the microarchitectures used in Atom ,and

    then examine an Atom based SoC and its inbuilt peripherals.

    19.1.2 The Atom processor

    The first Atom processor chip was released in the year 2008 . It was based on a 45 nmtechnology and its microarchitecture was named Bonnell . This is similar to the P5( Pentium

    )architecture in many ways ,but special attention was given to make it a low power

    dissipating one .This made Bonnell is an entirely new design. It is also the smallest processor

    ever ,of Intel .The smaller die version (32nm)of Bonnell is named Saltwell.

    An impressive list of Bonnell based processors and SoCs for applications like netbooks

    ,nettops, tablets and smartphones can been seen .It was in 2010 that a single core SoC for

    embedded applications in the consumer electronics market was released .They are namedTunnel creek and Cloverview .

    In May 2013 , the next new microarchitecture for Atom ,named Silvermont was

    officially released .It and is based on a 22nm process and it differs from Bonnell on many other

  • 8/12/2019 iNTEL Atom Final SCJSDBCFCBBBBB XZVNDSJVCNCCNCNC DNDNDDN

    5/31

    counts,as well . A smaller die version (14nm) of this, named Airmont is planned for release in

    2014.

    19.2 THE BONNELL MICROARCHITECTURE

    For any embedded processor ,the parameter performance /watt is what is aimed to be

    enhanced ,and Bonnell was designed with this objective. The Bonnell microacrhcitecture is

    not dynamically different from some of Intels desktop processors. . But in spite of these

    similarities , Bonnell based Atom is an entirely new design. It combines low power

    consumption, small size and low production cost.

    It adopted the principles used in Intels P5 (Pentium) architecture in that it is superscalar with

    two integer ALU units ,with in order execution .It does not implement speculative execution

    ,out-of order execution and register renaming which is present in the more advanced

    processors ( Chap..16) . The reason for not including these performance enhancing features ,is

    because of aspects like more die space, more hardware needs , more power dissipation etc

    that would be that would result from the extra effort involved in squeezing out a higher

    performance .

    Because of the in-order core ,there is the problem of stall cycles resulting from cpu

    waiting for data resident in caches or even system memory. To circumvent this problem, an

    algorithm named as Safe Instructions Recognition has been incorporated .This is a

    mechanism that allows the processor to let those instructions that do not need to wait for any

    data, to get ahead in the queue and be processed first.

    A 16 stage pipeline is employed for Bonnell and hyperthreading (Section..) is alsoincorporated. Hyperthreading enhances performance by around 50% but causes a power

    increase of around 17% . However support of Hyper-Threading is Atoms main trump card for

    Bonnell. As a result, the operating system sees a single-core Atom processor as a dual-core CPU

    that can process two threads at a time.

  • 8/12/2019 iNTEL Atom Final SCJSDBCFCBBBBB XZVNDSJVCNCCNCNC DNDNDDN

    6/31

    Refer Table 18.1 to get an idea of some of the parameters of three Bonnell based single

    core Atom processors. Note the low supply voltages used and the low TDPs(Thermal Design

    Power- Section 19) .A desktop processor like Core i5 would have around 25W TDP and a

    higher performance ,though . The point is that, for Atom, it is performance /watt that is aimed

    to be enhanced ,rather than just performance.

    Table 19.1

    19.2.1 Bonnell based Atom variants

    Initially some Atom variants were 32 bit and without integrated graphics. The newer ones

    support 64 bit instructions if needed ,but they can work in the 32 bit mode as well. It is

    available in the Z,N,D ,CEand E series.

    What applications are built around the Atom processor?

    In 2008 ,when Atom was released ,the first application domains were netbooks and nettops

    which are PCs with smaller size and lower computing power .Next ,Intel envisaged the idea of

    MIDs i.e. Mobile Internet Devices which were to be smaller ,connected computers without a

    conventional key board .But around this time ,the smartphone market and later the tablet

    market started growing and so the most recent applications for which Atom in targeted are

    smartphones and tablets . Atom platforms for such applications are discussed in Section 20.

    The following list is the Atom processor series vis--vis their intended fields of application.

    Atom N-Series (Netbooks)

  • 8/12/2019 iNTEL Atom Final SCJSDBCFCBBBBB XZVNDSJVCNCCNCNC DNDNDDN

    7/31

    Atom CE-Series (Set-Top boxes, TV)

    Atom D-Series (Entry Level Desktops)

    Atom E- Series (Embedded Devices)

    Atom Z-Series (smartphones & tablets)

    19.3 The Atom SoC

    In 2010 ,the E6xx series of Atom was announced. This series is targeted for embedded

    applications and is a System on Chipdesign .This design is meant to take Atom into the fields

    of consumer electronics , automotive, Industrial controls, and all possible embedded domains.

    Providing high performance at low power, along with rich user interface on the chip , and

    compatibility with main stream operating systems is been the central theme of this SoC variant

    of Atom. In the remaining sections of this chapter, we will now look into the details of the

    Tunnel Creek which is an SoC based on the E6xx Atom series.

    All Intel CPUs need a chipset (Ref ..) to put it into the working mode .A chipset is a set

    of chips or just a single chip which contains the controllers to all the peripherals with which the

    processor interfaces to the outside world . For all Intel CPUs there are proprietary chipsets

    available and the processor plus chipset is placed on a motherboard which is the platform for

    the working of the processor in a PC like environment. Such platforms and their evolution arediscussed in Chapter 20.

    The E6xx series based Tunnel Creek SoC is different.It can be used along with certain

    standard chipsets ,but this is not mandatory .As discussed in Section 19.1.2 , an embedded

    system needs its peripheral controllers to be within the chip itself so that is can perform as a

    single chip computer . The E6xx series has been designed for such a scenario .It interfaces to

    the outside world through an open-standard, industry-proven PCI Express bus ( Sec..). Because

    of this ,it can used along with customer defined I/Os ,ASICs, FPGAs and other discretecomponents . This provides flexibility for its use in different kinds of embedded applications

    where IOs differ .

    In addition ,the controllers of many standard peripherals like audio and video and

    display devices are present within the chip . It also has controllers for certain standard on

  • 8/12/2019 iNTEL Atom Final SCJSDBCFCBBBBB XZVNDSJVCNCCNCNC DNDNDDN

    8/31

  • 8/12/2019 iNTEL Atom Final SCJSDBCFCBBBBB XZVNDSJVCNCCNCNC DNDNDDN

    9/31

    o 1.3 GHz (Mainstream )

    o and 1.6 GHz (Premium)

    Macro-operation execution support (Section..)

    2-wide instruction decode and in-order execution

    32 KB L1 Instruction Cache and 24 KB L1 Data Cache

    512 KB L2 cache

    32-bit address bus

    Support for IA 32-bit architecture (Section..)

    Support for Intel Virtualization Technology (Section..)

    Support for Intel Hyper-Threading Technology with two threads (Section..)

    Intel SSE2 and Intel SSE3 support (Section..)

    Advanced power management features including Enhanced Intel SpeedStep

    Technology (Section)

    Deep Power Down Technology (C6) (Section..)

    19.3.2 Memory Controller:

    It is a single-channel DDR2 memory controller which can support only soldered-down DRAM

    configurations. The memory controller does not support SODIMM (Small Outline DIMM) or any

    type of DIMMs(Section..) It can support memory sizes of 128 MB, 256 MB, 512 MB, 1 GB and 2

    GB.

    19.3.3 Graphics,Video and Display

    Figure 19.2 .gives a more detailed view of the integrated graphics unit of the processor

    containing 3D grpahics engines, Video processing units, and Display controller.

  • 8/12/2019 iNTEL Atom Final SCJSDBCFCBBBBB XZVNDSJVCNCCNCNC DNDNDDN

    10/31

    Fig 19.2 The components of the graphics unit of the processor

    a)3D graphics: An integrated 3D graphics engine is an inbuilt feature of the SoC and this

    equips it with very good capability to handle pixel shading and vertex shading which are

    important in rendering 3D displays commonly found in applications like point of sale terminals,

    , games, and car dashboard . To understand this term ,let us try to get a grasp on how 3D

    graphics is created for such applications .

    Any 3D object is generated by describing it in terms of triangles which in turn are

    defined by their vertices . The more the number of triangles (and hence the vertices) used to

    describe an object ,the better is its appearance because of the better resolution available to

    represent curves .In effect ,a smoother picture is the result ,but at the cost of high

    computational complexity .A vertex shader transforms the vertex geometry information to

    create a 2D representation in the screen space. Those transformed vertices are then processed

    to create display lists in memory.

    Next comes pixel processing .A pixel, i.e. picture element , is the smallest unit of a

    picture . A pixel shader operates on every pixel thus creating even more detail than what is

    provided by the vertex shaders. Pixel shaders create the fine details of a picture i.e ,the

    texture. In essence, the quality of graphics is dependent on the computational capability of the

    vertex and pixel shaders . In E6xx ,vertex shading is realized in software and pixel shading in

    hardware.

    The unified shader of Atom E6xx contains a specialized programmable processing unit with

    capabilities specifically suited for efficient processing of graphics geometries (vertex

  • 8/12/2019 iNTEL Atom Final SCJSDBCFCBBBBB XZVNDSJVCNCCNCNC DNDNDDN

    11/31

    shading), graphics pixels (pixel shading), and general-purpose video and image processing

    programs. In addition to data processing operations, the unified shader engine has a rich set of

    program-control functions permitting complex branches, subroutine calls, tests, etc., for run-

    time program execution.

    b)Video Encoder and Decoder

    In earlier times, video encoding and decoding was handled by the general purpose CPU itself

    but current trends are to perform video encoding and decoding using dedicated hardware and

    this is called hardware accelerated transcoding .Thus ,there has been a surge in the

    availability of graphics cards and processors that can decode and subsequently re-encode

    compressed video. The Atom has such a unit integrated in the SoC .

    The video encode hardware accelerator in E6xx improves video capture performance by

    providing dedicated hardware-based acceleration, allowing encoding of high definition video

    streams in the highly compressed H.264 format with a very low main CPU utilization, thus

    releasing the general purpose processor for other parallel workloads. Other benefits are low

    power consumption, low host processor load, and high picture quality. This unit can take a

    video and encode it to the following formats : MPEG4, H.264 , H.263 and VGA. Applications like

    video surveillance can effectively use the onchip video encoding accelerator to compress the

    incoming raw video before storing or sending over the network interface.The SoC has video decoding hardware also , which can handle the formats of MPEG2,

    MPEG4, VC1, WMV9, H.264 and DivX*. Applications like Digital video rendering can use video

    decoder facility to render high definition data streams on the display.

    c) 2D and Display Controller

    The Display Controller provides the 2D graphics functionalities for the display pipeline.

    The Display Controller converts a set of source images and delivers them with proper timingto display devices. The display output can be divided into three stages:

    Planes

  • 8/12/2019 iNTEL Atom Final SCJSDBCFCBBBBB XZVNDSJVCNCCNCNC DNDNDDN

    12/31

    The Display Controller contains a variety of planes. A plane constitutes a display and a cursor

    and is a rectangular shaped image that has characteristics such as source, size, position,

    method, and format.

    Pipes

    A pipe consists of a set of planes and a timing generator. The processor has two independent

    display pipes that can allow for support of two independent display streams. Along the display

    pipe, the display data can be converted from one format to another, stretched or shrunk, and

    colour corrected or gamma converted.

    Ports

    Display ports are the destination for the display pipe. The E6xx Series has one dedicated LVDS

    and one SDVO port. Since two display ports are available for its two pipes, the processor can

    support up to two different images on two different display devices. Automotive applications

    would use one display as car dash board with Navigation support, and the other display for

    back seat entertainment such as playing DVD movie.

    .

  • 8/12/2019 iNTEL Atom Final SCJSDBCFCBBBBB XZVNDSJVCNCCNCNC DNDNDDN

    13/31

    Fig 19.3 The Display controller

    Fig 19.3. shows two independent display pipes, Pipe A and Pipe B which produces output as

    listed below.

    Display Pipe A: Outputs directly as LVDS

    Display Pipe B: Outputs directly as SDVO

    Let us now discuss the terms LVDS and SDVO.

    19.3.3.1 LVDS (Low-Voltage Differential Signaling)LVDS was introduced in the mid-1990s and is very popular in computers, where it forms

    part of very high-speed networks and computer buses. The idea in this is that a signal is to

    be represented as the difference between voltages at two points. Because of the

    difference ,any common noise signal gets cancelled out. Thus differential signals are

    much cleaner than single ended signals. Also the difference signal is very low in amplitude

    ,and so power dissipation is very small.

  • 8/12/2019 iNTEL Atom Final SCJSDBCFCBBBBB XZVNDSJVCNCCNCNC DNDNDDN

    14/31

    LVDS is a high-speed digital interface that is used for several high data rate applications

    that require high noise immunity and low power consumption . It is used in all types of

    devices - DDRs ,buses , displays ,networks etc. The LVDS output from the display pipe A is

    designed to be used directly for flat panel displays

    19.3.3.2 SDVO(Serial Digital Video Out)

    Digital display channel B is capable of driving SDVO adapters .SDVO was developed by Intel

    to interface third party compliant display controller devices that may have a variety of

    output formats like DVI,LVDS,HDMI and TV-Out . The protocol and timings are unique

    though the electrical interface is PCIe.

    19.3.4 Intel High Definition Audio Controller

    This controller conforms to the Intel High Definition Audio Specification which defines a

    digital interface that can be used to attach different types of audio codecs (coder-decoder).

    This specification supports up to four audio streams, two in and two out.

    Having such a high definition audio controller inside the SoC allows the processor to be

    easily used to design automotive and consumer electronics products with excellent audio

    quality. Fig 19.4 .shows the architecture of a HD audio controller with multiple links. The

    controller uses a set of DMA engines to effectively manage and support simultaneousindependent streams on the link. The audio controller supports isochronous data transfers

    which allow glitch free audio. . On the input side, the E6xx Series adds support for an

    array of microphones.

  • 8/12/2019 iNTEL Atom Final SCJSDBCFCBBBBB XZVNDSJVCNCCNCNC DNDNDDN

    15/31

    Fig 19.4 Block diagram of Intel High Definition audio management system

    19.3.5 SPI Controller

    SPI is a serial three wire protocol which is very popular in embedded systems .It is a bus

    developed by Motorola. SPI stands for Serial Peripheral Interface and as the name suggests , it

    is a serial data transfer protocol, which is synchronous and full duplex (data can be sent in both

    directions simultaneously), between a microcontroller unit (MCU) and a peripheral. As

    a system, it is a single master, multi-slave system, in which only one of the slaves is to be

    enabled at a time. It is a master slave protocol, in the sense that the master is the unit that

    generates the clock signal and initiates data transfer. When the master does this, data

    transfer occurs in both directions (simultaneously). In most x86 based systems , the SPI bus is

    the one used to connect to the flash ROM which contains the BIOS. Such an interface provides

    a low cost option for connecting high capability flash devices. E6xxx contains an SPI controller

    module which offloads Atom CPU by driving the SPI protocol on the bus and providing the

    necessary software interface for reading/writing devices in data blocks.

    19.3.6 SM Bus Controller:

    The term SMBus stands for System Management Bus defined and developed by Intel in

    1995. It is a two wire proprietary bus of Intel which is similar to the I2C protocol developled by

  • 8/12/2019 iNTEL Atom Final SCJSDBCFCBBBBB XZVNDSJVCNCCNCNC DNDNDDN

    16/31

    Phillips. It is used in personal computers and servers for low-speed system management

    communications with various devices on the system. Such devices typically include temperature

    sensors, fan controls, voltage regulators etc. Now ,there are some embedded devices which

    use this protocol

    19.3.7 RTC (Real Time Clock)

    The RTC i s used for getting time to be counted in terms of hours ,minutes and seconds .(In PCs

    , the RTC is realized in a separate chip which is powered by a battery ,which keeps it working

    non-stop even when the system is powered off.)

    The Real Time Clock (RTC) module inside the Atom chip provides a battery backed-up date and

    time keeping functionality. The design of this RTC is functionally compatible with the Motorola

    MS146818B which is the RTC used in PCs. The time keeping base clock comes from a 32.768 kHz

    oscillating source, which is internally divided to achieve an update every second. The RTC of the

    E6xx series has internal registers and SRAM which are organized as two banks of 128 bytes

    each, called the standard and extended banks. The first 14 bytes of the standard bank contain

    the RTC time and date information along with four registers, A to D, that are used for

    configuration of the RTC. The extended bank contains a full 128 bytes of battery backed SRAM

    which typically stores BIOS settings.

    19.3.8 8254 Timer and 8259 APIC

    The 8254 is the legacy x86 timer ,and the 8259 is the legacy PIC (programmable Interrupt

    controller) Both these ICs have been discussed in depth in Chapters 11 and 12 . There is also

    the I/O APIC (Advanced PIC) ,the details of which have been discussed in Section 17..

    19.3.9 Low Pin Count Interface (LPC) This is another - legacy interface for low speedperipherals (Section 20..). It is used to connect low speed devices that dont require the

    bandwidth of PCI Express. Example of such devices as PS2 keyboard/mouse ,legacy serial and

    parallel ports etc.

  • 8/12/2019 iNTEL Atom Final SCJSDBCFCBBBBB XZVNDSJVCNCCNCNC DNDNDDN

    17/31

    19.3.10 Watch Dog Timer(WDT)

    A watchdog timer is an additional timer that does a monitoring job and resets the

    system, if necessary. The scenario is this. Most embedded systems are expected to be

    self-reliant. There is very little possibility of intervention by a human operator in case

    the associated software goes awry by getting stuck in an infinite loop.. Such anomalies can

    occur due to various reasons like deadlocks (in a multitasking environment), a noise voltage on

    some pin which may cause wrong triggering and so on.

    The point is that, if such a situation arises, there should be a mechanism by which this is

    automatically detected and gets the system to reset. The watchdog timer, like any timer, can

    be loaded with a count whichdecrements down to zero. When it reaches zero, it resets the

    processor.

    For a system which is doing its job correctly, the watchdog timer count will never reach

    zero. Before that, the correctly operating software will re-start it periodically and re-load

    its original count, so as to prevent it from counting down to zero. If software get awry, the

    Watchdog does not get reloaded, and upon its count reaching zero, it resets and restarts the

    system automatically. Fig 19.5 illustrates the general operation of a WDT which is usually a

    mandatory component in all embedded processors.

    What is the number loaded as the count in a WDT? This is decided by considering howmuch time is to be allowed for the system to recover (on its own) before it is to be forcibly

    reset. . E6xx processors offers a wide time range from 1 s to 10 minutes to cover varieties of

    applications.

  • 8/12/2019 iNTEL Atom Final SCJSDBCFCBBBBB XZVNDSJVCNCCNCNC DNDNDDN

    18/31

    Fig 19.5 The operation of a watch dog timer

    19.3.11 GPIO(General Purpose I/O)Embedded processors need signal pins to which non-standards sensors/actuators can be

    connected . These pins -should be programmable to act as input or outputs . For example an

    input pin may be needed to attach a temperature sensor and an output pin to connect a single

    LED. Atom has 14 such GPIO pins .

    19.3.12 PCIe Channels

    PCIe is a high speed scalable interface which provides point to point connectivity betweencomponents. There are 4 single lane PCIe channels in E6xxx which can be used to connect

    external peripherals.

    The 4 x1 PCIe ports operate as four independent PCIe controllers. Each root port supports up

    to 2.5 Gbits/sec bandwidth in each direction per lane. These ports may be used to attach

    discrete I/O components such as network adapters or a custom I/O Hub for increased I/O

    expansion.. Fig19.6 shows the case of one PCIe channelbeing used with an standard IO Hub

    (Sec 20..) which has multiple devices connected to it.

    .

  • 8/12/2019 iNTEL Atom Final SCJSDBCFCBBBBB XZVNDSJVCNCCNCNC DNDNDDN

    19/31

    Fig 19.6 Multiple peripherals attached through an IOH to one PCIe port of Atom

    19.3.13 A general Atom based System

    Fig 19.7 shows the Atom SoC with some general external peripherals -a DDR2 memory , two

    displays, one codec and many possible PCIe devices . In spite of being a single chip computer,

    Atom still needs an external clock generator .An optional power management IC is sometimes

    used to take care of the different voltage and power requirements needed for the different

    peripherals that form part of the system. Observe the 4 PCIe lanes . Four possible types of

    devices are shown connected to the channels. -i.e. any discrete component ,ASIC ,FPGA or a

    proprietary Hub . Since PCIe is an industry standard for connectivity, a plethora of devices

    have been developed over the years to cater various purposes; any peripheral which has PCIe

    connectivity can be seamlessly connected to the system.

  • 8/12/2019 iNTEL Atom Final SCJSDBCFCBBBBB XZVNDSJVCNCCNCNC DNDNDDN

    20/31

  • 8/12/2019 iNTEL Atom Final SCJSDBCFCBBBBB XZVNDSJVCNCCNCNC DNDNDDN

    21/31

    Fig 19.8 Expanding the functionality of the chip using a custom IOH

    19.4 Power reduction techniques in processors.

    The title of this section addresses a very general problem ,but it is introduced in this chapter

    ,because power reduction is a very important issue for Atom processors.

    In the early years of computer evolution ,power dissipation and power reduction were

    not issues on which much time or effort was spent. CPUs worked at low frequencies and were

    massive in physical size but computers were used only for specialized applications. Getting

    more performance was the point in focus then.

    Over time ,computers became more powerful and also more power hungry .Thermal

    management i.e cooling techniques to reduce heat dissipated in computer systems , became a

    big research problem . Along with this ,more thought was given to power management while

    keeping performance high.

    . In recent times ,the whole scenario has changed -dramatically and very fast. Now

    computers are something that everyone possesses and they have also become portable and

  • 8/12/2019 iNTEL Atom Final SCJSDBCFCBBBBB XZVNDSJVCNCCNCNC DNDNDDN

    22/31

    mobile .When high performance processors have to be used for small devices like mobile

    phones and tablets where batteries are the source of power , power reduction requirements

    become very stringent . In short , no processor or computer design can ignore the power

    issue . This is being tackled at various fronts which are as listed below.

    I)CPU design stage

    ii) System design stage

    iii) Application level

    19.4.1 CPU Design Stage : This is a very specialized topic which is to be dealt with, at the IC

    design level . Techniques for reducing static and leakage current and designing CPUs which

    operate at low volage levels is the way it is tackled . Some time back , microprocessors had 5V

    as supply voltage .The latest ones use levels around 1 V now . Atom needs a supply voltage of

    just 1.8V.

    There are techniques such as clock-gating, pulsed operation of latches, insertion of

    sleep transistors, use of high threshold CMOS devices on noncritical paths, partitioning the chip

    into multiple clock and voltage domains etc which have been extensively used in processor

    design. Most of these and many more innovative design concepts have been added to the

    newer processors including Atom .But we will not discuss these techniques here as they are

    beyond the scope of this chapter .

    19.4.2 System Design Stage: A computer system is not the just CPU alone . Every component

    uses power and hence choosing low power components like displays ,disk drives , buses ,

    memory,chipsets etc is very important .In the field of embedded systems ,the right choice of

    peripherals matter much more than regular computer systems.

    19.4.3 Application Level : This is where power management is done actively -of course with

    the support of the processor and platform hardware . We will see more of it now.

    19.4.4 THERMAL DESIGN POWER (TDP)

    A term TDP has been coined where TDP (expressed in watts) is a power rating for a

    processor/ system. It is defined as the maximum amount of power the cooling system in a

  • 8/12/2019 iNTEL Atom Final SCJSDBCFCBBBBB XZVNDSJVCNCCNCNC DNDNDDN

    23/31

    computer must be able to dissipate. It does not represent the maximum wattage that a system

    can withstand but indicates how much power would be drawn when running applications for

    which it is designed. Thus there is a typical TDP for any processor and so also for a platform or a

    system as a whole.

    The Atom E6xx series has TDP ranges from 3.3 W to 4.5 W depending on the specific

    processor. When it is a part of a system ,other components like chipsets and peripherals add

    more power dissipation .Table 19.2 shows TDPs of typical computer systems .

    Table 19.2 TDP ratings for typical computer systems(Courtesey : .)

    Why is TDP rating so very important?

    TDP pertains to power that is used up when the system is being used .

    i) It affects the cooling system .For higher TDPs ,active cooling techniques like

    cooling fans and cooling tubes may become necessary .This increases the bulk of

    the system and portability is affected .Obviously tablets and mobile phones

    cannot use such cooling techniques.

    ii) A great majority of computing platforms now conform to the mobile category

    .Desktops have given way to notebooks which we call laptops . Tablets and

    mobile phones are also computing devices. All these are battery operated and

    for longer battery life, a low TDP is very essential.

  • 8/12/2019 iNTEL Atom Final SCJSDBCFCBBBBB XZVNDSJVCNCCNCNC DNDNDDN

    24/31

    19.4.5 POWER MANAGEMENT

    Let us list out a few interesting points with respect to power management

    i) TDP is defined for a system in its running state . What this implies is that ,when it runs

    at maximum performance ,it power dissipation should be within the limit specified. But

    a system that is running may be at different levels of performance at different times.

    For example, it may be switched ON ,but may not be doing anything significant . But

    because of being powered on ,it draws power .This is what we call idle power . To

    conserve the battery ,this idle power should be very low .

    ii) For idle parts of the system , power to part of the systems may be switched off . As the

    idle period extends ,more and more devices in the system may be put in an idle state

    ,which is called the sleep state where power consumption is at the lowest . Since the

    processor is not doing any activity ,its clock ,memory , etc can be turned off . All these

    techniques lead to a very low average power dissipation .If the device is battery

    powered ,it definitely extends the battery life.

    iii) Power dissipated in a system is directly proportional to the clock frequency ,as well as

    the square of the supply voltage. For getting higher performance , processors and

    systems are expected to work at high speeds ,which translates to high clock frequenciesiv) A point to note is that a system has varying workloads ,which means that the number of

    tasks it needs to run concurrently ,varies . If it has just a few number of tasks and these

    tasks dont demand stringent deadlines ,there is no absolutely need for it to compute

    at high speeds . This directly leads to the possibility of being able to operate the system

    at a lower frequency . In contrast ,when heavy workloads with time constraints and

    complex computations are needed ,the system must be able to perform efficiently

    .This will need higher frequencies and cores working at higher supply voltages .Thisnecessitates the concept of Dynamic voltage scaling (DVS) which addresses the

    problem of how to modulate a processors clock frequency and supply voltage in

    accordance with the workload .

  • 8/12/2019 iNTEL Atom Final SCJSDBCFCBBBBB XZVNDSJVCNCCNCNC DNDNDDN

    25/31

    v) Because of the importance given to low power capabilities ,systems are better

    evaluated in terms of performance/watt rather than just performance.

    19.5 ACPI (Advanced Power and Configuration Interface)

    The ideas discussed above have been formalized by the computer industry and a

    standard has been devised for dynamic power management of computers . The latest

    standard is named ACPI. ACPI (Advanced Configuration and Power Interface ) is an open

    industry specification co-developed by several companies (ACPI, 2004). Before ACPI ,there was

    APM ( Advanced Power Management)which was a power management solution controlled by

    BIOS . Since the APM scheme had no idea on the applications running on a system, it became

    inadequate for supporting effective power management. In contrast, ACPI is one that is

    controlled by the OS and all major OSes of systems from desktops to tablets and mobile phones

    support this standard. It should be noted however ,that the processors used should have the

    hardware to support the OS for power management.

    What does ACPI do ?

    ACPI defines a number of states from active and sleep to off states , for CPUs , systems

    ,devices etc and also defines and activates various levels of performance. ACPI provides a

    well defined interface so that BIOS can communicate the system capabilities to the OS in a

    consistent way. The ACPI standard categories the various states as follows:

    19.5.1 Processor C States

    We will start with the states relevant to the CPU which are designated as C states. When a

    system is in the ON state ,it is not necessary for the CPU to be in an active state always

    ,because there will be periods when it can be shut off or be dormant . Also, some parts of the

    CPU can be put in sleep states .When there is more than one core ,it is possible that some ofthem are shut off .All these possibilities are engrained in the various C states C0 to Cn. Co is the

    state when the CPU is fully ON. As the value of n increases ,it implies that more that more

    components in the CPU are shut off and that the CPU is in a deeper sleep state .Deep sleep states

    have two effects.

    i) Lower power consumption

  • 8/12/2019 iNTEL Atom Final SCJSDBCFCBBBBB XZVNDSJVCNCCNCNC DNDNDDN

    26/31

    ii) More latency for waking up

    Table 19.3. explains these states, in a simplified manner

    C states Condition of the

    CPU

    What is done Remarks

    C0 Active The CPU is active in executing

    instructions

    No power saving

    C1 Halt The CPU is executing the HLT

    instruction ,so no instruction processing is

    done

    70% power saving

    C2 Stop Grant The core clock is stopped -

    C3 Deep sleep The bus clock is stopped -

    C4 Deeper sleep The core voltage reduced to around 1 V

    and a gradual reduction data in L2 cache is

    begun

    -

    C5 Still deeper sleep Data in L2 cache is reduced to zero Power saving of

    98%

    C6 A new state Core voltage is reduced down to zero This state isimplemented only

    in mobile

    processors.

    Table 19.3 The C states as defined in ACPI

    Note that these states have to be implemented in the design of the CPU . Most x86

    processors have implementation of states C0 to C5 ,while Atom is one of the few

    processors in which the C6 state is also implemented.

    Now that we have had a glance at the CPU sleep states ,it is easy to understand similar

    states for other parameters and components.

    19.5.2 P States :This pertains to performance states. We have seen that for higher

    performance higher frequencies and voltages are needed.Obviously scaling these factors up or

  • 8/12/2019 iNTEL Atom Final SCJSDBCFCBBBBB XZVNDSJVCNCCNCNC DNDNDDN

    27/31

    down directly affects performance .There are 16 defined Pn states where P1 is for the best

    performance and higher values of n mean lower performance ,but less power consumption

    and consequent less heat generated.

    In Intel processors including Atom ,performance modulation is achieved by Enhanced

    Intel SpeedStep Technology(EIST)which is a thermal and power management technology that

    allows processorperformance and power consumption levels to be modified while the system

    is running.The clock frequency and voltages are reduced in steps to reduce power dissipation.

    Any system which wants to take advantage of this technology needs to have it supported in the

    processor, chipset , motherboard, BIOS and Operating System.

    The BIOS enlists the number of C states and P states supported by the system in the ACPI

    tables. The OS then makes use of this information for managing speed and power.

    19.5.3 S States:

    These are sleep states for a system where parts of the system are progressively switched off

    .See Table 19.4.

    State Condition What is done

    S0 System On System is fully ON and all parts are in their working state

    S1 Stop Grant The processor stops executing instructions, but processor context

    is available in hardware registers

    S2 This S2 state is not used anymore

    S3 Suspend to RAM The processor is OFF and its context is available in system RAM.

    Example for S3 state is laptops Sleep mode.

    S4 Suspend to disk The processor context is available in the disk only. Example for

    S4 state is laptops Hibernate mode.

    S5 Soft OFF The system is OFF practically,System context is lost, though

    mechanical OFF is not done.

    Table 19.4 System sleep states

    19.5.4 Power management at multiple levels

  • 8/12/2019 iNTEL Atom Final SCJSDBCFCBBBBB XZVNDSJVCNCCNCNC DNDNDDN

    28/31

    It is not only at the CPU and System level that various sleep states are defined. They can be

    defined for individual devices and links and also for a global system view .All these are listed

    below.

    Global view: Gx states

    System: Sx states

    CPU: Cx states

    PCI / PCI-X Bus: Bx states

    PCI Express Links: Lx states

    Devices: Dx states

    Thermal: Tx States

    SILVER MONT

    We have talked about the Bonnell architecture which is based on a 45nm technology .The

    smaller die version (32nm)of it is named Saltwell . In May 2013, Atom with a new architecture

    was released . The name of this new microarchitetcure for Atom is Silvermont ,which is an

    entirely new design though it has added in it many advanced aspects used in other Intel

    processors.

    In what aspects does Silvermont differ from Bonnell ?

    Some of the differences are

    Out-of order architecture

    Modular Core architecture with upto two cores per module

    Upto four modules, i.e. 8 cores

    Based on a 22nm process specially tuned for SoCs

    Uses 3D Finfet transistors

    L2 cache upto 1 MB per module

    Better branch prediction and faster recovery from branch mispredictions

  • 8/12/2019 iNTEL Atom Final SCJSDBCFCBBBBB XZVNDSJVCNCCNCNC DNDNDDN

    29/31

    No hyperthreading

    Addition of new instructions

    Higher speed internal buses to support high badnwidth for memory and PCI Express

    An interesting feature is that Silvermont's multi-core design is organized as modules with each

    module having two cores in it A dual core chip will use just one module . The device can be

    scaled up to 8 cores.See Fig 19.8 Each module is built around a pair of cores, with individual L2

    caches (up to 1MB,) interconnected via a system agent /crossbar.

    .

    Fig 19.8 A quad core Silvermont Atom with two interconnected modules

    With many such innovative aspects ,Silvermont is expected to have around 3 times higher

    performance and 5 time power efficiency compared to Saltwell .

    Silvermont has been made available in the SoC named Merrifield for smartphones, Baytrail

    for tablets, and Avoton for Microservers . The latter two are targeted for Embedded and

    Comunications Infrastructure market segments. The processor is also available in various TDP

    versions which means it can be used for desktops and servers also ,though with higher TDPs

    and performance.

  • 8/12/2019 iNTEL Atom Final SCJSDBCFCBBBBB XZVNDSJVCNCCNCNC DNDNDDN

    30/31

    Intel plans to release a new core every year for Atom ,like it does for its desktop

    processors .The 14 nm version of Silvermont is named Airmont and is scheduled for release in

    2014.

    APPLICATIONS

    The high performance, cost effective, low power Atom architecture based processors enable

    various classes of applications. Examples are Industrial Controllers, Automotive In-vehicle

    Infotainment systems, Internet of Things, portable instruments etc.

    Key Points of this chapter

    Intel is a company which has developed many general purpose processors and is the

    industry leader in this field.

    Intel has also designed many embedded processors which have been very popular.

    The newest embedded processor of Intel is Atom which has very many applications.

    The name of the microarchitecture used in Atom is Bonnell.

    Tunnelcreek is the name of an Atom based SoC

    It is meant for embedded applications and has all the peripherals in it for its use in this

    way.

    It has specialized hardware for graphics.

    An Atom based system can use an IO Hub chipset or can be interfaced to peripherals

    using the PCIe bus.

    Power reduction techniques are important in all processors and specially in Atom.

    Atom has been designed for a very low TDP.

    Power management for computer systems is done using OS supports.

    ACPI is the current power management standard.

    Silvermont is the new microarchitecture for the latest Atom processor.

    QUESTIONS

  • 8/12/2019 iNTEL Atom Final SCJSDBCFCBBBBB XZVNDSJVCNCCNCNC DNDNDDN

    31/31

    1. In what ways should an embedded processor be different from a general purpose

    processor?

    2. Why has the Bonnell microarchitecture been designed to be an in order pipeline?

    3. What is the downside of adding hyperthreading to the Bonnell core?

    4. List out a few applications where Atom has been used .

    5. Why is Tunnelcreek called an SoC?

    6. What are the graphics capabilities of Tunnel creek? Explain in detail.

    7. Why is LVDS a very good method of signal capture?

    8. How does the WDT function? Why is it a mandatory peripheral in all embedded devices?

    9. Why is power reduction a key point in system design?

    10.How is power managed dynamically ?

    11.What is ACPI and how is it used?

    12.List out the different states used in ACPI and explain the concept behind the definition

    of each of these states.

    13.What is meant by the term TDP and how is it relevant for mobile devices?

    14.List out the features of Silvermont which are different from Bonnell.

    15.What is Airmont?