Method and apparatus for configuring arbitrary sized data paths comprising multiple context processing elements
원문보기
IPC분류정보
국가/구분
United States(US) Patent
등록
국제특허분류(IPC7판)
G06F-015/80
G06F-015/76
G06F-009/315
출원번호
US-0375543
(2003-02-27)
등록번호
US-7464251
(2008-12-09)
발명자
/ 주소
Mirsky,Ethan A.
출원인 / 주소
Broadcom Corporation
인용정보
피인용 횟수 :
0인용 특허 :
29
초록▼
A method and an apparatus for configuring arbitrary sized data paths comprising multiple context processing elements (MCPEs) are provided. Multiple MCPEs may be chained to form wider-word data paths of arbitrary widths, wherein a first ALU serves as the most significant byte (MSB) of the data path w
A method and an apparatus for configuring arbitrary sized data paths comprising multiple context processing elements (MCPEs) are provided. Multiple MCPEs may be chained to form wider-word data paths of arbitrary widths, wherein a first ALU serves as the most significant byte (MSB) of the data path while a second ALU serves as the least significant byte (LSB) of the data path. The ALUs of the data path are coupled using a left-going, or forward, carry chain for transmitting at least one carry bit from the LSB ALU to the MSB ALU. The MSB ALU comprises configurable logic for generating at least one signal in response to a carry bit received over the left-going carry chain, the at least one signal comprising a saturation signal and a saturation value. The MCPEs of the data path use configurable logic to manipulate a resident bit sequence in response to the saturation signal transmitted thereby reconfiguring, or changing the operation of, the data path in response to the saturation signal. The carry chains support carry operations for non-local functions comprising minimum and maximum arithmetic functions.
대표청구항▼
What is claimed is: 1. A method for using a data path comprising a plurality of processing elements (PEs) configured to perform a first set of functions, the method comprising: transmitting a carry bit from an arithmetic logic unit of a first PE to an arithmetic logic unit of a second PE using a fi
What is claimed is: 1. A method for using a data path comprising a plurality of processing elements (PEs) configured to perform a first set of functions, the method comprising: transmitting a carry bit from an arithmetic logic unit of a first PE to an arithmetic logic unit of a second PE using a first carry chain, the first carry chain coupling the first PE with the second PE; generating a signal in the second PE in response to the received carry bit wherein the signal includes a saturation signal and a saturation value of the data path; and transmitting the signal from the arithmetic logic unit of the second PE to the arithmetic logic unit of first PE using a second carry chain, the second carry chain coupling the second PE with the first PE and including a first back propagation channel configured to transmit the saturation signal and a second back propagation channel configured to transmit the saturation value; and in response to the signal, changing the operation of the data path from performing the first set of functions to performing a second set of functions, the first set of functions and the second set of functions being different from one another. 2. The method of claim 1, wherein the first PE comprises a least significant byte of the data path and the second PE comprises a most significant byte of the data path. 3. The method of claim 1, wherein transmitting the signal from the second PE to the first PE further comprises transmitting the signal through each PE of the data path, wherein each PE uses logic to manipulate a resident bit sequence in response to the signal. 4. The method of claim 3, wherein the logic is configurable. 5. The method of claim 1, further comprising: transmitting configuration data to the plurality of PEs; defining the data path by designating the plurality of PEs in response to the configuration data; and programming the plurality of PEs that comprise the data path in response to the configuration data. 6. The method of claim 5, further comprising: setting a flag in the first PE in response to the configuration data, the flag in the first PE designating the first PE as comprising the least significant byte of the data path; and setting a flag in the second PE in response to the configuration data, the flag in the second PE designating the second PE as comprising the most significant byte of the data path. 7. The method of claim 1, wherein generating the signal further comprises using logic to test for saturation in the data path. 8. The method of claim 1, wherein the first and second carry chains support carry operations for non-local functions comprising saturated and minimum and maximum arithmetic functions. 9. The method of claim 8, wherein each PE of the data path is programmed to support the same function, the programming occurring through a function port of each PE. 10. The method of claim 1, wherein the first carry chain comprises a forward channel between the first and the second PEs. 11. The method of claim 1, wherein the second carry chain comprises a back propagation channel between the second and the first PEs, the back propagation channel coupling the plurality of PEs of the data path. 12. The method of claim 11, wherein a saturation signal is transmitted over the back propagation channel. 13. The method of claim 11, wherein a signal that selects a saturation value is transmitted over a second back propagation channel. 14. The method of claim 1, wherein the plurality of PEs comprises a plurality of multiple context processing elements. 15. The method of claim 1, wherein the first carry chain comprises a left-going carry chain. 16. The method of claim 1, wherein the second carry chain comprises a right-going carry chain. 17. The method of claim 1, wherein transmitting the carry bit from the first PE to the second PE further comprises transmitting the carry bit from a first arithmetic logic unit (ALU) of the first PE to a second ALU of the second PE. 18. The method of claim 1, wherein generating the signal in the second PE further comprises generating the signal in an arithmetic logic unit of the second PE. 19. The method of claim 1, wherein transmitting the signal further comprises transmitting the signal from an arithmetic logic unit (ALU) of the second PE to an ALU of the first PE. 20. The method of claim 1, wherein the first PE includes a first arithmetic logic unit (ALU); the second PE includes a second ALU; and the carry bit is transmitted from the first ALU of the first MCPE to the second ALU of the second MCPE. 21. The method of claim 20, wherein generating the signal further comprises generating the signal in the second ALU of the second PE. 22. The method of claim 21, wherein transmitting the signal further comprises transmitting the signal from the second ALU of the second PE to the first ALU of the first PE. 23. An apparatus for using a data path comprising a plurality of processing elements (PEs) configured to perform a first set of functions, the apparatus comprising: a first carry chain for transmitting a carry bit from an arithmetic logic unit of a first PE to an arithmetic logic unit of a second PE; logic for generating a signal in the second PE in response to the received carry bit, wherein the signal includes a saturation signal and a saturation value of the data path; a second carry chain, the second carry chain including a first back propagation channel and a second back propagation channel configured to transmit the signal from the arithmetic logic unit of the second PE to the arithmetic logic unit of the first PE, wherein the saturation signal is communicated over the first back propagation channel and the saturation value is communicated over the second back propagation channel; and programmable logic configured to change the operation of the data path from performing the first set of functions to performing a second set of functions in response to the signal, the first set of functions and the second set of functions being different from one another. 24. The apparatus of claim 23, wherein the first PE comprises a least significant byte of the data path and the second PE comprises the most significant byte of the data path. 25. The apparatus of claim 24, wherein the signal is transmitted from the second PE to the first PE by passing through each PE of the data path, and wherein each PE uses logic to manipulate a resident bit sequence in response to the signal. 26. The apparatus of claim 25, wherein the logic is configurable. 27. The apparatus of claim 23, further comprising: a controller for transmitting configuration data to the plurality of PEs; logic for defining the data path by designating the plurality of PEs in response to the configuration data; and logic for programming the plurality of PEs that comprise the data path in response to the configuration data. 28. The apparatus of claim 23, wherein the signal generated in the second PE is generated using logic, the logic testing for saturation in the data path. 29. The apparatus of claim 23, wherein the second carry chain comprises a back propagation channel between the second and the first PEs, the back propagation channel coupling the plurality of PEs of the data path. 30. The apparatus of claim 23, wherein the plurality of PEs comprises a plurality of multiple context processing elements (MCPEs). 31. The apparatus of claim 30, further comprising a configuration memory context in each of the plurality of MCPEs, the configuration memory context controlling each MCPE in response to the configuration data. 32. The apparatus of claim 23, wherein the first carry chain comprises a left-going carry chain. 33. The apparatus of claim 23, wherein the second carry chain comprises a right-going carry chain. 34. The apparatus of claim 23, wherein the first carry chain transmits the carry bit from an arithmetic logic unit (ALU) of the first PE to an ALU of the second PE. 35. The apparatus of claim 23, wherein the first PE includes a first arithmetic logic unit (ALU); the second PE includes a second ALU; and the carry bit is transmitted from the first ALU of the first MCPE to the second ALU of the second MCPE. 36. The apparatus of claim 35, wherein the logic generates the signal in the second ALU of the second PE. 37. The apparatus of claim 35, wherein the signal is transmitted with the second carry chain from the second ALU of the second PE to the first ALU of the first PE. 38. A system for using a data path in a reconfigurable computing device, the system comprising: an array of processing elements (PEs); a network coupled to the array of PEs, the network transmitting configuration data; a first carry chain for transmitting a carry bit from an arithmetic logic unit of a first PE to an arithmetic logic unit of a second PE; a second carry chain for transmitting a signal from the arithmetic logic unit of the second PE to the arithmetic logic unit of the first PE, wherein the signal includes a saturation signal and a saturation value of the data path, and wherein the second carry chain includes a first back propagation channel for transmitting the saturation signal and a second back propagation channel for transmitting the saturation value; and programmable logic configured to change the operation of the data path from performing a first set of functions to performing a second set of functions in response to the signal, the first set of functions and the second set of functions being different from one another. 39. The system of claim 38, further comprising logic for generating a signal in the second PE in response to the received carry bit. 40. The system of claim 39, wherein the logic is configurable. 41. The system of claim 38, wherein the first PE comprises a least significant byte of the data path and the second PE comprises a most significant byte of the data path. 42. The system of claim 38, wherein the signal is transmitted from the second PE to the first PE by passing through each PE of the data path, wherein each PE uses logic to manipulate a resident bit sequence in response to the at least one signal. 43. The system of claim 38, wherein the network comprises: a transmitter for transmitting configuration data to the plurality of PEs; logic for defining the data path by designating the plurality of PEs in response to the configuration data; and logic for programming the plurality of PEs that comprise the data path in response to the configuration data. 44. The system of claim 38, wherein the signal generated in the second PE is generated using logic to test for saturation in the data path. 45. The system of claim 38, wherein each PE of the data path is programmed to support non-local functions comprising saturated and minimum and maximum arithmetic functions, the programming occurring through at least one function port of each PE. 46. The system of claim 38, wherein the first carry chain comprises a forward channel between the first and the second PEs. 47. The system of claim 38, wherein the second carry chain comprises a back propagation channel between the second and the first PEs. 48. The system of claim 47, wherein the back propagation channel couples the plurality of PEs of the data path. 49. The system of claim 38, wherein the first carry-chain comprises a left-going carry chain. 50. The system of claim 38, wherein the second carry-chain comprises a right-going carry chain. 51. The system of claim 38, wherein the plurality of PEs comprises a plurality of multiple context processing elements (MCPEs). 52. The system of claim 51, wherein each MCPE includes a configuration memory context. 53. The system of claim 38, wherein the first PE includes a first arithmetic logic unit (ALU); the second PE includes a second ALU; and the carry bit is transmitted from the first ALU of the first MCPE to the second ALU of the second MCPE. 54. The system of claim 53, wherein the logic generates the signal in the second ALU of the second PE. 55. The system of claim 53, wherein the signal is transmitted with the second carry chain from the second ALU of the second PE to the first ALU of the first PE.
연구과제 타임라인
LOADING...
LOADING...
LOADING...
LOADING...
LOADING...
이 특허에 인용된 특허 (29)
Mohamed Ahmed Hassan, Architecture and method for sharing TLB entries through process IDS.
Bates Matthew D. (Winchester GB2) Butler Nicholas D. (Romsey GB2) Gay Adrian C. (Fareham GB2) Kim Jong H. (Morden GB2) West Roderick M. (Chandlers Ford GB2), Arithmetic logic unit.
North Gregory Allen ; Gephardt Douglas D. ; Barnette James D. ; Austin James D. ; Haban Scott Thomas ; David Thomas Saroshan ; Kircher Brian Christopher, Circuits, system, and methods for processing multiple data streams.
Popli Sanjay (Sunnyvale CA) Pickett Scott (Los Gatos CA) Hawley David (Belmont CA) Moni Shankar (Santa Clara CA) Camarota Rafael C. (San Jose CA), Configuration features in a configurable logic array.
Patti Michael F. (Plainsboro NJ) Fedele Nicola J. (Kingston NJ) Harney Kevin (Brooklyn NY) Simon Allen H. (Belle Mead NJ), Dual mode adder circuitry with overflow detection and substitution enabled for a particular mode.
DeHon Andre ; Knight ; Jr. Thomas F. ; Tau Edward ; Bolotski Michael ; Eslick Ian ; Chen Derrick ; Brown Jeremy, Dynamically programmable gate array with multiple contexts.
Casselman Steven Mark (Reseda CA), FPGA virtual computer for executing a sequence of program instructions by successively reconfiguring a group of FPGA in.
Cook Peter W. (Mount Kisco NY), IC chips including ALUs and identical register files whereby a number of ALUs directly and concurrently write results to.
Pierce Kerry M. (Canby OR) Erickson Charles R. (Fremont CA) Huang Chih-Tsung (Burlingame CA) Wieland Douglas P. (Sunnyvale CA), Interconnect architecture for field programmable gate array using variable length conductors.
Guyer James M. (Marlboro MA) Epstein David I. (Framingham MA) Keating David L. (Holliston MA) Anderson Walker (Arlington MA) Veres James E. (Framingham MA) Kimmens Harold R. (Hudson MA), Method and apparatus for enhancing the operation of a data processing system.
Leung Wai-Bor (Wescosville PA), Method and apparatus for verifying whether a bitstream received by a field programmable gate array (FPGA) is intended fo.
Chiarulli Donald M. (4724 Newcomb Dr. Baton Rouge LA 70808) Rudd W. G. (Dept. of Computer Science Oregon State University Corvallis OR 97331) Buell Duncan A. (1212 Chippenham Dr. Baton Rouge LA 70808, Processor utilizing reconfigurable process segments to accomodate data word length.
Agrawal Om P. (San Jose CA) Wright Michael J. (Menlo Park CA) Shen Ju (San Jose CA), Programmable gate array with improved interconnect structure, input/output structure and configurable logic block.
Trimberger Stephen M. ; Carberry Richard A. ; Johnson Robert Anders ; Wong Jennifer, Programmable logic device with hierarchical confiquration and state storage.
Gorin Allen L. (Fair Lawn NJ) Makofsky Patrick A. (Randolph NJ) Morton Nancy (Dover NJ) Oliver Neal C. (Madison NJ) Shively Richard R. (Convent Station NJ) Stanziola Christopher A. (Hyde Park NY), Reconfigurable signal processor.
Ikenaga Takeshi,JPX ; Ogura Takeshi,JPX, Two-dimensional PE array, content addressable memory, data transfer method and mathematical morphology processing method.
※ AI-Helper는 부적절한 답변을 할 수 있습니다.