想成为延锋科技的软件工程师先读懂了这篇再

北京哪家医院治疗白癜风最权威 http://www.bdfyy999.com/

芯片间通信,又称核间通信、Inter-Processor-Communication-Layer(IPCL),是两块芯片、两个大脑进行沟通、交流、说话的桥梁。提到“说话”一词,或许会有读者微微一笑,上前一步质问我道:“让两人在一起沟通交流有何难处,何必在此多费笔墨?”此言差矣,君不见“车鸣人嘶”的上海街头,一河南人向上海人问路,若都说各自方言,则双方必然摇头摆手不断,答非所问,同胞之间的隔阂,实甚于异族。若都说普通话,则北至漠河的北极村,南到海南岛的海角天涯,“天下之大,任君遨游”了。

在普通话的支持下我们可以畅游祖国青山丽水、大好河山,而要让来自世界各地的两块芯片坐在一起畅快沟通、互通有无则需要为其制定一套双方共同遵守、稳定可靠的IPCL通信协议了。

IPCL

IPCL协议是自创的吗?笔者才疏学浅,还未达到独树一帜、自创协议的境界。常听说“天下文章一大抄”,可下里巴人的程序员生性腼腆,抹不开面子,即使偶尔一抄,也抄不出天衣无缝,令人拍案叫绝的好文章。于是只能退而求其次,走“参考、借鉴”这条路。而IPCL又参考借鉴于谁,抱谁之大腿呢?这就要从开源软件里找目标了。

如今的开源软件异常繁荣,勤劳的工程师们犹如正值壮年的母鸡大嫂,加班下蛋,不舍昼夜。下蛋之后,还要绕蛋三匝,然后扯开嗓子大喊“咯咯哒”,以引起其他母鸡们的羡慕与围观!君若不信,请进入开源社区一看,林立的软件真如沙滩美腿,美不胜收!可这些“美腿”只能远观,而不能大抱。倘若一时糊涂,抱了其腿,就要收到license的紧箍咒了,那时只能自拍大腿,悔之晚矣。

然而,反观当前常用的通信协议中,比如CAN,LIN,BT抑或UFS,在协议分层结构上,哪一个没有参考TCP/IP协议呢?阿Q曾欺负小尼姑说“哼,和尚摸得,我就摸不得?”。因此,我也对TCP/IP说:”哼,你腿别人能抱,我也要抱“。

下图便是IPCL协议与TCP/IP协议之间的区别。IPCL协议共分为三层,从下往上依次为物理层、数据链路层和IO层。

物理层

空气是声音的载体,纸张是文字的载体,而物理层就是芯片间流动的信息的载体。空气的流动,纸张的破坏可能导致声音文字在传播中产生错乱或丢失。同样的,物理层介质的好坏或工作环境的干扰也会使信息出现错乱,总之,在物理层上传输的数据是不可靠的。

数据链路层

物理层收到的数据往上递交给数据链路层。由于物理层的不可靠,链路层就要完成数据的差错检验、重传等机制,以实现数据的可靠传输。

举个浅近的例子。一次与我们的客户朋友通过



转载请注明地址:http://www.henanledxianshiping.com/jwrjgcs/20782.html
  • 上一篇文章:
  • 下一篇文章: 没有了