买专利卖专利找龙图腾,真高效! 查专利查商标用IPTOP,全免费!专利年费监控用IP管家,真方便!
申请/专利权人:国民技术股份有限公司
摘要:本发明公开了一种通道寄存器初始化方法、装置及DMA设备、终端,通过本实施例提供的通道寄存器初始化方法对DMA设备中的通道寄存器进行初始化,DMA设备接收的不再是直接的初始化信息,而是经过保护处理的数据搬移指令。初始化信息不被直接暴露。本实施例还提供一种通道寄存器初始化装置、DMA设备、终端,由于解保护处理规则与保护处理规则对应,只有经保护处理规则处理得到的数据搬移指令才能被指令处理器成功解保护处理得到的初始化信息,因此,保护处理与解保护处理两个过程相互配合,能够实现对数据搬移指令的来源的认证,实现对DMA数据搬移的监控,保证数据搬移请求方的合法性,进而提升系统的安全性。
主权项:1.一种通道寄存器初始化方法,应用于中央处理器CPU,其特征在于,所述通道寄存器初始化方法包括:所述CPU根据数据搬运任务配置针对直接内存存取DMA设备中通道寄存器的初始化信息,所述初始化信息中包括用于对所述数据搬移任务中源地址与目的地址中的至少一个进行指示的信息;所述CPU根据预设的编码规则对所述初始化信息进行编码处理,或根据预设的加密规则对所述初始化信息进行加密处理,或同时对所述初始化信息进行编码处理及加密处理,得到数据搬移指令;所述CPU将所述数据搬移指令发送给所述DMA设备,以供所述DMA设备基于所述数据搬移指令实现通道寄存器的初始化。
全文数据:通道寄存器初始化方法、装置及DMA设备、终端技术领域[0001]本发明涉及安全技术领域,更具体地说,涉及一种通道寄存器初始化方法、装置及DMA设备、终端。背景技术[0002]直接内存存取DirectMemoryAccess,DMA是指数据的搬移不需要CPU的介入,而使存储设备之间可以直接进行数据交换的技术。DMA设备在系统中负责数据搬运的工作,是系统数据通路的重要组成部分,其搬移的数据可以是一段程序,也可以是普通数据;其可以实现外接存储设备与终端内存之间的数据搬移,也可以实现一个外接存储设备到另一个外接存储设备之间的数据搬移。[0003]传统的DMA中,DMA设备从总线上获取到待搬移数据的源地址、目的地址和搬运数据的大小等初始化信息,然后根据根据这些初始化信息对其内部的通道寄存器进行初始化,以便经初始化后的通道寄存器获得DMA设备总机接口使用权后,根据对应的源地址、目的地址等信息进行自动的数据搬移。但是,DMA设备并没有辨别初始化信息来源的能力。因此,如果攻击者通过各种攻击手段,如网络攻击、侧信道攻击等,获得了DMA设备的工作过程和协议,就可能挟持DMA设备。此时,源地址、目的地址和数据量等初始化信息都是来自攻击者,而不是CPU。这样,攻击者就有可能绕开CPU和操作系统的监控,在内存中植入攻击程序。攻击程序被植入内存后,CPU会在特定的时候执行这些程序,从而受到攻击,系统安全受到威胁。[0004]所以,现在亟需提供一种解决方案,以避免DMA设备被劫持,威胁系统安全的问题。发明内容[0005]本发明要解决的技术问题在于:解决传统DMA设备容易被劫持,在攻击方的控制下搬移数据,影响系统安全的问题,针对该技术问题,提供一种通道寄存器初始化方法、装置及DMA设备、终端。[0006]为解决上述技术问题,本发明提供一种通道寄存器初始化方法,应用于中央处理器CPU,所述通道寄存器初始化方法包括:[0007]所述CFU根据数据搬运任务配置针对直接内存存取DMA设备中通道寄存器的初始化信息,所述初始化信息中包括用于对所述数据搬移任务中源地址与目的地址中的至少一个进行指示的信息;[0008]所述CPU根据保护处理规则对所述初始化信息进行保护处理得到数据搬移指令;[0009]所述CPU将所述数据搬移指令发送给所述歷设备,以供所述麵设备基于所述数据搬移指令实现通道寄存器的初始化。[0010]进一步地,本发明提供了一种通道寄存器初始化方法,应用于直接内存存取DMA设备,所述通道寄存器初始化方法包括:[0011]所述DMA设备的指令交互接口接收数据搬移指令;[0012]所述DMA设备的指令处理器根据解保护处理规则对所述数据搬移指令进行細=保护处理,得到此次数据搬移任务对应的初始化信息,所述初始化信息中包括用于对所述数据搬移任务中源地址与目的地址中的至少一个进行指示的信息;[0013]所述指令处理器将所述初始化信息写入所述DMA设备内空闲的通道寄存器中,实现所述通道寄存器的初始化。[0014]可选地,所述DMA设备的指令交互接口接收数据搬移指令之后,还包括:所述指令交互接口将所述数据搬移指令存储到所述DMA设备的指令缓存器中;_[0015]所述DMA设备的指令处理器根据解保护处理规则对所述数据搬移指令进行解保护处理之前,还包括:所述指令处理器从所述指令缓存器中读取所述数据搬移指令。[0016]可选地,所述DMA设备的指令处理器根据解保护处理规则对所述数据搬移指令进行解保护处理,包括:[0017]若所述解保护处理规则包括译码规则,则所述指令处理器根据所述译码规则对所述数据搬移指令进行译码处理;[0018]若所述解保护处理规则包括解密规则,则所述指令处理器根据所述解密规则对所述数据搬移指令进行解密处理;[0019]若所述解保护处理规则同时包括译码规则和解密规则,所述指令处理器先根据所述译码规则对所述数据搬移指令进行译码处理,然后再根据所述解密规则对译码结果进行解密处理;或,所述指令处理器先根据所述解密规则对所述数据搬移指令进行解密处理,然后再根据译码规则对解密结果进行译码处理。[0020]可选地,所述指令处理器将所述初始化信息写入所述DMA设备内空闲的通道寄存器中,包括:[0021]所述指令处理器确定所述数据搬移指令的类型;[0022]若所述数据搬移指令为延时数据搬移指令,则所述指令处理器将所述初始化信息写入外设信息寄存器;[0023]在接收到来自所述外接存储设备的硬件请求信号后,所述指令处理器从所述外设信息寄存器中读取所述初始化信息,并从所述DMA设备内空闲的通道寄存器中选择一个写入所述初始化信息。[0024]可选地,所述指令处理器确定所述数据搬移指令的类型之后,还包括:[0025]若所述数据搬移指令为即时数据搬移指令,则所述指令处理器在得到所述初始化信息后,直接从所述DMA设备内空闲的通道寄存器中选择一个写入所述初始化信息。[0026]可选地,所述DMA设备中各外设信息寄存器与外接在总线上的各外接存储设备一一对应;所述指令处理器将所述初始化信息写入外设信息寄存器,包括:[0027]所述指令处理器根据所述初始化信息中的外接存储设备标识信息确定所述延时数据搬移指令所针对的外接存储设备;[0028]所述指令处理器将所述初始化信息写入所述外接存储设备对应的外设信息寄存器。[0029]进一步地,本发明提供了一种通道寄存器初始化装置,包括:[0030]配置模块,用于根据数据搬运任务配置针对直接内存存取DMA设备中通道寄存器的初始化信息,所述初始化信息中包括用于对所述数据搬移任务中源地址与目的地址中的至少一个进行指示的信息;A[0031]保护模块,用于根据保护处理规则对所述初始化信息进行保护处理得到数据搬移丰旨冷";[0032]交互模块,用于将所述数据搬移指令发送给所述DMA设备,以供所述DMA设备基于所述数据搬移指令实现通道寄存器的初始化。[0033]进一步地,本发明提供了一种DMA设备,包括指令交互接口、通道寄存器以及指令处理器;[0034]所述指令交互接口用于接收数据搬移指令;所述指令处理器用于根据解保护处理规则对所述数据搬移指令进行解保护处理,得到此次数据搬移任务对应的初始化彳§息,并将所述初始化信息写入所述DMA设备内空闲的通道寄存器中,实现所述通道寄存器的初始化,所述初始化信息中包括用于对所述数据搬移任务中源地址与目的地址中的至少一个进行指示的信息。[0035]可选地,所述DMA设备还包括指令缓存器,所述指令缓存器分别同所述指令处理器、所述指令交互接口通信连接;所述指令缓存器用于对所述指令交互接口接收到的数据搬移指令进行缓存,以供所述指令处理器读取并根据所述解保护处理规则进行解保护处理。[0036]可选地,所述指令交互接口为所述DMA设备的从机接口。[0037]可选地,所述指令处理器包括译码模块和解密模块中的至少一个;所述译码模块用于根据译码规则对接收的信息进行译码处理,所述解密模块用于根据解密规则对接收的信息进行解密处理。[0038]可选地,所述DMA设备还包括外设信息寄存器;所述外设信息寄存器与所述指令处理器通信连接;[0039]所述指令处理器用于在根据解保护处理规则对所述数据搬移指令进行解保护处理,得到所述初始化信息后,确定所述数据搬移指令的类型,并在确定所述数据搬移指令为延时数据搬移指令时,将所述初始化信息写入所述外设信息寄存器;在接收到来自所述外接存储设备的硬件请求信号后,从所述外设信息寄存器中读取所述初始化信息,并从所述DMA设备内空闲的通道寄存器中选择一个写入所述初始化信息。[0040]可选地,所述指令处理器还用于在确定所述数据搬移指令为即时数据搬移指令时,直接从所述DMA设备内空闲的通道寄存器中选择一个写入所述初始化信息。[0041]可选地,所述DMA设备中的各所述外设信息寄存器与外接在总线上的各外接存储设备一一对应;所述指令处理器用于根据所述初始化信息中的外接存储设备标识信息确定所述延时数据搬移指令所针对的外接存储设备,并将所述初始化信息写入所述外接存储设备对应的外设信息寄存器。[0042]进一步地,本发明提供了一种终端,所述终端包括总线以及如上任一项所述的DMA设备,所述DMA设备的指令交互接口连接在所述总线上。[0043]进一步地,本发明提供了一种存储介质,其特征在于,所述存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现如上第一项所述的通道寄存器初始化方法的步骤。[0044]有益效果[0045]本发明提供一种通道寄存器初始化方法、装置及DMA设备、终端,针对传统DMA设备容易被攻击方劫持从而搬移影响系统安全的数据的问题,本实施例提供一种通道寄存器初始化方法,CRJ根据数据搬运任务配置针对DMA设备中通道寄存器的初始化信息,初始化信息中包括用于对数据搬移任务中源地址与目的地址中的至少一个进行指示的信息;然后,CPU根据保护处理规则对初始化信息进行保护处理得到数据搬移指令,并将数据搬移指令发送给DMA设备,DMA设备的指令交互接口接收到该数据搬移指令后传给指令处理器,指令处理器根据解保护处理规则对数据搬移指令进行解保护处理,得到此次数据搬移任务对应的初始化信息,然后指令处理器将初始化信息写入DMA设备内空闲的通道寄存器中,实现通道寄存器的初始化。通过本实施例提供的通道寄存器初始化方法对DMA设备中的通道寄存器进行初始化,DMA设备接收的不再是直接的初始化信息,而是经过保护处理的数据搬移指令。初始化信息不被直接暴露。本实施例还提供一种通道寄存器初始化装置、DMA设备、终端及存储介质,由于解保护处理规则与保护处理规则对应,只有经保护处理规则处理得到的数据搬移指令才能被指令处理器成功解保护处理得到的初始化信息,因此,保护处理与解保护处理两个过程相互配合,能够实现对数据搬移指令的来源的认证,实现对DMA数据搬移的监控,保证数据搬移请求方的合法性,进而提升系统的安全性。附图说明[0046]下面将结合附图及实施例对本发明作进一步说明,附图中:[0047]图1为传统DMA设备的一种结构示意图;[0048]图2为本发明实施例一中提供的通道寄存器初始化方法的一种流程图;[0049]图3为本发明实施例一中提供的DMA设备的一种结构示意图;[0050]图4为本发明实施例一中提供的DMA设备的另一种结构示意图;[0051]图5为本发明实施例一中指令处理器将初始化信息写入通道寄存器的一种流程图;[0052]图6为本发明实施例二中提供的DMA设备的一种结构示意图;[0053]图7为本发明实施例二中提供的通道寄存器初始化方法的一种流程图;[0054]图8为本发明实施例三中提供的DMA设备的一种结构示意图;[0055]图9为本发明实施例三中提供的通道寄存器初始化方法的一种流程图;[0056]图10为本发明实施例四中提供的终端的一种结构示意图;[0057]图11为本发明实施例四中提供的通道寄存器初始化装置的一种结构示意图。具体实施方式[0058]应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。[0059]在对本发明的各个方案进行介绍之前,这里先对常见DMA设备的结构及其数据搬移流程进行简单的阐述,请参见图1:八[0060]DMA设备10包括控制器101、主机接口102、从机接口1〇3、通道寄存器104和内部缓存105,内部缓存105与主机接口1〇2通信连接,同时,从机接口1〇3和主机接口1〇2均同系统总线通彳目连接。从机接口1〇3在总线上作为从机,用来接收来自CPU的总线请求,如初始化通道寄存器的初始化彳§息,或者查询DMA设备内通道寄存器伯息的请求等。主机接口102在总线上作为主机,实现数据搬移,如发起总线读操作对源地址数据进行读取,缓存到内部缓存105中,或发起总线写操作对内部缓存1〇5中的数据写到目的地址等。[0061]从机接口103与通道寄存器104通信连接,从机接口103在从总线上获取到初始化信息之后,可以写入通道寄存器104中。当该通道寄存器104获得主机接口102的使用权时,控制器101会读取该通道寄存器104中的初始化信息写入主机接口102当中,对主机接口1〇2进行初始化,从而控制主机接口1〇2根据写入的初始化信息实现对应的数据搬移任务。通常,一个通道寄存器104中只能写入一个数据搬移请求对应的初始化信息,因此,己经写入初始化信息且尚未完成对应数据搬移任务的通道寄存器104属于被占用的,若当前存在数据搬移任务,则只能向那些当前尚未写入初始化信息的空闲通道寄存器进行写入。在DMA设备10中,可以包括一个或多个通道寄存器104,这些通道寄存器104可以被总称为“通道寄存器堆”,虽然通道寄存器堆中可以同时存储有多个数据搬移任务对应的初始化信息,但实际上,主机接口102在同一时刻只能执行一个数据搬移任务,因此,在同一时刻,最多有一个通道寄存器104具备主机接口102的使用权。为了确定当前时刻,哪个通道寄存器104具备主机接口102的使用权,DMA设备10中还还包括通道仲裁器图1中未示出)。通道仲裁器用于对主机接口102的使用权进行管理。[0062]通常情况下,有数据搬移需求的不只CPU,还有外接再总线上的外接存储设备(以下简称“外设),CHJ可以直接将初始化信息通过总线发送到从机接口1〇3处,进而由从机接口103将初始化信息写入空闲的通道寄存器104当中,实现通道寄存器104的初始化。但外设发起数据搬移请求时的情况却不一样:外设在需要DMA设备10进行DMA数据搬移时,可以发送硬件请求信号给控制器101,由控制器1〇1控制主机接口1〇2访问该外设,获得此次数据搬移任务对应的初始化信息。主机接口102在获取到初始化信息之后,可以写入空闲通道寄存器中。在一些示例当中,主机接口102可以将获取到的初始化信息先发送给控制器101,由控制器101将其写入空闲状态的通道寄存器104中。但在另一些示例中,主机接口1〇2可以直接与通道寄存器104通信连接,将从外设处获取到的初始化信息写入一个空闲的通道寄存器104。[0063]可见,传统的DMA设备10在对通道寄存器104进行初始化的时候,是由从机接口103或主机接口102通过总线获取到待写入通道寄存器1〇4的初始化信息。因此,如果对总线进行监听,攻击方就有可能获取到DMA设备10的工作过程和使用的协议,就可以自己发送初始化信息,从而挟持DMA设备10,使其搬移攻击方指定的数据到攻击方指定的位置,例如,挟持DMA设备10将木马程序搬移到终端内存当中,让CPU读取执行该木马程序后,控制终端。[0064]所以,传统DMA设备以及其数据搬移流程存在较大的安全隐患,为了提升终端的安全性,本发明提供一种通道寄存器初始化方法、装置及DMA设备、终端,下面通过各实施例对本发明中的通道寄存器初始化方法、终端及DMA设备等进行介绍:[0065]实施例一':[0066]本实施例对通道寄存器初始化方法可以由CPU与DMA设备共同执行,下面结合图2对该通道寄存器初始化方法的流程进行介绍:[0067]S202:CPU根据数据搬运任务配置针对直接内存存取DMA设备中通道寄存器的初始化信息。[0068]在本实施例中,数据搬移任务对应的初始化信息均由CPU下发给DMA设备。所以,无论是来自CPU自身的数据搬移任务,还是针对外设的数据搬移任务,通道寄存器的初始化信息均由CPU配置。在本实施例中,初始化信息是用于对各数据搬移任务中源地址与目的地址中的至少一个进行指示的信息。例如,在本实施例的一些示例当中,初始化信息中同时包括数据搬移的源地址和目的地址。在这种情况下,DMA设备在获取到初始化信息之后,可能不需要再获取其他信息,就可以根据初始化信息进行数据搬移。在本实施例的另一些示例当中,初始化信息中包括数据搬移的源地址,但不包括目的地址,在这种情况下,DMA设备可能需要通过其他方式获取数据搬移的目的地址。例如,数据搬移任务实际的目的地址是某一个外设,则DMA设备在执行数据搬移任务之前,DMA设备可以接收该外设发起的硬件请求信号,根据该硬件请求信号确定数据搬移任务对应的目的地址。还有一些示例当中,初始化信息包括目的地址但不包括源地址,在这种情况下,也可以由DMA设备通过其他方式获取源地址。例如,DMA设备先根据CPU配置的初始化信息对通道寄存器进行初始化,当某一外设需要请求DMA设备将自己内部存储的数据搬移到初始化信息中指定的目的地址时,可以通过硬件请求信号向DMA设备指定数据搬移的源地址。[0069]应当理解的是,在初始化信息中,除了用于向DMA设备指定数据搬移任务对应的源地址和或目的地址的信息以外,还可以包括用于指定搬移数据量的信息,以及数据搬移过程中的控制信息,例如,数据搬移过程中每次读取数据位等信息。[0070]S204:CPU根据保护处理规则对初始化信息进行保护处理得到数据搬移指令。[0071]CPU在将用于对通道寄存器进行初始化的初始化信息配置出来后,可以先对初始化信息进行保护处理得到数据搬移指令,从而使得初始化信息不直接暴露于总线上,被恶意攻击方直接监听到,从而给恶意攻击方了解DMA设备初始化过程的机会。在本实施例中,TU对初始化信息的保护处理可以是根据预设的编码规则对其进行编码处理,也可以是根据预设的加密规则对其进行加密处理。当然为了进一步提升初始化信息的安全性,可以对其进行保护处理可以同时对其进行编码处理及加密处理。当保护处理同时包括编码处理及加密处理时,保护处理规则就同时包括编码规则与加密规则,CPU可以先根据编码对初始化信息进行编码处理,然后将得到的信息按照加密规则进行加密处理,从而得到数据搬移指令。当然,CPU也可以先根据预设的加密规则对初始化信息进行加密处理,然后根据编码规则对加密得到的信息进行编码处理,从而得到数据搬移指令。[0072]在本实施例的一些示例当中,CPU会同时对初始化信息进行编码处理及加密处理,和前述方案不同的是,数据搬移指令中可以包括两部分信息,第一部分为根据预设编码规则对初始化信息进行编码处理得到的编码信息;第二个部分是根据预设的加密规则对初始化信息进行加密处理得到的加密信息。这样,当DMA设备接收到数据搬移指令后,需要根据与CTO侧编码规则对应的译码规则对数据搬移指令中的第一部分信息进行译码处理得到第一初始化信息,另外,还要根据与cro侧加密规则对应的解密规则对第二部分信息进行解密处理得到第二初始化信息。为了保证安全性,DMA设备可以仅在第一初始化信息与第二初始化信息一致的情况下,才能根据获取的初始化信息对通道寄存器进行初始化。[0073]S206:CPU将数据搬移指令发送给DMA设备的指令交互接口。[0074]在本实施例中,DMA设备的指令交互接口接收的数据搬移指令来自CPU,但可以理解的是,在其他示例当中,数据搬移指令也可以由其他对象发送给指令交互接口。[0075]当CPU对初始化信息进行保护处理得到数据搬移指令指令之后,可以将该数据搬移指令发送给DMA设备。为了便于本领域技术人员理解通道寄存器的初始化方法,这里先对本实施例提供的DMA设备的结构进行简单介绍,请参见图3:[0076]DMA设备30包括指令交互接口3〇1、通道寄存器3〇2以及指令处理器303,其中指令处理器303分别与指令交互接口3〇1、通道寄存器302通信连接。在本实施例的一种示例中,CPU可以通过系统总线向DMA设备传输数据搬移指令。在DMA设备3〇侧,指令交互接口301可以从总线上接收CPU发送的数据搬移指令,然后将数据搬移指令传输给指令处理器303。应当理解的是,DMA设备30中的指令交互接口301与指令处理器3〇3之间可以直接通信连接,如图3所示,指令交互接口301接收到数据搬移指令后,直接传输给指令处理器303。[0077]除此以外,DMA设备中的指令交互接口与指令处理器之间也可以间接通信连接,在本实施例的一些示例当中,如图4所示,DMA设备40除了包括指令交互接口401、通道寄存器402以及指令处理器403外,还包括指令缓存器404,指令交互接口401接收到数据搬移指令后,先将数据搬移指令缓存到DMA设备40的指令缓存器404当中,以便指令处理器403在满足处理条件的时候,从指令缓存器404中读取数据搬移指令进行解保护处理。所以,本实施例的一些示例中提供的DMA设备如图3所示的DMA设备30中,指令交互接口与指令处理器之间直接连接,而在另一些示例提供的DMA设备如图4所示的DMA设备40中,指令交互接口与指令处理器之间设置有指令缓存器,用以对指令交互接口接收到的数据搬移指令进行临时缓存。可以理解的是,指令缓存器需要遵循“满时不能写,空时不能读”的原则。[0078]S208:DMA设备的指令处理器根据解保护处理规则对数据搬移指令进行解保护处理,得到此次数据搬移任务对应的初始化信息。[0079]DMA设备对数据保护指令的解保护处理过程,与CPU对初始化信息的保护处理过程是两个相逆的过程,解保护处理规则与保护处理规则也是对应匹配的。如果保护处理是根据预设的编码规则对初始化信息进行编码处理,解保护处理则是根据与编码规则对应的译码规则对数据搬移指令进行译码处理,从而得到原始的初始化信息。如果保护处理是根据预设的加密规则对初始化信息进行加密处理,解保护处理过程则是根据预设的解密规则对数据搬移指令进行解密处理,得到初始化信息。当然,如果CPU对初始化信息进行了编码处理后又对其进行加密处理,则指令处理器应当先对数据搬移指令进行解密处理,然后对其进行译码处理才能得到初始化信息。如果CPU对初始化信息先进行了加密处理后,又对经过加密的信息进行了编码处理,则DMA设备的指令处理器应当先根据译码规则对数据搬移指令进行译码处理,然后再根据解密规则对译码得到的信息进行解密处理,从而获取到初始化信息。[0080]由于CPU对初始化信息的保护处理可以多种多样,因此指令处理器对数据搬移指令的解保护处理也可以多样,只要二者使用的规则等对应,能够在初始化信息得到保护的同时,保证指令处理器能够还原出对通道寄存器进行初始化的信息即可。[0081]S210:指令处理器将初始化信息写入DMA设备内空闲的通道寄存器中,实现通道寄存器的初始化。[0082]当指令处理器根据数据搬移指令以及与保护处理规则对应的解保护处理规则得到初始化信息之后,可以将得到的初始化信息写入DMA设备中空闲的通道寄存器中,实现通道寄存器的初始化,以便后续过程中DMA设备的主机接口根据通道寄存器中的初始化信息执行对应的数据搬移任务。[0083]可以理解的是,指令处理器得到初始化信息之后,可以立即将其写入到通道寄存器堆中空闲的一个通道寄存器中,也可以先将初始化信息写入到其他用于临时存储初始化信息的寄存器中,在满足条件的时候再从这些临时的寄存器中读取初始化信息写入到空闲的通道寄存器中。例如,在本实施例的一些示例当中,指令处理器会根据数据搬移指令的类型决定是否立即将初始化信息写入到通道寄存器中,请参见图5:[0084]S502:指令处理器判断数据搬移指令的类型是否是即时数据搬移指令。[0085]若判断结果为是,则进入S504。否则,执行S506。在这些示例当中,数据搬移指令分为即时数据搬移指令和延时数据搬移指令,其中即时数据搬移指令通常是因CPU的数据搬移需求而发起的,要求DMA设备尽快响应,完成数据搬移任务。通常,即时数据搬移指令所对应的初始化信息中包括源地址、目的地址、待搬移数据量以及控制信息等。而延时数据搬移指令则是针对外设发起的,延时数据搬移指令不能单独控制DMA设备完成数据搬移任务,因为其需要与外设向指令处理器发送的硬件请求信号相互配合。所以,CPU发送的数据搬移指令仅仅是预先向DMA设备指定执行数据搬移任务中的部分信息,例如源地址或目的地址,在一些示例当中,还可以进一步包括待搬移数据量,甚至还包括控制信息等。[0086]在本实施例的一些示例当中,DMA设备可以在对数据搬移指令进行解保护处理后得到的初始化信息来确定该数据搬移指令的类型,如果初始化信息完整,不需要通过其他方式再获取信息,则该指令是即时数据搬移指令;而如果初始化信息中缺少执行数据搬移任务所必须的某种或某几种信息,需要通过其他方式才能获取,则该数据搬移指令属于延时数据搬移指令。在本实施例的另一些示例中,CPU可以在生成数据搬移指令时在其中携带用以表征类型的标识信息,例如通过“1”表征数据搬移指令的类型为即时数据搬移指令,通过“0”表征延时数据搬移指令。[0087]S504:指令处理器直接从空闲的通道寄存器中选择一个写入该初始化信息。[0088]若数据搬移指令为即时数据搬移指令,则指令处理器在得到初始化信息后,直接从DMA设备内空闲的通道寄存器中选择一个写入初始化信息。在本实施例的一些示例当中,[0089]S506:指令处理器将初始化信息写入外设信息寄存器。[0090]在本实施例的一些示例当中,DMA设备中设置有用于临时存储初始化信息的外设信息寄存器,请参见图6:DMA设备60包括指令交互接口601、通道寄存器602以及指令处理器603、指令缓存器604以及外设信息寄存器605。外设信息寄存器605与指令处理器603通信连接。当指令处理器603从指令缓存器604中读取出一条数据搬移指令经过解保护处理之后,确定该数据搬移指令是延时数据搬移指令,因此,指令处理器603可以将解保护处理得到的初始化信息存储到外设信息寄存器605中。[0091]可以理解的是,与系统总线通信连接的外设可以有多个,在这种情况下,在数据搬移指令中会携带用于指示该数据搬移指令所针对外设的标识信息,例如,一个延时数据搬移指令是针对外设A发送的,则该指令中携带有“A”,另一个延时数据搬移指令是针对外设B发送的,则该指令中携带有“B”用于告知DMA设备该延时数据搬移指令时针对外设B发起的。这样,DMA设备在将该数据搬移指令对应的初始化信息写入到外设信息寄存器时,可以根据外设的不同进行区分存储,以便后续接收到外设的硬件请求信号后,能够准确读取出与外设对应的初始化信息。[0092]在实施例的一些示例当中,DMA设备的各外设信息寄存器时可以向所有外设开放,例如,针对其中一个外设信息寄存器,其既可以存储针对外设A的初始化信息,也可以存储针对外设B的初始化信息。不过,该外设信息寄存器中,为不同的外设分配了不同的存储空间。或者该外设信息寄存器可以在存储的初始化信息中携带对应的外设标识信息。这样,当需要读取出针对某一个外设的初始化信息时,指令处理器到对应位置提取,或者读取携带外设标识信息的初始化信息即可。[0093]在本实施例的另外一些示例当中,DMA设备中的各外设信息寄存器与外设唯一对应,例如,系统总线上可以外接A、B、C、D四个外设,对应地,DMA设备中也包括a、b、c、d四个外设信息寄存器,其中外设信息寄存器a用于存储针对外设A的数据搬移任务所对应初始化信息,外设信息寄存器b用于存储针对外设B的数据搬移任务所对应初始化信息……以此类推。所以,当指令处理器确定某个数据搬移指令属于延时数据搬移指令,而且确定该延时数据搬移指令是针对外设C的时,可以将对应的初始化信息写入到外设信息寄存器c当中。本实施例中,外设信息寄存器为每个外设分配4个寄存器,存储通道的地址和控制信息。每个外设信息寄存器都有默认值,如果有初始化信息需要写入到某个外设信息寄存器中,则可以采用当前的信息覆盖该外设信息寄存器中旧的信息。[0094]S508:指令处理器接收到来自外接存储设备的硬件请求信号后,从外设信息寄存器中读取初始化信息,并从DMA设备内空闲的通道寄存器中选择一个写入初始化信息。[0095]当某个外设有数据搬移需求时,可以向DMA设备发送硬件请求信号,DMA设备中的指令处理器在接收到硬件请求信号,确定该硬件请求信号是由哪一个外设发起的,然后到对应的外设信息寄存器中读取之前存储的初始化信息,然后,从通道寄存器堆中当前空闲的通道寄存器中选择一个写入读取出的初始化信息,完成通道寄存器的初始化。[0096]本实施例提供的通道寄存器初始化方法及DMA设备,通过在DMA设备的指令交互接口与通道寄存器之间增设指令处理器,从而使得CPU在下发初始化信息之前,可以先对初始化信息进行保护处理,避免初始化信息在总线上传输时直接暴露,避免攻击方通过监听总线了解通道寄存器的初始化过程,从而保证DMA设备进行数据搬移的可靠性,提升系统安全性。[0097]实施例二:[0098]本实施例将在实施例一的基础上继续对通道寄存器初始化方法在DMA设备侧的流程进行介绍,这里以CPU下发的数据搬移指令为即时数据搬移指令,且指令交互接口为DMA设备的从机接口为例进行说明,请参见图7:[0099]S701:从机接口从总线接收数据搬移指令;[0100]S702:从机接口判断指令缓存器是否己满;[0101]若指令缓存器已满,则从机接口无法将接收到的数据搬移指令缓存到指令缓存器中,因此若判断结果为是,则执行S703;否则执行S704。[0102]S703:从机接口向CPU反馈表征DMA设备暂时无法响应的信息;[0103]例如,在本实施例中,从机接口可以通过系统总线向CPU发送RETRY重试或SPLIT离开响应给CPU,告知CPU在适当的时候重新发送数据搬移指令。[0104]S704:从机接口将数据搬移指令写入到指令缓存器中;[0105]在本实施例中,指令缓存器中存储的数据搬移指令由从机接口写入指令,由指令处理器读出。指令缓存器采用先进先出的结构,最先进入指令缓存的指令最先被读出。其空俩f目5由读写指针控制,读写指针由指令缓存器内部维护,从机接口和指令处理器只给出读写使能信号。[0106]S705:指令处理器判断是否存在空闲的通道寄存器;[0107]若判断结果为否,则指令处理器等待一段时间后继续执行S705,而若判断结果为是,则指令处理器从指令缓存器中读取一条数据搬移指令并进入S706。[0108]S706:指令处理器对读取出的数据搬移指令进行解保护处理。[0109]在本实施例的一些示例当中,指令处理器包括译码模块和解密模块中的至少一个。其中,译码模块用于根据译码规则对接收的信息进行译码处理,解密模块用于根据解密规则对接收的信息进行解密处理。应当理解的是,当指令处理器同时包括译码模块和解密模块时,译码模块与解密模块之间的连接关系会影响解保护处理流程。例如,若译码模块分别与指令缓存器、解密模块通信连接,那么解保护处理的流程则是先由译码模块根据译码规则对数据搬移指令进行译码处理,然后由解密模块根据解密规则对译码结果进行解密处理,从而得到初始化信息。[0110]在本实施例的一种示例当中,指令处理器仅包括译码模块,则指令处理器根据译码规则对从指令缓存器中读取出的数据搬移指令进行译码处理之后即可得到对应的初始化信息。[0111]S707:指令处理器将初始化信息写入一个空闲的通道寄存器。[0112]在指令处理器对数据搬移指令进行解保护处理的同时会确定其类型,在本实施例中,由于数据搬移指令属于即时数据搬移指令,因此指令处理器得到初始化信息后,可以直接将其写入到空闲的通道寄存器中,完成通道寄存器的初始化。[0113]在本实施例的一些示例当中,通道仲裁器以“先进先出”的原则管理主机接口的使用权:先被初始化的通道寄存器先获得主机接口的使用权,也即,当前位于通道寄存器堆顶端的通道寄存器拥有主机接口使用权。在某一个通道寄存器完成初始化之后,其可以向通道仲裁器申请主机接口使用权,若其当前不被允许使用主机接口,则该通道寄存器可以一直申请,直至获得主机接口使用权为止。若某个通道寄存器获得了主机接口使用权,则DMA设备的控制器可以根据该通道寄存器内的初始化信息初始化主机接口,并启动主机接口执行对应的数据搬移任务。[0114]通常,DMA设备的直接内存存储数据搬移分为两个过程:过程一,从源地址读出数据写入到DMA设备的内部缓存;过程二,从DMA设备的内部缓存中把数据写到指定的目的地址。为了完成这两个过程,DMA设备会向总线请求两次总线所有权•。数据搬移任务可以成功结束,在这种情况下,通道寄存器释放主机接口,控制器按照下一个通道寄存器中的初始化信息初始化主机接口。数据搬移任务也可以错误结束,在此情景下,主机接口发出错误中断给CPU,通道寄存器释放主机接口,并标识该通道寄存器为空闲,控制器按照下一个通道寄存器中的初始化信息初始化主机接口。数据搬移任务还可以重试或块结束,此时,通道寄存器释放主机接口,并在通道寄存器堆的最后保存当前的传输信息,同时,控制器按照下一个通道寄存器中的初始化信息初始化主机接口。另外,数据搬移任务也可以提前终止,此时,通道寄存器释放主机接口,并在通道寄存器堆的最后保存当前的传输信息,控制器按照下一个通道寄存器中的初始化信息初始化主机接口。[0115]本实施例提供的通道寄存器初始化方法,在DMA设备的从机接口与通道寄存器之间增设了用于缓存数据搬移指令的指令缓存器,以及用于对数据搬移指令进行解保护处理的指令处理器。CPU将用于对通道寄存器进行初始化信息编码处理后形成数据搬移指令,避免初始化信息在总线上传输的时候直接对外暴露,从而暴露DMA设备的通道寄存器初始化过程。DMA设备接收到被被保护着的初始化信息后,需要由指令处理器对其进行译码处理,才能完成初始化信息的解保护,进而才能完成通道寄存器的初始化。这种通道寄存器初始化方法,提升了DMA设备数据搬移的可靠性与系统的安全性。[0116]实施例三:[0117]为了解决现有技术中对DMA设备中的通道寄存器进行初始化时,直接传输初始化信息,导致DMA设备容易被恶意攻击方挟持,从而搬移恶意攻击方指定的数据,威胁系统安全的问题,本实施例提供一种DMA设备,下面结合图8和图9对该DMA设备的结构以及DMA设备中通道寄存器的初始化过程进行介绍:[0118]DMA设备80包括从机接口801、指令缓存器802、指令处理器803、通道寄存器804、外设信息寄存器805、控制器806、主机接口807、内部缓存808。从机接口8〇1与指令缓存器802通信连接。指令缓存器802可以用于存储从机接口801接收到的数据搬移指令,以供指令处理器803读取,并根据预设的解保护处理规则进行解保护处理。指令处理器803与通道寄存器804、外设信息寄存器805通信连接,在得到针对通道寄存器的初始化信息之后,指令处理器803可以根据数据搬移指令的类型选择将初始化信息写入通道寄存器804中或者外设信息寄存器805中。若初始化信息被写入了外设信息寄存器805中,则当指令处理器803接收到对应外设发起的硬件请求信号后,可以再将初始化信息读出并写入到通道寄存器804中。通道寄存器804与控制器806通信连接,控制器806可以将当前具有主机接口807使用权的通道寄存器804中的初始化信息读出,并根据读出的信息对主机接口807进行初始化,以便主机接口807在初始化之后执行初始化信息对应的数据搬移任务。[0119]从机接口801、主机接口807分别用于与系统总线通信连接,主机接口807在总线上作为主机,实现数据搬移,如发起总线读操作对源地址数据进行读取,缓存到内部缓存808中,或发起总线写操作对内部缓存808中的数据写到目的地址等。主机接口807包括一组寄存器、主机接口状态机,主机接口807从总线上接收源地址中的数据读入内部缓存,在写总线时再将内部缓存808中的数据广播到总线上。[0120]主机接口807以传输模式工作时,执行一次指定长度的读操作,再执行一次指定长度的写操作。此时,通道寄存器804以锁定的形式占用主机接口807,即在某一个通道寄存器804拥有主机接口807的使用权时,不能让其它通道寄存器同时申请或占用主机接口807,否则发出报警信号。主机接口807同时还负责维护DMA设备80内部缓存808的地址。[0121]主机接口807的工作流程大致如下:[0122]1、主机接口807接收控制器8〇6的启动信号产生总线请求信号和请求锁定信号并初始化主机接口寄存器。[0123]具体地、主机接口807接收控制器806的启动信号初始化主机接口,包括配置请求锁定寄存器、总线所有权寄存器、模式寄存器、主机接口源地址寄存器、主机接口目的地址寄存器、地址累加寄存器、读写控制寄存器、传输大小寄存器、传输状态寄存器、突发类型寄存器、读剩余长度寄存器、写读剩余长度寄存器。主机接口807根据剩余长度寄存器和突发类型计算突发寄存器和当前突发剩余长度寄存器的值。[0124]地址信息由各通道寄存器的源目的地址寄存器给出。传输大小信息由各通道寄存器的传输大小寄存器给出。读剩余长度寄存器、写读剩余长度寄存器和当前突发剩余长度寄存器用来判定当前传输的传输方向。[0125]2、主机接口807在收到总线仲裁器的最高优先级响应后,驱动读地址信号和读控制信号到总线。将通过总线从源地址读取的数据存储在内部缓存808中。如果数据长度超过一次突发的长度,则继续申请总线直到从给定的地址读出所有指定的数据存储在内部缓存808为止。[0126]3、在传输模式下,主机接口807申请总线发起写操作,驱动写地址信号和写控制信号到总线。把内部缓存808中的数据写入到指定的目的地址。[0127]4、传输结束。[0128]从机接口801在总线上作为从机,其可以接收来自CPU的数据搬移指令,另外,由于通道寄存器804、指令处理器803、指令缓存器802以及从机接口801之间可以双向通信,因此,当从机接口801接收到CPU的指令时,还可以读取出通道寄存器804中的信息写入到总线上,以便CPU对DMA设备80内个通道寄存器的状态进行监测。[0129]根据前述介绍可知数据搬移指令可以是即时数据搬移指令,也可以是延时数据搬移指令,本实施例以数据搬移指令为针对外设D发起的延时数据搬移指令为例进行介绍:[0130]S901:从机接口通过总线接收数据搬移指令;[0131]S902:从机接口判断指令缓存器是否已满;[0132]若指令缓存器已满,则从机接口无法将接收到的数据搬移指令缓存到指令缓存器中,因此若判断结果为是,则执行S903;否则执行S904。[0133]S903:从机接口向CPU反馈表征DMA设备暂时无法响应的信息;[0134]例如,在本实施例中,从机接口可以通过系统总线向CPU发送RETRY或SPLIT响应给CPU,告知CPU在适当的时候重新发送数据搬移指令。[0135]S904:从机接口将数据搬移指令写入到指令缓存器中;[0136]S905:指令处理器对读取出的延时数据搬移指令进行解保护处理。[0137]指令处理器对延时数据搬移指令的解保护处理过程参见实施例二中的介绍,这里不再赘述。在本实施例中,针对外设的数据搬移任务所对应的初始化信息中可以包括数据搬移的目的地址、传输的字节数、突发类型和传输长度等信息。在本实施例中,外设D可以是数据采集设备,该数据采集设备在采集到足够多的数据后,会需要DMA设备将其采集到的数据搬移到终端内存当中。[0138]S906:指令处理器将初始化信息写入对应的外设信息寄存器d。[0139]在指令处理器对延时数据搬移指令进行解保护处理的同时,可以确定出当前处理的数据搬移指令的类型属于延时数据搬移指令。因此,在得到该数据搬移指令中的初始化信息后,指令处理器可以将初始化信息写入到对应的外设信息寄存器。由于该延时数据搬移指令是针对外设D发起的,因此,指令处理器可以将初始化信息写入到外设信息寄存器d当中,采用当前的初始化信息覆盖外设信息寄存器d中原有的信息。[0M0]在本实施例中,因为与总线通信连接的外设同外设信息寄存器之间——对应,因此,如果指令处理器对某个数据搬移指令进行解析之后,发现没有外设信息寄存器可以存储该数据搬移指令对应的初始化信息,则说明该数据搬移指令不是针对任何一个外设,因此该数据搬移指令时不合法的,DMA设备可以不用执行对应的数据搬移任务。[0141]S907:指令处理器接收外设D发起的硬件请求信号;[0142]S908:指令处理器从外设信息寄存器d中读取初始化信息并写入一个空闲的通道寄存器。[0143]当指令处理器将从外设信息寄存器d中读取的初始化信息写入空闲的通道寄存器之后,该通道寄存器可以向通道仲裁器申请主机接口使用权,若其当前不被允许使用主机接口,则该通道寄存器可以一直申请,直至获得主机接口使用权为止。若该通道寄存器获得了主机接口使用权,则DMA设备的控制器可以根据该通道寄存器内的初始化信息初始化主机接口,并启动主机接口执彳丁对应的数据搬移任务。[0144]本实施例提供的通道寄存器初始化方法,针对外设的数据搬移任务,不需要由DMA设备的控制器控制主机接口访问外设获取初始化信息,而是统一由CPU下发数据搬移指令,避免主机接口访问外设获取初始化信息导致初始化信息容易被监听总线的攻击方获取,从而基于初始化信息了解DMA设备通道寄存器的初始化流程,进而挟持DMA设备搬移不安全的数据,影响系统安全。[0145]而且,由于DMA设备中各外设信息寄存器与外接在总线上的各外设一一对应,这种一一对应关系能偶保证各外设信息寄存器仅存储针对对应外设的初始化信息。因此,可以在一定程度上对数据搬移指令来源的合法性进行认证。[0146]实施例四:[0147]本实施例提供一种终端,该终端包括前述各实施例提供的DMA设备,DMA设备的指令交互接口连接在终端的总线上,可通过总线实现与终端内其他连接在总线上的器件的通信。请参见图10:终端1包括CPU11、内存12、总线13以及DMA设备14,CPU11、内存12与DMA设备14通过总线13通信连接,其中DMA设备14的结构可以参见前述任一实施例中的介绍。[0148]本实施例还提供一种通道寄存器初始化装置,下面对通道寄存器初始化装置的结构进行介绍,请参见图11:[0149]通道寄存器初始化装置110包括配置模块111、保护模块112以及交互模块113,其中配置模块111用于根据数据搬运任务配置针对直接内存存取DMA设备中通道寄存器的初始化信息。保护模块112用于根据保护处理规则对初始化信息进行保护处理得到数据搬移指令。交互模块113用于将数据搬移指令发送给DMA设备,以供DMA设备基于数据搬移指令实现通道寄存器的初始化。[0150]通道寄存器初始化装置11〇中各模块实现对应功能的具体细节可以参见前述实施例中的介绍,这里不再赘述。通道寄存器初始化装置110中各模块的功能菌可以通过图10中CPU11来实现。[0151]本实施例还提供一种存储介质,该存储介质中可以存储有用于实现前述各实施例中介绍的通道寄存器初始化方法的计算机程序。在本实施例的一些示例当中,该存储介质中可以仅存储有第一计算机程序,第一计算机程序可供一个或多个处理器读取、编译并执行,从而实现通道寄存器初始化方法在CPU侧流程;在本实施例的另一示例当中,该存储介质中可以仅存储有第二计算机程序,第二计算机程序可供一个或多个处理器读取、编译并执行,从而实现通道寄存器初始化方法在DMA设备侧的步骤。[0152]本实施例提供的终端,由于CPU侧解保护处理规则与DMA设备侧保护处理规则对应,因此,当CPU按照保护处理规则对初始化信息进行保护处理后,只有经DMA设备侧的解保护处理规则处理才能得到的初始化信息,因此,保护处理与解保护处理两个过程相互配合,不仅能够避免初始化信息直接暴露在总线上传输,而且,还能够实现对数据搬移指令的来源的认证,实现对DMA数据搬移的监控,保证数据搬移请求方的合法性,进而提升系统的安全性。[0153]需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。[0154]上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。[0155]通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质如ROMRAM、磁碟、光盘中,包括若干指令用以使得一台终端设备何以是手机,计算机,服务器,空调器,或者网络设备等执行本发明各个实施例所述的方法。[0156]上面结合附图对本发明的实施例进行了描述,但是本发明并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本发明的启示下,在不脱离本发明宗旨和权利要求所保护的范围情况下,还可做出很多形式,这些均属于本发明的保护之内。
权利要求:1.一种通道寄存器初始化方法,应用于中央处理器CPU,其特征在于,所述通道寄存器初始化方法包括:、、1所述CPU根据数据搬运任务配置针对直接内存存取DMA设备中通道寄存器的初始化信息,所述初始化信息中包括用于对所述数据搬移任务中源地址与目的地址中的至少一个进行指示的信息;所述CPU根据保护处理规则对所述初始化信息进行保护处理得到数据搬移指令;所述CPU将所述数据搬移指令发送给所述DMA设备,以供所述DMA设备基于所述数据搬移指令实现通道寄存器的初始化。、、2.—种通道寄存器初始化方法,应用于直接内存存取DMA设备,其特征在于,所述通道寄存器初始化方法包括:所述DMA设备的指令交互接口接收数据搬移指令;所述DMA设备的指令处理器根据解保护处理规则对所述数据搬移指令进行解保护处理,得到此次数据搬移任务对应的初始化信息,所述初始化信息中包括用于对所述数据搬移任务中源地址与目的地址中的至少一个进行指示的信息;所述指令处理器将所述初始化信息写入所述DMA设备内空闲的通道寄存器中,实现所述通道寄存器的初始化。3.如权利要求2所述的通道寄存器初始化方法,其特征在于,所述DMA设备的指令交互接口接收数据搬移指令之后,还包括:所述指令交互接口将所述数据搬移指令存储到所述DMA设备的指令缓存器中;所述DMA设备的指令处理器根据解保护处理规则对所述数据搬移指令进行解保护处理之前,还包括:所述指令处理器从所述指令缓存器中读取所述数据搬移指令。4.如权利要求2所述的通道寄存器初始化方法,其特征在于,所述DMA设备的指令处理器根据解保护处理规则对所述数据搬移指令进行解保护处理,包括:若所述解保护处理规则包括译码规则,则所述指令处理器根据所述译码规则对所述数据搬移指令进行译码处理;若所述解保护处理规则包括解密规则,则所述指令处理器根据所述解密规则对所述数据搬移指令进行解密处理;若所述解保护处理规则同时包括译码规则和解密规则,所述指令处理器先根据所述译码规则对所述数据搬移指令进行译码处理,然后再根据所述解密规则对译码结果进行解密处理;或,所述指令处理器先根据所述解密规则对所述数据搬移指令进行解密处理,然后再根据译码规则对解密结果进行译码处理。5.如权利要求2-4任一项所述的通道寄存器初始化方法,其特征在于,所述指令处理器将所述初始化信息写入所述DMA设备内空闲的通道寄存器中,包括:所述指令处理器确定所述数据搬移指令的类型;若所述数据搬移指令为延时数据搬移指令,则所述指令处理器将所述初始化信息写入外设信息寄存器;在接收到来自所述外接存储设备的硬件请求信号后,所述指令处理器从所述外设信息寄存器中读取所述初始化信息,并从所述DMA设备内空闲的通道寄存器中选择一个写入所述初始化信息。6.如权利要求5所述的通道寄存器初始化方法,其特征在于,所述指令处理器确定所述数据搬移指令的类型之后,还包括:若所述数据搬移指令为即时数据搬移指令,则所述指令处理器在得到所述初始化信息后,直接从所述DMA设备内空闲的通道寄存器中选择一个写入所述初始化信息。7.如权利要求5所述的通道寄存器初始化方法,其特征在于,所述DMA设备中各外设信息寄存器与外接在总线上的各外接存储设备对应;所述指令处理器将所述初始化信息写入外设信息寄存器,包括:所述指令处理器根据所述初始化信息中的外接存储设备标识信息确定所述延时数据搬移指令所针对的外接存储设备;所述指令处理器将所述初始化信息写入所述外接存储设备对应的外设信息寄存器。8.—种通道寄存器初始化装置,其特征在于,包括:配置模块,用于根据数据搬运任务配置针对直接内存存取DMA设备中通道寄存器的初始化信息,所述初始化信息中包括用于对所述数据搬移任务中源地址与目的地址中的至少一个进行指示的信息;保护模块,用于根据保护处理规则对所述初始化信息进行保护处理得到数据搬移指令;交互模块,用于将所述数据搬移指令发送给所述DMA设备,以供所述DMA设备基于所述数据搬移指令实现通道寄存器的初始化。9.一种DMA设备,其特征在于,包括指令交互接口、通道寄存器以及指令处理器;所述指令交互接口用于接收数据搬移指令;所述指令处理器用于根据解保护处理规则对所述数据搬移指令进行解保护处理,得到此次数据搬移任务对'应的初始化信息,并将所述初始化信息写入所述DMA设备内空闲的通道寄存器中,实现所述通道寄存器的初始化,所述初始化信息中包括用于对所述数据搬移任务中源地址与目的地址中的至少一个进行指示的信息。10.如权利要求9所述的DMA设备,其特征在于,所述DMA设备还包括指令缓存器,所述指令缓存器分别同所述指令处理器、所述指令交互接口通信连接;所述指令缓存器用于对所述指令交互接口接收到的数据搬移指令进行缓存,以供所述指令处理器读取并根据所述解保护处理规则进行解保护处理。11.如权利要求9所述的DMA设备,其特征在于,所述指令交互接口为所述DMA设备的从机接口。12.如权利要求9所述的DMA设备,其特征在于,所述指令处理器包括译码模块和解密模块中的至少一个;所述译码模块用于根据译码规则对接收的彳目息进彳丁译码处理,所述解想、模块用于根据解密规则对接收的信息进行解密处理。13.如权利要求9-12任一项所述的DMA设备,其特征在于,所述DMA设备还包括外设信息寄存器;所述外设信息寄存器与所述指令处理器通信连接;所述指令处理器用于在根据解保护处理规则对所述数据搬移指令进行解保护处理,得到所述初始化信息后,确定所述数据搬移指令的类型,并在确定所述数据搬移指令为延时数据搬移指令时,将所述初始化信息写入所述外设信息寄存器;在接收到来自所述外接存储设备的硬件请求信号后,从所述外设信息寄存器中读取所述初始化信息,并从所述DMA设备内空闲的通道寄存器中选择一个写入所述初始化信息。14.如权利要求13所述的DMA设备,其特征在于,所述指令处理器还用于在确定所述数据搬移指令为即时数据搬移指令时,直接从所述0似设备内空闲的通道寄存器中选择一个写入所述初始化信息。15.如权利要求13所述的DMA设备,其特征在于,所述DMA设备中的各所述外设信息寄存器与外接在总线上的各外接存储设备一一对应;所述指令处理器用于根据所述初始化信息中的外接存储设备标识信息确定所述延时数据搬移指令所针对的外接存储设备,并将所述初始化信息写入所述外接存储设备对应的外设信息寄存器。I6•—种终端,其特征在于,所述终端包括总线以及如权利要求9-15任一项所述的DMA设备,所述DMA设备的指令交互接口连接在所述总线上。
百度查询: 国民技术股份有限公司 通道寄存器初始化方法、装置及DMA设备、终端
免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。