introduction to embedded systems -...

37
Introduction to Embedded Systems Tajana Simunic Rosing Department of Computer Science and Engineering UCSD

Upload: vuongnguyet

Post on 06-Mar-2018

249 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Introduction to Embedded Systems - cseweb.ucsd.educseweb.ucsd.edu/classes/wi13/wes237A-a/handouts/introductionWES.… · Introduction to Embedded Systems Tajana Simunic Rosing Department

Introduction to Embedded Systems

Tajana Simunic Rosing

Department of Computer Science and Engineering

UCSD

Page 2: Introduction to Embedded Systems - cseweb.ucsd.educseweb.ucsd.edu/classes/wi13/wes237A-a/handouts/introductionWES.… · Introduction to Embedded Systems Tajana Simunic Rosing Department

Welcome! Instructor:

Tajana Simunic Rosing Email: tajana-at-ucsd.edu; put WES in subject line

Office Hours: T 11:30-12:30pm, Th 5-6pm

Office Location: CSE 2118 Admin:

Sheila Manalo

Email: [email protected]

Phone: (858) 534-8873

Office: CSE 2272

TAs: Jug Venkatesh: Wed 6-7pm, Th 6-7pm

Ankit Baid: Mon 6-7pm, Tue 6-7pm

Location: CSE B260A

Grades: http://ted.ucsd.edu

Course website: http://cseweb.ucsd.edu/classes/wi13/wes237A-a/

Discussion board: https://piazza.com/#winter2013/wes237a

Page 3: Introduction to Embedded Systems - cseweb.ucsd.educseweb.ucsd.edu/classes/wi13/wes237A-a/handouts/introductionWES.… · Introduction to Embedded Systems Tajana Simunic Rosing Department

Course Objectives

Develop an understanding of the technologies

behind the embedded computing systems technology capabilities and limitations of the hardware,

software components

methods to evaluate design tradeoffs between different

technology choices.

design methodologies

Overview of a few hot research topics in ES

For more details, see the schedule on the webpage

Page 4: Introduction to Embedded Systems - cseweb.ucsd.educseweb.ucsd.edu/classes/wi13/wes237A-a/handouts/introductionWES.… · Introduction to Embedded Systems Tajana Simunic Rosing Department

Course Requirements No official graduate course as prerequisite

Knowledge Digital hardware, introductory electrical circuits concepts, computer

architecture (ISA, organization), programming & systems programming

Skills Ability to program (linux, C, C++, Android)

Ability to look up references and track down pubs (Xplore etc)

Ability to communicate your ideas (demos, reports)

Initiative Open-ended problems with no single answer requiring thinking and

research

Interest

Page 5: Introduction to Embedded Systems - cseweb.ucsd.educseweb.ucsd.edu/classes/wi13/wes237A-a/handouts/introductionWES.… · Introduction to Embedded Systems Tajana Simunic Rosing Department

Textbook & Assigned Reading

Required text:

By Peter Marwedel

2nd edition, Springer 2011

A set of papers will be required reading

will relate to the core topic of that class

you are expected to read it BEFORE the class

In addition I will give pointers to papers and

web resources

Page 6: Introduction to Embedded Systems - cseweb.ucsd.educseweb.ucsd.edu/classes/wi13/wes237A-a/handouts/introductionWES.… · Introduction to Embedded Systems Tajana Simunic Rosing Department

Reference books “Embedded, Everywhere: A Research Agenda for Networked Systems of Embedded Computers,”

National Research Council. http://www.nap.edu/books/0309075688/html/

John A. Stankovic and Kirthi Ramamritham, "Hard Real-Time Systems," IEEE Computer Society Press.

G.D. Micheli, W. Wolf, R. Ernst, “Readings in Hardware/Software Co-Design,” Morgan Kaufman.

S.A. Edwards, “Languages for Digital Embedded Systems,” Kluwer, 2000.

R. Melhem and R. Graybill, “Power Aware Computing,” Plenum, 2002.

M. Pedram and J. Rabaey, “Power Aware Design Methodologies,” Kluwer, 2002.

Bruce Douglass, "Real-Time UML - Developing Efficient Objects for Embedded Systems," Addison-Wesley, 1998.

Hermann Kopetz, "Real-Time Systems : Design Principles for Distributed Embedded Applications," Kluwer, 1997.

