throbber
(12) United States Patent
`Apostol, Jr. et al.
`
`USOO6247084B1
`(10) Patent No.:
`US 6,247,084 B1
`(45) Date of Patent:
`Jun. 12, 2001
`
`(54) INTEGRATED CIRCUIT WITH UNIFIED
`MEMORY SYSTEM AND DUAL BUS
`ARCHITECTURE
`(75) Inventors: George Apostol, Jr., Santa Clara; Peter
`R. Baran, Fremont; Roderick J.
`
`McInnis, Milpitas, all of CA (US)
`
`(73) Assignee: LSI Logic Corporation, Milpitas, CA
`(US)
`Subject to any disclaimer, the term of this
`patent is extended or adjusted under 35
`U.S.C. 154(b) by 0 days.
`
`(*) Notice:
`
`(21) Appl. No.: 09/166,262
`22) Filled:
`Oct. 5, 1998
`(22) File
`Cl. 5,
`Related U.S. Application Data
`(60) Provisional application No. 60/061,489, filed on Oct. 8,
`1997.
`7
`
`(58) Field of Search ..................................... 711/149, 147,
`711/150; 710/240, 100, 108
`References Cited
`U.S. PATENT DOCUMENTS
`
`(56)
`
`5,561,777
`
`10/1996 Kao et al. - - - - - - - - - - - - - - - - - - - - - - - - - - - - 395/405
`
`9/1998 Biswas et al. ....................... 710/244
`5,805,905
`5,822,768 * 10/1998 Shakkarwar ...
`... 711/149
`5,854,638
`12/1998 Tung .................................... 34.5/512
`* cited by examiner
`Primary Examiner Rupal D. Dharia
`(57)
`ABSTRACT
`A unified memory System includes a processor, a memor
`y Sy
`p
`y
`controller, a plurality of buS transactor circuits and a shared
`memory port. A processor bus is coupled between the
`processor and the memory controller. A first multiple-bit,
`bidirectional System bus is coupled between the shared
`memory port, the memory controller and the plurality of bus
`transactor circuits. A Second multiple-bit, bidirectional Sys
`tem buS is coupled between the memory controller and the
`
`3.
`
`- - - - - - - - - - - - - - - - - - - - - - - - - - -Toros. 708"..e plurality of buS transactor circuits.
`
`711/147; 711/149; 711/150
`
`19 Claims, 36 Drawing Sheets
`
`
`
`PROCESSOR
`
`O
`
`15A
`
`15B
`
`15C
`
`BUS
`TRAN
`SACTOR
`
`BUS
`TRANSACTOR
`
`BUS
`TRANSACTOR
`
`EXTERNA
`MEMORY
`
`Kingston Exhibit 1011 - 1
`
`

`

`U.S. Patent
`
`Jun. 12, 2001
`
`Sheet 1 of 36
`
`US 6,247,084 B1
`
`O
`ves
`
`
`
`? --
`
`TV/NHE_LXE
`
`ÅHOWNEIN
`
`271
`
`
`
`HOSSE OOH•H
`
`
`HETTO H_LNOO
`XHOVNE IN
`
`Kingston Exhibit 1011 - 2
`
`

`

`U.S. Patent
`
`Jun. 12, 2001
`
`Sheet 2 of 36
`
`US 6,247,084 B1
`
`99
`
`ZZ
`
`
`
`
`
`9/
`
`WOHBE
`
`(6?u00)
`
`NCISI
`
`9EST)
`
`39
`
`JÐuueOS
`
`#78
`
`38
`
`Kingston Exhibit 1011 - 3
`
`

`

`U.S. Patent
`
`Jun. 12, 2001
`
`Sheet 3 of 36
`
`US 6,247,084 B1
`
`
`
`OxCOOOOOOO
`
`OX40000000
`
`OX2OOOOOOO
`
`OX1 FCOOOOO
`
`OX17COOOOO
`
`OX106OOOOO
`
`OX105OOOOO
`
`OX104OOOOO
`
`OX1 O3OOOOO
`
`OX102OOOOO
`
`OX1 OOOOOOO
`
`OXO8OOOOOO
`
`go
`
`90
`
`Reserved for future
`USe
`
`System memory
`
`PCI memory
`
`Flash/PROM
`
`System ROM
`
`Reserved for future
`US6
`
`Serial I/O BOCk
`Registers
`
`Parallel I/O Block
`Registers
`
`Graphics & Display
`Registers
`
`Memory Controller
`Registers
`System & CPU Config
`address Space
`(TLB & Cache Tags and Rams)
`Alias address for
`first 128M PCI memory
`
`Alias address for
`first 128M System memory
`Y. 92
`
`Kingston Exhibit 1011 - 4
`
`

`

`U.S. Patent
`
`Jun. 12, 2001
`
`Sheet 4 of 36
`
`US 6,247,084 B1
`
`
`
`S D R A M
`
`
`
`
`
`
`
`
`
`
`
`BuS
`
`124A
`
`Serial I/O
`
`15A
`
`
`
`126A
`124B
`
`288x64
`BIU 55AM SIU
`122B
`
`PCI & Parallel
`
`126B
`
`Memory
`Controller
`14
`
`Interrupt
`110
`
`
`
`
`
`PrOCeSSOr
`16k Icache
`8K DCache
`
`PBIU
`f 12
`
`124C
`Graphics
`
`Kingston Exhibit 1011 - 5
`
`

`

