[发明专利]结构无关的微处理器验证及评测方法有效
| 申请号: | 200510011569.9 | 申请日: | 2005-04-15 |
| 公开(公告)号: | CN1667589A | 公开(公告)日: | 2005-09-14 |
| 发明(设计)人: | 张悠慧;顾瑜;李鹏;汪东升;王琦;郭松柳 | 申请(专利权)人: | 清华大学 |
| 主分类号: | G06F11/36 | 分类号: | G06F11/36 |
| 代理公司: | 暂无信息 | 代理人: | 暂无信息 |
| 地址: | 100084北京*** | 国省代码: | 北京;11 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | 结构无关的微处理器验证及评测方法(简称为THUMPSim)属于微处理器芯片验证与评测技术领域。它是以面向部件的结构无关的体系结构定义方法描述所要模拟的微处理器,并以事件驱动式的信号更新算法进行模拟驱动的一种与体系结构无关的微处理器的模拟与验证方法。该发明在保证较高模拟性能的同时,尽可能地最大化软件模拟器可配置、可复用的能力,为微处理器的体系结构定义提供标准化的统一接口,使模拟器做到与微处理器结构无关,从而具有最大的移植能力。 | ||
| 搜索关键词: | 结构 无关 微处理器 验证 评测 方法 | ||
【主权项】:
1.结构无关的微处理器验证及评测方法,其特征在于,它依次含有以下步骤:第1步:在微处理器设计中设定:模拟平台模块组件,它含有:总控模块,它通过调用下述其他模块控制本发明所述的结构无关的微处理器验证及评测即THUMPSim模拟器系统的行为,其中含有下述两种算法:部件分组算法,它自动一次确定微处理器内各个部件之间的先后关系,依次含有以下步骤:第a1步:将所有部件的所属组号都初始化为0;第a2步:将所有的悬空信号和锁存器信号都加入到中止信号列表中;第a3步:当前组号CurrentGroup初始化为0;第a4步:在部件中遍历查找所有组号等于CurrentGroup的部件,如果没有找到,则算法结束;否则,对找到的每一个部件,如果该部件的输入信号不全在中止信号列表中,则将其所属组号加1;第a5步:在部件中遍历查找所有组号等于CurrentGroup的部件,如果没有找到,则算法结束;否则,将找到的每一个部件的输出信号都加入到中止信号列表中;第a6步:当前组号CurrentGroup加1,转至第a4步继续执行。事件驱动式信号更新算法,它在每一个微处理器时钟周期内执行一次,以模拟待验证、评测的微处理器的一个周期内的行为,它依次含有以下步骤:第b1步:清空待执行的部件列表;第b2步:遍历所有信号,如果发现在上个时钟周期中某个锁存器信号值发生了改变,则将其影响到的部件(即以此信号为输入信号的部件)加入待执行部件列表中;第b3步:当前组号CurrentGroup初始化为0;第b4步:查找待执行部件列表中组号为当前组号的部件,如果没有找到,则转至b7步;第b5步:若找到,则模拟执行该部件,检查其输出信号的变化情况,将发生变化的输出信号影响到的部件加入待执行部件列表;第b6步:将该部件移出待执行部件列表,转至b4步;第b7步:当前组号CurrentGroup加1,如果CurrentGroup小于或等于最大组号,则转至b4步;第b8步:更新锁存器信号,算法结束;待验证和评测微处理器部件定义的预处理模块,它把部件定义转换成C++代码;程序或指令流的加载模块,它把要执行的程序或者指令流载入到上述模拟器中;外围接口部件模块,它为程序框架提供虚拟外设接口;交互显示界面模块;处理器体系结构定义模块组件,它含有:处理器所有信号的定义模块,定义格式为:Name域,定义了该信号的名称;Type域定义了该信号的类型,包括ST_WIRE和ST_REG两种类型,分别对应于高级硬件描述语言中的线型信号和寄存器型信号(即锁存信号);Width域定义了该信号的宽度,即二进制位数;Stage域定义了该信号在流水线中所属的段号;处理器所有部件的定义模块,定义格式为:Component域,它包含了以下子域:NAME子域,定义该部件的名称;TYPE子域,定义该部件的类型,包括组合逻辑(combination)、时序逻辑(sequence);INPUT和OUTPUT子域,定义部件的接口信号,其中INPUT子域定义部件的输入信号,OUTPUT则定义部件的输出信号;Variable域,它定义该部件定义中用到的局部变量,定义语法与C++语法相同;Function域,它定义该部件定义中用到的局部函数,定义语法与C++语法相同;Initialize域,它定义该部件的初始化动作,供模拟平台在开始模拟运行前调用执行;Execute域,定义该部件在一个处理器时钟周期内的行为逻辑,供模拟平台调用。各部件逻辑模拟代码模块;处理器内部数据组织模块;第2步:依次按以下步骤按照本发明所述的面向部件且与结构无关的统一定义方法模拟与描述多种不同的微处理器:第2.1步:系统开始运行后立刻调入指令序列或编译好的ECOFF格式二进制文件;第2.2步:模拟平台开始模拟运行前面所定义的微处理器体系结构的执行过程,该模拟过程使用了上述的部件分组算法和事件驱动式的信号更新算法;第2.3步:在运行过程中通过交互界面模块观察和设置微处理器执行的每个周期内所有部件、信号的状态,并通过调试功能对微处理器结构设计以及运行程序进行调试,找到设计的错误;第2.4步:系统模拟执行完毕后,得到相应的性能统计参数和包括寄存器、Cache、主存、TLB这些部件的跟踪记录文件。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于清华大学,未经清华大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/200510011569.9/,转载请声明来源钻瓜专利网。





