System on Chip (SOC)

Post on 14-Jan-2016

41 views 3 download

Tags:

description

System on Chip (SOC). SOC. SOC consists of at least two or more complex micro-electronic macro components previously integrated into different single dies - PowerPoint PPT Presentation

transcript

System on Chip (SOC)

SOCSOC consists of at least two or more complex micro-electronic macro components previously integrated into different single diesComplex functionalities that previously required heterogeneous components to be connected on a PCB, are integrated within one single silicon chip

SOC:EvolutionTechnologies implementing embedded systems evolved from micro-controllers and discrete components to fully integrated SOCReason: advances in Silicon process technology enabling a complete system to be designed into one or few integrated devices

Space and Power reductionsIncreased Performance

Features of SOC Typically SOC incorporates

A programmable processorOn chip memoryAccelerated Functional Units (e.g. Digital Encryption Standard block, MPEG2 decoder)Peripheral devices

Often mixed technology designs integrating Analog, RF ComponentsMicro-electro-Mechanical Systems (MEMS)Optical input/output

SOC DesignTime and design effort required to integrate different types of components on a chip : a bottleneck for SOC evolutionDesign reuse to reduce time to market

Use of parts from previous designsMaking use of parts designed by third parties

Hardware and Software component model!

All for PROVEN and tested solutions, avoiding re-design and re-verification of real-time hardware and real-time software

IP based DesignIntellectual Property Cores

Parameterized components with standard interfaces facilitating high level synthesis

Cores available in three formsHard

Black box in optimized layout form and encrypted simulation model. Example: microprocessors

FirmSynthesized netlist which can be simulated and changed if needed

Soft Register transfer level HDLs; user is responsible for synthesis and layout

PlatformsEmbedded Applications built using

common architectural blocks andcustomized application specific components

Common architecturesProcessor, memory, peripherals, bus structures

Common architectures and supporting technologies (IP libraries and tools) are called Platforms and platform based designs

Platform based SOCPlatform based SOC’s are systems that contain

IP blocks like embedded CPU, embedded memory, Real world interfaces (e.g., PCI, USB),Mixed signal blocks and Software components

device drivers, real-time operating systems and application code

Classes of PlatformsFull Application Platform

Platforms that let derivative product designers create complete applications on top of hardware-software architectures

A set of hardware modulesExample: complex dual processor architecture with hierarchical bus system tailored to a specific product’s requirements

A layer of firmware and driver softwareExamples: Philip’s Nexperia, TI’s OMAP

Classes of Platforms(2)Processor Centric Platforms

Typically centered on specific processorsKey software services like real-time OS kernel made available through librariesExamples: ARM Micropack, ST Microelectronics ST100

Communication Centric PlatformCommunication fabric optimized for specific applicationFabrics often bundled with specific processorsExamples: ARM AMBA, IBM CoreConnect bus architecture

Classes of Platforms(3)Configurable(Programmable) platform

Programmable logic added to the platform allows consumers to customize using both hardware and softwareField programmable gate array(FPGA) added to hard-coded processor centric platformsExample: Altera Excalibur platform with ARM cores, Xilinx VertexII Pro

Multi-processor SOC (MPSoC)

Full application platformMultiple processors.

CPUs, DSPs, etc.Hardwired blocks.Mixed-signal.

Custom memory system.Lots of software.

Philips NexperiaMultimedia applications: set-top box, etc.2 CPUs, 3 busses, several accelerators,I/O devices.

MIPSTrimedia

bridge

to SDRAM

bridge

bridge

I/O I/O

acce

lera

tors

Acknowledgement: Wayne Wolf

TI OMAPTargets communications, multimedia.Multiprocessor with DSP, RISC.

C55x DSP

OMAP 5910:

ARM9

MMU

Memory ctrl

MPUinterface

SystemDMA

control

bridge

I/O

Acknowledgement: Wayne Wolf

ST NomadikTargets mobile multimedia.

A multiprocessor-of-multiprocessors.

ARM9

Mem

ory

syst

em

I/O

bri

dges

Audioaccelerator

Videoaccelerator

heterogeneousmultiprocessors

Acknowledgement: Wayne Wolf

OMAP

Open Multimedia Applications Platform

OMAPOMAP Application processor has a dual-core architecture: ARM 9 + TMS320C55 OMAP design chain includes

Software IP: OMAP supports several RTOS’s to suit different applicationsApplication and Middleware: Ported applications and middleware like MPEG-4 decoding and audio playback

Design Chain for OMAP

From: A Design Chain for Embedded System, G. Martin & F. Schirrmeister, IEEE Computer, March 2002

OMAP Hardware Architecture

From: Dedicated Systems Magazine 2001 Q2 Jamil Chaoi

OMAP Hardware ArchitectureARM RISC core is well suited for control code (OS, User Interface, OS applications)DSP best suited for signal processing applications like video, speech processing, audioPower efficient because signal processing task on DSP consumes much less power than on ARM

Example ApplicationVideo-conferencing

C55x DSP can process in real time full video conferencing application (audio and video at 15 images/sec) using only 40 p.c of the available computational capability

Can manage other applications concurrently

ARM processor can handle OS operations and other OS applications (may be Word, Excel, etc.)Less power consumption on the whole

How the Architecture Works?Both processors utilize an instruction cache to minimize external accesses

Both core uses MMU for virtual to physical memory translation and task-to-task memory protection

Uses two external memory interfaces and one internal memory port

External interfaces support to synchronous (DRAMS) or asynchronous memory (SRAM, FLASH)

