-
公开(公告)号:US20200065102A1
公开(公告)日:2020-02-27
申请号:US16109952
申请日:2018-08-23
发明人: Kenneth L. WARD , Susan E. EISEN , Dung Q. NGUYEN , Glenn O. KINCAID , Joe LEE , Deepak K. SINGH
摘要: Method and apparatus for a completion mechanism for a microprocessor are provided by marking entries in a section of an Instruction Completion Table (ICT) as ready to complete using corresponding Ready to Complete (RTC) status bits; determining a tail pointer indicating a start of the entries in the ICT that are ready for completion in a current clock cycle; performing a counting leading ones on an RTC vector that organizes the RTC status bits according to a program order for completing the entries to determine a count leading ones pointer that indicates an end of the entries in the ICT that are ready for completion in the current clock cycle; completing instructions included in the entries between the tail pointer and the count leading ones pointer in one clock cycle; and updating the tail pointer to a value of the count leading ones pointer for a subsequent clock cycle.
-
公开(公告)号:US20200241880A1
公开(公告)日:2020-07-30
申请号:US16851377
申请日:2020-04-17
发明人: Kenneth L. WARD , Susan E. EISEN , Dung Q. NGUYEN , Glenn O. KINCAID , Joe LEE , Deepak K. SINGH
摘要: Method and apparatus for a completion mechanism for a microprocessor are provided by identifying entries in a section of an Instruction Completion Table (ICT) that are marked as ready to complete via corresponding Ready to Complete (RTC) status bits; determining a tail pointer indicating a start of the entries in the ICT that are ready for completion; determining a head pointer that indicates an end of the entries in the ICT that are ready for completion; completing instructions included in the entries between the tail pointer and the head pointer; and updating the tail pointer to a value of the head pointer for a subsequent instruction completion round.
-
公开(公告)号:US20200026521A1
公开(公告)日:2020-01-23
申请号:US16039848
申请日:2018-07-19
发明人: Kenneth L. WARD , Dung Q. NGUYEN , Hung LE , Susan E. EISEN
IPC分类号: G06F9/38
摘要: Systems, methods, and computer-readable media are described for performing instruction execution using an instruction completion table (ICT) that is configured to accommodate shared ICT entries. A shared ICT entry maps to multiple instructions such as, for example, two instructions. Each shared ICT entry may be referenced by an even instruction tag (ITAG) and an odd ITAG that correspond to respective instructions that have been grouped together in the shared ICT entry. The instructions corresponding to a given shared ICT entry can be executed and finished independently of one another. A shared ICT entry is completed when each execution of each instruction corresponding to the shared ICT entry has finished and when all prior ICT entries have completed. Also described herein are system, methods, and computer-readable media for flushing instructions in shared ICT entries in response to execution of a branch instruction.
-
公开(公告)号:US20200065110A1
公开(公告)日:2020-02-27
申请号:US16110178
申请日:2018-08-23
发明人: Kenneth L. WARD , Dung Q. NGUYEN , Susan E. EISEN , Christopher M. MUELLER , Joe LEE , Deepak K. SINGH
IPC分类号: G06F9/38
摘要: Method and apparatus for stopping completions using stop codes in an instruction completion table are provided by during a first clock cycle, in response to determining that a given entry in an Instruction Completion Table (ICT) is finalized and is associated with a stop code, completing, according to a program order, instructions included in one or more finalized entries of the ICT located in the ICT before the given entry; during a second clock cycle, after completing the instructions, performing exception processing for a special instruction included in the given entry; and during a third clock cycle, after processing the special instruction, completing, according to the program order, additional instructions in one or more finalized entries located in the ICT after the given entry.
-
公开(公告)号:US20200065103A1
公开(公告)日:2020-02-27
申请号:US16110061
申请日:2018-08-23
发明人: Kenneth L. WARD , Susan E. EISEN , Dung Q. NGUYEN , Glenn O. KINCAID , Joe LEE , Deepak K. SINGH
摘要: Method and apparatus for completing atomic instructions in a microprocessor may be provided by identifying from a program-ordered Instruction Completion Table (ICT) a last entry in a completion window of instructions for completion in a current clock cycle of a processor; in response to determining that the last entry includes an atomic instruction that straddles the completion window: excluding the last entry from completion during the current clock cycle; completing instructions in the completion window for the current clock cycle; and shifting the completion window to include the last entry and a next entry adjacent to the last entry in the ICT in a next clock cycle.
-
公开(公告)号:US20200026520A1
公开(公告)日:2020-01-23
申请号:US16039857
申请日:2018-07-19
发明人: Kenneth L. WARD , Dung Q. NGUYEN , Susan E. EISEN , Hung LE
IPC分类号: G06F9/38
摘要: Systems, methods, and computer-readable media are described for performing speculative execution of both paths/branches of a weakly predicted branch instruction. A branch instruction may be fetched from an instruction queue and determined to be a weakly predicted branch instruction, in which case, both paths of the branch instruction may be dispatched and speculatively executed. When the actual path taken becomes known, instructions corresponding to the path not taken may be flushed. Instructions from both paths of a weakly predicted branch instruction that are speculatively executed may be dispatch and executed in an interleaved manner.
-
7.
公开(公告)号:US20190187993A1
公开(公告)日:2019-06-20
申请号:US15845871
申请日:2017-12-18
发明人: Kenneth L. WARD , Susan E. EISEN , Dung Q. NGUYEN , Glenn O. KINCAID , Christopher M. MUELLER , Tu-An T. NGUYEN , Gaurav MITTAL , Deepak K. SINGH
CPC分类号: G06F9/3851 , G06F9/30145
摘要: A simultaneous multithreading processor and related method of operating are disclosed. The method comprises dispatching portions of a first instruction to be executed by a respective plurality of execution units of the processor; receiving, at an instruction completion table of the processor, respective finish reports responsive to execution of the portions of the first instruction; determining, using the received finish reports, that all of the portions of the first instruction have been executed; and updating the instruction completion table to indicate that the first instruction is ready for completion.
-
8.
公开(公告)号:US20190187992A1
公开(公告)日:2019-06-20
申请号:US15843982
申请日:2017-12-15
发明人: Kenneth L. WARD , Susan E. EISEN , Dung Q. NGUYEN , Albert J. Van Norstrand, JR. , Glenn O. KINCAID , Christopher M. MUELLER
CPC分类号: G06F9/3851 , G06F9/4818
摘要: Implementations are disclosed for a simultaneous multithreading processor configured to execute a plurality of threads. In one implementation, the simultaneous multithreading processor is configured to select a first thread of the plurality of threads according to a predefined scheme, and access an instruction completion table to determine whether the first thread is eligible to have a first instruction prioritized. Responsive to determining that the first thread is eligible to have the first instruction prioritized, the simultaneous multithreading processor is further configured to execute the first instruction of the first thread using a dedicated prioritization resource.
-
-
-
-
-
-
-