Hassan Gomaa, "Software Design Methods for Concurrent and Real-Time Systems," Addison-Wesley, 1993.

P. Lapsley, J. Bier, A. Shoham, and E.A. Lee, “DSP Processor Fundamentals: Architectures and Features,” Berkeley Design technology Inc,, 2001.

R. Gupta, "Co-synthesis of Hardware & Software for Embedded Systems," Kluwer, 1995.

Felice Balarin, Massimiliano Chiodo, and Paolo Giusto, "Hardware-Software Co-Design of Embedded Systems : The Polis Approach," Kluwer, 1997.

Jean J. Labrosse, "Embedded Systems Building Blocks : Complete And Ready To Use Modules In C ," R&D Publishing, 1995.

Jean J. Labrosse, "uC / OS : The Real Time Kernel," R&D Publishing, 1992.

Page 7: Introduction to Embedded Systems - cseweb.ucsd.educseweb.ucsd.edu/classes/wi13/wes237A-a/handouts/introductionWES.… · Introduction to Embedded Systems Tajana Simunic Rosing Department

Embedded Systems on the Web Berkeley Design technology, Inc.: http://www.bdti.com

EE Times Magazine: http://www.eet.com/

Linux Devices: http://www.linuxdevices.com

Embedded Linux Journal: http://embedded.linuxjournal.com

Embedded.com: http://www.embedded.com/ Embedded Systems Programming magazine

Circuit Cellar: http://www.circuitcellar.com/

Electronic Design Magazine: http://www.planetee.com/ed/

Electronic Engineering Magazine: http://www2.computeroemonline.com/magazine.html

Integrated System Design Magazine: http://www.isdmag.com/

Sensors Magazine: http://www.sensorsmag.com

Embedded Systems Tutorial: http://www.learn-c.com/

Collections of embedded systems resources http://www.ece.utexas.edu/~bevans/courses/ee382c/resources/

http://www.ece.utexas.edu/~bevans/courses/realtime/resources.html

Newsgroups comp.arch.embedded, comp.cad.cadence, comp.cad.synthesis, comp.dsp,

comp.realtime, comp.software-eng, comp.speech, and sci.electronics.cad

Page 8: Introduction to Embedded Systems - cseweb.ucsd.educseweb.ucsd.edu/classes/wi13/wes237A-a/handouts/introductionWES.… · Introduction to Embedded Systems Tajana Simunic Rosing Department

Embedded Systems Courses Alberto Sangiovanni-Vincentelli @ Berkeley

EE 249: Design of Embedded Systems: Models, Validation, and Synthesis http://www-cad.eecs.berkeley.edu/~polis/class/index.html

Brian Evans @ U.T. Austin EE382C-9 Embedded Software Systems

http://www.ece.utexas.edu/~bevans/courses/ee382c/index.html

Edward Lee @ Berkeley EE290N: Specification and Modeling of Reactive Real-Time Systems

http://ptolemy.eecs.berkeley.edu/~eal/ee290n/index.html

Mani Srivastava @ UCLA

EE202A: Embedded and Real Time Systems http://nesl.ee.ucla.edu/courses/ee202a/2003f/

Bruce R. Land @ CMU

EE476: Designing with Microcontrollers

http://instruct1.cit.cornell.edu/courses/ee476

Page 9: Introduction to Embedded Systems - cseweb.ucsd.educseweb.ucsd.edu/classes/wi13/wes237A-a/handouts/introductionWES.… · Introduction to Embedded Systems Tajana Simunic Rosing Department

Conferences and Journals Conferences & Workshops

ACM/IEE DAC

IEEE ICCAD

IEEE RTSS

ACM ISLPED

IEEE CODES+ISSS

CASES

Many others…

Journals & Magazines

ACM Transactions on Design Automation of Electronic Systems

ACM Transactions on Embedded Computing Systems

IEEE Transactions on Computer-Aided Design

IEEE Transactions on VLSI Design

IEEE Design and Test of Computers

IEEE Transactions on Computers

Journal of Computer and Software Engineering

Journal on Embedded Systems

Page 10: Introduction to Embedded Systems - cseweb.ucsd.educseweb.ucsd.edu/classes/wi13/wes237A-a/handouts/introductionWES.… · Introduction to Embedded Systems Tajana Simunic Rosing Department

10

