WO1996035172A1 - Controller for providing access to a video frame buffer in a split-bus transaction environment - Google Patents

Controller for providing access to a video frame buffer in a split-bus transaction environment Download PDF

Info

Publication number
WO1996035172A1
WO1996035172A1 PCT/US1996/004263 US9604263W WO9635172A1 WO 1996035172 A1 WO1996035172 A1 WO 1996035172A1 US 9604263 W US9604263 W US 9604263W WO 9635172 A1 WO9635172 A1 WO 9635172A1
Authority
WO
WIPO (PCT)
Prior art keywords
frame buffer
bus
data
access
buffer read
Prior art date
Application number
PCT/US1996/004263
Other languages
French (fr)
Inventor
Brian A. Childers
Eric A. Baden
Original Assignee
Apple Computer, Inc.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Apple Computer, Inc. filed Critical Apple Computer, Inc.
Priority to AU55292/96A priority Critical patent/AU5529296A/en
Publication of WO1996035172A1 publication Critical patent/WO1996035172A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/36Handling requests for interconnection or transfer for access to common bus or bus system
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/001Arbitration of resources in a display system, e.g. control of access to frame buffer by video controller and/or main processor
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/36Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of a graphic pattern, e.g. using an all-points-addressable [APA] memory
    • G09G5/363Graphics controllers
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/36Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of a graphic pattern, e.g. using an all-points-addressable [APA] memory
    • G09G5/39Control of the bit-mapped memory
    • G09G5/393Arrangements for updating the contents of the bit-mapped memory
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2360/00Aspects of the architecture of display systems
    • G09G2360/12Frame memory handling
    • G09G2360/126The frame memory having additional data ports, not inclusive of standard details of the output serial port of a VRAM

