PCIE中TLP prefix的疑问

转载自http://hi.baidu.com/aihenry2980/item/02c2e1ef8b17c9265a2d64fd

这两天看PCI Expressspec有点疑问。实在很不解。

话说TLP里面含有TLP Prefix和TLP Header等等,顺序是TLPPrefix在前。

问题就是,TLP Prefix的长度和有无都是在Header中定义的,但是Header在后面,那我上哪儿找去啊。

不知道还有没有别的协议这么搞,把至高无上的Header放到中间去。

已经给PCISIG写信了,看下周能不能回复。


下班前跟崔责任讨论了一下,她找了点别的资料,然后俺对照着一看,就明白了。这个spec写的太误导了。

一开始spec说header里面如果前三位(fmt field)是100的话,那么前面有prefix的存在。那么prefix到底有几个不知道。

后来看了另一个pdf,才发现,原来prefix本身也有fmt field,而且里面写着100,所以寻找header的方法就是如果某个DW的第一个byte的最高三位不是100,那么这个就是header了。太坑爹了。害的我看了这么久spec不知所云。


另外我比较好奇的是,干嘛搞这么多需要判断的长度,固定下来多好,跟数据相比也就千分之一的浪费,但是电路可以简单一些,而且我看的大部分协议都是留出空位节省判断的逻辑。

你可能感兴趣的:(PCIE中TLP prefix的疑问)