CN1522405A - 数据处理设备和同步数据处理设备中的第一与第二处理装置的方法 - Google Patents

数据处理设备和同步数据处理设备中的第一与第二处理装置的方法 Download PDF

Info

Publication number
CN1522405A
CN1522405A CNA028130510A CN02813051A CN1522405A CN 1522405 A CN1522405 A CN 1522405A CN A028130510 A CNA028130510 A CN A028130510A CN 02813051 A CN02813051 A CN 02813051A CN 1522405 A CN1522405 A CN 1522405A
Authority
CN
China
Prior art keywords
treating apparatus
token
counter
data processing
synchronisation indicator
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.)
Pending
Application number
CNA028130510A
Other languages
English (en)
Inventor
A��K��Ŧ������
A·K·纽夫兰德
R
P·E·R·利彭斯
O·P·冈瓦尔
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.)
Koninklijke Philips NV
Original Assignee
Koninklijke Philips Electronics NV
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 Koninklijke Philips Electronics NV filed Critical Koninklijke Philips Electronics NV
Publication of CN1522405A publication Critical patent/CN1522405A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F5/00Methods or arrangements for data conversion without changing the order or content of the data handled
    • G06F5/06Methods or arrangements for data conversion without changing the order or content of the data handled for changing the speed of data flow, i.e. speed regularising or timing, e.g. delay lines, FIFO buffers; over- or underrun control therefor
    • G06F5/10Methods or arrangements for data conversion without changing the order or content of the data handled for changing the speed of data flow, i.e. speed regularising or timing, e.g. delay lines, FIFO buffers; over- or underrun control therefor having a sequence of storage locations each being individually accessible for both enqueue and dequeue operations, e.g. using random access memory
    • G06F5/12Means for monitoring the fill level; Means for resolving contention, i.e. conflicts between simultaneous enqueue and dequeue operations
    • 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
    • G06F9/52Program synchronisation; Mutual exclusion, e.g. by means of semaphores
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2205/00Indexing scheme relating to group G06F5/00; Methods or arrangements for data conversion without changing the order or content of the data handled
    • G06F2205/10Indexing scheme relating to groups G06F5/10 - G06F5/14
    • G06F2205/102Avoiding metastability, i.e. preventing hazards, e.g. by using Gray code counters

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Multi Processors (AREA)
  • Hardware Redundancy (AREA)
  • Computer And Data Communications (AREA)
  • Communication Control (AREA)
  • Advance Control (AREA)
  • Synchronisation In Digital Transmission Systems (AREA)

Abstract

一种依据本发明的数据处理设备至少包括第一处理装置(1.2)与第二处理装置(1.3)。第一处理装置能够通过将可由第二处理装置读出的权标写入缓冲装置(2.1)来提供数据,以便进行进一步处理。给处理装置分配第一与第二同步计数器。第一同步计数器(writec)可利用第一处理装置(1.2)进行修改并可由第二处理装置(1.3)读出。第二同步计数器(readc)可利用第二处理装置(1.3)进行修改并可由第一处理装置(1.2)读出。第一同步计数器(writec)指明由第一处理装置(1.2)写入的权标数量。第二同步计数器(readc)指明由第二处理装置(1.3)读出的权标数量。

Description

