Adjusting CPU time allocated to next thread based on gathered data in heterogeneous processor system having plurality of different instruction set architectures
    11.
    发明授权
    Adjusting CPU time allocated to next thread based on gathered data in heterogeneous processor system having plurality of different instruction set architectures 失效
    基于在具有多个不同的指令集架构的异构处理器系统中收集的数据来调整分配给下一个线程的CPU时间

    公开(公告)号:US08468532B2

    公开(公告)日:2013-06-18

    申请号:US11425448

    申请日:2006-06-21

    IPC分类号: G06F9/46

    摘要: A method that optimizes system performance using performance monitors is presented. The method gathers thread performance data using performance monitors for threads running on either a first ISA processor or a second ISA processor. Multiple first processors and multiple second processors may be included in a single computer system. The first processors and second processors can each access data stored in a common shared memory. The gathered thread performance data is analyzed to determine whether the corresponding thread needs additional CPU time in order to optimize system performance. If additional CPU time is needed, the amount of CPU time that the thread receives is altered (increased) so that the thread receives the additional time when it is scheduled by the scheduler. In one embodiment, the increased CPU time is accomplished by altering a priority value that corresponds to the thread.

    摘要翻译: 介绍了使用性能监视器优化系统性能的方法。 该方法使用在第一ISA处理器或第二ISA处理器上运行的线程的性能监视器收集线程性能数据。 多个第一处理器和多个第二处理器可以包括在单个计算机系统中。 第一处理器和第二处理器可以各自访问存储在公共共享存储器中的数据。 分析收集的线程性能数据,以确定相应的线程是否需要额外的CPU时间,以优化系统性能。 如果需要额外的CPU时间,则线程接收的CPU时间量会被更改(增加),以便线程在调度程序调度时收到额外的时间。 在一个实施例中,通过改变对应于线程的优先级值来实现增加的CPU时间。

    Grouping processors and assigning shared memory space to a group in a heterogeneous computer environment
    12.
    发明授权
    Grouping processors and assigning shared memory space to a group in a heterogeneous computer environment 有权
    将处理器分组并将共享内存空间分配给异构计算机环境中的组

    公开(公告)号:US07653908B2

    公开(公告)日:2010-01-26

    申请号:US12042254

    申请日:2008-03-04

    IPC分类号: G06F9/455 G06F9/46 G06F13/00

    CPC分类号: G06F9/5061 G06F2209/5012

    摘要: Grouping processors is presented. A processing unit (PU) initiates an application and identifies the application's requirements. The PU assigns one or more synergistic processing units (SPUs) and a memory space to the application in the form of a group. The application specifies whether the task requires shared memory or private memory. Shared memory is a memory space that is accessible by the SPUs and the PU. Private memory, however, is a memory space that is only accessible by the SPUs that are included in the group. When the application executes, the resources within the group are allocated to the application's execution thread. Each group has its own group properties, such as address space, policies (i.e. real-time, FIFO, run-to-completion, etc.) and priority (i.e. low or high). These group properties are used during thread execution to determine which groups take precedence over other tasks.

    摘要翻译: 介绍了分组处理器。 处理单元(PU)启动应用程序并识别应用程序的要求。 PU以组的形式向应用分配一个或多个协同处理单元(SPU)和存储器空间。 应用程序指定任务是否需要共享内存或专用内存。 共享内存是可由SPU和PU访问的内存空间。 然而,专用内存是只能由组中包含的SPU访问的内存空间。 当应用程序执行时,组内的资源被分配给应用程序的执行线程。 每个组都有自己的组属性,如地址空间,策略(即实时,FIFO,运行完成等)和优先级(即低或高)。 在线程执行期间使用这些组属性来确定哪些组优先于其他任务。

    Asymmetric heterogeneous multi-threaded operating system
    13.
    发明授权
    Asymmetric heterogeneous multi-threaded operating system 失效
    非对称异构多线程操作系统

    公开(公告)号:US07516456B2

    公开(公告)日:2009-04-07

    申请号:US10670841

    申请日:2003-09-25

    IPC分类号: G06F9/46

    CPC分类号: G06F9/4881

    摘要: A method for an asymmetric heterogeneous multi-threaded operating system is presented. A processing unit (PU) provides a trusted mode environment in which an operating system executes. A heterogeneous processor environment includes a synergistic processing unit (SPU) that does not provide trusted mode capabilities. The PU operating system uses two separate and distinct schedulers which are a PU scheduler and an SPU scheduler to schedule tasks on a PU and an SPU, respectively. In one embodiment, the heterogeneous processor environment includes a plurality of SPUs. In this embodiment, the SPU scheduler may use a single SPU run queue to schedule tasks for the plurality of SPUs or, the SPU scheduler may use a plurality of run queues to schedule SPU tasks whereby each of the run queues correspond to a particular SPU.

    摘要翻译: 提出了一种非对称异构多线程操作系统的方法。 处理单元(PU)提供操作系统执行的信任模式环境。 异构处理器环境包括不提供可信模式能力的协同处理单元(SPU)。 PU操作系统使用两个独立和不同的调度器,PU调度器和SPU调度器分别在PU和SPU上调度任务。 在一个实施例中,异构处理器环境包括多个SPU。 在本实施例中,SPU调度器可以使用单个SPU运行队列来调度多个SPU的任务,或者SPU调度器可以使用多个运行队列调度SPU任务,由此每个运行队列对应于特定SPU。

    Loading software on a plurality of processors
    14.
    发明授权
    Loading software on a plurality of processors 失效
    在多个处理器上加载软件

    公开(公告)号:US07415703B2

    公开(公告)日:2008-08-19

    申请号:US10670842

    申请日:2003-09-25

    CPC分类号: G06F9/44557 G06F9/44526

    摘要: A processing unit (PU) retrieves a file from system memory and loads it into its internal memory. The PU extracts a processor type from the file's header which identifies whether the file should execute on the PU or a synergistic processing unit (SPU). If an SPU should execute the file, the PU DMA's the file to the SPU for execution. In one embodiment, the file is a combined file which includes both PU and SPU code. In this embodiment, the PU identifies one or more section headers included in the file which indicates embedded SPU code within the combined file. In this embodiment, the PU extracts the SPU code from the combined file and DMA's the extracted code to an SPU for execution.

    摘要翻译: 处理单元(PU)从系统存储器检索文件并将其加载到其内部存储器中。 PU从文件头中提取一种处理器类型,用于标识文件是否应在PU或协同处理单元(SPU)上执行。 如果SPU应该执行该文件,PU DMA将该文件提交给SPU执行。 在一个实施例中,该文件是包括PU和SPU代码的组合文件。 在该实施例中,PU识别包括在文件中的一个或多个区段标题,其指示组合文件内的嵌入式SPU代码。 在本实施例中,PU从组合文件中提取SPU代码,并将提取的代码DMA提取给SPU以执行。

    System and method for grouping processors and assigning shared memory space to a group in heterogeneous computer environment
    16.
    发明授权
    System and method for grouping processors and assigning shared memory space to a group in heterogeneous computer environment 有权
    用于将处理器分组并将共享内存空间分配给异构计算机环境中的组的系统和方法

    公开(公告)号:US07389508B2

    公开(公告)日:2008-06-17

    申请号:US10670833

    申请日:2003-09-25

    IPC分类号: G06F9/46 G06F12/00 G06F13/00

    CPC分类号: G06F9/5061 G06F2209/5012

    摘要: A system and method for grouping processors is presented. A processing unit (PU) initiates an application and identifies the application's requirements. The PU assigns one or more synergistic processing units (SPUs) and a memory space to the application in the form of a group. The application specifies whether the task requires shared memory or private memory. Shared memory is a memory space that is accessible by the SPUs and the PU. Private memory, however, is a memory space that is only accessible by the SPUs that are included in the group. When the application executes, the resources within the group are allocated to the application's execution thread. Each group has its own group properties, such as address space, policies (i.e. real-time, FIFO, run-to-completion, etc.) and priority (i.e. low or high). These group properties are used during thread execution to determine which groups take precedence over other tasks.

    摘要翻译: 提出了一种用于分组处理器的系统和方法。 处理单元(PU)启动应用程序并识别应用程序的要求。 PU以组的形式向应用分配一个或多个协同处理单元(SPU)和存储器空间。 应用程序指定任务是否需要共享内存或专用内存。 共享内存是可由SPU和PU访问的内存空间。 然而,专用内存是只能由组中包含的SPU访问的内存空间。 当应用程序执行时,组内的资源被分配给应用程序的执行线程。 每个组都有自己的组属性,如地址空间,策略(即实时,FIFO,运行完成等)和优先级(即低或高)。 在线程执行期间使用这些组属性来确定哪些组优先于其他任务。

    System and method for virtualization of processor resources
    17.
    发明授权
    System and method for virtualization of processor resources 有权
    处理器资源虚拟化的系统和方法

    公开(公告)号:US07290112B2

    公开(公告)日:2007-10-30

    申请号:US10955093

    申请日:2004-09-30

    IPC分类号: G06F12/00

    摘要: A system and method for virtualization of processor resources is presented. A thread is created on a processor and the processor's local memory is mapped into an effective address space. In doing so, the processor's local memory is accessible by other processors, regardless of whether the processor is running. Additional threads create additional local memory mappings into the effective address space. The effective address space corresponds to either a physical local memory or a “soft” copy area. When the processor is running, a different processor may access data that is located in the first processor's local memory from the processor's local storage area. When the processor is not running, a softcopy of the processor's local memory is stored in a memory location (i.e. locked cache memory, pinned system memory, virtual memory, etc.) for other processors to continue accessing.

    摘要翻译: 提出了一种用于处理器资源虚拟化的系统和方法。 在处理器上创建线程,并将处理器的本地内存映射到有效的地址空间。 这样做,处理器的本地内存可以由其他处理器访问,无论处理器是否正在运行。 附加线程会在有效地址空间中创建额外的本地内存映射。 有效地址空间对应于物理本地存储器或“软”复制区域。 当处理器运行时,不同的处理器可以从处理器的本地存储区域访问位于第一处理器的本地存储器中的数据。 当处理器未运行时,处理器的本地存储器的软拷贝存储在其他处理器的存储器位置(即锁定的高速缓冲存储器,固定的系统存储器,虚拟存储器等)中以继续访问。

    System and method for processor thread acting as a system service processor
    18.
    发明授权
    System and method for processor thread acting as a system service processor 失效
    处理器线程的系统和方法作为系统服务处理器

    公开(公告)号:US07146529B2

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

    申请号:US10670843

    申请日:2003-09-25

    IPC分类号: G06F11/00

    摘要: A system and method for a processor thread acting as a system service provider is presented. A computer system boots up and initiates a service thread. The service thread is responsible for service related tasks, such as ECC checks and hardware log error checks. The service provider invokes a second thread which is used as an operational thread. The operational thread loads an operating system, a kernel, and runs various applications. While the operational thread executes, the service thread monitors the operational thread for proper functionality as well as monitoring service events. When the service thread detects a problem with either one of the service events or the operational thread, the service thread may choose to store operational data corresponding to the operational thread and terminates the operational thread.

    摘要翻译: 提出了一种用作系统服务提供商的处理器线程的系统和方法。 计算机系统启动并启动服务线程。 服务线程负责服务相关任务,如ECC检查和硬件日志错误检查。 服务提供者调用用作操作线程的第二个线程。 操作线程加载操作系统,内核,并运行各种应用程序。 当操作线程执行时,服务线程监视操作线程以获取正确的功能以及监视服务事件。 当服务线程检测到任一服务事件或操作线程的问题时,服务线程可以选择存储对应于操作线程的操作数据并终止操作线程。

    Asynchronous linked data structure traversal
    19.
    发明授权
    Asynchronous linked data structure traversal 有权
    异步链接数据结构遍历

    公开(公告)号:US07984075B2

    公开(公告)日:2011-07-19

    申请号:US12147540

    申请日:2008-06-27

    IPC分类号: G06F17/30

    摘要: Asynchronously traversing a disjoint linked data structure is presented. A synergistic processing unit (SPU) includes a handler that works in conjunction with a memory flow controller (MFC) to traverse a disjoint linked data structure. The handler compares a search value with a node value, and provides the MFC with an effective address of the next node to traverse based upon the comparison. In turn, the MFC retrieves the corresponding node data from system memory and stores the node data in the SPU's local storage area. The MFC stalls processing and sends an asynchronous event interrupt to the SPU which, as a result, instructs the handler to retrieve and compare the latest node data in the local storage area with the search value. The traversal continues until the handler matches the search value with a node value or until the handler determines a failed search.

    摘要翻译: 呈现异步遍历不相交的数据结构。 协同处理单元(SPU)包括与存储器流控制器(MFC)一起工作的处理程序,以遍历不相交的数据结构。 处理程序将搜索值与节点值进行比较,并根据比较为MFC提供下一个节点的有效地址进行遍历。 反过来,MFC从系统存储器检索相应的节点数据,并将节点数据存储在SPU的本地存储区域中。 MFC停止处理并向SPU发送异步事件中断,结果指示处理程序检索和比较本地存储区域中的最新节点数据与搜索值。 遍历继续,直到处理程序与搜索值与节点值匹配,或者直到处理程序确定失败的搜索。