-
公开(公告)号:US20210216316A1
公开(公告)日:2021-07-15
申请号:US17216821
申请日:2021-03-30
发明人: Naveen BHORIA , Kai CHIRCA , Timothy D. ANDERSON , Duc BUI , Abhijeet A. CHACHAD , Son Hung TRAN
IPC分类号: G06F9/30 , G06F9/38 , G06F11/00 , G06F12/0897 , G06F12/0875 , G06F9/32 , G06F11/10 , G06F9/345
摘要: Techniques related to executing a plurality of instructions by a processor comprising receiving a first instruction configured to cause the processor to output a first data value to a first address in a first data cache, outputting, by the processor, the first data value to a second address in a second data cache, receiving a second instruction configured to cause a streaming engine associated with the processor to prefetch data from the first data cache, determining that the first data value has not been outputted from the second data cache to the first data cache, stalling execution of the second instruction, receiving an indication, from the second data cache, that the first data value has been output from the second data cache to the first data cache, and resuming execution of the second instruction based on the received indication.
-
公开(公告)号:US20200371788A1
公开(公告)日:2020-11-26
申请号:US16422501
申请日:2019-05-24
发明人: Duc BUI , Peter Richard DENT , Timothy D. ANDERSON
IPC分类号: G06F9/30
摘要: A method to compare first and second source data in a processor in response to a vector maximum with indexing instruction includes specifying first and second source registers containing first and second source data, a destination register storing compared data, and a predicate register. Each of the registers includes a plurality of lanes. The method includes executing the instruction by, for each lane in the first and second source register, comparing a value in the lane of the first source register to a value in the corresponding lane of the second source register to identify a maximum value, storing the maximum value in a corresponding lane of the destination register, asserting a corresponding lane of the predicate register if the maximum value is from the first source register, and de-asserting the corresponding lane of the predicate register if the maximum value is from the second source register.
-
公开(公告)号:US20200371784A1
公开(公告)日:2020-11-26
申请号:US16422754
申请日:2019-05-24
发明人: Timothy D. ANDERSON , Duc BUI , Joseph ZBICIAK
IPC分类号: G06F9/30
摘要: A method to scale source data in a processor in response to a vector floating-point scale instruction includes specifying a first source register containing the source data, a second source register containing scale values, and a destination register to store scaled source data. The first source register includes a plurality of lanes that each contains a floating-point value and the second source register and the destination register each includes a plurality of lanes corresponding to the lanes of the first source register. The method includes executing the vector floating-point scale instruction by, for each lane in the first source register adding the scale value in the corresponding lane of the second source register to an exponent field of the floating-point value in the lane of the first source register to create a scaled floating-point value, and storing the scaled floating-point value in the corresponding lane of the destination register.
-
公开(公告)号:US20190243646A1
公开(公告)日:2019-08-08
申请号:US16384328
申请日:2019-04-15
发明人: Timothy D. ANDERSON
IPC分类号: G06F9/30 , G06F9/345 , G06F9/38 , G06F11/10 , G06F9/32 , G06F12/0875 , G06F12/0897 , G06F11/00
CPC分类号: G06F9/3016 , G06F9/30014 , G06F9/30036 , G06F9/30098 , G06F9/30112 , G06F9/30145 , G06F9/32 , G06F9/345 , G06F9/3802 , G06F9/3822 , G06F9/383 , G06F9/3867 , G06F11/00 , G06F11/10 , G06F11/1048 , G06F12/0875 , G06F12/0897 , G06F2212/452 , G06F2212/60
摘要: Techniques related to executing instructions by a processor comprising receiving a first instruction for execution, determining a first latency value based on an expected amount of time needed for the first instruction to be executed, storing the first latency value in a writeback queue, beginning execution of the first instruction on the instruction execution pipeline, adjusting the latency value based on an amount of time passed since beginning execution of the first instruction, outputting a first result of the first instruction based on the latency value, receiving a second instruction, determining that the second instruction is a variable latency instruction, storing a ready value indicating that a second result of the second instruction is not ready in the writeback queue, beginning execution of the second instruction on the instruction execution pipeline, updating the ready value to indicate that the second result is ready, and outputting the second result.
-
公开(公告)号:US20240281231A1
公开(公告)日:2024-08-22
申请号:US18648583
申请日:2024-04-29
发明人: Kai CHIRCA , Timothy D. ANDERSON , Todd T. HAHN , Alan L. DAVIS
CPC分类号: G06F8/433 , G06F5/06 , G06F9/30065
摘要: A method for compiling and executing a nested loop includes initializing a nested loop controller with an outer loop count value and an inner loop count value. The nested loop controller includes a predicate FIFO. The method also includes coalescing the nested loop and, during execution of the coalesced nested loop, causing the nested loop controller to populate the predicate FIFO and executing a get predicate instruction having an offset value, where the get predicate returns a value from the predicate FIFO specified by the offset value. The method further includes predicating an outer loop instruction on the returned value from the predicate FIFO.
-
公开(公告)号:US20230022869A1
公开(公告)日:2023-01-26
申请号:US17956970
申请日:2022-09-30
发明人: Kai CHIRCA , Timothy D. ANDERSON
摘要: A method includes executing software code comprising a plurality of execute packets; responsive to an execute packet of the software code being executed by a data processor core, advancing a value of a test counter register; and responsive to the value of the test counter register being equal to a terminal value, triggering an event to be handled by the software code.
-
公开(公告)号:US20200371800A1
公开(公告)日:2020-11-26
申请号:US16422823
申请日:2019-05-24
发明人: Kai CHIRCA , Timothy D. ANDERSON , Todd T. HAHN , Alan L. DAVIS
IPC分类号: G06F9/30
摘要: A nested loop controller includes a first register having a first value initialized to an initial first value, a second register having a second value initialized to an initial second value, and a third register configured as a predicate FIFO, initialized to have a third value. The second value is advanced in response to a tick instruction during execution of a loop. In response to the second value reaching a second threshold, the second register is reset to the initial second value. The nested loop controller further includes a comparator coupled to the second register and to the predicate FIFO and configured to provide an outer loop indicator value as input to the predicate FIFO when the second value is equal to the second threshold, and provide an inner loop indicator value as input to the predicate FIFO when the second value is not equal to the second threshold.
-
公开(公告)号:US20190243648A1
公开(公告)日:2019-08-08
申请号:US16384537
申请日:2019-04-15
发明人: Timothy D. ANDERSON , Joseph ZBICIAK , Duc BUI , Mel Alan PHIPPS , Todd T. HAHN
IPC分类号: G06F9/30 , G06F9/345 , G06F9/38 , G06F11/10 , G06F9/32 , G06F12/0875 , G06F12/0897 , G06F11/00
CPC分类号: G06F9/3016 , G06F9/30014 , G06F9/30036 , G06F9/30098 , G06F9/30112 , G06F9/30145 , G06F9/32 , G06F9/345 , G06F9/3802 , G06F9/3822 , G06F9/383 , G06F9/3867 , G06F11/00 , G06F11/10 , G06F11/1048 , G06F12/0875 , G06F12/0897 , G06F2212/452 , G06F2212/60
摘要: Techniques related to executing a plurality of instructions by a processor comprising receiving a first instruction for execution on an instruction execution pipeline, wherein the instruction execution pipeline is in a first execution mode, beginning execution of the first instruction on the instruction execution pipeline, receiving an execution mode instruction to switch the instruction execution pipeline to a second execution mode, switching the instruction execution pipeline to the second execution mode based on the received execution mode instruction, annulling the first instruction based on the execution mode instruction, receiving a second instruction for execution on the instruction execution pipeline, the second instruction, and executing the second instruction.
-
公开(公告)号:US20240126703A1
公开(公告)日:2024-04-18
申请号:US18389899
申请日:2023-12-20
IPC分类号: G06F12/1027 , G06F9/46 , G06F9/48 , G06F12/0862 , G06F12/0882 , G06F12/0891 , G06F12/1009 , H03M13/15
CPC分类号: G06F12/1027 , G06F9/467 , G06F9/4881 , G06F12/0862 , G06F12/0882 , G06F12/0891 , G06F12/1009 , H03M13/1575 , G06F2212/1021 , G06F2212/602 , G06F2212/68
摘要: A method includes receiving, by a memory management unit (MMU) comprising a translation lookaside buffer (TLB) and a configuration register, a request from a processor core to directly modify an entry in the TLB. The method also includes, responsive to the configuration register having a first value, operating the MMU in a software-managed mode by modifying the entry in the TLB according to the request. The method further includes, responsive to the configuration register having a second value, operating the MMU in a hardware-managed mode by denying the request.
-
公开(公告)号:US20240036876A1
公开(公告)日:2024-02-01
申请号:US18487186
申请日:2023-10-16
发明人: Timothy D. ANDERSON , Duc BUI , Joseph ZBICIAK , Reid E. TATGE
IPC分类号: G06F9/38
CPC分类号: G06F9/3867 , G06F9/3838
摘要: Techniques related to executing a plurality of instructions by a processor comprising a method for executing a plurality of instructions by a processor. The method comprises detecting a pipeline hazard based on one or more instructions provided for execution by an instruction execution pipeline, beginning execution of an instruction, of the one or more instructions on the instruction execution pipeline, stalling a portion of the instruction execution pipeline based on the detected pipeline hazard, storing a register state associated with the execution of the instruction based on the stalling, determining that the pipeline hazard has been resolved, and restoring the register state to the instruction execution pipeline based on the determination.
-
-
-
-
-
-
-
-
-