Fast协议的并行解码系统及其实现方法

文档序号:8380714阅读:561来源:国知局
Fast协议的并行解码系统及其实现方法
【技术领域】
[0001]本发明涉及FAST协议的解码系统及其实现方法,特别是涉及一种基于FPGA的FAST协议(金融压缩协议)的并行解码系统及其实现方法。
【背景技术】
[0002]近年来,随着国内外资本市场的快速发展,资本流动性增强,金融交易方式日益多样化。作为一种新兴的交易方式,高频交易(High-frequency Trading,HFT)正日益受到金融证券行业从业人员的高度关注。
[0003]高频交易是一种应用在金融上的主要算法交易模式。准确来说,高频交易使用了复杂的技术工具和计算机算法快速的交易证券,比如用专有的交易策略,通过电脑在秒一级甚至微秒级进行买入或者卖出。
[0004]高频交易的单笔利润一般很低,但是通过密集的交易,仍能保证稳定的收益。高频交易公司通常利用强大的电脑程序进行快速交易,持股人的持股时间经常不到一秒。与技术相对落后的投资人相比,此类公司依靠IT技术优势获得时间优势先行下单。现有的高频交易基金通常下单速度已经达到微秒级别,个别基金甚至已经达到纳秒级别。高频交易的消息传输带宽、延迟等方面的问题已经成为制约投资人获利的主要瓶颈。因此,以微秒甚至纳秒来计算证券交易延迟的“低延迟证券交易系统”正逐渐成为金融信息技术领域研宄的热点问题。
[0005]根据金融证券行业高频交易系统处理的环节,交易延迟一般可以分为:网络传输延迟、网卡处理与中断延迟、进程切换和CPU处理延迟。交易延迟的影响因素涵盖了网络、CPU、存储器、网络接口性能等计算机硬件相关的因素,以及操作系统、中间件(主要为消息中间件)、应用软件等软件相关的因素。这些因素在不同层次上对高频证券交易延迟造成影响。

【发明内容】

