CN104424033B - 一种电子设备及数据处理方法 - Google Patents

一种电子设备及数据处理方法 Download PDF

Info

Publication number
CN104424033B
CN104424033B CN201310392979.7A CN201310392979A CN104424033B CN 104424033 B CN104424033 B CN 104424033B CN 201310392979 A CN201310392979 A CN 201310392979A CN 104424033 B CN104424033 B CN 104424033B
Authority
CN
China
Prior art keywords
instruction
module
data
processing
storage unit
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
CN201310392979.7A
Other languages
English (en)
Other versions
CN104424033A (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.)
Lenovo Beijing Ltd
Original Assignee
Lenovo Beijing 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 Lenovo Beijing Ltd filed Critical Lenovo Beijing Ltd
Priority to CN201310392979.7A priority Critical patent/CN104424033B/zh
Publication of CN104424033A publication Critical patent/CN104424033A/zh
Application granted granted Critical
Publication of CN104424033B publication Critical patent/CN104424033B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Advance Control (AREA)

Abstract

本申请公开了一种电子设备及数据处理方法,用于解决现有技术中存在的协处理器不能主动承担中央处理器的任务的技术问题。该电子设备包括:第一处理模块,包含第一处理单元、存储单元以及指令存储单元;第二处理模块,包含第二处理单元;数据通信模块,连接所述第一处理模块和所述第二处理模块,用于所述第一处理模块与所述第二处理模块之间的数据和/或指令交互;其中,所述指令存储单元包含应用于所述第二处理模块的指令集合,所述第二处理单元执行操作时通过数据通信模块从所述指令集合中获取相应的指令,完成所述操作。

Description

