Patents by Inventor Curtis Glenn DUNHAM
Curtis Glenn DUNHAM 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: 10467159Abstract: A memory node controller for a node of a data processing network, the network including at least one computing device and at least one data resource, each data resource addressed by a physical address. The node is configured to couple the at least one computing device with the at least one data resource. Elements of the data processing network are addressed via a system address space. The memory node controller includes a first interface to the at least one data resource, a second interface to the at least one computing device, and a system to physical address translator cache configured to translate a system address in the system address space to a physical address in the physical address space of the at least one data resource.Type: GrantFiled: July 14, 2017Date of Patent: November 5, 2019Assignee: Arm LimitedInventors: Jonathan Curtis Beard, Roxana Rusitoru, Curtis Glenn Dunham
-
Publication number: 20190303143Abstract: A method and apparatus are provided for dynamically determining when an operation, specified by one or more instructions in a data processing system, is suitable for accelerated execution. Data indicators are maintained, for data registers of the system, that indicate when data-flow from a register derives from a restricted source. In addition, instruction predicates are provided for instructions to indicate which instructions are capable of accelerated execution. From the data indicators and the instruction predicates, the microarchitecture of the data processing system determines, dynamically, when the operation is a thread-restricted function and suitable for accelerated execution in a hardware accelerator. The thread-restricted function may be executed on a hardware processor, such as a vector, neuromorphic or other processor.Type: ApplicationFiled: March 29, 2018Publication date: October 3, 2019Applicant: Arm LimitedInventors: Jonathan Curtis Beard, Curtis Glenn Dunham, Alejandro Rico Carro
-
Patent number: 10423446Abstract: Data processing apparatus comprises one or more interconnected processing elements each configured to execute processing instructions of a program task; coherent memory circuitry storing one or more copies of data accessible by each of the processing elements, so that data written to a memory address in the coherent memory circuitry by one processing element is consistent with data read from that memory address in the coherent memory circuitry by another of the processing elements; the coherent memory circuitry comprising a memory region to store data, accessible by the processing elements, defining one or more attributes of a program task and context data associated with a most recent instance of execution of that program task; the apparatus comprising scheduling circuitry to schedule execution of a task by a processing element in response to the one or more attributes defined by data stored in the memory region corresponding to that task; and each processing element which executes a program task is configurType: GrantFiled: November 28, 2016Date of Patent: September 24, 2019Assignee: ARM LimitedInventors: Curtis Glenn Dunham, Jonathan Curtis Beard, Roxana Rusitoru
-
Patent number: 10353826Abstract: A data processing system includes a memory system, a first processing element, a first address translator that maps virtual addresses to system addresses, a second address translator that maps system address to physical addresses, and a task management unit. A first program task uses a first virtual memory space that is mapped to a first system address range using a first table. The context of the first program task includes an address of the first table and is cloned by creating a second table indicative of a mapping from a second virtual address space to a second range of system addresses, where the second range is mapped to the same physical addresses as the first range until a write occurs, at which time memory is allocated and the mapping of the second range is updated. The cloned context includes an address of the second table.Type: GrantFiled: July 14, 2017Date of Patent: July 16, 2019Assignee: Arm LimitedInventors: Jonathan Curtis Beard, Roxana Rusitoru, Curtis Glenn Dunham
-
Patent number: 10324727Abstract: A data processing apparatus executes a stream of instructions. Memory access circuitry accesses a memory in response to control signals associated with a memory access instruction that is executed in the stream of instructions. Branch prediction circuitry predicts the outcome of branch instructions in the stream of instructions based on a branch prediction table. Processing circuitry performs a determination of whether out-of-order execution of memory access instructions is to be performed based on memory prediction data, and selectively enables out-of-order execution of the memory access instructions in dependence on the determination. The memory prediction data is stored in the branch prediction table.Type: GrantFiled: August 17, 2016Date of Patent: June 18, 2019Assignee: ARM LimitedInventors: Curtis Glenn Dunham, Mitchell Bryan Hayenga
-
Publication number: 20190102388Abstract: An apparatus has processing circuitry for processing instructions from multiple threads. A storage structure is shared between the threads and has a number of entries. Indexing circuitry generates a target index value identifying an entry of the storage structure to be accessed in response to a request from the processing circuitry specifying a requested index value corresponding to information to be accessed from the storage structure. The indexing circuitry generates the target index value as a function of the requested index value and a key value selected depending on which of the threads trigger the request. The key value for at least one of the threads is updated from time to time.Type: ApplicationFiled: December 3, 2018Publication date: April 4, 2019Inventors: Mitchell Bryan HAYENGA, Curtis Glenn DUNHAM, Dam SUNWOO
-
Patent number: 10185731Abstract: An apparatus has processing circuitry for processing instructions from multiple threads. A storage structure is shared between the threads and has a number of entries. Indexing circuitry generates a target index value identifying an entry of the storage structure to be accessed in response to a request from the processing circuitry specifying a requested index value corresponding to information to be accessed from the storage structure. The indexing circuitry generates the target index value as a function of the requested index value and a key value selected depending on which of the threads trigger the request. The key value for at least one of the threads is updated from time to time.Type: GrantFiled: March 31, 2016Date of Patent: January 22, 2019Assignee: ARM LimitedInventors: Mitchell Bryan Hayenga, Curtis Glenn Dunham, Dam Sunwoo
-
Publication number: 20190018794Abstract: A data processing system includes a memory system, a first processing element, a first address translator that maps virtual addresses to system addresses, a second address translator that maps system address to physical addresses, and a task management unit. A first program task uses a first virtual memory space that is mapped to a first system address range using a first table. The context of the first program task includes an address of the first table and is cloned by creating a second table indicative of a mapping from a second virtual address space to a second range of system addresses, where the second range is mapped to the same physical addresses as the first range until a write occurs, at which time memory is allocated and the mapping of the second range is updated. The cloned context includes an address of the second table.Type: ApplicationFiled: July 14, 2017Publication date: January 17, 2019Applicant: ARM LTDInventors: Jonathan Curtis BEARD, Roxana RUSITORU, Curtis Glenn DUNHAM
-
Publication number: 20190018790Abstract: A system, apparatus and method are provided in which a range of virtual memory addresses and a copy of that range are mapped to the same first system address range in a data processing system until an address in the virtual memory address range, or its copy, is written to. The common system address range includes a number of divisions. Responsive to a write request to an address in a division of the common address range, a second system address range is generated. The second system address range is mapped to the same physical addresses as the first system address range, except that the division containing the address to be written to and its corresponding division in the second system address range are mapped to different physical addresses. First layer mapping data may be stored in a range table buffer and updated when the second system address range is generated.Type: ApplicationFiled: July 14, 2017Publication date: January 17, 2019Applicant: ARM LTDInventors: Jonathan Curtis BEARD, Roxana RUSITORU, Curtis Glenn DUNHAM
-
Publication number: 20190018787Abstract: A host machine uses a range-based address translation system rather than a conventional page-based system. This enables address translation to be performed with improved efficiency, particularly when nest virtual machines are used. A data processing system utilizes range-based address translation to provide fast address translation for virtual machines that use virtual address space.Type: ApplicationFiled: November 21, 2017Publication date: January 17, 2019Applicant: Arm LimitedInventors: Roxana Rusitoru, Jonathan Curtis Beard, Curtis Glenn Dunham
-
Publication number: 20190018785Abstract: A data processing network includes a network of devices addressable via a system address space, the network including a computing device configured to execute an application in a virtual address space. A virtual-to-system address translation circuit is configured to translate a virtual address to a system address. A memory node controller has a first interface to a data resource addressable via a physical address space, a second interface to the computing device, and a system-to-physical address translation circuit, configured to translate a system address in the system address space to a corresponding physical address in the physical address space of the data resource. The virtual-to-system mapping may be a range table buffer configured to retrieve a range table entry comprising an offset address of a range together with a virtual address base and an indicator of the extent of the range.Type: ApplicationFiled: November 21, 2017Publication date: January 17, 2019Applicant: Arm LimitedInventors: Jonathan Curtis BEARD, Roxana RUSITORU, Curtis Glenn DUNHAM
-
Publication number: 20190018808Abstract: A memory node controller for a node of a data processing network, the network including at least one computing device and at least one data resource, each data resource addressed by a physical address. The node is configured to couple the at least one computing device with the at least one data resource. Elements of the data processing network are addressed via a system address space. The memory node controller includes a first interface to the at least one data resource, a second interface to the at least one computing device, and a system to physical address translator cache configured to translate a system address in the system address space to a physical address in the physical address space of the at least one data resource.Type: ApplicationFiled: July 14, 2017Publication date: January 17, 2019Applicant: ARM LTDInventors: Jonathan Curtis BEARD, Roxana RUSITORU, Curtis Glenn DUNHAM
-
Publication number: 20190018789Abstract: Memory address translation apparatus comprises a translation data store to store one or more instances of translation data providing address range boundary values defining a range of virtual memory addresses between respective virtual memory address boundaries in a virtual memory address space, and indicating a translation between a virtual memory address in the range of virtual memory addresses and a corresponding output memory address in an output address space; detector circuitry to detect whether a given virtual memory address to be translated lies in the range of virtual memory addresses defined by an instance of the translation data in the translation data store; in which the detector circuitry is configured, when the given virtual memory address to be translated lies outside the ranges of virtual memory addresses defined by any instances of the translation data stored by the translation data store, to retrieve one or more further instances of the translation data; and translation circuitry to apply theType: ApplicationFiled: July 14, 2017Publication date: January 17, 2019Applicant: ARM LTDInventors: Jonathan Curtis BEARD, Roxana RUSITORU, Curtis Glenn DUNHAM
-
Publication number: 20180150315Abstract: Data processing apparatus comprises one or more interconnected processing elements; each processing element being configured to execute processing instructions of program tasks; each processing element being configured to save context data relating to a program task following execution of that program task by that processing element; and to load context data, previously saved by that processing element or another of the processing elements, at resumption of execution of a program task; each processing element having respective associated format definition data to define one or more sets of data items for inclusion in the context data; the apparatus comprising format selection circuitry to communicate the format definition data of each of the processing elements with others of the processing elements and to determine, in response to the format definition data for each of the processing elements, a common set of data items for inclusion in the context data.Type: ApplicationFiled: November 28, 2016Publication date: May 31, 2018Inventors: Curtis Glenn DUNHAM, Jonathan Curtis BEARD, Roxana RUSITORU
-
Publication number: 20180150322Abstract: Data processing apparatus comprises one or more interconnected processing elements each configured to execute processing instructions of a program task; coherent memory circuitry storing one or more copies of data accessible by each of the processing elements, so that data written to a memory address in the coherent memory circuitry by one processing element is consistent with data read from that memory address in the coherent memory circuitry by another of the processing elements; the coherent memory circuitry comprising a memory region to store data, accessible by the processing elements, defining one or more attributes of a program task and context data associated with a most recent instance of execution of that program task; the apparatus comprising scheduling circuitry to schedule execution of a task by a processing element in response to the one or more attributes defined by data stored in the memory region corresponding to that task; and each processing element which executes a program task is configurType: ApplicationFiled: November 28, 2016Publication date: May 31, 2018Inventors: Curtis Glenn DUNHAM, Jonathan Curtis BEARD, Roxana RUSITORU
-
Publication number: 20180150321Abstract: Data processing apparatus comprises a group of two or more processing elements configured to execute processing instructions of a program task; the processing elements being configured to provide context data relating to a program task following execution of that program task by that processing element; and to receive context data, provided by that processing element or another processing element, at resumption of execution of a program task; in which a next processing element of the group to execute a program task is configured to receive a first subset of the context data from a previous processing element to execute that program task and to start to execute the program task using the first subset of the context data; and in which the next processing element is configured to receive one or more items of a second, remaining, subset of the context data during execution of the program task by that processing element.Type: ApplicationFiled: November 28, 2016Publication date: May 31, 2018Inventors: Curtis Glenn DUNHAM, Jonathan Curtis BEARD, Roxana RUSITORU
-
Publication number: 20180052691Abstract: A data processing apparatus executes a stream of instructions. Memory access circuitry accesses a memory in response to control signals associated with a memory access instruction that is executed in the stream of instructions. Branch prediction circuitry predicts the outcome of branch instructions in the stream of instructions based on a branch prediction table. Processing circuitry performs a determination of whether out-of-order execution of memory access instructions is to be performed based on memory prediction data, and selectively enables out-of-order execution of the memory access instructions in dependence on the determination. The memory prediction data is stored in the branch prediction table.Type: ApplicationFiled: August 17, 2016Publication date: February 22, 2018Inventors: Curtis Glenn DUNHAM, Mitchell Bryan HAYENGA
-
Publication number: 20170286421Abstract: An apparatus has processing circuitry for processing instructions from multiple threads. A storage structure is shared between the threads and has a number of entries. Indexing circuitry generates a target index value identifying an entry of the storage structure to be accessed in response to a request from the processing circuitry specifying a requested index value corresponding to information to be accessed from the storage structure. The indexing circuitry generates the target index value as a function of the requested index value and a key value selected depending on which of the threads trigger the request. The key value for at least one of the threads is updated from time to time.Type: ApplicationFiled: March 31, 2016Publication date: October 5, 2017Inventors: Mitchell Bryan HAYENGA, Curtis Glenn DUNHAM, Dam SUNWOO