基于分层结构的片间互联接口及其写操作和读操作的方法.pdf

上传人:32 文档编号:1285572 上传时间:2018-04-12 格式:PDF 页数:24 大小:1.74MB
返回 下载 相关 举报
摘要
申请专利号:

CN201610834031.6

申请日:

2016.09.20

公开号:

CN106502932A

公开日:

2017.03.15

当前法律状态:

实审

有效性:

审中

法律详情:

实质审查的生效IPC(主分类):G06F 13/16申请日:20160920|||公开

IPC分类号:

G06F13/16; G06F13/40

主分类号:

G06F13/16

申请人:

中国科学院自动化研究所

发明人:

李沛南; 王东琳; 杜学亮; 蒋银坪; 孟洪宇; 卜中华

地址:

100080 北京市海淀区中关村东路95号

优先权:

专利代理机构:

北京瀚仁知识产权代理事务所(普通合伙) 11482

代理人:

宋宝库

PDF下载: PDF下载
内容摘要

本发明公开了一种基于分层结构的片间互联接口及其写操作和读操作的方法。其中,该接口包括:事务层,被配置为从存储器搬运读或写操作的数据,并解析由数据链路层传递来的数据,并在数据链路层对数据缓冲区进行写操作时,从数据缓冲区读取数据,以及在使能CRC校验且校验正确时,从数据缓冲区读取数据;数据链路层,被配置为在事务层与物理层之间进行并行数据的拆分和组合、控制码的装配和解析,并根据物理通道数,对读或写操作的数据进行分组;物理层,被配置为根据物理通道,对读或写操作数据进行分组,并处理数据链路层与物理链路之间的数据。通过本发明实施例解决了如何实现低延迟、高带宽及扩展性强的传输的技术问题。

权利要求书

1.一种基于分层结构的片间互联接口,用于处理器,所述处理器分别与存储器和物理
链路及数据缓冲区相连;其特征在于,所述接口包括:
事务层,被配置为从存储器搬运读或写操作的数据,并解析由数据链路层传递来的数
据,并在所述数据链路层对所述数据缓冲区进行写操作时,从所述数据缓冲区读取数据,以
及在使能CRC校验且校验正确时,从所述数据缓冲区读取数据;
所述数据链路层,被配置为在所述事务层与物理层之间进行并行数据的拆分和组合、
控制码的装配和解析,并根据物理通道数,对所述读或写操作的数据进行分组;
所述物理层,被配置为根据所述物理通道,对所述读或写操作数据进行分组,并处理所
述数据链路层与所述物理链路之间的数据。
2.根据权利要求1所述的片间互联接口,其特征在于,所述事务层具体包括:
配置模块,被配置为生成配置数据,以使所述处理器通过总线访问远端地址寄存器、本
地地址寄存器、传输模式寄存器、使能寄存器和状态寄存器;
高速读写数据模块,被配置为在所述使能寄存器发出使能信号后,在所述存储器与数
据包管理模块之间进行数据的所述读或写操作;
数据包管理模块,被配置为生成操作请求包,并根据所述配置模块生成的所述配置数
据生成写或读操作包头控制字,从所述高速读写数据模块获取所述写操作数据,并生成CRC
冗余校验码,将所述CRC 冗余校验码写入所述数据缓冲区。
3.根据权利要求2所述的片间互联接口,其特征在于,
所述高速读写数据模块,具体被配置为:在作为所述写操作和所述读操作的第一发送
端时,从所述存储器读取数据,并将所述数据发送至所述数据包管理模块,在作为所述写操
作和所述读操作的第一接收端且在所述传输模式寄存器使能CRC且CRC冗余码校验模块校
验正确的情况下,从所述数据包管理模块读取数据包,并将所述数据写入所述存储器;
所述数据包管理模块,具有第二发送端和第二接收端,并具体被配置为其所述第二发
送端生成写操作请求包、读操作请求包和所述数据包,以及其所述第二接收端进行数据解
析;
所述数据链路层具体包括:
所述CRC冗余码校验模块,被配置为在所述处理器通过所述总线配置所述传输模式寄
存器使能CRC,且在所述高速读写数据模块作为所述第一接收端的情况下,接收所述高速读
写数据模块生成的数据包包头信息且根据所述包头信息确定是否进行CRC校验,并根据校
验结果生成CRC校验响应包;
控制字管理模块,被配置为为所述数据包管理模块和通道管理模块生成的数据包添加
控制字;
所述通道管理模块,具有第三发送端和第三接收端,并被配置为其所述第三发送端依
据所述配置模块生成的配置信息,将所述数据缓冲区的数据分配至所述物理层,并且其所
述第三接收端依据所述物理通道个数配置,将所述控制字管理模块产生的添加了控制字的
数据包分配到各个所述物理通道中,并插入数据指令标志码,以及从所述各物理通道接收
数据,并将数据进行对齐,获取有效数据包并将所述有效数据包发送至所述控制字管理模
块。
4.根据权利要求3所述的片间互联接口,其特征在于,所述物理层具体包括:
物理编码子层模块,包括:
数据编码解码模块,具有第四发送端和第四接收端,并被配置为其所述第四发送端将
时钟信号嵌入所述数据链路层与所述物理链路之间的数据中,以及其所述第四接收端从接
收所述数据链路层与所述物理链路之间的所述数据中提取时钟信号,并解析有效数据;
数据加扰解扰模块,被配置为处理由所述数据编码解码模块编码后的数据;
物理介附加子层模块,包括:
数据串化解串模块,具有第五发送端和第五接收端,并被配置为其所述第五发送端将
第一慢速并行数据串化为第一高速串行数据,以及其所述第五接收端将第二高速串行数据
转化为第二慢速并行数据。
5.一种利用至少两个上述权利要求2至4中任一所述的片间互联接口进行写操作的方
法,其特征在于,所述写操作包括:
第一基于分层结构的片间互联接口执行以下操作:
依据所述传输模式寄存器生成写操作的包头控制字,并将所述包头控制字发送至所述
物理通道,以及根据第二基于分层结构的片间互联接口反馈的处理结果进行写操作;
所述第二基于分层结构的片间互联接口执行以下操作:
从所述物理通道接收所述包头控制字并进行解析,得到包头控制信息,并根据所述包
头控制信息进行使能或不使能CRC读操作,将所述处理结果发送至所述第一基于分层结构
的片间互联接口。
6.根据权利要求5所述的写操作的方法,其特征在于,所述写操作的方法具体包括:
第一基于分层结构的片间互联接口执行以下操作:
1A:所述数据包管理模块依据所述配置模块生成写操作包头控制字,写入所述数据缓
冲区;
1B:所述高速读写数据模块从本地地址中读取操作数据,写入所述数据缓冲区;
1C:判断是否使能CRC,若是,所述数据包管理模块生成CRC冗余校验码,并写入所述数
据缓冲区;否则,执行步骤1D;
1D:传输所述事务层与所述数据链路层之间的数据,通过所述物理链路接收第二基于
分层结构的片间互联接口反馈的CRC校验响应包,并在所述事务层对所述数据缓冲区进行
写操作时,使所述数据链路层从所述数据缓冲区读取数据;
1E:所述控制字管理模块为所述数据包添加控制字;
1F:所述通道管理模块依据所述物理通道个数配置,将所述控制字管理模块产生的数
据分配到所述各物理通道中,并插入所述数据指令标志码;
1G:所述数据编码解码模块将所述时钟信号插入数据流中,并对数据进行重新排序;
1H:所述数据串化解串模块将所述各物理通道并行慢速数据进行串化,分配到所述物
理链路中;
所述第二基于分层结构的片间互联接口执行以下操作:
2I:所述数据串化解串模块从所述物理链路中读取数据,并将高速串行数据进行并行
化;
2J:所述数据扰码解扰模块对所述数据链路层与所述物理链路之间的数据进行还原操
作;
2K:所述控制字管理模块依据所述数据指令标志码剥离控制码信息,提取所述数据包;
2L:所述通道管理模块从所述各物理通道接收数据,并将所述数据进行对齐,获取有效
数据包;
2M:所述CRC冗余码校验模块接收所述高速读写数据模块生成的数据包,分析包头信
息,并在使能CRC校验的情况下,对所述数据包进行CRC校验,并将除CRC校验码外的数据写
入数据缓冲区,以及根据CRC冗余码校验结果生成所述CRC校验响应包,并将所述CRC校验响
应包反馈至所述第一基于分层结构的片间互联接口;
2N:传输数据链路层至事务层之间的数据;
2O:所述数据包管理模块分离所述数据包的包头和数据有效负载;
2P:所述高速读写数据模块从所述数据包管理模块读取数据,并写入所述存储器。
7.一种利用至少两个上述权利要求2至4中任一所述的片间互联接口进行读操作的方
法,其特征在于,所述读操作包括:
第一基于分层结构的片间互联接口执行以下操作:
依据所述传输模式寄存器生成读操作的包头控制字,并将所述包头控制字发送至所述
物理通道,以及根据第二基于分层结构的片间互联接口反馈的处理结果进行读操作;
所述第二基于分层结构的片间互联接口执行以下操作:
从所述物理通道接收所述包头控制字并进行解析,得到包头控制信息,并根据所述包
头控制信息进行使能或不使能CRC读操作,将所述处理结果发送至所述第一基于分层结构
的片间互联接口。
8.根据权利要求7所述的读操作的方法,其特征在于,所述读操作的方法具体包括:
第一基于分层结构的片间互联接口执行以下操作:
3A:所述数据包管理模块依据所述配置模块生成读操作包头控制字,写入所述数据缓
冲区;
3B:所述高速读写数据模块从本地地址中读取操作数据,写入所述数据缓冲区;
3C:判断是否使能CRC,若是,所述数据包管理模块生成CRC冗余校验码,并写入所述数
据缓冲区;否则,执行步骤3D;
3D:传输所述事务层与所述数据链路层之间的数据,通过所述物理链路接收第二基于
分层结构的片间互联接口反馈的CRC校验响应包,并在所述事务层对所述数据缓冲区进行
读操作时,使所述数据链路层从所述数据缓冲区读取数据;
3E:所述控制字管理模块为所述数据包添加控制字;
3F:所述通道管理模块依据所述物理通道个数配置,将所述控制字管理模块产生的数
据分配到所述各物理通道中,并插入所述数据指令标志码;
3G:所述数据编码解码模块将所述时钟信号插入数据流中,并对数据进行重新排序;
3H:所述数据串化解串模块将所述各物理通道并行慢速数据进行串化,分配到所述物
理链路中;
所述第二基于分层结构的片间互联接口执行以下操作:
4I:所述数据串化解串模块从所述物理链路中读取数据,并将高速串行数据进行并行
化;
4J:所述数据扰码解扰模块对所述数据链路层与所述物理链路之间的数据进行还原操
作;
4K:所述控制字管理模块依据所述数据指令标志码剥离控制码信息,提取所述数据包;
4L:所述通道管理模块从所述各物理通道接收数据,并将所述数据进行对齐,获取有效
数据包;
4M:所述CRC冗余码校验模块接收所述高速读写数据模块生成的数据包,分析包头信
息,并在使能CRC校验的情况下,对所述数据包进行CRC校验,并将除CRC校验码外的数据写
入数据缓冲区,以及根据CRC冗余码校验结果生成所述CRC校验响应包,并将所述CRC校验响
应包反馈至所述第一基于分层结构的片间互联接口;
4N:传输数据链路层至事务层之间的数据;
4O:所述数据包管理模块分离所述数据包的包头和数据有效负载;
4P:所述高速读写数据模块从所述存储器读取数据,并写入所述数据包管理模块。

