Method and apparatus for performing computations and operations on data using data steering
원문보기
IPC분류정보
국가/구분
United States(US) Patent
등록
국제특허분류(IPC7판)
G06F-015/00
G06F-015/76
출원번호
US-0992637
(2001-11-06)
등록번호
US-7376811
(2008-05-20)
발명자
/ 주소
Kizhepat,Govind
출원인 / 주소
NetXen, Inc.
대리인 / 주소
Haynes Beffel & Wolfeld LLP
인용정보
피인용 횟수 :
4인용 특허 :
88
초록▼
A data processing system architecture is based upon a hardware engine that includes a plurality of functional units and data routing units that interconnect the functional units. The hardware engine performs operations and computations on data as the data traverses paths through the functional units
A data processing system architecture is based upon a hardware engine that includes a plurality of functional units and data routing units that interconnect the functional units. The hardware engine performs operations and computations on data as the data traverses paths through the functional units under control of software. The functional units include logic resources, examples of which are flip-flops, latches, arithmetic logic units, random access memory, and the like. The routing units are responsive to the software control signals that are turned on or off to steer the data through these resources. Operations and computations are accomplished according to the steering of the data through the functional units that control the functions performed.
대표청구항▼
I claim: 1. A data processing system, comprising: a plurality of functional units having respective inputs and outputs, and adapted to perform respective tasks using input data at the respective inputs and to supply output data at the respective outputs, within a cycle; a plurality of routing units
I claim: 1. A data processing system, comprising: a plurality of functional units having respective inputs and outputs, and adapted to perform respective tasks using input data at the respective inputs and to supply output data at the respective outputs, within a cycle; a plurality of routing units, responsive to respective routing control signals, by which data is steered among inputs and outputs of the plurality of functional units, routing units in the plurality of routing units being coupled to respective subsets of functional units in the plurality of functional units, wherein at least one of said respective subsets is different than another of said respective subsets; and control word distribution circuitry which supplies the routing control signals in parallel to the plurality of routing units to establish a route for a cycle, where the route includes applying data output in the cycle by a first functional unit in the plurality of functional units as input in the cycle to a second functional unit in the plurality of functional units, and applying data output by the second functional unit in the cycle as input in the cycle to a third functional unit in the cycle. 2. The data processing system of claim 1, wherein said plurality of routing units includes at least one multiplexer having a plurality of inputs and coupled to respective functional units in the plurality of functional units and at least one output coupled to a functional unit in the plurality of functional units, and the routing control signal for the multiplexer specifies one of a plurality of inputs to indicate a source functional unit, and one of the at least one outputs to indicate a destination functional unit. 3. The data processing system of claim 1, wherein said plurality of routing units includes at least one crossbar switch. 4. The data processing system of claim 1, wherein said plurality of functional units includes at least one storage element. 5. The data processing system of claim 1, wherein said plurality of functional units includes at least one logic block which performs a plurality of available functions, and includes logic to select an output from one of the plurality of available functions in response to a routing control signal. 6. The data processing system of claim 1, wherein said plurality of functional units includes a memory responsive to addresses, write control signals, and read control signals, and the control word distribution circuitry supplies at least one of the write control signals and read control signals. 7. The data processing system of claim 6, wherein the control word distribution circuitry supplies an address for said memory. 8. The data processing system of claim 6, wherein an address for said memory is supplied by one of the plurality of functional units. 9. The data processing system of claim 1, wherein functional units in the plurality of functional units comprise logic dedicated to specific processing tasks. 10. The data processing system of claim 1, wherein functional units in the plurality of functional units comprise hardwired logic dedicated to specific processing tasks. 11. The data processing system of claim 1, wherein said control word distribution circuitry supplies said routing control signals synchronously to the plurality of routing units. 12. A data processing system, comprising: a plurality of processing blocks having respective inputs and outputs, and adapted to perform respective processes using input data at the respective inputs and to supply output data at the respective outputs, within a cycle; a plurality of routing units, responsive to respective routing control signals for the plurality of processing blocks, by which data is steered among the inputs and outputs of the plurality of processing blocks, routing units in the plurality of routing units being coupled to respective subsets of processing blocks in the plurality of processing blocks, wherein at least one of said respective subsets of processing blocks is different than another of said respective subsets processing blocks; and block level control word distribution circuitry which supplies control words for respective cycles to the plurality of routing units, said control words including the routing control signals for the plurality of routing units; wherein processing blocks in said plurality of processing blocks respectively include a plurality of functional units having respective inputs and outputs, and adapted to perform respective processes using input data at the respective inputs and to supply output data at the respective outputs, within a block cycle; a plurality of unit level routing units, coupled to the plurality of functional units and responsive to respective routing control signals for the plurality of unit level routing units, by which data is steered among the inputs and outputs of the plurality of functional units, unit level routing units in the plurality of unit level routing units being coupled to respective subsets of functional units in the plurality of functional unit, wherein at least one of said respective subsets of functional units is different than another of said respective subsets of functional units; and functional unit level control word distribution circuitry which supplies control words for respective block cycles to the plurality of unit level routing units, said control words including the routing control signals to establish a route in the block cycle for the plurality of unit level routing units, where the route includes applying data output in the block cycle by a first functional unit in the plurality of functional units as input in the block cycle to a second functional unit in the plurality of functional units, and applying data output by the second functional unit in the block cycle as input in the block cycle to a third functional unit in the block cycle. 13. The data processing system of claim 12, wherein said plurality of unit level routing units includes at least one multiplexer having a plurality of inputs and coupled to respective functional units in the plurality of functional units and at least one output coupled to a functional unit in the plurality of functional units, and the routing control signal for the multiplexer specifies one of a plurality of inputs to indicate a source functional unit, and one of the at least one outputs to indicate a destination functional unit. 14. The data processing system of claim 12, wherein said plurality of block level routing units includes at least one crossbar switch. 15. The data processing system of claim 12, wherein said plurality of functional units includes at least one storage element. 16. The data processing system of claim 12, wherein said plurality of functional units includes at least one logic block which performs a plurality of available functions, and includes logic to select an output from one of the plurality of available functions in response to a routing control signal in the control word. 17. The data processing system of claim 12, wherein said plurality of functional units includes a memory responsive to addresses, write control signals, and read control signals, and the function unit level control word distribution circuitry supplies includes at least one of the write control signals and read control signals. 18. The data processing system of claim 17, wherein said function unit level control word distribution circuitry supplies includes an address for said memory. 19. The data processing system of claim 17, wherein an address for said memory is supplied by one of the plurality of functional units. 20. The data processing system of claim 12, wherein functional units in the plurality of functional units comprise logic dedicated to specific processing tasks. 21. The data processing system of claim 12, wherein functional units in the plurality of functional units comprise hardwired logic dedicated to specific processing tasks. 22. The data processing system of claim 12, wherein at least one of said block level control word distribution circuitry and functional level control word distribution circuitry supplies said control words synchronously. 23. A method of processing data, in a data processing engine that includes a plurality of functional units, comprising: providing a set of software routing control signals in parallel to a set of routing units in the data processing engine to specify a route for a cycle among the plurality of functional units; and routing data among the plurality of functional units according to the set of software routing control signals and performing tasks in the plurality of functional units using the route to produce a result, wherein routing units in the set of routing units are coupled to respective subsets of functional units in the plurality of functional units, wherein at least one of said respective subsets of functional units is different than another of said respective subsets of functional units, where the route includes applying data output in the cycle by a first functional unit in the plurality of functional units as input in the cycle to a second functional unit in the plurality of functional units, and applying data output by the second functional unit in the cycle as input in the cycle to a third functional unit in the cycle. 24. The method of claim 23, including: compiling a high level programming language specifying the result to produce the set of software routing control signals. 25. The method of claim 23, wherein functional units in the plurality of functional units comprise logic dedicated to specific processing tasks. 26. The method of claim 23, wherein functional units in the plurality of functional units comprise hardwired logic dedicated to specific processing tasks. 27. The method of claim 23, wherein the routing units in the data processing engine comprise a plurality of switches interconnecting the plurality of functional units, and said set of routing control signals specify data paths through the plurality of switches. 28. The method of claim 23, including synchronously routing said data among the plurality of functional units. 29. A method of processing data in a data processing engine that includes a plurality of functional units, comprising; providing a first set of software routing control signals in parallel to a set of routing units in the data processing engine to specify a first data path according to a first configuration of the plurality of functional units for a first cycle, wherein routing units in the set of routing units are coupled to respective subsets of functional units in the plurality of functional units, wherein at least one of said respective subsets of functional units is different than another of said respective subsets of functional units, where the first data path includes applying data output in the first cycle by a first functional unit in the plurality of functional units as input in the first cycle to a second functional unit in the plurality of functional units, and applying data output by the second functional unit in the first cycle as input in the first cycle to a third functional unit in the first cycle; performing tasks in said plurality of functional units using the first data path in the first cycle; providing a second set of software routing control signals in parallel to said set of routing units to specify a second data path according to a second configuration of the plurality of functional units for a second cycle, whereby the plurality of functional units is reconfigured to perform a different function; and performing tasks in said plurality of functional units using the second data path to accomplish said different function in the second cycle. 30. The method of claim 29, wherein functional units in the plurality of functional units comprise logic dedicated to specific processing tasks. 31. The method of claim 29, wherein functional units in the plurality of functional units comprise hardwired logic dedicated to specific processing tasks. 32. The method of claim 29, wherein the routing units in the data processing engine comprises a plurality of switches interconnecting the plurality of functional units, and said first and second sets of routing control signals specify data paths through the plurality of switches. 33. The method of claim 29, including: compiling a high level programming language specifying the result to produce the first and second sets of software routing control signals.
연구과제 타임라인
LOADING...
LOADING...
LOADING...
LOADING...
LOADING...
이 특허에 인용된 특허 (88)
Hogenauer, Eugene B., Adaptive computing engine with dataflow graph based sequencing in reconfigurable mini-matrices of composite functional blocks.
Hahn Jong Seok,KRX ; Sim Won Sae,KRX ; Hahn Woo Jong,KRX ; Yoon Suk Han,KRX, Adaptive routing controller of a crossbar core module used in a crossbar routing switch.
Ahmed, Walid; Doshi, Bharat Tarachand; Jiang, Hong; Monogioudis, Pantelis; Rege, Kiran M., Addressing techniques for use in an internet protocol-based multimedia mobile network.
Adrian Carbine ; Glenn J. Hinton ; Frank S. Smith, Apparatus for issuing instructions and reissuing a previous instructions by recirculating using the delay circuit.
Wong Chun C. D. (Palo Alto CA) Hsieh Wen-Jai (Palo Alto CA) Horng Chi-Song (Palo Alto CA), Bi-directional crossbar switch with control memory for selectively routing signals between pairs of signal ports.
Hicok Gary D. (Mesa AZ) Lehman Judson A. (Scottsdale AZ) Alexander Thomas (Hillsboro OR) Lim Yong J. (Seattle WA) Evoy David R. (Tempe AZ) Kim Yongmin (Seattle WA), Central processing unit data entering and interrogating device and method therefor.
Mergard James Oliver ; Quimby Michael S. ; Wakeland Carl K., Computer system for concurrent data transferring between graphic controller and unified system memory and between CPU.
Merchant Shashank C. ; Runaldue Thomas Jefferson, Concurrent execution of multiple instructions in cyclic counter based logic component operation stages.
Hsieh Wen-Jai ; Horng Chi-Song ; Wong Chun Chiu Daniel ; Chou Gerchih ; Sathe Shrikant ; Dahlgren Kent, Crossbar switch with input/output buffers having multiplexed control inputs.
Johnson Mark A., DMA configurable channel with memory width N and with steering logic comprising N multiplexors, each multiplexor having a single one-byte input and N one-byte outputs.
Morton Steven G, DPS having a plurality of like processors controlled in parallel by an instruction word, and a control processor also controlled by the instruction word.
Kuszmaul Bradley C. (Waltham MA) Leiserson Charles E. (Winchester MA) Yang Shaw-Wen (Concord MA) Feynman Carl R. (Acton MA) Hillis W. Daniel (Cambridge MA) Douglas David C. (Concord MA), Digital computer for determining a combined tag value from tag values selectively incremented and decremented reflecting.
Han Jong-Seok,KRX ; Park Kyoung,KRX ; Sim Won-Sae,KRX ; Hahn Woo-Jong,KRX ; Rim Kee-Wook,KRX, Hierarchical crossbar interconnection network for a cluster-based parallel processing computer.
Nguyen Le Trong ; Lentz Derek J. ; Miyayama Yoshiyuki ; Garg Sanjiv ; Hagiwara Yasuaki ; Wang Johannes ; Lau Te-Li ; Wang Sze-Shun ; Trang Quang H., High-performance, superscalar-based computer system with out-of-order instruction execution.
Bromley H. Mark (Andover MA), Massively parallel processor including transpose arrangement for serially transmitting bits of data words stored in para.
Chalasani Suresh (Los Angeles CA) Varma Anujan M. (Croton-on-Hudson NY), Method and apparatus for dynamic detection and routing of non-uniform traffic in parallel buffered multistage interconne.
Van Loo William C. ; Ebrahim Zahir ; Nishtala Satyanarayana ; Normoyle Kevin B. ; Kohn Leslie ; Coffin ; III Louis F., Method and apparatus for flow control in packet-switched computer system.
Sonnier David Paul ; Baker William Edward ; Bunton William Patterson ; Fowler Daniel L. ; Jones ; Jr. Curtis Willard ; Krause John C. ; Simpson Michael P. ; Watson William Joel, Method of synchronizing a pair of central processor units for duplex, lock-step operation by copying data into a corres.
Muller P. Keith ; Chow Kit M. ; Meyer Michael W., Name service for multinode system segmented into I/O and compute nodes, generating guid at I/O node and exporting guid to compute nodes via interconnect fabric.
Narad Charles E. ; Fall Kevin ; MacAvoy Neil ; Shankar Pradip ; Rand Leonard M. ; Hall Jerry J., Packet processing system including a policy engine having a classification unit.
Zak Robert C. (Lexington MA) Leiserson Charles E. (Winchester MA) Kuzmaul Bradley C. (Waltham MA) Yang Shaw-Wen (Waltham MA) Hillis W. Daniel (Cambridge MA) Douglas David C. (Concord MA) Potter David, Parallel computer system including arrangement for transferring messages from a source processor to selected ones of a p.
Leiserson Charles E. (Winchester MA) Zak ; Jr. Robert C. (Lexington MA) Hillis W. Daniel (Cambridge MA) Kuszmaul Bradley C. (Waltham MA) Hill Jeffrey V. (Santa Clara CA), Parallel computer system including request distribution network for distributing processing requests to selected sets of.
Hillis W. Daniel (Cambridge MA) Douglas David C. (Concord MA) Leiserson Charles E. (Winchester MA) Kuszmaul Bradley C. (Waltham MA) Ganmukhi Mahesh N. (Wexford PA) Hill Jeffrey V. (San Jose CA) Wong-, Parallel computer system with physically separate tree networks for data and control messages.
Gifford David K. (Cambridge MA), Parallel processing system with processor array with processing elements addressing associated memories using host suppl.
Morrison Gordon Edward ; Brooks Christopher Bancroft ; Gluck Frederick George, Parallel processor system for processing natural concurrencies and method therefor.
Okamoto Tadashi,JPX ; Kadota Hiroshi,JPX ; Mino Yoshiteru,JPX, Reconfigurable digit-serial arithmetic system having a plurality of digit-serial arithmetic units.
Osaka, Masataka; Sekibe, Tsutomu, SYSTEM LSI AND A CROSS-BUS SWITCH APPARATUS ACHIEVED IN A PLURALITY OF CIRCUITS IN WHICH TWO OR MORE PAIRS OF A SOURCE APPARATUS AND A DESTINATION APPARATUS ARE CONNECTED SIMULTANEOUSLY AND BUSES ARE.
Grondalski Robert S. (Maynard MA), Shift register divided into a number of cells and a number of stages within each cell to permit bit and multiple bit shi.
Gary P. Mousseau CA; Mihal Lazaridis CA, System and method for redirecting message attachments between a host system and a mobile data communication device.
Taylor Stuart A. (Sunnyvale CA), System having fixedly priorized and grouped by positions I/O lines for interconnecting router elements in plurality of s.
※ AI-Helper는 부적절한 답변을 할 수 있습니다.