WO1998047075A1 - Computer system with unified system memory and improved bus concurrency - Google Patents

Computer system with unified system memory and improved bus concurrency Download PDF

Info

Publication number
WO1998047075A1
WO1998047075A1 PCT/US1998/006475 US9806475W WO9847075A1 WO 1998047075 A1 WO1998047075 A1 WO 1998047075A1 US 9806475 W US9806475 W US 9806475W WO 9847075 A1 WO9847075 A1 WO 9847075A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
cpu
bus
memory
logic
Prior art date
Legal status (The legal status 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 status listed.)
Ceased
Application number
PCT/US1998/006475
Other languages
English (en)
French (fr)
Inventor
James O. Mergard
Michael S. Quimby
Carl K. Wakeland
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Advanced Micro Devices Inc
Original Assignee
Advanced Micro Devices 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 Advanced Micro Devices Inc filed Critical Advanced Micro Devices Inc
Priority to JP54396198A priority Critical patent/JP4500373B2/ja
Publication of WO1998047075A1 publication Critical patent/WO1998047075A1/en
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4022Coupling between buses using switching circuits, e.g. switching matrix, connection or expansion network
    • 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
    • G09G2300/00Aspects of the constitution of display devices
    • G09G2300/04Structural and physical details of display devices
    • G09G2300/0404Matrix technologies
    • G09G2300/0408Integration of the drivers onto the display substrate
    • 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/121Frame memory handling using a cache 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/125Frame memory handling using unified memory architecture [UMA]
    • 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/128Frame memory using a Synchronous Dynamic RAM [SDRAM]
    • 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/39Control of the bit-mapped memory
    • G09G5/393Arrangements for updating the contents of the bit-mapped memory

