`Lambrecht
`
`111111111111111111111111111111111111111111111111111111111111111111
`US005682484A
`[11] Patent Number:
`[45] Date of Patent:
`
`5,682,484
`Oct. 28, 1997
`
`[54]
`
`SYSTEM AND METHOD FOR
`TRANSFERRING DATA STREAMS
`SIMULTANEOUSLY ON MULTIPLE BUSES
`IN A COMPUTER SYSTEM
`
`[75]
`
`Inventor: Andy Lambrecht, Austin, Tex.
`
`[73] Assignee: Advanced Micro Devices, Inc.,
`Sunnyvale, Calif.
`
`[21] Appl. No.: 559,664
`Nov. 20, 1995
`
`[22] Filed:
`
`Int. Cl.6
`...................................................... G06F 13/00
`[51]
`[52] U.S. CI ........................... 395/308; 395/306; 395/841;
`395/281; 395/154
`[58] Field of Search ..................................... 395/306, 308,
`395/847, 841, 855, 858, 309, 281, 822,
`840, 162, 163, 200.09, 154, 200.04, 200.12;
`370/85.13, 85.9, 85.11; 364/514; 463/43
`
`[56]
`
`References Cited
`
`U.S. PATENT DOCUMENTS
`
`4,245,344
`4,991,169
`5,072,442
`5,208,745
`5,245,322
`5,274,763
`5,274,784
`5,325,423
`5,345,566
`5,404,463
`5,404,465
`5,450,551
`5,487,167
`
`1/1981 Richter ................................... 371/68.1
`2/1991 Davis et al ..
`12/1991 Todd ....................................... 370/265
`511993 Quentin et al ..
`9/1993 Dinwiddie, Jr. et al ..
`12/1993 Banks .
`12/1993 Arimilli et al. ......................... 395!306
`6/1994 Lewis .
`9/1994 Tanji et al. .............................. 395/308
`4/1995 McGarvey .............................. 395/308
`4/1995 Novakovich et al ................... 395/308
`9/1995 Amini et al ..
`1/1996 Dinallo et al ..
`
`5,502,824
`5,519,839
`5,526,017
`5,530,902
`5,533,205
`5,557,757
`5,564,001
`
`3/1996 Hell ......................................... 3951293
`5/1996 Culley et al. .
`6/1996 Wilkie ..................................... 3451115
`6/1996 McRoberts et al ..
`7/1996 Blackledge, Jr. et al ..
`9/1.996 Gephardt et al ..
`10/1996 Lewis .
`
`OTHER PUBUCATIONS
`
`PCI Local Bus -PC/ Multimedia Design Guide -Revision
`1.0 -Mar. 29, 1994, 43 pages.
`
`Primary Examiner-Jack B. Harvey
`Assistant Examiner-Arlo Etienne
`Attorney, Agent, or Finn-Conley, Rose & Tayon; Jeffrey C.
`Hood
`
`[57]
`
`ABSTRACT
`
`A computer system optimized for real-time applications
`which provides increased performance over current com(cid:173)
`puter architectures. The system includes a standard local
`system bus, such as the PCI bus, and also includes a
`dedicated real-time bus or multimedia bus. Thus multimedia
`devices such as video cards, audio cards, etc., as well as
`communications devices, transfer real-time data through a
`separate bus without requiring arbitration for the PCI bus.
`The computer system of the present invention thus provides
`much greater performance for real-time applications than
`prior systems. In various embodiments, multimedia devices
`transmit addressing and control information for a multime(cid:173)
`dia bus transfer either over the PCI bus or using a separate
`serial control channel. The multimedia bus may also com(cid:173)
`prise separate multimedia channels for different data types.
`Methods are also disclosed for transferring periodic multi(cid:173)
`media data over the multimedia bus.
`
`8 Claims, 25 Drawing Sheets
`
`102
`
`CPU
`
`06
`
`PCI
`~~=i04=j BRIDGE
`CHIPSET
`1-
`
`08
`
`110
`
`MAIN
`I.! EMORY
`
`142
`
`MUL11UEDJA
`DEVICE
`
`144
`
`146
`
`I.IUL11t.IEDIA
`DEVICE
`
`I.IULlli.IEDIA
`DEVICE
`
`50
`
`AT
`BRIDGE
`
`ZTE Exhibit 1032
`
`Page 1 of 42
`
`
`
`102
`
`CPU
`
`106
`
`~~--
`
`/104
`
`PCI
`BRIDGE
`CHIPSET
`ARB
`LOGIC ~ 107
`
`1108
`
`110
`
`MAIN
`MEMORY
`
`/142
`
`}44
`
`}46
`
`MULTIMEDIA
`DEVICE
`I
`1
`17()
`
`{130
`REAL-TIME BUS (MULTIMEDIA BUS)
`
`MULTIMEDIA
`DEVICE
`I
`_/
`170"
`
`PCI EXPANSION BUS
`
`/120
`
`(
`I
`
`(
`
`I
`
`MULTIMEDIA
`DEVICE
`I
`I
`170"
`
`L
`
`\_ ,
`
`~
`
`~ ,
`
`II
`AT
`BRIDGE
`
`lr'
`
`ll
`\ AT BUS
`
`~
`
`I
`
`FIG. 1
`
`~ •
`00.
`•
`~ = ~
`~ a
`
`0
`~
`'"~
`""""
`\C
`~
`
`~
`~
`~
`"""" s,
`
`N
`Ul
`
`f..h
`~ 0\
`QO
`N
`~
`QO
`~
`
`~
`
`Page 2 of 42
`
`
`
`U.S. Patent
`
`Oct. 28, 1997
`
`Sheet 2 of 25
`
`5,682,484
`
`142 l
`
`210
`
`f
`
`DSP
`
`170
`
`PCI EXPANSION
`172.,. BUS INTERFACE
`
`MULTIMEDIA ~ 17 4
`BUS
`INTERFACE
`
`FIG. 2
`
`Page 3 of 42
`
`
`
`U.S. Patent
`
`Oct. 28, 1997
`
`Sheet 3 of 25
`
`5,682,484
`
`MULTIMEDIA
`BUS lRANSFER
`
`302
`
`TRANSFER CONTROL
`INFORMATION ON
`PCI EXPANSION BUS
`
`304
`
`TRANSFER DATA
`ON MULTIUED~
`BUS
`
`END
`
`FIG. 3A
`
`Page 4 of 42
`
`
`
`U.S. Patent
`
`Oct. 28, 1997
`
`Sheet 4 of 25
`
`5,682,484
`
`PCI/MULTlMEDIA
`BUS TRANSFER
`
`312 ,-......
`
`TRANSFER CONTROL
`INFORMATION ON
`PCI EXPANSION BUS
`
`314 ,.,.......
`
`TRANSFER HIGH
`BANDWIDTH
`TRANSFER FlAG
`
`TRANSFER DATA ON
`316 ,-...... MULTlUED~ BUS AND
`PCI EXPANSION BUS
`DATA UNES
`
`FIG. 38
`
`Page 5 of 42
`
`
`
`U.S. Patent
`
`Oct. 28, 1997
`
`Sheet 5 of 25
`
`5,682,484
`
`MULTIMEDIA
`BUS TRANSFER
`
`322
`
`TRANSFER CONTROL
`INFORMATION ON
`PCI EXPANSION BUS
`
`324
`
`TRANSFER
`PERIODIC DATA
`REQUEST
`
`SET PERIODIC
`TRANSFER FLAG
`TO NO
`
`332
`
`338
`
`SET PERIODIC
`TRANSFER FLAG
`TO YES
`
`PERFORM SINGLE
`TRANSFER
`
`334
`
`PERFORM PERIODIC
`TRANSFERS
`
`FIG. 3C
`
`Page 6 of 42
`
`
`
`.102
`
`CPU
`
`106
`
`PCI
`BRIDGE
`CHIPSET
`
`110
`
`MAIN
`MEMORY
`
`~EOO
`
`MULTIMEDIA BUS
`CONNECTOR SLOT 132
`~
`
`147
`
`MOTHER
`MOTHER
`BOARD
`BOARD
`MM DEVICE MM DEVICE
`
`AT
`BRIDGE
`I
`PCI EXPANSION BUS
`-------------~NNE~R~~ 1~----
`FIG.
`
`4
`
`~ •
`7Jl •
`~
`
`~ a
`
`0 p.
`J~
`
`~
`
`~
`""-l
`
`~
`~
`~
`0\
`s,
`N
`fJ1
`
`Ol
`
`"' =" 00
`N
`"' .a;.
`00
`.a;.
`
`Page 7 of 42
`
`
`
`U.S. Patent
`
`Oct. 28, 1997
`
`Sheet 7 of 25
`
`5,682,484
`
`L{)
`
`•
`G
`lL
`
`a..
`{/) c
`
`et: zg
`Oo
`Ull.a.l zz
`~z (:)8
`
`- -
`
`---
`
`Page 8 of 42
`
`
`
`CPU
`
`~---·.
`
`PCI
`BRIDGE
`CHIPSET
`ARB
`LOGIC ~ 107A
`
`MAIN
`MEMORY
`
`!142
`
`[144
`
`(146
`
`MULTIMEDIA
`DEVICE
`
`MULTIMEDIA
`DEVICE
`
`MULTIMEDIA
`DEVICE
`
`/
`
`~
`'·
`
`;
`
`,
`
`II
`AT
`BRIDGE
`
`II
`~ AT BUS
`
`~
`
`REAL-TIME BUS (MULTIMEDIA BUS)
`
`PCI EXPANSION BUS
`
`1120
`
`1130A;
`~ ,
`
`~
`
`FIG. 6
`
`~
`00 •
`~ =
`t""t'-a
`
`0 p.
`~ ....
`~
`
`~
`
`ga
`m.
`00
`s,
`
`N
`01
`
`Ol
`,_.
`0\
`QIO
`N
`,_.
`~
`QIO
`~
`
`Page 9 of 42
`
`
`
`102
`
`CPU
`
`}04
`
`106
`[--
`PCI
`BRIDGE
`CHIPSET
`
`ARB
`LOGIC
`
`/108
`
`.... 107
`
`110
`
`MAIN
`MEMORY
`
`i42A
`
`144A
`1
`
`146A
`1
`
`MULTIMEDIA
`DEVICE
`I
`I
`I
`512"
`
`MULTIMEDIA
`DEVICE
`I
`I
`I
`512"
`
`MULTIMEDIA
`DEVICE
`I
`I
`512'
`
`REAL-TIME BUS (MUL11MEDIA BUS)
`I
`
`Uso4
`PCI EXPANSION BUS
`
`1120
`
`\o2
`
`/
`~
`,
`
`~
`
`,
`~
`
`II
`AT
`BRIDGE
`
`II
`\ AT BUS
`
`~
`
`/130
`1
`,
`
`~
`
`(
`
`FIG. 7
`
`Cj
`•
`00.
`•
`
`~ a
`
`0
`;l
`~
`
`1-"
`~
`~
`
`~ ('!)
`$2.
`~ s,
`
`N
`f.A
`
`Ol
`-...
`Q'\
`~
`N
`"' ~
`~
`~
`
`Page 10 of 42
`
`
`
`U.S. Patent
`
`Oct. 28, 1997
`
`Sheet 10 of 25
`
`5,682,484
`
`r210
`
`DSP
`ENGINE
`
`/ 512
`
`PCI EXPANSION
`... ~
`22
`BUS INTERFACE
`
`,.5H
`
`MULTIMEDIA
`BUS
`INTERFACE
`
`~
`
`CONTROL
`CHANNEL.
`INTERFACE
`
`FIG. 8
`
`Page 11 of 42
`
`
`
`U.S. Patent
`
`Oct. 28, 1997
`
`Sheet 11 of 25
`
`5,682,484
`
`MULTIMEDIA
`BUS TRANSFER
`
`542
`
`TRANSFER CONTROL
`INFORMA~ON ON
`CONTROL CHANNEL
`
`544
`
`TRANSFER DATA
`ON MULTIMEDIA
`BUS
`
`END
`
`FIG. 9A
`
`Page 12 of 42
`
`
`
`U.S. Patent
`
`Oct. 28, 1997
`
`Sheet 12 of 25
`
`5,682,484
`
`MULTIMEDIA
`BUS TRANSFER
`
`552
`
`TRANSFER CONTROL
`INFORMAllON ON
`. CONTROL CHANNEL;
`GAIN ACCESS
`
`554
`
`TRANSFER PERIODIC
`DATA REQUEST TO
`RECEMNG DEVICE
`
`N
`
`y
`
`SET PERIODIC
`TRANSFER FLAG
`TO NO
`
`562
`
`558
`
`SET PERIODIC
`TRANSFER FlAG
`TO YES.
`
`PERFORM SINGLE
`TRANSFER
`
`564
`
`560
`
`PERFORM PERIODIC
`TRANSFERS
`
`FIG. 98
`
`Page 13 of 42
`
`
`
`102
`
`CPU
`
`106
`r--
`PCI BRIDGE
`CHIPSET
`
`1104
`
`}08
`
`ARB
`LOGIC~ ~ 107
`
`110
`
`MAIN
`MEMORY
`
`142B
`1
`MULTIMEDIA
`DEVICE
`I
`I
`I
`6121
`
`144B
`1
`MULTIMEDIA
`DEVICE
`I
`I
`612"
`
`146B
`1
`MULTIMEDIA
`DEVICE
`I
`I
`612
`
`_[614
`ARBITRA-
`TION
`LOGIC
`I
`[60 2
`L
`V / / / / / / / / / / / / / / / / / /A
`,
`,,._
`I
`I I
`I I
`11 I
`f
`I I I
`
`V_
`,
`y
`
`I
`
`L
`
`L
`
`I
`
`I
`
`L
`
`L
`
`L
`
`I I I I
`L
`
`L
`
`L
`
`L
`
`L
`
`PCI EXPANSION BUS
`
`~
`
`,
`
`I
`AT
`BRIDGE
`
`I
`\ AT BUS
`
`~
`
`I
`
`I l l \
`r
`L
`\o6
`
`604
`
`,
`(
`,
`
`FIG. 1 0
`
`~ • 00.
`
`•
`
`~ = ~ a
`
`0 p.
`--~ ,_.
`
`I.e
`I.e
`....:t
`
`~ a ,_.
`
`w
`~
`~
`f.Jl
`
`Ol
`._..
`=" QC
`N
`"' .a;.
`QC
`.a;.
`
`Page 14 of 42
`
`
`
`U.S. Patent
`
`Oct. 28, 1997
`
`Sheet 14 of 25
`
`5,682,484
`
`MULTIMEDIA BUS
`INTERFACE
`
`f 17-'IA
`
`/644
`
`TIME
`SLOTIING
`LOGIC
`
`PROGRAMMABLE
`TIME SLOT
`REGISTERS
`
`BUS
`TRANSCEIVERS
`BUFFERS
`
`COWS ION
`DETECTION
`LOGIC
`
`TIMERS/
`COUNTERS
`
`Lsso
`
`MM BUS
`MONITORING
`LOGIC
`
`FIG. 11
`
`Page 15 of 42
`
`
`
`TIME
`
`I v I ~ I v I v I :rv-li c I :rv I v I v I : I~J~;J
`
`A) EQUAL SIZED TIME SLOTS WITH NUMBER OF TIME SLOTS
`ALLOCATED TO STREAMS IN PROPORTION TO REQUIRED BANDWIDTH.
`V-VIDEO, A=AUDIO, C=COMMUNICATION
`
`FIG. 12A
`
`I
`
`v
`
`I Al~I
`
`v
`
`I A I c I
`
`B) NON-EQUAL SIZED TIME SLOTS WITH SIZE OF TIME SLOT
`ALLOCATED TO STREAMS IN PROPORTION TO REQUIRED BANDWIDTH.
`V=VIDEO, A=AUDIO, C=COMMUNICATION
`FIG. 128
`
`~ •
`7JJ. •
`~ = ~
`~ a
`
`0
`~
`N
`$'J
`~
`\0
`~
`
`ga a
`
`~
`01
`~
`N
`01
`
`tit
`
`"' =" 00
`N
`"' .a;..
`00
`.a;..
`
`FIG. 12
`
`Page 16 of 42
`
`
`
`102
`
`CPU
`
`1104
`
`106
`~---
`PCI
`BRIDGE
`CHIPSET
`
`1108
`
`ARB
`LOGIC "'- 107
`
`110
`
`MAIN
`MEMORY
`
`(144
`
`{146
`
`MULTIMEDIA
`DEVICE
`
`MULTIMEDIA
`DEVICE
`
`?02
`1/0
`PROCESSOR
`I
`
`}30
`REAL-TIME BUS (MULTIMEDIA BUS)
`
`PCI EXPANSION BUS
`
`}20
`
`(142
`
`MULTIMEDIA
`DEVICE
`
`./
`
`~ ,
`
`~
`
`~ ,
`
`II
`AT
`BRIDGE
`
`II
`\ AT BUS
`
`~ •
`00
`• ;p
`~ a
`
`0 p.
`J~
`.....
`~
`---l
`
`~ a .....
`~ s,
`
`N
`Ul
`
`Ul
`
`"' =" QfJ
`N
`"' .a;.
`QfJ
`.a;.
`
`(
`
`.I
`
`(
`
`IG. 13
`
`Page 17 of 42
`
`
`
`U.S. Patent
`
`Oct. 28, 1997
`
`Sheet 17 of 25
`
`5,682,484
`
`712
`
`f
`
`DATA BUS
`REGISTERS
`
`DATA
`RATE
`REGS
`
`DATA
`PERIODIC
`REGS
`
`DAlA
`SOURCE
`DESTIN
`REGS
`
`DATA
`TRANSFER
`CONTROL
`LOGIC
`
`BYTE
`SUCING
`LOGIC
`
`FIG. 14
`
`Page 18 of 42
`
`
`
`102
`
`CPU
`
`1104
`
`106B
`r---
`CHIPSET [J'" 164 108
`l
`PCI
`BRIDGE
`
`f.-"107B
`
`110
`
`MAIN
`MEMORY
`
`/
`
`\
`
`/
`
`~
`,
`
`1?1
`
`ARB
`LOGIC
`I
`
`MULTIMEDIA
`DEVICE
`
`2 I.../'"
`
`1120
`
`{
`,
`
`PCI EXPANSION BUS
`
`I I
`MULTIMEDIA ~160
`MEMORY
`
`162
`
`I I
`
`1130
`REAL-TIME BUS (MULTIMEDIA BUS
`
`I c ,
`
`MULTIMEDIA
`DEVICE
`
`MULTIMEDIA
`DEVICE
`
`142B
`
`144B
`
`146B
`
`FIG. 15
`
`~ •
`00
`•
`~ = ,....
`("t) a
`
`0 p.
`--~
`~ ......
`
`........
`
`ga
`~
`~
`........
`00
`~
`N
`!jJ
`
`Ol
`"' Q\
`~
`N
`"' .&:;.
`~
`.&:;.
`
`Page 19 of 42
`
`
`
`,...-----------------------------
`1102
`1110
`1106
`
`CHIPSET
`
`BRIDGE
`LOGIC
`
`MAIN
`MEMORY
`
`CPU
`
`..--
`
`r--
`
`(
`130
`---------------------------------1
`FIG.
`
`1.........1
`
`L....-
`
`/
`
`'\:
`
`MOTHER
`BOARD
`MM
`I
`DEVICE')_
`I I
`147
`
`L....-
`
`/
`
`\_ ,
`
`~CI ~~~IQt:J au~
`I
`I
`MULTIMEDIA
`MEMORY
`j
`I
`II
`
`I
`
`1.........1
`
`160
`
`r--'"""1
`
`I I
`
`II
`II
`
`120
`
`..-- ;
`
`122A
`PCI
`EXPANSION
`BUS
`CONNECTOR
`SLOT
`
`L...-.1
`
`L....-
`
`•32A
`MUL TIMED lA BUS
`~ CONNECTOR SLOT
`
`Cj
`• 7J1
`•
`r200A ;f
`a
`
`0
`±l
`
`N
`~~
`io-oO
`\C
`~
`
`00 =-a
`
`io-oO
`\C
`~
`N
`th
`
`~
`
`N
`
`"' =" oc
`16 ~
`
`.
`
`~
`
`Page 20 of 42
`
`
`
`U.S. Patent
`
`Oct. 28, 1997
`
`Sheet 20 of 25
`
`5,682,484
`
`MULllMEDIA MEMORY
`ADDRESS SPACE
`
`GENERAL
`ADDRESS
`SPACE
`
`GENERAL
`ADDRESS
`SPACE
`
`FIG. 1 7
`
`Page 21 of 42
`
`
`
`U.S. Patent
`
`Oct. 28, 1997
`
`Sheet 21 of 25
`
`5,682,484
`
`502 """V
`
`CPU TRANSFERS
`MULTIMEDIA DATA
`TO MAIN MEMORY
`
`I
`
`504 """V
`
`CPU TRANSFERS
`DATA STRUCTURE TO
`DMA ENGINE
`
`I
`
`506 """V
`
`DMA ENGINE PRIORmZES
`DATA STRUCTURE
`IN COMMAND QUEUE
`
`508 """V
`
`I
`
`DMA ENGINE
`ARBITRATES FOR
`MAIN MEMORY
`
`I
`DMA ENGINE
`TRANSFERS MUL~MEDIA
`510 """V DATA FROM MAIN MEMORY
`TO MULTIMEDIA MEMORY
`I
`MULTIMEDIA DEVICE
`ACCESSES MULTIMEDIA
`DATA FROM
`MULTIMEDIA MEMORY
`I
`
`512 """V
`
`514 ..........
`
`MULTIMEDIA ENGINE
`PERFORMS OPERATIONS
`USING MUL~MEDIA DATA
`
`I
`
`FIG. 18
`
`516 - GENERATES MULTIMEDIA
`
`MULTIMEDIA ENGINE
`
`OUTPUTS
`
`Page 22 of 42
`
`
`
`102
`
`CPU
`
`(106
`
`1932
`PCI
`BRIDGE
`
`1934
`MEMORY
`CONTROUER
`
`/_920
`
`1
`918
`
`MPEG
`DECODER
`I
`I
`l
`940
`
`'\
`
`\
`910
`
`I
`
`TELEPHONY
`I
`
`\
`908
`
`'
`l
`940
`
`91271
`
`CD-ROM
`
`\
`902
`
`I
`
`I
`'
`l
`940
`PCI EXPANSION BUS
`
`110
`
`MAIN
`MEMORY
`
`/916
`
`1
`914
`
`d •
`rJ'1
`•
`~
`~
`
`0 p.
`~
`"""' ~
`
`~
`
`~
`t:r
`~
`
`~
`~
`~
`~
`Ul
`
`AUDIO
`\.
`I
`I
`906
`'
`l
`940
`
`~
`
`(
`
`VIDEO/
`GRAPHICS
`I
`I
`l
`940
`
`'\
`
`\
`904
`
`120
`
`Ol
`~
`QO
`N
`19 ~
`
`~
`
`FIG.
`
`Page 23 of 42
`
`
`
`U.S. Patent
`
`Oct. 28, 1997
`
`Sheet 23 of 25
`
`5,682,484
`
`902
`
`I
`
`;-210
`
`DSP
`
`942
`r
`1
`
`PCI EXPANSION
`BUS INTERFACE
`
`940
`j_
`
`944
`L
`)
`UEMORY
`DATA
`CHANNEL
`INTERFACE
`
`FIG. 20
`
`Page 24 of 42
`
`
`
`/102
`
`CPU
`
`1104
`
`}06
`PCI BRIDGE
`CHIPSET
`I ARB IJ
`U:QQ!Qfr 101
`
`1108
`
`/110
`
`MAIN
`MEMORY
`
`142D
`1
`
`j44D
`
`ll6D
`
`MULTIMEDIA
`DEVICE
`J
`L
`J
`962'
`
`MULTIMEDIA
`DEVICE
`I
`
`_j_
`962.1
`
`MULTIMEDIA
`DEVICE
`I
`I
`j_
`962'
`
`/
`
`~
`
`' ~,150
`
`AT
`BRIDGE
`I 152
`II
`~
`I
`~ AT BUS
`~
`
`I
`
`PCI EXPANSION BUS
`
`1120
`
`1
`
`(
`7
`
`FIG. 21
`
`~ • 00. •
`~ =
`....... a
`
`0
`~
`N
`~r:;,)
`.....
`\C
`~
`
`g:
`!'D a
`~
`~
`N
`tl1
`
`01
`
`"' "' QO
`
`N
`"' ~
`QO
`~
`
`Page 25 of 42
`
`
`
`U.S. Patent
`
`Oct. 28, 1997
`
`Sheet 25 of 25
`
`5,682,484
`
`1420 i
`
`,210
`
`DSP
`
`962
`I
`
`,.966
`)
`
`t64
`
`PCI EXPANSION
`PCI EXPANSION BUS MULTIMEDIA
`BUS INTERFACE MODE INTERFACE
`LOGIC
`CIRCUITRY
`
`FIG. 22
`
`Page 26 of 42
`
`
`
`5,682,484
`
`1
`SYSTEM AND METHOD FOR
`TRANSFERRING DATA STREAMS
`SIMULTANEOUSLY ON MULTIPLE BUSES
`IN A COMPUTER SYSTEM
`
`FIELD OF THE INVENTION
`The present invention relates to a computer system which
`includes a system expansion bus such as the Peripheral
`Component Interconnect (PCI) bus and also includes a
`separate real-time or multimedia bus which transfers peri(cid:173)
`odic and/or multimedia stream data for increased system
`performance for multimedia and real-time applications.
`
`2
`hardware devices are generally required to share bus usage
`with non-real time devices.
`Also, multimedia hardware devices generally do not make
`efficient usage of system resources. As an example, multi-
`5 media hardware cards typically include their own memory in
`addition to system memory. For example, video accelerator
`cards are typically configured with one to four Megabytes of
`video RAM. Audio cards, video capture cards, and other
`multimedia cards are also generally configured with dedi-
`10 cated on-board memory. This requirement of additional
`memory adds undesirable cost to the system.
`As multimedia applications become more prevalent, mul(cid:173)
`timedia hardware will correspondingly become essential
`components in personal computer systems. Therefore, an
`15 improved computer system architecture is desired which is
`optimized for real-time multimedia and communications
`applications as well as for non-realtime applications. In
`addition, improved methods are desired for transferring
`real-time data between multimedia devices.
`Applicant is aware of two new graphics standards from
`the Video Electronics Standards Association (VESA) which
`are designed to improve digital video transfers in computer
`systems. These two standards are referred to as the VESA
`advanced feature connector (VAFC) and the VESA media
`channel (VMC). A third standard has been proposed by Intel
`and iiTI referred to as the shared frame buffer interconnect
`(SFBI).
`The V AFC standard is a 32 bit replacement for prior 8 bit
`VGA connectors which supports video at much higher
`resolutions and in better color. The VMC standard also offers
`a 32 data path and supports up to 15 video streams simul-
`taneously. The VMC standard comprises a dedicated chan(cid:173)
`nel for real-time video, and peripherals can communicate
`independently without slowing the system CPU. The VMC
`standard also decouples the memory subsystem from the
`video transfer specification, allowing graphics board manu-
`facturers to offer a variety of boards with differing types of
`graphics memory.
`The SFBI standard combines frame buffers and memory
`use by each multimedia system into a single shared memory
`pool. The SFBI standard also includes a protocol for arbi(cid:173)
`trating among devices attempting to access the memory.
`However, one drawback to this standard is that the standard
`is designed to maintain all of the components on a single
`45 board. The SFBI standard does not provide an external
`feature connector unless SFBI cards are connected to
`another device over the host bus. In addition, SFBI cards can
`include a VMC or VAFC connector for connecting to a VMC
`or V AFC card.
`SUMMARY OF THE INVENTION
`The present invention comprises a computer system and
`method optimized for real-time applications which provides
`increased performance over current computer architectures.
`55 The system preferably includes a standard local expansion
`bus or system bus, such as the PCI bus, and also includes a
`dedicated real-time bus or multimedia bus. Thus multimedia
`devices, such as video devices, audio devices, etc., as well
`as communications devices, transfer real-time data through
`a separate bus without requiring arbitration for or usage of
`the PCI bus. The computer system of the present invention
`thus provides much greater performance for real-time appli(cid:173)
`cations than prior systems. In an alternate embodiment, the
`computer system only includes one or more dedicated
`real-time buses which replace the PCI bus.
`In the preferred embodiment, the computer system com(cid:173)
`prises a CPU coupled through chip set or bridge logic to
`
`25
`
`20
`
`DESCRIPTION OF THE RELATED ARf
`Computer architectures generally include a plurality of
`devices interconnected by one or more various buses. For
`example, modem computer systems typically include a CPU
`coupled through bridge logic to main memory. The bridge
`logic also typically couples to a high bandwidth local
`expansion bus or system expansion bus, such as the periph(cid:173)
`eral component interconnect (PCI) bus or the VESA (Video
`Electronics Standards Association) VL bus. Examples of
`devices which can be coupled to local expansion buses
`include video accelerator cards, audio cards, telephony
`cards, SCSI adapters, network interface cards, etc. An older
`type expansion bus is generally coupled to the local expan(cid:173)
`sion bus for compatibility. Examples of such expansion
`buses included the industry standard architecture (ISA) bus, 30
`also referred to as the AT bus, the extended industry standard
`architecture (EISA) bus, or the microchannel architecture
`(MCA) bus. Various devices may be coupled to this second
`expansion bus, including a fax/modem, sound card, etc.
`Personal computer systems were originally developed for 35
`business applications such as word processing and
`spreadsheets, among others. However, computer systems are
`currently being used to handle a number of real time
`applications, including multimedia applications having
`video and audio components, video capture and playback, 40
`telephony applications, and speech recognition and
`synthesis, among others. These real time applications typi(cid:173)
`cally require a large amount of system resources and band(cid:173)
`width.
`One problem that has arisen is that computer systems
`originally designed for business applications are not well
`suited for the real-time requirements of modem multimedia
`applications. For example, modem personal computer sys(cid:173)
`tem architectures still presume that the majority of applica(cid:173)
`tions executing on the computer system are non real-time so
`business applications such as word processing and/or
`spreadsheet applications, which execute primarily on the
`main CPU. In general, computer systems have not tradition(cid:173)
`ally been designed with multimedia hardware as part of the
`system, and thus the system is not optimized for multimedia
`applications. Rather, multimedia hardware is typically
`designed as an add-in card for optional insertion in an
`expansion bus of the computer system, wherein the expan(cid:173)
`sion bus is designed for non-realtime applications.
`In many cases, multimedia hardware cards situated on an 60
`expansion bus do not have the required system bus band(cid:173)
`width or throughput for multimedia data transfers. For
`example, a multimedia hardware card situated on the PCI
`expansion bus must first arbitrate for control of the PCI bus
`before the device can begin a data transfer or access the 65
`system memory. In addition, since the computer system
`architecture is not optimized for multimedia, multimedia
`
`Page 27 of 42
`
`
`
`5,682,484
`
`10
`
`25
`
`3
`main memory. The bridge logic couples to a local bus such
`as the PCI bus. The computer system also includes a
`real-time expansion bus or multimedia bus for transferring
`real-time or multimedia data. A plurality of multimedia
`devices, such video devices, audio devices, MPEG encoders
`and/or decoders, and/or communications devices, are
`coupled to each of the PCI bus and the multimedia bus. In
`one embodiment, the multimedia bus transfers only periodic
`stream data, such as audio data at 44,100 samples per
`second, video data at 30 frames per second, or real-time
`communication streams at rates dependent on the transport
`media.
`The computer system preferably includes a plurality of
`PCI expansion bus connector slots connected to the PCI bus
`for receiving add-in devices, and also preferably comprises 15
`one or more multimedia bus connector slots corresponding
`to respective ones of the PCI expansion bus connector slots.
`Thus, in one embodiment, the PCI bus and the multimedia
`bus are comprised on the motherboard and include respec(cid:173)
`tive connector slots for receiving add-in cards. Multimedia 20
`device expansion cards each include two connectors which
`correspond to the PCI bus and the multimedia bus.
`Alternatively, the multimedia devices are comprised directly
`on the motherboard and connect directly to the PCI bus and
`the multimedia bus, and connector slots are not used.
`In one embodiment, the multimedia bus comprises pri(cid:173)
`marily or only data lines. In this embodiment, control
`information for the periodic stream transfers is transferred
`on the PCI bus by a sourcing device, or is transferred by the
`CPU to the bridge logic. Thus multimedia data transfers 30
`initially involve the transfer of control or setup information
`on the PCI bus, or transfer of control or setup information by
`the CPU, to set up the transfer. This transfer of control
`information is followed by the transfer of the periodic data
`streams on the multimedia bus. Alternatively, once controV 35
`setup information has been used to set up the transfer, the
`periodic data stream may occupy both the PCI data lines and
`the multimedia bus for increased data throughput. In this
`embodiment, the transferring or source device transfers a
`multiple bus transfer request which requests simultaneous 40
`transfers on both the PCI bus and the multimedia bus. If the
`multiple bus transfer request is accepted, then the source
`device transfers data on both the PCI bus and the multimedia
`bus.
`The present invention further includes an improved
`method for transferring periodic data streams on a bus in the
`computer system, such as periodic video streams or periodic
`audio streams. According to this method, the transferring
`device first transmits addressing and control information to
`set up the transfer. The transferring device then transmits a
`periodic transfer data request to the receiving device. The
`periodic transfer data request includes information regarding
`the frequency and amount of the periodic transfers. The
`receiving device deternlines if it can guarantee availability at
`the periodic time frequencies requested by the transferring 55
`device. If the receiving device indicates availability for the
`periodic transfers, the transferring device sets a periodic
`transfer flag. The transferring device then performs the
`periodic transfers to the receiving device at the specified
`time frequency. If the receiving device does not indicate 60
`availability for the periodic transfers, the transferring device
`performs only a single transfer and is required to transfer
`control information at the beginning of each subsequent
`periodic transfer.
`In a second embodiment, the computer system includes a 65
`dedicated control channel separate from the PCI bus and the
`multimedia bus for transferring control information for
`
`4
`multimedia bus data transfers. The control channel is pref(cid:173)
`erably a serial bus. Alternatively, the control channel is a
`4-bit, 8-bit or 16-bit bus. Thus a multimedia data transfer
`initially involves the transfer of control information on the
`5 dedicated control channel followed by the transfer of the
`periodic data streams on the multimedia bus.
`In a third embodiment, the multimedia bus comprises
`separate channels for different data types. In the preferred
`embodiment, the computer system includes a first video data
`channel for. transferring video and/or graphics information,
`a second audio channel for transferring audio information,
`and optionally a third channel for transferring communica(cid:173)
`tions information. The video channel is preferably 32 bits,
`24 bits, or 16 bits. Alternatively, the video channelis an 8-bit
`bus or a very high speed serial bus. The audio channel is
`preferably 16 bits or 8 bits. Alternatively, the audio channel
`is also a 32-bit bus or a very high speed serial bus. The
`communications channel is also preferably either 16 or 8
`bits. This third embodiment may use the PCI bus for control
`information transfers, or may use a separate control channel
`separate from the PCI bus and the multimedia bus for
`transferring control information for the periodic stream
`transfers.
`In a fourth embodiment, each multimedia device has a
`high speed link directly to system memory, which is pref-
`erably single or multiple ported memory. These individual
`links are preferably high speed serial interconnects but,
`alternatively, may be 4-bit, 8-bit, 16-bit, 24-bit, 32-bit,
`64-bit or any combination thereof. In this embodiment,
`intelligent buffering is preferably implemented within the
`core logic, and arbitration for access to main memory is
`preferably implemented within the core logic. Each of the
`multimedia devices uses its dedicated memory data channel
`to perform data accesses and transfers directly to the main
`memory, bypassing PCI bus arbitration and PCI bus cycles.
`Alternatively, each of the multimedia devices includes a
`high speed memory channel directly to the memory con(cid:173)
`troller in the core logic for accessing system memory.
`In a fifth embodiment, the multimedia bus is time sliced
`wherein time slices or time slots are allocated in proportion
`to the required bandwidth. In one embodiment, the time
`slices are each a constant size and a number of the equal
`sized time slots are allocated to respective data streams in
`45 proportion to the required bandwidth. In this embodiment.
`for example, video data streams may be allocated more time
`slots than audio data streams because of the increased data
`transfer band width requirements of video streams.
`Alternatively, the time slots are not equally sized, but rather
`50 are dynamically sized or allocated to data streams in pro(cid:173)
`portion to the required bandwidth.
`In a sixth embodiment, multimedia devices that connect
`to the multimedia bus include intelligent controller circuitry
`which includes knowledge of the respective time slice
`allocated to the multimedia device. In this embodiment,
`arbitration for the multimedia bus is not required. Rather, a
`multimedia device which is a transmitter of video data
`monitors the bus and includes controller circuitry which
`begins transmitting the video data when the device's respec(cid:173)
`tive time slot occurs. A corresponding receiver device also
`knows that the current time slot is a video time slot and
`monitors the bus to receive the data.
`In this embodiment, the interface circuitry of each of the
`multimedia devices are programmed at boot time for a static
`allocation of time slots. Alternatively, the interface circuitry
`in the multimedia devices is dynamically programmed by a
`central controller dependent upon the mix of real-time
`
`Page 28 of 42
`
`
`
`5,682,484
`
`5
`
`30
`
`5
`processes and applications and the corresponding data trans(cid:173)
`fer bandwidth requirements. For example, the CPU may
`program each of the multimedia devices with a respective
`time slot at power -on. Alternatively, the CPU dynamically or
`heuristically allocates time slot based on bandwidth require-
`ments.
`In one embodiment of the invention, the computer system
`includes a centralized multimedia I/0 processor which oper(cid:173)
`ates to direct or ''pull" data stream information through the
`system. The multimedia I/0 processor is programmed with
`knowledge of the various data rates, data periodicity, data
`sources and destinations. and coordinates all transfers within
`the system. Thus, the multimedia I/0 processor creates
`' connections between two or more devices and sets up
`transfers between devices. The centralized multimedia I/0
`processor of the present invention may be used exClusively
`in the multimedia bus or may be used on a standard PCI bus.
`In one embodiment, the centralized multimedia I/0 pro(cid:173)
`cessor byte slices the multimedia bus to allow different data
`streams to use different byte channels simultaneously. Thus
`the byte sliced multimedia bus allows different peripherals
`to share the bus simultaneously. The centralized multimedia
`I/0 processor thus may assign one data stream to a subset of
`the total byte lanes on the multimedia bus, and fill the unused
`byte lanes with another data stream. For example, with a 25
`32-bit multimedia bus, if an audio data stream is only 16 bits
`wide and thus only uses half of the multimedia data bus, the
`multimedia bus intelligently allows data stream transfers on
`the unused bits of the bus. In this embodiment, the central(cid:173)
`ized multimedia J/0 processor includes knowledge of the
`destinations and allows transfers to occur without addressing
`information.
`In one embodiment of the invention, the computer system
`includes a multimedia memory coupled to each of the PCI
`local expansion bus and the real-time bus. One or more 35
`multimedia devices may be coupled to the PCI local expan(cid:173)
`sion bus and the real-time bus. Each of these devices
`accesses the multimedia memory to retrieve necessary code
`and data to perform respective operations. The multimedia
`devices preferably include an arbitration protocol for access- 40
`ing the multimedia memory using the real-time bus.
`In one embodiment, the system bus (preferably PCI)
`implements a new mode of operation specifically for real(cid:173)
`time transfers. A signal (or signals) is used to indicate that
`the system bus should be placed in a special real time mode. 45
`When not in special real time mode, the system bus operates
`as usual. The real time mode is optimized for the transfer of
`high bandwidth real-time information.
`Therefore, the present invention comprises a novel com(cid:173)
`puter system architecture and method which provides one or so
`more real-time or multimedia buses, optionally with a local
`expansion bus, to increase the performance of real-time
`peripherals and applications. The multimedia bus of the
`present invention provides improved data transfers perfor(cid:173)
`mance and throughput for real-time devices. The various 55
`embodiments discussed above may be combined in various
`ways for optimum real-time and/or multimedia perfor-
`mance.
`BRIEF DESCRIPTION OF TilE DRAWINGS
`A better understanding of the present invention can be
`obtained when the following detailed description of the
`preferred embodiment is considered in conjunction with the
`following drawings, in which:
`FIG. 1 is a block diagram of a computer system including 65
`a local expansion bus and a real-time bus or multimedia bus
`according to the present invention;
`
`6
`FIG. 2 is a block diagram of a multimedia device in the
`computer system of FIG. 1;
`FIG. 3A is a flowchart diagram illustrating a multimedia
`bus transfer which uses the PCI bus for control and address(cid:173)
`ing information;
`FIG. 3B is a flowchart diagram illustrating a multimedia
`bus transfer which uses both the PCI bus data lines and the
`multimedia bus data lines for improved bandwidth;
`FIG. 3C is a flowchart diagram illustrating a multimedia
`10 bus transfer optimized for periodic data transfers;
`FIG. 4 is a block diagram of the motherboard of the
`computer system of FIG. 1;
`FIG. 5 illustrates a modular add-in card including a local
`15 expansion bus connector and a multimedia bus connector
`according to the present invention;
`FIG. 6 is a block diagram of an alternate embodiment of
`the computer system of FIG. 1;
`FIG. 7 is a block diagram of a computer system including
`20 a local expansion bus and a real-time bus or multimedia bus
`and also including a dedicated control channel according to
`an alter