首页> 中国专利> 时钟控制装置、时钟控制方法、时钟控制程序及集成电路

时钟控制装置、时钟控制方法、时钟控制程序及集成电路

摘要

指令检测部(235),根据现在执行中的指令与后续于现在执行中的指令的后续指令的数据依赖关系,检测是否存在能够与顺序无关地加以执行的后续指令,时钟切换判断部(236),接收存储器停顿的开始和结束的通知,判定是否正处于存储器停顿发生中,当判定为正处于存储器停顿发生中时,基于指令检测部(235)的检测结果,判断是将提供给CPU(200)的时钟信号切换为低时钟信号(239)还是停止,时钟切换部(237),根据时钟切换判断部(236)的判断,切换时钟信号。根据该结构,不会使性能下降而能够降低功耗。

著录项

  • 公开/公告号CN101606135A

    专利类型发明专利

  • 公开/公告日2009-12-16

    原文格式PDF

  • 申请/专利权人 松下电器产业株式会社;

    申请/专利号CN200880004650.6

  • 发明设计人 横山亮;谷川忠雄;

    申请日2008-12-10

  • 分类号G06F12/08(20060101);G06F1/04(20060101);G06F9/38(20060101);

  • 代理机构11021 中科专利商标代理有限责任公司;

  • 代理人汪惠民

  • 地址 日本大阪府

  • 入库时间 2023-12-17 23:14:27

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2018-01-26

    未缴年费专利权终止 IPC(主分类):G06F12/08 授权公告日:20120328 终止日期:20161210 申请日:20081210

    专利权的终止

  • 2014-08-13

    专利权的转移 IPC(主分类):G06F12/08 变更前: 变更后: 登记生效日:20140724 申请日:20081210

    专利申请权、专利权的转移

  • 2012-03-28

    授权

    授权

  • 2010-10-06

    实质审查的生效 IPC(主分类):G06F12/08 申请日:20081210

    实质审查的生效

  • 2009-12-16

    公开

    公开

说明书

技术领域

本发明涉及一种当发生存储器停顿(memory stall)时,对提供给中央运算处理装置的时钟信号的切换进行控制的时钟控制装置、时钟控制方法、时钟控制程序以及集成电路。

背景技术

近年来,装备了处理器(processor)、缓冲存储装置(cache device)以及外部输入输出端口的计算机系统,包括多个处理器、多个外部输入输出端口、以及工作时钟和总线宽度不同的多个总线(bus)等,从而提高了功能,并且在1个芯片(chip)上进行安装的集成化获得进展。此外,计算机系统还存在用来调解在多个处理器之间进行竞争的总线访问(busaccesses)的存储器控制器等,从而电路变得复杂。并且,中央运算处理装置(以下,称作CPU)的工作时钟的改善十分显著,对像PDA(Personal Data Assistant)、移动体通信终端、数码照相机和便携音响设备这样的、通过电池驱动等进行工作的便携型电子设备进行控制的计算机系统的CPU的工作时钟也日趋改善。另一方面,对于便携型电子设备,不仅迫切期望CPU的高速化,而且还迫切期望低功耗化。

为了降低这种计算机系统的功耗,有时将时钟门控技术(clock gating technology)引入计算机系统的处理器和总线。所谓时钟门控技术是这样一种技术,即,在存在临时未使用的电路块(circuit block)时,通过停止在任意的周期向该电路块提供时钟信号,来降低计算机系统整体的功耗。

在近年来的计算机系统中,CPU的工作时钟格外地延长,而与其相比,与CPU和外部的主存储装置连接的总线的工作时钟的延长率较低。因此,在访问存储器时,会产生一种称作存储器停顿(memory stall)的、让CPU等待的现象。此时,由于CPU需要在存储器访问结束时立即重新开始工作,所以时钟信号被持续提供。因此,即使引入时钟门控技术,也会有功率节省效果较差,数十毫安的电流流过的情况。

作为以往的用于削减发生存储器停顿时的功耗的技术,具有以下的技术:当发生缓冲存储错误(cache miss)时,在用于访问外部存储器的可编程加权控制器(programmableweight controller)中,生成与所设定的加权数(weight number)相适应的时钟数的时钟提供停止信号,停止提供给CPU和缓冲存储装置的至少其中之一的时钟信号(例如,参照日本专利公开公报特开2002-6969号)。

但是,在以往的结构中,即使接续在存储器停顿发生的指令之后的指令是能够与顺序无关地加以执行的指令,也由于向CPU提供的时钟信号停止而不能执行,从而存在引起性能下降的问题。

发明内容

本发明是为了解决上述问题,其目的在于提供一种不会使性能下降、且能够降低功耗的时钟控制装置、时钟控制方法、时钟控制程序以及集成电路。

本发明所提供的时钟控制装置包括:地址信息检测部,检测来自中央运算处理装置的对主存储装置的访问,并检测表示上述主存储装置的访问目的地的地址的地址信息;缓冲存储错误检测部,检测配置在上述中央运算处理装置与上述主存储装置之间的缓冲存储装置的缓冲存储错误的发生;缓冲存储数据检测部,检测在上述缓冲存储装置中是否存储了数据;停顿通知部,基于由上述地址信息检测部检测到的上述地址信息、上述缓冲存储错误检测部的检测结果、以及上述缓冲存储数据检测部的检测结果,通知表示访问上述主存储装置的存储器停顿的开始和结束;指令检测部,根据现在执行中的指令与后续于现在执行中的指令的后续指令的数据依赖关系,检测是否存在能够与顺序无关地加以执行的上述后续指令;时钟切换判断部,接收来自上述停顿通知部的有关存储器停顿的开始和结束的通知,判定是否正处于存储器停顿发生中,在判定为正处于存储器停顿发生中时,基于上述指令检测部的检测结果,判断是将提供给上述中央运算处理装置的时钟信号切换为低时钟信号还是停止;以及时钟切换部,根据由上述时钟切换判断部做出的判断,切换上述时钟信号。

根据该结构,通过地址信息检测部,检测来自中央运算处理装置的对主存储装置的访问,并检测表示主存储装置的访问目的地的地址的地址信息。通过缓冲存储错误检测部,检测配置在中央运算处理装置与主存储装置之间的缓冲存储装置的缓冲存储错误的发生,通过缓冲存储数据检测部,检测在缓冲存储装置中是否存储了数据。而且,通过停顿通知部,基于由地址信息检测部检测到的地址信息、缓冲存储错误检测部的检测结果、以及缓冲存储数据检测部的检测结果,通知表示访问主存储装置的存储器停顿的开始和结束。通过指令检测部,根据现在执行中的指令与后续于现在执行中的指令的后续指令的数据依赖关系,检测是否存在能够与顺序无关地加以执行的后续指令。通过时钟切换判断部,接收来自停顿通知部的有关存储器停顿的开始和结束的通知,判定是否正处于存储器停顿发生中。在此,当判定为正处于存储器停顿发生中时,基于指令检测部的检测结果,判断是将提供给中央运算处理装置的时钟信号切换为低时钟信号还是停止。然后,通过时钟切换部,根据由时钟切换判断部做出的判断,切换时钟信号。

根据本发明,由于在存储器停顿发生中,如果后续于现在执行中的指令的后续指令能够与顺序无关地被加以执行,则使提供给中央运算处理装置的时钟信号的时钟频率降低,如果后续的指令不能与顺序无关地被加以执行,则使提供给中央运算处理装置的时钟信号停止,因此不会使性能下降而能够降低功耗。