说明书

基于分层结构的片间互联接口及其写操作和读操作的方法

技术领域

本发明实施例涉及处理器互联技术领域,尤其是涉及一种基于SerDes串行传输技
术,在点对点互联结构的片间数据传输过程中的基于分层结构的片间互联接口及其写操作
和读操作的方法。

背景技术

随着信息时代的发展,传统摩尔定律,即每隔18到24个月,处理器时钟频率翻一
番,已转变为处理器的个数、线程数和其他并行算法性能的翻番。为了满足信息时代的高性
能需求,计算机系统逐渐由单核向多核、由多核向多片发展。因此,片间互联已成为计算机
体系结构研究领域的热点问题。

多片互联,提供给芯片间信息共享的方式,极大地提升对大规模数据计算程序的
处理能力。高速、高效,并且保证数据正确性的片间互联接口可以有效地减少芯片间的通信
延时,提升处理器进行运算程序的有效时间比,从而有效提升系统的处理能力。

目前,业界正不遗余力地设计高速、高效、可靠的片间互联接口协议,然而,由于现
有协议的设计目标、方向不同,在实时性、带宽要求高的应用场景下,不能有效地发挥各自
的优势。

有鉴于此,特提出本发明。

发明内容

本发明实施例提供一种片间互联接口,以至少部分地解决如何实现低延迟、高带
宽及扩展性强的传输的技术问题;此外,还提供了一种利用片间互联接口进行写操作和读
操作的方法。

为了实现上述目的,一方面,提供了以下技术方案:

一种基于分层结构的片间互联接口,用于处理器,所述处理器分别与存储器和物
理链路及数据缓冲区相连;所述接口包括:

事务层,被配置为从存储器搬运读或写操作的数据,并解析由数据链路层传递来
的数据,并在所述数据链路层对所述数据缓冲区进行写操作时,从所述数据缓冲区读取数
据,以及在使能CRC校验且校验正确时,从所述数据缓冲区读取数据;

