IP Library Granted Patent US 7,020,765
Granted Patent B2
US 7,020,765 · App. 10/256,410 · Granted Mar 28, 2006

Marking queue for simultaneous execution of instructions in code block specified by conditional execution instruction

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 7,020,765
App. No.
10/256,410
Granted
Mar 28, 2006
Kind
B2
Abstract

A processor is disclosed including several features allowing the processor to simultaneously execute instructions of multiple conditional execution instruction groups. Each conditional execution instruction group includes a conditional execution instruction and a code block specified by the conditional execution instruction. In one embodiment, the processor includes multiple state machines simultaneously assignable to a corresponding number of conditional execution instruction groups. In another embodiment, the processor includes multiple registers for storing marking data pertaining to a number of instructions in each of multiple execution pipeline stages. In another embodiment, the processor includes multiple attribute queues simultaneously assignable to a corresponding number of conditional execution instruction groups. In another embodiment, the processor includes write enable logic and an execution unit. The write enable logic produces write enable signals dependent upon received attributes, and the execution unit saves results of instructions of conditional execution instruction groups dependent upon the write enable signals.

Claims (10)

1. A conditional execution marking queue associated with a grouping pipeline stage of a processor, comprising:

a conditional execution instruction monitor, associated with a conditional execution instruction group having a conditional execution instruction and a corresponding code block of instructions specified by the conditional execution instruction, and configured to generate marking data for each of a plurality of instructions grouped together in the grouping pipeline stage for simultaneous execution, wherein the plurality of instructions include at least one instruction of the associated conditional execution instruction group and the marking data indicates whether each of the plurality of instructions is an instruction of the associated conditional execution instruction group, and

a marking queue configured to store the marking data.

2. The conditional execution marking queue as recited in claim 1 , wherein the conditional execution instruction group resides in a section of code retrieved by the processor from a memory system.

3. The conditional execution marking queue as recited in claim 2 further comprising a plurality of conditional execution instruction monitors, wherein the memory system includes a plurality of conditional execution instruction groups and each of the plurality of conditional execution instruction monitors is simultaneously associated with a distinct one of the conditional execution instruction groups.

4. The conditional execution marking queue as recited in claim 1 , wherein the conditional execution instruction specifies a condition, and wherein a result of each of the instructions of the code block is saved dependent upon the existence of the specified condition in the processor during execution of the conditional execution instruction.

5. The conditional execution marking queue as recited in claim 3 , wherein at least one of the plurality of conditional execution instruction monitors is a finite state machine.

6. The conditional execution marking queue as recited in claim 1 , wherein the marking data generated for each of the instructions indicates that the instruction is either: not an instruction of the assigned conditional execution instruction group, a first instruction of the assigned conditional execution instruction group, a last instruction of the assigned conditional execution instruction group, or an instruction of the assigned conditional execution instruction group.

7. The conditional execution marking queue as recited in claim 3 , wherein when a number of the conditional execution instruction monitors are less than a number of conditional execution instruction groups, the conditional execution instruction monitors are simultaneously assignable to a different one of the conditional execution instruction groups.

8. The conditional execution marking queue as recited in claim 1 wherein the conditional execution marking queue is employed in the processor.

Assignments (7)
CHANGE OF ADDRESS Recorded Jan 8, 2021
From: VERISILICON HOLDINGS CO., LTD.
To: VERISILICON HOLDINGS CO., LTD.
Reel/Frame 054927/0651 →
CHANGE OF ADDRESS Recorded Mar 19, 2020
From: VERISILICON HOLDINGSCO., LTD.
To: VERISILICON HOLDINGSCO., LTD.
Reel/Frame 052189/0438 →
CHANGE OF NAME Recorded Aug 6, 2019
From: VERISILICON HOLDINGS (CAYMAN ISLANDS) CO. LTD.
To: VERISILICON HOLDINGS CO., LTD.
Reel/Frame 050122/0833 →
RELEASE OF SECURITY INTEREST Recorded Aug 6, 2019
From: LSI LOGIC CORPORATION
To: VERISILICON HOLDINGS CO., LTD.
Reel/Frame 049971/0525 →
SALE Recorded Nov 9, 2006
From: LSI LOGIC CORPORATION
To: VERISILICON HOLDINGS (CAYMAN ISLANDS) CO. LTD.
Reel/Frame 018639/0192 →
SECURITY INTEREST Recorded Jul 7, 2006
From: VERISILICON HOLDINGS (CAYMAN ISLANDS) CO., LTD.
To: LSI LOGIC CORPORATION
Reel/Frame 017906/0143 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 27, 2002
From: NGUYEN, HUNG; WICHMAM, SHANNON
To: LSI LOGIC CORPOARTION
Reel/Frame 013351/0853 →