×

基于自动演绎和决策过程的位级流水线机器验证框架。 (英语) Zbl 1113.68091号

摘要:我们描述了一种结合演绎推理和决策过程验证位级流水线机器模型的方法。虽然理论证明系统(如ACL2)已用于验证位级设计,但它们通常需要广泛的专家用户支持。决策过程,如在UCLID中实现的决策过程,可以用于自动有效地验证术语级流水线机器模型,但这些模型使用了许多抽象,实现了指令集的子集,并且远不能执行。我们表明,通过将UCLID与ACL2理论证明系统集成,我们可以使用ACL2将可执行的位级机器优化其指令集结构的证明简化为位级机器的术语级抽象优化指令集结构,然后由UCLID自动处理。我们通过将其应用于验证一个复杂的、七段式、位级接口流水线机器模型来证明我们的方法的效率,该机器模型实现593条指令,并具有分支预测、异常和谓词指令执行等功能。使用UCLID不可能进行这样的证明,并且仅使用ACL2将需要付出更大的努力。

MSC公司:

68吨15 定理证明(演绎、解析等)(MSC2010)
60年第68季度 规范和验证(程序逻辑、模型检查等)
PDF格式BibTeX公司 XML格式引用
全文: 内政部

参考文献:

[1] Andraus,Z.S.,Sakallah,K.A.:Verilog模型的自动抽象和验证。收录:Malik,S.、Fix,L.、Kahng,A.B.(编辑)设计自动化会议——DAC’04,第218–223页(2004)
[2] Arons,T.,Pnueli,A.:推测指令执行的两种验证方法的比较。在:系统构建和分析的工具和算法-TACAS’00,LNCS第1785卷,第487–502页(2000)·Zbl 0971.68576号
[3] Bentley,B.:验证Intel Pentium 4微处理器。摘自:第38届设计自动化会议——DAC’01,第253-255页(2001)
[4] Bentley,B.:验证现代微处理器。查看URLhttp://www.cav2005.inf.ed.ac.uk/bentley_CAV_07_08_2005.ppt (2005) ·兹比尔1081.68609
[5] Bevier,W.R.,Hunt,Jr.,W.A.,Moore,J.S.,Young,W.D.:系统验证方法。J.汽车。原因。5(4), 411–428 (1989)
[6] Boyer,R.S.,Moore,JS.:将决策过程集成到启发式定理证明器中:线性算法的案例研究。摘自:机器智能11,第83-124页。牛津大学出版社(1988)·Zbl 0678.68091号
[7] Brock,B.,Hunt,Jr.,W.A.:正式指定和机械验证摩托罗拉复杂算术处理器DSP的程序。1997年IEEE国际计算机设计会议,第31–36页(1997)
[8] Browne,M.,Clarke,E.M.,Grumberg,O.:表征命题时间逻辑中的有限Kripke结构。西奥。公司。科学。59 (1988) ·兹比尔0677.03011
[9] Bryant,R.E.,German,S.,Velev,M.N.:在具有未知函数的平等逻辑中利用正平等。收录:Halbwachs,N.,Peled,D.(编辑)《计算机辅助验证-CAV’99》,LNCS第1633卷,第470-482页(1999)·Zbl 1046.68584号
[10] Bryant,R.E.,Lahiri,S.K.,Seshia,S.:使用带有lambda表达式和未解释函数的计数器算术逻辑对系统进行建模和验证。In:Brinksma,E.,Larsen,K.(编辑)计算机辅助验证-CAV’02,LNCS第2404卷,第78–92页(2002)·Zbl 1010.68522号
[11] Burch,J.R.,Dill,D.L.:流水线微处理器控制的自动验证。在:计算机辅助验证–CAV’94,LNCS第818卷,第68–80页(1994)
[12] Clark,L.、Hoffman,E.、Miller,J.、Biyani,M.、Liao,Y.、Strazdus,S.、Morrow,M.,Velarde,K.、Yarch,M.:用于低功耗和高性能应用的嵌入式32位微处理器核心。IEEE J.固态电路36(11),1544–1608(2001)·数字对象标识代码:10.1109/4.962279
[13] de Moura,L.:Yices主页。查看URLhttp://fm.csl.sri.com/yices网站 (2005)
[14] Ganzinger,H.、Hagen,G.、Nieuwenhuis,R.、Oliveras,A.、Tinelli,C.:DPLL(T):快速决策程序。In:Alur,R.,Peled,D.(编辑)计算机辅助验证–CAV’04,LNCS第3114卷,第175-188页(2004)·Zbl 1103.68616号
[15] Greve,D.,Richards,R.,Wilding,M.:内在分区验证概述。参加:第五届ACL2定理证明器及其应用国际研讨会(2004年)
[16] Greve,D.、Wilding,M.、Hardin,D.:高速可分析模拟器。收件人:Kaufmann,M.,Manolios,P.,Moore,JS。(编辑)计算机辅助推理:ACL2案例研究。Kluwer,第113-135页(2000年)
[17] Hosabettu,R.,Srivas,M.,Gopalakrishnan,G.:分解成堆微处理器的正确性证明。In:Hu,A.J.,Vardi,M.Y.(编辑):计算机辅助验证-CAV’98,LNCS第1427卷(1998)·Zbl 1046.68595号
[18] Hosabettu,R.,Srivas,M.,Gopalakrishnan,G.:使用完成函数方法证明具有重排序缓冲区的处理器的正确性。In:Halbwachs,N.,Peled,D.(编辑)《计算机辅助验证——CAV’99》,LNCS第1633卷(1999年)·Zbl 1046.68595号
[19] Hunt,Jr.,W.A.:微处理器设计验证。J.汽车。原因。5(4), 429–460 (1989)
[20] Hunt,Jr.,W.A.:FM8501:经验证的微处理器,第795卷。施普林格,柏林-海德堡-纽约(1994)
[21] Jouannaud,J.-P.(编辑)《函数编程语言与计算机体系结构》,第201期。法国南希(1985)·Zbl 0566.00026号
[22] Kaufmann,M.,Manolios,P.,Moore,JS。(编辑):计算机辅助推理:ACL2案例研究。Kluwer(2000年a)
[23] 考夫曼(Kaufmann,M.)、马诺里奥斯(Manolios,P.)、摩尔(Moore,JS.):计算机辅助推理:一种方法。Kluwer(2000年b)
[24] 考夫曼,M.,摩尔,JS.:ACL2主页。查看URLhttp://www.cs.utexas.edu/users/moore/acl2 (2004)
[25] Kroning,D.:流水线微处理器的正式验证。萨尔兰德大学博士论文(2001年)
[26] Lahiri,S.、Seshia,S.和Bryant,R.:使用UCLID对无序微处理器进行建模和验证。在:计算机辅助设计中的形式化方法-FCAD'02,LNCS第2517卷,第142-159页(2002)·Zbl 1019.68623号
[27] Lahiri,S.K.,Seshia,S.:UCLID决策程序。In:计算机辅助验证-CAV’04,LNCS第3114卷,第475–478页(2004)·Zbl 1103.68628号
[28] 兰丁,P.J.:表达式的机械评估。计算。J.6(4),308–320(1964)·Zbl 0122.36106号
[29] Manolios,P.:流水线机器的正确性。摘自:Hunt,Jr.,W.A.,Johnson,S.D.(编辑)《计算机辅助设计的形式方法——FMCAD'00》,LNCS 1954年卷,第161-178页(2000)
[30] Manolios,P.:反应系统的机械验证。德克萨斯大学奥斯汀分校博士论文。查看URLhttp://www.cc.gatech.edu/\(\sim\)manolios/publications.html·Zbl 1179.68088号
[31] Manolios,P.:分支时间细化的合成理论。收录于:Geist,D.,Tronci,E.(编辑)第12届IFIP WG 10.5高级研究工作会议–CHARME’03,LNCS第2860卷,第304–318页(2003)·Zbl 1179.68088号
[32] Manolios,P.,Srinivasan,S.:使用WEB改进对类XScale处理器模型的安全性和活跃性进行自动验证。In:欧洲设计自动化和测试–2004年,第168-175页(2004a)
[33] Manolios,P.,Srinivasan,S.:基于细化的处理器验证中出现的一组硬ACL2定理。收录于:Kaufmann,M.,Moore,J.S.(编辑)第五届ACL2定理证明器及其应用国际研讨会(ACL2-2004)。请参阅URLhttp://www.cs.utexas.edu/users/moore/acl2/workshop-2004/(2004年b)
[34] Manolios,P.,Srinivasan,S.:用于有效验证流水线机器的完整组合推理框架。摘自:2005年国际计算机辅助设计会议,第863-870页(2005a)
[35] Manolios,P.,Srinivasan,S.:用于有效验证处理器模型的优化映射。In:欧洲设计自动化和测试–2005年,第1304–1309页(2005b)
[36] Manolios,P.,Srinivasan,S.:验证具有位级接口的可执行流水线机器。摘自:2005年国际计算机辅助设计会议,第855-862页(2005c)
[37] Matthews,J.、Vroon,D.:ACL2中的部分时钟功能。收录于:Kaufmann,M.,Moore,J.S.(编辑)第五届ACL2定理证明器及其应用国际研讨会(ACL2-2004)。查看URLhttp://www.cs.utexas.edu/users/-moore/acl2/workshop-2004/ (2004)
[38] Milner,R.:沟通与并发。普伦蒂斯·霍尔,恩格伍德悬崖,新泽西州(1990年)·Zbl 0683.68008号
[39] Moore,J.S.:归纳断言和操作语义。摘自:关于正确硬件设计和验证方法的高级研究工作会议——CHARME'03,计算机科学讲稿第2860卷,第289-303页(2003)·Zbl 1179.68089号
[40] Namjoshi,K.S.:口吃双刺激的简单表征。In:第17届软件技术和理论计算机科学基础会议,LNCS第1346卷,第284-296页(1997)
[41] Reynolds,J.C.:高阶编程语言的定义解释器。高阶和符号计算11(4),363–397(1998)。转载自第25届ACM全国大会(1972年)会议记录,附前言·Zbl 0934.68034号 ·doi:10.1023/A:101027404223
[42] Russinoff,D.M.:AMD-K7浮点乘法、除法和平方根指令的寄存器传输级规范符合IEEE的机械检查证明。LMS J.计算。数学。1, 148–200 (1998) ·Zbl 0910.68008号
[43] Russinoff,D.M.:AMD-K5浮点平方根微码正确性的机械检查证明。形式方法系统。设计。14, 75–125 (1999) ·doi:10.1023/A:1008669628911
[44] Ryan,L.:围攻主页。查看URL网址:http://www.cs.sfu.ca/\(\sim\)洛扬/个人
[45] Sawada,J.:使用级数计算对除法和平方根算法进行形式验证。摘自:Kaufmann,M.,Moore,J.S.(编辑)2002年美国公民自由联盟研讨会论文集(2002年)
[46] 半导体工业协会:国际半导体技术路线图。查看URLhttp://public.itrs.net/ (2004)
[47] Seshia,S.,Lahiri,S.,Bryant,R.:UCLID 1.0版用户指南。查看URLhttp://www.cs.cmu.edu/ucId/userguide.ps(2003年a)
[48] Seshia,S.A.、Lahiri,S.K.、Bryant,R.E.:一种基于SAT的混合决策程序,用于具有未知功能的分离逻辑。In:设计自动化会议–DAC’03,第425-430页(2003b)
[49] Smith,S.、Perez,R.、Weingart,S.和Austel,V.:验证高性能、可编程安全协处理器。参加:第22届国家信息系统安全会议(1999年)
此参考列表基于出版商或数字数学图书馆提供的信息。其项与zbMATH标识符进行启发式匹配,可能包含数据转换错误。在某些情况下,zbMATH Open的数据对这些数据进行了补充/增强。这试图尽可能准确地反映原始论文中列出的参考文献,而不要求完整或完全匹配。