CN105893036A - 一种嵌入式系统的兼容式加速器扩展方法 - Google Patents

一种嵌入式系统的兼容式加速器扩展方法 Download PDF

Info

Publication number
CN105893036A
CN105893036A CN201610192047.1A CN201610192047A CN105893036A CN 105893036 A CN105893036 A CN 105893036A CN 201610192047 A CN201610192047 A CN 201610192047A CN 105893036 A CN105893036 A CN 105893036A
Authority
CN
China
Prior art keywords
accelerator
hardware
proxy machine
processor
write
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.)
Granted
Application number
CN201610192047.1A
Other languages
English (en)
Other versions
CN105893036B (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.)
Tsinghua University
Original Assignee
Tsinghua University
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 Tsinghua University filed Critical Tsinghua University
Priority to CN201610192047.1A priority Critical patent/CN105893036B/zh
Publication of CN105893036A publication Critical patent/CN105893036A/zh
Application granted granted Critical
Publication of CN105893036B publication Critical patent/CN105893036B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4416Network booting; Remote initial program loading [RIPL]

Abstract

一种嵌入式系统的兼容式加速器扩展方法,在WSN节点硬件系统上增加一个代理机和若干硬件加速器,代理机设置于WSN节点的处理器外设总线上,向上对WSN节点的处理器负责,并作为所有新增硬件加速器的总代理,向下管理所有新增硬件加速器,代理机与所有新增硬件加速器构成一个子系统,新的应用程序既可使用原有硬件资源接口也可使用新增的硬件加速器资源接口;本发明把对扩展加速器的访问虚拟成对外设地址的读写,实现了对原有指令集的兼容,保证了新添加硬件的组件对原有标准组件的完整兼容性;封装后的扩展加速器组件,为用户上层调用扩展资源提供了便利,减轻了用户在WSN节点平台上增加新模块和软件移植的难度和工作量。

Description

