EP1631903A2

Address offset generation within a data processing system

Abstract

This record has no abstract on file.

Term

Term ended

Projected expiry passed 30 December 2023, 2.7 years ago.

  1. Priority
  2. Filed
  3. Published
  4. Projected expiry
  5. Today

33 claims: 24 independent, 9 dependent

  1. 1
    Claims of equivalent WO 2004111837 A2 CLAIMS 1. Apparatus for processing data, said apparatus comprising:an instruction decoder responsive to program instructions to control data processing operations;and an address offset generating circuit controlled by said instruction decoder and operable to generate an N-bit address offset having a value specified by an address offset generating instruction including an offset value sign specifying bit S;wherein said N-bit address offset has bit values B;when expressed as a two's complement number, where (N-l)≥i≥Z and (N-l)>Z>0, said address offset generating instruction includes L high order field bits P k , where (N-Z)>L>1 and L>k>0, and said address offset generating circuit is operable such that: (i) if all of said high order field bits P k have respective predetermined values D k , then bits Bj of said N-bit address offset are given by B j = S for all values of j such that (N-l)≥j>(N-L-l);and (ii) if any of said high order field bits P k does not have said predetermined value Dk, then bits B j of said N-bit address offset, where (N- l)>j≥(N-L-l), are given by a predetermined one-to-one mapping from combinations of values of said high order field bits P k and said offset value sign specifying bit S to combinations of values of Bj other than the combination B j = 1 for all values of j such that (N-l)≥j≥(N-L-l) and the combination B j = 0 for all values of j such that (N-l)≥j≥(N-L-l).
  2. 3
    Apparatus as claimed in any one of claims 1 and 2, wherein said address offset generating circuit is operable to generate bit B j values of said N-bit address offset each bit value Bj having a value given by a respective predetermined one of:B j = S for one directly sign bit specified value of j;B j = S XOR P k( j) XOR Dk(j) where k(j) is a one-to-one index mapping from values of j, excluding said directly sign bit specified value of j, to values of k.
  3. 5
    Apparatus as claimed in any one of the preceding claims, wherein said address offset generating instruction is a branch instruction and said N-bit address offset is an N-bit branch target address offset.
  4. 7
    Apparatus as claimed in any one of the preceding claims, wherein said N-bit address offset is further sign extended by said address offset generating instruction prior to use.
  5. 8
    Apparatus as claimed in any one of the preceding claims, wherein L = 2.
  6. 9
    Apparatus as claimed in any one of the preceding claims, wherein N = 25.
  7. 10
    Apparatus as claimed in any one of the preceding claims, wherein Z is one of 1 and 2.
  8. 11
    Apparatus as claimed in any one of the preceding claims, wherein bit values BN -2 -L to B z are directly specified in said address offset generating instruction.
  9. 12
    A method of processing data, said method comprising the steps- of:controlling data processing operations using an instruction decoder responsive to program instructions;and generating an N-bit address offset having a value specified by an address offset generating instruction including an offset value sign specifying bit S using an address offset generating circuit controlled by said instruction decoder;wherein said N-bit address offset has bit values Bj when expressed as a two's complement number, where (N-l)≥i≥Z and (N-l)>Z>0, said address offset generating instruction includes L high order field bits P k , where (N-Z)>L>1 and L>k>0, and said address offset generating circuit is operable such that: (i) if all of said high order field bits Pk have respective predetermined values D k , then bits Bj of said N-bit address offset are given by B j = S for all values of j such that (N-l)≥j≥(N-L-l);and (ii) if any of said high order field bits P k does not have said predetermined value D k , then bits Bj of said N-bit address offset, where (N- l)≥j≥(N-L-l), are given by a predetermined one-to-one mapping from combinations of values of said high order field bits P k and said offset value sign specifying bit S to combinations of values of Bj other than the combination B j = 1 for all values of j such that (N-l)>j>(N-L-l) and the combination B j = 0 for all values of j such that (N- l)>j>(N-L- 1).
  10. 14
    A method as claimed in any one of claims 12 and 13, wherein said address offset generating circuit is operable to generate bit Bj values of said N- bit address offset each bit value Bj having a value given by a respective predetermined one of:B j = S for one directly sign bit specified value of j;B j = S XOR P k (j) XOR D k Q) where k(j) is a one-to-one index mapping from values of j, excluding said directly sign bit specified value of j, to values of k.
  11. 16
    A method as claimed in any one of claims 12 to 15, wherein said address offset generating instruction is a branch instruction and said N-bit address offset is an N-bit branch target address offset.
  12. 18
    A method as claimed in any one of claims 12 to 17, wherein said N-bit address offset is further sign extended by said address offset generating instruction prior to use.
  13. 19
    A method as claimed in any one of claims 12 to 18, wherein L = 2.
  14. 20
    A method as claimed in any one of claims 12 to 19, wherein N = 25.
  15. 21
    A method as claimed in any one of claims 12 to 20, wherein Z is one of 1 and 2.
  16. 22
    A method as claimed in any one of claims 12 to 21, wherein bit values BN- 2 - L to Bz are directly specified in said address offset generating instruction.
  17. 23
    A computer program product including a computer program for controlling a computer to perform the steps of:controlling data processing operations using an instruction decoder responsive to program instructions;and generating an N-bit address offset having a value specified by an address offset generating instruction including an offset value sign specifying bit S using an address offset generating circuit controlled by said instruction decoder;wherein said N-bit address offset has bit values Bi when expressed as a two's complement number, where (N-l)≥i≥Z and (N-l)>Z>0, said address offset generating instruction includes L high order field bits P k , where (N-Z)>L>1 and L>k>0, and said address offset generating circuit is operable such that: (i) if all of said high order field bits P k have respective predetermined values Dk, then bits B j of said N-bit address offset are given by B j = S for all values of j such that (N-l)>j>(N-L-l);and (ii) if any of said high order field bits P k does not have said predetermined value D k , then bits B j of said N-bit address offset, where (N- l)>j>(N-L-l), are given by a predetermined one-to-one mapping from combinations of values of said high order field bits P k and said offset value sign specifying bit S to combinations of values of B j other than the combination B j = 1 for all values of j such that (N-l)≥j≥(N-L-l) and the combination B j = 0 for all values of j such that (N-l)>j>(N-L-l).
  18. 25
    A computer program product as claimed in any one of claims 23 and 24, wherein said address offset generating circuit is operable to generate bit B j values of said N-bit address offset each bit value B j having a value given by a respective predetermined one of:Bj = S for one directly sign bit specified value of j;Bj = S XOR P k (j) XOR D k( j) where k(j) is a one-to-one index mapping from values of j, excluding said directly sign bit specified value of j, to values of k.
  19. 27
    A computer program product as claimed in any one of claims 23 to 26, wherein said address offset generating instruction is a branch instruction and said N-bit address offset is an N-bit branch target address offset.
  20. 29
    A computer program product as claimed in any one of claims 23 to 28, wherein said N-bit address offset is further sign extended by said address offset generating instruction prior to use.
  21. 30
    A computer program product as claimed in any one of claims 23 to 29, wherein L = 2.
  22. 31
    A computer program product as claimed in any one of claims 23 to 30, whereinN = 25.
  23. 32
    A computer program product as claimed in any one of claims 23 to 31, wherein Z is one of 1 and 2.
  24. 33
    A computer program product as claimed in any one of claims 23 to 32, wherein bit values BN -2 -L to Bz are directly specified in said address offset generating instruction.
Independent claims24