CN101827105B - 一种协议处理器设计的优化方法 - Google Patents
一种协议处理器设计的优化方法 Download PDFInfo
- Publication number
- CN101827105B CN101827105B CN 201010161032 CN201010161032A CN101827105B CN 101827105 B CN101827105 B CN 101827105B CN 201010161032 CN201010161032 CN 201010161032 CN 201010161032 A CN201010161032 A CN 201010161032A CN 101827105 B CN101827105 B CN 101827105B
- Authority
- CN
- China
- Prior art keywords
- flow chart
- protocol processor
- layer
- optimization method
- protocol
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Communication Control (AREA)
Abstract
本发明一种协议处理器设计的优化方法涉及协议处理器设计技术领域,本发明主要是为解决现有协议处理器在并发连接情况下吞吐率下降及在处理复杂协议时协议处理器整体性能不高的问题。本发明提供的优化方法,包括对所设计的协议处理器的应用层协议和应用模式进行分析,并结合传输层、网络层、链路层及物理层协议提出硬件结构,以及对传输层、网络层及链路层中软件处理复杂的协议进行分析并设计出相应的协议流程图,提取相同和相似的流程图部分进行分析,找出软件处理复杂但适于硬件处理的部分进行实现,从而从整体上提高了协议处理器的工作效率。本发明的优化方法特别适用于复杂通信协议处理器的软硬件结构设计优化。
Description
技术领域
本发明属于协议处理器设计技术领域,尤其涉及一种协议处理器设计的优化方法。
背景技术
协议处理器主要实现对某种通信协议(如蓝牙协议、USB协议等)进行处理的功能,协议处理器中一般的数据流模型包括物理层、链路层、网络层、传输层和应用层。协议处理器的结构模型一般包括应用软件、接口软件、协议处理器的驱动程序、协议处理器的固件和协议处理器的硬件等功能模块,其中应用软件和接口软件通常是用于实现数据流模型中的应用层,协议处理器的驱动程序通常是将应用程序所产生的数据传递给协议处理器进行处理,而协议处理器的固件是用来控制实现物理层和链路层的专用硬件。协议处理器的结构根据所设计协议的复杂程度的不同和所要求的性能的不同可以有全软件、全硬件和软硬件结合的三种不同的设计方法。目前对协议比较复杂(如包含复杂的流量控制、错误恢复机制等)且性能要求较高的协议处理器一般采用软硬件结合的设计方法,但是现有的软硬件结合设计的协议处理器在流片测试后,一般会表现出对并发连接(或并发数据传输)的情况出现吞吐率下降的问题。这主要是由于现有的协议处理器一般需要频繁访问加速硬件以确定被发送或者被接收的帧的传输状态,来判断是否在传输过程中进行了正确的发送或者接收;同时需要通过帧的传输状态判断连接的状态,是否连接发生不可恢复的错误或者信号丢失等情况。在同时存在大量连接的情况下,协议处理器必须进行规模很大的连接状态链表的查询和对软硬件接口进行频繁访问,从而降低了协议处理器的工作效率。另外,协议处理器在实现过程中,尤其是对复杂的协议一般采用软件的方法进行设计,但是软件的设计方法往往不能满足高性能协议处理的速度要求。特别是对于通信协议中出现的大量的条件判断和循环等待的操作,软件处理复杂进而影响协议处理器的性能。
发明内容
为解决上述协议处理器在并发连接情况下吞吐率下降及在处理复杂协议时协议处理器性能不高的问题,本发明提供一种协议处理器设计的优化方法,一方面提供对并发连接的硬件支持,另一方面对复杂的协议进行协议流程图的设计并进行合理的软硬件划分,从而提高整个处理器的工作效率。
本发明采用的技术方案是:一种协议处理器设计的优化方法,包括如下操作步骤:
步骤一,应用层协议分析和应用模式分析;
步骤二,结合传输层、网络层、链路层及物理层协议提出适合应用模式的硬件结构;
步骤三,对传输层、网络层及链路层中软件处理复杂的协议进行分析并设计出相应的协议流程图;
步骤四,提取协议流程图中相同的流程图部分和相似的流程图部分进行分析;
步骤五,找出软件处理复杂而适于硬件处理的部分进行硬件实现。
其中所述的应用模式分析包括通信过程中的通信建立、数据传输和通信结束的工作过程分析、各个工作过程所占用的时间分析、所使用的帧的类型特点及帧的数目的分析。
所述的相同的流程图部分为完全相同的属于同一流程图的不同部分的部分流程图或者属于不同流程图中的部分流程图。
所述的相似的流程图部分为不同部分出现于另一相似的部分流程图的开始或者结束位置。
所述的相同的流程图部分和相似的流程图部分为具有循环结构的部分流程图。
本发明的有益效果为:由于对于并发连接采用了硬件设计进行支持,减少了协议处理器对于协议处理器软硬件接口的访问,从而提高了协议处理器的工作效率;协议流程图中相同和相似的流程图部分尤其是具有循环结构的相同的和相似的流程图部分采用硬件实现对处理器的性能提高非常明显。采用该方法优化的协议处理器设计不仅很好的满足上层应用的需要,而且对下层协议进行了更加合理的软硬件划分。
附图说明
图1为本发明一种协议处理器设计的优化方法的流程模块图;
图2为本发明待优化的协议处理器设计中的一个流程图;
图3为本发明待优化的协议处理器设计中的另一个流程图。
具体实施方式
下面结合附图说明本发明一种协议处理器设计的优化方法的具体实施。如图1所示的本发明的流程模块图中,从大的方面分为两部分,包括1)对所设计的协议处理器的应用层协议和应用模式进行分析,并结合传输层、网络层、链路层及物理层协议提出可能的硬件结构。如在协议处理器的信息传输过程中存在多种类型的数据帧,包括连续传输的数据帧和独立传输的数据帧;在协议处理器的信息传输过程中存在多种类型的控制帧,包括请求信息的请求帧和响应信息的应答帧。对于连续传输的数据帧,帧头的信息有一定的规律性,所以对于多个连续传输的数据帧可以采用自动成帧的硬件结构来实现,后续帧只需要根据已存储的帧头内容进行适当域的改变即可按照一定时序发送出去,因此不需要在传输每帧数据时都访问软硬件接口。对于连续传输的控制帧,可以根据硬件中保存的并行连接的状态,自动完成控制帧的发送。2)对传输层、网络层及链路层中软件处理复杂的协议进行分析并设计出协议流程图,提取相同和相似的流程图部分进行分析,找出适于硬件处理的部分进行实现。由于协议的复杂性,往往一个协议处理器的设计过程中会出现多个流程图,图2和图3为本发明实施的协议处理器中的其中的两个流程图。可以看出图2所示的流程图中方框1中的部分流程图与图3所示的流程图中方框2中的部分流程图为相似的流程图部分,这两部分流程图从图中可以看出判定条件及操作动作基本是相同的,二者不同之处仅在于方框1所含流程图的结束位置,所以对方框1和方框2中的部分流程图可以用同一硬件来实现,只是在实现的硬件模块上增加两个多路选择器,一个用于选择是执行方框1中的流程图部分还是执行方框2中的流程图部分,另一个用于判定方框1中流程图是否满足循环的条件。
Claims (4)
1.一种协议处理器设计的优化方法,其特征在于,包括如下操作步骤:
步骤一,应用层协议分析和应用模式分析;
步骤二,结合传输层、网络层、链路层及物理层协议提出适合应用模式的硬件结构;
步骤三,对传输层、网络层及链路层中软件处理复杂的协议进行分析并设计出相应的协议流程图;
步骤四,提取协议流程图中相同的流程图部分和相似的流程图部分进行分析,所述的相同的流程图部分和相似的流程图部分为具有循环结构的部分流程图;
步骤五,找出具有循环结构的相同和相似的流程图部分进行硬件实现。
2.如权利要求1所述的协议处理器设计的优化方法,其特征在于,所述的步骤一中,所述的应用模式分析包括通信过程中的通信建立、数据传输和通信结束的工作过程分析、各个工作过程所占用的时间分析、所使用的帧的类型特点及帧的数目的分析。
3.如权利要求1所述的协议处理器设计的优化方法,其特征在于,所述的步骤四中,所述的相同的流程图部分为完全相同的属于同一流程图的不同部分的部分流程图。
4.如权利要求1所述的协议处理器设计的优化方法,其特征在于,所述的步骤四中,所述的相同的流程图部分为完全相同的属于不同流程图中的部分流程图。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201010161032 CN101827105B (zh) | 2010-05-03 | 2010-05-03 | 一种协议处理器设计的优化方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201010161032 CN101827105B (zh) | 2010-05-03 | 2010-05-03 | 一种协议处理器设计的优化方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101827105A CN101827105A (zh) | 2010-09-08 |
CN101827105B true CN101827105B (zh) | 2013-02-06 |
Family
ID=42690806
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 201010161032 Expired - Fee Related CN101827105B (zh) | 2010-05-03 | 2010-05-03 | 一种协议处理器设计的优化方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101827105B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN2446587Y (zh) * | 2000-09-28 | 2001-09-05 | 深圳市华为电气技术有限公司 | 智能协议处理器 |
CN1525714A (zh) * | 2003-02-25 | 2004-09-01 | 华为技术有限公司 | 一种asn.1协议处理器 |
CN1764182A (zh) * | 2004-10-22 | 2006-04-26 | 华为技术有限公司 | 一种多协议处理芯片及多协议处理装置 |
-
2010
- 2010-05-03 CN CN 201010161032 patent/CN101827105B/zh not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN2446587Y (zh) * | 2000-09-28 | 2001-09-05 | 深圳市华为电气技术有限公司 | 智能协议处理器 |
CN1525714A (zh) * | 2003-02-25 | 2004-09-01 | 华为技术有限公司 | 一种asn.1协议处理器 |
CN1764182A (zh) * | 2004-10-22 | 2006-04-26 | 华为技术有限公司 | 一种多协议处理芯片及多协议处理装置 |
Non-Patent Citations (1)
Title |
---|
颜永红等.网络层协议处理器的设计与研究.《微计算机信息》.2006,第22卷(第11-2期), * |
Also Published As
Publication number | Publication date |
---|---|
CN101827105A (zh) | 2010-09-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102591964B (zh) | 数据读写分离机制的实现方法和装置 | |
CN107333282B (zh) | 一种基于gpp的5g终端通用平台优化方法及系统 | |
US10120820B2 (en) | Direct memory access transmission control method and apparatus | |
CN105760237A (zh) | 一种基于协程机制的通讯方法 | |
KR20120087980A (ko) | 다중 인터페이스 솔리드 스테이트 디스크, 및 다중 인터페이스 솔리드 스테이트 디스크의 처리 방법 및 시스템 | |
CN102438010B (zh) | 用于流送数据剖析的方法和装置 | |
CN102202093A (zh) | 一种实现传感器适配的方法和系统 | |
CN102495610A (zh) | 基于物联网的电脑横机远程监控系统及方法 | |
CN105791439A (zh) | 一种数据处理方法、数据接收设备及数据处理系统 | |
CN104391705A (zh) | 一种应用于高可用集群软件的分布式自动化测试框架 | |
CN102708042A (zh) | 一种面向服务的嵌入式软件测试系统 | |
CN103019856A (zh) | 一种多核处理器的非对称调度方法 | |
CN102447738A (zh) | 一种实现基站远程调试的方法及装置 | |
CN101729879B (zh) | 一种基于mimo-ofdm系统的实时视频传输的实现方法 | |
CN101827105B (zh) | 一种协议处理器设计的优化方法 | |
WO2021134459A1 (en) | Ai intelligentialization based on signaling interaction | |
CN103297477B (zh) | 一种数据采集上报系统及数据处理方法和代理服务器 | |
CN111026809B (zh) | 一种调度流程分布式执行系统 | |
CN107122246B (zh) | 智能数值模拟作业管理与反馈方法 | |
CN103353750B (zh) | 一种基于多总线的微波冶金控制方法 | |
CN110909055A (zh) | 数据处理方法、装置、电子设备以及存储介质 | |
CN202351855U (zh) | 对io扩展板的升级系统 | |
CN101237404A (zh) | 报文转发方法和装置 | |
US20170142227A1 (en) | Data processing apparatus and data processing method | |
CN202364244U (zh) | 分布式日志分析系统处理装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20130206 Termination date: 20160503 |
|
CF01 | Termination of patent right due to non-payment of annual fee |