应用处理器、包括该处理器的计算系统及其操作方法与流程

文档序号:14870361发布日期:2018-07-06 22:35阅读:347来源:国知局

本申请要求于2016年12月28日向韩国知识产权局提交的韩国专利申请no.10-2016-0181444的优先权,该申请的全部公开内容以引用方式并入本文中。

本发明构思的示例性实施例涉及一种应用处理器,更具体地,涉及一种能够有效执行动态电压和频率缩放(dvfs)操作的应用处理器、包括该应用处理器的计算系统及其操作方法。



背景技术:

随着在例如移动装置的计算系统中核的数量增加以提高移动环境中的多线程性能以及专利的主知识产权(ip)不断地添加用于其中的应用处理器中的各种多媒体场景,电源管理可以用于优化不同组件之间的资源分配。例如,应用处理器可以执行动态电压和频率缩放(dvfs)操作以调整其中的频率和电压以控制性能和功耗。



技术实现要素:

根据本发明构思的示例性实施例,操作包括具有至少一个核的中央处理器(cpu)以及存储器接口的应用处理器的方法包括步骤:在第一时段内,测量所述至少一个核执行用于运行指令的操作的时段的核活动周期以及所述至少一个核处于空闲状态的时段的核空闲周期;产生关于所述至少一个核在核活动周期中访问存储器接口的时段的存储器访问停顿周期的信息;使用关于存储器访问停顿周期的信息来校正核活动周期以使用所校正的核活动周期来计算所述至少一个核上的负载;以及使用所计算的在所述至少一个核上的负载来对所述至少一个核执行动态电压和频率缩放(dvfs)操作。

根据本发明构思的示例性实施例,操作包括多个主知识产权(ip)、存储器装置和存储器接口的计算系统的方法包括步骤:在预定时段内,测量存储器活动周期,存储器活动周期包括存储器接口响应于来自至少一个主ip的请求而使用存储器装置执行数据输入/输出操作的时段的数据事务周期和执行数据输入/输出操作所需的操作被执行的时段的就绪操作周期;使用存储器活动周期计算包括存储器装置和存储器接口的存储器时钟域上的负载;以及使用存储器时钟域上的负载来对存储器接口和存储器装置执行dvfs操作。

根据本发明构思的示例性实施例,应用处理器包括连接至至少一个外部存储器装置的存储器接口、连接至至少一个外部主ip的输入/输出接口、包括多个核的多核cpu、以及构造为储存dvfs程序的存储器。多个核的每一个构造为通过使用关于在核活动周期内每个核访问存储器接口的时段的存储器访问停顿周期的信息来校正在第一时段内执行操作以运行指令的时段的核活动周期,并且构造为使用所校正的核活动周期来运行存储在存储器中的程序以执行dvfs操作。

附图说明

通过参考附图详细描述示例性实施例,本发明构思的上述以及其它特征将变得更加清楚。

图1是示出根据本发明构思的示例性实施例的计算系统的框图。

图2是示出根据本发明构思的示例性实施例的中央处理单元(cpu)的框图。

图3是根据本发明构思的示例性实施例的相对于图2的cpu的动态电压和频率缩放(dvfs)操作的时序图。

图4a和图4b是示出根据本发明构思的示例性实施例的在dvfs操作中获得核上的负载的数学表达式的示图。

图5是示出根据本发明构思的示例性实施例的cpu的框图。

图6是示出根据本发明构思的示例性实施例的关于图5的cpu的dvfs操作的时序图。

图7是示出根据本发明构思的示例性实施例的应用处理器的操作方法的流程图。

图8是根据本发明构思的示例性实施例的操作应用处理器以产生关于存储器访问停顿周期的信息的方法的流程图。

图9是根据本发明构思的示例性实施例的操作应用处理器以计算核上负载的方法的流程图。

图10和图11分别是示出根据本发明构思的示例性实施例的产生阈值每指令周期(cpi)的方法的流程图和表格。

图12是示出根据本发明构思的示例性实施例的cpu的框图。

图13是示出根据本发明构思的示例性实施例的在关于存储器接口的dvfs操作中获取存储器接口上的负载的数学表达式的示图。

图14a和14b是示出根据本发明构思的示例性实施例的关于存储器时钟域的存储器活动周期的时序图。

图15是示出根据本发明构思的示例性实施例的执行关于存储器时钟域的dvfs操作的方法的流程图。

图16是示出根据本发明构思的示例性实施例的计算系统的框图。

图17是示出根据本发明构思的示例性实施例的操作图16中的计算系统的方法的框图。

图18是示出根据本发明构思的示例性实施例的包括多个核的应用处理器的框图。

图19是示出根据本发明构思的示例性实施例的包括多个核的应用处理器的框图。

图20是示出根据本发明构思的示例性实施例的包括应用处理器的通信设备的框图。

具体实施方式

在下文中,将参考附图详细说明本发明构思的示例性实施例。在本申请中相同的附图标记可以始终指代相同的元件。

本发明构思的示例性实施例提供了能够增强用户体验以及优化功耗的应用处理器、包括该应用处理器的计算系统及其操作方法。