所述数据链路层,被配置为在所述事务层与物理层之间进行并行数据的拆分和组
合、控制码的装配和解析,并根据物理通道数,对所述读或写操作的数据进行分组;

所述物理层,被配置为根据所述物理通道,对所述读或写操作数据进行分组,并处
理所述数据链路层与所述物理链路之间的数据。

进一步地,所述事务层具体包括:

配置模块,被配置为生成配置数据,以使所述处理器通过总线访问远端地址寄存
器、本地地址寄存器、传输模式寄存器、使能寄存器和状态寄存器;

高速读写数据模块,被配置为在所述使能寄存器发出使能信号后,在所述存储器
与数据包管理模块之间进行数据的所述读或写操作;

数据包管理模块,被配置为生成操作请求包,并根据所述配置模块生成的所述配
置数据生成写或读操作包头控制字,从所述高速读写数据模块获取所述写操作数据,并生
成CRC冗余校验码,将所述CRC冗余校验码写入所述数据缓冲区。

进一步地,所述高速读写数据模块,具体被配置为:在作为所述写操作和所述读操
作的第一发送端时,从所述存储器读取数据,并将所述数据发送至所述数据包管理模块,在
作为所述写操作和所述读操作的第一接收端且在所述传输模式寄存器使能CRC且CRC冗余
码校验模块校验正确的情况下,从所述数据包管理模块读取数据包,并将所述数据写入所
述存储器;

所述数据包管理模块,具有第二发送端和第二接收端,并具体被配置为其所述第
二发送端生成写操作请求包、读操作请求包和所述数据包,以及其所述第二接收端进行数
据解析;

所述数据链路层具体包括:

所述CRC冗余码校验模块,被配置为在所述处理器通过所述总线配置所述传输模
式寄存器使能CRC,且在所述高速读写数据模块作为所述第一接收端的情况下,接收所述高
速读写数据模块生成的数据包包头信息且根据所述包头信息确定是否进行CRC校验,并根
据校验结果生成CRC校验响应包;

控制字管理模块,被配置为为所述数据包管理模块和通道管理模块生成的数据包
添加控制字;

所述通道管理模块,具有第三发送端和第三接收端,并被配置为其所述第三发送
端依据所述配置模块生成的配置信息,将所述数据缓冲区的数据分配至所述物理层,并且
其所述第三接收端依据所述物理通道个数配置,将所述控制字管理模块产生的添加了控制
字的数据包分配到各个所述物理通道中,并插入数据指令标志码,以及从所述各物理通道
接收数据,并将数据进行对齐,获取有效数据包并将所述有效数据包发送至所述控制字管
理模块。

进一步地,所述物理层具体包括:

物理编码子层模块,包括:

数据编码解码模块,具有第四发送端和第四接收端,并被配置为其所述第四发送
端将时钟信号嵌入所述数据链路层与所述物理链路之间的数据中,以及其所述第四接收端
从接收所述数据链路层与所述物理链路之间的所述数据中提取时钟信号,并解析有效数
据;

数据加扰解扰模块,被配置为处理由所述数据编码解码模块编码后的数据;

物理介附加子层模块,包括:

数据串化解串模块,具有第五发送端和第五接收端,并被配置为其所述第五发送
端将第一慢速并行数据串化为第一高速串行数据,以及其所述第五接收端将第二高速串行
数据转化为第二慢速并行数据。

为了实现上述目的,另一方面,还提供一种利用至少两个上述基于分层结构的片
间互联接口进行写操作的方法,所述写操作包括:

第一基于分层结构的片间互联接口执行以下操作:

依据所述传输模式寄存器生成写操作的包头控制字,并将所述包头控制字发送至
所述物理通道,以及根据第二基于分层结构的片间互联接口反馈的处理结果进行写操作;

所述第二基于分层结构的片间互联接口执行以下操作:

从所述物理通道接收所述包头控制字并进行解析,得到包头控制信息,并根据所
述包头控制信息进行使能或不使能CRC读操作,将所述处理结果发送至所述第一基于分层
结构的片间互联接口。

进一步地,所述写操作的方法具体包括:

第一基于分层结构的片间互联接口执行以下操作:

1A:所述数据包管理模块依据所述配置模块生成写操作包头控制字,写入所述数
据缓冲区;

1B:所述高速读写数据模块从本地地址中读取操作数据,写入所述数据缓冲区;

1C:判断是否使能CRC,若是,所述数据包管理模块生成CRC冗余校验码,并写入所
述数据缓冲区;否则,执行步骤1D;

1D:传输所述事务层与所述数据链路层之间的数据,通过所述物理链路接收第二
基于分层结构的片间互联接口反馈的CRC校验响应包,并在所述事务层对所述数据缓冲区
进行写操作时,使所述数据链路层从所述数据缓冲区读取数据;

1E:所述控制字管理模块为所述数据包添加控制字;

1F:所述通道管理模块依据所述物理通道个数配置,将所述控制字管理模块产生
的数据分配到所述各物理通道中,并插入所述数据指令标志码;

1G:所述数据编码解码模块将所述时钟信号插入数据流中,并对数据进行重新排
序;

1H:所述数据串化解串模块将所述各物理通道并行慢速数据进行串化,分配到所
述物理链路中;

所述第二基于分层结构的片间互联接口执行以下操作:

2I:所述数据串化解串模块从所述物理链路中读取数据,并将高速串行数据进行
并行化;

2J:所述数据扰码解扰模块对所述数据链路层与所述物理链路之间的数据进行还
原操作;

2K:所述控制字管理模块依据所述数据指令标志码剥离控制码信息,提取所述数
据包;

2L:所述通道管理模块从所述各物理通道接收数据,并将所述数据进行对齐,获取
有效数据包;

2M:所述CRC冗余码校验模块接收所述高速读写数据模块生成的数据包,分析包头
信息,并在使能CRC校验的情况下,对所述数据包进行CRC校验,并将除CRC校验码外的数据
写入数据缓冲区,以及根据CRC冗余码校验结果生成所述CRC校验响应包,并将所述CRC校验
响应包反馈至所述第一基于分层结构的片间互联接口;

2N:传输数据链路层至事务层之间的数据;

2O:所述数据包管理模块分离所述数据包的包头和数据有效负载;

2P:所述高速读写数据模块从所述数据包管理模块读取数据,并写入所述存储器。

为了实现上述目的,还提供一种利用至少两个上述基于分层结构的片间互联接口
进行读操作的方法,所述读操作包括:

第一基于分层结构的片间互联接口执行以下操作:

依据所述传输模式寄存器生成读操作的包头控制字,并将所述包头控制字发送至
所述物理通道,以及根据第二基于分层结构的片间互联接口反馈的处理结果进行读操作;