数据处理设备和同步数据处理设备中 的第一与第二处理装置的方法
本发明涉及至少包括第一与第二处理装置的数据处理设备,第一处理装置能够通过将可利用第二处理装置读出的权标(token)写入缓冲装置来提供数据,以便进一步处理,给这些处理装置分配第一与第二同步指示符,第一同步指示符可利用第一处理装置进行修改并可利用第二处理装置读出,而第二同步指示符可利用第二处理装置进行修改并可利用第一处理装置读出。
本发明进一步涉及利用第一与第二同步指示符来同步数据处理设备中的第一与第二处理装置的方法,第一处理装置能够通过经缓冲装置写入权标来提供数据给第二处理装置,以便进一步处理,其中
a.第一处理装置生成一个或多个权标,;
b.比较第一与第二同步指示符;
c.依据此比较结果,或
c1.将权标写入缓冲装置并修改第一同步指示符,此后利用步骤a继续;或
c2.重复步骤b-c;和其中
d.第二处理装置比较第一与第二同步指示符;
e.依据此比较结果,或
e1.从缓冲装置读出权标并修改第二同步指示符;或
e2.重复步骤d,e。
信号处理功能根据类似于MPEG-x、DVB、DAB和UMTS的标准来确定许多产品的性能要求。这需要有效实施这些产品的信号处理部件。然而,因为不断发展的标准和不断变化的市场要求,此实施方案也需要有灵活性以及可缩放性。一种宏流水线建立是模型化这些应用的自然方式,这是因为处理数据流;在这种建立中功能(任务)是分级的,并且在各级之间具有缓冲器,以形成流水线。这是开发任务-级别并行性(TLP)的一种方式,因为所有的级能够并行操作。
从WO 99/22296中公知一种依据引言段落的数据处理设备和方法。在本说明书及所附的权利要求书中,权标将指明可以包含任意数量的数据元素的缓冲装置内的一个单元。一个单元可以包含例如音频流的单个样本或例如一个视频流的图形元素(象素)的完整矩阵。公知的数据处理设备包括以数据块形式生产权标的第一站和消费这些权标的第二站。第一站以产品信号标志(semaphore)的形式控制第一同步指示符,而第二站以消耗信号标志的形式控制第二同步指示符。在生产一个权标以后,第一站检查第二站和可能的其他消费站的信号标志的值是否具有与它自己的信号标志相同的值。如果是这种情况的话,它将生产的信号标志装载到一个缓冲器中并且系紧(toggle)此产品信号标志。消费站在它从缓冲器中读出权标之前等待,直至产品信号标志不同于它自己的信号标志。每个权标具有它自己的信号标志。已知的数据处理装置避免相对信号标志的写冲突,这是因为每个信号标志只能由一个站写入。注意:步骤a可能被延迟至步骤c1之后,即:首先检查缓冲装置是否包含用于写权标的空间,此后数据被生成和/或被写到缓冲装置中。缓冲装置例如是移位寄存器或另一种类型的存储器,其中能够顺序地存储这些权标。
本发明的一个目的是提供一种具有改进效率的数据处理设备。因此,依据本发明,此数据处理设备的特征在于,每个同步指示符利用一个计数器来表示,表示第一同步指示符的计数器(p计数器)指明利用第一处理装置写入的权标数量,而表示第二同步指示符的计数器(c计数器)指明由第二处理装置从缓冲装置中读出的权标数量。第一和第二处理装置均能够根据这些计数器相对于最大的权标数量之间的差来确定可利用的满/空权标数量。
例如,如果缓冲装置具有Nb=16个权标的容量,并且p计数器具有8个权标的值Np以及c计数器具有5个权标的值Nc,则Np-Nc(modNb)=3个权标可用于由第二处理装置读取,以及Nc-Np(mod Nb)=13个权标可用于由第一处理装置写入。
本数据处理设备对于已知设备的改进在于:它利用单个计数器替代第一处理装置的各个信号标志,并利用另一计数器替代第二处理装置的各个信号标志。
现在,不系紧产品信号标志,相反地,生产者在提供一个权标给缓冲装置之后将表示第一同步指示符的计数器(在此之后也称为产品计数器)递增。同样地,消费者在消耗一个权标时将表示第二同步信号标志的计数器(消耗计数器)递增。
因为每个计数器只利用处理装置之一进行修改,所以防止读写危险。
为了确定一个权标是否可用于写(空),生产者从产品计数器中减去消耗计数器,并将结果与能够存储在缓冲器中的最大权标数量进行比较。同样地,消费者减去两个计数器来检查被填充的权标是否可用于读出。
注意,US 6173307 B1公开了一种多处理器系统,包括被多个生产者和多个消费者共享的环形队列。能够允许任何生产者或消费者在任何时候抢先占有任何生产者或消费者而不干扰此队列的正确性。
还注意,US 4916658描述了一种设备,包括一个动态控制的缓冲器。该缓冲器适用于存储由几个存储位置以及提供第一指示符、第二指示符的电路和提供可用于存储的位置数量、可用于检索的位置数量的电路构成的数据字,其中第一指示符指明下一个将被存入的存储位置,第二指示符指明下一个将被检索的存储位置。
在本发明的数据处理设备的一种优选实施方案中,至少一个处理器本地保持一个保留计数器,其中由至少一个处理器发出的第一命令导致通过将其保留计数器与其他处理器保持的同步计数器进行比较来验证所请求数量(一个或多个)的权标是否可用于它,如果此验证的结果是肯定的,则更新此保留计数器。
以这种方式,此处理器能够在此缓冲器内保留一个区域,具有由同步计数器查用(refer to)的较低边界和由保留计数器查用的较低边界。在这个区域内,它可以随机访问此缓冲器。最好,保留计数器和同步计数器被存储在单个数据字中,以便能够快速存取此信息。
依据本发明的数据处理设备的一种优选实施方案的特征在于,这些计数器具有一个范围,此范围大于包含在一个满的缓冲装置中的数据元素的总数。以这种方法,防止在这些计数器相同时可能引起的意义不明确。这通过以下的例子加以说明。注意,当p计数器从0递增到1时,表示第一权标已被写入。在读出一个块之后,c计数器也被从0递增到1,表示此缓冲器再次为空。假定缓冲装置具有Nb=16个权标的容量以及这些计数器从0计数到16。起初,Np=Nc=0。随后,在p计数器获得值15时,此缓冲装置是满的。在第二处理装置(即,消费者)读出一个权标之前将p计数返回到0,这将在这些计数器相等时将导致缓冲器是满的错误状态。通过使用具有大于数据元素数量的一个范围的计数器,避免这种意义不确定的情形。
依据本发明的数据处理设备的一种优选实施方案的特征在于,这些计数器具有一个额外位。以这种方法,计数器的范围是最大权标数量的两倍。按定义:如果包含额外位的两个计数器相等,则所有的权标是空的。如果只有这些计数器的额外位是不同的,则缓冲器中的所有权标是满的。注意,也有可能具有另一种替换的定义:当这些计数器相同并且额外位不同时,此缓冲器是空的,而当额外位相等时,则此缓冲器是满的。重要的是:定义这些位的含义,以及可区分满的与空的。
处理装置可以实施为专用于特定任务的硬件或实施为由通用处理器执行的软件程序或实施为硬件和软件的组合。
在一种实施方案中,第一处理装置利用生产者-索取呼叫(producer-claim call)来获得对空权标的访问,并利用生产者-释放呼叫(producer-release call)来释放被填充的权标。对生产者-索取子程序的呼叫导致产品计数器和消耗计数器之间的差被确定,并且根据结果给予第一处理装置对缓冲装置的访问。生产者-释放呼叫的结果是产品计数器被递增,意味着所索取的权标被第一处理装置生成的数据填充。
在一种实施方案中,第二处理装置利用消费者-索取呼叫获得对一个被填充权标的访问,并利用消费者-释放呼叫来释放该权标。此权标可能是空的或具有改变的内容。利用消费者-索取呼叫激活的子程序确定产品计数器和消耗计数器之间的差,并且根据此结果,赋于第二处理装置对此缓冲装置的访问。呼叫消费者释放子程序的效果是递增消耗计数器,意味着与被索取的满权标(由第一处理装置生成)相对应的数据已被(标记为)读出。
在所述实施方案的一种变型中,第一处理装置可以利用生产者-索取呼叫来获得对多个权标的访问。同样地,消费者可以利用消费者-索取呼叫来获得对多个权标的访问。
如果多个权标被索取但不直接被释放,则所索取的权标数量应该例如利用一个索取计数器进行跟踪。第一处理装置的索取计数器对于第二处理装置来说不必是可读的,反过来也一样。第一处理装置的索取计数器例如可以实施为一个单独的计数器,但另一种方案是与例如产品计数器合并。
这些计数器可被实施为属于权标缓冲器(通信信道)的数据结构的一部分。
在一种优选实施方案中,数据结构的一种本地拷贝通过例如高速缓存而保持在处理装置附近。这降低了访问数据结构的等待时间以及通信网上的负载。
当权标的索取失败时,没有满的权标(消费者)或空的权标(生产者)可用。在这种情况下,处理装置有几种选择,例如,执行另一个任务或等待。在等待时,第二处理装置能够轮询(非高速缓存)第一处理装置的产品计数器。正在等待的第一处理装置可以轮询(非高速缓存)消耗计数器。正在等待的处理装置也可以返回到空闲等待模式,例如,睡眠模式。这可以具有低能量使用的优点。为了从睡眠模式中唤醒一个处理装置,在更新适当的计数器之后,可以发送一个信号(例如,存储器映象信号)作为唤醒信号。在正常操作期间,这些信号可被忽略,因为这些信号只被要求作为唤醒信号。
依据本发明的数据处理设备的一种实施方案的特征在于,第一处理装置包括一个寄存器装置,用于本地存储可用于被写入的权标数量的指示。在第一处理装置已计算出p计数器、c计数器中可用于被写入的权标数量以及缓冲装置中可利用的权标数量之后,它可以将这个数量存储在寄存器装置中。只要它已写入一个或多个权标,它就更新p计数器和寄存器装置。此寄存器装置给出可用于写的权标数量的一个悲观估算,这是有保留的:在第一处理装置写入一个权标时,寄存器装置中的值被减少,而如果一个权标由第二处理装置读出,并因此变成可用的,则它保持不变。因此,只要寄存器指明权标可用于写,第一处理装置可以继续这样做。同时,第一处理装置不必检查c计数器,这节省总线负载。只在寄存器装置指明不再有权标可用于写时,第一处理装置才必须访问c计数器和重新进行计算。
依据本发明的数据处理装置的一种实施方案的特征在于,第二处理装置包括一个寄存器装置,用于本地存储可用于读的权标数量的指示。以类似于上述的方式,这减少了第二处理装置对p计数器的访问。
在一个实施例中,其中处理装置之一利用专用于特定任务的硬件来实施,而另一个处理装置实施为由通用处理器执行的软件程序,同步信息最好分布在一个外壳(shell)和共享存储器上。
耦合到处理器的一个外壳有利于多任务工作,它可以减少必须由处理器本身处理的中断的次数。这就减少了一个空闲处理器必须被不必要地激活的次数,或者一个处理器必须中断它正在处理的其他任务的次数。以这种方式,改善处理器的效率。
取决于中断信号的类型以及这些信号是如何被编码的,具有几种选择来实现这样的一种用于选择中断信号的外壳。在一种实施方案中,中断信号指明处理器的数据信道。实现这种方案的一个实际方法是将寄存器中的位指定给处理器的相应输入信道。例如,一个32位寄存器可以支持32个输入信道,其中例如信道0被指定为寄存器的位0,信道1被指定为寄存器的位1等。当一个其他的处理器发送被指定用于此处理器的信道k的中断信号时,此信号寄存器中的相应位k被设置。接收处理器的外壳能够利用一个屏蔽寄存器来选择特定的中断信号,其中每个位表示一个特定的信道,不管此处理器是否想忽略该中断。例如,如果与信道2对应的位被屏蔽,此信号将不在此处理器中引起中断,并且将不发生唤醒。在本例中,处理器可能正忙于处理,其中所有的位将被屏蔽,或者处理器/任务可能正在等待信道1上的满/空权标,在这种情况下,它对信道2上发生了什么并不感兴趣。
信号和屏蔽寄存器可以拥有任意数量的位,这取决于应该支持的信道的数量。另一种方案是有可能利用一个号码支持每个信道,并利用一个列表或查找表来确定对于该信道是否应中断此处理器。然而,这是一种比较复杂的解决方法。
不利用其信道号来识别中断信号,而能够利用屏蔽号来识别。在这个实施方案中,所有带有用于特定任务的信号的信道在外壳的信号寄存器中设置相同的位。以这种方法,数量与信号寄存器中的位数相等的任务可被唯一地寻址,而每个任务可以有1个以上的信道。与利用唯一信道识别相比,这种等待不算什么,但不必要的唤醒次数仍然很少,并且利用有限的硬件能够支持较多的信道。
当然,任务数并不必与位数相同(只是用这种方式比较简单),只要相互关系被规定就行。而且,也有可能许多任务(任务组)共享同一信号中断号。
不识别由接收机实施的任务,而可以传送发送者任务识别号。在这种情况下,接收处理器可以从一个特定任务而不是对于一个特定任务选择中断信号。这可以取决于外部任务的数目和处理器上的任务的数量,个人偏爱等看来最有用/有效。
在附图中更详细地描述这些与其他方面,其中:
图1简单地示出一种依据本发明的数据处理设备,
图2简要地示出同步计数器指明缓冲器的各个部分的一种方式,
图3说明依据本发明的一种同步方法的第一方面,
图4说明依据本发明的一种同步方法的第二方面,
图5说明依据本发明的另一同步方法,
图6较详细地说明一种用于处理器的信号控制器,
图7说明一种用于处理器的同步外壳,和
图8说明一种信道控制器。
图1示出一种数据处理设备,至少包括第一处理装置1.2和第二处理装置1.3。第一处理装置,即VLIW处理器1.2,能够通过使权标在位于存储器1.5内的缓冲装置中可利用来提供数据。这些权标可利用第二处理装置1.3(即,一种数字信号处理器)读出,以便进一步处理。此数据处理设备进一步包括RISC处理器1.1、ASIP 1.4和专用硬件单元1.6。VLIW处理器1.2、DSP 1.3、ASIP 1.4、存储器1.5和ASIC 1.6通过第一总线1.7相互耦合。RISC处理器1.1被耦合到第二总线1.8,第二总线又通过桥接器1.9耦合到第一总线1.7。另一个存储器1.10和外围设备1.11被连接到第二总线1.8。这些处理器可以具有辅助单元。例如,RISC处理器1.1包括指令高速缓存1.1.1和数据高速缓存1.1.2。同样,VLIW处理器有指令高速缓存1.2.1和数据高速缓存1.2.2。DSP 1.3包括指令高速缓存1.3.1、本地存储器1.3.2以及地址解码器1.3.3。ASIP 1.4包括本地存储器1.4.1和地址解码器1.4.2。ASIC 1.6包括本地存储器1.6.1和地址解码器1.6.2。处理装置1.2、1.3均被分配相应的同步指示符。这两个同步指示符既可利用第一处理装置1.2又能利用第二处理装置1.3访问。第一同步指示符至少可利用第一处理装置1.2进行修改,并且可利用第二处理装置1.3读出。第二同步指示符至少可利用第二处理装置1.3进行修改,并且可利用第一处理装置1.2读出。
每个同步指示符利用一个计数器来表示。表示第一同步指示符的计数器(p计数器)指明由第一处理装置1.2写入的权标数量。表示第二同步指示符的计数器(c计数器)指明由第二处理装置1.3读出的权标数量。只要计数器值的比较使之有可能计算可用于每个处理器的权标数量,对于本领域技术人员来说,具有几种选择来利用计数器指明权标的数量。例如,计数器值可以等于权标数量mod n,其中n是一个整数值。否则,计数器的每一步可以表示固定的权标数量,或者一个权标可以利用计数器值的步数来表示。
在一种实际的实施方案中,计数器是一个高达使缓冲装置可用于其他处理器的地址的指针。在图2中简要地示出这种情况。此附图简要地显示存储器1.5内的一个缓冲器空间2.1,此空间由第一处理装置1.2用于向第二处理装置1.3提供数据。将缓冲器空间2.1安排为一个循环缓冲器。缓冲器空间2.1包括第一区域2.2和第二区域2.4,其中包含由第一处理装置1.2写入的、现在可用于第二处理装置1.3的数据。缓冲器空间2.1进一步包括第三区域2.3,可用于第一处理装置1.2写入新的数据。p计数器writec表明第一区域2.2的末端,并且c计数器readc指向第二区域2.3的末端。
在第一区域2.2和第二区域2.4内的部分2.6利用保留计数器readrsvc连同同步计数器readc来保留。
在第三区域2.3内的部分2.5利用保留计数器writersvc连同同步计数器writec来保留。
两个计数器相减相对缓冲器大小buffsz取模给出可用于第二处理装置1.3的有效权标数Nc和可用于由第一处理装置1.2填充的空权标数Np。
         (1)Nc=(writec-readc)mod buffsz,和
         (2)Np=(readc-writec)mod buffsz.