图1是示出根据本发明构思的示例性实施例的计算系统的框图。

参考图1,计算系统10可以包括应用处理器100以及存储器装置md。图1中所示的计算系统10可以与各种类型的数据处理装置对应,并且作为示例,计算系统10可以是采用应用处理器100的移动装置。此外,计算系统10可以是便携式计算机、移动电话、智能电话、平板个人计算机(pc)、个人数字助理(pda)、企业数字助理(eda)、数码相机、数码摄像机、便携式多媒体播放器(pmp)、个人导航装置或便携式导航装置(pnd)、掌上游戏机、移动互联网装置(mid)、可佩戴式计算机、物联网(iot)装置、万物互联(ioe)装置、电子书等。

计算系统10可以包括各种存储器装置md。例如,存储器装置md可以与各种半导体存储器装置相对应。根据本发明构思的示例性实施例,存储器装置md可以是动态随机存取存储器(dram),例如双数据速率同步动态随机存取存储器(ddrsdram)、低功率双数据速率(lpddr)sdram、图形双数据速率(gddr)sdram以及rambus动态随机存取存储器(rdram)等。此外,存储器装置md可以是闪速存储器、相变ram(pram)、磁阻式ram(mram)、电阻式ram(reram)或者铁电ram(feram)中的一个。

应用处理器100可以通过片上系统(soc)来实现。soc可以包括应用了具有预定的标准总线规范的协议的系统总线以及连接至系统总线的各种知识产权(ip)。可以应用高级risc机器(arm)的高级微控制器总线架构(amba)协议作为系统总线的标准规范。amba协议的总线类型可以包括高级高性能总线(ahb)、高级外设总线(apb)、高级可扩展接口(axi)、axi4、axi一致性扩展(ace)等。另外,可以使用诸如sonic公司的unetwork、ibm的coreconnect、ocp-ip的开放核协议等的其他类型的协议。

应用处理器100可以包括中央处理单元(cpu)110、存储器接口120、时钟管理单元(cmu)130、电源管理集成电路(pmic)140、内部存储器150以及周围块160。在图1示出的本示例实施例中,pmic140在应用处理器100中实现,然而也可以在应用处理器100之外实现。此外,应用处理器100可以包括代替pmic140的电源管理单元来控制施加给应用处理器100中功能块的功率。

cpu110可以包括至少一个核112并且可以由多核处理器来实现。核112可以是独立的处理器,并且核112可以读取和运行指令。核112可以从内部存储器150加载动态电压和频率缩放(以下简称“dvfs”)模块114并且运行dvds模块114以执行dvfs操作。下文中使用的术语“模块”可以意味着能够执行功能或操作的硬件或计算机程序代码。然而,下文中使用的术语“模块”不应该仅限于此,并且也可以意味着其中具有执行特定功能和操作的计算机程序代码的电子记录介质,例如处理器。换句话说,术语“模块”可以意味着构造为实现本发明构思的技术理念的硬件和/或被构造为指示硬件进行操作的软件的功能和/或结构组合。

周围块160可以与除了cpu110以外的外围块相对应,并且作为示例,周围块160可以包括与至少一个主知识产权(ip)通信的各种功能块,例如输入/输出(io)接口块、通用串行总线(usb)主机块、通用串行总线(usb)从属块等。

dvfs模块114可以确定应用处理器100中各种功能块的运行状态,并且基于所确定的结果将控制信号提供给cmu130以及pmic140以控制各种功能块的频率和/或功率。作为示例,dvfs模块114可以控制施加到cpu110的时钟信号的频率和功率,并且可以分别控制施加到存储器接口120的时钟信号的频率和功率。

存储器接口120可以访问存储器装置md以在存储器装置md中写入数据,或者从存储器装置md读出数据。存储器接口120可以与存储器装置md相接,并且向存储器装置md提供例如写入命令、读取命令等各种命令以执行存储器操作。因此,存储器接口120和存储器装置md可以包括在同一存储器时钟域m_clk_domain中,并且包括在存储器时钟域m_clk_domain中的存储器接口120和存储器装置md可以基于具有大致相同频率的时钟信号执行存储器操作。

当核112处理指令时发生l2高速缓存缺失时,核112暂时停止计算操作并访问存储器接口120以将处理指令所需的数据写入存储器装置md中,或者从存储器装置md读取数据。在下文中,核112访问存储器接口120的操作可以笼统地称为核112访问存储器装置md的操作。核112停止关于指令的计算操作并访问存储器接口120的操作可以称为“存储器访问停顿”。

根据本示例性实施例的dvfs模块114可以通过考虑核112基本不执行计算操作的存储器访问停顿时段的周期来执行dvfs操作。下文中使用的术语“周期”可以表示预定时段的时间并且可以依据作为核112或者存储器接口120的操作基础的时钟信号的频率而改变。例如,当周期值为“n”时,周期可以对应于与作为核112或存储器接口120的操作基础的时钟信号的n个时段相对应的时间。作为示例,dvfs模块114可以基于关于存储器访问停顿周期的信息来校正核112在第一时段内处理指令的时段的核活动周期,使得核活动周期仅包括核112基本执行计算操作的周期。dvfs模块114可以通过从核活动周期减去存储器访问停顿周期来校正核活动周期。