所述第二基于分层结构的片间互联接口执行以下操作:

从所述物理通道接收所述包头控制字并进行解析,得到包头控制信息,并根据所
述包头控制信息进行使能或不使能CRC读操作,将所述处理结果发送至所述第一基于分层
结构的片间互联接口。

进一步地,所述读操作的方法具体包括:

第一基于分层结构的片间互联接口执行以下操作:

3A:所述数据包管理模块依据所述配置模块生成读操作包头控制字,写入所述数
据缓冲区;

3B:所述高速读写数据模块从本地地址中读取操作数据,写入所述数据缓冲区;

3C:判断是否使能CRC,若是,所述数据包管理模块生成CRC冗余校验码,并写入所
述数据缓冲区;否则,执行步骤3D;

3D:传输所述事务层与所述数据链路层之间的数据,通过所述物理链路接收第二
基于分层结构的片间互联接口反馈的CRC校验响应包,并在所述事务层对所述数据缓冲区
进行读操作时,使所述数据链路层从所述数据缓冲区读取数据;

3E:所述控制字管理模块为所述数据包添加控制字;

3F:所述通道管理模块依据所述物理通道个数配置,将所述控制字管理模块产生
的数据分配到所述各物理通道中,并插入所述数据指令标志码;

3G:所述数据编码解码模块将所述时钟信号插入数据流中,并对数据进行重新排
序;

3H:所述数据串化解串模块将所述各物理通道并行慢速数据进行串化,分配到所
述物理链路中;

所述第二基于分层结构的片间互联接口执行以下操作:

4I:所述数据串化解串模块从所述物理链路中读取数据,并将高速串行数据进行
并行化;

4J:所述数据扰码解扰模块对所述数据链路层与所述物理链路之间的数据进行还
原操作;

4K:所述控制字管理模块依据所述数据指令标志码剥离控制码信息,提取所述数
据包;

4L:所述通道管理模块从所述各物理通道接收数据,并将所述数据进行对齐,获取
有效数据包;

4M:所述CRC冗余码校验模块接收所述高速读写数据模块生成的数据包,分析包头
信息,并在使能CRC校验的情况下,对所述数据包进行CRC校验,并将除CRC校验码外的数据
写入数据缓冲区,以及根据CRC冗余码校验结果生成所述CRC校验响应包,并将所述CRC校验
响应包反馈至所述第一基于分层结构的片间互联接口;

4N:传输数据链路层至事务层之间的数据;

4O:所述数据包管理模块分离所述数据包的包头和数据有效负载;

4P:所述高速读写数据模块从所述存储器读取数据,并写入所述数据包管理模块。

本发明实施例将接口划分为事务层、数据链路层和物理层,其中,事务层被配置为
从存储器搬运读或写操作的数据,并解析由数据链路层传递来的数据,并在数据链路层对
数据缓冲区进行写操作时,从数据缓冲区读取数据,以及在使能CRC校验且校验正确时,从
数据缓冲区读取数据;数据链路层被配置为在事务层与物理层之间进行并行数据的拆分和
组合、控制码的装配和解析,并根据物理通道数,对读或写操作的数据进行分组;物理层被
配置为根据物理通道,对读或写操作数据进行分组,并处理数据链路层与物理链路之间的
数据。通过采取基于“包”进行数据传输,所以额外负载小;支持“主从”和“对等”两种点对点
通信方式;在点对点互联结构的片间数据传输过程中,实现了低延迟、高带宽及扩展性强的
传输。

附图说明

图1为根据本发明实施例的物理链路示意图;

图2为根据本发明实施例的片间互联接口的结构示意图;

图3为根据本发明实施例的片间互联接口应用于SoC片上系统的示意图;

图4为根据本发明实施例的写操作请求和数据包的结构示意图;

图5为根据本发明实施例的读操作请求包的结构示意图;

图6为根据本发明另一实施例的片间互联接口的结构示意图;

图7为根据本发明实施例的对于不使能CRC写操作的本地Link与远端Link之间的
数据交互示意图;

图8为根据本发明实施例的对于使能CRC写操作的本地Link与远端Link之间的数
据交互示意图;

图9为根据本发明实施例的对于不使能CRC读操作的本地Link与远端Link之间的
数据交互示意图;

图10为根据本发明实施例的对于使能CRC读操作的本地Link与远端Link之间的数
据交互示意图;

图11为根据本发明实施例的基于分层结构的片间互联接口的应用场景示意图。

具体实施方式

下面结合附图和具体的实施例来详细说明本发明。在不冲突的情况下,本发明实
施例中的各技术特征可以相互组合或拆分而形成技术方案。基于本申请中的实施例,本领
域普通技术人员在不付出创造性劳动的前提下,所获的所有其它等同或明显变型的实施例
均落在本发明的保护范围内。

本发明实施例基于SerDes(Serializer(串行器)/Deserializer(解串器)的简称)
串行传输技术,使用端到端的数据传输方式,并应用在点对点互联结构的片间数据传输过
程中。其中,两端均包含发送逻辑模块(TX,也即发送端)和接收逻辑(RX,也即接收端)模块。

本文规定发起读、写操作命令的接口为本地Link,简称L1;规定接收物理链路(如
图1所示)传递的读、写请求,被动进行相应操作的接口为远端Link,简称L2;SoC为System
On Chip,即片上系统;规定L1所处系统为SoC1,L2所处系统为SoC2。总线包括数据与地址信
息,文中系统数据位宽与系统地址位宽分别指:在片上系统中,接口与总线相接的数据位宽
和地址位宽。

这里,“本地”与“远端”是一个相对的概念。各SoC中的接口模块既可以是本地
Link,也可以是远端Link,这取决于是否为操作命令发起者。

Link写操作是指L1读取SoC1某地址段中的数据,然后写入SoC2某地址段。读操作
是指L1读取SoC2某地址段的数据至SoC1某地址段。读、写操作均可以选择是否进行CRC校
验。“本地地址”、“远端地址”、“Link写操作”与“Link读操作”之间的关系如表一所示:

表一:

操作类型
数据源地址
数据目的地址
Link写操作
本地地址
远端地址
Link读操作
远端地址
本地地址

为了满足应用领域对实时性、高带宽及高扩展性的需求,本发明实施例提出一种
基于分层结构的片间互联接口,其用于处理器,处理器分别与存储器和物理链路及数据缓
冲区相连;如图2所示,该接口10可以包括:事务层12、数据链路层14和物理层16。其中,事务
层12被配置为从存储器搬运读或写操作的数据,并解析由数据链路层传递来的数据,并在
数据链路层对数据缓冲区进行写操作时,从数据缓冲区读取数据,以及在使能CRC校验且校
验正确时,从数据缓冲区读取数据。数据链路层14被配置为在事务层与物理层之间进行并
行数据的拆分和组合、控制码的装配和解析,并根据物理通道数,对读或写操作的数据进行
分组。所述物理层16被配置为根据物理通道,对读或写操作数据进行分组,并处理数据链路
层与物理链路之间的数据。

