Patents by Inventor James Seal

James Seal has filed for patents to protect the following inventions. This listing includes patent applications that are pending as well as patents that have already been granted by the United States Patent and Trademark Office (USPTO).

  • Patent number: 7882293
    Abstract: A processor core 4 is provided with an interrupt controller 22 which serves to set an interrupt mask bit F and a hardware control when an interrupt fiq occurs. A masking control signal NMI serves to either allow or prevent the software clearing of the interrupt mask bit F.
    Type: Grant
    Filed: July 9, 2004
    Date of Patent: February 1, 2011
    Assignee: ARM Limited
    Inventors: Andrew Burdass, David James Seal
  • Patent number: 7822947
    Abstract: A register data store 20 is provided within a data processing system 2. The register data store 20 may be accessed via registers for which a data processing instruction specifies a register size Q, D and a data element size S16, S8 for the multiple SIMD data elements to be manipulated by that data processing instruction. A given data processing element may be accessed via different registers depending upon the mapping between the register specifier, the register size and the data element size to a particular location within the register data store 20.
    Type: Grant
    Filed: July 13, 2004
    Date of Patent: October 26, 2010
    Assignee: ARM Limited
    Inventors: Simon Ford, David James Seal
  • Patent number: 7797681
    Abstract: A data processor 2 has privilege levels associated with it including a user level and a privileged level. The processor 2 also has multiple stack memories which can be used including one or more process stacks, a main stack and a deep stack. The stack memory to be used is de-coupled from the privilege level. An activation level state variable tracking the number of pending exceptions is held by the processor and used to modify which stack memory stores pending state values when an exception occurs. If the system is at a base level of activation, corresponding to currently no pending exceptions, then when an exception occurs the current state data is saved on the process stack with the main stack being available for the exception handling code. Particular exceptions can be flagged as requiring use of a deep stack rather than either the process stack or the main stack.
    Type: Grant
    Filed: May 11, 2006
    Date of Patent: September 14, 2010
    Assignee: ARM Limited
    Inventors: Richard Roy Grisenthwaite, Paul Kimelman, David James Seal, David Aaron Rusling
  • Patent number: 7788472
    Abstract: A data processing apparatus 2 is provided which supports two instruction sets. These two instruction sets share a common subset of instructions including at least one class of instructions, such as all of the coprocessor instructions. The common subset of instructions have the same instruction encoding once any differences due to storage order within memory have been compensated for e.g. endianness.
    Type: Grant
    Filed: February 20, 2004
    Date of Patent: August 31, 2010
    Assignee: ARM Limited
    Inventors: David James Seal, Edward Colles Nevill
  • Patent number: 7689811
    Abstract: A data processing apparatus (2) comprising: a register data store operable to store data elements; an instruction decoder (14, 16) operable to decode an instruction with generated constant, said instruction having a data value associated therewith; a data processor (18) operable to perform data processing operations within parallel processing lanes on at least one source operand in response to a data processing instruction decoded by said instruction decoder (16); and said data processor being operable in response to said decoded instruction with generated constant and associated data value to expand at least a data portion (1210) of said associated data value, said expansion being performed in response to said instruction with generated constant and depending on a selected function, to generate a constant (1240), said generated constant (1240) forming one of said at least one source operands.
    Type: Grant
    Filed: July 13, 2004
    Date of Patent: March 30, 2010
    Assignee: ARM Limited
    Inventors: Wilco Dijkstra, Simon Andrew Ford, David James Seal
  • Patent number: 7647368
    Abstract: Data processing apparatus and method perform data processing operations on floating point data elements. The data processing apparatus has processing logic for performing data processing operations on the floating point data elements, and decode logic operable to decode a data processing instruction in order to determine a corresponding data processing operation to be performed by the processing logic. The data processing instruction has an m-bit immediate value encoded therein. Further, constant generation logic is provided to perform a logical operation on the m-bit immediate value in order to generate an n-bit floating point constant for use as at least one input floating point data element for the processing logic when performing the corresponding data processing operation. The values “n” and “m” are integers, and n is greater than m. This approach provides a particularly efficient technique for generating floating point constants.
    Type: Grant
    Filed: September 1, 2004
    Date of Patent: January 12, 2010
    Assignee: ARM Limited
    Inventors: Simon Andrew Ford, David James Seal, Wilco Dijkstra
  • Publication number: 20090119492
    Abstract: A data processing apparatus and method are provided for handling procedure call instructions. The data processing apparatus has processing logic for performing data processing operations specified by program instructions fetched from a sequence of addresses, at least one of the program instructions being a procedure call instruction specifying a branch operation to be performed. Further, a control value is stored within control storage, and the processing logic is operable in response to a control value modifying instruction to modify that control value. If the control value is clear, the processing logic is operable in response to the procedure call instruction to generate a return address value in addition to performing the branch operation, whereas if the control value is set, the processing logic is operable in response to the procedure call instruction to suppress generation of the return address value and to cause the control value to be clear in addition to performing the branch operation.
    Type: Application
    Filed: October 26, 2005
    Publication date: May 7, 2009
    Inventor: David James Seal
  • Patent number: 7447871
    Abstract: A data processing apparatus 2 is provided which is responsive to data access instructions to perform data access operations. These data access instructions have a first form utilizing a 12-bit offset field but with a fixed addressing mode and a second form utilizing a shorter 8-bit offset field but with an addressing mode specified within a manipulation mode control field of the data access instruction.
    Type: Grant
    Filed: February 7, 2007
    Date of Patent: November 4, 2008
    Assignee: ARM Limited
    Inventors: David James Seal, Vladimir Vasekin
  • Publication number: 20080250216
    Abstract: Memory address space is divided into domains and instruction access control circuitry is used to detect when the memory address from which an instruction to be executed is fetched has crossed a domain boundary and changed and in such cases to conduct a check to ensure that the instruction within the new domain is a permitted instruction of a permitted form. The permitted instruction can be arranged to be a no operation instruction other than in respect of the instruction access control circuitry, in order to assist backward compatibility.
    Type: Application
    Filed: February 6, 2008
    Publication date: October 9, 2008
    Inventors: Daniel Kershaw, Lee Douglas Smith, David James Seal, Richard Roy Grisenthwaite
  • Patent number: 7401210
    Abstract: Following execution of a subroutine, a return instruction is executed having an address as an input operand thereto. This input operand is compared with one or more predetermined values to detect a match and the return instruction response is selected in dependence upon whether or not a match is detected. Thus, the return address value can be used to invoke differing return instruction responses, such as an exception return response or a procedure return response. The one or more predetermined addresses may be conveniently allocated to the highest memory addresses within the memory map.
    Type: Grant
    Filed: March 30, 2005
    Date of Patent: July 15, 2008
    Assignee: Arm Limited
    Inventors: Richard Roy Grisenthwaite, Paul Kimelman, David James Seal
  • Patent number: 7370180
    Abstract: A method of controlling data processing logic which causes a data value to be rotated by a number of bits in order to generate a rotated data value; a number of least significant bits of the rotated data value are masked with other bits of said rotated data value not being masked in order to generate a masked rotated data value; a selected bit of said rotated data value are masked with other bits of said rotated data value not being masked in order to generate a bit preset rotated data value; and said sign-extended bit field extracted data value to be generated by subtracting said masked rotated data value from said bit preset data value or said zero-extended bit field extracted data value to be generated by performing a logical exclusive-OR operation with the masked rotated data value and said bit preset data value.
    Type: Grant
    Filed: March 8, 2004
    Date of Patent: May 6, 2008
    Assignee: ARM Limited
    Inventors: Alexander Edward Nancekievill, David James Seal
  • Patent number: 7231507
    Abstract: A data processing apparatus 2 is provided which is responsive to data access instructions to perform data access operations. These data access instructions have a first form utilising a 12-bit offset field but with a fixed addressing mode and a second form utilising a shorter 8-bit offset field but with an addressing mode specified within a manipulation mode control field of the data access instruction.
    Type: Grant
    Filed: January 28, 2004
    Date of Patent: June 12, 2007
    Assignee: ARM Limited
    Inventors: David James Seal, Vladimir Vasekin
  • Patent number: 7210023
    Abstract: The present invention provides a data processing apparatus and method for performing aligned access operations. The data processing apparatus comprises a register data store having a plurality of registers operable to store data elements, and a processor operable to perform a data processing operation on one or more data elements accessed in at least one of the registers. Further, access logic is provided which is operable in response to an access instruction to perform an access operation in order to move a number of data elements between specified registers and a portion of a memory, the portion having a start address specified by the access instruction. Further, the access instruction has an alignment specifier associated therewith which is settable either to a first value or one of a plurality of second values.
    Type: Grant
    Filed: July 13, 2004
    Date of Patent: April 24, 2007
    Assignee: ARM Limited
    Inventors: Andrew Christopher Rose, Simon Andrew Ford, Dominic Hugo Symes, David James Seal
  • Patent number: 7178011
    Abstract: Within a data processing system, prediction instructions are provided which add conditional behaviour to associated program instructions.
    Type: Grant
    Filed: January 29, 2004
    Date of Patent: February 13, 2007
    Assignee: Arm Limited
    Inventors: David James Seal, Vladimir Vasekin
  • Patent number: 7146491
    Abstract: A data processing apparatus and method for generating constant values is provided. The data processing apparatus comprises a data processing unit operable in response to an instruction to perform a data processing operation on one or more data values. Shift logic is operable to selectively apply a shift operation to data to produce one of the data values for the data processing operation. Further, a plurality of registers are provided for storing data. The instruction has a register specifier field for identifying a register and a shift specifier field for specifying a shift to be applied to that register's data in order to produce one of the data values for the data processing operation.
    Type: Grant
    Filed: October 26, 2004
    Date of Patent: December 5, 2006
    Assignee: ARM Limited
    Inventors: Jonathan Sean Callan, David Hennah Mansell, Christopher Pedley, David James Seal
  • Patent number: 7120779
    Abstract: A data processing system 2 is provided supporting address offset generating instructions which encode bits of an address offset value using previously redundant bits in a legacy instruction encoding whilst maintaining backwards compatibility with that legacy encoding.
    Type: Grant
    Filed: January 28, 2004
    Date of Patent: October 10, 2006
    Assignee: ARM Limited
    Inventor: David James Seal
  • Patent number: 7068545
    Abstract: A data processor (100) has a memory operable to store data values; a memory protection unit (130) operable to associate memory attributes with portions of said memory and to identify a plurality of memory regions corresponding to respective address ranges of said memory. The memory protection unit is operable to associate with at least one of the plurality of memory regions (150) a respective memory region specifier comprising an attributes field (230) for defining a set of memory attributes associated with said memory region and a sub-region field (240) for holding a sub-region membership value. The sub-region membership value specifies, for each of a plurality of sub-regions of the memory region, whether respective sub-regions (160-1 to 160-8) are member sub-regions or non-member sub-regions such that said memory attributes are applied to said member sub-regions but are not applied to said non-member sub-regions.
    Type: Grant
    Filed: January 4, 2005
    Date of Patent: June 27, 2006
    Assignee: ARM Limited
    Inventors: Paul Kimelman, Richard Roy Grisenthwaite, David James Seal
  • Patent number: 7047401
    Abstract: A data processing apparatus 2 supports multiple memory access program instructions LDM, STM which serve to load data values from multiple program registers 16 to respective memory locations or to store data values from multiple memory locations to respective program registers. A memory management unit 8 within the system stores device or strongly ordered memory attribute values which control whether or not a multiple memory access instruction involving such a memory location may be early terminated when an interrupt is received during its operation. Early termination is permitted in those circumstances where the multiple memory access instruction may be safely restarted and rerun in its entirety, whereas early termination is not permitted and the operation completes before the interrupt is taken in those circumstances where the memory locations are subject to a guaranteed number of memory accesses as this appears within the controlling program instructions.
    Type: Grant
    Filed: June 16, 2003
    Date of Patent: May 16, 2006
    Assignee: ARM Limited
    Inventors: David James Seal, Richard Roy Grisenthwaite
  • Patent number: 6999985
    Abstract: A data processing system is provided with an instruction (ADD8TO16) that unpacks non-adjacent portions of a data word using sign or zero extension and combines this with a single-instruction-multiple-data type arithmetic operation, such as an add, performed in response to the same instruction. The instruction is well suited to use within systems having a data path (2) including a shifting circuit (6) upstream of an arithmetic circuit (8).
    Type: Grant
    Filed: August 30, 2001
    Date of Patent: February 14, 2006
    Assignee: Arm Limited
    Inventors: Dominic Hugo Symes, David James Seal
  • Patent number: 6965984
    Abstract: A data processing system supports execution of both native instructions and Java bytecodes using a hardware executer for the Java bytecodes where possible and a software instruction interpreter for the Java bytecodes where these are not supported by the hardware. The sequences of native instructions 26 within the software instruction interpreter that perform the processing for the Java bytecodes being interpreted terminate within a sequence terminating instruction BXJ that acts differently depending upon whether or not an enabled hardware executer 6 is detected to be present. If an enabled hardware executer is detected as present, then the execution of the next Java bytecode is attempted with this. If an active hardware executer is not present, then the next Java bytecode is passed directly to the software instruction interpreter.
    Type: Grant
    Filed: April 30, 2002
    Date of Patent: November 15, 2005
    Assignee: ARM Limited
    Inventors: David James Seal, Edward Colles Nevill