【技术实现步骤摘要】
本专利技术主要涉及一种改进的数据处理系统。更具体地,本专利技术提供一种用于处理多周期非流水线指令时序的系统和方法。
技术介绍
典型地,由硬件执行的指令,例如乘法、除法、平方根和/或其他复杂的数学程序,采用流水线很困难而且代价高。用来计算这样复杂指令的算法本身是复杂的并且典型地必须分解为迭代解法。由于包含一个循环(loop),这种复杂指令的处理不能是流水线的,否则当尝试循环时会出现冲突。在设计该处理器时,从功率和面积的观点看,直接执行该算法的成本太高。与流水线处理这些运算相比,许多处理器通过一组简短的数学运算运行一种递归循环,最终得到该运算的正确结果。虽然这样得到了正确结果,但是需要额外的处理器周期来完成递归循环,因此增加了处理器中的时延。而且,从属指令--即在其可以执行之前需要非流水线指令的结果的一种指令,在该结果可以用于处理该从属指令之前,必须等待该递归循环完成,因此更进一步增加了时延。通常处理非流水线指令很困难并且很冗长,例如以上所讨论的利用递归循环进行处理的非流水线指令。通过先假设将需要多久完成一个非流水线指令的执行,一般会损失性能。后续指令将被延迟,直 ...
【技术保护点】
一种在数据处理系统中用于处理非流水线指令的方法,包括:向一个执行单元发布所述非流水线指令;将对所述执行单元的其他指令的发布搁置一个初始搁置时段;判定在所述初始搁置时段之后是否从所述执行单元接收到一个搁置请求;以及 如果接收到来自所述执行单元的一个搁置请求,则将对所述执行单元的其他指令的发布的搁置延长一个额外的处理器周期。
【技术特征摘要】
US 2005-3-31 11/097,7411.一种在数据处理系统中用于处理非流水线指令的方法,包括向一个执行单元发布所述非流水线指令;将对所述执行单元的其他指令的发布搁置一个初始搁置时段;判定在所述初始搁置时段之后是否从所述执行单元接收到一个搁置请求;以及如果接收到来自所述执行单元的一个搁置请求,则将对所述执行单元的其他指令的发布的搁置延长一个额外的处理器周期。2.根据权利要求1所述的方法,其中所述初始搁置时段是完成对一个最快的非流水线指令的执行所需的最小数目的处理器周期。3.根据权利要求1所述的方法,还包括如果没有从所述执行单元接收到一个搁置请求,则停止搁置对其他指令的发布;以及如果没有接收到一个搁置请求,则把所述非流水线指令作为一个流水线指令重新发布给所述执行单元。4.根据权利要求1所述的方法,其中在所述数据处理系统的一个处理器的一个发布单元内执行所述方法。5.根据权利要求1所述的方法,还包括接收一个用于通过执行单元处理的指令;以及判定所述指令是一个流水线指令还是一个非流水线指令。6.根据权利要求5所述的方法,其中判定所述指令是一个流水线指令还是一个非流水线指令包括处理与所述指令相关联的一个操作代码;以及比较所述操作代码和流水线指令操作代码表,其中如果所述操作代码不在所述流水线指令操作代码表中,则判定所述指令是一个非流水线指令。7.根据权利要求1所述的方法,其中,对所述执行单元的其他指令的发布搁置一个初始搁置时段包括使用一个状态机来把一个发布逻辑单元置于一个搁置状态;以及从一个搁置状态转换至另一个搁置状态,直至一个初始搁置时段终止。8.根据权利要求7所述的方法,其中,在向所述执行单元发布所述指令之前,所述状态机处于非搁置状态,并且当向所述执行单元发布所述指令时,所述状态机就转换至第一搁置状态。9.根据权利要求3所述的方法,其中,如果没有接收到一个搁置请求,则把所述非流水线指令作为一个流水线指令重新发布给所述执行单元,包括在允许把所述非流水线指令的结果旁路到下一个相关指令时,重新发布所述非流水线指令。10.根据权利要求1所述的方法,其中,所述非流水线指令是乘法、除法、点乘积或平方根指令中的一种。11.一种处理器,包括一个发布逻辑单元;和一个执行单元,其耦合到所述发布逻辑单元,其中所述发布逻辑单元包括用于执行以下操...
【专利技术属性】
技术研发人员:乔纳森詹姆斯德门特,库尔特艾伦费斯特,戴维斯科特雷,戴维希派,小艾伯特詹姆斯范诺斯特兰德,
申请(专利权)人:国际商业机器公司,
类型:发明
国别省市:US[美国]
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。