Definitions

  • TITLE COMPUTER SYSTEM WITH UNIFIED SYSTEM MEMORY AND IMPROVED BUS CONCURRENCY
  • This invention relates to computer systems, and more particularly, to an integrated computer system having a unified system memory and improved bus concurrency.
  • Typical computer systems include a central processing unit (“CPU”) and system memory coupled to a high-speed system bus.
  • a bus bridge device is employed to bridge the high-speed system bus to a lower- speed peripheral bus.
  • slower-speed devices such as modems, drive controllers, and network interlaces, are located on the low-speed bus.
  • a graphics controller is located on the high-speed bus.
  • the graphics controller typically includes its own memory separate from the main system memory. This separate graphics memory is used to store screen image data for display on a monitor.
  • DMA controller typically included in modern computer systems. The DMA controller allows for the direct transfer of data between system memory on the high-speed bus and peripheral bus devices on the low-speed bus.
  • Computer system 100 includes system memory 112 and CPU 114. both coupled to the high-speed system bus 110.
  • a graphics controller 132 is also coupled to the high-speed system bus 1 10.
  • Bus bridge 120 couples the high- speed system bus 110 to a low-speed peripheral bus 130.
  • One or more bus devices, such as bus device 134. may be coupled to the low-speed peripheral bus 130.
  • Bus device 134 may be any type of bus device commonly found in computer systems, such as a modem device.
  • Graphics controller 132 is connected to graphics memory 133.
  • DMA controller 122 which facilitates data transfers between bus device 134 and system memory 112.
  • System memory 112 typically comprises DRAM memory operating in fast page mode or extended data out (EDO) mode.
  • System memory 112 stores data operated on by CPU 114.
  • CPU 114 transfers data to and from system memory 112 over high-speed system bus 110.
  • CPU 114 may also transfer data to and from bus device 134 through bus bridge 120.
  • DMA controller 122 allows data to be transferred directly between bus device 134 and system memory 112.
  • Graphics controller 132 operates on data contained in graphics memory 133, which is memory separate from system memory 112.
  • Graphics memory 133 is typically high-speed DRAM or VRAM memory.
  • Graphics memory 1 3 contains data corresponding to the screen image displayed upon an external monitor.
  • CPU 114 may also access graphics memory 133.
  • graphics controller 132 only accesses graphics memory 133 and does not access system memory 112.
  • Graphics controller 132 displays screen images by reading the screen image data stored in graphics memory 133 and converting the screen image data mto analog monitor signals which create the screen unage display on an external monitor
  • An increasingly popular application ot computer systems is in small hand-held low-power and low-cost computer de ⁇ ices I hus, it is desirable to have a low-cost lo -power computer svstem that can be implemented in a small amount ot space
  • One method ot obtammg low cost low power small sized computer systems is to integrate as mans ot the computer svstem functions onto a single mtegrated circuit device as possible
  • Technolo ical improvements in the feature size ot mtegrated circuits in recent vears have allowed man ⁇ ot the functions shown in computer svstem 100 to be integrated onto a single monolithic substrate
  • DMA controller 122 and graphics controller 132 may all be integrated mto a sincle dev ice as shown b ⁇ the dotted-hne enclosure 140 in Fig 1A
  • Computer svstem 150 includes CPU 1 14 and umficd memon 1 16 both coupled to Inch-speed svstem bus 1 10
  • Bus b ⁇ dge 120 couples high-speed svstem bus 110 to low-speed peripheral bus 130
  • a bus device 134 is coupled to the low-speed pe ⁇ pheral bus 130 111 contrast to computer s stem 100 of Tig 1A graphics controller 118 ot computer sv stem 150 in T ig IB is coupled to the high-speed sv stem bus 110
  • the CPU 1 14 and graphics controller 1 18 both access data m the unified memon 1 16 In other words both CPU data and screen image data arc stored in the unified memory 1 16
  • the architecture ot computer svstem 150 allows mtegration ot many ot the computer svstem components into a single mtegrated device wlule requiring fewer external interlaces than the mtegrated device represented bv dotted-lme 140 in Fig 1A
  • the CPU 1 14 graphics controller 1 18 bus b ⁇ dge 120 and DMA controller 122 mav all be mtegrated mto a single device requiring external data interlaces onlv to low -speed bus 130 and to high-speed svstem bus 1 10 (svstem memory 1 16)
  • Bv utilizing a unified memon architecture the separate external interlace to graphics memory 133 has been elunmated thus savmg numerous pms on the integrated circuit package urthermore onlv a single memory controller is needed to interlace to the unified system memory 1 16 as opposed to two memory controllers that would be needed
  • CPU 114, graphics controller 118. and DMA controller 1 12 must all share the high-speed system bus 1 10 in order to access the unified memory 1 16. Therefore, only one of these devices may access the unified memory 1 16 at a time. For example, if the CPU is currently performing a burst read operation from the unified memory 116. the graphics controller 118 must wait until the CPU access is completed before the graphics controller 1 18 may access the unified memory 1 16. This architecture can lead to serious performance bottlenecks. For example, when graphics controller 1 18 is performing a screen refresh operation, it must have continuous access to the unified memory 1 16 during the refresh operation. Otherwise, visible glitches would appear to the user on the external monitor.
  • the CPU and DMA controller are completely denied access to the unified memory 1 16. thereby severely impairing overall system performance.
  • the DMA controller is performing a long DMA block transfer over the high-speed system bus 110 to the unified memory 1 16.
  • the graphics controller 1 18 may have to wait an extended period of time before being able to perform a new screen refresh operation. If this period of time is too long, noticeable glitches will appear on the monitor to the user.
  • a computer system in accordance with the present invention, includes a central processing unit (CPU), a graphics controller, system memory, data steering logic, and memory arbitration logic.
  • the graphics controller and system memory are both coupled to a high-speed data bus. Data accessed by the CPU and data accessed by the graphics controller are both stored in the system memory.
  • the data steering logic is coupled to the high-speed data bus. coupled to a low-speed data bus, and coupled to the CPU.
  • the data steering logic is configured to selectively couple the CPU to either the high-speed data bus. or to the low-speed data bus.
  • the data steering logic is able to accommodate data transfers between the CPU and a device connected to the second data bus concurrently with data transfers between the graphics controller and the system memory.
  • the memory arbitration logic is coupled to the graphics controller and to the CPU. This arbitration logic is configured to arbitrate for access to the system memory, thereby preventing bus contention on the high-speed data bus.
  • a direct memory access (DMA) controller is included in the computer system as described above. This DMA controller is coupled to the memory arbitration logic.
  • the memory arbitration logic and data steering logic are configured to accommodate the DMA controller accessing devices on the low-speed data bus concurrently with the graphics controller accessing the system memory.
  • This embodiment may also include system arbitration logic coupled to the CPU and DMA controller I he svstem arbitration logic arbitrates between the CPU and the DMA controller tor access to the system memon I he winner ot tins arbitration is indicated to the memory arbitration logic which then arbitrates between the winner and the graphics controller lor ultimate access to the svstem memory
  • the svstem arbitration logic mav be configured so that the CPU is the default arbitration winner Tims, the svstem arbitration logic alwavs indicates the CPU as the arbitration winner, unless the DMA controller asserts a bus request indication prompting svstem arbitration
  • the memon arbitration logic mav be configured so that the graphics controller has arbitration priority over the winner ot the svstem arbitration This priority scheme is desirable to ensure that the graphics controller mav regularly access svstem memon m order to maintain a glitch tree screen displav
  • the CPU mav comprise a cache memon
  • the cache memon is a small, high-speed memon located between the CPU and
  • a single mtegrated circuit device comp ⁇ smg a CPU a graplucs controller, data steering logic, and memon arbitration logic
  • the graphics controller is coupled to a high-speed data bus Oiis high-speed data bus also connects to svstem memory that is external from the integrated circuit device Data accessed bv the CPU and data accessed bv the graphics controller are both stored in this external svstem memon'
  • the data steering logic is coupled to the high-speed data bus to an external lovv- speed data bus and to the CPU
  • the data steermg logic is configured to selectivelv couple the CPU to either the high-speed data bus or the external low -speed data bus
  • the data steermg logic accommodates data tiansleis between the CPU and an external bus device coupled to the external low-speed data bus concurrent with data transters between the graplucs controller and the external sv
  • the present mvention achieves a computer svstem with improved bus concurrencv Furthermore, the present invention allows a CPU. DMA controller bus bridge, and graphics controller to be mtegrated mto a smgle, low cost small size, integrated circuit device This mtegrated circuit device requires onlv one memory mtertace without sacrificing overall svstem performance and is thus able to support modern operating svstcms such as Windows* or GEOS
  • Tig 1 A is a block diagram ot a p ⁇ or art computer svstem
  • Fig IB is a block diagram ot a p ⁇ or art computer svstem employing a unified memon architecture
  • Fig 2 is a block diagram ot a computer svstem including data stee ⁇ ng logic and arbitration logic accordmg to one embodiment ot the present mvention.
  • Fig 3 is a detailed block diagram ot the data paths ot the computer svstem ot Fig 2.
  • Fig 4 is a detailed block diagram ot the arbitration logic ot the computer svstem of Fig 2, and
  • Fig 5 is a block diagram illustrating one embodiment ot the present mvention allowing an alternative configuration to support a 32-bit external high-speed bus
  • Computer svstem 200 is shown including a central processing unit (CPU) 202.
  • DMA controller 206 and graphics controller 212 These three devices share access to unified svstem memon 222 through a 16 bit high-speed data bus 228
  • System arbiter 210 and memon arbiter 218 work together to control access to the unified system memory 222 and prevent contention on the highspeed data bus 228
  • the operation ot the arbiter svstem comprising svstem arbiter 210 and memon arbiter 218 is discussed in further detail below
  • control logic 216 and data steermg logic 220 Data steermg logic 220 is coupled to the 32-bit CPU data bus and coupled to the 16 bit high-speed data bus 228 Also mcluded m computer svstem 200 is a slow-speed bus 224 which mav have one or more bus devices such as bus device 226 coupled to it I e 16 bit data bus ot the slow-speed bus 224 is coupled to data stee ⁇ ng logic 220 Also coupled to data stee ⁇ ng logic 220 is an 8 bit data bus which provides a data path to va ⁇ ous control units and registers represented bv PC Cores/Registers 208 in the illustration CPU 202 is illustrative ot an X86 microprocessor such as an 80486® microprocessor, or other compatible microprocessor It is understood, however, that a svstem according to the present invention mav employ other types ot microprocessors such as a RISC type microprocessor
  • DMA controller 206 is illustrative ot. for example, a PC compatible DMA controller, such as two 8237A compatible controllers as typically incorporated m IBM compatible PCs However, it is understood that anv tvpe ot direct memon access controller may be utilized m the present invention DMA controller 206 tunctions to tacihtate data translers directly between devices connected to slow-speed bus 224 and the unified svstem memon 222 For example. DMA controller 206 obtains control of the high-speed data bus 228 and generates the necessan control signals to create memon transters between bus device 226 and unitied svstem memon 222 without mtenention bv CPU 202 Thus. DMA controller 206 provides tor higher overall system performance b ⁇ allowing devices located on slow-speed bus 224 to communicate directly with memon one operation as opposed to two operations that would be required it the CPU 202 intervened
  • Graphics controller 212 tunctions to create and manipulate visual screen images on an external monitor (not shown) to provide the user interface tor computer svstem 200
  • the screen image is stored as data m unified system memon 222
  • the graphics controller 212 accesses the screen data m the unified system memon 222 in order to change and/or retresh the screen image
  • Screen refreshes are performed when the graphics controller 21 reads the screen unage data trom the unified svstem memon 222 and converts the data into analog signals which are sent to the external monitor to create the visual screen image
  • Graphics controller 212 mav be sunilar to graplucs controllers found in tvpical personal computers and mav function to control CRT tvpe external monitors or LCD type displays, among others
  • Unified svstem memory 222 mav comprise DRAM tvpe memon operating in fast page mode or extended data out (EDO) mode It is understood that other types ot memorv.
  • Unified svstem memon 222 is coupled to the graphics controller 212 and data stee ⁇ ng logic 220 bv high-speed data bus 228 Unified svstem memon 222 also receives address and control signals trom control logic 216 Data accessed bv CPU 202.
  • graphics controller 212 and bus devices such as bus device 226. is all located in unitied system memon 222
  • bus device 226 is all located in unitied system memon 222
  • other memon mav be located on bus devices such as bus device 226. located on the slow-speed bus 224
  • This tvpe of memon arclutecture where the CPU and graphics controller both share the same phvsical memon' is often referred to as a shared memon architecture
  • Slow-speed bus 224 supports an expansion tvpe bus such as the Industn Standard Architecture (ISA) bus or the PCMCIA (PC Card) bus Also, m some embodiments ot the present invention, slow-speed bus 224 mav support two or more such busses, such as both an ISA bus and a PCMCIA bus One or more bus devices may be attached to slow-speed bus 224.
  • ISA Industn Standard Architecture
  • PCMCIA PC Card
  • bus devices normally pertorm functions that do not lequire as much bandwidth to the svstem memon 222 as the CPU 202 and graphics controller 212 require Such bus devices mav include disk drive controllers, such as a SCSI controller, network controllers modems, and other I/O devices
  • high-speed ' referring to high-speed data bus 228 and slow-speed referring to slow-speed bus 224 are used onlv as terms tor comparison
  • high-speed bus 228 mav operate at 33 MHz.
  • slow-speed bus 224 operates at 8 MHz
  • the rate at which data could be transferred would be roughly lour times as great on high-speed data bus 228 as on slow-speed bus 224
  • PC Cores Registers 208 includes va ⁇ ous control and functional units tvpicallv found in modern computer sv stems
  • PC Cores Registers 208 mav include a programmable interrupt controller, a programmable intenal timer, a real tune clock a UART, a keyboard controller, a parallel port controller, and/or other registers and tunctions required tor the desired personal computer compatibility
  • the functional units located ⁇ lthin PC ores/Registers 208 are connected to the computer system through an 8-bit data bus which allows access bv CPU 202
  • controller tunctions which provide control signals tor the slow-speed bus 224 For example.
  • PC cores/register 208 mav include an ISA controller and/or a PCMCIA controller Furthermore, tor portable and low-power computer applications.
  • PC Cores/Registers 208 mav include a power management unit All of the functional units desc ⁇ bed above as included in PC Cores/Registers 208 may be functionally similar or equivalent to such functions tvpicallv found in PC tvpe computer svstems
  • FIG 3 a block diagram showing a more detailed illustration ot the data paths in computer sv stem 200 is shown
  • CPU 202 is coupled to the data stee ⁇ ng logic 220 bv tour 8-bit data bvte lanes 302 1 hese bvte lanes 302 torm the 32 bit CPU data bus PC Cores/Registers 208 is coupled to data stee ⁇ ng logic 220 bv an 8-bit data bus 304
  • Data stee ⁇ ng logic 220 is also coupled to the high-speed data bus 228 which comprises tw o 8-bit bvte lanes to torm a 16-bit data path
  • Data steering logic 220 mav also pertorm necessan byte gathermg and/or bvte lane stee ⁇ ng
  • An unportant aspect ol the data steermg logic in the present mvention is the ability to allow tor CPU and DMA data transters to be performed concurrent with graphics controller data transters For mstance.
  • the CPU 202 mav execute trom a ROM or FLASH device on the slow-speed bus 224 while the graphics controller accesses unified svstem memon 222
  • Data steermg logic 220 mav couple the CPU data bus 302 to the slow-speed data bus 306 as illustrated bv path 312 Data steermg. as shown bv path 312 in data steermg logic 220.
  • data steermg path 314 allows data transters between CPU 202 and the various PC Cores/Registers 208 to be performed concurrentlv with data transters between graphics controller 212 and unified svstem memon 222 Also.
  • DMA ti ansters mav occur through path 316 between unified svstem memory 222 and devices located on slow-speed bus 224.
  • data steermg logic 220 provides data connections that allow data translcr operations to continue between svstem components du ⁇ ng tunes when graphics controller 212 is accessing unified system memon 222 Therefore, the overall computer system performance is enhanced Reter ⁇ ng back to Fig 2.
  • data stee ⁇ ng logic 220 is controlled bv control signals generated m control logic 216
  • Control ot data stee ⁇ ng logic 220 is a function ot the result ot the arbitration svstem comprising svstem arbiter 210 and memon arbiter 218 This arbitration system is further descnbed below
  • Sv stem arbiter 210 arbitrates between CPU 202 and DMA controller 206 for access to the svstem memon 222 For svstem arbiter 210.
  • the CPU 202 is the default bus owner DMA controller 206 requests bus access bv asserting the HRQ signal to svstem arbiter 210 To obtam bus access tor DMA controller 206 the s ⁇ stem arbiter 210 asserts the HOLD signal to CPU 202 When the CPU 202 finishes its cu ⁇ ent transaction, it asserts the HLD ⁇ signal to the svstem arbiter 210 to indicate that it is relinquishing control ol the bus Sv stem arbiter 210 then asserts the bus request to the memon arbiter 218
  • Memory arbiter 218 arbitrates between the winner (DMA controller 206 or CPU 202) trom svstem arbiter 210 and graphics controller 212 for access to the unified svstem memon 222 on high-speed data bus 228 I hus. a device cannot obtam access to unified svstem memon 222 until both levels of arbitration ha e been completed and the device receives a bus grant mdication
  • Graphics controller 212 is given p ⁇ o ⁇ tv over requests trom the CPU 202 or DMA controller 206 in order to ensure that a glitch tree screen display is mamtained Graphics controller 212 asserts the VREQ to memon arbiter 218 in order to request access to svstem memon 222 It high-speed data bus 228 is currentlv idle, then memon arbiter 218 w ill assert the VGNT signal to graphics controller 222. and then assert the
  • SEL GRAPHICS signal to the control logic 216. in order to mdicate that the graphics controller 212 should be granted access to high-speed data bus 228 If high-speed data bus 228 is not idle when graphics controller 212 asserts the VREQ signal then memory arbiter 218 waits until the current transaction is completed on high-speed data bus 228. then removes bus ownership trom the current bus owner and asserts the VGNT signal to award bus ownership to graphics controller 212
  • CPU 202, graphics controller 212. and DMA controller 206 all compete for access to the unified system memory 222 through the high-speed data bus 228. Since only one of these devices may access the unified memory 222 through the high-speed data bus 228 at a time, performance is greatly enhanced by data steering logic 220. which allows the CPU and DMA controller to perform data transactions with devices on slow-speed bus 224 or PC Cores/Registers 208 concurrent with data transfers performed between graphics controller 212 and system memory 222.
  • the CPU 202. DMA controller 206 and graphics controller 212 will all need to access unified system memory 222 frequently so that one or more of these devices will be waiting for access to the unified system memory 222.
  • a preferred embodiment of the present invention includes a cache 204 within CPU 202.
  • Cache 204 allows CPU 202 to continue operations during times that graphics controller 212 has ownership of high-speed data bus 228.
  • Cache 204 has a small high-speed memory which stores copies of data stored in unified system memory 222.
  • CPU 202 can read the data stored in cache 204 without needing to access unified system memory 222 as long as the desired data is present within cache 204. When the desired data is not present within cache 204. then CPU 202 must compete for access to the high-speed data bus 228 by way of the arbitration system described above.
  • Cache 204 improves overall system performance by providing another source of transaction concurrency.
  • CPU 202 may access data stored within cache 204 concurrently with graphics controller 212 or DMA controller 206 accessing data stored within unified system memory 222. since CPU accesses to the cache 204 do not involve the high-speed data bus 228.
  • the range of data accessed by graphics controller 212 within unified system memory 222 may be configured as noncacheable or as write-through cacheable.
  • the arbitration and control logic (system arbiter 210. memory arbiter 218 and control logic 216) must accommodate snoops of the cache 204 during the beginning of DMA cycles which are targeted to data stored within unified system memory 222. for embodiments employing a write-back cache for cache 204.
  • the system arbiter 210 will back off DMA controller 206 and allow write-back cache 204 to update the memory location in unified system memory 222 with the correct data. Thereafter, system arbiter 210 will allow DMA controller 206 to proceed with the DMA transfer.
  • FIFO 214 is a "first in, first out " memory device that acts as a buffer between graphics controller 212 and the unified system memory 222.
  • graphics controller 212 may rapidly fill FIFO 214 with screen image data accessed from unified system memory 222.
  • graphics controller 212 may then relinquish high-speed data bus 228 so that CPU 202 or DMA controller 206 may access the unified system memory 222.
  • graphics controller 212 relinquishes control of highspeed data bus 228 it operates on data out of FIFO 214.
  • FIFO 214 may be optimized to maximize performance.
  • graphics controller 212 may perform data transfers to fill FIFO 214.
  • FIFO 214 may be sized so that bus latency is minimized without interrupting screen refreshes.
  • FIFO 214 within graphics controller 212 enhances overall system concurrency by allowing graphics controller 212 to access data from FIFO 214 while DMA controller 206 or CPU 202 concurrently accesses data in unified system memory 222.
  • CMOS complementary metal-oxide-semiconductor
  • CPU 202 DMA controller 206.
  • PC Cores Registers 208 system arbiter 210.
  • control logic 216 including memory arbiter 218, and data steering logic 220 may be integrated into a single integrated circuit device.
  • An integrated circuit device as represented by dotted-line 240 is suitable for computer systems requiring low-power, low-cost and low-area implementations.
  • the improved bus concurrency of the present invention provided by arbitration logic 210. 218 and data steering logic 220. combined with the use of unified system memory 222. allows the functional units shown in Fig. 2 within dotted-line 240 to be integrated into a single low-cost device without sacrificing performance.
  • a low-cost integrated circuit device is obtained because only a single data interface to memory 222 is required, and thus only one memory control unit is required within control logic 216. Therefore, the overall external pin count and gate size of the integrated circuit device represented by dotted-line 240 is decreased compared to traditional computer architectures utilizing a separate graphics memory.
  • the improved bus concurrency of the present invention allows overall system performance to be maintained nearer the levels of traditional computer architectures. Therefore, an integrated circuit device 240 according to the present invention may be suitable for high performance applications utilizing various modern operating systems.
  • integrated circuit device 240 couples to 16-bit high-speed data bus 228 and 16-bit slow-speed bus 224.
  • integrated circuit device 240 may be optionally configured to combine data bus 228 and the data portion of bus 224 into a 32 bit data bus to support access to 32-bit memory and/or access to 32 bit peripheral busses, such as the VL bus or Peripheral Component Interconnect (PCI) bus.
  • VL bus Peripheral Component Interconnect
  • Fig. 5 illustrates a configuration of integrated circuit device 240 where data bus 228 and a data portion of bus 224 are combined to provide a 32-bit interface.
  • the graphics controller 212 within integrated circuit device 240 is disabled because the concurrent operations described above may no longer be performed since the full 32-bit data bus is required for all accesses to system memory 502.
  • the two data buses 224 and 228 are combined to provide 32-bit access to 32-bit memory 502.
  • the combined data buses 224 and 228 may support a 32-bit peripheral bus 508.
  • Peripheral bus 508 may support bus devices according to standard bus specification such as the VL bus or the Peripheral Component Interconnect (PCI) bus.
  • PCI Peripheral Component Interconnect
  • a slower bus 506 may be supported in this configuration.
  • the slower bus 506 may also support a standard bus specification such as the Industry Standard Architecture (ISA) bus or Personal Computer Memory Card International Association (PCMCIA) bus.
  • Transceiver 504 may be required to buffer slower speed bus 506 from data bus 224 because of loading requirements.
  • Transceiver 504 may also be required to isolate slower speed bus 506 during certain operations to prevent bus contention. It will be appreciated to those skilled in the art having the benefit of this disclosure that this invention is believed to be capable of achieving a low-cost, low-area computer system with improved bus concurrency.
  • the form of the invention shown and described is to be taken as exemplary, presently prcl ' e ⁇ ed embodiments. Various modifications and changes may be made without departing from the spirit and scope of the invention as set forth in the claims. It is intended that the following claims be interpreted to embrace all such modifications and changes.

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Computer Graphics (AREA)
  • Bus Control (AREA)
