IP Library Granted Patent US 11,915,006
Granted Patent B2
US 11,915,006 · App. 17/640,589 · Granted Feb 27, 2024

Method, system and device for improved efficiency of pipeline processing of instructions, and computer storage medium

Inventors: Yulong Zhou (Suzhou, CN); Tongqiang Liu (Jiangsu, CN); Xiaofeng Zou (Jiangsu, CN)
Assignee: INSPUR SUZHOU INTELLIGENT TECHNOLOGY CO., LTD.
G06F9/3861G06F9/3867
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,915,006
App. No.
17/640,589
Granted
Feb 27, 2024
Kind
B2
Abstract

A method, system and device for pipeline processing of instructions and a computer storage medium. The method comprises: acquiring a target instruction set (S 101 ); acquiring a target prediction result, wherein the target prediction result is a result obtained by predicting a jump mode of the target instruction set (S 102 ); performing pipeline processing on the target instruction set according to the target prediction result (S 103 ); determining if a pipeline flushing request is received (S 104 ); and if so, correspondingly saving the target instruction set and a corresponding pipeline processing result, so as to perform pipeline processing on the target instruction set again on the basis of the pipeline processing result (S 105 ). By means of the method, system, and device and computer-readable storage medium, a target instruction set and a corresponding pipeline processing result are correspondingly saved, so that when the target instruction set is subsequently processed again, the saved pipeline processing result can be directly used to perform pipeline processing, and the efficiency of pipeline processing of instructions can be improved.

Claims (52)

1. A method for pipeline processing of instructions, comprising:

acquiring a target instruction set;

acquiring a target prediction result, wherein the target prediction result is a result obtained by predicting a jump mode of the target instruction set;

performing pipeline processing on the target instruction set according to the target prediction result; and

in response to determining a pipeline flushing request is received, and in response, correspondingly saving the target instruction set and a corresponding pipeline processing result, so as to perform pipeline processing on the target instruction set again on the basis of the pipeline processing result, wherein after the correspondingly saving the target instruction set and the corresponding pipeline processing result, the method further comprises:

acquiring a to-be-run instruction set;

in response to determining the to-be-run instruction set is coincident with the target instruction set; and

in response to the to-be-run instruction set being coincident with the target instruction set, performing pipeline processing on the to-be-run instruction set according to the corresponding pipeline processing result; or

in response to the to-be-run instruction set not being coincident with the target instruction set, directly performing pipeline processing on the to-be-run instruction set;

wherein the correspondingly saving the target instruction set and the corresponding pipeline processing result comprises:

in response to the pipeline flushing request being received, using unexecuted instructions in the target instruction set as first-class instructions, and using instructions other than the first-class instructions in the target instruction set as second-class instructions;

acquiring decoding results of the first-class instructions, and correspondingly saving the first-class instructions and the decoding results; and

acquiring execution results of the second-class instructions, correspondingly saving the second-class instructions and the execution results; and

the performing pipeline processing on the to-be-run instruction set according to the corresponding pipeline processing result comprises:

for instructions coincident with the first-class instructions in the to-be-run instruction set, directly performing pipeline processing on the decoding results starting from an execute stage of a pipeline architecture; and

for instructions coincident with the second-class instructions in the to-be-run instruction set, directly performing pipeline processing on the execution results starting from a memory operation stage of the pipeline architecture.

2. The method according to claim 1 , wherein the correspondingly saving the target instruction set and the corresponding pipeline processing result comprises:

acquiring a PC value of the target instruction set, the corresponding pipeline processing result, and an instruction code; and

correspondingly saving the target instruction set and the corresponding pipeline processing result according to a preset format, element types in the preset format comprising a pipeline processing result, an instruction code, and a PC value; and

in response to determining the to-be-run instruction set is coincident with the target instruction set comprises:

acquiring a PC value of the to-be-run instruction set; and

in response to determining the PC value of the to-be-run instruction set is coincident with the PC value of the target instruction set, and in response, determining that the to-be-run instruction set is coincident with the target instruction set, or if not, or determining that the to-be-run instruction set is not coincident with the target instruction set.

3. The method according to claim 2 , wherein the correspondingly saving the target instruction set and the corresponding pipeline processing result comprises:

acquiring decoding results of instructions in the target instruction set; and

correspondingly saving the target instruction set and the decoding results; and

the performing pipeline processing on the to-be-run instruction set according to the corresponding pipeline processing result comprises:

directly performing pipeline processing on the decoding results starting from an execute stage of a pipeline architecture.

4. The method according to claim 2 , wherein the correspondingly saving the target instruction set and the corresponding pipeline processing result comprises:

acquiring processing results of the target instruction set in different stages of a pipeline architecture in response to the pipeline flushing request being received; and

correspondingly saving the target instruction set and the processing results in the different stages of the pipeline architecture; and

the performing pipeline processing on the to-be-run instruction set according to the corresponding pipeline processing result comprises:

directly performing pipeline processing on the processing results according to the pipeline architecture starting from a next stage of a pipeline architecture stage corresponding to the processing results.

5. The method according to claim 2 , wherein the correspondingly saving the target instruction set and the corresponding pipeline processing result comprises:

correspondingly saving the target instruction set and the corresponding pipeline processing result in a preset storage device.

6. The method according to claim 1 , wherein the correspondingly saving the target instruction set the corresponding pipeline processing result comprises:

acquiring decoding results of instructions in the target instruction set; and

correspondingly saving the target instruction set and the decoding results; and

the performing pipeline processing on the to-be-run instruction set according to the corresponding pipeline processing result comprises:

directly performing pipeline processing on the decoding results starting from an execute stage of a pipeline architecture.

7. The method according to claim 6 , wherein the correspondingly saving the target instruction set and the corresponding pipeline processing result comprises:

correspondingly saving the target instruction set and the corresponding pipeline processing result in a preset storage device.

8. The method according to claim 1 , wherein the correspondingly saving the target instruction set and the corresponding pipeline processing result comprises:

acquiring processing results of the target instruction set in different stages of a pipeline architecture in response to the pipeline flushing request being received; and

correspondingly saving the target instruction set and the processing results in the different stages of the pipeline architecture; and

the performing pipeline processing on the to-be-run instruction set according to the corresponding pipeline processing result comprises:

directly performing pipeline processing on the processing results according to the pipeline architecture starting from a next stage of a pipeline architecture stage corresponding to the processing results.

9. The method according to claim 1 , wherein the correspondingly saving the target instruction set and the corresponding pipeline processing result comprises:

correspondingly saving the target instruction set and the corresponding pipeline processing result in a preset storage device.

10. A device for pipeline processing of instructions, comprising:

a memory, configured to store a computer program; and

a processor, configured to execute the computer program to implement the method according to claim 1 .

11. A non-transitory computer-readable storage medium, the non-transitory computer-readable storage medium storing a computer program, the computer program being executed by a processor to implement the method according to claim 1 .

Assignments (2)
LICENSE Recorded Jun 30, 2026
From: IEIT SYSTEMS CO., LTD
To: AIVRES SYSTEMS INC.
Reel/Frame 075857/0939 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 4, 2022
From: ZHOU, YULONG; LIU, TONGQIANG; ZOU, XIAOFENG
To: INSPUR SUZHOU INTELLIGENT TECHNOLOGY CO., LTD.
Reel/Frame 059176/0719 →
Priority Claims (1)
CN 201910832252.3 · Sep 4, 2019 · national
Continuity (1)
Related Publication 20220334844A1 · Oct 20, 2022