Class Topics

Verification and Validation

Hardware Hardware components

Page 11: Introduction to Embedded Systems - cseweb.ucsd.educseweb.ucsd.edu/classes/wi13/wes237A-a/handouts/introductionWES.… · Introduction to Embedded Systems Tajana Simunic Rosing Department

Note: Subject to change

Day 1: Introduction and Modeling

Project part #1 assigned

Chapter 1, Chapter 2 Sec. 2.1 to 2.6

Edwards et al.:” Design of Embedded Systems: Formal Models, Validation and Synthesis”

Murata:”Petri nets: Properties, Analysis and Applications” p. 541-553, Sec. VIII

Day 2: Modeling, Timing, and Scheduling

Quiz #1; Project part #1 due, part #2 assigned

Chapter 2 Sec. 2.7 to 2.10, Chapter 6 Sec. 6.1 to 6.2

Lee et al. “Static scheduling of synchronous DF programs for DPS”

Benveniste et al.”The Synchronous Languages 12yrs Later”

Raynal, Singhal ”Logical time: A way to capture causality in distributed systems”

Day 3: Scheduling, RTOS and Software

Quiz #2; Project part #2 due, part #3 assigned

Chapter 6 section 6.2, Chapter 4, Chapter 7 Sec. 7.1 to 7.3

Sha et al.”Generalized rate-monotonic scheduling theory…”

I.C. Bertolotti: "Real-Time embedded operating systems: standards and perspectives chap. 11.1,2,4,5

Day 4: Embedded Hardware, Power, Energy, and Thermal

Quiz #3;

Chapter 3 Sec. 3.3 to 3.4, Chapter 5, Chapter 7 Sec. 7.4

"Moyer: “Low-power design for embedded processors”

Wolf et al. ”Memory System Optimization of Embedded Software”

L. Benini, A. Bogliolo, and G. De Micheli. "A survey of design techniques for system-level dynamic power management"

G. Dhiman, T. Simunic Rosing, "Using online learning for system level power management"

Day 5: Sensors, Actuators, I/O, and HW/SW Co-design

Quiz #4; Final project demo and report due

Chapter 3 Sec. 3.1, 3.2, 3.5, 3.6, Chapter 6 Sec. 6.3 to 6.4,

Culler, Estrin, “Overview of sensor networks”

Hard Real-time Communication in Multiple-Access Networks

De Micheli, Gupta: “Hardware/Software Co-Design”

03/23/2012 Final – in class, 1hr 20min

WES class schedule

Page 12: Introduction to Embedded Systems - cseweb.ucsd.educseweb.ucsd.edu/classes/wi13/wes237A-a/handouts/introductionWES.… · Introduction to Embedded Systems Tajana Simunic Rosing Department

WES Course Daily Timeline

9:30-10am Review, Q&A

10-10:30am Quiz

10:30-12pm Lecture

12-12:30 TAs: sample problems

12:30-1:30pm Lunch

1:30-3pm Lecture

3-3:30pm TAs: sample problems

3:30-5:00 TAs: Project and/or additional lecture

Page 13: Introduction to Embedded Systems - cseweb.ucsd.educseweb.ucsd.edu/classes/wi13/wes237A-a/handouts/introductionWES.… · Introduction to Embedded Systems Tajana Simunic Rosing Department

Course Grading

Class participation: 4%

Come prepared to discuss the assigned paper(s)

Quizzes (~4): 16%

Embedded systems project 40%

Tools for modeling of embedded systems, cross-compile and

analyze energy/performance of various mobile apps, make kernel

more energy efficient

Three parts:

Individual: Part 1: 5%, Part 2: ~20% of the total project grade

Team of two: Part 3: ~75% of the total project grade

Final exam: 40%

Page 14: Introduction to Embedded Systems - cseweb.ucsd.educseweb.ucsd.edu/classes/wi13/wes237A-a/handouts/introductionWES.… · Introduction to Embedded Systems Tajana Simunic Rosing Department

Embedded Systems on the Web Berkeley Design technology, Inc.: http://www.bdti.com

EE Times Magazine: http://www.eet.com/

Linux Devices: http://www.linuxdevices.com

Embedded Linux Journal: http://embedded.linuxjournal.com

Embedded.com: http://www.embedded.com/ Embedded Systems Programming magazine