本发明的目的、特征和优点,通过以下的详细说明和附图而更加清楚。

附图说明

图1是表示具有本发明实施例1中的计算机系统的信息处理装置的硬件结构的框图。

图2是表示本发明实施例1中的计算机系统的结构的框图。

图3是表示本发明实施例1中的时钟控制装置的时钟控制处理流程的流程图。

图4是表示在图3的步骤S106中由时钟切换判断部执行的时钟切换判断处理流程的流程图。

图5是表示在图3的步骤S107中由时钟切换部执行的时钟切换处理流程的流程图。

图6是表示本发明实施例2中的计算机系统的结构的框图。

图7是表示本发明实施例2中的时钟控制装置的时钟控制处理流程的流程图。

图8是表示在图7的步骤S208中由时钟切换判断部执行的时钟切换判断处理流程的流程图。

图9是表示本发明实施例3中的集成电路的结构的框图。

具体实施方式

以下参照附图对本发明的实施方式进行说明。此外,以下的实施方式是将本发明进行了具体化的例子,并不具有限定本发明的技术范围的性质。

(实施例1)

图1是表示本发明实施例1中的信息处理装置的硬件结构的框图。信息处理装置1作为其自身也能够供用户使用,但是也可以组装到各种电气设备中。作为信息处理装置的一例,具有代表性的是PDA、移动体通信终端、数码照相机和便携音频设备等便携型电子设备。在便携型电子设备中,由于是通过电池驱动等进行工作,因此特别要求功率节省,所以特别有用。

信息处理装置1包括计算机系统10、总线11、主存储装置12、定时器电路14、中断控制器15、显示装置16、输入装置17和通信装置18。计算机系统10、主存储装置12、定时器电路14、中断控制器15、显示装置16、输入装置17和通信装置18通过总线11互相连接。此外,根据需要,还可以在总线11上连接硬盘装置13和读取装置19。硬盘装置13、读取装置19、显示装置16和输入装置17分别通过接口(I/F)与总线11连接。

计算机系统10包括CPU(Central Processing Unit:中央运算处理部)20、缓冲存储装置(cache device)21、存储器控制器22以及时钟控制装置23。此外,计算机系统10较为理想的是具有作为在单一的半导体基板上形成的LSI(Large Scale Intergratedcircuit:大规模集成电路)等集成电路的结构。此外,在该LSI上也可以装置中断控制器15等其他的结构要素。关于该计算机系统10的详细情况,将在后面用图2进行详细说明。

主存储装置12包括ROM(Read Only Memory)和RAM(Random Access Memory)。ROM存储规定CPU20的工作的计算机程序。也可以使计算机程序存储在硬盘装置13中。CPU20根据需要将ROM或硬盘装置13所存储的计算机程序写入RAM,并且执行计算机程序规定的处理。RAM还作为临时存储伴随CPU20执行处理而产生的数据的介质发挥功能。

此外,主存储装置12与后述的缓冲存储装置21相比,虽然访问速度较慢,但是能够存储大容量的数据。而且,ROM也包括像闪存ROM那样能够写入,即使切断电源也能够保持存储内容的非易失性存储器和存储介质。RAM包括切断电源后不能保持存储内容的易失性存储器和存储介质。

硬盘装置13将计算机程序或数据写入内置的未图示的硬盘中,并从内置的未图示的硬盘中读出计算机程序或数据。

中断控制器(interrupt controller)15将从定时器电路14、输入装置17、作为网络设备的通信装置18、硬盘装置13和读取装置19等发送的中断请求信号转发到CPU20。来自各装置的中断请求中附加有优先度。中断控制器15具有在从多个装置同时发生中断请求时,根据优先度调解这些中断请求的功能。

显示装置16是例如LCD(Liquid Crystal Display:液晶显示器),在画面上显示数据和图像等,并且用音声输出数据等。

输入装置17是例如排列在PDA上的键盘、排列在移动电话上的输入按钮、或者装卸自如的鼠标,通过用户的操作输入数据等。定时器电路14按一定的周期输出定时中断信号(timer interrupt signal)。

通信装置18通过电话线、网络线、无线或红外线等通信线路,在外部与自身之间,交换计算机程序或数据。

读取装置19读取记录在计算机可读取的记录介质(例如,CD、DVD或存储卡等)24中的计算机程序(时钟控制程序)或数据。

如上所述,信息处理装置1作为计算机而构成。上述计算机程序可以通过未图示的软盘和CD-ROM等程序记录介质提供给主存储装置12,也可以通过电通信线路等传输介质提供给主存储装置12。例如,记录在作为程序记录介质的CD-ROM中的计算机程序,能够通过将读取装置19与信息处理装置1连接来进行读取,并能够存储到主存储装置12的RAM或硬盘装置13中。

在通过作为程序记录介质的ROM来提供计算机程序的情况下,通过将该ROM搭载在主存储装置12上,CPU20能够按照上述计算机程序执行处理。通过电通信线路等传输介质所提供的计算机程序通过通信装置18而被接收,并存储到例如主存储装置12的RAM或硬盘装置13中。传输介质不限于有线的传输介质,也可以是无线的传输介质。此外,传输介质不仅包括通信线路,还包括中继通信线路的中继装置,例如路由器。

图2是表示本发明实施例1中的计算机系统的结构的框图。

在图2中,计算机系统100相当于前述图1的计算机系统10。此外,主存储装置12表示图1的主存储装置12。

计算机系统100包括CPU200、L2缓冲存储装置210、存储器控制器220以及时钟控制装置230,通过图1的总线11与主存储装置12连接。此外,在图2中,省略总线11。

CPU200相当于图1的CPU20,包括接收使CPU200工作的时钟信号的时钟输入部201、CPU核心部(CPU core section)202以及L1缓冲存储装置203。CPU200参照主存储装置12所存储的指令和数据,在计算机系统100中执行必要的处理。

时钟输入部201接收从CPU200的外部提供的时钟信号,将接收到的时钟信号提供给CPU核心部202以及L1缓冲存储装置203。

CPU核心部202与由时钟输入部201提供的时钟信号同步地进行工作。CPU核心部202是执行计算机系统100中的处理的主体。CPU核心部202在取出存储在L1缓冲存储装置203、L2缓冲存储装置210或与外部连接的主存储装置12中的指令后,对该指令进行解码,并执行与解码结果相适应的指令。此外,CPU核心部202按照与解码结果相适应的指令,读出存储在L1缓冲存储装置203、L2缓冲存储装置210或与外部连接的主存储装置12中的数据,或者将数据写入到L1缓冲存储装置203、L2缓冲存储装置210或与外部连接的主存储装置12中。

L1缓冲存储装置203与由时钟输入部201提供的时钟信号同步地进行工作。L1缓冲存储装置203将CPU核心部202访问的数据与表示主存储装置12中的地址的地址信息对应起来进行临时存储。然后,在CPU核心部202访问主存储装置12时,如果与地址信息对应的数据存储在L1缓冲存储装置203中,CPU核心部202访问L1缓冲存储装置203所存储的数据。由此,与访问主存储装置12的情况相比,能够大幅度缩短访问时间。此外,还能够削减用于访问与外部连接的主存储装置12的功耗。

