37.4

A Learning Digital Computer Bo Marr, Arindam Basu, Stephen Brink, Paul Hasler Georgia Institute of Technology Atlanta, GA {hbmarr, arindamb, phasler} @ece.gatech.edu

ABSTRACT

and thus tune down the power in those areas. The processor will remember what it has learned so that even when the hardware is powered down and the application reloaded at some later time, the processor will go back to the optimal state it learned for that application. Hardware designers or synthesis algorithms would no longer have to spend hours tweaking designs when the designer doesn’t even know for which application the circuit will ultimately be tweaked. Microcontrollers and complicated dynamic voltage scaling (DVS) algorithms would become unnecessary. Software or firmware will not be what tweaks the processor, but the fabric of the circuits themselves. Alas, many have proposed neuronal models of learning and implemented these in analog hardware [4], and some have even proposed this neuronal process in digital by implementing equations that model learning in FPGAs [2]. However, these methods all depend on spike-based neuron models using the spike time dependent plascitiy (STDP) algorithm and cannot be of use to us for a general theory on a learning digital hardware.

The concept of learning digital hardware is presented here. A proof of concept of a circuit that can arbitrarily control the current, and thus the switching speed and power consumption, of a digital circuit is given. This control of current is directly tuned by the feedback from the digital circuit itself, thus a learning digital computer. An argument for a completely new paradigm in digital computing follows whereby an entire system of learning digital circuits is proposed.

Categories and Subject Descriptors B.7.1 [Integrated Circuits]: Types and Design Styles— Advanced Technologies

General Terms Design

Keywords Floating Gates, Learning

2.

A KEY CIRCUIT ELEMENT

In order for a processor, or digital circuits, to learn a novel circuit element would be introduced with a couple of key features. It would need to be able to

1. INTRODUCTION What if processors could learn? With all of the myriad applications that our embedded systems, general purpose processors, and reconfigurable arrays of hardware are required to run, we could benefit greatly if our processors could learn exactly what it was we wanted them to do and how we wanted them to do it. Better software is not the solution for this adaptibility problem; afterall, the ultimate performance of software is limited by the hardware itself. For low power processors, software only complicates the matter – the more software, the more instructions, and the more power is burned. We propose to create a processor where the hardware itself learns. The hardware will learn which application it is running and adapt to create stronger circuits in the critical path of the application and will learn which paths are not critical

• Be dynamically programmable (during run-time). • Control current flow arbitrarily in digital circuits. • Remember or have a memory capacity. • Be implemented with insignificant overhead to performance or power. Since the flow of current is what ultimately determines the speed at which a digital circuit switches and its power consumption, a circuit element with the above characteristics would allow for digital circuits to tune their own performance and power. Such a circuit element is given in Figure 1. Represented in Figure 1 is a floating gate transistor used to control the speed and power of a digital circuit. The gate of the pFET is floating as it has no DC connection and is only capacitively coupled to other nodes, which means it can hold an arbitrary charge on the node. For a faster digital circuit, more charge is allowed onto the floating node, opening up the FET allowing more current to flow. Charge can be taken off for a more power efficient digital circuit.

Permission to make digital or hard copies of part or all of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. To copy otherwise, to republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. DAC’09, July 26-31, 2009, San Francisco, California, USA Copyright 2009 ACM 978-1-60558-497-3/09/07....10.00

617 Authorized licensed use limited to: Georgia Institute of Technology. Downloaded on July 08,2010 at 08:36:59 UTC from IEEE Xplore. Restrictions apply.

(a)

Figure 3: Example showing number of carry operations in the addition of 39 and 1, where 4 carry overs are needed for the critical path. (a) Each 1-bit addition takes unit time, the critical path is equal to 4 time units here. (b) Our learning adder speeds up the first 3 1-bit additions to 12 , 14 , and 14 time units respectively so the critical path only takes 2 time units total.

Figure 1: A floating gate transistor with digital feedback to control charge injection onto the pFET’s floating node and to control electron tunneling off of the pFET’s floating node. This node is also connected to a FET in the digital circuit allowing for a bias current of an arbitrary value (digital circuit of arbitrary speed).

few pixels from frame to frame. Typical image data for an H.264 decoder yields repeated inputs to an FIR filter, made up of strictly of adders and multipliers, due to the repeated pixel values being generated by the movie. Using this H.264 movie decoder example, Figure 3 shows there are 4 carry-overs needed in the addition of a pixel value, 39, being incremented by 1, and this is the critical path using a standard ripple-carry adder. If each 1-bit addition takes unit time, the critical path takes 4 time units to complete. Now, since pixel values are repeated 100s if not 1000s of times in a typical movie scene, it is likely this exact addition, or one close to it, would be repeated 1000s of times. Our datapath learns and strengthens the critical path (Figure 3b); the first 3 1-bit additions are sped up, and the critical path now takes only 2 time units total for a 2X speed increase. It has been shown that a 2X current increase, and thus this scenario, is quite plausible with floating gate technology [1].

gh

pwr glob nnv nnv loc nnh

nnh pwr

CAB rows

rows

gh

pwr: Power glob:Global nnv: Nearest Neighbor Vertical loc: Local nnh: Nearest Neighbor Horizontal

(a)

OTA

Wide Linear Range Gilbert Multiplier

Wide Linear Range OTA

NMOS/PMOS

Wide Linear Range OTA

Multi-Input FG Capacitance

