throbber
(19) United States
`(12) Patent Application Publication (10) Pub. No.: US 2007/0083785 A1
`Sutardja
`(43) Pub. Date:
`Apr. 12, 2007
`
`US 20070083785A1
`
`(54)
`
`(76)
`
`(21)
`(22)
`
`(63)
`
`(60)
`
`SYSTEM WITH HIGH POWER AND LOW
`POWER PROCESSORS AND THREAD
`TRANSFER
`
`Inventor: Sehat Sutardja, Los Altos Hills, CA
`(US)
`Correspondence Address:
`HARNESS, DICKEY & PIERCE P.L.C.
`5445 CORPORATE DRIVE
`SUTE 200
`TROY, MI 48098 (US)
`Appl. No.:
`11/523,996
`Filed:
`Sep. 20, 2006
`
`Related U.S. Application Data
`Continuation-in-part of application No. 1 1/503,016,
`filed on Aug. 11, 2006, and which is a continuation
`in-part of application No. 10/865.368, filed on Jun.
`10, 2004, and which is a continuation-in-part of
`application No. 11/322,447, filed on Dec. 29, 2005.
`Provisional application No. 60/825,368, filed on Sep.
`12, 2006. Provisional application No. 60/823,453,
`filed on Aug. 24, 2006. Provisional application No.
`
`60/822,015, filed on Aug. 10, 2006. Provisional appli
`cation No. 60/820,867, filed on Jul. 31, 2006. Provi
`sional application No. 60/799,151, filed on May 10,
`2006. Provisional application No. 60/678.249, filed
`on May 5, 2005.
`
`Publication Classification
`
`(51) Int. Cl.
`(2006.01)
`G06F I/00
`(52) U.S. Cl. .............................................................. 713/323
`
`(57)
`
`ABSTRACT
`
`A system on chip (SOC) includes first and second processors
`and a control module. The first processor implemented by
`the SOC has active and inactive states and processes first and
`second sets of threads during the active state. The second
`processor implemented by the SOC has active and inactive
`states, wherein the second processor consumes less power
`when operating in the active state than the first processor
`operating in the active state. The control module, imple
`mented by the SOC communicates with the first and second
`processors, selectively transfers the second set of threads
`from the first processor to the second processor and selects
`the inactive state of the first processor. The second processor
`processes the second set of threads.
`
`^1222/1.
`2 fact yea
`'''.
`
`
`
`
`
`
`
`
`
`
`
`Volatile Memory
`
`
`
`
`
`
`
`11
`
`yawa
`2Pimary GP
`
`
`
`/O interface
`
`66
`
`f 65
`
`Flash and/or
`HDD with
`FLASHF
`
`Secondary
`GPU
`
`64
`
`Petitioner Mercedes Ex-1008, 0001
`
`

`

`Patent Application Publication Apr. 12, 2007 Sheet 1 of 47
`
`US 2007/0083785 A1
`
`
`
`
`
`* • • • • • • • • • • • • • • • • • • • • • • •
`
`+ • • • • • • - - - - - - - - • • • • • • • •
`
`
`
`
`
`Petitioner Mercedes Ex-1008, 0002
`
`

`

`ato"
`
`0sjuawaBbeueyyplyJongwaysks
`
`0zJayoe9veausey|SZace
`sngwa}skSIz9¢
`
`
`zzzeSNg1Dd
`
`
`
`S}O|S[Dd
`
`yesdydO/|
`
`sng
`
`Patent Application Publication Apr. 12,2007 Sheet 2 of 47
`
`US 2007/0083785 A1
`
`abpugVS!0}10d
`
`sngVSI
`
`”?
`
`eycyLy
`
`adlAaqg
`
`
`
`Buyuiodoipny
`
`Petitioner Mercedes Ex-1008, 0003
`
`Petitioner Mercedes Ex-1008, 0003
`
`
`
`
`

`

`Patent Application Publication Apr. 12, 2007 Sheet 3 of 47
`
`US 2007/0083785 A1
`
`8
`
`8
`
`8
`
`
`
`&
`
`&
`
`9.
`o
`C
`(s
`
`s -
`
`(w
`
`
`
`
`
`Yaya wasn'
`NNNNNN
`
`NNNNNN NNN
`N.
`
`Petitioner Mercedes Ex-1008, 0004
`
`

`

`Patent Application Publication Apr. 12, 2007 Sheet 4 of 47
`
`US 2007/0083785 A1
`
`l
`
`8
`
`
`
`
`
`
`
`3
`
`so
`
`
`
`st
`
`k
`C
`r
`C
`c
`c
`
`:
`
`M 2
`
`s
`3 d
`: O) s
`
`M 3.
`3 a
`292 o
`:
`
`29 2.
`
`a a
`
`N
`
`S
`
`E
`Cld
`s
`
`E
`O)
`
`1.
`
`
`
`9 NSN
`
`
`
`
`
`
`
`N N
`Y NSNR
`
`Š v w a
`
`SYYa-NNN
`
`
`
`N N
`N N NSN
`
`Petitioner Mercedes Ex-1008, 0005
`
`

`

`Patent Application Publication Apr. 12, 2007 Sheet 5 of 47
`
`US 2007/0083785 A1
`
`w
`cN
`CO o
`
`co
`w
`O OO
`
`e S 5
`5 E
`25
`as E &
`|u
`(/)
`
`R
`eIS 3
`5 S
`22
`58 se
`u
`(?)
`
`i
`
`
`
`CO
`
`
`
`
`
`9 cul
`SS E
`St
`
`it u
`
`
`
`-
`
`
`
`
`
`
`
`Petitioner Mercedes Ex-1008, 0006
`
`

`

`Patent Application Publication Apr. 12, 2007 Sheet 6 of 47
`
`US 2007/0083785 A1
`
`
`
`
`
`
`
`
`
`
`
`
`
`Petitioner Mercedes Ex-1008, 0007
`
`

`

`Patent Application Publication Apr. 12, 2007 Sheet 7 of 47
`
`US 2007/0083785 A1
`
`ZZZZZZZZZZZZZZZZZZZZZZ
`
`
`
`
`
`
`
`
`
`09
`
`Sng |Od
`
`Petitioner Mercedes Ex-1008, 0008
`
`

`

`Patent Application Publication Apr. 12, 2007 Sheet 8 of 47
`
`US 2007/0083785 A1
`
`04. l.
`
`
`
`
`
`99
`
`%@!!9991%
`
`
`
`
`
`
`
`Petitioner Mercedes Ex-1008, 0009
`
`

`

`Patent Application Publication Apr. 12, 2007 Sheet 9 of 47
`
`US 2007/0083785 A1
`
`N3.
`
`V
`
`(D
`
`O
`N
`
`
`
`D
`
`on & e
`E
`O
`E
`g
`O)
`O
`
`w
`Co
`
`w
`
`o
`C
`
`w
`
`v
`v
`
`e
`(s
`g
`8 CS
`f
`
`e
`
`8 (5
`D
`O
`
`n
`N
`
`
`
`al
`-
`
`N
`
`N
`
`N
`& g
`
`5
`3.
`O
`9.
`
`O
`
`
`
`9
`
`N
`
`v 5
`E E
`is
`9)
`g
`o
`cer
`e
`
`Y 2. Y
`e
`d
`
`E. s d
`
`e 2
`
`2
`ve
`
`?
`9 ul
`Ele
`9
`Sc
`is
`is
`
`c
`l
`
`w
`ca
`
`cal s
`d
`o to
`-
`O
`als
`ar
`
`g
`S. <
`N
`N
`
`Petitioner Mercedes Ex-1008, 0010
`
`

`

`Patent Application Publication Apr. 12, 2007 Sheet 10 of 47
`
`US 2007/0083785 A1
`
`
`
`
`
`
`
`Petitioner Mercedes Ex-1008, 0011
`
`

`

`Patent Application Publication Apr. 12, 2007 Sheet 11 of 47
`
`US 2007/0083785 A1
`
`
`
`
`
`º || ||
`
`
`
`
`
`
`
`Petitioner Mercedes Ex-1008, 0012
`
`

`

`Patent Application Publication Apr. 12, 2007 Sheet 12 of 47
`
`US 2007/0083785 A1
`
`/ | 99|9€ 19
`
`Z92
`
`0/12
`
`00€
`
`
`
`
`
`
`
`
`
`Petitioner Mercedes Ex-1008, 0013
`
`

`

`Patent Application Publication Apr. 12, 2007 Sheet 13 of 47
`
`US 2007/0083785 A1
`
`eqed
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`Petitioner Mercedes Ex-1008, 0014
`
`

`

`Patent Application Publication Apr. 12, 2007 Sheet 14 of 47
`
`US 2007/0083785 A1
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`Petitioner Mercedes Ex-1008, 0015
`
`

`

`Patent Application Publication Apr. 12, 2007 Sheet 15 of 47
`
`US 2007/0083785 A1
`
`969
`
`069
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`#7779
`
`Petitioner Mercedes Ex-1008, 0016
`
`

`

`Patent Application Publica
`ion
`
`Apr. 12,
`2007 Sheet 16 of 47
`
`US 2007/0083785 A1
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`0
`
`OOdT
`
`(SB)Sng
`
`LIGGEEL
`
`LIGGEEL
`
`Petitioner Mercedes Ex-1008, 0017
`
`

`

`Patent Application Publication Apr. 12, 2007 Sheet 17 of 47
`
`US 2007/0083785 A1
`
`897
`
`097
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`Petitioner Mercedes Ex-1008, 0018
`
`

`

`Patent Application Publication Apr. 12, 2007 Sheet 18 of 47
`
`US 2007/0083785 A1
`
`Z89^_089
`
`869
`
`989
`
`069
`
`167
`
`---
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`Petitioner Mercedes Ex-1008, 0019
`
`

`

`Patent Application Publ
`ion
`icat
`
`Apr. 12
`
`9
`
`2007 Sheet 19 of 47
`
`US 2007/0083785 A1
`
`099
`
`0£9
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`LIGGEEL
`
`Petitioner Mercedes Ex-1008, 0020
`
`

`

`Patent Application Publication Apr. 12, 2007 Sheet 20 of 47
`
`US 2007/0083785 A1
`
`| 89?InpOW
`
`879
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`Petitioner Mercedes Ex-1008, 0021
`
`

`

`Patent Application Publication Apr. 12, 2007 Sheet 21 of 47
`
`US 2007/0083785 A1
`
`099
`
`• • • • • • • • • • • • • • - - - - • •
`
`
`
`
`
`so se
`
`- - - - - as
`
`?InpOW
`
`Petitioner Mercedes Ex-1008, 0022
`
`

`

`Patent Application Publication Apr. 12, 2007 Sheet 22 of 47
`
`US 2007/0083785 A1
`
`
`
`•
`
`Petitioner Mercedes Ex-1008, 0023
`
`

`

`Patent Application Publication Apr. 12, 2007 Sheet 23 of 47
`
`US 2007/0083785 A1
`
`
`
`dT099 ……”
`
`w
`w
`
`299
`
`699
`
`899
`
`Z99
`
`| 999
`
`
`
`b - or - us up us as sur - - - - on up
`
`- - - - - a as a so a as
`
`a
`
`up to e o os ou o us
`
`199
`
`Petitioner Mercedes Ex-1008, 0024
`
`

`

`Patent Application Publication Apr. 12, 2007 Sheet 24 of 47
`
`US 2007/0083785 A1
`
`N
`
`• • • • • • • • • • • • • • • + • • •
`
`8
`
`o
`
`U
`
`g
`
`
`
`
`
`Z99º |Z99
`
`O
`
`an - - - - - - a - us as a
`
`a
`
`ap
`
`or a
`
`us up
`
`| 99
`
`Petitioner Mercedes Ex-1008, 0025
`
`

`

`Patent Application Publication Apr. 12, 2007 Sheet 25 of 47
`
`US 2007/0083785 A1
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`hue so e
`
`up v up up us up our
`
`up up up us oo e o us as
`
`70/
`
`Petitioner Mercedes Ex-1008, 0026
`
`

`

`Patent Application Publication Apr. 12, 2007 Sheet 26 of 47
`
`US 2007/0083785 A1
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`Petitioner Mercedes Ex-1008, 0027
`
`

`

`Patent Application Publication Apr. 12, 2007 Sheet 27 of 47
`
`US 2007/0083785 A1
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`Petitioner Mercedes Ex-1008, 0028
`
`

`

`Patent Application Publication Apr. 12, 2007 Sheet 28 of 47
`
`US 2007/0083785 A1
`
`Keluy » SIG
`CJC].dT Å
`
`
`
`---- «… • • • • • • • - - - - -
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`Petitioner Mercedes Ex-1008, 0029
`
`

`

`Patent Application Publication Apr. 12, 2007 Sheet 29 of 47
`
`US 2007/0083785 A1
`
`
`
`078
`
`Petitioner Mercedes Ex-1008, 0030
`
`

`

`Patent Application Publication Apr. 12, 2007 Sheet 30 of 47
`
`US 2007/0083785 A1
`
`
`
`
`
`
`
`Petitioner Mercedes Ex-1008, 0031
`
`

`

`Patent Application Publication Apr. 12, 2007 Sheet 31 of 47
`
`US 2007/0083785 A1
`
`006
`
`
`
`
`
`?InpOW
`
`
`
`Z 16
`
`798
`
`096
`
`Petitioner Mercedes Ex-1008, 0032
`
`

`

`Patent Application Publication Apr. 12,2007 Sheet 32 of 47
`
`US 2007/0083785 A1
`
`cPLL
`
`JayoujuoDAway
`
`Ze‘Sid
`
`J3HNGWVU10WivdS
`
`S j
`
`*pel
`
`ouueyypesy
`
`
`J9||OUODONAg
`
`Jeyew04¥sIG
`
`"]Jabeuey,sayng7WONIVS/4IdW
`JayjoyuoeDtot
`
`0032%
`
`Soepeyu|
`
`cSbt
`
`JOSS900)4
`
`cll
`
`gHVv
`
`OfLl
`
`8cLt
`
`,’
`
`cOLL
`
`JSOH
`
`Petitioner Mercedes Ex-1008, 0033
`
`Petitioner Mercedes Ex-1008, 0033
`
`
`
`
`

`

`Patent Application Publication Apr. 12, 2007 Sheet 33 of 47
`
`US 2007/0083785 A1
`
`
`
`
`
`
`
`1152
`
`1150
`
`Fifo empty
`
`Flash
`Register
`
`
`
`Wrapper
`
`clk2 clf
`
`FIG. 28
`
`Petitioner Mercedes Ex-1008, 0034
`
`

`

`Patent Application Publication Apr. 12, 2007 Sheet 34 of 47
`
`US 2007/0083785 A1
`
`ZZZ!
`
`
`
`?InpOW
`
`
`
`|OJ?uOO ?AJO
`
`
`
`Petitioner Mercedes Ex-1008, 0035
`
`

`

`Patent Application Publication Apr. 12, 2007 Sheet 35 of 47
`
`US 2007/0083785 A1
`
`
`
`Petitioner Mercedes Ex-1008, 0036
`
`

`

`Patent Application Publication Apr. 12, 2007 Sheet 36 of 47
`
`US 2007/0083785 A1
`
`w
`W
`Y
`
`• • • • • • • • • = = = = • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • - - - - - - -
`
`JOSS300.Jd dT
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`Petitioner Mercedes Ex-1008, 0037
`
`

`

`Patent Application Publication Apr. 12, 2007 Sheet 37 of 47
`
`US 2007/0083785 A1
`
`JOSS3OOJc] &T
`
`
`
`SCIWEJHL 79€k
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`Petitioner Mercedes Ex-1008, 0038
`
`

`

`Patent Application Publication Apr. 12,2007 Sheet 38 of 47
`
`US 2007/0083785 A1
`
`
`
`OBE}----.,
`
`OLE
`
`wtw
`foe]—
`
`algsaysiBey
`
`‘sjulodyoeyo-
`
`‘syalsiBay-
`
`weibosg-
`
`sJeyunoD
`
`9
`Gel
`
`JOSS9001gdH
`
`
`
`
`
`‘syulodyoayd‘suaysibaySavVayHL
`
`sjajuno9weibolg
`
`v9EL
`
`
`
`aINpo-|OujU0yD
`
`8SE1‘suaqysiBay-
`
`
`
`allfJaysiBay
`
`
`
`ezelsuayunoyove!
`
`wesBold-
`
`JOS$8901g47
`
`™v‘.a‘.‘‘‘a«a‘aa4‘444a14aflflflflflflflit''''’‘''''‘‘‘'''‘''t'..,'‘..''.‘'.'t.'t'.'.tt‘et'.'''..’.++‘**44..,a1''a4’'’'’1'''‘‘','‘'.*,
`
`a
`
` OLE‘Sis
`
`Petitioner Mercedes Ex-1008, 0039
`
`Petitioner Mercedes Ex-1008, 0039
`
`
`
`
`
`
`
`