其中,由于事务层的工作频率与数据链路层的工作频率不同。事务层与数据链路
层之间可以通过缓冲区来进行数据的传递。优选地,可以将缓冲区设置为发送数据缓冲区
和接收数据缓冲区。缓冲区可以采用双端RAM。缓冲区的数据位宽与系统数据位宽一致,且
深度与有效数据负载的最大包长相一致。缓冲区的接口信息包括:

时钟信号;

写使能位:其高、低电平分别代表读写操作;

地址位宽:其为缓冲区的深度,即最大数据包长所需位宽;

数据输入和数据输出:其位宽与系统数据位宽一致。

图3示例性地示出了本发明实施例提出的基于分层结构的片间互联接口应用于
SoC片上系统的示意图。本发明实施例通过采用上述技术方案,实现了处理器间低延迟、高
带宽、高扩展性的点对点串行互联的技术效果。

在一个可选的实施例中,上述事务层具体可以包括:配置模块、高速读写数据模块
及数据包管理模块。其中,配置模块被配置为生成配置数据,以使处理器通过总线访问远端
地址寄存器、本地地址寄存器、传输模式寄存器、使能寄存器和状态寄存器。高速读写数据
模块被配置为在使能寄存器发出使能信号后,在存储器与数据包管理模块之间进行数据的
读或写操作。数据包管理模块被配置为生成操作请求包,并根据配置模块生成的配置数据
生成写或读操作包头控制字,从高速读写数据模块获取写操作数据,并生成CRC冗余校验
码,将CRC冗余校验码写入数据缓冲区。

在上述实施例中,配置模块为处理器提供功能配置接口,处理器通过总线可以访
问如下寄存器:远端地址寄存器、本地地址寄存器、传输模式寄存器、使能寄存器和状态寄
存器。其中,远端地址寄存器的位宽与系统(本文中的系统例如可以为SoC片上系统)地址位
宽一致,其存储写操作目的地址或读操作源地址;在传输过程中,将写操作目的地址或读操
作源地址发送给接收端,接收端依据传输操作请求,从读操作源地址读取请求数据或往写
操作目的地址写操作数据。本地地址寄存器的位宽与系统地址位宽一致,其存储写操作源
地址或读操作目的地址;在传输过程中,发送端依据传输操作请求,从读操作目的地址读取
操作数据,或往写操作源地址写读回数据。传输模式寄存器的位宽与实际应用场景中所需
的最大传输数据长度有关,需对齐系统数据位宽;并负责配置本次传输选用物理通道数、操
作类型(读/写)、数据包类型(操作请求包/CRC响应包)、有效数据长度、是否使能CRC(循环
冗余码校验)硬件校验功能等。使能寄存器的位宽与系统数据位宽一致,且负责配置物理通
道的传输速度、链路复位和操作传输使能。状态寄存器的位宽与实际应用中所需状态个数
相关,诸如:操作起止标志位,各模块的工作状态,传输等待超时中断状态,重传次数过多状
态等;处理器配置远端地址寄存器、本地地址寄存器、传输模式寄存器及使能寄存器结束
后,可进行不影响操作数据存储器外的操作,如需判断该操作是否正确执行完毕,可查询状
态寄存器,例如:可以查询传输错误状态、传输进度、本次操作是否正常结束等。状态寄存器
也可以记录各模块的状态信息,在发送失败后,还可以被配置为错误定位及排除故障。上述
高速读写数据模块在传输操作使能后开始操作,采用可支持高速读写操作的总线协议。

在一个可选的实施例中,上述高速读写数据模块具体还可以被配置为在作为写操
作和读操作的第一发送端时,从存储器读取数据,并将数据发送至数据包管理模块,在作为
写操作和读操作的第一接收端且在传输模式寄存器使能CRC且CRC冗余码校验模块校验正
确的情况下,从数据包管理模块读取数据包,并将数据写入存储器。上述数据包管理模块具
有第二发送端和第二接收端,并具体还可以被配置为其第二发送端生成写操作请求包、读
操作请求包和数据包,以及其第二接收端进行数据解析。上述数据链路层具体可以包括:
CRC冗余码校验模块、控制字管理模块及通道管理模块。其中,CRC冗余码校验模块被配置为
在处理器通过总线配置传输模式寄存器使能CRC,且在高速读写数据模块作为第一接收端
的情况下,接收高速读写数据模块生成的数据包包头信息且根据包头信息确定是否进行
CRC校验,并根据校验结果生成CRC校验响应包。控制字管理模块被配置为为数据包管理模
块和通道管理模块生成的数据包添加控制字。通道管理模块具有第三发送端和第三接收
端,并被配置为其第三发送端依据配置模块生成的配置信息,将数据缓冲区的数据分配至
物理层,并且其第三接收端依据物理通道个数配置,将控制字管理模块产生的添加了控制
字的数据包分配到各个物理通道中,并插入数据指令标志码,以及从各物理通道接收数据,
并将数据进行对齐,获取有效数据包并将有效数据包发送至控制字管理模块。

在上述实施例中,如果高速读写数据模块为写操作和读操作的发送端,则该模块
从系统存储器中读取数据交给数据包管理模块;如果高速读写数据模块为写操作和读操作
的接收端,(若使能CRC校验,CRC冗余码校验模块校验结果正确),则该模块从数据包管理模
块读取数据,并写至目标地址。如果数据包管理模块作为发送端,则其生成写操作请求和数
据包、读操作请求包;如果数据包管理模块作为接收端,则其负责解析操作请求包和数据包
的内容。图4示例性地示出了写操作请求和数据包的结构示意图。图5示例性地示出了读操
作请求包的结构示意图。其中,包头控制字包括:远端地址和此次传输模式配置信息(即:配
置模块中的远端地址寄存器和传输模式寄存器中的数据)、本次传输选用物理通道数、操作
类型(读/写操作)、数据包类型(操作请求包/CRC响应包)、有效数据长度以及是否使能CRC
硬件校验功能等。

包头控制字字段定义如表二所示。

表二:


其中,各字段含义为:

远端地址:若为写操作请求,该字段为写目的地址,若为读操作请求,该字段为读
取源地址。

有效数据长度:表示读写操作传输数据个数,其数据位宽与系统数据位宽相同,其
深度由实际应用场景中最大数据包的长度决定。假设数据位宽为32,最大包长为4KB,那么
该字段占10位,M等于N+10,其中,数值N被配置为对齐包头控制字宽度为系统数据位宽的整
数倍。

