CN101521960B - 一种基带和协处理器间的通信方法、装置及系统 - Google Patents

一种基带和协处理器间的通信方法、装置及系统 Download PDF

Info

Publication number
CN101521960B
CN101521960B CN2009100776948A CN200910077694A CN101521960B CN 101521960 B CN101521960 B CN 101521960B CN 2009100776948 A CN2009100776948 A CN 2009100776948A CN 200910077694 A CN200910077694 A CN 200910077694A CN 101521960 B CN101521960 B CN 101521960B
Authority
CN
China
Prior art keywords
coprocessor
register
base band
command word
memory
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.)
Active
Application number
CN2009100776948A
Other languages
English (en)
Other versions
CN101521960A (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.)
Mid Star Technology Ltd By Share Ltd
Original Assignee
Vimicro 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 Vimicro Corp filed Critical Vimicro Corp
Priority to CN2009100776948A priority Critical patent/CN101521960B/zh
Publication of CN101521960A publication Critical patent/CN101521960A/zh
Application granted granted Critical
Publication of CN101521960B publication Critical patent/CN101521960B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Mobile Radio Communication Systems (AREA)

Abstract

本发明提供了一种基带和协处理器间的通信方法、装置及系统,以解决现有的通信机制存在通信效率不高、通信协议较为复杂、占用内存资源的问题。所述方法包括:判断传输数据量的大小,如果未超过预置阈值,则根据所述传输数据量的大小,选择协处理器中一个或多个空闲的寄存器,进行基带和协处理器间的通信;如果超过预置阈值,则动态分配所述协处理器中全部或部分空闲的内存空间,进行基带和协处理器间的通信,并在通信结束后释放该内存空间。本发明通信效率高,通信协议简洁高效,而且通信过程节省内存空间。

Description

