一、IA-64微处理器与HP高性能服务器体系结构(论文文献综述)
彭圳生,段妍羽,王赟[1](2017)在《主流处理器架构及英特尔微架构发展分析》文中研究表明英特尔处理器已经发展成为使用最广泛的一种处理器,CPU最重要的基础是CPU架构,本文基于CISC和RISC两种体系结构介绍了几种主流处理器架构,并以英特尔为例,分析了处理器微架构的发展。
秦磊[2](2010)在《面向安腾2处理器的故障注入工具设计与实现》文中认为如今计算机系统已经在一些关键的行业(如民航订票系统、银行结算系统、证券交易系统等)得到广泛应用,这些计算机系统可靠稳定的运行起着非常关键的作用。在这些领域的高端容错服务器中,安腾家族处理器因其主要面向关键任务和数据密集型计算市场,常常是其首选。Intel宣称,全球电信运营商百强企业中已有八十家部署了安腾服务器。因此,面向安腾服务器的可靠性评估与测量是非常有意义的。本文采用基于故障注入的方法实现对系统可靠性的评估,即使用软件或硬件方法向系统注入故障,观察系统在模拟真实故障下的表现达到对容错性能评估的目的。首先对国内外各种故障注入方法和工具进行了研究和分析,然后根据安腾服务器的软硬件特点,设计并实现了一种操作系统层模拟处理器故障注入工具,可以向目标处理器运行关键的50个寄存器注入固定0、固定1以及翻转等多种故障模型,可通过设置永久、瞬时、间歇等时间类型来控制故障的持续时间和注入频率。操作系统层模拟的处理器故障注入虽能在一定程度上模拟处理器的一些故障,但其不能深入处理器内部结构,故而无法做到对处理器的一些内部结构独立测试,且模拟的故障也不够贴近真实。因此本文又开发了固件层处理器故障注入工具,故障注入基于IA-64架构处理器提供的固件实现,可向目标处理器注入处理核心失效、Cache、TLB、Register File各结构机器检查错误,Cache内容失效等一系列故障。最后通过一系列实际故障注入实验,证实了本文设计的两种面向安腾2处理器的故障注入工具的有效性,并指出其在评测系统可靠性方面可发挥的重要作用。
卢洪虎,马卓杰,林红军[3](2006)在《IA-64采用的断定技术》文中进行了进一步梳理I:ntel的64位体系结构是真正的64位计算环境。传统体系结构中处理分支时,存在着时间和功能部件利用的浪费。IA-64体系结构采用了断定的技术,它通过提前运行各个分支,然后根据需要取定一个值,使得整个系统的运行速度得到提高,增加了处理器的并行处理能力。断定技术能成功地消除大部分的转移,减少错误预告。
齐宁[4](2006)在《静态二进制翻译中基于软件规范的函数识别及恢复技术研究》文中研究说明二进制翻译技术是解决软件移值问题的重要手段,在遗产代码移植、程序优化、系统安全等方面都有着重要的意义,已经成为现代编译技术研究热点之一。由于静态二进制翻译技术在理论和实践上都尚未成熟,当前关于二进制翻译技术的研究主要围绕动态和动静结合的路线展开,纯静态二进制翻译技术亟待提高。 本文首先综述了二进制翻译的研究现状及其基本方法,然后分析了静态二进制翻译技术的传统难点以及由新的体系结构IA-64带来的新的困难,在对IA-64体系结构软件规范的分析基础之上,探讨了如何将软件规范应用到静态二进制翻译中,并以我们设计实现的静态二进制翻译系统ITA为实验平台,提出了若干算法和方法来解决静态二进制翻译中同函数识别和恢复相关的难点问题。测试实验证明,通过在静态二进制翻译过程中利用软件规范,能够较好地解决静态二进制翻译的若干关键问题。 本文的主要贡献如下: 1.分析了IA-64体系结构及编译技术方面的新特性,研究了这些新特性对静态二进制翻译带来的影响。 2.实现了静态二进制翻译系统ITA,对静态二进制翻译方法进行了深入地探索,为进一步研究二进制翻译技术搭建了有用的实验平台。 3.提出了ELF64文件主入口点定位算法。该算法基于ELF64文件的加载机制,通过对start例程及libcstartmain函数的参数约定分析,不需要查找符号表,即可自动分析和确定ELF64可执行文件的main()函数入口。 4.提出了IA-64动态链接库函数调用恢复算法。该算法从IA-64的动态链接机制入手,通过分析ELF64二进制文件中的多个段之间的联系,结合函数调用地址来识别所调用库函数的函数名。 5.提出了一种过程识别算法。该算法根据惰性执行原理,推迟过程识别时机,解决了icc编译器生成的二进制代码中某些过程识别与恢复问题。 6.提出了最大化参数列表方法以恢复用户自定义可变参数列表函数,解决了某些用户自定义可变参数列表函数的静态识别与恢复问题。 7.研究了数学函数内嵌优化的翻译问题,设计并实现了一种基于内嵌代码识别路径的自动恢复算法。测试表明算法能够解决对应的函数识别与恢复问题。
陈岚[5](2005)在《基于硬件性能监视的性能测试误差分析技术》文中进行了进一步梳理作为解决大规模计算问题的重要手段,高性能计算越来越广泛地应用到科学与工程的各个领域。随着高性能计算的发展,各种高性能计算机不断涌现并得到广泛发展,机器的峰值性能不断提高。但是,实际应用程序获得的持续性能并未随着机器峰值性能的提高而同比例提高,两者的差距日益扩大。对程序进行性能优化是解决该问题的有效途径之一。它的第一步工作——程序性能测试通过理解程序行为,来识别程序性能瓶颈,以了解软/硬件资源利用情况和程序对机器性能的发挥程度。程序性能测试在整个性能优化过程中发挥着重要的作用。在目前已经存在的各种性能测试方法中,基于硬件性能监视的性能测试方法以其具有收集到的微体系结构级性能数据丰富、可靠,对被测系统的干扰小,收集速度快,系统开销小等优点,逐渐受到学术界和工业界的关注。分析该方法收集的性能数据,不仅能够指导性能测试软件的设计,优化性能测试方法,而且有利于提高程序性能和更高效地利用系统资源。然而,却存在很多干扰源影响着该过程,使收集到的性能数据中存在较大误差。因此,对基于硬件性能监视的性能测试数据进行深入研究和分析很有必要。本文以减小测试过程中干扰源的影响程度,获得更可靠、更准确的性能数据为根本目标,对基于硬件性能监视的性能测试过程进行了深入地研究,主要包括以下研究工作:(1)以IA-64处理器为例,研究了性能监视硬件的底层实现和功能,并重点研究了IA-64处理器上较其他处理器先进的硬件性能监视机制,包括程序计数器采样、周期统计、失效事件地址采样和事件限制。(2)分析并验证了各个层次上影响基于硬件性能监视的性能测试的干扰源或误差源,包括性能监视硬件本身、性能测试软件本身、不同的性能数据获取方法、运行环境中其他任务的干扰、硬件计数器复用引入的统计误差、导出性能数据时引入的计算误差。(3)提取了能够被绝大多数微处理器监测的通用性能事件,并根据不同的误差表现特征,将其分为时间计数、指令计数以及与运行环境相关的三大类。(4)提出了考虑所有干扰源或误差源的性能数据综合计算模型。该模型能够帮助性能分析员确定干扰较大的干扰源或误差源,减少工作量。(5)设计并实现了性能测试工具EAnalyzer,以帮助研究Sampling性能测试模式受干扰的情况。研究发现,采样测试过程中频繁出现的中断处理过程严重影响了性能数据的收集。因此,选择合适的采样周期对于减小干扰,提高性能数据的准确性非常重要。(6)提出并实现了预处理周期法。预处理周期法结合了基于时间采样和基于事件采样的优点,优于后两者。实验证明,预处理周期法可以有效地减少测试过程中干扰源或误差源的干扰,使获得的性能数据误差更小,数据更准确。
唐遇星[6](2005)在《面向动态二进制翻译的动态优化和微处理器体系结构支撑技术研究》文中研究表明经过三十多年的发展,微处理器已经进入到社会生产和日常生活的各个领域,并取得了巨大的成功。微处理器产业的成熟,也使得大部分市场应用和软件投资集中到具有垄断性地位的几种体系结构上。为满足永无止境的性能需求,必须不断推出更新、更快、更有效的处理器。但是为了保护原有的大量投资和研究成果,新处理器往往需要保证对原有结构和应用的二进制兼容性。如今,二进制代码兼容已经成为微处理器是否能在市场上存活的关键问题,也成为新体系结构技术应用的障碍。 动态二进制翻译和优化与微体系结构设计相结合,为微处理器性能继续提升,采用创新的体系结构技术提供了新的思路和方法。将与兼容性相关的复杂逻辑交给动态二进制翻译软件,可以使底层硬件更加简洁并能极大的扩展设计空间。动态优化还可以利用程序运行时特有的优化机会,进一步提高性能。这种处理器设计模式可以降低对制造工艺的要求,并通过采用创新设计避开处理器硬件设计中的众多专利障碍,特别适合我国国情。 本文针对动态二进制翻译处理器中的动态优化技术和微处理器体系结构支撑技术展开深入研究。基于可扩展的处理器模型,提出了低开销的快速热点识别技术;系统分析并研究了动态优化的特性,提出了新的优化方法;并根据开销和性能分析提出了动态多级优化框架,掌握了以动态二进制翻译和动态优化为基础进行微处理器设计的关键技术。主要的工作与创新点包括: 1.全面深入地研究了国际上动态二进制翻译和动态优化技术的研究现状与热点方向。特别针对几个对二进制翻译处理器研究有重要影响的研究项目,总结并分析了它们的特点与不足。 2.结合我国发展处理器产业的实际情况,提出基于动态二进制翻译的可扩展体系结构框架Transtar-VISA。以一个全新基于VLIW结构的Transtar-Core为例,展示部分体系结构迁移,从IA-32迁移到新体系结构,以及同时支持多个ISA平台时Transtar-VISA的有效性和可扩展性。 3.深入研究了动态二进制翻译和优化中热点代码发掘问题,提出了适合翻译和优化使用,基于硬件实现的profiling方案-CSP。CSP不会影响用户程序的执行效率,以适当的硬件开销获得了非常精确的热点路径信息。CSP还可以根据翻译和优化的需要调整对执行路径的监测。 4.深入讨论了动态优化的执行环境、调度单位和优化时机等内容,并分析了常用的优化方法。针对硬件难以预测的分支指令,提出了新的动态隐式断言执行优化技术RIMP。 5.为了平衡优化的开销和性能收益,在分析论证的基础上给出了多级优化调度框架FMO。分析了多级动态优化算法下各个阈值的控制原理,并指出了有效优化的关
曹宏嘉[7](2005)在《面向微处理器设计的动态二进制翻译技术研究》文中研究表明微处理器是计算机系统中的核心部件。借助微电子工艺和体系结构技术的进步,微处理器的性能获得了飞速提升。微处理器在各个领域的应用取得了巨大的发展和成功,产生了良好的经济效益和社会效益。 随着应用软件的不断积累,二进制代码兼容已经成为微处理器能否具有生命力的关键问题。解决二进制代码兼容问题是处理器必须实现的目标之一,也是限制新体系结构技术在微处理器设计中应用的重要障碍。新兴的动态二进制翻译技术与微处理器设计相结合,通过在硬件核心上运行翻译软件实现指令集体系结构,可以有效地解决二进制代码兼容问题,为微处理器设计提供了一条新的思路。这种处理器设计模式可以降低对微电子制造工艺和设计水平的要求,特别适合我国国情。 本文在全面深入了解当前二进制翻译处理器与相关技术研究现状的基础上,展开对面向微处理器设计的动态二进制翻译技术的研究。在有适当硬件支持的二进制翻译处理器模型基础上,研究了动态适应程序执行行为以提高二进制翻译处理器性能的翻译单元构造算法与多级优化框架,以及动态二进制翻译中的线程级并行性开发,实现了二进制翻译原型系统。主要的工作与创新点包括: 1.全面深入地研究了国际上微处理器与动态二进制翻译技术的研究现状,针对几个对二进制翻译处理器研究有重要影响的项目,总结分析它们的特点与不足。结合二进制翻译处理器的执行机制,对二进制翻译处理器的设计目标进行了分析。 2.在分析二进制翻译处理器设计目标的基础上,提出一个具有适当硬件支持的二进制翻译处理器模型Transtar。Transtar由底层的硬件处理核心Transtar Core与运行在其上的翻译软件层TSL组成。其中,Transtar Core是一个超长指令字结构的精简处理器内核,为支持二进制翻译设置了适当的辅助硬件。TSL将源体系结构资源映射到Transtar Core上,并将源结构IA-32指令转换为底层Transtar Core的VLIW指令执行。 3.提出了自适应翻译单元构造算法ATUC。翻译单元的选取将决定程序中哪些代码被翻译,对系统的性能有重要影响。ATUC在硬件连续提交地址检测缓冲的辅助下,持续监测应用程序翻译后代码的执行,并根据其特性构造合适长度的翻译单元Trace,以确保翻译后代码执行的成功率,并尽可能提高翻译后目标代码的效率,同时只引入很低的profile开销和硬件支持开销。
陈华宏[8](2005)在《64位高性能微处器系统功能验证方法的研究与实现》文中认为X微处理器是一款具有完全自主知识产权的通用64位高性能微处理器,规模大、功能强大、结构复杂,在芯片设计的不同阶段进行多层次的功能验证,保证芯片功能的正确性和兼容性非常重要。快速、全面、系统的功能验证是保证芯片一次性投片成功和缩短设计时间的根本途经。 本文首先讨论了在微处理器芯片设计过程中,处理器功能验证的相关知识,介绍了软硬件协同模拟的方法;其次从系统软件和模拟验证的仿真硬件平台两方面入手,对如何构建用于全芯片功能验证的硬件测试平台,以及如何在硬件测试平台上运行系统软件来进一步验证芯片的正确性,进行了深入的研究。 本文结合高性能微处理器设计的特点、软硬件协同模拟验证方法以及实际项目的需要,深入探讨了高性能微处理器系统功能验证方法及其在实际工程应用中的实现,主要内容包括: 1.针对高性能微处理器全芯片验证存在的困难,实现了由Palladium加速器、工作站和终端组成的基于硬件加速器的CPU通用测试平台,并应用于实际的芯片验证。 2.在采用测试平台进行微处理器模拟验证的过程中,提出了运行日志无损失记录以及运行日志自动导出的方法,解决了工程中的实际问题,同时在实践中获得了很好的效果。 3.在深入分析IA-64构架的64位微处理器体系结构和LINUX操作系统内核下,本文实现了通过串口加载和引导LINUX内核完成LINUX操作系统在基于硬件加速器的CPU通用测试平台的移植。并应用于对X微处理器的验证。 本文的研究对于实现针对高性能微处理器芯片的全面和高效的功能验证有着十分重要的参考价值和实用意义。
彭林[9](2004)在《IA-64指令调度研究》文中指出随着计算机技术的发展,达到高性能的任务从硬件转向软件已成为现代体系结构发展的趋势,编译器作为基础的系统软件越来越重要。在现代系统结构中,指令调度是最重要的编译优化之一,对提高计算机性能有着重大的影响,同时指令调度由于其复杂性,对它的研究充满了挑战。 IA-64体系结构的特点是紧密结合编译器和硬件来提升性能,它提供丰富的支持机制开发指令级并行。随着IA-64体系结构的实现产品Itanium系列处理器在高端服务器的使用,通过指令调度开发IA-64体系结构上的高性能成为许多研究者关注的热点问题。 本文以IA-64体系结构目标平台,对指令调度展开研究。首先,从程序语义的角度对指令调度中开发并行性进行了分析,研究了主流的指令调度技术,对各种技术的优缺点进行了比较,提出了基于区域的指令调度算法的框架。 本文分析了IA-64体系结构的技术特征,深入研究了IA-64体系结构指令调度相关特性。在此基础上,剖析了GNU Compiler Collection(GCC)编译器在IA-64平台的指令调度过程,结合对Open Research Compiler(ORC)与Intel商用编译器指令调度部分的分析,总结出IA-64平台进行指令调度的一些关键因素。最后,指出了GCC现有指令调度算法的优点,分析了GCC指令调度算法有待改进的地方,同时对其有待改进的地方,提出了改进的调度算法,实验数据表明改进算法改善了输出代码,对程序性能有一定的提升。
屈双喜[10](2004)在《64位高性能通用微处理器整数部件的设计与实现》文中研究表明随着科学计算规模的不断增大,多媒体应用种类的不断增多以及事务处理和科学研究领域的不断深入,人们对微处理器性能的要求不断提高,我们国家对于发展高性能微处理器也日益重视。本课题来源于863重大课题“高性能通用CPU芯片设计”,目标是设计一款64位高性能通用微处理器。本文分析了基于IA-64体系结构的Itanium系列微处理器,研究了我们自主设计的X处理器的微体系结构,深入研究了IA-64指令集中的整数指令,设计并实现了X处理器的整数部件。最后,针对所设计的整数部件进行了时序优化和功能验证。主要研究内容包括: 1.分析了基于IA-64指令集的Itanium系列微处理器的体系结构,对EPIC设计风格进行了研究; 2.研究了我们自主设计的一款兼容IA-64指令集的微处理器——X处理器的体系结构,深入研究了IA-64指令集中的整数指令; 3.设计实现了X处理器的整数部件,其中包括多媒体部件的设计、64位动态并行加法器的设计、64位先行进位加法器的设计、并行乘法器的设计、移位器的设计等等; 4.针对所设计的整数部件进行了时序优化和功能验证。提出了三种有效的优 化设计策略,包括分站处理、微操作级资源复制和关键信号提前生成;建立了一套实用的模拟验证流程,实际证明我们的优化和验证工作思路正确、效果明显。 5.所设计的整数部件用Synopsys公司的Design Compiler进行了综合,目标工艺库使用Artisan 0.13微米的typical(典型)工艺库,整数部件最长路径延时为1.96ns,满足系统性能的要求。将整数部件嵌入到整个X处理器系统中,整个X处理器系统在Cadence公司的Palladium硬件仿真平台上进行硬件仿真验证通过。
二、IA-64微处理器与HP高性能服务器体系结构(论文开题报告)
(1)论文研究背景及目的
此处内容要求:
首先简单简介论文所研究问题的基本概念和背景,再而简单明了地指出论文所要研究解决的具体问题,并提出你的论文准备的观点或解决方法。
写法范例:
本文主要提出一款精简64位RISC处理器存储管理单元结构并详细分析其设计过程。在该MMU结构中,TLB采用叁个分离的TLB,TLB采用基于内容查找的相联存储器并行查找,支持粗粒度为64KB和细粒度为4KB两种页面大小,采用多级分层页表结构映射地址空间,并详细论述了四级页表转换过程,TLB结构组织等。该MMU结构将作为该处理器存储系统实现的一个重要组成部分。
(2)本文研究方法
调查法:该方法是有目的、有系统的搜集有关研究对象的具体信息。
观察法:用自己的感官和辅助工具直接观察研究对象从而得到有关信息。
实验法:通过主支变革、控制研究对象来发现与确认事物间的因果关系。
文献研究法:通过调查文献来获得资料,从而全面的、正确的了解掌握研究方法。
实证研究法:依据现有的科学理论和实践的需要提出设计。
定性分析法:对研究对象进行“质”的方面的研究,这个方法需要计算的数据较少。
定量分析法:通过具体的数字,使人们对研究对象的认识进一步精确化。
跨学科研究法:运用多学科的理论、方法和成果从整体上对某一课题进行研究。
功能分析法:这是社会科学用来分析社会现象的一种方法,从某一功能出发研究多个方面的影响。
模拟法:通过创设一个与原型相似的模型来间接研究原型某种特性的一种形容方法。
三、IA-64微处理器与HP高性能服务器体系结构(论文提纲范文)
(1)主流处理器架构及英特尔微架构发展分析(论文提纲范文)
引言 |
一、体系结构 |
二、处理器架构 |
三、英特尔微架构发展分析 |
(2)面向安腾2处理器的故障注入工具设计与实现(论文提纲范文)
摘要 |
Abstract |
第1章 绪论 |
1.1 课题背景 |
1.1.1 课题来源 |
1.1.2 课题目的与意义 |
1.2 国内外研究现状 |
1.2.1 计算机系统容错性能评测方法 |
1.2.2 关于故障注入的研究 |
1.3 面向安腾2 处理器的故障注入思路 |
1.4 本文主要研究内容 |
1.5 本文结构 |
第2章 操作系统层模拟CPU故障注入工具设计与实现 |
2.1 目标操作系统IA-64 Linux简介 |
2.2 操作系统层模拟处理器故障注入原理 |
2.3 故障注入工具提供的故障集 |
2.4 故障注入工具的设计与实现 |
2.4.1 故障注入工具结构 |
2.4.2 运行时内核代码插入方法 |
2.4.3 用户模块与内核模块信息交互 |
2.4.4 内核故障注入模块详细设计 |
2.4.5 用户态配置模块详细设计 |
2.4.6 主控端设计与实现 |
2.5 本章小结 |
第3章 固件层处理器故障注入工具设计与实现 |
3.1 故障注入原理 |
3.1.1 IA-64 固件架构概述 |
3.1.2 可用于故障注入的固件例程 |
3.1.3 故障注入工具实现的故障集 |
3.2 故障注入工具设计与实现 |
3.2.1 故障注入工具结构及注入流程 |
3.2.2 内核驱动接口模块详细设计 |
3.2.3 用户态配置模块详细设计 |
3.2.4 主控管理模块设计 |
3.3 实现中的难点及其解决方法 |
3.3.1 对指定处理核心注入故障 |
3.3.2 内核驱动接口模块与固件交互 |
3.4 本章小结 |
第4章 实验及结果分析 |
4.1 操作系统层模拟处理器故障注入实验 |
4.1.1 用户进程寄存器间歇故障注入实验 |
4.1.2 系统关键进程寄存器间歇故障注入实验 |
4.1.3 寄存器永久故障注入实验 |
4.2 固件层处理器故障注入实验 |
4.2.1 处理核心失效故障注入实验 |
4.2.2 Cache失效故障注入实验 |
4.2.3 处理器内部结构机器检查错误注入实验 |
4.3 实验结果分析及结论 |
4.4 本章小结 |
结论 |
参考文献 |
攻读学位期间发表的学术论文 |
致谢 |
(3)IA-64采用的断定技术(论文提纲范文)
0 引言 |
1 分支对系统性能的影响 |
2 断定技术的分析 |
3 断定提高了并行性 |
4 结束语 |
(4)静态二进制翻译中基于软件规范的函数识别及恢复技术研究(论文提纲范文)
摘要 |
ABSTRACT |
目录 |
表目录 |
图目录 |
第一章 绪论 |
1.1 二进制翻译的概念 |
1.2 二进制翻译、编译、反编译 |
1.2.1 编译与反编译 |
1.2.2 二进制翻译与反编译 |
1.3 二进制翻译实现方法 |
1.4 二进制翻译系统的分类 |
1.4.1 根据翻译对象的分类 |
1.4.2 根据源和目标平台的分类 |
1.5 二进制翻译技术的历史与现状 |
1.5.1 二进制翻译技术发展历史 |
1.5.2 静态二进制翻译技术研究现状 |
1.6 本文的贡献 |
1.7 本文的组织结构 |
第二章 IA-64体系结构及软件规范 |
2.1 IA-64体系结构概述 |
2.1.1 安腾的发展历史 |
2.1.2 IA-64体系结构的新特性 |
2.2 静态二进制翻译的一些传统难点 |
2.2.1 区分代码和数据 |
2.2.2 主入口点定位 |
2.2.3 区分指针和常量 |
2.2.4 自修改代码 |
2.2.5 惯用语 |
2.2.6 编译器和链接器包含的子过程 |
2.3 IA-64体系结构带来的难点 |
2.3.1 编译器深度优化代码 |
2.3.2 IA-64指令的语义描述 |
2.3.3 函数参数和返回值恢复 |
2.4 软件规范分析的引入 |
2.5 IA-64软件规范简介 |
2.5.1 数据模型 |
2.5.2 寄存器用法 |
2.5.3 过程链接 |
2.5.4 内存堆栈 |
2.5.5 寄存器堆栈 |
2.5.6 全局指针 |
2.5.7 栈展开 |
2.5.8 代码生成约定 |
2.6 小结 |
第三章 静态二进制翻译器ITA |
3.1 ITA翻译器的总体框架 |
3.2 二进制文件解码器 |
3.3 指令解码器 |
3.3.1 相关工作 |
3.3.2 IA-64指令集 |
3.3.3 编码解码规格语言SLED |
3.3.4 使用MLTK进行解码 |
3.3.5 解决的关键问题 |
3.4 语义映射器 |
3.4.1 寄存器传递列表RTL |
3.4.2 SSL语言 |
3.5 通用分析器 |
3.6 C代码生成器 |
3.7 软件规范在ITA翻译器中的应用 |
3.7.1 二进制文件解码器 |
3.7.2 指令解码器 |
3.7.3 通用分析器 |
3.8 实验结果 |
3.9 小结 |
第四章 ELF64文件主入口点定位 |
4.1 二进制工具strip |
4.2 对静态二进制翻译的影响 |
4.3 ELF文件加载机制分析 |
4.4 main()函数地址定位算法及实例 |
4.4.1 IA-32的定位算法 |
4.4.2 IA-64下的实现 |
4.5 相关工作 |
4.6 小结 |
第五章 库函数恢复技术 |
5.1 引言 |
5.2 相关工作 |
5.3 IA-64动态链接技术 |
5.3.1 IA-64库函数名识别的困难 |
5.3.2 全局偏移表GOT |
5.3.3 函数地址 |
5.3.4 过程链接表PLT |
5.3.5 实例研究 |
5.4 库函数名的识别算法 |
5.4.1 PLT的布局 |
5.4.2 映射关系的建立 |
5.4.3 ITA中的实现 |
5.5 参数及返回值的恢复 |
5.6 小结 |
第六章 过程识别技术 |
6.1 过程识别技术简介 |
6.2 调用约定的形式化描述 |
6.2.1 指定参数设置的自动机 |
6.2.2 IA-64调用约定描述实例 |
6.3 IA-64过程识别简介 |
6.3.1 识别难点 |
6.3.2 标准过程链接 |
6.3.3 IA-64过程链接 |
6.3.4 需要提取的信息 |
6.4 基于自动机的过程识别 |
6.5 基于惰性执行的过程识别 |
6.6 讨论 |
第七章 过程恢复技术 |
7.1 IA-64体系结构参数传递约定 |
7.2 ITA翻译器中的过程恢复技术 |
7.2.1 IA-64调用约定的PAL描述 |
7.2.2 过程抽象分析 |
7.2.3 实例分析 |
7.3 可变参数函数的实现 |
7.4 可变参数函数的参数恢复 |
7.4.1 可变参数函数的识别 |
7.4.2 最大化参数列表 |
7.4.3 恢复实例 |
7.5 间接过程调用的恢复 |
7.5.1 用户自定义函数间接调用的恢复 |
7.5.2 动态链接库函数间接调用的恢复 |
7.6 小结 |
第八章 数学函数内嵌优化的恢复 |
8.1 引言 |
8.2 IA-64体系结构的浮点特性 |
8.2.1 指令级并行 |
8.2.2 软件流水 |
8.2.3 82位浮点奇存器 |
8.2.4 浮点算术指令 |
8.2.5 特殊的浮点指令 |
8.2.6 多个浮点状态域 |
8.3 数学函数内嵌优化 |
8.3.1 内嵌优化示例 |
8.3.2 内嵌优化带来的翻译困难 |
8.4 数学函数内嵌优化的恢复 |
8.5 小结 |
第九章 总结与展望 |
9.1 本文工作的总结 |
9.2 下一步的工作展望 |
致谢 |
参考文献 |
作者在学期间取得的学术成果 |
(5)基于硬件性能监视的性能测试误差分析技术(论文提纲范文)
图目录 |
表目录 |
摘要 |
ABSTRACT |
第一章 绪论 |
1.1 研究背景 |
1.1.1 高性能计算机的发展 |
1.1.2 性能差距巨大 |
1.1.3 程序性能测试技术 |
1.1.4 基于硬件性能监视的性能测试技术 |
1.2 研究现状与存在的不足 |
1.2.1 研究现状 |
1.2.2 存在的问题与不足 |
1.3 研究内容 |
1.3.1 研究内容 |
1.3.2 实验平台 |
1.4 论文结构 |
1.5 论文的研究成果 |
第二章 硬件性能监视机制研究 |
2.1 引言 |
2.2 性能监视硬件的基本结构与功能 |
2.2.1 性能监视单元PMU |
2.2.2 PMC 寄存器 |
2.2.3 PMD 寄存器 |
2.3 IA-64 处理器中先进的硬件性能监视机制 |
2.3.1 周期统计 |
2.3.2 程序计数器采样 |
2.3.3 失效事件地址采样 |
2.3.4 事件限制 |
2.4 基于硬件性能监视机制的相关测试技术研究 |
2.5 本章小结 |
第三章 性能测试数据误差分析模型 |
3.1 数据误差来源分析及其验证 |
3.1.1 基于硬件性能监视的性能测试过程 |
3.1.2 数据误差来源及其验证 |
3.1.2.1 性能监视硬件本身 |
3.1.2.2 性能测试软件本身 |
3.1.2.3 性能数据获取方法会引入误差 |
3.1.2.4 运行环境中其他任务的干扰 |
3.1.2.5 硬件计数器复用引入的统计误差 |
3.1.2.6 导出性能数据时引入的计算误差 |
3.2 不同类型性能事件的误差表现特征 |
3.2.1 通用性能事件 |
3.2.2 各类性能事件的误差表现特征 |
3.3 性能数据的综合计算模型 |
3.4 本章小结 |
第四章 性能采样的误差定量分析与改进 |
4.1 采样测试技术的原理 |
4.2 性能采样的底层实现 |
4.3 Sampling 测试模式引入误差的实验性研究 |
4.3.1 性能测试工具EAnalyzer 的设计与实现 |
4.3.1.1 EAnalyzer 的设计思想 |
4.3.1.2 EAnalyzer 的结构与实现 |
4.3.2 Sampling 测试模式的误差分析 |
4.4 预处理周期法改进Sampling 测试 |
4.5 本章小结 |
第五章 结束语与展望 |
5.1 结束语 |
5.2 研究展望 |
致谢 |
攻读硕士学位期间发表的论文 |
攻读硕士学位期间参加的科研工作 |
参考文献 |
(6)面向动态二进制翻译的动态优化和微处理器体系结构支撑技术研究(论文提纲范文)
摘要 |
Abstract |
第一章 绪论 |
§1.1 研究背景及目标 |
1.1.1 微处理器体系结构研究的机遇和挑战 |
1.1.2 二进制翻译解决方案 |
§1.2 我国微处理器产业发展面临的问题 |
1.2.1 我国处理器应用中的特有问题 |
1.2.2 本国自主知识产权的必要性 |
1.2.3 与先进国家的差距 |
1.2.4 产业发展的问题 |
1.2.5 动态二进制翻译的优势 |
§1.3 我们的研究目标 |
1.3.1 研究内容 |
1.3.2 技术路线 |
§1.4 本文的工作 |
§1.5 本文的结构 |
第二章 相关研究现状 |
§2.1 引言 |
§2.2 早期二进制翻译研究 |
2.2.1 EMMY/360 |
2.2.2 FX!32静态翻译器 |
§2.3 二进制翻译与处理器设计 |
2.3.1 Transmeta Crusoe处理器 |
2.3.2 IBM BOA项目 |
2.3.3 Intel IA32-EL技术 |
§2.4 动态优化 |
2.4.1 动态软件优化Dynamo |
2.4.2 rePLay优化框架 |
§2.5 虚拟机技术 |
2.5.1 Java虚拟机和JIT技术 |
2.5.2 其它虚拟机 |
§2.6 小结 |
第三章 基于动态二进制翻译的可扩展体系结构 |
§3.1 动态二进制翻译与处理器体系结构迁移 |
3.1.1 目前系统中存在的问题 |
§3.2 Transtar-VISA体系结构模型 |
3.2.1 Transtar-VISA结构概述 |
3.2.2 Transtar-VISA的关键部件 |
3.2.3 硬件执行核心Transtar-Core |
§3.3 Transtar-VISA的应用 |
3.3.1 Transtar-VISA扩展现有体系结构 |
3.3.2 Transtar-VISA的虚拟机加速结构 |
3.3.3 Transtar-VISA的虚拟阵列结构 |
§3.4 小结 |
第四章 识别热点代码的硬件Profiler |
§4.1 Profile技术 |
4.1.1 Profile简介 |
4.1.2 静态和动态Profile |
4.1.3 软硬件Profiler |
§4.2 CSP的结构 |
4.2.1 基于优化需求的CSP路径检测 |
4.2.2 CSP的路径表示与存储 |
4.2.3 CSP在翻译优化系统中的应用 |
§4.3 CSP的性能 |
4.3.1 测试方法 |
4.3.2 CSP的性能测试数据 |
4.3.3 CSP运行开销 |
§4.4 小结 |
第五章 二进制翻译中的动态优化方法 |
§5.1 引言 |
5.1.1 动态优化必要性 |
5.1.2 动态优化与静态优化的区别 |
§5.2 动态优化算法 |
5.2.1 动态优化的使用环境 |
5.2.2 动态优化的调度单位 |
5.2.3 多平台特性的动态优化方法设计 |
5.2.4 动态二进制翻译中的优化机会 |
5.2.5 可移植使用的静态方法 |
5.2.6 依靠profiling的动态方法 |
§5.3 动态优化算法举例RIMP |
5.3.1 Predication的原理 |
5.3.2 已有的Predication使用方式 |
5.3.3 RIMP与底层处理器模型 |
5.3.4 RIMP的指令调度和依赖性检查 |
5.3.5 RIMP Region的管理 |
5.3.6 RIMP的性能和模拟测试 |
§5.4 小结 |
第六章 可变阈值驱动的多级动态优化框架 |
§6.1 前言 |
§6.2 动态优化的性能和开销分析 |
6.2.1 分级优化的必要性 |
6.2.2 多级热点的识别机制 |
6.2.3 基于优化开销和潜在性能的优化分级 |
6.2.4 开销估计 |
6.2.5 Region的增长与降级 |
§6.3 多级优化的性能模拟 |
§6.4 小结 |
第七章 动态翻译和优化的硬件支持 |
§7.1 软件翻译优化与硬件支持 |
7.1.1 对正确性的影响 |
7.1.2 对性能的影响 |
§7.2 基本的翻译硬件支持 |
7.2.1 处理器模式:解释执行和翻译执行 |
7.2.2 源-目标体系结构指令入口地址映射 |
7.2.3 源-目标执行现场映射与恢复 |
7.2.4 连续提交地址检测缓冲 |
7.2.5 可撤销写缓冲 |
7.2.6 翻译后目标代码缓存维护 |
7.2.7 自修改代码检测 |
§7.3 性能优化的硬件支持 |
7.3.1 解释执行的microcode实现 |
7.3.2 硬件profiler |
7.3.3 特殊源结构部件的直接实现 |
7.3.4 为优化添加特别的支持指令 |
§7.4 并行翻译优化模型 |
7.4.1 动态二进制翻译优化中的并行线程 |
7.4.2 Transtar-Para并行翻译优化模型 |
7.4.3 性能分析与模拟验证 |
§7.5 小节 |
第八章 模拟环境与原型系统的设计实现 |
§8.1 硬件Profiler模拟验证环境sim-profile |
§8.2 动态优化算法模拟验证环境sim-do |
§8.3 用户级代码翻译系统 |
8.3.1 总体结构 |
8.3.2 与OS的接口 |
8.3.3 代码翻译过程 |
8.3.4 目标结构模拟器设计 |
§8.4 整系统并行翻译系统 |
8.4.1 总体结构 |
8.4.2 系统级问题 |
§8.5 小结 |
第九章 结束语 |
§9.1 所作的工作与创新 |
§9.2 未来的研究方向 |
致谢 |
论文发表情况 |
参考文献 |
附录A 名词对照表 |
(7)面向微处理器设计的动态二进制翻译技术研究(论文提纲范文)
摘要 |
Abstract |
第一章 绪论 |
§1.1 课题研究背景 |
1.1.1 微处理器体系结构研究的机遇和挑战 |
1.1.2 我国微处理器发展面临的问题 |
§1.2 动态二进制翻译技术 |
§1.3 动态优化技术 |
§1.4 本文的工作 |
§1.5 本文的结构 |
第二章 相关研究现状 |
§2.1 DAISY/BOA系统 |
§2.2 Crusoe处理器 |
§2.3 Aries和IA-32 EL |
§2.4 Dynamo动态优化系统 |
§2.5 JIT编译技术 |
§2.6 小结 |
第三章 二进制翻译处理器设计 |
§3.1 BTP的设计目标 |
3.1.1 兼容性 |
3.1.2 高性能 |
§3.2 Transtar的结构 |
3.2.1 TranstarCore的结构 |
3.2.2 TranstarCore的指令 |
§3.3 体系结构资源映射 |
3.3.1 寄存器映射 |
3.3.2 存储管理机制映射 |
3.3.3 指令原子性与精确异常 |
§3.4 TSL的执行流程 |
§3.5 小结 |
第四章 自适应翻译单元构造 |
§4.1 翻译单元构造对系统性能的影响 |
§4.2 ATUC算法的整体框架 |
§4.3 热点Trace预测 |
§4.4 程序执行特性监测与适应 |
§4.5 实验模拟与性能分析 |
4.5.1 实验环境 |
4.5.2 实验结果与分析 |
§4.6 小结 |
第五章 多级自适应动态优化 |
§5.1 动态优化的成本收益分析 |
5.1.1 运行期动态优化 |
5.1.2 动态优化的成本与收益 |
§5.2 多级自适应动态优化 |
5.2.1 多级优化分析 |
5.2.2 多级自适应动态优化框架 |
5.2.3 热点阈值估算 |
§5.3 分析与实验模拟 |
§5.4 小结 |
第六章 并行动态二进制翻译 |
§6.1 并行动态二进制翻译模型 |
6.1.1 DBT中的线程级并行 |
6.1.2 Transtar-Para模型 |
§6.2 协同profile机制 |
§6.3 目标代码缓存维护 |
6.3.1 SMC检测与处理 |
§6.4 分析与模拟验证 |
§6.5 小结 |
第七章 原型系统设计与实现 |
§7.1 用户级代码翻译系统 |
7.1.1 总体结构 |
7.1.2 与OS的接口 |
7.1.3 代码翻译过程 |
7.1.4 目标结构指令编码设计 |
7.1.5 目标结构模拟器设计 |
§7.2 整系统并行翻译系统 |
7.2.1 总体结构 |
7.2.2 系统级问题 |
§7.3 小结 |
第八章 结束语 |
§8.1 所作的工作与创新 |
§8.2 未来的研究方向 |
攻读博士学位期间所发表的论文 |
致谢 |
参考文献表 |
附录A TransBochs程序清单 |
(8)64位高性能微处器系统功能验证方法的研究与实现(论文提纲范文)
目录 |
图目录 |
表目录 |
摘要 |
ABSTRACT |
第一章 绪论 |
1.1 课题背景 |
1.2 功能验证方法概述 |
1.3 问题提出与研究目标 |
1.4 相关研究 |
1.5 主要研究内容 |
第二章 X微处理器体系结构简介 |
2.1 X微处理器体系结构简介 |
2.2 处理器微体系结构 |
2.3 指令系统 |
2.4 X微处理器寄存器定义 |
2.5 本章小结 |
第三章 基于VHDL设计的微处理器测试平台 |
3.1 CPU通用测试平台总体结构 |
3.2 建立CPU通用测试平台的关键技术 |
3.3 CPU通用测试平台在X微处理器测试中的应用 |
3.4 本章小结 |
第四章 Firmware设计与实现 |
4.1 Itanium微处理器结构中的固件层次 |
4.2 处理器抽象层(PAL)综述 |
4.3 固件入口点 |
4.4 PAL入口点 |
4.5 SAL入口点 |
4.6 操作系统入口点 |
4.7 固件地址空间 |
4.8 处理器引导流程概述 |
4.9 本章小结 |
第五章 Linux系统软件移植与实现 |
5.1 Linux操作系统简介 |
5.2 操作系统引导特点 |
5.3 功能模块 |
5.4 基于X微处理器的LINUX操作系统的串口引导 |
5.5 基于串口的发送端程序 |
5.6 串口加载执行程序 |
5.7 基于LINUX操作系统的串口引导程序 |
5.8 本章小结 |
第六章 结束语 |
6.1 本文主要贡献 |
6.2 展望 |
致谢 |
附录A: |
附录B:攻读硕士期间发表的论文 |
附录C:攻读硕士期间参加的科研项目 |
参考文献 |
(9)IA-64指令调度研究(论文提纲范文)
图目录 |
表目录 |
摘要 |
ABSTRACT |
第一章 绪论 |
§1.1 课题研究背景与现状 |
1.1.1 课题研究背景 |
1.1.2 研究现状 |
§1.2 课题研究内容 |
1.2.1 课题来源 |
1.2.2 课题研究重点 |
1.2.3 课题研究难点 |
§1.3 本课题的主要工作 |
§1.4 论文结构 |
第二章 指令调度理论与IA-64体系结构研究 |
§2.1 指令调度的定义与特征 |
2.1.1 指令调度的定义 |
2.1.2 指令调度的特征 |
§2.2 依赖关系与依赖图 |
2.2.1 依赖关系 |
2.2.2 依赖图 |
2.2.3 依赖关系的变换 |
§2.3 硬件资源约束 |
2.3.1 硬件资源约束的种类 |
2.3.2 硬件资源冲突判别方法分析 |
§2.4 基于区域的指令调度模型 |
§2.5 调度区域 |
2.5.1 调度区域的形式 |
2.5.2 调度区域的形成 |
2.5.3 调度区域的比较 |
§2.6 调度方法 |
§2.7 相关领域的比较 |
§2.8 IA-64体系结构指令调度相关特性 |
2.8.1 指令模板 |
2.8.2 分派规则 |
2.8.3 其他特性 |
第三章 IA-64平台指令调度分析与改进 |
§3.1 GCC的基本结构与工作机理 |
3.1.1 GCC的主要组成部分 |
3.1.2 IA-64平台GCC的工作机理 |
§3.2 GCC指令调度部分 |
3.2.1 指令调度主体分析 |
3.2.2 IA-64平台相关部分分析 |
3.2.3 GCC指令调度的优点 |
§3.3 IA-64平台指令调度关键因素 |
§3.4 GCC指令调度有待改进的地方 |
§3.5 改进算法 |
第四章 实验结果及分析 |
§4.1 实验结果 |
§4.2 结果分析 |
§4.3 小结 |
第五章 结束语 |
致谢 |
附录A:攻读硕士期间发表的论文 |
附录B:攻读硕士期间参加的科研项目 |
参考文献 |
(10)64位高性能通用微处理器整数部件的设计与实现(论文提纲范文)
目录 |
摘要 |
ABSTRACT |
第一章 绪论 |
1.1 课题研究背景 |
1.1.1 64位高性能微处理器的发展 |
1.1.2 设计自主知识产权微处理器的机遇 |
1.2 课题研究内容 |
1.3 课题完成的工作 |
1.4 本文的组织 |
第二章 X处理器体系结构概述 |
2.1 EPIC设计哲学 |
2.1.1 EPIC的概念 |
2.1.2 判定执行技术 |
2.1.3 前瞻执行技术 |
2.2 X处理器体系结构 |
2.2.1 指令系统 |
2.2.2 总体结构 |
2.2.3 流水线 |
2.2.4 整数部件 |
2.3 小结 |
第三章 X处理器整数部件的设计 |
3.1 X处理器的整数指令集 |
3.1.1 A类整数指令的分类及主要功能 |
3.1.2 I类整数指令的分类及主要功能 |
3.2 X处理器整数流水线设计 |
3.2.1 REN |
3.2.2 REG |
3.2.3 EXE |
3.3 X处理器整数部件关键子部件的设计 |
3.3.1 PALU并行算术逻辑模块 |
3.3.2 IALU算术逻辑模块 |
3.3.3 ICMP比较模块 |
3.4 小结 |
第四章 X处理器整数部件的优化 |
4.1 分站处理 |
4.2 资源复制 |
4.3 关键信号提前生成 |
4.4 小结 |
第五章 X处理器整数部件的验证 |
5.1 大规模集成电路验证方法概述 |
5.1.1 软件模拟验证 |
5.1.2 硬件仿真验证 |
5.1.3 形式验证 |
5.2 整数部件的模拟验证 |
5.2.1 进行模拟验证的基本过程 |
5.2.2 关键子部件的验证 |
5.3 小结 |
第六章 结束语 |
致谢 |
参考文献 |
附录A 攻读硕士学位期间发表的论文 |
附录B 整数指令表 |
附录C PALU模块的实际测试数据举例 |
四、IA-64微处理器与HP高性能服务器体系结构(论文参考文献)
- [1]主流处理器架构及英特尔微架构发展分析[J]. 彭圳生,段妍羽,王赟. 信息系统工程, 2017(03)
- [2]面向安腾2处理器的故障注入工具设计与实现[D]. 秦磊. 哈尔滨工业大学, 2010(03)
- [3]IA-64采用的断定技术[J]. 卢洪虎,马卓杰,林红军. 计算机工程与设计, 2006(19)
- [4]静态二进制翻译中基于软件规范的函数识别及恢复技术研究[D]. 齐宁. 解放军信息工程大学, 2006(06)
- [5]基于硬件性能监视的性能测试误差分析技术[D]. 陈岚. 国防科学技术大学, 2005(11)
- [6]面向动态二进制翻译的动态优化和微处理器体系结构支撑技术研究[D]. 唐遇星. 国防科学技术大学, 2005(10)
- [7]面向微处理器设计的动态二进制翻译技术研究[D]. 曹宏嘉. 国防科学技术大学, 2005(03)
- [8]64位高性能微处器系统功能验证方法的研究与实现[D]. 陈华宏. 国防科学技术大学, 2005(03)
- [9]IA-64指令调度研究[D]. 彭林. 国防科学技术大学, 2004(03)
- [10]64位高性能通用微处理器整数部件的设计与实现[D]. 屈双喜. 国防科学技术大学, 2004(03)