IP Library Granted Patent US 7,805,590
Granted Patent B2
US 7,805,590 · App. 11/426,633 · Granted Sep 28, 2010

Coprocessor receiving target address to process a function and to send data transfer instructions to main processor for execution to preserve cache coherence

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,805,590
App. No.
11/426,633
Granted
Sep 28, 2010
Kind
B2
Abstract

A coprocessor ( 14 ) may be used to perform one or more specialized operations that can be off-loaded from a primary or general purpose processor ( 12 ). It is important to allow efficient communication and interfacing between the processor ( 12 ) and the coprocessor ( 14 ). In one embodiment, a coprocessor ( 14 ) generates and provides instructions ( 200, 220 ) to an instruction pipe ( 20 ) in the processor ( 12 ). Because the coprocessor ( 14 ) generated instructions are part of the standard instruction set of the processor ( 12 ), cache ( 70 ) coherency is easy to maintain. Also, circuitry ( 102 ) in coprocessor ( 14 ) may perform an operation on data while circuitry ( 106 ) in coprocessor ( 14 ) is concurrently generating processor instructions ( 200, 220 ).

Claims (27)

1. A method for interfacing a processor to a coprocessor, wherein the processor is coupled to the coprocessor via a processor/coprocessor interface, the coprocessor capable of performing a plurality of coprocessor operations, comprising:

the processor performing an instruction fetch from a target address,

wherein the processor has a standard instruction set, and

wherein the standard instruction set of the processor comprises a plurality of opcodes;

in response to the processor performing the instruction fetch from the target address, the coprocessor initiating one of the plurality of coprocessor operations, wherein the one of the plurality of coprocessor operations is selected based on at least a portion of the target address;

the coprocessor using the target address to determine an opcode of a first instruction,

wherein the opcode of the first instruction is one of the plurality of opcodes of the standard instruction set of the processor;

the coprocessor transferring the first instruction to the processor;

the processor decoding and executing the first instruction to produce a result; and

the coprocessor receiving at least a portion of the result from the first instruction,

wherein the first instruction is within the standard instruction set of the processor and is not a special instruction related to the processor/coprocessor interface.

2. The method of claim 1 , further comprising:

prior to the processor performing the instruction fetch from the target address, the processor decoding an instruction which results in a change of flow to the target address.

3. The method of claim 2 , wherein the instruction which results in a change of flow to the target address is a branch instruction.

4. The method of claim 2 , wherein the instruction which results in a change of flow to the target address is a branch to subroutine instruction.

5. The method of claim 4 , further comprising:

the coprocessor, after initiating the one of the plurality of coprocessor operations completing the one of the plurality of coprocessor operations;

transferring to the processor a return from subroutine instruction; and

the processor decoding and executing the return from subroutine instruction.

6. The method of claim 1 , wherein the first instruction is a load instruction, and wherein the result from the first instruction is a data value retrieved during the load instruction.

7. The method of claim 1 , further comprising:

inserting the opcode of the first instruction received from the coprocessor into an instruction pipeline of the processor,

wherein the instruction pipeline of the processor is for pipelining the standard instruction set of the processor.

8. The method of claim 7 , wherein the second instruction comprises a change of flow instruction.

9. The method of claim 8 , wherein the second instruction results in a change of flow to an address following a first instruction address.

10. The method of claim 1 , further comprising:

after the coprocessor transfers the first instruction to the processor, the processor recognizing the opcode of the first instruction as one of the plurality of opcodes in the standard instruction set of the processor.