通道数目:表示传输使能的物理传输通道个数,其支持X1、X4、X8、X16和X32等模
式。X后的数字表示通道数目,例如,X4代表传输过程中,使能通道数目为4。

保留字段N:8,其可选取部分位留作技术更新。

数据包类型:表明数据包为操作请求包、CRC校验正确响应包或者CRC校验错误响
应包。

传输命令类型:表示传输为写操作或读操作请求。

1保留字段,其留作技术扩展。

图3中示例性示出的数据有效负载为写操作数据,其位宽为系统数据位宽,其长度
为包头控制字中配置的有效数据长度。图3中示例性示出的CRC为冗余校验码的选择,其依
据实际应用中对数据传输精确度的要求而定,被配置为补充无效位,以对齐系统数据位宽。

在上述实施例中,上述CRC冗余码校验模块作为接收端收到数据后,根据数据包头
信息决定是否进行CRC校验。若传输模式寄存器已设置使能CRC校验,则CRC冗余码校验模块
对接收的数据进行CRC冗余码校验,并根据校验结果生成CRC校验响应包。具体的,根据校验
结果生成CRC校验响应包分为两种情况:

a)如果校验错误,则依据接收的数据,生成CRC校验错误响应包,其仅包含包头控
制字信息,数据包类型指示为CRC响应包,等待发送端(例如:高速读写数据模块)进行重传
操作。若等待重传数据时间超出固定阈值,则中断此操作,设置相应传输错误标志位,然后
反馈给处理器,并判定链路故障;若发送端重传次数超出重传阈值,则中断此操作,设置相
应传输错误标志位,反馈给处理器,并判定链路故障;

b)如果校验正确,则高速读写数据模块将接收数据缓冲区中的数据信息写往目的
地址。

在上述实施例中,上述控制字管理模块为数据包添加的控制字的定义参见表三:

表三:



控制字管理模块为数据包添加起始标志码、空闲标志码等,这样有利于接收端将
有效数据包从物理层接收的数据中分离出来。其中,IDL码标志物理链路当前无操作请求;
物理链路复位时,由COM码进行物理链路两端的数据对齐,以保证物理链路可以正确地接收
数据;PAD码是在传输过程中,当物理链路发送速度慢于物理通道传输速度时,为保证信息
的正确性和完整性,而给物理链路添加的无效数据;STP码与END码进行信息同步,分别标志
数据包的起始与结束。

在上述实施例中,上述通道管理模块的发送端依据配置模块配置的信息,将发送
缓冲区的数据分配到物理层。上述通道管理模块的接收端依据物理层的信息,将数据信息
重新组合为系统数据位宽,并交由控制字管理模块进行分析。若等待接收数据的时间或CRC
响应包超出固定阈值,则中断此操作,设置相应传输错误标志位,并反馈给处理器,判定物
理链路故障;若发送端接收CRC错误响应包次数超出固定阈值,则中断此操作,设置相应传
输错误标志位,并反馈给处理器,判定物理链路故障。

本发明实施例采用上述技术方案基于“包”进行数据传输,其额外负载小。

在一个可选的实施例中,上述物理层具体可以包括:物理编码子层模块和物理介
附加子层模块。其中,物理编码子层模块包括:数据编码解码模块和数据加扰解扰模块。数
据编码解码模块具有第四发送端和第四接收端,并被配置为其第四发送端将时钟信号嵌入
数据链路层与物理链路之间的数据中,以及其第四接收端从接收数据链路层与物理链路之
间的数据中提取时钟信号,并解析有效数据。数据加扰解扰模块被配置为处理由数据编码
解码模块编码后的数据。物理介附加子层模块包括数据串化解串模块,数据串化解串模块
具有第五发送端和第五接收端,并被配置为其第五发送端将慢速并行数据串化为高速串行
数据,以及其第五接收端将高速串行数据转化为慢速并行数据。

在上述实施例中,数据加扰解扰模块对数据进行重新排序,这样可以减少连“0”和
连“1”的个数。

图6示例性地示出了另一基于分层结构的片间互联接口的结构示意图。

数据链路层和物理层根据支持通道数,对操作数据进行分组,每组可以包括:

并行数据:其位宽由所采用PCS层编码方式决定,与系统数据位宽不一定相同;通
道管理模块将有效数据分配到各个物理通道,或将已使能物理通道中的有效数据进行拼
接;

数据指令标志码:其标志当前并行数据为控制字或有效数据信息;

发送空闲标志:其标志当前物理通道是否正在被使用;

物理通道传输速度:其例如可以设置为5GT/s、8GT/s等;

就绪状态标志:物理链路传输速度配置需要一定的时间,在传输速度稳定后,通过
该标志位反馈给数据链路层,表示可以开始进行数据包的传输。

通过上述技术方案的描述可知,Link执行不同的操作将处于不同的工作状态。根
据上述“本地/远端”、“Link写操作/Link读操作”以及是否使能CRC校验功能,共存在4对、共
8种不同的工作状态,如表四所示:

表四:


其中,对于不使能CRC写操作,即表二中的Case1,本地Link与远端Link之间的数据
交互情况如图7所示,其中箭头表示数据流的方向。该操作用于物理链路比较稳定的应用场
景,发送端仅将写操作请求和数据包发送给接收端,不需要进行握手通信,传输效率高。

对于使能CRC写操作,即表四中的Case2,本地Link与远端Link之间的数据交互情
况如图8所示,其中箭头表示数据流的方向。该操作通过握手通信,提升传输可靠性。若图中
的CRC响应包为错误响应包,则L1会重新发送写操作请求和数据包,等待CRC校验正确响应
包。在传输过程中,如果L1等待CRC响应包的时间超过阈值,则放弃此次操作,设置相应的传
输错误标志位,反馈给处理器,并判定链路故障;如果重传次数大于固定阈值,则L1放弃此
次操作,并设置相应传输错误标志位;如果校验错误次数大于固定阈值,则L2放弃此次操
作,并设置相应的传输错误标志位。

对于不使能CRC读操作,即表四中的Case3,本地Link与远端Link之间的数据交互
情况如图9所示,其中箭头表示数据流的方向。在该操作中,若L1等待读操作数据时间超出
固定阈值,则中断此操作,设置相应传输错误标志,反馈给处理器,并判定链路故障。

对于使能CRC读操作,即表四中的Case4,本地Link与远端Link之间的数据交互情
况如图10所示,箭头表示数据流的方向。在该操作中,若L1等待读操作数据时间超出固定阈
值,则中断此操作,并设置相应的传输错误标志位。若图中的CRC响应包为错误响应包,则L2
会重新发送写操作请求和数据包,等待CRC校验正确响应包,如果传输次数大于固定阈值,
则L2放弃此次操作,并设置相应传输错误标志位;若L2等待CRC响应包时间超过阈值,则L2
放弃此次操作,并设置相应传输错误标志位。

