I/o控制器、信号处理系统以及传输数据的方法

文档序号:6556560阅读:165来源:国知局
专利名称:I/o控制器、信号处理系统以及传输数据的方法
技术领域
本发明涉及用于将数据从存储器传输到I/O装置的I/O控制器、信号处理系统以及传输数据的方法。
背景技术
近来,已经开发了各种类型的信号处理系统,如个人计算机和音频视频(AV)设备。在这些信号处理系统中,为了有效地传输大量数据流如AV数据,使用了直接存储器存取(DMA)传输。
使用描述符链信息的DMA传输,即基于描述符的DMA传输已经开始使用。描述符链信息由链式连接的多个传输描述符(或简称为描述符)组成。每个传输描述符是描述要执行的数据传输的内容的传输信息。在DMA传输开始之前,由软件在主存储器上准备好描述符链信息。
DMA控制器从主存储器中读取当前的传输描述符,并且按照读取的传输描述符执行DMA传输。当完成DMA传输时,DMA控制器从主存储器中读取下一个传输描述符。由此,DMA控制器自动执行一系列数据传输,数据传输的次数与包括在描述符链信息中的传输描述符的数量对应。
但是,每当DMA控制器执行DMA传输时,DMA控制器必须从主存储器读取传输描述符。这种读取操作增加了关于处理描述符链信息的负担以及存储器总线的使用率。
日本专利申请KOKAI公报6-236341披露了一种进行DMA传输的I/O控制器。该I/O控制器从主存储器读取两个信道控制块(channelcontrol block,CCB),并且将这两个信道控制块设置在I/O控制器的寄存器中,每个信道控制块包括传输信息。
但是,即使在上述公报的I/O控制器中,为了获得传输信息,也必须对主存储器进行读访问。既不能减少关于处理传输信息的负担,也不能减少存储器总线的使用率。

发明内容
本发明的目的是提供一种I/O控制器、一种信号处理系统以及一种传输数据的方法,能够减小关于处理描述符链信息的负担,高效率地传输数据并且保证总线的频带。
按照本发明的实施例,提供了一种I/O控制器,用于根据处理器的请求,在存储器与I/O装置之间传输数据,这种I/O控制器包括存储单元,由处理器对其进行写访问,并且该存储单元存储由处理器写入的描述符链信息,描述符链信息包括多个描述符,每个描述符对要执行的数据传输的内容进行描述;以及数据传输控制单元,用于按顺序对描述符进行处理,并且,通过直接存储器存取执行一系列数据传输,以便将数据从存储器传输到I/O装置。