一种基带和协处理器间的通信方法、装置及系统
技术领域
本发明涉及通信技术领域,特别是涉及一种基带和协处理器间的通信方法、装置及系统。
背景技术
协处理器是一种芯片,用于减轻系统微处理器的特定处理任务。而多媒体协处理器(即多媒体芯片)已经成为诸多手机芯片厂商在手机市场大举斩获的一个重要途径。所述多媒体协处理器包括移动多媒体处理器、移动音频处理器、移动视频处理器等等。
在多媒体手机的开发中,基带和多媒体协处理器的通信机制一直是非常重要的一项关键技术,因为一套高效而稳定的通信机制对整个系统的稳定性和性能有着至关重要的作用。现有的通信机制都是基于共享内存的方式来实现,即基带和多媒体协处理器共享一块内存区域,该内存区域可以是SDRAM(Synchronous Dynamic random access memory,同步动态随机存储器,即同步内存)或者是SRAM(Static random access memory,静态随机存储器)。基带和多媒体协处理器分时读写这部分区域,并根据预先定义好的协议进行通信。
但是,这种基于共享内存的通信方式存在以下问题:
第一,通信效率不高,因为基带对共享内存的访问速度比较慢,而且用于通信的共享内存区域一般需要关闭缓存,这样速度会更慢;
第二,通信协议较为复杂,因为可以使用的共享内存的空间比较大,所以一般通信协议制定的比较复杂,造成通信的稳定性差;
第三,占用内存资源,因为用于通信的共享内存区域无法给其他模块使用。
发明内容
本发明所要解决的技术问题是提供一种基带和协处理器间的通信方法、装置及系统,以解决现有的通信机制存在通信效率不高、通信协议较为复杂、占用内存资源的问题。
为了解决上述问题,本发明公开了一种基带和协处理器间的通信方法,包括:
判断传输数据量的大小,如果未超过预置阈值,则根据所述传输数据量的大小,选择协处理器中一个或多个空闲的寄存器,进行基带和协处理器间的通信;
如果超过预置阈值,则动态分配所述协处理器中全部或部分空闲的内存空间,进行基带和协处理器间的通信,并在通信结束后释放该内存空间。
其中,所述动态分配所述协处理器的内存空间,进行基带和协处理器间的通信,具体包括:选择空闲的寄存器;动态分配所述协处理器中全部或部分空闲的内存空间,并将分配的内存地址保存到所选择的寄存器中;当进行基带和协处理器间的通信时,从所述寄存器中读取内存地址并访问内存。
其中,所述选择协处理器中一个或多个空闲的寄存器,进行基带和协处理器间的通信,具体包括:一端构建需要传输的命令字,将所述命令字保存到所选择的寄存器中,并发送中断通知另一端;另一端接到所述中断通知后,根据所述寄存器中的命令字调用相应的中断服务程序执行,并将执行结果返回;所述一端对所述返回进行确认;其中,当所述一端为基带时,所述另一端为协处理器;当所述一端为协处理器时,所述另一端为基带。
其中,所述中断服务程序包括低级中断服务程序和高级中断服务程序;则所述另一端根据所述寄存器中的命令字调用相应的中断服务程序执行,具体包括:所述另一端根据所述寄存器中的命令字调用相应的低级中断服务程序执行,或者调用相应的高级中断服务程序执行;或者,调用相应的低级中断服务程序,该低级中断服务程序再激活相应的高级中断服务程序执行。
其中,所述命令字的格式统一,所述命令字分为两级,分别是主命令字和次命令字。
本发明还提供了一种基带和协处理器间的通信装置,包括:
判断单元,用于判断传输数据量的大小,如果未超过预置阈值,则触发寄存器选择单元;如果超过预置阈值,则触发内存动态分配单元;
寄存器选择单元,用于根据所述传输数据量的大小,选择协处理器中一个或多个空闲的寄存器,并触发通信单元;
内存动态分配单元,用于动态分配所述协处理器中全部或部分空闲的内存空间,并触发通信单元;在通信结束后释放该内存空间;
通信单元,用于进行基带和协处理器间的通信。
其中,所述内存动态分配单元具体包括:调用子单元,用于调用所述寄存器选择单元选择空闲的寄存器;内存分配子单元,用于动态分配所述协处理器中全部或部分空闲的内存空间,并将分配的内存地址保存到所选择的寄存器中;则所述通信单元当进行基带和协处理器间的通信时,从所述寄存器中读取内存地址并访问内存。
其中,所述通信单元具体包括:命令字构建子单元,用于一端构建需要传输的命令字,将所述命令字保存到所选择的寄存器中,并发送中断通知另一端;中断处理子单元,用于另一端接到所述中断通知后,根据所述寄存器中的命令字调用相应的中断服务程序执行,并将执行结果返回;确认子单元,用于所述一端对所述返回进行确认;其中,当所述一端为基带时,所述另一端为协处理器;当所述一端为协处理器时,所述另一端为基带。
其中,所述中断服务程序包括低级中断服务程序和高级中断服务程序;则所述中断处理子单元根据所述寄存器中的命令字调用相应的中断服务程序执行,具体包括:根据所述寄存器中的命令字调用相应的低级中断服务程序执行,或者调用相应的高级中断服务程序执行;或者,调用相应的低级中断服务程序,该低级中断服务程序再激活相应的高级中断服务程序执行。
其中,所述命令字的格式统一,所述命令字分为两级,分别是主命令字和次命令字。
本发明还提供了一种基带和协处理器间的通信系统,包括:基带、协处理器以及基带和协处理器间的通信装置,其中,所述协处理器包括内存存储区域及一个或多个寄存器;
所述通信装置包括:
判断单元,用于判断传输数据量的大小,如果未超过预置阈值,则触发寄存器选择单元;如果超过预置阈值,则触发内存动态分配单元;
寄存器选择单元,用于根据所述传输数据量的大小,选择协处理器中一个或多个空闲的寄存器,并触发通信单元;
内存动态分配单元,用于动态分配所述内存存储区域中全部或部分空闲的区域,并触发通信单元;在通信结束后释放所述分配的内存存储区域;
通信单元,用于进行基带和协处理器间的通信。
其中,所述通信装置中的内存动态分配单元具体包括:调用子单元,用于调用所述寄存器选择单元选择空闲的寄存器;内存分配子单元,用于动态分配所述内存存储区域中全部或部分空闲的区域,并将分配的内存地址保存到所选择的寄存器中;则所述通信单元当进行基带和协处理器间的通信时,从所述寄存器中读取内存地址并访问内存。
其中,所述通信装置中的通信单元具体包括:命令字构建子单元,用于一端构建需要传输的命令字,将所述命令字保存到所选择的寄存器中,并发送中断通知另一端;中断处理子单元,用于另一端接到所述中断通知后,根据所述寄存器中的命令字调用相应的中断服务程序执行,并将执行结果返回;确认子单元,用于所述一端对所述返回进行确认;其中,当所述一端为基带时,所述另一端为协处理器;当所述一端为协处理器时,所述另一端为基带。
与现有技术相比,本发明具有以下优点:
本发明采用共享寄存器的方式来实现基带和协处理器间的通信,该方式选择协处理器中空闲的寄存器作为通信使用,并制定相应的通信协议,完成基带和协处理器间的通信。
第一,通信效率高,因为基带对寄存器的访问速度要比内存快很多;
第二,通信协议简洁高效,因为寄存器的空间比内存小,所以通信协议可以制定的比较简单,易于通信的稳定性;
第三,节省内存空间,如果传输数据量不大,不需要占用内存,使用寄存器就可以完成通信;如果需要传输大量数据,则会动态分配所需要的空闲内存,通信完成后会立刻释放,所以也会节省内存空间。
附图说明
图1是本发明实施例所述一种基带和协处理器间的通信方法流程图;
图2是本发明实施例中使用寄存器进行通信的流程图;
图3是本发明实施例中通过动态分配内存进行通信的流程图;
图4是本发明实施例中命令字的格式示意图;
图5是本发明实施例所述一种基带和协处理器间的通信装置结构图;
图6是本发明实施例所述通信装置中内存动态分配单元U53的结构图;
图7是本发明实施例所述通信装置中通信单元具体U54的结构图;
图8是本发明实施例所述一种基带和协处理器间的通信系统结构图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
基带不仅可以访问协处理器的内存,还可以访问协处理器的寄存器。基于这种思想,本发明通过共享寄存器的方式代替共享内存的方式来实现基带和协处理器间的通信。一般协处理器都有很多寄存器,而这些寄存器在某个模式下并不会都用到,因此配置这些寄存器的值,并不会对协处理器的实际处理产生影响。例如对于多媒体协处理器,在进行MP4播放的时候,使用传感器相关的寄存器,并不会对MP4的播放有影响。所以选取几个在特定模式下不使用的寄存器作为通信使用就可以,具体使用的寄存器可以根据协处理器工作的模式动态改变。基于这个思想,再制定相应的通信协议,就可以高效稳定的完成基带和协处理器间的通信工作。
下面以基带与多媒体协处理器间的通信为例进行详细说明。
参照图1,是实施例所述一种基带和协处理器间的通信方法流程图。
S101,判断基带和协处理器间传输数据量的大小是否超过预置阈值;
如果未超过预置阈值,则转S102;如果超过预置阈值,则转S103;
S102,当未超过预置阈值时,根据所述传输数据量的大小,选择协处理器中一个或多个空闲的寄存器,进行基带和协处理器间的通信;
一般协处理器会有多个寄存器,协处理器在进行不同处理时会使用不同的寄存器,所以会有一些寄存器在进行某些处理时不会用到。当基带和协处理器间需要通信时,可以使用空闲的寄存器进行通信。而且,每次通信过程中使用的寄存器可能不同,需要根据协处理器使用寄存器的状况动态调整。
如果传输数据量未超过预置阈值,还需要根据传输数据量的大小判断当前通信需要使用几个寄存器,因为寄存器的容量有限,当数据量超过一个寄存器的容量时,就需要使用多个寄存器来完成通信。例如,一个寄存器可以存储32位,如果传输的命令字是64位,就需要使用两个32位的寄存器来存储该命令字。
S103,当超过预置阈值时,动态分配所述协处理器中全部或部分空闲的内存空间,并继续S104;
如果需要传输大量数据(如文件传输),而当前所有空闲的寄存器都不能满足需要,则可以使用共享内存来实现通信。但本实施例采用的共享内存是一种动态分配的方式,不同于现有的预先分配内存的方式。现有的共享内存方式是预先分配好内存空间,当通信过程中需要使用内存时,从所述预先分配好的内存空间中选择一块区域用作通信,此时协处理器的其他模块无法使用该区域,因此现有的这种方式会占用内存资源。而本实施例是在需要使用内存时,在已经分配好的内存区域之外,再动态分配一块空闲的内存区域用作通信(每次分配的空闲区域可能不同,可能占用部分空闲内存,也可能占用全部空闲内存),使用完后还会立刻释放该区域,不会影响之前已经分配好的内存的使用,因此这种动态分配的方式更能节省内存空间。
优选的,本实施例动态分配内存的方法如下:
首先,选择空闲的寄存器,具体为:判断所述协处理器是否有空闲的寄存器,如果是,则选择一个空闲的寄存器(由于动态分配内存的过程中使用寄存器是用来存放分配的内存地址,所以通常一个寄存器的容量即能存储该内存地址);然后,动态分配所述协处理器的内存空间,并将分配的内存地址保存到所选择的寄存器中。
上述动态分配内存的方法需要使用寄存器来存放分配的内存地址,当进行基带和协处理器间的通信时,从所述寄存器中读取内存地址并访问内存。当然,也可以使用其他方法来动态分配内存,本实施例在此不作限定。
S104,进行基带和协处理器间的通信,并在通信结束后释放该内存空间。
在上述通信方法中,本实施例还制定了相应的通信协议,该通信协议可以具体实现S102和S104中基带和协处理器间的通信。由于协议制定基带和协处理器的命令处理机制对称,所以基带向协处理器发起的通信过程与协处理器向基带发起的通信过程,都遵循相同的处理流程。其中,当通信一端为基带时,通信另一端为协处理器;当通信一端为协处理器时,通信另一端为基带。
对于S102中进行基带和协处理器间的通信,具体参照图2所示,如下:
S201,一端构建需要传输的命令字,将所述命令字保存到所选择的寄存器中,并发送中断通知另一端;
S202,另一端接到所述中断通知后,根据所述寄存器中的命令字调用相应的中断服务程序执行,并将执行结果返回;
其中,不同操作系统的内部中断处理机制也不同,有一级中断处理,也有多级中断处理。例如,在Nucleus操作系统中是两级中断处理,即所述中断服务程序包括低级中断服务程序(LISR,Low Interrupt Service Routines)和高级中断服务程序(HISR,High Interrupt Service Routines)。使用LISR还是HISR由具体命令决定,通常,如果是获取一个变量的值等简单操作,在LISR中进行就可以;如果需要调用操作系统函数或者耗时比较长的操作,就需要放到HISR中进行。
因此,所述另一端根据所述寄存器中的命令字调用相应的中断服务程序执行,可以是以下三种情况:
一种是所述另一端根据所述寄存器中的命令字调用相应的LISR执行,另一种是调用相应的HISR执行,还有一种是调用相应的LISR,该LISR再激活相应的HISR执行。
S203,所述一端对所述返回进行确认。
下面举例说明,以Malloc命令的实现为例,说明基带向协处理器发起的用于分配内存的命令处理流程:
首先,基带的处理如下:
1)构建传输的命令字
Msg.CMD=MAJ_SYS|MIN_SYS_MALLOC;
Msg.OP1=size;
Msg.OP2=0;
2)将传输的命令字保存到通信使用的寄存器中,并向协处理器发送软中断;
3)等待协处理器返回的结果,没有参数返回的命令处理到此结束。
上述1)至3)即是S201的处理。
其次,协处理器的处理如下,以Nucleus操作系统的两级中断处理为例:
1)协处理器的软中断LISR处理函数根据寄存器中的命令字调用相应的Mode_Sys_Lisr函数,在所述Mode_Sys_Lisr函数里做读取命令字和参数的操作;
2)由于Malloc功能需要调用Nucleus操作系统的系统函数,所以Mode_Sys_Lisr函数会激活HISR处理;
3)协处理器的软中断HISR处理函数根据命令字调用相应的Mode_Sys_Hisr函数;
4)在Mode_Sys_Hisr函数处理里判断子命令字是Malloc,则调用SD_Malloc函数分配内存,执行结束后把分配的内存地址,放到OP1里返回;
5)协处理器命令处理结束,没有参数返回的命令处理到此全部结束。
上述1)至5)即是S202中同时使用LISR和HISR的中断处理情况。
再次,基带的处理如下:
1)收到协处理器传来的ACK命令(Acknowledge的简写,就是收到确认),基带的软中断LISR处理函数根据命令字调用相应的MMD_Mode_Sys_Lisr函数;
2)在MMD_Mode_Sys_Lisr函数里会把ACK命令读到全局变量中g_Ack_MinCmd=min;g_Ack_OP1=Msg.OP1;g_Ack_OP2=Msg.OP2;
3)在MMD_SYS_Malloc函数里判断g_Ack_MinCmd值的变化,如果变化(说明ACK命令返回),则返回Malloc的地址值,此命令处理结束。
上述1)至3)即是S203对协处理器的返回进行确认。
与上述通信流程类似,对于S104中进行基带和协处理器间的通信,具体参照图3所示,如下:
S301,一端构建需要传输的命令字,将所述命令字保存到动态分配的内存区域中,并发送中断通知另一端;其中,所述动态分配的内存地址保存在寄存器中;
S302,另一端接到所述中断通知后,首先读取寄存器中的内存地址,然后根据所述内存地址到相应的内存区域读取命令字,再根据命令字调用相应的中断服务程序执行,并将执行结果返回;
其中,中断处理可以是以下三种情况:
一种是所述另一端根据所述寄存器中的命令字调用相应的LISR执行,另一种是调用相应的HISR执行,还有一种是调用相应的LISR,该LISR再激活相应的HISR执行。
S303,所述一端对所述返回进行确认。
综上所述,图2和图3中构建的命令字具有以下特点:
1)命令为固定格式,例如图2的举例说明中,命令字CMD、OP1、OP2均是32位数据;
2)命令需要有ACK,并且返回ACK的命令字需要和原来的命令字保持相同,以便于验证返回的ACK是对应哪个命令的ACK;例如返回ACK的CMD和原来的CMD保持相同;
3)命令分2级组织,分别为Major Cmd(主命令字)和Min Cmd(次命令字);
例如,命令字的格式如图4所示,其中Reserved字段是可扩展字段,占前16位,Major Cmd占中间的8位,Min Cmd占最后的8位。通常,MajorCmd和Min Cmd即可存下一个命令,但Reserved字段可扩展存放更多信息。
4)命令的处理按照主命令字在中断的LISR和HISR,注册处理函数;
5)基带和协处理器的命令处理机制对称,即基带向协处理器发起的通信过程与协处理器向基带发起的通信过程,都遵循相同的处理流程。
综上所述,上述通信方法具有以下优点:
第一,通信效率高,因为基带对寄存器的访问速度要比内存快很多;
第二,通信协议简洁高效,因为寄存器的空间比内存小,所以通信协议可以制定的比较简单,易于通信的稳定性;
第三,节省内存空间,如果传输数据量不大,不需要占用内存,使用寄存器就可以完成通信;如果需要传输大量数据,则会动态分配所需要的空闲内存,通信完成后会立刻释放,所以也会节省内存空间。
针对上述方法实施例的描述,本发明还提供了相应的装置实施例。
参照图5,是实施例所述一种基带和协处理器间的通信装置结构图。所述装置主要包括:
判断单元U51,用于判断传输数据量的大小,如果未超过预置阈值,则触发寄存器选择单元U52;如果超过预置阈值,则触发内存动态分配单元U53;
寄存器选择单元U52,用于根据所述传输数据量的大小,选择协处理器中一个或多个空闲的寄存器,并触发通信单元U54;
内存动态分配单元U53,用于动态分配所述协处理器中全部或部分空闲的内存空间,并触发通信单元U54;在通信结束后释放该内存空间;
通信单元U54,用于进行基带和协处理器间的通信。
优选的,参照图6,所述内存动态分配单元U53具体包括:
调用子单元U531,用于调用所述寄存器选择单元U52选择空闲的寄存器;
内存分配子单元U532,用于动态分配所述协处理器中全部或部分空闲的内存空间,并将分配的内存地址保存到所选择的寄存器中;
则所述通信单元U54当进行基带和协处理器间的通信时,从所述寄存器中读取内存地址并访问内存。
优选的,参照图7,所述通信单元具体U54包括:
命令字构建子单元U541,用于一端构建需要传输的命令字,将所述命令字保存到所选择的寄存器中,并发送中断通知另一端;
中断处理子单元U542,用于另一端接到所述中断通知后,根据所述寄存器中的命令字调用相应的中断服务程序执行,并将执行结果返回;
确认子单元U543,用于所述一端对所述返回进行确认;
其中,当所述一端为基带时,所述另一端为协处理器;当所述一端为协处理器时,所述另一端为基带。
其中,所述中断服务程序可以为一级中断处理或多级中断处理,如包括低级中断服务程序和高级中断服务程序;
则所述中断处理子单元U542根据所述寄存器中的命令字调用相应的中断处理函数执行,具体包括:
根据所述寄存器中的命令字调用相应的低级中断处理函数执行,或者调用相应的高级中断处理函数执行;或者,调用相应的低级中断处理函数,该低级中断处理函数再激活相应的高级中断处理函数执行。
其中,所述命令字的格式统一,所述命令字分为两级,分别是主命令字和次命令字。
综上所述,所述通信装置具有通信效率高、通信协议简洁高效、节省内存空间的优点。
在上述装置实施例的基础上,本发明实施例还提供了一种基带和协处理器间的通信系统。
参照图8,是实施例所述一种基带和协处理器间的通信系统结构图。所述通信系统包括基带U81、协处理器U82以及通信装置U83,所述通信装置U83用于实现所述基带U81和协处理器U82间的通信。其中,所述协处理器U82包括内存存储区域U84及一个或多个寄存器U85。所述通信装置U83具体包括:
判断单元U831,用于判断传输数据量的大小,如果未超过预置阈值,则触发寄存器选择单元U832;如果超过预置阈值,则触发内存动态分配单元U833;
寄存器选择单元U832,用于根据所述传输数据量的大小,选择协处理器U82中一个或多个空闲的寄存器U85,并触发通信单元U834;
内存动态分配单元U833,用于动态分配所述内存存储区域U84中全部或部分空闲的区域,并触发通信单元U834;在通信结束后释放所述分配的内存存储区域;
通信单元U834,用于进行基带U81和协处理器U82间的通信。
优选的,所述通信装置U83中的内存动态分配单元U833具体包括:
调用子单元,用于调用所述寄存器选择单元U832选择空闲的寄存器U85;
内存分配子单元,用于动态分配所述内存存储区域U84中全部或部分空闲的区域,并将分配的内存地址保存到所选择的寄存器U85中;
则所述通信单元U834当进行基带U81和协处理器U82间的通信时,从所述寄存器U85中读取内存地址并访问内存。
优选的,所述通信装置U83中的通信单元U834具体包括:
命令字构建子单元,用于一端构建需要传输的命令字,将所述命令字保存到所选择的寄存器U85中,并发送中断通知另一端;
中断处理子单元,用于另一端接到所述中断通知后,根据所述寄存器U85中的命令字调用相应的中断服务程序执行,并将执行结果返回;
确认子单元,用于所述一端对所述返回进行确认;
其中,当所述一端为基带U81时,所述另一端为协处理器U82;当所述一端为协处理器U82时,所述另一端为基带U81。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上对本发明所提供的一种基带和协处理器间的通信方法、装置及系统,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