PCT/US1998/006475 1997-04-14 1998-04-07 Computer system with unified system memory and improved bus concurrency Ceased WO1998047075A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP54396198A JP4500373B2 (ja) 1997-04-14 1998-04-07 一体化システムメモリおよび改良されたバス同時実行性を有するコンピュータシステム

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/837,120 1997-04-14
US08/837,120 US5941968A (en) 1997-04-14 1997-04-14 Computer system for concurrent data transferring between graphic controller and unified system memory and between CPU and expansion bus device

Publications (1)

Publication Number Publication Date
WO1998047075A1 true WO1998047075A1 (en) 1998-10-22

Family

ID=25273572

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US1998/006475 Ceased WO1998047075A1 (en) 1997-04-14 1998-04-07 Computer system with unified system memory and improved bus concurrency

Country Status (3)

Country Link
US (1) US5941968A (https=)
JP (1) JP4500373B2 (https=)
WO (1) WO1998047075A1 (https=)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6732255B1 (en) 1999-09-15 2004-05-04 Koninklijke Philips Electronics N.V. Can microcontroller that permits concurrent access to different segments of a common memory by both the processor core and the DMA engine thereof
EP1182640A3 (en) * 2000-08-25 2007-09-26 Hitachi, Ltd. Memory access methods in a unified memory system
WO2008027328A1 (en) * 2006-08-31 2008-03-06 Ati Technologies Inc. Method and apparatus for optimizing data flow in a graphics co-processor
EP1969445A4 (en) * 2005-12-27 2009-11-04 Imsys Technologies Ab METHOD AND SYSTEM FOR A COST-EFFICIENT HIGH-RESOLUTION GRAPHICS / PICTURE DISPLAY SYSTEM