图11示例性地示出了本发明实施例提供的基于分层结构的片间互联接口的应用
场景示意图。其中,三个SoC(即SoC0、SoC1和SoC2)之间通过本发明实施例提供的基于分层
结构的片间互联接口,经由物理链路进行数据传输。

需要说明的是,上述实施例提供的基于分层结构的片间互联接口在进行数据传输
时,仅以上述各功能模块的划分进行举例说明,在实际应用中,可以根据需要而将上述功能
分配由不同的功能模块来完成,即将本发明实施例中的模块再进行分解或者组合。

本发明实施例还提供一种利用上述片间互联接口进行写操作的方法,该方法可以
由上述片间互联接口实施例执行。该方法可以包括:

第一基于分层结构的片间互联接口执行以下操作:依据传输模式寄存器生成写操
作的包头控制字,并将包头控制字发送至物理通道,以及根据第二片间互联接口反馈的处
理结果进行写操作。

第二基于分层结构的片间互联接口执行以下操作:从物理通道接收包头控制字并
进行解析,得到包头控制信息,并根据包头控制信息进行使能或不使能CRC读操作,将处理
结果发送至第一片间互联接口。

本发明实施例通过采用上述技术方案,可以在点对点互联结构的片间数据传输过
程中,实现低延迟、高带宽、扩展性强的数据传输。

在一个可选的实施例中,上述写操作的方法具体可以包括:

第一基于分层结构的片间互联接口执行以下操作:

1A:数据包管理模块依据配置模块生成写操作包头控制字,写入数据缓冲区;

1B:高速读写数据模块从本地地址中读取操作数据,写入数据缓冲区;

1C:判断是否使能CRC,若是,数据包管理模块生成CRC冗余校验码,并写入数据缓
冲区;否则,执行步骤1D;

1D:传输事务层与数据链路层之间的数据,通过物理链路接收第二片间互联接口
反馈的CRC校验响应包,并在事务层对数据缓冲区进行写操作时,使数据链路层从数据缓冲
区读取数据;

1E:控制字管理模块为数据包添加控制字;

1F:通道管理模块依据物理通道个数配置,将控制字管理模块产生的数据分配到
各物理通道中,并插入数据指令标志码;

1G:数据编码解码模块将时钟信号插入数据流中,并对数据进行重新排序;

1H:数据串化解串模块将各物理通道并行慢速数据进行串化,分配到物理链路中;

第二基于分层结构的片间互联接口执行以下操作:

2I:数据串化解串模块从物理链路中读取数据,并将高速串行数据进行并行化;

2J:数据扰码解扰模块对数据链路层与物理链路之间的数据进行还原操作;

2K:控制字管理模块依据数据指令标志码剥离控制码信息,提取数据包;

2L:通道管理模块从各物理通道接收数据,并将数据进行对齐,获取有效数据包;

2M:CRC冗余码校验模块接收高速读写数据模块生成的数据包,分析包头信息,并
在使能CRC校验的情况下,对数据包进行CRC校验,并将除CRC校验码外的数据写入数据缓冲
区,以及根据CRC冗余码校验结果生成CRC校验响应包,并将CRC校验响应包反馈至第一片间
互联接口;

2N:传输数据链路层至事务层之间的数据;

2O:数据包管理模块分离数据包的包头和数据有效负载;

2P:高速读写数据模块从数据包管理模块读取数据,并写入存储器。

下面以一优选实施例来详细说明本发明实施例的数据传输流程。

该数据传输流程基于上述片间互联接口实施例。其中,事务层完成数据搬运以及
CRC冗余码的生成;数据链路层完成控制码的生成和检测以及CRC冗余码的校验重传;物理
层完成有效数据编解码和串化解串。

配置L1和L2的远端地址寄存器、本地地址寄存器、传输模式寄存器、使能寄存器和
状态寄存器。若为第一次配置传输模式,需要配置L1的传输通道数和传输速度,并配置L2的
传输速度。如需更改传输速度或者传输通道数,则需对L1和L2进行复位操作,再进行通道数
与传输速度的配置,以保证物理链路处于配置要求的状态。缓冲区包括发送数据缓冲区和
接收数据缓冲区。

写操作方法可以包括:

a:数据包管理模块依据配置模块配置的信息生成包头控制字,并写入发送数据缓
冲区;

b:通过高速读写数据模块从本地地址中读取操作数据,并写入发送数据缓冲区;

c:如果本次操作使能CRC,则数据包管理模块生成CRC冗余校验码,并写入发送数
据缓冲区;

d:如果本次操作未使能CRC,则不执行步骤c,即跳过写CRC冗余码生成阶段;

e:发送数据缓冲区为事务层至数据链路层的数据传输接口,在事务层对发送数据
缓冲区进行写操作时,数据链路层可以同时从该发送数据缓冲区中读取数据;

f:控制字管理模块在物理层复位后发送数据置为复位链路初始值COM;在没有发
送数据包时,置为空闲状态IDL;若收到写操作命令或收到CRC校验错误响应包,先置为起始
标志STP,然后,开始发送数据包,如果在传输过程中,事务层写缓冲区速度慢于数据链路层
读缓冲区速度,则在有效数据中插入PAD;在数据发送完毕后,置为END;

g:通道管理模块依据物理通道个数来配置,将控制字管理模块产生的数据分配到
各个物理通道中,并插入数据指令标志码,以标志此处接收数据位控制码或有效数据;若此
操作使能CRC校验,则在将数据包发送结束后,开始计时,若等待CRC响应包时间超过阈值,
则中断此操作,并设置相应的传输错误标志位;

h:数据编码解码模块采用8b10b或128b130b等编码方式,将时钟信息插入数据流
中;数据加扰解扰模块对数据进行重新排序;

i:数据串化解串模块将各个物理通道并行慢速输入数据进行串化,并分配到物理
链路中;

j:数据串化解串模块从物理链路中读取数据,并将高速串行数据进行并行化;

k:数据加扰解扰模块对数据进行还原操作;数据编码解码模块从数据流中提取时
钟信息和数据信息,并通过与物理层接口的各个物理通道传递给数据链路层;

l:控制字管理模块依据数据指令标志码剥离控制码信息,并提取数据包;

m:通道管理模块从各物理通道接收数据,并将数据进行对齐,以获取真正的有效
数据包;

n:CRC冗余码校验模块分析包头信息位,如果检测本次操作使能CRC校验,则对接
收数据包进行CRC校验,同时将除CRC校验码外的数据写入接收数据缓冲区;

o:如果CRC冗余码校验结果正确,则生成CRC校验正确响应包,通过L2执行的步骤f
至步骤i反馈给L1,执行步骤s;如果校验结果错误,则生成CRC校验错误响应包,并通过L2的
执行的步骤f至步骤i反馈给L1,等待L1进行重传操作,若校验错误次数超过阈值,则中断此
操作,并置相应的传输错误标志位;

