多核处理器的自主节能
本文以甲骨文(Oracle)/SunMicrosystem公司的UltraSPARC T1处理器为例展开论述。图1所示为一款UltraSPARC T1多核嵌入式处理器中的一个硬件线程的流水线微架构。选择UltraSPARC T1的原因是,其设计源代码、仿真工具及设计验证套件均为开源,而且可以从Oracle公司网站上下载。本文将利用此案例讨论从哪方面以及通过何种方式实现节能。
图1:Ultra-SPARC T1嵌入式处理器的流水线微架构。
图2显示了与处理器每个内核相关的陷阱逻辑单元。陷阱实现了软件从低级到高级特权模式(例如从用户模式到管理或监督模式)的控制矢量传递。就UltraSPARC T1处理器而言,Tcc指令以及因指令引起的异常、复位、异步错误或中断请求均会导致陷阱的发生。
图2:陷阱逻辑单元。
通常,陷阱会导致SPARC流水线被冲刷(Flush)。处理器状态将被存储在陷阱寄存器堆栈中,而陷阱处理程序代码则将被执行。控制的实际传递是通过含有每个陷阱处理程序前八个指令的陷阱表来实现的。用于将陷阱传递到特权模式中的表格的虚拟基址在陷阱基址(TBA)寄存器中被指定。表格中的位移则取决于陷阱的类型和当前的陷阱级别。当遇到DONE(完成)或RETRY(重试)指令时,陷阱处理程序代码执行完毕。陷阱可能与SPARC内核流水线同步或异步。图2显示了与SPARC内核其他硬件模块相关的TLU中的陷阱控制和数据流。从IFU、EXU、LSU及TLU传入的陷阱的优先级最先被解析,解析的陷阱类型被确定。根据陷阱类型,以及在队列中没有其他更高优先级的中断或异步陷阱待处理的情况下,系统将向LSU发送冲刷信号,以提交之前未完成的所有命令。此外,陷阱类型也决定了什么样的处理器状态寄存器需要被存储到陷阱寄存器堆栈中。之后,将选择陷阱基址并将其发往流水线做进一步执行。
图3:芯片框图。
图3显示了多核嵌入式处理器的芯片布局。该处理器有可变数量的内核、L2缓存体(bank)、内核外浮点单元(FPU)及输入输出逻辑,而且它们通过芯片上的网络互连。在CASPER仿真环境中,设计师可以对各种架构参数进行修改。
多核处理器的自主节能
本文以甲骨文(Oracle)/SunMicrosystem公司的UltraSPARC T1处理器为例展开论述。图1所示为一款UltraSPARC T1多核嵌入式处理器中的一个硬件线程的流水线微架构。选择UltraSPARC T1的原因是,其设计源代码、仿真工具及设计验证套件均为开源,而且可以从Oracle公司网站上下载。本文将利用此案例讨论从哪方面以及通过何种方式实现节能。
图1:Ultra-SPARC T1嵌入式处理器的流水线微架构。
图2显示了与处理器每个内核相关的陷阱逻辑单元。陷阱实现了软件从低级到高级特权模式(例如从用户模式到管理或监督模式)的控制矢量传递。就UltraSPARC T1处理器而言,Tcc指令以及因指令引起的异常、复位、异步错误或中断请求均会导致陷阱的发生。
图2:陷阱逻辑单元。
通常,陷阱会导致SPARC流水线被冲刷(Flush)。处理器状态将被存储在陷阱寄存器堆栈中,而陷阱处理程序代码则将被执行。控制的实际传递是通过含有每个陷阱处理程序前八个指令的陷阱表来实现的。用于将陷阱传递到特权模式中的表格的虚拟基址在陷阱基址(TBA)寄存器中被指定。表格中的位移则取决于陷阱的类型和当前的陷阱级别。当遇到DONE(完成)或RETRY(重试)指令时,陷阱处理程序代码执行完毕。陷阱可能与SPARC内核流水线同步或异步。图2显示了与SPARC内核其他硬件模块相关的TLU中的陷阱控制和数据流。从IFU、EXU、LSU及TLU传入的陷阱的优先级最先被解析,解析的陷阱类型被确定。根据陷阱类型,以及在队列中没有其他更高优先级的中断或异步陷阱待处理的情况下,系统将向LSU发送冲刷信号,以提交之前未完成的所有命令。此外,陷阱类型也决定了什么样的处理器状态寄存器需要被存储到陷阱寄存器堆栈中。之后,将选择陷阱基址并将其发往流水线做进一步执行。
图3:芯片框图。
图3显示了多核嵌入式处理器的芯片布局。该处理器有可变数量的内核、L2缓存体(bank)、内核外浮点单元(FPU)及输入输出逻辑,而且它们通过芯片上的网络互连。在CASPER仿真环境中,设计师可以对各种架构参数进行修改。
举报