Patents by Inventor David E. Kroesche
David E. Kroesche 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: 11989131Abstract: Techniques are disclosed relating to managing storage array invalidations. A computer system may comprise a processor core configured to operate in an idle state and operate in a run state in which the processor core executes instructions. The computer system may further comprise a power management circuit that is configured to receive, while the processor core is in the idle state, a set of invalidation requests directed to the processor core to invalidate a set of entries of a storage array of the processor core. The power management circuit may store invalidation information indicative of the set of invalidation requests. The power management circuit may determine that the processor core has received a request to transition to the run state. Prior to the processor core operating in the run state, the power management circuit may invalidate the set of entries of the storage array based on the invalidation information.Type: GrantFiled: February 20, 2023Date of Patent: May 21, 2024Assignee: Apple Inc.Inventors: Sreevathsa Ramachandra, Christopher L Colletti, David E. Kroesche
-
Patent number: 11886340Abstract: A processor configured for real-time transaction processing is disclosed. A processor circuit includes configuration registers that designate a first range of physical memory addresses as reserved for real-time memory requests and a second, non-overlapping range of physical memory addresses that are shared between real-time and non-real-time memory requests. In response to determining that a memory request is associated with an address in the first range, the processor tags the request as a real-time request. The configuration registers may also store information designating portions of one or more cache memories and one or more buffers as being reserved for real-time memory requests. During arbitration, real-time memory requests are given priority over older, non-real-time memory requests.Type: GrantFiled: August 9, 2022Date of Patent: January 30, 2024Assignee: Apple Inc.Inventors: Jonathan Y. Tong, David E. Kroesche, Brett S. Feero
-
Publication number: 20230305965Abstract: Techniques are disclosed relating to managing storage array invalidations. A computer system may comprise a processor core configured to operate in an idle state and operate in a run state in which the processor core executes instructions. The computer system may further comprise a power management circuit that is configured to receive, while the processor core is in the idle state, a set of invalidation requests directed to the processor core to invalidate a set of entries of a storage array of the processor core. The power management circuit may store invalidation information indicative of the set of invalidation requests. The power management circuit may determine that the processor core has received a request to transition to the run state. Prior to the processor core operating in the run state, the power management circuit may invalidate the set of entries of the storage array based on the invalidation information.Type: ApplicationFiled: February 20, 2023Publication date: September 28, 2023Inventors: Sreevathsa Ramachandra, Christopher L. Colletti, David E. Kroesche
-
Patent number: 11586551Abstract: Techniques are disclosed relating to managing storage array invalidations. A computer system may comprise a processor core configured to operate in an idle state and operate in a run state in which the processor core executes instructions. The computer system may further comprise a power management circuit that is configured to receive, while the processor core is in the idle state, a set of invalidation requests directed to the processor core to invalidate a set of entries of a storage array of the processor core. The power management circuit may store invalidation information indicative of the set of invalidation requests. The power management circuit may determine that the processor core has received a request to transition to the run state. Prior to the processor core operating in the run state, the power management circuit may invalidate the set of entries of the storage array based on the invalidation information.Type: GrantFiled: August 31, 2020Date of Patent: February 21, 2023Assignee: Apple Inc.Inventors: Sreevathsa Ramachandra, Christopher L. Colletti, David E. Kroesche
-
Publication number: 20220066941Abstract: Techniques are disclosed relating to managing storage array invalidations. A computer system may comprise a processor core configured to operate in an idle state and operate in a run state in which the processor core executes instructions. The computer system may further comprise a power management circuit that is configured to receive, while the processor core is in the idle state, a set of invalidation requests directed to the processor core to invalidate a set of entries of a storage array of the processor core. The power management circuit may store invalidation information indicative of the set of invalidation requests. The power management circuit may determine that the processor core has received a request to transition to the run state. Prior to the processor core operating in the run state, the power management circuit may invalidate the set of entries of the storage array based on the invalidation information.Type: ApplicationFiled: August 31, 2020Publication date: March 3, 2022Inventors: Sreevathsa Ramachandra, Christopher L. Colletti, David E. Kroesche
-
Patent number: 11080188Abstract: A system and method for efficiently handling maintenance requests among multiple processors. In various embodiments, a given processor of multiple processors receives a maintenance request. If maintenance requests are not currently being blocked, then the given processor determines a type of the maintenance request and updates one or more maintenance type counters based on the type. If one or more counters exceed a threshold, an indication is generated specifying maintenance requests received at a later time are to be held. The received maintenance request is processed. Different types of maintenance requests are used for invalidating entries in the instruction cache, for invalidating entries in a TLB and for synchronizing page table updates. Afterward, software applications continue processing. Forward progress of the software applications is measured using one or more metrics. If forward progress has been achieved, then one or more maintenance type counters are reset.Type: GrantFiled: March 28, 2018Date of Patent: August 3, 2021Assignee: Apple Inc.Inventors: Jonathan Y. Tong, Ronald P. Hall, Christopher Colletti, David E. Kroesche, James N. Hardage, Jr.
-
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: 10552323Abstract: Various embodiments of a method and apparatus for flushing a cache are disclosed. In a system, a cache memory is accessible by an execution circuit. The execution circuit executes instructions and may utilize data and/or instructions stored in the cache. A flush circuit is also coupled to the cache. Responsive to execution of a power down instruction by the execution circuit, the flush circuit performs a cache flush. If a control state is asserted in a control register, the flush circuit generates a dummy event upon completing the cache flush. Responsive to generating the dummy event, a processor core that includes the execution circuit is inhibited from being powered down.Type: GrantFiled: September 10, 2018Date of Patent: February 4, 2020Assignee: Apple Inc.Inventors: Ronald P. Hall, Todd A. Venton, Jonathan Y. Tong, David E. Kroesche
-
Patent number: 7730346Abstract: A method includes storing a first data to a first portion of a storage location of a storage component of a processing device in association with a first store operation and obtaining a second data from the storage location, the second data being stored at the storage location prior to the first data. The method further includes determining whether the storage location has a bit error at second portion of the storage location different from the first portion based on the second data obtained from the storage location. The method additionally includes storing a third data to a second portion of the storage location in response to determining the storage location has a bit error at the second portion, wherein the third data is to correct the bit error.Type: GrantFiled: April 30, 2007Date of Patent: June 1, 2010Inventors: David E. Kroesche, Swamy Punyamurtula
-
Publication number: 20080270824Abstract: A method includes storing a first data to a first portion of a storage location of a storage component of a processing device in association with a first store operation and obtaining a second data from the storage location, the second data being stored at the storage location prior to the first data. The method further includes determining whether the storage location has a bit error at second portion of the storage location different from the first portion based on the second data obtained from the storage location. The method additionally includes storing a third data to a second portion of the storage location in response to determining the storage location has a bit error at the second portion, wherein the third data is to correct the bit error.Type: ApplicationFiled: April 30, 2007Publication date: October 30, 2008Applicant: ADVANCED MICRO DEVICES, INC.Inventors: David E. Kroesche, Swamy Punyamurtula
-
Publication number: 20080244244Abstract: A method includes accessing, at a processing device, operand data associated with an instruction operation from a data cache and executing, at the processing device, the instruction operation using the operand data prior to determining the validity of the operand data. The method further includes retiring, at the processing device, the instruction operation in response to determining the operand data is valid. A processing device includes a data cache and an instruction pipeline. The instruction pipeline includes an execution stage configured to execute an instruction operation using operand data access from the data cache prior to determining the validity of the operand data and a retire stage configured to retire the instruction operation in response to determining the operand data is valid.Type: ApplicationFiled: March 30, 2007Publication date: October 2, 2008Applicant: ADVANCED MICRO DEVICES, INC.Inventors: Michael E. Tuuk, David E. Kroesche
-
Patent number: 7373484Abstract: A method of controlling write operations to a non-renamed register space includes receiving a write operation to a given register within the non-renamed register space. The method also includes determining whether a pending write operation to the given register exists. In response to determining that the pending write operation to the given register exists, the method includes blocking the write operation to the given register from being scheduled. However, in response to determining that the pending write operation to the given register does not exist, the method includes allowing the write operation to the given register to be scheduled. Further, if the pending write operation to the given register does not exist, the method includes allowing a subsequent write operation to a different register within the non-renamed register space to be scheduled.Type: GrantFiled: January 12, 2004Date of Patent: May 13, 2008Assignee: Advanced Micro Devices, Inc.Inventors: Arun Radhakrishnan, Benjamin T. Sander, Michael A. Filippo, Michael T. Clark, David E. Kroesche
-
Patent number: 7315935Abstract: A microprocessor is configured to provide port arbitration in a register file. The microprocessor includes a plurality of functional units configured to collectively operate on a maximum number of operands in a given execution cycle, and a register file providing a number of read ports that is insufficient to provide the maximum number of operands to the plurality of functional units in the given execution cycle. The microprocessor also includes an arbitration logic coupled to allocate the read ports of the register file for use by selected functional units during the given execution cycle.Type: GrantFiled: October 6, 2003Date of Patent: January 1, 2008Assignee: Advanced Micro Devices, Inc.Inventors: Mitchell Alsup, Brian D. McMinn, Benjamin T. Sander, David E. Kroesche
-
Patent number: 6968444Abstract: A microprocessor employing a fixed position dispatch unit. The microprocessor includes a plurality of execution units each corresponding to an issue position and configured to execute a common subset of instructions. At least a first one of the execution units includes extended logic for executing a designated instruction that others of the execution units may be incapable of executing. The microprocessor also includes a plurality of decoders coupled to the plurality of execution units. The plurality of decoders may provide positional information to cause the designated instruction to be routed to the first execution unit. Further, the microprocessor includes a dispatch control unit configured to dispatch during a dispatch cycle, the designated instruction for execution by the first execution unit based upon the positional information. The dispatch control unit may further dispatch one or more instructions within the common subset of instructions during the same dispatch cycle.Type: GrantFiled: November 4, 2002Date of Patent: November 22, 2005Assignee: Advanced Micro Devices, Inc.Inventors: David E. Kroesche, Michael T. Clark
-
Patent number: 5954816Abstract: A branch prediction unit includes a branch prediction entry corresponding to a group of contiguous instruction bytes. The branch prediction entry stores branch predictions corresponding to branch instructions within the group of contiguous instruction bytes. Additionally, the branch prediction entry stores a set of branch selectors corresponding to the group of contiguous instruction bytes. The branch selectors identify which branch prediction is to be selected if the corresponding byte (or bytes) is selected by the offset portion of the fetch address. Still further, a predicted branch selector is stored. The predicted branch selector is used to select a branch prediction for forming the fetch address. In parallel, a selected branch selector is selected from the set of branch selectors. The predicted branch selector is verified using the selected branch selector.Type: GrantFiled: November 19, 1997Date of Patent: September 21, 1999Assignee: Advanced Micro Devices, Inc.Inventors: Thang M. Tran, David E. Kroesche, Karthikeyan Muthusamy, Andrew McBride