p:如果收到CRC正确响应包,则L1置本次传输操作结束;如果收到CRC错误响应包,
则计数器加1,并从步骤f开始重新执行到步骤p,当计数器达到预定阈值时,则中断此操作,
并置相应的传输错误标志位;L1若长时间未收到CRC响应包,则中断此操作,并置相应的传
输错误标志位;

q:CRC冗余码校验模块分析包头信息位,如果检测本次操作未使能CRC校验,则直
接将数据写入接收数据缓冲区;

r:接收数据缓冲区为数据链路层至事务层的数据传输接口,如果未使能CRC校验,
则在数据链路层对发送数据缓冲区进行写操作时,事务层同时从发送数据缓冲区中读取数
据;如果使能CRC校验,则事务层在CRC冗余码校验结果正确后,从发送数据缓冲区中读取
数;

s:数据包管理模块分析接收数据缓冲区中的数据信息,并分离包头和数据有效负
载;

t:高速读写数据模块从数据包管理模块读取数据,并写入目标地址中。

此外,本发明实施例还提供一种利用上述片间互联接口进行读操作的方法,该方
法可以由上述片间互联接口实施例来执行。该方法可以包括:

第一基于分层结构的片间互联接口执行以下操作:依据传输模式寄存器生成读操
作的包头控制字,并将包头控制字发送至物理通道,以及根据第二片间互联接口反馈的处
理结果进行读操作。

第二基于分层结构的片间互联接口执行以下操作:从物理通道接收包头控制字并
进行解析,得到包头控制信息,并根据包头控制信息进行使能或不使能CRC读操作,将处理
结果发送至第一片间互联接口。

在一个可选的实施例中,上述读操作的方法具体可以包括:

第一基于分层结构的片间互联接口执行以下操作:

3A:数据包管理模块依据配置模块生成读操作包头控制字,写入数据缓冲区;

3B:高速读写数据模块从本地地址中读取操作数据,写入数据缓冲区;

3C:判断是否使能CRC,若是,数据包管理模块生成CRC冗余校验码,并写入数据缓
冲区;否则,执行步骤3D;

3D:传输事务层与数据链路层之间的数据,通过物理链路接收第二片间互联接口
反馈的CRC校验响应包,并在事务层对数据缓冲区进行读操作时,使数据链路层从数据缓冲
区读取数据;

3E:控制字管理模块为数据包添加控制字;

3F:通道管理模块依据物理通道个数配置,将控制字管理模块产生的数据分配到
所述各物理通道中,并插入数据指令标志码;

3G:数据编码解码模块将时钟信号插入数据流中,并对数据进行重新排序;

3H:数据串化解串模块将各物理通道并行慢速数据进行串化,分配到物理链路中;

第二基于分层结构的片间互联接口执行以下操作:

4I:数据串化解串模块从物理链路中读取数据,并将高速串行数据进行并行化;

4J:数据扰码解扰模块对数据链路层与物理链路之间的数据进行还原操作;

4K:控制字管理模块依据数据指令标志码剥离控制码信息,提取数据包;

4L:通道管理模块从各物理通道接收数据,并将数据进行对齐,获取有效数据包;

4M:CRC冗余码校验模块接收高速读写数据模块生成的数据包,分析包头信息,并
在使能CRC校验的情况下,对数据包进行CRC校验,并将除CRC校验码外的数据写入数据缓冲
区,以及根据CRC冗余码校验结果生成CRC校验响应包,并将CRC校验响应包反馈至第一片间
互联接口;

4N:传输数据链路层至事务层之间的数据;

4O:数据包管理模块分离数据包的包头和数据有效负载;

4P:高速读写数据模块从存储器读取数据,并写入数据包管理模块。

读操作与写操作操作流程类似,不同的是L1发送端中数据包管理模块生成的读操
作请求包,包头操作类型说明此次请求为读请求,执行写操作方法实施例中的步骤a至步骤
s,L2接收端分析此次操作类型为读请求,转向发送端,生成写操作请求和数据包,之后的步
骤与写操作方法实施例中的步骤b至步骤t相同。

下面以一优选实施例来详细说明读操作的数据传输流程。其中,缓冲区包括发送
数据缓冲区和接收数据缓冲区。

该读操作方法可以包括:

步骤1:L1事务层依据配置模块配置的寄存器生成读操作的包头信息,并存入发送
数据缓冲区;

步骤2:L1数据链路层从发送数据缓冲区中读取数据,将包头信息分配到各物理数
据通道,并依据数据包格式插入控制码;L1若长时间未收到读数据包,则中断此操作,并置
相应的传输错误标志位;

步骤3:L2数据链路层解析收到的包头控制信息,并发送至事务层;

步骤4:L2事务层依据包头控制信息进行使能或不使能CRC写操作;

步骤5:L1正确收到数据后,操作完成。

上述实施例中虽然将各个步骤按照上述先后次序的方式进行了描述,但是本领域
技术人员可以理解,为了实现本实施例的效果,不同的步骤之间不必按照这样的次序执行,
其可以同时(并行)执行或以颠倒的次序执行,这些简单的变化都在本发明的保护范围之
内。

文中涉及到的“第一”、“第二”不代表顺序,仅为区别名称而已,不应视为对本发明
保护范围的不当限定。

还应当注意,本说明书中使用的语言主要是为了可读性和教导的目的而选择的,
而不是为了解释或者限定本发明的主题而选择的。

本发明并不限于上述实施方式,在不背离本发明实质内容的情况下,本领域普通
技术人员可以想到的任何变形、改进或替换均落入本发明的保护范围。

基于分层结构的片间互联接口及其写操作和读操作的方法.pdf_第1页
第1页 / 共24页
基于分层结构的片间互联接口及其写操作和读操作的方法.pdf_第2页
第2页 / 共24页
基于分层结构的片间互联接口及其写操作和读操作的方法.pdf_第3页
第3页 / 共24页
点击查看更多>>
资源描述

《基于分层结构的片间互联接口及其写操作和读操作的方法.pdf》由会员分享,可在线阅读,更多相关《基于分层结构的片间互联接口及其写操作和读操作的方法.pdf(24页珍藏版)》请在专利查询网上搜索。

本发明公开了一种基于分层结构的片间互联接口及其写操作和读操作的方法。其中,该接口包括:事务层,被配置为从存储器搬运读或写操作的数据,并解析由数据链路层传递来的数据,并在数据链路层对数据缓冲区进行写操作时,从数据缓冲区读取数据,以及在使能CRC校验且校验正确时,从数据缓冲区读取数据;数据链路层,被配置为在事务层与物理层之间进行并行数据的拆分和组合、控制码的装配和解析,并根据物理通道数,对读或写操作的。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 物理 > 计算;推算;计数


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1