IP Library › Granted Patent US 10,705,847
Granted Patent B2
US 10,705,847 · App. 15/665,653 · Granted Jul 7, 2020

Wide vector execution in single thread mode for an out-of-order processor

Inventors: Silvia M. Mueller (Altdorf, DE); Mauricio J. Serrano (Bronx, NY); Balaram Sinharoy (Poughkeepsie, NY)
Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
G06F9/3836G06F9/3012G06F9/3885
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 10,705,847
App. No.
15/665,653
Granted
Jul 7, 2020
Kind
B2
Abstract

A non-limiting example of a computer-implemented method for implementing wide vector execution for an out-of-order processor includes entering, by the out-of-order processor, a single thread mode. The method further includes partitioning, by the out-of-order processor, a vector register file into a plurality of register files, each of the plurality of register files being associated with a vector execution unit, the vector execution units forming a wide vector execution unit. The method further includes receiving, by a vector scalar register of the out-of-order processor, a wide vector instruction. The method further includes processing, by the wide vector execution unit, the wide vector instruction.

Claims (22)

1. A system for wide vector execution for an out-of-order processor, the system comprising:

a memory having computer readable instructions; and

the out-of-order processor for executing the computer readable instructions, the computer readable instructions controlling the out-of-order processor to perform operations comprising:

partitioning a vector register file into a plurality of register files, each of the plurality of register files being associated with a vector execution unit, the vector execution units forming a wide vector execution unit, wherein each of the plurality of register files has three read wires and four write wires connected to its associated vector execution unit;

receiving a wide vector instruction at a vector scalar register;

determining whether the out-of-order processor is operating a single thread mode or a multi-thread mode;

responsive to determining that the out-of-order processor is operating in the single thread mode, processing the wide vector instruction in the wide vector execution unit; and

responsive to determining that the out-of-order processor is operating in the multi-thread mode, preventing processing the wide vector instruction.

2. The system of claim 1 , wherein the multithread mode is a symmetric multiprocessing 2 (SMP2) mode.

3. The system of claim 1 , wherein the multithread mode is a symmetric multiprocessing 4 (SMP4) mode.

4. The system of claim 1 , wherein the wide vector instruction is received from a load-store unit of the out-of-order processor.

5. The system of claim 1 , wherein the wide vector instruction is larger than any one of the plurality of register files.

6. The system of claim 1 , wherein vector execution unit is 128 bits, and wherein the wide vector execution unit is 512 bits.

7. The system of claim 1 , wherein the vector register file is 128 bits and 128 entries, and wherein each of the plurality of register files is 128 bits and 32 entries.

8. A computer program product comprising a computer readable storage medium having program instructions embodied therewith, the program instructions executable by an out-of-order processor to cause the out-of-order processor to perform operations comprising:

partitioning, by the out-of-order processor, a vector register file into a plurality of register files, each of the plurality of register files being associated with a vector execution unit, the vector execution units forming a wide vector execution unit, wherein each of the plurality of register files has three read wires and four write wires connected to its associated vector execution unit;

receiving, by a vector scalar register of the out-of-order processor, a wide vector instruction;

determining whether the out-of-order processor is operating a single thread mode or a multi-thread mode;

responsive to determining that the out-of-order processor is operating in the single thread mode, processing, by the wide vector execution unit, the wide vector instruction; and

responsive to determining that the out-of-order processor is operating in the multi-thread mode, preventing processing the wide vector instruction.

9. The computer program product of claim 8 , wherein the multithread mode is a symmetric multiprocessing 2 (SMP2) mode.

10. The computer program product of claim 8 , wherein the multithread mode is a symmetric multiprocessing 4 (SMP4) mode.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 1, 2017
From: MUELLER, SILVIA M.; SERRANO, MAURICIO J.; SINHAROY, BALARAM
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 043154/0250 →
Continuity (1)
Related Publication 20190042265A1 · Feb 7, 2019