另一方面,在CPU核心部202访问主存储装置12时,如果与地址信息对应的数据没有存储在L1缓冲存储装置203中,CPU核心部202访问L2缓冲存储装置210,并开始搜索与地址信息对应的数据。

L2缓冲存储装置210相当于图1的缓冲存储装置21,配置在CPU200与主存储装置12之间。L2缓冲存储装置210将CPU核心部202访问的数据与表示主存储装置12中的地址的地址信息对应起来进行临时存储。然后,在CPU核心部202访问主存储装置12时,如果与地址信息对应的数据存储在L2缓冲存储装置210中,CPU核心部202访问L2缓冲存储装置210所存储的数据。由此,与访问主存储装置12的情况相比,能够大幅度缩短访问时间。此外,还能够削减用于访问与外部连接的主存储装置12的功耗。

另一方面,在CPU核心部202访问主存储装置12时,如果与地址信息对应的数据没有存储在L2缓冲存储装置210中,CPU核心部202通过存储器控制器220,访问主存储装置12所存储的数据。

存储器控制器220相当于图1的存储器控制器22,和访问与外部连接的主存储装置12的、计算机系统100内的电路连接。例如,CPU200通过L2缓冲存储装置210与存储器控制器220连接。存储器控制器220作为与工作时钟不同的外部的主存储装置12的接口而起作用。此外,与存储器控制器220连接的主存储装置12可以是1个,也可以是1个以上。并且,对与存储器控制器220连接的、并与外部连接的主存储装置12进行访问的计算机系统100内的电路可以是1个,也可以是1个以上。存储器控制器220具有调解来自在计算机系统100内被连接的多个电路的访问的作用。

时钟控制装置230相当于图1的时钟控制装置23,包括缓冲存储错误信号(cache misssignal)检测部231、地址信息检测部232、缓冲存储数据(cache data)检测部233、停顿(stall)判断部234、指令检测部235、时钟切换判断部236以及时钟切换部237。

缓冲存储错误信号检测部231,检测L2缓冲存储装置210中的缓冲存储错误的发生。缓冲存储错误信号检测部231,通过检测通知L2缓冲存储装置210中发生缓冲存储错误的信号(缓冲存储错误信号),来检测L2缓冲存储装置210中的缓冲存储错误的发生。在CPU核心部202访问主存储装置12中的数据时,如果L2缓冲存储装置210未存储与访问对象的地址信息对应的数据,L2缓冲存储装置210将缓冲存储错误信号、和与发生了缓冲存储错误的数据对应的地址信息输出到缓冲存储错误信号检测部231。缓冲存储错误信号检测部231检测缓冲存储错误信号,将与发生了缓冲存储错误的数据对应的地址信息通知给停顿判断部234。

地址信息检测部232,在CPU核心部202按照被解码后的指令读出存储在L1缓冲存储装置203、L2缓冲存储装置210或与外部连接的主存储装置12中的数据时,或者将数据写入到L1缓冲存储装置203、L2缓冲存储装置210或与外部连接的主存储装置12中时,检测从CPU核心部202发出的地址信息。此外,地址信息检测部232,将检测到的地址信息通知给停顿判断部234。

缓冲存储数据检测部233检测在L2缓冲存储装置210中是否存储了数据。当缓冲存储数据检测部233检测到在L2缓冲存储装置210中存储了数据时,将表示被存储的数据在主存储装置12中的地址的地址信息通知给停顿判断部234。

缓冲存储数据检测部233,在CPU核心部202通过存储器控制器220读出了存储在与外部连接的主存储装置12中的数据时,或者将数据写入到主存储装置12时,检测在L2缓冲存储装置210中是否存储了数据,以及与所存储的数据对应的、主存储装置12中的地址信息。而且,缓冲存储数据检测部233将检测到的地址信息通知给停顿判断部234。

停顿判断部234,基于由地址信息检测部232检测到的地址信息、缓冲存储错误信号检测部231的检测结果、以及缓冲存储数据检测部233的检测结果,通知表示访问主存储装置12的存储器停顿的开始和结束。停顿判断部234根据由地址信息检测部232通知的地址信息,和由缓冲存储错误信号检测部231通知的地址信息,判断存储器停顿的开始。此外,停顿判断部234根据由地址信息检测部232通知的地址信息,和由缓冲存储数据检测部233通知的地址信息,判断存储器停顿的结束。

停顿判断部234,在由地址信息检测部232通知的地址信息与由缓冲存储错误信号检测部231通知的地址信息一致时,将表示存储器停顿已开始的停顿开始信号通知给时钟切换判断部236。此外,停顿判断部234,在由地址信息检测部232通知的地址信息与由缓冲存储数据检测部233通知的地址信息一致时,将表示存储器停顿已结束的停顿结束信号通知给时钟切换判断部236。

即,停顿判断部234接收由地址信息检测部232检测到的地址信息,和由缓冲存储错误信号检测部231检测到的地址信息,将接收到的地址信息进行对照。如果对照的结果是地址信息一致,停顿判断部234判断已开始读出存储在与外部连接的主存储装置12中的数据,或者已开始在主存储装置12中写入数据。也就是说,停顿判断部234判断CPU核心部202所解码的指令开始了存储器停顿。

此外,停顿判断部234在判断CPU核心部202所解码的指令开始了存储器停顿之后,接收由缓冲存储数据检测部233检测到的地址信息。然后,停顿判断部234将由缓冲存储数据检测部233检测到的地址信息与由地址信息检测部232检测到的地址信息进行对照。如果对照的结果是地址信息一致,停顿判断部234判断已结束了读出存储在与外部连接的主存储装置12中的数据,或者已结束了在主存储装置12中写入数据。也就是说,停顿判断部234判断根据CPU核心部202所解码的指令而发生的存储器停顿已结束。

停顿判断部234根据判断结果,将表示存储器停顿开始的停顿开始信号,或者表示存储器停顿结束的停顿结束信号通知给时钟切换判断部236。

指令检测部235,根据现在执行中的指令与后续于现在执行中的指令的后续指令的数据依赖关系,检测是否存在能够与顺序无关地加以执行的后续指令。

指令检测部235依次存储CPU核心部202所解码的指令,搜索各指令的后续指令中的、能够与顺序无关地以无顺序(out of order)加以执行的指令数。例如,在第1个指令是更新寄存器A的内容的指令时,对使用该寄存器A的结果的指令是否处在后续指令中进行搜索。如果搜索的结果是第3个指令将寄存器A的内容用于运算,则可知第1个指令与第3个指令存在数据依赖关系。此时,由于第2个指令与第1个指令不存在数据依赖关系,因此,即使不等待第1个指令结束,第2个指令也能够执行。因此,后续于第1个指令的能够以无顺序加以执行的后续指令的数目为1。

这样,指令检测部235,根据现在执行中的指令与后续于现在执行中的指令的后续指令的数据依赖关系,检测是否存在不使用现在执行中的指令的执行结果而能够执行的后续指令。

指令检测部235在存在能够与顺序无关地加以执行的后续指令时,将表示能够与顺序无关地加以执行的后续指令的数目的无顺序指令数通知给时钟切换判断部236。即,指令检测部235从CPU核心部202接收与CPU核心部202现在执行的指令相关的信息,将相对于现在执行的指令,能够以无顺序执行的后续指令的数目(以下,简称为“无顺序指令数”)通知给时钟切换判断部236。

时钟切换部237接收提供给CPU200的高时钟信号238和低时钟信号239。此外,高时钟信号238和低时钟信号239由未图示的时钟信号生成部生成。低时钟信号239是时钟频率低于高时钟信号238的时钟信号。

时钟切换部237根据时钟切换判断部236的判断,切换时钟信号。时钟切换部237在没有从时钟切换判断部236接收表示切换到低时钟信号239的低时钟切换信号时的情况下,将高时钟信号238发送到时钟输入部201。此外,时钟切换部237在从时钟切换判断部236接收到低时钟切换信号时,将低时钟信号239发送到时钟输入部201。并且,时钟切换部237在从时钟切换判断部236接收到表示停止时钟信号的时钟停止信号时,停止提供给时钟输入部201的时钟信号。

时钟切换判断部236接收来自停顿判断部234的有关存储器停顿的开始和结束的通知,判定是否正处于存储器停顿发生中,当判定为正处于存储器停顿发生中时,基于指令检测部235的检测结果,判断是将提供给CPU200的时钟信号切换为低时钟信号239,还是停止提供给CPU200的时钟信号。

时钟切换判断部236,在由指令检测部235检测到存在能够与顺序无关地加以执行的后续指令时,判断将提供给CPU200的时钟信号切换为低时钟信号239,在由指令检测部235检测到不存在能够与顺序无关地加以执行的后续指令时,判断停止提供给CPU200的时钟信号。

时钟切换判断部236接收来自停顿判断部234的有关停顿开始信号或停顿结束信号,判定是否正处于存储器停顿发生中。时钟切换判断部236将自停顿判断部234通知停顿开始信号起到通知停顿结束信号为止的期间,判断为正处于存储器停顿发生中。

此外,时钟切换判断部236从指令检测部235接收与相对于CPU核心部202现在执行的指令的、能够以无顺序执行的后续指令的数目相关的信息。时钟切换判断部236在由于没有接收停顿开始信号而判定没有发生存储器停顿的情况下,什么也不做。因此,时钟切换部237将现在发送中的时钟信号即高时钟信号原封不动地持续发送到时钟输入部201。

时钟切换判断部236根据由指令检测部235通知的无顺序指令数,决定将提供给CPU200的时钟信号切换为低时钟信号239的周期。

时钟切换判断部236具有低时钟周期计数器251。在低时钟周期计数器251中,设定有由指令检测部235检测到的无顺序指令数。时钟切换判断部236,当由指令检测部235通知无顺序指令数时,将该无顺序指令数设定为低时钟周期计数器251的值。

时钟切换判断部236在判定为正处于存储器停顿发生中时,判断低时钟周期计数器251的值是否为0。时钟切换判断部236,在判断为低时钟周期计数器251的值为0时,将表示让提供给CPU200的时钟信号停止的时钟停止信号发送到时钟切换部237。时钟切换判断部236,在判断为低时钟周期计数器251的值不为0时,将表示将提供给CPU200的时钟信号切换为低时钟信号239的低时钟切换信号发送到时钟切换部237之后,递减(decrement)低时钟周期计数器251的值。

时钟切换判断部236,在判定为不处于存储器停顿发生中时,重置低时钟周期计数器251的值之后,停止发送中的时钟停止信号或低时钟切换信号。当低时钟切换信号停止时,时钟切换部237将输出的时钟信号从低时钟信号239切换到高时钟信号238。此外,当时钟停止信号停止时,时钟切换部237输出停止后的高时钟信号238。

在判定为正在发生存储器停顿时,时钟切换判断部236根据相对于CPU核心部202现在执行的指令的、能够以无顺序执行的后续指令的数目的信息,判别是将提供给CPU200的时钟信号切换为低时钟信号239,还是停止提供给CPU200的时钟信号。另外,时钟切换判断部236在无顺序指令数不为0时,即后续指令能够以无顺序执行时,判别为将提供给CPU200的时钟信号切换为低时钟信号239。而且,时钟切换判断部236在无顺序指令数为0时,即后续指令不能以无顺序执行时,判别为停止提供给CPU200的时钟信号。

在判别为切换为低时钟信号239时,时钟切换判断部236将用于将时钟信号切换为低时钟信号239的低时钟切换信号发送到时钟切换部237。另一方面,在判别为停止时钟信号时,时钟切换判断部236将用于让时钟信号停止的时钟停止信号发送到时钟切换部237。

根据以上的结构,本实施例的时钟控制装置,在CPU200发生存储器停顿时,如果后续指令能够以无顺序执行,则可以将提供给CPU200的时钟信号切换为低时钟信号239,如果后续指令不能以无顺序执行,则可以停止提供给CPU200的时钟信号。由此,能够在发生存储器停顿的期间既防止计算机系统的性能下降,又降低功耗。

此外,在本实施例1中,计算机系统100相当于时钟控制装置的一例,L2缓冲存储装置210相当于缓冲存储装置的一例,缓冲存储错误信号检测部231相当于缓冲存储错误检测部的一例,停顿判断部234相当于停顿通知部的一例,低时钟周期计数器251相当于计数器的一例。

接下来,对本发明实施例1中的时钟控制装置的时钟控制处理进行说明。图3是表示本发明实施例1中的时钟控制装置的时钟控制处理流程的流程图。

首先,地址信息检测部232,检测从CPU200对主存储装置12的访问,并检测表示主存储装置12中的访问目的地的地址的地址信息(步骤S101)。地址信息检测部232将检测到的地址信息通知给停顿判断部234。

接着,缓冲存储错误信号检测部231,判断是否在L2缓冲存储装置210中检测到缓冲存储错误(步骤S102)。在此,如果判断为没有检测到缓冲存储错误(步骤S102中为否),返回步骤S101的处理。

另一方面,在判断为检测到了缓冲存储错误时(步骤S102中为是),缓冲存储错误信号检测部231,将表示缓冲存储错误的数据在主存储装置12中的地址的地址信息通知给停顿判断部234(步骤S103)。

接着,停顿判断部234,判断由地址信息检测部232通知的地址信息与由缓冲存储错误信号检测部231通知的地址信息是否一致(步骤S104)。在此,如果判断为地址信息不一致(步骤S104中为否),停顿判断部234判断没有发生存储器停顿,结束时钟控制处理。

另一方面,在判断为地址信息一致时(步骤S104中为是),停顿判断部234判断已发生存储器停顿,并将停顿开始信号通知给时钟切换判断部236(步骤S105)。

接下来,时钟切换判断部236,执行判断是将提供给CPU200的时钟信号切换为低时钟信号239,还是停止提供给CPU200的时钟信号的时钟切换判断处理(步骤S106)。此外,关于步骤S106中的时钟切换判断处理,将在后面使用图4详细叙述。

接下来,时钟切换部237,根据时钟切换判断部236的判断,执行切换提供给CPU200的时钟信号的时钟信号切换处理(步骤S107)。此外,关于步骤S107中的时钟切换处理,将在后面使用图5详细叙述。

接着,缓冲存储数据检测部233,判断是否在L2缓冲存储装置210中检测到数据(缓冲存储数据)(步骤S108)。在此,如果判断为没有检测到缓冲存储数据(步骤S108中为否),返回步骤S106的处理。