一种电子设备及数据处理方法
技术领域
本申请涉及电子技术领域,特别涉及一种电子设备及数据处理方法。
背景技术
随着计算机技术的不断发展,计算机被应用到越来越多的领域,给人们的生产生活带来极大的便利。
这些不同的领域都有着对各自领域特定应用的运算加速的需求,例如,电影动画渲染领域需要计算机对图像处理加速,金融分析领域需要计算机对数字运算处理加速等等。通过提高中央处理器(CPU)的能力可以提高计算机的运算能力,然而中央处理器是通用型处理器,虽兼顾多种应用,却缺乏对特定应用运算加速的能力。即使使用多核CPU可以在一定程度提高计算机运算能力,但其并行编程十分复杂,而且仍然难以满足多种应用得需求。
目前,有效的解决方法是通过在计算机中增加特定的协处理器来辅助CPU完成特定任务的运算。由于协处理器是针对某些特定计算任务而设计的,设计时不必过多地考虑其通用性,因而往往会拥有很好的特定计算性能。
但是在本申请的发明人在实现本申请实施例的技术方案的过程中,至少发现上述现有技术存在如下技术问题:
现有技术中,中央处理器与协处理器在进行指令传输时,指令是通过内存地址在CPU的指令存储固件和数据缓存装置间传输的,数据缓存装置再通过总线地址与协处理器进行指令传输,而内存地址的分配是由CPU决定的,进而使得协处理器就主动不能通过内存地址向CPU发送一承担任务的请求。
即,现有技术中的协处理器高度依赖于中央处理器,不能主动承担中央处理器的任务。
发明内容
本申请提供一种电子设备及数据处理方法,用于解决现有技术中存在的协处理器不能主动承担中央处理器的任务的技术问题。
本申请一方面提供了一种电子设备,包括:第一处理模块,包含第一处理单元、存储单元以及指令存储单元;第二处理模块,包含第二处理单元;数据通信模块,连接所述第一处理模块和所述第二处理模块,用于所述第一处理模块与所述第二处理模块之间的数据和/或指令交互;其中,所述指令存储单元包含应用于所述第二处理模块的指令集合,所述第二处理单元执行操作时通过数据通信模块从所述指令集合中获取相应的指令,完成所述操作。
优选的,所述第一处理模块还包括第一硬件协议栈模块,所述第一硬件协议栈模块与所述存储单元及所述数据通信模块相连,用于控制所述第一处理模块中的第一数据和/或第一指令经由所述数据通信模块向所述第二处理模块的发送,及用于控制经由所述数据通信模块接收所述第二处理模块发送的第二数据和/或第二指令;所述第二处理模块还包括第二硬件协议栈模块,所述第二硬件协议栈模块与所述数据通信模块相连,用于控制所述第二数据和/或所述第二指令经由所述数据通信模块向所述第一处理模块的发送,及用于控制经由所述数据通信模块接收所述第一数据和/或所述第一指令;其中,所述第一硬件协议栈模块和所述第二硬件协议栈模块的通信协议与所述数据通信模块对应。
优选的,所述第一硬件协议栈模块在控制所述第一数据和/或所述第一指令经由所述数据通信模块向所述第二处理模块的发送的同时,还用于对所述第一数据和/或所述第一指令进行加密;及在控制经由所述数据通信模块接收所述第二数据和/或所述第二指令的同时,还用于对所述第二数据和/或所述第二指令进行解密;所述第二硬件协议栈模块在控制所述第二数据和/或所述第二指令经由所述数据通信模块向所述第一处理模块的发送的同时,还用于对所述第二数据和/或所述第二指令进行加密;及在控制经由所述数据通信模块接收所述第一数据和/或所述第一指令的同时,还用于对所述第一数据和/或所述第一指令进行解密。
优选的,所述第一处理单元具体用于将所述所述第一数据和/或所述指令集合中的所述第一指令存储至所述存储单元,并指示所述存储单元控制所述第一指令和/或所述第一数据经由所述第一硬件协议栈模块及所述数据通信模块传输至所述第二处理模块;所述第一处理单元还用于在所述存储单元经由所述第一硬件协议栈模块从所述数据通信模块接收到所述第二指令和/或所述第二数据,并产生一接收中断信号时,响应所述中断信号,从所述存储单元读取所述第二指令和/或所述第二数据。
优选的,所述存储单元与所述指令存储单元具体通过总线地址中的至少一个固定地址进行所述第一指令和/或所述第二指令的传输;所述数据通信模块具体为一外部总线。
本申请另一方面提供一种数据处理方法,应用于一电子设备,所述电子设备包括第一处理模块;第二处理模块;数据通信模块;其中,所述第一处理模块包含第一处理单元、存储单元以及指令存储单元;所述第二处理模块包含第二处理单元;所述数据通信模块分别连接所述第一处理模块和所述第二处理模块,用于所述第一处理模块与所述第二处理模块之间的数据和/或指令交互;所述方法包括:所述第二处理单元在执行操作时通过数据通信模块从所述指令存储单元中存储的一指令集合中获取相应的指令;其中,所述指令集合为应用于所述第二处理模块的指令的集合。
优选的,所述第一处理模块还包括第一硬件协议栈模块,所述第一硬件协议栈模块与所述存储单元及所述数据通信模块相连;所述第二处理模块还包括第二硬件协议栈模块,所述第二硬件协议栈模块与所述数据通信模块相连;所述第二处理单元在执行操作时通过数据通信模块从所述指令存储单元中存储的一指令集合中获取相应的指令,具体包括:所述第一处理单元控制将所述指令集合中的第一指令传输至所述存储单元;所述存储单元经由所述第一硬件协议栈模块将所述第一指令从所述数据通信模块向所述第二处理模块发送;所述第二处理单元经由所述第二硬件协议栈模块从所述数据通信模块接收所述第一指令;其中,所述第一硬件协议栈模块和所述第二硬件协议栈模块的通信协议与所述数据通信模块对应。
优选的,在所述第一处理单元控制将所述指令集合中的第一指令传输至所述存储单元之前,所述方法还包括:所述第二处理单元经由所述第二硬件协议栈模块从所述数据通信模块向所述第一处理模块发送第二指令;所述存储单元经由所述第一硬件协议栈模块从所述数据通信模块接收到所述第二指令;所述第一处理单元从所述存储单元读取所述第二指令,并响应所述第二指令。
优选的,所述第一指令和所述第二指令通过所述第一硬件协议栈模块时,所述第一硬件协议栈模块对所述第一指令和所述第二指令进行加密和/或解密;所述第一指令和所述第二指令通过所述第二硬件协议栈模块时,所述第二硬件协议栈模块对所述第一指令和所述第二指令进行加密和/或解密。
优选的,所述第一处理单元控制将所述指令集合中的第一指令传输至所述存储单元,具体为:所述第一处理单元控制将所述指令集合中的第一指令通过总线地址中的至少一个固定地址传输至所述存储单元;所述第一处理单元从所述存储单元读取所述第二指令,并响应所述第二指令,具体为:所述第一处理单元通过所述至少一个固定地址从所述存储单元读取所述第二指令,并响应所述第二指令。
本申请实施例中提供的一个或多个技术方案,至少具有如下技术效果或优点:
1、由于在本申请实施例中,第二处理单元在处理任务时,可以主动从第一处理模块的存储单元所存储的指令集合中获取执行该任务对应的指令,而无需通过中央处理器的内存对任务指令动态匹配,进而解决了现有技术中存在的协处理器不能主动承担中央处理器的任务的技术问题,实现了协处理器主动向中央处理器发送请求承担任务指令,以主动承担中央处理器的任务并独立完成特定任务的技术效果。
2、由于在本申请实施例提供的技术方案中,协处理器与中央处理器通过外部总线连接,使得协处理器可以独立于中央处理器进行工作,进而使得协处理器可以在中央处理器休眠时保持工作状态,完成某些特定的运算任务。例如,当电脑的CPU处于休眠状态时,电脑中用于触控识别的协处理器可以继续监测显示器一区域的触控动作,并在检测到触控动作后唤醒CPU或者自行执行某特定运算。
3、由于在本申请实施例提供的技术方案中,数据通过外部总线传输时,可以对其进行加密保护,这种基于硬件的加密处理使得协处理器中的数据更加安全,避免了黑客入侵或别人盗取协处理器后造成的数据被窃取或篡改的危险。
附图说明
图1为本申请实施例中电子设备的示意图;
图2为本申请实施例中电子设备的另一示意图;
图3为本申请实施例中电子设备处理数据的流程图;
图4为本申请实施例中电子设备处理数据的另一流程图。
具体实施方式
本申请提供一种电子设备及数据处理方法,用于解决现有技术中存在的协处理器不能主动承担中央处理器的任务的技术问题。
本申请实施例中的技术方案为解决上述技术问题,总体思路如下:
一方面,提供一种电子设备,包括:
第一处理模块,包含第一处理单元、存储单元以及指令存储单元;
第二处理模块,包含第二处理单元;
数据通信模块,连接所述第一处理模块和所述第二处理模块,用于所述第一处理模块与所述第二处理模块之间的数据和/或指令交互;
其中,所述指令存储单元包含应用于所述第二处理模块的指令集合,所述第二处理单元执行操作时通过数据通信模块从所述指令集合中获取相应的指令,完成所述操作。
另一方面,提供一种数据处理方法,应用于一电子设备,所述电子设备包括第一处理模块;第二处理模块;数据通信模块;其中,所述第一处理模块包含第一处理单元、存储单元以及指令存储单元;所述第二处理模块包含第二处理单元;所述数据通信模块分别连接所述第一处理模块和所述第二处理模块,用于所述第一处理模块与所述第二处理模块之间的数据和/或指令交互;所述方法包括:
所述第二处理单元在执行操作时通过数据通信模块从所述指令存储单元中存储的一指令集合中获取相应的指令;其中,所述指令集合为应用于所述第二处理模块的指令的集合。
由于在本申请实施例中,第二处理单元在处理任务时,可以主动从第一处理模块的存储单元所存储的指令集合中获取执行该任务对应的指令,而无需通过中央处理器的内存对任务指令动态匹配,进而解决了现有技术中存在的协处理器不能主动承担中央处理器的任务的技术问题,实现了协处理器主动向中央处理器发送请求承担任务指令,以主动承担中央处理器的任务并独立完成特定任务的技术效果。
下面通过附图以及具体实施例对本申请技术方案做详细的说明,应当理解本申请实施例以及实施例中的具体特征是对本申请技术方案的详细的说明,而不是对本申请技术方案的限定,在不冲突的情况下,本申请实施例以及实施例中的技术特征可以相互组合。
实施例一
请参照图1,一方面,本申请实施例提供一种电子设备,具体来讲,该电子设备可以为计算机、服务器、智能手机、平板电脑等智能设备。该电子设备包括:
第一处理模块10,具体为电子设备的中央处理器(CPU),如常见的用于笔记本电脑的奔腾处理器(Pentium)、用于智能手机的ARM架构的骁龙(Snapdragon)处理器等通用处理器。
其中,第一处理模块10具体包含第一处理单元101、存储单元103以及指令存储单元102;具体来讲,第一处理单元101具体为CPU内核;指令存储单元102包含有应用于一第二处理模块的指令集合,该指令集合具体可以为应用于一协处理器的协处理器扩展指令集;而指令存储单元102可以和第一处理单元101固化在一起;存储单元103为一数据缓存装置,用于在第一处理单元102与一协处理器进行交互时存储这些数据和指令,具体包括寄存器、闪存、硬盘等存储设备。
在本申请实施例中,电子设备还包括:
第二处理模块20,其包含有第二处理单元201;第二处理模块20即为一协处理器,如用于浮点数值计算的浮点运算协处理器(FPU),又如用于为3D图形的生成和处理提供硬件加速的图形处理器(GPU)等辅助处理器;第二处理单元201为该协处理器的协处理器内核。
数据通信模块30,连接第一处理模块10和第二处理模块20,用于第一处理模块10与第二处理模块20之间的数据和/或指令交互。具体来讲,数据通信模块30包括USB总线,HDIO总线、高速SPI和SDIO总线、PCI总线等通信装置。
其中,第二处理单元201执行操作时通过数据通信模块30从指令集合中获取相应的指令,完成该操作。
以一具有一中央处理器(CPU)和协处理器的电脑为例,在电脑运行过程中,电脑可能会需要执行到一些特殊运算,CPU在执行这些运行的能力不及协处理器执行这些运算的能力,如图像协处理器处理图像渲染的能力由于CPU,又如浮点运算协处理器进行浮点运算的能力强于CPU,在这种情况下,为了提高运算效率,并减轻CPU的运算压力(CPU还需要处理其他很多任务),可以将这些特定任务交由那些善于处理这些任务的协处理器去执行。
而协处理器只要在获取对应的协处理器指令时才能具体处理一任务,虽然协处理器自身能调用一些简单指令,如数据传输指令、数据读取指令,但是对于处理一些涉及到其他硬件的复杂运算任务时,对应的协处理器扩展指令只能从CPU侧的指令存储单元102中的协处理器扩展指令集中获取。
在本申请实施例中,第二处理模块20从指令存储单元102中获取一协处理器指令的方法包括以下方式:
其一,第一处理单元101在获取到一需要第二处理模块20执行的任务时,主动下发对应的协处理器扩展指令(一般还会下发对应的运算数据),第二处理模块20通过数据通信模块30接收到该协处理器扩展指令;
其二,第二处理模块20在侦测到一可以由自身处理的任务时,通过数据通信模块30向第一处理模块10发送一主动请求指令,第一处理单元101在获取到该请求指令后,响应该指令,向第二处理模块20下发对应的指令(必要的时候,也会下发对应运算数据);
其三,当第一处理单元101休眠时,第二处理模块20在侦测到一可以由自身处理的任务时,第二处理模块20通过不需要第一处理单元101动态分配的内存地址,主动从指令存储单元103中获取对应的指令。
第三种情况的一种变型技术方案是第二处理模块20也可以在侦测到需要第一处理单元101处理的任务时,通过不需要第一处理单元101动态分配的内存地址,向第一处理单元101发送一唤醒请求指令,以使第一处理单元101结束休眠状态,处理对应的任务。如当电脑待机时,图像识别协处理器可以继续检测摄像头的监测画面,一完成用户的面部识别,在面部识别满足预设条件时,图像识别协处理器会向CPU发送唤醒指令,进而唤醒CPU。
第三种情况及其变型的能够实现的原因在于:与协处理器对应的协处理器扩展指令的传输可以不依赖于CPU。具体来讲,可以采用外部总线而不是CPU内部总线连接第一处理模块10和第二处理模块20,指令存储单元103在传输指令时,不使用需CPU动态分配的内存地址,而使用其他地址,如CPU地址;实际情况中,可以给协处理器扩展指令分配至少一个固定地址,如固定总线地址。在此,本申请不再一一举例。
由于在本申请实施例中,第二处理单元201在处理任务时,可以主动从第一处理模块的存储单元所存储的指令集合中获取执行该任务对应的指令,而无需通过中央处理器的内存对任务指令动态匹配,进而解决了现有技术中存在的协处理器不能主动承担中央处理器的任务的技术问题,实现了协处理器主动向中央处理器发送请求承担任务指令,以主动承担中央处理器的任务并独立完成特定任务的技术效果。
在通过数据通信模块30进行数据和指令传输时,需要由与数据通信模块30对应的传输协议对传输进行规范,此传输协议由通信协议栈提供。在本申请实施例中,协议栈可以通过软件方式实现,也可以通过硬件方式实现,而硬件方式的协议栈模块由于在数据传输时,不需要电子设备运行对应软件执行相应运算,因此更为节省电子设备的运算资源。请参照图2,本申请实施例中,具体提供了与数据通信模块30对应的硬件化的协议栈模块,即:
第一处理模块10还包括第一硬件协议栈模块104,第一硬件协议栈模块404与存储单元103及数据通信模块30相连,用于控制第一处理模块10中的第一数据和/或第一指令经由数据通信模块30向第二处理模块20的发送,及用于控制经由数据通信模块30接收第二处理模块20发送的第二数据和/或第二指令;
第二处理模块20还包括第二硬件协议栈模块202,第二硬件协议栈模块202与数据通信模块30相连,用于控制第二数据和/或第二指令经由数据通信模块30向第一处理模块10的发送,及用于控制经由数据通信模块30接收第一数据和/或第一指令;
其中,第一硬件协议栈模块104和第二硬件协议栈模块202的通信协议与数据通信模块30对应。
具体来讲,第一指令为中央处理器向协处理器发送的以使协处理器完成对应任务的协处理器指令,而第一数据为与该任务相关的数据,如需要协处理器进行运算的数据;第二指令包括协处理器向中央处理器发出的用于主动承担某任务的请求指令,或者是协处理器向中央处理器发出的一用于将休眠的中央处理器唤醒的唤醒指令;第二数据包括协处理器执行完中央处理器下发任务后的一反馈数据,或者是协处理器收集的一需要中央处理器处理的数据。
在本申请实施例中,第一硬件协议栈模块104和第二硬件协议栈模块202具体用于数据和指令的进栈、出栈。为了提高数据传输效率,第一硬件协议栈模块104和第二硬件协议栈模块202在控制数据或指令发送时可以对数据或指令进行打包,对应的,在接收数据或指令时,第一硬件协议栈模块104和第二硬件协议栈模块202会对数据或指令包进行解包。
为了使数据和指令能够通过数据通信模块30传输,就必须有与数据通信模块30相对应的传输协议来对数据的传输进行规范。在本申请实施例中的第一硬件协议栈模块104和第二硬件协议栈模块202的通信协议与数据通信模块30相对应,具体指当数据通信模块30具体为USB总线时,第一硬件协议栈模块104和第二硬件协议栈模块202具有的通信协议对应为USB通讯协议;当数据通信模块30具体为SDIO总线时,第一硬件协议栈模块104和第二硬件协议栈模块202具有的通信协议对应为SDIO通讯协议。在此,本申请实施例不再一一举例。
另外,为了提高协处理器与CPU间传输数据的安全性,防止他人盗取协处理器上的数据,在本申请实施例提供的电子设备中:
第一硬件协议栈模块104在控制第一数据和/或第一指令经由数据通信模块30向第二处理模块20的发送的同时,还用于对第一数据和/或第一指令进行加密;及在控制经由数据通信模块30接收第二数据和/或第二指令的同时,还用于对第二数据和/或第二指令进行解密;
第二硬件协议栈模块202在控制第二数据和/或第二指令经由数据通信模块30向第一处理模块10的发送的同时,还用于对第二数据和/或第二指令进行加密;及在控制经由数据通信模块30接收第一数据和/或第一指令的同时,还用于对第一数据和/或第一指令进行解密。
具体来讲,第一硬件协议栈模块104和第二硬件协议栈模块202在发送数据或指令时,会将数据或指令按照一定的规则加密(包括预设加密规则加密和随机加密规则加密),即将其转为不同于其本身的密文,若不对其进行解密,电子设备将无法对其进行解读,进而提高了协处理器与CPU之间数据及指令通信的安全性。
如具体为“1010”的数据,通过第二硬件协议栈模块202进行加密后,变为“1111”,只有通过第一硬件协议栈模块104进行解密后,才能转为正确的“1010”,这样就使得他人在拆卸盗取协处理器后,不能正确其中存储的数据,进而保护了数据的安全。
在实际情况中,如前所述,除了采用预设的固定加密规则进行加密外,第一硬件协议栈模块104和第二硬件协议栈模块202在对数据和指令进行加密时,还可以采用随机加密规则进行加密,具体随机加密规则可以通过一具体的加密芯片随机产生,并使第一硬件协议栈模块104和第二硬件协议栈模块202上的密码规则匹配。这样每台电脑的CPU与协处理器间的加密规则都是独一无二的,进一步提高了数据的安全性。
在CPU内核和协处理器进行数据和指令传输时,CPU内核会先将数据和指令传输至一与CPU内核相连的存储装置,即存储单元103,然后再由存储单元103将数据通过数据通信单元传输至协处理器;同样地,中央处理器在接收协处理器发送的数据和指令时,也是先通过存储单元103从数据通信单元30接收,然后CPU内核再从存储单元中进行读取。
即,在本申请实施例中,第一处理单元101具体用于将第一数据和/或指令集合中的第一指令存储至存储单元103,并指示存储单元103控制第一指令和/或第一数据经由第一硬件协议栈模块104及数据通信模块30传输至第二处理模块20;
第一处理单元101还用于在存储单元103经由第一硬件协议栈模块104从数据通信模块30接收到第二指令和/或第二数据,并产生一接收中断信号时,响应中断信号,从存储单元103读取第二指令和/或第二数据。
具体来讲,在第一处理单元101与第二处理模块20交互时,数据和指令被保存在与第一处理单元101相连的存储单元103中,而不是存储在内存中,因为存储单元103相对于内存,不用依附于第一处理单元101运行,即存储单元103相对于第一处理单元101相对独立,进而使得通过数据通信模块30与存储单元103相连并从存储单元103获取对应指令的第二处理模块20相对于第一处理单元101相对独立。
在实际情况中,第一处理单元101除了通过上述接收中断信号的方式进而启动从存储单元103中读取第二数据和/或第二指令的之外,还可以通过第一处理单元101通过设置一时钟信号,然后周期性查询存储单元103中的状态位,在查询到状态位为一预定值(如0)时,从存储单元103中读取对应的由第二处理单元201发出的反馈数据或请求指令,进而完成与第二处理模块20的交互。
为了提高协处理器相对于中央处理器的独立性,在应用于协处理器的协处理器扩展指令在存储单元103与指令存储单元102进行传输时,可以给予其至少一个固定的总线地址,使协处理器扩展指令的传输不用CPU进行地址的分配,进而,使得协处理器可以在CPU内核休眠时,任然能够主动获取协处理器扩展指令,以完成对应任务。
即,在本申请实施例中,存储单元与指令存储单元具体通过总线地址中的至少一个固定地址进行第一指令和/或第二指令的传输。
由于给协处理器扩展指令分配了固定地址,使得协处理器可以经由这些固定地址,主动向CPU发出任务请求指令,或者主动向CPU提出侦测到的某一待处理任务等;包括当CPU休眠时,协处理器仍然可以通过这些固定地址将唤醒CPU的请求指令发送至CPU,实现唤醒CPU,以处理某任务。
为了进一步提高协处理器的独立性,在本申请实施例中,数据通信模块30具体为一外部总线。
具体来讲,数据通信模块30包括USB总线,HDIO总线、高速SPI和SDIO总线、PCI总线等外部总线。
由于在本申请实施例提供的技术方案中,协处理器与中央处理器通过外部总线连接,并经由该外部总线实现数据传输,进而使得协处理器相对于中央处理器更加独立,甚至协处理器可以直接从计算机其他特定硬件处接受特定的运算任务。
下面以电脑中CPU和一图像识别分析协处理器之间通过USB总线实现指令传输的为例,对本申请实施例提供的技术方案进行描述:
A、请参照图3,指令从中央处理器传输至协处理器:
S101:中央处理器获得一需要协处理器执行的任务;
具体来讲,该任务可以是中央处理器收到的一图像分析请求。
S102:处理器内核运行将指令存储单元中的与该任务相对应的第一指令通过固定总线地址发送至USB寄存器;
在实际情况中,与该任务相关的指令可能不只一个指令,包括多个指令,而USB寄存器即为存储单元103。
S103:USB寄存器通过第一硬件协议栈模块将该第一指令发送至USB外部总线;过程中,第一硬件协议栈模块会将该第一指令进行打包和加密;
S104:协处理器中的第二硬件协议栈模块控制协处理器从USB中总线中接收打包后的第一指令包,并对其进行解包和解密。
在协处理器接收到第一指令后,会进行相应运算,以处理对应的任务。
B、请参照图4,指令从协处理器传输至中央处理器:
S201:协处理器获得第二指令;
具体来讲,第二指令可以协处理器主动向中央处理器提出的分担某运算任务的请求指令,也可以是协处理器主动向CPU发送的侦测到的让CPU处理某一待处理任务的请求指令。如第二指令为协处理器检测到的摄像头的拍摄图像。
S202:第二硬件协议栈模块控制将协处理器内核中的第二指令打包,并对其加密,然后将该打包加密指令包经由USB总线发送至中央处理器;
S203:中央处理器中的第一硬件协议栈模块控制中央处理器中的USB寄存器从USB总线接收第二指令包,并对其进行解包和解密;
S204:USB寄存器生成一接收中断信号;
S205:处理器内核接收到该接收中断信号经由该固定总线地址从USB寄存器读取第二指令;
S206:判断是否需要由该协处理器处理与第二指令对应任务,需要时转至S102。
在实际情况中,处理器内核还可以通过设置一时钟信号,然后周期性查询数据缓存装置中的状态位,在查询到状态位为一预设值(如0)时,从数据缓存装置103中读取对应的由协处理器发出的反馈数据或请求指令,进而完成与协处理器的交互。
通过上述例子可以看到,在本申请实施例中,协处理器不仅可以基于CPU下发的协处理器扩展指令执行CPU下发的任务,并且还可以主动向CPU发出请求指令,以分担CPU承担的任务。
实施例二
另一方面,本申请实施例提供一种数据处理方法,应用于一电子设备,电子设备包括第一处理模块;第二处理模块;数据通信模块;其中,第一处理模块包含第一处理单元、存储单元以及指令存储单元;第二处理模块包含第二处理单元;数据通信模块分别连接第一处理模块和第二处理模块,用于第一处理模块与第二处理模块之间的数据和/或指令交互;方法包括:
第二处理单元在执行操作时通过数据通信模块从指令存储单元中存储的一指令集合中获取相应的指令;其中,指令集合为应用于第二处理模块的指令的集合。
进一步,为了使数据和指令能够通过数据通信模块30传输,第一处理模块还包括第一硬件协议栈模块,第一硬件协议栈模块与存储单元及数据通信模块相连;第二处理模块还包括第二硬件协议栈模块,第二硬件协议栈模块与数据通信模块相连;第二处理单元在执行操作时通过数据通信模块从指令存储单元中存储的一指令集合中获取相应的指令,具体包括:
第一处理单元控制将指令集合中的第一指令传输至存储单元;
存储单元经由第一硬件协议栈模块将第一指令从数据通信模块向第二处理模块发送;
第二处理单元经由第二硬件协议栈模块从数据通信模块接收第一指令;
其中,第一硬件协议栈模块和第二硬件协议栈模块的通信协议与数据通信模块对应。
进一步,第二处理模块可以主动向第一处理模块提出主动承担任务请求。即,在第一处理单元控制将指令集合中的第一指令传输至存储单元之前,该方法还包括:
第二处理单元经由第二硬件协议栈模块从数据通信模块向第一处理模块发送第二指令;
存储单元经由第一硬件协议栈模块从数据通信模块接收到第二指令;
第一处理单元从存储单元读取第二指令,并响应第二指令。
进一步,为了提高协处理器与CPU间传输数据的安全性,防止他人盗取协处理器上的数据,在本申请实施例中,第一指令和第二指令通过第一硬件协议栈模块时,第一硬件协议栈模块对第一指令和第二指令进行加密和/或解密;
第一指令和第二指令通过第二硬件协议栈模块时,第二硬件协议栈模块对第一指令和第二指令进行加密和/或解密。
进一步,为了提高协处理器的独立性,在本申请实施例中,第一处理单元控制将指令集合中的第一指令传输至存储单元,具体为:第一处理单元控制将指令集合中的第一指令通过总线地址中的至少一个固定地址传输至存储单元;
第一处理单元从存储单元读取第二指令,并响应第二指令,具体为:第一处理单元通过至少一个固定地址从存储单元读取第二指令,并响应第二指令。
前述实施例中的电子设备处理各种数据的方式和具体实例同样适用于本实施例的数据处理方法,通过前述对电子设备的详细描述,本领域技术人员可以清楚的知道本实施例中数据处理方法的实施方法,所以为了说明书的简洁,在此不再详述。
本申请实施例中提供的一个或多个技术方案,至少具有如下技术效果或优点:
1、由于在本申请实施例中,第二处理单元在处理任务时,可以主动从第一处理模块的存储单元所存储的指令集合中获取执行该任务对应的指令,而无需通过中央处理器的内存对任务指令动态匹配,进而解决了现有技术中存在的协处理器不能主动承担中央处理器的任务的技术问题,实现了协处理器主动向中央处理器发送请求承担任务指令,以主动承担中央处理器的任务并独立完成特定任务的技术效果。
2、由于在本申请实施例提供的技术方案中,协处理器与中央处理器通过外部总线连接,使得协处理器可以独立于中央处理器进行工作,进而使得协处理器可以在中央处理器休眠时保持工作状态,完成某些特定的运算任务。例如,当电脑的CPU处于休眠状态时,电脑中用于触控识别的协处理器可以继续监测显示器一区域的触控动作,并在检测到触控动作后唤醒CPU或者自行执行某特定运算。
3、由于在本申请实施例提供的技术方案中,数据通过外部总线传输时,可以对其进行加密保护,这种基于硬件的加密处理使得协处理器中的数据更加安全,避免了黑客入侵或别人盗取协处理器后造成的数据被窃取或篡改的危险。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。

