System and method for executing hybridized code on a dynamically configurable hardware environment
IPC분류정보
국가/구분
United States(US) Patent
등록
국제특허분류(IPC7판)
G06F-009/445
출원번호
US-0694282
(2003-10-27)
발명자
/ 주소
Eslick,Ian S.
Williams,Mark
French,Robert S.
출원인 / 주소
Broadcom Corporation
대리인 / 주소
Christie, Parker &
인용정보
피인용 횟수 :
7인용 특허 :
14
초록▼
A system and method for executing previously created run time executables in a configurable processing element array is disclosed. In one embodiment, this system and method begins by identifying at least one subset of program code. The method may then generate at least one set of configuration memo
A system and method for executing previously created run time executables in a configurable processing element array is disclosed. In one embodiment, this system and method begins by identifying at least one subset of program code. The method may then generate at least one set of configuration memory contexts that replaces each of the at least one subsets of program code, the at least one set of configuration memory contexts emulating the at least one subset of program code. The method may then manipulate the at least one set of multiple context processing elements using the at least one set of configuration memory contexts. The method may then execute the plurality of threads of program code using the at least one set of multiple context processing elements.
대표청구항▼
What is claimed is: 1. A method of executing software, comprising: identifying a first configuration information required to execute a first kernel code segment; selecting a first accelerator set configured to execute said first kernel code segment; and initiating a direct memory access transfer of
What is claimed is: 1. A method of executing software, comprising: identifying a first configuration information required to execute a first kernel code segment; selecting a first accelerator set configured to execute said first kernel code segment; and initiating a direct memory access transfer of said first configuration information to said first accelerator set. 2. The method of claim 1 further comprising building an entry in a kernel code execution table utilizing said first kernel code segment and said first configuration information. 3. The method of claim 1, wherein said first configuration information is stored in a register and wherein the register defines a context. 4. The method of claim 1, further comprising identifying a first set of arguments. 5. The method of claim 4, wherein said initiating said direct memory access transfer further comprises transferring said first set of arguments. 6. The method of claim 1, further comprising identifying a first set of microcode. 7. The method of claim 6, wherein said initiating said direct memory access transfer further comprises transferring said first set of microcode. 8. The method of claim 1, further comprising identifying a second configuration information required to execute a second kernel code segment and selecting a second accelerator set configured to execute said second kernel code segment. 9. The method of claim 8, wherein said first accelerator set and said second accelerator set are overlapping. 10. The method of claim 8, wherein said first accelerator set and said second accelerator set are non-overlapping. 11. The method of claim 10, wherein said first kernel code segment executes on said first accelerator set and said second kernel code segment executes on said second accelerator set concurrently with the first. 12. The method of claim 11, wherein a third kernel code segment executes on said first accelerator set subsequent to said first kernel code segment and concurrently with said second kernel code segment. 13. The method of claim 1, further comprising identifying a second configuration information required to execute a second kernel code segment, wherein initiating said direct memory access includes transferring the second configuration information to said first accelerator set while said first kernel code set executes on said first accelerator set. 14. The method of claim 1, wherein initiating said direct memory access includes transferring a first set of microcode to said first accelerator set while said first kernel code set executes on said first accelerator set. 15. The method of claim 1, further comprising retrieving a second kernel code segment wherein initiating said direct memory access includes transferring a first set of arguments to said first accelerator set while said first kernel code set executes on said first accelerator set. 16. The method of claim 1, further comprising determining completion requirements of said first kernel code segment to determine the order of execution of said first kernel code segment. 17. The method of claim 16, wherein said determining completion requirements of said first kernel code segment includes determining a variant of said first kernel code segment. 18. The method of claim 16, wherein said determining completion requirements of said first kernel code segment includes determining whether to execute said first kernel code segment in said first accelerator set or in a second accelerator set. 19. An apparatus, comprising: a memory storing a set of configuration information; an accelerator coupled to the memory; and a kernel processor coupled to the memory, said kernel processor controlling the processing of at least one thread of program code on the accelerator by initiating a direct memory access transfer of the configuration information to the accelerator. 20. The apparatus of claim 19, further comprising at least one main processor coupled to the kernel processor and memory, least one main processor being configured to process overhead code. 21. The apparatus of claim 19, wherein said the accelerator is a multiple context processing element. 22. The apparatus of claim 21, wherein said multiple context processing elements are grouped into overlapping bins. 23. The apparatus of claim 21, wherein said multiple context processing elements are grouped into non-overlapping bins. 24. The apparatus of claim 23, wherein said kernel processor is configured to load a first kernel code segment into a first one of said non-overlapping bins and to load a second kernel code segment into a second one of said non-overlapping bins. 25. The apparatus of claim 19, wherein the accelerator is a digital signal processor. 26. The apparatus of claim 25, wherein the digital signal processor has a single instruction cache. 27. The apparatus of claim 25, wherein the digital signal processor has dual instruction caches. 28. The apparatus of claim 25, wherein the digital signal processor has an instruction cache configured with dual-port memory, wherein a first port is coupled to a first bus and a second port is coupled to a second bus. 29. An apparatus configured to execute software, comprising: means for identifying a first configuration information required to execute a first kernel code segment; means for selecting a first accelerator set configured to execute said first kernel code segment; and means for initiating a direct memory access transfer of said first configuration information to said first accelerator set. 30. A machine-readable medium having stored thereon instructions for processing elements, which when executed by said processing elements perform the following: identifying a first configuration information required to execute a first kernel code segment; selecting a first accelerator set configured to execute said first kernel code segment; and initiating a direct memory access transfer of said first configuration information to said first accelerator set.
연구과제 타임라인
LOADING...
LOADING...
LOADING...
LOADING...
LOADING...
이 특허에 인용된 특허 (14)
Dawes Robert L. (Allen TX), Adaptive processing system having an array of individually configurable processing components.
DeHon Andre ; Knight ; Jr. Thomas F. ; Tau Edward ; Bolotski Michael ; Eslick Ian ; Chen Derrick ; Brown Jeremy, Dynamically programmable gate array with multiple contexts.
Adams Phillip M. ; Holmstrom Larry W. ; Jacob Steve A. ; Powell Steven H. ; Condie Robert F. ; Culley Martin L., Kernels, description tables and device drivers.
Mirsky Ethan ; French Robert ; Eslick Ian, Method and apparatus for controlling configuration memory contexts of processing elements in a network of multiple cont.
Mirsky Ethan ; French Robert ; Eslick Ian, Method and apparatus for position independent reconfiguration in a network of multiple context processing elements.
Lichtman Moshe ; Enstrom Mark R. ; Lennon Thomas E. ; Lipe Ralph A. ; Santerre Pierre-Yves ; Short Robert T. ; Voth David W., System for configuring devices for a computer system.
Baker Ernest D. (Boca Raton FL) Dinwiddie ; Jr. John M. (West Palm Beach FL) Grice Lonnie E. (Boca Raton FL) Joyce James M. (Boca Raton FL) Loffredo John M. (Deerfield Beach FL) Sanderson Kenneth R. , Uncoupling a central processing unit from its associated hardware for interaction with data handling apparatus alien to.
Lee, Jaesoo; Roh, Kangho; Cho, Wonhee; Shim, Hojun; Choi, Youngjoon; Heo, Jaehoon; Song, Je-Hyuck; Cho, Seung-Duk; Kim, Seontaek; Oh, Moonwook; Park, Jong Tae; Cheon, Wonmoon; Park, Chanik; Lee, Yang-sup, Memory system and method of accessing a semiconductor memory device.
Lee, Jaesoo; Roh, Kangho; Cho, Wonhee; Shim, Hojun; Choi, Youngjoon; Heo, Jaehoon; Song, Je-Hyuck; Cho, Seung-Duk; Kim, Seontaek; Oh, Moonwook; Park, Jong Tae; Cheon, Wonmoon; Park, Chanik; Lee, Yang-sup, Memory system and method of accessing a semiconductor memory device.
Lee, Jaesoo; Roh, Kangho; Cho, Wonhee; Shim, Hojun; Choi, Youngjoon; Heo, Jaehoon; Song, Je-Hyuck; Cho, Seung-Duk; Kim, Seontaek; Oh, Moonwook; Park, Jong Tae; Cheon, Wonmoon; Park, Chanik; Lee, Yang-sup, Memory system and method of accessing a semiconductor memory device.
Lee, Jaesoo; Roh, Kangho; Cho, Wonhee; Shim, Hojun; Choi, Youngjoon; Heo, Jaehoon; Song, Je-Hyuck; Cho, Seung-Duk; Kim, Seontaek; Oh, Moonwook; Park, Jong Tae; Cheon, Wonmoon; Park, Chanik; Lee, Yang-sup, Memory system and method of accessing a semiconductor memory device.
Lee, Jaesoo; Roh, Kangho; Cho, Wonhee; Shim, Hojun; Choi, Youngjoon; Heo, Jaehoon; Song, Je-Hyuck; Cho, Seung-Duk; Kim, Seontaek; Oh, Moonwook; Park, Jong Tae; Cheon, Wonmoon; Park, Chanik; Lee, Yang-sup, Memory system and method of accessing a semiconductor memory device.
Lee, Jaesoo; Roh, Kangho; Cho, Wonhee; Shim, Hojun; Choi, Youngjoon; Heo, Jaehoon; Song, Je-Hyuck; Cho, Seung-Duk; Kim, Seontaek; Oh, Moonwook; Park, Jong Tae; Cheon, Wonmoon; Park, Chanik; Lee, Yang-sup, Memory system and method of accessing a semiconductor memory device.
※ AI-Helper는 부적절한 답변을 할 수 있습니다.