[FPGA 实现及PCIe IP 核知识点] 读PCIE spec千百遍,她却视我如初见!第一回书-FPGA常见问题社区-FPGA CPLD-ChipDebug

[FPGA 实现及PCIe IP 核知识点] 读PCIE spec千百遍,她却视我如初见!第一回书

缘起:人无完人金无足赤,做任何事情如果你需要等到100%准备好了才去做,可能就已经“迟了”。一个好的想法一旦有了,只要这个想法能够执行,那就在准备到70%的时候义无反顾的去做,“摸着石头过河”“在错误中不断总结完善”。基于以上,我们在2020年年初推出《PCIE传奇》系列文章,目的是希望分享我们在学习PCIE spec过程中总结出来的经验,抛砖引玉,从而和有志于学习探索PCIE协议知识的“有缘人”一起学习共同进步!大家在阅读中有发现错误请不吝赐教,对文中的错误给予斧正。因为做技术的人就是这么“较真”“不是0就是1”“容不下差不多”“容不下可能是”——工程师就是一个侦探就是要还原真相锁定真因获得真理!

前 言

“书读百遍其意自现”,难道真的读上一百遍,一千遍就能领悟书中的含义?当今“快餐式技术工作者”要读的书,要研究的技术资料,要面对的技术问题数不胜数,项目的进度,生活的压力,让你也许没有太多的时间真正去读上一百遍(哈!哈!哈!)。但每个从事x86技术工程师每天或多或少将要面对PCIE相关的技术问题,因为PCIE是x86平台上使用最广泛的技术标准之一,不管是笔记本,台式机,服务器都会使用到PCIE设备,那一旦PCIE设备识别不了该怎么分析?PCIE设备使用过程中出现报错并造成系统死机怎么办?