`

`Patent Application Publication Apr. 12, 2007 Sheet 39 of 47
`
`US 2007/0083785 A1
`
`w
`Y
`W
`- - - - - - - we sees - - - - - - - - - - - - - a re - - - - - - - - - - - we so - - - - - - - - - - - - - - a m - - - - - - - - a s a
`
`- - - - - - - - - - - a n - n w - - - - a so a
`
`- - - - - - -
`
`********************* • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • - - - - - - - - - - - - - - - - -
`
`
`
`
`
`
`
`
`
`
`
`
`
`'- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ess - - - - - - a sesse - - - - - - - - - - - - - -
`
`Petitioner Mercedes Ex-1008, 0040
`
`

`

`Patent Application Publication Apr. 12, 2007 Sheet 40 of 47
`
`US 2007/0083785 A1
`
`Su??unoo
`uueußOJd -
`
`
`
`SGWEHHI W97*
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`Petitioner Mercedes Ex-1008, 0041
`
`

`

`Patent Application Publication Apr. 12,2007 Sheet 41 of 47
`
`US 2007/0083785 A1
`
`eSrl
`
`cP
`
`allyJaysiBey
`
`‘sjulodyoey4-
`
`‘suaysiBay-
`
`
`
`weJBolg-
`
`suajuno9
`
`O9FL
`
`SJO}SISUBIL
`
`UcEeOld
`
`Osrl-..-.3
`
`:O/+L
`
`ipsp
`
`aji4Ja1s1IBay
`
`‘sjulodyoeuy-
`
`‘sjaysiBay-
`
`
`
`weJBolg-
`
`sJaqunoy
`
`9Srl
`
`SJO}SISUEL|
`
`
`
`:‘sjulndyoey4‘sia}siBay
`
`
`
`siayunoywelboig
`
`SOVSYHL
`
`vO
`
`
`
`a|NPOWJoO.JUOD
`
`Petitioner Mercedes Ex-1008, 0042
`
`Petitioner Mercedes Ex-1008, 0042
`
`
`
`
`
`

`

