Patent US5748515A successfully refreshed from Google Patents.
← Back to Patent Explorer
US5748515A Expired / Lapsed US ⏱️ 0.0 years remaining

Data processing condition code flags

Assignee: ARM Ltd
•
Filing: 1996-10-08
•
Granted: 1998-05-05
•
Expires: 2016-10-08
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A data processing system incorporating an arithmetic logic unit 20, 22, 24 having an N-bit data pathway and supporting parallel operation program instruction words in which to independent arithmetic operations are carried out in parallel by the arithmetic logic unit upon (N/2)-bit input operand words. Two sets of condition code flags N, Z, C V, SN, SZ, SC, SV responsive to the separate arithmetic logic operations are provided.

Inventors

  • 👤 Simon James Glass
  • 👤 David Vivian Jaggar

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-08 15:57
CPC Classifications
G; G06; G06F; G06F9/00; G06F9/06; G06F9/30; G06F9/30003; G06F9/30007; G06F9/3001; G06F9/30014; G06F9/30036; G06F9/30038; G06F9/30094; G06F9/30098; G06F9/30105; G06F9/30109; G06F9/30145; G06F9/3016; G06F9/30167; G06F9/38; G06F9/3836; G06F9/3842; G06F9/3885; G06F9/3893

Claims Analysis