p计数器和c计数器被存入对于至少两个处理装置来说是可访问的位置中。对这些计数器的每次访问产生延时,这是因为需要某一仲裁机制给予对所述位置的访问。为了进一步改进效率,处理装置被提供有寄存器装置,用于本地存储可用的权标数量的指示。在一种实施方案中,第一处理装置1.2具有用于存储计数器值readc’的寄存器,而第二处理装置1.3具有用于存储计数器值writec’的寄存器。值writec已可用于第一处理装置1.2,因为这些装置确定p计数器的进程。由于类似的理由,值readc可用于第二处理装置。不计算实际可用的有效权标数Nc,第二处理装置1.3现在按照下式来计算这个值的悲观估算值Nc’:
          (3)Nc’=(writec’-readc)mod buffsz.
因为值writec’和readc一起表示可用于被读的权标数Nc的一种悲观估算值,所以用于本地存储这些变量的设备形成用于本地存储可用于被读出的权标数量的指示的寄存器装置。另一种方案是,可以本地存储值Nc’来替代值writec’。同样,现在,第一处理装置1.2按照下式计算实际可用的空权标数的非观估算值Np’:
          (4)Np’=(readc’-writec)mod buffsz.
用于本地存储这些变量的设备形成用于本地存储可用于被写入的权标数量的指示的寄存器装置。
另一种方案是,可以本地存储值Np’代替值readc’。
在第一处理装置1.2检测到Np’具有值0时,必须利用c计数器的瞬时值readc来更新第一处理装置的本地寄存器中的值readc’。在第二处理装置1.3监测到Nc’具有值0时,必须利用p计数器的瞬时值writec来更新第二处理装置的本地寄存器中的值writec’。
除了本地存储的信息之外,涉及第一处理装置1.2和第二处理装置1.3之间的通信信道的数据可以按照共享数据结构来组织。这样一种数据结构的例子CHP_channel T以C语言说明如下:
             typedet struct {

                           int id;

                           int buffsz;

                           int flags;

                           struct CHP_taskS*ptask;

                           struct CHP_taskS*ctask;

                           union{

                                  CHP_bufferT*buffer_pointers;

                                  struct{

                                          int token_size;

                                          CHP_bufferT buffer;

                                  }buffer_data;

                           }channel;

             unsigned writec;

             unsigned readc;

             CHP_channel_hwT*pchan;

             CHP_channel_hwT*cchan;

             }CHP_channelT;