Circuit Cellar: http://www.circuitcellar.com/

Electronic Design Magazine: http://www.planetee.com/ed/

Electronic Engineering Magazine: http://www2.computeroemonline.com/magazine.html

Integrated System Design Magazine: http://www.isdmag.com/

Sensors Magazine: http://www.sensorsmag.com

Embedded Systems Tutorial: http://www.learn-c.com/

Collections of embedded systems resources http://www.ece.utexas.edu/~bevans/courses/ee382c/resources/

http://www.ece.utexas.edu/~bevans/courses/realtime/resources.html

Newsgroups comp.arch.embedded, comp.cad.cadence, comp.cad.synthesis, comp.dsp,

comp.realtime, comp.software-eng, comp.speech, and sci.electronics.cad

Page 15: Introduction to Embedded Systems - cseweb.ucsd.educseweb.ucsd.edu/classes/wi13/wes237A-a/handouts/introductionWES.… · Introduction to Embedded Systems Tajana Simunic Rosing Department

Embedded Systems Courses Alberto Sangiovanni-Vincentelli @ Berkeley

EE 249: Design of Embedded Systems: Models, Validation, and Synthesis http://www-cad.eecs.berkeley.edu/~polis/class/index.html

Brian Evans @ U.T. Austin EE382C-9 Embedded Software Systems

http://www.ece.utexas.edu/~bevans/courses/ee382c/index.html

Edward Lee @ Berkeley EE290N: Specification and Modeling of Reactive Real-Time Systems

http://ptolemy.eecs.berkeley.edu/~eal/ee290n/index.html

Mani Srivastava @ UCLA

EE202A: Embedded and Real Time Systems http://nesl.ee.ucla.edu/courses/ee202a/2003f/

Bruce R. Land @ CMU

EE476: Designing with Microcontrollers

http://instruct1.cit.cornell.edu/courses/ee476

Page 16: Introduction to Embedded Systems - cseweb.ucsd.educseweb.ucsd.edu/classes/wi13/wes237A-a/handouts/introductionWES.… · Introduction to Embedded Systems Tajana Simunic Rosing Department

Conferences and Journals Conferences & Workshops

ACM/IEE DAC

IEEE ICCAD

IEEE RTSS

ACM ISLPED

IEEE CODES+ISSS

CASES

Many others…

Journals & Magazines

ACM Transactions on Design Automation of Electronic Systems

ACM Transactions on Embedded Computing Systems

IEEE Transactions on Computer-Aided Design

IEEE Transactions on VLSI Design

IEEE Design and Test of Computers

IEEE Transactions on Computers

Journal of Computer and Software Engineering

Journal on Embedded Systems

Page 17: Introduction to Embedded Systems - cseweb.ucsd.educseweb.ucsd.edu/classes/wi13/wes237A-a/handouts/introductionWES.… · Introduction to Embedded Systems Tajana Simunic Rosing Department

What are embedded

systems and why should we care?

Page 18: Introduction to Embedded Systems - cseweb.ucsd.educseweb.ucsd.edu/classes/wi13/wes237A-a/handouts/introductionWES.… · Introduction to Embedded Systems Tajana Simunic Rosing Department

What are

embedded systems? Systems which use computation to perform a

specific function

embedded within a larger device and environment

Heterogeneous & reactive to environment

Main reason for buying is not information processing Main reason for buying is not information processing

Page 19: Introduction to Embedded Systems - cseweb.ucsd.educseweb.ucsd.edu/classes/wi13/wes237A-a/handouts/introductionWES.… · Introduction to Embedded Systems Tajana Simunic Rosing Department

Embedded processor market

Processors strongly affect SW development – keeps their prices high

Only 2% of processors drive PCs!

ARM sells 3x more CPUs then Intel sells Pentiums

79% of all high-end processors are used in embedded systems

Source: EETimes

Page 20: Introduction to Embedded Systems - cseweb.ucsd.educseweb.ucsd.edu/classes/wi13/wes237A-a/handouts/introductionWES.… · Introduction to Embedded Systems Tajana Simunic Rosing Department

Tied to advances in semiconductors

A typical chip in near future

1-10 GHz, 100-1000 MOP/sq mm, 10-100 MIPS/mW

Cost is almost independent of functionality

10,000 units/wafer, 20K wafers/month

$5 per part