Claims (10)

1.一种基带和协处理器间的通信方法,其特征在于,包括:
判断传输数据量的大小,如果未超过预置阈值,则根据所述传输数据量的大小,选择协处理器中一个或多个空闲的寄存器,进行基带和协处理器间的通信;
如果超过预置阈值,则动态分配所述协处理器中全部或部分空闲的内存空间,进行基带和协处理器间的通信,并在通信结束后释放该内存空间;
所述动态分配所述协处理器的内存空间,进行基带和协处理器间的通信,具体包括:
选择空闲的寄存器;动态分配所述协处理器中全部或部分空闲的内存空间,并将分配的内存地址保存到所选择的寄存器中;当进行基带和协处理器间的通信时,从所述寄存器中读取内存地址并访问内存。
2.根据权利要求1所述的方法,其特征在于,所述选择协处理器中一个或多个空闲的寄存器,进行基带和协处理器间的通信,具体包括:
一端构建需要传输的命令字,将所述命令字保存到所选择的寄存器中,并发送中断通知另一端;
另一端接到所述中断通知后,根据所述寄存器中的命令字调用相应的中断服务程序执行,并将执行结果返回;
所述一端对所述返回进行确认;
其中,当所述一端为基带时,所述另一端为协处理器;当所述一端为协处理器时,所述另一端为基带。
3.根据权利要求2所述的方法,其特征在于:
所述中断服务程序包括低级中断服务程序和高级中断服务程序;
则所述另一端根据所述寄存器中的命令字调用相应的中断服务程序执行,具体包括:
所述另一端根据所述寄存器中的命令字调用相应的低级中断服务程序执行,或者调用相应的高级中断服务程序执行;或者,调用相应的低级中断服务程序,该低级中断服务程序再激活相应的高级中断服务程序执行。
4.根据权利要求2所述的方法,其特征在于:
所述命令字的格式统一,所述命令字分为两级,分别是主命令字和次命令字。
5.一种基带和协处理器间的通信装置,其特征在于,包括:
判断单元,用于判断传输数据量的大小,如果未超过预置阈值,则触发寄存器选择单元;如果超过预置阈值,则触发内存动态分配单元;
寄存器选择单元,用于根据所述传输数据量的大小,选择协处理器中一个或多个空闲的寄存器,并触发通信单元;
内存动态分配单元,用于动态分配所述协处理器中全部或部分空闲的内存空间,并触发通信单元;在通信结束后释放该内存空间;
通信单元,用于进行基带和协处理器间的通信;
所述内存动态分配单元具体包括:
调用子单元,用于调用所述寄存器选择单元选择空闲的寄存器;
内存分配子单元,用于动态分配所述协处理器中全部或部分空闲的内存空间,并将分配的内存地址保存到所选择的寄存器中;
则所述通信单元当进行基带和协处理器间的通信时,从所述寄存器中读取内存地址并访问内存。
6.根据权利要求5所述的装置,其特征在于,所述通信单元具体包括:
命令字构建子单元,用于一端构建需要传输的命令字,将所述命令字保存到所选择的寄存器中,并发送中断通知另一端;
中断处理子单元,用于另一端接到所述中断通知后,根据所述寄存器中的命令字调用相应的中断服务程序执行,并将执行结果返回;
确认子单元,用于所述一端对所述返回进行确认;
其中,当所述一端为基带时,所述另一端为协处理器;当所述一端为协处理器时,所述另一端为基带。
7.根据权利要求6所述的装置,其特征在于:
所述中断服务程序包括低级中断服务程序和高级中断服务程序;
则所述中断处理子单元根据所述寄存器中的命令字调用相应的中断服务程序执行,具体包括:
根据所述寄存器中的命令字调用相应的低级中断服务程序执行,或者调用相应的高级中断服务程序执行;或者,调用相应的低级中断服务程序,该低级中断服务程序再激活相应的高级中断服务程序执行。
8.根据权利要求6所述的装置,其特征在于:
所述命令字的格式统一,所述命令字分为两级,分别是主命令字和次命令字。
9.一种基带和协处理器间的通信系统,其特征在于,包括:基带、协处理器以及基带和协处理器间的通信装置,其中,所述协处理器包括内存存储区域及一个或多个寄存器;
所述通信装置包括:
判断单元,用于判断传输数据量的大小,如果未超过预置阈值,则触发寄存器选择单元;如果超过预置阈值,则触发内存动态分配单元;
寄存器选择单元,用于根据所述传输数据量的大小,选择协处理器中一个或多个空闲的寄存器,并触发通信单元;
内存动态分配单元,用于动态分配所述内存存储区域中全部或部分空闲的区域,并触发通信单元;在通信结束后释放所述分配的内存存储区域;
通信单元,用于进行基带和协处理器间的通信;
所述通信装置中的内存动态分配单元具体包括:
调用子单元,用于调用所述寄存器选择单元选择空闲的寄存器;
内存分配子单元,用于动态分配所述内存存储区域中全部或部分空闲的区域,并将分配的内存地址保存到所选择的寄存器中;
则所述通信单元当进行基带和协处理器间的通信时,从所述寄存器中读取内存地址并访问内存。
10.根据权利要求9所述的系统,其特征在于,所述通信装置中的通信单元具体包括:
命令字构建子单元,用于一端构建需要传输的命令字,将所述命令字保存到所选择的寄存器中,并发送中断通知另一端;
中断处理子单元,用于另一端接到所述中断通知后,根据所述寄存器中的命令字调用相应的中断服务程序执行,并将执行结果返回;
确认子单元,用于所述一端对所述返回进行确认;
其中,当所述一端为基带时,所述另一端为协处理器;当所述一端为协处理器时,所述另一端为基带。
CN2009100776948A 2009-02-11 2009-02-11 一种基带和协处理器间的通信方法、装置及系统 Active CN101521960B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2009100776948A CN101521960B (zh) 2009-02-11 2009-02-11 一种基带和协处理器间的通信方法、装置及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2009100776948A CN101521960B (zh) 2009-02-11 2009-02-11 一种基带和协处理器间的通信方法、装置及系统