另一方面,在判断为检测到缓冲存储数据时(步骤S108中为是),缓冲存储数据检测部233,将表示存储在L2缓冲存储装置210中的数据在主存储装置12中的地址的地址信息通知给停顿判断部234(步骤S109)。

接着,停顿判断部234,判断由地址信息检测部232通知的地址信息与由缓冲存储数据检测部233通知的地址信息是否一致(步骤S110)。在此,如果判断为地址信息不一致(步骤S110中为否),返回步骤S106的处理。另外,在判断为地址信息不一致时,也可以结束时钟控制处理。

另一方面,在判断为地址信息一致时(步骤S110中为是),停顿判断部234判断存储器停顿已结束,并将停顿结束信号通知给时钟切换判断部236(步骤S111),返回步骤S106的处理。

接下来,对图3的步骤S106中的由时钟切换判断部236执行的时钟切换判断处理进行说明。图4是表示在图3的步骤S106中由时钟切换判断部236执行的时钟切换判断处理流程的流程图。另外,在此,设低时钟周期计数器251的初始值为0,开始处理。

时钟切换判断部236根据从停顿判断部234接收到的停顿开始信号和停顿结束信号,判定现在CPU核心部202是否正处于存储器停顿发生中(步骤S1)。即,时钟切换判断部236,如果从停顿判断部234接收到停顿开始信号,则判定CPU核心部202正处于存储器停顿发生中,如果从停顿判断部234接收到停顿结束信号,则判定不处于存储器停顿发生中。

在没有发生存储器停顿时,即判定为不处于存储器停顿发生中时(步骤S1中为否),时钟切换判断部236重置低时钟周期计数器251,即将低时钟周期计数器251的值设置为0(步骤S2)。接着,时钟切换判断部236停止向时钟切换部237发送的信号、即时钟停止信号或低时钟切换信号(步骤S3)。此后,转移到图3的步骤S107的处理。

在发生了存储器停顿的期间,即判定为正处于存储器停顿发生中时(步骤S1中为是),时钟切换判断部236判定低时钟周期计数器251的值是否为0(步骤S4)。

在判定为低时钟周期计数器251的值不为0时(步骤S4为否),时钟切换判断部236判断有相对于现在执行中的指令能够以无顺序执行的指令,并向时钟切换部237发送低时钟切换信号(步骤S9)。接着,时钟切换判断部236递减低时钟周期计数器251的值(步骤S10)。此后,转移到图3的步骤S107的处理。

另一方面,在判定为低时钟周期计数器251的值为0时(步骤S4中为是),时钟切换判断部236从指令检测部235接收无顺序指令数(步骤S5)。接着,时钟切换判断部236将所接收到的无顺序指令数的值设为低时钟周期计数器251的值(步骤S6)。

接着,时钟切换判断部236判定低时钟周期计数器251的值是否为0(步骤S7)。在判定为低时钟周期计数器251的值不为0时(步骤S7中为否),表示有相对于现在执行中的指令能够以无顺序执行的指令,因此,时钟切换判断部236向时钟切换部237发送低时钟切换信号(步骤S9)。接着,时钟切换判断部236递减低时钟周期计数器251的值(步骤S10)。此后,返回步骤S1的处理,重复步骤S1以后的处理。由此,时钟切换判断部236持续发送低时钟切换信号,直到低时钟周期计数器251变为0为止。

在判定为低时钟周期计数器251的值为0时(步骤S7中为是),由于后续的指令是不能以无顺序执行的指令,因此,时钟切换判断部236将时钟停止信号发送到时钟切换部237(步骤S8)。此后,转移到图3的步骤S107的处理。由此,时钟切换判断部236在发生存储器停顿的期间中,持续发送时钟停止信号。

由此,时钟切换部237将从接收停顿开始信号到接收停顿结束信号的期间判断为发生存储器停顿的期间,在后续指令能够以无顺序执行时,将提供给CPU200的时钟信号切换为低时钟信号239。此外,时钟切换部237在后续指令不能以无顺序执行时,停止提供给CPU200的时钟信号。此后,当接收停顿结束信号时,时钟切换部237判断没有发生存储器停顿,将通常的高时钟信号238提供给CPU200。

接下来,对图3的步骤S107中的由时钟切换部237执行的时钟切换处理进行说明。图5是表示在图3的步骤S107中由时钟切换部237执行的时钟切换处理流程的流程图。

首先,时钟切换部237判断是否正在从时钟切换判断部236接收低时钟切换信号或时钟停止信号(步骤S11)。在此,如果判断没有接收低时钟切换信号或时钟停止信号(步骤S11中为否),时钟切换部237则将高时钟信号238发送到CPU200的时钟输入部201(步骤S12)。

另一方面,如果判断正在接收低时钟切换信号或时钟停止信号(步骤S11中为是),则时钟切换部237判断是否在接收低时钟切换信号(步骤S13)。在此,如果判断在接收低时钟切换信号(步骤S13中为是),时钟切换部237将低时钟信号239发送到CPU200的时钟输入部201(步骤S14)。

另一方面,如果判断没有接收低时钟切换信号(步骤S13中为否),时钟切换部237则判断在接收时钟停止信号,从而停止时钟信号(步骤S15)。

根据以上,当CPU200发生存储器停顿时,如果后续指令能够以无顺序执行,则将提供给CPU200的时钟信号切换为低时钟信号239,如果后续指令不能以无顺序执行,则停止提供给CPU200的时钟信号,因此,在发生存储器停顿的期间,不会使性能下降而能够实现低功耗。

(实施例2)

图6是表示本发明实施例2中的计算机系统的结构的框图。此外,实施例2的信息处理装置的除了计算机系统以外的结构与图1所示的实施例1的信息处理装置的结构相同,因此省略说明。在图6中,对与图2相同的结构要素使用相同符号,并省略说明。

在图6中,计算机系统101相当于上述的图1的计算机系统10。此外,主存储装置12相当于图1的主存储装置12。

计算机系统101包括CPU200、L2缓冲存储装置210、存储器控制器220以及时钟控制装置240,通过图1的总线11与主存储装置12连接。除了时钟控制装置240以外的结构是与图2相同的结构。

时钟控制装置240相当于图1的时钟控制装置23,包括缓冲存储错误信号检测部231、地址信息检测部242、缓冲存储数据检测部233、停顿判断部234、指令检测部235、预取缓冲器(prefetch buffer)检测部241、时钟切换判断部243以及时钟切换部237。除了预取缓冲器检测部241、地址信息检测部242以及时钟切换判断部243以外的结构,由于在实施例1中已做说明,因此仅对不同的结构要素进行详细说明。

CPU核心部202包括预取缓冲器204。预取缓冲器204存储CPU核心部202从主存储装置12取出的指令。

预取缓冲器(prefetch buffer)检测部241与CPU核心部202及时钟切换判断部243连接。预取缓冲器检测部241检测用于存储CPU核心部202从主存储装置12取出的指令的预取缓冲器204是否为空。预取缓冲器检测部241,当预取缓冲器204为空时,向时钟切换判断部243发送CPU核心部202向预取缓冲器204存储指令的周期的预取缓冲器空信号。

地址信息检测部242与CPU核心部202及停顿判断部234连接。地址信息检测部242检测CPU核心部202取出的指令的地址信息,并将检测到的地址信息通知给停顿判断部234。此外,由地址信息检测部242检测的地址信息表示CPU核心部202所访问的主存储装置12中的地址。