除了计数器值writec和readc以外,这种数据结构包括以下数据。
id是识别信道的一个值,以使一个处理方案能够包括多个信道,例如第一信道用于将数据从第一处理装置传送到第二处理装置,第二信道用于将数据从第二处理装置传送到第一处理装置,和第三信道用于将数据从第二处理装置传送到第三处理装置。
值buffsz指明缓冲器的大小,即,能够存储在缓冲器中的权标的数量。
值flags指明信道的特性,例如,同步是基于轮询还是中断,以及信道缓冲器是直接被分配的还是间接被分配的。作为一种替代方案,可以决定给予信道以预定特性,例如,限制利用直接分配的缓冲器实施基于中断的同步。在这种情况下,值flags可被略去。
ptask和ctask是指向描述第一处理装置、生产者的任务以及第二处理装置、消费者的任务的结构的指针。
例如,此任务结构可以包含:
-此任务的标识符(这是谁的任务结构)
-功能指针(如果这是一个在嵌入处理器上的任务;则在引导之后,root_task可以跳到这个功能并启动此应用程序,否则为空)。
-设备类型:指明任务应该运行在哪种类型的设备上。
这对于引导处理过程是有用的:作为Unix处理过程运行的任务必须以不同于运行在DSP或运行在嵌入处理器上或运行在专用硬件上的任务的方式进行初始化。通过拥有主要设备类型,容易选择正确的引导程序。
-设备号:这允许区分例如第一与第二Unix协处理器,通过给予这些处理器一个唯一号可以做到这点。
-信道的数量
-指向信道数据结构的指针的列表。
以这种方式,例如,在启动一个UNIX任务时,可以首先读出其任务结构,并然后读出有关所有连接到此任务的信道的所有信息。这使引导处理过程相当容易,并且避免在某个任务加上时控制处理过程必须进行修改以使所有任务装载正确的数据结构。
union channel(联合信道)指明缓冲器的位置。或者缓冲器间接地通过指针buffer_pointers定位到结构CHP-bufferT,或者此缓冲器被包含在结构CHP_channelT中。
整数token_size指明生产者和消费者交换的权标的大小规模,例如利用字节的数量来表示。
如上所述,如果处理装置包括诸如用于消费任务的计数器值writec’的本地数据是有益的。最好,数据结构CHP_channelT包括对包含本地任务信息的数据结构的依据参考pchan,cchan。
这样一种数据结构可以具有以下利用C语言说明的形式:
                  typedef struct{

                             unsigned sgnl_reg_addr;

                             unsigned sgnl_value;

                             unsigned rsmpr_addr;

                             int buffsz;

                             CHP_bufferT buf_ptr;

                             unsigned lsmpr_reg;

                             int in_out;

                             int token_size;

                  }CHP_channel_hwT;
