发明名称 基于逻辑发射序号的软、硬件结合指令相关性控制方法
摘要 本发明公开了一种基于逻辑发射序号的软、硬件结合指令相关性控制方法,其步骤为:(1)编译:编译器为任意指令I编译产生指令操作码、逻辑发射序号以及指令I与前w-1条指令之间的d个相关性向量,生成操作向量;(2)插入指令队列:在指令插入指令队列IQ前,指令控制系统需要保证在指令队列IQ中不会出现具有相同逻辑发射序号的指令;(3)相关性控制:微处理器硬件指令控制系统直接采用指令的当前队列相关危险向量产生相关危险控制信号,无需再对指令操作码进行相关性译码和检测;(4)相关性维护。本发明充分利用软件编译器指令调度窗口大、能判断复杂地址相关的特点进行编译时静态调度、充分开发指令级并行性。
申请公布号 CN100444118C 申请公布日期 2008.12.17
申请号 CN200710034570.2 申请日期 2007.03.19
申请人 中国人民解放军国防科学技术大学 发明人 蒋江;高军;杨学军;张民选;邢座程;阳柳;曾献君;马驰远;李勇;陈海燕;李晋文;衣晓飞;张明;穆长富;倪晓强;唐遇星;张承义
分类号 G06F9/45(2006.01) 主分类号 G06F9/45(2006.01)
代理机构 湖南兆弘专利事务所 代理人 赵洪
主权项 1、一种基于逻辑发射序号的软、硬件结合指令相关性控制方法,其特征在于步骤为:(1)、编译:编译器为任意指令I编译产生指令操作码OP(I)、逻辑发射序号LIN(I)以及指令I与前w-1条指令之间的d个相关性向量,生成操作向量VOP(I)={OP(I),LIN(I),DepV0(I),DepV1(I),……,DepV(d-1)(I)};与编译器产生的信息相匹配,指令队列IQ的项k的结构为:IQ_Item(k)={OP(k),LIN(k),IQ_DepV0(k),IQ_DepV1(k),……,IQ_DepV(d-1)(k)};与此同时,微处理器硬件提供一个w位的指令队列IQ占用状态向量寄存器MaskInIQ,表征当前IQ中所有指令;对于任意一种相关性Depj,微处理器指令控制系统硬件提供一个w位的相关危险屏蔽向量寄存器MaskDepVj,用于表征当前IQ中所有指令对应于相关性Depj的状态;(2)、插入指令队列:在指令插入指令队列IQ前,微处理器指令控制系统需要保证在指令队列IQ中不会出现具有相同逻辑发射序号的指令;在指令插入指令队列IQ的过程中,微处理器硬件首先将指令I的操作向量VOP(I)进行预处理,产生插入操作向量IVOP(I);然后,按设计的插入顺序将IVOP(I)插入指令队列IQ的指定位置IQ_Item(k)中,k为插入位置序号;k的值取决于指令队列IQ的控制方法;其中,IVOP(I)={OP(I),LIN(I),IDepV0(I),IDepV1(I),……,IDepV(d-1)(I)},IDepVj(I)=DepVj(I)&MaskInIQ,0≤j≤d-1;(3)、相关性控制:微处理器指令控制系统直接采用指令所在指令队列项的当前队列相关危险向量产生相关危险控制信号,无需再对指令操作码进行相关性译码和检测;对于任意指令I,当表征所有相关危险是否已经满足的Dep_OK(I)为1时,当前指令I可以发射;其中,Dep_OK(I)=&(Dep_OK0(I),Dep_OK1(I),……,Dep_OK(d-1)(I)),Dep_OKj(I)=~(IQ_DepVj(PIN(I,t))&~MaskDepVj),0≤j≤d-1;(4)、相关性维护:在任意指令I的执行过程中,如果满足了相关性Depj,微处理器指令控制系统将把相应的相关危险屏蔽向量寄存器MaskDepVj中表征指令I的位置1;当指令队列IQ中的任意指令I执行完成时,微处理器指令控制系统将把指令I从指令队列IQ中清除,并根据指令队列IQ的控制方法调整后续指令的位置;与此同时,微处理器指令控制系统将把占用状态向量寄存器MaskInIQ以及所有相关危险屏蔽向量寄存器(MaskDepV0,MaskDepV1,……,MaskDepV(d-1))的值中表征指令I的位清0。
地址 410073湖南省长沙市砚瓦池正街47号国防科学技术大学计算机学院