dvfs模块114可以使用在第一时段内的所校正的核活动周期和核112处于空闲状态的时段的核空闲周期来计算核112上的负载。dvfs模块114可以基于核112上的负载将时钟控制信号ctr_cc提供给cmu130或者将功率控制信号ctr_cp提供给pmic140。

cmu130可以响应于时钟控制信号ctr_cc将具有缩放频率的时钟信号clk_c提供给cpu110。另外,pmic140可以响应于功率控制信号ctr_cp将具有缩放水平的功率pw_c提供给cpu110。

根据本示例性实施例的dvfs模块114可以与cpu110分离地对存储器接口120执行dvfs操作。dvfs模块114可以从存储器接口120收集存储器活动周期m_tact。存储器活动周期m_tact表示这样的周期:其中,包括在存储器时钟域m_clk_domain中的存储器接口120和存储器装置md响应于来自cpu110或者另一个主ip的预定请求执行存储器操作。

作为示例,在第二时段,存储器活动周期m_tact可以包括存储器接口120使用存储器装置md执行数据输入/输出操作的时段的数据事务周期和存储器接口120响应于来自cpu110或者另一个主ip的请求执行数据输入/输出操作所需的操作的时段的就绪操作周期。

dvfs模块114可以在除了与通过存储器接口120和存储器装置md的数据输入和输出的带宽相对应的数据事务周期之外,还考虑到使用存储器装置md执行数据输入/输出操作所需的时段来计算关于存储器接口120的负载。

dvfs模块114可以基于所收集的存储器活动周期m_tact来计算包括存储器接口120和存储器装置md的存储器时钟域m_clk_domain上的负载,并且基于所计算的负载对存储器接口120执行dvfs操作。如上所述,由于存储器接口120和存储器装置md包括在同一存储器时钟域m_clk_domain中,所以存储器装置md可以根据dvfs操作的结果接收与存储器接口120相同的时钟信号clk_m,并且也可以接收与存储器接口120相同的功率pw_m。

根据本示例性实施例的应用处理器100通过考虑cpu110和存储器接口120的每一个上的负载来单独地执行dvfs操作,因此,可以提高应用处理器100的性能。

图2是示出根据本发明构思的示例性实施例的cpu的框图,图3是示出根据本发明构思的示例性实施例的关于图2中的cpu的dvfs操作的时序图,图4a和图4b是示出根据本发明构思的示例性实施例在dvfs操作中获得核上负载的数学表达式的示图。

参考图2,cpu110a可以包括dvfs模块114a和性能监控单元116a。为了便于说明,内部存储器150a可以包括存储器接口120a和阈值每指令周期(cpi)存储区域150_1a。性能监控单元116a是在cpu110中实现的硬件并且测量核的性能参数。根据本示例性实施例的性能监控单元116a可以包括活动周期计数器116_1a和指令引退计数器116_3a。活动周期计数器116_1a对核在第一时段期间处理指令的时段的时间进行计数以测量核活动周期。第一时段可以是由dvfs调节器模块114_1a设置的调节器窗口,并且可以依据关于核的dvfs操作方案来改变第一时段的长度。指令引退计数器116_3a可以对在核活动周期时段中处理的指令数进行计数。

dvfs模块114a可以包括dvfs调节器模块114_1a、cmu装置驱动器114_2a以及pmic装置驱动器114_3a。dvfs调节器模块114_1a可以控制dvfs操作。例如,dvfs调节器模块114_1a可以收集包括核活动周期的第一计数信息count_1和包括来自性能监控单元116a的所执行的指令的数量的第二计数信息count_2,并且可以从内部存储器150a收集阈值cpith_cpi。dvfs调节器模块114_1a可以使用阈值cpith_cpi来产生关于核的存储器访问停顿周期的信息。阈值cpith_cpi可以是通过如下方式获得的值,即,测量核用来运行无需访问存储器接口120a的多条指令所需的活动周期,并将所测量的活动周期转换为运行一条指令所需的周期。换句话说,dvfs调节器模块114_1a可以使用阈值cpith_cpi导出包括在核活动周期中的存储器访问停顿周期的比率。将在下面更详细地描述阈值cpith_cpi。此外,作为示例,由dvfs调节器模块114_1a产生的关于存储器访问停顿周期的信息可以包括spi(每指令存储器访问停顿周期)。将在下面详细地描述spi。

参考图2和图3,第一时段iv_1包括核活动周期tact和核空闲周期tidle。通过活动周期计数器116_1a测量的核活动周期tact可以包括核执行计算操作的周期c和核访问存储器接口120a的时段(图3中“a”所示)的存储器访问停顿周期s。如上所述,由于在存储器访问停顿周期s中,核可以暂时停止计算操作,所以当精确计算核上的负载时可以排除存储器访问停顿周期s。在下文中,将描述通过考虑存储器访问停顿周期s来计算核上的负载的示例。

