IP Library Granted Patent US 11,853,763
Granted Patent B2
US 11,853,763 · App. 17/852,821 · Granted Dec 26, 2023

Backward compatibility by restriction of hardware resources

Inventors: Mark Evan Cerny (Los Angeles, CA); David Simpson (Los Angeles, CA)
Assignee: SONY INTERACTIVE ENTERTAINMENT LLC
G06F9/30174G06F2212/1004
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,853,763
App. No.
17/852,821
Granted
Dec 26, 2023
Kind
B2
Abstract

A new device executing an application on a new central processing unit (CPU), determines whether the application is for a legacy device having a legacy CPU. When the new device determines that the application is for the legacy device, it executes the application on the new CPU with selected available resources of the new device restricted to approximate or match a processing behavior of the legacy CPU, e.g., by reducing a usable portion of a return address stack of the new CPU and thereby reducing a number of calls and associated returns that can be tracked.

Claims (31)

1. A method, comprising:

with a new device executing an application on a new central processing unit (CPU), determining whether the application is for a legacy device having a legacy CPU; and in response to the new device determining that the application is for the legacy device, executing the application on the new CPU with selected available resources of the new device restricted to match a processing behavior of the legacy CPU, wherein hardware of the new device is configured by firmware of the new CPU to restrict the selected available resources by reducing a number of usable Arithmetic Logic Units (ALU) or Address Generation Units (AGU) of a core of the new CPU to match an available number of corresponding ALU or AGU of a core of the legacy CPU.

2. The method of claim 1 wherein the new device is a variant or a more advanced version of the legacy device.

3. The method of claim 1 , wherein executing the application on the new CPU with selected available resources of the new CPU restricted includes reducing a size of a return address stack of the new CPU to match a size of a corresponding return address stack of the legacy CPU.

4. The method of claim 1 , wherein executing the application on the new CPU with selected available resources of the new device restricted further includes reducing a size of a branch target buffer of the new CPU to match a size of a corresponding branch target buffer of the legacy CPU.

5. The method of claim 1 , wherein executing the application on the new CPU with selected available resources of the new CPU restricted includes: reducing a size of an indirect target array of the new CPU to match a size of a corresponding indirect target array of the legacy CPU.

6. The method of claim 1 , wherein executing the application on the new CPU with selected available resources of the new CPU restricted includes changing a size and an associativity of a micro-op cache, level 1 instruction cache or an instruction translation lookaside buffer cache hierarchy of the new CPU to match a size and an associativity of a micro-op cache, level 1 instruction cache or an instruction translation lookaside buffer cache hierarchy of the legacy CPU.

7. The method of claim 1 , wherein executing the application on the new CPU with selected available resources of the new CPU restricted further includes reducing a size of a queue of the new CPU to match a size of a corresponding queue of the legacy CPU.

8. The method of claim 1 , wherein executing the application on the new CPU with selected available resources of the new CPU restricted further includes reducing a size a register bank of the new CPU to match a corresponding size of a register bank of the legacy CPU.

9. The method of claim 8 , wherein the register bank of the new CPU is a Single Instruction Multiple Data (SIMD) physical register bank or a General Purpose (GP) physical register bank.

10. The method of claim 1 , wherein executing the application on the new CPU with selected available resources of the new CPU restricted further includes changing a size or associativity of a cache of the new CPU other than a micro-op cache, a level 1 instruction cache or an instruction translation lookaside buffer cache hierarchy of the new CPU to match a corresponding size or associativity of a corresponding cache of the legacy CPU.

11. The method of claim 10 , wherein the cache of the new CPU is an instruction-related cache other than the level 1 instruction cache.

12. The method of claim 10 , wherein the cache of the new CPU is a data translation lookaside buffer (DTLB) cache hierarchy or a level 1 data cache.

13. A system, comprising,

a new central processing unit (CPU) configured to execute instructions of an application, the new CPU having logic units configured to determine whether the application is for a legacy device having a legacy CPU, and execute the application with selected available resources of the new CPU restricted to match a processing behavior of the legacy CPU when the application is for the legacy device, wherein hardware of the new CPU is configured by firmware of the new CPU to restrict the selected available resources by reducing a number of usable Arithmetic Logic Units (ALU) Address Generation Units (AGU) of a core of the new CPU to match an available number of corresponding ALU or AGU of a core of the legacy CPU.

