Multimedia arbiter and method using fixed round-robin slots...

Electrical computers and digital processing systems: memory – Storage accessing and control – Shared memory area

Reexamination Certificate

Rate now

  [ 0.00 ] – not rated yet Voters 0   Comments 0

Details

C711S158000, C710S240000, C710S244000, C710S111000, C345S519000

Reexamination Certificate

active

06205524

ABSTRACT:

FIELD OF THE INVENTION
This invention relates to memory arbitration, and more particularly to arbitration of multiple multimedia agents.
BACKGROUND OF THE INVENTION
As the complexity of computer systems increases, resources are often shared among many requesters or agents. The resource is often limited in its ability to service the agents, so some type of arbitration is necessary when two or more agents make simultaneous requests for the resource.
Many types or arbitration have been used. A priority can be assigned to each agent, and when two or more agents make simultaneous requests, then the higher-priority agent is chosen to access the resource while the lower-priority agent is delayed. Such priority-based arbitration maximizes performance of higher-priority agents at the expense of lower-priority agents.
Another type of arbitration is fixed or round-robin arbitration. Each agent is assigned a time-slot or position in a loop, and is given highest priority during its time-slot or position in the loop. This type of arbitration is considered “fair” since all agents have equal access to the resource. Latency can be a problem since an agent may have to wait for its time-slot or turn in the loop. Various combinations with priority arbitration are possible to give some agents higher priority than others.
An area that is experiencing rapid technical advances is multimedia for computers, especially for personal computers (PCs). Multimedia includes graphics, video, and sound produced and manipulated by a computer. Different agents are used to process the different multimedia components.
Single Multimedia Memory Desirable—FIG.
1
While each agent may use its own memory, it is desirable to share a common memory since memory space can be allocated among the different agents. Different multimedia modes that are more graphics or audio-intensive can have the multimedia memory re-allocated to provide more space for the graphics or audio agents. Thus a common multimedia memory is desirable.
FIG. 1
is a diagram of a graphics memory shared by multiple multimedia agents. Multimedia memory
10
provides storage for one or more graphics frame buffers, which are pixel bit-mapped buffers of the visual image displayed on a screen to a user. Multimedia memory
10
also stores other buffers, such as for input video data, audio, and 3-dimensional (3D) shapes. Text or font buffers may also be stored in multimedia memory
10
.
User display screens need to be sent a stream of pixels from a frame buffer in multimedia memory
10
. This is known as display refresh. Cathode-ray tube (CRT) first-in-first-out (FIFO)
30
is a first-in-first-out FIFO buffer that is filled with a portion of the frame buffer stored in multimedia memory
10
. As the pixels are written to cathode-ray tube (CRT) display
32
, CRT FIFO
30
empties out and has to be re-filled with pixels from the frame buffer in multimedia memory
10
. The stream of pixels from CRT FIFO
30
may also be converted to a flat-panel format by a gray-scale converter and stored in liquid crystal display (LCD) FIFO buffer
26
, for display on flat-panel liquid-crystal display (LCD)
34
. LCD FIFO
26
may also be written directly from multimedia memory
10
.
A second CRT monitor may be connected to the multimedia PC. Second CRT
2
FIFO
31
buffers pixels for display on second CRT display
33
. Different images can be displayed on the two CRT displays
32
,
33
, such as text on one display and graphics on the other.
Sound may be mixed, stored or generated digitally and later converted to analog voltages to drive speakers. Audio FIFO
24
buffers an audio stream that is stored in multimedia memory
10
before being converted to analog voltages to drive one or more speakers. The audio stream may be extracted from a microphone attached to video camera
38
, which sends audio and video data over a zoom-video (ZV) port to zoom-video FIFO
16
, which is later separated into video and audio streams and stored in larger buffers in multimedia memory
10
. Audio clips captured from a sound card or microphone, or stored in main memory or on a disk can be input to multimedia memory
10
from the host processor or bus through host FIFO
14
.
An optical disk such as digital-versatile disk (DVD)
36
includes both video and audio data, which is typically stored in a motion-pictures-experts group (MPEG-
2
) format. MPEG-
2
FIFO
28
receives the decoded data from DVD
36
under control of DVD controller
12
, which sends the audio and video streams to multimedia memory
10
. Data sent to multimedia memory
10
can first be buffered and later combined with the frame buffers for display on displays
32
,
33
,
34
, or written directly to the frame buffers. The data may also consist of x,y,z coordinates for 3D objects (wire-frames) which are rotated, transformed, textured, and shaded by 3D engine
18
, and converted to a 2D image seen from the user's perspective. The 2D image is then written to the frame buffer for display. Bit-block-transfer BITBLT engine
22
performs block manipulations on 2-dimensional blocks such as windows.
Since so many buffers are needed in the multimedia PC, a large multimedia memory is required. Dynamic-random-access memory (DRAM) is preferred so that 2-20 Megabytes (Mbytes) is available. DRAM refresh controller
20
periodically refreshes each memory row in multimedia memory
10
by performing a read to restore charge levels on memory-cell capacitors.
While such a large, multi-use multimedia memory is desirable, each of the FIFOs that input or output data to multimedia memory
10
need to access the memory. Access by each device must be carefully controlled and limited so that graphics refresh is not stalled, and image distortions occur. Agents such as the CRT and LCD FIFOs and audio FIFO are real-time agents that must not run out of data; otherwise image or audio distortion occur. Likewise, DRAM refresh must occur on time or data may be lost. The ZV port must be read or camera data is lost. These real-time agents are critical and must have access to multimedia memory
10
.
Other agents are not real-time agents and can withstand being prevented access to multimedia memory
10
for periods of time. Reading the DVD disk can be paused. The host CPU can wait until the multimedia memory is free to update display information. The 3D and BITBLT engines can pause until memory bandwidth is available. These non-real-time agents do not have to access multimedia memory
10
within any predetermined period of time, but overall system performance can suffer when their access is limited.
Fixed-Loop Arbitration—FIG.
2
FIG. 2
is a diagram of a fixed arbitration loop. Real-time agents are assigned a higher priority and are located early in an arbitration loop. For example, agents A, B, and C are the highest-priority agents, and can be used for CRT display FIFOs to ensure that display refresh is given highest priority. Audio and DRAM refresh can occupy arbitration slots D and E. Lower-priority agents such as 3D and BITBLT engines and host access are assigned the low-priority arbitration slots F, G, H.
During an arbitration loop, agent A is allowed to fill its FIFO, then agent B fills its FIFO, and then agent C fills its FIFO. Next agents D and E are allowed access to the memory. Finally the low-priority agents F, G, H may have access. Since the high-priority agents A, B, C are real-time agents they must have access again before their FIFOs become empty. This amount of time can be calculated from the FIFO size and the rate pixels are sent to the display, which depends on the graphics mode and resolution. The amount of time until real-time agent A again needs to access the memory is called the loop or time-out period.
When the FIFOs are not being rapidly emptied, such as during the vertical retrace period, little time is needed by agents A, B, C. Much time is left for low-priority agents F, G, H. However, during high-bandwidth periods such as when a horizontal line of pixels is being drawn to the display, agents A, B, C may require most of the loop time, lea

LandOfFree

Say what you really think

Search LandOfFree.com for the USA inventors and patents. Rate them and share your experience with other people.

Rating

Multimedia arbiter and method using fixed round-robin slots... does not yet have a rating. At this time, there are no reviews or comments for this patent.

If you have personal experience with Multimedia arbiter and method using fixed round-robin slots..., we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Multimedia arbiter and method using fixed round-robin slots... will most certainly appreciate the feedback.

Rate now

     

Profile ID: LFUS-PAI-O-2523243

  Search
All data on this website is collected from public sources. Our data reflects the most accurate information available at the time of publication.