该结构包括一个无符号整数sgnl_reg-addr,指明正在与处理装置通信的其他设备的信号寄存器地址。中断处理器可以将中断发生的信道或任务的指示留在设备的信号寄存器中。
该结构进一步包括无符号整数sgnl_value,指明它自己的信令值。
无符号值rsmpr_addr指明在其他设备中的远程同步计数器地址。
如上所述,缓冲器大小buffsz被生产者用于计算可用的空权标的数量,并且被消费者用于计算可用的被写的权标的数量。
值buf_ptr指明缓冲器的基地址。
无符号整数lsmpr_reg存储本地信道同步计数器的值。
信道输入/输出的类型是根据整数in_out来确定的。
整数token_size指明通过信道交换的权标的大小规模。
图3说明依据本发明的一种同步数据处理设备中的第一与第二处理装置的方法的第一方面。
在步骤3.1中,第一处理装置1.2生成一个或多个权标。在步骤3.2中,第一处理装置读出指明可用于第二处理装置的权标数的第一计数器writec。
在步骤3.3中,第一处理装置1.2读出指明由第二处理装置1.3消耗的权标数的第二计数器readc。
在步骤3.4中,第一处理装置藉助于等式2的计算来比较这些计数器。
在步骤3.5中,第一处理装置1.2依据此比较来决定在值Np大于或等于生成的权标数时实施步骤3.6和3.7,或在其他情况下决定实施步骤3.8。
在步骤3.6中,第一处理装置1.2将权标写入缓冲装置2.1,并接着在步骤3.7中修改第一计数器writec,此后它利用步骤3.1继续。
在步骤3.8中,第一处理装置等待例如一个预定的时间间隔,或者直到它被中断为止,并重复步骤3.2到3.5。
第二处理装置1.3实施类似的程序步骤,如图4中所示。
在步骤4.2中,第二处理装置1.3读出指明通过第一处理装置1.2可用于它的权标数的第一计数器writec。
在步骤4.3中,第二处理装置1.3读出指明它已消耗的权标数的第二计数器readc。
在步骤4.4中,第二处理装置1.3藉助于等式1的计算来比较这些计数器。
在步骤4.5中,第二处理装置1.3依据此比较来决定:在Nc的值大于或等于生成的权标数时,实施步骤4.6与4.7;或在其他情况下实施步骤4.8。
在步骤4.6中,第二处理装置1.3从缓冲装置中读出权标并接着在步骤4.7中修改第二计数器。在利用步骤4.1继续之前,可以执行数据处理步骤4.9。
在第一种优选实施方案中,处理装置本地存储它正在与之通信的其他处理装置的值的拷贝。
图5说明这个本地拷贝如何被用在依据本发明的一种优选方法中。
步骤5.1和5.2类似于图3中的步骤3.1和3.2。
然而,在步骤5.3中,不读出远程存储的C计数器的值readc,第一处理装置1.2反而读本地存储的值readc’。此读操作通常比读远程值readc花费更少的时间。
步骤5.4是与图3中的步骤3.4类似的,除了第一处理装置1.2利用这个本地存储的值来计算Np’以外,如同等式4中那样。
在步骤5.5中,第一处理装置1.2依据这种比较来决定:如果值Np大于或等于生成的权标数,则实施步骤5.6和5.7;或在其他情况下,实施步骤5.8、5.10和5.11。
步骤5.6和5.7与图3的步骤3.6和3.7类似。
在步骤5.8中,例如,第一处理装置可以等待一个预定时间间隔,或者直至它被中断为止。然后,它在步骤5.10中读远程值readc并在步骤5.11中将这个值作为变量readc’本地存储。依据本方法,如果从本地存储的值readc’中计算的空权标数小于将被写入缓冲器中的权标数,则只需读远程值readc。能够本地存储值Np’来替代值readc’。在这种情况下,在每次写操作之后,例如,应与步骤5.7同时更新值Np’。
同样,通过利用本地存储的值prodc或Nc’,有可能改进执行消耗处理过程的第二处理装置的效率。
为了进一步减少通信过载,处理装置6.1可以被提供一个信号控制器6.2,如在图6中示意地表示的。信号控制器包括一个信号寄存器6.3和一个屏蔽寄存器6.4。信号控制器这的寄存器的内容在逻辑电路6.5中相互进行比较,以确定处理器6.1是否应接收一次中断。给此处理器发送它已更新了同步计数器的消息的另一个处理器更新信号寄存器6.5,以便指明它为哪个任务更新了这个计数器。例如,如果此信号寄存器中的每一位表示一个特定任务,则此消息的结果是用于此特定任务的位被设置。另一方面,处理器6.1在屏蔽寄存器6.4中指明它应该为哪一些任务而被中断。然后,每当对于处理器6.1选择的任务之一接收到一个消息时,逻辑电路6.5生成一个中断信号。在所示的实施方案中,逻辑电路6.5包括一组与门6.5.1-6.5.n,每个与门具有耦合到信号寄存器6.3的相应位的第一输入和耦合到屏蔽寄存器6.4的相应位的第二输入。逻辑电路6.5进一步包括一个或门6.5.0。每个与门具有耦合到此或门的一个输入的输出。或门6.5.0的输出提供中断信号。
图7示出一个实施方案,其中处理器7.1具有一个单独的同步外壳(shell)7.2,用于通过通信网(例如,总线7.3)支持与其他处理装置的通信。同步外壳7.2包括一个总线适配器7.4、一个信号寄存器7.5,此信号寄存器用于存储同步外壳7.2已为之接收到消息的任务的标识身份。同步外壳7.2进一步包括信道控制器7.6、7.7。这些用于将信号中的处理器7.6的命令转换到总线7.3。通常,与可编程处理器6.1的情况相比,一个应用特定设备7.1将并行执行较少的任务。因此,采用如图6中所示的中断选择技术不太重要。
图8较详细地示出一个信道控制器8.1。信道控制器8.1包括一个通用总线主从单元8.2、一个寄存器文件8.3和一个控制单元8.4。
总线适配器7.4和通用总线主从单元8.2一起将信道控制器8.1耦合到总线。总线适配器7.4提供从特定的互联网络(例如,PI总线或AHB总线)到通用接口的适配。通用总线主从单元8.2提供同步信号到所述通用接口的适配。以这种方法,利用相对少量的不同部件,有可能支持不同的信道控制器类型和不同的总线。
寄存器文件8.3存储同步信息。
在处理器7.1的设备同步接口发出信号Claim以便索取缓冲器中一定数量的可写或可读权标的情况下,控制单元8.4通过将远程计数器remotec的本地存储值与其保留计数器localrsvc进行比较来验证这个数量是否可得到。符号remotec指定用于输入信道的writec和用于输出信道的readc。符号localrsvc指用于输入信道的readrsvc和用于输出信道的writersvc。
如果验证是肯定的,权标地址Token Address被返回。否则,为处理器7.1保留的缓冲器空间的上边界地址可被返回。信号TokenValid(权标有效)表明:对权标的索取是否被确认,和处理器的同步接口是否可以再次发出信号Claim。以这种方法,可以在每个周期提供给处理器一个权标地址。如果第一次验证的结果是否定的,信道控制器8.1读出利用地址remotecaddr指明的远程计数器,并且利用存储在该地址上的值代替本地存储的值remotec。现在控制单元8.4再次验证所索取的权标数是否可以得到。
如果请求失败,信道控制器8.1可以或在轮询模式中有规律地轮询远程计数器或在中断模式中等待它与之通信的处理器的中断。在此同时,它可以继续另一个任务。寄存器中的变量inputchannel对信道控制器指明当前信道是输入还是输出信道以及为该信道选择这些模式之中的哪一种模式。
在成功的索取之后,变量localrsvc被遵照索取到的权标数进行更新。
代替变量remotec,寄存器文件能够包括指明利用上次验证计算的可用权标数的一个变量。
在处理器7.1发出信号Release_req的情况下,本地计数器localc被按照这个请求进行更新。这个本地计数器localc是用于输入信道的readc和用于输出信道的writec。选择地,信号Release_req可以保持高电平,以允许处理器7.1在任何时候释放权标。然而,在几乎不能访问总线时,这个信号可用于防止淹没控制器。
另一种方案,通过利用索取和释放功能能够利用软件来实现同步处理过程。通过执行索取功能,处理器索取一定数量的权标用于一个特定信道,并等待直到该功能返回权标地址为止。通过执行释放功能,处理器释放对于一个特定信道的权标数。可以存在独立功能用于索取供写的权标或供读的权标。同样地,独立的功能可用于释放。
很明显,本发明的保护范围并不限于在此所描述的实施方案。本发明的保护范围并不受权利要求中标号的限制。词“包括”并不排斥除了权利要求中提到的之外的其他部分。在部件前面的词“一”并不排斥多个这样的部件。形成本发明部件的装置都可以利用专用硬件的形式或者利用编程的通用处理器的形式来实现。本发明存在于每种新的特征或这些特征的组合之中。

