03 Oktober 2009

Data buffer

From Wikipedia, the free encyclopedia

In computing, a buffer is a region of memory used to temporarily hold data while it is being moved from one place to another. Typically, the data is stored in a buffer as it is retrieved from an input device (such as a keyboard) or just before it is sent to an output device (such as a printer). However, a buffer may be used when moving data between processes within a computer. This is comparable to buffers in telecommunication. Buffers can be implemented in either hardware or software, but the vast majority of buffers are implemented in software. Buffers are typically used when there is a difference between the rate at which data is received and the rate at which it can be processed, or in the case that these rates are variable, for example in a printer spooler.

APPLICATIONS

Buffers are often used in conjunction with I/O to hardware, such as disk drives, sending or receiving data to or from a network, or playing sound on a speaker. A line to a rollercoaster in an amusement park shares many similarities. People who ride the coaster come in at an unknown and often variable pace, but the roller coaster will be able to load people in bursts (as a coaster arrives and is loaded). The queue area acts as a buffer: a temporary space where those wishing to ride wait until the ride is available. Buffers are usually used in a FIFO (first in, first out) method, outputting data in the order it arrived.

TELECOMMUNICATION BUFFER

A buffer routine or storage medium used in telecommunications compensates for a difference in rate of flow of data, or time of occurrence of events, when transferring data from one device to another.

Buffers are used for many purposes, such as

  • interconnecting two digital circuits operating at different rates,
  • holding data for use at a later time,
  • allowing timing corrections to be made on a data stream,
  • collecting binary data bits into groups that can then be operated on as a unit,
  • delaying the transit time of a signal in order to allow other operations to occur.

BUFFER VERSUS CACHE

Further information: The difference between buffer and cache

A cache acts often also as a buffer, and vice versa. However, cache operates on the premise that the same data will be read from it multiple times, that written data will soon be read, or that there is a good chance of multiple reads or writes to combine to form a single larger block. Its sole purpose is to reduce accesses to the underlying slower storage. Cache is also usually an abstraction layer that is designed to be invisible.

HISTORY

An early mention of a print buffer is the Outscriber devised by image processing pioneer Russel A Kirsch for the SEAC computer in 1952, and documented in the SEAC report 2794 (1953):

One of the more serious problems in the design of automatic digital computers is that of getting the calculated results out of the machine rapidly enough to avoid delaying the further progress of the calculations. In many of the problems to which a general-purpoee computer is applied the amount of output data is relatively great -- so great that serious inefficiency would reeult from forcing the computer to wait for these data to be typed on existing printing devices. This difficulty has been solved in the SEAC* by providing magnetic recording devices as output unite. These devices are able to receive information from the machine at rates up to 100 times as fast as an electric typewriter can be operated. Thus, better efficiency is achieved in recording the output data; transcription can be made later from the magnetic recording device to a printing device without tying up the main computer.

Tidak ada komentar:

Posting Komentar

komen komen ke my blog..
hayoo..