[0006]为克服上述现有技术存在的不足,本发明之目的在于提供一种FAST协议的并行解码系统及其实现方法,其可以并行分隔字段以适应万兆以太网,可以将FAST模板信息存储在命令模块中使得系统更加灵活的适应模板的更换,可以并行的解码使得解码延迟更低。
[0007]为达上述及其它目的,本发明提出一种FAST协议的并行解码系统,至少包括:
[0008]掩码模块,接收数据输入,从输入的数据中提取若干最高位作为停止位标志以控制该掩码模块的输出,该掩码模块根据该若干位停止位,对输入的数据进行字段分隔;
[0009]命令模块,接收并存储从该掩码模块中分割后的字段,然后使用状态机控制,把输入字段与FAST模板信息进行并行匹配;
[0010]解码模块,利用四个并行的解码单元并行负责命令模块传递的字段的解码,每个单元负责一个字段的解码。
[0011]进一步地,该掩码模块从64位的输入中提取8个最高位,作为停止位标志,并根据该8位停止位,在一个周期内分隔8字节数据。
[0012]进一步地,该掩码模块存储每一个周期没有分隔的剩下的字节,与下一个周期的输入拼接在一起,进行下一个周期的字段分隔。
[0013]进一步地,该命令模块通过设置一个FIFO以存储从该掩码模块接收到的信息,该FIFO的写指针每次增加接收的字段个数,通过命令存储器存储着FAST模板中的信息,通过状态机控制,把输入字段与FAST模板信息进行并行匹配。
[0014]进一步地,该该命令模块将第一个状态提取输入中的一个字段作为存在位图,然后根据参数化后的模板信息,判断一个模板中的字段需不需要存在位图和输入字段,将该些内容并行的匹配后,传递给该解码模块。
[0015]进一步地,每个解码单元通过重组器去除接收到的数据的停止位,将数据重组,利用解码器将重组后的数据与之前存储的解码值作为源操作数,对源操作数进行操作符的解码,解码的方法受该命令模块传递过来的信号控制,解码完成后存储新的解码值,作为下一次解码的源操作数。
[0016]为达到上述目的,本发明提供一种FAST协议的并行解码的实现方法,包括如下步骤:
[0017]步骤一,利用掩码模块接收数据输入,从输入的数据中提取若干最高位作为停止位标志以控制掩码模块的输出,掩码模块根据停止位,对输入数据进行字段分隔;
[0018]步骤二,命令模块存储从掩码模块中分割后的字段,然后使用状态机控制把输入字段与FAST模板信息进行并行匹配;
[0019]步骤三,利用四个并行的解码单元并行负责命令模块传递的字段的解码,每个单元负责一个字段的解码。
[0020]进一步地,步骤一中,掩码模块从64位的输入中提取8个最高位作为停止位标志,并根据8位停止位,在一个周期内分隔8字节数据。
[0021]进一步地,步骤二中,命令模块利用FIFO存储从掩码模块中分割后的字段;利用状态机控制工作内容,在第一个状态提取输入中的一个字段作为存在位图;然后根据参数化后的模板信息,判断一个模板中的字段需不需要存在位图和输入字段。将该些内容并行的匹配后,传递给下一个模块。
[0022]进一步地,于步骤三中,每个解码单元通过重组器去除接收到的数据的停止位,将数据重组,利用解码器将重组后的数据与之前存储的解码值作为源操作数,对源操作数进行操作符的解码,解码的方法受该命令模块传递过来的信号控制,解码完成后存储新的解码值,作为下一次解码的源操作数。
[0023]与现有技术相比,本发明一种FAST协议的并行解码系统及其实现方法通过并行的分隔字段与解码,可以有效提高系统的解码速度,同时,本发明通过存储参数化的模板信息,可以降低更换模板的开销。
【附图说明】
[0024]图1为本发明一种FAST协议的并行解码系统的系统架构图;
[0025]图2为本发明一种FAST协议的并行解码的实现方法的步骤流程图。
【具体实施方式】
[0026]以下通过特定的具体实例并结合【附图说明】本发明的实施方式,本领域技术人员可由本说明书所揭示的内容轻易地了解本发明的其它优点与功效。本发明亦可通过其它不同的具体实例加以施行或应用,本说明书中的各项细节亦可基于不同观点与应用,在不背离本发明的精神下进行各种修饰与变更。
[0027]图1为本发明一种FAST协议的并行解码系统的系统架构图。如图1所示,本发明一种FAST协议的并行解码系统,在具体实施例中基于FPGA实现,其至少包括:掩码模块10、命令模块20和解码模块30。
[0028]掩码模块10是系统的第一个模块,接收数据输入,位宽是64位,掩码模块10从64位的输入中提取8个最高位,作为停止位标志。这8位停止位将控制掩码模块的输出。
[0029]掩码模块10根据8位停止位,在一个周期内分隔8字节数据。由于一个完整的字段有可能在不同的周期内传送,掩码模块10会存储每一个周期没有分隔的剩下的字节,与下一个周期的输入拼接在一起,进行下一个周期的字段分隔。在本发明较佳实施例中,掩码模块10根据8位停止位通过环形寄存器与加法器实现分割字段,其中,加法器将8位停止位相加,其结果是这个周期内输入的完整字段的数量,例如,当输入的8个字节的最高位分别是10110101时,加法器将这几个数字相加,得到5,这即是这个周期内输入的字段个数。
[0030]命令模块20实现三个功能:第一是存储掩码模块中分割后的字段;第二是在这个模块中存储着需要解码的模板信息;第三是把输入字段与模板信息进行匹配。
[0031]命令模块20中设置了一个FIFO (First Input First Output,先进先出),存储从掩码模块10接收到的信息。从掩码模块10传递过来的字段个数是不固定的,最少一个,最多八个。FIFO的写指针每次增加接收的字段个数。
[0032]命令模块20中的命令存储器存储着FAST模板中的信息。FAST模板中关于字段的信息包括:操作符,操作符对存在位图的需要,操作符对输入字段的需要和字段格式,被数字化并存储在命令模块的命令存储器中。
[0033]命令模块20使用状态机控制工作内容。在第一个状态提取输入中的
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1