Multi­core technology in mobile devices

Why multi­core?

Anatomy of a mobile device

http://www.phonewreck.com/wiki/index.php?title=Nokia_N95 OMAP3430

http://focus.ti.com/general/docs/wtbu/wtbuproductcontent.tsp? templateId=6123&navigationId=12643&contentId=14649 OMAP3530

http://focus.ti.com/docs/prod/folders/print/omap3530.html Beagleboard

http://beagleboard.org/ ST (STn8815)

http://www.st.com/stonline/products/literature/bd/14379/stn8815p14.htm S3C6410

http://www.samsung.com/global/business/semiconductor/productInfo.do?fmly_id=229&partnum=S3C6410 NEC EMMA Mobile 1

http://www.necel.com/mobile/en/emma_mobile/em1.html Marvell PXA320

http://www.marvell.com/files//products/cellular/application/PXA320_PB_R4.pdf Freescale MXC300

http://www.freescale.com/files/wireless_comm/doc/white_paper/MXC300303GMPOWP.pdf Broadcom BCM2153

http://broadcom.com/products/Cellular/3G­Baseband­Processors/BCM2153 STLC4550 (N8x0 WLAN)

http://www.st.com/stonline/products/literature/bd/12063.pdf Common themes

● ARM + DSP(s) ● 2D/3D graphics

● Imaging, video ● Memory interfaces ● Peripheral interfaces ● Interconnects

ARM cores

● Architecture version – v4, v5, v6, v7 ● Processor families – ARM7, ARM9, ARM11, Cortex ● Instruction sets and extensions – ARM, Thumb, Thumb2, Jazelle, NEON ● Cortex family – A, R, M

ARM11 MPCore

http://www.arm.com/rximages/5309.gif NEC NaviEngine (automotive)

http://www.nec.co.jp/techrep/en/journal/g07/n04/070409.pdf ARM Cortex­A9 MPCore

http://www.arm.com/rximages/18622.gif From: "melwyn lobo" Subject: ARM SMP timer issue Newsgroups: gmane.linux.ports.arm.kernel To: linux­arm­[email protected] Date: Tue, 6 Jan 2009 15:07:15 +0530

Hello All,

We have ported the arm kernel 2.6.24 to ARM Cortex A9 dual core SMP processor. My question is regarding timer optimization.

...

DSPs

● TI – TMS320C54x, C55x, C6x ● ST – MMDSP ● Freescale – StarCore ● NEC, Blackfin, NXP TriMedia, ADI SHARC, ...

Imaging/video

● Actually often DSP(s) – with accelerators ● Or ARM(s) – with accelerators ● Or ARM + DSP – with accelerators

Mobile GPUs

● PowerVR – MBX, SGX ● ARM – Mali ● (actually full application processor) ● AMD (sold mobile GPUs to Qualcomm) – e.g. STn8820 from ST­NXP

Memory interfaces

● Flash – NAND, NOR ● Memory cards – MMC, SD ● DRAM – mobile DDR SDRAM ● Memory wall problem – hot research topic: stacked ICs

Programming

● Application code runs on the main ARM ● DSP(s) usually hidden – locked away with HW if e.g. running cellular ● GPU/imaging/video – accessible via APIs on the main processor ● Result: many very black boxes – managing performance is challenging