`Patent Application Publication Apr. 12, 2007 Sheet 42 of 47
`
`US 2007/0083785 A1
`
`1500
`
`Operate in HP
`mode?
`
`Transition
`to LP mode?
`
`1528
`
`1532
`
`Operate in LP
`mode?
`
`Transition
`to HP mode?
`
`Transfer threads to LP
`processor or GPU
`
`Transfer threads to
`HP processor or GPU
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`Transfer registers,
`checkpoints and/or
`program counters to
`LP processor or GPU
`
`Threads
`and other info
`transferred?
`
`Transition HP
`processor or GPU to
`inactive mode.
`
`1536
`
`1540
`
`Transfer registers,
`checkpoints and/or
`program counters to
`HP processor or GPU
`
`1544
`
`Threads
`and other info
`transferred?
`
`1546
`
`Transition LP
`processor or GPU to
`inactive mode.
`
`Petitioner Mercedes Ex-1008, 0043
`
`

`

`Patent Application Publication Apr. 12, 2007 Sheet 43 of 47
`
`US 2007/0083785 A1
`
`
`
`
`
`
`
`
`
`
`
`Petitioner Mercedes Ex-1008, 0044
`
`

`

`veglJEAUGposse001dKowa
`
`
`
`5ainpow)
`
`SZ9Lyc9leZ91
`W-/aipuldsANseu|
`
`Bojeuyainpow
`
`
`90dGAG
`
`cc9l
`
`
`
`|04jU0DGAGLZ9L
`
`Patent Application Publication Apr. 12,2007 Sheet 44 of 47
`
`US 2007/0083785 A1
`
`aig”
`
`areOld
`
`aInpow
`
`ABayenS
`
`ainpow
`
`dsa
`
`aINPOIN
`
`04}U0
`
`—-ewr ove GB OW
`
`6Z9L
`
`Petitioner Mercedes Ex-1008, 0045
`
`Petitioner Mercedes Ex-1008, 0045
`
`
`

`