Publications (2)

Publication Number Publication Date
CN101521960A CN101521960A (zh) 2009-09-02
CN101521960B true CN101521960B (zh) 2013-12-11

Family

ID=41082269

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2009100776948A Active CN101521960B (zh) 2009-02-11 2009-02-11 一种基带和协处理器间的通信方法、装置及系统

Country Status (1)

Country Link
CN (1) CN101521960B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103200331B (zh) * 2013-04-16 2015-04-15 青岛中星微电子有限公司 一种终端设备
CN108874615A (zh) * 2017-05-16 2018-11-23 惠州市德赛西威汽车电子股份有限公司 一种车载多媒体系统性能检测装置及检测方法
CN109947572B (zh) * 2019-03-25 2023-09-05 Oppo广东移动通信有限公司 通信控制方法、装置、电子设备及存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101114272A (zh) * 2007-01-22 2008-01-30 北京中星微电子有限公司 一种可实现芯片内多核间通信的芯片及通信方法
CN101201811A (zh) * 2006-12-11 2008-06-18 边立剑 用于soc的加解密协处理器、其实现方法及编程模型

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060179273A1 (en) * 2005-02-09 2006-08-10 Advanced Micro Devices, Inc. Data processor adapted for efficient digital signal processing and method therefor

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101201811A (zh) * 2006-12-11 2008-06-18 边立剑 用于soc的加解密协处理器、其实现方法及编程模型
CN101114272A (zh) * 2007-01-22 2008-01-30 北京中星微电子有限公司 一种可实现芯片内多核间通信的芯片及通信方法