一种嵌入式系统的兼容式加速器扩展方法
技术领域
本发明属于无线传感器网络(WSN,wireless sensor network)节点的硬件结构实现技术领域,特别涉及一种嵌入式系统的兼容式加速器扩展方法。
背景技术
在能量资源稀缺的WSN节点中,如何提高能量的使用效率成为关键难点;此外,WSN节点中的硬件资源有限,目前的WSN节点硬件主要是MSP430和Atmega等轻量级处理器或微控制器的单核。但这些处理器的处理能力相对较弱,软件实现功能效率较低,如何满足那些有处理能力要求的应用(如多媒体无线传感器网络)也是研究的一大问题。上述问题的重要解决途径就是采用专用的硬件加速器执行关键的常规运算。在通用处理器之外,新增加速器一方面可以提高硬件的专用化程度,有效提高能量利用率,另一方面,对于多媒体传感器网络节点、高安全性传感网络节点等有较高要求的应用,采用专用硬件加速器可以在同样能耗下提高运算速度。为了满足高性能、低功耗应用的需求,研究者提出了多种不同于传统的单处理器节点架构的基于加速器的WSN节点硬件结构,例如,增加数据压缩模块通过减小发送的数据量来减小能量消耗;增加专用数据处理模块减小硬件能量消耗等。这些增加加速器的方式在增加WSN节点的功耗使用效率、提高数据处理速度方面都给出了有效的解决方案。但是,在没有通用SoC总线的MSP430和Atmega这样的硬件平台上新增加速器只能通过效率很低的SPI、I2C或GPIO等片间接口,这违背了增加了硬件加速器以获得较高效率的初衷。
无线传感器网络节点软件主要完成节点资源的管理以及节点之间的相互通信。无线传感器网络节点属于嵌入式系统的一种,在嵌入式系统的软件设计中,应用开发者如果直接对硬件进行编程操作,不采用对底层硬件的统一驱动,则效率低下,对研发人员的能力要求也较高。嵌入式开发的操作系统可以对底层硬件进行抽象化,与硬件的相关问题都由驱动程序负责处理,这样大大减少了应用开发者的开发难度,减少了开发时间,降低了成本。因此,在WSN节点开发中,开发适当的操作系统显得尤为重要。同其他嵌入式操作系统一样,WSN节点的操作系统也提供了物理设备的抽象和高协调性的通用接口为开发应用提供方便。WSN节点操作系统的独特性在于,WSN节点的资源极端受限(处理器速度、存储器大小、内存大小、通讯带宽、资源数量以及电源等)、设备特殊且缺乏一致的抽象层次。因此,WSN节点的操作系统的设计策略是从一个资源库抽取一部分组成应用,它致力于提供有限资源的并发,而不是提供接口或形式。
现有WSN节点的操作系统普遍面向传统的单个微控制器作为处理器的节点(也是当下大多数WSN节点的处理器),在这样的硬件平台上新增加速器则需要开发相应的驱动程序,该工作同样要求系统开发者熟悉掌握底层硬件的结构。此外,不同应用的加速器功能可能不同,这种差异还要求重新进行硬件和软件设计。
总之,在兼容现有平台和操作系统的基础上便捷、高效地扩展加速器,对提高WSN节点的能效、丰富节点功能具有重要意义,但传统的单处理器软硬件系统不能满足高性能、低功耗WSN节点应用的需要,新的节点平台的开发除了硬件设计,还需要提供适用的操作系统。当前对新节点平台的改进的途径有以下三种:
第一种方式是软硬件全新设计,即设计新的硬件平台和适用的新的工具链及操作系统,其优点是系统效率最高,缺点是需要较大的投入且无法利用已有的应用程序资源。
第二种方式是仅重新设计硬件,采用现有的支持SOC平台的嵌入式操作系统,这种方式省去了操作系统研发的成本,但是通用嵌入式系统在WSN节点应用中的效果不如专门面向WSN节点开发的操作系统,这点对于在开销方面有很高要求的WSN节点来说是个较大的问题。
第三种方式是操作系统移植,即对现有的WSN节点操作系统进行修改,然后移植到其它的硬件平台(如ARM等成熟的嵌入式系统平台)上来。但是,为每个新的硬件平台开发一套操作系统的底层驱动不仅难度较大、耗费较多时间,而且已有的某些上层应用程序也可能由于硬件的变化存在兼容性的问题。
针对WSN节点的以上问题,设计能够在现有资源的基础上方便添加新硬件模块的结构显得尤为重要。
发明内容
为了克服上述现有技术的缺点,本发明的目的在于提供一种嵌入式系统的兼容式加速器扩展方法,针对当前成熟WSN节点软硬件系统,在保持对原有处理器软件兼容的前提下进行硬件和软件的同时扩展,所述原有处理器是一个仅有芯片间通信接口的单片独立工作的中央处理器或微控制器,有一个内部的外设总线,但没有片上系统总线用于挂接扩展模块,扩展后的新硬件系统是一个集成系统芯片,芯片中集成了原处理器的软核,并在芯片中增加硬件加速器和硬件加速器的代理,在该代理的一侧使用通用的SOC总线接口以方便增加新的硬件加速器,在软件层增加针对新增代理的驱动模块,处理器对硬件加速器的控制通过向代理发送命令和数据完成,使得在兼容现有硬件平台及应用的基础上大大简化了添加硬件加速器的工作;本方案下,所有的新增硬件加速器可以通过标准的总线接口添加到现有WSN节点上,应用开发者调用新增硬件的对应软件接口完成应用开发,指明了WSN节点系统开发者和应用开发者需要提供的接口以及可以使用的接口资源。
为了实现上述目的,本发明采用的技术方案是:
一种嵌入式系统的兼容式加速器扩展方法,在原WSN节点处理器硬件系统上增加一个代理机和若干硬件加速器,所述代理机设置于WSN节点的处理器外设总线上,向上对WSN节点的处理器负责,并作为所有新增硬件加速器的总代理,向下管理所有新增硬件加速器,所述代理机与所有新增硬件加速器构成一个子系统,该子系统相当于WSN节点处理器的一个外设。该子系统使用所述处理器中的一个未使用的地址,在该子系统中每个新增硬件加速器及内部可访问寄存器都有分配的唯一的局部地址,每个新增硬件加速器至少对应一个地址,用做访问索引,对加速器的访问是向子系统发送包含子系统地址的命令形式进行的。这样大大扩展了核心处理器的外设地址,方便增加更多的硬件加速模块。
在WSN节点软件系统上,相应设置三层:
第一层是针对所述代理机的新增底层驱动,和硬件接触最紧密;
第二层是提供代理机与新增硬件加速器总线传输方式对应接口的新增硬件抽象层;
第三层是根据所选硬件加速器的特性提供必要的读写数据接口的用户接口层。
新的应用程序既可使用原有硬件资源接口也可使用新增的硬件加速器资源接口。
得益于WSN节点操作系统抽取资源库的部分组成应用的设计策略,所述新增底层驱动不影响原有的操作系统资源库的任何组件,且屏蔽了新增硬件加速器与处理器之间的硬件接口的细节。
所述代理机与WSN节点的处理器之间通过处理器内部的外设总线进行通信,所述代理机与新增硬件加速器之间通过标准的主-从型SOC总线进行通信,代理机充当主机,硬件加速器是从机,这样简化了WSN节点开发者增加新的硬件加速器的工作。
由于处理器内部总线数据带宽有限,一次交易要经过多次的处理器总线传输完成,为指明需要控制的硬件加速器以及操作的模式,所述代理机与WSN节点的处理器之间,一次交易中第一组数据约定为操作“命令”,之后才是需要交换的数据,处理器通过向代理机发送操作“命令”和读\写数据实现对新增硬件加速器的控制和数据交换,所述操作“命令”是一种预先定义好的字段,包含操作类型、传输地址、传输模式和传输长度这四种信息。
所述子系统在处理器上的复位方式执行时实现整体复位;而单独对代理机的复位封装于软件层的接口中,对应用层不可见;对新增硬件加速器的复位通过向代理机发送命令执行,由应用层软件控制,所述处理器上的复位方式包括上电复位和看门狗复位。所述处理器向代理机发送\读取数据是按照指令周期进行传输的,代理机和新增硬件加速器之间通信是标准SOC总线上按照时钟周期的模式进行传输的,在这种方式下连续采样数据将会导致错误的发生,因此可通过在读和写操作过程中分别使用写FIFO和读FIFO暂存数据,以解决代理两侧数据不同步的问题。
当使用新增的硬件加速器资源接口时,硬件系统进行一次数据传输的执行步骤包括:
1)、代理机首先解析操作“命令”并决定接下来进行复位、数据读/写或其他不同SoC总线特有的操作,决定读/写的地址以及读写的数据长度;
2)、如果是复位操作,则代理机按照所述的子系统中的SoC总线协议对硬件加速器进行复位;如果是读/写操作,处理器通过外设总线对代理机地址进行读/写,代理机再按照所述子系统中的SoC总线协议对应的读/写模式访问操作“命令”中地址指向的硬件加速器寄存器,同时,代理机会对读/写的次数进行计数,当数据读/写的数目和命令中要求的传输长度一致时,表示完成了一次数据读/写的交易;
3)、一次交易结束,代理机挂起,等待新的操作“命令”开始下一次交易。
操作系统底层添加代理机的驱动接口函数,代理机的驱动接口函数包括对代理进行复位的功能函数,对应于SOC总线的标准定义的每种访问交易(包括从设备复位、各类读/写操作等)有一个对应的功能函数,每个功能函数根据权利要求8执行其中所述的1)至3)的操作过程;操作系统的硬件抽象层添加每个加速器的组件,每个组件向上层提供加速器的各种基本操作的接口,向下调用代理机的驱动接口函数实现加速器的功能且不改动原操作系统中的已有硬件抽象层组件;应用程序调用硬件抽象层的加速器组件接口实现不同应用。
本发明软硬件上的这种设计不需要对处理器进行指令扩展就能够实现对扩展资源的访问,从而确保了对原有程序的支持,最小化硬件部分改动,同时符合标准的加速器都可以挂接。这种采用内部总线的扩展方法相对板间扩展接口的设计具有更高的传输效率,同时也保持了对原有处理器体系结构的兼容。在软件上,应用开发者使用新增API(Application ProgrammingInterface)完成开发。
与现有技术相比,本发明的有益效果是:
(1)不需要改写原有的操作系统底层即可增添新的底层应用,开发工作量小;
(2)保持了对原有操作系统和节点应用程序的兼容,可以继续利用成熟WSN节点操作系统的以及传统节点现有的大量应用程序资源;
(3)提供标准的软硬件扩展接口,简化更换加速器的二次开发过程,具有良好的扩展性。
附图说明
图1是本发明软硬件结构系统框图。
图2是本发明硬件部分的硬件结构图。
图3是本发明代理部分的内部的结构图。
图4是open 430通过代理向硬件加速器发送数据的时序图。
图5是open 430通过代理从硬件加速器读数据的时序图。
图6是代理内部的状态跳转示意图。
图7是增加代理和AES加密引擎后的WSN节点硬件结构图。
具体实施方式
下面结合附图和实施例详细说明本发明的实施方式。
图1是本发明的软硬件系统框图,右侧虚框内是新增的软硬件部分,左侧是当前WSN节点的软硬件系统。软件层程序包括三层:第一层新增底层驱动,是针对代理机部分的驱动,和硬件接触最紧密;第二层是新增硬件抽象层,提供所选SOC总线传输方式对应的接口;第三层用户接口层,根据所选硬件加速器的特性提供必要的读写数据接口。新的应用程序既可使用原有硬件资源接口也可使用新增的硬件加速器资源接口。
图2是本发明下的WSN节点硬件结构图,图上虚框内是现有WSN节点使用的处理器结构。现有的WSN节点还包括连接在通用端口上的其他模块。新增部分是连接在外设总线上的代理机和加速器模块。在处理器的外设总线上增加一个新的外设作为所有新增硬件加速器的总代理机,也即代理机,该代理机向上对WSN节点的核心处理器负责;向下管理所有的新增硬件加速器。代理机和新增硬件加速器之间组成一个子系统,该子系统相当于WSN节点核心处理器的一个外设。
图3是本发明中代理机的内部硬件结构图。图上的左侧是来自于处理器外设总线的信号,右侧是连接新增硬件加速器的标准SoC总线信号。代理机内部总计包含六个模块分别是控制器(状态机)、读\写模块、读\写FIFO和解析命令模块。
选择当前使用最广泛的TelosB节点作为硬件实例进行改造,以128-bits的AES加密引擎作为硬件加速器,选择Wishbone总线作为连接AES和代理机之间的SOC总线。对应的操作系统是在WSN节点上广泛使用的TinyOS操作系统。
TelosB节点使用的是MSP430(F1611)系列单片机,本发明所做的硬件改造是在MSP430软核(即寄存器传输级的设计代码)基础上进行的,经过修改后的处理器可以通过流片加工成新的包含加速器子系统的新的SOC芯片,也可以下载到FPGA中工作。来自于MSP430的信号有per_en、per_we、per_addr、per_din、per_dout,其中per_en和per_we信号是使能信号,两者配合完成MSP430外部模块的使能以及读\写选择;per_addr是选通的外部地址信号;per_dout是向外部模块写数据的信号;per_din是从外部读取数据的信号。这些来自MSP430信号对应图三的左侧信号。
图4和图5分别是MSP430向硬件加速器写信息和读信息的时序图。其中,We_b是写使能信号;Ack_b是应答信号;Data_b上传输的是数据,这些都是Wishbone上的信号。在open 430向代理机写数据的过程中,使用FIFO来暂存数据直到合适的时刻才能开启向加速器端写入数据。代理机接收到读命令后,Wishbone总线上开始连续传输N个数据到读FIFO暂存并等待open430逐个读取,一旦读FIFO中有数据即可允许open 430从代理机中读取数据。
代理机内部控制器可以由一个有限状态机实现,也可以选择其他控制方式。图6是对应的是使用有限状态机的状态跳转图。Wishbone总线上有五种传输模式分别是:单个读\写、块读\写、Rmw(READ-MODIY-WRITE)。在代理机的状态机上需要有七个状态,各个状态的说明:
状态Idle
复位代理机,时刻监听处理器的内部总线。芯片上电后状态机接受来自处理器的上电复位信号自动复位到此状态,之后,处理器通过向代理机发出“初始化”命令触发代理机的复位。每次读/写操作结束后都进入该状态。
状态Set
解析处理器发送的命令信息。决定接下来做何种操作,进而跳转到Pre_read和Pre_write状态。在Idle状态,一旦检测到发送给代理机命令信息,则进入set状态。
状态Rst
按照给出的地址,完成对硬件加速器的复位操作。在set状态解析命令,如果是复位命令,则进入复位状态,复位完成后无条件进入Idle状态等待其他操作。
状态Pre_write
该状态已经完成了向代理机的命令发送。并完成了解析,在写FIFO中暂存MSP430发送来的数据。当处理器写入FIFO中数据达到一定数目后进入对硬件加速器写入数据的状态。
状态Pre_read
该状态已经完成了向代理机的命令发送。并完成了解析,读取相对应的加速器上的数据到读FIFO中。当加速器写入FIFO信息后即可进入处理器读取信息的状态。
状态Write
该状态把FIFO中存数的数据向对应的加速器进行发送。当写入数据量和命令中要求的数据量一致时表明完成了一次写操作,进入Idle状态。
状态Read
该状态在MSP430端读取FIFO中存储的来自于硬件加速器中的数据。单纯的读操作情况下,当读的数据量和命令中要求的数据量一致时,进入Idle状态。在Rmw操作下,读数后则进入Pre_write状态,为写操作做准备。
软件部分主要完成代理机的底层驱动、增加新的硬件抽象层组件并提供给WSN节点应用开发者加速器接口的工作。软件部分的设计层次遵循TinyOS操作系统的规范进行如下的设计。
HPL层(硬件表示层)提供命名为Agent的组件,该组件包含代理机的接口信息如表1所示
参数read_data和write_data分别代表了读取的数据和需要写入的数据。Read和Write负责传递数据,而Com接口中的命令传递的是读\写等命令信息。按照Wishbone的传输模式,使用上述的四个接口中的八个命令设计提供给系统开发者的Wishbone组件。
Wishbone组件提供给系统设计者相应的接口和命令(Rmw、Rst、B_Read、S_read、B_Write、S_write这五种和Wishbone总线传输模式匹配的接口及同名的命令)。该组件中所有命令都是调用Agent组件中的接口和命令完成。此外,代理机的复位需要在原有TinyOS的复位组件上添加对代理机复位的操作;而每个硬件加速器的复位由命令rst执行。这样就完成了扩展方案软件层的设计。
上述发明完成了代理机设计;预留出和加速器连接的标准总线接口;约定发送给代理机的命令格式;增加在操作系统(实例中使用的是TinyOS)中对代理机读/写操作的硬件表示层接口。
图7展示了以128位的AES(Advanced Encryption Standard)加密引擎作为示例加速器通过Wishbone总线挂接到代理机上的新型TelosB节点结构图。AES算法是一种WSN节点中常用的加密算法,输入包括128位的明文和128位的密钥,运算后输出对应的128位的密文。此系统中分配地址给AES的加密引擎及其内部的明文、密钥和密文寄存器。
系统开发者在上述代理机的硬件表示层接口的基础上根据AES的数据接口添加新的名为AES的新组件,其中包含的内容如下所示
上述完成了AES加密引擎在新系统的添加。按照标准的TelosB节点开发的流程,编写Nesc语言调用AES加密引擎对应的接口和命令添加明文和密钥数据即可完成新的应用开发。
按照上述方案,即可简单完成在TinyOS上添加加速引擎的任务,加速引擎地址和寄存器地址都可以由系统开发者进一步定义成参数形式,提供更加方便明了的用户接口。
本发明提供的方案把对扩展加速器的访问虚拟成对外设地址的读写,实现了对原有指令集的兼容,从而保证了新添加硬件的组件对原有标准组件的完整兼容性;封装后的扩展加速器组件,为用户上层调用扩展资源提供了便利,减轻了用户在WSN节点平台上增加新模块和软件移植的难度和工作量,并以TelosB节点对应的硬件以及TinyOS操作系统为例实现了AES加密加速器的添加演示了该发明的具体操作过程,为在现有WSN节点系统平台上添加新的引擎或者其他硬件提供了可靠且简单的实现方法。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。