Claims (10)

1.一种电子设备,包括:
第一处理模块,包含第一处理单元、存储单元以及指令存储单元;
第二处理模块,包含第二处理单元;
数据通信模块,连接所述第一处理模块和所述第二处理模块,用于所述第一处理模块与所述第二处理模块之间的数据和/或指令交互,其中:
所述指令存储单元中存储一指令集合,所述指令集合为应用于所述第二处理模块的指令的集合;以及
所述第一处理模块与所述第二处理模块之间的数据和/或指令交互至少包括所述第二处理模块在侦测到一由自身处理的任务时,通过所述数据通信模块向所述第一处理模块发送一主动请求指令,所述第一处理单元在获取到该请求指令后,响应该指令,向所述第二处理模块下发对应的指令。
2.如权利要求1所述的电子设备,其特征在于:
所述第一处理模块还包括第一硬件协议栈模块,所述第一硬件协议栈模块与所述存储单元及所述数据通信模块相连,用于控制所述第一处理模块中的第一数据和/或第一指令经由所述数据通信模块向所述第二处理模块的发送,及用于控制经由所述数据通信模块接收所述第二处理模块发送的第二数据和/或第二指令;
所述第二处理模块还包括第二硬件协议栈模块,所述第二硬件协议栈模块与所述数据通信模块相连,用于控制所述第二数据和/或所述第二指令经由所述数据通信模块向所述第一处理模块的发送,及用于控制经由所述数据通信模块接收所述第一数据和/或所述第一指令;
其中,所述第一硬件协议栈模块和所述第二硬件协议栈模块的通信协议与所述数据通信模块对应。
3.如权利要求2所述的电子设备,其特征在于:
所述第一硬件协议栈模块在控制所述第一数据和/或所述第一指令经由所述数据通信模块向所述第二处理模块的发送的同时,还用于对所述第一数据和/或所述第一指令进行加密;及在控制经由所述数据通信模块接收所述第二数据和/或所述第二指令的同时,还用于对所述第二数据和/或所述第二指令进行解密;
所述第二硬件协议栈模块在控制所述第二数据和/或所述第二指令经由所述数据通信模块向所述第一处理模块的发送的同时,还用于对所述第二数据和/或所述第二指令进行加密;及在控制经由所述数据通信模块接收所述第一数据和/或所述第一指令的同时,还用于对所述第一数据和/或所述第一指令进行解密。
4.如权利要求2或3所述的电子设备,其特征在于:
所述第一处理单元具体用于将所述所述第一数据和/或所述指令集合中的所述第一指令存储至所述存储单元,并指示所述存储单元控制所述第一指令和/或所述第一数据经由所述第一硬件协议栈模块及所述数据通信模块传输至所述第二处理模块;
所述第一处理单元还用于在所述存储单元经由所述第一硬件协议栈模块从所述数据通信模块接收到所述第二指令和/或所述第二数据,并产生一接收中断信号时,响应所述中断信号,从所述存储单元读取所述第二指令和/或所述第二数据。
5.如权利要求4所述的电子设备,其特征在于:
所述存储单元与所述指令存储单元具体通过总线地址中的至少一个固定地址进行所述第一指令和/或所述第二指令的传输;
所述数据通信模块具体为一外部总线。
6.一种数据处理方法,应用于一电子设备,所述电子设备包括第一处理模块;第二处理模块;数据通信模块;其中,所述第一处理模块包含第一处理单元、存储单元以及指令存储单元,所述指令存储单元中存储一指令集合,所述指令集合为应用于所述第二处理模块的指令的集合;所述第二处理模块包含第二处理单元;所述数据通信模块分别连接所述第一处理模块和所述第二处理模块,用于所述第一处理模块与所述第二处理模块之间的数据和/或指令交互,所述方法包括:
所述第一处理模块与所述第二处理模块之间的数据和/或指令交互至少包括所述第二处理模块在侦测到一由自身处理的任务时,通过所述数据通信模块向所述第一处理模块发送一主动请求指令,所述第一处理单元在获取到该请求指令后,响应该指令,向所述第二处理模块下发对应的指令。
7.如权利要求6所述的方法,其特征在于,所述第一处理模块还包括第一硬件协议栈模块,所述第一硬件协议栈模块与所述存储单元及所述数据通信模块相连;所述第二处理模块还包括第二硬件协议栈模块,所述第二硬件协议栈模块与所述数据通信模块相连;所述第二处理单元在执行操作时通过数据通信模块从所述指令存储单元中存储的一指令集合中获取相应的指令,具体包括:
所述第一处理单元控制将所述指令集合中的第一指令传输至所述存储单元;
所述存储单元经由所述第一硬件协议栈模块将所述第一指令从所述数据通信模块向所述第二处理模块发送;
所述第二处理单元经由所述第二硬件协议栈模块从所述数据通信模块接收所述第一指令;
其中,所述第一硬件协议栈模块和所述第二硬件协议栈模块的通信协议与所述数据通信模块对应。
8.如权利要求7所述的方法,其特征在于,在所述第一处理单元控制将所述指令集合中的第一指令传输至所述存储单元之前,所述方法还包括:
所述第二处理单元经由所述第二硬件协议栈模块从所述数据通信模块向所述第一处理模块发送第二指令;
所述存储单元经由所述第一硬件协议栈模块从所述数据通信模块接收到所述第二指令;
所述第一处理单元从所述存储单元读取所述第二指令,并响应所述第二指令。
9.如权利要求8所述的方法,其特征在于:
所述第一指令和所述第二指令通过所述第一硬件协议栈模块时,所述第一硬件协议栈模块对所述第一指令和所述第二指令进行加密和/或解密;
所述第一指令和所述第二指令通过所述第二硬件协议栈模块时,所述第二硬件协议栈模块对所述第一指令和所述第二指令进行加密和/或解密。
10.如权利要求8所述的方法,其特征在于:
所述第一处理单元控制将所述指令集合中的第一指令传输至所述存储单元,具体为:所述第一处理单元控制将所述指令集合中的第一指令通过总线地址中的至少一个固定地址传输至所述存储单元;
所述第一处理单元从所述存储单元读取所述第二指令,并响应所述第二指令,具体为:所述第一处理单元通过所述至少一个固定地址从所述存储单元读取所述第二指令,并响应所述第二指令。
CN201310392979.7A 2013-09-02 2013-09-02 一种电子设备及数据处理方法 Active CN104424033B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310392979.7A CN104424033B (zh) 2013-09-02 2013-09-02 一种电子设备及数据处理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310392979.7A CN104424033B (zh) 2013-09-02 2013-09-02 一种电子设备及数据处理方法

Publications (2)

Publication Number Publication Date
CN104424033A CN104424033A (zh) 2015-03-18
CN104424033B true CN104424033B (zh) 2018-10-12

Family

ID=52973096

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310392979.7A Active CN104424033B (zh) 2013-09-02 2013-09-02 一种电子设备及数据处理方法

Country Status (1)

Country Link
CN (1) CN104424033B (zh)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106484498A (zh) * 2015-08-31 2017-03-08 阿里巴巴集团控股有限公司 基于Node的事件处理方法及相关服务端设备
CN106502775B (zh) * 2016-10-14 2019-08-23 福州瑞芯微电子股份有限公司 一种分时调度dsp算法的方法和系统
CN106409309A (zh) * 2016-10-21 2017-02-15 深圳市音络科技有限公司 一种音质增强的方法和麦克风
CN106951190B (zh) * 2017-03-21 2019-11-26 联想(北京)有限公司 数据存储及访问方法、节点和服务器集群
CN110046050B (zh) * 2018-01-16 2024-03-01 华为技术有限公司 一种核间数据传输的装置和方法
CN115695626A (zh) * 2018-12-18 2023-02-03 华为技术有限公司 一种移动终端中用于识别应用程序的设备及终端
CN110928579A (zh) * 2019-09-29 2020-03-27 天博电子信息科技有限公司 生物识别的指令集加速方法及处理器
CN111897747A (zh) * 2020-07-24 2020-11-06 宁波中控微电子有限公司 一种片上协处理器的Cache动态分配方法及片上系统
CN112732338B (zh) * 2021-04-02 2021-08-31 北京欣博电子科技有限公司 一种寻址范围扩展方法和装置,及存储介质和电子设备
CN115079807B (zh) * 2022-05-13 2024-07-30 展讯科技(杭州)有限公司 一种通信装置、通信装置的存储器访问方法及电子设备

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN87107291A (zh) * 1987-02-24 1988-09-07 数字设备公司 数字数据处理系统中处理器与专用指令处理器间的接口
JP2000040028A (ja) * 1998-07-24 2000-02-08 Nec Mobile Commun Ltd Cpu制御によるdspプログラム領域の拡張方式
JP2005242929A (ja) * 2004-02-27 2005-09-08 Fujitsu Ltd 共有メモリのアクセス方法及びデータ処理装置
CN101097559A (zh) * 2006-06-28 2008-01-02 中国科学院微电子研究所 一种实现主处理器与协处理器接口与互连的系统及方法
CN101479712A (zh) * 2006-06-27 2009-07-08 飞思卡尔半导体公司 用于接口连接处理器和协处理器的方法和装置
CN101650645A (zh) * 2009-09-04 2010-02-17 浙江大学 协处理器指令集的扩展装置
CN202067313U (zh) * 2011-03-24 2011-12-07 苏州迪吉特电子科技有限公司 高性能图像处理系统

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN87107291A (zh) * 1987-02-24 1988-09-07 数字设备公司 数字数据处理系统中处理器与专用指令处理器间的接口
JP2000040028A (ja) * 1998-07-24 2000-02-08 Nec Mobile Commun Ltd Cpu制御によるdspプログラム領域の拡張方式
JP2005242929A (ja) * 2004-02-27 2005-09-08 Fujitsu Ltd 共有メモリのアクセス方法及びデータ処理装置
CN101479712A (zh) * 2006-06-27 2009-07-08 飞思卡尔半导体公司 用于接口连接处理器和协处理器的方法和装置
CN101097559A (zh) * 2006-06-28 2008-01-02 中国科学院微电子研究所 一种实现主处理器与协处理器接口与互连的系统及方法
CN101650645A (zh) * 2009-09-04 2010-02-17 浙江大学 协处理器指令集的扩展装置
CN202067313U (zh) * 2011-03-24 2011-12-07 苏州迪吉特电子科技有限公司 高性能图像处理系统