`Patent Application Publication Apr. 12, 2007 Sheet 45 of 47
`
`US 2007/0083785 A1
`
`999),
`
`as
`
`as ess as as as s as as
`
`- was we s -
`
`-
`
`-
`
`-
`
`-
`
`-
`
`-
`
`- 8
`
`re
`
`
`
`| 79],
`
`& = & • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • •
`
`Petitioner Mercedes Ex-1008, 0046
`
`

`

`Patent Application Publication Apr. 12,2007 Sheet 46 of 47
`
`US 2007/0083785 A1
`
`egalebeis|iLpeo
`zegl41oMed
`Jamod
`
`L891
`
`Ave‘Sis
`
` Ave‘Sls
`
`8291
`
`xogdo}jas:
`
`Aiddng
`
`c99l
`
`A\ddng
`
`201naq
`
`do]18S
`
`JO1JUOD
`
`a|npo-w
`
`2891
`
`O89L
`
`6991
`
`
`
`auoydJeINIIaD:
`
`auoud
`
`jOJUOD)
`
`siNnpoW
`
`abe10}¢
`
`901Neq
`
`9991
`
`L991
`
`Petitioner Mercedes Ex-1008, 0047
`
`Petitioner Mercedes Ex-1008, 0047
`
`
`
`
`
`
`
`

`