14. The system of claim 13 wherein the system is a variant or a more advanced version of the legacy device.

15. The system of claim 13 , wherein the selected available resources of the new CPU are restricted by reducing a size of a return address stack of the new CPU to match a size of a corresponding return address stack of the legacy CPU.

16. The system of claim 13 , wherein the selected available resources of the new CPU are restricted by reducing a size of a branch target buffer of the new CPU to match a size of a corresponding branch target buffer of the legacy CPU.

17. The system of claim 13 , wherein the selected available resources of the new CPU are restricted by reducing a size of an indirect target array of the new CPU to match a size of a corresponding indirect target array of the legacy CPU.

18. The system of claim 13 , wherein the selected available resources of the new CPU are restricted by changing a size and an associativity of a micro-op cache, level 1 instruction cache or an instruction translation lookaside buffer cache hierarchy of the new CPU to match a size and an associativity a micro-op cache, level 1 instruction cache or an instruction translation lookaside buffer cache hierarchy of the legacy CPU.

19. The system of claim 13 , wherein the selected available resources of the new CPU are restricted by reducing a size of a queue of the new CPU to match a size of a corresponding queue of the legacy CPU.

20. The system of claim 19 , wherein the queue of the new CPU is a retirement queue or a scheduling queue.

21. The system of claim 13 , wherein the selected available resources of the new CPU are restricted by reducing a size a register bank of the new CPU to match a corresponding size of a register bank of the legacy CPU.

22. The system of claim 21 , wherein the register bank of the new CPU is a Single Instruction Multiple Data (SIMD) physical register bank or a General Purpose (GP) physical register bank.

23. The system of claim 13 , wherein the selected available resources of the new CPU restricted are further restricted by changing a size or an associativity of a cache of the new CPU other than a micro-op cache, a level 1 instruction cache or an instruction translation lookaside buffer cache hierarchy of the new CPU to match a corresponding size or associativity of a corresponding cache of the legacy CPU.

24. The system of claim 23 , wherein the cache of the new CPU is an instruction-related cache other than the level 1 instruction cache.

25. The system of claim 23 , wherein the cache of the new CPU is a data translation lookaside buffer (DTLB) cache hierarchy or a level 1 data cache.

26. A non-transitory computer readable medium having executable instructions embodied therein, the instructions being configured to implement a method upon execution of the instructions, the method comprising:

with a new device executing an application on a new central processing unit (CPU), determining whether the application is for a legacy device having a legacy CPU; and

when the new device determines that the application is for the legacy device executing the application on the new CPU with selected available resources of the new device restricted to match a processing behavior of the legacy CPU, wherein hardware of the new device is configured by firmware of the new CPU to restrict the selected available resources by reducing a number of usable Arithmetic Logic Units (ALU) or Address Generation Units (AGU) or Single Instruction Multiple Data (SIMD) pipes of a core of the new CPU to match an available number of corresponding ALU or AGU or of a core of the legacy CPU.

27. The non-transitory computer readable medium of claim 26 wherein the new device is a variant or a more advanced version of the legacy device.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 29, 2022
From: CERNY, MARK EVAN; SIMPSON, DAVID
To: SONY COMPUTER ENTERTAINMENT AMERICA LLC
Reel/Frame 060353/0646 →
MERGER AND CHANGE OF NAME Recorded Jun 29, 2022
From: SONY INTERACTIVE ENTERTAINMENT AMERICA LLC; SONY INTERACTIVE ENTERTAINMENT LLC
To: SONY INTERACTIVE ENTERTAINMENT LLC
Reel/Frame 060353/0714 →
CHANGE OF NAME Recorded Jun 29, 2022
From: SONY COMPUTER ENTERTAINMENT AMERICA LLC
To: SONY INTERACTIVE ENTERTAINMENT AMERICA LLC
Reel/Frame 060531/0733 →
Continuity (2)
Continuation 14810361 · Jul 27, 2015
Related Publication 20220326951A1 · Oct 13, 2022