CAB2 (c)

(b)

Figure 2: Die show proof of designed and version of the

CAB1

Buffer

photo a reconfirgurable chip used to concept of this work. It is being reupdated for testing of a large scale digital study shown herein.

4. SYSTEM OF THE FUTURE

The voltage on the gate, Vf g , is reduced by charge injection (putting electrons onto the gate node) and is increased through Fowler-Nordheim electron tunneling [3], but otherwise does not change and remembers the current charge. Recall that current through a transistor above threshold neglecting velocity saturation is W (Vgs − V t)2 L 2 Itransistor ∝ Vf2g

Ids = μCox

(b)

In summary, the techniques presented here could be used to create an entirely new paradigm of a learning digital computer. The next steps to be taken are to determine the best feedback mechanism (asynchronous completion cells are one method), the range of current, speedups, and power gains that can be realized, and to fabricate a datapath with this technology.

(1) (2)

5.

Thus changing the charge on the floating node would change the current, and thus the speed, in the digital circuit quadratically. In subthreshold digital, of which there has been much interest of late, the relationship is I ∝ eVf g , which allows for control in ulta-low power circuits as well [3]. An experimental chip has been fabricated showing this concept which will be released in early 2009, a prototype shown in Figure 2.

3. DATAPATH: A CASE STUDY Now that we have our key circuit element, a case study of how a processor’s datapath would benefit is given. Take for example the image processing path of a digital signal processor (DSP). In many compression algorithms, video clips, and movie sequences the pixel data only changes for a very

REFERENCES

[1] A. Basu, C. M. Twigg, S. Brink, P. Hasler, C. Petre, S. Ramakrishnan, S. Koziol, and C. Schlottmann. Rasp 2.8: A new generation of floating-gate based field programmable analog array. Proceedings, Custom Integrated Circuits Conference CICC, Sept. 2008. [2] A. Cassidy and A. Andreou. Dynamical digital silicon neurons. In IEEE Symposium on Biological Circuits and Systems (BioCAS), Nov. 2008. [3] P. Hasler and J. Dugar. Correlation learning rule in floating-gate pfet synapses. IEEE Transactions on Circuits and Systems II: Analog and Digital Signal Processing, Jan. 2001. [4] S.-C. Liu and R. Mockel. Temporarily learning floating gate vlsi synapses. In IEEE International Symposium on Circuits and Systems (ISCAS), May 2008.

618 Authorized licensed use limited to: Georgia Institute of Technology. Downloaded on July 08,2010 at 08:36:59 UTC from IEEE Xplore. Restrictions apply.

A Learning Digital Computer

of the application and will learn which paths are not critical ... mal state it learned for that application. ... floating node and to control electron tunneling off.

236KB Sizes 0 Downloads 173 Views

Recommend Documents

DIGITAL COMPUTER PRICIPLES.pdf
Page 1 of 2. Page 1 of 2. Page 2 of 2. Page 2 of 2. DIGITAL COMPUTER PRICIPLES.pdf. DIGITAL COMPUTER PRICIPLES.pdf. Open. Extract. Open with.

Machine Learning - UBC Computer Science
10. 1.3.2. Discovering latent factors. 11. 1.3.3. Discovering graph structure. 13. 1.3.4 ..... Application: Google's PageRank algorithm for web page ranking *. 600.

Connectivism: A Learning Theory for the Digital Age
Apr 5, 2005 - All of these learning theories hold the notion that knowledge is an .... power grids, and social networks all function on the simple principle that ...

Connectivism: A Learning Theory for the Digital Age
Apr 5, 2005 - Constructivism suggests that learners create knowledge as they attempt to understand ... pursue their own learning. ... 'I store my knowledge in my friends' is an axiom for collecting .... Online self-organizing social systems: The.

a model for generating learning objects from digital ...
7.2.9 Tools for generating Learning Objects. ....................................................... ... 9 Schedule of activities . ..... ones: Collaborative Notebook (Edelson et. al. 1995) ...

a model for generating learning objects from digital ...
In e-Learning and CSCL there is the necessity to develop technological tools that promote .... generating flexible, adaptable, open and personalized learning objects based on digital ... The languages for the structuring of data based on the Web. ...

AlgoVis: A Tool for Learning Computer Science ...
ies on current algorithm visualization tools revealed that learner who are actively ..... Proceedings of the 7th International Conference in. Central Europe on ...

AlgoVis: A Tool for Learning Computer Science ...
AlgoVis: A Tool for Learning Computer Science Concepts. Using Algorithm ... In this project we proposed an AV sys- ... (Mocha [1]), running animations of parallel algorithms (NESL [2]), geometric ... core ideas of an algorithm. The line that is ...

[PDF Online] Digital Computer Electronics
Online PDF Digital Computer Electronics, Read PDF Digital Computer Electronics, Full PDF Digital Computer Electronics, ... chip used by Apple Computers.

PDF Digital Computer Electronics
The text then relates these fundamentals to three real-world examples: Intel's 8085, Motorola's 6800, ... version of the TASM cross-assembler software program.

PDF Online Digital Computer Electronics
of the Intel 8088 16-bit microprocessors. It also includes a student version of the TASM cross-assembler software program. Experiments for Digital. Computer ...

PDF Online Digital computer electronics
the 6502 chip used by Apple Computers. Instructors can focus on ... includes a student version of the TASM cross-assembler software program. Experiments for.