数据处理设备和方法

文档序号:6563130阅读:168来源:国知局
专利名称:数据处理设备和方法
技术领域
本发明涉及一种包括逻辑电路和处理器的数据处理设备及用在逻辑电路中的数据处理方法。
背景技术
近年来,由于LSI(large-scale integrated circuit,大规模集成电路)发展规模的增大,已经实现了设计资产(design assets)的再利用。在这种情况下,非常需要具有高性能、高功能性以及可扩展功能的设计资产。另外,代替整个结构由硬件构成的设计资产,已开发出不仅包括硬件还包括由处理器所执行的软件构成的软件的软硬件协作(hardware-software-cooperation)数据处理设备。
一般说来,在软硬件协作数据处理设备中,通常由硬件部分执行频繁进行的处理、需要高速性能的处理等,由软件部分执行不频繁进行的处理、用于维持向下兼容性的处理等。因此,软硬件协作数据处理设备实现了高性能、高功能性以及高可扩展性。
另外,如在美国专利申请2004/0187122号公报中所述,可获得用于实现软件的更高效的线程调度的技术。
此处,考虑以下情况在软硬件协作数据处理中,进行需要硬件和软件之间的同步处理的任务处理。一般说来,软件处理(处理器处理)在灵活性和可扩展性方面优于硬件处理。然而,软件处理需要相当长的处理时间。因此,在软硬件协作数据处理设备中需要同步处理的任务经过软件处理的情况下,当进行软件处理时,硬件处理为了获得同步而进入等待状态并停止工作,直到软件处理终止为止。因此,在软硬件协作数据处理设备中,由于没有充分发挥硬件性能,因而吞吐量可能下降,且不能满足所需的系统性能。

发明内容
考虑到前述缺点,根据本发明的一方面,提高了软硬件协作数据处理的吞吐量。另外,根据本发明的另一方面,在处理器执行逻辑电路所请求的处理时,减少了逻辑电路的等待时间。
根据本发明的一方面,提供一种数据处理设备,该数据处理设备包括逻辑电路和处理器。该数据处理设备包括保持单元,该保持单元用于保持所述逻辑电路正在执行的任务信息,其中,当执行第一任务时,所述逻辑电路请求所述处理器执行处理;当所述处理器正在执行所请求的处理时,所述逻辑电路执行第二任务;以及在所述处理器发出处理结果之后,所述逻辑电路从所述保持单元接收关于所述第一任务的任务信息,执行所述第一任务。
根据本发明的另一方面,当所述处理器正在执行所请求的处理时,所述逻辑电路中断所述第一任务,执行所述第二任务。而且,根据本发明的另一方面,在所述处理器发出所述处理结果之后,所述逻辑电路中断所述第二任务,从所述保持单元接收关于所述第一任务的任务信息,执行所述第一任务。
而且,根据本发明的又一方面,在终止所述第一任务之后,所述逻辑电路从所述保持单元接收关于所述第二任务的任务信息,重新开始所述第二任务。另外,根据本发明的另一方面,所述逻辑电路可具有流水线结构。而且,根据本发明的另一方面,所述逻辑电路执行图像形成处理。
根据本发明的再一方面,该设备还可包括比较单元,该比较单元用于比较任务的优先级水平,其中,当所述第一任务的优先级水平高于所述第二任务的优先级水平时,在所述处理器发出所述处理结果之后,所述逻辑电路从所述保持单元接收关于所述第一任务的任务信息,执行所述第一任务。
而且,根据本发明的再一方面,提供一种用在逻辑电路中的数据处理方法。此处,该方法包括当处理器在执行第一任务时被请求执行处理时,保存关于所述第一任务的任务信息;当所述处理器正在执行所请求的处理时,执行第二任务;以及在所述处理器发出处理结果之后,恢复所保存的关于所述第一任务的任务信息以执行所述第一任务。
根据本发明的另一方面,当所述处理器正在执行所请求的处理时,中断所述第一任务,执行所述第二任务。此外,根据本发明的另一方面,在所述处理器发出所述处理结果之后,中断所述第二任务,恢复所保存的关于所述第一任务的任务信息以执行所述第一任务。
而且,根据本发明的另一方面,该方法还可包括保存关于被中断的第二任务的任务信息;以及在终止所述第一任务之后,恢复所保存的关于所述第二任务的任务信息以重新开始所述第二任务。此外,根据本发明的又一方面,该方法还可包括比较任务的优先级水平,当所述第一任务的优先级水平高于所述第二任务的优先级水平时,在所述处理器发出所述处理结果之后,恢复所保存的关于所述第一任务的任务信息以执行所述第一任务。
而且,根据本发明的另一方面,提供一种计算机可读的介质,其包含用于处理逻辑电路中的数据的计算机可执行的指令。此处,该介质包括用于当处理器在执行第一任务时被请求执行处理时,保存关于所述第一任务的任务信息的计算机可执行的指令;用于当所述处理器正在执行所请求的处理时,执行第二任务的计算机可执行的指令;以及用于在所述处理器发出处理结果之后,恢复所保存的关于所述第一任务的任务信息以执行所述第一任务的计算机可执行的指令。
通过以下参考附图对典型实施例的说明,本发明的其它特征和方面将显而易见。


