-
公开(公告)号:US10789056B2
公开(公告)日:2020-09-29
申请号:US15202745
申请日:2016-07-06
Applicant: Intel Corporation
Inventor: Koichi Yamada , Jose A. Baiocchi Paredes , Abhik Sarkar , Ajay Harikumar , Jiwei Lu
Abstract: Technologies for binary translation include a computing device that allocates a translation cache shared by all threads associated with a corresponding execution domain. The computing device assigns a thread to an execution domain, translates original binary code of the thread to generate translated binary code, and installs the translated binary code into the corresponding translation cache for execution. The computing device may allocate a global region cache, generate region metadata associated with the original binary code of a thread, and store the region metadata in the global region cache. The original binary code may be translated using the region metadata. The computing device may allocate a global prototype cache, translate the original binary code of a thread to generate prototype code, and install the prototype code in the global prototype cache. The prototype code may be a non-executable version of the translated binary code. Other embodiments are described and claimed.
-
公开(公告)号:US09990233B2
公开(公告)日:2018-06-05
申请号:US14129420
申请日:2013-06-28
Applicant: Intel Corporation
Inventor: Abhik Sarkar , Jiwei Lu , Palanivelrajan Rajan Shanmugavelayutham , Jason M. Agron , Koichi Yamada
CPC classification number: G06F9/5038 , G06F8/61 , G06F8/62 , G06F9/45516 , G06F9/485 , G06F9/5016 , G06F12/0253 , G06F12/0802 , G06F2212/1044 , G06F2212/60
Abstract: Technologies for partial binary translation on multi-core platforms include a shared translation cache, a binary translation thread scheduler, a global installation thread, and a local translation thread and analysis thread for each processor core. On detection of a hotspot, the thread scheduler first resumes the global thread if suspended, next activates the global thread if a translation cache operation is pending, and last schedules local translation or analysis threads for execution. Translation cache operations are centralized in the global thread and decoupled from analysis and translation. The thread scheduler may execute in a non-preemptive nucleus, and the translation and analysis threads may execute in a preemptive runtime. The global thread may be primarily preemptive with a small non-preemptive nucleus to commit updates to the shared translation cache. The global thread may migrate to any of the processor cores. Forward progress is guaranteed. Other embodiments are described and claimed.
-