Instruction Set Architecture (ISA) for Low Power Hillary Grimes III Department of Electrical and Computer Engineering Auburn University.

Slides:



Advertisements
Similar presentations
Tuning of Loop Cache Architectures to Programs in Embedded System Design Susan Cotterell and Frank Vahid Department of Computer Science and Engineering.
Advertisements

Instruction Set Design
Chapter 8: Central Processing Unit
CPU Review and Programming Models CT101 – Computing Systems.
1 Lecture 3: Instruction Set Architecture ISA types, register usage, memory addressing, endian and alignment, quantitative evaluation.
RISC / CISC Architecture By: Ramtin Raji Kermani Ramtin Raji Kermani Rayan Arasteh Rayan Arasteh An Introduction to Professor: Mr. Khayami Mr. Khayami.
Tuan Tran. What is CISC? CISC stands for Complex Instruction Set Computer. CISC are chips that are easy to program and which make efficient use of memory.
Khaled A. Al-Utaibi  Computers are Every Where  What is Computer Engineering?  Design Levels  Computer Engineering Fields  What.
Lecture 2-Berkeley RISC Penghui Zhang Guanming Wang Hang Zhang.
ΜP rocessor Architectures To : Eng. Ahmad Hassan By: Group 18.
Extensible Processors. 2 ASIP Gain performance by:  Specialized hardware for the whole application (ASIC). −  Almost no flexibility. −High cost.  Use.
Chapter XI Reduced Instruction Set Computing (RISC) CS 147 Li-Chuan Fang.
Introduction To The ARM Microprocessor
ELEC Fall 05 1 Very- Long Instruction Word (VLIW) Computer Architecture Fan Wang Department of Electrical and Computer Engineering Auburn.
ECE 232 L2 Basics.1 Adapted from Patterson 97 ©UCBCopyright 1998 Morgan Kaufmann Publishers ECE 232 Hardware Organization and Design Lecture 2 Computer.
State Machines Timing Computer Bus Computer Performance Instruction Set Architectures RISC / CISC Machines.
RISC. Rational Behind RISC Few of the complex instructions were used –data movement – 45% –ALU ops – 25% –branching – 30% Cheaper memory VLSI technology.
11/11/05ELEC CISC (Complex Instruction Set Computer) Veeraraghavan Ramamurthy ELEC 6200 Computer Architecture and Design Fall 2005.
GCSE Computing - The CPU
Architectural and Compiler Techniques for Energy Reduction in High-Performance Microprocessors Nikolaos Bellas, Ibrahim N. Hajj, Fellow, IEEE, Constantine.
The Pentium: A CISC Architecture Shalvin Maharaj CS Umesh Maharaj:
Reduced Instruction Set Computers (RISC) Computer Organization and Architecture.
Cisc Complex Instruction Set Computing By Christopher Wong 1.
Processor Organization and Architecture
COMPUTER ORGANIZATIONS CSNB123 May 2014Systems and Networking1.
RISC and CISC. Dec. 2008/Dec. and RISC versus CISC The world of microprocessors and CPUs can be divided into two parts:
Computing Hardware Starter.
CMP 301A Computer Architecture 1 Lecture 4. 2 Outline zISA Introduction zISA Classes yStack yAccumulator yRegister memory yRegister register/load store.
Computers organization & Assembly Language Chapter 0 INTRODUCTION TO COMPUTING Basic Concepts.
What have mr aldred’s dirty clothes got to do with the cpu
1 Instruction Sets and Beyond Computers, Complexity, and Controversy Brian Blum, Darren Drewry Ben Hocking, Gus Scheidt.
A Decompression Architecture for Low Power Embedded Systems Lekatsas, H.; Henkel, J.; Wolf, W.; Computer Design, Proceedings International.
RISC By Ryan Aldana. Agenda Brief Overview of RISC and CISC Features of RISC Instruction Pipeline Register Windowing and renaming Data Conflicts Branch.
Part 1.  Intel x86/Pentium family  32-bit CISC processor  SUN SPARC and UltraSPARC  32- and 64-bit RISC processors  Java  C  C++  Java  Why Java?
Chapter 8 CPU and Memory: Design, Implementation, and Enhancement The Architecture of Computer Hardware and Systems Software: An Information Technology.
Chapter Six Sun SPARC Architecture. SPARC Processor The name SPARC stands for Scalable Processor Architecture SPARC architecture follows the RISC design.
CS5222 Advanced Computer Architecture Part 3: VLIW Architecture
RISC and CISC. What is CISC? CISC is an acronym for Complex Instruction Set Computer and are chips that are easy to program and which make efficient use.
Introduction to Microprocessors
Lecture 11: 10/1/2002CS170 Fall CS170 Computer Organization and Architecture I Ayman Abdel-Hamid Department of Computer Science Old Dominion University.
 Introduction to SUN SPARC  What is CISC?  History: CISC  Advantages of CISC  Disadvantages of CISC  RISC vs CISC  Features of SUN SPARC  Architecture.