Total Claims: 9
Claim 1
Independent Claim 246 words
Apparatus for data processing, said apparatus comprising: (i) a plurality of registers for storing data words to be manipulated, each of said registers having at least an N-bit capacity; and (ii) an arithmetic logic unit having an N-bit datapath and responsive program instruction words to perform arithmetic logic operations specified by said program instruction words; wherein (iii) said arithmetic logic unit is responsive to at least one parallel operation program instruction word that separately performs a first arithmetic logic operation upon a first (N/2)-bit input operand data word and a second arithmetic logic operation upon a second (N/2)-bit input operand data word; and (iv) said arithmetic logic unit sets a first set of condition code flags in dependence upon said first arithmetic logic operation and sets a second set of condition code flags in dependence upon said second arithmetic logic operation, wherein said arithmetic logic unit is responsive to a conditional select instruction that moves one of a first (N/2)-bit input operand data word stored in a first source register and a first (N/2)-bit input operand data word stored in a second source register to a destination register of said plurality of registers in dependence upon said first set of condition flags and moves one of a second (N/2)-bit input operand data word stored in a first source register and a second (N/2)-bit input operand data word stored in a second source register to said destination register in dependence upon said second set of condition flags.
Claim 2
Dependent Claim 246 words
Apparatus for data processing, said apparatus comprising: (i) a plurality of registers for storing data words to be manipulated, each of said registers having at least an N-bit capacity; and (ii) an arithmetic logic unit having an N-bit datapath and responsive program instruction words to perform arithmetic logic operations specified by said program instruction words; wherein (iii) said arithmetic logic unit is responsive to at least one parallel operation program instruction word that separately performs a first arithmetic logic operation upon a first (N/2)-bit input operand data word and a second arithmetic logic operation upon a second (N/2)-bit input operand data word; and (iv) said arithmetic logic unit sets a first set of condition code flags in dependence upon said first arithmetic logic operation and sets a second set of condition code flags in dependence upon said second arithmetic logic operation, wherein said arithmetic logic unit is responsive to a conditional select instruction that moves one of a first (N/2)-bit input operand data word stored in a first source register and a first (N/2)-bit input operand data word stored in a second source register to a destination register of said plurality of registers in dependence upon said first set of condition flags and moves one of a second (N/2)-bit input operand data word stored in a first source register and a second (N/2)-bit input operand data word stored in a second source register to said destination register in dependence upon said second set of condition flags.
Claim 3
Dependent Claim 57 words
Apparatus as claimed in claim 1, wherein said parallel operation program instruction word specifies a source register from among said plurality of registers with said first (N/2)-bit input operand being stored in high order bit positions of said source register and said second (N/2)-bit input operand being stored in low order bit positions of said source register.
Claim 4
Dependent Claim 58 words
Apparatus as claimed in claim 1, wherein said arithmetic logic unit has a signal path that functions as a carry chain between bit positions in arithmetic logic operations and, when executing a parallel operation program instruction word said signal path is broken between said first (N/2)-bit input operand data word and said second (N/2)-bit input operand data word.
Claim 5
Dependent Claim 102 words
Apparatus as claimed in claim 1, wherein said parallel operation program instruction word performs the arithmetic logic operation of one of: (i) a parallel add in which two parallel (N/2)-bit additions are performed; (ii) a parallel subtract in which two parallel (N/2)-bit subtractions are performed; (iii) a parallel shift in which two parallel (N/2)-bit shift operations are performed; (iv) a parallel add/subtract in which an (N/2)-bit add and an (N/2)-bit subtraction are performed in parallel; (v) a parallel min/max in which two parallel (N/2)-bit min/max operations are performed; and (vi) a parallel scale in which two parallel (N/2)-bit scale operation are performed.
Claim 6
Dependent Claim 57 words
Apparatus as claimed in claim 1, wherein said first set of condition code flags and said second set of condition code flags include at least one of flags indicating that an immediately preceding operation: (i) produced a result that was zero; (ii) produced a result that was negative; (iii) produced an overflow; and (iv) produced a carry.
Claim 7
Dependent Claim 26 words
Apparatus as claimed in claim 1, wherein arithmetic logic unit performs one of a convolution operation, a filter operation, a correlation operation and a transform operation.
Claim 8
Independent Claim 246 words
A method of processing data, said method comprising the steps of: (i) storing data words to be manipulated in a plurality of registers, each of said registers having at least an N-bit capacity; and (ii) in response to program instruction words, performing, with an arithmetic logic unit having an N-bit datapath, arithmetic logic operations specified by said program instruction words; wherein (iii) in response to at least one parallel operation program instruction word separately performing a first arithmetic logic operation upon a first (N/2)-bit input operand data word and a second arithmetic logic operation upon a second (N/2)-bit input operand data word; (iv) setting a first set of condition code flags in dependence upon said first arithmetic logic operation; and (v) setting a second set of condition code flags in dependence upon said second arithmetic logic operation wherein said arithmetic logic unit is responsive to a conditional select instruction that moves one of said first N/2)-bit input operand data words stored in a first source register and one of said first (N/2)-bit input operand data word stored in a second source register to a destination register of said plurality of registers in dependence upon said first set of condition flags and moves one of said second (N/2)-bit input operand data words stored in a first source register and one of said second (N/2)-bit input operand data words stored in a second source register to said destination register in dependence upon said second set of condition flags.
Claim 9
Independent Claim 246 words
A method of processing data, said method comprising the steps of: (i) storing data words to be manipulated in a plurality of registers, each of said registers having at least an N-bit capacity; and (ii) in response to program instruction words, performing, with an arithmetic logic unit having an N-bit datapath, arithmetic logic operations specified by said program instruction words; wherein (iii) in response to at least one parallel operation program instruction word separately performing a first arithmetic logic operation upon a first (N/2)-bit input operand data word and a second arithmetic logic operation upon a second (N/2)-bit input operand data word; (iv) setting a first set of condition code flags in dependence upon said first arithmetic logic operation; and (v) setting a second set of condition code flags in dependence upon said second arithmetic logic operation wherein said arithmetic logic unit is responsive to a conditional select instruction that moves one of said first N/2)-bit input operand data words stored in a first source register and one of said first (N/2)-bit input operand data word stored in a second source register to a destination register of said plurality of registers in dependence upon said first set of condition flags and moves one of said second (N/2)-bit input operand data words stored in a first source register and one of said second (N/2)-bit input operand data words stored in a second source register to said destination register in dependence upon said second set of condition flags.

References Cited (Backward Citations)

US4707800A Cited
US4768160A Cited
US5189636A Cited
GB2224376A Cited
EP0395348A2 Cited
US5479365A Cited
US5327369A Cited
US5390135A Cited
US5640578A Cited

USPTO Annuity & Maintenance Windows

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

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag