现代处理器验证技术:现状与未来挑战
1. 处理器验证的历史与现状
自上世纪70年代以来,摩尔定律推动着芯片密度不断攀升。以奔腾4处理器的验证为例,其验证工作面临着巨大挑战。奔腾4验证项目在芯片制造前的验证(Pre - silicon validation)中,不仅采用了模拟技术,还开创性地广泛运用形式验证技术,但由于设计规模庞大(包含4200万个晶体管),形式验证仅应用于浮点单元和解码逻辑等关键模块。
在奔腾4的验证过程中,不同的验证方法发挥了不同的作用:
- 形式验证 :虽然能发现一些关键的隐藏错误,如一个发生概率为1 / (5 * 10^20) 的浮点指令错误,但由于仅针对少数关键模块,发现的错误数量较少,约占芯片制造前总错误的6%。
- 基于模拟的验证 :通过集群级随机测试和定向汇编级测试发现了大量错误。随机测试利用伪随机测试生成器(RTGs)产生各种有效的指令流,对系统进行压力测试,发现了7855个错误中的3411个;定向汇编级测试超过12000个,发现了超过2000个错误。
另外,奔腾4的制造后验证(Post - silicon validation)阶段虽然只有十个月,但芯片执行的周期数比制造前三年的努力还要多。不过,这一阶段不仅需要大量的时间和工程人力,还需要高昂的设备成本,如构建和调试专门的内部测试与分析平台,购买测试模式生成器、光学探测仪和逻辑分析仪等。
2. 处理器设计的发展趋势
从2000 - 2008年期间开发的处理器设计特征(如下表所示)可以看出,自第一款奔腾4处理器发布以来,处理器的复杂度至少提高了一个数量级。 <