Embedded Systems
Total Page:16
File Type:pdf, Size:1020Kb
The Recent Past and Distant Future of [Micro-Scale] Embedded Systems Pat Pannuto, University of Michigan [email protected], patpannuto.com NextMote Workshop @ EWSN’16, Graz, Austria February 15, 2016 “Micro-Scale” are systems whose principle node dimension is measured on the order of millimeters • Today’s motes are decimeter-scale… …and pushing towards centimeter-scale A millimeter-sized system is a 1000x reduction in volume • In practice, several nodes fit on a period. We have developed dozens of millimeter-scale motes as part of the Michigan Micro Mote (M3) project This talk: A tour of micro-scale mote challenges • A Brief History of “Smart Dust” • Micro-Scale Composition Architecture • Energy • Communication • Debugging This talk: A tour of micro-scale mote challenges • A Brief History of “Smart Dust” • Micro-Scale Composition Architecture • Energy • Communication • Debugging “Smart Dust” is not new… • 1957: Fred Hoyle’s Black Cloud – Sentient space-faring cloud organism • Early-mid 90’s: Viable? – First serious discussions at RAND and ISAT workshops • 1995: Neal Stephenson’s Diamond Age – Popularized a modern vision of smart dust • 1998: Kris Pister coins the term – And starts making smart dust a reality! First-generation smart dust missed its 1mm3 goal, but their so-called “macro motes” were perhaps the most important • Ad-hoc composition • Early “macro motes” dovetailed lessened efficiency of and helped drive early “mote” volumetric space development 1999 • 900 MHz radio • Magnetometer • Accelerometer • Light • Temperature • Pressure One week lifetime in continuous operation, http://robotics.eecs.berkeley.edu/~pister/SmartDust/ 2 years w/ 1% duty cycle The history of modern mote research picks up around this time CSP Workshop @ Xerox PARC Epic Core [soon to be First MICA (modular IPSN] Great Duck Island platforms) TelosB (Tmot e Sky) Workshop on Wireless Sensor Networks and Applications [soon to be SenSys] Glossy BTNode Pister & Hollar’s B-MAC “Macro Motes” But what happened to research pushing towards a 1mm3 system? ? We stopped building mm-scale systems, and focused on mm-scale circuits – at least for a little while Y.-S. Lin ‘07 V. Ekanayake ‘04 M. Scott ‘03 B. Warneke ‘04 Y.-S. Lin ‘08 2008 The Phoenix Project Monolithic designs let us push the envelope, but modularity must return to grow beyond a niche space • Phoenix • Intraocular Pressure – World’s lowest power – Collaboration for glaucoma computer (30 pW / 300 nW) health – Basically a temperature sensor – A pressure sensor From mm-scale temperature sensor to mm2008 -scale pressure sensor2011 took 3 years (and another half-dozen PhD students…) The Phoenix Processor: A 30pW Platform for Sensor Applications, Mingoo Seok, Scott Hanson, Yu-Shiang Lin, Zhiyoong Foo, DaeyeonKim, A Cubic-Millimeter Energy-Autonomous Wireless Intraoc ul ar Pressure Monitor, Gregory Chen, Hassan Ghaed, Razi-ul Haque, Michael Yoonmyung Lee, Nurrachman Liu, Dennis Sylvester, David Blaauw , VLSI ‘08 Wiec kowski, Yejoong Kim, Gyouho Kim, David Fick, DaeyeonKim, Mingoo Seok, Kensall Wise, Dav id Blaauw, Dennis Sylvester, ISSC C ‘11 Today, we are able to mix and match components to synthesize systems Control/ Decap Temp Radio PMU + CDC Sensor 2 uAh 5 uAh Battery Battery MEMS Motion P. S e n s o r Detection/ Imager Pressure Sensing Temp. Sensing Visual Sensing However, we had to invent a new system interconnect to be able to do it Control/ Decap Temp Radio PMU + CDC Sensor 2 uAh 5 uAh Battery Battery MEMS Motion P. S e n s o r Detection/ Imager Pressure Sensing Temp. Sensing Visual Sensing • A Brief History of “Smart Dust” • Micro-Scale Composition Architecture • Energy • Communication • Debugging Comparing system composition strategies between traditional motes and mm-scale motes • How to build a mote to • How to build a mm-scale sense temperature today? mote to sense temperature? – Processor – Temperature Sensor temp_sense t1 ( … .sample_valid_out (to_proc_t1_sample_valid), .sample_out (to_proc_t1_sample), – Radio ); processor p1 ( … .temp_valid_in (to_proc_t1_sample_valid), .temp_in (to_proc_t1_sample), ); We have solutions for composing embedded systems… SPI and I2C • Nearly every microcontroller has both • Nearly every peripheral has one or the other • Very few use anything else – (except maybe UART) • So why don’t they work for mm-scale systems? 17 Millimeter-scale systems are small Node volume is dominated by energy storage “Phone” Battery “Sensor” Batteries “Sensor” Battery And volume is shrinking cubically Budget 10’s μW active, 10’s nW sleep, DC 0.1% 18 Millimeter-scale systems are small Node volume is dominated by I/O pads begin to account energy storage for non-trivial percentage of node surface area “Phone” Battery “Sensor” Batteries 1 mm = 1,000 μm 50 μm, minimum viable bond pad “Sensor” Battery 16-20 maximum I/O pins for 3D stacking And volume is shrinking cubically Budget 10’s μW active, 10’s nW sleep, DC 0.1% 19 What is wrong with how are systems composed today? • SPI, invented by • One master, N slaves Motorola in ~1979 • Shared clock: SCLK Master Slave 1 • Shared data bus: MOSI • Shared data bus: MISO SCLK SCLK MOSI MOSI • One Slave Select line per slave MISO MISO SS SS0 • Key Properties SS1 Slave 2 … • One dedicated I/O line per slave SCLK • Master controls all communication MOSI MISO SS 20 What is wrong with how are systems composed today? • SPI, invented by • One master, N slaves Motorola in ~1979 • Shared clock: SCLK Master Slave 1 • Shared data bus: MOSI SCLK SCLK • Shared data bus: MISO MOSI MOSI • One Slave Select line per slave MISO MISO • One interrupt line per slave SS SS0 INT SS1 Slave 2 • Key Properties … SCLK • One Two dedicated I/O lines per slave • Master controls all communication GPIO0 MOSI GPIO1 MISO • Interrupts must be out-of-band … SS INT 21 SPI’s I/O overhead and centralized architecture do not scale to mm-scale systems • SPI, invented by • One master, N slaves Motorola in ~1979 • Shared clock: SCLK Master Slave 1 • Shared data bus: MOSI SCLK SCLK • Shared data bus: MISO MOSI MOSI • One Slave Select line per slave MISO MISO • One interrupt line per slave SS SS0 INT SS1 Slave 2 • Key Properties … SCLK • One Two dedicated I/O lines per slave • Master controls all communication GPIO0 MOSI GPIO1 MISO • Interrupts must be out-of-band … SS INT 22 SPI’s I/O overhead and centralized architecture do not scale to mm-scale systems • SPI, invented by Motorola in ~1979 Master Slave 1 SCLK SCLK 1 mm = 1,000 μm MOSI MOSI MISO MISO SS 50 μm, minimum viable bond pad SS0 INT SS1 Slave 2 … SCLK GPIO0 MOSI GPIO1 MISO … SS INT 23 I2C has fixed I/O requirements and a decentralized architecture • I2C, invented by Phillips in 1982 ‒ Any-to-(m)any on one shared bus Node1 Node2 Node3 SCL SCL SCL • Key Properties SDa SDa SDa ‒ Fixed wire count (2) 24 I2C has fixed I/O requirements and a decentralized architecture • I2C, invented by Phillips in 1982 ‒ Any-to-(m)any on one shared bus Node1 Node2 Node3 SCL SCL SCL • Key Properties SDa SDa SDa ‒ Fixed wire count (2) ‒ Open-collector • Multi-master • Flow Control Open-collector (aka wired-AND) 25 The problem is the energy costs of running an open- collector @400 kHz VDD = 1.2 V No setup, no hold R = 15.5 kΩ (“the best”) 80% VDD as 1 Send a “1”: 0 J Send a “0”: 174 pJ 26 The problem is the energy costs of running an open- collector @400 kHz @400 kHz VDD = 1.2 V No setup, no hold Bigger R? R = 15.5 kΩ (“the best”) 80% VDD as 1 Send a “1”: 0 J Send a “0”: 174 pJ SCL alone: 70 μW 27 The problem is the energy costs of running an open- collector @400 kHz @400 kHz VDD = 1.2 V No setup, no hold R = 15.5 kΩ (“the best”) 80% VDD as 1 Send a “1”: 0 J Send a “0”: 174 pJ SCL alone: 70 μW 28 The energy demands of open-collectors make them unsuitable for mm-scale systems @400 kHz@400 kHz • Active Energy Budget: 20 μW • Not an arbitrary number: - Volume Target - Lifetime Target Two batteries SCL alone: 70 μW ~ 3.1 mm 29 The design and synthesis of modular, millimeter-scale systems requires a new embedded interconnect MBus is a clean-slate design, built to satisfy interconnect requirements for this and the next generation of motes • Fixed pin count (4) • Minimal standby and active power • Large global address space • Multi-master design • Broadcast message support • Hardware acknowledgements • Data independent behavior • Modest protocol overhead • Power aware design MBus: An Ultra-Low Power Interconnect Bus for Next Generation Nanopower Systems Pat Pannuto, Yoonmyung Lee, Ye-Sheng Kuo, ZhiYoong Foo, Benjamin Kempke, Gyo u h o Kim, Ronald G Dreslinski, D avi d Blaauw, and Prabal Dutta 31 Proceedings of the 42nd International Symposium on Computer Architecture (ISCA ’15) • Ring Topology MBus in a nutshell • 2 lines – 4 I/O per node – Clock Clock – Data MBus Data • Transaction oriented Mediator – Arbitration – Address Transmission MBus MBus – Data Transmission Member Member – Interjection – Control (ACK/NAK) • “Shoot-Through” CLK_IN MBus MBus CLK_OUT Member Member 32 Embedded interconnect technology has not changed in over 30 years • If we re-examine… Embedded interconnect technology has not changed in over 30 years • If we re-examine… – Addressing • Requires I/O not available • Makes packaging assumptions ‒ Systems will not always be PCBs ‒ Routing may not be easy • 3D stack • Flip-chip + TSVs Embedded interconnect technology has not changed in over 30 years • If we re-examine… – Addressing 3 Options Short static addresses and allow device conflicts Long static addresses to avoid device conflicts Non-static addresses MBus does all 3 4-bit: Static