应用处理器、应用处理装置及命令执行方法

文档序号:10654499阅读:294来源:国知局
应用处理器、应用处理装置及命令执行方法
【专利摘要】本发明提供应用处理器、应用处理装置及命令执行方法,通过应用处理器中的中央处理器和控制器间通过各自的寄存器来进行命令交互及执行命令后的反馈,硬件设计上节省了系统管理总线的硬件成本,只消耗非常少的寄存器资源,且中央处理器和控制器间的数据传输可通过连接应用处理器的外部存储单元例如DDR实现,无需设计更多的缓存。
【专利说明】
应用处理器、应用处理装置及命令执行方法
技术领域
[0001]本发明涉及芯片设计技术领域,特别是涉及应用处理器、应用处理装置及命令执行方法。【背景技术】
[0002]随着USB type-c接口和电力传送协议(Power Deliveryd^D))逐渐获得市场认可, 大量的企业开始设计和生产支持type-c接口和电力传送协议的芯片。目前这些独立的芯片都需要通过各个厂家自己定义的接口和应用处理器(Applicat1n Processor)进行通讯。 为了解决这种通讯方式的混乱,如图1所示,美国微芯半导体(Microchip)定义了一种传输接口来统一这种外接type-c&PD控制器101和应用处理器100之间的通讯;这种传输接口采用了系统管理总线System Management Bus(SMBus)来实现应用处理器100和type-c&PD控制器101之间的通讯。这种系统管理总线是一种两线的通讯方式。
[0003]在此基础上,如图2所示由于芯片行业节省成本的导向,越来越多的厂家会直接将 type-c&H)控制器202集成到应用处理器200里面,如此一来,主CPU 201和type-c&H)控制器 202之间的交互界面依然是各个厂家自定义的接口。其中一个选择是在主CPU 201和type-c&H)控制器202之间依然使用系统管理总线。如此一来,尽管type-c&H)控制器202集成到应用处理器200里面了,依然需要加入系统管理总线相关的硬件,增加的总体的设计成本。
【发明内容】