ECEG-3202 Computer Architecture and Organization Chapter 7 Reduced Instruction Set Computers.
Reduced Instruction Set Computers. Major Advances in Computers(1) The family concept —IBM System/ —DEC PDP-8 —Separates architecture from implementation.
Represents different voltage levels High: 5 Volts Low: 0 Volts At this raw level a digital computer is instructed to carry out instructions.
© GCSE Computing Computing Hardware Starter. Creating a spreadsheet to demonstrate the size of memory. 1 byte = 1 character or about 1 pixel of information.
Reduction of Register File Power Consumption Approach: Value Lifetime Characteristics - Pradnyesh Gudadhe.
COMPUTER ORGANIZATIONS CSNB123 NSMS2013 Ver.1Systems and Networking1.
Lx: A Technology Platform for Customizable VLIW Embedded Processing.
Computer Systems – Machine & Assembly code. Objectives Machine Code Assembly Language Op-code Operand Instruction Set.
CISC. What is it?  CISC - Complex Instruction Set Computer  CISC is a design philosophy that:  1) uses microcode instruction sets  2) uses larger.
Addressing modes, memory architecture, interrupt and exception handling, and external I/O. An ISA includes a specification of the set of opcodes (machine.
Topics to be covered Instruction Execution Characteristics
Microprocessor and Microcontroller Fundamentals
Immediate Addressing Mode
Visit for more Learning Resources
CS161 – Design and Architecture of Computer Systems
Overview Introduction General Register Organization Stack Organization
A Closer Look at Instruction Set Architectures
Central Processing Unit
CSCI206 - Computer Organization & Programming
EE 445S Real-Time Digital Signal Processing Lab Spring 2014
Classification of instructions
2.C Memory GCSE Computing Langley Park School for Boys.
Introduction to Microprocessor Programming
Computer Architecture
CPU Structure CPU must:
Lecture 4: Instruction Set Design/Pipelining
Presentation transcript:

Instruction Set Architecture (ISA) for Low Power Hillary Grimes III Department of Electrical and Computer Engineering Auburn University

Outline Introduction ISA Characteristics ISA Characteristics ISA Design ISA Design CISC vs. RISC Register File Size Instruction Word Length Code Compression Examples: ARM, Thumb, & Thumb-2 Instruction Sets Examples: ARM, Thumb, & Thumb-2 Instruction Sets Proposed ISA Design for Low Power Future Work Resources

ISA Characteristics Three main characteristics: Register Organization Register Organization # of registers & their sizes Memory Organization Memory Organization Address space - # of memory locations Addressablity - # of bits each location Instruction Set Instruction Set List of opcodes – defines instructions supported Addressing modes – defines how operand values are obtained Instruction Formats – binary format for encoding instructions

ISA Design Typically, an ISA is designed for performance  Power consumption is often ignored ISAs designed for performance only are generally “power hungry” User-Level instructions perform many operations that dominate total power dissipation User-Level instructions perform many operations that dominate total power dissipation For low power applications, such as embedded systems, we would like to design an ISA that lowers power dissipation without a significant reduction in performance

CISC vs. RISC CISC Less instructions executed than in RISC (higher code density) Less instructions executed than in RISC (higher code density) Reduced energy consumed fetching instructions Reduced energy consumed fetching instructionsRISC More instructions than CISC, therefore more energy consumed fetching instructions More instructions than CISC, therefore more energy consumed fetching instructions Data & control paths are typically simpler, therefore less energy consumed per instruction Data & control paths are typically simpler, therefore less energy consumed per instruction

Register File Size Small # of general purpose registers Smaller Register File Size Smaller Register File Size less energy consumed per register file access More operands fetched from memory More operands fetched from memory more energy consumed by memory accesses Large # of general purpose registers Large Register File Size Large Register File Size more energy consumed per register file access Less operands fetched from memory Less operands fetched from memory less energy consumed by memory accesses

Instruction Word Length Required memory address space cannot be reduced, and usually determines register width. Many embedded processors use 32 bit instruction words. Reducing instruction width to 16 bits requires reformatting for a 32 bit external bus to fill the memory address space requirement. Reduces energy consumed by each instruction fetch (by up to 50%) Reduces energy consumed by each instruction fetch (by up to 50%) Also reduces performance by the need to reformat for a 32 bit external bus Also reduces performance by the need to reformat for a 32 bit external bus

Instruction Word Length When the energy consumed by external memory accesses dominates the total energy consumption, energy efficiency may be significantly improved True for small on chip caches (<8kb) True for small on chip caches (<8kb) Not true for larger on chip caches (16kb or larger). (Not as much energy saved) Not true for larger on chip caches (16kb or larger). (Not as much energy saved)

Code Compression Reducing the amount of space required for porgram code reduces the amount of memory that must be fetched for program execution. This reduces the total power consumed by overall instruction fetches Two ISAs developed for the ARM processor family that utilize code compression: Thumb Thumb Thumb-2 Thumb-2

Thumb Instruction Set The Thumb instruction set is a subset of 16-bit instructions implemented over the initial 32-bit ARM instruction set Thumb code can have a higher density than most CISC processors, but the Thumb set is more limited than the 32-bit ARM Instruction set ARM instructions can be conditionally executed, but Thumb instructions are always executed ARM instructions can be conditionally executed, but Thumb instructions are always executed The ARM set consists of 3-address instructions, but the Thumb set contains many 2-address instructions The ARM set consists of 3-address instructions, but the Thumb set contains many 2-address instructions

Thumb Instruction Set Switching between the ARM set & the Thumb set is done at runtime Mode switching between ARM & Thumb causes a reduction in performance Mode switching between ARM & Thumb causes a reduction in performance When using the Thumb set, the fetched 16-bit instruction is decoded to a 32-bit instruction & executed Thumb code requires only 70% of the space of ARM code Thumb code uses 30% less external memory power than ARM code

Thumb-2 Instruction Set Combines 16 & 32-bit instructions in a single instruction set 16 & 32-bit instructions can be mixed without mode switching Thumb-2 code size is approximately equal to Thumb code size Thumb-2 performance is approximately the same as ARM No performance reduction due to mode switching No performance reduction due to mode switching

ARM, Thumb, & Thumb-2 Comparison Performance

Energy efficient solution  Thumb-2 consumes less energy than ARM from instruction fetches, while keeping the same performance as ARM Compiled Code Size

Proposed ISA for low Power Idea behind proposed ISA: Code compression similar to, but beyond Thumb or Thumb-2 Code compression similar to, but beyond Thumb or Thumb-2 Further reduce code space containing simple accumulator based functions requiring only 1 operand Further reduce code space containing simple accumulator based functions requiring only 1 operand A more compressed code space means lower power consumed by external memory, and hopefully lower overall power A more compressed code space means lower power consumed by external memory, and hopefully lower overall power

Proposed ISA for low Power Dual instruction sets with mode switching scheme  similar to Thumb Uncompressed Instruction Set Uncompressed Instruction Set Consists of both 16 & 32 bit instructions without the need for mode switching Similar to Thumb-2 Compressed Instruction Set Compressed Instruction Set Subset of 8-bit, 1-address functions Functionality limited to simple, non-conditional accumulator based functions Memory accesses of 8, 16, & 32 bit widths would have to be supported, along with mode switching, possibly increasing power or decreasing performance

Future Work Future work involves answering the following questions: Can code density be significantly increased by reducing the code space required for simple accumulator based functions? Can code density be significantly increased by reducing the code space required for simple accumulator based functions? If so, will the total power be reduced? Will processor performance be “wiped out”? What are the power requirements demanded by supporting memory accesses of 8, 16, & 32 bit widths? What are the power requirements demanded by supporting memory accesses of 8, 16, & 32 bit widths? Would these power requirements surpass the power saved? Would this extra support have a significant impact on performance?

Future Work How would software design be affected (compilers, schedulers, etc.)? What other support would be needed? In general  Would this be a realistic energy efficient solution for a low power ISA?

Resources S. J. Patel, W-M. W. Hwu, and Y. N. Patt, Instruction Set Architectures, In General, 2002 Bill Moyer, Low-Power Design for Embedded Processors, Proceedings of the IEEE, vol. 89, no. 11, 2001 Flavius Gruian, Microprocessors: Low Power and Low Energy Solutions, Paper for the Advanced Issues in Computer Architectures course, T.D. Burd and R.A. Brodersen, Energy Efficient Microprocessor Design, Boston: Kluwer Academic Publishers, technical_report.html technical_report.html