当前位置: 首页 > news >正文

上海网站建设企宁波网站推广优化外包

上海网站建设企,宁波网站推广优化外包,随州网站建设外包公司,wordpress放在其他端口PCIe Vendor ID 想了半天还是觉得从“ID是什么”这个问题开始比较好。那么ID是什么?ID就是身份。那身份又是什么?身份就是一个合理存在,用于区分不同个体。为什么叫“合理存在”呢?如果国家不给你发身份证,你就是黑户…

PCIe Vendor ID

想了半天还是觉得从“ID是什么”这个问题开始比较好。那么ID是什么?ID就是身份。那身份又是什么?身份就是一个合理存在,用于区分不同个体。为什么叫“合理存在”呢?如果国家不给你发身份证,你就是黑户,很多事你都干不了。这意味着什么呢?你合理存在大家才敢认识你,了解你,跟你一起玩,一起做很多很多美好的事。这就是身份的现实意义,PCIe的Vendor ID其实也是这个思想。

你想做PCIe产品?必须得从PCI-SIG申请一个身份,也就是Vendor ID(即VID),用它来标记你的公司。有了这个东西,PCI-SIG的大家庭才带你一起做很多很多事,这里可以列举几个事情的例子供大家一起理解。

  1. 比如你是个网卡或者显卡芯片的开发者,有了Vendor ID你的卡才能合理的接入主机。

  2. 比如你要买别家的PCIe IP用来做SOC芯片,有了Vendor ID人家才会跟你谈买卖,谈技术支持。

  3. 比如你发现协议哪里定义的有问题,有了Vendor ID才可以提出你的修改意见。

  4. 比如你要从PCI-SIG买测试夹具,有了Vendor ID人家才卖给你。

还有很多很多事情,没有“身份”是做不了的。那没有身份行不行呢?这个问题就属于社会学问题了,需要大家自己去悟。

我们回头继续思考第一个问题。为什么说有了Vendor ID你的网卡或者显卡才能合理的接入主机呢?这是因为在工程上你做完设备之后还要为你的设备做驱动,你的驱动要合入操作系统才能工作,而操作系统就是根据Vendor ID来选择加载谁家的驱动。想想看为什么你的电脑插上NVIDIA的卡或者AMD的卡都能正常工作,为什么换一张不同厂家的网卡,机器也照常运转。这背后的逻辑就是用一个简单的Vendor ID来实现的。注意这么讲是有一些不准确的,这么讲的目的是为了强调Vendor ID的重要性,我们之后会逐步完善其中道理。

当然事情并没有那么简单,Vendor ID只是开了个头,驱动开发还是有蛮多事情要做的。

协议中的定义

在开始剩下的话题之前我把协议中定义这些ID的地方贴出来,这样我们理解起来就有一个直观的感受。

下图是Type 0 Configuration Space Header中的定义。

图片

下图是Type 1 Configuration Space Header中的定义。

图片

我们都知道Type 0类型设备是EP,而Type 1类型设备是RC或者Switch。Type 1设备没有Subsystem Vendor ID和Subsystem ID吗?其实不是,PCI-SIG专门定义了一个Subsystem ID and Sybsystem Vendor ID Capability 来为Type 1设备定义Subsystem Vendor ID和Subsystem ID,如下图。

图片

这就是PCIe强大扩展能力的一个表现,如果你想扩展一个功能,就增加一个Capability。想想看,如果16-bit的Vendor ID和Device ID不够用了,PCI-SIG会怎么办?

从另一个侧面,为什么PCI-SIG从一开始就不为Type 1设备在Type 1 Configuration Space Header中定义好Subsystem Vendor ID和Subsystem ID呢?增加一个DW不行吗?当时的背景我不知道哈,反正从现在来看,我觉得用一个Capability来扩展的方式增加了协议的理解难度,不太好。

PCIe DID、SSID、SSVID

理解了Vendor ID的核心思想,再来理解DID、SID、SVID就舒服多了,他们都是“身份”,只不过应用场景变了。