`Patent Application Publication Apr. 12,2007 Sheet 47 of 47
`
`US 2007/0083785 A1
`
`wee ew ewes ee see eee yew eee ee eee eee eee pee eer ere Tee
`
`S691
`
`L691
`
`aBeiojs
`
`BdIAIG
`
`C691
`
`
`
`
`
`Jakeldeipayy
`
`jO4jUOD
`
`ainpo;w
`
`6691
`
`Petitioner Mercedes Ex-1008, 0048
`
`Petitioner Mercedes Ex-1008, 0048
`
`
`
`

`

`US 2007/0O83785 A1
`
`Apr. 12, 2007
`
`SYSTEM WITH HIGH POWER AND LOW POWER
`PROCESSORS AND THREAD TRANSFER
`
`CROSS-REFERENCE TO RELATED
`APPLICATIONS
`0001. This application claims the benefit of Provisional
`Application No. 60/825,368, filed Sep. 12, 2006, 60/823,
`453, filed Aug. 24, 2006, and 60/822,015, filed Aug. 10,
`2006 and is a continuation-in-part of U.S. patent application
`Ser. No. 11/503,016, filed on Aug. 11, 2006, which claims of
`the benefit of Provisional Application Ser. No. 60/820,867
`filed on Jul. 31, 2006, and Provisional Application Ser. No.
`60/799,151 filed on May 10, 2006, which is a continuation
`in-part of U.S. patent application Ser. No. 10/865,368, filed
`on Jun. 10, 2004, and a continuation-in-part of U.S. patent
`application Ser. No. 1 1/322,447, which was filed on Dec. 29.
`2005 and which claims the benefit of Provisional Applica
`tion Ser. No. 60/678.249 filed on May 5, 2005.
`0002 This application is related to U.S. patent applica
`tion Ser. No. 10/779,544, which was filed on Feb. 13, 2004,
`and is related to U.S. patent application Ser. No. 10/865,732,
`which was filed on Jun. 10, 2004. The disclosures of these
`applications are all hereby incorporated by reference in their
`entirety.
`
`FIELD OF THE INVENTION
`0003. The present invention relates to data storage sys
`tems, and more particularly to low power data storage
`systems.
`
`BACKGROUND OF THE INVENTION
`0004 Laptop computers are powered using both line
`power and battery power. The processor, graphics processor,
`memory and display of the laptop computer consume a
`significant amount of power during operation. One signifi
`cant limitation of laptop computers relates to the amount of
`time that the laptop can be operated using batteries without
`recharging. The relatively high power dissipation of the
`laptop computer usually corresponds to a relatively short
`battery life.
`0005 Referring now to FIG. 1A, an exemplary computer
`architecture 4 is shown to include a processor 6 with
`memory 7 Such as cache. The processor 6 communicates
`with an input/output (I/O) interface 8. Volatile memory 9
`such as random access memory (RAM) 10 and/or other
`Suitable electronic data storage also communicates with the
`interface 8. A graphics processor 11 and memory 12 Such as
`cache increase the speed of graphics processing and perfor
`aCC.
`0006. One or more I/O devices such as a keyboard 13 and
`a pointing device 14 (Such as a mouse and/or other Suitable
`device) communicate with the interface 8. A high power disk
`drive (HPDD) 15 such as a hard disk drive having one or
`more platters with a diameter greater than 1.8" provides
`nonvolatile memory, stores data and communicates with the
`interface 8. The HPDD 15 typically consumes a relatively
`high amount of power during operation. When operating on
`batteries, frequent use of the HPDD 15 will significantly
`decrease battery life. The computer architecture 4 also
`includes a display 16, an audio output device 17 Such as
`audio speakers and/or other input/output devices that are
`generally identified at 18.
`
`0007 Referring now to FIG. 1B, an exemplary computer
`architecture 20 includes a processing chipset 22 and an I/O
`chipset 24. For example, the computer architecture may be
`a Northbridge/Southbridge architecture (with the processing
`chipset corresponding to the Northbridge chipset and the I/O
`chipset corresponding to the Southbridge chipset) or other
`similar architecture. The processing chipset 22 communi
`cates with a processor 25 and a graphics processor 26 via a
`system bus 27. The processing chipset 22 controls interac
`tion with volatile memory 28 (such as external DRAM or
`other memory), a Peripheral Component Interconnect (PCI)
`bus 30, and/or Level 2 cache 32. Level 1 cache 33 and 34
`may be associated with the processor 25 and/or the graphics
`processor 26, respectively. In an alternate embodiment, an
`Accelerated Graphics Port (AGP) (not shown) communi
`cates with the processing chipset 22 instead of and/or in
`addition to the graphics processor 26. The processing chipset
`22 is typically but not necessarily implemented using mul
`tiple chips. PCI slots 36 interface with the PCI bus 30.
`0008. The I/O chipset 24 manages the basic forms of
`input/output (I/O). The I/O chipset 24 communicates with an
`Universal Serial Bus (USB) 40, an audio device 41, a
`keyboard (KBD) and/or pointing device 42, and a Basic
`Input/Output System (BIOS) 43 via an Industry Standard
`Architecture (ISA) bus 44. Unlike the processing chipset 22,
`the I/O chipset 24 is typically (but not necessarily) imple
`mented using a single chip, which is connected to the PCI
`bus 30. A HPDD 50 such as a hard disk drive also commu
`nicates with the I/O chipset 24. The HPDD 50 stores a
`full-featured operating system (OS) such as Windows XPR)
`Windows 2000(R), Linux and MAC(R)-based OS that is
`executed by the processor 25.
`SUMMARY OF THE INVENTION
`0009. A system on chip (SOC) comprises a first processor
`implemented by the SOC that has active and inactive states
`and that processes first and second sets of threads during the
`active state and a second processor implemented by the SOC
`that has active and inactive states, wherein the second
`processor consumes less power when operating in the active
`state than the first processor operating in the active state. The
`SOC further comprises a control module, implemented by
`the SOC that communicates with the first and second
`processors, that selectively transfers the second set of
`threads from the first processor to the second processor and
`selects the inactive state of the first processor. The second
`processor processes the second set of threads.
`0010. In another feature, the SOC further comprises a
`register file implemented by the SOC that communicates
`with the first processor and the second processor, and that
`stores thread information for the first and second processors.
`The thread information includes at least one of registers,
`checkpoints, and program counters for the threads of the first
`and second processors.
`0011. In another feature, the SOC further comprises a
`first register file that communicates with the first processor
`and that stores first thread information for the first processor
`and a second register file that communicates with the second
`processor and that stores second thread information for the
`second processor. The first and second thread information
`includes at least one of registers, checkpoints, and program
`counters for the threads of the first and second processors,
`respectively.
`
`Petitioner Mercedes Ex-1008, 0049
`
`

`