`U.S. Patent
`
`Jun. 12, 2001
`
`Sheet S of 36
`
`US 6,247,084 B1
`
`120 - 122
`DATA(63:0
`DATA ERR
`DATA LD
`DATA GNT
`DATA EOT
`
`BIU
`
`f
`
`O
`
`CMD 63:O
`CMD LD
`CMD GNT
`CMD PWA
`CMD REQ 2:O
`
`BCLK
`RESET N
`
`124
`DOUT 63:0
`DIN (63:0)
`ADDin (8:0
`CR
`WCE
`VALID PIO
`VP ACK
`WRITE
`SIU ACK VLD
`AB ACK
`PNTR VLD
`ACK BUS (7:0
`
`HEADER ADD
`HO FULL
`SCLK
`SRESET N
`
`CMD Type
`OO - Reserved
`9. ME Write
`FIG
`- 19:Mergy Read
`
`7
`
`6 5
`
`O
`
`SSED
`NEWRAMADR
`
`O
`
`DATA CRUEUE
`
`152
`N 255
`256 - 263
`FIG.7 264-27
`272 - 279
`280 - 287
`
`
`
`15OE
`
`- 122
`
`154
`
`15OA
`15OB
`150C i?
`100 - 107h
`1 O8h - 1 OFh
`11Oh - 117h
`118h - 11 Fh
`15OD
`
`Kingston Exhibit 1011 - 6
`
`

`

`U.S. Patent
`
`Jun. 12, 2001
`
`Sheet 6 of 36
`
`US 6,247,084 B1
`
`63 62-6O 59-52 51-46
`
`45-38
`
`CMD
`
`SSD RAMADR
`
`
`
`37-35 34 33 32
`lo
`|
`
`31-O
`
`AD
`DRESS
`
`160-
`
`FIG.8
`
`63 62-6O 59-56 55-50
`
`47-40 39-3837 36-32 31-24 23-16 15-8
`
`170 -
`
`FIG.9
`
`
`
`TYPE CMD
`
`CYCLES
`
`Description
`
`Interrupt
`Write Single (uses MASK)
`Write Block (uses BCNT)
`Read Block
`Read Reply
`Cache Line Fill
`Reserved
`
`Kingston Exhibit 1011 - 7
`
`

`

`U.S. Patent
`
`Jun. 12, 2001
`
`Sheet 7 of 36
`
`US 6,247,084 B1
`
`
`
`Tl_Fl_Fl_Fl_Fl_Fl_Fl_Fl_Fl_J
`
`XITO
`
`—\_/—
`
`
`
`LOETVIVO
`
`
`
`[O:99] VIVO
`
`XITO
`
`CITTOIWO
`
`Kingston Exhibit 1011 - 8
`
`

`

`x=
`
`
`OldJa\si6oyJesiBay
`
`
`
`ANANOYAqVsH
`
`—_
`OldGMWA
`GIAHOVAWNDIS
`
`sOvay|HAZINONHO
`
`“NAS
`
`00g
`
`U.S. Patent
`
`Jun. 12, 2001
`
`Sheet 8 of 36
`
`US 6,247,084 B1
`
`a
`
`YHAGNOdS3AY
`
`ANANDOld
`
`YaTONVH
`
`2oO
`wn2a
`BUS_REQ
`HEADER_ACK
`HEADER_REQ
`
`Bulwoou]Hurobino
`
`
`
`sjauueyysjeuueyuD
`
`HEADER_ACK
`HEADER_RE
`
`<
`
`HEADER_ACK
`HEADER_REQ
`
`GIAYLNd
`
`sng@OV
`
` o|wW>Ciauua\e
`ii}
`
`
`fw5/>
`
`Ww
`
`DATA QUEUES
`
`Kingston Exhibit 1011 - 9
`
`Kingston Exhibit 1011 - 9
`
`

`

`U.S. Patent
`
`Jun. 12, 2001
`
`Sheet 9 of 36
`
`US 6,247,084 B1
`
`
`
`Kingston Exhibit 1011 - 10
`
`

`

`U.S. Patent
`
`Jun. 12, 2001
`
`Sheet 10 Of 36
`
`US 6,247,084 B1
`
`
`
`N/HgTOId
`
`N/09BTOId
`
`XOVTCHA
`
`OIGHTOITVA
`
`Kingston Exhibit 1011 - 11
`
`

`

`U.S. Patent
`
`Jun. 12, 2001
`
`Sheet 11 of 36
`
`US 6,247,084 B1
`
`
`
`Kingston Exhibit 1011 - 12
`
`

`

`U.S. Patent
`
`Jun. 12, 2001
`
`Sheet 12 of 36
`
`US 6,247,084 B1
`
`
`
`
`
`Multiply/
`ACCum
`Unit
`
`256
`Icache
`Set-O
`256
`Cache
`
`Set
`
`:
`
`ISU
`
`LSU
`
`BIU
`
`---------------- I
`Cache
`Invalidation
`Interface
`
`Coprocessor
`Interface
`
`
`
`SCbuS
`Interface
`
`26O
`
`OCA
`Interface
`Writeback
`Buffer
`Dcache
`-7258
`H/
`Set-1
`
`- - )
`
`26
`?
`
`
`
`WSSES
`to Memory K
`Controller
`
`262
`
`FIG.17
`
`Kingston Exhibit 1011 - 13
`
`

`

`U.S. Patent
`
`Jun. 12, 2001
`
`Sheet 13 of 36
`
`US 6,247,084 B1
`
`22
`
`PC
`requests
`Serial
`load & grant
`subsystem
`
`12OA
`
`1.26A
`
`load & grant
`
`12OB
`
`126B
`
`Parallel
`Subsystem
`
`12OC
`
`126C
`
`
`
`
`
`46
`
`Memory
`
`load & grant
`
`Graphics
`& Display
`subsystem
`N-288
`display DMA hand shake
`12
`
`b
`US
`
`displ
`ISplay
`
`282
`&
`
`272
`
`
`
`SDRAM
`COntroller
`
`Cpu
`BIU
`
`SCBuS
`
`PrOCeSSOr
`
`270 \-
`
`N274 N276
`
`28O
`
`286
`
`FIG. 18
`
`Kingston Exhibit 1011 - 14
`
`

`

`U.S. Patent
`
`Jun. 12, 2001
`
`Sheet 14 Of 36
`
`US 6,247,084 B1
`
`282
`Internal
`BuS
`Interface
`
`280
`External
`Memory
`Interface
`
`
`
`data (63:0)
`ConC
`data gnt 2:0
`data Id 2:O
`data err
`data eot
`cmd.63:O
`d
`O2:O
`Cmd req02:O
`cmd req12:0
`cmd Id (2:O
`Cmd gnt 2:0
`cmd pVwa (2:0)
`
`framend
`Id disp 1:0
`disp req 1:0
`288
`disp. low 1:0
`GSE, --
`Interf
`SCAop (63:O
`teaCe
`KP
`SCBPWAn He
`SCBRDYn
`-
`-
`SCDip (63:0
`SCDop (63:0)
`Memory
`Controller KR
`SCDOEn
`
`P 286
`
`CSO in 1 :O
`
`SCTBEn 7:0
`
`raSO in
`CaSO
`WeOn
`clko (1:0
`cked 1:0
`ao (13:0
`CP
`dqm 7:0
`
`3.
`
`data2mem
`mem2Cdata
`
`SCTBLn
`SCTBST
`SCTPWn
`SCTSEn
`SCTSSn
`
`clocki
`reset
`
`FIG. 19
`
`Kingston Exhibit 1011 - 15
`
`

`

`Jun. 12, 2001
`
`Sheet 15 of 36
`
`US 6,247,084 B1
`
`U.S. Patent
`
`00€
`
`ju}
`80Eeyepgwiew
`
`J91]01]U09|¢Alowew|aSLE
`‘guiygew|POEiayeyseo,
`
`
`neu_oseo‘OOD! fo:Payxo‘U_osel
`
`_ouubp‘oe‘U-08Mrev
`0¢‘SIA|
`
`[o:eLlvuaM
`
`[0:4]Wod
`
`Kingston Exhibit 1011 - 16
`
`Kingston Exhibit 1011 - 16
`
`
`

`

`U.S. Patent
`
`Jun. 12, 2001
`
`Sheet 16 of 36
`
`US 6,247,084 B1
`
`
`
`
`
`address
`
`OX102OOOOO
`
`--OXOOO
`
`--OX008
`
`--OXOO
`--OXO18
`
`--OXO20
`--OX100
`--OX108
`--OX11 O
`--OX118
`--OX140
`
`--OX178
`
`+0x280
`
`are 3CCeSS Description
`memory controller base address
`reset and StatuS
`system configuration register
`memory configuration register
`memory initialization and refresh register
`Frame configuration: x width and y height
`starting tile address and tile configuration for frame 0
`starting tile address and tile configuration for frame 1
`W
`Rw starting tile address and tile configuration for frame 2
`Rw starting tile address and tile configuration for frame 3
`
`R/W
`dither LUTI7:0
`Rw display dma control register
`FIG.21A
`
`Kingston Exhibit 1011 - 17
`
`

`

`U.S. Patent
`
`Jun. 12, 2001
`
`Sheet 17 of 36
`
`US 6,247,084 B1
`
`
`
`address
`--OX288
`--OX22O
`--OX21 O
`--OX218
`--OX2OO
`--OX208
`--OX3OO
`+Ox308
`--OX31 O
`--OX318
`--Ox320
`--Ox328
`--OX33O
`--OX338
`--OX340
`--OX348
`--OX350
`--Ox358
`--Ox36O
`--Ox368
`--OX37O
`--OX378
`--OX38O
`--OX388
`--OX390
`
`access Description
`display drma ID register
`packer data register
`packer data starting address register
`packer data size register
`w load window cache register
`w flush window cache register
`R
`window current address register O
`R
`window remain registero
`Rw window starting address register 0
`Rw window size register 0
`R
`window current address register 1
`R
`window remain register 1
`Rw window starting address register 1
`Rw window size register 1
`R
`window current address register 2
`R
`window remain register 2
`Rw window starting address register 2
`Rw window size register 2
`window current address register 3
`window remain register 3
`window starting address register 3
`window size register 3
`display current offset register 0
`display remain register 0
`display starting offset register 0
`FIG.21B
`
`Kingston Exhibit 1011 - 18
`
`

`

`U.S. Patent
`
`Jun. 12, 2001
`
`Sheet 18 of 36
`
`US 6,247,084 B1
`
`
`
`address
`
`name access Description
`display Screen size register 0
`display current offset register 1
`display remain register 1
`display starting offset register 1
`display screen size register 1
`window cache state register 0
`window cache state register 1
`window cache state register 2
`window cache state register 3
`Window Cache
`
`test configuration
`chip version number
`
`FIG.21C
`
`Kingston Exhibit 1011 - 19
`
`

`

`U.S. Patent
`
`Jun. 12, 2001
`
`Sheet 19 Of 36
`
`US 6,247,084 B1
`
`
`
`
`
`BitS
`
`access
`
`6 3 2
`
`Description and default value
`system software reset
`software reset to memory controller
`reserved
`
`FIG.22
`
`
`
`
`
`
`
`access
`
`3 2
`
`Description and default value
`boot device
`0 - parallel port (default)
`1 - serial port
`0 - regular Sdram (default)
`1 - Sodram with virtual channel
`memory type
`00 - 16Mbit x8 scram (default)
`O - 16Mbit x 16 Sdram
`10 - 64Mbit x8 Scram
`11 - 64Mbit x 16 Sdram
`refresh type
`OO -burst of 1 (default)
`01 -burst of 2
`1O-burst of 3
`dither Control
`O: no dither
`1: dither, 32 bits cpu data becomes 16 bits
`Color depth for frame 00,
`00: 8 bits per pixel (default)
`01: 16 bits per pixel
`color depth for frame 1, default = 00
`color depth for frame 2, default = 00
`color depth for frame 3, default = 00
`0 - big endian (default)
`1 - Small endian
`reServerd
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`FIG.23
`
`
`
`
`
`
`
`5 64
`
`11 - 10
`13 - 12
`
`15 - 14
`
`1
`
`63 - 17
`
`Kingston Exhibit 1011 - 20
`
`

`

`U.S. Patent
`
`Jun. 12, 2001
`
`Sheet 20 of 36
`
`US 6,247,084 B1
`
`aCCeSS
`
`Description and default value
`CAS in latency, default = 3
`tRCD, delay time ACT to READ/WRITE command
`default = 3
`
`7 - 4
`
`12 - 11 R
`16-15 R
`
`W
`
`tRSC, default = 2
`
`FIG.24
`
`
`
`access Description and default value
`refresh period in number clock cycle
`default = 31250 assuming 100 MHz
`wait cycles after power on
`default = 0x0400
`
`27 - 16 R/W
`
`31 - 28 R/W
`
`FIG.25
`
`
`
`access Description and default value
`Bits
`11 - O R/W
`Fwidth, number of pixels in the horizontal direction,
`default = 1024
`Fheight, number of pixels in the vertical direction,
`default = 768
`
`23 - 12 R/W
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`Kingston Exhibit 1011 - 21
`
`

`

`U.S. Patent
`
`Jun. 12, 2001
`
`Sheet 21 of 36
`
`US 6,247,084 B1
`
`access Description and default value
`
`Xtile: number of tiles in the horizontal direction
`default = 4
`
`Ytile: number of tiles in the vertical direction
`default = 3
`upper 16 bits of the Starting Tile address for Framex
`(note: lower 16 bits are always zero)
`reserved
`FIG.27
`
`Resolution
`
`1024x768
`
`800x600
`
`640x480
`
`Xtile
`(8bits/pixel)
`
`Xtile
`(16 bits/pixel)
`
`FIG.28
`
`
`
`
`
`
`
`
`
`Bits
`
`
`
`W/R
`
`access Description and default value
`W/R
`0: frame not ready to Swap
`1: frame ready to swap
`reset after frame Swap
`Both primary and secondary dma start next display
`from frame:
`O: as specified in display dmaid bit 5-4 and bit 1-0
`1: as specified in display dmaid bit 7-6 and bit 3-2
`This bit is toggled at VSync
`reserved
`FIG.29
`
`
`
`
`
`
`
`63 - 2 -
`
`Kingston Exhibit 1011 - 22
`
`

`

`U.S. Patent
`
`Jun. 12, 2001
`
`Sheet 22 of 36
`
`US 6,247,084 B1
`
`Display DMAID Register
`
`access Description and default value
`primary display OID (default = 00)
`W primary display 1 D (default = 00)
`W secondary display OID (default = 00)
`secondary display 1 D (default = 00)
`reserved
`
`FIG.30
`
`Display Starting Offset Register
`
`access Description and default value
`RW Xoffset, X offset location from frame origin
`11 -
`23 - 12 R/W
`Yoffset, offset location from frame origin
`63 - 24
`reserved
`FIG.31
`
`Display screen Size Register
`
`
`
`
`
`63-24 -
`
`reserved
`FIG.32
`
`Kingston Exhibit 1011 - 23
`
`

`

`U.S. Patent
`
`Jun. 12, 2001
`
`Sheet 23 of 36
`
`US 6,247,084 B1
`
`Dither LUT
`
`access Description and default value
`2-0 RW Blue LUT for x0= 0
`Blue LUT for x(O) = 0
`W
`5-3 R/W
`Green LUT for x(O) = 0
`Green LUT for x(O) = 0
`8-6 R/W
`Red LUT for x(0)=0
`Red LUT for x(O) = 0
`12-9 Rw Blue LUT for x(0) = 1
`Blue LUT for x(O) = 1
`15-13 Rw Green LUT for x(O) = 1
`Green LUT for x(O) = 1
`18- 16 R/W
`Red LUT for x(0)=1
`Red LUT for x(O) = 1
`63-24 -
`reserved
`reserved
`FIG.33
`
`15 - 13
`
`18 - 16
`
`63 - 24
`
`Window Starting Address Register
`Bits
`access Description and default value
`starting memory address for linear access
`Xoffset from frame origin for tile access
`yoffset from frame origin for tile access
`
`23 - 12
`
`25 - 24 R/W
`
`63-27 -
`
`Frame id, for tile access
`O: use frame 0,
`1: use frame 1
`2: use frame 2,
`3: use frame 3
`reserved
`FIG.35
`
`
`
`
`
`
`
`Window size register
`Bits
`access Description and default value
`byte count for linear access
`Pwidth, X width of tile access
`Pheight, Y height of tile access
`reserved
`FIG. 36
`
`23 - 12 R/W
`63 - 24 -
`
`
`
`
`
`Kingston Exhibit 1011 - 24
`
`

`

`U.S. Patent
`
`Jun. 12, 2001
`
`Sheet 24 of 36
`
`US 6,247,084 B1
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`g|<------
`
`---------------------------------+------------------------------+------*------------------- — I — I —<)
`
`No.) ¿ )
`
`§§§§)
`
`
`
`Kingston Exhibit 1011 - 25
`
`

