Architectural implications of bit-level computation in communication applications

In this thesis, I explore a sub domain of computing, bit-level communication processing, which has traditionally only been implemented in custom hardware. Computing trends have shown that application domains previously implemented only in special purpose hardware are being moved into software on general purpose processors. If we assume that this trend continues, we must as computer architects reevaluate and propose new superior architectures for current and future application mixes. I believe that bit-level communication processing will be an important application area in the future and hence in this thesis I study several applications from this domain and how they map onto current computational architectures including microprocessors, tiled architectures, FPGAs, and ASICs. Unfortunately none of these architectures is able to efficiently handle bit-level communication processing along with general purpose computing. Therefore I propose a new architecture better suited to this task. Thesis Supervisor: Anant Agarwal Title: Professor of Electrical Engineering and Computer Science Acknowledgments I would like to thank Anant Agarwal for advising this thesis and imparting on me words of wisdom. Chris Batten was a great sounding board for my ideas and he helped me collect my thoughts before I started writing. I would like to thank Matthew Frank for helping me with the mechanics of how to write a thesis. I thank Jeffrey Cook and Douglas Armstrong who helped me sort my thoughts early on and reviewed drafts of this thesis. Jason E. Miller lent his photographic expertise by taking photos for my appendix. Walter Lee and Michael B. Taylor have been understanding officemates throughout this thesis and have survived my general crankiness over the summer of 2002. Mom and Dad have given me nothing but support through this thesis and my academic journey. Lastly I would like to thank DARPA, NSF, and Project Oxygen for funding this research.

[1]  W. Daniel Hillis,et al.  The connection machine , 1985 .

[2]  Chris Weaver,et al.  CryptoManiac: a fast flexible architecture for secure communication , 2001, ISCA 2001.

[3]  Michael D. Smith,et al.  A high-performance microarchitecture with hardware-programmable functional units , 1994, Proceedings of MICRO-27. The 27th Annual IEEE/ACM International Symposium on Microarchitecture.

[4]  George Varghese,et al.  HSRA: high-speed, hierarchical synchronous reconfigurable array , 1999, FPGA '99.

[5]  Vivek Sarkar,et al.  Space-time scheduling of instruction-level parallelism on a raw machine , 1998, ASPLOS VIII.

[6]  Henry Hoffmann,et al.  Evaluation of the Raw microprocessor: an exposed-wire-delay architecture for ILP and streams , 2004, Proceedings. 31st Annual International Symposium on Computer Architecture, 2004..

[7]  Scott Hauck,et al.  The Chimaera reconfigurable functional unit , 1997, IEEE Transactions on Very Large Scale Integration (VLSI) Systems.

[8]  J.E. Mazo,et al.  Digital communications , 1985, Proceedings of the IEEE.

[9]  Anant Agarwal,et al.  A quantitative comparison of reconfigurable, tiled, and conventional architectures on bit-level computation , 2004, 12th Annual IEEE Symposium on Field-Programmable Custom Computing Machines.

[10]  Anant Agarwal,et al.  Virtual wires: overcoming pin limitations in FPGA-based logic emulators , 1993, [1993] Proceedings IEEE Workshop on FPGAs for Custom Computing Machines.

[11]  Henry Hoffmann,et al.  A stream compiler for communication-exposed architectures , 2002, ASPLOS X.

[12]  Michael Bolotski Andr,et al.  Unifying FPGAs and SIMD Arrays , 1994 .

[13]  David L. Tennenhouse,et al.  SpectrumWare: a software-oriented approach to wireless signal processing , 1995, MobiCom '95.

[14]  David Wentzlaff,et al.  Energy characterization of a tiled architecture processor with on-chip networks , 2003, ISLPED '03.

[15]  T. Austin,et al.  Architectural support for fast symmetric-key cryptography , 2000, ASPLOS IX.

[16]  Henry Hoffmann,et al.  The Raw Microprocessor: A Computational Fabric for Software Circuits and General-Purpose Programs , 2002, IEEE Micro.

[17]  David Wentzlaff,et al.  Gigabit IP Routing on Raw , 2002, HPCA 2002.

[18]  Jason Miller,et al.  The Raw Processor: A Composeable 32-Bit Fabric for Embedded and General Purpose Computing , 2001 .

[19]  David J. Sager,et al.  The microarchitecture of the Pentium 4 processor , 2001 .

[20]  John Wawrzynek,et al.  The Garp Architecture and C Compiler , 2000, Computer.

[21]  Jonathan William Babb High level compilation for gate reconfigurable architectures , 2001 .

[22]  John Wawrzynek,et al.  Adapting software pipelining for reconfigurable computing , 2000, CASES '00.

[23]  Uri C. Weiser,et al.  MMX technology extension to the Intel architecture , 1996, IEEE Micro.

[24]  Maya Gokhale,et al.  Processing in Memory: The Terasys Massively Parallel PIM Array , 1995, Computer.

[25]  Vivek Sarkar,et al.  Baring It All to Software: Raw Machines , 1997, Computer.

[26]  Peter A. Franaszek,et al.  A DC-Balanced, Partitioned-Block, 8B/10B Transmission Code , 1983, IBM J. Res. Dev..