l19_22 embedded platform architecture

Upload: wolfrum74

Post on 04-Apr-2018

233 views

Category:

Documents


0 download

TRANSCRIPT

  • 7/31/2019 L19_22 Embedded Platform Architecture

    1/52

    Software for Embedded Systems

    CS424KCS Murti,

    [email protected]

    Embedded platform Architecture

  • 7/31/2019 L19_22 Embedded Platform Architecture

    2/52

    Embedded Platform architecture

  • 7/31/2019 L19_22 Embedded Platform Architecture

    3/52

    Outline Constituent components that make up on ES

    How are they physically connected? Software/processing view of the components.

    Expand the capabilities of the SOC device through interfaces

  • 7/31/2019 L19_22 Embedded Platform Architecture

    4/52

    History

    VME bus

    Multi bus

  • 7/31/2019 L19_22 Embedded Platform Architecture

    5/52

    History

  • 7/31/2019 L19_22 Embedded Platform Architecture

    6/52

    System on Chip(SoC)

    SoC expansion

  • 7/31/2019 L19_22 Embedded Platform Architecture

    7/52

    Basic system architecture

    System with Core-2Duo processor

    System with Core i7processor

    System with Atomprocessor

  • 7/31/2019 L19_22 Embedded Platform Architecture

    8/52

    The Front Side Bus (FSB)

    Uses source synchronous

    clocking. data is quad pumped

    (ex) 1333 Mega Transfers per

    second (MT/s) based on a 333

    MHz base clock

    Maintains cache coherency

    Bus supports split transactions

  • 7/31/2019 L19_22 Embedded Platform Architecture

    9/52

    Memory controller (MCH) CPU connects to the MCH through the

    FSB FSB unit in the MCH is responsible for

    the CPU cache coherency

    64 bit data transfers (width of L2

    cache)

    DMI(Direct Media Interface ):4 lanes

    supporting 2.5 GT/s

    PCI Express interface: 16 lanes @2.5

    Gb/s per lane

  • 7/31/2019 L19_22 Embedded Platform Architecture

    10/52

    IO controller Hub (ICH) Extensive I/O support.

    Support for legacy peripherals. Power sequencing

    ACPI power management

    Fan speed control

    Reset timing.

    Integrates numerous support peripheralsReal Time Clock (RTC)

    High Precision Event Timers

    Advanced Programmable Interrupt

    Controller (APIC)

  • 7/31/2019 L19_22 Embedded Platform Architecture

    11/52

    Modern IO interfacesICH acts a bridge

    PCI interface (33 Mhz) PCI Express (2.g gb/s per lane differential )

    Serial ATA (1.5Gb/s )

    Integrated Drive Electronics (IDE): control hard drives,

    CDs

    Universal Serial Bus (USB): (480 Mb/s) General Purpose I/O (GPIO): system customization,

    interrupts, events

    System Management Bus (SMB): Compatible with I2C

    bus. Connects to SMBUS slaves.

    Serial Peripheral Interface (SPI): interface to BIOS flashdevices. (defacto standard)

    Low Pin Count Interface (LPC): replaces the ISA bus.

    Interface for low speed controllers like floppys, serial ports

    etc.

    IO controller Hub

  • 7/31/2019 L19_22 Embedded Platform Architecture

    12/52

    System Controller Hub (SCH) Integrates most of the MCH and ICH

    functionality Optimized for low power applications

    Advanced power management

    capabilities

    Major differences:

    SDIO Secure Digital Input /OutputUsually used for media

    cards.

    MMC Multi-Media CardUsually

    used for media cards.

    SDVO Serial Digital Video Out

    display interface.

    LVDS Low Voltage Digital

    Signalingflat panel display

    interface.

  • 7/31/2019 L19_22 Embedded Platform Architecture

    13/52

    Processor Normally 32 bit

    RISC/CISC instruction set architectures (ISA) Scalar/Super scalar

    Sustain execution of more than one instruction per

    clock cycle

    Trend for ES is super scalar

    Supporting hardware:Memory sub system

    Interrupt controller

    Timers

    IO access

  • 7/31/2019 L19_22 Embedded Platform Architecture

    14/52

    Intel Atom Processor

    Low power, Low cost and low performance

    processors compared to regular core-duo, i3/i5/i7...

    For example: Z510P (512K Cache, 1.10 GHz, 400

    MHz FSB)

    One core, two threads 32-bit x86 with MMX, SSE, SSE2, SSE3 and SSSE3

    extensions

    Many other processors of Atom series

  • 7/31/2019 L19_22 Embedded Platform Architecture

    15/52

    System memory map List of physical addresses of all

    resources

    IA-32 have distinct memory

    and IO spaces

    System and MMIO address

    ranges

    TOLM: Top of local memory

    MMIO divided into sub regions

  • 7/31/2019 L19_22 Embedded Platform Architecture

    16/52

    Interrupt controller Gathers all hardware interrupt

    events and presents to theprocessor.

  • 7/31/2019 L19_22 Embedded Platform Architecture

    17/52

    Interrupt ack and priority schemes

  • 7/31/2019 L19_22 Embedded Platform Architecture

    18/52

    Legacy interrupt controller Cascaded PICs

    Master/slave behavior High latency(--)

  • 7/31/2019 L19_22 Embedded Platform Architecture

    19/52

    APIC Advanced PIC

    Local APIC for each hardwarethread

    Local APIC is integral part of

    processor.

    Receives interrupts from

    Local IO devicesExternally connected IO

    devices

    Inter processor interrupts (IPI)

    Timer generated interrupts.

    Thermal sensor interrupts

    APIC internal error interrupts

  • 7/31/2019 L19_22 Embedded Platform Architecture

    20/52

    Local APIC

    Registers memory mapped to4KB region

    Must be uncacheble

    LVT: associates int source to

    a vector.

    Accepts interrupts from PCIe

    devices

    IO APIC collects interrupts

    and routes to Local APIC

  • 7/31/2019 L19_22 Embedded Platform Architecture

    21/52

    Interrupt controller hierarchy

  • 7/31/2019 L19_22 Embedded Platform Architecture

    22/52

    Timers Timer infrastructure

    Legacy 8253/54 timer block High precision Event

    timers(64 bit) and mapped to

    processor address space.

    Local APIC interrupt timer

    Watch dog timer

  • 7/31/2019 L19_22 Embedded Platform Architecture

    23/52

    DRAM controller

  • 7/31/2019 L19_22 Embedded Platform Architecture

    24/52

    Pipelining DRAM access

  • 7/31/2019 L19_22 Embedded Platform Architecture

    25/52

    SRAM controllers Density is far lower than DRAM

    Read/write access is faster

  • 7/31/2019 L19_22 Embedded Platform Architecture

    26/52

    Non volatile storage Most common is Flash memory

    NOR flash and NAND flash NAND flash has higher density

    NAND flash

  • 7/31/2019 L19_22 Embedded Platform Architecture

    27/52

    Device interfaceConnect to an external application-specific I/O device

    Capabilities: Transaction mapping

    Allow mapping of address space from the processor to the device

    Inbound transactions:

    Allow the external devices to read and write resources in the SOC

    Interrupts:Ability to route interrupts from the device to the processor.

    Physical standard:

    allows the system to be expanded with many different capabilities.

  • 7/31/2019 L19_22 Embedded Platform Architecture

    28/52

    Evolution of PC buses

  • 7/31/2019 L19_22 Embedded Platform Architecture

    29/52

    PCI express Introduced in 2004

    Compatibility with the PCIaddressing model .

    Transaction: packet-based, split-

    transaction protocol

    Link layer: sequencing and CRC.

    Physical: dual simplex channel

    Lane: one Tx and Rx pair

    Provides 250MB/s to shared device.

  • 7/31/2019 L19_22 Embedded Platform Architecture

    30/52

    Physical layer consists of two low-voltage AC-

    coupled differential pairs of signals

    2.5 Gb/s/direction (likely to reach 10

    Gbps/direction)

    Links two PCI Express agents.

    linearly scaled by adding signal pairs

    to form multiple lanes

    physical layer provides 1-32 lane

    widths

    splits the incoming data packets

    among these lanes

    The expansion boards and the lane

    widths should match. Role:

    Encoding(8b/10b), decoding

    Reset, initialization

    Configuration: speed, lane width,

    Lane mapping

  • 7/31/2019 L19_22 Embedded Platform Architecture

    31/52

    DataLink layer Responsible for data integrity

    Adds a sequence number and aCRC

    Packets are initiated at the

    transaction layer

    Credit-based, flow-control

    Retries a packet that was

    signaled as corrupted

  • 7/31/2019 L19_22 Embedded Platform Architecture

    32/52

    Transaction layer Receives read and write requests from the

    software layer

    Creates request packets

    All requests are implemented as split

    transactions

    Receives response packets from the link

    layer.

    Packet has attributes (viz): no-snoop,

    relaxed ordering, and priority

    Provides four address spacesthree PCI

    address spaces (memory, I/O, and

    configuration) and message space

    Message signaled interrupt (MSI):Uses a message space to accept

    signals like interrupts, power-

    management requests, and resets etc.

    virtual wire concept

    Avoids sideband signals

  • 7/31/2019 L19_22 Embedded Platform Architecture

    33/52

    Software layer Initialization

    OS can discover all of the add-inhardware devices present and then

    allocate system resources.

    Programmability of I/O devices

    Run time

    Load-store, shared-memory model

    PCI Express 8

    PCI Express 16

    Graphics board with PCI X16 I/F

  • 7/31/2019 L19_22 Embedded Platform Architecture

    34/52

    PCI physical hierarchy

    Evolved from a 32-bit parallel bus

    to a high-speed lower-pin-count

    serial bus.

    PCI Express (PCIe) is the third

    generation of the PCI standard.

    Capability to identify devices

    attached to a PCIe bus at runtime.

    System software can allocate

    resources to these devices.(bus

    enumeration)

    Transactions occur from

    Requester to Completer

  • 7/31/2019 L19_22 Embedded Platform Architecture

    35/52

    Memory read CPU to Endpoint

  • 7/31/2019 L19_22 Embedded Platform Architecture

    36/52

    PCI configuration header Each device must have a base

    configuration header.

    Allows the system software to identify

    the device type and to assign memory

    and interrupts

    PCI device can read and write payloads

    (bus mastering)

    Uses circular buffers

    software sets up the descriptor with a

    pointer to the packet to be transmitted.

    tail pointer is updated in the device

    device reads the descriptor and finds a

    pointer to a packet to be transmitted

  • 7/31/2019 L19_22 Embedded Platform Architecture

    37/52

    Universal Serial Bus (USB) Low-voltage differential pair serial bus.

    Support real-time data transfer of video,audio, and data

    Tiered star physical topology.

    Two types of USB device, hubs and

    functions.

    Hubs provide additional fan-out for the bus.

    Functions provide a capability such as a mass

    storage or mouse.

    USB bus is hot-pluggable

    USB 2.0 speeds:1.5,12 and 480 MBPS.

    A system may act as controller or a device.

  • 7/31/2019 L19_22 Embedded Platform Architecture

    38/52

    USB Protocol Polled bus.

    Host controller initiates all data transfers. Endpoint is a logical channel identifier at the

    device.

    15 endpoints within a device

    Pipe: A logical connection between a

    software element running on the host and an

    endpoint in a device.

  • 7/31/2019 L19_22 Embedded Platform Architecture

    39/52

    USB-Data transfer typesControl Transfers

    used to configure the device. set up endpointsBulk Data Transfers:

    used for large-scale transfer of data

    Interrupt Data Transfers:

    used for timely delivery of data . used for events such as mouse movements.

    Isochronous Data Transfers:transfers are allocated a guaranteed bandwidth and delivery latency constraint.

    used for real-time transfers of audio and video

  • 7/31/2019 L19_22 Embedded Platform Architecture

    40/52

    Device descriptors Vendor identification

    Device class Power management

    capabilities

    Endpoint description with

    configuration information

  • 7/31/2019 L19_22 Embedded Platform Architecture

    41/52

    Programming Interface UHCIUniversal Host

    Controller Interface

    EHCIExtended Host

    Manages the transmission

    and reception of frames on

    the bus Controller

    Interface.

    Memory mapped registers: Capability registers

    capabilities of a host

    controller

    implementation.

    Operational registersinteract with the

    operational state of the

    host controller

    ECHI controller

  • 7/31/2019 L19_22 Embedded Platform Architecture

    42/52

    EHCI controller periodic transfers(isochronous and

    interrupt traffic)

    Asynchronous transfers (control and

    bulk transfers).

    periodic schedule is based on a time-

    oriented frame list that represents a

    sliding window of time of host

    controller work items

    Software stack

  • 7/31/2019 L19_22 Embedded Platform Architecture

    43/52

    Asynchronous transfers

  • 7/31/2019 L19_22 Embedded Platform Architecture

    44/52

    Low performance Device interconnects

    Low-speed, low-pin-count, low-performance interface types.

    Inter-Integrated Circuit (I2

    C) bus System Management Bus (SMB)

    Serial Peripheral Interface (SPI) bus

    Inter IC Sound (I2S)

    Universal Asynchronous Receiver/Transmitter (UART)

    High-Speed Serial

  • 7/31/2019 L19_22 Embedded Platform Architecture

    45/52

    Inter-Integrated Circuit Bus Multiple masters on the bus

    Two-wire bus consisting of aserial clock line (SCL) and a

    serial data line (SDA).

    Bidirectional and driven by

    open collector gates

    Low clock speeds

    States:

    Bus Not Busy

    Start Bus Transfer

    Data Transfer

    An acknowledge bit/cycle

    Stop Bus Transfer

  • 7/31/2019 L19_22 Embedded Platform Architecture

    46/52

    Bluetooth Low cost, low power, radio frequency technology for short-range communications

    Specs:2.4GHz ISM band, Frequency hopping

    Gaussian shaped BFSK Modulation

    723Kbps Data rate

    Operating range 10m~100m

    Power 0.1W (Active)Security -Link layer authentication and encryption

    RF:

    Carrier frequency: f=2402+k MHz k=0...78

    Hopping rate: 1 hop/packet. 1600 hop/s for 1 slot packet

    Channel bandwidth: 1MHz(-20dB) 220KHz(-3dB)uses spread spectrum

  • 7/31/2019 L19_22 Embedded Platform Architecture

    47/52

    Network topology Point-to-point and point-to-

    multipoint connections

    Unit that initiates the connection

    acts as the master.

    7 active slaves

    256 parked slaves

    Several bluetooth devices sharing

    the same channel (hopping

    sequence) form a piconet.

    Every device has a unique 48-bit

    Bluetooth Device Address

  • 7/31/2019 L19_22 Embedded Platform Architecture

    48/52

    MAC scheme Each piconet has a unique

    frequency hopping sequence

    Hopping sequence is

    determined by the Bluetooth

    Device Address of the master.

    Channel is time divided to slots

    of length 625 S.

    Slave synchronizes its clock tothe master whenever it receives

    a packet from the master.

    Two types of physical links:

    SCO (Synchronous

    Connection-Oriented) link and

    ACL (Asynchronous

    Connection-Less) link

    MAC:centralized TDD scheme

    totally controlled by the master

    unit

  • 7/31/2019 L19_22 Embedded Platform Architecture

    49/52

    Link states

  • 7/31/2019 L19_22 Embedded Platform Architecture

    50/52

    Connection establishment

  • 7/31/2019 L19_22 Embedded Platform Architecture

    51/52

    References Modern embedded Computing- Chap 4

    Overview of Bluetooth Technology, Hongfeng Wang, penn state More on USB can be found from www.usb.org

    http://www.usb.org/http://www.usb.org/
  • 7/31/2019 L19_22 Embedded Platform Architecture

    52/52