`US 2007/0O83785 A1
`
`Apr. 12, 2007
`
`0012. In another feature, the control module transfers the
`thread information from the first register file to the second
`register file when transferring the threads from the first
`processor to the second processor.
`0013 In another feature, the first processor includes first
`transistors and the second processor includes second tran
`sistors, and wherein the first transistors have a higher
`leakage current than the second transistors.
`0014. In another feature, the first processor includes first
`transistors and the second processor includes second tran
`sistors, and wherein the second transistors have a greater
`size than the first transistors.
`0015. In another feature, the SOC is in a high-power
`mode when the first processor is in an active state and a
`low-power mode when the first processor is in an inactive
`State.
`In another feature, the first and second processors
`0016.
`comprise first and second graphics processing units, respec
`tively.
`0017. In still other features, a method for processing data
`comprises implementing first and second processors on a
`system on chip (SOC), wherein the first and second proces
`sors have active and inactive states, and wherein the second
`processor consumes less power when operating in the active
`state than the first processor operating in the active state. The
`method further comprises processing first and second sets of
`threads during the active state using the first processor,
`selectively transferring the second set of threads from the
`first processor to the second processor; selecting the inactive
`state of the first processor; and processing the second set of
`threads using the second processor.
`0018. In another feature, the method further comprises
`implementing a register file using the SOC and storing
`thread information for the first and second processors in the
`register file. The thread information includes at least one of
`registers, checkpoints, and program counters for the threads
`of the first and second processors.
`0019. In another feature, the method further comprises
`implementing a first register file using the SOC, storing first
`thread information for the first processor in the first register
`file, implementing a second register file using the SOC, and
`storing second thread information for the second processor.
`The first and second thread information includes at least one
`of registers, checkpoints, and program counters for the
`threads of the first and second processors, respectively.
`0020. In another feature, the method further comprises
`transferring the thread information from the first register file
`to the second register file when transferring the threads from
`the first processor to the second processor.
`0021. In another feature, the first processor includes first
`transistors and the second processor includes second tran
`sistors, and wherein the first transistors have a higher
`leakage current than the second transistors.
`0022. In another feature, the first processor includes first
`transistors and the second processor includes second tran
`sistors, and wherein the second transistors have a greater
`size than the first transistors.
`0023. In another feature, the method further comprises
`operating in a high-power mode when the first processor is
`
`in an active state and in a low-power mode when the first
`processor is in an inactive state.
`0024. In another feature, the first and second processors
`comprise first and second graphics processing units, respec
`tively.
`0025. In still other features, a system on chip (SOC)
`comprises first processing means, implemented by the SOC
`that has active and inactive states, for processing first and
`second sets of threads during the active state. The SOC
`further comprises second processing means for processing,
`that is implemented by the SOC and that has active and
`inactive states, wherein the second processing means con
`Sumes less power when operating in the active state than the
`first processing means operating in the active state. The SOC
`further comprises control means, implemented by the SOC,
`for communicating with the first and second processing
`means, for selectively transferring the second set of threads
`from the first processing means to the second processing
`means and selecting the inactive state of the first processing
`means. The second processing means processes the second
`set of threads.
`0026.
`In another feature, the SOC further comprises
`register means, implemented by the SOC and that commu
`nicates with the first processing means and the second
`processing means, for storing thread information for the first
`and second processing means. The thread information
`includes at least one of registers, checkpoints and program
`counters for the threads of the first and second processing
`CaS.
`0027. In another feature, the SOC further comprises first
`register means that communicates with the first processing
`means for storing first thread information for the first
`processing means and second register means that commu
`nicates with the second processing means for storing second
`thread information for the second processing means. The
`first and second thread information includes at least one of
`registers, checkpoints, and program counters for the threads
`of the first and second processing means, respectively.
`0028. In another feature, the control means transfers the
`thread information from the first register means to the
`second register means when transferring the threads from
`the first processing means to the second processing means.
`0029. In another feature, the first processing means
`includes first transistors and the second processing means
`includes second transistors, and wherein the first transistors
`have a higher leakage current than the second transistors.
`0030. In another feature, the first processing means
`includes first transistors and the second processing means
`includes second transistors, and wherein the second transis
`tors have a greater size than the first transistors.
`0031. In another feature, the SOC is in a high-power
`mode when the first processing means is in an active state
`and a low-power mode when the first processing means is in
`an inactive state.
`0032. In another feature, the first and second processing
`means comprise first and second graphics processing means
`for processing graphics, respectively.
`0033. In still other features, a processing system com
`prises a first processor that has active and inactive states and
`
`Petitioner Mercedes Ex-1008, 0050
`
`

`