Claims (9)

1.一种嵌入式系统的兼容式加速器扩展方法,其特征在于,在原WSN节点处理器硬件系统上增加一个代理机和若干硬件加速器,所述代理机设置于WSN节点的处理器外设总线上,向上对WSN节点的处理器负责,并作为所有新增硬件加速器的总代理,向下管理所有新增硬件加速器,所述代理机与所有新增硬件加速器构成一个子系统,该子系统使用一个处理器中未使用的地址,在该子系统中每个新增硬件加速器及内部可访问寄存器都有分配的唯一的局部地址,每个新增硬件加速器至少对应一个地址,用做访问索引,对加速器的访问是向子系统发送包含子系统地址的命令形式进行的。
2.根据权利要求1所述嵌入式系统的兼容式加速器扩展方法,其特征在于,在WSN节点操作系统上,相应设置:
针对所述代理机的新增底层驱动;
提供代理机与新增硬件加速器总线传输方式对应接口的新增硬件抽象层组件;
以及
根据所选硬件加速器的特性提供访问和操作接口的用户接口层。
3.根据权利要求2所述嵌入式系统的兼容式加速器扩展方法,其特征在于,所述新增底层驱动不影响原有的操作系统资源库的任何组件,且屏蔽了新增硬件加速器与处理器之间的硬件接口的细节。
4.根据权利要求1所述嵌入式系统的兼容式加速器扩展方法,其特征在于,所述代理机与WSN节点的处理器之间通过处理器内部的外设总线进行通信,所述代理机与新增硬件加速器之间通过标准的主-从型SOC总线进行通信,代理机充当主机,硬件加速器是从机。
5.根据权利要求1所述嵌入式系统的兼容式加速器扩展方法,其特征在于,所述代理机与WSN节点的处理器之间,一次交易中第一组数据约定为操作“命令”,之后才是需要交换的数据,处理器通过向代理机发送操作“命令”和读\写数据实现对新增硬件加速器的控制和数据交换,所述操作“命令”是一种预先定义好的字段,包含操作类型、传输地址、传输模式和传输长度这四种信息。
6.根据权利要求1所述嵌入式系统的兼容式加速器扩展方法,其特征在于,所述子系统在处理器上的复位方式执行时实现整体复位;而单独对代理机的复位封装于软件层的接口中,对应用层不可见;对新增硬件加速器的复位通过向代理机发送命令执行,由应用层软件控制,所述处理器上的复位方式包括上电复位和看门狗复位。
7.根据权利要求1所述嵌入式系统的兼容式加速器扩展方法,其特征在于,所述处理器向代理机发送\读取数据是按照指令周期进行传输的,代理机和新增硬件加速器之间通信是标准SOC总线上按照时钟周期的模式进行传输的,在读和写操作过程中分别使用写FIFO和读FIFO暂存数据,以解决代理两侧数据不同步的问题。
8.根据权利要求1所述嵌入式系统的兼容式加速器扩展方法,其特征在于,新的应用程序使用原有硬件资源接口或新增的硬件加速器资源接口,当使用新增的硬件加速器资源接口时,硬件系统进行一次数据传输的执行步骤包括:
1)、代理机首先解析操作“命令”并决定接下来进行复位、数据读/写或其他不同SoC总线特有的操作,决定读/写的地址以及读写的数据长度;
2)、如果是复位操作,则代理机按照所述的子系统中的SoC总线协议对硬件加速器进行复位;如果是读/写操作,处理器通过外设总线对代理机地址进行读/写,代理机再按照所述子系统中的SoC总线协议对应的读/写模式访问操作“命令”中地址指向的硬件加速器寄存器,同时,代理机会对读/写的次数进行计数,当数据读/写的数目和命令中要求的传输长度一致时,表示完成了一次数据读/写的交易;
3)、一次交易结束,代理机挂起,等待新的操作“命令”开始下一次交易。
9.根据权利要求8所述嵌入式系统的兼容式加速器扩展方法,其软件特征在于,操作系统底层添加代理机的驱动接口函数,代理机的驱动接口函数包括对代理进行复位的功能函数,对应于SOC总线的标准定义的每种访问交易有一个对应的功能函数,每个功能函数根据权利要求8执行其中所述的1)至3)的操作过程;操作系统的硬件抽象层添加每个加速器的组件,每个组件向上层提供加速器的各种基本操作的接口,向下调用代理机的驱动接口函数实现加速器的功能且不改动原操作系统中的已有硬件抽象层组件;应用程序调用硬件抽象层的加速器组件接口实现不同应用。
CN201610192047.1A 2016-03-30 2016-03-30 一种嵌入式系统的兼容式加速器扩展方法 Active CN105893036B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610192047.1A CN105893036B (zh) 2016-03-30 2016-03-30 一种嵌入式系统的兼容式加速器扩展方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610192047.1A CN105893036B (zh) 2016-03-30 2016-03-30 一种嵌入式系统的兼容式加速器扩展方法

