Patents by Inventor David J Williamson
David J Williamson 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: 11221962Abstract: A system and method for efficiently transferring address mappings and data access permissions corresponding to the address mappings. A computing system includes at least one processor and memory for storing a page table. In response to receiving a memory access operation comprising a first address, the address translation unit is configured to identify a data access permission based on a permission index corresponding to the first address, and access data stored in a memory location of the memory identified by a second address in a manner defined by the retrieved data access permission. The address translation unit is configured to access a table to identify the data access permission, and is configured to determine the permission index and the second address based on the first address. A single permission index may correspond to different permissions for different entities within the system.Type: GrantFiled: May 15, 2020Date of Patent: January 11, 2022Assignee: Apple Inc.Inventors: Jeffry E. Gonion, Bernard Joseph Semeria, Michael J. Swift, Pradeep Kanapathipillai, David J. Williamson
-
Publication number: 20210064539Abstract: A system and method for efficiently transferring address mappings and data access permissions corresponding to the address mappings. A computing system includes at least one processor and memory for storing a page table. In response to receiving a memory access operation comprising a first address, the address translation unit is configured to identify a data access permission based on a permission index corresponding to the first address, and access data stored in a memory location of the memory identified by a second address in a manner defined by the retrieved data access permission. The address translation unit is configured to access a table to identify the data access permission, and is configured to determine the permission index and the second address based on the first address. A single permission index may correspond to different permissions for different entities within the system.Type: ApplicationFiled: May 15, 2020Publication date: March 4, 2021Inventors: Jeffry E. Gonion, Bernard Joseph Semeria, Michael J. Swift, Pradeep Kanapathipillai, David J. Williamson
-
Patent number: 10922232Abstract: An apparatus includes a control circuit and a cache memory with a plurality of regions. The control circuit receives a first and a second access request to access the cache memory. In response to determining that the first access request is from a particular processor core, and that the first access request is associated with a particular cache line in the cache memory, the control circuit stores the first access request in a cache access queue. In response to a determination that the second access request is received from a functional circuit, and that the second access request is associated with a range of a memory address space mapped to a subset of the plurality of regions, the control circuit stores the second access request in a memory access queue. The control circuit arbitrates access to the cache memory circuit between the first access request and the second access request.Type: GrantFiled: May 1, 2019Date of Patent: February 16, 2021Assignee: Apple Inc.Inventors: Brett S. Feero, David E. Kroesche, David J. Williamson
-
Patent number: 10402326Abstract: A system that includes circuitry to access memories in both coherent and non-coherent domains is disclosed. The circuitry may receive a command to access a memory included in the coherent domain and generate one or more commands to access a memory in the non-coherent domain dependent upon the received command. The circuitry may send the generated one or more commands to the memory in the non-coherent domain via communication bus.Type: GrantFiled: April 26, 2016Date of Patent: September 3, 2019Assignee: Apple Inc.Inventors: Ronald P. Hall, Mahesh K. Reddy, David J. Williamson
-
Patent number: 10401945Abstract: In an embodiment, an integrated circuit may include one or more processors. Each processor may include multiple processor cores, and each core has a different design/implementation and performance level. For example, a core may be implemented for high performance, and another core may be implemented at a lower maximum performance, but may be optimized for efficiency. Additionally, in some embodiments, some features of the instruction set architecture implemented by the processor may be implemented in only one of the cores that make up the processor. If such a feature is invoked by a code sequence while a different core is active, the processor may swap cores to the core the implements the feature. Alternatively, an exception may be taken and an exception handler may be executed to identify the feature and activate the corresponding core.Type: GrantFiled: March 26, 2018Date of Patent: September 3, 2019Assignee: Apple Inc.Inventors: David J. Williamson, Gerard R. Williams, III, James N. Hardage, Jr., Richard F. Russo
-
Publication number: 20190220417Abstract: In an embodiment, a processor may include a register file including one or more sets of registers for one or more data types specified by the ISA implemented by the processor. The processor may have a processor mode in which the context is reduced, as compared to the full context. For example, for at least one of the data types, the registers included in the reduced context exclude one or more of the registers defined in the ISA for that data type. In an embodiment, one half or more of the registers for the data type may be excluded. When the processor is operating in a reduced context mode, the processor may detect instructions that use excluded registers, and may signal an exception for such instructions to prevent use of the excluded registers.Type: ApplicationFiled: January 18, 2018Publication date: July 18, 2019Inventors: David J. Williamson, Deepak Limaye, James N. Hardage
-
Patent number: 10289191Abstract: In an embodiment, an integrated circuit may include one or more processors. Each processor may include multiple processor cores, and each core has a different design/implementation and performance level. For example, a core may be implemented for high performance, but may have higher minimum voltage at which it operates correctly. Another core may be implemented at a lower maximum performance, but may be optimized for efficiency and may operate correctly at a lower minimum voltage. The processor may support multiple processor states (PStates). Each PState may specify an operating point and may be mapped to one of the processor cores. During operation, one of the cores is active: the core to which the current PState is mapped. If a new PState is selected and is mapped to a different core, the processor may automatically context switch the processor state to the newly-selected core and may begin execution on that core.Type: GrantFiled: January 9, 2018Date of Patent: May 14, 2019Assignee: Apple Inc.Inventors: David J. Williamson, Gerard R. Williams, III
-
Publication number: 20180217659Abstract: In an embodiment, an integrated circuit may include one or more processors. Each processor may include multiple processor cores, and each core has a different design/implementation and performance level. For example, a core may be implemented for high performance, and another core may be implemented at a lower maximum performance, but may be optimized for efficiency. Additionally, in some embodiments, some features of the instruction set architecture implemented by the processor may be implemented in only one of the cores that make up the processor. If such a feature is invoked by a code sequence while a different core is active, the processor may swap cores to the core the implements the feature. Alternatively, an exception may be taken and an exception handler may be executed to identify the feature and activate the corresponding core.Type: ApplicationFiled: March 26, 2018Publication date: August 2, 2018Inventors: David J. Williamson, Gerard R. Williams, III, James N. Hardage, JR., Richard F. Russo
-
Patent number: 10007616Abstract: In an embodiment, an apparatus includes a cache memory and a control circuit. The control circuit may be configured to pre-fetch and store a first quantity of instruction data in response to a determination that a first pre-fetch operation request is received after a reset and prior to a first end condition. The first end condition may depend on an amount of unused storage in the cache memory. The control circuit may be further configured to pre-fetch and store a second quantity of instruction data in response to a determination that a second pre-fetch operation request is received after the first end condition. The second quantity may be less than the first quantity.Type: GrantFiled: March 7, 2016Date of Patent: June 26, 2018Assignee: Apple Inc.Inventors: Brett S. Feero, David J. Williamson, Jonathan J. Tyler, Mary D. Brown
-
Publication number: 20180129271Abstract: In an embodiment, an integrated circuit may include one or more processors. Each processor may include multiple processor cores, and each core has a different design/implementation and performance level. For example, a core may be implemented for high performance, but may have higher minimum voltage at which it operates correctly. Another core may be implemented at a lower maximum performance, but may be optimized for efficiency and may operate correctly at a lower minimum voltage. The processor may support multiple processor states (PStates). Each PState may specify an operating point and may be mapped to one of the processor cores. During operation, one of the cores is active: the core to which the current PState is mapped. If a new PState is selected and is mapped to a different core, the processor may automatically context switch the processor state to the newly-selected core and may begin execution on that core.Type: ApplicationFiled: January 9, 2018Publication date: May 10, 2018Inventors: David J. Williamson, Gerard R. Williams, III
-
Patent number: 9958932Abstract: In an embodiment, an integrated circuit may include one or more processors. Each processor may include multiple processor cores, and each core has a different design/implementation and performance level. For example, a core may be implemented for high performance, and another core may be implemented at a lower maximum performance, but may be optimized for efficiency. Additionally, in some embodiments, some features of the instruction set architecture implemented by the processor may be implemented in only one of the cores that make up the processor. If such a feature is invoked by a code sequence while a different core is active, the processor may swap cores to the core the implements the feature. Alternatively, an exception may be taken and an exception handler may be executed to identify the feature and activate the corresponding core.Type: GrantFiled: November 20, 2014Date of Patent: May 1, 2018Assignee: Apple Inc.Inventors: David J. Williamson, Gerard R. Williams, III, James N. Hardage, Jr., Richard F. Russo
-
Patent number: 9898071Abstract: In an embodiment, an integrated circuit may include one or more processors. Each processor may include multiple processor cores, and each core has a different design/implementation and performance level. For example, a core may be implemented for high performance, but may have higher minimum voltage at which it operates correctly. Another core may be implemented at a lower maximum performance, but may be optimized for efficiency and may operate correctly at a lower minimum voltage. The processor may support multiple processor states (PStates). Each PState may specify an operating point and may be mapped to one of the processor cores. During operation, one of the cores is active: the core to which the current PState is mapped. If a new PState is selected and is mapped to a different core, the processor may automatically context switch the processor state to the newly-selected core and may begin execution on that core.Type: GrantFiled: November 20, 2014Date of Patent: February 20, 2018Assignee: Apple Inc.Inventors: David J. Williamson, Gerard R. Williams, III
-
Patent number: 9852084Abstract: Systems, apparatuses, and methods for modifying access permissions in a processor. A processor may include one or more permissions registers for managing access permissions. A first permissions register may be utilized to override access permissions embedded in the page table data. A plurality of bits from the page table data may be utilized as an index into the first permissions register for the current privilege level. An attribute field may be retrieved from the first permissions register to determine the access permissions for a given memory request. A second permissions register may also be utilized to set the upper and lower boundary of a region in physical memory where the kernel is allowed to execute. A lock register may prevent any changes from being made to the second permissions register after the second permissions register has been initially programmed.Type: GrantFiled: February 5, 2016Date of Patent: December 26, 2017Assignee: Apple Inc.Inventors: Peter G. Soderquist, Pradeep Kanapathipillai, Bernard J. Semeria, Joshua P. de Cesare, David J. Williamson, Gerard R. Williams, III
-
Patent number: 9524011Abstract: Techniques are disclosed relating to power reduction during execution of instruction loops. Multiple different power saving modes may be used by a processor, such as a first power saving mode after only a few loop iterations (e.g., 2-3) and a second, deeper power saving mode after a greater number of loop iterations. The first power saving mode may include keeping a branch predictor and/or other structures active, but the second power saving mode may include reducing power to the branch predictor and/or other structures. An observation mode and an instruction capture mode may also be used by a processor prior to entering a power saving mode for loop execution. Power saving modes may also be achieved during execution of complex loops having multiple backward branches (e.g., nested loops).Type: GrantFiled: April 11, 2014Date of Patent: December 20, 2016Assignee: Apple Inc.Inventors: Ronald P. Hall, Michael L. Karm, Ian D. Kountanis, David J. Williamson
-
Publication number: 20160147289Abstract: In an embodiment, an integrated circuit may include one or more processors. Each processor may include multiple processor cores, and each core has a different design/implementation and performance level. For example, a core may be implemented for high performance, but may have higher minimum voltage at which it operates correctly. Another core may be implemented at a lower maximum performance, but may be optimized for efficiency and may operate correctly at a lower minimum voltage. The processor may support multiple processor states (PStates). Each PState may specify an operating point and may be mapped to one of the processor cores. During operation, one of the cores is active: the core to which the current PState is mapped. If a new PState is selected and is mapped to a different core, the processor may automatically context switch the processor state to the newly-selected core and may begin execution on that core.Type: ApplicationFiled: November 20, 2014Publication date: May 26, 2016Inventors: David J. Williamson, Gerard R. Williams, III
-
Publication number: 20160147290Abstract: In an embodiment, an integrated circuit may include one or more processors. Each processor may include multiple processor cores, and each core has a different design/implementation and performance level. For example, a core may be implemented for high performance, and another core may be implemented at a lower maximum performance, but may be optimized for efficiency. Additionally, in some embodiments, some features of the instruction set architecture implemented by the processor may be implemented in only one of the cores that make up the processor. If such a feature is invoked by a code sequence while a different core is active, the processor may swap cores to the core the implements the feature. Alternatively, an exception may be taken and an exception handler may be executed to identify the feature and activate the corresponding core.Type: ApplicationFiled: November 20, 2014Publication date: May 26, 2016Inventors: David J. Williamson, Gerard R. Williams, III, James N. Hardage, Jr., Richard F. Russo
-
Publication number: 20150293577Abstract: Techniques are disclosed relating to power reduction during execution of instruction loops. Multiple different power saving modes may be used by a processor, such as a first power saving mode after only a few loop iterations (e.g., 2-3) and a second, deeper power saving mode after a greater number of loop iterations. The first power saving mode may include keeping a branch predictor and/or other structures active, but the second power saving mode may include reducing power to the branch predictor and/or other structures. An observation mode and an instruction capture mode may also be used by a processor prior to entering a power saving mode for loop execution. Power saving modes may also be achieved during execution of complex loops having multiple backward branches (e.g., nested loops).Type: ApplicationFiled: April 11, 2014Publication date: October 15, 2015Applicant: Apple Inc.Inventors: Ronald P. Hall, Michael L. Karm, Ian D. Kountanis, David J. Williamson
-
Patent number: 7197671Abstract: A trace module traces changes in a subset of architectural state of a data processing apparatus. A trace generation unit receives input signals from components of the data processing apparatus indicative of a change in the subset of architectural state and generates a number of trace elements indicative of the change to enable a recipient of the trace elements to subsequently reconstruct the subset of architectural state. A table maintained by the trace generation unit identifies an architectural state derivable from previously generated trace elements. The trace generation unit references the table to determine which trace elements to generate. The table reduces the number of trace elements that need to be generated by providing a record of the architectural state which has already been provided to the recipient. Only those trace elements relating to changes in architectural state which are not derivable by the recipient need be generated.Type: GrantFiled: June 3, 2003Date of Patent: March 27, 2007Assignee: Arm LimitedInventors: Andrew B Swaine, David J Williamson
-
Patent number: 7003699Abstract: The present invention provides a data processing apparatus and method for generating trace signals. The data processing apparatus comprises a component whose behaviour is to be traced, and a trace generation unit for receiving input signals from the component indicative of the behaviour, and for generating from the input signals high priority and low priority trace signals for outputting to a trace receiving device. The trace generation unit is responsive to assertion of a suppression signal from the trace receiving device to suppress generation of the low priority trace signals, with the aim of avoiding overflow of the trace receiving device.Type: GrantFiled: July 29, 2002Date of Patent: February 21, 2006Assignee: ARM LimitedInventors: Andrew B Swaine, David J Williamson
-
Publication number: 20040030962Abstract: The present invention relates to the generation of trace elements within a data processing apparatus having one or more components whose behaviour is to be traced. A trace module is disclosed which is operable to trace changes in a subset of architectural state of a data processing apparatus with which the trace module is coupled. The trace module comprises a trace generation unit operable to receive input signals from one or more components of the data processing apparatus indicative of a change in the subset of architectural state and to generate from one or more of the input signals a number of trace elements indicative of the change so as to enable a recipient of the trace elements to subsequently reconstruct the subset of architectural state.Type: ApplicationFiled: June 3, 2003Publication date: February 12, 2004Applicant: ARM LIMITEDInventors: Andrew B. Swaine, David J. Williamson