← Back to Patent Explorer
US5794068A Expired / Lapsed US ⏱️ 0.0 years remaining

CPU with DSP having function preprocessor that converts instruction sequences intended to perform DSP function into DSP function identifier

Assignee: Advanced Micro Devices Inc
•
Filing: 1996-03-18
•
Granted: 1998-08-11
•
Expires: 2016-03-18
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A CPU or microprocessor which includes a general purpose CPU component, such as an X86 core, and also includes a DSP core. The CPU also includes an intelligent DSP function decoder or preprocessor which examines X86 opcode sequences and determines if a DSP function is being executed. If the DSP function decoder determines that a DSP function is being executed, the DSP function decoder converts or maps the opcodes to a DSP macro instruction that is provided to the DSP core. The DSP core executes one or more DSP instructions to implement the desired DSP function in response to the macro instruction. The DSP core implements or performs the DSP function using a lesser number of instructions and also in reduced number of clock cycles, thus increasing system performance. If the X86 opcodes in the instruction cache or instruction memory do not indicate or are not intended to perform a DSP-type function, the opcodes are provided to the X86 core as which occurs in current prior art computer systems. The X86 core and the DSP core are coupled to each other and communicate data and timing signals for synchronization purposes. Thus, the DSP core offloads these mathematical functions from the X86 core, thereby increasing system performance. The DSP core also operates in parallel with the X86 core, providing further performance benefits. The CPU of the present invention thus implements DSP functions more efficiently than X86 logic while requiring no additional X86 opcodes. The present invention also generates code that operates transparently on an X86 only CPU or a CPU according to the present invention which includes X86 and DSP cores. Thus the present invention is backwards compatible with existing software.

Inventors

  • 👤 Saf Asghar
  • 👤 Mark Ireton
  • 👤 John Bartkowiak

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-04 23:22
CPC Classifications
G; G06; G06F; G06F9/00; G06F9/06; G06F9/30; G06F9/38; G06F9/3818; G06F9/3822; G06F15/00; G06F15/76; G06F15/78; G06F15/7839; G06F15/7842; G06F15/7857; G06F9/3017; G06F9/30174; G06F9/30181; G06F9/30189; G06F9/30196; G06F9/382; G06F9/3836; G06F9/3838; G06F9/384; G06F9/3854; G06F9/3856; G06F9/3858; G06F9/3877; G06F9/3879; G06F9/3885

Claims Analysis

