Dual-ported Video RAM
   HOME

TheInfoList



OR:

Dual-ported video RAM (VRAM) is a type of dual-ported RAM derived from dynamic RAM (DRAM), and was historically used to store the
framebuffer A framebuffer (frame buffer, or sometimes framestore) is a portion of random-access memory (RAM) containing a bitmap that drives a video display. It is a memory buffer containing data representing all the pixels in a complete video frame. Mode ...
in
graphics card A graphics card (also called a video card, display card, graphics accelerator, graphics adapter, VGA card/VGA, video adapter, display adapter, or colloquially GPU) is a computer expansion card that generates a feed of graphics output to a displa ...
. Unlike conventional DRAM, VRAM features two ports: one for the CPU and one for the
video display controller A video display controller (VDC), also called a display engine or display interface, is an integrated circuit which is the main component in a video-signal generator, a device responsible for the production of a TV video signal in a computing ...
(VDC). This architecture allows simultaneous access—while the CPU writes data, the VDC can read it independently. This eliminates
wait state A wait state is a delay experienced by a computer processor when accessing external memory or another device that is slow to respond. Computer microprocessors generally run much faster than the computer's other subsystems, which hold the data the ...
s ensuring smoother performance and efficient screen rendering. VRAM was widely used between the mid-1980s and mid-1990s. As newer high-performance memory technologies emerged, dual-ported VRAM was gradually phased out. Today, the term "VRAM" can refer to modern types of video memory as well, which can lead to confusion with this original dual-ported variant.


History

Early computers used dynamic RAM to store video data to be output to a conventional
television Television (TV) is a telecommunication medium for transmitting moving images and sound. Additionally, the term can refer to a physical television set rather than the medium of transmission. Television is a mass medium for advertising, ...
or a simple conversion of a television that accepted
composite video Composite video, also known as CVBS (composite video baseband signal or color, video, blanking and sync), is an analog video format that combines image information—such as brightness (luminance), color (chrominance), and synchronization, int ...
input. To work with such a display it is extremely important that the video hardware output a very accurately timed signal. At the speeds that contemporary memory worked at, reading data to feed to the video hardware used up much of the possible performance of the memory devices. This conflicted with the need for the
central processing unit A central processing unit (CPU), also called a central processor, main processor, or just processor, is the primary Processor (computing), processor in a given computer. Its electronic circuitry executes Instruction (computing), instructions ...
(CPU) to write data to memory for the video system to read, as both could not use the same memory at the same time. Two general solutions were used to avoid timing issues. For higher-priced systems, the video systems had their own dedicated memory and used a separate system for the CPU to store data into it. This eliminated any possibility of contention for memory, but at the cost of requiring separate memory in an era when memory was very expensive. It also almost always communicated over a slow
system bus A system bus is a single computer bus that connects the major components of a computer system, combining the functions of a data bus to carry information, an address bus to determine where it should be sent or read from, and a control bus to det ...
that limited the speed that changes to the screen could be made, making interactive graphics difficult. The other solution, used by most
home computer Home computers were a class of microcomputers that entered the market in 1977 and became common during the 1980s. They were marketed to consumers as affordable and accessible computers that, for the first time, were intended for the use of a s ...
s, was to use a single shared bank of memory and allow the video hardware to control access to memory, pausing the CPU when needed. This may lead to slower computing performance as the CPU is repeatedly put into these "
wait state A wait state is a delay experienced by a computer processor when accessing external memory or another device that is slow to respond. Computer microprocessors generally run much faster than the computer's other subsystems, which hold the data the ...
s", but it had the advantage of being less expensive and allowing the CPU to more rapidly update the display and thus provide more interactivity. By the early 1980s, the introduction of much higher-resolution monitors that demanded larger framebuffers, and the newly introduced
graphical user interface A graphical user interface, or GUI, is a form of user interface that allows user (computing), users to human–computer interaction, interact with electronic devices through Graphics, graphical icon (computing), icons and visual indicators such ...
s (GUI's) that required high resolution and high overall performance, made the performance of the video system an increasingly difficult problem. Complex systems like the
Amiga Amiga is a family of personal computers produced by Commodore International, Commodore from 1985 until the company's bankruptcy in 1994, with production by others afterward. The original model is one of a number of mid-1980s computers with 16-b ...
emerged to carefully control access to memory and reduce contention, but while these reduced the problem they did not eliminate it. The solution was to use memory that could be accessed by the CPU and video hardware at the same time. It was invented by F. Dill, D. Ling and R. Matick at
IBM Research IBM Research is the research and development division for IBM, an American Multinational corporation, multinational information technology company. IBM Research is headquartered at the Thomas J. Watson Research Center in Yorktown Heights, New York ...
in 1980, with a patent issued in 1985 (US Patent 4,541,075). The first commercial use of VRAM was in a high-resolution graphics adapter introduced in 1986 by IBM for its IBM RT PC system, which set a new standard for graphics displays. Prior to the development of VRAM, dual-ported memory was quite expensive, limiting higher resolution bitmapped graphics to high-end workstations. VRAM improved the overall framebuffer throughput, allowing low cost, high-resolution, high-speed, color graphics. Modern GUI-based operating systems benefitted from this and thus it provided a key ingredient for proliferation of
graphical user interface A graphical user interface, or GUI, is a form of user interface that allows user (computing), users to human–computer interaction, interact with electronic devices through Graphics, graphical icon (computing), icons and visual indicators such ...
s (GUI's) throughout the world at that time.


Description

Dynamic RAM is internally arranged in an array of rows and columns of
capacitor In electrical engineering, a capacitor is a device that stores electrical energy by accumulating electric charges on two closely spaced surfaces that are insulated from each other. The capacitor was originally known as the condenser, a term st ...
s, with each row/column intersection holding a single bit in a ''cell''. In typical use, a CPU accessing a DRAM will ask for a small amount of data at a time, possibly a single
byte The byte is a unit of digital information that most commonly consists of eight bits. Historically, the byte was the number of bits used to encode a single character of text in a computer and for this reason it is the smallest addressable un ...
. To read a byte for the CPU, the DRAM decodes the provided address into a series of eight cells containing the eight bits in that particular byte, reads the entire row containing those cells, and latches the requested data so it can be read on the data bus. At the time, rows were commonly 1,024 cells wide. DRAM devices are ''destructive'', meaning that the act of reading a row also causes the data in it to be erased. To make the data permanent, any reading has to be followed by the DRAM writing the same data back to that row. This is the reason an entire row of 1,024 cells (for example) is read even though only eight are being called for by the processor, while the processor is reading that data over the data bus, the DRAM copies the entire row back from the latches into that row, refreshing it. When one considers the process as a whole, this means the DRAM is repeatedly reading entire rows of data, selecting a single byte from that data and discarding the rest, and then writing it all back again. VRAM operates by not discarding the excess bits in the row. Instead, the data read into the row storage is also sent to a second set of latches which is connected to an associated bit shifter. From that point, the data can be read out a bit at a time by triggering the shifter. This requires only two pins, one for the output bit, and another for the input trigger. VRAM generally does not have two
address bus In computer architecture, a bus (historically also called a data highway or databus) is a communication system that transfers data between components inside a computer or between computers. It encompasses both hardware (e.g., wires, optical ...
es, meaning that the CPU and graphics still have to interleave their accesses to the chip, but as a whole row of data is read out to the graphics driver, and that row might represent multiple scan lines on the screen, the number of times it has to interrupt the CPU can be greatly reduced. Such operation is described in the paper "All points addressable raster display memory" by R. Matick, D. Ling, S. Gupta, and F. Dill, IBM Journal of R&D, Vol 28, No. 4, July 1984, pp. 379–393. To use the video port, the controller first uses the DRAM port to select the row of the memory array that is to be displayed. The VRAM then copies that entire row to an internal row-buffer which is a
shift register A shift register is a type of digital circuit using a cascade of flip-flop (electronics), flip-flops where the output of one flip-flop is connected to the input of the next. They share a single clock signal, which causes the data stored in the syst ...
. The controller can then continue to use the DRAM port for drawing objects on the display. Meanwhile, the controller feeds a clock called the ''shift clock'' (SCLK) to the VRAM's video port. Each SCLK pulse causes the VRAM to deliver the next
data Data ( , ) are a collection of discrete or continuous values that convey information, describing the quantity, quality, fact, statistics, other basic units of meaning, or simply sequences of symbols that may be further interpreted for ...
in strict address order, from the shift register to the video port. For simplicity, the graphics adapter is usually designed so that the contents of a row, and therefore the contents of the shift-register, corresponds to a complete horizontal line on the display.


Shift to SDRAM

Through the 1990s, many graphic subsystems used VRAM, with the number of megabits touted as a selling point. In the late 1990s,
SDRAM Synchronous dynamic random-access memory (synchronous dynamic RAM or SDRAM) is any DRAM where the operation of its external pin interface is coordinated by an externally supplied clock signal. DRAM integrated circuits (ICs) produced from the ...
technologies gradually became affordable, dense, and fast enough to displace VRAM, even though it is only single-ported and more overhead is required. Nevertheless, many of the VRAM concepts of internal, on-chip buffering and organization have been used and improved in modern graphics adapters.


See also

* Video random-access memory


Notes


References

{{DRAM Types of RAM Computer-related introductions in 1980 American inventions 20th-century inventions