`

`U.S. Patent
`
`Jun. 12, 2001
`
`Sheet 25 of 36
`
`US 6,247,084 B1
`
`Bits
`
`aCCGSS
`
`3 y O
`
`Load window cache register
`Description and default value
`starting segment to load
`: start at +0x400 (default)
`: Start at --OX480
`: Start at --0x500
`: Start at +0x580
`: Start at +0x600
`: Start at +OX680
`: Start at --Ox7OO
`: Start at +OX78O
`segment count
`: 4 segments (1024 bytes)
`: 1/2 segments (128 bytes)
`: 1 segments (256 bytes)
`: 1 and 1/2 segments (384 bytes)
`: 2 segments (512 bytes)
`: 2 and 1/2 segments (640 bytes)
`: 3 segments (768 bytes)
`: 3 and 1/2 segments (896 bytes)
`
`5 4
`
`
`
`
`
`
`
`window dma pointer
`0: reference to window starting address and size regs
`O in --OX300 to --Ox318
`1: reference to window starting address and size regs
`1 in +0x320 to --Ox338
`2: reference to window starting address and size regs
`2 in +0x340 to +0x358
`3: reference to window starting address and size regs
`3 in --Ox360 to --OX378
`
`
`
`
`
`1: Start new dma
`O: COntinue dma
`1: tiling frame buffer load
`O:linear memory load
`1: enable interrupt after complete loading
`O: disable interrupt
`reserved
`O: load complete
`1: load dma in progress
`This bit is set at load and reset at load Completion.
`
`FIG. 37
`
`
`
`1 O
`
`14 - 11
`
`1 5
`
`63 - 24
`
`Kingston Exhibit 1011 - 26
`
`