时钟切换判断部243与停顿判断部234、指令检测部235、时钟切换部237及预取缓冲器检测部241连接。时钟切换判断部243从停顿判断部234接收停顿开始信号或停顿结束信号,判定是否正处于存储器停顿发生中。此外,时钟切换判断部243从指令检测部235接收与相对于CPU核心部202现在执行的指令的、能够以无顺序执行的后续指令的数目有关的信息。并且,时钟切换判断部243从预取缓冲器检测部241接收预取缓存器空信号。

时钟切换判断部243,在由预取缓冲器检测部241检测到预取缓冲器204为空时,判断将提供给CPU200的时钟信号切换为低时钟信号239。此外,时钟切换判断部243,在由预取缓冲器检测部241检测到预取缓冲器204为不空时,判定是否正处于存储器停顿发生中。

时钟切换判断部243在从预取缓冲器检测部241接收预取缓冲器空信号的期间,判断将提供给CPU200的时钟信号切换为低时钟信号239,并将低时钟切换信号发送到时钟切换部237。此时,不管是否处于存储器停顿发生中,时钟切换判断部243都在接收预取缓冲器空信号的期间,判断将提供给CPU200的时钟信号切换为低时钟信号239。

此外,在没有接收预取缓冲器空信号的期间,由于没有接收停顿开始信号,因此当判定为没有发生存储器停顿时,时钟切换判断部243什么也不做。因此,时钟切换部237将现在发送中的时钟信号即高时钟信号原封不动地持续发送到时钟输入部201。

此外,在没有接收预取缓冲器空信号的期间,当判定为正在发生存储器停顿时,时钟切换判断部243根据与相对于CPU核心部202现在执行的指令的、能够以无顺序执行的后续指令的数目相关的信息,判别是将提供给CPU200的时钟信号切换为低时钟信号239,还是停止提供给CPU200的时钟信号。此外,时钟切换判断部243在无顺序指令数不为0时,即后续指令能够以无顺序执行时,判别为将提供给CPU200的时钟信号切换为低时钟信号239。此外,时钟切换判断部243在无顺序指令数为0时,即后续指令不能以无顺序执行时,判别为停止提供给CPU200的时钟信号。

在判别为切换为低时钟信号239时,时钟切换判断部243将用于将时钟信号切换为低时钟信号239的低时钟切换信号发送到时钟切换部237。另一方面,在判别为停止时钟信号时,时钟切换判断部243将用于让时钟信号停止的时钟停止信号发送到时钟切换部237。

此外,时钟切换判断部243具有低时钟周期计数器251。关于低时钟周期计数器251,由于在实施例1中已做说明,因此,在此省略说明。

接下来,对本发明实施例2中的时钟控制装置的时钟控制处理进行说明。图7是表示本发明实施例2中的时钟控制装置的时钟控制处理流程的流程图。

此外,图7中的步骤S201至S205、S209至S213的处理与图3中的步骤S101至S105、S107至S111的处理相同,因此省略详细说明。

接下来,预取缓冲器检测部241判断预取缓冲器204是否为空(步骤S206)。在判断为预取缓冲器204为不空时(步骤S206中为否),转移到步骤S208的处理。另一方面,在判断为预取缓冲器204为空时(步骤S206中为是),预取缓冲器检测部241将预取缓冲器空信号通知给时钟切换判断部243。

接下来,时钟切换判断部243执行判断是将提供给CPU200的时钟信号切换为低时钟信号239,还是停止提供给CPU200的时钟信号的时钟切换判断处理(步骤S208)。这里,关于步骤S208中的时钟切换判断处理,在下面用图8进行详细叙述。

接下来,对图7的步骤S208中由时钟切换判断部243执行的时钟切换判断处理进行说明。图8是表示在图7的步骤S208中由时钟切换判断部243执行的时钟切换判断处理流程的流程图。另外,在此,设低时钟周期计数器251的初始值为0,开始处理。

首先,时钟切换判断部243判断是否从预取缓冲器检测部241接收到预取缓冲器空信号(步骤S21)。在此,如果判断为接收到预取缓冲器空信号(步骤S21中为是),时钟切换判断部243向时钟切换部237发送低时钟切换信号(步骤S30)。

另一方面,在判断为没有接收预取缓冲器空信号时(步骤S21中为否),时钟切换判断部243根据从停顿判断部234接收到的停顿开始信号和停顿结束信号,判定现在CPU核心部202是否正处于存储器停顿发生中(步骤S22)。另外,步骤S22至S31的处理与图4中的步骤S1至S10的处理相同,因此省略详细说明。

在步骤S24中,时钟切换判断部243在停止了时钟停止信号或时钟切换信号之后,转移到图7的步骤S209的处理。此外,在步骤S29中,时钟切换判断部243在向时钟切换部237发送了时钟停止信号之后,转移到图7的步骤S209的处理。并且,在步骤S31中,时钟切换判断部243在递减了低时钟周期计数器251的值之后,转移到图7的步骤S209的处理。

根据以上,本实施例2的时钟控制装置在CPU200的预取缓冲器204为空时,将提供给CPU200的时钟信号切换为低时钟信号239,从而不会使性能下降而能够实现低功耗。

此外,在预取缓冲器204中存储了后续的指令后,与实施例1同样,在CPU200发生存储器停顿、后续指令能够以无顺序执行时,将提供给CPU200的时钟信号切换为低时钟信号239,并以无顺序执行后续的指令。此外,在CPU200发生存储器停顿、但后续指令不能以无顺序执行时,停止提供给CPU200的时钟信号。由此,不会使性能下降而能够实现低功耗。

(实施例3)

图9是表示本发明实施例3中的集成电路102的结构的框图。图9所示的集成电路102包括CPU200、L2缓冲存储装置210、存储器控制器220以及时钟控制装置330。此外,在图9所示的实施例3的集成电路102中,对与实施例1相同的结构,标注相同的符号,并省略说明。

时钟控制装置330包括缓冲存储错误信号检测电路331、地址信息检测电路332、缓冲存储数据检测电路333、停顿判断电路334、指令检测电路335、时钟切换判断电路336以及时钟切换电路337。

实施例3中的缓冲存储错误信号检测电路331、地址信息检测电路332、缓冲存储数据检测电路333、停顿判断电路334、指令检测电路335、时钟切换判断电路336以及时钟切换电路337分别具有与实施例1中的缓冲存储错误信号检测部231、地址信息检测部232、缓冲存储数据检测部233、停顿判断部234、指令检测部235、时钟切换判断部236以及时钟切换部237相同的功能。

由此,CPU200、L2缓冲存储装置210、存储器控制器220以及时钟控制装置330能够搭载在1个集成电路上。

此外,在上述的具体实施方式中主要包括具有以下结构的发明。