Definitions

  • the present invention relates to graphics controllers, and more particularly to means within a graphics controller for accessing a video frame buffer in response to an access request received by means of a system bus having split-bus transaction capability.
  • Computer architectures typically consist of a number of elements, such as one or more processors, memory units, and various input/output (I/O) devices, all coupled together by means of a shared computer bus.
  • a typical system is illustrated in FIG. 1.
  • the illustrated computer system 100 is organized around a system bus 101. Attached to the system bus 101 is a processor 107 and a memory 109 from which the processor retrieves program instructions for execution.
  • the memory is also the repository of data operands for use by the processor 107.
  • image data is displayed on a video output device 115, which may be, for example, an analog RGB monitor.
  • An image to be displayed is stored in a frame buffer 117 as a set of pixels, the form of which may be in accordance with any of a number of well-known pixel formats, such as RGB or YUV.
  • the frame buffer 117 is a video random access memory (VRAM) which is a special type of dynamic RAM (DRAM) that has a DRAM port 119 (from which pixel data may be randomly accessed) and a serial access mode (SAM) port 121, each for accessing the pixel data stored in the frame buffer 117.
  • the SAM port 121 is connected to a RAMDAC 123, which reads the serial stream of pixel data from the frame buffer 117, and converts the digital bit stream into appropriate analog signals for driving the primary video output device 115.
  • the video input device 131 may, for example, supply pixel data that needs to be written to the frame buffer 117 in real time.
  • the frame buffer 117 may receive competing requests from a number of sources for read or write access. These include requests made by a source coupled to the system bus 101 (e.g., the processor 107 or the video input device 131), a request made on behalf of the RAMDAC 123 (e.g, by a graphics controller) for a SAM data transfer cycle to be performed, or the need to perform a frame buffer refresh operation (it is well-known that DRAM needs to be refreshed periodically in order to avoid losing the data stored therein). The frame buffer 117 is incapable of servicing all of these requests simultaneously. Therefore, a graphics controller 111 is also provided, which has one interface for connection to the system bus 101 and another interface for connection to the DRAM port 119 of the frame buffer 117.
  • a graphics controller 111 is also provided, which has one interface for connection to the system bus 101 and another interface for connection to the DRAM port 119 of the frame buffer 117.
  • One function of the graphics controller 111 is to receive frame buffer access requests from the system bus 101 and to provide these to the frame buffer 117 for servicing. Because of the likelihood of occasionally competing frame buffer access requests, the graphics controller also includes an arbiter for prioritizing received requests, and presenting them to the frame buffer 117 one at a time. If an access request received from the system bus 101 is a frame buffer read request, the graphics controller will also make sure that when the data arrives from the frame buffer 117 (which typically operates at much slower speeds than the system bus 101 is capable of handling), it is placed on the system bus 101 for transmission to the originator of the request. In order to facilitate the interconnection of system components that are made by independently operating manufacturers, a number of bus architectures have been standardized.
  • Bus architecture specifies the necessary electrical and functional characteristics for allowing one device to communicate with others on the same bus. Bus characteristics can vary widely from one standard architecture to another. For example, some bus architectures include separate address and data lines, while others use shared lines that are time multiplexed between representing address and data information. Regardless of the physical manifestation, however, a typical computer system bus is conceptually divided into an address bus, a data bus and a control bus.
  • a bus transaction is a complete exchange between two bus devices, and typically comprises both an address phase, during which address information is presented on the address bus, and a data phase during which data information is presented on the data bus. In prior art systems of the type illustrated in FIG.
  • the resulting inefficiency in this case is not the fault of the graphics controller 111, which of course lacks the prescience to start the desired frame buffer read operation before the request has been received. Rather, it has been necessary to accept this level of performance in prior art systems of the type described.
  • bus transaction capability In contrast to the tightly ordered bus architecture described above, some minicomputer and mainframe computers, and more recently some small computer architectures, employ buses that are "loosely ordered" such that, between the address phase of a bus transaction and the corresponding data phase, other data phases of other bus transactions may occur.
  • the ability of the bus to allow the address bus and data bus to have different masters at the same time is called "split-bus transaction capability", and is enabled, in part, by having separate address and data lines, and in part by having a bus arbiter capable of making address bus grants independent of data bus grants.
  • PowerPC ⁇ M computer architecture co-developed by Apple Computer, utilizes a loosely ordered system bus that provides split-bus transaction capability.
  • the MPC601 permits separate address bus tenures and data bus tenures, where tenure is defined as the period of bus mastership.
  • tenure is defined as the period of bus mastership.
  • the address and data buses are considered as separate resources, and arbitration for access to these two buses may be performed independently.
  • a transaction, or complete exchange between two bus devices, is minimally comprised of an address tenure; one or more data tenures may also be involved in the exchange. The address and data tenures of each access request must be arbitrated separately from one another.
  • the bus that is described in U.S. Patent Application No. 08/432,620 (Attorney Docket No. P1605/172) is a superset of the conventional PowerPC ⁇ M 601 microprocessor interface, and is known as the Apple RISC BusTM / or ARBusTM.
  • One advantage that is provided by the use of a loosely coupled bus is the ability to initiate a read operation without tying up the bus waiting for the data to be returned to the requesting agent. This is because the read request comprises concurrently arriving address and transfer attribute signals, which can be immediately received and interpreted by the target agent. In response, the target agent has no need to utilize the address bus, and in theory should not have to tie up the data bus until the requested data is available for transmission.
  • the process starts when the graphics controller 111 receives a frame buffer read request from a requesting agent that is connected to the system bus 101 (now presumed to be a "split response" bus, i.e., one having split-bus transaction capability) (step 201).
  • the graphics controller 111 must now begin the arbitration process to obtain access to the frame buffer 117 and initiate the desired read (step 203).
  • the graphics controller 111 must also request access to the system data bus (step 205), so that the data will have a place to go when it is retrieved from the frame buffer 117. Now the graphics controller 111 must wait for both requests to be honored (steps 207 and 209). If access to the frame buffer 117 is granted and the frame buffer read operation completes before the data bus has been granted, then the frame buffer 117 must sit idle, unavailable for use by the other potentially requesting entities (e.g., SAM data transfer cycle or frame buffer refresh operation). Alternatively, if the data bus is granted prior to completion of the frame buffer read operation, then it is the data bus that sits idle, unavailable for use by any other agent in the system 100.
  • SAM data transfer cycle or frame buffer refresh operation e.g., SAM data transfer cycle or frame buffer refresh operation
  • step 211 it is an object of the invention to provide a mechanism for efficiently reading data from a frame buffer that is coupled to a bus having split-bus transaction capability.
  • a graphics controller in a system comprising a requesting agent coupled to a system bus that includes an address bus, control lines for indicating a requested transfer type, a data bus, address bus arbitration control lines and data bus arbitration control lines.
  • the system further includes a system bus arbiter coupled to the system bus for resolving competing requests for access to the address bus and for separately resolving competing requests for access to the data bus
  • the graphics controller for enabling the requesting agent to access a frame buffer comprises memory means, and control means.
  • the memory means which may be a first-in-first-out (FIFO) storage unit, is responsive to a first control signal, for storing data received from a frame buffer.
  • the memory means are further responsive to a second control signal for supplying the stored data to the data bus.
  • the memory means is interposed between the frame buffer and the system data bus to permit it to serve as a data buffer between the two.
  • the control means which are coupled to the system bus and to the memory means, comprise means for receiving a frame buffer read request from the requesting agent. In response to receipt of such request, the controller initiates a frame buffer read operation in accordance with parameters contained in the received frame buffer read request. This may include initiating arbitration to be granted access to the frame buffer.
  • the controller also makes a request for access to the data bus. When data is available at the output of the frame buffer, the controller generates the first control signal, which causes that data to be clocked into the memory means. When the data bus is granted, the controller generates the second control signal in order to cause the data in the memory means to be supplied to the system data bus.
  • FIG. 1 is a block diagram of a prior art computer system including a graphics controller connected to a tightly ordered system bus;
  • FIG. 2 is a flow chart illustrating the detrimental effects of applying prior art graphics controller techniques in a split-response bus environment
  • FIG. 3 is a block diagram of a computer system in which the present invention is utilized
  • FIG. 4 is a block diagram of the overall data flow within the inventive bridge /graphics controller.
  • FIG. 5 is a flow chart of steps performed by a graphics controller in accordance with the present invention.
  • the present invention may be used in a computer system 300 of the type shown. It should be understood, however, that the invention is not limited for use only in the illustrated embodiment as described below, but may be used in any system having a split-bus transaction capability environment.
  • the computer system 300 is organized around a system bus 301 that comprises an address bus 303 and a data bus 305. Furthermore, the system bus 301 is loosely coupled type that has split-bus transaction capability, such as the ARBusTM described in the BACKGROUND section of this disclosure. Accordingly, it will be appreciated that the system bus 301 further comprises the necessary control signals to permit address arbitration, data arbitration and the communication of transfer attribute information. These signals have been omitted from the figure, however, in order to avoid overly cluttering the illustration. Attached to the system bus 301 is a processor 307, such as the
  • main memory subsystem 309 may comprise any combination of static or dynamic random access memory (SRAM or DRAM) as well as read only memory (ROM) and cache memory.
  • main memory subsystem 309 also includes arbitration logic for resolving conflicting access requests made to the address and data buses 303, 305. A more detailed description of these features, which are well-known in the art, is beyond the scope of this disclosure.
  • image data is displayed on a video output device 315, which may be, for example, an analog RGB monitor.
  • An image to be displayed is stored in a frame buffer 317 as a set of pixels, the form of which may be in accordance with any of a number of well-known pixel formats, such as RGB or YUV.
  • the frame buffer 317 is a video random access memory (VRAM) having a DRAM port 319 (from which pixel data may be randomly accessed) and a serial access mode (SAM) port 321, each for accessing the pixel data stored in the frame buffer 317.
  • VRAM video random access memory
  • SAM serial access mode
  • the SAM port 321 is connected to a RAMDAC 323, which reads the serial stream of pixel data from the frame buffer 317, and converts the digital bit stream into appropriate analog signals for driving the primary video output device 315.
  • the exemplary system 300 also includes a video input device 331, which is connected to an expansion bus 329.
  • the video input device 331 may, for example, supply pixel data that needs to be written to the frame buffer 317 in real time.
  • the expansion bus is a well-known standardized bus known as a PCI local bus, although this is not particularly critical to the operation of the invention. Nonetheless, a complete description of the PCI local bus is presented in the PCI Local Bus Specification.
  • a combination bridge /graphics controller 311 is provided, which has one interface for connection to the system bus 301, another interface for connection to the DRAM port 319 of the frame buffer 317, and a third interface for connection to the expansion bus 329.
  • One function of the bridge /graphics controller 311 is to act as a bridge for communications between the otherwise incompatible system bus 301 and expansion bus 329. This function of the bridge /graphics controller is not pertinent to the present invention, and will not be described here in further detail.
  • the bridge /graphics controller also includes frame buffer read logic 325 for performing frame buffer read operations in response to requests made by an agent (e.g., the processor 307) coupled to the system bus 301.
  • the frame buffer read logic is designed to fulfill its purpose while making efficient use of the system bus 301. It achieves this by means of a memory device for buffering data between the frame buffer and the system bus 301, as well as appropriate control logic for efficiently using all of the hardware resources.
  • FIG. 4 is a block diagram of the overall data flow within the bridge /graphics controller 311.
  • Three data interfaces are provided for connection to the following: the 64-bit wide system data bus 305, the 32-bit wide expansion bus 329 (which, in a preferred embodiment is multiplexed between address and data information and is a tightly ordered bus), and the 64-bit wide frame buffer (FB) data bus 401.
  • the 64-bit wide system data bus 305 the 32-bit wide expansion bus 329 (which, in a preferred embodiment is multiplexed between address and data information and is a tightly ordered bus)
  • FB 64-bit wide frame buffer
  • Various multiplexors 403, 405, 407, 409, 411, 413, 415, 17, 419, 421 and flip-flops 423, 425, 427, 429, 431, 433 are provided, along with a number of first-in-first-out memory units (FIFOs) 435, 437, 439, 441, 443, 445, 447 that are arranged within the data paths as shown, for switching the data from any one source to any of the other destinations, for buffering data between the various sources and destinations, and for converting between the 64-bit and 32-bit interfaces.
  • FIFOs first-in-first-out memory units
  • Byte reordering logic 457 is provided at the interface to the frame buffer 317, in order to write and read pixel data in a standard format (e.g., big-endian) regardless of the format in which an agent, such as the video input device 331, creates or expects to receive them.
  • a standard format e.g., big-endian
  • an agent such as the video input device 331, creates or expects to receive them.
  • the particulars of this logic are not pertinent to the present invention.
  • the bridge /graphics controller 311 further includes a controller 453 for generating the various control signals that are required for coordinating the operation of all of the resources within the bridge /graphics controller.
  • the bridge /graphics controller 311 comprises two application specific integrated circuits (ASICs), one comprising all of the data flow hardware, and the other comprising all of the necessary control logic.
  • ASICs application specific integrated circuits
  • SysBus-to-FB write FIFO 445 and the ExpansionBus-to-FB write FIFO 447 which buffer 64-bit wide data that is to be written from the respective system data bus 305 and expansion bus 329 to the frame buffer 317 by means of the bi-directional frame buffer data bus 401.
  • the input and output byte swap multiplexors 449, 451 and the byte reordering logic 457 may be used for converting pixel data into a uniform format for storage in the frame buffer, regardless of the endian characteristics of the source or the bus upon which the pixel data is communicated.
  • the input and output byte swap multiplexors 449, 451 also serve for conditionally enforcing the rule of "address invariance" for communications between the system bus 301 and the expansion bus 329.
  • a complete description of either of these aspects of the data flow is beyond the scope of this disclosure, and is not pertinent to the understanding of the present invention.
  • SysBus-To-FB Read FIFO 443 which is preferably a flow-through memory device capable of storing four 64-bit units of information, and presenting them in first-in-first-out order.
  • the SysBus-To-FB Read FIFO 443 is configured to receive data from the frame buffer data bus 401, and to provide that data to the system data bus 305. Therefore, the SysBus-To-FB Read FIFO 443 serves as a data buffer between the frame buffer 317 and the system data bus 305.
  • the selection of a four-deep FIFO for this purpose in the preferred embodiment permits the SysBus-To-FB Read FIFO 443 to buffer all of the data necessary for satisfying a burst operation on the system data bus 305.
  • the frame buffer read control logic 465 is that part of the controller 453 that determines the presence of frame buffer read requests received from the system bus 301, and responds by coordinating the hardware resources in an efficient manner for carrying out the operation.
  • the particulars of the operation of the frame buffer read control logic 465 will now be described in detail with reference to the flow chart of FIG. 5.
  • the operation begins when a frame buffer read request is received from the system bus 301 (step 501).
  • the frame buffer read control logic 465 responds by initiating arbitration to receive a frame buffer read access (step 503), and then waiting for that request to be granted (step 505).
  • There may be other pending requests for access to the frame buffer Possible requestors for these accesses include the video input device 331, a SAM port data cycle and a scheduled frame buffer refresh cycle. Consequently, there may be a delay between initiation of frame buffer arbitration and the granting of frame buffer access.
  • the frame buffer read control logic 465 When the frame buffer read control logic 465 receives a frame buffer acknowledge signal from the frame buffer arbitration logic (not shown), it proceeds to step 507, where it begins arbitration for a data tenure on the system data bus 305. At step 511, the frame buffer read control logic 465 waits for the system data bus 305 to be granted by the system bus arbiter (part of the main memory subsystem 309, as explained above).
  • the frame buffer read control logic 465 transfers frame buffer data to the SysBus-To-FB Read FIFO 443 as it arrives (step 509). If the bridge /graphics controller 311 has been granted access to the system data bus 305, then the frame buffer read control logic 465 transfers the data from the SysBus-To-FB Read FIFO 443 to the system data bus 305 for receipt by the requesting agent.
  • FIG. 5 The flow chart of FIG. 5 has been simplified in order to ease understanding of the invention. It will be appreciated by those having ordinary skill in the art that a practical implementation of the invention must further take into account other factors, such as the possibility, during a requested burst read operation, that only some of the requested data has been loaded into the SysBus-To-FB Read FIFO 443 when access to the system data bus 305 has been granted. This situation may be handled by transferring each data beat as it arrives. Thus, FIG. 5 would include additional decision logic to determine whether all of the requested data had been read from the frame buffer 317, and if not, to transfer whatever was available and to branch back to a previous step to wait for the rest of the data.
  • the advantages of the inventive technique for accessing a frame buffer in a split-response bus environment should now be apparent. Because the arbitration for the system data bus 305 is not initiated until after the frame buffer read acknowledge signal is received, the system data bus 305 is available for use by other entities attached to the system bus 301. Furthermore, the presence of the SysBus-To-FB Read FIFO 443, which buffers data from the frame buffer 317, means that the frame buffer 317 is never left idle waiting for the system data bus 305 to be granted. Instead, the frame buffer 317 can supply the requested data to the SysBus-To-FB Read FIFO 443 as soon as that data is available, and then make itself available to another requestor. Moreover, when a transfer of data does occur from the bridge/graphics controller 311 to the requesting agent on the system data bus 305, that transfer can occur at speeds limited by the bandwidth of the system bus 301, rather than being limited by the slower frame buffer access times.

