计算机IO协议扫盲之一

此文总结了我对IO的看法。如果有看不明白或者不对的地方,欢迎提出来。我的目标是让计算机本科毕业生能看懂。

首先,什么是IO。一般来说,IO是指对计算机外部设备的访问方式,跟内存访问相对应。但是在当今的计算机系统上,访存和访问IO的界限越来越模糊。如果按照访问速度界定的话,DDR3内存访问数据率最高1600Mbps每线,远比不上PCIe3的8Gbps。按照数据宽度,DDR3可以有64根数据线,PCIe也可以支持16对差分线。按照程序访问方式,内存可以直接按地址读写或者DMA,PCIe的数据区在内存映射后也一样。按照物理层连接方式,新一代的DDR4同时支持并行和高速串行差分线,更说明访存和IO在融合。

所以,我自己对IO重新做了一个定义:把所有连出芯片的管脚称作IO,而芯片内部连接各个模块的信号称作互连。这么分基于一个信号完整性的经验原则,即在高速电路中,当传输的距离和波长可比拟(差10倍)的时候,我们就不应该把信号仅仅看做逻辑0和1,而是需要考虑其模拟特性。最明显的一个特性是信号反射,也就是说整个线路必须保持阻抗一致,不然在阻抗变化的地方,会有类似波的反射,和之前的波叠加,信号振幅在全反射时乘以2。这样就很难判断是0还是1。

按照这个原则,在芯片内部,如果时钟是3GHz,那么波长是零点1米(假设以光速传播,实际上肯定不到)。在22nm工艺下,一个指甲大小的芯片可以包含10亿个晶体管(单层),晶体管之间的信号平均传输距离是三百万分之一米。波长和传输距离差三十万倍。就算是芯片内部模块间的信号,长度也应该在几个毫米以下。我曾经听到有人把AMD的处理器超频到8Ghz仍然可以工作,说明在波

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值