Configured as 16 or 32 bit wide

Internal memory port for on-chip memory access for critical OS routines or LCD frame bufferAllow concurrent access from either processor or DMA unit

PeripheralsIncludes numerous interfaces to connect peripherals or external devices from either the DSP or GPPSome interfaces

Camera and Display interfaces Serial unidirectional compact camera port, 8-bit parallel interface, 8 bit/16 bit bi-directional display interface, OMAP internal LCD controller

Several Serial interfacesSPI, McBSP, I2C, USB, UART

Software ArchitectureDefines an interface scheme that allows GPP to be the system master

Called the DSP/BIOS Bridge

DSP/BIOS Bridge provides communications between GPP tasks and DSP tasksHigh level application developers use a set of DLL’s and drivers

OMAP2Includes multiple engines executing multiple tasksAn ARM 11 based microprocessor runs the OS and performs supervisory controlDSP core focusses on audio codecs, echo cancellation and noise suppression3D graphics engine enables sophisticated graphics renderingVideo/imaging accelerator handles streaming MPEG4 video and mega pixel-resolution cameraDigital baseband processor implements network communications as a cellular modem handling voice and data

OMAP 2 Architecture

From: www.TI.com

OMAP2All blocks operate simultaneously

No degradation in quality of any serviceDevices remain highly responsive

To conserve power each of these subsystems can be shut down when not usedSOC suited for implementation of Smart Phone

Digital Media ProcessorFunctionalities expected in a portable media system

Live preview : Capture, process, displayLive video capture: CompressesLive image capture: CompressesLive audio capture: CompressesVideo decode/playbackStill image decode/displayAudio decode/playbackPhoto printing

Several of these modes operate concurrently

DM 310 Media ProcessorFour subsystems: imaging/video, DSP, coprocessor, ARM coreImaging/Video system: CCD controller, preview engine, onscreen display, video encoderDSP: TMS32054X operating at 72 Mhz (max.) performs bulk of audio/image/video processing operationsCo-processors: SIMD engine(8 or 16 bit), Quantization, Variable length coder working concurrentlyARM Core: manages system level tasks, controls all components on chip except DSP and its co-processors

DM 310 Architecture

From: Anatomy of digital media processor, IEEE Micro, March-April 2004

Application: Still Camera Engine

From: Anatomy of digital media processor, IEEE Micro, March-April 2004

Reconfigurable Platforms

Configurable SOCConsisting of

Processor MemoryOn-chip reconfigurable hardware parts for customization to application

Fine-grained and coarse-grained reconfigurability

FPGA vs network of processors

Towards application specific programmable products

Reconfigurable Computing (RC)What is it?

Compute by building a circuit rather than executing instructions.Efficient for long running computations

Video and image processingDSPNetwork processing

Z[i] = a.X[i] + b.Y[i]

//program

Load rx, X

Mpy r1, rx, ra

Load ry, Y

Mpy r2, ry, rb

Add r3, r1, r2

Store r3, Z +

X

* a

Y

* b

Z

Advantages of RC Program

No instruction fetch, no I-cache etc.

Bit width and constantsAssume X & Y are 8 bitsAssume a = 0.25 and b =0.5Much smaller circuit!

+

X

*a

Y

*b

Z

8 8

6 7

8

/4 /2

Delay From two shift operations

and one addition, all on 32-bits

To one 8-bit addition (shifts are free in hardware)

FPGA-based RC

Programmable fabric that can be dynamically reconfiguredMapping to FPGA

Only the time consuming computations are mappedComputation expressed in HDL

StructureFPGA + Memory

Programmable Platforms

Several products incorporate microprocessor and FPGA on one chip

Con

fig

ura

ble

log

ic

Micro-controller and other processing elements

Memory

Triscent A7 SOC

CSL: performs basic combinational and sequential logic functions

Source: CSOC, Jurgen Becker, Proc. SBCCI’02

Xilinx Virtex II ProPowerPC based

1 to 4 PowerPCs4 to 16 gigabit transceivers

12 to 216 multipliers

3,000 to 50,000 logic cells

200k to 4M bits RAM

204 to 852 I/O

Config.

logic

Up to 16 serial transceivers• 622 Mbps to 3.125 Gbps622 Mbps to 3.125 Gbps

Pow

erP

Cs

Courtesy of Xilinx

Coarse grained RC: Multiple ALUs connected Operand routing with a hierarchical connection networkRegisters are distributedConfigure once and then run

no I-cache

Potentially an instruction level parallelism of 100 and moreNo branch instruction

XPP :eXtreme Processing Platform

Adaptive reconfigurable data processing architectureProcessing array elements organised as processing arrays

Source: CSOC, Jurgen Becker, Proc. SBCCI’02

Configurable processorsConfigurability:

Processor parameters (cache size, registers, etc.)Instructions.

Result:HDL model for processor.Software development environment.

Application-specific instruction processors

An ASIP is a stored-memory CPU whose architecture is tailored for a particular set of applications.Programmability allows changes to implementation, use in several different products, high data-path utilization.Application-specific architecture provides smaller silicon area, higher speed.

Retargetable compilation

microarchitecturalmodel

for (i=0; i<N; i++) c[i] = func1(a[i],b[i]);

applicationcode

front end

codegeneration

object code

from ASIP core synthesis

instructionset definition

Acknowledgement: Wayne Wolf

SummaryWe have learnt about SOCLooked at OMAP in some detailGot an introduction to the concept of Reconfigurable computing