Processes, circuits, devices, and systems for branch prediction and other processor improvements
First Claim
1. A processor for processing instructions comprising a pipeline including a fetch stage and an execute stage;
- a first storing circuit associated with said fetch stage and operable to store a history of actual branches; and
a second storing circuit associated with said fetch stage and operable to store a pattern of predicted branches, said second storing circuit coupled to said first storing circuit, said execute stage coupled back to said first storing circuit.
1 Assignment
0 Petitions
Accused Products
Abstract
A processor (1700) for processing instructions has a pipeline (1710, 1736, 1740) including a fetch stage (1710) and an execute stage (1870), a first storing circuit (aGHR 2130) associated with said fetch stage (1710) and operable to store a history of actual branches, and a second storing circuit (wGHR 2140) associated with said fetch stage (1710) and operable to store a pattern of predicted branches, said second storing circuit (wGHR 2140) coupled to said first storing circuit (aGHR 2130), said execute stage (1870) coupled back to said first storing circuit (aGHR 2130). Other processors, wireless communications devices, systems, circuits, devices, branch prediction processes and methods of operation, processes of manufacture, and articles of manufacture, as disclosed and claimed.
-
Citations
109 Claims
-
1. A processor for processing instructions comprising
a pipeline including a fetch stage and an execute stage; -
a first storing circuit associated with said fetch stage and operable to store a history of actual branches; and
a second storing circuit associated with said fetch stage and operable to store a pattern of predicted branches, said second storing circuit coupled to said first storing circuit, said execute stage coupled back to said first storing circuit. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25)
-
- 26. A method of branch prediction in a processor having a pipeline with a fetch stage and an execute stage, the method comprising storing a history of actual branches and separately storing a pattern of predicted branches so that the storing and separately storing are both time-wise parallel to the fetch stage, and coupling back branch data from the execute stage for the storing of the history of actual branches.
-
46. A wireless communications unit comprising
a wireless antenna; -
a wireless transmitter and receiver coupled to said wireless antenna;
a microprocessor coupled to at least one of the transmitter and receiver, the microprocessor including a pipeline having a fetch stage and an execute stage, a first storing circuit associated with said fetch stage and operable to store a history of actual branches, and a second storing circuit associated with said fetch stage and operable to store a pattern of predicted branches, said second storing circuit coupled to said first storing circuit, said execute stage coupled back to said first storing circuit; and
a user interface coupled to said microprocessor;
whereby the wireless communication unit has increased instruction efficiency. - View Dependent Claims (47, 48, 49, 50, 51, 52, 53)
-
-
54. A processor for processing instructions comprising
an instruction cache having a cache line; -
a pipeline having at least one fetch stage and at least one decode stage;
an additional decode circuit having respective circuit portions situated for fetch purposes time-wise in parallel with said at least one fetch stage and said at least one decode stage, said additional decode circuit responsive to said cache line to generate at least one set of bits representing presence of plural branches in said cache line when plural branches occur and at least one different bit representing presence of a single branch in said cache line; and
a pattern storing circuit responsive to the additional decode circuit to hold and update a pattern of predicted branches. - View Dependent Claims (55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73)
-
- 74. A method of branch prediction in a processor having a pipeline with a fetch stage and a decode stage and an instruction cache having a cache line, the method comprising decoding branch instructions in the cache line time-wise in parallel with the fetch stage and the decode stage.
-
92. A wireless communications unit comprising
a wireless antenna; -
a wireless transmitter and receiver coupled to said wireless antenna;
a microprocessor coupled to at least one of the transmitter and receiver, the microprocessor including an instruction cache having a cache line, a pipeline having at least one fetch stage and at least one decode stage, an additional decode circuit having respective circuit portions situated for fetch purposes time-wise in parallel with said at least one fetch stage and said at least one decode stage, said additional decode circuit responsive to said cache line to generate at least one set of bits representing presence of plural branches in said cache line and at least one different bit representing presence of a single branch in said cache line, and a pattern storing circuit responsive to the additional decode circuit to hold and update a pattern of predicted branches; and
a user interface coupled to said microprocessor;
whereby the wireless communication unit has increased instruction efficiency. - View Dependent Claims (93, 94, 95, 96, 97)
-
-
98. A method of updating a first pattern for accessing a global history buffer in a branch predictor in a processor, the method comprising
detecting a number of branches on a cache line; -
accessing the global history buffer with the first pattern to obtain a branch prediction datum; and
supplying an updated pattern including at least some bits of the first pattern, and a number of bits that depend on the number of branches detected on the cache line, and the updated pattern further including the branch prediction datum. - View Dependent Claims (99, 100, 101)
-
-
102. Circuitry for a processor having an instruction cache with a cache line, the circuit comprising
a register for a first pattern; -
a detector of a number of branches on the cache line;
a global history buffer responsive to the first pattern to obtain a branch prediction datum; and
an update circuit operable to supply an updated pattern to said register including at least some bits of the first pattern, and a number of bits that depend on the number of branches detected on the cache line, and the updated pattern further including the branch prediction datum. - View Dependent Claims (103, 104, 105)
-
-
106. A process of manufacturing a processor comprising
preparing a particular design of a processor having an instruction cache having a cache line, a pipeline having at least one fetch stage and at least one decode stage, an additional decode circuit having respective circuit portions situated for fetch purposes time-wise in parallel with said at least one fetch stage and said at least one decode stage, said additional decode circuit to respond to said cache line to generate at least one set of bits representing presence of plural branches in said cache line when plural branches occur and at least one different bit representing presence of a single branch in said cache line, and a pattern storing circuit to respond to the additional decode circuit to hold and update a pattern of predicted branches; -
verifying the design of said processor in simulation; and
manufacturing to produce a resulting processor according to the verified design. - View Dependent Claims (107)
-
-
108. A process of manufacturing a processor comprising
preparing a particular design of a processor having a pipeline including a fetch stage and an execute stage, a first storing circuit associated with said fetch stage to store a history of actual branches, and a second storing circuit associated with said fetch stage to store a pattern of predicted branches, said second storing circuit coupled to said first storing circuit, said execute stage coupled back to said first storing circuit; -
verifying the design of said processor in simulation; and
manufacturing to produce a resulting processor according to the verified design. - View Dependent Claims (109)
-
Specification