Publications (2)

Publication Number Publication Date
CN105893036A true CN105893036A (zh) 2016-08-24
CN105893036B CN105893036B (zh) 2019-01-29

Family

ID=57014470

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610192047.1A Active CN105893036B (zh) 2016-03-30 2016-03-30 一种嵌入式系统的兼容式加速器扩展方法

Country Status (1)

Country Link
CN (1) CN105893036B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110032452A (zh) * 2019-04-19 2019-07-19 上海兆芯集成电路有限公司 处理系统与异构处理器加速方法
CN110321204A (zh) * 2018-03-31 2019-10-11 北京深鉴智能科技有限公司 计算系统、硬件加速模块管理方法和装置以及存储介质
CN111488308A (zh) * 2020-04-17 2020-08-04 苏州浪潮智能科技有限公司 一种支持不同架构多处理器扩展的系统和方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020049578A1 (en) * 2000-10-20 2002-04-25 Quickturn Design Systems, Inc. Hardware-assisted disign verification system using a packet-based protocol logic synthesized for efficient data loading and unloading
CN1811740A (zh) * 2006-02-28 2006-08-02 重庆重邮信科股份有限公司 多处理器共享外设电路实现方法及其电路
CN102446085A (zh) * 2010-10-01 2012-05-09 英特尔移动通信技术德累斯顿有限公司 硬件加速器模块及其设置方法
CN105357258A (zh) * 2015-09-28 2016-02-24 华为技术有限公司 一种加速管理节点、加速节点、客户端及方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020049578A1 (en) * 2000-10-20 2002-04-25 Quickturn Design Systems, Inc. Hardware-assisted disign verification system using a packet-based protocol logic synthesized for efficient data loading and unloading
CN1811740A (zh) * 2006-02-28 2006-08-02 重庆重邮信科股份有限公司 多处理器共享外设电路实现方法及其电路
CN102446085A (zh) * 2010-10-01 2012-05-09 英特尔移动通信技术德累斯顿有限公司 硬件加速器模块及其设置方法
CN102446085B (zh) * 2010-10-01 2015-06-03 英特尔移动通信技术德累斯顿有限公司 硬件加速器模块及其设置方法
CN105357258A (zh) * 2015-09-28 2016-02-24 华为技术有限公司 一种加速管理节点、加速节点、客户端及方法

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110321204A (zh) * 2018-03-31 2019-10-11 北京深鉴智能科技有限公司 计算系统、硬件加速模块管理方法和装置以及存储介质
CN110032452A (zh) * 2019-04-19 2019-07-19 上海兆芯集成电路有限公司 处理系统与异构处理器加速方法
CN110032452B (zh) * 2019-04-19 2021-08-24 上海兆芯集成电路有限公司 处理系统与异构处理器加速方法
CN111488308A (zh) * 2020-04-17 2020-08-04 苏州浪潮智能科技有限公司 一种支持不同架构多处理器扩展的系统和方法