Also Published As

Publication number Publication date
CN101521960A (zh) 2009-09-02

Similar Documents

Publication Publication Date Title
US11573716B2 (en) Memory system and SoC including linear address remapping logic
EP1691288B1 (en) Memory management for a mobile multimedia processor
CN101707565B (zh) 零拷贝网络报文发送、接收方法和装置
TWI421697B (zh) 在雙頻道操作期間藉由將位址/控制信號交錯之單頻道與雙頻道混合雙重資料速率介面方案
CN108228492B (zh) 一种多通道ddr交织控制方法及装置
CN104090847A (zh) 一种固态存储设备的地址分配方法
CN100432957C (zh) 一种管理存储器的方法
JP4368795B2 (ja) プロセッサ間で通信を行うための改良プロセッサ間通信システム
CN101452430B (zh) 多处理器之间的通信方法与包括多处理器的通信装置
CN108845958B (zh) 一种交织器映射和动态内存管理系统及方法
CN101521960B (zh) 一种基带和协处理器间的通信方法、装置及系统
CN103324599A (zh) 处理器间通信方法与系统级芯片
CN104021097A (zh) 数据传输方法、装置及直接存储器存取
CN116724287A (zh) 一种内存控制方法及内存控制装置
CN1286029C (zh) 控制芯片片内存储装置及其存储方法
CN103106164A (zh) 一种高效dma控制器
CN116249973B (zh) 自适应存储器事务调度
US7216186B2 (en) Controlling data flow between processor systems
CN102148803A (zh) 一种报文匹配方法和设备
EP3029580B1 (en) Processor and memory control method
EP2929444B1 (en) Apparatus and circuit for processing data
US10031884B2 (en) Storage apparatus and method for processing plurality of pieces of client data
US7814305B2 (en) Apparatus and method for generating reset signals for function chips in a terminal
CN111132284B (zh) 一种基站的容量动态分配方法及基站
JP2006072592A (ja) データ専用バスを有する無線機

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
TR01 Transfer of patent right

Effective date of registration: 20171221

Address after: 100083 Haidian District, Xueyuan Road, No. 35, the world building, the second floor of the building on the ground floor, No. 16

Patentee after: Zhongxing Technology Co., Ltd.

Address before: 100083 Haidian District, Xueyuan Road, No. 35, the world building, the second floor of the building on the ground floor, No. 16

Patentee before: Beijing Vimicro Corporation

TR01 Transfer of patent right
CP01 Change in the name or title of a patent holder

Address after: 100083 Haidian District, Xueyuan Road, No. 35, the world building, the second floor of the building on the ground floor, No. 16

Patentee after: Mid Star Technology Limited by Share Ltd

Address before: 100083 Haidian District, Xueyuan Road, No. 35, the world building, the second floor of the building on the ground floor, No. 16

Patentee before: Zhongxing Technology Co., Ltd.

CP01 Change in the name or title of a patent holder