IP Library Granted Patent US 8,510,534
Granted Patent B2
US 8,510,534 · App. 10/515,451 · Granted Aug 13, 2013

Scalar/vector processor that includes a functional unit with a vector section and a scalar section

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 8,510,534
App. No.
10/515,451
Granted
Aug 13, 2013
Kind
B2
Abstract

A scalar/vector processor includes a plurality of functional units ( 252, 260, 262, 264, 266, 268, 270 ). At least one of the functional units includes a vector section ( 210 ) for operating on at least one vector and a scalar section ( 220 ) for operating on at least one scalar. The vector section and scalar section of the functional unit co-operate by the scalar section being arranged to provide and/or consume at least one scalar required by and/or supplied by the vector section of the functional unit.

Claims (43)

1. A scalar/vector processor comprising:

a plurality of functional units, at least two of the functional units comprising:

a vector section for operating on at least one vector,

a corresponding scalar section for operating on at least one scalar, and

the vector section and corresponding scalar section of the functional unit co-operating by the scalar section being arranged to provide at least one scalar required by the vector section of the functional unit and consume at least one scalar supplied by the vector section of the functional unit;

wherein each of the at least two functional units comprises:

a scalar receive register in the functional unit for receiving a scalar into the functional unit,

a vector receive register in the functional unit for receiving a vector into the functional unit, and

a shared processing element connected to both the scalar receive register and the vector receive register, the shared processing element for:

receiving the scalar from the scalar receive register and the vector from the vector receive register; and

providing processing power of the vector section within the functional unit that operates on the scalar in the scalar receive register and the vector in the vector receive register, whereby the scalar section supports the operation of the vector section by at least one of supplying scalar data and consuming scalar data;

wherein the vector sections of the at least two functional units are arranged in a first pipeline and the scalar sections of the at least two functional units are arranged in a second pipeline;

wherein the scalar/vector processor is controlled by a VLIW instruction comprising separate instruction segments for each functional unit;

wherein an instruction segment for a functional unit with both a vector section and a scalar section comprises respective instructions for the vector section and for the scalar section of the functional unit.

2. A scalar/vector processor as claimed in claim 1 , wherein more than one of the functional units includes a scalar section; the scalar sections of the functional units being arranged in a second pipeline.

3. A scalar/vector processor as claimed in claim 2 , wherein the first pipeline and the second pipeline are independently configurable.

4. A scalar/vector processor as claimed in claim 3 , wherein at least one of the first pipeline and the second pipeline is configurable on a processor instruction-by-instruction basis.

5. A scalar/vector processor as claimed in claim 4 , wherein the VLIW instruction includes the configuration of the first and second pipelines.

6. A scalar/vector processor as claimed in claim 4 , wherein the first pipeline includes for each vector section attached to the first pipeline a respective associated pipeline path for transferring a vector or the second pipeline includes for each scalar section attached to the second pipeline a respective associated pipeline path for transferring a scalar.

7. A scalar/vector processor as claimed in claim 5 , wherein an instruction for the vector section of a functional unit specifies a pipeline path associated with a different one of the functional units for transfer of a vector or an instruction for the scalar section of a functional unit specifies a pipeline path associated with a different one of the functional units for transfer of a scalar.

8. A scalar/vector processor as claimed in claim 1 , wherein at least one of the functional units is a shift unit; a vector section of the shift unit being operative to shift a vector over at least one scalar; a scalar section of the shift unit being operative to receive from the vector section at least one scalar that is being shifted in or out of the vector.

9. A processing system including a scalar processor and a scalar/vector processor as claimed in claim 1 , wherein the scalar/vector processor is arranged as a co-processor to the scalar processor and the scalar processor is arranged to control the scalar/vector processor, the scalar section of the scalar/vector processor being arranged for performing in-loop scalar processing and the scalar processor being arranged for performing irregular, out-of-loop scalar processing.

10. A scalar/vector processor as claimed in claim 1 , wherein the at least one functional unit comprises an ALU-MAC unit (AMU).

11. A scalar/vector processor as claimed in claim 1 , wherein the at least one functional unit comprises a shift-left unit (SLU).

12. A scalar/vector processor as claimed in claim 1 , wherein the at least one functional unit comprises a shift-right unit (SRU).

13. A scalar/vector processor as claimed in claim 1 , comprising:

an ALU-MAC unit (AMU) that includes a vector section and a scalar section;

a shift-left unit (SLU) that includes a vector section and a scalar section; and

a shift-right unit (SRU) that includes a vector section and a scalar section.

14. A scalar/vector processor as claimed in claim 1 , where the first pipeline and the second pipeline are independently configurable.

15. A scalar/vector processor comprising:

a plurality of functional units, at least two of the functional units comprising:

a vector section for operating on at least one vector,

a corresponding scalar section for operating on at least one scalar, and

the vector section and corresponding scalar section of the functional unit co-operating by the scalar section being arranged to provide at least one scalar required by the vector section of the functional unit and consume at least one scalar supplied by the vector section of the functional unit;

wherein each of the at least two functional units comprises:

a scalar receive register in the functional unit for receiving a scalar into the functional unit,

a vector receive register in the functional unit for receiving a vector into the functional unit, and

a shared processing element connected to both the scalar receive register and the vector receive register, the shared processing element for:

receiving the scalar from the scalar receive register and the vector from the vector receive register; and

providing processing power of the vector section within the functional unit that operates on the scalar in the scalar receive register and the vector in the vector receive register, whereby the scalar section supports the operation of the vector section by at least one of supplying scalar data and consuming scalar data;

wherein the scalar/vector processor is controlled by a VLIW instruction comprising separate instruction segments for each functional unit;

wherein an instruction segment for a functional unit with both a vector section and a scalar section comprises respective instructions for the vector section and for the scalar section of the functional unit.

Assignments (8)
NUNC PRO TUNC ASSIGNMENT Recorded Jun 18, 2015
From: ERICSSON AB
To: TELEFONAKTIEBOLAGET L M ERICSSON (PUBL)
Reel/Frame 035931/0001 →
NUNC PRO TUNC ASSIGNMENT Recorded Jun 18, 2015
From: ERICSSON MODEMS SA
To: ERICSSON AB
Reel/Frame 035948/0147 →
RECORD CHANGE OF ADDRESS Recorded Aug 12, 2014
From: ERICSSON MODEMS SA
To: ERICSSON MODEMS SA
Reel/Frame 033521/0517 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 20, 2014
From: ST-ERICSSON SA; ST-ERICSSON AT SA
To: ERICSSON MODEMS SA
Reel/Frame 033150/0740 →
CHANGE OF NAME Recorded Oct 3, 2012
From: ST WIRELESS SA
To: ST-ERICSSON SA
Reel/Frame 029069/0666 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 24, 2011
From: NXP B.V.
To: ST WIRELESS SA
Reel/Frame 025862/0944 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 13, 2008
From: KONINKLIJKE PHILIPS ELECTRONICS N.V.
To: NXP B.V.
Reel/Frame 021085/0959 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 22, 2004
From: VAN BERKEL, CORNELIS HERMANUS; ELIZABETH MEUWISSEN, PATRICK PETER; ENGIN, NUR
To: KONINKLIJKE PHILIPS ELECTRONICS N.V.
Reel/Frame 016737/0665 →