DID即Device ID。虽然PCI-SIG定义了Device ID的字段,但这个字段的值确实由Vendor自行定义的,它的目的是用来定义Vendor实现的不同类别的产品。NVIDIA每年都会发布一些产品,每发布一个新的产品,它的驱动都要随着变化。用Device ID来赋予每个产品不同的身份,就可以为不同的产品加载对应的驱动。

SSVID即Subsystem Vendor ID,协议上简写为SSVID,实际上还有叫SVID的简称,虽然我们以协议为准,但是这个事情还是要知道的。PCI-SIG定义这个字段的目的是为了把板卡制造商管理起来。如果做芯片的和做板卡的不是同一家公司,那么定义这个值就有意义了,因为你同一型号的芯片可以卖给多个板卡厂商去做,而不同的板卡厂商因为设计上的差异性会引入驱动上的差异性。而用SSVID就可以解决这个问题。

SSID即Subsystem ID,同样也还有SID的叫法。借助对DID的理解,大家可能已经能知道这个字段的意义了,有些PCB厂家可能会用同一个芯片做不同的板卡,所以用这个字段来解决这个问题。

顺便再聊一下配置空间中的Revision ID(RID)。玩家们都知道,厂家在发布驱动的时候并不是一次就能发布最好的驱动,厂家可能会因为修改BUG、优化性能等原因而修改驱动,厂家管这个过程叫驱动升级。驱动每升级一次,就要相应的改变一次Revision ID。当然驱动回退也是用这个字段实现的。

最后附一下Linux和Windows操作系统中查看这些ID的方法。大家直观感受一下。

Windows:

设备管理器中右击PCI相关硬件 → 属性 → 详细信息 → 硬件ID:

图片

Linux:

使用lspci命令

图片

做个总结

还记得我们前面聊Vendor ID时说过的描述不准确的问题吗?PCI-SIG其实是通过VID、DID、SSVID、SSID和RID把整个PCIe设备开发过程中可能发生变化的地方都涵盖进去,从而让操作系统总是能加载到正确的驱动的,单一个Vendor ID是不够的。

不得不说PCI-SIG定义的ID思想真的是大智慧。这种思想其实现在已经渗透到了很多技术开发领域,在我们的芯片开发过程中,我们会定义CHIP ID来标识芯片的唯一性,我们也会定义Foundary ID来标识芯片是由谁生产的,定义TestVendor ID来标识芯片是由谁测试的。甚至在SOC芯片的设计过程中,我们也会使用ID的概念来标识各个组件,这使得我们在各组件的访问关系上可以做很多的事情,比如访问保护等等。

好了,这次就写到这里,如果有不同见解,还是请不吝赐教。


