Power Management of iPAQ Sukjae Cho

Slides:



Advertisements
Similar presentations
Hardware Lesson 3 Inside your computer.
Advertisements

PC Technology Chapter 6 Teacher: Manju JEOPARDY.
Operating Systems Manage system resources –CPU scheduling –Process management –Memory management –Input/Output device management –Storage device management.
Linux Bootup Time Reduction for Digital Still Camera Chan Ju, Park SW Laboratories Samsung Electronics.
Oscilloscope Watch Teardown. Agenda History and General overview Hardware design: – Block diagram and general overview – Choice of the microcontroller.
Basic Input Output System
Parts & Functions of a Computer. 2 Functions of a Computer.
COMPUTER CONCEPTS Computer Information Systems. COURSE COMPETENCIES Explain the functions of computer system components. Describe the information processing.
Energy in sensor nets. Where does the power go Components: –Battery -> DC-DC converter –CPU + Memory + Flash –Sensors + ADC –DAC + Audio speakers –Display.
Handheld TFTP Server with USB Andrew Pangborn Michael Nusinov RIT Computer Engineering – CE Design 03/20/2008.
Embedded Systems Programming
© 2004, D. J. Foreman 1 Computer Organization. © 2004, D. J. Foreman 2 Basic Architecture Review  Von Neumann ■ Distinct single-ALU & single-Control.
Energy in sensor nets. Where does the power go Components: –Battery -> DC-DC converter –Sensors->ADC->MCU+Memory  Radio.
Optimization Of Power Consumption For An ARM7- BASED Multimedia Handheld Device Hoseok Chang; Wonchul Lee; Wonyong Sung Circuits and Systems, ISCAS.
1 Introduction Chapter What is an operating system 1.2 History of operating systems 1.3 The operating system zoo 1.4 Computer hardware review 1.5.
Timers and Interrupts Shivendu Bhushan Summer Camp ‘13.
MicroC/OS-II Embedded Systems Design and Implementation.
Processor Frequency Setting for Energy Minimization of Streaming Multimedia Application by A. Acquaviva, L. Benini, and B. Riccò, in Proc. 9th Internation.
Jamie Unger-Fink John David Eriksen. Outline Intro to LCDs Power Issues Energy Model New Reduction Techniques Results Conclusion.
Mathieu Stephan, EPFL. Why? Create a complete product Remotely control your music player Get information about the tracks being played Get calls / listen.
NS Training Hardware. Memory Interface Support for SDRAM, asynchronous SRAM, ROM, asynchronous flash and Micron synchronous flash Support for 8,
BLDC MOTOR SPEED CONTROL USING EMBEDDED PROCESSOR
ATMEL AVR 8 bit RISC MICROCONTROLLERS
1 EE 587 SoC Design & Test Partha Pande School of EECS Washington State University
3-1 System peripherals & Bus Structure Memory map of the LPC2300 device is one contiguous 32-bit address range. However, the device itself is made up of.
Introduction to the Resources of Pocket PC Bo-Yuan Peng National Taiwan University.
CS 423 – Operating Systems Design Lecture 22 – Power Management Klara Nahrstedt and Raoul Rivas Spring 2013 CS Spring 2013.
Handheld Devices (portable but still explicit usage) Laptops Personal Digital Assistants (Palm, PocketPC) TabletPC Smart Phones.
Operating Systems.
Chapter 8 Input/Output. Busses l Group of electrical conductors suitable for carrying computer signals from one location to another l Each conductor in.
Basic Input Output System
AT91SAM9261-EK WinCE 6.0 DEMO ATMEL AT91 Application & Support Group
Energy Management Uichin Lee KAIST KSE. Mobile Processing Power – Changing the Mobile Device From
B.A. (Mahayana Studies) Introduction to Computer Science November March The Motherboard A look at the brains of the computer, the.
Random access memory.
LPC2148 Programming Using BLUEBOARD
Translate the following message:
A+ Guide to Managing and Maintaining Your PC Fifth Edition Chapter 1 Introducing Hardware.
Industrial Process Control System Simon Hui Engineer Control and Informatics, Industrial Centre.
AT91SAM9261-EK WinCE 5.0 DEMO ATMEL AT91 Application & Support Group Version 1.O February 2007.
Clock Options and Sleep Modes. Clock Sources Flash Fuse bits can be programmed to choose one of the following Clock sources: 1. External RC Osc. f = 1/(3RC).
MCU: Interrupts and Timers Ganesh Pitchiah. What’s an MCU ?
Contact Information Office: 225 Neville Hall Office Hours: Monday and Wednesday 12:00-1:00 and by appointment.
Arduino. What is it? A open-source software suite and single-board microcontroller. Allows easy and affordable prototyping of microcontroller applications.
Gauge Operation and Software by Scott A. Ager. Computer Recommendations 750 MHz Pentium III 64 Meg SRAM 40 Gig Hard Drive 1024 x 768 graphics CD Writer.
Bios Utkan Sürgevil
1 CS/COE0447 Computer Organization & Assembly Language Chapter 5 part 4 Exceptions.
Chapter 14 - Configuring Shutdown and Power Management Options.
ATtiny23131 A SEMINAR ON AVR MICROCONTROLLER ATtiny2313.
© 2004, D. J. Foreman 1 Computer Organization. © 2004, D. J. Foreman 2 Basic Architecture Review  Von Neumann ■ Distinct single-ALU & single-Control.
Modes of transfer in computer
CE Operating Systems Lecture 2 Low level hardware support for operating systems.
1 Computer Systems II Introduction to Processes. 2 First Two Major Computer System Evolution Steps Led to the idea of multiprogramming (multiple concurrent.
Introduction to Operating Systems and Concurrency.
CE Operating Systems Lecture 2 Low level hardware support for operating systems.
Lecture on Central Process Unit (CPU)
Computer operation is of how the different parts of a computer system work together to perform a task.
Interrupt driven I/O Computer Organization and Assembly Language: Module 12.
بسم الله الرحمن الرحيم MEMORY AND I/O.
Memory Organisation & Modes of Operations By: Prof. Mahendra B. Salunke Asst. Prof., Department of Computer Engg, SITS, Pune-41
CS 1410 Intro to Computer Tecnology Computer Hardware1.
Matthew Locke November 2007 A Linux Power Management Architecture.
AT91 Power Management This training module describes the Power Management options provided by the AT91 family of microcontrollers. These options address.
Operating System Review
Power Management and Sleep Modes
Power Management and Sleep Modes
Subject Name: Microcontroller Subject Code: 10ES42
Operating System Review
المحور 3 : العمليات الأساسية والمفاهيم
MSP432™ MCUs Training Part 6: Analog Peripherals
Presentation transcript:

Power Management of iPAQ Sukjae Cho

Agenda  About iPAQ  What’s iPAQ  Linux on iPAQ Power management of iPAQ Sleep mode of iPAQ SA-1100 register monitor

What’s iPAQ Powerful handheld computer  206MHz StrongArm SA-1110 processor  320x240 resolution color TFT LCD  Touch screen  32MB SDRAM / 16MB Flash memory  USB/RS-232/IrDA connection  Speaker/Microphone  Lithium Polymer battery  PCMCIA card expansion pack & CF card expansion pack

Linux on iPAQ Modification based on arm linux kernel 2.4 ARMV binaries can run without modification Many projects for iPAQ linux are on the work

Agenda About iPAQ  Power management of iPAQ  Power usage of iPAQ components  Previous work  Tweaks for reducing power consumption of iPAQ  Improvements Sleep mode of iPAQ SA-1100 register monitor

Power Usage of Components in iPAQ * Note SDRAM power consumption is guessed by setting it self-refresh mode CPU is idle state of most of its time Audio, IrDA, RS232 power is measured when each part is idling Etc includes CPU, flash memory, touch screen and all other devices Frontlight brightness was 16

Previous Work (1/2) Idle loop  Idle process uses Strong Arm’s idle mode  In idle mode, CPU stops its clocking and wait for interrupt Turning off sound chip  Turning off power to sound chip when we don’t need it  Maintain all CPU’s output to sound chip low  Prevents the sound chip from draining power from CPU’s output pins Screen saver  Turns off LCD and backlight after some time of no user-input Scaling down the CPU clock  SA1110 core clock can be switched from 57.3MHz to 214.8MHz by software  No voltage change is supported  Time to change clock takes about 150ms for calibrating delay loop

Previous Work (2/2) iPAQ consumes 470mW if you turn on LCD (no frontlight) and turn off other unused chips  iPAQ that runs linux consumes 1.9 times more power than iPAQ that runs Windows CE does in this condition  iPAQ lasts about 8 hours in this condition  Actual usable time with front light is about 4 hours iPAQ linux can sleep but can’t wake up  WinCE can last a long time in the sleep mode  Linux should be turned off when you don’t use it

Tweaks for reducing power consumption of iPAQ (1/2) Enable SDRAM auto power down mode  SA1110 supports SDRAM auto power down mode  In SDRAM auto power down mode, CPU disables clock input to memory when the memory is not in use  Saves about 190mW when the memory activity is low Tweak in Display Driver  Reduce refresh rate of LCD Current LCD driver refreshes rate is about 60Hz Refresh rate can be adjusted by various LCD timing We can reduce SDRAM usage, bus usage and power consumption by lowering refresh rate  Disabling LCD controller when there is no change in screen  Both method require changes in X server or user applications

Tweaks for reducing power consumption of iPAQ (2/2) CPU-scaling experiment result  Saves about 100mW ~ 200mW if CPU runs at 57.3MHz rather than 206MHz  Lowering CPU clock reduce static power consumption of CPU  Lowering CPU clock reduce other components whose clocks are derived from CPU clock (memory, LCD controller and etc.)

Improvements When LCD is on, most other chips are off and CPU is idle,  Linux iPAQ consumes 470mW with previous linux kernel 280mW with SDRAM power down mode 238mW with SDRAM power down mode and 30Hz refresh rate 172mW with SDRAM power down mode and CPU speed 56MHz  WinCE iPAQ consumes 248mW * Note Consumes 460mW more power if the front light is on Linux can consume as low as 98mW if it also turns off LCD

Agenda About iPAQ Power management of iPAQ  Sleep mode of iPAQ  Previous work  Works done for sleep/wakeup  More things to do SA-1100 register monitor

Previous Work Itsy  Research prototype of handhelds device of compaq  Uses SA1100 processor  Uses kernel based on linux kernel 2.2  Kernel and bootloader support sleep/wakeup Yopy  Multimedia PDA. Commercial product is not released.  Uses SA1110 processor  Uses kernel based on linux kernel 2.2  Kernel and bootloader support sleep/wakeup Arm linux kernel  Arm linux kernel did not support sleep/wakeup  Bootloader did not support sleep/wakeup  Some device drivers support suspend/resume  Frameworks for APM

Works Done for Sleep/Wakeup (1/2) Bootloader modification  Bootloader tests whether the cause of reset is the sleep reset  Bootloader wakeup SDRAM from self-refresh state to normal state  Bootloader jumps to linux kernel wakeup entry point which is set by kernel

Works Done for Sleep/Wakeup (2/2) Kernel modification  Enter sleep mode Execute each device driver ’ s suspend code Save/restore the vital registers of SA1110 Setup power management unit properly Give wake-up information to bootloader before sleep Execute work around code to avoid SA1110 sleep bugs Enter sleep mode  Wake up from sleep Restore CPU status Execute each driver ’ s resume code  Device drivers ’ support for suspend/resume LCD driver Touch screen & backlight Sound driver DMA RTC

More Things To Do Test more device drivers ’ suspend/resume  IRDA  USB  CF cards  PCMCIA cards Implementing power consumption reduction method  CPU clock adjustment Fix CPU clock scaling code Dynamic CPU clock scaling on the load  Automatic refresh rate adjustment  Improve display driver and interface Implement various power down-mode  Alarm sleep mode  Slow-running mode  Screen off mode

SA-1100 Register Monitor Module Provide simple method to read & write 150 special registers in SA-1100 Ex) (none):~# insmod./regmon.o (none):~# cd /proc/cpu/registers/ (none):/proc/cpu/registers# ls DBAR1 DBTA2 DCSR4 GPDR LCCR0 MDCAS22 PGSR RTSR UDCOMP UTDR DBAR2 DBTA3 DCSR5 GPLR LCCR1 MDCNFG PMCR RTTR UDCSR UTDR DBSA0 DBTA4 DDAR0 GPSR LCCR2 MDREFR POSR SMCNFG UDCWC UTDR... DBSB5 DCSR1 GPCLKR2 ICLR MDCAS02 OSSR RCSR UDCD0 UTCR3 DBTA0 DCSR2 GPCLKR3 ICMR MDCAS20 OWER RSRR UDCDR UTCR3 DBTA1 DCSR3 GPCR ICPR MDCAS21 PCFR RTAR UDCIMP UTCR4 (none):/proc/cpu/registers# cat PSPR 0x (none):/proc/cpu/registers# echo 0x >PSPR (none):/proc/cpu/registers# cat PSPR 0x

Special Thanks to Carl Dong-in Brian Chris