Abstract

A system includes a requesting agent coupled to a system bus. The system bus includes an address bus, control lines for indicating a requested transfer type, a data bus, address bus arbitration control lines and data bus arbitration control lines. The system further includes a system bus arbiter coupled to the system bus for resolving competing requests for access to the address bus and for separately resolving competing requests for access to the data bus. A graphics controller for enabling the requesting agent to access a frame buffer has a memory, which may be a FIFO, responsive to a first control signal, for storing data received from a frame buffer. The memory is further responsive to a second control signal for supplying the stored data to the data bus. The graphics controller also includes a controller coupled to the system bus and to the memory means. In response to a frame buffer read request from the requesting agent, the controller initiates a frame buffer read operation in accordance with parameters contained in the received frame buffer read request, and also initiates a request for access to the data bus. The first control signal is generated in response to data associated with the read request becoming available at an output of the frame buffer. The second control signal is generated in response to the requested access to the data bus being granted.

Description

CONTROLLER FOR PROVIDING ACCESS TO A VIDEO FRAME BUFFER IN A SPLIT-BUS TRANSACTION ENVIRONMENT
BACKGROUND The present invention relates to graphics controllers, and more particularly to means within a graphics controller for accessing a video frame buffer in response to an access request received by means of a system bus having split-bus transaction capability.
Computer architectures typically consist of a number of elements, such as one or more processors, memory units, and various input/output (I/O) devices, all coupled together by means of a shared computer bus. A typical system is illustrated in FIG. 1. The illustrated computer system 100 is organized around a system bus 101. Attached to the system bus 101 is a processor 107 and a memory 109 from which the processor retrieves program instructions for execution. The memory is also the repository of data operands for use by the processor 107.
In the exemplary system 100, image data is displayed on a video output device 115, which may be, for example, an analog RGB monitor. An image to be displayed is stored in a frame buffer 117 as a set of pixels, the form of which may be in accordance with any of a number of well-known pixel formats, such as RGB or YUV. The frame buffer 117 is a video random access memory (VRAM) which is a special type of dynamic RAM (DRAM) that has a DRAM port 119 (from which pixel data may be randomly accessed) and a serial access mode (SAM) port 121, each for accessing the pixel data stored in the frame buffer 117. The SAM port 121 is connected to a RAMDAC 123, which reads the serial stream of pixel data from the frame buffer 117, and converts the digital bit stream into appropriate analog signals for driving the primary video output device 115.
Also coupled to the system bus 101 in the exemplary system 1 is a video input device 131. The video input device 131 may, for example, supply pixel data that needs to be written to the frame buffer 117 in real time.
The frame buffer 117 may receive competing requests from a number of sources for read or write access. These include requests made by a source coupled to the system bus 101 (e.g., the processor 107 or the video input device 131), a request made on behalf of the RAMDAC 123 (e.g, by a graphics controller) for a SAM data transfer cycle to be performed, or the need to perform a frame buffer refresh operation (it is well-known that DRAM needs to be refreshed periodically in order to avoid losing the data stored therein). The frame buffer 117 is incapable of servicing all of these requests simultaneously. Therefore, a graphics controller 111 is also provided, which has one interface for connection to the system bus 101 and another interface for connection to the DRAM port 119 of the frame buffer 117. One function of the graphics controller 111 is to receive frame buffer access requests from the system bus 101 and to provide these to the frame buffer 117 for servicing. Because of the likelihood of occasionally competing frame buffer access requests, the graphics controller also includes an arbiter for prioritizing received requests, and presenting them to the frame buffer 117 one at a time. If an access request received from the system bus 101 is a frame buffer read request, the graphics controller will also make sure that when the data arrives from the frame buffer 117 (which typically operates at much slower speeds than the system bus 101 is capable of handling), it is placed on the system bus 101 for transmission to the originator of the request. In order to facilitate the interconnection of system components that are made by independently operating manufacturers, a number of bus architectures have been standardized. Each bus architecture specifies the necessary electrical and functional characteristics for allowing one device to communicate with others on the same bus. Bus characteristics can vary widely from one standard architecture to another. For example, some bus architectures include separate address and data lines, while others use shared lines that are time multiplexed between representing address and data information. Regardless of the physical manifestation, however, a typical computer system bus is conceptually divided into an address bus, a data bus and a control bus. A bus transaction is a complete exchange between two bus devices, and typically comprises both an address phase, during which address information is presented on the address bus, and a data phase during which data information is presented on the data bus. In prior art systems of the type illustrated in FIG. 1, it is generally the rule that the data phase of a bus transaction follows the address phase of the same transaction in ordered succession, without any other data phase of any other bus transaction intervening. In such a case, the system bus is said to be "tightly ordered." It is a consequence of the use of a tightly ordered system bus in such systems that if a frame buffer read request is presented to the graphics controller 111, then the system bus 101 cannot be used for any other purpose until the request is serviced. Because the frame buffer read can be lengthy, compared to the speed at which the system bus is capable of operating, the processing of all units attached to the system bus can suffer. The resulting inefficiency in this case is not the fault of the graphics controller 111, which of course lacks the prescience to start the desired frame buffer read operation before the request has been received. Rather, it has been necessary to accept this level of performance in prior art systems of the type described.
In contrast to the tightly ordered bus architecture described above, some minicomputer and mainframe computers, and more recently some small computer architectures, employ buses that are "loosely ordered" such that, between the address phase of a bus transaction and the corresponding data phase, other data phases of other bus transactions may occur. The ability of the bus to allow the address bus and data bus to have different masters at the same time is called "split-bus transaction capability", and is enabled, in part, by having separate address and data lines, and in part by having a bus arbiter capable of making address bus grants independent of data bus grants. The
PowerPC^M computer architecture, co-developed by Apple Computer, utilizes a loosely ordered system bus that provides split-bus transaction capability.
PowerPC^M machines currently sold by Apple are based largely on the Motorola MPC601 RISC microprocessor. The MPC601 permits separate address bus tenures and data bus tenures, where tenure is defined as the period of bus mastership. In other words, rather than considering the system bus as an indivisible resource and arbitrating for access to the entire bus, the address and data buses are considered as separate resources, and arbitration for access to these two buses may be performed independently. A transaction, or complete exchange between two bus devices, is minimally comprised of an address tenure; one or more data tenures may also be involved in the exchange. The address and data tenures of each access request must be arbitrated separately from one another. However, the request for a data bus tenure is not made explicitly, but is instead implied by the occurrence of a corresponding address bus request/transaction. More information about the particulars of the system bus in the MPC601 RISC microprocessor may be found in the PowerPC 601 RISC Microprocessor User's Manual, published by Motorola in 1993, which is incorporated herein by reference in its entirety. Another loosely coupled system bus is described in U.S. Patent Application No. 08/432,620 (Attorney Docket No. P1605/172), which was filed by James Kelly et al. on May 2, 1995, and entitled BUS TRANSACTION REORDERING USING SIDE-BAND INFORMATION SIGNALS, and which is incorporated herein by reference in its entirety. The bus that is described in U.S. Patent Application No. 08/432,620 (Attorney Docket No. P1605/172) is a superset of the conventional PowerPC^M 601 microprocessor interface, and is known as the Apple RISC BusTM/ or ARBus™.
One advantage that is provided by the use of a loosely coupled bus is the ability to initiate a read operation without tying up the bus waiting for the data to be returned to the requesting agent. This is because the read request comprises concurrently arriving address and transfer attribute signals, which can be immediately received and interpreted by the target agent. In response, the target agent has no need to utilize the address bus, and in theory should not have to tie up the data bus until the requested data is available for transmission.
However, techniques used in prior art graphics controllers are not able to make the most efficient use of a split-bus transaction capability environment. This can be appreciated by examining the prior art strategy for handling frame buffer read requests that would be used by the graphics controller 111 if the system bus 101 had split-bus transaction capability. Referring to the flow chart of FIG. 2, the process starts when the graphics controller 111 receives a frame buffer read request from a requesting agent that is connected to the system bus 101 (now presumed to be a "split response" bus, i.e., one having split-bus transaction capability) (step 201). The graphics controller 111 must now begin the arbitration process to obtain access to the frame buffer 117 and initiate the desired read (step 203). The graphics controller 111 must also request access to the system data bus (step 205), so that the data will have a place to go when it is retrieved from the frame buffer 117. Now the graphics controller 111 must wait for both requests to be honored (steps 207 and 209). If access to the frame buffer 117 is granted and the frame buffer read operation completes before the data bus has been granted, then the frame buffer 117 must sit idle, unavailable for use by the other potentially requesting entities (e.g., SAM data transfer cycle or frame buffer refresh operation). Alternatively, if the data bus is granted prior to completion of the frame buffer read operation, then it is the data bus that sits idle, unavailable for use by any other agent in the system 100.
Moreover, once both requests have been honored (step 211), the data transfer cannot proceed any faster than the frame buffer 117 is capable of operating. As previously explained, this is typically much slower than the speed at which the data bus is capable of operating. In view of the above, it is an object of the invention to provide a mechanism for efficiently reading data from a frame buffer that is coupled to a bus having split-bus transaction capability.
SUMMARY
In accordance with one aspect of the present invention, the foregoing and other objects are achieved by a graphics controller in a system comprising a requesting agent coupled to a system bus that includes an address bus, control lines for indicating a requested transfer type, a data bus, address bus arbitration control lines and data bus arbitration control lines. The system further includes a system bus arbiter coupled to the system bus for resolving competing requests for access to the address bus and for separately resolving competing requests for access to the data bus
The graphics controller for enabling the requesting agent to access a frame buffer comprises memory means, and control means. The memory means, which may be a first-in-first-out (FIFO) storage unit, is responsive to a first control signal, for storing data received from a frame buffer. The memory means are further responsive to a second control signal for supplying the stored data to the data bus. Thus, the memory means is interposed between the frame buffer and the system data bus to permit it to serve as a data buffer between the two.
The control means, which are coupled to the system bus and to the memory means, comprise means for receiving a frame buffer read request from the requesting agent. In response to receipt of such request, the controller initiates a frame buffer read operation in accordance with parameters contained in the received frame buffer read request. This may include initiating arbitration to be granted access to the frame buffer. The controller also makes a request for access to the data bus. When data is available at the output of the frame buffer, the controller generates the first control signal, which causes that data to be clocked into the memory means. When the data bus is granted, the controller generates the second control signal in order to cause the data in the memory means to be supplied to the system data bus.
BRIEF DESCRIPTION OF THE DRAWINGS The objects and advantages of the invention will be understood by reading the following detailed description in conjunction with the drawings in which: FIG. 1 is a block diagram of a prior art computer system including a graphics controller connected to a tightly ordered system bus;
FIG. 2 is a flow chart illustrating the detrimental effects of applying prior art graphics controller techniques in a split-response bus environment; FIG. 3 is a block diagram of a computer system in which the present invention is utilized;
FIG. 4 is a block diagram of the overall data flow within the inventive bridge /graphics controller; and
FIG. 5 is a flow chart of steps performed by a graphics controller in accordance with the present invention.
DETAILED DESCRIPTION
The various features of the invention will now be described with respect to the figures, in which like parts are identified with the same reference characters.
Referring to FIG. 3, the present invention may be used in a computer system 300 of the type shown. It should be understood, however, that the invention is not limited for use only in the illustrated embodiment as described below, but may be used in any system having a split-bus transaction capability environment.
The computer system 300 is organized around a system bus 301 that comprises an address bus 303 and a data bus 305. Furthermore, the system bus 301 is loosely coupled type that has split-bus transaction capability, such as the ARBus™ described in the BACKGROUND section of this disclosure. Accordingly, it will be appreciated that the system bus 301 further comprises the necessary control signals to permit address arbitration, data arbitration and the communication of transfer attribute information. These signals have been omitted from the figure, however, in order to avoid overly cluttering the illustration. Attached to the system bus 301 is a processor 307, such as the
PowerPC^M 6(31 microprocessor described above, which is capable of operating in a split-bus transaction environment. For purposes of simplifying the drawing, also attached to the system bus 301 is a block designated as main memory subsystem 309. Those having ordinary skill in the art will appreciate that the main memory subsystem 309 may comprise any combination of static or dynamic random access memory (SRAM or DRAM) as well as read only memory (ROM) and cache memory. For further simplification of the drawing, the main memory subsystem 309 also includes arbitration logic for resolving conflicting access requests made to the address and data buses 303, 305. A more detailed description of these features, which are well-known in the art, is beyond the scope of this disclosure.
In the exemplary system 300, image data is displayed on a video output device 315, which may be, for example, an analog RGB monitor. An image to be displayed is stored in a frame buffer 317 as a set of pixels, the form of which may be in accordance with any of a number of well-known pixel formats, such as RGB or YUV. The frame buffer 317 is a video random access memory (VRAM) having a DRAM port 319 (from which pixel data may be randomly accessed) and a serial access mode (SAM) port 321, each for accessing the pixel data stored in the frame buffer 317. The SAM port 321 is connected to a RAMDAC 323, which reads the serial stream of pixel data from the frame buffer 317, and converts the digital bit stream into appropriate analog signals for driving the primary video output device 315. The exemplary system 300 also includes a video input device 331, which is connected to an expansion bus 329. The video input device 331 may, for example, supply pixel data that needs to be written to the frame buffer 317 in real time. In a preferred embodiment of the invention, the expansion bus is a well-known standardized bus known as a PCI local bus, although this is not particularly critical to the operation of the invention. Nonetheless, a complete description of the PCI local bus is presented in the PCI Local Bus Specification. Review Draft Revision 2.1, published October 21, 1994 by the PCI Special Interest Group, P.O. Box 14070, Portland, OR 97214, which is incorporated herein by reference in its entirety. A combination bridge /graphics controller 311 is provided, which has one interface for connection to the system bus 301, another interface for connection to the DRAM port 319 of the frame buffer 317, and a third interface for connection to the expansion bus 329. One function of the bridge /graphics controller 311 is to act as a bridge for communications between the otherwise incompatible system bus 301 and expansion bus 329. This function of the bridge /graphics controller is not pertinent to the present invention, and will not be described here in further detail.
Another function of the bridge /graphics controller 311, which is the focus of the present invention, is to receive frame buffer access (read and write) requests alternatively from the system bus 301 or from the expansion bus 329 and to provide these to the frame buffer 317 for servicing. Because, in the illustrative embodiment of the invention, it is possible for frame buffer access requests to be made simultaneously from sources attached, respectively, to the system bus 301 and to the expansion bus 329, the bridge /graphics controller 311 must arbitrate between these as well as the frame buffer access requests associated with SAM data transfer cycles and frame buffer refresh cycles.
The bridge /graphics controller also includes frame buffer read logic 325 for performing frame buffer read operations in response to requests made by an agent (e.g., the processor 307) coupled to the system bus 301. In accordance with the present invention, the frame buffer read logic is designed to fulfill its purpose while making efficient use of the system bus 301. It achieves this by means of a memory device for buffering data between the frame buffer and the system bus 301, as well as appropriate control logic for efficiently using all of the hardware resources.
A preferred embodiment of the hardware for routing the flow of data from one point to another within the bridge /graphics controller 311 will now be described with reference to FIG. 4, which is a block diagram of the overall data flow within the bridge /graphics controller 311. Three data interfaces are provided for connection to the following: the 64-bit wide system data bus 305, the 32-bit wide expansion bus 329 (which, in a preferred embodiment is multiplexed between address and data information and is a tightly ordered bus), and the 64-bit wide frame buffer (FB) data bus 401. Various multiplexors 403, 405, 407, 409, 411, 413, 415, 17, 419, 421 and flip-flops 423, 425, 427, 429, 431, 433 are provided, along with a number of first-in-first-out memory units (FIFOs) 435, 437, 439, 441, 443, 445, 447 that are arranged within the data paths as shown, for switching the data from any one source to any of the other destinations, for buffering data between the various sources and destinations, and for converting between the 64-bit and 32-bit interfaces.
Byte reordering logic 457 is provided at the interface to the frame buffer 317, in order to write and read pixel data in a standard format (e.g., big-endian) regardless of the format in which an agent, such as the video input device 331, creates or expects to receive them. The particulars of this logic are not pertinent to the present invention.
The bridge /graphics controller 311 further includes a controller 453 for generating the various control signals that are required for coordinating the operation of all of the resources within the bridge /graphics controller. In a preferred embodiment, the bridge /graphics controller 311 comprises two application specific integrated circuits (ASICs), one comprising all of the data flow hardware, and the other comprising all of the necessary control logic.
For the sake of clarity, most of the control signal connections between the controller 453 and each of the resources within the bridge /graphics controller 311 have been omitted from FIG. 4. However, the interfaces between the controller 453 and the system address bus 303, system control bus 463, expansion bus 329, and frame buffer 317 are generally depicted. Complete descriptions of these interfaces however, which are well-known in the art, are beyond the scope of this description.
Of some pertinence to the present invention are the SysBus-to-FB write FIFO 445 and the ExpansionBus-to-FB write FIFO 447, which buffer 64-bit wide data that is to be written from the respective system data bus 305 and expansion bus 329 to the frame buffer 317 by means of the bi-directional frame buffer data bus 401. The input and output byte swap multiplexors 449, 451 and the byte reordering logic 457 may be used for converting pixel data into a uniform format for storage in the frame buffer, regardless of the endian characteristics of the source or the bus upon which the pixel data is communicated. The input and output byte swap multiplexors 449, 451 also serve for conditionally enforcing the rule of "address invariance" for communications between the system bus 301 and the expansion bus 329. A complete description of either of these aspects of the data flow is beyond the scope of this disclosure, and is not pertinent to the understanding of the present invention.
Of great importance to the present invention is the presence of the SysBus-To-FB Read FIFO 443, which is preferably a flow-through memory device capable of storing four 64-bit units of information, and presenting them in first-in-first-out order. The SysBus-To-FB Read FIFO 443 is configured to receive data from the frame buffer data bus 401, and to provide that data to the system data bus 305. Therefore, the SysBus-To-FB Read FIFO 443 serves as a data buffer between the frame buffer 317 and the system data bus 305. The selection of a four-deep FIFO for this purpose in the preferred embodiment permits the SysBus-To-FB Read FIFO 443 to buffer all of the data necessary for satisfying a burst operation on the system data bus 305.
The frame buffer read control logic 465 is that part of the controller 453 that determines the presence of frame buffer read requests received from the system bus 301, and responds by coordinating the hardware resources in an efficient manner for carrying out the operation. The particulars of the operation of the frame buffer read control logic 465 will now be described in detail with reference to the flow chart of FIG. 5. The operation begins when a frame buffer read request is received from the system bus 301 (step 501). The frame buffer read control logic 465 responds by initiating arbitration to receive a frame buffer read access (step 503), and then waiting for that request to be granted (step 505). As explained above, there may be other pending requests for access to the frame buffer. Possible requestors for these accesses include the video input device 331, a SAM port data cycle and a scheduled frame buffer refresh cycle. Consequently, there may be a delay between initiation of frame buffer arbitration and the granting of frame buffer access.
When the frame buffer read control logic 465 receives a frame buffer acknowledge signal from the frame buffer arbitration logic (not shown), it proceeds to step 507, where it begins arbitration for a data tenure on the system data bus 305. At step 511, the frame buffer read control logic 465 waits for the system data bus 305 to be granted by the system bus arbiter (part of the main memory subsystem 309, as explained above).
It will be observed that receipt of the frame buffer acknowledge signal does not signify completion of the frame buffer read operation. Rather, it means only that the read operation will begin. Nonetheless, the data bus arbitration step 507 is initiated at this point because the known timing of the frame buffer 317 virtually guarantees that at least one 64-bit wide quantity of data will be ready for reading by the time the system data bus 305 is granted.
Accordingly, the next thing that the frame buffer read control logic 465 does is to transfer frame buffer data to the SysBus-To-FB Read FIFO 443 as it arrives (step 509). If the bridge /graphics controller 311 has been granted access to the system data bus 305, then the frame buffer read control logic 465 transfers the data from the SysBus-To-FB Read FIFO 443 to the system data bus 305 for receipt by the requesting agent.
The flow chart of FIG. 5 has been simplified in order to ease understanding of the invention. It will be appreciated by those having ordinary skill in the art that a practical implementation of the invention must further take into account other factors, such as the possibility, during a requested burst read operation, that only some of the requested data has been loaded into the SysBus-To-FB Read FIFO 443 when access to the system data bus 305 has been granted. This situation may be handled by transferring each data beat as it arrives. Thus, FIG. 5 would include additional decision logic to determine whether all of the requested data had been read from the frame buffer 317, and if not, to transfer whatever was available and to branch back to a previous step to wait for the rest of the data. The advantages of the inventive technique for accessing a frame buffer in a split-response bus environment should now be apparent. Because the arbitration for the system data bus 305 is not initiated until after the frame buffer read acknowledge signal is received, the system data bus 305 is available for use by other entities attached to the system bus 301. Furthermore, the presence of the SysBus-To-FB Read FIFO 443, which buffers data from the frame buffer 317, means that the frame buffer 317 is never left idle waiting for the system data bus 305 to be granted. Instead, the frame buffer 317 can supply the requested data to the SysBus-To-FB Read FIFO 443 as soon as that data is available, and then make itself available to another requestor. Moreover, when a transfer of data does occur from the bridge/graphics controller 311 to the requesting agent on the system data bus 305, that transfer can occur at speeds limited by the bandwidth of the system bus 301, rather than being limited by the slower frame buffer access times.
The invention has been described with reference to a particular embodiment. However, it will be readily apparent to those skilled in the art that it is possible to embody the invention in specific forms other than those of the preferred embodiment described above. This may be done without departing from the spirit of the invention. Thus, the preferred embodiment is merely illustrative and should not be considered restrictive in any way. The scope of the invention is given by the appended claims, rather than the preceding description, and all variations and equivalents which fall within the range of the claims are intended to be embraced therein.

Claims

WHAT IS CLAIMED IS:
1. In a system comprising a requesting agent coupled to a system bus that comprises an address bus, control lines for indicating a requested transfer type, a data bus, address bus arbitration control lines and data bus arbitration control lines, the system further including a system bus arbiter coupled to the system bus for resolving competing requests for access to the address bus and for separately resolving competing requests for access to the data bus, a graphics controller for enabling the requesting agent to access a frame buffer, the graphics controller comprising: memory means, responsive to a first control signal, for storing data received from the frame buffer, the memory means being further responsive to a second control signal for supplying the stored data to the data bus; and control means, coupled to the system bus and to the memory means, comprising: means for receiving a frame buffer read request from the requesting agent; means for initiating a frame buffer read operation in accordance with parameters contained in the received frame buffer read request; means for requesting access to the data bus; means for generating the first control signal in response to data associated with the frame buffer read request becoming available at an output of the frame buffer; and means for generating the second control signal in response to the requested access to the data bus being granted.
2. The graphics controller of claim 1, wherein the memory means is a first- in-first-out memory device.
3. The graphics controller of claim 1, wherein the means for initiating the frame buffer read operation includes frame buffer arbitration means for resolving competing requests for access to the frame buffer.
4. In a system comprising a requesting agent coupled to a system bus that comprises an address bus, control lines for indicating a requested transfer type, a data bus, address bus arbitration control lines and data bus arbitration control lines, the system further including a system bus arbiter coupled to the system bus for resolving competing requests for access to the address bus and for separately resolving competing requests for access to the data bus, a method of enabling the requesting agent to access a frame buffer, the method comprising the steps of: receiving a frame buffer read request from the requesting agent; initiating a frame buffer read operation in accordance with parameters contained in the received frame buffer read request; requesting access to the data bus; detecting availability of data at an output of a frame buffer, the data being associated with the frame buffer read request; storing the data from the output of the frame buffer into memory means; and supplying the stored data from the memory means to the data bus in response to the requested access to the data bus being granted.
5. The method of claim 4, wherein the memory means is a first-in-first-out memory device.
6. The method of claim 4, wherein the step of initiating the frame buffer read operation includes resolving competing requests for access to the frame buffer.
7. A graphics controller for enabling a requesting agent to access a frame buffer, the graphics controller comprising: memory means, responsive to a first control signal, for storing data received from the frame buffer; and control means, coupled to the memory means, comprising: means for receiving a frame buffer read request from the requesting agent; means for initiating a frame buffer read operation in accordance with parameters contained in the received frame buffer read request; and means for generating the first control signal in response to data associated with the frame buffer read request becoming available at an output of the frame buffer.
8. The graphics controller of claim 7, wherein: the requesting agent is coupled to a system bus; and the means for receiving the frame buffer read request from the requesting agent comprises means for receiving the frame buffer read request from the system bus.
9. The graphics controller of claim 7, wherein the memory means is a first- in-first-out memory device.
PCT/US1996/004263 1995-05-03 1996-03-27 Controller for providing access to a video frame buffer in a split-bus transaction environment WO1996035172A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
AU55292/96A AU5529296A (en) 1995-05-03 1996-03-27 Controller for providing access to a video frame buffer in a split-bus transaction environment

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/434,197 1995-05-03
US08/434,197 US5838955A (en) 1995-05-03 1995-05-03 Controller for providing access to a video frame buffer in split-bus transaction environment

Publications (1)

Publication Number Publication Date
WO1996035172A1 true WO1996035172A1 (en) 1996-11-07

Family

ID=23723212

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US1996/004263 WO1996035172A1 (en) 1995-05-03 1996-03-27 Controller for providing access to a video frame buffer in a split-bus transaction environment

Country Status (3)

Country Link
US (1) US5838955A (en)
AU (1) AU5529296A (en)
WO (1) WO1996035172A1 (en)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1999023570A1 (en) * 1997-11-05 1999-05-14 Unisys Corporation System and method for providing speculative arbitration for transferring data
US6014709A (en) * 1997-11-05 2000-01-11 Unisys Corporation Message flow protocol for avoiding deadlocks
US6052760A (en) * 1997-11-05 2000-04-18 Unisys Corporation Computer system including plural caches and utilizing access history or patterns to determine data ownership for efficient handling of software locks
US6092156A (en) * 1997-11-05 2000-07-18 Unisys Corporation System and method for avoiding deadlocks utilizing split lock operations to provide exclusive access to memory during non-atomic operations
US6665761B1 (en) 1999-07-28 2003-12-16 Unisys Corporation Method and apparatus for routing interrupts in a clustered multiprocessor system
US6687818B1 (en) 1999-07-28 2004-02-03 Unisys Corporation Method and apparatus for initiating execution of an application processor in a clustered multiprocessor system
US7571440B2 (en) 1998-07-23 2009-08-04 Unisys Corporation System and method for emulating network communications between partitions of a computer system
CN113330428A (en) * 2019-01-25 2021-08-31 微芯片技术股份有限公司 Data sample transmission scheme and related systems, methods and devices

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6091431A (en) * 1997-12-18 2000-07-18 Intel Corporation Method and apparatus for improving processor to graphics device local memory performance
US6927776B2 (en) * 2001-05-17 2005-08-09 Matsushita Electric Industrial Co., Ltd. Data transfer device and method
US7382924B2 (en) * 2003-08-14 2008-06-03 Broadcom Corporation Pixel reordering and selection logic
JP2021047829A (en) * 2019-09-20 2021-03-25 キヤノン株式会社 Memory control unit and control method for the same

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6352235A (en) * 1986-08-22 1988-03-05 Hitachi Ltd Picture display system
WO1994000834A1 (en) * 1992-06-22 1994-01-06 Vlsi Technology, Inc. Improved vga controller having frame buffer memory arbitration and method therefor

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5369744A (en) * 1989-10-16 1994-11-29 Hitachi, Ltd. Address-translatable graphic processor, data processor and drawing method with employment of the same
US5274753A (en) * 1990-05-24 1993-12-28 Apple Computer, Inc. Apparatus for distinguishing information stored in a frame buffer
US5257348A (en) * 1990-05-24 1993-10-26 Apple Computer, Inc. Apparatus for storing data both video and graphics signals in a single frame buffer
US5388207A (en) * 1991-11-25 1995-02-07 Industrial Technology Research Institute Architecutre for a window-based graphics system
US5263138A (en) * 1992-03-11 1993-11-16 Apple Computer, Inc. Method and apparatus for arbitrating access to a high speed digital video bus
US5511165A (en) * 1992-10-23 1996-04-23 International Business Machines Corporation Method and apparatus for communicating data across a bus bridge upon request
US5301272A (en) * 1992-11-25 1994-04-05 Intel Corporation Method and apparatus for address space aliasing to identify pixel types
US5392407A (en) * 1992-12-24 1995-02-21 Ncr Corporation Multi-port processor with peripheral component interconnect port and rambus port
US5469435A (en) * 1994-01-25 1995-11-21 Apple Computer, Inc. Bus deadlock avoidance during master split-transactions
US5522061A (en) * 1994-04-14 1996-05-28 Hewlett-Packard Company Read concurrency through transaction synthesis

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6352235A (en) * 1986-08-22 1988-03-05 Hitachi Ltd Picture display system
WO1994000834A1 (en) * 1992-06-22 1994-01-06 Vlsi Technology, Inc. Improved vga controller having frame buffer memory arbitration and method therefor

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
PATENT ABSTRACTS OF JAPAN vol. 12, no. 266 (P - 735) 26 July 1988 (1988-07-26) *

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1999023570A1 (en) * 1997-11-05 1999-05-14 Unisys Corporation System and method for providing speculative arbitration for transferring data
US6014709A (en) * 1997-11-05 2000-01-11 Unisys Corporation Message flow protocol for avoiding deadlocks
US6049845A (en) * 1997-11-05 2000-04-11 Unisys Corporation System and method for providing speculative arbitration for transferring data
US6052760A (en) * 1997-11-05 2000-04-18 Unisys Corporation Computer system including plural caches and utilizing access history or patterns to determine data ownership for efficient handling of software locks
US6092156A (en) * 1997-11-05 2000-07-18 Unisys Corporation System and method for avoiding deadlocks utilizing split lock operations to provide exclusive access to memory during non-atomic operations
US7571440B2 (en) 1998-07-23 2009-08-04 Unisys Corporation System and method for emulating network communications between partitions of a computer system
US6665761B1 (en) 1999-07-28 2003-12-16 Unisys Corporation Method and apparatus for routing interrupts in a clustered multiprocessor system
US6687818B1 (en) 1999-07-28 2004-02-03 Unisys Corporation Method and apparatus for initiating execution of an application processor in a clustered multiprocessor system
CN113330428A (en) * 2019-01-25 2021-08-31 微芯片技术股份有限公司 Data sample transmission scheme and related systems, methods and devices
CN113330428B (en) * 2019-01-25 2024-03-08 微芯片技术股份有限公司 Data sample transmission scheme and related systems, methods and devices

Also Published As

Publication number Publication date
AU5529296A (en) 1996-11-21
US5838955A (en) 1998-11-17

Similar Documents

Publication Publication Date Title
US4860244A (en) Buffer system for input/output portion of digital data processing system
US5870622A (en) Computer system and method for transferring commands and data to a dedicated multimedia engine
US5335322A (en) Computer display system using system memory in place or dedicated display memory and method therefor
US5533204A (en) Split transaction protocol for the peripheral component interconnect bus
US5611058A (en) System and method for transferring information between multiple buses
KR100275407B1 (en) Fast access to a shared resource on a computer bus
US5625778A (en) Method and apparatus for presenting an access request from a computer system bus to a system resource with reduced latency
US5892978A (en) Combined consective byte update buffer
US5838955A (en) Controller for providing access to a video frame buffer in split-bus transaction environment
WO1996035173A1 (en) Arbitration of computer resource access requests
WO1996041279A1 (en) Computer system having a dedicated multimedia engine including multimedia memory
US5319388A (en) VGA controlled having frame buffer memory arbitration and method therefor
JPH07105146A (en) Common memory device
US7340544B2 (en) Method of using bus and bus interface
US5872936A (en) Apparatus for and method of arbitrating bus conflicts
TW477952B (en) Graphics engine master mode performance improvement
EP0775960A2 (en) Bus interface logic system
US5930487A (en) PCI bus master with cascaded PCI arbitration
US5027290A (en) Computer workstation including video update arrangement
US5627968A (en) Data transfer apparatus which allows data to be transferred between data devices without accessing a shared memory
EP1752881A1 (en) Apparatus for memory resource arbitration based on dedicated time slot allocation
US5931932A (en) Dynamic retry mechanism to prevent corrupted data based on posted transactions on the PCI bus
EP0341670B1 (en) Processing time allocation system and method
EP0293200A2 (en) Computer workstation including video update arrangement
KR0143685B1 (en) A circuit for interfacing an aal processor to sbus

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): AL AM AT AU AZ BB BG BR BY CA CH CN CZ DE DK EE ES FI GB GE HU IS JP KE KG KP KR KZ LK LR LS LT LU LV MD MG MK MN MW MX NO NZ PL PT RO RU SD SE SG SI SK TJ TM TR TT UA UG UZ VN AM AZ BY KG KZ MD RU TJ TM

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): KE LS MW SD SZ UG AT BE CH DE DK ES FI FR GB GR IE IT LU MC NL PT SE BF BJ CF CG CI CM GA GN ML

121 Ep: the epo has been informed by wipo that ep was designated in this application
REG Reference to national code

Ref country code: DE

Ref legal event code: 8642

122 Ep: pct application non-entry in european phase
NENP Non-entry into the national phase

Ref country code: CA