`

`U.S. Patent
`
`Jun. 12, 2001
`
`Sheet 26 of 36
`
`US 6,247,084 B1
`
`
`
`5 4
`
`
`
`
`
`
`
`
`
`
`
`
`
`Flush window cache register
`Bits
`access Description and default value
`3 - O
`starting segment to flush
`R/W
`: start at +0x400 (default)
`: Start at --Ox48O
`: Start at +OX500
`: Start at +0x580
`: Start at --OX6OO
`: Start at --OX680
`: Start at --Ox7OO
`: Start at +OX78O
`number of segment to flush
`0: 4 segments (1024 bytes)
`1: 1/2 segments (128 bytes)
`2: 1 segments (256 bytes)
`3:1 and 1/2 segments (384 bytes)
`4: 2 segments (512 bytes)
`5: 2 and 1/2 segments (640 bytes)
`6:3 segments (768 bytes)
`7: 3 and 1/2 segments (896 bytes)
`pixel dma pointer
`0: reference to pixel starting address and size regs 0
`1: reference to pixel starting address and size regS 1
`2: reference to pixel starting address and size regs 2
`3: reference to pixel starting address and size regs 3
`1: Start new dma
`O: COntinue dma
`1: tiling frame buffer flush
`0: linear memory flush
`1: enable interrupt after Complete flushing
`O: disable interrupt
`1. opaque mode
`O: OverWrite mode
`reserved
`O: flush complete
`1: flush dma in progress
`This bit is set at flush reset at flush completion.
`
`1 O
`
`1 1
`
`4 - 12
`
`1 5
`
`63 - 24
`
`FIG 38
`
`Kingston Exhibit 1011 - 27
`
`

`