Claims (10)

1.一种数据处理设备,至少包括第一与第二处理装置,所述第一处理装置能够通过将可由第二处理装置读出的权标写入缓冲装置来提供数据,以便进一步处理,给所述处理装置分配第一与第二同步指示符,所述第一同步指示符可利用所述第一处理装置进行修改并且可由所述第二处理装置读出,而所述第二同步指示符可利用所述第二处理装置进行修改并可由所述第一处理装置读出,
其特征在于,
每个同步指示符利用一个计数器来表示,表示第一同步指示符的计数器指明由第一处理装置写入的权标数量,而表示第二同步指示符的计数器指明由第二处理装置读出的权标数量。
2.依据权利要求1的数据处理设备,其中至少一个处理器本地保持一个保留计数器,其中由处理器发出的第一命令导致通过将其保留计数器与由其他处理器保持的同步计数器进行比较来验证权标数是否可用于它,如果所述验证的结果是肯定的,则更新所述保留计数器。
3.依据权利要求1的数据处理设备,其特征在于,所述计数器具有一个范围,所述范围大于包含在满的缓冲装置中的权标的总数。
4.依据权利要求1的数据处理设备,其特征在于,至少一个处理装置是专用处理器。
5.依据权利要求1的数据处理设备,其特征在于,至少一个处理装置是由通用处理器或专用的可编程设备执行的计算机程序。
6.依据权利要求5的数据处理设备,其特征在于,第一处理装置利用生产者-索取呼叫来获得对空权标的访问,并利用生产者-释放呼叫来释放被填充的权标。
7.依据权利要求5的数据处理设备,其特征在于,第二处理装置利用消费者-索取呼叫来索取被填充的权标,并利用消费者-释放呼叫来释放所述权标。
8.依据前面的权利要求之一的数据处理设备,其特征在于,第一处理装置包括一个寄存器装置,用于本地存储可用于被写入的权标的数量的指示。
9.依据前面的权利要求之一的数据处理设备,其特征在于,第二处理装置包括一个寄存器装置,用于本地存储可用于被读出的权标的数量的指示。
10.一种利用第一与第二同步指示符来同步数据处理设备中的第一与第二处理装置的方法,所述第一处理装置能够通过经缓冲装置写入权标来提供数据给第二处理装置,以便进一步处理,其中
a.第一处理装置生成一个或多个权标;
b.比较第一与第二同步指示符;
c.依据此比较结果,或
c1.将权标写入所述缓冲装置并修改第一同步指示符,此后利用步骤a继续;或
c2.重复步骤b-c;和其中
d.第二处理装置比较第一与第二同步指示符;
e.依据此比较结果,或
e1.从所述缓冲装置中读出权标并修改第二同步指示符;或
e2.重复步骤d,e;
其特征在于,第一同步指示符是计数器,代表第一同步指示符的计数器指明可用于第二处理装置的权标数量,表示第二同步指示符的计数器指明所述缓冲装置中可用于由第一处理装置写入权标的空间量,其中同步装置的修改是相应计数器的递增。
CNA028130510A 2001-06-29 2002-06-20 数据处理设备和同步数据处理设备中的第一与第二处理装置的方法 Pending CN1522405A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP01202517 2001-06-29
EP01202517.7 2001-06-29

Publications (1)

Publication Number Publication Date
CN1522405A true CN1522405A (zh) 2004-08-18

Family

ID=8180570

Family Applications (3)

Application Number Title Priority Date Filing Date
CNB028130588A Expired - Fee Related CN100533370C (zh) 2001-06-29 2002-06-20 多处理器系统及运行多处理器系统的方法
CNA028130510A Pending CN1522405A (zh) 2001-06-29 2002-06-20 数据处理设备和同步数据处理设备中的第一与第二处理装置的方法
CNA028130553A Pending CN1531684A (zh) 2001-06-29 2002-06-20 数据处理器及运行数据处理器的方法

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CNB028130588A Expired - Fee Related CN100533370C (zh) 2001-06-29 2002-06-20 多处理器系统及运行多处理器系统的方法

Family Applications After (1)

Application Number Title Priority Date Filing Date
CNA028130553A Pending CN1531684A (zh) 2001-06-29 2002-06-20 数据处理器及运行数据处理器的方法

Country Status (7)

Country Link
US (2) US20040153524A1 (zh)
EP (3) EP1405184A2 (zh)
JP (3) JP2004531002A (zh)
CN (3) CN100533370C (zh)
AT (1) ATE341027T1 (zh)
DE (1) DE60215007T2 (zh)
WO (3) WO2003005219A2 (zh)

Families Citing this family (50)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7293155B2 (en) * 2003-05-30 2007-11-06 Intel Corporation Management of access to data from memory
TW587374B (en) * 2003-06-03 2004-05-11 Acer Labs Inc Method and related apparatus for generating high frequency signals by a plurality of low frequency signals with multiple phases
US7714870B2 (en) * 2003-06-23 2010-05-11 Intel Corporation Apparatus and method for selectable hardware accelerators in a data driven architecture
US7546423B2 (en) * 2003-09-02 2009-06-09 Sirf Technology, Inc. Signal processing system control method and apparatus
JP4148223B2 (ja) * 2005-01-28 2008-09-10 セイコーエプソン株式会社 プロセッサおよび情報処理方法
US20060253662A1 (en) * 2005-05-03 2006-11-09 Bass Brian M Retry cancellation mechanism to enhance system performance
US8817029B2 (en) * 2005-10-26 2014-08-26 Via Technologies, Inc. GPU pipeline synchronization and control system and method
US20080052527A1 (en) * 2006-08-28 2008-02-28 National Biometric Security Project method and system for authenticating and validating identities based on multi-modal biometric templates and special codes in a substantially anonymous process
US8185896B2 (en) * 2007-08-27 2012-05-22 International Business Machines Corporation Method for data processing using a multi-tiered full-graph interconnect architecture
US7809970B2 (en) 2007-08-27 2010-10-05 International Business Machines Corporation System and method for providing a high-speed message passing interface for barrier operations in a multi-tiered full-graph interconnect architecture
US7840703B2 (en) 2007-08-27 2010-11-23 International Business Machines Corporation System and method for dynamically supporting indirect routing within a multi-tiered full-graph interconnect architecture
US7904590B2 (en) 2007-08-27 2011-03-08 International Business Machines Corporation Routing information through a data processing system implementing a multi-tiered full-graph interconnect architecture
US8108545B2 (en) 2007-08-27 2012-01-31 International Business Machines Corporation Packet coalescing in virtual channels of a data processing system in a multi-tiered full-graph interconnect architecture
US7769891B2 (en) 2007-08-27 2010-08-03 International Business Machines Corporation System and method for providing multiple redundant direct routes between supernodes of a multi-tiered full-graph interconnect architecture
US8140731B2 (en) 2007-08-27 2012-03-20 International Business Machines Corporation System for data processing using a multi-tiered full-graph interconnect architecture
US7769892B2 (en) 2007-08-27 2010-08-03 International Business Machines Corporation System and method for handling indirect routing of information between supernodes of a multi-tiered full-graph interconnect architecture
US8014387B2 (en) 2007-08-27 2011-09-06 International Business Machines Corporation Providing a fully non-blocking switch in a supernode of a multi-tiered full-graph interconnect architecture
US7958183B2 (en) 2007-08-27 2011-06-07 International Business Machines Corporation Performing collective operations using software setup and partial software execution at leaf nodes in a multi-tiered full-graph interconnect architecture
US7793158B2 (en) 2007-08-27 2010-09-07 International Business Machines Corporation Providing reliability of communication between supernodes of a multi-tiered full-graph interconnect architecture
US7822889B2 (en) 2007-08-27 2010-10-26 International Business Machines Corporation Direct/indirect transmission of information using a multi-tiered full-graph interconnect architecture
US7958182B2 (en) 2007-08-27 2011-06-07 International Business Machines Corporation Providing full hardware support of collective operations in a multi-tiered full-graph interconnect architecture
US7827428B2 (en) 2007-08-31 2010-11-02 International Business Machines Corporation System for providing a cluster-wide system clock in a multi-tiered full-graph interconnect architecture
US7921316B2 (en) 2007-09-11 2011-04-05 International Business Machines Corporation Cluster-wide system clock in a multi-tiered full-graph interconnect architecture
US8077602B2 (en) 2008-02-01 2011-12-13 International Business Machines Corporation Performing dynamic request routing based on broadcast queue depths
US20090198956A1 (en) * 2008-02-01 2009-08-06 Arimilli Lakshminarayana B System and Method for Data Processing Using a Low-Cost Two-Tier Full-Graph Interconnect Architecture
US7779148B2 (en) 2008-02-01 2010-08-17 International Business Machines Corporation Dynamic routing based on information of not responded active source requests quantity received in broadcast heartbeat signal and stored in local data structure for other processor chips
DE102008018951A1 (de) 2008-04-15 2009-10-22 Carl Zeiss Microimaging Gmbh Mikroskop mit Haltefokuseinheit
US8082426B2 (en) * 2008-11-06 2011-12-20 Via Technologies, Inc. Support of a plurality of graphic processing units
US8843682B2 (en) * 2010-05-18 2014-09-23 Lsi Corporation Hybrid address mutex mechanism for memory accesses in a network processor
US8417778B2 (en) 2009-12-17 2013-04-09 International Business Machines Corporation Collective acceleration unit tree flow control and retransmit
US8918797B2 (en) 2011-06-10 2014-12-23 International Business Machines Corporation Processing operator message commands
US8689240B2 (en) 2011-06-10 2014-04-01 International Business Machines Corporation Transmitting operator message commands to a coupling facility
US8560737B2 (en) 2011-06-10 2013-10-15 International Business Machines Corporation Managing operator message buffers in a coupling facility
US9037907B2 (en) 2011-06-10 2015-05-19 International Business Machines Corporation Operator message commands for testing a coupling facility
US8799522B2 (en) 2011-06-10 2014-08-05 International Business Machines Corporation Executing a start operator message command
US8745291B2 (en) 2011-10-04 2014-06-03 Qualcomm Incorporated Inter-processor communication apparatus and method
CN103186501A (zh) * 2011-12-29 2013-07-03 中兴通讯股份有限公司 一种多处理器共享存储方法及系统
US9304880B2 (en) * 2013-03-15 2016-04-05 Freescale Semiconductor, Inc. System and method for multicore processing
US9928117B2 (en) * 2015-12-11 2018-03-27 Vivante Corporation Hardware access counters and event generation for coordinating multithreaded processing
US10437748B1 (en) * 2015-12-29 2019-10-08 Amazon Technologies, Inc. Core-to-core communication
US10042677B2 (en) * 2016-05-25 2018-08-07 Bank Of America Corporation Maintenance conflict tool
US10963183B2 (en) * 2017-03-20 2021-03-30 Intel Corporation Technologies for fine-grained completion tracking of memory buffer accesses
CN107342853B (zh) * 2017-05-25 2019-12-06 兴唐通信科技有限公司 一种低交互开销的计数器同步方法
CN113468096A (zh) * 2017-06-26 2021-10-01 上海寒武纪信息科技有限公司 数据共享系统及其数据共享方法
CN110413551B (zh) 2018-04-28 2021-12-10 上海寒武纪信息科技有限公司 信息处理装置、方法及设备
EP3637272A4 (en) 2017-06-26 2020-09-02 Shanghai Cambricon Information Technology Co., Ltd DATA-SHARING SYSTEM AND RELATED DATA-SHARING PROCESS
CN109214616B (zh) 2017-06-29 2023-04-07 上海寒武纪信息科技有限公司 一种信息处理装置、系统和方法
CN109426553A (zh) 2017-08-21 2019-03-05 上海寒武纪信息科技有限公司 任务切分装置及方法、任务处理装置及方法、多核处理器
JP7407653B2 (ja) 2020-04-27 2024-01-04 株式会社平和 遊技機
US11842056B2 (en) * 2021-10-25 2023-12-12 EMC IP Holding Company, LLC System and method for allocating storage system resources during write throttling

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4916658A (en) * 1987-12-18 1990-04-10 International Business Machines Corporation Dynamic buffer control
US5584037A (en) * 1994-03-01 1996-12-10 Intel Corporation Entry allocation in a circular buffer
EP0760501B1 (en) * 1995-09-04 2002-02-20 Hewlett-Packard Company, A Delaware Corporation Data handling system with circular queue formed in paged memory
US5729765A (en) * 1995-12-07 1998-03-17 Samsung Electronics Co., Ltd. Method and apparatus for determining the status of a shared resource
US5951657A (en) * 1996-06-19 1999-09-14 Wisconsin Alumni Research Foundation Cacheable interface control registers for high speed data transfer
US5915128A (en) * 1997-01-29 1999-06-22 Unisys Corporation Serial speed-matching buffer utilizing plurality of registers where each register selectively receives data from transferring units or sequentially transfers data to another register
US6173307B1 (en) * 1998-08-20 2001-01-09 Intel Corporation Multiple-reader multiple-writer queue for a computer system
US6212543B1 (en) * 1998-12-10 2001-04-03 Intel Corporation Asymmetric write-only message queuing architecture
US6389489B1 (en) * 1999-03-17 2002-05-14 Motorola, Inc. Data processing system having a fifo buffer with variable threshold value based on input and output data rates and data block size
US6606666B1 (en) * 1999-11-09 2003-08-12 International Business Machines Corporation Method and system for controlling information flow between a producer and a buffer in a high frequency digital system
ATE302969T1 (de) * 2000-08-17 2005-09-15 Texas Instruments Inc Unterhaltung einer entfernten warteschlange unter benutzung von zwei zählern in der verschiebesteuerung mit hubs und ports
US6424189B1 (en) * 2000-10-13 2002-07-23 Silicon Integrated Systems Corporation Apparatus and system for multi-stage event synchronization
KR100484134B1 (ko) * 2002-02-16 2005-04-18 삼성전자주식회사 선입선출기를 이용한 비동기 데이터 인터페이스 장치