Total Claims: 18
Claim 1
Independent Claim 194 words
A central processing unit which performs digital signal processing functions, comprising: an instruction memory for storing a plurality of instructions, wherein said instruction memory stores one or more sequences of instructions which are intended to perform a digital signal processing function; a function preprocessor coupled to the instruction memory, wherein the function preprocessor includes: means for examining said one or more sequences of instructions stored in said instruction memory; means for determining whether a sequence of said instructions in said instruction memory is intended to perform a digital signal processing function; means for converting a sequence of said instructions in said instruction memory which is intended to perform a digital signal processing function into a digital signal processing function identifier; at least one general purpose processing core coupled to the function preprocessor for executing instructions in said instruction memory; at least one digital signal processing core coupled to the function preprocessor for performing digital signal processing functions, wherein the at least one digital signal processing core receives said digital signal processing function identifier and performs a digital signal processing function in response to said received digital signal processing function identifier from said function preprocessor.
Claim 2
Dependent Claim 194 words
A central processing unit which performs digital signal processing functions, comprising: an instruction memory for storing a plurality of instructions, wherein said instruction memory stores one or more sequences of instructions which are intended to perform a digital signal processing function; a function preprocessor coupled to the instruction memory, wherein the function preprocessor includes: means for examining said one or more sequences of instructions stored in said instruction memory; means for determining whether a sequence of said instructions in said instruction memory is intended to perform a digital signal processing function; means for converting a sequence of said instructions in said instruction memory which is intended to perform a digital signal processing function into a digital signal processing function identifier; at least one general purpose processing core coupled to the function preprocessor for executing instructions in said instruction memory; at least one digital signal processing core coupled to the function preprocessor for performing digital signal processing functions, wherein the at least one digital signal processing core receives said digital signal processing function identifier and performs a digital signal processing function in response to said received digital signal processing function identifier from said function preprocessor.
Claim 3
Dependent Claim 108 words
The central processing unit of claim 1, wherein said instruction memory stores a first sequence of instructions which does not perform a digital signal processing function, and wherein said instruction memory stores a second sequence of instructions which performs a digital signal processing function; wherein said at least one general purpose processing core executes said first sequence of instructions; wherein said at least one digital signal processing core performs said digital signal processing function in response to said received digital signal processing function identifier, wherein said digital signal processing function performed by said digital signal processing core is substantially equivalent to execution of said second sequence of instructions.
Claim 4
Dependent Claim 30 words
The central processing unit of claim 1, wherein said at least one digital signal processing core provides data and timing signals to said at least one general purpose processing core.
Claim 5
Dependent Claim 48 words
The central processing unit of claim 1, wherein said function preprocessor generates a digital signal processing function identifier and one or more parameters in response to said determining means determining that said sequence of instructions in said instruction memory is intended to perform a digital signal processing function.
Claim 6
Dependent Claim 24 words
The central processing unit of claim 1, wherein said at least one general purpose processing core is compatible with the X86 family of microprocessors.
Claim 7
Dependent Claim 15 words
The central processing unit of claim 5, wherein said plurality of instructions are X86 opcodes.
Claim 8
Dependent Claim 38 words
The central processing unit of claim 1, wherein said at least one digital signal processing core is adapted for performing one or more mathematical operations from the group consisting of convolution, correlation, Fast Fourier Transforms, and inner product.
Claim 9
Dependent Claim 29 words
The central processing unit of claim 1, wherein said at least one general purpose processing core and said at least one digital signal processing core operate substantially in parallel.
Claim 10
Independent Claim 139 words
A method for executing instructions in a central processing unit (CPU), wherein the CPU includes at least one general purpose CPU core and at least one digital signal processing (DSP) core, the method comprising: storing one or more sequences of instructions in an instruction memory for execution by the central processing unit; examining a sequence of instructions in said instruction memory; determining whether said sequence of instructions in said instruction memory is intended to perform a digital signal processing function; converting said sequence of instructions in said instruction memory which is intended to perform a digital signal processing function into a digital signal processing function identifier; the digital signal processing core receiving said digital signal processing function identifier; the digital signal processing core performing a digital signal processing function in response to said received digital signal processing function identifier.
Claim 11
Independent Claim 139 words
A method for executing instructions in a central processing unit (CPU), wherein the CPU includes at least one general purpose CPU core and at least one digital signal processing (DSP) core, the method comprising: storing one or more sequences of instructions in an instruction memory for execution by the central processing unit; examining a sequence of instructions in said instruction memory; determining whether said sequence of instructions in said instruction memory is intended to perform a digital signal processing function; converting said sequence of instructions in said instruction memory which is intended to perform a digital signal processing function into a digital signal processing function identifier; the digital signal processing core receiving said digital signal processing function identifier; the digital signal processing core performing a digital signal processing function in response to said received digital signal processing function identifier.
Claim 12
Dependent Claim 144 words
The method of claim 9, further comprising: wherein said storing comprises storing a first sequence of instructions in said instruction memory which performs a first digital signal processing function; wherein said storing comprises storing a second sequence of instructions in said instruction memory which does not perform a digital signal processing function; wherein said converting converts said first sequence of instructions in said instruction memory which is intended to perform said first digital signal processing function into a first digital signal processing function identifier; wherein said performing comprises said digital signal processing core performing said first digital signal processing function in response to said first digital signal processing function identifier, wherein said performing said first digital signal processing function is substantially equivalent to execution of said first sequence of instructions; and said general purpose central processing unit core executing said second sequence of instructions.
Claim 13
Dependent Claim 24 words
The method of claim 10, further comprising: said digital signal processing core and said general purpose central processing unit core operating substantially in parallel.
Claim 14
Dependent Claim 25 words
The method of claim 10, further comprising: said digital signal processing core providing data and timing signals to said general purpose central processing unit core.
Claim 15
Dependent Claim 45 words
The method of claim 9, further comprising: said function preprocessor generating a digital signal processing function identifier and one or more parameters in response to said determining that said sequence of instructions in said instruction memory is intended to perform a digital signal processing function.
Claim 16
Dependent Claim 21 words
The method of claim 9, wherein said general purpose central processing unit core is compatible with the X86 family of microprocessors.
Claim 17
Dependent Claim 16 words
The method of claim 14, wherein said one or more sequences of instructions comprise X86 opcodes.
Claim 18
Dependent Claim 29 words
The method of claim 9, said digital signal processing core performing one or more mathematical operations from the group consisting of convolution, correlation, Fast Fourier Transforms, and inner product.

References Cited (Backward Citations)

EP0071028A2 Cited
US4626989A Cited
EP0442041A2 Cited
US5241636A Cited
EP0465054A1 Cited
EP0478904A2 Cited
US5588118A Cited
US5574872A Cited
US5594880A Cited
US5619665A Cited
US5649138A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2001-08-10 2002-02-09 2002-08-11 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2005-08-10 2006-02-09 2006-08-11 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2009-08-10 2010-02-09 2010-08-11 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag