A Smart Frame Buffer

Using a RISC processor to drive a simple frame buffer yields good 2D color graphics performance. But processor, memory, and bus architectures can prevent processors from saturating video RAM bandwidth. The smart frame buffer is a small cheap gate array that makes full memory bandwidth available to the CPU by expanding 32 data bits into operations upon 32 pixels; pixels can be 8, 16, or 32 bits deep. We avoid the cost and complexity of typical graphics accelerators by leaving high-level control to the CPU, yet achieve comparable performance. This paper describes the architecture of the smart frame buffer chip, sketches several software algorithms for common X11 graphics operations, and compares performance against other popular graphics hardware.

[1]  Jack Bresenham,et al.  Algorithm for computer control of a digital plotter , 1965, IBM Syst. J..

[2]  Don Stark,et al.  Analysis of power supply networks in VLSI circuits , 1991 .

[3]  R. Acevedo,et al.  Research report , 1967, Revista odontologica de Puerto Rico.

[4]  Norman P. Jouppi Cache write policies and performance , 1993, ISCA '93.

[5]  David W. Wall Predicting program behavior using real or estimated profiles , 1991, PLDI '91.

[6]  Van P. Carey,et al.  Pool Boiling on Small Heat Dissipating Elements in Water at Subatmospheric Pressure , 1999 .

[7]  Philip L. Karlton,et al.  Strategies for Porting the X v11 Sample Server X Version 11 Release 4 edition , 1990 .

[8]  Deborah Estrin,et al.  Visa Protocols for Controlling Inter-Organizational Datagram Flow : Extended Description , 1989 .

[9]  David W. Wall,et al.  Global register allocation at link time , 1986, SIGPLAN '86.

[10]  Christopher A. Kent,et al.  Cache Coherence in Distributed Systems , 1999 .

[11]  Jeffrey C. Mogul,et al.  Fragmentation considered harmful , 1987, SIGCOMM '87.

[12]  Joel F. Bartlett,et al.  Don’t Fidget with Widgets, Draw! , 1999 .

[13]  Jeffrey C. Mogul Observing TCP dynamics in real networks , 1992, SIGCOMM 1992.

[14]  Jeremy Dion,et al.  Fast Printed Circuit Board Routing , 1987, 24th ACM/IEEE Design Automation Conference.

[15]  W. Hamburgen,et al.  Pool boiling enhancement techniques for water at low pressure , 1991, 1991 Proceedings, Seventh IEEE Semiconductor Thermal Measurement and Management Symposium.

[16]  William R. Hamburgen,et al.  Optimal Finned Heat Sinks , 1986 .

[17]  David W. Wall,et al.  Experience with a software-defined machine architecture , 1992, TOPL.

[18]  Scott McFarling,et al.  Procedure merging with instruction caches , 1991, PLDI '91.

[19]  P. Boyle Electrical Evaluation Of The BIPS-0 Package , 1999 .

[20]  Joel F. Bartlett,et al.  Transparent Controls for Interactive Graphics , 1999 .

[21]  Joel McCormack,et al.  Writing fast X servers for dumb color frame buffers , 1990, Softw. Pract. Exp..

[22]  David W. Wall,et al.  Limits of instruction-level parallelism , 1991, ASPLOS IV.

[23]  G. May Yip Incremental, Generational Mostly-Copying Garbage Collection in Uncooperative Environments , 1999 .

[24]  Keith Packard,et al.  Definition of the Porting Layer for the X v11 Sample Server X Version 11 Release 4 edition , 1990 .

[25]  David W. Wall,et al.  Systems for Late Code Modification , 1991, Code Generation.

[26]  Dean G. Blevins,et al.  Introduction 1-2 , 1969 .

[27]  Jeffrey C. Mogul Network locality at the scale of processes , 1991, SIGCOMM 1991.

[28]  Jeffrey C. Mogul,et al.  Observing TCP dynamics in real networks , 1992, SIGCOMM '92.

[29]  R. BoggsD.,et al.  Measured capacity of an Ethernet , 1995 .