Families Citing this family (58)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20000064678A (ko) * 1996-03-21 2000-11-06 가나이 쓰도무 Dram내장데이타처리장치
US6430640B1 (en) * 1997-03-07 2002-08-06 Virtual Resources Communications, Inc. Self-arbitrating, self-granting resource access
US6658537B2 (en) * 1997-06-09 2003-12-02 3Com Corporation DMA driven processor cache
GB2332344A (en) * 1997-12-09 1999-06-16 Sony Uk Ltd Set top box integrated circuit
US6199149B1 (en) * 1998-01-30 2001-03-06 Intel Corporation Overlay counter for accelerated graphics port
US6301629B1 (en) * 1998-03-03 2001-10-09 Alliance Semiconductor Corporation High speed/low speed interface with prediction cache
US6247088B1 (en) * 1998-05-08 2001-06-12 Lexmark International, Inc. Bridgeless embedded PCI computer system using syncronous dynamic ram architecture
US6532019B1 (en) * 1998-06-17 2003-03-11 Advanced Micro Devices, Inc. Input/output integrated circuit hub incorporating a RAMDAC
US6366989B1 (en) 1998-09-17 2002-04-02 Sun Microsystems, Inc. Programmable memory controller
DE19846913A1 (de) * 1998-10-12 2000-04-20 Oce Printing Systems Gmbh Elektronische Steuereinrichtung mit einem parallelen Datenbus und Verfahren zum Betreiben der Steuereinrichtung
US6477623B2 (en) * 1998-10-23 2002-11-05 Micron Technology, Inc. Method for providing graphics controller embedded in a core logic unit
US6321335B1 (en) 1998-10-30 2001-11-20 Acqis Technology, Inc. Password protected modular computer method and device
US6636222B1 (en) 1999-11-09 2003-10-21 Broadcom Corporation Video and graphics system with an MPEG video decoder for concurrent multi-row decoding
US6853385B1 (en) 1999-11-09 2005-02-08 Broadcom Corporation Video, audio and graphics decode, composite and display system
US6768774B1 (en) 1998-11-09 2004-07-27 Broadcom Corporation Video and graphics system with video scaling
US6661422B1 (en) 1998-11-09 2003-12-09 Broadcom Corporation Video and graphics system with MPEG specific data transfer commands
US7446774B1 (en) 1998-11-09 2008-11-04 Broadcom Corporation Video and graphics system with an integrated system bridge controller
US6798420B1 (en) 1998-11-09 2004-09-28 Broadcom Corporation Video and graphics system with a single-port RAM
US6501480B1 (en) 1998-11-09 2002-12-31 Broadcom Corporation Graphics accelerator
US6643777B1 (en) 1999-05-14 2003-11-04 Acquis Technology, Inc. Data security method and device for computer modules
US6718415B1 (en) * 1999-05-14 2004-04-06 Acqis Technology, Inc. Computer system and method including console housing multiple computer modules having independent processing units, mass storage devices, and graphics controllers
US7050061B1 (en) * 1999-06-09 2006-05-23 3Dlabs Inc., Ltd. Autonomous address translation in graphic subsystem
US6683615B1 (en) * 1999-06-09 2004-01-27 3Dlabs Inc., Ltd. Doubly-virtualized texture memory
TW436694B (en) * 1999-08-24 2001-05-28 Via Tech Inc System control chip and computer system having a multiplexed graphic bus architecture
US6553446B1 (en) * 1999-09-29 2003-04-22 Silicon Graphics Inc. Modular input/output controller capable of routing packets over busses operating at different speeds
US8913667B2 (en) 1999-11-09 2014-12-16 Broadcom Corporation Video decoding system having a programmable variable-length decoder
US9668011B2 (en) 2001-02-05 2017-05-30 Avago Technologies General Ip (Singapore) Pte. Ltd. Single chip set-top box system
JP2003515831A (ja) * 1999-11-24 2003-05-07 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ 待機中に他のデータ処理装置の記憶装置にアクセス可能なデータ処理装置
JP2002049363A (ja) * 2000-05-24 2002-02-15 Sharp Corp 画像表示システム
US6734862B1 (en) * 2000-06-14 2004-05-11 Intel Corporation Memory controller hub
US7080183B1 (en) * 2000-08-16 2006-07-18 Koninklijke Philips Electronics N.V. Reprogrammable apparatus supporting the processing of a digital signal stream and method
US7116331B1 (en) * 2000-08-23 2006-10-03 Intel Corporation Memory controller hub interface
US6859208B1 (en) 2000-09-29 2005-02-22 Intel Corporation Shared translation address caching
KR100488117B1 (ko) * 2000-12-29 2005-05-09 엘지전자 주식회사 이중 버스 구조를 이용한 데이터 처리장치
TW545047B (en) * 2001-01-25 2003-08-01 Sony Corp Data transfer device
US6753873B2 (en) * 2001-01-31 2004-06-22 General Electric Company Shared memory control between detector framing node and processor
US6959354B2 (en) * 2001-03-08 2005-10-25 Sony Corporation Effective bus utilization using multiple bus interface circuits and arbitration logic circuit
US7174415B2 (en) * 2001-06-11 2007-02-06 Zoran Corporation Specialized memory device
KR100392637B1 (ko) * 2001-10-19 2003-07-25 삼성전자주식회사 다중 디스플레이 시스템 및 그 방법
US7376811B2 (en) * 2001-11-06 2008-05-20 Netxen, Inc. Method and apparatus for performing computations and operations on data using data steering
US8763046B2 (en) * 2001-12-03 2014-06-24 Thomson Licensing DBS feature extension architecture
US6891543B2 (en) * 2002-05-08 2005-05-10 Intel Corporation Method and system for optimally sharing memory between a host processor and graphics processor
EP1434137A1 (en) * 2002-12-23 2004-06-30 STMicroelectronics S.r.l. Bus architecture with primary bus and secondary bus for microprocessor systems
US6874042B2 (en) * 2003-03-11 2005-03-29 Dell Products L.P. System and method for using a switch to route peripheral and graphics data on an interconnect
JP2004326180A (ja) * 2003-04-21 2004-11-18 Matsushita Electric Ind Co Ltd 集積回路、それを用いた画像入出力装置及び画像入出力方法
US7667710B2 (en) * 2003-04-25 2010-02-23 Broadcom Corporation Graphics display system with line buffer control scheme
US8063916B2 (en) 2003-10-22 2011-11-22 Broadcom Corporation Graphics layer reduction for video composition
JP4624715B2 (ja) * 2004-05-13 2011-02-02 ルネサスエレクトロニクス株式会社 システムlsi
JP4046716B2 (ja) * 2004-10-06 2008-02-13 株式会社ソニー・コンピュータエンタテインメント 情報処理装置およびデータ伝送方法
US7519754B2 (en) * 2005-12-28 2009-04-14 Silicon Storage Technology, Inc. Hard disk drive cache memory and playback device
US8314806B2 (en) * 2006-04-13 2012-11-20 Intel Corporation Low power display mode
US8131921B2 (en) * 2008-09-17 2012-03-06 Intel Corporation Command suspension in response, at least in part, to detected acceleration and/or orientation change
US8356200B2 (en) * 2008-09-26 2013-01-15 Apple Inc. Negotiation between multiple processing units for switch mitigation
US8151061B2 (en) * 2009-03-10 2012-04-03 Intel Corporation Ensuring coherence between graphics and display domains
CN102567249B (zh) * 2010-12-20 2015-08-26 联想(北京)有限公司 一种电子设备及其数据传输方法
JP5455945B2 (ja) * 2011-02-14 2014-03-26 株式会社東芝 調停装置、記憶装置、情報処理装置およびプログラム
US20130086315A1 (en) * 2011-10-04 2013-04-04 Moon J. Kim Direct memory access without main memory in a semiconductor storage device-based system
US9753873B1 (en) * 2014-12-09 2017-09-05 Parallel Machines Ltd. Systems and methods for key-value transactions

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1996013775A1 (en) * 1994-10-26 1996-05-09 Flamepoint, Inc. Simultaneous processing by multiple components
WO1997026604A1 (en) * 1996-01-16 1997-07-24 Monolithic System Technology, Inc. Method and structure for improving display data bandwidth in a unified memory architecture system

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5454107A (en) * 1993-11-30 1995-09-26 Vlsi Technologies Cache memory support in an integrated memory system
US5613162A (en) * 1995-01-04 1997-03-18 Ast Research, Inc. Method and apparatus for performing efficient direct memory access data transfers
US5768628A (en) * 1995-04-14 1998-06-16 Nvidia Corporation Method for providing high quality audio by storing wave tables in system memory and having a DMA controller on the sound card for transferring the wave tables
US5678009A (en) * 1996-02-12 1997-10-14 Intel Corporation Method and apparatus providing fast access to a shared resource on a computer bus
US5748203A (en) * 1996-03-04 1998-05-05 United Microelectronics Corporation Computer system architecture that incorporates display memory into system memory
US5815167A (en) * 1996-06-27 1998-09-29 Intel Corporation Method and apparatus for providing concurrent access by a plurality of agents to a shared memory
US5812789A (en) * 1996-08-26 1998-09-22 Stmicroelectronics, Inc. Video and/or audio decompression and/or compression device that shares a memory interface
US5761454A (en) * 1996-08-27 1998-06-02 Vlsi Technology, Inc. Deadlock resolution methods and apparatus for interfacing concurrent and asynchronous buses
US5859989A (en) * 1997-05-13 1999-01-12 Compaq Computer Corp. Apparatus method and system for 64 bit peripheral component interconnect bus using accelerated graphics port logic circuits

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1996013775A1 (en) * 1994-10-26 1996-05-09 Flamepoint, Inc. Simultaneous processing by multiple components
WO1997026604A1 (en) * 1996-01-16 1997-07-24 Monolithic System Technology, Inc. Method and structure for improving display data bandwidth in a unified memory architecture system

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
"Cyrix Announces the MediaGX Processor", CYRIX ONLINE, 20 February 1997 (1997-02-20), http://www.cyrix.com/corpor/press/1997/gxlaunch.htm, XP002073097 *
KOCSIS: "Frame-buffer wars: new directions in PC graphics", EDN ELECTRICAL DESIGN NEWS., 23 May 1996 (1996-05-23), NEWTON, MASSACHUSETTS US, pages 121 - 128, XP000597978 *

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6732255B1 (en) 1999-09-15 2004-05-04 Koninklijke Philips Electronics N.V. Can microcontroller that permits concurrent access to different segments of a common memory by both the processor core and the DMA engine thereof
EP1182640A3 (en) * 2000-08-25 2007-09-26 Hitachi, Ltd. Memory access methods in a unified memory system
EP1969445A4 (en) * 2005-12-27 2009-11-04 Imsys Technologies Ab METHOD AND SYSTEM FOR A COST-EFFICIENT HIGH-RESOLUTION GRAPHICS / PICTURE DISPLAY SYSTEM
US8471861B2 (en) 2005-12-27 2013-06-25 Imsys Ab Method and system for cost-efficient, high-resolution graphics/image display system
WO2008027328A1 (en) * 2006-08-31 2008-03-06 Ati Technologies Inc. Method and apparatus for optimizing data flow in a graphics co-processor
EP2426660A1 (en) * 2006-08-31 2012-03-07 ATI Technologies ULC Method and apparatus for optimizing data flow in a graphics co-processor