并入本说明书并且构成了本说明书的一部分的附图示出了本发明的实施例,并且,附图与以上给出的基本描述以及以下给出的、对实施例的详细描述一起,对本发明的原理进行说明。
图1为示出了按照本发明的实施例的信号处理系统的配置的示例性框图;图2为示出了在图1所示的信号处理系统中使用的描述符链的示例性配置;图3为示出了如图1所示的、被应用于数字电视广播接收器的信号处理系统的配置的示例性框图;图4为示出了在图3所示的信号处理系统中使用的I/O控制器的配置的示例性框图;图5示出了在图3所示的信号处理系统中,在TD链与视频存储器之间的关系;
图6为示出了用于在图3所示的信号处理系统中的DMA传输的程序的示例性流程图;图7示出了在图3所示的信号处理系统中,在TD链与视频存储器之间的另一种关系;图8示出了从在图3所示的信号处理系统中提供的显示控制器输出的两个视频信号;并且图9为示出了在图3所示的信号处理系统中使用的DMAC的配置的示例性框图。
具体实施例方式
以下将参照附图对本发明的实施例进行描述。
图1示出了按照本发明实施例的信号处理系统的配置。信号处理系统是一种对数字信号进行处理并且被实现为个人计算机、电视机以及音频视频(AV)设备的系统。
信号处理系统包括中央处理单元(CPU)11、主存储器12、I/O控制器13以及I/O装置14。这些部件被连接到处理器总线10。
CPU 11是一个处理器,用于对各项数据进行处理,以便对信号处理系统的操作进行控制。主存储器12是一个存储器装置,用于存储要由CPU 11执行的程序以及要由CPU 11处理的数据。I/O控制器13对I/O装置14进行控制。应CPU 11的请求,I/O控制器13通过直接存储器存取(DMA),在主存储器12与I/O装置14之间传输数据。为了执行DMA,I/O控制器13包括DMA控制器(DMA controller,DMAC)101。
DMAC 101是一个数据传输控制单元,用于执行所谓的基于描述符的DMA传输。DMAC 101按照传输描述符TD(transfer descriptor,简称为描述符TD)执行DMA传输。换句话说,DMAC 101按照描述符链信息(TD链)执行DMA传输。描述符链信息是关于要执行的多个数据传输的内容的信息,并且,包括多个描述数据传输内容的传输描述符TD。这些传输描述符TD被链式连接。
DMAC 101包括用于存储TD链的TD链存储单元102。TD链存储单元102是一个在DMAC 101中提供的本地存储单元。CPU 11能够对TD链存储单元102进行写访问。TD链存储单元102存储由CPU 11写入的TD链。TD链存储单元102是一个寄存器或本地存储器。
DMAC 101顺序地对包括在由CPU 11写入TD链存储单元102的TD链中的传输描述符TD进行处理,由此通过直接存储器存取,执行在主存储器12与I/O装置14之间的一系列数据传输。
在本实施例的信号处理系统中,TD链被保持在I/O控制器13的DMAC 101中。因此,I/O控制器13不必在每次执行DMA传输时,进行从主存储器12中读取当前的传输描述符TD的存储器读操作。因此,可以大大减小关于处理TD链的负担。在DMAC 101中,在本地获得了用于读取传输描述符的对存储器的访问,并且不对总线10进行访问。由此可以保证总线10的频带。
以下将对主存储器12与I/O装置14之间的数据传输进行描述。
(1)在DMA传输开始之前,CPU 11将TD链写入DMAC 101中的TD链存储单元102。然后,CPU 11向DMAC 101中的控制寄存器发出指令,命令DMAC 101开始执行数据传输。
(2)、(3)参照包括在存储在TD链存储单元102中的TD链中的传输描述符,DMAC 101对数据传输源及其目的地进行判断。然后,DMAC101开始执行DMA传输。如果源是主存储器12而目的地是I/O装置14,则DMAC 101从主存储器12读出数据并将其写入I/O装置14。如果源是I/O装置14而目的地是主存储器12,则DMAC 101从I/O装置14读出数据并将其写入主存储器12。
图2示出了存储在TD链存储单元102中的TD链的配置。
包括在TD链中的每个传输描述符(TD#1,TD#2,TD#3,…)是对要执行的数据传输的内容进行描述的传输信息。每个传输描述符(TD)包括源地址(SRC_ADDR)字段201、目的地地址(TRG_ADDR)字段202、传输规模(TR_SIZE)字段203和指针(NEXT_TD)字段204等。
源地址(SRC_ADDR)字段201代表存储要传输的数据的地址。目的地地址(TRG_ADDR)字段202代表数据被传输到的目的地的地址。传输规模(TR_SIZE)字段203代表要传输的数据的大小。
指针(NEXT_TD)字段204代表存储下一个TD的位置。例如,TD#1的指针(NEXT_TD)字段204代表TD#2的起始地址,TD#2的指针(NEXT_TD)字段204代表TD#3的起始地址。
图3示出了被应用于数字电视广播接收器的信号处理系统的配置。
参照图3,CPU 11被实现为包括用于对主存储器12进行控制的存储器控制器的处理器。I/O控制器13通过处理器总线10被连接到CPU11。I/O控制器13对电视调谐器21、视频存储器22和显示控制器23进行控制。
电视调谐器21是一个用于接收数字广播节目数据的接收设备。数字广播节目数据由传输流组成,传输流包括通过MPEG2等被压缩编码的视频数据。由电视调谐器21接收的传输流通过I/O控制器13被发送到CPU 11。CPU 11对包括在传输流中的被压缩编码的视频数据进行解码。在主存储器12上进行这个解码处理。经过解码的视频数据被从主存储器12传送到视频存储器22。视频存储器22是一个本地存储器,被连接到I/O控制器13并被用作存储要被显示的视频数据的缓冲器。例如,视频存储器22存储用于八个帧的视频数据。视频存储器22被映射在CPU11能够访问的存储器地址空间中。
DMAC 101顺序地对包括在被CPU 11写入TD链存储单元102的TD链中的多个传输描述符TD进行处理。由此,DMAC 101通过直接存储器存取进行一系列数据传输,将视频数据从视频存储器22传输到显示控制器23。显示控制器23是一个输出视频数据的I/O装置,视频数据被从视频存储器22传输到显示装置。显示控制器23生成与从视频存储器22传输的视频数据对应的视频输出信号,并且将视频输出信号输出到显示装置,如电视监视器。
由于从视频存储器22到显示控制器23的视频数据传输是屏幕刷新操作的一部分,因此,用于对再现视频数据进行控制的软件不必对传输成功与否进行管理。换句话说,该软件只需要对视频数据进行管理,直到视频数据被传输到视频存储器22为止。因此,DMAC 101不必每当完成对一个传输描述符TD的处理时,将传输的完成通知给CPU 11。
在DMAC从主存储器中读出传输描述符TD的一般系统中,DMAC将表示完成传输的状态标志写到主存储器上的传输描述符TD中,并且将完成对传输描述符TD的处理通知CPU。
图3所示的系统不必将完成对传输描述符TD的处理通知给CPU11。在主存储器12上不需要传输描述符TD。因此,图3所示的系统对DMAC 101将TD链保持在其中的I/O控制器13的配置有利。
图4示出了被应用于图3所示的信号处理系统的I/O控制器13的配置。
I/O控制器13包括内部总线200、处理器接口211、DMAC 212、存储器控制器213以及DMAC 101。处理器接口211通过处理器总线10与CPU 11通信。DMAC 212执行DMA传输,将视频数据从主存储器11传输到视频存储器22。与DMAC 101相似,DMAC 212顺序地对包括在被CPU 11写到DMAC 212中的TD链存储单元中的TD链中的多个传输描述符进行处理。由此,DMAC 212进行一系列数据传输,将视频数据从主存储器11传输到视频存储器22。使由DMAC 212进行的从主存储器12到视频存储器22的数据传输与由DMAC 101进行的从视频存储器22到显示控制器23的数据传输彼此同步。CPU 11可以在不使用DMAC 212的情况下,将视频数据写到视频存储器22。存储器控制器213对视频存储器22进行控制。
图5示出了存储在TD链存储单元102中的TD链与视频存储器22之间的关系。
视频存储器22包括八个存储区域,用于分别存储八个帧数据项。TD链由表示作为数据传输源的八个存储区域的八个传输描述符(TD#1到TD#8)组成。TD#8中的指针代表作为下一个要处理的传输描述符的TD#1。由此,DMAC 101对包括八个传输描述符(TD#1到TD#8)的TD链反复进行处理。每个传输描述符的传输规模与一帧的数据规模一致。按照给定时序,依次对存储在视频存储器22中的视频数据的内容进行更新。在第一轮TD链处理中,对帧1到8中的每一帧的数据进行传输。在第二轮TD链处理中,对帧9到16中的每一帧的数据进行传输。在第三轮TD链处理中,对帧17到24中的每一帧的数据进行传输。
如果存储区域的数量为N,则包括在TD链中的传输描述符的数量也为N。N为大于1整数。
下面参照图6示出的流程图,对将数据从视频存储器22传输到显示控制器23的过程进行描述。
CPU 11将TD链写到DMAC 101中的TD链存储单元102中(步骤S101)。
DMAC 101查询存储在TD链存储单元102中的TD链中的起始传输描述符(步骤S102),并且执行由该传输描述符指定的DMA传输(步骤S103)。完成DMA传输之后,DMAC 101查询存储在TD链存储单元102中的TD链中的下一个描述符(步骤S102),并且执行由该传输描述符指定的DMA传输(步骤S103)。由此,DMAC 101顺序地对存储在TD链存储单元102中的TD链中的传输描述符进行处理。
下面对同时将两个不同的视频数据项从视频存储器22传输到显示控制器23的处理进行描述。这样的处理用于在两个显示器上同时显示两个视频数据项。
图7示出了存储在TD链存储单元102中的TD链与视频存储器22之间的另一种关系。视频存储器22被分为两个存储区域。一个存储区域是存储用于显示器#1的视频数据的区域,而另一个存储区域是存储用于显示器#2的视频数据的区域。存储用于显示器#1的视频数据的区域包括N(例如六)个第一存储区域,用于分别存储N(例如六)帧数据项。存储用于显示器#2的视频数据的区域包括M(例如二)个第二存储区域,用于分别存储M(例如二)帧数据项。
在TD链的八个传输描述符(TD#1到TD#8)中,N个或六个传输描述符(TD#1到TD#6)将它们各自的、用于显示器#1的N或六个第一存储区域指定为数据传输源,而剩下的M个或两个传输描述符(TD#7和TD#8)将它们各自的、用于显示器#2的M或两个第二存储区域指定为数据传输源。TD#6中的指针代表作为下一个要处理的传输描述符的TD#1,而TD#8中的指针代表作为下一个要处理的传输描述符的TD#7。N和M都必须是大于1的整数。
参照图9,DMAC 101包括两个DMAC核心301和302。DMAC核心301用作第一传输处理单元,而DMAC核心302用作第二传输处理单元。DMAC核心301对六个传输描述符(TD#1到TD#6)进行处理,DMAC核心302对两个传输描述符(TD#7和TD#8)进行处理。由此,可以彼此同步地将两个视频数据项从视频存储器22传输到显示控制器23。显示控制器23生成两个视频输出信号,如图8所示。视频输出信号中的一个根据要从用于显示器#1的六个存储区域传输的数据生成,另一个视频输出信号根据要从用于显示器#2的两个存储区域传输的数据生成。
下面将参照图9,对DMAC 101的配置进行详细描述。
DMAC 101包括TD链存储单元102、两个DMAC核心301和302以及控制寄存器303。控制寄存器303保持表示要被DMAC核心301处理的起始TD(TD#1)的位置的第一指针信息和表示要被DMAC核心302处理的起始TD(TD#7)的位置的第二指针信息。CPU 11将第一指针信息和第二指针信息写入控制寄存器303。DMAC核心301重复TD#1到TD#6的处理,以进行将用于显示器#1的视频数据传输到显示控制器23的DMA传输。DMAC核心302重复TD#7和TD#8的处理,以进行将用于显示器#2的视频数据传输到显示控制器23的DMA传输。
在本实施例中,如上所述,在DMAC 101中提供TD链存储单元102。能够减小关于处理TD链的负担,并且因此能够减小总线的使用率。由此能够增加数据传输效率。此外,能够保证如处理器总线、存储器总线和系统总线等总线的频带,并且因此能够提高系统的性能。
对于本领域技术人员来说,另外的优点和修改很容易出现。因此,在本发明更广的方面,本发明不限于这里所示出和描述的具体细节和典型实施例。因此,在不脱离由所附权利要求以及它们的等价物所限定的一般发明概念的精神和范围的情况下,可以进行各种修改。
权利要求
1.一种I/O控制器,用于根据处理器的请求,在存储器与I/O装置之间传输数据,其特征在于包括存储单元,由所述处理器对其进行写访问,并且该存储单元存储由所述处理器写入的描述符链信息,所述描述符链信息包括多个描述符,每个描述符对要执行的数据传输的内容进行描述;以及数据传输控制单元,用于按顺序对所述描述符进行处理,并且,通过直接存储器存取执行一系列数据传输,将数据从所述存储器传输到所述I/O装置。
2.如权利要求1所述的I/O控制器,其特征在于,所述存储器包括N(N>1)个存储区域,用于存储构成视频数据的N帧数据项,所述描述符链信息包括将这N个存储区域指定为数据传输源的N个描述符,并且,所述数据传输控制单元对所述描述符链信息反复进行处理,以将视频数据从所述存储器传输到所述I/O装置。
3.如权利要求2所述的I/O控制器,其特征在于,所述I/O装置被配置为将从所述存储器传输的视频数据输出到显示装置。
4.如权利要求1所述的I/O控制器,其特征在于,所述存储器包括N(N>1)个第一存储区域和M(M>1)个第二存储区域,其中,所述第一存储区域用于存储构成第一视频数据的N帧数据项,所述第二存储区域用于存储构成第二视频数据的M帧数据项,所述描述符链信息包括具有N个第一描述符的第一描述符链信息和具有M个第二描述符的第二描述符链信息,其中,所述N个第一描述符用于将所述N个第一存储区域指定为数据传输源,并且,所述M个第二描述符用于将所述M个第二存储区域指定为数据传输源,并且所述数据传输控制单元包括第一传输处理单元和第二传输处理单元,其中,所述第一传输处理单元对所述第一描述符链信息反复进行处理,以便通过直接存储器存取,将第一视频数据从所述存储器传输到所述I/O装置,所述第二传输处理单元对所述第二描述符链信息反复进行处理,以便通过直接存储器存取,将第二视频数据从所述存储器传输到所述I/O装置。
5.如权利要求4所述的I/O控制器,其特征在于,所述I/O装置被配置为将从所述存储器传输的第一视频数据输出到第一显示装置,并且将从所述存储器传输的第二视频数据输出到第二显示装置。
6.如权利要求1所述的I/O控制器,其特征在于,所述存储器是存储视频数据的视频存储器,所述I/O控制器还包括用于通过直接存储器存取执行一系列数据传输,以将视频数据从主存储器传输到所述视频存储器的装置,并且,所述数据传输控制单元按顺序对所述描述符进行处理并且通过直接存储器存取执行一系列数据传输,以将视频数据从所述视频存储器传输到所述I/O装置。
7.一种信号处理系统,其特征在于包括处理器,用于对各个数据项进行处理;I/O装置;存储器;以及I/O控制器,被耦合到所述处理器,以便按照所述处理器的请求,将数据从所述存储器传输到所述I/O装置,所述I/O控制器包括存储单元,由所述处理器对其进行写访问,并且该存储单元存储由所述处理器写入的描述符链信息,所述描述符链信息包括多个描述符,每个描述符对要执行的数据传输的内容进行描述;以及,数据传输控制单元,用于按顺序对所述描述符进行处理,并且通过直接存储器存取执行一系列数据传输,将数据从所述存储器传输到所述I/O装置。
8.如权利要求7所述的信号处理系统,其特征在于,所述存储器包括N(N>1)个存储区域,用于存储构成视频数据的N帧数据项,所述描述符链信息包括将这N个存储区域指定为数据传输源的N个描述符,并且,所述数据传输控制单元对所述描述符链信息反复进行处理,以将视频数据从所述存储器传输到所述I/O装置。
9.如权利要求8所述的信号处理系统,其特征在于,所述I/O装置被配置为将从所述存储器传输的视频数据输出到显示装置。
10.如权利要求7所述的信号处理系统,其特征在于,所述存储器包括N(N>1)个第一存储区域和M(M>1)个第二存储区域,其中,所述第一存储区域用于存储构成第一视频数据的N帧数据项,所述第二存储区域用于存储构成第二视频数据的M帧数据项,所述描述符链信息包括具有N个第一描述符的第一描述符链信息和具有M个第二描述符的第二描述符链信息,其中,所述N个第一描述符用于将所述N个第一存储区域指定为数据传输源,并且,所述M个第二描述符用于将所述M个第二存储区域指定为数据传输源,并且所述数据传输控制单元包括第一传输处理单元和第二传输处理单元,其中,所述第一传输处理单元对所述第一描述符链信息反复进行处理,以便通过直接存储器存取,将第一视频数据从所述存储器传输到所述I/O装置,所述第二传输处理单元对所述第二描述符链信息反复进行处理,以便通过直接存储器存取,将第二视频数据从所述存储器传输到所述I/O装置。
11.如权利要求7所述的信号处理系统,其特征在于,所述存储器是存储视频数据的视频存储器,所述I/O控制器还包括用于通过直接存储器存取执行一系列数据传输,以将视频数据从主存储器传输到所述视频存储器的装置,并且,所述数据传输控制单元按顺序对所述描述符进行处理并且通过直接存储器存取执行一系列数据传输,以将视频数据从所述视频存储器传输到所述I/O装置。
12.一种方法,用于根据处理器的请求,通过直接存储器存取,将数据从存储器传输到I/O装置,所述方法的特征在于包括如下步骤将描述符链信息写入控制器中的本地存储单元,其中,所述描述符链信息包括多个描述符,每个描述符对要执行的数据传输的内容进行描述,所述控制器被配置用来进行直接存储器存取;并且由所述控制器按顺序对所述描述符进行处理,并且,通过直接存储器存取执行一系列数据传输,以将数据从所述存储器传输到所述I/O装置。
13.如权利要求12所述的方法,其特征在于,所述存储器包括N(N>1)个存储区域,用于存储构成视频数据的N帧数据项,所述描述符链信息包括将这N个存储区域指定为数据传输源的N个描述符。
14.如权利要求12所述的方法,其特征在于,所述存储器是存储视频数据的视频存储器,所述方法还包括通过直接存储器存取执行一系列数据传输,以将视频数据从主存储器传输到所述视频存储器,并且,所述的执行一系列数据传输的步骤包括按顺序对所述描述符进行处理,并且通过直接存储器存取执行一系列数据传输,以将视频数据从所述视频存储器传输到所述I/O装置。
全文摘要
I/O控制器(13)根据处理器(11)的请求,在存储器(12)与I/O装置(14)之间传输数据。I/O控制器(13)包括存储单元(102)和数据传输控制单元(101),其中由处理器(11)对存储单元(102)进行写访问,并且存储单元(102)存储由处理器(11)写入的描述符链信息,描述符链信息包括多个描述符,每个描述符对要执行的数据传输的内容进行描述;并且,数据传输控制单元(101)按顺序对描述符进行处理,并且通过直接存储器存取执行一系列数据传输,以将数据从存储器(12)传输到I/O装置(14)。
文档编号G06F13/28GK1834946SQ200610051440
公开日2006年9月20日 申请日期2006年2月24日 优先权日2005年3月15日
发明者高宫健, 村野义明 申请人:株式会社东芝
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1