参考图4a,dvfs调节器模块114_1a可以使用核活动周期tact和所运行的指令的数量来产生表示在核活动周期tact期间运行一条指令所需的周期的cpi(cycleperinstruction,每指令周期)。由于核活动周期tact可以包括当核访问存储器接口120a以运行指令时的存储器访问停顿周期s,所以dvfs调节器模块114_1a可以通过考虑存储器访问停顿周期s来校正核活动周期tact。

作为示例,dvfs调节器模块114_1a可以将cpi和阈值cpith_cpi进行比较,并且可以假设当cpi超过阈值cpi时,预定的存储器访问停顿周期包括在核活动周期tact中(情况1)。因此,dvfs调节器模块114_1a可以通过从cpi中减去阈值cpith_cpi来产生表示在核活动周期tact期间通过一条指令访问存储器接口120a所需的周期的spi(memoryaccessstallcycleperinstruction,每指令存储器访问停顿周期)。dvfs调节器模块114_1a可以使用cpi和spi来校正核活动周期tact。dvfs调节器模块114_1a可以使用校正的核活动周期tact'和校正的核活动周期与核空闲周期的和(tact'+tidle)之间的比率计算核的负载clcore。dvfs调节器模块114_1a可以基于核的负载clcore控制cmu装置驱动器114_2a和pmic装置驱动器114_3a中的每个。cmu装置驱动器114_2a可以基于dvfs调节器模块114_1a的dvfs操作将时钟控制信号ctr_cc提供给cmu130。因此,cmu130可以将具有由dvfs操作产生的缩放频率的时钟信号提供给cpu110a。另外,pmic装置驱动器114_3a可以基于dvfs调节器模块114_1a的dvfs操作将功率控制信号ctr_cp提供给pmic140。因此,pmic140可以将具有由dvfs操作产生的缩放水平的功率提供给cpu110a。

参考图4b,dvfs调节器模块114_1a可以将cpi和阈值cpith_cpi进行比较,并且当cpi小于或者等于阈值cpith_cpi时可以不产生spi(情况2)。换句话说,当cpi小于或者等于阈值cpith_cpi时,dvfs调节器模块114_1a可以假设存储器访问停顿周期s不包括在核活动周期tact中,并且可以不产生关于包括spi的存储器访问停顿周期s的信息。因此,dvfs调节器模块114_1a可以使用核活动周期tact和核活动周期与核空闲周期的和(tact+tidle)之间的比率来计算核的负载clcore。

根据本示例性实施例的dvfs调节器模块114_1a可以通过使用阈值cpith_cpi的简单比较操作来确定存储器访问停顿周期s是否包括在核活动周期tact中。此外,由于产生spi和使用简单的计算操作来校正核活动周期tact,所以可以有效地执行dvfs操作,并且可以提高应用处理器(例如图1中的应用处理器100)的性能。

图5是示出根据本发明构思的示例性实施例的cpu的框图,图6是示出根据本发明构思的示例性实施例的关于图5中的cpu的dvfs操作的时序图。

参考图5,除了存储器访问停顿周期计数器116_3b,cpu110b可以与图2的cpu110a大致相同。例如,cpu110b可以包括dvfs模块114b和性能监控单元116b。性能监控单元116b可以包括活动周期计数器116_1b和存储器访问停顿周期计数器116_3b。dvfs模块114b可以包括dvfs调节器模块114_1b、cmu装置驱动器114_2b以及pmic装置驱动器114_3b。dvfs调节器模块114_1b可以连接至存储器接口120b。在下文中,将描述图2中的cpu110a与cpu110b之间的区别。

存储器访问停顿周期计数器116_3b可以对在核活动周期内核访问存储器接口120b的时段进行计数,以测量存储器访问停顿周期。dvfs调节器模块114_1b可以从性能监控单元116b中收集包括核活动周期的第一计数信息count_1和包括存储器访问停顿周期的第三计数信息count_3。