Also Published As

Publication number Publication date
US20040193693A1 (en) 2004-09-30
DE60215007D1 (de) 2006-11-09
US20040153524A1 (en) 2004-08-05
EP1405175B1 (en) 2006-09-27
EP1405184A2 (en) 2004-04-07
JP2004534323A (ja) 2004-11-11
JP2004522233A (ja) 2004-07-22
WO2003005196A3 (en) 2004-01-15
WO2003003232A2 (en) 2003-01-09
JP2004531002A (ja) 2004-10-07
ATE341027T1 (de) 2006-10-15
WO2003005196A2 (en) 2003-01-16
WO2003003232A3 (en) 2004-03-18
EP1405175A2 (en) 2004-04-07
EP1421506A2 (en) 2004-05-26
CN1531684A (zh) 2004-09-22
WO2003005219A3 (en) 2003-06-05
CN1522402A (zh) 2004-08-18
DE60215007T2 (de) 2007-05-03
CN100533370C (zh) 2009-08-26
WO2003005219A2 (en) 2003-01-16

Similar Documents

Publication Publication Date Title
CN1522405A (zh) 数据处理设备和同步数据处理设备中的第一与第二处理装置的方法
CN1084896C (zh) 清空高速缓冲存储器内容的装置
CN1317648C (zh) 用于在主机处理器和图形处理器之间优化存储器共享的方法和系统
CN1107923C (zh) 信息处理装置及信息处理方法
CN1107287C (zh) 信息处理装置和信息处理方法
EP2542973B1 (en) Gpu support for garbage collection
CN1101026C (zh) 一种多重处理系统的可定标的系统中断结构
US7908416B2 (en) Data processing unit and bus arbitration unit
CN1316074A (zh) 中断/软件控制的线程处理
US20060259662A1 (en) Data trnasfer apparatus, data transfer method, and program
CN1950802A (zh) 存储器分配
US10545892B2 (en) Multi-thread processor and its interrupt processing method
US9086920B2 (en) Device for managing data buffers in a memory space divided into a plurality of memory elements
CN1806231A (zh) 提供软件实现的高速缓冲存储器的方法与装置
CN1641614A (zh) 处理器系统,dma控制电路,dma控制方法,dma控制器用控制方法,图形处理方法和图形处理电路
CN1193410A (zh) 在多处理器系统中的处理器之间传送消息的方法与装置
CN1716187A (zh) 预载控制器、由处理器控制将数据预载至临时存储器的预载控制方法和程序
CN1255765C (zh) 数据通信系统和方法
CN1728118A (zh) 资源分配管理
US6275904B1 (en) Cache pollution avoidance instructions
CN1367440A (zh) 在使用卷标的管线化微处理器中执行结合写入的装置及方法
CN1262934C (zh) 具有不同资源访问方案的系统集成代理程序
CN114968099A (zh) 一种访问nvm的方法及nvm控制器
CN110046114B (zh) 基于pcie协议的dma控制器及dma数据传输方法
CN1898653A (zh) 用于互连网络上高效的有序储存的方法和装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication