Abstract:
PROBLEM TO BE SOLVED: To provide hardware support for virtual memory shared between local physical memory and remote physical memory.SOLUTION: A method comprises: receiving a memory access request including a virtual address; analyzing an entry corresponding to the virtual address stored in a translation lookaside buffer (TLB) of a processor in order to determine if a physical address (PA) corresponding to the virtual address is present in a local memory associated with the processor or a remote memory associated with an accelerator coupled to the processor via a non-coherent link; and if the PA is present in the remote memory, sending a reverse proxy execution request to the remote memory in order to perform the memory access request. The local memory and the remote memory collectively form a shared virtual memory space.
Abstract:
PROBLEM TO BE SOLVED: To provide hardware support for a virtual memory shared between a local physical memory and a remote physical memory. SOLUTION: A method includes the steps of: receiving a memory access request including a virtual address; analyzing an entry corresponding to the virtual address stored in a conversion look-aside buffer (TLB) of a processor, in order to determine whether a physical address (PA) corresponding to the virtual address exists in the remote memory attached to an accelerator connected to the processor, via the local memory or a non-coherent link attached to the processor; and transmitting a reverse proxy execution request to the remote memory, in order to execute the memory access request, when the PA exists in the remote memory. The local memory and the remote memory constitute a common virtual memory space. COPYRIGHT: (C)2011,JPO&INPIT
Abstract:
PROBLEM TO BE SOLVED: To provide a method and system for providing user-level multithreading.SOLUTION: The method according to the present techniques comprises receiving programming instructions to execute one or more shared resource threads (shreds) via an instruction set architecture (ISA). One or more instruction pointers are configured via the ISA; and the one or more shreds are executed simultaneously with a microprocessor, where the microprocessor includes multiple instruction sequencers.
Abstract:
PROBLEM TO BE SOLVED: To disclose a method and system for providing user-level multithreading.SOLUTION: The method based on this technique includes receiving programming instructions to execute one or more shared resource threads (shreds) via an instruction set architecture (ISA). One or more instruction pointers are configured and set via the ISA, and the one or more shreds are executed simultaneously by a microprocessor. The microprocessor includes multiple instruction sequencers.
Abstract:
PROBLEM TO BE SOLVED: To provide a method and system for providing user-level multithreading.SOLUTION: The method according to the present techniques comprises receiving programming instructions to execute one or more shared resource threads (shreds) via an instruction set architecture (ISA). One or more instruction pointers are configured via the ISA; and the one or more shreds are executed simultaneously with a microprocessor, where the microprocessor includes multiple instruction sequencers.
Abstract:
Método, dispositivo e sistema de suporte de hardware para o compartilhamento de memória virtual entre memória física local e remota. Em uma realização, a presente invenção inclui uma unidade de gerenciamento de memória (mmu) que possui entradas para armazenar endereços virtuais para conversões de endereços físicos, em que cada entrada inclui um indicador de local para indicar se um local de memória para a entrada correspondente está presente em uma memória local ou remota. Dessa maneira, um espaço de memória virtual comum pode ser compartilhado entre as duas memórias, que podem ser separadas por um ou mais links não coerentes. Outras realizações são descritas e reivindicadas
Abstract:
Embodiments of a method and apparatus for implementing and maintaining a stack of predicate values with stack synchronization instructions. In one embodiment the apparatus is an out of order hardware/software co-designed processor including instructions to explicitly manage the predicate register stack to maintain stack consistency across branches of executing that push a variable number of predicate values onto the predicate stack. In one embodiment the stack-based predicate register implementation enables early branch calculation and early branch misprediction recovery via early renaming of predicate registers.