Patents by Inventor Denis M. Khartikov
Denis M. Khartikov 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: 10409763Abstract: Various different embodiments of the invention are described including: (1) a method and apparatus for intelligently allocating threads within a binary translation system; (2) data cache way prediction guided by binary translation code morphing software; (3) fast interpreter hardware support on the data-side; (4) out-of-order retirement; (5) decoupled load retirement in an atomic OOO processor; (6) handling transactional and atomic memory in an out-of-order binary translation based processor; and (7) speculative memory management in a binary translation based out of order processor.Type: GrantFiled: June 30, 2014Date of Patent: September 10, 2019Assignee: INTEL CORPORATIONInventors: Patrick P. Lai, Ethan Schuchman, David Keppel, Denis M. Khartikov, Polychronis Xekalakis, Joshua B. Fryman, Allan D. Knies, Naveen Neelakantam, Gregor Stellpflug, John H. Kelm, Mirem Hyuseinova Seidahmedova, Demos Pavlou, Jaroslaw Topp
-
Patent number: 10338927Abstract: A hardware/software co-design for an optimized dynamic out-of-order Very Long Instruction Word (VLIW) pipeline.Type: GrantFiled: April 3, 2017Date of Patent: July 2, 2019Assignee: Intel CorporationInventors: Denis M. Khartikov, Naveen Neelakantam, John H. Kelm, Polychronis Xekalakis
-
Patent number: 10061587Abstract: A processor includes a front end, a decoder, an allocator, and a retirement unit. The decoder includes logic to identify an end-of-live-range (EOLR) indicator. The EOLR indicator specifies an architectural register and a location in code for which the architectural register is unused. The allocator includes logic to scan for a mapping of the architectural register to a physical register, based upon the EOLR indicator. The allocator also includes logic to generate a request to disassociate the architectural register from the physical register. The retirement unit includes logic to disassociate the architectural register from the physical register.Type: GrantFiled: September 25, 2014Date of Patent: August 28, 2018Assignee: Intel CorporationInventors: David Pardo Keppel, Denis M. Khartikov, Fernando LaTorre, Marc Lupon, Grigorios Magklis, Naveen Neelakantam, Georgios Tournavitis, Polychronis Xekalakis
-
Patent number: 9823925Abstract: A processor includes allocation unit with logic to receive a logical move instruction. The logical move instruction includes a source logical register as a source parameter and a destination logical register as a destination parameter. The source logical register is assigned to a source physical register and the destination logical register is assigned to a destination physical register. The allocation unit includes logic to assign a first value of the source logical register to the destination logical register and to maintain a second value of the destination physical register before and after the assignment of the first value to the destination logical register.Type: GrantFiled: March 28, 2014Date of Patent: November 21, 2017Assignee: Intel CorporationInventors: Denis M. Khartikov, Rupert Brauch, Raul Martinez, Naveen Neelakantam, Thang Vu
-
Publication number: 20170300334Abstract: A hardware/software co-design for an optimized dynamic out-of-order Very Long Instruction Word (VLIW) pipeline.Type: ApplicationFiled: April 3, 2017Publication date: October 19, 2017Inventors: DENIS M. KHARTIKOV, NAVEEN NEELAKANTAM, JOHN H. KELM, POLYCHRONIS XEKALAKIS
-
Patent number: 9612840Abstract: A hardware/software co-design for an optimized dynamic out-of-order Very Long Instruction Word (VLIW) pipeline.Type: GrantFiled: March 28, 2014Date of Patent: April 4, 2017Assignee: INTEL CORPORATIONInventors: Denis M. Khartikov, Naveen Neelakantam, John H. Kelm, Polychronis Xekalakis
-
Patent number: 9569212Abstract: A processor includes an allocator with logic assigning alias hardware resources to instructions within an atomic region of instructions. The atomic region includes reordered instructions. The processor also includes a dispatcher with logic to dispatch instructions from the atomic region of instructions for execution. Furthermore, the processor includes a memory execution unit with logic to populate the memory execution unit with the instructions from the atomic region of instructions including reordered instructions, receive snoop requests and determine whether the snoop request matches memory address data of elements within the memory execution unit, and prevent reassignment of alias hardware resources for any load instructions that are eligible to match the snoop requests.Type: GrantFiled: March 28, 2014Date of Patent: February 14, 2017Assignee: Intel CorporationInventors: John H. Kelm, Denis M. Khartikov, Naveen Neelakantam
-
Patent number: 9342303Abstract: A system and method to enhance execution of architected instructions in a processor uses auxiliary code to optimize execution of base microcode. An execution context of the architected instructions may be profiled to detect potential optimizations, resulting in generation and storage of auxiliary microcode. When the architected instructions are decoded to base microcode for execution, the base microcode may be enhanced or modified using retrieved auxiliary code.Type: GrantFiled: March 15, 2013Date of Patent: May 17, 2016Assignee: Intel CorporationInventors: James E. Smith, Denis M. Khartikov, Shiliang Hu, Youfeng Wu
-
Publication number: 20160092222Abstract: A processor includes a front end, a decoder, an allocator, and a retirement unit. The decoder includes logic to identify an end-of-live-range (EOLR) indicator. The EOLR indicator specifies an architectural register and a location in code for which the architectural register is unused. The allocator includes logic to scan for a mapping of the architectural register to a physical register, based upon the EOLR indicator. The allocator also includes logic to generate a request to disassociate the architectural register from the physical register. The retirement unit includes logic to disassociate the architectural register from the physical register.Type: ApplicationFiled: September 25, 2014Publication date: March 31, 2016Inventors: David Pardo Keppel, Denis M. Khartikov, Fernando LaTorre, Marc Lupon, Grigorios Magklis, Naveen Neelakantam, Georgios Tournavitis, Polychronis Xekalakis
-
Patent number: 9256497Abstract: A checkpoint technique associated with an out of order based architecture of a processing device is described. An instruction may be received by its retirement unit and an identification as to whether the instruction is associated with a speculative error is performed. If the instruction is associated with the speculative error, then a first operation may be performed to replace state values of a first checkpoint of the processing device with state values of a second checkpoint. If the instruction is not associated with the speculative error, then the second checkpoint state may be updated based on the instruction.Type: GrantFiled: March 25, 2014Date of Patent: February 9, 2016Assignee: Intel CorporationInventors: Denis M. Khartikov, John H. Kelm, Naveen Neelakantam
-
Publication number: 20150378731Abstract: Various different embodiments of the invention are described including: (1) a method and apparatus for intelligently allocating threads within a binary translation system; (2) data cache way prediction guided by binary translation code morphing software; (3) fast interpreter hardware support on the data-side; (4) out-of-order retirement; (5) decoupled load retirement in an atomic OOO processor; (6) handling transactional and atomic memory in an out-of-order binary translation based processor; and (7) speculative memory management in a binary translation based out of order processor.Type: ApplicationFiled: June 30, 2014Publication date: December 31, 2015Inventors: PATRICK P. LAI, ETHAN SCHUCHMAN, DAVID KEPPEL, DENIS M. KHARTIKOV, POLYCHRONIS XEKALAKIS, JOSHUA B. FRYMAN, ALLAN D. KNIES, NAVEEN NEELAKANTAM, GREGOR STELLPFLUG, JOHN H. KELM, MIREM HYUSEINOVA, DEMOS PAVLOU, JAROSLAW TOPP
-
Publication number: 20150277916Abstract: A hardware/software co-design for an optimized dynamic out-of-order Very Long Instruction Word (VLIW) pipeline.Type: ApplicationFiled: March 28, 2014Publication date: October 1, 2015Inventors: DENIS M. KHARTIKOV, NAVEEN NEELAKANTAM, JOHN H. KELM, POLYCHRONIS XEKALAKIS
-
Publication number: 20150277911Abstract: A processor includes allocation unit with logic to receive a logical move instruction. The logical move instruction includes a source logical register as a source parameter and a destination logical register as a destination parameter. The source logical register is assigned to a source physical register and the destination logical register is assigned to a destination physical register. The allocation unit includes logic to assign a first value of the source logical register to the destination logical register and to maintain a second value of the destination physical register before and after the assignment of the first value to the destination logical register.Type: ApplicationFiled: March 28, 2014Publication date: October 1, 2015Inventors: Denis M. Khartikov, Rupert Brauch, Raul Martinez, Naveen Neelakantam, Thang Vu
-
Publication number: 20150277914Abstract: Generally, this disclosure provides systems, devices, methods and computer readable media for detection and exploitation of lock elision opportunities with binary translation based processors. The device may include a dynamic binary translation (DBT) module to translate a region of code from a first instruction set architecture (ISA) to translated code in a second ISA and to detect and elide a lock associated with a critical section of the region of code. The device may also include a processor to speculatively execute the translated code in the critical section. The device may further include a transactional support processor to detect a memory access conflict associated with the lock and/or critical section during the speculative execution, roll back the speculative execution in response to the detection, and commit the speculative execution in the absence of the detection.Type: ApplicationFiled: March 27, 2014Publication date: October 1, 2015Inventors: John H. Kelm, Naveen Neelakantam, Denis M. Khartikov
-
Publication number: 20150277975Abstract: A processor includes an allocator with logic assigning alias hardware resources to instructions within an atomic region of instructions. The atomic region includes reordered instructions. The processor also includes a dispatcher with logic to dispatch instructions from the atomic region of instructions for execution. Furthermore, the processor includes a memory execution unit with logic to populate the memory execution unit with the instructions from the atomic region of instructions including reordered instructions, receive snoop requests and determine whether the snoop request matches memory address data of elements within the memory execution unit, and prevent reassignment of alias hardware resources for any load instructions that are eligible to match the snoop requests.Type: ApplicationFiled: March 28, 2014Publication date: October 1, 2015Inventors: John H. Kelm, Denis M. Khartikov, Naveen Neelakantam
-
Publication number: 20140281382Abstract: A system and method to enhance execution of architected instructions in a processor uses auxiliary code to optimize execution of base microcode. An execution context of the architected instructions may be profiled to detect potential optimizations, resulting in generation and storage of auxiliary microcode. When the architected instructions are decoded to base microcode for execution, the base microcode may be enhanced or modified using retrieved auxiliary code.Type: ApplicationFiled: March 15, 2013Publication date: September 18, 2014Applicant: Intel CorporationInventors: James E. Smith, Denis M. Khartikov, Shiliang Hu, Youfeng Wu
-
Publication number: 20100274972Abstract: Systems, methods, and apparatuses for parallel computing are described. In some embodiments, a processor is described that includes a front end and back end. The front includes an instruction cache to store instructions of a strand. The back end includes a scheduler, register file, and execution resources to execution the strand's instructions.Type: ApplicationFiled: December 23, 2009Publication date: October 28, 2010Inventors: Boris Babayan, Vladimir L. Gnatyuk, Sergey Yu. Shishlov, Sergey P. Scherbinin, Alexander V. Butuzov, Vladimir M. Pentkovski, Denis M. Khartikov, Sergey A. Rozhkov, Roman A. Khvatov