Emulating eviction data paths for invalidated instruction cache
    1.
    发明授权
    Emulating eviction data paths for invalidated instruction cache 有权
    仿真无效指令缓存的驱逐数据路径

    公开(公告)号:US09552293B1

    公开(公告)日:2017-01-24

    申请号:US13567206

    申请日:2012-08-06

    IPC分类号: G06F12/00 G06F12/08

    摘要: A method of managing processor caches. The method includes invalidating a cache line from a first instruction cache level and in response to invalidating the cache line from the first cache level, fetching data associated with the invalidated cache line from a third cache level or memory and writing the fetched data to a second cache level. The third cache level is larger or differently associative than the second cache level and the second cache level is larger or differently associative than the first cache level.

    摘要翻译: 管理处理器高速缓存的方法。 该方法包括从第一指令高速缓存级别使高速缓存行无效,并且响应于从第一高速缓存级别使高速缓存行无效,从第三高速缓存级别或存储器获取与无效高速缓存行相关联的数据,并将获取的数据写入第二高速缓存 缓存级别。 第三高速缓存级别比第二高速缓存级别更大或不同地相关联,并且第二高速缓存级别比第一高速缓存级别更大或不同地相关联。

    Preemptive multitasking employing software emulation of directed exceptions in a multithreading processor
    2.
    发明授权
    Preemptive multitasking employing software emulation of directed exceptions in a multithreading processor 有权
    在多线程处理器中使用定向异常的软件仿真的抢占式多任务

    公开(公告)号:US09032404B2

    公开(公告)日:2015-05-12

    申请号:US11313296

    申请日:2005-12-20

    申请人: Kevin D. Kissell

    发明人: Kevin D. Kissell

    摘要: A multiprocessor computer system includes an exception domain having multiple thread contexts (TCs) each having a restart address register, and a timer that generates a periodic interrupt request to the exception domain. The exception domain selects an eligible TC to service the interrupt request, which is non-specific regarding which TC to select. A first interrupt handler executes on the selected TC to service the interrupt request to schedule a set of processes assigned by the SMP OS for execution on the selected TC, and write an address of a second interrupt handler to the restart address register of each TC other than the selected TC. The second interrupt handler schedules a plurality of sets of processes assigned by the SMP OS for execution on respective ones of the TCs other than the selected TC.

    摘要翻译: 多处理器计算机系统包括具有多个具有重新启动地址寄存器的多个线程上下文(TC)的异常域和产生对异常域的周期性中断请求的定时器。 异常域选择合格的TC来服务中断请求,这对于要选择哪个TC是非特定的。 第一个中断处理程序在所选择的TC上执行以服务中断请求,以调度由SMP OS分配的用于在所选择的TC上执行的一组进程,并将第二个中断处理程序的地址写入每个TC其他的重新启动地址寄存器 比选择的TC。 第二中断处理程序调度由SMP OS分配的多个进程集合,用于在除所选择的TC之外的各个TC上执行。

    Symmetric multiprocessor operating system for execution on non-independent lightweight thread contexts
    3.
    发明授权
    Symmetric multiprocessor operating system for execution on non-independent lightweight thread contexts 有权
    对称多处理器操作系统,用于在非独立轻量级线程上下文中执行

    公开(公告)号:US07870553B2

    公开(公告)日:2011-01-11

    申请号:US11330916

    申请日:2006-01-11

    申请人: Kevin D. Kissell

    发明人: Kevin D. Kissell

    IPC分类号: G06F9/46

    摘要: A multiprocessing system is disclosed. The system includes a multithreading microprocessor having a plurality of thread contexts (TCs), a translation lookaside buffer (TLB) shared by the plurality of TCs, and an instruction scheduler, coupled to the plurality of TCs, configured to dispatch to execution units, in a multithreaded fashion, instructions of threads executing on the plurality of TCs. The system also includes a multiprocessor operating system (OS), configured to schedule execution of the threads on the plurality of TCs, wherein a thread of the threads executing on one of the plurality of TCs is configured to update the shared TLB, and prior to updating the TLB to disable interrupts, to prevent the OS from unscheduling the TLB-updating thread from executing on the plurality of TCs, and disable the instruction scheduler from dispatching instructions from any of the plurality of TCs except from the one of the plurality of TCs on which the TLB-updating thread is executing.

    摘要翻译: 公开了一种多处理系统。 该系统包括具有多个线程上下文(TC)的多线程微处理器,由多个TC共享的转换后备缓冲器(TLB),以及指令调度器,被配置为分配到执行单元 多线程方式,在多个TC上执行的线程的指令。 所述系统还包括多处理器操作系统(OS),其被配置为调度所述多个TC上的线程的执行,其中在所述多个TC之一上执行的线程的线程被配置为更新所述共享TLB,并且在 更新所述TLB以禁止中断,以防止所述OS使所述TLB更新线程在所述多个TC上不执行,并且禁止所述指令调度器从所述多个TC中的所述TC之外的所述多个TC中的任一个发送指令, TLB更新线程正在其上执行。

    Symmetric multiprocessor operating system for execution on non-independent lightweight thread contexts
    4.
    发明授权
    Symmetric multiprocessor operating system for execution on non-independent lightweight thread contexts 有权
    对称多处理器操作系统,用于在非独立轻量级线程上下文中执行

    公开(公告)号:US07836450B2

    公开(公告)日:2010-11-16

    申请号:US11330915

    申请日:2006-01-11

    申请人: Kevin D. Kissell

    发明人: Kevin D. Kissell

    IPC分类号: G06F9/46 G06F13/24

    摘要: A multiprocessing system is disclosed. The system includes a multithreading microprocessor, including a plurality of thread contexts (TCs), each comprising a first control indicator for controlling whether the TC is exempt from servicing interrupt requests to an exception domain for the plurality of TCs, and a virtual processing element (VPE), comprising the exception domain, configured to receive the interrupt requests, wherein the interrupt requests are non-specific to the plurality of TCs, wherein the VPE is configured to select a non-exempt one of the plurality of TCs to service each of the interrupt requests, the VPE further comprising a second control indicator for controlling whether the VPE is enabled to select one of the plurality of TCs to service the interrupt requests. The system also includes a multiprocessor operating system (OS), configured to initially set the second control indicator to enable the VPE to service the interrupts, and further configured to schedule execution of threads on the plurality of TCs, wherein each of the threads is configured to individually disable itself from servicing the interrupts by setting the first control indicator, rather than by clearing the second control indicator.

    摘要翻译: 公开了一种多处理系统。 该系统包括多线程微处理器,包括多个线程上下文(TC),每个线程上下文(TC)包括用于控制TC是否免除服务于多个TC的异常域的中断请求的第一控制指示符,以及虚拟处理元件 VPE),其包括异常域,被配置为接收中断请求,其中所述中断请求对于所述多个TC是非特定的,其中所述VPE被配置为选择所述多个TC中的非免除的一个以服务于 所述中断请求,所述VPE还包括用于控制所述VPE是否能够选择所述多个TC中的一个以服务所述中断请求的第二控制指示符。 所述系统还包括多处理器操作系统(OS),其被配置为初始设置所述第二控制指示符以使得所述VPE能够服务所述中断,并且还被配置为调度所述多个TC上的线程的执行,其中,所述线程中的每一个被配置 通过设置第一个控制指示灯,而不是通过清除第二个控制指示灯来单独禁止自己维护中断。

    Symmetric multiprocessor operating system for execution on non-independent lightweight thread contexts
    5.
    发明授权
    Symmetric multiprocessor operating system for execution on non-independent lightweight thread contexts 有权
    对称多处理器操作系统,用于在非独立轻量级线程上下文中执行

    公开(公告)号:US07725697B2

    公开(公告)日:2010-05-25

    申请号:US11615963

    申请日:2006-12-23

    申请人: Kevin D. Kissell

    发明人: Kevin D. Kissell

    摘要: a multiprocessing system, including a multithreading microprocessor and a multiprocessor operating system (OS), is disclosed. The microprocessor includes a plurality of thread contexts (TCs) configured as an array, each having a program counter, a general purpose register set for executing a thread, and a register for storing an index of the respective TC within the array. The OS maintains a table of entries, each the entry for storing a CPU-unique value for a respective one of the TCs. The OS comprises a respective thread configured to execute on each of the respective TCs and to read the index from the register of the respective one of the TCs and to read the respective CPU-unique value for the respective one of the TCs using the index.

    摘要翻译: 公开了一种包括多线程微处理器和多处理器操作系统(OS)的多处理系统。 微处理器包括配置为阵列的多个线程上下文(TC),每个线程上下文(TC)具有程序计数器,用于执行线程的通用寄存器集,以及用于存储阵列内各个TC的索引的寄存器。 OS维护条目表,每个条目用于存储相应一个TC的CPU唯一值。 OS包括被配置为在相应TC中的每一个上执行并且从TC的相应一个的寄存器读取索引并且使用该索引读取相应的一个TC的相应CPU唯一值的相应线程。

    Virtual instruction expansion using parameter selector defining logic operation on parameters for template opcode substitution
    6.
    发明授权
    Virtual instruction expansion using parameter selector defining logic operation on parameters for template opcode substitution 有权
    使用参数选择器定义逻辑运算的虚拟指令扩展,用于模板操作码替换的参数

    公开(公告)号:US07617388B2

    公开(公告)日:2009-11-10

    申请号:US11644001

    申请日:2006-12-22

    申请人: Kevin D. Kissell

    发明人: Kevin D. Kissell

    IPC分类号: G06F9/30

    摘要: An extendable instruction set architecture is provided. In an embodiment, a microprocessor includes a memory, a virtual instruction expansion store, and substitution logic. The memory stores at least one virtual instruction that includes an index and at least one parameter. The virtual instruction expansion store includes at least one instruction template and at least one parameter selector. The substitution logic forms a sequence of at least one expanded instruction. In an example, each expanded instruction is based on an instruction template and includes a new parameter for use with the instruction template. The new parameter is generated by performing a logical operation from the parameter selector on one or more parameter of the virtual instruction.

    摘要翻译: 提供了可扩展的指令集架构。 在一个实施例中,微处理器包括存储器,虚拟指令扩展存储器和替代逻辑。 存储器存储包括索引和至少一个参数的至少一个虚拟指令。 虚拟指令扩展存储器包括至少一个指令模板和至少一个参数选择器。 替代逻辑形成至少一个扩展指令的序列。 在一个示例中,每个扩展指令基于指令模板,并且包括用于指令模板的新参数。 通过从参数选择器对虚拟指令的一个或多个参数执行逻辑操作来生成新参数。

    Mechanism for programmable modification of memory mapping granularity
    7.
    发明授权
    Mechanism for programmable modification of memory mapping granularity 有权
    可编程修改内存映射粒度的机制

    公开(公告)号:US06523104B2

    公开(公告)日:2003-02-18

    申请号:US09905180

    申请日:2001-07-13

    申请人: Kevin D. Kissell

    发明人: Kevin D. Kissell

    IPC分类号: G06F1200

    CPC分类号: G06F12/1027 G06F2212/652

    摘要: An apparatus and method are provided that enable system designers to have programmable minimum memory page sizes. The apparatus has a memory management unit (MMU) for storing a plurality of page table entries (PTEs) and a pagegrain register for prescribing a minimum page size. Each of the PTEs in the MMU specifies a page granularity for a corresponding physical memory page, where the page granularity is bounded by the minimum page size. The MMU has and page granularity logic. The page granularity logic determines a page size for the corresponding physical memory page. The page size is determined based on the minimum page size and the page granularity. The pagegrain register prescribes the minimum page size, in default, according to a legacy memory management protocol, and in alternative, as one of the programmable minimum memory page sizes according to an extended memory management protocol.

    摘要翻译: 提供了一种使系统设计者具有可编程的最小存储器页面大小的装置和方法。 该装置具有用于存储多个页表项(PTE)的存储器管理单元(MMU)和用于规定最小页面大小的页面格式寄存器。 MMU中的每个PTE为相应的物理内存页指定页面粒度,其中页面粒度由最小页面大小限定。 MMU和页面粒度逻辑。 页面粒度逻辑确定相应物理内存页面的页面大小。 页面大小基于最小页面大小和页面粒度来确定。 页面格式寄存器默认规定了最小页面大小,根据传统内存管理协议,也可以根据扩展内存管理协议作为可编程最小内存页面大小之一。

    System and method for improving memory transfer
    8.
    发明授权
    System and method for improving memory transfer 有权
    改进内存传输的系统和方法

    公开(公告)号:US09218183B2

    公开(公告)日:2015-12-22

    申请号:US12652598

    申请日:2010-01-05

    IPC分类号: G06F12/16 G06F9/30 G06F9/32

    摘要: System and method for performing a high-bandwidth memory copy. Memory transfer instructions allow for copying of data from a first memory location to a second memory location without the use of load and store word instructions thereby achieving a high-bandwidth copy. In one embodiment, the method includes the steps of (1) decoding a destination address from a first memory transfer instruction, (2) storing the destination address in a register in the bus interface unit, (3) decoding a source address from a second memory transfer instruction, and (4) copying the contents of a memory location specified by the source memory address to a memory location specified by the contents of the register. Other methods and a microprocessor system are also presented.

    摘要翻译: 用于执行高带宽存储器复制的系统和方法。 存储器传送指令允许将数据从第一存储器位置复制到第二存储器位置,而不使用加载和存储字指令,从而实现高带宽拷贝。 在一个实施例中,该方法包括以下步骤:(1)从第一存储器传送指令中解码目的地地址,(2)将目的地地址存储在总线接口单元中的寄存器中,(3)从第二存储器传送指令对源地址进行解码 存储器传送指令,以及(4)将由源存储器地址指定的存储单元的内容复制到由寄存器的内容指定的存储单元。 还提出了其他方法和微处理器系统。

    Substituting portion of template instruction parameter with selected virtual instruction parameter
    9.
    发明授权
    Substituting portion of template instruction parameter with selected virtual instruction parameter 有权
    用选定的虚拟指令参数代替模板指令参数的一部分

    公开(公告)号:US08447958B2

    公开(公告)日:2013-05-21

    申请号:US12399330

    申请日:2009-03-06

    申请人: Kevin D. Kissell

    发明人: Kevin D. Kissell

    IPC分类号: G06F9/30

    摘要: A configurable instruction set architecture is provided whereby a single virtual instruction may be used to generate a sequence of instructions. Dynamic parameter substitution may be used to substitute parameters specified by a virtual instruction into instructions within a virtual instruction sequence.

    摘要翻译: 提供了可配置的指令集架构,由此可以使用单个虚拟指令来生成指令序列。 动态参数替换可用于将由虚拟指令指定的参数替换为虚拟指令序列内的指令。

    Symmetric multiprocessor operating system for execution on non-independent lightweight thread contexts
    10.
    发明授权
    Symmetric multiprocessor operating system for execution on non-independent lightweight thread contexts 有权
    对称多处理器操作系统,用于在非独立轻量级线程上下文中执行

    公开(公告)号:US08266620B2

    公开(公告)日:2012-09-11

    申请号:US12911901

    申请日:2010-10-26

    申请人: Kevin D. Kissell

    发明人: Kevin D. Kissell

    IPC分类号: G06F9/46 G06F11/00 G06F13/24

    摘要: A multiprocessing system is disclosed. The system includes a multithreading microprocessor, including a plurality of thread contexts (TCs), each comprising a first control indicator for controlling whether the TC is exempt from servicing interrupt requests to an exception domain for the plurality of TCs, and a virtual processing element (VPE), comprising the exception domain, configured to receive the interrupt requests, wherein the interrupt requests are non-specific to the plurality of TCs, wherein the VPE is configured to select a non-exempt one of the plurality of TCs to service each of the interrupt requests, the VPE further comprising a second control indicator for controlling whether the VPE is enabled to select one of the plurality of TCs to service the interrupt requests. The system also includes a multiprocessor operating system (OS), configured to initially set the second control indicator to enable the VPE to service the interrupts, and further configured to schedule execution of threads on the plurality of TCs, wherein each of the threads is configured to individually disable itself from servicing the interrupts by setting the first control indicator, rather than by clearing the second control indicator.

    摘要翻译: 公开了一种多处理系统。 该系统包括多线程微处理器,包括多个线程上下文(TC),每个线程上下文(TC)包括用于控制TC是否免除服务于多个TC的异常域的中断请求的第一控制指示符,以及虚拟处理元件 VPE),其包括异常域,被配置为接收中断请求,其中所述中断请求对于所述多个TC是非特定的,其中所述VPE被配置为选择所述多个TC中的非免除的一个以服务于 所述中断请求,所述VPE还包括用于控制所述VPE是否能够选择所述多个TC中的一个以服务所述中断请求的第二控制指示符。 所述系统还包括多处理器操作系统(OS),其被配置为初始设置所述第二控制指示符以使得所述VPE能够服务所述中断,并且还被配置为调度所述多个TC上的线程的执行,其中,所述线程中的每一个被配置 通过设置第一个控制指示灯,而不是通过清除第二个控制指示灯来单独禁止自己维护中断。