CN109408453B - 一种高性能多节点互联并行传输控制方法 - Google Patents
一种高性能多节点互联并行传输控制方法 Download PDFInfo
- Publication number
- CN109408453B CN109408453B CN201810947257.6A CN201810947257A CN109408453B CN 109408453 B CN109408453 B CN 109408453B CN 201810947257 A CN201810947257 A CN 201810947257A CN 109408453 B CN109408453 B CN 109408453B
- Authority
- CN
- China
- Prior art keywords
- data
- module
- fifo
- state
- cpu
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
- G06F15/163—Interprocessor communication
- G06F15/173—Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
- G06F15/17306—Intercommunication techniques
- G06F15/17318—Parallel communications techniques, e.g. gather, scatter, reduce, roadcast, multicast, all to all
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/28—Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Multi Processors (AREA)
Abstract
本发明涉及一种高性能多节点互联并行传输控制方法,其技术特点在于:包括以下步骤:步骤1、主机CPU发送数据至TPCM模块嵌入式CPU;步骤2、主机CPU发送数据至TCM芯片;步骤3、TCM芯片发送数据至主机CPU。本发明实现主板与国产可信密码芯片之间的直接通道,简化了数据传输环节,提高了系统的性能。
Description
技术领域
本发明属于可信平台控制模块技术领域,涉及可信平台控制模块数据传输方法,尤其是一种高性能多节点互联并行传输控制方法。
背景技术
传统的可信平台控制模块(TPCM)采用专用可信密码芯片(TCM)实现可信算法功能,可信平台控制模块内部集成嵌入式处理器实现对可信密码芯片的配置与数据的预处理功能。由于传统的实现方式数据需要经过嵌入式处理器进行转发,无形中增加了数据传递次数,效率较低,传输通道的性能直接影响整个系统的性能和用户的体验感。
发明内容
本发明的目的在于克服现有技术中的缺陷,提供一种设计合理、工作效率高、使用便捷且能够有效减少数据传递次数的高性能多节点互联并行传输控制方法。
本发明解决其现实问题是采取以下技术方案实现的:
一种高性能多节点互联并行传输控制方法,包括以下步骤:
步骤1、主机CPU发送数据至TPCM模块嵌入式CPU;
步骤2、主机CPU发送数据至TCM芯片;
步骤3、TCM芯片发送数据至主机CPU。
而且,所述步骤1的具体步骤包括:
①主机CPU按照数据封装协议将数据进行封包并发送至FIFO;
②状态查询模块查询FIFO状态,当FIFO有数据时通知协议解析模块,进行主机CPU源地址和嵌入式处理器目的地址的解析以及数据长度解析;
③状态查询模块查询发送数据是否全部写入,写入完毕,状态查询模块通知DMA传输模块将数据由主机CPU的数据FIFO搬运至嵌入式处理器的数据FIFO;
④状态查询模块查询是否数据搬运完毕,搬运完毕通知DMA传输模块,并发送中断给嵌入式处理器;
⑤嵌入式处理器查询FIFO状态,并将数据传输至内部RAM中。
而且,所述步骤2的具体步骤包括:
①主机CPU按照数据封装协议将数据进行封包并发送至FIFO;
②状态查询模块查询FIFO状态,当FIFO有数据时通知协议解析模块,进行主机CPU源地址和TCM芯片目的地址解析以及数据长度解析;
③状态查询模块查询发送数据是否全部写入,写入完毕,状态查询模块通知DMA传输模块将数据由主机CPU的数据FIFO搬运至TCM芯片的内部RAM中;
④状态查询模块查询是否数据搬运完毕,搬运完毕通知DMA传输模块发送中断至TCM芯片。
而且,所述步骤3的具体步骤包括:
①TCM芯片按照数据封装协议将数据进行封包并写入内部RAM,并通知状态查询模块;
②状态查询模块查询TCM芯片内部RAM状态,通知协议解析模块,进行TCM芯片源地址和主机CPU目的地址解析以及数据长度解析;
③状态查询模块通知DMA传输模块将数据由TCM芯片的内部RAM搬运至主机CPU的数据FIFO中;
④状态查询模块查询是否数据搬运完毕,搬运完毕通知DMA传输模块;
⑤CPU处理器查询FIFO状态,并将数据传输至内部RAM中。
本发明的优点和有益效果:
1、本发明通过FPAG高速数据传输通道设计,创新的提出并设计了多节点互联传输控制机制,实现了可信主板、TPCM模块嵌入式CPU和军用国产可信密码芯片TCM三方之间的高性能数据传输通道。主机安全操作系统的可信密码请求无需再经过TPCM模块嵌入式CPU转发,实现主板与国产可信密码芯片之间的直接通道,简化了数据传输环节,提高了系统的性能。
2、本发明能够实现多处理器之间的高效互联。传统的数据传输方式中,主板与可信密码芯片之间需要依靠嵌入式CPU作为中间节点进行数据的转发,数据传输效率不高,直接影响可信计算性能,本发明可以实现多个处理器之间的高效互联,数据传递不再经过中间节点转发,并且设计DMA控制模块实现数据高速传递。
3、本发明的透明传输无需用户程序控制。本发明的传输方法对于用户程序是透明的,用户只需要按照分配的地址进行数据的读写,多节点传输完全由硬件实现,不需要用户程序参与数传的整个过程,使用便捷。
附图说明
图1是本发明的处理流程图;
图2是本发明的工作原理图。
具体实施方式
以下结合附图对本发明实施例作进一步详述:
一种高性能多节点互联并行传输控制方法,如图1和图2所示,包括以下步骤:
步骤1、主机CPU发送数据至TPCM模块嵌入式CPU;
所述步骤1的具体步骤包括:
①主机CPU按照数据封装协议将数据进行封包并发送至FIFO;
②状态查询模块查询FIFO状态,当FIFO有数据时通知协议解析模块,进行源地址(主机CPU)和目的地址(嵌入式处理器)解析以及数据长度解析;
③状态查询模块查询发送数据是否全部写入,写入完毕,状态查询模块通知DMA传输模块将数据由主机CPU的数据FIFO搬运至嵌入式处理器的数据FIFO;
④状态查询模块查询是否数据搬运完毕,搬运完毕通知DMA传输模块,并发送中断给嵌入式处理器;
⑤嵌入式处理器查询FIFO状态,并将数据传输至内部RAM中。
步骤2、主机CPU发送数据至TCM芯片
所述步骤2的具体步骤包括:
①主机CPU按照数据封装协议将数据进行封包并发送至FIFO;
②状态查询模块查询FIFO状态,当FIFO有数据时通知协议解析模块,进行源地址(主机CPU)和目的地址(TCM芯片)解析以及数据长度解析;
③状态查询模块查询发送数据是否全部写入,写入完毕,状态查询模块通知DMA传输模块将数据由主机CPU的数据FIFO搬运至TCM芯片的内部RAM中;
④状态查询模块查询是否数据搬运完毕,搬运完毕通知DMA传输模块发送中断至TCM芯片。
步骤3、TCM芯片发送数据至主机CPU;
所述步骤3的具体步骤包括:
①TCM芯片按照数据封装协议将数据进行封包并写入内部RAM,并通知状态查询模块;
②状态查询模块查询TCM芯片内部RAM状态,通知协议解析模块,进行源地址(TCM芯片)和目的地址(主机CPU)解析以及数据长度解析;
③状态查询模块通知DMA传输模块将数据由TCM芯片的内部RAM搬运至主机CPU的数据FIFO中;
④状态查询模块查询是否数据搬运完毕,搬运完毕通知DMA传输模块;
⑤CPU处理器查询FIFO状态,并将数据传输至内部RAM中。
在本实施例中,还包括以下传输方式:
(1)TPCM模块嵌入式CPU发送数据至主机CPU
与主机CPU发送数据至TPCM模块嵌入式CPU相同
(2)TPCM模块嵌入式CPU发送数据至TCM芯片
与主机CPU发送数据至TCM芯片相同
(3)TCM芯片发送数据至TPCM模块嵌入式CPU
与TCM芯片发送数据至主机CPU相同
本发明通过在FPGA内部设计接口控制模块、状态查询模块、协议解析模块和DMA传输模块,实现高性能多节点互联并行传输控制机制。
下面对每个模块的功能进行详细说明:
接口控制模块:接口控制模块实现各存储器的数据传输接口控制,控制FIFO和TCM芯片内部RAM的数据读写。
状态查询模块:状态查询模块监控FIFO和RAM的数据满空状态,在数据完成写入之后控制接口控制模块从存储器中读取数据,在写入目的存储器之前查询存储器是否允许写入。
协议解析模块:协议解析模块完成数据源地址和目的地址以及数据包长的解析,控制接口控制模块将数据由源地址发送至目的地址。
DMA传输模块:DMA传输模块将数据从源地址空间搬移到目的地址空间,为了减少数据传输时间,将源数据总线直接与目的数据总线相连实现外设直接传输。
本发明的工作原理是:
本发明中的可信主板、TPCM模块嵌入式CPU和军用国产可信密码芯片TCM三方之间的高性能数据传输,可根据需要,并行传输。
加固可信计算密码平台的技术设计中,FPGA高性能多向数据通道技术是硬件设计的关键。其作用是对主板PCI-E接口、TPCM模块嵌入式CPU和可信密码芯片TCM总线之间进行桥接,搭建高速的数据访问通道。
通过基于FPGA芯片的逻辑开发,在加固可信计算密码平台中设计三条数据传输通道,分别为主机CPU与TPCM模块嵌入式CPU之间、主机CPU与可信密码芯片TCM之间以及TPCM模块嵌入式CPU与可信密码芯片TCM之间。
其具体流程为:如图1所示,两个处理器之间的数据收发方式处理流程基本相同,当A处理器有数据要发送给B处理器时,A处理器按照协议封装数据并写入存储器(主机cpu和TPCM模块嵌入式cpu的存储器为FIFO,TCM芯片的存储器为RAM)中,在FPGA中设计状态查询模块查询存储器状态判断A处理器是否完成写入,存储器写满之后解析地址和数据长度,并将参数输入DMA控制模块进行数据由源地址搬运至目的地址,搬运完毕后通知B处理器取走数据,完成一次数据传输操作。
处理器发送数据包,FPGA逻辑按照封包协议将数据写入FIFO中,由状态查询模块查询FIFO是否写满,在FIFO中数据写满之后协议解析模块读取包头信息解析出源地址和目的地址以及包长信息,由DMA传输模块控制接口控制模块完成数据的搬移,直至存储器为空。整个过程完全由硬件实现,不需要软件参与,数据传输对于各处理器是透明的只需按照传输协议进行数据封包,在FPGA内部设计高效数据传输机制,实现三个处理器之间的数据传递。接口控制模块可以实现FIFO、RAM等存储器的读写控制时序,状态查询模块监控FIFO的满空状态,触发协议解析模块对传输数据的源地址和目的地址进行解析,数据解析完毕之后启动DMA传输模块将数据从源地址空间搬移到目的地址空间,为了减少数据传输时间,将源数据总线直接与目的数据总线相连实现外设直接传输。
需要强调的是,本发明所述实施例是说明性的,而不是限定性的,因此本发明包括并不限于具体实施方式中所述实施例,凡是由本领域技术人员根据本发明的技术方案得出的其他实施方式,同样属于本发明保护的范围。
Claims (2)
1.一种高性能多节点互联并行传输控制方法,其特征在于:包括以下步骤:
步骤1、主机CPU发送数据至TPCM模块嵌入式CPU;
步骤2、主机CPU发送数据至TCM芯片;
步骤3、TCM芯片发送数据至主机CPU;
所述步骤1的具体步骤包括:
①主机CPU按照数据封装协议将数据进行封包并发送至FIFO;
②状态查询模块查询FIFO状态,当FIFO有数据时通知协议解析模块,进行主机CPU源地址和嵌入式处理器目的地址的解析以及数据长度解析;
③状态查询模块查询发送数据是否全部写入,写入完毕,状态查询模块通知DMA传输模块将数据由主机CPU的数据FIFO搬运至嵌入式处理器的数据FIFO;
④状态查询模块查询是否数据搬运完毕,搬运完毕通知DMA传输模块,并发送中断给嵌入式处理器;
⑤嵌入式处理器查询FIFO状态,并将数据传输至内部RAM中;
所述步骤2的具体步骤包括:
①主机CPU按照数据封装协议将数据进行封包并发送至FIFO;
②状态查询模块查询FIFO状态,当FIFO有数据时通知协议解析模块,进行主机CPU源地址和TCM芯片目的地址解析以及数据长度解析;
③状态查询模块查询发送数据是否全部写入,写入完毕,状态查询模块通知DMA传输模块将数据由主机CPU的数据FIFO搬运至TCM芯片的内部RAM中;
④状态查询模块查询是否数据搬运完毕,搬运完毕通知DMA传输模块发送中断至TCM芯片。
2.根据权利要求1所述的一种高性能多节点互联并行传输控制方法,其特征在于:所述步骤3的具体步骤包括:
①TCM芯片按照数据封装协议将数据进行封包并写入内部RAM,并通知状态查询模块;
②状态查询模块查询TCM芯片内部RAM状态,通知协议解析模块,进行TCM芯片源地址和主机CPU目的地址解析以及数据长度解析;
③状态查询模块通知DMA传输模块将数据由TCM芯片的内部RAM搬运至主机CPU的数据FIFO中;
④状态查询模块查询是否数据搬运完毕,搬运完毕通知DMA传输模块;
⑤CPU处理器查询FIFO状态,并将数据传输至内部RAM中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810947257.6A CN109408453B (zh) | 2018-08-20 | 2018-08-20 | 一种高性能多节点互联并行传输控制方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810947257.6A CN109408453B (zh) | 2018-08-20 | 2018-08-20 | 一种高性能多节点互联并行传输控制方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109408453A CN109408453A (zh) | 2019-03-01 |
CN109408453B true CN109408453B (zh) | 2022-05-10 |
Family
ID=65464360
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810947257.6A Active CN109408453B (zh) | 2018-08-20 | 2018-08-20 | 一种高性能多节点互联并行传输控制方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109408453B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1937630A (zh) * | 2006-10-27 | 2007-03-28 | 杭州华为三康技术有限公司 | 实现第一部件与第二部件通信的系统及部件 |
CN101281577A (zh) * | 2008-05-16 | 2008-10-08 | 北京工业大学 | 一种对bios进行保护的可信计算系统及其应用方法 |
CN103927233A (zh) * | 2014-04-30 | 2014-07-16 | 无锡云动科技发展有限公司 | 多节点内存互联装置及一种大规模计算机集群 |
CN107844438A (zh) * | 2017-12-07 | 2018-03-27 | 合肥国为电子有限公司 | 用于地震仪主控站cpu与外设数据传输的桥接器及方法 |
-
2018
- 2018-08-20 CN CN201810947257.6A patent/CN109408453B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1937630A (zh) * | 2006-10-27 | 2007-03-28 | 杭州华为三康技术有限公司 | 实现第一部件与第二部件通信的系统及部件 |
CN101281577A (zh) * | 2008-05-16 | 2008-10-08 | 北京工业大学 | 一种对bios进行保护的可信计算系统及其应用方法 |
CN103927233A (zh) * | 2014-04-30 | 2014-07-16 | 无锡云动科技发展有限公司 | 多节点内存互联装置及一种大规模计算机集群 |
CN107844438A (zh) * | 2017-12-07 | 2018-03-27 | 合肥国为电子有限公司 | 用于地震仪主控站cpu与外设数据传输的桥接器及方法 |
Also Published As
Publication number | Publication date |
---|---|
CN109408453A (zh) | 2019-03-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7155554B2 (en) | Methods and apparatuses for generating a single request for block transactions over a communication fabric | |
US10802995B2 (en) | Unified address space for multiple hardware accelerators using dedicated low latency links | |
CN108132897B (zh) | 一种基于zynq平台软核的srio控制器 | |
CN108107827B (zh) | 一种基于zynq平台软核的srio控制方法 | |
CN102724035B (zh) | 一种加密卡的加解密方法 | |
CN108121672A (zh) | 一种基于NandFlash存储器多通道的存储阵列控制方法与装置 | |
CN112035388B (zh) | 一种基于PCI-e通道的高性能加解密方法 | |
CN104657308A (zh) | 一种用fpga实现的服务器硬件加速的方法 | |
US20060095635A1 (en) | Methods and apparatuses for decoupling a request from one or more solicited responses | |
US11935600B2 (en) | Programmable atomic operator resource locking | |
CN114662136B (zh) | 一种基于pcie通道的多算法ip核的高速加解密系统及方法 | |
US11797311B2 (en) | Asynchronous pipeline merging using long vector arbitration | |
CN109992543A (zh) | 一种基于zyzq-7000的pci-e数据高效传输方法 | |
CN110688333A (zh) | 一种基于pcie的dma数据传输系统及方法 | |
WO2013097793A1 (zh) | 一种片上多核数据传输方法和装置 | |
CN110188059A (zh) | 数据有效位统一配置的流控式fifo缓存结构及方法 | |
CN101778038B (zh) | 基于千兆以太网的嵌入式设备高速数据传输系统 | |
CN106844263B (zh) | 一种基于可配置的多处理器计算机系统及实现方法 | |
CN109408453B (zh) | 一种高性能多节点互联并行传输控制方法 | |
US11847464B2 (en) | Variable pipeline length in a barrel-multithreaded processor | |
US20220382557A1 (en) | On-demand programmable atomic kernel loading | |
CN116136790A (zh) | 任务处理方法和装置 | |
CN102110066A (zh) | 一种税控加密卡的控制方法 | |
CN107807888B (zh) | 一种用于soc架构的数据预取系统及其方法 | |
CN111045974A (zh) | 一种基于交换结构的多处理器数据交互方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |