CN1517896A - 总线仲裁器 - Google Patents

总线仲裁器 Download PDF

Info

Publication number
CN1517896A
CN1517896A CNA2004100013099A CN200410001309A CN1517896A CN 1517896 A CN1517896 A CN 1517896A CN A2004100013099 A CNA2004100013099 A CN A2004100013099A CN 200410001309 A CN200410001309 A CN 200410001309A CN 1517896 A CN1517896 A CN 1517896A
Authority
CN
China
Prior art keywords
mentioned
timeslot number
reservation
time slot
information
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
CNA2004100013099A
Other languages
English (en)
Other versions
CN1249594C (zh
Inventor
田中义照
西田要一
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.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co Ltd
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 Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Publication of CN1517896A publication Critical patent/CN1517896A/zh
Application granted granted Critical
Publication of CN1249594C publication Critical patent/CN1249594C/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
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/36Handling requests for interconnection or transfer for access to common bus or bus system
    • G06F13/362Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control
    • G06F13/3625Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control using a time dependent access

Abstract

提供一种总线仲裁器,其中,时隙分派周期寄存器存储由预定的时隙数规定的时隙分派周期,预约时隙寄存器存储预先分配给执行实时处理的VCE的预约时隙数。预约时隙寄存器存储预先分配给执行实时处理的ACE的预约时隙数。剩余预约时隙寄存器存储从时隙分派周期中减去VCE及ACE的预约时隙数所得的结果。通过从外部监控剩余预约时隙寄存器,能够预先判定时隙数的不足是否会破坏以后要执行的处理。

Description

总线仲裁器
技术领域
本发明涉及进行总线上连接的多个模块间的仲裁的总线仲裁器。
背景技术
第3代携带电话的登场等,要求一种实现动画或声音的多个实时处理和邮件等的非实时处理的系统。
该系统具备连接在总线上的多个模块、及仲裁模块间的数据传送的总线仲裁器。
其中,所谓模块,是执行处理的硬件。此外,连接在总线上的模块之一是处理器。
所谓实时处理,是执行规定的处理时具有时间限制的处理。而所谓非实时处理,是没有时间限制的处理。
实现这两种处理的系统包含进行实时处理的模块(以下称为“实时模块”。)、及进行非实时处理的模块(以下称为“非实时模块”。)。
实时模块为了在限制时间内进行预定的处理,也需要在限制时间内进行所需数据的传送。
在实现实时处理及非实时处理两者的系统中,存储器资源等是空间上的共享资源,而总线是两种处理公用的时间上的共享资源。
因此,在非实时模块用尽时隙数的情况下,实时模块即使能够确保存储器资源,也不能传送处理所需的数据,不能在限制时间内进行处理。
因此,以往,设置仲裁来自模块的数据传送请求的总线仲裁器,来进行保证总线带宽(即,时隙数)的控制。
例如,在专利文献1((日本)特表2000-500895号公报)上,公开了具备加权带宽分配的总线仲裁器。
该总线仲裁器通过向待仲裁的模块给定用于分配总线带宽的权重,分配时隙,来确保总线带宽。
由此,实时模块能够用预先给定的总线带宽,来实现动画或声音的实时处理。
这里,例如设想下述情况:向进行MPEG-4(Moving Picture ExpertsGroup(运动图像专家组)4)等运动图像压缩/解压的模块,请求将处理的运动图像的画面尺寸从QCIF(176像素×144像素)扩展到CIF(352像素×288像素)。
在此情况下,该模块必须在预定的限制时间内处理的数据量增大。
这样,由于上述现有的总线仲裁器用预先分配给模块的总线带宽进行处理,所以不能应对增大的数据量。
因此,有时不能在预定的限制时间内完成模块的处理,实时性被破坏。
发明内容
因此,本发明的目的在于提供一种总线仲裁器,能够判定总线带宽(即,时隙数)的不足是否会破坏处理。
第1发明的总线仲裁器仲裁总线上连接的多个模块间的数据传送请求,包括时隙分派周期存储部件、预约时隙数存储部件、剩余预约时隙数存储部件、剩余时隙数计算部件、第1更新时隙数存储部件、第2更新时隙数存储部件、多个更新时隙数指定存储部件、传送许可候选决定部件、以及传送许可决定部件。
时隙分派周期存储部件存储表示由多个时隙构成的时隙分派周期的信息。
预约时隙数存储部件存储表示预约时隙数的信息,该预约时隙数是预先分配给多个模块中的预定的模块的时隙数。
剩余预约时隙数存储部件,存储表示剩余预约时隙数的信息,该剩余预约时隙数是构成时隙分派周期的时隙数和预约时隙数之差。
剩余时隙数计算部件每当被分配了预约时隙数的预定的模块的数据传送请求被许可时,计算预约时隙数的剩余时隙数,而且每当使用剩余预约时隙数的模块的数据传送请求被许可时,计算剩余预约时隙数的剩余时隙数。
第1更新时隙数存储部件存储预约时隙数存储部件存储的表示预约时隙数的信息作为初值,而且存储剩余时隙数计算部件算出的、表示预约时隙数的剩余时隙数的信息。
第2更新时隙数存储部件存储剩余预约时隙数存储部件存储的表示剩余预约时隙数的信息作为初值,而且存储剩余时隙数计算部件算出的、表示剩余预约时隙数的剩余时隙数的信息。
对应于多个模块,设有多个更新时隙数指定存储部件。更新时隙数指定存储部件存储分配给对应的模块的、表示第1更新时隙数存储部件或第2更新时隙数存储部件的信息。
传送许可候选决定部件在有来自模块的数据传送请求的情况下,参照与该模块对应的更新时隙数指定存储部件存储的信息表示的第1更新时隙数存储部件或第2更新时隙数存储部件,在参照的第1更新时隙数存储部件或第2更新时隙数存储部件存储的剩余时隙数有剩余时,生成表示该模块是许可数据传送请求的候选的传送许可候选通知信号。
传送许可决定部件根据预定的规则,决定是否许可来自传送许可候选通知信号表示的模块的数据传送请求。
在与被分配了预约时隙数的预定的模块对应的更新时隙数指定存储部件中,存储有表示第1更新时隙数存储部件的信息。
在与使用剩余预约时隙数的模块对应的更新时隙数指定存储部件中,存储有表示第2更新时隙数存储部件的信息。
每当经过时隙分派周期时,向第1更新时隙数存储部件中存储预约时隙数存储部件存储的表示预约时隙数的信息作为初值。
每当经过时隙分派周期时,向第2更新时隙数存储部件中存储剩余预约时隙数存储部件存储的表示剩余预约时隙数的信息作为初值。
根据该结构,通过从外部监控剩余预约时隙数存储部件存储的剩余预约时隙数,能够预先判定总线的带宽不足是否会破坏以后要执行的模块的处理。
此外,通过从外部变更时隙分派周期存储部件的设置,能够变更时隙分派周期。再者,通过从外部变更预约时隙数存储部件的设置,能够变更预约时隙数。其结果是,能够提高用户的便利性。
第2发明的总线仲裁器如下构成。即,在上述总线仲裁器中,预定的模块是多个;对应于多个预定的模块,设有多个预约时隙数存储部件;对应于多个预约时隙数存储部件,设有多个第1更新时隙数存储部件。
根据该结构,能够为更多的模块预先预约时隙数。
第3发明的总线仲裁器如下构成。即,在上述总线仲裁器中,在预约时隙数的剩余时隙数没有剩余的情况下,剩余时隙数计算部件向特定的模块通知下述消息:被分配了预约时隙数的预定的模块消耗了所有预约时隙数。
根据该结构,能够防止发出无用的数据传送请求。
第4发明的总线仲裁器仲裁总线上连接的任务管理器管理的多个任务的数据传送请求,包括时隙分派周期存储部件、预约时隙数存储部件、剩余预约时隙数存储部件、剩余时隙数计算部件、第1更新时隙数存储部件、第2更新时隙数存储部件、多个更新时隙数指定存储部件、传送许可候选决定部件、以及传送许可决定部件。
时隙分派周期存储部件存储表示由多个时隙构成的时隙分派周期的信息。
预约时隙数存储部件存储表示预约时隙数的信息,该预约时隙数是预先分配给多个任务中的预定的任务的时隙数。
剩余预约时隙数存储部件存储表示剩余预约时隙数的信息,该剩余预约时隙数是构成时隙分派周期的时隙数和预约时隙数之差。
剩余时隙数计算部件每当被分配了预约时隙数的预定的任务的数据传送请求被许可时,计算预约时隙数的剩余时隙数,而且每当使用剩余预约时隙数的任务的数据传送请求被许可时,计算剩余预约时隙数的剩余时隙数。
第1更新时隙数存储部件存储预约时隙数存储部件存储的表示预约时隙数的信息作为初值,而且存储剩余时隙数计算部件算出的、表示预约时隙数的剩余时隙数的信息。
第2更新时隙数存储部件存储剩余预约时隙数存储部件存储的表示剩余预约时隙数的信息作为初值,而且存储剩余时隙数计算部件算出的、表示剩余预约时隙数的剩余时隙数的信息。
对应于多个任务,设有多个更新时隙数指定存储部件。更新时隙数指定存储部件存储分配给对应的任务的、表示第1更新时隙数存储部件或第2更新时隙数存储部件的信息。
传送许可候选决定部件在有来自任务的数据传送请求的情况下,参照与该任务对应的更新时隙数指定存储部件存储的信息表示的第1更新时隙数存储部件或第2更新时隙数存储部件,在参照的第1更新时隙数存储部件或第2更新时隙数存储部件存储的剩余时隙数有剩余时,生成表示该任务是许可数据传送请求的候选的传送许可候选通知信号。
传送许可决定部件根据预定的规则,决定是否许可来自传送许可候选通知信号表示的任务的数据传送请求。
在与被分配了预约时隙数的预定的任务对应的更新时隙数指定存储部件中,存储有表示第1更新时隙数存储部件的信息。
在与使用剩余预约时隙数的任务对应的更新时隙数指定存储部件中,存储有表示第2更新时隙数存储部件的信息。
每当经过时隙分派周期时,向第1更新时隙数存储部件中存储预约时隙数存储部件存储的表示预约时隙数的信息作为初值。
每当经过时隙分派周期时,向第2更新时隙数存储部件中存储剩余预约时隙数存储部件存储的表示剩余预约时隙数的信息作为初值。
根据该结构,通过从外部监控剩余预约时隙数存储部件存储的剩余预约时隙数,能够预先判定总线的带宽不足是否会破坏以后要执行的任务的处理。
此外,通过从外部变更时隙分派周期存储部件的设置,能够变更时隙分派周期。再者,通过从外部变更预约时隙数存储部件的设置,能够变更预约时隙数。其结果是,能够提高用户的便利性。
第5发明的总线仲裁器如下构成。即,在上述总线仲裁器中,预定的任务是多个;对应于多个预定的任务,设有多个预约时隙数存储部件;对应于多个预约时隙数存储部件,设有多个第1更新时隙数存储部件。
根据该结构,能够为更多的任务预先预约时隙数。
第6发明的总线仲裁器如下构成。即,在上述总线仲裁器中,在预约时隙数的剩余时隙数没有剩余的情况下,剩余时隙数计算部件向任务管理器通知下述消息:被分配了预约时隙数的预定的任务消耗了所有预约时隙数。
根据该结构,能够防止发出无用的数据传送请求。
附图说明
图1是本发明实施方式1的数据处理装置的方框图。
图2是本发明实施方式1的总线仲裁器的方框图。
图3是本发明实施方式1的预约时隙表的示例图。
图4是本发明实施方式1的更新时隙指定表的示例图。
图5是本发明实施方式1的优先级表的示例图。
图6是用于说明本发明实施方式1的总线仲裁器进行的处理的时序图。
图7是本发明实施方式1的总线仲裁器的流程图。
图8是本发明实施方式2的数据处理装置的方框图。
具体实施方式
以下,参照附图来说明本发明的实施方式。
(实施方式1)
图1是本发明实施方式1的数据处理装置的方框图。如图1所示,该数据处理装置具备总线仲裁器1、CPU(Central Processing Unit,中央处理单元)2、VCE(Video Codec Engine,视频编解码引擎)3、ACE(Audio Codec Engine,音频编解码引擎)4、PCE(Picture Codec Engine,图片编解码引擎)5、及存储器6。
总线仲裁器1、CPU 2、VCE 3、ACE 4、PCE 5、及存储器6经总线8耦合。
此外,总线仲裁器1、CPU 2、VCE 3、ACE 4、PCE 5、及存储器6经数据传送控制线7耦合。
总线仲裁器1和CPU 2通过来自总线仲裁器1的中断信号线9相连。
这里,有时将CPU 2、VCE 3、ACE 4、及PCE 5分别也称为模块。
总线仲裁器1是接受来自CPU 2、VCE 3、ACE 4、及PCE 5等模块的数据传送请求、以时隙为单位向各模块分派数据传送请求的装置。
此外,总线仲裁器1具有能够为各模块预约时隙数的机构、及能够监控剩余预约时隙数的机构。
这里,总线仲裁器1将预定的总线周期数(预定的总线时钟数)设为1个时隙。
CPU 2是执行程序的模块。
存储器6保存数据。
VCE 3是对存储器6中保存的图像数据进行MPEG(Moving PictureExperts Group)等运动图像压缩/解压处理、写回到存储器6中的动画处理模块。
ACE 4是对存储器6中保存的声音数据进行AMR(Audio/Modem Riser,声音/调制解调器插卡)等声音数据压缩/解压处理、写回到存储器6中的声音处理模块。
PCE 5是对存储器6中保存的静止图像数据进行JPEG(Joint PhotographicExperts Group,联合摄影专家组)等静止图像压缩/解压处理、写回到存储器6中的静止图像处理模块。
用图1所示的数据处理装置来实现对动画数据、声音数据及静止图像数据进行压缩/解压的功能。
此时,由于动画及声音的压缩解压处理是实时处理,所以总线仲裁器1具有向动画处理模块——VCE 3及声音处理模块——ACE 4分配实时处理所需的时隙数的机构。
接着,详细说明总线仲裁器1。
图2是图1的总线仲裁器1的方框图。在图2中,对与图1同样的部分附以同一标号。
如图2所示,该总线仲裁器1包含时隙分派周期寄存器10、剩余预约时隙寄存器20、预约时隙寄存器21、22、更新时隙寄存器30、31、32、更新时隙指定寄存器40、41、42、43、剩余时隙数计算电路60、传送许可候选决定电路70、及传送许可决定电路80。
传送许可决定电路80包含优先级寄存器50、51、52、53、及优先顺序选择电路54。
时隙分派周期寄存器10是保存表示用预定的时隙数预定的时隙分派周期的信息的寄存器。
时隙分派周期能够从外部设置到时隙分派周期寄存器10中。例如,CPU2能够将时隙分派周期设置到时隙分派周期寄存器10中。
向进行实时处理的VCE 3及ACE 4分别预先分派预定的时隙数。在此情况下,将预先分派的时隙数称为预约时隙数。
预约时隙寄存器21保存表示分派给VCE 3的预约时隙数的信息。
VCE 3的预约时隙数能够从外部设置到预约时隙寄存器21中。例如,CPU 2能够将VCE 3的预约时隙数设置到预约时隙寄存器21中。
预约时隙寄存器22保存表示分派给ACE 4的预约时隙数的信息。
ACE 4的预约时隙数能够从外部设置到预约时隙寄存器22中。例如,CPU 2能够将ACE 4的预约时隙数设置到预约时隙寄存器22中。
剩余预约时隙寄存器20保存表示从构成时隙分派周期的时隙数中减去预约时隙寄存器21中保存的预约时隙数、和预约时隙寄存器22中保存的预约时隙数所得的值(以下称为“剩余预约时隙数”。)的信息。
CPU 2和PCE 5使用该剩余预约时隙数。
这里,预约时隙寄存器21、22及剩余预约时隙寄存器20构成预约时隙表。
图3是预约时隙表的示例图。在图3的例子中,时隙分派周期寄存器10中保存的构成时隙分派周期的时隙数是10个时隙。
此外,在图3的例子中,预约时隙寄存器21中保存的VCE 3的预约时隙数是3个时隙。
此外,在图3的例子中,预约时隙寄存器22中保存的ACE 4的预约时隙数是2个时隙。
此外,在图3的例子中,剩余预约时隙寄存器20中保存的剩余预约时隙数是5个时隙。这是因为10-(3+2)=5。
剩余时隙数计算电路60从构成时隙分派周期的时隙数中,减去预约时隙寄存器21中保存的预约时隙数、和预约时隙寄存器22中保存的预约时隙数,来计算剩余预约时隙数。
剩余预约时隙寄存器20中保存的剩余预约时隙数由剩余时隙数计算电路60算出。
在更新时隙寄存器31中,作为初值(复位值),保存有预约时隙寄存器21中保存的、表示VCE 3的预约时隙数的信息。
然后,在VCE 3的数据传送请求被许可后,剩余时隙数计算电路60从更新时隙寄存器31中保存的分派给VCE 3的预约时隙数中减去1个时隙,来计算预约时隙数的剩余时隙数。
然后,剩余时隙数计算电路60将表示该剩余时隙数的信息盖写到更新时隙寄存器31中。
进而,每当VCE 3的数据传送请求被许可时,剩余时隙数计算电路60就从更新时隙寄存器31中保存的预约时隙数的剩余时隙数中减去1个时隙,来计算VCE 3的预约时隙数的剩余时隙数,将其结果盖写到更新时隙寄存器31中。
如上所述对VCE 3的预约时隙数进行递减计数。
在更新时隙寄存器32中,作为初值(复位值),保存有预约时隙寄存器22中保存的、表示ACE 4的预约时隙数的信息。
然后,在ACE 4的数据传送请求被许可后,剩余时隙数计算电路60从更新时隙寄存器32中保存的分派给ACE 4的预约时隙数中减去1个时隙,来计算预约时隙数的剩余时隙数。
然后,剩余时隙数计算电路60将表示该剩余时隙数的信息盖写到更新时隙寄存器32中。
进而,每当ACE 4的数据传送请求被许可时,剩余时隙数计算电路60就从更新时隙寄存器32中保存的预约时隙数的剩余时隙数中减去1个时隙,来计算ACE 4的预约时隙数的剩余时隙数,将其结果盖写到更新时隙寄存器32中。
如上所述对ACE 4的预约时隙数进行递减计数。
在更新时隙寄存器30中,作为初值(复位值),保存有表示剩余预约时隙寄存器20中保存的剩余预约时隙数的信息。
然后,在CPU 2或PCE 5的数据传送请求被许可后,剩余时隙数计算电路60从更新时隙寄存器30中保存的剩余预约时隙数中减去1个时隙,来计算剩余预约时隙数的剩余时隙数。
然后,剩余时隙数计算电路60将表示该剩余时隙数的信息盖写到更新时隙寄存器30中。
进而,每当CPU 2或PCE 5的数据传送请求被许可时,剩余时隙数计算电路60就从更新时隙寄存器30中保存的剩余预约时隙数的剩余时隙数中减去1个时隙,来计算剩余预约时隙数的剩余时隙数,将其结果盖写到更新时隙寄存器30中。
如上所述对剩余预约时隙数进行递减计数。
经过时隙分派周期寄存器10指定的时隙分派周期后,更新时隙寄存器30、31、32被复位。
即,经过时隙分派周期寄存器10指定的时隙分派周期后,剩余时隙数计算电路60向更新时隙寄存器31中写入预约时隙寄存器21中保存的表示预约时隙数的信息作为初值(复位值),向更新时隙寄存器32中写入预约时隙寄存器22中保存的表示预约时隙数的信息作为初值(复位值),向更新时隙寄存器30中写入剩余预约时隙寄存器20中保存的表示预约时隙数的信息作为初值(复位值)。
然后,再次执行预约时隙数及剩余预约时隙数的递减计数。
这样,重复进行复位和递减计数。其中,即使在递减计数值不是“0”的情况下,在经过时隙分派周期后,也进行复位。
对应于CPU 2、VCE 3、ACE 4、及PCE 5,分别设有更新时隙指定寄存器40~43。
然后,在更新时隙指定寄存器40~43中,分别保存有对CPU 2的指定信息、对VCE 3的指定信息、对ACE 4的指定信息、及对PCE 5的指定信息。
这里,所谓指定信息,是表示更新时隙寄存器31的信息、表示更新时隙寄存器32的信息、或表示更新时隙寄存器30的信息。
具体地说,在更新时隙指定寄存器40中,作为对CPU 2的指定信息,保存有表示更新时隙寄存器30的信息。
这是因为CPU 2消耗剩余预约时隙寄存器20中保存的剩余预约时隙数。
在更新时隙指定寄存器41中,作为对VCE 3的指定信息,保存有表示更新时隙寄存器31的信息。
这是因为VCE 3消耗预约时隙寄存器21中保存的预约时隙数。
在更新时隙指定寄存器42中,作为对ACE 4的指定信息,保存有表示更新时隙寄存器32的信息。
这是因为ACE 4消耗预约时隙寄存器22中保存的预约时隙数。
在更新时隙指定寄存器43中,作为对PCE 5的指定信息,保存有表示更新时隙寄存器30的信息。
这是因为PCE 5消耗剩余预约时隙寄存器20中保存的剩余预约时隙数。
更新时隙指定寄存器40~43的指定信息可从外部来设置。例如,可由CPU2来设置。
其中,在进行总线仲裁器1的初始设置时,在更新时隙指定寄存器40~43中都保存有表示更新时隙寄存器30的信息。然后,从外部向期望的更新时隙指定寄存器中盖写表示更新时隙寄存器31、32的信息。
这里,更新时隙指定寄存器40~43构成更新时隙指定表。
图4是更新时隙指定表的示例图。在图4的例子中,在与CPU 2对应的更新时隙指定寄存器40中,保存有表示更新时隙寄存器30的“0”。
此外,在图4的例子中,在与VCE 3对应的更新时隙指定寄存器41中,保存有表示更新时隙寄存器31的“1”。
此外,在图4的例子中,在与ACE 4对应的更新时隙指定寄存器42中,保存有表示更新时隙寄存器32的“2”。
此外,在图4的例子中,在与PCE 5对应的更新时隙指定寄存器43中,保存有表示更新时隙寄存器30的“0”。
其中,在图4的例子中,CPU 2及PCE 5共享更新时隙寄存器30。
传送许可候选决定电路70从数据传送控制线7接受来自CPU 2的数据传送请求信号CPUr、来自VCE 3的数据传送请求信号VCEr、来自ACE 4的数据传送请求信号ACEr、及来自PCE 5的数据传送请求信号PCEr。
传送许可候选决定电路70接受来自CPU 2的数据传送请求信号CPUr后,参照与CPU 2对应的更新时隙指定寄存器40。
然后,传送许可候选决定电路70参照更新时隙指定寄存器40中保存的信息表示的更新时隙寄存器30。
然后,在更新时隙寄存器30中保存的剩余预约时隙数的剩余时隙数(递减计数值)不是“0”的情况下,传送许可候选决定电路70将表示CPU 2是许可数据传送的候选(传送许可候选)的传送许可候选通知信号C输出到优先顺序选择电路54。
传送许可候选决定电路70接受来自VCE 3的数据传送请求信号VCEr后,参照与VCE 3对应的更新时隙指定寄存器41。
然后,传送许可候选决定电路70参照更新时隙指定寄存器41中保存的信息表示的更新时隙寄存器31。
然后,在更新时隙寄存器31中保存的预约时隙数的剩余时隙数(递减计数值)不是“0”的情况下,传送许可候选决定电路70将表示VCE 3是许可数据传送的候选(传送许可候选)的传送许可候选通知信号V输出到优先顺序选择电路54。
传送许可候选决定电路70接受来自ACE 4的数据传送请求信号ACEr后,参照与ACE 4对应的更新时隙指定寄存器42。
然后,传送许可候选决定电路70参照更新时隙指定寄存器42中保存的信息表示的更新时隙寄存器32。
然后,在更新时隙寄存器32中保存的预约时隙数的剩余时隙数(递减计数值)不是“0”的情况下,传送许可候选决定电路70将表示ACE 4是许可数据传送的候选(传送许可候选)的传送许可候选通知信号A输出到优先顺序选择电路54。
传送许可候选决定电路70接受来自PCE 5的数据传送请求信号PCEr后,参照与PCE 5对应的更新时隙指定寄存器43。
然后,传送许可候选决定电路70参照更新时隙指定寄存器43中保存的信息表示的更新时隙寄存器30。
然后,在更新时隙寄存器30中保存的剩余预约时隙数的剩余时隙数(递减计数值)不是“0”的情况下,传送许可候选决定电路70将表示PCE 5是许可数据传送的候选(传送许可候选)的传送许可候选通知信号P输出到优先顺序选择电路54。
对应于CPU 2、VCE 3、ACE 4、及PCE 5,分别设有优先级寄存器50~53。
在优先级寄存器50中,保存有表示CPU 2的优先级的信息。在优先级寄存器51中,保存有表示VCE 3的优先级的信息。在优先级寄存器52中,保存有表示ACE 4的优先级的信息。在优先级寄存器53中,保存有表示PCE5的优先级的信息。
优先级可从外部设置到优先级寄存器50~53中。例如,CPU 2能够将优先级设置到优先级寄存器50~53中。
这里,优先级寄存器50~53构成优先级表。
图5是优先级表的示例图。
在图5的例子中,设置优先级表,使得优先级为ACE 4>VCE 3>CPU2>PCE 5。即,在图5的优先级表中,设置的数越小,则优先级越高。
在从传送许可候选决定电路70输入的传送许可候选通知信号为多个的情况下,即,在作为传送许可候选的模块为多个的情况下,优先顺序选择电路54参照优先级寄存器50~53,经数据传送控制线7,向多个传送许可候选中的、优先级最高的传送许可候选提供传送许可信号。
其中,在图2中,传送许可信号CPUa表示对CPU 2的传送许可信号,传送许可信号VCEa表示对VCE 3的传送许可信号,传送许可信号ACEa表示对ACE 4的传送许可信号,传送许可信号PCEa表示对PCE 5的传送许可信号。
例如,在优先级表如图5所示的情况下,在优先顺序选择电路54接受了传送许可候选通知信号C及传送许可候选通知信号V的情况下,向优先级高的VCE 3提供传送许可信号VCEa。
另一方面,优先顺序选择电路54参照与提供了传送许可信号的传送许可候选对应的更新时隙指定寄存器。
然后,优先顺序选择电路54将参照的更新时隙指定寄存器中保存的信息提供给剩余时隙数计算电路60。
然后,剩余时隙数计算电路60将优先顺序选择电路54提供的信息表示的更新时隙寄存器31、更新时隙寄存器32、或更新时隙寄存器30保存的剩余时隙数减去1个时隙。
剩余时隙数计算电路60将这样算出的表示剩余时隙数的信息,盖写到优先顺序选择电路54提供的信息表示的更新时隙寄存器31、更新时隙寄存器32、或更新时隙寄存器30中。
这样,每当提供了传送许可时,对被提供了传送许可的传送许可候选的预约时隙数或剩余预约时隙数进行递减计数。
以提供了传送许可信号的传送许可候选是ACE 4的情况为例对此进行说明。
这样,优先顺序选择电路54参照与ACE 4对应的更新时隙指定寄存器42。
然后,优先顺序选择电路54将更新时隙指定寄存器42中保存的信息、即表示更新时隙寄存器32的信息提供给剩余时隙数计算电路60。
然后,剩余时隙数计算电路60将优先顺序选择电路54提供的信息表示的更新时隙寄存器32保存的ACE 4的预约时隙数的剩余时隙数减去1个时隙。
剩余时隙数计算电路60将这样算出的表示ACE 4的剩余时隙数的信息,盖写到优先顺序选择电路54提供的信息表示的更新时隙寄存器32中。
这样,在本例中,对ACE 4的预约时隙数进行递减计数。
在递减计数的结果(减法的结果)是预约时隙数的剩余时隙数变为“0”的情况下,或者是剩余预约时隙数的剩余时隙数变为“0”的情况下,剩余时隙数计算电路60经中断信号线9向CPU 2通知:使用剩余时隙数变为“0”的预约时隙数或剩余预约时隙数的模块用尽了预约时隙数或剩余预约时隙数。
其中,在此情况下,剩余时隙数计算电路60也可以向使用剩余时隙数变为“0”的预约时隙数或剩余预约时隙数的模块通知用尽了预约时隙数或剩余预约时隙数。
接着,用图2及时序图,来详细说明图1的总线仲裁器1的工作。
在此情况下,假设图2的由剩余预约时隙寄存器20及预约时隙寄存器21、22构成的预约时隙表如图3所示来设置,图2的由更新时隙指定寄存器40~43构成的更新时隙指定表如图4所示来设置,图2的由优先级寄存器50~53构成的优先级表如图5所示来设置。
图6是用于说明总线仲裁器1的工作的时序图。
如图6所示,构成时隙分派周期的时隙数为10个时隙,每隔10个时隙将更新时隙寄存器30、31、32复位。
如图6所示,在复位时,ACE 4的剩余时隙数(更新时隙寄存器32中保存的时隙数)是初值(复位值)“2”。
此外,在复位时,VCE 3的剩余时隙数(更新时隙寄存器31中保存的时隙数)是初值(复位值)“3”。
此外,在复位时,CPU 2及PCE 5的剩余时隙数(更新时隙寄存器30中保存的时隙数)是初值(复位值)“5”。
如图6所示,在时隙分派周期的第1个时隙中,只有VCE 3将数据传送请求信号VCEr(“H(高)”电平的信号)提供给传送许可候选决定电路70。
因此,传送许可候选决定电路70将表示传送许可候选是VCE 3的传送许可候选通知信号V提供给优先顺序选择电路54。
于是,优先顺序选择电路54向VCE 3提供传送许可信号VCEa。
因此,剩余时隙数计算电路60从VCE 3的预约时隙数“3”(更新时隙寄存器31中保存的预约时隙数“3”)中减去“1”,使剩余时隙数为“2”,将该信息盖写到更新时隙寄存器31中。
接着,在时隙分派周期的第2个时隙中,只有PCE 5将数据传送请求信号PCEr(“H(高)”电平的信号)提供给传送许可候选决定电路70。
因此,传送许可候选决定电路70将表示传送许可候选是PCE 5的传送许可候选通知信号P提供给优先顺序选择电路54。
于是,优先顺序选择电路54向PCE 5提供传送许可信号PCEa。
因此,剩余时隙数计算电路60从剩余预约时隙数“5”(更新时隙寄存器30中保存的剩余预约时隙数“5”)中减去“1”,使剩余时隙数为“4”,将该信息盖写到更新时隙寄存器30中。
接着,在时隙分派周期的第3个时隙中,ACE 4、CPU 2、及PCE 5分别将数据传送请求信号ACEr(“H(高)”电平的信号)、数据传送请求信号CPUr(“H(高)”电平的信号)、及数据传送请求信号PCEr(“H(高)”电平的信号)提供给传送许可候选决定电路70。
因此,传送许可候选决定电路70将表示传送许可候选是ACE 4、CPU 2及PCE 5的传送许可候选通知信号A、C、P提供给优先顺序选择电路54。
于是,优先顺序选择电路54参照优先级寄存器52、50、53,向ACE 4、CPU 2及PCE 5中的、优先级最高的ACE 4提供传送许可信号ACEa。
因此,剩余时隙数计算电路60从ACE 4的预约时隙数“2”(更新时隙寄存器32中保存的预约时隙数“2”)中减去“1”,使剩余时隙数为“1”,将该信息盖写到更新时隙寄存器32中。
接着,在时隙分派周期的第4个时隙中,CPU 2、及PCE 5分别将数据传送请求信号CPUr、及数据传送请求信号PCEr提供给传送许可候选决定电路70。
因此,传送许可候选决定电路70将表示传送许可候选是CPU 2及PCE 5的传送许可候选通知信号C、P提供给优先顺序选择电路54。
于是,优先顺序选择电路54参照优先级寄存器50、53,向CPU 2及PCE5中的、优先级最高的CPU 2提供传送许可信号CPUa。
因此,剩余时隙数计算电路60从剩余预约时隙数的剩余时隙数“4”(更新时隙寄存器30中保存的剩余预约时隙数的剩余时隙数“4”)中减去“1”,使剩余时隙数为“3”,将该信息盖写到更新时隙寄存器30中。
其中,从图4的更新时隙指定表可知,CPU 2及PCE 5共享剩余预约时隙寄存器20中保存的剩余预约时隙数。
如上所述,在时隙分派周期的第10个时隙之前执行递减计数,在经过了第10个时隙的时刻将更新时隙寄存器30~32复位。
这里,说明图6的第7个时隙的工作。
在时隙分派周期的第7个时隙中,ACE 4及VCE 3分别将数据传送请求信号ACEr及数据传送请求信号VCEr提供给传送许可候选决定电路70。
因此,传送许可候选决定电路70将表示传送许可候选是ACE 4的传送许可候选通知信号A、和表示传送许可候选是VCE 3的传送许可候选通知信号V提供给优先顺序选择电路54。
于是,优先顺序选择电路54参照优先级寄存器51、52,向ACE 4及VCE3中的、优先级最高的ACE 4提供传送许可信号ACEa。
因此,剩余时隙数计算电路60从ACE 4的预约时隙数的剩余时隙数“1”(更新时隙寄存器32中保存的预约时隙数的剩余时隙数“1”)中减去“1”,使剩余时隙数为“0”,将该信息盖写到更新时隙寄存器32中。
然后,剩余时隙数计算电路60经中断信号线9向CPU 2通知ACE 4用尽了预约时隙数。
接着,用图2及流程图来说明图1的总线仲裁器1的处理流程。
图7是总线仲裁器1的流程图。
如图7所示,在步骤S1中,CPU 2进行总线仲裁器1的初始设置。
具体地说,CPU 2将时隙分派周期设置到时隙分派周期寄存器10中。
此外,CPU 2将VCE 3的预约时隙数及ACE 4的预约时隙数分别设置到预约时隙寄存器21及预约时隙寄存器22中。
进而,CPU 2将CPU 2、VCE 3、ACE 4、及PCE 5的优先级分别设置到优先级寄存器50、优先级寄存器51、优先级寄存器52、及优先级寄存器53中。
进而,CPU 2将对CPU 2、VCE 3、ACE 4、及PCE 5的指定信息分别设置到更新时隙指定寄存器40、更新时隙指定寄存器41、更新时隙指定寄存器42、及更新时隙指定寄存器43中。
接着,在步骤S2中,剩余时隙数计算电路60参照时隙分派周期寄存器10及预约时隙寄存器21、22,来计算剩余预约时隙数,保存到剩余预约时隙寄存器20中。
接着,在步骤S3中,总线仲裁器1开始接受数据传送请求。由此,总线仲裁器1的时间以时隙分派周期来经过。
接着,在步骤S7中,传送许可候选决定电路70参照与输出数据传送请求信号的模块对应的更新时隙指定寄存器中保存的指定信息表示的更新时隙寄存器。
其中,将CPU 2、VCE 3、ACE 4、及PCE 5分别称为模块。
然后,在步骤S8中,如果参照的更新时隙寄存器中保存的剩余时隙数在“1”个以上,则传送许可候选决定电路70向优先顺序选择电路54输出传送许可候选通知信号。
这里,在输出数据传送请求信号的模块为多个的情况下,对每个模块执行步骤S7及步骤S8的处理。
接着,在步骤S9中,在输入了多个传送许可候选通知信号的情况下,优先顺序选择电路54参照与各传送许可候选通知信号表示的各模块对应的各优先级寄存器。
然后,在步骤S10中,优先顺序选择电路54向参照的多个优先级寄存器保存的多个优先级中、优先级最高的模块输出传送许可信号。
此外,优先顺序选择电路54参照与提供了传送许可信号的模块对应的更新时隙指定寄存器,将参照的更新时隙指定寄存器中保存的指定信息(更新时隙寄存器的信息)提供给剩余时隙数计算电路60。
以上,在步骤S11中,剩余时隙数计算电路60将提供的指定信息表示的更新时隙寄存器中保存的时隙数减去“1”。
然后,如果减法后的时隙数不是“0”(步骤S12),而且经过了1个时隙(步骤S4),而且未经过时隙分派周期(步骤S5),则处理进至步骤S7。
此外,如果减法后的时隙数不是“0”(步骤S12),而且经过了1个时隙(步骤S4),而且经过了时隙分派周期(步骤S5),则剩余时隙数计算电路60在步骤S6中将更新时隙寄存器30~32复位。然后,处理进至步骤S7。
此外,在减法后的时隙数为“0”的情况下(步骤S12),剩余时隙数计算电路60在步骤S13中经中断信号线9向CPU 2通知:被提供了传送许可信号的模块用尽了预约时隙数。然后,处理进至步骤S4。
重复执行以上所示的步骤S4~步骤S13的处理。
如上所述,根据本实施方式,通过从外部监控剩余预约时隙寄存器20存储的剩余预约时隙数,能够预先判定总线的带宽不足是否会破坏以后要执行的模块的处理。
此外,通过从外部变更时隙分派周期寄存器10的设置,能够变更时隙分派周期。再者,通过从外部变更预约时隙寄存器21、22的设置,能够变更预约时隙数。其结果是,能够提高用户的便利性。
再者,在模块消耗了所有分配给该模块的预约时隙数的情况下,向CPU2通知消耗了所有预约时隙数的消息。由此,能够防止发出无用的数据传送请求。
接着,举具体例来说明本实施方式的效果。在此情况下,假设优先级表如图5所示,假设更新时隙指定表如图4所示。
在图2的时隙分派周期寄存器10中,作为时隙分派周期,设置时隙数“340”。
在预约时隙寄存器21中,作为VCE 3的预约时隙数,设置时隙数“70”。
在预约时隙寄存器22中,作为ACE 4的预约时隙数,设置时隙数“70”。
因此,在剩余预约时隙寄存器20中,作为剩余预约时隙数(CPU 2及PCE5使用),设置时隙数“200”。
这里,假设VCE 3的预约时隙数、即预约时隙寄存器21中设置的时隙数是能够对QCIF(176像素×144像素)尺寸的图像进行MPEG-4压缩解压处理的时隙数。
因此,作为CIF尺寸的图像的压缩解压处理所需的时隙数,需要“280”。
在这种情况下,在本实施方式中,即使将MPEG-4压缩解压处理的图像尺寸从QCIF扩展到CIF,也能够预先计算不能确保CIF尺寸的图像的压缩解压处理所需的时隙数。
这是因为,即使将剩余预约时隙寄存器20的剩余预约时隙数“200”和为VCE 3确保的预约时隙数“70”加在一起,也不足CIF尺寸的图像的压缩解压处理所需的时隙数“280”。
因此,在发生将处理的图像尺寸扩展到CIF的请求的情况下,能够事先取消该请求。
举具体例来说明本实施方式的其他效果。
CPU 2中运行的MPEG-4的速率控制程序通过在控制比特率变更的情况下也参照剩余预约时隙寄存器20,能够事先判定在速率变更后是否能够保证所需的时隙数。
举具体例来说明本实施方式的其他效果。
MPEG-4和AMR的压缩解压处理要求的时间(周期)不同。
因此,在用VCE 3来进行MPEG-4的压缩解压的情况下、和用ACE 4来进行AMR的压缩解压的情况下,能够设置符合各个处理的预约时隙数。
其中,在图1中,模块的种类并不限于这些。此外,模块的数目也并不限于这些。
在图2中,预约时隙寄存器21、22的数目并不限于2个。可以是1个,也可以是3个以上。
此外,更新时隙寄存器31、32也并不限于2个。设有与预约时隙寄存器的数目对应的数目的更新时隙寄存器。
此外,更新时隙指定寄存器40~43并不限于4个。设有与模块的数目对应的数目的更新时隙指定寄存器。
此外,更新时隙指定寄存器中设置的指定信息并不限于上述,可以任意设置。
此外,优先级寄存器50~53并不限于4个。设有与模块的数目对应的数目的优先级寄存器。
此外,优先级寄存器中设置的优先级并不限于上述,可以任意设置。
(实施方式2)
在实施方式1中,仲裁了来自多个模块的多个数据传送请求,而在实施方式2中,仲裁来自管理多个任务的任务管理器的多个数据传送请求。
图8是本发明实施方式2的数据处理装置的方框图。
其中,在图8中,对与图1同样的部分附以同一标号。
如图8所示,该数据处理装置具备总线仲裁器1、任务管理器100、及存储器6。
总线仲裁器1、任务管理器100、及存储器6经总线8耦合。
此外,总线仲裁器1、任务管理器100、及存储器6经数据传送控制线7耦合。
总线仲裁器1和任务管理器100通过来自总线仲裁器1的中断信号线9相连。
任务管理器100管理单个或多个任务。
该任务管理器100可以是在CPU上运行的软件,可以是能够控制CPU上的任务的硬件,也可以是组合了该两者的任务控制机构。
总线仲裁器1是接受来自任务管理器100的数据传送请求、以时隙为单位向各任务分派数据传送请求的装置。
此外总线仲裁器1具有能够为各任务预约时隙数的机构、及能够监控能够预约的剩余时隙数的机构。
这里,总线仲裁器1将预定的总线周期数(预定的总线时钟数)设为1个时隙。
存储器6保存数据。通过执行任务管理器100管理的任务,对存储器6中保存的数据实施处理,将其结果保存到存储器6中。
用具备以上结构的图8所示的数据处理装置来执行多个任务。此时,总线仲裁器1向请求实时处理的任务分配实时处理所需的时隙数。
图8的总线仲裁器1的结构与图1的总线仲裁器1的结构相同。因此,用图2来详细说明图8的总线仲裁器1。
其中,在以下说明中,举出任务管理器100管理的任务是任务1碓务4这4个的例子。
然后,假设任务2及任务3是需要实时处理的任务。
时隙分派周期寄存器10是保存表示用预定的时隙数规定的时隙分派周期的信息的寄存器。
时隙分派周期能够从外部设置到时隙分派周期寄存器10中。例如,任务管理器100能够将时隙分派周期设置到时隙分派周期寄存器10中。
向进行实时处理的任务2及任务3分别预先分派预定的时隙数。在此情况下,将预先分派的时隙数称为预约时隙数。
预约时隙寄存器21保存表示分派给任务2的预约时隙数的信息。
任务2的预约时隙数能够从外部设置到预约时隙寄存器21中。例如,任务管理器100能够将任务2的预约时隙数设置到预约时隙寄存器21中。
预约时隙寄存器22保存表示分派给任务3的预约时隙数的信息。
任务3的预约时隙数能够从外部设置到预约时隙寄存器22中。例如,任务管理器100能够将任务3的预约时隙数设置到预约时隙寄存器22中。
剩余预约时隙寄存器20保存表示从构成时隙分派周期的时隙数中减去预约时隙寄存器21中保存的预约时隙数、和预约时隙寄存器22中保存的预约时隙数所得的值(以下称为“剩余预约时隙数”。)的信息。
任务1和任务4使用该剩余预约时隙数。
这里,预约时隙寄存器21、22及剩余预约时隙寄存器20构成预约时隙表。
该预约时隙表例如如图3所示。
剩余时隙数计算电路60从构成时隙分派周期的时隙数中,减去预约时隙寄存器21中保存的预约时隙数、和预约时隙寄存器22中保存的预约时隙数,来计算剩余预约时隙数。
剩余预约时隙寄存器20中保存的剩余预约时隙数由剩余时隙数计算电路60算出。
在更新时隙寄存器31中,作为初值(复位值),保存有预约时隙寄存器21中保存的、表示任务2的预约时隙数的信息。
然后,在任务2的数据传送请求被许可后,剩余时隙数计算电路60从更新时隙寄存器31中保存的分派给任务2的预约时隙数中减去1个时隙,来计算预约时隙数的剩余时隙数。
然后,剩余时隙数计算电路60将表示该剩余时隙数的信息盖写到更新时隙寄存器31中。
进而,每当任务2的数据传送请求被许可时,剩余时隙数计算电路60就从更新时隙寄存器31中保存的预约时隙数的剩余时隙数中减去1个时隙,来计算任务2的预约时隙数的剩余时隙数,将其结果盖写到更新时隙寄存器31中。
如上所述对任务2的预约时隙进行递减计数。
在更新时隙寄存器32中,作为初值(复位值),保存有预约时隙寄存器22中保存的、表示任务3的预约时隙数的信息。
然后,在任务3的数据传送请求被许可后,剩余时隙数计算电路60从更新时隙寄存器32中保存的分派给任务3的预约时隙数中减去1个时隙,来计算预约时隙数的剩余时隙数。
然后,剩余时隙数计算电路60将表示该剩余时隙数的信息盖写到更新时隙寄存器32中。
进而,每当任务3的数据传送请求被许可时,剩余时隙数计算电路60就从更新时隙寄存器32中保存的预约时隙数的剩余时隙数中减去1个时隙,来计算任务3的预约时隙数的剩余时隙数,将其结果盖写到更新时隙寄存器32中。
如上所述对任务3的预约时隙数进行递减计数。
在更新时隙寄存器30中,作为初值(复位值),保存有表示剩余预约时隙寄存器20中保存的剩余预约时隙数的信息。
然后,在任务1或任务4的数据传送请求被许可后,剩余时隙数计算电路60从更新时隙寄存器30中保存的剩余预约时隙数中减去1个时隙,来计算剩余预约时隙数的剩余时隙数。
然后,剩余时隙数计算电路60将表示该剩余时隙数的信息盖写到更新时隙寄存器30中。
进而,每当任务1或任务4的数据传送请求被许可时,剩余时隙数计算电路60就从更新时隙寄存器30中保存的剩余预约时隙数的剩余时隙数中减去1个时隙,来计算剩余预约时隙数的剩余时隙数,将其结果盖写到更新时隙寄存器30中。
如上所述对剩余预约时隙数进行递减计数。
经过时隙分派周期寄存器10指定的时隙分派周期后,更新时隙寄存器30、31、32被复位。
即,经过时隙分派周期寄存器10指定的时隙分派周期后,剩余时隙数计算电路60向更新时隙寄存器31中写入预约时隙寄存器21中保存的表示预约时隙数的信息作为初值(复位值),向更新时隙寄存器32中写入预约时隙寄存器22中保存的表示预约时隙数的信息作为初值(复位值),向更新时隙寄存器30中写入剩余预约时隙寄存器20中保存的表示预约时隙数的信息作为初值(复位值)。
然后,再次执行预约时隙数及剩余预约时隙数的递减计数。
这样,重复进行复位和递减计数。其中,即使在递减计数值不是“0”的情况下,在经过时隙分派周期后,也进行复位。
在更新时隙指定寄存器40~43中,分别保存有对任务1的指定信息、对任务2的指定信息、对任务3的指定信息、及对任务4的指定信息。
这里,所谓指定信息,是表示更新时隙寄存器31的信息、表示更新时隙寄存器32的信息、或表示更新时隙寄存器30的信息。
具体地说,在更新时隙指定寄存器40中,作为对任务1的指定信息,保存有表示更新时隙寄存器30的信息。
这是因为任务1消耗剩余预约时隙寄存器20中保存的剩余预约时隙数。
在更新时隙指定寄存器41中,作为对任务2的指定信息,保存有表示更新时隙寄存器31的信息。
这是因为任务2消耗预约时隙寄存器21中保存的预约时隙数。
在更新时隙指定寄存器42中,作为对任务3的指定信息,保存有表示更新时隙寄存器32的信息。
这是因为任务3消耗预约时隙寄存器22中保存的预约时隙数。
在更新时隙指定寄存器43中,作为对任务4的指定信息,保存有表示更新时隙寄存器30的信息。
这是因为任务4消耗剩余预约时隙寄存器20中保存的剩余预约时隙数。
更新时隙指定寄存器40~43的指定信息可从外部来设置。例如,可由任务管理器100来设置。
其中,在进行总线仲裁器1的初始设置时,在更新时隙指定寄存器40~43中都保存有表示更新时隙寄存器30的信息。然后,从外部向期望的更新时隙指定寄存器中盖写表示更新时隙寄存器31、32的信息。
这里,更新时隙指定寄存器40~43构成更新时隙指定表。
该更新时隙指定表例如如图4所示,将更新时隙指定寄存器40设为任务1用,将更新时隙指定寄存器4设为任务2用,将更新时隙指定寄存器42设为任务3用,将更新时隙指定寄存器43设为任务4用。
其中,在图4的例子中,任务1及任务4共享更新时隙寄存器30。
传送许可候选决定电路70从数据传送控制线7接受来自任务管理器100的任务1的数据传送请求信号CPUr、来自任务管理器100的任务2的数据传送请求信号VCEr、来自任务管理器100的任务3的数据传送请求信号ACEr、及来自任务管理器100的任务4的数据传送请求信号PCEr。
传送许可候选决定电路70接受任务1的数据传送请求信号CPUr后,参照与任务1对应的更新时隙指定寄存器40。
然后,传送许可候选决定电路70参照更新时隙指定寄存器40中保存的信息表示的更新时隙寄存器30。
然后,在更新时隙寄存器30中保存的剩余预约时隙数的剩余时隙数(递减计数值)不是“0”的情况下,传送许可候选决定电路70将表示任务1是许可数据传送的候选(传送许可候选)的传送许可候选通知信号C输出到优先顺序选择电路54。
传送许可候选决定电路70接受任务2的数据传送请求信号VCEr后,参照与任务2对应的更新时隙指定寄存器41。
然后,传送许可候选决定电路70参照更新时隙指定寄存器41中保存的信息表示的更新时隙寄存器31。
然后,在更新时隙寄存器31中保存的预约时隙数的剩余时隙数(递减计数值)不是“0”的情况下,传送许可候选决定电路70将表示任务2是许可数据传送的候选(传送许可候选)的传送许可候选通知信号V输出到优先顺序选择电路54。
传送许可候选决定电路70接受任务3的数据传送请求信号ACEr后,参照与任务3对应的更新时隙指定寄存器42。
然后,传送许可候选决定电路70参照更新时隙指定寄存器42中保存的信息表示的更新时隙寄存器32。
然后,在更新时隙寄存器32中保存的预约时隙数的剩余时隙数(递减计数值)不是“0”的情况下,传送许可候选决定电路70将表示任务3是许可数据传送的候选(传送许可候选)的传送许可候选通知信号A输出到优先顺序选择电路54。
传送许可候选决定电路70接受任务4的数据传送请求信号PCEr后,参照与任务4对应的更新时隙指定寄存器43。
然后,传送许可候选决定电路70参照更新时隙指定寄存器43中保存的信息表示的更新时隙寄存器30。
然后,在更新时隙寄存器30中保存的剩余预约时隙数的剩余时隙数(递减计数值)不是“0”的情况下,传送许可候选决定电路70将表示任务4是许可数据传送的候选(传送许可候选)的传送许可候选通知信号P输出到优先顺序选择电路54。
在优先级寄存器50中,保存有表示任务1的优先级的信息。在优先级寄存器51中,保存有表示任务2的优先级的信息。在优先级寄存器52中,保存有表示任务3的优先级的信息。在优先级寄存器53中,保存有表示任务4的优先级的信息。
优先级可从外部设置到优先级寄存器50~53中。例如,任务管理器100能够将优先级设置到优先级寄存器50~53中。
这里,优先级寄存器50~53构成优先级表。
该优先级表例如如图5所示,将优先级寄存器50设为任务1用,将优先级寄存器51设为任务2用,将优先级寄存器52设为任务3用,将优先级寄存器53设为任务4用。
在从传送许可候选决定电路70输入的传送许可候选通知信号为多个的情况下,即,在作为传送许可候选的任务为多个的情况下,优先顺序选择电路54参照优先级寄存器50~53,向多个传送许可候选中的、优先级最高的传送许可候选提供传送许可。
具体地说,优先顺序选择电路54经数据传送控制线7向任务管理器100输出表示提供传送许可的传送许可候选的传送许可信号。
其中,在图2中,传送许可信号CPUa表示对任务1的传送许可信号,传送许可信号VCEa表示对任务2的传送许可信号,传送许可信号ACEa表示对任务3的传送许可信号,传送许可信号PCEa表示对任务4的传送许可信号。
例如,在优先级表如图5所示的情况下,在优先顺序选择电路54接受了任务1的传送许可候选通知信号C及任务2的传送许可候选通知信号V的情况下,优先顺序选择电路54将表示向优先级高的任务2提供传送许可的传送许可信号VCEa输出到任务管理器100。
另一方面,优先顺序选择电路54参照与提供了传送许可的传送许可候选对应的更新时隙指定寄存器。
然后,优先顺序选择电路54将参照的更新时隙指定寄存器中保存的信息提供给剩余时隙数计算电路60。
然后,剩余时隙数计算电路60将优先顺序选择电路54提供的信息表示的更新时隙寄存器31、更新时隙寄存器32、或更新时隙寄存器30保存的剩余时隙数减去1个时隙。
剩余时隙数计算电路60将这样算出的表示剩余时隙数的信息,盖写到优先顺序选择电路54提供的信息表示的更新时隙寄存器31、更新时隙寄存器32、或更新时隙寄存器30中。
这样,每当提供了传送许可时,对被提供了传送许可的传送许可候选的预约时隙数或剩余预约时隙数进行递减计数。
以提供了传送许可信号的传送许可候选是任务3的情况为例对此进行说明。
这样,优先顺序选择电路54参照与任务3对应的更新时隙指定寄存器42。
然后,优先顺序选择电路54将更新时隙指定寄存器42中保存的信息、即表示更新时隙寄存器32的信息提供给剩余时隙数计算电路60。
然后,剩余时隙数计算电路60将优先顺序选择电路54提供的信息表示的更新时隙寄存器32保存的任务3的预约时隙数的剩余时隙数减去1个时隙。
剩余时隙数计算电路60将这样算出的表示任务3的剩余时隙数的信息,盖写到优先顺序选择电路54提供的信息表示的更新时隙寄存器32中。
这样,在本例中,对任务3的预约时隙数进行递减计数。
在递减计数的结果(减法的结果)是预约时隙数没有剩余的情况下,或者是剩余预约时隙数没有剩余的情况下,剩余时隙数计算电路60经中断信号线9向任务管理器100通知:使用没有剩余的预约时隙数或剩余预约时隙数的任务用尽了预约时隙数或剩余预约时隙数。
接受该通知,任务管理器100将更新时隙寄存器30~32中保存的时隙数在“1”个以上的任务作为调度对象。
假设图2的由剩余预约时隙寄存器20及预约时隙寄存器21、22构成的预约时隙表如图3所示来设置,图2的由更新时隙指定寄存器40~43构成的更新时隙指定表如图4所示来设置,图2的由优先级寄存器50~53构成的优先级表如图5所示来设置。
此情况下的本实施方式的总线仲裁器1的时序图与图6所示的相同。只是,在本实施方式中,总线仲裁器1仲裁各任务的各数据传送请求。
本实施方式的总线仲裁器1的处理流程与图7的流程图所示的相同。只是,在本实施方式中,总线仲裁器1仲裁各任务的各数据传送请求。
为了使未预先设置预约时隙数的任务1、4能够使用剩余预约时隙数,任务管理器100如上所述将表示更新时隙寄存器30的信息作为指定信息设置到与任务1、4对应的更新时隙指定寄存器40、43中。
因此,在未预先设置预约时隙数的任务1、4用完剩余预约时隙数的情况下,总线仲裁器1经中断信号线9向任务管理器100产生表示用完了剩余预约时隙数的中断。
此时,任务管理器100以上述中断为起点,通过将执行权交给其他任务2、3,能够保证预先设置了预约时隙数的任务2、3的时隙数。
如上所述,根据本实施方式,通过从外部监控剩余预约时隙寄存器20存储的剩余预约时隙数,能够预先判定总线的带宽不足是否会破坏以后要执行的模块的处理。
此外,通过从外部变更时隙分派周期寄存器10的设置,能够变更时隙分派周期。再者,通过从外部变更预约时隙寄存器21、22的设置,能够变更预约时隙数。其结果是,能够提高用户的便利性。
再者,在任务消耗了所有分配给该模块的预约时隙数的情况下,向任务管理器100通知消耗了所有预约时隙数的消息。由此,能够防止发出无用的数据传送请求。
其中,任务的种类并不限于上述任务1~4。
在图2中,预约时隙寄存器21、22的数目并不限于2个。可以是1个,也可以是3个以上。
此外,更新时隙寄存器31、32也并不限于2个。设有与预约时隙寄存器的数目对应的数目的更新时隙寄存器。
此外,更新时隙指定寄存器40~43并不限于4个。设有与模块的数目对应的数目的更新时隙指定寄存器。
此外,更新时隙指定寄存器中设置的指定信息并不限于上述,可以任意设置。
此外,优先级寄存器50~53并不限于4个。设有与模块的数目对应的数目的优先级寄存器。
此外,优先级寄存器中设置的优先级并不限于上述,可以任意设置。
接着,说明实施方式2的变形例。
该变形例组合了实施方式1和实施方式2。
即,本变形例的总线仲裁器仲裁来自多个模块及多个任务的数据传送请求。
下面说明该变形例的总线仲裁器的一例。在本例中,在图2的总线仲裁器中,设有各任务用的各预约时隙寄存器及各模块用的各预约时隙寄存器。
再者,对应于各任务用的各预约时隙寄存器及各模块用的各预约时隙寄存器,设有各更新时隙指定寄存器。
再者,对应于各任务及各模块,设有各优先级寄存器。
在此情况下,如果假设任务管理器100是在CPU 2上运行的软件,则变形例的数据处理装置的整体结构与图1所示的相同。
另一方面,在任务管理器100是能够控制CPU上的任务的硬件的情况下,或者是组合了该两者的任务控制机构的情况下,变形例的数据处理装置的整体结构是在图1的数据处理装置上添加了图8的任务管理器100。
下面说明变形例的总线仲裁器的另一例。
在本例中,假设任务管理器100是在CPU 2上运行的软件。这样,数据处理装置的整体结构与图1所示的相同。
此外,作为总线仲裁器的结构,可以使用图2所示的实施方式1的总线仲裁器。
在本例中,可以认为CPU 2是任务管理器100。因此,在与CPU 2对应的更新时隙指定寄存器40中,作为指定信息,设置与任务对应的更新时隙寄存器。
例如,作为指定信息,可以设置更新时隙寄存器30。在此情况下,任务管理器100管理的任务消耗剩余预约时隙寄存器20中保存的剩余预约时隙数。
此外,例如,作为指定信息,可以设置更新时隙寄存器31。在此情况下,任务管理器100管理的任务消耗预约时隙寄存器21中保存的预约时隙数。
下面示出此情况下的具体方案。
在CPU 2、即任务管理器100管理的图1及图2所示的系统中,将VCE3进行运动图像解压处理后、直至CPU 2执行的特技处理任务对图像数据实施滤波处理等特技的处理作为运动图像压缩解压处理。
此时,在与VCE 3对应的更新时隙指定寄存器41及与特技处理任务对应的更新时隙指定寄存器40两者中,通过设置更新时隙寄存器31,能够保证由VCE 3的处理及CPU 2上的特技处理任务的处理构成的运动图像解压处理的时隙数。
任务的优先级如下所述。与CPU 2对应的优先级寄存器50中保存的优先级为任务的优先级。

Claims (16)

1、一种总线仲裁器,仲裁总线上连接的多个模块间的数据传送请求,其中,
该总线仲裁器包括:时隙分派周期存储部件,存储表示由多个时隙构成的时隙分派周期的信息;
预约时隙数存储部件,存储表示预约时隙数的信息,该预约时隙数是预先分配给上述多个模块中的预定的上述模块的时隙数;
剩余预约时隙数存储部件,存储表示剩余预约时隙数的信息,该剩余预约时隙数是构成上述时隙分派周期的时隙数和上述预约时隙数之差;
剩余时隙数计算部件,每当被分配了上述预约时隙数的上述预定的模块的数据传送请求被许可时,计算上述预约时隙数的剩余时隙数,而且每当使用上述剩余预约时隙数的上述模块的数据传送请求被许可时,计算上述剩余预约时隙数的剩余时隙数;
第1更新时隙数存储部件,存储上述预约时隙数存储部件存储的表示上述预约时隙数的信息作为初值,而且存储上述剩余时隙数计算部件算出的、表示上述预约时隙数的上述剩余时隙数的信息;
第2更新时隙数存储部件,存储上述剩余预约时隙数存储部件存储的表示上述剩余预约时隙数的信息作为初值,而且存储上述剩余时隙数计算部件算出的、表示上述剩余预约时隙数的上述剩余时隙数的信息;
多个更新时隙数指定存储部件,对应于上述多个模块设置,分别存储分配给对应的上述模块的、表示上述第1更新时隙数存储部件或上述第2更新时隙数存储部件的信息;
传送许可候选决定部件,在有来自上述模块的数据传送请求的情况下,参照与该模块对应的上述更新时隙数指定存储部件存储的上述信息表示的上述第1更新时隙数存储部件或上述第2更新时隙数存储部件,在参照的上述第1更新时隙数存储部件或上述第2更新时隙数存储部件存储的上述剩余时隙数有剩余时,生成表示该模块是许可数据传送请求的候选的传送许可候选通知信号;以及
传送许可决定部件,根据预定的规则,决定是否许可来自上述传送许可候选通知信号表示的上述模块的数据传送请求;
在与被分配了上述预约时隙数的上述预定的模块对应的上述更新时隙数指定存储部件中,存储有表示上述第1更新时隙数存储部件的信息;
在与使用上述剩余预约时隙数的上述模块对应的上述更新时隙数指定存储部件中,存储有表示上述第2更新时隙数存储部件的信息;
每当经过上述时隙分派周期时,向上述第1更新时隙数存储部件中存储上述预约时隙数存储部件存储的表示上述预约时隙数的信息作为初值;
每当经过上述时隙分派周期时,向上述第2更新时隙数存储部件中存储上述剩余预约时隙数存储部件存储的表示上述剩余预约时隙数的信息作为初值。
2、如权利要求1所述的总线仲裁器,其中,
上述预定的模块是多个;
对应于上述多个预定的模块,设有多个上述预约时隙数存储部件;
对应于上述多个预约时隙数存储部件,设有多个上述第1更新时隙数存储部件。
3、如权利要求1所述的总线仲裁器,其中,在上述预约时隙数的上述剩余时隙数没有剩余的情况下,上述剩余时隙数计算部件向特定的上述模块通知下述消息:被分配了上述预约时隙数的上述预定的模块消耗了所有上述预约时隙数。
4、一种总线仲裁器,仲裁总线上连接的多个模块间的数据传送请求,其中,
该总线仲裁器包括:剩余预约时隙数存储部件,存储表示剩余预约时隙数的信息,该剩余预约时隙数为由多个时隙构成的时隙分派周期的时隙数、和作为预先分配给上述多个模块中的预定的上述模块的时隙数的预约时隙数之差。
5、如权利要求4所述的总线仲裁器,其中,还包括存储表示上述时隙分派周期的信息的时隙分派周期存储部件。
6、如权利要求4所述的总线仲裁器,其中,还包括存储表示上述预约时隙数的信息的预约时隙数存储部件。
7、如权利要求4所述的总线仲裁器,其中,在上述预定的模块消耗了所有上述预约时隙数的情况下,向特定的上述模块通知消耗了所有上述预约时隙数的消息。
8、如权利要求4所述的总线仲裁器,其中,
上述预定的模块是多个;
上述剩余预约时隙数存储部件存储表示剩余预约时隙数的信息,该剩余预约时隙数为构成上述时隙分派周期的时隙数、和多个上述预约时隙数的合计之差。
9、一种总线仲裁器,仲裁总线上连接的任务管理器管理的多个任务的数据传送请求,其中,
该总线仲裁器包括:时隙分派周期存储部件,存储表示由多个时隙构成的时隙分派周期的信息;
预约时隙数存储部件,存储表示预约时隙数的信息,该预约时隙数为预先分配给上述多个任务中的预定的上述任务的时隙数;
剩余预约时隙数存储部件,存储表示剩余预约时隙数的信息,该剩余预约时隙数为构成上述时隙分派周期的时隙数和上述预约时隙数之差;
剩余时隙数计算部件,每当被分配了上述预约时隙数的上述预定的任务的数据传送请求被许可时,计算上述预约时隙数的剩余时隙数,而且每当使用上述剩余预约时隙数的上述任务的数据传送请求被许可时,计算上述剩余预约时隙数的剩余时隙数;
第1更新时隙数存储部件,存储上述预约时隙数存储部件存储的表示上述预约时隙数的信息作为初值,而且存储上述剩余时隙数计算部件算出的、表示上述预约时隙数的上述剩余时隙数的信息;
第2更新时隙数存储部件,存储上述剩余预约时隙数存储部件存储的表示上述剩余预约时隙数的信息作为初值,而且存储上述剩余时隙数计算部件算出的、表示上述剩余预约时隙数的上述剩余时隙数的信息;
多个更新时隙数指定存储部件,对应于上述多个任务设置,分别存储分配给对应的上述任务的、表示上述第1更新时隙数存储部件或上述第2更新时隙数存储部件的信息;
传送许可候选决定部件,在有来自上述任务的数据传送请求的情况下,参照与该任务对应的上述更新时隙数指定存储部件存储的上述信息表示的上述第1更新时隙数存储部件或上述第2更新时隙数存储部件,在参照的上述第1更新时隙数存储部件或上述第2更新时隙数存储部件存储的上述剩余时隙数有剩余时,生成表示该任务是许可数据传送请求的候选的传送许可候选通知信号;以及
传送许可决定部件,根据预定的规则,决定是否许可来自上述传送许可候选通知信号表示的上述任务的数据传送请求;
在与被分配了上述预约时隙数的上述预定的任务对应的上述更新时隙数指定存储部件中,存储有表示上述第1更新时隙数存储部件的信息;
在与使用上述剩余预约时隙数的上述任务对应的上述更新时隙数指定存储部件中,存储有表示上述第2更新时隙数存储部件的信息;
每当经过上述时隙分派周期时,向上述第1更新时隙数存储部件中存储上述预约时隙数存储部件存储的表示上述预约时隙数的信息作为初值;
每当经过上述时隙分派周期时,向上述第2更新时隙数存储部件中存储上述剩余预约时隙数存储部件存储的表示上述剩余预约时隙数的信息作为初值。
10、如权利要求9所述的总线仲裁器,其中,
上述预定的任务是多个;
对应于上述多个预定的任务,设有多个上述预约时隙数存储部件;
对应于上述多个预约时隙数存储部件,设有多个上述第1更新时隙数存储部件。
11、如权利要求9所述的总线仲裁器,其中,在上述预约时隙数的上述剩余时隙数没有剩余的情况下,上述剩余时隙数计算部件向上述任务管理器通知下述消息:被分配了上述预约时隙数的上述预定的任务消耗了所有上述预约时隙数。
12、一种总线仲裁器,仲裁总线上连接的任务管理器管理的多个任务间的数据传送请求,其中,该总线仲裁器包括:
剩余预约时隙数存储部件,存储表示剩余预约时隙数的信息,该剩余预约时隙数为由多个时隙构成的时隙分派周期的时隙数、和作为预先分配给上述多个任务中的预定的上述任务的时隙数的预约时隙数之差。
13、如权利要求12所述的总线仲裁器,其中,还包括存储表示上述时隙分派周期的信息的时隙分派周期存储部件。
14、如权利要求12所述的总线仲裁器,其中,还包括存储表示上述预约时隙数的信息的预约时隙数存储部件。
15、如权利要求12所述的总线仲裁器,其中,在上述预定的任务消耗了所有上述预约时隙数的情况下,向上述任务管理器通知消耗了所有上述预约时隙数的消息。
16、如权利要求12所述的总线仲裁器,其中,
上述预定的任务是多个;
上述剩余预约时隙数存储部件存储表示剩余预约时隙数的信息,该剩余预约时隙数为构成上述时隙分派周期的时隙数、和多个上述预约时隙数的合计之差。
CNB2004100013099A 2003-01-07 2004-01-06 总线仲裁器 Expired - Fee Related CN1249594C (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP000818/2003 2003-01-07
JP2003000818 2003-01-07
JP000818/03 2003-01-07

Publications (2)

Publication Number Publication Date
CN1517896A true CN1517896A (zh) 2004-08-04
CN1249594C CN1249594C (zh) 2006-04-05

Family

ID=32767182

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2004100013099A Expired - Fee Related CN1249594C (zh) 2003-01-07 2004-01-06 总线仲裁器

Country Status (2)

Country Link
US (1) US20040153591A1 (zh)
CN (1) CN1249594C (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100426276C (zh) * 2006-12-07 2008-10-15 威盛电子股份有限公司 总线相容装置和暂存值修正方法
CN101288057B (zh) * 2005-08-19 2010-08-18 高通股份有限公司 基于传送方向及耗用带宽的加权总线仲裁
CN106681947A (zh) * 2016-12-27 2017-05-17 盛科网络(苏州)有限公司 动态分配带宽的总线仲裁器的实现方法

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4480427B2 (ja) * 2004-03-12 2010-06-16 パナソニック株式会社 リソース管理装置
US8213461B2 (en) * 2006-03-29 2012-07-03 Arm Limited Method of designating slots in a transmission frame for controlling transmission of data over an interconnect coupling a plurality of master units with a plurality of slave units
US20090167947A1 (en) * 2007-12-27 2009-07-02 Naoko Satoh Video data processor and data bus management method thereof

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5875309A (en) * 1997-04-18 1999-02-23 3Com Corporation Arbitration system using linked table
US6526518B1 (en) * 1997-05-22 2003-02-25 Creative Technology, Ltd. Programmable bus
JP3712842B2 (ja) * 1997-08-05 2005-11-02 株式会社リコー データ転送制御方法、データ転送制御装置及び情報記録媒体
US6434649B1 (en) * 1998-10-14 2002-08-13 Hitachi, Ltd. Data streamer

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101288057B (zh) * 2005-08-19 2010-08-18 高通股份有限公司 基于传送方向及耗用带宽的加权总线仲裁
CN100426276C (zh) * 2006-12-07 2008-10-15 威盛电子股份有限公司 总线相容装置和暂存值修正方法
CN106681947A (zh) * 2016-12-27 2017-05-17 盛科网络(苏州)有限公司 动态分配带宽的总线仲裁器的实现方法
CN106681947B (zh) * 2016-12-27 2019-08-09 盛科网络(苏州)有限公司 动态分配带宽的总线仲裁器的实现方法

Also Published As

Publication number Publication date
CN1249594C (zh) 2006-04-05
US20040153591A1 (en) 2004-08-05

Similar Documents

Publication Publication Date Title
CN1295583C (zh) 实现实时操作的方法和系统
CN1287282C (zh) 执行实时操作的方法和系统
CN1120425C (zh) 存储器控制器和存储器控制方法
CN1601474A (zh) 执行实时操作的方法和系统
CN1577311A (zh) 调度方法和实时处理系统
CN1577281A (zh) 调度方法和信息处理系统
CN1673965A (zh) 实时可调度性确定方法和实时系统
CN1427335A (zh) 电路组控制系统
CN1252646C (zh) 图像处理方法和图像处理装置
CN1255967C (zh) 频带保证系统、中继装置及网络管理服务器
CN1734438A (zh) 信息处理设备、信息处理方法和程序
CN101040306A (zh) 伪随机数生成装置
CN1490733A (zh) 服务提供方法
CN1200571C (zh) 正交变换、逆正交变换方法及装置、编码、解码方法及装置
CN1734423A (zh) 与可用接口相符的设备驱动程序的安装装置和方法
CN1201519C (zh) 数据一致性检测装置、数据一致性判断装置及数据挑选装置
CN1744720A (zh) 可变长度解码装置
CN1662864A (zh) 传送用于指定知识产权管理与保护工具的信息的方法
CN1178490C (zh) 数据处理方法、数据处理装置
CN1249594C (zh) 总线仲裁器
CN1764928A (zh) 多等级单色图像显示方法,多等级单色图像显示设备,计算机,单色显示设备,再转换适配器,和视频卡
CN1783784A (zh) 信息处理装置和方法,记录媒体,以及程序
CN1167946A (zh) 响应于对相同文件的多个请求对数据进行分配的装置
CN1237731A (zh) 数据处理方法、记录介质及数据处理设备
CN1302395C (zh) 图像处理方法以及图像处理装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
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