Download presentation
Presentation is loading. Please wait.
1
Embedded Systems: Supercomputing in a Pencil Tip Frank Vahid* Department of Computer Science and Engineering University of California, Riverside vahid@cs.ucr.edu http://www.cs.ucr.edu/~vahid * Also with the Center for Embedded Computer Systems at UC Irvine This work is being supported by the National Science Foundation
2
Frank Vahid, UCR Industry Day, 2005 2 of 21 Key Trend: Moore’s Law Higher Performance Source: Intel Transistors per chip double roughly every 18 months 1980: ~10,000 transistors Today: ~1,000,000,000 (1 billion) transistors Means higher performance computers
3
Frank Vahid, UCR Industry Day, 2005 3 of 21 Moore’s Law also means Smaller & Cheaper Same chip shrinks to half its size every 18 months Means we can put powerful computers in places never dreamed of before J. Wiley and Sons, 2006
4
Frank Vahid, UCR Industry Day, 2005 4 of 21 Supercomputing in a Pencil Tip? Remember the Cray 1A supercomputer? Fastest computer in the world in 1976 Cost about $10 million dollars (1976 $) Roughly 100 MHz 5.5 tons, freon cooled $100,000 per month to maintain Used for atmospheric research, physical simulations, etc. About 1 million transistors Cray 1A
5
Frank Vahid, UCR Industry Day, 2005 5 of 21 Today – A Supercomputer in a Pencil Tip Approaching 1 billion transistors per square centimeter (65 nm) 1 million transistors (Cray 1): 0.1 millimeters 2 1 million transistors approaching the size of a speck of dust – literally And often can use fewer transistors ARM 32-bit processor only about 100,000 transistors 1 million transistors (Cray 1) Modern chip – 1 billion transistors 1 cm Photo: Jason Hill http://www. dustnetworks.com/
6
Frank Vahid, UCR Industry Day, 2005 6 of 21 Tiny Embedded Computers Smart Dust (UCB) Millimeter scale Includes sensors, microprocessors, wireless communication, power supply Costs dollars, even just cents, each Potential uses Weather/seismological monitoring on Mars Land/space comm. networks Chemical/biological sensors Defense-related sensor networks Inventory Control Product quality monitoring Smart office spaces Image: "Smart dust" particles self- assembled on drops of oil in water. The microscopic particles are nanostructured flakes of porous silicon that spontaneously assemble, orient, sense, and report on their local environment. UCSD, 2003.
7
Frank Vahid, UCR Industry Day, 2005 7 of 21 Tiny Embedded Computers Smart Pills Electronically tracked and instructed to deliver medicine to specific location “Swallowing the pill and the instrument” iPills – micropump, sensors, and medicine Pump controls amount of medicine based on body temperature and pH Other uses of tiny computers? Who knows 10 years from now? See http://www.smalltimes.com http://www.templehealth.org/capsule/april_ 22_05/april2205_news03.htm
8
Frank Vahid, UCR Industry Day, 2005 8 of 21 One Project at UCR – eBlocks NSF-funded project to empower non-engineers to build useful custom sensor-based systems Plug together blocks, configure, done! Low-cost mass-produced block types: Sensors – motion, light, contact, etc. Output – led, electric relay, beeper, etc. Compute – logic, prolong, toggle, etc. Basic configuration required (dials, switches) Communicate – wireless point-to-point link Simple example: Garage open at night? Toggle Electric Relay Magnetic Contact Switch Light Sensor Splitter Tripper Motion Sensor 2-Input Logic Button LED Need something to indicate garage open at night – use led LED 2-Input Logic Configure Logic Block to turn led on when it’s night and when door is open A’B’ Need a function of light sensor output and contact switch output – use Logic Block 2-Input Logic Light Sensor We want to detect night – use light sensor Light Sensor Magnetic Contact Switch We want to know if garage door open – use contact switch Magnetic Contact Switch 2-Input Logic A’B’ Plug pieces together and the system is done!
9
Frank Vahid, UCR Industry Day, 2005 9 of 21 Building eBlocks Systems The same building blocks can be used in a variety of applications 2-Input Logic A’B’ Light Sensor Magnetic Contact Switch Garage Door Open At Night Detector Motion on Property Detector Motion Sensor 2-Input Logic A+B Prolonger 1 2 3 4 5 6 7 8 9 Beeper Sleepwalker at Night Alarm Motion Sensor 2-Input Logic A’B Light Sensor Animal Videoing System Motion Sensor 2-Input Logic A+B eBlock to Camera Interface Light Sensor Button LED Beeper Tripper Prolonger 1 2 3 4 5 6 7 8 9
10
Frank Vahid, UCR Industry Day, 2005 10 of 21 Design Entry/Simulation Welcome to the eBlocks Simulator! In this area, you’ll find helpful hints on creating your own designs. Click and drag an eBlock off of the “Available eBlocks” panel to add it to your design. To connect two blocks, click and drag from an output port (colored circle) to an input port (gray circle). A connection can be destroyed by clicking on a connected port. To move a block around the workspace, click and drag its orange area. Blocks can be moved into the trash can to delete them. Green circles indicate that the port is sending a yes, red circles indicate that the port is sending a no, yellow Circles indicate that the port is sending an error signal, and gray circles denote an input port. User specifies and tests block design Java-based simulator User can choose a variety of blocks by selecting between pallets Available eBlocks Advanced ModeHide this panel Compute/Communications Prolonger 1 2 3 4 5 6 7 8 9 seconds Once Yes, Stays Yes rst in Toggle Combine AND OR yes no When A isyes no B is then the output is yes Green/Red Light Beeper Output Motion Sensor Yes/No Button Light Sensor Sensors Available eBlocks Advanced ModeHide this panel Compute/Communications Prolonger 1 2 3 4 5 6 7 8 9 seconds Once Yes, Stays Yes rst in Toggle Combine AND OR yes no When A isyes no B is then the output is yes Motion Sensor Yes/No Button Light Sensor Sensors Green/Red Light Beeper Output Available eBlocks Advanced ModeHide this panel Green/Red Light Beeper Output Motion Sensor Yes/No Button Light Sensor Sensors Compute/Communications Prolonger 1 2 3 4 5 6 7 8 9 seconds Once Yes, Stays Yes rst in Toggle Combine AND OR yes no When A isyes no B is then the output is yes
11
Frank Vahid, UCR Industry Day, 2005 11 of 21 Design Entry/Simulation Welcome to the eBlocks Simulator! In this area, you’ll find helpful hints on creating your own designs. Click and drag an eBlock off of the “Available eBlocks” panel to add it to your design. To connect two blocks, click and drag from an output port (colored circle) to an input port (gray circle). A connection can be destroyed by clicking on a connected port. To move a block around the workspace, click and drag its orange area. Blocks can be moved into the trash can to delete them. Green circles indicate that the port is sending a yes, red circles indicate that the port is sending a no, yellow Circles indicate that the port is sending an error signal, and gray circles denote an input port. User specifies and tests block design Java-based simulator User can choose a variety of blocks by selecting between pallets Blocks are added to workspace by clicking or dragging blocks from “Available eBlocks” tray Available eBlocks Advanced ModeHide this panel Compute/Communications Prolonger 1 2 3 4 5 6 7 8 9 seconds Once Yes, Stays Yes rst in Toggle Combine AND OR yes no When A isyes no B is then the output is yes Green/Red Light Beeper Output Motion Sensor Yes/No Button Light Sensor Sensors Available eBlocks Advanced ModeHide this panel Green/Red Light Beeper Output Compute/Communications Prolonger 1 2 3 4 5 6 7 8 9 seconds Once Yes, Stays Yes rst in Toggle Combine AND OR yes no When A isyes no B is then the output is yes Motion Sensor Yes/No Button Light Sensor Sensors Button
12
Frank Vahid, UCR Industry Day, 2005 12 of 21 Design Entry/Simulation Welcome to the eBlocks Simulator! In this area, you’ll find helpful hints on creating your own designs. Click and drag an eBlock off of the “Available eBlocks” panel to add it to your design. To connect two blocks, click and drag from an output port (colored circle) to an input port (gray circle). A connection can be destroyed by clicking on a connected port. To move a block around the workspace, click and drag its orange area. Blocks can be moved into the trash can to delete them. Green circles indicate that the port is sending a yes, red circles indicate that the port is sending a no, yellow Circles indicate that the port is sending an error signal, and gray circles denote an input port. User specifies and tests block design Java-based simulator User can choose a variety of blocks by selecting between pallets Blocks are added to workspace by clicking or dragging blocks from “Available eBlocks” tray Available eBlocks Advanced ModeHide this panel Compute/Communications Prolonger 1 2 3 4 5 6 7 8 9 seconds Once Yes, Stays Yes rst in Toggle Combine AND OR yes no When A isyes no B is then the output is yes Green/Red Light Beeper Output Motion Sensor Yes/No Button Light Sensor Sensors Button Light Sensor
13
Frank Vahid, UCR Industry Day, 2005 13 of 21 Design Entry/Simulation Welcome to the eBlocks Simulator! In this area, you’ll find helpful hints on creating your own designs. Click and drag an eBlock off of the “Available eBlocks” panel to add it to your design. To connect two blocks, click and drag from an output port (colored circle) to an input port (gray circle). A connection can be destroyed by clicking on a connected port. To move a block around the workspace, click and drag its orange area. Blocks can be moved into the trash can to delete them. Green circles indicate that the port is sending a yes, red circles indicate that the port is sending a no, yellow Circles indicate that the port is sending an error signal, and gray circles denote an input port. User specifies and tests block design Java-based simulator User can choose a variety of blocks by selecting between pallets Blocks are added to workspace by clicking or dragging blocks from “Available eBlocks” tray Available eBlocks Advanced ModeHide this panel Compute/Communications Prolonger 1 2 3 4 5 6 7 8 9 seconds Once Yes, Stays Yes rst in Toggle Combine AND OR yes no When A isyes no B is then the output is yes Green/Red Light Beeper Output Motion Sensor Yes/No Button Light Sensor Sensors Button Light Sensor Available eBlocks Advanced ModeHide this panel Green/Red Light Beeper Output Motion Sensor Yes/No Button Light Sensor Sensors Compute/Communications Prolonger 1 2 3 4 5 6 7 8 9 seconds Once Yes, Stays Yes rst in Toggle Combine AND OR yes no When A isyes no B is then the output is yes Combine AND OR yes no When A isyes no B is then the output is yes
14
Frank Vahid, UCR Industry Day, 2005 14 of 21 Design Entry/Simulation Welcome to the eBlocks Simulator! In this area, you’ll find helpful hints on creating your own designs. Click and drag an eBlock off of the “Available eBlocks” panel to add it to your design. To connect two blocks, click and drag from an output port (colored circle) to an input port (gray circle). A connection can be destroyed by clicking on a connected port. To move a block around the workspace, click and drag its orange area. Blocks can be moved into the trash can to delete them. Green circles indicate that the port is sending a yes, red circles indicate that the port is sending a no, yellow Circles indicate that the port is sending an error signal, and gray circles denote an input port. User specifies and tests block design Java-based simulator User can choose a variety of blocks by selecting between pallets Blocks are added to workspace by clicking or dragging blocks from “Available eBlocks” tray Available eBlocks Advanced ModeHide this panel Compute/Communications Prolonger 1 2 3 4 5 6 7 8 9 seconds Once Yes, Stays Yes rst in Toggle Combine AND OR yes no When A isyes no B is then the output is yes Green/Red Light Beeper Output Motion Sensor Yes/No Button Light Sensor Sensors Button Light Sensor Available eBlocks Advanced ModeHide this panel Green/Red Light Beeper Output Motion Sensor Yes/No Button Light Sensor Sensors Compute/Communications Prolonger 1 2 3 4 5 6 7 8 9 seconds Once Yes, Stays Yes rst in Toggle Combine AND OR yes no When A isyes no B is then the output is yes Combine AND OR yes no When A isyes no B is then the output is yes Available eBlocks Advanced ModeHide this panel Compute/Communications Prolonger 1 2 3 4 5 6 7 8 9 seconds Once Yes, Stays Yes rst in Toggle Combine AND OR yes no When A isyes no B is then the output is yes Motion Sensor Yes/No Button Light Sensor Sensors Green/Red Light Beeper Output Beeper
15
Frank Vahid, UCR Industry Day, 2005 15 of 21 Combine AND OR yes no When A isyes no B is then the output is yes Design Entry/Simulation Welcome to the eBlocks Simulator! In this area, you’ll find helpful hints on creating your own designs. Click and drag an eBlock off of the “Available eBlocks” panel to add it to your design. To connect two blocks, click and drag from an output port (colored circle) to an input port (gray circle). A connection can be destroyed by clicking on a connected port. To move a block around the workspace, click and drag its orange area. Blocks can be moved into the trash can to delete them. Green circles indicate that the port is sending a yes, red circles indicate that the port is sending a no, yellow Circles indicate that the port is sending an error signal, and gray circles denote an input port. User specifies and tests block design Java-based simulator User can choose a variety of blocks by selecting between pallets Blocks are added to workspace by clicking or dragging blocks from “Available eBlocks” tray User is able to configure various blocks by clicking on switches Available eBlocks Advanced ModeHide this panel Compute/Communications Prolonger 1 2 3 4 5 6 7 8 9 seconds Once Yes, Stays Yes rst in Toggle Combine AND OR yes no When A isyes no B is then the output is yes Green/Red Light Beeper Output Motion Sensor Yes/No Button Light Sensor Sensors Button Light Sensor Available eBlocks Advanced ModeHide this panel Green/Red Light Beeper Output Motion Sensor Yes/No Button Light Sensor Sensors Compute/Communications Prolonger 1 2 3 4 5 6 7 8 9 seconds Once Yes, Stays Yes rst in Toggle Combine AND OR yes no When A isyes no B is then the output is yes Available eBlocks Advanced ModeHide this panel Compute/Communications Prolonger 1 2 3 4 5 6 7 8 9 seconds Once Yes, Stays Yes rst in Toggle Combine AND OR yes no When A isyes no B is then the output is yes Motion Sensor Yes/No Button Light Sensor Sensors Green/Red Light Beeper Output Beeper
16
Frank Vahid, UCR Industry Day, 2005 16 of 21 Design Entry/Simulation Welcome to the eBlocks Simulator! In this area, you’ll find helpful hints on creating your own designs. Click and drag an eBlock off of the “Available eBlocks” panel to add it to your design. To connect two blocks, click and drag from an output port (colored circle) to an input port (gray circle). A connection can be destroyed by clicking on a connected port. To move a block around the workspace, click and drag its orange area. Blocks can be moved into the trash can to delete them. Green circles indicate that the port is sending a yes, red circles indicate that the port is sending a no, yellow Circles indicate that the port is sending an error signal, and gray circles denote an input port. User specifies and tests block design Java-based simulator User can choose a variety of blocks by selecting between pallets Blocks are added to workspace by clicking or dragging blocks from “Available eBlocks” tray User is able to configure various blocks by clicking on switches Connections created by drawing lines between blocks Available eBlocks Advanced ModeHide this panel Compute/Communications Prolonger 1 2 3 4 5 6 7 8 9 seconds Once Yes, Stays Yes rst in Toggle Combine AND OR yes no When A isyes no B is then the output is yes Green/Red Light Beeper Output Motion Sensor Yes/No Button Light Sensor Sensors Button Light Sensor Available eBlocks Advanced ModeHide this panel Green/Red Light Beeper Output Motion Sensor Yes/No Button Light Sensor Sensors Compute/Communications Prolonger 1 2 3 4 5 6 7 8 9 seconds Once Yes, Stays Yes rst in Toggle Combine AND OR yes no When A isyes no B is then the output is yes Available eBlocks Advanced ModeHide this panel Compute/Communications Prolonger 1 2 3 4 5 6 7 8 9 seconds Once Yes, Stays Yes rst in Toggle Combine AND OR yes no When A isyes no B is then the output is yes Motion Sensor Yes/No Button Light Sensor Sensors Green/Red Light Beeper Output Beeper Combine AND OR yes no When A isyes no B is then the output is yes
17
Frank Vahid, UCR Industry Day, 2005 17 of 21 Design Entry/Simulation Welcome to the eBlocks Simulator! In this area, you’ll find helpful hints on creating your own designs. Click and drag an eBlock off of the “Available eBlocks” panel to add it to your design. To connect two blocks, click and drag from an output port (colored circle) to an input port (gray circle). A connection can be destroyed by clicking on a connected port. To move a block around the workspace, click and drag its orange area. Blocks can be moved into the trash can to delete them. Green circles indicate that the port is sending a yes, red circles indicate that the port is sending a no, yellow Circles indicate that the port is sending an error signal, and gray circles denote an input port. User specifies and tests block design Java-based simulator User can choose a variety of blocks by selecting between pallets Blocks are added to workspace by clicking or dragging blocks from “Available eBlocks” tray User is able to configure various blocks by clicking on switches Connections created by drawing lines between blocks User can create, experiment, test and configure design Available eBlocks Advanced ModeHide this panel Compute/Communications Prolonger 1 2 3 4 5 6 7 8 9 seconds Once Yes, Stays Yes rst in Toggle Combine AND OR yes no When A isyes no B is then the output is yes Green/Red Light Beeper Output Motion Sensor Yes/No Button Light Sensor Sensors Light Sensor Available eBlocks Advanced ModeHide this panel Green/Red Light Beeper Output Motion Sensor Yes/No Button Light Sensor Sensors Compute/Communications Prolonger 1 2 3 4 5 6 7 8 9 seconds Once Yes, Stays Yes rst in Toggle Combine AND OR yes no When A isyes no B is then the output is yes Available eBlocks Advanced ModeHide this panel Compute/Communications Prolonger 1 2 3 4 5 6 7 8 9 seconds Once Yes, Stays Yes rst in Toggle Combine AND OR yes no When A isyes no B is then the output is yes Motion Sensor Yes/No Button Light Sensor Sensors Green/Red Light Beeper Output Beeper Combine AND OR yes no When A isyes no B is then the output is yes Light Sensor Button
18
Frank Vahid, UCR Industry Day, 2005 18 of 21 Usability of eBlocks eBlocks usability experiments >500 participants, 2 years Participants of various expertise levels None had previous eBlocks experience Simple Systems – Sensor blocks directly to output block Motion Sensor Beeper Button LED Motion Sensor Prolonger 1 2 3 4 5 6 7 8 9 Beeper 2-Input Logic A’B’ Light Sensor Magnetic Contact Switch LED Intermediate Systems – Systems that require intermediate logic OR state blocks 2-Input Logic A+B eBlock to Camera Interface Light Sensor Prolonger 1 2 3 4 5 6 7 8 9 Motion Sensor Complex Systems – Systems that require intermediate logic AND state blocks Days to weeks required by advanced students to build similar systems without benefit of eBlocks More than half of the students were able to build these systems in less than 10 minutes!
19
Frank Vahid, UCR Industry Day, 2005 19 of 21 Use virtual eBlocks in graphical simulator to describe desired sensor system behavior Intuitive due to spatial emphasis, not temporal emphasis Automatically compile to code on programmable eBlocks eBlocks as a Programming Paradigm Programmable eBlocks Partitions
20
Frank Vahid, UCR Industry Day, 2005 20 of 21 eBlock Synthesis Tool – Programming Tool generates C code automatically #include #include “sci.h” #include “io.h” #include “constants.h” Unsigned char data_val = ERROR;... main(void) { unsigned I, j; TRISB = 0;... } main(void) { ORTA = 0xff; CMCON = 0x07; TRISA = 0x00; TRISB = 0x02; asm("CLRWDT");... } C Code Download code to block with click of a button Ordinary users can “write” programs in minutes Spatial vs. temporally-oriented language 20 high school graduates: eBlocks (spatial) vs. LEGO Mindstorms (temporal), 6 example systems, 40 minutes to build Programmable eBlock Type Average Success Rate Mindstorms0% eBlocks54%
21
Frank Vahid, UCR Industry Day, 2005 21 of 21 Low-cost powerful computer chips opening vast new territory Sensors with compute and communication nearly free Smart Dust, Smart Pills, RFID, … What new useful applications will evolve? eBlocks – Enables user-customized systems Monitor home/office/school/store/etc. Sample application: Monitor activity level and patterns of ageing parent – must be customized, behaviors highly person-specific Detect unusual behavior Response (phone call, visit, …) Monitor trends (w/ doctor) Early detection and correction of problems Other sensor-network projects happening at UCR too Future is wide open! Collaborators Ph.D students: Susan Lysecky, Ryan Mannion, David Sheldon; Profs. Harry Hsieh, Walid Najjar, Crista Lopes (UC Irvine) Conclusions
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.