IP Library Granted Patent US 11,422,815
Granted Patent B2
US 11,422,815 · App. 15/909,936 · Granted Aug 23, 2022

System and method for field programmable gate array-assisted binary translation

Inventors: Mukund P. Khatri (Austin, TX); Ramesh Radhakrishnan (Austin, TX)
Assignee: Dell Products L.P.
G06F9/30174G06F9/4552G06F15/7889
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,422,815
App. No.
15/909,936
Granted
Aug 23, 2022
Kind
B2
Abstract

Binary translation may be performed by a field programmable gate array (FPGA) integrated with a processor as a single integrated circuit. The FPGA contains multiple blocks of logic for performing different binary translations. The processor may offload the binary translation to the FPGA. The FPGA may use historical logging to skip the binary translation of source instructions that have been previously translated into target instructions.

Claims (37)

1. A method of processing instructions in an integrated circuit, the method comprising:

receiving, by a hardware processor of the integrated circuit, source instructions associated with a source instruction set architecture;

sending, by the hardware processor, the source instructions via a communications link to a field programmable gate array (FPGA) integrated in the integrated circuit;

identifying, by the FPGA, a block of logic having gates within the FPGA by querying a database for at least one source instruction of the source instructions, the database associating blocks of logic to binary translations including the source instruction set architecture associated with the source instructions sent by the hardware processor;

translating, by the identified block of logic, the at least one source instruction to at least one target instruction according to a native instruction set architecture executed by the hardware processor;

comparing the at least one source instruction to entries in the database that log historical binary translations;

identifying an entry of the entries in the database that matches the at least one source instruction;

retrieving a sequence of target instructions referenced by the entry in the database that matches the at least one source instruction; and

executing, by the hardware processor, the sequence of target instructions referenced by the entry in the database that matches the at least one source instruction.

2. The method of claim 1 , further comprising sending a source identifier to the FPGA, the source identifier representing the source instruction set architecture.

3. A system, comprising:

a hardware processor embedded in an integrated circuit;

a field programmable gate array (FPGA) integrated in the integrated circuit; and

a memory device embedded in the integrated circuit and accessible to the FPGA, the memory device storing instructions that when executed cause the FPGA to perform operations including:

receiving a source instruction associated with a source instruction set architecture;

determining a source identifier specified by the source instruction that uniquely identifies the source instruction set architecture;

identifying a block of logic having gates within the FPGA by querying an electronic database for the source identifier specified by the source instruction, the electronic database associating source identifiers with blocks of logic within the FPGA that perform binary translations, the electronic database referencing the block of logic having the gates within the FPGA that is associated with the source identifier specified by the source instruction;

performing a binary translation that translates the source instruction to a target instruction by the identified block of logic having the gates within the FPGA, the target instruction associated with a target instruction set architecture executed by the hardware processor;

comparing the source instruction to a log of historical binary translations;

identifying a historical binary translation referenced by the log of historical binary translations that matches the source instruction;

identifying a sequence of target instructions associated with the historical binary translation referenced by the log of historical binary translations; and

sending the sequence of target instructions from the FPGA via a communications link to the hardware processor.

4. The system of claim 3 , wherein the operations further include predicting the sequence of target instructions based on the source instruction.

5. The system of claim 3 , wherein the operations further include predicting future instructions based the sequence of target instructions.

6. A memory device storing instructions that when executed cause an integrated circuit to perform operations, the operations comprising:

receiving a source instruction specifying a source identifier that uniquely identifies a source instruction set architecture;

offloading a binary translation of the source instruction to a field programmable gate array (FPGA) integrated in the integrated circuit;

querying an electronic database for the source identifier specified by the source instruction, the electronic database stored by the integrated circuit, the electronic database electronically associating blocks of logic within the FPGA with identifiers including the source identifier specified by the source instruction;

identifying a block of logic of the blocks of logic within the FPGA that is electronically associated by the electronic database with the source identifier specified by the source instruction;

translating the source instruction to a target instruction via the identified block of logic within the FPGA that is electronically associated by the electronic database with the source identifier specified by the source instruction;

comparing the source instruction to historical binary translations obtained from the identified block of logic within the FPGA;

identifying a historical binary translation, of the historical binary translations, that references the source instruction;

identifying a sequence of target instructions associated with the historical binary translation that references the source instruction;

sending the sequence of target instructions within the integrated circuit from the FPGA to a hardware processor; and

executing the sequence of target instructions by the hardware processor.

7. The memory device of claim 6 , wherein the operations further include predicting the sequence of target instructions.

8. The memory device of claim 6 , wherein the operations further include predicting the sequence of target instructions based on the historical binary translations.

Assignments (8)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053546/0001) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC IP HOLDING COMPANY LLC
Reel/Frame 071642/0001 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (046366/0014) Recorded May 20, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
Reel/Frame 060450/0306 →
RELEASE OF SECURITY INTEREST AT REEL 046286 FRAME 0653 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
Reel/Frame 058298/0093 →
SECURITY AGREEMENT Recorded Apr 22, 2020
From: CREDANT TECHNOLOGIES INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 053546/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 25, 2019
From: KHATRI, MUKUND P.; RADHAKRISHNAN, RAMESH
To: DELL PRODUCTS, LP
Reel/Frame 048994/0670 →
SECURITY AGREEMENT Recorded Mar 21, 2019
From: CREDANT TECHNOLOGIES, INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 049452/0223 →
PATENT SECURITY AGREEMENT (CREDIT) Recorded Jun 1, 2018
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 046286/0653 →
PATENT SECURITY AGREEMENT (NOTES) Recorded Jun 1, 2018
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 046366/0014 →
Continuity (1)
Related Publication 20190272174A1 · Sep 5, 2019