l19_22 embedded platform architecture
TRANSCRIPT
-
7/31/2019 L19_22 Embedded Platform Architecture
1/52
Software for Embedded Systems
CS424KCS Murti,
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