Also Published As

Publication number Publication date
US5941968A (en) 1999-08-24
JP2001526808A (ja) 2001-12-18
JP4500373B2 (ja) 2010-07-14

Similar Documents

Publication Publication Date Title
US5941968A (en) Computer system for concurrent data transferring between graphic controller and unified system memory and between CPU and expansion bus device
US6230219B1 (en) High performance multichannel DMA controller for a PCI host bridge with a built-in cache
US5651137A (en) Scalable cache attributes for an input/output bus
US5826106A (en) High performance multifunction direct memory access (DMA) controller
US6571308B1 (en) Bridging a host bus to an external bus using a host-bus-to-processor protocol translator
US6493803B1 (en) Direct memory access controller with channel width configurability support
US5414820A (en) Crossing transfers for maximizing the effective bandwidth in a dual-bus architecture
JP3096431B2 (ja) コンピュータシステム、グラフィックスプロセッサ、インストラクションプリフェッチユニットおよびオペコードインストラクションをプリフェッチする方法
US20040022107A1 (en) Unidirectional bus architecture for SoC applications
US5577230A (en) Apparatus and method for computer processing using an enhanced Harvard architecture utilizing dual memory buses and the arbitration for data/instruction fetch
US5949981A (en) Deadlock avoidance in a bridge between a split transaction bus and a single envelope bus
KR100501052B1 (ko) 메모리 제어기 허브
US6272580B1 (en) Apparatus and method for dynamically elevating a lower level bus master to an upper level bus master within a multi-level arbitration system
US6003106A (en) DMA cache control logic
EP1187030B1 (en) Multiple transaction bus system
US6658508B1 (en) Expansion module with external bus for personal digital assistant and design method therefor
US5963721A (en) Microprocessor system with capability for asynchronous bus transactions
US5933612A (en) Deadlock avoidance in a split-bus computer system
US5687131A (en) Multi-mode cache structure
US5717875A (en) Computing device having semi-dedicated high speed bus
US6477609B1 (en) Bridge state-machine progression for data transfers requested by a host bus and responded to by an external bus
EP1187032B1 (en) Time-out counter for multiple transaction bus system bus bridge
JPH08328684A (ja) コンピュータシステム
US6108724A (en) Fast IDE drive to drive transfers
US6209052B1 (en) System and method for suppressing processor cycles to memory until after a peripheral device write cycle is acknowledged by the memory arbiter

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): JP

DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
ENP Entry into the national phase

Ref country code: JP

Ref document number: 1998 543961

Kind code of ref document: A

Format of ref document f/p: F