`U.S. Patent
`
`Jun. 12, 2001
`
`Sheet 27 Of 36
`
`US 6,247,084 B1
`
`
`
`
`
`
`
`Window cache mode register
`Description and default value
`
`R/W
`
`mode
`00: ide
`O1: clean
`10: dirty
`11: reserved
`
`63-32 -
`
`reserved
`FIG. 39
`
`Packer data register
`access Description and default value
`7 - O W
`write an 8 bit pixel
`W
`write a 16 bit pixel
`read an 8 bit pixel
`read a 16 bit pixel
`reServed
`FIG.40
`
`Packer data starting address register
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`s
`
`15 - 10 R/W
`
`access Description and default value
`Starting packer location in window cache
`Xwidth dw: number doubleWord in X direction is cached
`color depth
`00: 8 bits per pixel
`01: 16 bits per pixel
`
`FIG.41
`
`
`
`Kingston Exhibit 1011 - 28
`
`

`

`U.S. Patent
`
`Jun. 12, 2001
`
`Sheet 28 of 36
`
`US 6,247,084 B1
`
`Packer data size register
`access Description and default value
`object x size
`
`R/W
`R/W
`
`object y size
`put 0
`don't care
`
`FIG.42
`
`Display current address register
`
`Bits
`
`access Description and default value
`
`
`
`
`
`
`
`
`
`63-24 -
`
`reserved
`FIG.43
`
`Display remain size register
`
`63 - 24 -
`
`reserved
`FIG.44
`
`Kingston Exhibit 1011 - 29
`
`

`

`U.S. Patent
`
`Jun. 12, 2001
`
`Sheet 29 Of 36
`
`US 6,247,084 B1
`
`Window current address register
`access Description and default value
`Current address for linear access
`Current Xoffset from frame origin for tile access
`Current yoffset from frame origin for tile access
`Frame id, for tile access
`0: use frame 0, (default)
`1: uSe frame 1
`2: use frame 2,
`3: use frame 3
`
`FIG.45
`
`
`
`Window remain register
`access Description and default value
`remaining byte count for linear access
`remainging Pwidth,
`X remain pixels in the line for tile access
`remaining Pheight, Y remain of tile access
`reserved
`
`FIG.46
`
`PIO Read Respond Timing
`
`CMD LD
`
`CMD GNT
`/
`\
`MP-XRRXData)-
`FIG.47
`
`Kingston Exhibit 1011 - 30
`
`

`

`U.S. Patent
`
`Jun. 12, 2001
`
`Sheet 30 Of 36
`
`US 6,247,084 B1
`
`Cache Line Fill Response Timing
`
`CMD LD R
`
`CMD
`
`(CLF)(Data)(Data)(Data)(Data)
`FIG.48
`
`PIO Write Timing
`
`/
`
`N
`
`CMD LD
`CMD GNT
`CMD
`PWA
`
`FIG.49
`
`PIO Read Timing
`
`CMD LD
`CMD GNT
`CMD
`
`/
`
`\
`
`RBK
`FIG.50
`
`DMA Request Timing
`
`CMD LD
`
`CMD GNT
`CMD
`
`/
`
`\
`Xeace
`FIG.51
`
`Kingston Exhibit 1011 - 31
`
`