Also Published As

Publication number Publication date
CN104424033A (zh) 2015-03-18

Similar Documents

Publication Publication Date Title
CN104424033B (zh) 一种电子设备及数据处理方法
AU2011363492B2 (en) Application usage continuum across platforms
CN102609298B (zh) 基于硬件队列扩展的网卡虚拟化系统及其方法
CN106030548B (zh) 用于可信计算的多节点中枢
US11295008B2 (en) Graphics processing unit accelerated trusted execution environment
TWI767893B (zh) 包含多處理器所共享之記憶體的多處理器系統
CN107949834A (zh) 虚拟化可信存储装置
CN111767555A (zh) 区块链中实现隐私保护的方法及节点、存储介质
CN102882858A (zh) 一种用于云计算系统的外部数据传输方法
US9009702B2 (en) Application-driven shared device queue polling in a virtualized computing environment
CN108140086A (zh) 通过一组互连可编程设备安全执行虚拟机的方法和系统
CN104951688B (zh) 适用于Xen虚拟化环境下的专用数据加密方法及加密卡
CN105306576A (zh) 一种密码运算单元的调度方法及系统
CN103778591A (zh) 处理图形运算负载平衡的方法及系统
RU2014151557A (ru) Сетевое управление наборами защищенных данных
CN107679409B (zh) 一种数据加密的加速方法和系统
CN113704041A (zh) Fpga设计的安全调试
CN114675962A (zh) 对弹性云计算环境的证明支持
CN111124599B (zh) 虚拟机内存数据迁移方法、装置、电子设备及存储介质
CN116860391A (zh) Gpu算力资源调度方法、装置、设备和介质
CN110598416A (zh) 交易调度方法及装置
CN103885725A (zh) 一种基于云计算环境的虚拟机访问控制系统及其控制方法
CN114969851B (zh) 一种基于fpga的数据处理方法、装置、设备及介质
US20230153153A1 (en) Task processing method and apparatus
US20160378686A1 (en) Memory encryption exclusion method and apparatus

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant