Professional Documents
Culture Documents
CS424
KCS Murti, Chandra.kavuri@gmail.com
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
History
VME bus
Multi bus
History
System on Chip(SoC)
SoC expansion
Modern IO interfaces
ICH 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 flash devices. (defacto standard) Low Pin Count Interface (LPC): replaces the ISA bus. Interface for low speed controllers like floppys, serial ports etc.
IO controller Hub
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
Interrupt controller
Gathers all hardware interrupt events and presents to the processor.
APIC
Advanced PIC Local APIC for each hardware thread Local APIC is integral part of processor. Receives interrupts from Local IO devices Externally connected IO devices Inter processor interrupts (IPI) Timer generated interrupts. Thermal sensor interrupts APIC internal error interrupts
Local APIC
Registers memory mapped to 4KB 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
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
DRAM controller
SRAM controllers
Density is far lower than DRAM Read/write access is faster
NAND flash
Device interface
Connect 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.
Evolution of PC buses
PCI express
Introduced in 2004 Compatibility with the PCI addressing model . Transaction: packet-based, splittransaction protocol Link layer: sequencing and CRC. Physical: dual simplex channel Lane: one Tx and Rx pair Provides 250MB/s to shared device.
Physical layer
consists of two low-voltage ACcoupled 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
DataLink layer
Responsible for data integrity Adds a sequence number and a CRC Packets are initiated at the transaction layer Credit-based, flow-control Retries a packet that was signaled as corrupted
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 spaces three PCI address spaces (memory, I/O, and configuration) and message space Message signaled interrupt (MSI): Uses a message space to accept signals like interrupts, powermanagement requests, and resets etc. virtual wire concept Avoids sideband signals
Software layer
Initialization OS can discover all of the add-in hardware 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
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.
Device descriptors
Vendor identification Device class Power management capabilities Endpoint description with configuration information
Programming Interface
UHCI Universal Host Controller Interface EHCI Extended 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 registers interact with the operational state of the host controller
ECHI controller
EHCI controller
periodic transfers(isochronous and interrupt traffic) Asynchronous transfers (control and bulk transfers). periodic schedule is based on a timeoriented frame list that represents a sliding window of time of host controller work items
Software stack
Asynchronous transfers
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
Network topology
Point-to-point and point-tomultipoint 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
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 to the 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
Link states
Connection establishment
References
Modern embedded Computing- Chap 4 Overview of Bluetooth Technology, Hongfeng Wang, penn state More on USB can be found from www.usb.org