CN1195812A - 利用程序地址非连续历史记录的预测超高速缓存装入 - Google Patents

利用程序地址非连续历史记录的预测超高速缓存装入 Download PDF

Info

Publication number
CN1195812A
CN1195812A CN98105816A CN98105816A CN1195812A CN 1195812 A CN1195812 A CN 1195812A CN 98105816 A CN98105816 A CN 98105816A CN 98105816 A CN98105816 A CN 98105816A CN 1195812 A CN1195812 A CN 1195812A
Authority
CN
China
Prior art keywords
task
cache
discontinuous
handling system
information handling
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN98105816A
Other languages
English (en)
Other versions
CN1092363C (zh
Inventor
肯尼斯·J·古德诺
克拉伦斯·R·奥格尔维
威尔伯·D·普赖斯
塞巴斯蒂安·T·文特朗
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of CN1195812A publication Critical patent/CN1195812A/zh
Application granted granted Critical
Publication of CN1092363C publication Critical patent/CN1092363C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M3/00Automatic or semi-automatic exchanges
    • H04M3/005Interface circuits for subscriber lines
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M2201/00Electronic components, circuits, software, systems or apparatus used in telephone systems
    • H04M2201/12Counting circuits

Abstract

向包括处理由多任务操作系统控制的指令程序中的多个任务的处理器的信息处理系统中装入超高速缓冲存储器的方法和装置。通过监测以前处理的任务的顺序以及它们运行的时间开发的一个任务队列存储按从当前任务到下一任务的时间顺序排列的一个任务列表。当处理器完成当前任务的处理之前。下一任务应该被装入到超高速缓冲存储器中时,用这个任务列表来进行预测以防止由任务切换导致的处理器停顿。

Description

利用程序地址非连续历史记录的预测超高速缓存装入
本发明涉及信息处理系统和操作信息处理系统的方法,特别涉及向具有多任务操作系统的信息处理系统中装入超高速缓冲存储器的装置和方法。
由于微处理器或中央处理单元(CPU)操作系统开始依靠多任务作为标准操作手段,因此外部数据总线带宽,即联接CPU和信息处理系统中其它单元的数据总线,成为任务切换期间的系统性能瓶颈。所以在下文中所用的术语“任务”指的是任何单独的程序序列或指令集。典型的,一个任务被认为是当前i个操作页之外的任何单独的指令序列。例如,i可以是2或3页。
任务是一个操作系统(OS)可调度工作单元或计算活动。通过执行多任务或在任务间切换,OS可以以交互式以及成批访问为基础分配CPU访问并提高CPU吞吐量和应用。
每个应用程序在CPU上运行时是由一个或多个OS任务来表现的。也就是说,OS分配和调度一定数量的任务来对应由一个或几个应用程序指定的功能。通常,任务数目远小于同时执行的几个应用程序所查找的功能数目。
一项任务,也称为一个进程,是一个执行的程序。在一项任务或进程执行时,它将改变它的状态。任务的状态是由它当前的活动(新的、活动的、等待或暂停)定义的。相对的,任务的状态向量显示是被命名为“任务控制块”(TCB)的一个结构。
为了最大化提高CPU的应用,有些任务应该在所有时间一直运行。在串行机中,这是通过排成队列的访问来完成的。也就是说,已准备等待执行的任务被保持在一个称为工作或任务就绪队列的列表中。OS调度分配程序循环地确定下一步CPU将访问就绪队列中的哪项任务。因此,正运行的任务将继续执行直到它也结束、进入等待状态(例如因执行I/O所导致)、已超过可用时间或者被预占。
多任务是通过循环方法每次运行或处理每个任务的一小部分来完成的。在任务切换时,新代码被装入到一个指令超高速缓冲存储器中。如果在上一次初始指令的运行之后已经完成了足够的任务切换,初始任务的代码将不再驻留在超高速缓冲存储器中。当进行任务切换时,初始任务的代码必须重新装入到超高速缓冲存储器中,就象初次开始任务一样。这意味着每次任务切换时,外部数据总线都需要装入超高速缓存。也就是说,对应于初始任务的代码通过外部数据总线被从系统存储器中转移到位于微处理器内部的超高速缓冲存储器中。
由于这一外部总线以小于内部处理器的速度运行,因此从外部总线到内部超高速缓存的数据速率是饱和的,而处理器可能陷入停顿。这一问题需要设置相关和完全相关的超高速缓存。这一问题当前还不可能由常规的预取机制来处理,因为微处理器到问题实际已经发生之前不知道由每次任务切换所导致的程序流中的这一不连续什么时候发生以及需要什么新代码。
本发明提供的解决方案通过应用恰在任务切换之前应用可用的总线带宽解决由任务切换所导致的处理器停顿。本发明利用的是,在处理当前任务期间,处理器定位自己的内部超高速缓存时的可用外部总线带宽。本发明预测内部超高速缓存所需的下一个任务并在处理器完成当前任务的处理之前预装入此任务。
因此,本发明提供了一个信息处理系统,它包括处理一个指令程序中的多个任务的处理器,存储预定数目任务的超高速缓冲存储器以及存储按照从当前任务到下一任务的时间处理顺序排列的任务列表的一个任务队列。系统的特征在于提供了一种装置,用于在处理器完成当前任务的处理之前,在下一个任务应该被装入到超高速缓冲存储器中时利用任务列表进行预测。
本发明还提供向包括处理一个指令程序中的多个任务的处理器及存储预定数目所述任务的超高速缓冲存储器的一个信息处理系统中装入超高速缓冲存储器的方法。此方法包括在处理器完成当前任务的处理之前,在下一个任务应该被装入到超高速缓冲存储器中时存储按从当前任务到下一任务的时间处理顺序排列的任务列表以及利用任务列表进行预测的步骤。
本发明具有恰在任务切换之前利用可用的总线带宽来防止处理器停顿的优点。
本发明具有预测下一要处理的任务以便下一任务在任务执行之前可以被装入到超高速缓冲存储器中的优点。
图1是具体表现本发明的一个信息处理系统。
图2图示的是指令程序中的不连续。
图3是本发明的框图。
图4A-4C表示本发明操作的一个流程图。
图1所示为实现本发明的一个典型硬件环境,它图示的是一个根据本发明的具有多任务操作系统的一个信息处理系统的典型硬件配置,它包括至少一个处理器或中央处理单元(CPU)10及一个或多个集成数据传送单元11、一级或多级超高速缓冲存储器13以及一个或多个执行单元(图中没有画出)或存储器管理单元(图中没有画出)等其它单元。CPU 10通过系统总线12与随机存取存储器(RAM)14,只读存储器(ROM)16以及联接磁盘单元20和磁带装置40等外围装置和总线12的输入/输出(I/O)适配器18,联接键盘24、鼠标26、扬声器28、麦克风32和/或触摸屏装置(图中没有画出)等其它用户接口装置和总线12的用户接口适配器22,联接信息处理系统和数据处理网络的通讯适配器34以及联接总线12和显示装置38的显示适配器36相联接。
超高速缓冲存储器13是将速度较快但较不密集的存储器放在离CPU 10较近的位置并由速度较慢但较密集或较大的存储器来支持它们的整个存储层次概念的一部分。超高速缓冲存储器13可以具有一级或多级存储层次,其中CPU 10最频繁请求的数据存储在一级超高速缓冲存储器,次最频繁请求的数据存储在二级超高速缓冲存储器,而最不常请求的数据存储在RAM 14或ROM 16等位于CPU 10外部的主存储器中。当CPU 10需要从存储器中请求数据或指令时,数据传送单元11将在超高速缓冲存储器13中查找所需数据或指令的地址。如果数据或指令可用,将产生一次命中并且数据或指令将被传送。如果数据或指令不在超高速缓冲存储器13中,将产生未命中,有时也称为一次超高速缓存故障。如果超高速缓冲存储器13有多级,每次都要对每级查找一次,直到产生命中。
一般来说,本发明利用的是多任务中,每个任务都按循环方式每次处理一小部分这一事实。这意味着循环任务列表可以通过查看在它们的当前序列中运行的任务来确定。本发明跟踪按时间处理顺序排列的任务列表中的不同任务来预测接下来在什么时候应该将什么任务装入到超高速缓冲存储器中。本发明是通过从任务列表中查看序列中的下一任务并在当前任务几乎将要完成时装入下一任务来完成这一操作的。
现在参考图2所示的一个程序流程图。图2图示了第一个或当前指令或程序任务12以及第二个或下一个指令或程序任务14。在执行或处理任务12时,在任务12的段I 16产生任务切换或跳转命令。跳转命令或任务切换命令使指令流跳转到存在于段AA 18的任务14的开始。这样,在指令或程序的处理顺序中就产生了不连续,因为指令程序已经跳过段J 20并跳转到了指令程序的一个新段中。如果指令程序中的每个段或指令都是按顺序进行处理的,那么在指令程序的处理中就不会产生不连续。
本发明检测指令中的跳转大小,例如从段I 16跳转到段AA 18,并根据跳转大小来确定任务切换是否已经产生,即从第一个任务12的处理切换到第二个任务14。
现在参考图3,图中用框图形式给出了CPU 10的进一步的详细内容来介绍本发明的特征。由于在现有技术中CPU 10的其它部件已众所周知并且这些细节对描述本发明来说并不必要,因此在图中没有画出。
CPU 10与总线12相联接,用于在CPU 10和如图1所示的RAM存储器14或ROM存储器16等信息处理系统的其它单元之间传送数据和指令等信息。CPU 10包括一个前面所述的内部超高速缓冲存储器13。根据发明,CPU 10还包括一个任务队列42。任务队列42包括多个任务寄存器44、46、48、50、52,用于存储按从当前任务到下一任务时间处理顺序排列的一个任务列表。在此,时间处理顺序指的是CPU 10处理任务的顺序。如前所述,CPU10按循环形式每次处理每个任务的一小部分,这表示任务的处理顺序可以通过查看它们在当前序列,即时间处理顺序中运行的任务来确定。
任务队列42中的每个入口都由一组寄存器组成,它们包括标识具体任务的一个任务ID 54、标识在由任务ID 54标识的具体任务之前处理的任务的前一ID 56、标识在由任务ID 54标识的具体任务之后处理的下一个任务的下一ID 58以及表示处理由任务ID 54标识的任务所需的时间的一个计时器值60。
CPU 10还包括一个程序计数器62和一个程序地址生成器64。CPU 10还包括可操作地联接到任务队列42、超高速缓存13、程序计数器62、程序地址生成器64以及总线控制器68的控制逻辑66,它控制通过总线12发送到CPU 10或从CPU 10接收的信息。
控制逻辑66监测程序计数器62和由程序地址生成器64产生的地址来确定是否有不连续产生。如果确认有不连续,控制逻辑66将查看任务队列42来确定任务是否为新任务。如果确认是新任务,控制逻辑将分配一个新任务位置。如果任务是已经存在的任务,任务控制逻辑66的一个任务控制序列生成器66a将被激发。任务控制逻辑66保持任务队列42的时间处理顺序并通过任务列表利用命中比较逻辑检查超高速缓冲存储器中是否有数据或指令来控制把新数据或指令装入到超高速缓存13中。如果超高速缓冲存储器13中无数据,那么任务控制逻辑66b将激发总线控制器68,通过总线12预装入数据或指令到超高速缓冲存储器13中,以确保将来在当前任务结束之前期间的超高速缓存命中。
现在参考图4A-4C,图中的流程图表示了本发明的方法和操作。方法从步骤100开始。需要下面三个步骤对方法进行初始化。在步骤102复位一个指令循环计数器或计时器,所有任务寄存器被复位,所有循环计数被设置为最大值,指针被置为零。指针是任务开始位置的地址。在步骤104,当前指针被移到第一个可用或空任务寄存器。在步骤106,来自程序计数器62的上一物理指令地址被置位为当前物理指令地址。在步骤108,把当前指令物理地址与上一指令物理地址进行比较。在步骤110,确定指令中是否有大于n个字节的跳转发生。步骤110用来检测指令程序中的不连续以便随后标识任务。如果跳转并不大于n个字节,即没检测到不连续,进程将沿处理路径112来查看当前任务是否已接近结束。如果当前任务已接近结束,进程将查看下一任务的指令和数据是否已经存在于超高速缓存中。如果超高速缓存中还没有下一任务的指令和数据,它将首先访问上一个被用地址,开始预取这些指令和数据。
如果在步骤110确定跳转大于n个字节,即检测到不连续,进程将沿处理路径114来记录上一个指令地址以及已结束任务的结束时间。接着逻辑将确定被标识的任务是否为前面已确认的任务。如果被标识的任务是前面已确认的任务,逻辑将重建与循环列表,即任务队列中的任务列表的联接。如果被标识的任务是一新任务,进程将提供一种方法来重同步或重建任务列表中排列的时间处理顺序。
如果跳转没被确定为是不连续并且进程沿路径112进行,进程将进行到步骤116。在步骤116,将确定下一指针是否是活动的。如果下一指针不是活动的,那么进程将返回到步骤108。如果下一指针是活动的,进程将执行到步骤118,在此指令循环计数器的内容将与当前任务寄存器中存储的计数进行比较。
在步骤120,将确定循环计数是否大于“count”减k。如果循环不大于“count”减k,处理将返回到步骤108。如果循环计数大于“count”减k,处理将执行到步骤122。
在步骤122,将确定下一任务的最后一页地址是否存储在超高速缓冲存储器中。如果下一任务的最后一页地址没有存储在超高速缓冲存储器中,进程将执行到步骤124,在此将从下一任务寄存器中预取最后一个指令页,然后进程返回到步骤108。
如果下一任务的最后一页地址存储在超高速缓冲存储器中,进程将从步骤122执行到步骤126。在步骤126,将确定最后一页是否存储在超高速缓冲存储器中。如果最后一页没有存储在超高速缓冲存储器中,进程将执行到步骤128,在此将从下一任务寄存器中预取最后一页,然后进程返回到步骤108。如果最后一页地址没有存储在超高速缓冲存储器中,进程将从步骤126直接到步骤108。
如果在步骤110确定跳转大于n个字节,即有不连续发生并沿路径114执行进程,碰到的第一步是步骤130。在步骤130,上一个物理地址和指令循环计数器的内容被存储在当前的任务寄存器中。进程然后执行到步骤132,在此上一指针被移到当前任务寄存器。进程然后执行到步骤134,在此指令循环计数器被复位。在步骤136,将确定当前指令是否位于某个任务寄存器中地址的m个字节之内。步骤136用来确定当前任务是否已经在任务列表中。
如果当前指令不在任何任务寄存器中地址的m个字节之内,则任务列表中没有当前任务,进程将执行到步骤138。在步骤138,如果下一指针是活动的,进程将执行到步骤140。如果下一指针不是活动的,进程将返回到步骤108。在步骤140,下一任务寄存器的内容被删掉,进程执行到步骤142,在此下一指针被复位为零。在步骤144,当前指针被移到第一个可用的空任务寄存器,进程执行到步骤146,联接被存储到任务队列中的上一个任务寄存器。
如果当前指令在某个任务寄存器中地址的m个字节之内,则任务列表中已有此任务,进程将执行步骤148,在此当前指针将移到被标识的任务寄存器。接下来进程执行步骤150,在此下一指针被移动来联接当前任务寄存器,进程执行步骤146,在此联接被存储在上一个任务寄存器中。在完成了步骤146之后,进程返回到步骤108。
尽管本发明及其优点已经加以详细描述,但在不偏离所附的权利要求中限定的本发明的精神和范围的情况下,可以理解对其进行各种改变、替代和替换。

Claims (22)

1、一个信息处理系统,包括:
处理一个指令程序中多个任务的处理器;
存储预定数目的所述任务的超高速缓冲存储器;
存储按从当前任务到下一任务的时间处理顺序排列的一个任务列表的任务队列;以及
当所述下一任务应该被装入到所述超高速缓冲存储器时,在所述处理器完成所述当前任务的处理之前利用所述任务列表来进行预测的装置。
2、权利要求1中所述的信息处理系统,其特征在于还包括通过为每一个所述任务分配一个任务ID来标识所述任务的装置。
3、权利要求2中所述的信息处理系统,其特征在于还包括控制将所述任务装入到所述超高速缓冲存储器中的一个任务控制器,所述任务控制器包括确定在所述处理器完成所述当前任务的处理之前所述下一任务是否存储在所述超高速缓冲存储器中的装置,所述任务控制器还包括:
查看所述任务列表来确定所述列表是否包括对应于所述下一任务的一个入口的装置;以及
对所述下一任务的所述任务ID与已分配的所述任务ID进行比较以确定所述下一任务的所述任务ID是否在已分配的所述任务ID的m个字节之内的装置。
4、权利要求1中所述的信息处理系统,其特征在于还包括向所述任务列表中加入与所述下一任务对应的入口的装置以及当所述下一任务的所述任务ID不在已分配的所述任务ID的n个字节之内时向所述超高速缓冲存储器中装入所述下一任务的装置。
5、权利要求2中所述的信息处理系统,其特征在于标识所述任务的所述装置还包括一个程序计数器和从所述程序计数器向所述任务分配任务ID的装置。
6、权利要求5中所述的信息处理系统,其特征在于所述分配装置还包括:
监测所述程序计数器以确定在所述指令程序的处理过程中超过n个字节的不连续情况的装置;
在所述指令程序的处理过程中当发生第一个不连续时,向第一个任务分配来自所述程序计数器的第一个程序计数器值的装置;以及
在所述第一个不连续之后所述指令程序的处理过程中,当发生下一个不连续时,向第二个任务分配来自所述程序计数器的第二个程序计数器值的装置。
7、权利要求6中所述的信息处理系统,其特征在于还包括:
一个计时器;
当发生所述第一个不连续时启动所述计时器的装置;以及
在所述第一个不连续之后当发生下一个不连续时停止所述计时器并存储计时器值的装置。
8、权利要求1中所述的信息处理系统,其特征在于所述任务列表包括对应于所述任务的入口,所述入口包括标识具体任务的一个任务ID以及表示处理此具体任务所需时间的一个计时器值。
9、权利要求8中所述的信息处理系统,其特征在于所述入口还包括标识在所述具体任务之前处理的任务的一个前一ID以及标识在所述具体任务之后处理的下一任务的一个下一ID。
10、权利要求1中所述的信息处理系统,其特征在于还包括控制向所述超高速缓冲存储器中装入所述任务的一个任务控制器。
11、权利要求1中所述的信息处理系统,其特征在于还包括确定在所述处理器完成所述当前任务的处理之前,所述下一任务是否存储在所述超高速缓冲存储器中的装置。
12、向包括处理指令程序中的多个任务的处理器以及存储预定数目任务的超高速缓冲存储器的一个信息处理系统中装入超高速缓冲存储器的一种方法,所述方法包括以下步骤:
存储按从当前任务到下一任务的时间处理顺序排列的一个任务列表;以及
在处理器完成当前任务的处理之前,下一任务应该被装入到超高速缓冲存储器中时,利用任务列表进行预测。
13、权利要求12中所述的方法,其特征在于还包括通过给每一任务分配一个任务ID来标识任务的步骤。
14、权利要求13中所述的方法,其特征在于还包括从一个程序计数器中给任务分配任务ID的步骤。
15、权利要求14中所述的方法,还包括以下步骤:
提供控制向超高速缓冲存储器中装入任务的一个任务控制器;
在处理器完成当前任务的处理之前通过执行以下步骤来确定下一任务是否已经存储在超高速缓冲存储器中:
查看任务列表来确定列表是否包括与下一任务对应的一个入口;以及
将下一任务的任务ID与已经分配的任务ID进行比较以确定下一任务的任务ID是否在已经分配的任务ID的m个字节内。
16、权利要求15中所述的方法,其特征在于还包括以下步骤:
向任务列表中加入与下一任务对应的一个入口;以及
如果下一任务的任务ID不在已经分配的任务ID的m个字节内,把下一任务装入到超高速缓冲存储器中。
17、权利要求14中所述的方法,其特征在于还包括以下步骤:
监测程序计数器以确定在指令程序的处理过程中超过n个字节的不连续情况;
在指令程序的处理过程中当发生第一个不连续时,向第一个任务分配来自程序计数器的第一个程序计数器值;以及
在第一个不连续之后指令程序的处理过程中当发生下一个不连续时,向第二个任务分配来自程序计数器的第二个程序计数器值。
18、权利要求17中所述的方法,其特征在于还包括以下步骤:
提供一个计时器;
当发生所述第一个不连续时启动计时器;以及
在第一个不连续之后当发生下一个不连续时停止计时器并存储计时器值。
19、权利要求12中所述的方法,其特征在于还包括提供控制向超高速缓冲存储器中装入任务的一个任务控制器的步骤。
20、权利要求12中所述的方法,其特征在于还包括确定在处理器完成当前任务的处理之前,下一任务是否已存储在超高速缓冲存储器中的步骤。
21、权利要求12中所述的方法,其特征在于任务列表包括与任务对应的入口,其中入口包括标识具体任务的一个任务ID以及表示处理具体任务所需时间的一个计时器值。
22、权利要求21中所述的方法,其特征在于入口还包括标识在具体任务之前处理的任务的一个前一ID和标识在具体任务之后处理的下一任务的一个下一ID。
CN98105816A 1997-04-04 1998-03-20 利用程序地址非连续历史记录的预测超高速缓存装入 Expired - Fee Related CN1092363C (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US835126 1977-09-21
US83512697A 1997-04-04 1997-04-04
US835,126 1997-04-04

Publications (2)

Publication Number Publication Date
CN1195812A true CN1195812A (zh) 1998-10-14
CN1092363C CN1092363C (zh) 2002-10-09

Family

ID=25268646

Family Applications (1)

Application Number Title Priority Date Filing Date
CN98105816A Expired - Fee Related CN1092363C (zh) 1997-04-04 1998-03-20 利用程序地址非连续历史记录的预测超高速缓存装入

Country Status (6)

Country Link
US (1) US6701131B2 (zh)
JP (1) JPH10301794A (zh)
KR (1) KR100318515B1 (zh)
CN (1) CN1092363C (zh)
SG (1) SG90028A1 (zh)
TW (1) TW405090B (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1306420C (zh) * 2003-09-30 2007-03-21 国际商业机器公司 利用永久历史页表数据预取数据到高速缓存的装置和方法
CN1690899B (zh) * 2004-04-19 2012-07-18 株式会社东芝 控制装置
CN101840355B (zh) * 2003-02-18 2013-02-13 微软公司 用于增强协处理器性能的系统和方法
CN107092627A (zh) * 2010-04-05 2017-08-25 谷歌公司 记录的列状存储表示
US10120712B2 (en) 2016-07-05 2018-11-06 Nxp Usa, Inc. Instruction pre-fetching
US10120713B2 (en) 2016-07-05 2018-11-06 Nxp Usa, Inc. Hardware controlled instruction pre-fetching

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2300540B (en) * 1995-03-31 1999-10-20 Int Mobile Satellite Org Communication method and apparatus
US7411984B1 (en) * 2001-02-27 2008-08-12 Nortel Networks Limited Method of providing tone information to nodes in a packet network
US7043006B1 (en) * 2002-02-13 2006-05-09 Aastra Intecom Inc. Distributed call progress tone detection system and method of operation thereof
US7236585B2 (en) 2002-05-31 2007-06-26 Avaya Technology Corp Apparatus and method for noise immunity during signal detection
US20030223572A1 (en) * 2002-05-31 2003-12-04 Roybal Larry John Apparatus and method for detecting a tone disconnect signal in the presence of voice
US7107181B2 (en) * 2004-06-29 2006-09-12 Bellsouth Intellectual Property Corporation Methods, systems, and storage mediums for maintaining timing supplies and assignments
US7873486B2 (en) * 2004-07-29 2011-01-18 Tektronix, Inc. Spectrogram mask trigger
US20080144792A1 (en) * 2006-12-18 2008-06-19 Dominic Lavoie Method of performing call progress analysis, call progress analyzer and caller for handling call progress analysis result
JP5187944B2 (ja) * 2008-03-05 2013-04-24 インターナショナル・ビジネス・マシーンズ・コーポレーション コンピュータ使用可能コードを実行する装置及び方法
FR2962567B1 (fr) * 2010-07-12 2013-04-26 Bull Sas Procede d'optimisation d'acces memoire, lors de la reprise d'execution d'une application, dans un microprocesseur comprenant plusieurs coeurs logiques et programme d'ordinateur mettant en oeuvre un tel procede
DE102011083468A1 (de) * 2011-09-27 2013-03-28 Robert Bosch Gmbh Schaltungsanordnung zur Ablaufplanung bei einer Datenverarbeitung
US20130151248A1 (en) * 2011-12-08 2013-06-13 Forrest Baker, IV Apparatus, System, and Method For Distinguishing Voice in a Communication Stream
US9910780B2 (en) * 2015-10-28 2018-03-06 International Business Machines Corporation Pre-loading page table cache lines of a virtual machine
US11722601B2 (en) * 2020-11-10 2023-08-08 Avaya Management L.P. Content coded zip tones for agents and conference call participants, and user-adjustable tone attribute

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB8329509D0 (en) * 1983-11-04 1983-12-07 Inmos Ltd Computer
US4658351A (en) * 1984-10-09 1987-04-14 Wang Laboratories, Inc. Task control means for a multi-tasking data processing system
EP0381655A3 (en) * 1989-01-31 1992-12-02 International Business Machines Corporation Method for synchronizing the dispatching of tasks among multitasking operating systems
US5065310A (en) * 1989-05-10 1991-11-12 International Business Machines Corporation Reducing cache-reload transient at a context swap
GB2234613B (en) * 1989-08-03 1993-07-07 Sun Microsystems Inc Method and apparatus for switching context of state elements in a microprocessor
JPH03154139A (ja) * 1989-11-10 1991-07-02 Fuji Xerox Co Ltd キャッシュメモリ
US5109512A (en) * 1990-05-31 1992-04-28 International Business Machines Corporation Process for dispatching tasks among multiple information processors
EP0628184B1 (en) * 1992-02-27 1998-10-28 Samsung Electronics Co., Ltd. Cpu having pipelined instruction unit and effective address calculation unit with retained virtual address capability
US5247677A (en) * 1992-05-22 1993-09-21 Apple Computer, Inc. Stochastic priority-based task scheduler
US5349579A (en) * 1993-01-05 1994-09-20 Excel, Inc. Telecommunication switch with programmable communications services
JP3345787B2 (ja) * 1993-04-13 2002-11-18 三菱電機株式会社 データ処理装置
JPH08339330A (ja) * 1995-06-09 1996-12-24 Fujitsu Ltd キャッシュメモリをレジスタとして使用したデータ処理方法および装置
US6381239B1 (en) * 1996-02-13 2002-04-30 Taqua Systems, Inc. Multiple application switching platform and method
US5968158A (en) * 1997-10-06 1999-10-19 International Business Machines Corporation Apparatus including a host processor and communications adapters interconnected with a bus, with improved transfer of interrupts between the adapters and host processor
US6373849B1 (en) * 1998-06-08 2002-04-16 Excel Switching Corporation Resource interface unit for telecommunications switching node
US6470028B1 (en) * 1998-10-19 2002-10-22 Alcatel Usa Sourcing, L.P. System and method for translating telecommunications signals of span interfaces
US6603757B1 (en) * 1999-04-14 2003-08-05 Excel Switching Corporation Voice-data access concentrator for node in an expandable telecommunications system
US6594685B1 (en) * 1999-04-14 2003-07-15 Excel Switching Corporation Universal application programming interface having generic message format

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101840355B (zh) * 2003-02-18 2013-02-13 微软公司 用于增强协处理器性能的系统和方法
CN1306420C (zh) * 2003-09-30 2007-03-21 国际商业机器公司 利用永久历史页表数据预取数据到高速缓存的装置和方法
CN1690899B (zh) * 2004-04-19 2012-07-18 株式会社东芝 控制装置
CN107092627A (zh) * 2010-04-05 2017-08-25 谷歌公司 记录的列状存储表示
CN107092627B (zh) * 2010-04-05 2021-02-26 谷歌有限责任公司 记录的列状存储表示
US10120712B2 (en) 2016-07-05 2018-11-06 Nxp Usa, Inc. Instruction pre-fetching
US10120713B2 (en) 2016-07-05 2018-11-06 Nxp Usa, Inc. Hardware controlled instruction pre-fetching

Also Published As

Publication number Publication date
KR100318515B1 (ko) 2002-02-19
CN1092363C (zh) 2002-10-09
KR19980079597A (ko) 1998-11-25
US20020031205A1 (en) 2002-03-14
US6701131B2 (en) 2004-03-02
TW405090B (en) 2000-09-11
JPH10301794A (ja) 1998-11-13
SG90028A1 (en) 2002-07-23

Similar Documents

Publication Publication Date Title
CN1092363C (zh) 利用程序地址非连续历史记录的预测超高速缓存装入
US9417935B2 (en) Many-core process scheduling to maximize cache usage
CN101233489B (zh) 自适应进程分派的方法和系统
FI78993B (fi) Oevervakare av driftsystem.
US6665699B1 (en) Method and data processing system providing processor affinity dispatching
Kotz et al. Practical prefetching techniques for multiprocessor file systems
US6996821B1 (en) Data processing systems and method for batching tasks of the same type in an instruction cache
US9553823B2 (en) Process migration method, computer system and intermediate computing resources
US20120222043A1 (en) Process Scheduling Using Scheduling Graph to Minimize Managed Elements
US20040216101A1 (en) Method and logical apparatus for managing resource redistribution in a simultaneous multi-threaded (SMT) processor
Cui et al. Enable simultaneous dnn services based on deterministic operator overlap and precise latency prediction
US20130086564A1 (en) Methods and systems for optimizing execution of a program in an environment having simultaneously parallel and serial processing capability
KR20010094951A (ko) 다중 스레드를 이용하는 처리 시스템과 다중 스레드 이용방법, 다중 독립 스레드 실행 방법과 스레드 실행 제어장치, 스레드와 연계한 프리페치 버퍼 이용 방법, 및스레드 실행 콘트롤러
JP2002149424A (ja) 共有コプロセッサ・リソースに対する複数の論理インタフェース
Cui et al. Ebird: Elastic batch for improving responsiveness and throughput of deep learning services
JPH06504640A (ja) アウトオブオーダジョブ処理方法および装置
WO2007035126A1 (fr) Procede d'organisation d'ordinateurs multiprocesseurs
Stankovic et al. The spring system: Integrated support for complex real-time systems
CN101499020B (zh) 具有动态工作管理能力的多处理器界面及其程序加载或卸载方法
KR100678930B1 (ko) 디지털 시그널 프로세서를 위한 실시간 제어 시스템
Wu et al. Switchflow: preemptive multitasking for deep learning
JP3981238B2 (ja) 情報処理装置
WO2003040948A1 (fr) Ordinateur et procede de commande
JPH0355634A (ja) キャッシュ再ロード・オーバーヘッドを減少させる方法およびコンピュータ・システム
CN114930292A (zh) 协作式工作窃取调度器

Legal Events

Date Code Title Description
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C06 Publication
PB01 Publication
C14 Grant of patent or utility model
GR01 Patent grant
C19 Lapse of patent right due to non-payment of the annual fee
CF01 Termination of patent right due to non-payment of annual fee