Assignments (20)
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 11759915 AND REPLACE IT WITH APPLICATION 11759935 PREVIOUSLY RECORDED ON REEL 040925 FRAME 0001. ASSIGNOR(S) HEREBY CONFIRMS THE RELEASE OF SECURITY INTEREST. Recorded Feb 17, 2020
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: NXP, B.V. F/K/A FREESCALE SEMICONDUCTOR, INC.
Reel/Frame 052917/0001 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 11759915 AND REPLACE IT WITH APPLICATION 11759935 PREVIOUSLY RECORDED ON REEL 040928 FRAME 0001. ASSIGNOR(S) HEREBY CONFIRMS THE RELEASE OF SECURITY INTEREST. Recorded Jan 17, 2020
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: NXP B.V.
Reel/Frame 052915/0001 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 11759915 AND REPLACE IT WITH APPLICATION 11759935 PREVIOUSLY RECORDED ON REEL 037486 FRAME 0517. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT AND ASSUMPTION OF SECURITY INTEREST IN PATENTS. Recorded Dec 10, 2019
From: CITIBANK, N.A.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 053547/0421 →
CORRECTIVE ASSIGNMENT TO CORRECT THE TO CORRECT THE APPLICATION NO. FROM 13,883,290 TO 13,833,290 PREVIOUSLY RECORDED ON REEL 041703 FRAME 0536. ASSIGNOR(S) HEREBY CONFIRMS THE THE ASSIGNMENT AND ASSUMPTION OF SECURITY INTEREST IN PATENTS.. Recorded Feb 20, 2019
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: SHENZHEN XINGUODU TECHNOLOGY CO., LTD.
Reel/Frame 048734/0001 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE PATENTS 8108266 AND 8062324 AND REPLACE THEM WITH 6108266 AND 8060324 PREVIOUSLY RECORDED ON REEL 037518 FRAME 0292. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT AND ASSUMPTION OF SECURITY INTEREST IN PATENTS. Recorded Feb 1, 2017
From: CITIBANK, N.A.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 041703/0536 →
RELEASE OF SECURITY INTEREST Recorded Nov 7, 2016
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: NXP B.V.
Reel/Frame 040928/0001 →
RELEASE OF SECURITY INTEREST Recorded Sep 21, 2016
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: NXP, B.V., F/K/A FREESCALE SEMICONDUCTOR, INC.
Reel/Frame 040925/0001 →
ASSIGNMENT AND ASSUMPTION OF SECURITY INTEREST IN PATENTS Recorded Jan 13, 2016
From: CITIBANK, N.A.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 037518/0292 →
ASSIGNMENT AND ASSUMPTION OF SECURITY INTEREST IN PATENTS Recorded Jan 12, 2016
From: CITIBANK, N.A.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 037486/0517 →
PATENT RELEASE Recorded Dec 21, 2015
From: CITIBANK, N.A., AS COLLATERAL AGENT
To: FREESCALE SEMICONDUCTOR, INC.
Reel/Frame 037354/0225 →
PATENT RELEASE Recorded Dec 21, 2015
From: CITIBANK, N.A., AS COLLATERAL AGENT
To: FREESCALE SEMICONDUCTOR, INC.
Reel/Frame 037356/0143 →
PATENT RELEASE Recorded Dec 21, 2015
From: CITIBANK, N.A., AS COLLATERAL AGENT
To: FREESCALE SEMICONDUCTOR, INC.
Reel/Frame 037356/0553 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 7, 2015
From: ZENITH INVESTMENTS, LLC
To: APPLE INC.
Reel/Frame 034749/0791 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 21, 2014
From: FREESCALE SEMICONDUCTOR, INC.
To: ZENITH INVESTMENTS, LLC
Reel/Frame 033994/0655 →
SECURITY AGREEMENT Recorded Nov 6, 2013
From: FREESCALE SEMICONDUCTOR, INC.
To: CITIBANK, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 031591/0266 →
SECURITY AGREEMENT Recorded Jun 18, 2013
From: FREESCALE SEMICONDUCTOR, INC.
To: CITIBANK, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 030633/0424 →
SECURITY AGREEMENT Recorded May 13, 2010
From: FREESCALE SEMICONDUCTOR, INC.
To: CITIBANK, N.A., AS COLLATERAL AGENT
Reel/Frame 024397/0001 →
SECURITY AGREEMENT Recorded Mar 15, 2010
From: FREESCALE SEMICONDUCTOR, INC.
To: CITIBANK, N.A.
Reel/Frame 024085/0001 →
SECURITY AGREEMENT Recorded Feb 2, 2007
From: FREESCALE SEMICONDUCTOR, INC.; FREESCALE ACQUISITION CORPORATION; FREESCALE ACQUISITION HOLDINGS CORP.; FREESCALE HOLDINGS (BERMUDA) III, LTD.
To: CITIBANK, N.A. AS COLLATERAL AGENT
Reel/Frame 018855/0129 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 27, 2006
From: MOYER, MR. WILLIAM C.; TRAYLOR, MR. KEVIN B.
To: FREESCALE SEMICONDUCTOR, INC.
Reel/Frame 017848/0520 →