`US 2007/0O83785 A1
`
`Apr. 12, 2007
`
`that processes at least one thread during the active state and
`a second processor that has active and inactive states,
`wherein the second processor consumes less power when
`operating in the active state than the first processor operating
`in the active state. The processing system further comprises
`a control module that communicates with the first and
`second processors, and that selectively transfers the at least
`one thread from the first processor to the second processor
`and selects the inactive state of the first processor. The
`second processor processes the at least one thread.
`0034. In another feature, the processing system further
`comprises a register file implemented by the SOC that
`communicates with the first processor and the second pro
`cessor and that stores thread information for the first and
`second processors, wherein the thread information includes
`at least one of registers, checkpoints, and program counters
`for the threads of the first and second processors.
`0035) In another feature, a system on chip (SOC) com
`prises the first and second processors and the register file.
`0036). In another feature, the processing system further
`comprises a first register file that communicates with the first
`processor and that stores first thread information for the first
`processor and a second register file that communicates with
`the second processor and that stores second thread informa
`tion for the second processor, wherein the first and second
`thread information includes at least one of registers, check
`points, and program counters for the threads of the first and
`second processors, respectively.
`0037. In another feature, a system on chip (SOC) com
`prises the first and second processors and the first and second
`register files.
`0038. In another feature, the control module transfers the
`thread information from the first register file to the second
`register file when transferring the threads from the first
`processor to the second processor.
`0039. In another feature, the first processor includes first
`transistors and the second processor includes second tran
`sistors, and wherein the first transistors have a higher
`leakage current than the second transistors.
`0040. In another feature, the first processor includes first
`transistors and the second processor includes second tran
`sistors, and wherein the second transistors have a greater
`size than the first transistors.
`0041. In another feature, the processing system is in a
`high-power mode when the first processor is in an active
`state and a low-power mode when the first processor is in an
`inactive state.
`0042. In another feature, the first and second processors
`comprise first and second graphics processing units, respec
`tively.
`0043. In still other features, a method of processing data
`comprises providing first and second processors, wherein
`the first and second processors have active and inactive
`states, and wherein the second processor consumes less
`power when operating in the active state than the first
`processor operating in the active state. The method further
`comprises processing at least one thread during the active
`state using the first processor, selectively transferring the at
`least one thread from the first processor to the second
`
`processor and selecting the inactive state of the first proces
`Sor, and processing the at least one thread using the second
`processor.
`0044) In another feature, the method further comprises
`implementing a register file using the SOC and storing
`thread information for the first and second processors in the
`register file, wherein the thread information includes at least
`one of registers, checkpoints and program counters for the
`threads of the first and second processors.
`0045. In another feature, the method further comprises
`implementing the register file, the first processor and the
`second processor in a system on chip.
`0046.
`In another feature, the method further comprises
`implementing a first register file using the SOC, storing first
`thread information for the first processor in the first register
`file, implementing a second register file using the SOC, and
`storing second thread information for the second processor,
`wherein the first and second thread information includes at
`least one of registers, checkpoints, and program counters for
`the threads of the first and second processors, respectively.
`0047. In another feature, the method further comprises
`implementing the first and second register files, the first
`processor and the second processor in a system on chip.
`

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