图1是示出根据本发明的一方面的图像形成设备的结构的例子的框图。
图2是示出由根据本发明一方面的图像形成单元进行的图像形成的功能结构的例子的框图。
图3是用于说明使用根据本发明一方面的图像形成设备的图像形成的流程例子的图。
图4是示出根据本发明一方面的上下文(context)信息保持单元的结构例子的示意图。
图5是用于说明当根据本发明一方面不进行上下文切换时的处理时间的图。
图6是用于说明当根据本发明一方面进行上下文切换时的处理时间的图。
具体实施例方式
现在在此参照附图对本发明的实施例、特征和方面进行说明。
图1是示出作为根据本发明一方面的数据处理设备的例子的图像形成设备的结构的例子的框图。
参考图1,根据该典型实施例的图像形成设备包括图像形成单元100、处理器101和上下文信息保持单元102。该图像形成设备还包括处理器处理检测器103、上下文读取单元104、上下文回写(write-back)单元105、处理器处理终止检测器106以及存储器107。图像形成单元100、处理器101以及存储器107通过总线108互相连接以便能够互相通信。
图像形成单元100由逻辑电路(硬件)构成。图像形成单元100从存储器107中读取显示列表。另外,图像形成单元100将ID添加到所读取的显示列表,并且通知上下文回写单元105新的显示列表ID的生成。该ID可以通过图像形成单元100生成,或者可通过控制图像形成单元100的软件生成。
图像形成单元100根据在所读取的显示列表中描述的指令进行处理。当在显示列表中检测到不能被处理的指令时,图像形成单元100请求处理器101进行处理。另外,在处理器101终止处理之后,图像形成单元100接收处理结果。另外,图像形成单元100将由图像形成单元100所执行的显示列表ID提供给上下文读取单元104和上下文回写单元105。
图像形成单元100根据上下文读取单元104发出的处理停止信号停止处理,根据处理无效信号使信息无效,并且将关于正在执行的显示列表的上下文信息提供给上下文信息保持单元102。根据处理无效信号被无效的信息影响存储在图像形成单元100中的处理结果。
根据来自上下文回写单元105的指令,图像形成单元100接收存储在上下文信息保持单元102中的关于显示列表的上下文信息。然后,图像形成单元100将接收到的上下文信息作为将执行的显示列表的上下文信息设置到内部寄存器中。在终止显示列表处理之后,图像形成单元100删除添加到显示列表的显示列表ID并且通知上下文回写单元105所删除的显示列表ID。
处理器101从图像形成单元100接收处理请求,并且分析处理内容。基于分析结果,处理器101从存储器107中获取所需的数据并且进行处理。当处理器101执行相应处理的程序(软件)时,实现处理器101的处理(处理器处理)。在完成与处理请求相对应的处理之后,处理器101向图像形成单元100发出处理结果。
上下文信息保持单元102存储从图像形成单元100提供的上下文信息,该上下文信息是关于正在执行的任务的任务信息。根据从上下文读取单元104提供的写控制信号,上下文信息保持单元102将从图像形成单元100提供的关于正在执行的显示列表的上下文信息存储于其中。另外,根据从上下文回写单元105提供的读控制信号,上下文信息保持单元102向图像形成单元100提供存储在上下文信息保持单元102中的上下文信息。
处理器处理检测器103检测图像形成单元100已请求处理器101进行处理。处理器处理检测器103监视用于从图像形成单元100向处理器101传送处理的信号线是否改变。当检测到处理的传送时,处理器处理检测器103通知上下文读取单元104已向处理器101发出了处理请求。
上下文读取单元104生成用于指定存储从图像形成单元100向上下文信息保持单元102提供的上下文信息的位置的信号。上下文读取单元104从图像形成单元100接收正在执行的显示列表ID。另外,上下文读取单元104从处理器处理检测器103接收表示已向处理器101发出了处理请求的信号。
上下文读取单元104从上下文回写单元105接收上下文读取指令信号。在上下文读取单元104接收上下文读取指令信号的情况下,在完成上下文信息的读取之后,上下文读取单元104向上下文回写单元105发出上下文读取终止信号。
另外,上下文读取单元104向图像形成单元100发出用于指示停止处理的处理停止信号和用于指示处理无效的处理无效信号。另外,上下文读取单元104向上下文信息保持单元102发出用于指定存储从图像形成单元100向上下文信息保持单元102提供的上下文信息的位置的信号。
上下文回写单元105控制将上下文信息从上下文信息保持单元102回写到图像形成单元100。上下文回写单元105从图像形成单元100接收新的显示列表ID、终止的显示列表ID以及正在执行的显示列表ID,并且指定显示列表的优先级顺序。
上下文回写单元105从处理器处理终止检测器106接收处理器处理终止的显示列表ID,并且比较图像形成单元100正在执行的显示列表的优先级水平和处理器101的处理终止的显示列表的优先级水平。如果处理器101的处理终止的显示列表的优先级水平较高,则上下文回写单元105向上下文读取单元104发出上下文读取指令信号。在从上下文读取单元104接收到上下文读取终止信号后,上下文回写单元105向图像形成单元100发出上下文回写指令信号,并且向上下文信息保持单元102发出指定要读取的上下文信息的信号。
处理器处理终止检测器106检测从处理器101向图像形成单元100发出处理结果。处理器处理终止检测器106监视处理器101和图像形成单元100之间的信号。当检测到根据发出的处理结果终止处理器101的处理时,处理器处理终止检测器106向上下文回写单元105发出添加到该处理结果的显示列表ID。存储器107将要处理的显示列表、处理所需的数据和处理结果存储在其中。
在以上给出的说明中,处理器处理检测器103和处理器处理终止检测器106根据通过图像形成单元100和处理器101之间的信号线交换的信号检测处理请求的发出和处理的终止。然而,本发明不限于此。处理器处理检测器103和处理器处理终止检测器106可以实现由处理器101所执行的程序(软件),使得可以检测处理请求的发出和处理的终止。
图像形成单元100处理通过对象图形描述(object graphicdescription)获取的显示列表以生成像素。在显示列表中,包括在原始对象图形描述中的绘制对象在副扫描线方向(y坐标)上被排列成升序,并且被记录。另外,显示列表包括作为边缘表的关于每个对象的边缘信息,以及作为水平表的与各边缘相关联的水平信息和其它水平的相同坐标处的像素之间的关系(算术方法)。另外,显示列表包括作为填充表的用于确定对象内部颜色的信息。作为用于确定对象颜色的信息,指定用于生成颜色的数据和处理。在某些情况下,作为用于确定对象颜色的信息,可以指定进行位图的读取或者压缩图像的解压缩以及从结果中取出所期望的像素。
图2是示出由图像形成单元100进行的图像形成的功能结构的例子的框图。
参考图2,图像形成单元100包括稍后说明的模块201~207以及模块210~213。该图像形成单元100具有流水线(pipeline)结构。模块201~206也被称作“流水线模块”。
指令执行器201访问系统总线以读取显示列表。指令执行器201解释所读取的显示列表内的指令流,并且向流水线模块202~205发出内部命令。
根据指令执行器201发出的内部命令,边缘处理单元202读取包括在显示列表中的边缘信息,并且对各扫描线提取关于绘制对象的边缘信息。在将所提取的边缘信息在扫描线方向(x坐标)上排列成升序之后,边缘处理单元202将边缘信息作为消息传送到置于流水线结构的下一级的水平优先级确定单元203。
根据由指令执行器201发出的内部命令,水平优先级确定单元203读取包括在显示列表中的水平表和由边缘处理单元202生成的边缘信息。水平优先级确定单元203根据所读取的水平表和边缘信息确定各水平的优先级和各扫描线的被激活的像素范围(该像素范围影响绘制)。另外,水平优先级确定单元203基于该优先级顺序对关于各扫描线的被激活的像素范围的信息进行排序。水平优先级确定单元203将由关于被激活像素范围的排序信息构成的像素范围信息和关于与其它水平处的像素的关系的信息传送给置于流水线结构的下一级的填充颜色数据确定单元204。
根据由指令执行器201发出的内部命令,填充颜色数据确定单元204读取包括在显示列表中的填充表和由水平优先级确定单元203生成的像素范围信息,并且基于所读取的填充表和像素范围信息确定各水平的被激活像素的颜色。填充颜色数据确定单元204将关于被激活像素的颜色信息和从水平优先级确定单元203传送的像素范围信息一起传送给置于流水线结构下一级的像素合成单元205。
像素合成单元205根据由指令执行器201发出的内部命令生成像素的最终颜色。像素合成单元205通过执行用于根据由水平优先级确定单元203所生成的各水平的像素范围信息和由填充颜色数据确定单元204所确定的像素的颜色信息确定每个像素颜色的算术运算,生成像素的最终颜色。
像素输出单元206将由像素合成单元205所生成的像素输出到所连接的外部设备。总线访问仲裁单元207对边缘处理单元202、水平优先级确定单元203、填充颜色数据确定单元204以及像素合成单元205对系统总线的访问进行仲裁和排序,并且中继对系统总线的访问。
在图像形成单元100中,根据系统所需的性能和成本,可以将扩展单元添加到边缘处理单元202、水平优先级确定单元203、填充颜色数据确定单元204和像素合成单元205中的每一个。另外,可以将图像解压缩器210添加到填充颜色数据确定单元204,并且可以将扩展单元添加到图像解压缩器210。
在图2所示的例子中,将图像解压缩器210添加到填充颜色数据确定单元204,将扩展单元(边缘处理扩展单元)211和212添加到边缘处理单元202,且将扩展单元(图像解压缩扩展单元)213添加到图像解压缩器210。
图像解压缩器210是支持例如联合图像专家组(JointPhotographic Experts Group,JPEG)的扩展器模块,该模块能够在确定像素的颜色时处理压缩图像。边缘处理扩展单元211是与PostScript(PS)相对应的扩展器模块,边缘处理扩展单元212是与图形设备接口(Graphics Device Interface,GDI)相对应的扩展器模块。图像解压缩扩展单元213是与联合二值图像专家组(Joint Bi-level Image experts Group,GBIG)相对应的扩展器模块。
当由指令执行器201发出需要没有在边缘处理单元202、水平优先级确定单元203、填充颜色数据确定单元204或像素合成单元205中提供的功能的内部命令时,图像形成单元100能够请求处理器101进行处理。例如,边缘处理单元202具有作为基本功能的对线段的处理功能。在这种情况下,尽管边缘处理单元202具有边缘处理扩展模块211和212的处理功能,但是边缘处理单元202不具有对贝塞尔(Bezier)曲线等样条曲线的处理功能。当指令执行器201在显示列表中检测到需要对贝塞尔曲线进行处理的指令时,指令执行器201向边缘处理单元202发出用于处理贝塞尔曲线的内部命令。当接收到该内部命令时,边缘处理单元202请求处理器101进行对贝赛尔曲线的处理。在接收到来自处理器101的执行结果后,边缘处理单元202进行对下一边缘的处理。
尽管作为例子说明了边缘处理单元202,但是水平优先级确定单元203、填充颜色数据确定单元204或者像素合成单元205也能够请求处理器101进行使用没有在水平优先级确定单元203、填充颜色数据确定单元204或者像素合成单元205中提供的功能的处理。
图3是用于说明使用根据该实施例的图像形成设备的图像形成的流程的图。
参考图3所示的图像形成流程例子,首先进行对象图形描述31。对象图形描述31通过主处理器生成或者从系统存储器提供。在对象图形描述31中,描述图形对象的参数。例如,包括多种格式的边缘的对象可能包括在对象图形描述31中。多种格式之一可能是在显示器上从一点横过另一点的直线边缘(简单矢量)或者是由包括直交线(orthogonal line)的多个边缘定义二维对象的直交边缘格式。除此之外,还可以采用由连续曲线定义对象的格式。这些格式可能包括二次多项式段,在二次多项式段中,可以使用一些参数描述单个曲线,使得不进行乘法运算而在单个输出空间内完成二次曲线的图像形成。另外,可以使用三次样条曲线或者类似格式等其它数据格式。对象可能包括多种不同边缘的混合。一般说来,在所有格式中,每条线(不管是直线还是曲线)的起点和终点的识别符是公用的,且通过扫描线号识别每个起点和终点,每个起点和终点定义了可以完成曲线的图像形成的特定的输出空间。
然后,识别用于描述要经过图像形成的图形对象所需的数据,并且进行显示列表生成32。可选做法是将显示列表生成32作为由主处理器执行的软件模块来进行。在显示列表生成32中,将由已知的图形描述语言、图形库调用和其它应用程序固有格式中的一个或者多个所表示的对象图形描述转换成显示列表。
一般将所获取的显示列表写到显示列表存储器33。一般说来,显示列表存储器33形成在随机存取存储器(RAM)内。然而,代替形成在RAM内,显示列表存储器33可以形成在像素顺序绘制设备34(见图1)中本地设置的存储器107中内。在显示列表存储器33中,可包括多个组成部分。多个组成部分之一是指令流,多个组成部分中的另一个是边缘信息,因此能够包括光栅图像像素数据。指令流包括作为由像素顺序绘制设备34读取的指令的可解释代码以便进行特定图像内所期望的特定图形对象的图像形成。
由像素顺序绘制设备34(见图1)读取显示列表存储器33。像素顺序绘制设备34将显示列表转换成光栅像素流。在像素输出35中,该流可以被传送到打印机、显示器或者存储器等其它设备。
图4是示出根据本实施例的上下文信息保持单元102的结构例子的示意图。
参考图4,对用于显示列表ID“0”的输入上下文设置选择器400。选择器400根据从上下文读取单元104发出的控制信号CTLA选择并且输出从图像形成单元100提供的上下文信息CII或者关于寄存器文件410的信息R10。寄存器文件410保持由选择器400所选择的用于显示列表ID“0”(未示出)的上下文信息。
对用于显示列表ID“1”(未示出)的输入上下文设置选择器401。选择器401根据从上下文读取单元104发出的控制信号CTLA选择并且输出从图像形成单元100提供的上下文信息CII或者关于寄存器文件411的信息RI1。寄存器文件411保持由选择器401所选择的用于显示列表ID“1”的上下文信息。
对用于显示列表ID“2”(未示出)的输入上下文设置选择器402。选择器402根据从上下文读取单元104发出的控制信号CTLA选择并且输出从图像形成单元100提供的上下文信息CII或者关于寄存器文件412的信息RI2。寄存器文件412保持由选择器402所选择的用于显示列表ID“2”的上下文信息。
对用于显示列表ID“3”(未示出)的输入上下文设置选择器403。选择器403根据从上下文读取单元104发出的控制信号CTLA选择并且输出从图像形成单元100提供的上下文信息CII或者关于寄存器文件413的信息RI3。寄存器文件413保持由选择器403所选择的用于显示列表ID“3”的上下文信息。
设置选择器420以输出上下文信息CIO。选择器420根据从上下文回写单元105发出的控制信号CTLB选择寄存器文件410、411、412和413中的一个,并且将存储在所选择的寄存器文件410、411、412或者413中的上下文信息发给图像形成单元100。
尽管图4示出了能够处理四个显示列表ID的上下文信息保持单元102作为例子,但是本发明不限于此。可以设置任何数量的显示列表ID。上下文信息保持单元102可以根据期望数量的显示列表ID包括任何数量的用于输入上下文的选择器和任何数量的寄存器文件。
接着说明根据本实施例的图像形成设备的操作例子。在以下给出的说明中,将说明最多可设置四个显示列表ID的情况。为了易于进行说明,将说明两个显示列表之间的切换操作。
返回参考图1,图像形成单元100通过总线108从存储器107中读取显示列表(1)。另外,图像形成单元100将显示列表ID“0”作为可以唯一识别每个显示列表的ID添加到所读取的显示列表。然后,图像形成单元100通知上下文回写单元105所添加的新的显示列表ID(2),并且根据显示列表中所描述的指令进行处理。
图像形成单元100将正在图像形成单元100内部执行的显示列表的显示列表ID“0”持续提供给上下文读取单元104和上下文回写单元105((3)和(2))。图像形成单元100还将关于正在执行的显示列表的上下文信息持续提供给上下文信息保持单元102(4)。当在正在执行的显示列表中检测到图像形成单元100不能处理的指令时,图像形成单元100向处理器101发出包括显示列表ID“0”的处理请求(5),并且中断关于显示列表的处理。
当检测到图像形成单元100已请求处理器101进行处理时,处理器处理检测器103通知上下读取单元104已向处理器101发出了处理请求(6)。当从处理器处理检测器103接收到该报告(信号)时,上下文读取单元104向上下文信息保持单元102输出指示存储关于图像形成单元100正在执行的显示列表ID“0”的上下文信息的信号(CTLA)(7)。
当由上下文读取单元104给出存储关于显示列表ID“0”的上下文信息的指令时,上下文信息保持单元102将从图像形成单元100持续提供的上下文信息存储到寄存器文件410中。
在中断关于显示列表ID“0”的显示列表的处理之后,图像形成单元100确认没有使用寄存器文件411~413,并且从存储器107中读取新的显示列表(8)。图像形成单元100将显示列表ID“1”添加到所读取的显示列表,并且通知上下文回写单元105所添加的新的显示列表ID“1”(9)。图像形成单元100根据添加了显示列表ID“1”的显示列表中描述的指令进行处理。此处,图像形成单元100向上下文读取单元104和上下文回写单元105持续提供正在图像形成单元100内部执行的显示列表的显示列表ID“1”((10)和(9))。图像形成单元100还向上下文信息保持单元102持续提供关于显示列表的上下文信息(11)。
当如上所述图像形成单元100生成新的显示列表ID时,上下文回写单元105从图像形成单元100接收关于新的显示列表ID的报告,并且管理上下文回写单元105内部的显示列表ID以指定显示列表的优先级顺序。可以通过硬件或者软件进行显示列表ID的管理。在该实施例中,以先进先出(First-In First-Out,FIFO)方式管理新生成的显示列表ID,并且较早生成的显示列表具有较高的优先级。另外,在该实施例中,当生成新的显示列表时,重新生成显示列表ID,当终止关于显示列表的处理时,删除该显示列表ID。因此,在该实施例中,显示列表ID“0”具有比显示列表ID“1”高的优先级。
在终止对从图像形成单元100接收到的命令(处理请求)的处理之后,处理器101向图像形成单元100发出包括显示列表ID“0”的处理结果(12)。
当检测到处理器101已将处理结果发给图像形成单元100时,处理器处理终止检测器106读取包括在该处理结果中的显示列表ID“0”。处理器处理终止检测器106将所读取的显示列表ID发给上下文回写单元105(13)。
当从处理器处理终止检测器106接收到显示列表ID时,上下文回写单元105将接收到的显示列表ID和图像形成单元100正在执行的显示列表的ID进行比较,并且确定显示列表ID的优先级水平。此处,由于接收到的显示列表ID“0”具有比图像形成单元100正在执行的显示列表ID“1”高的优先级水平,因此上下文回写单元105向上下文读取单元104发出读取指令信号(14)。
当从上下文回写单元105接收到读取指令信号时,上下文读取单元104向图像形成单元100发出指示停止关于当前正在执行的显示列表ID“1”的处理的处理停止信号(15)。另外,上下文读取单元104向上下文信息保持单元102发出用于存储关于显示列表ID“1”的上下文信息的控制信号(CTLA)(16)。
然后,在终止上下文信息的存储之后,上下文读取单元104向图像形成单元100发出正在执行的显示列表的处理无效信号(17)。另外,上下文读取单元104向上下文回写单元105发出上下文读取终止信号(18)。另外,上下文读取单元104停止向图像形成单元100发出处理停止信号。
当从上下文读取单元104接收到上下文读取终止信号时,上下文回写单元105向上下文信息保持单元102发出显示列表ID“0”(CTLB)(19)。另外,上下文回写单元105向图像形成单元100发出上下文回写指令信号(20)。
当从上下文回写单元105接收到上下文回写指令信号时,图像形成单元100将从上下文信息保持单元102所提供的上下文信息(21)设置在图像形成单元100内部以继续进行关于显示列表ID“0”的处理。
然后,在终止关于显示列表ID“0”的所有处理之后,图像形成单元100通知上下文回写单元105删除显示列表ID“0”(22)。
如上所述,当图像形成单元100向处理器101发出处理请求使得可以进行使用没有在图像形成单元100中提供的处理功能的处理时,图像形成单元100切换上下文以进行关于其它显示列表的处理。即,图像形成单元100与处理器101的处理并行地进行关于其它显示列表的处理,而不进入等待状态或者停止工作。在终止处理器101的处理之后,图像形成单元100通过再次切换到请求处理器101进行处理的上下文继续进行关于原始显示列表的处理。因此,减少了图像形成单元100的等待时间,并且提高了吞吐量。
接着参照图5和图6说明根据该实施例的图像形成设备的吞吐量。图5示出当图像形成单元100不进行上下文转换(上下文切换)时的处理时间,图6示出当图像形成单元100进行上下文切换时的处理时间。
作为图5和图6所示的处理的执行条件,关于显示列表A的处理需要图像形成单元100进行12000个周期(cycle)的处理以及处理器101进行3000个周期的处理。另外,关于显示列表B的处理需要图像形成单元100进行5000个周期的处理,关于显示列表C的处理需要图像形成单元100进行10000个周期的处理。由于上下文切换所需的时间比上述处理所需的时间短得多,因此为了易于进行说明,在图6中省略了上下文切换所需的时间。
在图5中,箭头500表示从图像形成单元100向处理器101输出显示列表A的处理请求,箭头502表示从处理器101向图像形成单元100输出表示处理终止的信号。另外,部分501表示当正在执行关于显示列表A的处理器处理时图像形成单元100停止工作。如图5所示,当图像形成单元100不进行上下文切换时,执行关于显示列表A~C的处理所需的总处理时间是30000个周期。
在图6中,箭头600表示从图像形成单元100向处理器101输出显示列表A的处理请求,箭头602表示从处理器101向图像形成单元100输出表示处理终止的信号。另外,部分601表示当正在执行关于显示列表A的处理器处理时图像形成单元100执行关于显示列表B的处理。另外,箭头610表示读取显示列表A的上下文,箭头612表示读取显示列表B的上下文并且写回显示列表A的上下文,箭头613表示写回显示列表B的上下文。部分611表示当图像形成单元100正在执行关于显示列表B的处理时将显示列表A的上下文保存在上下文信息保持单元102中。因此,如图6所示,当图像形成单元100进行上下文切换时,总处理时间减少到27000个周期,比图5所示的情况短,因此提高了吞吐量。
应该注意,前述实施例仅是用于实施本发明的例子。因此,本发明的技术范围不应通过这些实施例来限制性地解释。即,在不脱离本发明的技术思想和主要特征的情况下,本发明可以通过各种其它形式来实现。
尽管已参照典型实施例说明了本发明,但是应该理解,本发明不限于所公开的典型实施例。以下权利要求的范围符合最宽的解释,以包括所有修改、等同结构和功能。
权利要求
1.一种包括逻辑电路和处理器的数据处理设备,该数据处理设备包括保持单元,用于保持所述逻辑电路正在执行的任务信息,其中,当执行第一任务时,所述逻辑电路请求所述处理器执行处理,当所述处理器正在执行所请求的处理时,所述逻辑电路执行第二任务,以及在所述处理器发出处理结果之后,所述逻辑电路从所述保持单元接收关于所述第一任务的任务信息,执行所述第一任务。
2.根据权利要求1所述的数据处理设备,其特征在于,当所述处理器正在执行所请求的处理时,所述逻辑电路中断所述第一任务,执行所述第二任务。
3.根据权利要求1所述的数据处理设备,其特征在于,在所述处理器发出所述处理结果之后,所述逻辑电路中断所述第二任务,从所述保持单元接收关于所述第一任务的任务信息,执行所述第一任务。
4.根据权利要求3所述的数据处理设备,其特征在于,在终止所述第一任务之后,所述逻辑电路从所述保持单元接收关于所述第二任务的任务信息,重新开始所述第二任务。
5.根据权利要求1所述的数据处理设备,其特征在于,所述逻辑电路具有流水线结构。
6.根据权利要求1所述的数据处理设备,其特征在于,所述逻辑电路执行图像形成处理。
7.根据权利要求1所述的数据处理设备,其特征在于,还包括比较单元,该比较单元用于比较任务的优先级水平,其中,当所述第一任务的优先级水平高于所述第二任务的优先级水平时,在所述处理器发出所述处理结果之后,所述逻辑电路从所述保持单元接收关于所述第一任务的任务信息,执行所述第一任务。
8.一种用在逻辑电路中的数据处理方法,该方法包括当处理器在执行第一任务时被请求执行处理时,保存关于所述第一任务的任务信息;当所述处理器正在执行所请求的处理时,执行第二任务;以及在所述处理器发出处理结果之后,恢复所保存的关于所述第一任务的任务信息以执行所述第一任务。
9.根据权利要求8所述的数据处理方法,其特征在于,当所述处理器正在执行所请求的处理时,中断所述第一任务,执行所述第二任务。
10.根据权利要求8所述的数据处理方法,其特征在于,在所述处理器发出所述处理结果之后,中断所述第二任务,恢复所保存的关于所述第一任务的任务信息以执行所述第一任务。
11.根据权利要求10所述的数据处理方法,其特征在于,还包括保存关于被中断的第二任务的任务信息;以及在终止所述第一任务之后,恢复所保存的关于所述第二任务的任务信息以重新开始所述第二任务。
12.根据权利要求8所述的数据处理方法,其特征在于,还包括比较任务的优先级水平,当所述第一任务的优先级水平高于所述第二任务的优先级水平时,在所述处理器发出所述处理结果之后,恢复所保存的关于所述第一任务的任务信息以执行所述第一任务。
全文摘要
本发明提供一种数据处理设备和方法。该数据处理设备包括逻辑电路、处理器及保持单元。当执行第一任务时,逻辑电路请求处理器执行处理。当处理器正在执行所请求的处理时,逻辑电路执行第二任务。在处理器发出处理结果之后,逻辑电路从保持单元接收关于第一任务的任务信息,并且执行第一任务。
文档编号G06F9/38GK1955933SQ20061015013
公开日2007年5月2日 申请日期2006年10月27日 优先权日2005年10月27日
发明者相泽荣治 申请人:佳能株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1