Processor, MEMS, Networking, Wireless, Memory

But it takes $20M to build one today, going to $50+M

So there is a strong incentive to port your application,

system, box to the “chip”

Source: RG UCSD

Page 21: Introduction to Embedded Systems - cseweb.ucsd.educseweb.ucsd.edu/classes/wi13/wes237A-a/handouts/introductionWES.… · Introduction to Embedded Systems Tajana Simunic Rosing Department

Trends in Embedded Systems

Increasing code size

average code size: 16-64KB in 1992, 64K-512KB in 1996

migration from hand (assembly) coding to high-level languages

Reuse of hardware and software components

processors (micro-controllers, DSPs)

software components (drivers)

Increasing integration and system complexity

integration of RF, DSP, network interfaces

32-bit processors, IO processors (I2O)

Structured design and composition methods are essential.

Source: RG UCSD

Page 22: Introduction to Embedded Systems - cseweb.ucsd.educseweb.ucsd.edu/classes/wi13/wes237A-a/handouts/introductionWES.… · Introduction to Embedded Systems Tajana Simunic Rosing Department

Characteristics of Embedded Systems

Application specific

Efficient

energy, code size, run-time, weight, cost

Dependable

Reliability, maintainability, availability, safety, security

Real-time constraints

Soft vs. hard

Reactive - connected to physical environment

sensors & actuators

Hybrid

Analog and digital

Distributed

Composability, scalability, dependability

Dedicated user interfaces

embedded

real-time

embedded

real-time

Page 23: Introduction to Embedded Systems - cseweb.ucsd.educseweb.ucsd.edu/classes/wi13/wes237A-a/handouts/introductionWES.… · Introduction to Embedded Systems Tajana Simunic Rosing Department

Applications • Medical systems

e.g. “artificial eye”

• Medical systems

e.g. “artificial eye”

www.dobelle.com

• e.g. “micro-needles” • e.g. “micro-needles”

Source: ASV UCB

Page 24: Introduction to Embedded Systems - cseweb.ucsd.educseweb.ucsd.edu/classes/wi13/wes237A-a/handouts/introductionWES.… · Introduction to Embedded Systems Tajana Simunic Rosing Department

On-chip Chemistry

electromagnet area

underneath device

arm 1

4 mm

holes for fluidic

contact

holes for electrical

contact

1 mm

arm 2 arm3

Page 25: Introduction to Embedded Systems - cseweb.ucsd.educseweb.ucsd.edu/classes/wi13/wes237A-a/handouts/introductionWES.… · Introduction to Embedded Systems Tajana Simunic Rosing Department

Pedometer

Obvious computer work: Count steps

Keep time

Averages

etc.

Hard computer work: Actually identify when a

step is taken

Sensor feels motion of device, not of user feet

© Jakob Engblom

Page 26: Introduction to Embedded Systems - cseweb.ucsd.educseweb.ucsd.edu/classes/wi13/wes237A-a/handouts/introductionWES.… · Introduction to Embedded Systems Tajana Simunic Rosing Department

If you want to play

Lego mindstorms robotics kit Standard controller

8-bit processor

64 kB of memory

Electronics to interface to motors and sensors

Good way to learn embedded systems

© Jakob Engblom

Page 27: Introduction to Embedded Systems - cseweb.ucsd.educseweb.ucsd.edu/classes/wi13/wes237A-a/handouts/introductionWES.… · Introduction to Embedded Systems Tajana Simunic Rosing Department

Mobile phones Multiprocessor

8-bit/32-bit for UI

DSP for signals

32-bit in IR port

32-bit in Bluetooth

8-100 MB of memory

All custom chips

Power consumption &

battery life depends on

software

© Jakob Engblom

Page 28: Introduction to Embedded Systems - cseweb.ucsd.educseweb.ucsd.edu/classes/wi13/wes237A-a/handouts/introductionWES.… · Introduction to Embedded Systems Tajana Simunic Rosing Department

Inside the PC

Custom processors Graphics, sound

32-bit processors IR, Bluetooth

Network, WLAN

Hard disk

RAID controllers

8-bit processors USB

Keyboard, mouse

© Jakob Engblom

Page 29: Introduction to Embedded Systems - cseweb.ucsd.educseweb.ucsd.edu/classes/wi13/wes237A-a/handouts/introductionWES.… · Introduction to Embedded Systems Tajana Simunic Rosing Department

Mobile base station

Massive signal processing

Several processing tasks per

connected mobile phone

Based on DSPs

Standard or custom

100s of processors

© Jakob Engblom

Page 30: Introduction to Embedded Systems - cseweb.ucsd.educseweb.ucsd.edu/classes/wi13/wes237A-a/handouts/introductionWES.… · Introduction to Embedded Systems Tajana Simunic Rosing Department

Telecom Switch

Rack-based

Control cards

IO cards

DSP cards

...

Optical & copper

connections

Digital & analog

signals

© Jakob Engblom

Page 31: Introduction to Embedded Systems - cseweb.ucsd.educseweb.ucsd.edu/classes/wi13/wes237A-a/handouts/introductionWES.… · Introduction to Embedded Systems Tajana Simunic Rosing Department

Smart Welding Machine

Electronics control voltage &

speed of wire feed

Adjusts to operator

kHz sample rate

1000s of decisions/second

Perfect weld even for quite

clumsy operators

Easier-to-use product, but no

obvious computer

© Jakob Engblom

Page 32: Introduction to Embedded Systems - cseweb.ucsd.educseweb.ucsd.edu/classes/wi13/wes237A-a/handouts/introductionWES.… · Introduction to Embedded Systems Tajana Simunic Rosing Department

Cars Multiple processors networked together (~100), wide variety of CPUs:

8-bit – door locks, lights, etc; 16-bit – most functions; 32-bit – engine control, airbags

Multiple networks

Body, engine, telematics, media, safety

90% of all innovations based on electronic systems

More than 30% of cost is in electronics

© Jakob Engblom, ASV UCB

Page 33: Introduction to Embedded Systems - cseweb.ucsd.educseweb.ucsd.edu/classes/wi13/wes237A-a/handouts/introductionWES.… · Introduction to Embedded Systems Tajana Simunic Rosing Department

Source: ASV UCB

Page 34: Introduction to Embedded Systems - cseweb.ucsd.educseweb.ucsd.edu/classes/wi13/wes237A-a/handouts/introductionWES.… · Introduction to Embedded Systems Tajana Simunic Rosing Department

Amtrak Acela High Speed Train

High speed tilting train service between Boston, New York, and

Washington, D.C.

Built by Bombardier, uses FT-10 free topology twisted pair channel to

monitor and control propulsion, power inverters, braking, fire

protection systems, ride stability, safety, and comfort.

Transportation

Source: Echelon

Page 35: Introduction to Embedded Systems - cseweb.ucsd.educseweb.ucsd.edu/classes/wi13/wes237A-a/handouts/introductionWES.… · Introduction to Embedded Systems Tajana Simunic Rosing Department

Coeur Défense, Paris

Location and access

The biggest office property complex in Europe located at the heart of the central esplanade of the Paris-La Défense business district

The building

Property complex with a total floor area of 182,000 m² in two towers 180 metres high (39 floors) and 3 small (8-floors) buildings linked to each other by a "glass cathedral".

Building Automation System

15000 embedded control devices

One (1) i.LON™ 100 per floor (150 floors) for routing data

Building Automation

Source: Echelon

Page 36: Introduction to Embedded Systems - cseweb.ucsd.educseweb.ucsd.edu/classes/wi13/wes237A-a/handouts/introductionWES.… · Introduction to Embedded Systems Tajana Simunic Rosing Department

Process Control

Bellagio Hotel, Las

Vegas NV

Water fountain show

Fountain and sprinkler

systems controls

Pump controls

Valve controls

Choreographed lights

and music

Leak detection

Source: Echelon

Page 37: Introduction to Embedded Systems - cseweb.ucsd.educseweb.ucsd.edu/classes/wi13/wes237A-a/handouts/introductionWES.… · Introduction to Embedded Systems Tajana Simunic Rosing Department

Embedded system metrics Some metrics: performance: MIPS, reads/sec etc.

power: Watts

cost: Dollars Nonrecurring engineering cost, manufacturing cost

size: bytes, # components, physical space occupied

Flexibility, Time-to-prototype, time-to-market

Maintainability, correctness, safety

MIPS, Watts and cost are related technology driven

to get more MIPS for fewer Watts look at the sources of power consumption

use power management and voltage scaling

Source: MS HPL