本发明所提供的时钟控制装置包括:地址信息检测部,检测来自中央运算处理装置的对主存储装置的访问,并检测表示上述主存储装置的访问目的地的地址的地址信息;缓冲存储错误检测部,检测配置在上述中央运算处理装置与上述主存储装置之间的缓冲存储装置的缓冲存储错误的发生;缓冲存储数据检测部,检测在上述缓冲存储装置中是否存储了数据;停顿通知部,基于由上述地址信息检测部检测到的上述地址信息、上述缓冲存储错误检测部的检测结果、以及上述缓冲存储数据检测部的检测结果,通知表示访问上述主存储装置的存储器停顿的开始和结束;指令检测部,根据现在执行中的指令与后续于现在执行中的指令的后续指令的数据依赖关系,检测是否存在能够与顺序无关地加以执行的上述后续指令;时钟切换判断部,接收来自上述停顿通知部的有关存储器停顿的开始和结束的通知,判定是否正处于存储器停顿发生中,在判定为正处于存储器停顿发生中时,基于上述指令检测部的检测结果,判断是将提供给上述中央运算处理装置的时钟信号切换为低时钟信号还是停止;以及时钟切换部,根据由上述时钟切换判断部做出的判断,切换上述时钟信号。

本发明所提供的时钟控制方法包括:地址信息检测步骤,检测来自中央运算处理装置的对主存储装置的访问,并检测表示上述主存储装置的访问目的地的地址的地址信息;缓冲存储错误检测步骤,检测配置在上述中央运算处理装置与上述主存储装置之间的缓冲存储装置的缓冲存储错误的发生;缓冲存储数据检测步骤,检测在上述缓冲存储装置中是否存储了数据;停顿通知步骤,基于在上述地址信息检测步骤中检测到的上述地址信息、在上述缓冲存储错误检测步骤的检测结果、以及在上述缓冲存储数据检测步骤的检测结果,通知表示访问上述主存储装置的存储器停顿的开始和结束;指令检测步骤,根据现在执行中的指令与后续于现在执行中的指令的后续指令的数据依赖关系,检测是否存在能够与顺序无关地加以执行的上述后续指令;时钟切换判断步骤,接收在上述停顿通知步骤中通知的存储器停顿的开始和结束的通知,判定是否正处于存储器停顿发生中,在判定为正处于存储器停顿发生中时,基于在上述指令检测步骤的检测结果,判断是将提供给上述中央运算处理装置的时钟信号切换为低时钟信号还是停止;以及时钟切换步骤,根据在上述时钟切换判断步骤中的判断,切换上述时钟信号。

本发明所提供的时钟控制程序使计算机作为以下各部而发挥功能:地址信息检测部,检测来自中央运算处理装置的对主存储装置的访问,并检测表示上述主存储装置的访问目的地的地址的地址信息;缓冲存储错误检测部,检测配置在上述中央运算处理装置与上述主存储装置之间的缓冲存储装置的缓冲存储错误的发生;缓冲存储数据检测部,检测在上述缓冲存储装置中是否存储了数据;停顿通知部,基于由上述地址信息检测部检测到的上述地址信息、上述缓冲存储错误检测部的检测结果、以及上述缓冲存储数据检测部的检测结果,通知表示访问上述主存储装置的存储器停顿的开始和结束;指令检测部,根据现在执行中的指令与后续于现在执行中的指令的后续指令的数据依赖关系,检测是否存在能够与顺序无关地加以执行的上述后续指令;时钟切换判断部,接收来自上述停顿通知部的有关存储器停顿的开始和结束的通知,判定是否正处于存储器停顿发生中,在判定为正处于存储器停顿发生中时,基于上述指令检测部的检测结果,判断是将提供给上述中央运算处理装置的时钟信号切换为低时钟信号还是停止;以及时钟切换部,根据由上述时钟切换判断部做出的判断,切换上述时钟信号。

本发明所提供的集成电路包括:中央运算处理装置;缓冲存储装置,被配置在上述中央运算处理装置与主存储装置之间;地址信息检测电路,检测从上述中央运算处理装置对上述主存储装置的访问,并检测表示上述主存储装置的访问目的地的地址的地址信息;缓冲存储错误检测电路,检测上述缓冲存储装置的缓冲存储错误的发生;缓冲存储数据检测电路,检测在上述缓冲存储装置中是否存储了数据;停顿通知电路,基于由上述地址信息检测电路检测到的上述地址信息、上述缓冲存储错误检测电路的检测结果、以及上述缓冲存储数据检测电路的检测结果,通知表示访问上述主存储装置的存储器停顿的开始和结束;指令检测电路,根据现在执行中的指令与后续于现在执行中的指令的后续指令的数据依赖关系,检测是否存在能够与顺序无关地加以执行的上述后续指令;时钟切换判断电路,接收来自上述停顿通知电路的有关存储器停顿的开始和结束的通知,判定是否正处于存储器停顿发生中,在判定为正处于存储器停顿发生中时,基于上述指令检测电路的检测结果,判断是将提供给上述中央运算处理装置的时钟信号切换为低时钟信号还是停止;以及时钟切换电路,根据上述时钟切换判断电路的判断,切换上述时钟信号。

根据这些结构,通过地址信息检测部,检测来自中央运算处理装置的对主存储装置的访问,并检测表示主存储装置的访问目的地的地址的地址信息。通过缓冲存储错误检测部,检测配置在中央运算处理装置与主存储装置之间的缓冲存储装置的缓冲存储错误的发生,通过缓冲存储数据检测部,检测在缓冲存储装置中是否存储了数据。而且,通过停顿通知部,基于由地址信息检测部检测到的地址信息、缓冲存储错误检测部的检测结果、以及缓冲存储数据检测部的检测结果,通知表示访问主存储装置的存储器停顿的开始和结束。通过指令检测部,根据现在执行中的指令与后续于现在执行中的指令的后续指令的数据依赖关系,检测是否存在能够与顺序无关地加以执行的后续指令。通过时钟切换判断部,接收来自停顿通知部的有关存储器停顿的开始和结束的通知,判定是否正处于存储器停顿发生中。在此,当判定为正处于存储器停顿发生中时,基于指令检测部的检测结果,判断是将提供给中央运算处理装置的时钟信号切换为低时钟信号还是停止。然后,通过时钟切换部,根据时钟切换判断部的判断,切换时钟信号。

因此,由于在存储器停顿发生中,如果后续于现在执行中的指令的后续指令能够与顺序无关地加以执行,则使提供给中央运算处理装置的时钟信号的时钟频率降低,如果后续指令不能与顺序无关地加以执行时,则使提供给中央运算处理装置的时钟信号停止,因此,不会使性能下降而能够降低功耗。

此外,在上述的时钟控制装置中,较为理想的是,上述时钟切换判断部,在由上述指令检测部检测到存在能够与顺序无关地加以执行的上述后续指令时,判断将提供给上述中央运算处理装置的时钟信号切换为低时钟信号,在由上述指令检测部检测到不存在能够与顺序无关地加以执行的上述后续指令时,判断停止提供给上述中央运算处理装置的时钟信号。

根据该结构,由于在存在能够与顺序无关地加以执行的后续指令时,提供给中央运算处理装置的时钟信号切换被切换为低时钟信号,因此即使正处于存储器停顿发生中,能够与顺序无关地加以执行的后续指令也能以低时钟信号而被执行。此外,在不存在能够与顺序无关地加以执行的后续指令时,停止提供给中央运算处理装置的时钟信号。因此,不会使性能下降而能够降低功耗。

此外,在上述的时钟控制装置中,较为理想的是,上述缓冲存储错误检测部,当检测到缓冲存储错误的发生时,将表示上述缓冲存储错误的数据在上述主存储装置中的地址的地址信息通知给上述停顿通知部,上述缓冲存储数据检测部,当检测到在上述缓冲存储装置中存储了数据时,将表示上述所存储的数据在上述主存储装置中的地址的地址信息通知给上述停顿通知部,上述停顿通知部,根据由上述地址信息检测部通知的上述地址信息、和由上述缓冲存储错误检测部通知的上述地址信息,判断上述存储器停顿的开始,根据由上述地址信息检测部通知的上述地址信息、和由上述缓冲存储数据检测部通知的上述地址信息,判断上述存储器停顿的结束。

根据该结构,当由缓冲存储错误检测部检测到缓冲存储错误的发生时,表示缓冲存储错误的数据在主存储装置中的地址的地址信息被通知给停顿通知部。此外,当由缓冲存储数据检测部检测到在缓冲存储装置中存储了数据时,表示所存储的数据在主存储装置中的地址的地址信息被通知给停顿通知部。然后,由停顿通知部,根据从地址信息检测部通知的地址信息、和从缓冲存储错误检测部通知的地址信息,判断存储器停顿的开始,根据从地址信息检测部通知的地址信息、和从缓冲存储数据检测部通知的地址信息,判断存储器停顿的结束。

由此,通过将表示主存储装置的访问目的地的地址的地址信息与表示缓冲存储错误的数据在主存储装置中的地址的地址信息进行对照,能够判断存储器停顿的开始。此外,通过将表示主存储装置的访问目的地的地址的地址信息与表示在缓冲存储装置中存储的数据在主存储装置中的地址的地址信息进行对照,能够判断存储器停顿的结束。

此外,在上述的时钟控制装置中,较为理想的是,上述停顿通知部,在由上述地址信息检测部通知的上述地址信息与由上述缓冲存储错误检测部通知的上述地址信息一致时,将表示上述存储器停顿已开始的停顿开始信号通知给上述时钟切换判断部,在由上述地址信息检测部通知的上述地址信息与由上述缓冲存储数据检测部通知的上述地址信息一致时,将表示上述存储器停顿已结束的停顿结束信号通知给上述时钟切换判断部,上述时钟切换判断部在从由上述停顿通知部通知上述停顿开始信号起到通知上述停顿结束信号的期间,判断上述存储器停顿发生中。

根据该结构,通过停顿通知部,在从地址信息检测部通知的地址信息与从缓冲存储错误检测部通知的地址信息一致时,表示存储器停顿已开始的停顿开始信号被通知给时钟切换判断部。此外,通过停顿通知部,在从地址信息检测部通知的地址信息与从缓冲存储数据检测部通知的地址信息一致时,表示存储器停顿已结束的停顿结束信号被通知给时钟切换判断部。然后,由时钟切换判断部,将自停顿通知部通知停顿开始信号到通知停顿结束信号为止的期间,判断为正处于存储器停顿发生中。

因此,通过接收停顿开始信号和停顿结束信号,能够容易地判断存储器停顿的发生。

此外,在上述的时钟控制装置中,较为理想的是,上述指令检测部,在存在能够与顺序无关地加以执行的上述后续指令时,将表示能够与顺序无关地加以执行的上述后续指令的数目的无顺序指令数通知给上述时钟切换判断部,上述时钟切换判断部,根据由上述指令检测部通知的上述无顺序指令数,决定将提供给上述中央运算处理装置的时钟信号切换为低时钟信号的周期。

根据该结构,通过指令检测部,在存在能够与顺序无关地加以执行的后续指令时,表示能够与顺序无关地加以执行的后续指令的数目的无顺序指令数被通知给时钟切换判断部。然后,由时钟切换判断部,根据从指令检测部通知的无顺序指令数,决定将提供给中央运算处理装置的时钟信号切换为低时钟信号的周期。

因此,由于是根据表示能够与顺序无关地加以执行的后续指令的数目的无顺序指令数,来决定将提供给中央运算处理装置的时钟信号切换为低时钟信号的周期,所以能够适当地控制切换为低时钟信号的周期。

此外,在上述的时钟控制装置中,较为理想的是,上述时钟切换判断部具有计数器,上述时钟切换判断部,当由上述指令检测部通知上述无顺序指令数时,将上述无顺序指令数设定为上述计数器的值,在判定为正处于存储器停顿发生中时,判断上述计数器的值是否为0,在判断上述计数器的值为0时,将表示让提供给上述中央运算处理装置的时钟信号停止的时钟停止信号发送到上述时钟切换部,在判断上述计数器的值不为0时,将表示将提供给上述中央运算处理装置的时钟信号切换为低时钟信号的低时钟切换信号发送到上述时钟切换部之后,递减上述计数器的值,在判定为不处于存储器停顿发生中时,重置上述计数器的值之后,停止发送中的上述时钟停止信号或上述低时钟切换信号。

根据该结构,当从指令检测部通知无顺序指令数时,通过时钟切换判断部,无顺序指令数被设定为计数器的值,在判定为正处于存储器停顿发生中时,判断计数器的值是否为0。然后,在被判断为计数器的值为0时,表示让提供给中央运算处理装置的时钟信号停止的时钟停止信号被发送到时钟切换部。另一方面,在被判断为计数器的值不为0时,表示将提供给中央运算处理装置的时钟信号切换为低时钟信号的低时钟切换信号被发送到时钟切换部后,计数器的值被递减。此外,在判定为不处于存储器停顿发生中时,在计数器的值被重置后,停止发送中的时钟停止信号或低时钟切换信号。

因此,由于无顺序指令数被设定为计数器的值,所以能够根据计数器的值,容易决定发送低时钟切换信号的周期。

此外,在上述的时钟控制装置中,较为理想的是,还包括预取缓冲器,存储上述中央运算处理装置从上述主存储装置取出的指令;以及预取缓冲器检测部,检测上述预取缓冲器是否为空,上述时钟切换判断部,在由上述预取缓冲器检测部检测到上述预取缓冲器为空时,判断将提供给上述中央运算处理装置的时钟信号切换为低时钟信号,在由上述预取缓冲器检测部检测到上述预取缓冲器为不空时,判定是否正处于存储器停顿发生中。

根据该结构,中央运算处理装置从主存储装置取出的指令被存储在预取缓冲器中。此外,由预取缓冲器检测部检测预取缓冲器是否为空。然后,在检测到预取缓冲器为空时,由时钟切换判断部,判断将提供给中央运算处理装置的时钟信号切换为低时钟信号,在检测到预取缓冲器为不空时,判定是否正处于存储器停顿发生中。

因此,由于在预取缓冲器为空时,低时钟信号被提供给中央运算处理装置,所以在中央运算处理装置不执行指令的期间,能够降低功耗。

此外,在发明的详细说明的项目中被描述的具体实施方式或实施例,只是为了明确本发明的技术内容,不应仅限定于这样的具体例而狭义解释,在本发明的精神和其次记载的权利要求项的范围内,能够进行各种变更并加以实施。

产业上的利用可能性

本发明所涉及的时钟控制装置、时钟控制方法、时钟控制程序以及集成电路具有控制存储器停顿发生中的时钟信号的切换的功能,作为PDA、移动体通信终端、数码照相机和便携音响设备等便携型电子设备极为有用。此外,本发明所涉及的时钟控制装置、时钟控制方法、时钟控制程序以及集成电路还能够应用于电池驱动的电子设备等的用途。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号