Apparatus and method for asymmetric dual path processing
원문보기
IPC분류정보
국가/구분
United States(US) Patent
등록
국제특허분류(IPC7판)
G06F-015/00
G06F-009/30
G06F-009/40
출원번호
US-0700343
(2015-04-30)
등록번호
US-9477475
(2016-10-25)
발명자
/ 주소
Knowles, Simon
출원인 / 주소
Nvidia Technology UK Limited
인용정보
피인용 횟수 :
0인용 특허 :
41
초록▼
According to embodiments disclosed herein, there is disclosed a computer processor architecture; and in particular a computer processor, a method of operating the same, and a computer program product that makes use of an instruction set for the computer. In one embodiment, the computer processor inc
According to embodiments disclosed herein, there is disclosed a computer processor architecture; and in particular a computer processor, a method of operating the same, and a computer program product that makes use of an instruction set for the computer. In one embodiment, the computer processor includes: (1) a decode unit for decoding instruction packets fetched from a memory holding the instruction packets, (2) a control processing channel capable of performing control operations and (3) a data processing channel capable of performing data processing operations, wherein, in use the decode unit causes instructions of instruction packets comprising a plurality of only control instructions to be executed sequentially on the control processing channel, and wherein, in use the decode unit causes instructions of instruction packets comprising a plurality of instructions comprising at least one data processing instruction to be executed simultaneously on the data processing channel.
대표청구항▼
1. A computer processor that processes instruction packets, the processor comprising: a decode unit for decoding instruction packets fetched from a memory holding the instruction packets;a control processing channel capable of performing control operations; anda data processing channel capable of pe
1. A computer processor that processes instruction packets, the processor comprising: a decode unit for decoding instruction packets fetched from a memory holding the instruction packets;a control processing channel capable of performing control operations; anda data processing channel capable of performing data processing operations;wherein, in use the decode unit causes instructions of instruction packets comprising a plurality of only control instructions to be executed sequentially on the control processing channel; andwherein, in use the decode unit causes instructions of instruction packets comprising a plurality of instructions comprising at least one data processing instruction to be executed simultaneously on the data processing channel. 2. A computer processor according to claim 1, wherein the control processing channel further comprises a branch unit and a control execution unit. 3. A computer processor according to claim 1, wherein the data processing channel further comprises a fixed data execution unit and a configurable data execution unit. 4. A computer processor according to claim 3, wherein the fixed data execution unit and the configurable data execution unit both operate according to a single instruction multiple data format. 5. A computer processor according to claim 1, wherein the control and data processing channels share a load store unit. 6. A computer processor according to claim 5, wherein the load store unit uses control information supplied by the control processing channel and data supplied by the data processing channel. 7. A computer processor according to claim 1, wherein the instruction packets are all of equal bit length. 8. A computer processor according to claim 1, wherein the instruction packets are all of a 64-bit length. 9. A computer processor according to claim 1, wherein the control instructions are all of a bit length between 18 and 24 bits. 10. A computer processor according to claim 9, wherein the control instructions are all of a 21-bit length. 11. A computer processor according to claim 1, wherein the nature of each instruction in an instruction packet is selected at least from a control instruction, a data instruction, and a memory access instruction. 12. A computer processor according to claim 11, wherein the bit length of each data instruction is 34 bits. 13. A computer processor according to claim 11, wherein the bit length of each memory access instruction is 28 bits. 14. A computer processor according to claim 1, wherein when the decode unit detects that the instruction packet defines three control instructions, the decode unit is operable to supply the control processing channel with the three control instructions whereby the three control instructions are executed sequentially. 15. A computer processor according to claim 1, wherein when the decode unit detects that the instruction packet defines two instructions comprising at least one data instruction, the decode unit is operable to supply the data processing channel with at least the data instruction whereby the two instructions are executed simultaneously. 16. A computer processor according to claim 1, wherein the decode unit is operable to read the values of a set of designated bits at predetermined bit locations in each instruction packet of the instruction packets, to determine: a) whether the instruction packet defines a plurality of control instructions or a plurality of instructions of which at least one is a data instruction; andb) where the instruction packet defines a plurality of instructions of which at least one is a data instruction, the nature of each of the two instructions selected from: a control instruction; a data instruction; and a memory access instruction. 17. A computer processor according to claim 3, wherein the configurable data execution unit is capable of executing more than two consecutive operations on the data provided by a single issued instruction before returning a result to a destination register file. 18. A computer processor according to claim 1, wherein the control processing channel includes a plurality of functional units including a control register file having a first bit width, and the data processing channel includes a plurality of functional units including a data register file having a second bit width, wider than the first bit width. 19. A method of operating a computer processor for processing instruction packets, wherein the processor includes a control processing channel capable of performing control operations and a data processing channel capable of performing data processing operations, the method comprising: decoding an instruction packet to determine which type of instruction packet is being decoded;when the instruction packet defines a plurality of only control instructions, supplying the control instructions to the control processing channel wherein the control instructions are executed sequentially; andwhen the instruction packet defines a plurality of instructions comprising at least one data processing instruction, supplying at least the data instruction to the data processing channel wherein the plurality of instructions are executed simultaneously. 20. A non-transitory computer readable-medium comprising a sequence of instruction packets, the instruction packets including a first type of instruction packet comprising a plurality of only control instructions, and a second type of instruction packet comprising a plurality of instructions comprising at least one data processing instruction, said instruction packets including at least one indicator bit at a designated bit location within the instruction packet, wherein the computer readable-medium is adapted to run on a computer such that said indication bit is adapted to cooperate with a decode unit of the computer to designate whether: a) the instruction packet defines a plurality of only control instructions or a plurality of instructions comprising at least one data processing instruction; andb) in the case when there is a plurality of instructions comprising at least one data instruction, the nature of each of the first and second instructions selected from: a control instruction; a data instruction; and a memory access instruction.
연구과제 타임라인
LOADING...
LOADING...
LOADING...
LOADING...
LOADING...
이 특허에 인용된 특허 (41)
Knowles, Simon, Apparatus and method for control processing in dual path processor.
Seong,Nak hee; Lim,Kyoung mook; Jeong,Seh woong; Park,Jae hong; Im,Hyung jun; Bae,Gun young; Kim,Young duck, Apparatus and method for dispatching very long instruction word having variable length.
Knowles, Simon, Apparatus and method for separate asymmetric control processing and data path processing in a configurable dual path processor that supports instructions having different bit widths.
Yoshida Toyohiko,JPX, Data processor having an instruction decoder and a plurality of executing units for performing a plurality of operations in parallel.
Fuller Richard A. (West Hurley NY) Ghose Arun K. (Hyde Park NY) Sell Faith W. (Saugerties NY) Siegel Michael S. (Hyde Park NY), Execution unit with an integrated vector operation capability.
Wilson,Sophie, Identification bit at a predetermined instruction location that indicates whether the instruction is one or two independent operations and indicates the nature the operations executing in two process.
Cousin, Jean-Philippe, Making available instructions in double slot FIFO queue coupled to execution units to third execution unit at substantially the same time.
Norris,James M.; May,Philip E.; Moat,Kent D.; Essick, IV,Raymond B.; Lucas,Brian G., Method and apparatus for addressing a vector of elements in a partitioned memory using stride, skip and span values.
Arnold,Ralf; Kleve,Helge; Siemers,Christian, Method for configuring a configurable hardware block by configuring configurable connections provided around a given type of subunit.
Takayama, Shuichi; Ogawa, Hajime; Kawaguchi, Kenichi; Higaki, Nobuo; Odani, Kensuke; Tanaka, Tetsuya; Miyaji, Shinya; Heishi, Taketo, PROCESSOR FOR EXECUTING INSTRUCTIONS IN UNITS THAT ARE UNRELATED TO THE UNITS IN WHICH INSTRUCTIONS ARE READ, AND A COMPILER, AN OPTIMIZATION APPARATUS, AN ASSEMBLER, A LINKER, A DEBUGGER AND A DISAS.
Takayama, Shuichi; Ogawa, Hajime; Kawaguchi, Kenichi; Higaki, Nobuo; Odani, Kensuke; Tanaka, Tetsuya; Miyaji, Shinya; Heishi, Taketo, PROCESSOR FOR EXECUTING INSTRUCTIONS IN UNITS THAT ARE UNRELATED TO THE UNITS IN WHICH INSTRUCTIONS ARE READ, AND A COMPILER, AN OPTIMIZATION APPARATUS, AN ASSEMBLER, A LINKER, A DEBUGGER AND A DISAS.
Fleck Rod G. ; Holmer Bruce ; M.o slashed.ller Ole H.,DKX ; Arnold Roger D. ; Singh Balraj, Processing unit having independent execution units for parallel execution of instructions of different category with instructions having specific bits indicating instruction size and category respect.
Takayama, Shuichi; Ogawa, Hajime; Kawaguchi, Kenichi; Higaki, Nobuo; Odani, Kensuke; Tanaka, Tetsuya; Miyaji, Shinya; Heishi, Taketo, Processor for executing instructions in units that are unrelated to the units in which instructions are read, and a compiler, an optimization apparatus, an assembler, a linker, a debugger and a disas.
Hull James M. ; Fielden Kent ; Mulden Hans ; Sharangpani Harshvardhan, Processor utilizing a template field for encoding instruction sequences in a wide-word format.
Aono Kunitoshi (Hirakata JPX) Toyokura Masaki (Katano JPX) Araki Toshiyuki (Yawata JPX) Ohtani Akihiko (Moriguchi JPX) Kodama Hisashi (Osaka JPX) Okamoto Kiyoshi (Moriguchi all of JPX), Program control type vector processor for executing a vector pipeline operation for a series of vector data which is in.
Douglass, Stephen M.; Young, Steven P.; Herron, Nigel G.; Vashi, Mehul R.; Sowards, Jane W., Programmable gate array having interconnecting logic to support embedded fixed logic circuitry.
Hung, Ching-Yu; Estevez, Leonardo W.; Rabadi, Wissam A., Reconfigurable SIMD coprocessor architecture for sum of absolute differences and symmetric filtering (scalable MAC engine for image processing).
Suzuki,Masato, SIMD operation method and SIMD operation apparatus that implement SIMD operations without a large increase in the number of instructions.
De Oliveira Kastrup Pereira, Bernardo; Bink, Adrianus J.; Hoogerbrugge, Jan, System for executing computer program using a configurable functional unit, included in a processor, for executing configurable instructions having an effect that are redefined at run-time.
Johnson William M. (San Jose CA), System for reducing delay for execution subsequent to correctly predicted branch instruction using fetch information sto.
Simar, Jr.,Laurence R.; Brown,Richard A., Very long instruction word microprocessor with execution packet spanning two or more fetch packets with pre-dispatch instruction selection from two latches according to instruction bit.
※ AI-Helper는 부적절한 답변을 할 수 있습니다.