如果你没有细读并理解PCIE spec,能够做的检查可能是局限于外观有没有损坏?供电是否正常?上电时序是否正确?100M时钟是否有输出?一旦这些排查完没有发现问题那该怎么办?可能剩下就是感到茫然无措,不知下一步该从哪里入手?(书到用时方恨少!

要是你精读并理解参悟了PCIE spec,那么你在面对PCIE相关问题的时候,你必将是气定神闲,分析思路思如泉涌,制定的试验方案各个都有的放矢,结合一个个精准设计的实验,最终快速准确的锁定问题点,最终找到真正的根本原因,而不是做了某个操作后问题现象就不见了,但真实原因却不知道,要么是迫于产品进度压力,通过简单粗暴的测试通过之后就把其作为解决方案,我想您心里一定不会踏实。现真相,定真因,得真理才是我们的终极目标!
PCIE spec如此重要,往大了说它推进x86技术不断向前发展,往小了说学会了PCIE spec可保工程师“安身立命,衣食无忧”

一份SPEC每个工程师去读都会有自己的理解,有深有浅,有对有错,有看天书似的茫然,有冥思苦想不得其解的苦闷,有豁然开朗柳暗花明的喜悦,而最-最–最关键的是利用自身所掌握的知识解决工作中的问题,同时得到认可时的成就感!( 年终KPI得分保住了!

PCIE spec既然这么重要,大家可能又真没有太多时间去精读,作为在x86业界摸爬滚打十多年的我毛遂自荐,将本人读PCIE spec(一遍遍锤炼,用一个个实际遇到的问题来印证PCIE原理)后的领悟分享给大家,并在接下来的系列文章《PCIE传奇》中谈谈PCIE spec怎么学习,真不是读上一百遍,一千遍就能从量变上升到质变,但我们总结出来的学习方法,在很多工程师身上已经得到论证,只要按照我们的方法,并积极在公众号上与我们进行互动讨论,通过我们为大家答疑解惑,从而能够帮助大家在短时间内抓住重点,能更加有针对性的应用到实际工作中去,并快速定位和解决正在面对和未来即将要面对的PCIE相关问题。

临渊羡鱼不如退而结网,学习的痛苦是短暂的,但是不学习的后果是足以毁灭自身前程的。接下来我和大家一起走出这艰难而坚定的第一步,这是学习PCIE的一小步,但却是改变技术工程师重新审视技术问题的一大步,从我们总结出来的学习经验来看,用提炼出来的最优的学习思路和方法可以最快获得“核心技术能力”和学习核心技术能力的方法。

我们文章的目的就是要能真正运用到实际工作中,指导解决实际工作问题,提升工作效率。就是要让你从文章中获得“实战的技能”,真正做到是学以致用,只有这样才是真正帮助到大家!

“九阴真经”是顶级武功秘籍,金庸大师告诉我们正着练或倒着练都能练成绝世武功,但是谁都想练成郭大侠,而不想练成“蛤蟆功”。所以我们一定要掌握正确的方法,才能得到最佳的结果。
PCIE spec这本书很厚,语言精炼,前后关联逻辑性很强,为了便于大家快速融入接下来的学习进程当中来,我们思考后决定把它分成两个级别:

第一个级别,构建一个浅一点便于理解的课程,帮助大家打好基础(带着大家健步走),从而帮助读者快速从零基础逐步提升。

第一阶段每章的学习重点,学习范围和知识点我们会在分享中划定。

每个章节的知识点会在分享的时候涵盖大概60%至70%,剩下的知识点以及部分的知识点会以题目形式放在每次分享的后面,但不会提供答案。鼓励读者自己在阅读的时候记录自己提出的问题以及答案,不确定的答案和同事讨论后可以发给我们,我们会精选部分经典问题进行回答。

第二个级别,构建一个深一点进阶升级的课程,从而促成大家“青出于蓝而胜于蓝”,至此你就已经或多或少成为了一个PCIE 的“专家”。

这样,不论是在公司内部还是面对外部客户你都可以充分展示你在这个方面的技术能力,让老板和同事为你投来赞许的目光,赢得客户对你和你所在公司技术能力上的认可,技术上的认可,必将赢得客户的信任,客户的信任就会帮助公司市场部门赢得更多的产品订单。( 工程师为荣誉而战!)

为了实现第一个级别的目标,从26遍PCIE spec的学习理解中总结了一个最优方案,大家一旦执行这个方案,充分融入这个学习进阶之路后,可以快速掌握—能够立即应用到实际工作中去的技能,因为我们已经帮助大家先暂时屏蔽了一些纯理论推演层面的知识,先掌握的知识一定是可以学以致用到实际工作中的“精华”。为此建议大家将这些暂时屏蔽的知识点先把他当成是一个黑盒子,知道对其输入什么后将会输出什么即可。黑盒子的原理我们会在第二个深一点的课程里为大家揭秘( 不及跬步无以至千里!我们夯实基础从现在开始!)。

问:准备好了吗!
答:时刻准备着!

接下来我们就开始第一个级别的课程了。一万年太久我们只争现在!

**莫等闲,白了少年头空悲切!

安静!安静!安静啦!“哐啷”一响,闲言碎语不要讲!**

大型技术类章回体《PCIE传奇》从这一刻开始脱颖而出.

一:选“剑”(Gen)

PCIe不停的在发展,速度越来越快,从Gen1的2.5GT/s,到后来Gen2的5GT/s,Gen3的8GT/s,再到后来的Gen4,Gen5,Gen6….那我们从哪个“剑”开始学起呢?

1.jpg

2.jpg

结合目前的主流是PCIE Gen3 所以我们决定从“剑3”学起,因为他处于承前启后的关键位置,一旦我们将其推通,即可打通PCIE的“任督二脉”,后续再来学习G4/G5/G6就有了扎实的基础,可以快速融会贯通,一通百通。
目标明确了,接下来,就要打开锦盒有请“武功秘籍”现真身,请大家各自去下载《PCI Express Base Specification Revision 3.xx》,让它常伴你左右,用心去读它,去领悟它。
记住:从这一刻开始就开始的技术修行,修行是一种磨练。

泰戈尔曾说过:你今天受的苦,吃的亏,担的责,忍的痛,到最后都会变成光,照亮你前进的路。

3.jpg

对于后续的学习建议如下,请大家谨记在心:

学习精读的宝典唯一有且只有:

《PCIExpressBaseSpecification Revision 3.xx》

可以在遵守第一条准则的情况下去参考一些网络上的文章,从而帮助大家调节学习过程中的枯涩感。

推荐大家可以看一下网上有关MINDSHARE介绍PCIE的文章。

4.jpg

“哐啷”一响,请听下回分享!

请登录后发表评论

    没有回复内容