[0004]鉴于以上所述现有技术的缺点,本发明的目的在于提供应用处理器、应用处理装置及命令执行方法,用于解决现有技术中在应用处理器中实现系统管理总线成本较高的问题。
[0005]为实现上述目的及其他相关目的,本发明提供一种应用处理器,包括:中央处理器,包括:至少一第一命令寄存器及第一中断寄存器;通信连接所述中央处理器的控制器, 其包括:至少一第二命令寄存器、第二中断寄存器及通知寄存器;其中,所述第一命令寄存器用于传递中央处理器对所述控制器的命令至所述第二命令寄存器,而令所述控制器在读取第二中断寄存器时产生中断来读取所述命令;所述通知寄存器用于传递所述控制器对应所述命令执行情况的通知信息至所述中央处理器。
[0006]于本发明的一实施例中,所述控制器包括:微处理器,其通信连接所述中央处理器,其包括:所述至少一第二命令寄存器、第二中断寄存器及通知寄存器;并用于实现所述中央处理器和控制器间通信协议的协议栈。
[0007]于本发明的一实施例中,所述控制器为电力传送协议控制器。
[0008]于本发明的一实施例中,所述控制器为USB type-c接口及电力传送协议控制器。
[0009]为实现上述目的及其他相关目的,本发明提供一种处理装置,包括:应用处理器, 其包括:中央处理器,包括:至少一第一命令寄存器及第一中断寄存器;通信连接所述中央处理器的控制器,用于与所述中央处理器通信,其包括:第二命令寄存器、第二中断寄存器及通知寄存器;其中,所述第一命令寄存器用于传递中央处理器对所述控制器的命令至所述第二命令寄存器,而令所述控制器在读取第二中断寄存器时产生中断来读取所述命令; 所述通知寄存器用于传递所述控制器对应所述命令执行情况的通知信息至所述中央处理器;外部存储单元,连接所述应用处理器,用于所述中央处理器及控制器间交互数据的缓存;其中,所述中央处理器还包括:第一数据寄存器;所述控制器还包括第二数据寄存器;其中,所述第一数据寄存器和第二数据寄存器间传递外部存储单元的地址。
[0010]于本发明的一实施例中,所述外部存储单元包括:写缓存及读缓存;所述命令包括:用于执行写所述写缓存的块写命令、及用于执行读所述读缓存的块读命令。
[0011]于本发明的一实施例中,所述外部存储单元存储有:多个状态值;所述命令包括: 用于执行读取所述状态值的读状态命令、及用于执行清理所述状态值的清理状态命令。
[0012]于本发明的一实施例中,所述外部存储单元还存储有:一一对应各状态值的多个状态覆盖值,所述清理状态命令用于执行将所述状态覆盖值覆盖对应状态值。
[0013]于本发明的一实施例中,所述外部存储单元用于存储命令执行错误的错误编码; 所述命令包括用于读取所述错误编码的读取错误命令。
[0014]于本发明的一实施例中,所述读取错误命令用于执行所读取最后一个存入外部存储单元的错误编码。
[0015]于本发明的一实施例中,所述控制器包括:微处理器,其通信连接所述中央处理器,其包括:所述至少一第二命令寄存器、第二中断寄存器及通知寄存器;并用于实现所述中央处理器和控制器间通信协议的协议栈。
[0016]于本发明的一实施例中,所述控制器为电力传送协议控制器。[0〇17] 于本发明的一实施例中,所述控制器为USB type-c接口及电力传送协议控制器。
[0018]于本发明的一实施例中,所述外部存储单元为双倍速率同步动态随机存储器。
[0019]为实现上述目的及其他相关目的,本发明提供一种命令执行方法,应用于所述的处理装置,包括:所述中央处理器将命令写入至第一命令寄存器;将所述命令从第一命令寄存器传递至第二命令寄存器;所述控制器读取所述第二中断寄存器而产生中断,以从所述第二命令寄存器读取所述命令;所述控制器执行所述命令而对应读/写所述外部存储单元中数据;所述控制器通过其通知寄存器传递所述命令执行结果的通知信息至所述中央处理器的第一中断寄存器。
[0020]综上所述,本发明提供应用处理器、应用处理装置及命令执行方法,通过应用处理器中的中央处理器和控制器间通过各自的寄存器来进行命令交互及执行命令后的反馈,硬件设计上节省了系统管理总线的硬件成本,只消耗非常少的寄存器资源,且中央处理器和控制器间的数据传输可通过连接应用处理器的外部存储单元例如DDR实现,无需设计更多的缓存。【附图说明】[0021 ] 图1显示为现有的系统管理总线System Management Bus(SMBus)的模块示意图。 [〇〇22]图2显示为现有的的应用处理器的模块示意图。[〇〇23]图3显示为本发明于一实施例中的应用处理装置的模块示意图。[〇〇24]图4显示为本发明于一实施例中的命令执行方法的流程示意图。
[0025]元件标号说明
[0026]1〇〇应用处理器
[0027]1〇1USB type-c及PD控制器
[0028]200应用处理器
[0029]201主CPU[〇〇3〇] 202USB type-c及PD控制器[〇〇31]300应用处理器
[0032]301中央处理器[〇〇33]302第一命令寄存器
[0034]303第一中断寄存器[〇〇35]304第一数据寄存器
[0036]305控制器[〇〇37]306第二命令寄存器
[0038]307第二中断寄存器[〇〇39]308通知寄存器[〇〇4〇]309第二数据寄存器[〇〇41 ]310外部存储单元
[0042]S401 ?S405 步骤【具体实施方式】[〇〇43]以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的【具体实施方式】加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。[〇〇44]需要说明的是,以下实施例中所提供的图示仅以示意方式说明本发明的基本构想,遂图式中仅显示与本发明中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。
[0045]本发明在图2实施例的基础上对系统管理总线进行改进,利用芯片具有的寄存器来实现改进后的系统管理总线的命令发送和命令执行情况的通知信息反馈。
[0046]如图3所示,本发明提供一种处理装置的实施例以进一步说明所述命令的具体执行内容,所述处理装置包括:所述应用处理器300、及外部存储单元310。[〇〇47] 所述应用处理器300包括中央处理器301及控制器305;所述控制器305例如为电力传送协议控制器305,而令所述应用处理器300可用于电子设备充电装置;于一实施例中,所述中央处理器301是整个芯片中的主控核心,亦可称之为中央处理器301;所述控制器305为 USB type-c接口及电力传送协议控制器305,而可用于例如手机、平板电脑等移动终端的充电装置。[〇〇48] 所述中央处理器301,包括:至少一第一命令寄存器302及第一中断寄存器303;通信连接所述中央处理器301的控制器305,其包括:至少一第二命令寄存器306、第二中断寄存器307及通知寄存器308;其中,所述第一命令寄存器302用于传递中央处理器301对所述控制器305的命令至所述第二命令寄存器306,而令所述控制器305在读取第二中断寄存器 307时产生中断来读取所述命令;所述通知寄存器308用于传递所述控制器305对应所述命令执行情况的通知信息至所述中央处理器301。[〇〇49]于本发明的一实施例中,所述控制器305包括:微处理器,其通信连接所述中央处理器301,其包括:所述至少一第二命令寄存器306、第二中断寄存器307及通知寄存器308; 并用于实现所述中央处理器301和控制器305间通信协议的协议栈,该通信协议可为电力传送协议,而该微处理器实现电力传送协议的协议栈,需说明的是,上述中央处理器301和控制器305之间的命令交互实际上可以通过所述中央处理器301和微处理器间的交互来实现, 即所述微处理器用于控制所述控制器305执行对应命令,并反馈消息给中央处理器301;于一实施例中,所述微处理器可以通过单片机芯片实现;当然,此仅为一优选实施例,该控制器305本身亦可采用其它方式实现该些功能即可,例如通过FPGA等方式,并非以此为限。
[0050]优选的,于本发明的一实施例中,所述中央处理器301还包括:第一数据寄存器 304;所述控制器305还包括第二数据寄存器309,所述第一数据寄存器304和第二数据寄存器309间传递外部存储单元的地址,以实现利用外部存储单元310进行数据传输来完成命令执行。
[0051]所述外部存储单元310,连接所述应用处理器300,用于所述中央处理器301及控制器305间交互数据的缓存;其中,所述中央处理器301还包括:第一数据寄存器304;所述控制器305还包括第二数据寄存器309;其中,所述第一数据寄存器304和第二数据寄存器309间传递外部存储单元310的地址。于本发明的一实施例中,所述外部存储单元310为双倍速率同步动态随机存储器(DDR)。[〇〇52]以下提供实施例来介绍图3实施例的具体实现:[〇〇53]所述中央处理器301的各个寄存器的实现:[〇〇54] 所述第一命令寄存器302属性可为“只写”,大小可例如为8比特,可不设置默认值, 其用于写入现有的系统管理总线命令。[〇〇55] 所述第一中断寄存器303可以由中央处理器301中的中断控制器305实现,其大小可仅1比特,为一普通的中断位,用于通知中央处理器301有信息反馈。[〇〇56]所述第一数据寄存器304属性可为“可读可写”,其大小为32比特或64比特,取决于系统管理总线的要求,中央处理器301在所述外部存储单元310中申请一块内存区域,并将该内存区域的首地址写入至该第一数据寄存器304,而用于中央处理器301对外部存储单元 310的读/写。[〇〇57] 所述控制器305(亦可为微处理器)中的各寄存器实现:[〇〇58]所述第二命令寄存器306属性可为“只读”,大小例如为对应第一命令寄存器302的 8比特,其用于接收第一命令寄存器302传递来的命令,没有命令时,其默认读出值可为0x0。 [〇〇59] 所述第二中断寄存器307亦可通过控制器305(亦可为微处理器)中的中断控制器 305实现,其大小亦可为1比特,用于表示“命令接收”,即有接收到例如中央处理器301对控制器305的命令。
[0060]所述通知寄存器308属性可为“只写”,其大小可为例如8比特,0比特位用于向中央处理传递通知信息时触发中央处理器301产生中断,其1?7比特位可用于其它用途,写入后即会触发所述〇比特位的作用。[0061 ]所述第二数据寄存器309属性可为“只读”,其大小对应第一数据寄存器304为32位或64位,其可读取到第一数据寄存器304中的地址。
[0062]另外,结合外部存储单元310的数据结构来说明该些命令的具体内容:
[0063]于本发明的一实施例中,所述外部存储单元310可包括:写缓存及读缓存,所述写缓存及读缓存均可例如分配N大小,例如64字节,则写缓存的地址范围例如为0?N-1;所述读缓存的地址例如为N?2N-1,当然此仅为例举,在其它实施例中,两种缓存的位置亦可互换等,并非以本实施例为限;对应的,所述命令包括:用于执行将数据写入所述写缓存的块写命令、及用于执行读所述读缓存中数据的块读命令。
[0064]于本发明的一实施例中,所述外部存储单元310存储有:多个状态值,其可例如为所述控制器305(或微处理器)或其它器件的状态等,例如有M个,StatusO?Status(M-1),每一个占用1比特位,则需要M个比特且还需要1个比特来保持数据对齐,承接上述,其地址可例如为2N?2N+M;对应的,;所述命令包括:用于执行读取所述状态值的读状态命令、及用于执行清理所述状态值的清理状态命令。
[0065]于本发明的一实施例中,所述外部存储单元310还存储有:一一对应各状态值的多个状态覆盖值,则亦有M个比特(例如Status MaskO?Status Mask(M-l))及1比特数据对齐位,其地址可例如为2N+M?2N+2M,则所述清理状态命令是要执彳丁将所述状态覆盖值覆盖对应状态值。
[0066]于本发明的一实施例中,所述外部存储单元310用于存储命令执行错误的错误编码,例如存入所述读缓存中;所述命令包括用于读取所述错误编码的读取错误命令,优选的,所述读取错误命令用于执行所读取最后一个存入外部存储单元310的错误编码,即获知最后一个(或称最新发生)的错误。
[0067]再如图4所示,本发明提供一种命令执行方法,应用于所述的处理装置,包括:[〇〇68] 步骤S401:所述中央处理器301将命令写入至第一命令寄存器302;[〇〇69] 步骤S402:将所述命令从第一命令寄存器302传递至第二命令寄存器306;[〇〇7〇] 步骤S403:所述控制器305读取所述第二中断寄存器307而产生中断,以从所述第二命令寄存器306读取所述命令;
[0071] 步骤S404:所述控制器305执行所述命令而对应读/写所述外部存储单元310中数据;[〇〇72] 步骤S405:所述控制器305通过其通知寄存器308传递所述命令执行结果的通知信息至所述中央处理器301的第一中断寄存器303。
[0073]具体的,以下提供关于前述各种命令执行的具体实现流程:[〇〇74]关于块写命令的执行:[〇〇75] A)中央处理器301的系统软件将需要写入的数据放到外部存储单元310中的写缓存中,写缓存中的第一个字节表达要传输数据的大小。随后,系统软件将写命令〇xl(WRITE_ DATA)写入到第一命令寄存器302;[〇〇76] B)控制器305(或微处理器)中会产生一个命令接收的中断;[〇〇77] C)控制器305中的固件从第二寄存器中读出这个命令,并解析出他是一个写命令。于是控制器305中的固件从外部存储单元310的写缓存中读取出中央处理器301写入的数据;
[0078]D)所述控制器 305 将 DATA_IN_BUF_STATE 写为 1;其中,DATA_IN_BUF_STATE,可以是状态值StatusO?Status(M-1)中的一个比特,供中央处理器查看以确定命令执行是否成功;[〇〇79]E)所述控制器305写通知寄存器308来触发中央处理器301的中断,中央处理器301获知写命令已经完成。
[0080]关于块读命令的执行:[0081 ]A)中央处理器301的系统软件将读命令0x2(READ_DATA)写入到第一命令寄存器302;[〇〇82]B)控制器305(或微处理器)中会产生一个命令接收的中断;[〇〇83]C)控制器305中的固件从第二命令寄存器306中读出这个命令,并解析出它是一个读命令;于是将中央处理器301需要的数据写入到外部存储单元310的读缓存;
[0084]D)控制器305将 DATA_OUT_BUF_STATE 设置为 1;[〇〇85]E)控制器305写通知寄存器308触发中央处理器301的中断,中央处理器301获知读命令已经完成,并从所述读缓存中获得需要的数据。[〇〇86]关于读状态命令的执行:
[0087]A)中央处理器301中的系统软件将读状态命令0x5(Read Status Command)写入到第一命令寄存器302;[〇〇88]B)控制器305(或微处理器)中会产生一个命令接收的中断。[〇〇89]C)控制器305中的固件从第二命令寄存器306中读出这个命令,并解析出他是一个读状态命令;于是更新外部存储单元310中的各状态值。
[0090]D)控制器305写通知寄存器308来触发中央处理器301的中断,中央处理器301获知读状态命令已经完成,读取更新完毕的各状态值。
[0091]关于清理状态命令的执行:
[0092]A)中央处理器301中的系统软件将读状态命令0x6(CLEAR_STATUS)写入到第一命令寄存器302;[〇〇93]B)控制器305(或微处理器)中会产生一个命令接收的中断;[〇〇94]C)控制器305中的固件从第二命令寄存器306中读出这个命令,并解析出他是一个清理状态命令,于是根据状态覆盖值的值来清理各状态值;[〇〇95]D)控制器305写通知寄存器308触发中央处理器301的中断,中央处理器301获知清理状态命令已经完成。[〇〇96]关于读取错误命令的执行:[〇〇97]A)中央处理器301中的系统软件将读状态命令0x7(GET_LAST_ERR0R)写入到第一命令寄存器302;[〇〇98]B)控制器305(或微处理器)中会产生一个命令接收的中断;[〇〇99]C)控制器305中的固件从第二命令寄存器306中读出这个命令,并解析出它是一个读取错误命令,于是根据将错误编码(可以是最后一个错误的错误编码)写入到读缓存;
[0100]D)所述控制器305将 DATA_OUT_BUF_STATE 设置成 1;
[0101]E)所述控制器305写通知寄存器308触发中央处理器301的中断,中央处理器301获知读取错误命令已经完成;
[0102]F)中央处理器301中的系统软件可以从读缓存中读取错误编码(可以是最后一个错误的错误编码)以得知错误类型。
[0103]综上所述,本发明提供应用处理器、应用处理装置及命令执行方法,通过应用处理器中的中央处理器和控制器间通过各自的寄存器来进行命令交互及执行命令后的反馈,硬件设计上节省了系统管理总线的硬件成本,只消耗非常少的寄存器资源,且中央处理器和控制器间的数据传输可通过连接应用处理器的外部存储单元例如外部存储单元实现,无需设计更多的缓存。
[0104]上述实施例仅例示性说明本发明的原理及其功效,而非用于限制本发明。任何熟悉此技术的人士皆可在不违背本发明的精神及范畴下,对上述实施例进行修饰或改变。因此,举凡所属技术领域中具有通常知识者在未脱离本发明所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本发明的权利要求所涵盖。
【主权项】
1.一种应用处理器,其特征在于,包括:中央处理器,包括:至少一第一命令寄存器及第一中断寄存器;通信连接所述中央处理器的控制器,其包括:至少一第二命令寄存器、第二中断寄存器 及通知寄存器;其中,所述第一命令寄存器用于传递中央处理器对所述控制器的命令至所述第二命令 寄存器,而令所述控制器在读取第二中断寄存器时产生中断来读取所述命令;所述通知寄 存器用于传递所述控制器对应所述命令执行情况的通知信息至所述中央处理器。2.根据权利要求1所述的应用处理器,其特征在于,所述中央处理器还包括:第一数据 寄存器;所述控制器还包括第二数据寄存器;其中,所述第一数据寄存器和第二数据寄存器 间传递外部存储单元的地址。3.根据权利要求1所述的应用处理器,其特征在于,所述控制器包括:微处理器,其通信 连接所述中央处理器,其包括:所述至少一第二命令寄存器、第二中断寄存器及通知寄存 器;并用于实现所述中央处理器和控制器间通信协议的协议栈。4.根据权利要求1或3所述的应用处理器,其特征在于,所述控制器为电力传送协议控制器。5.根据权利要求4所述的应用处理器,其特征在于,所述控制器为USB type-c接口及电 力传送协议控制器。6.—种处理装置,其特征在于,包括:应用处理器,其包括:中央处理器,包括:至少一第一命令寄存器及第一中断寄存器;通 信连接所述中央处理器的控制器,用于与所述中央处理器通信,其包括:第二命令寄存器、 第二中断寄存器及通知寄存器;其中,所述第一命令寄存器用于传递中央处理器对所述控 制器的命令至所述第二命令寄存器,而令所述控制器在读取第二中断寄存器时产生中断来 读取所述命令;所述通知寄存器用于传递所述控制器对应所述命令执行情况的通知信息至 所述中央处理器;外部存储单元,连接所述应用处理器,用于所述中央处理器及控制器间交互数据的缓 存;其中,所述中央处理器还包括:第一数据寄存器;所述控制器还包括第二数据寄存器; 其中,所述第一数据寄存器和第二数据寄存器间传递外部存储单元的地址。7.根据权利要求6所述的处理装置,其特征在于,所述外部存储单元包括:写缓存及读 缓存;所述命令包括:用于执行写所述写缓存的块写命令、及用于执行读所述读缓存的块读 命令。8.根据权利要求6所述的处理装置,其特征在于,所述外部存储单元存储有:多个状态 值;所述命令包括:用于执行读取所述状态值的读状态命令、及用于执行清理所述状态值 的清理状态命令。9.根据权利要求8所述的处理装置,其特征在于,所述外部存储单元还存储有:一一对 应各状态值的多个状态覆盖值,所述清理状态命令用于执行将所述状态覆盖值覆盖对应状 态值。10.根据权利要求6所述的处理装置,其特征在于,所述外部存储单元用于存储命令执 行错误的错误编码;所述命令包括用于读取所述错误编码的读取错误命令。11.根据权利要求10所述的处理装置,其特征在于,所述读取错误命令用于执行所读取 最后一个存入外部存储单元的错误编码。12.根据权利要求6所述的处理装置,其特征在于,所述控制器包括:微处理器,其通信 连接所述中央处理器,其包括:所述至少一第二命令寄存器、第二中断寄存器及通知寄存 器;并用于实现所述中央处理器和控制器间通信协议的协议栈。13.根据权利要求6或12所述的处理装置,其特征在于,所述控制器为电力传送协议控制器。14.根据权利要求13所述的处理装置,其特征在于,所述控制器为USB type-c接口及电 力传送协议控制器。15.根据权利要求6所述的处理装置,其特征在于,所述外部存储单元为双倍速率同步 动态随机存储器。16.—种命令执行方法,其特征在于,应用于如权利要求6至15中任一项所述的处理装 置,其特征在于,包括:所述中央处理器将命令写入至第一命令寄存器;将所述命令从第一命令寄存器传递至第二命令寄存器;所述控制器读取所述第二中断寄存器而产生中断,以从所述第二命令寄存器读取所述 命令;所述控制器执行所述命令而对应读/写所述外部存储单元中数据;所述控制器通过其通知寄存器传递所述命令执行结果的通知信息至所述中央处理器 的第一中断寄存器。
【文档编号】G06F13/24GK106021145SQ201610353492
【公开日】2016年10月12日
【申请日】2016年5月25日
【发明人】沈光, 卢笙, 肖骁, 陈安
【申请人】芯启源(上海)半导体科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1