电子电路制造技术

技术编号:2919806 阅读:182 留言:0更新日期:2012-04-11 18:40
提供了一种适于处理多种类型指令的电子电路,该电子电路包括第一和第二流水线级;和位于所述流水线级之间的锁存器;其中该电子电路适于在处理响应于使能信号而打开和闭合锁存器的第一类型指令时以普通模式操作,并且在处理保持打开锁存器的第二类型指令时以简化模式操作,使得指令传播经过第一和第二流水线级而不被存储在锁存器中;其中第一类型指令要求由第一和第二流水线级处理而第二类型指令要求由第二流水线级处理。

【技术实现步骤摘要】
【国外来华专利技术】
本专利技术涉及电子电路领域,并且特别涉及具有流水线的电子电路,所述流水线具有访问共享资源的可变等待时间。
技术介绍
许多传统电子电路,例如微处理器使用“流水线”来增加并行性和性能。即是,在微处理器中的指令执行包括若干独立的步骤,可在微处理器中创建分离的单元以执行每个步骤。当单元完成执行一条指令时,它被传递给“流水线”中的下一个单元,并且开始对下一个指令进行工作。因此,尽管执行整个指令所需的时间长度保持与非流水线系统一样,但是因为下一条指令只落后一个单元,因此总的结果是微处理器的性能提高了。与由全局时钟信号来控制部件处理数据多久以及数据何时传播到系统的下一部分的同步电路不同,异步系统中的部件以它们自己的速率执行任务,并且只有当系统的下一部分确认接收到数据时,才转移到下一个任务。因此,由于不存在全局时钟信号,对于异步系统中的部件来说需要使用握手协议,以便系统各个部分能够彼此通信。在一个类型的系统中,当第一级请求第二级执行一个计算时,第一级向第二级发送一个请求。第二级执行计算,并且当它完成该计算时,将确认信号发送第一级。当第一级接收到确认信号时,它知道计算已经完成,并且它可以转移到下一个指令。异步系统的替换类型如在Singh M.和Nowick,S.M.的“MOUSETRAPultra high-speed transitional signallingasynchronous pipelines”,计算机设计国际会议(ICCD)2001的会议论文集第9-17页、在Sutherland I.E.的“Micropipelines”ACM通信1989中、以及在名为“Electronic circuit with a chain ofprocessing elements”的欧洲专利申请号03103399.6中描述。在异步处理器中,通常利用锁存器来实现流水线级。在指令集中一般由流水线处理器实现的指令通常具有不同的等待时间。这意味着当以顺序方式执行指令时,指令花费长度不等的时间来完成。例如,考虑算数计算(ALU)指令和加载操作。图1示出了一个具有五个级的经典五级流水线2,五个级具有各自的锁存器4、6、8和10。CPU算数和逻辑计算在执行级(第三级)中执行。加载指令使用第三级用于地址计算并且使用存储级(第四级)来实际地从存储器12加载数据。在写回级(第五级)中,发生将执行级(第三级)的结果或从存储器12加载的数据写回寄存器文件14的操作。因此在原理上,ALU计算的写回可发生在执行级之后,而加载操作的写回不能早于在存储级(第四级)之后。但是,如果执行级的结果或存储级的结果都被允许在这些结果可用时立刻写回到寄存器文件14,在ALU计算之后的加载将导致两个同时的写回,从而引起对寄存器文件资源14的争用。目前以两种方式来解决该资源争用。在第一种方法中,将附加的写端口添加到寄存器文件14上,以允许两个同时的写动作可在寄存器文件14中发生。在图1中,虚线16表示从第三锁存器8到寄存器文件14中的第二写端口的连接。但是,该方法从硬件的角度看来很昂贵。并且,在两个写动作的目的地都在寄存器文件14中的同一位置的情况下,一些控制电路必须判定哪个值应当被首先写回。第二种方法(也如图1所示)将ALU操作的结果强行通过附加的流水线级(即在前一操作的结果已经被传递到寄存器文件14后将其存储在锁存器10中),使得其要求与载入操作相同的写回延迟。该方法扩展ALU操作的延迟以便使载入指令的延迟匹配,由此降低了性能并增加了流水线的功率消耗。该方法另一缺点在于,即使ALU操作的结果有可能被更早地写回到寄存器文件14(即当在流水线中在它之前没有加载指令时),这也是不行的,因为其仍必须传播经过所述“附加的”级(锁存器10)。因此,存在一种在不要求大量额外硬件或增加指令等待时间的情况下防止寄存器文件资源争用的需要。
技术实现思路
根据本专利技术的第一方面,提供了一种适于处理多种类型指令的电子电路,该电子电路包括第一和第二流水线级;和位于所述流水线级之间的锁存器;其中该电子电路适于在处理响应于使能信号而打开和闭合锁存器的第一类型指令时以普通模式操作,并且在处理保持打开锁存器的第二类型指令时以简化模式操作,使得指令传播经过第一和第二流水线级而不被存储在锁存器中;其中第一类型指令要求由第一和第二流水线级处理而第二类型指令要求由第二流水线级处理。根据本专利技术的另一方面,提供了一种操作电子电路的方法,该电子电路适于处理多种类型指令,该电子电路包括第一和第二流水线级,以及位于所述流水线级之间的锁存器,该方法包括在处理响应于使能信号而打开和闭合锁存器的第一类型指令时以普通模式操作电子电路,并且在处理保持打开锁存器的第二类型指令时以简化模式操作电子电路,使得指令传播经过第一和第二流水线级而不被存储在锁存器中;其中第一类型指令要求由第一和第二流水线级处理而第二类型指令要求由第二流水线级处理。附图说明为了更好地理解本专利技术,并且为了更清楚地示出其是如何实施的,现在通过举例的方式来参考附图,其中图1示出了传统五级微处理器流水线;图2示出了根据本专利技术的五级微处理器流水线;图3示出了根据本专利技术的流水线锁存器控制器的一个实施方式;和图4示出了根据本专利技术的五级流水线的操作。具体实施例方式尽管以下将参考异步微处理器中的流水线来描述本专利技术,但是可以理解的是,本专利技术可应用于任何类型的具有流水线的电子电路,其中通过将延迟引入到处理具有不同等待时间的指令中来解决争用共享资源的问题。图2示出了根据本专利技术的微处理器流水线。在该示例实施例中,微处理器流水线20是一个五级流水线,但是可以理解的是,本专利技术可应用于具有更多或更少级的流水线。此外,针对一个具体的握手协议来描述本专利技术,尽管可以理解,本专利技术可应用于使用其它协议的系统。流水线20的各级都包括各自的锁存器(22、24、26、28和30),并且如传统的那样,每个锁存器具有各自的确定锁存器的操作模式的使能信号,En1、En2、En3、En4或En5。当锁存器被使能时,锁存器的输出与锁存器的输入相同,并且锁存器被称为透明的。当锁存器被禁用时,锁存器的输出保持其输入处的最后值。指令存储器32连接到第一锁存器,并且它存储处理器流水线20的指令。指令可包括用来访问数据存储器34中的特定地址的加载指令,由算数逻辑单元(ALU)36执行的算数计算指令,或者可包括其它类型的指令,比如比较、跳转、分支和存储指令。如上所述,加载和算数计算指令的结果被写入到第五锁存器30。但是,比较、跳转、分支和存储指令的结构不需要被写入到第五锁存器30,并且它们的执行可在第三或第四级之后完成。所获取的指令被存储在第一锁存器22中,并被传递到单元38。单元38通常被称为解码级并对所获取的指令进行解码。当第二锁存器24已经接收到任何先前的指令已经安全存储在第三锁存器26中的确认时,可包括控制和数据信号的单元38的输出被存储在第二锁存器24中。这些控制和数据信号告诉流水线的每一级它们应当执行哪个操作。在第二锁存器24中存储的指令接着由ALU36执行。如果指令是算数计算指令,ALU36执行计算。但是,如果指令是加载指令,ALU36计算在流水线20的第四级处的数据存储器34中必须访问的地址。当第三锁本文档来自技高网
...

【技术保护点】
一种适于处理多种类型指令的电子电路,该电子电路包括:第一和第二流水线级;和位于所述流水线级之间的锁存器;其中该电子电路适于在处理响应于使能信号而打开和闭合锁存器的第一类型指令时以普通模式操作,并且在处理保持打开锁存器 的第二类型指令时以简化模式操作,使得指令传播经过第一和第二流水线级而不被存储在锁存器中;其中第一类型指令要求由第一和第二流水线级处理而第二类型指令要求由第二流水线级处理。

【技术特征摘要】
【国外来华专利技术】...

【专利技术属性】
技术研发人员:AJ宾克MNO德克莱克
申请(专利权)人:NXP股份有限公司
类型:发明
国别省市:NL[荷兰]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1