Physical Limits of Computing Dr. Mike Frank CIS 6930, Sec. #3753X Spring 2002 Lecture #31 Reversible Processor Architectures Wed., Mar. 27.

Slides:



Advertisements
Similar presentations
Chapter 2: Data Manipulation
Advertisements

CS/COE0447 Computer Organization & Assembly Language
– © Yohai Devir 2007 Technion - IIT Tutorial #10 MIPS commands.
Chapter 5 The LC-3.
Instruction Set Architecture & Design
TK 2633 Microprocessor & Interfacing
CHAPTER 4 COMPUTER SYSTEM – Von Neumann Model
COMP3221: Microprocessors and Embedded Systems Lecture 2: Instruction Set Architecture (ISA) Lecturer: Hui Wu Session.
Room: E-3-31 Phone: Dr Masri Ayob TK 2633 Microprocessor & Interfacing Lecture 1: Introduction to 8085 Assembly Language.
Choice for the rest of the semester New Plan –assembler and machine language –Operating systems Process scheduling Memory management File system Optimization.
The Microarchitecture Level The level above the digital logic level is the microarchitecture level.  Its job is to implement the ISA (Instruction Set.
Overview von Neumann Model Components of a Computer Some Computer Organization Models The Computer Bus An Example Organization: The LC-3.
Chapter 5 The LC-3. Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display. 5-2 Instruction Set Architecture ISA.
IT253: Computer Organization Lecture 4: Instruction Set Architecture Tonga Institute of Higher Education.
Physical Limits of Computing Dr. Mike Frank CIS 6930, Sec. #3753X Spring 2002 Lecture #27 Reversible Computing Theory I: Reversible Logic Models Wed.,
Physical Limits of Computing Dr. Mike Frank CIS 6930, Sec. #3753X Spring 2002 Lecture #24 Adiabatic CMOS cont. Wed., Mar. 13.
Reversible Computing Theory I: Reversible Logic Models.
December 8, 2003Other ISA's1 Other ISAs Next, we discuss some alternative instruction set designs. – Different ways of specifying memory addresses – Different.
Chapter 4 The Von Neumann Model
Von Neumann Machine Objectives: Explain Von Neumann architecture:  Memory –Organization –Decoding memory addresses, MAR & MDR  ALU and Control Unit –Executing.
Chapter 5 The LC Instruction Set Architecture ISA = All of the programmer-visible components and operations of the computer memory organization.
Introduction to Computer Engineering CS/ECE 252, Fall 2009 Prof. Mark D. Hill Computer Sciences Department University of Wisconsin – Madison.
Introduction to Computer Engineering ECE/CS 252, Fall 2010 Prof. Mikko Lipasti Department of Electrical and Computer Engineering University of Wisconsin.
The LC-3. Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display. 5-2 Instruction Set Architecture ISA = All of the.
Module : Algorithmic state machines. Machine language Machine language is built up from discrete statements or instructions. On the processing architecture,
Lecture 14 Today’s topics MARIE Architecture Registers Buses
Arithmetic Logic Unit (ALU) Anna Kurek CS 147 Spring 2008.
Chapter 5 The LC Instruction Set Architecture ISA = All of the programmer-visible components and operations of the computer memory organization.
Chapter 10 Instruction Sets: Characteristics and Functions Felipe Navarro Luis Gomez Collin Brown.
Physical Limits of Computing Dr. Mike Frank CIS 6930, Sec. #3753X Spring 2002 Lecture #28 Reversible Computing Theory II: Emulating Irreversible Machines.
Our programmer needs to do this !
Von Neumann Model Computer Organization I 1 September 2009 © McQuain, Feng & Ribbens The Stored Program Computer 1945: John von Neumann –
Digital Computer Concept and Practice Copyright ©2012 by Jaejin Lee Control Unit.
Physical Limits of Computing Dr. Mike Frank CIS 6930, Sec. #3753X Spring 2002 Lecture #28 Reversible Scaling Analysis I: Cost Models & Leakage-Free Limit.
Physical Limits of Computing Dr. Mike Frank CIS 6930, Sec. #3753X Spring 2002 Lecture #23 Adiabatic Electronics & CMOS Mon., Mar. 11.
Assembly Language Programming of 8085 BY Prof. U. V. THETE Dept. of Computer Science YMA.
Chapter 4 The Von Neumann Model
Ass. Prof. Dr Masri Ayob TK 2123 Lecture 14: Instruction Set Architecture Level (Level 2)
1 Basic Processor Architecture. 2 Building Blocks of Processor Systems CPU.
Introduction to Computing Systems and Programming The LC-2.
Computer Organization and Architecture Lecture 1 : Introduction
Control Unit Lecture 6.
Microprocessor Systems Design I
Chapter 4 The Von Neumann Model
3.Instruction Set of 8085 Consists of 74 operation codes, e.g. MOV
Chapter 4 The Von Neumann Model
Microcomputer Programming
Introduction to Computer Engineering
Chapter 4 The Von Neumann Model
Chapter 5 The LC-3.
Chapter 4 The Von Neumann Model
Chapter 5 The LC-3.
Introduction to Computer Engineering
Physical Limits of Computing Dr. Mike Frank CIS 6930, Sec
Instruction encoding We’ve already seen some important aspects of processor design. A datapath contains an ALU, registers and memory. Programmers and compilers.
Unit 12 CPU Design & Programming
Computer Architecture
Other ISAs Next, we’ll first we look at a longer example program, starting with some C code and translating it into our assembly language. Then we discuss.
Chapter 4 The Von Neumann Model
Introduction to Microprocessor Programming
Instruction encoding We’ve already seen some important aspects of processor design. A datapath contains an ALU, registers and memory. Programmers and compilers.
Addressing mode summary
The Stored Program Computer
Introduction to Computer Engineering
Introduction to Computer Engineering
Introduction to Computer Engineering
Introduction to Computer Engineering
Chapter 4 The Von Neumann Model
Presentation transcript:

Physical Limits of Computing Dr. Mike Frank CIS 6930, Sec. #3753X Spring 2002 Lecture #31 Reversible Processor Architectures Wed., Mar. 27

Administrivia & Overview Don’t forget to keep up with homework!Don’t forget to keep up with homework! –We are  10 out of 14 weeks into the course. You should have earned  ~71 points by now.You should have earned  ~71 points by now. Course outline:Course outline: –Part I&II, Background, Fundamental Limits - done –Part III, Future of Semiconductor Technology - done –Part IV, Potential Future Computing Technologies - done –Part V, Classical Reversible Computing Fri. 3/22: RevComp theory II: Emulating Irreversible Machines RevComp theory II: Bounds on Space-Time OverheadsFri. 3/22: RevComp theory II: Emulating Irreversible Machines RevComp theory II: Bounds on Space-Time Overheads Mon. 3/25: RevComp scaling analysis I: Cost, energy, area-time.Mon. 3/25: RevComp scaling analysis I: Cost, energy, area-time. Wed. 3/27: RevComp scaling analysis II: Spacetime and time.Wed. 3/27: RevComp scaling analysis II: Spacetime and time. Fri. 3/29: Reversible processor architectures.Fri. 3/29: Reversible processor architectures. Mon. 4/1: Reversible programming languages.Mon. 4/1: Reversible programming languages. Wed. 4/3: Reversible algorithms.Wed. 4/3: Reversible algorithms. –Part VI, Quantum Computing - starts Fri. 4/5 –Part VII, Cosmological Limits, Wrap-Up

Why reversible architectures? What about automatic emulation algorithms?What about automatic emulation algorithms? –E.g.: Ben73, Ben89, LMT, Frank02. Transform an irreversible alg. to an equiv. rev’ble one.Transform an irreversible alg. to an equiv. rev’ble one. –But, these do not yield the most cost-efficient reversible algorithms for all problems! E.g., log(R E(i./r) /R on/off ) may be only 0.4 rather than 0.5.E.g., log(R E(i./r) /R on/off ) may be only 0.4 rather than 0.5. Finding the best reversible algorithm requires a creative algorithm discovery process!Finding the best reversible algorithm requires a creative algorithm discovery process! An optimally cost-efficient general-purpose architecture must allow the programmer to specify a custom reversible algorithm that is specific to his problem.An optimally cost-efficient general-purpose architecture must allow the programmer to specify a custom reversible algorithm that is specific to his problem.

Reversibility Affects All Levels As R on/off increases & cost of device manuf. declines (while the cost of energy stays high),As R on/off increases & cost of device manuf. declines (while the cost of energy stays high), –Maximizing overall cost-efficiency requires an increasingly large fraction of all bit-ops be done adiabatically. Maximizing the efficiency of the resulting algorithms, in turn, requires reversibility in:Maximizing the efficiency of the resulting algorithms, in turn, requires reversibility in: –Logic design –Functional units –Instruction set architectures –Programming languages –High-level algorithms Increasing requirement for degree of reversibility Pro- gram- ming model (unless a perfect emulator is found)

All Known Reversible Architectures Ed Barton (MIT class project, 1978)Ed Barton (MIT class project, 1978) –Conservative logic, w. garbage stack Andrew Ressler (MIT bachelor’s thesis, 1979; MIT master’s thesis, 1981)Andrew Ressler (MIT bachelor’s thesis, 1979; MIT master’s thesis, 1981) –Like Barton’s, but more detailed. Paired branches. Henry Baker (1992)Henry Baker (1992) –Reversible pointer automaton machine instructions. J. Storrs “JoSH” Hall (1994)J. Storrs “JoSH” Hall (1994) –Retractile-cascade-based PDP-10-like architecture. Carlin Vieri (MIT master’s thesis, 1995)Carlin Vieri (MIT master’s thesis, 1995) –Early Pendulum ISA, irrev. impl., full VHDL detail. Frank & Rixner (MIT class project, 1996)Frank & Rixner (MIT class project, 1996) –Tick: VLSI schematics & layout of Pendulum subset, w. paired branches Frank & Love (MIT class project, 1996)Frank & Love (MIT class project, 1996) –FlatTop: Adiabatic VLSI impl. of programmable reversible gate array Vieri (MIT Ph.D. thesis, 1999)Vieri (MIT Ph.D. thesis, 1999) –Fully adiabatic VLSI implementation of Pendulum w. paired branches

Reversible Programmable Gate- Array Architectures

(as of May ‘99)

Photo of packaged FlatTop chip

A Bouncing BBMCA “Ball”

A BBMCA Fredkin Gate

Reversible von Neumann Architectures

Reversible Architecture Issues Instruction-Set Architecture (ISA) Issues:Instruction-Set Architecture (ISA) Issues: –How to define irrev. ops (AND, etc.) reversibly? –How to do jumps/branches reversibly? –What kind of memory interface to have? –What about I/O? –How to permit efficient reversible algorithms? –Should the hardware guarantee reversibility? Microarchitectural issues:Microarchitectural issues: –Register file interface –Reversible ALU operations –Shared buses –Program counter control

The Trivial Cases Many typical instructions already reversible:Many typical instructions already reversible: –NOT a Set register a to its bitwise logical complement, a := ~aSet register a to its bitwise logical complement, a := ~a –NEG a Set a to its two’s complement negationSet a to its two’s complement negation a := -a or a := ~a + 1 –INC a Increment a by 1 (modulo 2 ).Increment a by 1 (modulo 2 ). –ADD a b Add register b into register a (a := (a + b) mod 2 )Add register b into register a (a := (a + b) mod 2 ) –XOR a b Exclusive-or b into a (a := a  b)Exclusive-or b into a (a := a  b) –ROL a b Rotate bits in register a left by # positions given by b.Rotate bits in register a left by # positions given by b.

The Nontrivial Cases Other common instructions are not reversible…Other common instructions are not reversible… –CLR a Clear register a to 0.Clear register a to 0. –LD a b Load register a from addr. pointed to by b.Load register a from addr. pointed to by b. –LDI a 3 Load immediate value 3 into register a.Load immediate value 3 into register a. –AND a b Set a to the bitwise AND of a and bSet a to the bitwise AND of a and b –JMP a Jump to the instruction pointed to by a.Jump to the instruction pointed to by a. –SLL a b Shift the bits in a left by b bits, filling with 0’s on right.Shift the bits in a left by b bits, filling with 0’s on right.

Irreversible Data Operations How to do expanding ops reversibly?How to do expanding ops reversibly? –E.g., AND a b - Prior value of a is lost. Approach #1: “Garbage Stack” approach.Approach #1: “Garbage Stack” approach. –Based on Landauer’s embedding. –Push all data that would otherwise be destroyed onto a special “garbage” stack hidden from pgmr. –Can unwind computation when finished to recover stack space. (Lecerf ‘63/Bennett ‘73 approach) Problems: Large garbage stack memory needed.Problems: Large garbage stack memory needed. –Limits computation length. –Leaves programmer no opportunity to choose a more efficient reversible algorithm!

Illustrating Garbage Stack Let “  ” mean reversible move, “  ” mean reversible copy, “  ” a reversible uncopy.Let “  ” mean reversible move, “  ” mean reversible copy, “  ” a reversible uncopy. AND a b implemented by t  a 2. a  t & b 3. t  GSM[GSP++] Garbage Stack Memory (GSM) Garbage Stack Pointer (GSP)

Programmer-Controlled Garbage Put extra data in a programmer-manipulable location.Put extra data in a programmer-manipulable location. –What if destination location isn’t empty? Signal an error, orSignal an error, or Use an op that does something reversible anywayUse an op that does something reversible anyway Provide undo operations to accomplish “unexpanding” inverses of expanding ops.Provide undo operations to accomplish “unexpanding” inverses of expanding ops. 1st method: Errors on non-empty destination:1st method: Errors on non-empty destination: –AND A B C -If (A=0) A  B&C else error –UNAND A B C -If (A=B&C) A  B&C else error 2nd method: Use always-reversible store ops.2nd method: Use always-reversible store ops. –ANDX A B C - A  A  (B & C) (self-undoing!)

Pendulum - packaged chip photo