诊断之美-诊断层次

来源:互联网 发布:手机淘宝怎么免费注册 编辑:程序博客网 时间:2024/04/28 02:38

    这一段主要讲述诊断的其余几层:芯片互连层,数据通路层,大数据流量层,压力测试层。
  
  首先是芯片互连层。
  芯片连接的方式有哪几种?主要是总线,简单直连和串并转换连接。
  
  对于第一种连接,通常会传送两种信息:数据和控制信息。控制信息我们在做寄存器测试的时候就已经诊断过。对于数据,我们在对芯片做主要特性诊断的时候也会涉及到。值得注意的是,总线控制器本身也是一个芯片,也可以被诊断。当然,如果是个人电脑上的PCI总线出现问题,那么诊断所要求的最小集合就不存在了。
  
  简单直连在大型系统上不太多见。多是一些控制信息,或者小流量的数据。我们可以在这两个设备间发送数据,然后进行比较,来判断哪条线有问题。如果芯片设计的完善,也可以观察计数器,状态寄存器,中断信息等。
  
  串并转换连接很常见。举一个例子,在路由器上,物理层处理芯片和数据链路层处理芯片之间信号会通过串并转换器被接受。为了诊断这些高速连接信号线,硬件集成了内建自检芯片,并对外提供统一接口。我们可以调用这些接口来完成诊断工作。
  
  接下来是数据通路层。
  
  在前面两层中,我们已经确认了各个芯片及其连接是完好的,那就可以试着看看数据是不是可以在系统中流动了。这里所说的数据并不是用处理器去访问和控制一个某个芯片,而是硬件系统所要处理的真正的业务数据流。这些数据流可能从网络接口进入系统,经过处理后,再经由网络接口流动出去。通常我们会选择一种最简单的业务模式,配置这个模式中所涉及的各个芯片,然后开始接受初始数据。如果在出口处收到了预期的数据,那么我们就成功了。如果得不到数据,那就要利用预先设计好的每个芯片上的计数器,状态寄存器和中断来看是不是和预期值一致,最终定位问题所在。这一层工作的完成通常是系统调试阶段的一个里程碑,但是我们很难给出一个通用诊断模型,只能靠工程师根据不同的硬件系统去开发了。
  
  接下来是大流量数据诊断。
  有了上一层的基础,我们可以开展更加细致的工作。通常硬件系统会有一些机制来处理业务流量过大的情况。在这一层,我们要模拟实际数据流,尽量触发这些机制,看他们是不是达到了预期效果。拿路由器来说,我们需要看的机制有刹车,丢包,停顿等。我们可以逐渐增加流量,看看到达瓶颈的是哪个模块,是不是达到最大数据处理速度,丢包率是不是在预期内。这一层做好了,诊断的价值能更上一层楼。同样,在这一层,我们很难给出一个通用诊断模型。
  
  最后是压力测试。在不同的电压,温度和湿度下,长时间运行诊断系统,看看哪里会出现问题。由于最终制造出来的业硬件总会存在个体差异,而这些差异造成了在不同的环境参数下的不同诊断表现。我们可以借此得到各个参数的范围矩阵。对于新制造的产品,可以在这个范围内去调整参数。
  
  至此,诊断流程和层次全部结束。接下去要开始讨论我构想中的诊断平台和构架了。其中会借鉴公司诊断系统的经验,也会提到我自己的看法与改进。

 

原创粉丝点击