`

`U.S. Patent
`
`Jun. 12, 2001
`
`Sheet 31 of 36
`
`US 6,247,084 B1
`
`CLK
`RESET n
`
`DATA (63:0
`CMD (63:0)
`DATA LD
`DISPLD 1:0
`CMD LD
`
`DATA GNT
`CMD GNT
`CMD PWA -- GRAPHCS/
`FRAMEND -- st SEM
`CMD REQ1:O) --
`DISP REQ1:0) --
`DISPLOW 1:0 -H
`
`TO
`Memo
`Eller
`
`DCLK
`FPSHIFT
`FPFRAME
`FPLINE
`DRDY
`ESE I:
`5:0
`SSE Flat Panel
`PCLK
`
`DASUB
`DAVSS
`DAVOD
`DAVSSR To CRT
`DAVSSG
`DAVSSB
`REF
`VREFIN
`OUTR
`OUTG
`OUTEB
`COMP
`VSYNC
`HSYNC
`BLANK
`
`FIG.52
`
`
`
`DISP LD 1:O) Signal Format
`DMA data when DATA LD
`aSSertS
`primary display data stream
`secondary
`display data stream
`Invalid
`
`FIG.53
`
`Kingston Exhibit 1011 - 32
`
`

`

`U.S. Patent
`
`Jun. 12, 2001
`
`Sheet 32 of 36
`
`US 6,247,084 B1
`
`Special Screen Block Command Header Format
`63 62-6O 59-52 51-4847 46-38
`37-32 31 30-2625-24. 23-12
`
`11-O
`
`CMD Width
`
`RAMADRBSize
`
`YStart
`
`XStart
`
`FIG. 54
`
`Data Bus
`CMD BuS
`
`
`
`126C
`1.
`
`Graphics
`
`DPRAM
`
`22
`
`FIG.55
`
`7O
`2
`
`192-287
`
`
`
`
`
`1. 122C
`
`Graphics Subsystem DPRAM Partition
`704A
`Primary Display QUEUE ED 0xc0-0x11 f(96)
`704B
`C 0x90-0xbf(48)
`704
`
`144-191 CEO BitBLT Data Buffer
`
`
`
`
`
`64-127 Oc
`
`32-63
`
`O-31
`
`
`
`ED 0x40-0x7f(64)
`7O4E
`Ox20–0x3F(32)
`7O4F
`CURSOR Ram ED 0x0-0x1 f(32)
`
`BitMap Pattern Buffer
`
`Kingston Exhibit 1011 - 33
`
`

`

`U.S. Patent
`U.S. Patent
`
`Jun. 12, 2001
`
`Sheet 33 of 36
`
`US 6,247,084 B1
`US 6,247,084 B1
`
`uoljasqns
`
`0}212g
`
`Aeidsiq
`
`BSL
`
`IpyJapooeq
`
`d/lWWddd
`
`AdJPPYB[ONUOD
`
`ydn49}u}
`
`Icet
`
`
`
`
`
`
`
`
`beyAejdsiq---~--------------
`
`beyiosund--------------
`“OsaGNO
`
`8S“Old
`
`ZS‘Sld
`
`Kingston Exhibit 1011 - 34
`
`Kingston Exhibit 1011 - 34
`
`
`
`

`

`U.S. Patent
`
`Jun. 12, 2001
`
`Sheet 34 of 36
`
`US 6,247,084 B1
`
`
`
`
`
`|
`
`|X|OOIEX | uO??ejedO§§G | lexid-195 |9 |
`
`Kingston Exhibit 1011 - 35
`
`

`

`U.S. Patent
`
`Jun. 12, 2001
`
`Sheet 35 0f 36
`
`US 6,247,084 B1
`
`Control
`State
`Machine
`
`Register
`Sets
`
`
`
`Data Path
`
`FIG.60
`
`Kingston Exhibit 1011 - 36
`
`