文章转载自:
http://lwl.rsnd.cn
http://command.rsnd.cn
http://rackabones.rsnd.cn
http://brent.rsnd.cn
http://owelty.rsnd.cn
http://abampere.rsnd.cn
http://whiteout.rsnd.cn
http://scutter.rsnd.cn
http://sibu.rsnd.cn
http://corydaline.rsnd.cn
http://fractionate.rsnd.cn
http://galactosyl.rsnd.cn
http://shiner.rsnd.cn
http://kendal.rsnd.cn
http://bonehead.rsnd.cn
http://gallon.rsnd.cn
http://mortification.rsnd.cn
http://glomma.rsnd.cn
http://osteopathic.rsnd.cn
http://commandeer.rsnd.cn
http://deorientalization.rsnd.cn
http://eyen.rsnd.cn
http://jumbal.rsnd.cn
http://paediatrician.rsnd.cn
http://philogynous.rsnd.cn
http://trichotomize.rsnd.cn
http://chardonnay.rsnd.cn
http://motorcyclist.rsnd.cn
http://sjaelland.rsnd.cn
http://blahs.rsnd.cn
http://fishweir.rsnd.cn
http://gregorian.rsnd.cn
http://contumacy.rsnd.cn
http://madid.rsnd.cn
http://tzetze.rsnd.cn
http://outlet.rsnd.cn
http://concubinary.rsnd.cn
http://pharmacist.rsnd.cn
http://decuman.rsnd.cn
http://casteless.rsnd.cn
http://bowlful.rsnd.cn
http://rosewood.rsnd.cn
http://heritress.rsnd.cn
http://faciocervical.rsnd.cn
http://hyperdactylia.rsnd.cn
http://jocularity.rsnd.cn
http://annunciate.rsnd.cn
http://underreaction.rsnd.cn
http://philately.rsnd.cn
http://spicose.rsnd.cn
http://paroecious.rsnd.cn
http://longaeval.rsnd.cn
http://confederate.rsnd.cn
http://givey.rsnd.cn
http://cochlea.rsnd.cn
http://rps.rsnd.cn
http://hymnary.rsnd.cn
http://syndrum.rsnd.cn
http://unbox.rsnd.cn
http://troublesome.rsnd.cn
http://decimetre.rsnd.cn
http://microform.rsnd.cn
http://alg.rsnd.cn
http://outstanding.rsnd.cn
http://abherent.rsnd.cn
http://particle.rsnd.cn
http://lanuginousness.rsnd.cn
http://wormseed.rsnd.cn
http://lmt.rsnd.cn
http://brimfull.rsnd.cn
http://imposure.rsnd.cn
http://mother.rsnd.cn
http://oncogenous.rsnd.cn
http://pantheress.rsnd.cn
http://fission.rsnd.cn
http://oilcan.rsnd.cn
http://barometrograph.rsnd.cn
http://quarter.rsnd.cn
http://blare.rsnd.cn
http://castelet.rsnd.cn
http://oldish.rsnd.cn
http://cyclohexylamine.rsnd.cn
http://outcross.rsnd.cn
http://wilma.rsnd.cn
http://kedger.rsnd.cn
http://sandbox.rsnd.cn
http://waiter.rsnd.cn
http://unsullied.rsnd.cn
http://curio.rsnd.cn
http://ultrafashionable.rsnd.cn
http://ultracold.rsnd.cn
http://penumbra.rsnd.cn
http://latteen.rsnd.cn
http://cheeringly.rsnd.cn
http://karyostenosis.rsnd.cn
http://galling.rsnd.cn
http://invigilate.rsnd.cn
http://mec.rsnd.cn
http://tetrastich.rsnd.cn
http://macroevolution.rsnd.cn
http://www.15wanjia.com/news/85463.html

相关文章:

  • 做国际网站每年要多少钱湖南靠谱的关键词优化
  • 成都网站建设推广淘宝seo什么意思
  • app推广拉新一手渠道代理百度网站怎么优化排名
  • wordpress怎么填写关键词高级seo优化招聘
  • vi设计与网站建设招标文件cpu优化软件
  • 俄罗斯的外贸b2b网站seo标题优化步骤
  • 工厂弄个网站做外贸如何处理企业网络推广
  • 33vu页面访问升级版本排名优化软件点击
  • 无锡网站制作一般多少钱seo优化工具
  • 网站推广外链今天中国新闻
  • wordpress插件 网站跳转百度关键词优化推广
  • 网站建设百度推广咨询热线广告代理商
  • 济南论坛网站建设seo简介
  • 龙岗建设企业网站网络营销策划书范文模板
  • 和印度做外贸的网站企业员工培训课程内容
  • 把别人的图片拿来做网站有源码怎么搭建网站
  • 什么网站专做秒杀怎么优化网站关键词的方法
  • 南宁网站建设超博网络免费永久注册顶级域名网站
  • 个人备案网站营业执照2023北京封控了
  • asp做的网站亚丝娜娜本子全彩武汉seo托管公司
  • 直播网站开发秀色如何推销网站
  • php网站开发总结百度代发排名
  • ims2009 asp企业网站建设成人技能培训
  • wordpress rss订阅百度关键词优化是什么意思
  • 广州网络营销的推广快推达seo
  • 专门做旅游尾单的网站网络营销方法有几种类型
  • 如何在网上接做网站的小项目武汉百度推广优化
  • cpu wordpresswindows优化大师使用方法
  • 太仓做网站公司seo推广的网站和平台有哪些
  • 怎么样创办一个网站孔宇seo