Also Published As

Publication number Publication date
CN105893036B (zh) 2019-01-29

Similar Documents

Publication Publication Date Title
CN105718390B (zh) 共享存储器链路中的低功率进入
CN103150279B (zh) 一种主机与基板管理控制器共享设备的方法
CN110442540A (zh) 灵活总线协议协商和启用序列
CN103744644B (zh) 采用四核结构搭建的四核处理器系统及数据交换方法
CN103034454B (zh) 柔性闪存命令
CN109582611A (zh) 加速器结构
CN104699631A (zh) Gpdsp中多层次协同与共享的存储装置和访存方法
CN105468568B (zh) 高效的粗粒度可重构计算系统
TWI465908B (zh) 用於在階層式快取設計之快取記憶體間有效通訊的方法及設備
Yoo et al. Mobile 3D graphics SoC: From algorithm to chip
CN104115129A (zh) 用于从处理器到存储器子系统智能刷新数据的系统和方法
CN109582605A (zh) 通过PCIe的一致性存储器设备
CN104126181A (zh) 作为随机存取存储器的非易失性半导体存储装置的系统存取的薄变换
CN110442534A (zh) 用于相干消息的高带宽链路层
CN104461970B (zh) Dma控制器、移动终端以及数据搬运方法
CN108292267A (zh) 总线-装置-功能地址空间的推测性枚举
CN105893036A (zh) 一种嵌入式系统的兼容式加速器扩展方法
JP2013025794A (ja) フラッシュインタフェースの有効利用
TWI585602B (zh) 與其他步驟同時地執行以覆蓋區爲基礎之優化的方法或裝置
CN101329702A (zh) 一种满足SystemC语法的多核处理器的先进先出队列单元组
CN103914333B (zh) 基于片上网络互连的多核存储系统仿真器
CN103678244B (zh) 一种不使用应用处理器的智能设备
CN102591817B (zh) 一种多总线桥控制器及其实现方法
US20130159591A1 (en) Verifying data received out-of-order from a bus
CN116757132A (zh) 异构多核fpga电路架构、构建方法及数据传输方法

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