`

`U.S. Patent
`
`Jun. 12, 2001
`
`Sheet 36 of 36
`
`US 6,247,084 B1
`
`
`
`
`
`
`
`DATAN
`DATA OUT
`ADDRESS
`CONTROL
`
`808
`
`MicroController
`
`Clock
`
`32
`32
`9
`5
`
`(f)
`.
`O CO
`
`l ES (VO
`
`16
`
`800
`
`25MB/Second
`25MB/Second TTT
`8
`8
`R
`T
`TT
`
`Fast-Ethernet
`
`MII(18)
`
`Placed
`Data-path
`
`1.5MB/second
`8 TTT
`1.5MB/second 8
`Universal
`TS Serial BuS
`
`Serial-A(2)
`
`Serial-B(2)
`Serial-C(2)
`Serial-D(2)
`
`1 26c-
`
`3.2MB/second
`3.2MB/second 8 TTT
`8
`T
`A
`232 s
`In CS
`-
`C
`sad, al
`s loo
`g|9th
`an
`
`
`
`
`
`RAM
`AC-97
`Host Controller
`RAM
`
`AC-link(6)
`BEEP
`
`806
`TWS(4)
`SmartCard
`
`GPIO
`
`FIG.61
`
`Kingston Exhibit 1011 - 37
`
`

`

`US 6,247,084 B1
`
`1
`INTEGRATED CIRCUIT WITH UNIFIED
`MEMORY SYSTEM AND DUAL BUS
`ARCHITECTURE
`
`CROSS-REFERENCE TO RELATED
`APPLICATION
`This application claims the benefit of U.S. Provisional
`Application Serial No. 60/061,489, filed Oct. 8, 1997, which
`is hereby incorporated by reference.
`
`BACKGROUND OF THE INVENTION
`The present invention relates to integrated circuits and, in
`particular, to an integrated circuit having a unified memory
`architecture.
`Unified memory architectures have been used for various
`computer applications, Such as network computers, Internet
`appliances and mission specific terminal applications. In a
`typical unified memory architecture, all devices requiring
`access to memory are coupled to a common System buS.
`These devices can include a processor, an input-output
`device or a graphics device, for example. A memory con
`troller arbitrates access to memory between the various
`devices.
`Memory latency is a common difficulty in unified
`memory architectures Since each device must arbitrate for
`access to memory over the System bus. Latency can be
`reduced by requesting bursts of data from memory. For
`example, graphics devices may request bursts of display
`data from a frame buffer. Since graphics devices continually
`Supply data to a Screen display, these devices have a high
`bandwidth requirement and cannot easily accommodate
`long memory latencies. On the other hand, processors typi
`cally request Specific data from memory or another device
`and then wait for the data without giving up access to the
`System bus. Also, processors require a relatively high pri
`ority. This often results in contention for the system bus
`between the processor and devices having high bandwidth
`requirements.
`A conventional System with multiple bus masters uses an
`address bus and a data bus to control the memory System.
`Typically, both of these buSSes are arbitrated for and granted
`to one master at a time. Many cycles of bus time are lost due
`to dead time between masters, and time required for each
`master to communicate its data request to the memory
`controller. In addition, the processor uses the same bus for
`doing “program Input/Output functions, which are very
`inefficient in terms of bus utilization.
`A typical System that includes a raster Scan display output
`for graphics uses a Second memory System for this time
`critical function. Not only does this extra memory System
`increases cost, but the overall performance of the System is
`impacted due to the need for the data to be copied from
`processor memory Space into the display memory Space.
`
`15
`
`25
`
`35
`
`40
`
`45
`
`50
`
`55
`
`SUMMARY OF THE INVENTION
`The unified memory System of the present invention
`provides a high enough bandwidth to enable a graphics and
`display Subsystem to use the Same memory as a processor
`and other bus transactor circuits. The unified memory Sys
`tem includes a processor, a memory controller, a plurality of
`buS transactor circuits and a shared memory port. A proces
`Sor bus is coupled between the processor and the memory
`controller. A first multiple-bit, bidirectional system bus is
`coupled between the shared memory port, the memory
`controller and the plurality of buS transactor circuits. A
`
`60
`
`65
`
`2
`Second multiple-bit, bidirectional System bus is coupled
`between the memory controller and the plurality of bus
`transactor circuits.
`Another aspect of the present invention relates to a
`method of passing data between a shared memory port, a
`memory controller and a plurality of buS transactor circuits,
`the method includes: passing memory data between the
`shared memory port, the memory controller and the plurality
`of bus transactor circuits over a multiple-bit, bidirectional
`data bus, passing non-memory data between the memory
`controller and the plurality of buS transactor circuits over a
`multiple-bit, bidirectional command bus, controlling acceSS
`by the plurality of bus transactor circuits to the data bus with
`the memory controller; and controlling access by the plu
`rality of bus transactor circuits to the command bus with the
`memory controller independently of access to the data bus.
`BRIEF DESCRIPTION OF THE DRAWINGS
`FIG. 1 is a block diagram of an integrated circuit accord
`ing to one embodiment of the present invention.
`FIG. 2 is a block diagram showing the integrated circuit
`coupled to a variety external devices.
`FIG. 3 is a memory map of the integrated circuit.
`FIG. 4 is a more detailed block diagram of the integrated
`circuit, according to one embodiment of the present inven
`tion.
`FIG. 5 is a diagram illustrating inputs and outputs of a
`System buS interface unit in a bus transactor circuit within
`the integrated circuit.
`FIG. 6 is a diagram illustrating an acknowledge message
`format.
`FIG. 7 is a diagram illustrating logical separation of a dual
`port RAM in the system bus interface unit shown in FIG. 5.
`FIG. 8 is a diagram illustrating a command buS message
`header format.
`FIG. 9 is a diagram illustrating a command buS message
`header format for a Screen block transfer.
`FIG. 10 is a table illustrating available transaction types
`of a command field in the header formats of FIGS. 8 and 9.
`FIG. 11 is a waveform diagram illustrating data bus
`timing within the integrated circuit.
`FIG. 12 is a waveform diagram illustrating command bus
`within the integrated circuit.
`FIG. 13 is a block diagram illustrating an example of a
`subsystem interface to the DPRAM shown in FIG. 5.
`FIG. 14 is a waveform diagram illustrating waveforms in
`the subsystem interface shown in FIG. 13 during a PIO read.
`FIG. 15 is a waveform diagram illustrating waveforms in
`the subsystem interface shown in FIG. 13 during a PIO
`write.
`FIG. 16 is a waveform diagram illustrating waveforms
`during outbound data transferS.
`FIG. 17 is a block diagram of a processor in the integrated
`circuit according to one embodiment of the present inven
`tion.
`FIG. 18 is a simplified block diagram illustrating connec
`tion of a memory controller to the System blocks of inte
`grated circuit 10.
`FIG. 19 is a diagram illustrating inputs and outputs of the
`memory controller shown in FIG. 18.
`FIG. 20 is a block diagram of an interface between the
`memory controller and external memory.
`FIGS. 21A-21C together form a table of memory con
`troller registers.
`
`Kingston Exhibit 1011 - 38
`
`

`

`US 6,247,084 B1
`
`1O
`
`3
`FIG. 22 is a table which defines each bit of a reset and
`Status register.
`FIG. 23 is a table which defines each bit of a system
`configuration register.
`FIG. 24 is a table which defines each bit of a memory
`configuration register.
`FIG. 25 is a table which defines each bit of a memory
`initialization and refresh register.
`FIG. 26 is a table which defines each bit of a frame
`configuration register.
`FIG. 27 is a table which defines each bit of frame starting
`tile address and tile configuration registers.
`FIG. 28 is a table which lists common frame resolution
`15
`numbers.
`FIG.29 is a table which defines each bit of a display DMA
`control register.
`FIG.30 is a table which defines each bit of a display DMA
`ID register.
`FIG. 31 is a table which defines each bit of a display
`Starting offset register.
`FIG. 32 is a table which defines each bit of a display
`Screen size register.
`FIG. 33 is a table which defines each bit of a dither LUT
`25
`register.
`FIG. 34 is a diagram illustrating how pixel data is cached
`in a window cache.
`FIG. 35 is a table which defines each bit of a window
`Starting address register.
`FIG. 36 is a table which defines each bit of a window size
`register.
`FIG.37 is a table which defines each bit of a load window
`cache register.
`FIG.38 is a table which defines each bit of a flush window
`cache register.
`FIG. 39 is a table which defines each bit of a window
`cache Status register.
`FIG. 40 is a table which defines a packer data register.
`FIG. 41 is a table which defines each bit of a packer
`Starting address register.
`FIG. 42 is a table which defines each bit of a packer data
`Size register.
`FIG. 43 is a table which defines each bit of display current
`address registers.
`FIG. 44 is a table which defines each bit of display remain
`Size registers.
`FIG. 45 is a table which defines each bit of a window
`current address register.
`FIG. 46 is a table which defines each bit of window
`remain registers.
`FIG. 47 is a waveform diagram illustrating PIO read
`response timing.
`FIG. 48 is a waveform diagram illustrating cache line fill
`response timing.
`FIG. 49 is a waveform diagram illustrating PIO write
`timing.
`FIG. 50 is a waveform diagram illustrating PIO read
`timing.
`FIG. 51 is a waveform diagram illustrating DMA request
`timing.
`FIG. 52 is a diagram illustrating interface Signals to and
`from a graphics and display Subsystem within the integrated
`circuit.
`
`35
`
`4
`FIG. 53 is a table indicating a DISP LD1:0 signal
`format.
`FIG. 54 is a diagram of a DMA command header for
`Screen relative addressing direct memory accesses (DMAS).
`FIG. 55 is a block diagram of the graphics and display
`Subsystem.
`FIG. 56 is a diagram illustrating partitioning of a DPRAM
`in the graphics and display Subsystem.
`FIG. 57 is a simplified block diagram of a data path a bus
`interface unit of the graphics and display Subsystem.
`FIG. 58 is a simplified block diagram of a subsystem
`interface unit of the graphics and display Subsystem.
`FIG. 59 is a block diagram of a pixel pipe section of the
`graphics and display Subsystem.
`FIG. 60 is a block diagram of a graphics BitBLT data flow
`through the graphics and display Subsystem.
`FIG. 61 is a block diagram of a serial Subsystem in the
`integrated circuit.
`DETAILED DESCRIPTION OF THE
`PREFERRED EMBODIMENTS
`The integrated circuit of the present invention has a
`unified memory and dual bus architecture which maximizes
`bandwidth to and from an external memory device while
`minimizing latency for individual Subsystems that compete
`for access to the memory device.
`FIG. 1 is a block diagram of the integrated circuit of the
`present invention. Integrated circuit 10 includes processor
`12, memory controller 14, plurality of buS transactor circuits
`15A-15C, shared memory port 20 and dual system buses 22
`and 24. Processor 12 is coupled to memory controller 14
`over a bidirectional processor buS 26 which includes pro
`cessor address lines 28, processor control lines 30 and
`processor data lines 32 which allow processor 12 to com
`municate with memory controller 14.
`Memory controller 14 is coupled to shared memory port
`20 and system buses 22 and 24. Shared memory port 20
`includes a memory address interface 40, a memory control
`interface 42 and a memory data interface 44. Memory data
`interface 44 is coupled to system bus 22. Shared memory
`port 20 is coupled to an external memory d

This document is available on Docket Alarm but you must sign up to view it.


Or .

Accessing this document will incur an additional charge of $.

After purchase, you can access this document again without charge.

Accept $ Charge
throbber

Still Working On It

This document is taking longer than usual to download. This can happen if we need to contact the court directly to obtain the document and their servers are running slowly.

Give it another minute or two to complete, and then try the refresh button.

throbber

A few More Minutes ... Still Working

It can take up to 5 minutes for us to download a document if the court servers are running slowly.

Thank you for your continued patience.

This document could not be displayed.

We could not find this document within its docket. Please go back to the docket page and check the link. If that does not work, go back to the docket and refresh it to pull the newest information.

Your account does not support viewing this document.

You need a Paid Account to view this document. Click here to change your account type.

Your account does not support viewing this document.

Set your membership status to view this document.

With a Docket Alarm membership, you'll get a whole lot more, including:

  • Up-to-date information for this case.
  • Email alerts whenever there is an update.
  • Full text search for other cases.
  • Get email alerts whenever a new case matches your search.

Become a Member

One Moment Please

The filing “” is large (MB) and is being downloaded.

Please refresh this page in a few minutes to see if the filing has been downloaded. The filing will also be emailed to you when the download completes.

Your document is on its way!

If you do not receive the document in five minutes, contact support at support@docketalarm.com.

Sealed Document

We are unable to display this document, it may be under a court ordered seal.

If you have proper credentials to access the file, you may proceed directly to the court's system using your government issued username and password.


Access Government Site

We are redirecting you
to a mobile optimized page.





Document Unreadable or Corrupt

Refresh this Document
Go to the Docket

We are unable to display this document.

Refresh this Document
Go to the Docket