参考图5和图6,dvfs调节器模块114_1b可以通过使用第一计数信息count_1和第三计数信息count_3从核活动周期tact中减去存储器访问停顿周期s来产生仅包括核执行计算操作的周期c的所校正的核活动周期tact'。dvfs调节器模块114_1b可以使用所校正的核活动周期tact'和所校正的核活动周期与核空闲周期的和(tact'+tidle)之间的比率精确地计算核的负载clcore。dvfs调节器模块114_1b可以基于核的负载clcore来控制cmu装置驱动器114_2b和pmic装置驱动器114_3b中的每一个。

根据本示例性实施例的dvfs模块114b可以精准地对包括在核活动周期tact中的存储器访问停顿周期s进行计数和产生,并且使用所产生的存储器访问停顿周期s来计算核上的负载,因此,可以有效地执行dvfs操作。

图7是示出根据本发明构思的示例性实施例的应用处理器的操作方法的流程图。

参考图2和图7,活动周期计数器116_1a可以在由dvfs调节器模块114_1a设置的第一时段内对核执行用于运行指令的操作的时段的核活动周期进行计数和测量,并且dvfs调节器模块114_1a可以从第一时段的长度减去核活动周期以测量核处于空闲状态的时段的核空闲周期(s100)。然后,dvfs调节器模块114_1a可以产生关于存储器访问停顿周期的信息,该存储器访问停顿周期是在核活动周期内核访问存储器接口的时段(s110)。dvfs调节器模块114_1a可以基于关于存储器访问停顿周期的信息来校正核活动周期,并且基于所校正的核活动周期来计算核上的负载(s120)。dvfs调节器模块114_1a可以基于核上的负载对核执行dvfs操作(s130)。

图8是根据本发明构思的示例性实施例的操作应用处理器以产生关于存储器访问停顿周期的信息的方法的流程图。

参考图2和图8,dvfs调节器模块114_1a可以从性能监控单元116a收集核活动周期和核活动周期中运行的指令的数量,并且可以产生表示在核活动周期期间运行一条指令所需的周期的cpi(s111)。dvfs调节器模块114_1a可以将产生的cpi与从内部存储器150a提供的阈值cpi进行比较(s112)。dvfs调节器模块114_1a可以确定cpi是否超过了阈值cpi(s113)。当cpi超过阈值cpi(s113中为是)时,dvfs调节器模块114_1a可以从cpi中减去阈值cpi并且产生与关于存储器访问停顿周期的信息相对应的spi(s114)。当cpi没有超过阈值cpi(s113中为否)时,dvfs调节器模块114_1a可以不产生spi(s115)。

图9是根据本发明构思的示例性实施例的操作应用处理器来计算核上的负载的方法的流程图。

参考图2和图9,当dvfs调节器模块114_1a产生spi时(从图8的步骤s114),dvfs调节器模块114_1a可以使用cpi和spi校正由活动周期计数器116_1a测量的核活动周期(s121)。当不产生spi时(从图8的步骤s115),dvfs调节器模块114_1a可以维持由活动周期计数器116_1a测量的核活动周期而不校正核活动周期(s123)。然后,dvfs调节器模块114_1a可以使用校正的或者未校正的核活动周期以及核空闲周期来计算核上的负载(s125)。

图10和图11分别是示出根据本发明构思的示例性实施例的产生阈值cpi的方法的流程图和表格。

参考图10,包含在应用处理器中的核可以对在计算阶段边界(computingphaseboundary)中的预定指令执行第n次运行操作,以设置用于执行dvfs操作的阈值cpi(s200)。核可以在计算阶段边界中而不是在核访问存储器接口的时段连续地执行计算操作以运行预定的指令。核可以测量运行预定指令所需的第n个候选活动周期并存储所测量的第n个候选活动周期(s210)。核可以确定根据测量结果产生的候选活动周期的数量是否是m(s220)。“m”可以是之前确定以设置阈值cpi的任意值。当根据测量结果产生的候选活动周期的数量是m(s220中为是)时,例如,当在计算阶段边界中对预定的指令执行第m次运行操作时,核可以使用测量的m个候选活动周期中的至少一个来设置阈值cpi(s240)。当根据测量结果产生的候选活动周期的数量不是m(s220中为否)时,核可以将n递增1并且再次对预定的指令执行运行操作。

如图11中所示,表格示出了与候选活动周期相对应的cpki(cycleperkiloinstructions,1000条指令执行周期)。

cpki代表在计算阶段边界中用来运行1000条指令的周期。当运行指令时,由于例如浮动计算、分支预测失败等因素,与候选活动周期相对应的cpki可以彼此具有不同的值。根据本实例性实施例,可以在m个候选活动周期当中选择具有最长长度的候选活动周期cm_1,并且可以使用所选择的候选活动周期cm_1来设置阈值cpi。然而,根据本发明构思的示例性实施例,可以基于dvfs操作方案选择m个候选活动周期中的任何一个,并且可以使用所选择的候选活动周期来设置阈值cpi。

图12是示出根据本发明构思的示例性实施例的cpu的框图,图13是示出根据本发明构思的示例性实施例的在关于存储器接口的dvfs操作中获取存储器接口上的负载的数学表达式的示图。

参考图12,cpu110c可以操作dvfs模块114c,dvfs模块114c可以包括dvfs调节器模块114_1c、cmu装置驱动器114_2c和pmic装置驱动器114_3c。存储器时钟域m_clk_domain可以包括存储器接口120c和存储器装置md。dvfs调节器模块114_1c可以响应于来自cpu110c或者另一个主ip的请求在第二时段期间从存储器接口120c收集存储器活动周期m_tact,其包括使用存储器装置md执行数据输入/输出操作的时段的事务周期以及实施由存储器装置md执行数据输入/输出操作所需的操作的时段的就绪操作周期。第二时段可以是由dvfs调节器模块114_1c设置的调节器窗口。可以依据关于存储器接口120c的dvfs操作方案改变第二时段的长度,并且第二时段的长度可以与图2中所描述的第一时段的长度相等或者不同。

参考图12和图13,dvfs调节器模块114_1c可以使用包括数据事务周期m_tdata和就绪操作周期m_tro的存储器活动周期m_tact以及第二时段的长度m_ttotal来计算存储器时钟域m_clk_domain的负载clm。根据本示例性实施例的dvfs调节器模块114_1c可以基于存储器时钟域m_clk_domain的负载clm来控制cmu装置驱动器114_2c和pmic装置驱动器114_3c中的每一个。cmu装置驱动器114_2c可以基于dvfs调制器模块114_1c的dvfs操作将时钟控制信号ctr_mc提供给cmu。因此,cmu可以将具有由dvfs操作引起的缩放频率的时钟信号提供给存储器接口120c。此外,pmic装置驱动器114_3c可以基于dvfs调制器模块114_1c的dvfs操作将功率控制信号ctr_mp提供给pmic。因此,pmic可以将具有由dvfs操作引起的缩放水平的功率提供给存储器接口120c。

根据本示例性实施例的dvfs模块114c通过考虑存储器接口120c和/或存储器装置md上的负载(例如存储器时钟域m_clk_domain)来对存储器接口120c和存储器装置md执行dvfs操作,因此可以提高应用处理器的性能。

图14a和图14b是示出根据本发明构思的示例性实施例的关于存储器时钟域的存储器活动周期的时序图。

参考图12和图14a,存储器时钟域m_clk_domain的存储器活动周期m_tact_a可以依据连接至存储器接口120c的存储器装置md的类型而改变。根据本发明构思的示例性实施例,当存储器装置md与第一存储器装置相对应时,存储器装置md可以预先执行预定的就绪操作ro_1a和ro_2a,以允许存储器接口120c响应于读出请求r1和r2执行针对读取的数据的输出操作d_1a和d_2a。因此,第二时段iv_2a中的存储器时钟域m_clk_domain的存储器活动周期m_tact_a可以包括使用存储器装置md执行数据输入/输出操作的时段的数据事务周期m_tdata_1a和m_tdata_2a以及通过存储器装置md实施执行数据输入/输出操作所需的操作的时段的就绪操作周期m_tro_1a和m_tro_2a,以便允许存储器装置md输出读取的数据。在第二时段iv_2a中除了存储器活动周期m_tact_a之外的时段可以与存储器空闲周期m_tidle_a相对应。

参考图12和图14b,当存储器装置md与第二存储器装置相对应时,存储器装置md可以比图14a中的存储器装置md执行更多的就绪操作(例如ro_1a、ro_1b、ro_2a和ro_2b),以允许存储器接口120c响应于读出请求r1和r2执行针对读取的数据的输出操作d_1b和d_2b。因此,第二时段iv_2b中的存储器时钟域m_clk_domain的存储器活动周期m_tact_b可以包括使用存储器装置md执行数据输入/输出操作的时段的数据事务周期m_tdata_1b和m_tdata_2b、以及通过存储器装置md实施执行数据输入/输出操作所需的操作的时段的就绪操作周期m_tro_1a、m_tro_1b、m_tro_2a和m_tro_2b,以便允许存储器装置md输出读取的数据,因此第二周期iv_2b中的存储器时钟域m_clk_domain的存储器活动周期m_tact_b可以具有大于图14a所示的存储器活动周期m_tact_a的值。在第二时段iv_2b中除了存储器活动周期m_tact_b之外的时段可以与存储器空闲周期m_tidle_b相对应。

作为示例,假设存储器装置md是dram,则存储器装置md可以在执行输出操作d_1b之前使用包括在存储器装置md中的读出放大器来执行放大读取的数据的就绪操作ro_1a,以输出读取的数据,并且存储器装置md可以在执行输出操作d_1b之后执行对从中读出了数据的存储器单元进行预充电的就绪操作ro_1b。此外,存储器装置md可以在执行输出操作d_2b之前使用包括在存储器装置md中的读出放大器来执行放大读取的数据的就绪操作ro_2b,以输出读取的数据,并且存储器装置md可以在执行输出操作d_2b之后执行对从中读出了数据的存储器单元进行预充电的就绪操作ro_2b。

如上所述,根据本示例性实施例的dvfs模块114c可以通过不仅考虑其中执行数据输入/输出操作的时段的数据事务周期、而且还考虑依据根据存储器装置md的类型而不同的就绪操作所需的周期来计算反映存储器的实际操作状态的负载。

图15是根据本发明构思的示例性实施例的执行关于存储器时钟域的dvfs操作的方法的流程图。

参考图12和图15,存储器接口120c可以测量预定时段中的存储器活动周期m_tact,其包括存储器接口120c响应于来自至少一个主ip的请求而使用存储器装置md执行数据输入/输出操作的时段的数据事务周期以及实施执行数据输入/输出操作所需的操作的时段的就绪操作周期(s300)。dvfs模块114c可以基于存储器活动周期m_tact计算存储器时钟域m_clk_domain上的负载(s310)。dvfs调节器模块114_1c可以基于存储器时钟域m_clk_domain上的负载来对存储器时钟域m_clk_domain执行dvfs操作(s320)。

图16是示出根据本发明构思的示例性实施例的计算系统的框图。

参考图16,计算系统20可以包括多个主ip210、220、230和240,ram250,rom260,存储器接口270,存储器装置280和总线290。主ip可以包括cpu210、图形处理单元(gpu)220、显示器ip230和多媒体ip240,但是主ip不限于此。例如,计算系统20还可以包括各种主ip。

如果需要,可以将存储在ram250、rom260和存储器装置280中的程序和/或数据加载到主ip210、220、230和240的存储器中。ram250可以临时存储程序、数据或指令。例如,响应于主ip210、220、230和240之一的控制或存储在rom260中的启动代码,可以将程序和/或数据临时存储在ram250中。ram250可以由dram或静态ram(sram)来实现。rom260可以存储永久的程序和/或数据。rom260可以由可擦除可编程只读存储器(eprom)或电可擦除可编程只读存储器(eeprom)来实现。

存储器接口270可以与存储器装置280相接并且控制存储器装置280的总体操作。此外,存储器接口270可以经由总线290控制主ip210、220、230和240与存储器装置280之间的数据事务。例如,存储器接口270可以响应于来自cpu210的请求而在存储器装置280中写入数据或从存储器装置280读取数据。

根据本示例性实施例,总线290可以包括通信量监控单元295,并且存储器接口270、存储器装置280和通信量监控单元295可以包括在同一存储器时钟域m_clk_domain中。通信量监控单元295可以测量预定时段内的存储器活动周期m_tact,其包括存储器接口270响应于来自至少一个主ip的请求而使用存储器装置280执行数据输入/输出操作的时段的数据事务周期以及实施执行数据输入/输出操作所需的操作的时段的就绪操作周期。

根据本发明构思的示例性实施例,通信量监控单元295可以测量从来自至少一个主ip的请求到达存储器时钟域m_clk_domain的时间点起至完成数据输入/输出操作的时间点的周期来作为存储器活动周期m_tact。

执行dvfs程序的cpu210可以从通信量监控单元295收集存储器活动周期m_tact,并且cpu210可以基于存储器活动周期m_tact执行对存储器接口270和存储器装置280的dvfs操作。

通信量监控单元295包括在如图16所示的总线290中,但不限于此。例如,通信量监控单元295可以位于能够精确检测请求到达存储器接口270的时间点以及响应于该请求完成数据输入/输出操作的时间点的存储器时钟域m_clk_domain中的任意位置。例如,通信量监控单元295可以包括在存储器接口270中。

图17是示出根据本发明构思的示例性实施例的操作图16的计算系统的方法的框图。

参考图17,gpu可以访问存储器接口270以执行图像处理操作。在该情况下,根据本示例性实施例的通信量监控单元295可以通过对从访问存储器接口270的请求(req.)从gpu220到达通信量监控单元295的时间点起至数据从通信量监控单元295输出至gpu220以作为对请求(res.)的响应(req.)的时间点的周期进行计数来测量存储器活动周期m_tact。

cpu210可以收集由通信量监控单元295测量的存储器活动周期m_tact,并且cpu210可以基于存储器活动周期m_tact对存储器接口270和存储器装置280执行dvfs操作。

图18是示出根据本发明构思的示例性实施例的包括多个核的应用处理器的框图。

参考图18,应用处理器300可以包括第一集群310、第二集群320、内部存储器330、cmu340、pmic350和存储器接口360。为了便于说明,图18中示出的第一集群310和第二集群320中的每一个分别包括四个核312至318以及322至328,但是第一集群310和第二集群320中的每一个的核数量不限于此。

第一集群310可以包括第一核312、第二核314、第三核316和第四核318,并且第二集群320可以包括第五核322、第六核324、第七核326和第八核328。包括在第一集群310中的核312至核318可以具有与包括在第二集群320中的核322至核328相同或不同的性能。在下文中,将在以下假设下描述应用处理器300:包括在第一集群310中的核312至核318的每单位时间的计算量大于包括在第二集群320中的核322至核328的每单位时间的计算量。

第一集群310可以从内部存储器330接收第一阈值cpith_cpi_1,并且第二集群320可以从内部存储器330接收第二阈值cpith_cpi_2。因为第一阈值cpith_cpi_1和第二阈值cpith_cpi_2彼此可以具有不同的值,并且包括在第一集群310中的核312至核318的性能优于包括在第二集群320中的核322至核328的性能,所以第一阈值cpith_cpi_1的值可以小于第二阈值cpith_cpi_2的值。

第一集群310的核312至核318中的每一个可以基于使用第一阈值cpith_cpi_1的dvfs程序执行dvfs操作。详细地,核312至核318中的每一个可以测量每个核运行指令的时段的核活动周期和每个核处于空闲状态的时段的核空闲周期,并且可以产生关于在核活动周期中每个核访问存储器接口的时段的存储器访问停顿周期的信息。核312至核318中的每一个可以基于关于每个存储器访问停顿周期的信息来校正核活动周期并基于所校正的核活动周期来计算每个核上的负载。

在这种情况下,可以基于第一集群310中包括的核312至核318中具有最大负载的核来对第一集群310执行dvfs操作。例如,在第一核312上的负载为第一集群310的核312至核318中的最大负载的情况下(例如,第一核312上的负载处于重度负载状态),则可以基于第一核312上的负载对第一集群310执行dvfs操作。

第一集群310可以基于第一核312上的负载将第一时钟控制信号ctr_cc1提供给cmu340,并且响应于第一时钟控制信号ctr_cc1来接收其频率被缩放的第一时钟信号clk_c1。此外,第一集群310可以基于第一核312上的负载将第一功率控制信号ctr_cp1提供给pmic350,并且响应于第一功率控制信号ctr_cp1来接收其水平被缩放的第一功率pw_c1。

第二集群320的核322至核328中的每一个可以基于使用第二阈值cpith_cpi_2的dvfs程序执行dvfs操作。在这种情况下,可以基于第二集群320中包括的核322至核328中具有最大负载的核来对第二集群320执行dvfs操作。例如,在第六核324上的负载为第二集群320的核322至核328中的最大负载的情况下(例如,第六核324上的负载处于重度负载状态),可以基于第六核324上的负载对第二集群320执行dvfs操作。

第二集群320可以基于第六核324上的负载将第二时钟控制信号ctr_cc2提供给cmu340,并且响应于第二时钟控制信号ctr_cc2来接收其频率被缩放的第二时钟信号clk_c2。此外,第二集群320可以基于第六核324上的负载将第二功率控制信号ctr_cp2提供给pmic350,并且响应于第二功率控制信号ctr_cp2来接收其水平被缩放的第二功率pw_c2。

图19是示出根据本发明构思的示例性实施例的包括多个核的应用处理器的框图。

参考图19,应用处理器400可以包括第一集群410、第二集群420、cmu440、pmic450、存储器接口460和通信量监控单元470。第一集群410和第二集群420分别具有与图18所示的第一集群310和第二集群320大致相同的构造,因此,将省略对第一集群410和第二集群420的详细描述。存储器接口460和通信量监控单元470可以被包括在同一存储器时钟域中。根据本发明构思的示例性实施例,包括在第一集群410和第二集群420中的核412至核428之一可以基于dvfs程序对存储器接口460执行dvfs操作。例如,核412至核428中的每一个可以在对存储器接口460执行dvfs操作之前接收预定信号(或中断信号),并且可以选择首先接收到信号或首先响应于预定信号的核以执行对存储器接口460的dvfs操作。在下文中,假设选择了第二集群420的第八核428对存储器接口460执行dvfs操作。

第八核428可以收集由通信量监控单元470产生的存储器活动周期m_tact,并且基于存储器活动周期m_tact将时钟控制信号ctr_mc提供给cmu440并将功率控制信号ctr_mp提供给pmic450。cmu440可以响应于时钟控制信号ctr_mc将具有被缩放的频率的时钟信号clk_m提供给存储器接口460,并且pmic450可以响应于功率控制信号ctr_mp将具有被缩放的水平的功率pw_c提供给存储器接口460。

图20是示出根据本发明构思的示例性实施例的包括应用处理器的通信设备的框图。

参考图20,通信设备1000可以包括应用处理器1010、存储器装置1020、显示器1030、输入装置1040和无线电收发机1050。

无线电收发机1050可以通过天线1060发送或接收无线电信号。例如,无线电收发机1050可以将通过天线1060提供的无线电信号转换成可由应用处理器1010处理的信号。

因此,应用处理器1010可以处理从无线电收发机1050输出的信号并将所处理的信号发送至显示器1030。另外,无线电收发机1050可以将从应用处理器1010输出的信号转换成无线电信号并且将所转换的无线电信号经由天线1060输出至外部装置。

输入装置1040可以是输入控制信号以控制应用处理器1010的操作或者是输入由应用处理器1010处理的数据的装置,并且可以由指向装置(诸如触控板、电脑鼠标等)、按键或键盘来实现。

根据本发明构思的示例性实施例,应用处理器1010可以单独地执行关于在应用处理器1010中包括的cpu的cpu时钟域的dvfs操作,以及关于包括了在应用处理器1010中包括的存储器接口和存储器装置1020的存储器时钟域的dvfs操作。当应用处理器1010执行关于cpu时钟域的dvfs操作时,应用处理器1010可以通过考虑cpu访问存储器接口的时段的存储器访问停顿周期来执行dvfs操作。此外,当应用处理器1010执行关于存储器时钟域的dvfs操作时,应用处理器1010可以通过不仅考虑数据被处理的时段的周期来执行dvfs操作,而且还考虑执行了输入/输出数据所需的操作的时段的周期来执行dvfs操作。为了执行dvfs操作,应用处理器1010还可以包括dvfs控制器。

通信设备1000还可以包括pmic以将功率提供给包括在通信设备1000中的各种组件。

虽然已经参考本发明的示例性实施例描述了本发明构思,但是本领域普通技术人员应当理解,在不脱离如所附权利要求中所阐述的本发明构思的精神和范围的情况下,可以对其进行各种修改、替换和等效布置。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1