专利名称:收集闭合系统的运行信息的制作方法
技术领域:
本发明涉及闭合系统,具体地说涉及收集关于闭合系统的运行信息。
背景技术:
用户日益要求诸如移动台等电子装置具有更好的可用性和更多的用途。今天,移动台不再仅仅用来呼叫,而是用于诸如日历、游戏机、互联网浏览器和照相机等其他许多目的。这样的移动应用的数目随着移动台的普及和开发急剧增加,不断开发出新的更加复杂的移动应用。
随着诸如移动应用等电子装置应用数目的增加,要求电子装置有比过去更好的性能,结果对资源的使用显著增加,因而也显著增加功率消耗。于是有可能要求电子装置在瞬间具有高性能,或另一方面,当应用处于被动状态时,电子装置处于空闲状态。因而,电子装置的性能并不总是对应于实际的性能要求。
先有技术基于软件的方法难以收集诸如时钟脉冲等操作系统信息并确定跟随诸如ASIC电路等闭合系统的操作的性能以及确定闭合系统工作能力的分配,因为在闭合系统中软件的运行本身给总线施加负载。这就是为什么电子装置的性能一般都是由闭合系统内部确定的,这意味着无法找出实际造成问题的部位。另一个问题包括收集方法的缓慢和只能在设计阶段非常晚的时候才能通过分析方法收集运行信息并确定其性能,甚至那时所得的结果也只是实际运行信息和性能的估计值。此外,利用当前的方法根本无法确定高速缓存的性能和整个闭合系统的频率。所述方法的复杂性造成了另一个问题,所述问题本身又引起费用和出错危险的增加。
从美国专利US5,164,969得知的一种解决方案是测量和调整RISC(精简指令系统计算机)系统的性能。但所述公开中的确定方法基于计算一个RISC系统事件中的最小和最大的连续周期数。所述方法的问题是,它计算峰值而不是连续执行次数。
发明内容
因而本发明的目的是研制一种以能够减少上述缺点的方式实施所述方法的方法和装置。本发明的目的通过具有以下特征的方法、系统、装置和软件来达到。本说明书中阐述了本发明的最佳实施例。
本发明基于这样的事实,即,诸如ASIC等闭合系统的诸如RAM或DMA部件等至少一个可监控的部件具有功能上与之连接并用来收集关于被监控部件的运行信息的装置,所述运行信息包括诸如到达所述部件的时钟脉冲或在执行功能过程中过去的时钟脉冲。所述装置用来把所收集的运行信息发送到数据收集器,所述数据收集器在功能上与所述装置连接并包括至少一个寄存器、用以存储由所述装置发送的运行信息。
按照本发明最佳实施例,所述收集系统还包括至少一个分析模块,用来接收从数据收集器发送的有关被监控部件的运行信息。分析模块用来根据所述运行信息确定所述部件的性能和/或功率消耗。本文中把作为分析结果而获得的信息称为分析信息。
按照本发明第二个最佳实施例,收集系统还包括控制模块,用来接收由分析模块发送的分析信息。所述控制模块包括一般由软件实现的控制算法,借助于所述软件控制模块根据所述分析信息调整闭合系统的性能和/或功率消耗。
本发明的配置提供明显的优点。一个优点是,它既有可能把运行信息的收集方法应用于设计阶段、从而有可能根据要求指导设计工作,又有可能在运行时把运行信息的收集方法应用于完成的最终产品、从而有可能根据需要调整性能因而减少资源的消耗,这本身又允许降低诸如移动台等最终产品的工作电压。另一个优点是,把本发明的收集系统的硬件实现减至最少,因为所述系统可以至少部分地由软件实现。所述用于收集运行信息的系统使得有可能迅速而可靠地优化闭合系统的性能,因此可以使设计参数化并改善利用现有资源的效率。另一个优点是,软件设计者可以容易地检测出他的应用对闭合系统性能的影响,从而检测出为软件设计所分配的资源是否太多了。
现将参考附图,通过最佳实施例更详细地描述本发明,附图中图1表示简化的微型计算机及其最基本的部件;图2表示处理器的简化的结构;以及图3是本发明最佳实施例的收集系统的方框图。
具体实施例方式
诸如移动台等数字电子装置一般都包括几个微型计算机。如图1所示,微型计算机最重要的部件一般是处理器1、存储器2、外围设备3和接口逻辑4。
处理器1是控制微型计算机操作的单元并且执行存储在存储器2中的程序5、处理存储器2中的信息、例如通过处理诸如中断等外围设备3请求的服务来控制外围设备3的工作、并根据需要分配微型计算机的资源。处理器1的操作基于处理器1接收包括位在内的命令这一事实。
存储器2的任务是存储控制处理器1的操作的程序和要存储较长时间的任何信息。存储器2还包含诸如堆栈和中断向量等处理器1的特定的数据结构。存储器2可以粗略地划分为其中存储诸如操作系统等固定程序的只读存储器(ROM)以及用于读和写操作的随机存取存储器(RAM)。
外围设备3把微型计算机连接到外部世界6,因为它能够把数据传入或传出微型计算机。处理器1一般控制外围设备3的操作,但是外围设备3也能够与处理器1通信。例如,处理器1检查外围设备3是否需要服务(查询)或当有需要(中断)时,外围设备3向处理器1请求帮助。
接口逻辑4的任务是一般通过总线逻辑把处理器1、存储器2和外围设备3彼此连接起来。总线逻辑还可以把外围设备3连接到外部世界6。总线由导线构成,它们一般分成控制总线,它把控制发送到与处理器1连接的部件;地址总线,它指示存储器地址,例如要存储数据的存储器地址;以及数据总线,其中传输实际的数据。
在图1和图2中使用相同的标号。图2较详细地表示处理器1的结构。处理数据之前,处理器1一般把数据从处理器1的外部存储器2传输到处理器1内部的存储位置,亦即寄存器。数据处理过程中产生的中间结果也保存在寄存器中,因为它会加快处理器的操作。处理器1的寄存器一般包括累加器7和地址寄存器8。当处理器1需要从一个单元读取数据时,解释程序9把地址设置在地址寄存器8中,传输到地址总线10。解释程序9向三模(three mode)缓冲器提供控制信号,结果向数据总线4发送输入信号13。在下一个时钟周期过程中,输入信号13存储在累加器7中。处理器1一般还具有程序计数器15,其任务是指示存储器2中要执行的下一条指令的地址;以及指令寄存器16,它存储从存储器2取出的指令,以便控制装置17来得及解释和执行组成控制信号18的一连串事件。
除控制和调整任务外,微型计算机的第二个重要的应用领域是数学计算,为了让处理器1执行数学计算,处理器1具有算术逻辑单元(ALU)19。处理器1一般还包括标志,所述标志作为不同功能的结果而被来回转向(flip-flops)设置为逻辑0或1。微型计算机中的判断取决于于不同标志的设置状态。例如,当累加器的内容为0时,Z标志20被设置为1。而当其内容不等于零时,Z标志被复位为0。
专用集成电路(ASIC)是一种逻辑电路,它一般可以具有多达几百万个由晶体管形成的逻辑门。使电路上的逻辑同步的时钟信号一般输入到ASIC。在ASIC中可以设计一些独立的逻辑实体。于是这种类型的电路可以具有优异的专用特性。由于这些逻辑门的的延迟短,ASIC还是快速的。ASIC的设计是费时的并且费用相对较高,但是一般采用VHDL(超高速集成电路硬件描述语言)语言来进行设计,使得在后期产品中可以采用代码。可以结合到所述电路中的现成的功能块,即,IP功能块(知识产权功能块)、诸如DSP(数字信号处理)核心、处理器、存储器电路和计数器等当前可用于ASIC。
ASIC和FPGA(现场可编程门阵列)电路是闭合系统的一些实例。闭合系统在这里是指这样一种数据处理系统,它在制造过程之后基本上包括要求的各部件,但即使在制造之后仍然可以以这样的方式添加部件、使得添加这些部件之后形成新的闭合系统。
在电子装置中,软件的操作需要电子装置的闭合系统的性能。有时,要求电子装置具有瞬间高性能,而有时电子装置处于空闲状态。因此,需求可能明显地变化,因而电子装置的性能并非总是对应于实际的性能要求。先有技术收集运行信息并确定性能的方法不准确的、复杂并且缓慢,它们的应用一般只限于监控闭合系统的某些部件以及某些设计阶段。
按照本发明的最佳实施例,为闭合系统形成用于软件的接口。通过所述接口获得关于ASIC电路操作和实行软件功能过程中操作能力的分布信息。采用这种方法,可以求出所述软件给予ASIC电路的负担如何,因而例如优化了所述软件对资源的消耗。结果,比较容易了解和说明ASIC电路的行为,因而可以比过去更可靠和更早地分析ASIC电路设计上的改变对闭合系统性能的影响。
参考图3所示简化的方框图,下面描述按照本发明最佳实施例的收集系统,其中,诸如移动台等电子装置的收集系统(本实施例中是ASIC电路)不仅包括处理器(微控制器MCU)32、RAM存储器33、多媒体卡(MMC)34、直接存储器存取(DMA)组件35,而且包括功能上连接到被监控的部件32、33、34和35的装置(I)37以及功能上连接到所述装置的数据收集器(DC)38。
在所述收集系统中,装置37用来收集被监控部件32、33、34和35的运行信息,诸如到达所述部件的时钟脉冲和在诸如读或写操作等功能的执行过程中和等待过程中过去的时钟脉冲。装置37用来把所述运行信息通过相应的测量信号39向前发送到数据收集器38(例如实时地或以这样一种方式、即、装置37存储运行信息而数据收集器38按照一定的时间间隔取出所述信息),数据收集器38在功能上连接到所述装置并包括至少一个寄存器(R)40。部件32、33、34和35的运行信息存储在数据收集器38的寄存器40上。数据收集器38向前把运行信息发送到所述收集系统的分析模块(AM)41,分析模块41用来根据所述运行信息确定所述闭合系统的性能。例如通过比较进入所述部件的时钟脉冲数和执行某功能过程中所经过的时钟脉冲数来确定所述闭合系统的性能。然后可以把所述信息与其他部件的信息进行比较,以便找出例如一个部件是否过久地等待另一个部件的动作。由分析模块41进行的性能确定的结果是分析信息,所述分析信息可以用来定义ASIC的性能,诸如内部功能、等待时间和适应冲突。可以根据分析信息准确地监控ASIC电路31的性能。
由于分析模块41具有连接到处理器的总线接口,处理器任何时候都可以获得分析信息。测量信号39和分析模块41的数量一般可以在实现过程中选择。分析模块41的操作最好可以在运行时编程。
分析模块41还用来把分析信息发送给控制模块(CM)42,控制模块42包括控制算法。例如,控制模块42用来通过根据分析信息控制影响部件32、33、34和35操作能力的分配来优化ASIC电路的性能。控制模块42的操作最好也能够在运行时编程。
分析信息可以用来例如对程序进行再编制。例如,可以通过使处理器在较低的时钟频率下运行来优化性能。
电子装置的应用(A)44的操作基于电子装置的操作系统(OS)43的操作。所述操作系统最好在功能上连接到控制模块42,结果是,可以按照本发明来确定和控制应用44的操作所引起的资源消耗。
还可以以被监控的部件32、33、34和35与数据收集器38之间的导线的形式来实现装置37。装置37不必直接连接到被监控的部件32、33、34和35,而是驻留在任何地方,只要功能上连接到被监控的部件32、33、34和35即可。数据收集器38也可以在闭合系统31的内部或外部实现,只要它在功能上与装置相连。此外,一个数据收集器38可以收集几个不同的闭合系统的运行信息。按照最佳实施例,所述系统收集闭合系统的运行信息、以便确定和调整所述系统的功率消耗。分析模块借助于所述部件的诸如时钟脉冲等的运行信息来确定例如所述部件的工作频率,所述工作频率还有助于确定闭合系统的功率消耗。根据所述分析信息,有可能控制所述系统的功率消耗。
借助于上述用于收集闭合系统的运行信息的系统,有可能实现收集闭合系统31的运行信息的方法。按照所述方法的一个最佳实施例,利用功能上连接到这些部件的装置37可以收集来自闭合系统可监控的部件32、33、34和35的运行信息。装置37把运行信息向前发送到数据收集器38,在这里它被存储在至少一个寄存器40中。被监控的部件32、33、34和35的运行信息被发送到分析模块41,它根据所接收的部件32、33、34和35的运行信息,确定闭合系统31的性能。
按照另一个最佳实施例,控制模块42可以在功能上连接到分析模块41,在这里可以根据从分析模块接收的分析信息调整闭合系统31的性能。
本发明的方法和系统提供可靠、快速和容易实现的收集有关闭合系统的运行信息量的途径。所述收集系统使改善性能效率成为可能,因而减少电子装置的能量消耗和工作电压。因为所述系统已经可以用于设计阶段过程中,所以可以认为设计阶段的措施在改善电子装置的可靠性和降低成本方面是必要的。此外,在运行时,所述收集系统和方法可以用于完成的最终产品上。
本发明的收集系统和方法的硬件实现是最少的和简单的,因为所有高层定义和控制功能都可以用软件实现。
本发明的收集运行信息的系统具有两个不同的使用目的。在系统分析中,亦即在研究和产品开发过程中的校验中,所述系统可以用来在软件运行过程中收集诸如ASIC等闭合系统的运行信息。所述收集系统使确定闭合系统产生的并由软件引起的反应时间、可能的热点和瓶颈成为可能。尽早找出可能的问题方便了设计并改进最终产品的可靠性。第二个使用目的是,借助于分析模块41确定最终电子装置运行时的性能,并借助于控制模块42中的控制算法根据需要调整所述性能。
闭合系统中新型收集系统的实现以及将其结合为软件分析工具的一部分,为软件设计者提供了迅速而轻易地检测应用对闭合系统操作的影响的可能性。设计者可以在确定由软件引起的处理器的负载和软件的性能时输入用于分析的参数。换句话说,软件设计者可以容易地确定所述软件模块是否超过对软件设计所设定的限制。
上面描述了用于收集闭合系统运行信息和用于确定其性能的系统和方法。最好可以通过适合于所述电子装置的软件产品来提供所述收集和调整功能,所述软件产品可以包括用于接收被监控的部件的工作模式的执行频率并且用于根据所接收的被监控的部件的运行信息确定闭合系统的性能和/或功率消耗的软件代码;用于根据从分析模块41接收的分析信息调整闭合系统的性能和/或功率消耗的软件代码;用于在运行时对分析模块41的操作进行编程的软件代码;和/或用于在运行时控制控制模块42的操作的软件代码。
对于本专业的技术人员来说,显然,尽管工艺先进,本发明的基本思想可以用许多不同的途径实现。本发明及其实施例并不限于上面描述的实例,而是在权利要求书的范围内可以加以改变。
权利要求
1.一种收集系统,用来收集闭合系统(31)的运行信息,它包括以下被监控的部件中的至少一个-处理器(32)-存储器(33)-外围设备(34,35)-接口逻辑(36)其特征在于所述收集系统还包括至少一个装置(37),它功能上连接到闭合系统(31)的可监控的部件(32,33,34,35,36)并且用来收集所述部件(32,33,34,35,36)中的至少一个的运行信息,以及数据收集器(38),它包括至少一个寄存器(40)并用来接收由所述装置(37)收集的运行信息,所述寄存器用来存储所述运行信息。
2.如权利要求1所述的收集系统,其特征在于所述收集系统还包括至少一个分析模块(41),用来从所述数据收集器(38)接收所述至少一个部件(32,33,34,35,36)的所述运行信息并根据所述接收的所述至少一个部件(32,33,34,35,36)的运行信息确定所述闭合系统(31)的性能和/或功率消耗。
3.如权利要求2所述的收集系统,其特征在于所述收集系统还包括至少一个控制模块(42),所述控制模块包括至少一种控制算法并且在功能上连接到所述分析模块(41),所述控制模块用来响应从所述分析模块(41)接收的分析信息而调整所述闭合系统(31)的所述性能和/或功率消耗。
4.如权利要求1-3中任何一个所述的收集系统,其特征在于以下部件中至少一个用来连接成所述闭合系统(31)的一部分-所述装置(37)-所述数据收集器(38)-所述分析模块(41)-所述控制模块(42)。
5.如权利要求1-4中任何一个所述的收集系统,其特征在于所述装置(37)是所述被监控的部件(32,33,34,35,36)和所述数据收集器(38)之间的导线。
6.如权利要求1-5中任何一个所述的收集系统,其特征在于所述装置(37)用来存储所述运行信息。
7.如权利要求1-6中任何一个所述的收集系统,其特征在于所述数据收集器(38)用来接收所述闭合系统(31)中一个或多个被监控的部件的所述运行信息。
8.如权利要求2-7中任何一个所述的收集系统,其特征在于所述分析模块(41)和/或控制模块是在运行时可编程的。
9.如权利要求1-8中任何一个所述的收集系统,其特征在于所述闭合系统(31)是以下各系统之一-ASIC(专用集成电路)-FPGA(现场可编程门阵列)电路。
10.一种收集闭合系统(31)的运行信息的方法,所述闭合系统包括以下被监控的部件中的至少一个-处理器(32)-存储器(33)-外围设备(34,35)-接口逻辑(36)其特征在于借助于功能上连接到所述部件的装置(37)收集所述闭合系统(31)的所述至少一个可监控的部件(32,33,34,35,36)的运行信息,把所述运行信息的至少一部分发送给数据收集器(38),以及把所述运行信息的至少一部分存储在所述数据收集器(38)的至少一个寄存器(40)中。
11.如权利要求10所述的方法,其特征在于根据所述接收的至少一个部件(32,33,34,35,36)的运行信息,在功能上连接到所述数据收集器(38)的分析模块(41)中确定所述闭合系统(31)的性能和/或功率消耗。
12.如权利要求11所述的方法,其特征在于控制模块(42)功能上连接到所述分析模块(41),以此响应从所述分析模块(41)接收的所述分析信息,调整所述闭合系统(31)的性能和/或功率消耗。
13.如权利要求10至12中任何一个所述的方法,其特征在于把所述运行信息存储在所述装置(37)中。
14.如权利要求10至13中任何一个所述的方法,其特征在于在一个数据收集器(38)接收所述闭合系统(31)的一个或多个部件(32,33,34,35,36)的运行信息。
15.如权利要求11至14中任何一个所述的方法,其特征在于在运行时对所述分析模块(41)和/或控制模块(42)的操作进行编程。
16.一种包括闭合系统(31)的电子装置,所述闭合系统包括以下被监控的部件中的至少一个-处理器(32)-存储器(33)-外围设备(34,35)-接口逻辑(36)其特征在于所述电子装置(31)还包括装置(37),它功能上连接到所述闭合系统(31)的至少一个可监控的部件(32,33,34,35,36)并且用来收集关于所述部件(32,33,34,35,36)的运行信息,以及数据收集器(38),它包括至少一个寄存器(40)并用来接收由所述装置(37)收集的所述运行信息,所述寄存器(40)用来存储所述运行信息。
17.如权利要求16所述的电子装置,其特征在于所述电子装置还包括至少一个分析模块(41),用来从所述数据收集器(38)接收所述至少一个部件(32,33,34,35,36)的所述运行信息并根据所述接收的所述至少一个部件(32,33,34,35,36)的所述运行信息确定所述闭合系统(31)的性能和/或功率消耗。
18.如权利要求17所述的电子装置,其特征在于所述电子装置还包括至少一个控制模块(42),所述控制模块包括至少一种控制算法并且在功能上连接到所述分析模块(41),所述控制模块用来响应从所述分析模块(41)接收的分析信息而调整所述闭合系统(31)的性能和/或功率消耗。
19.如权利要求16-18中任何一个所述的收集系统,其特征在于所述电子装置是下列装置之一-移动台-计算机-电视机。
20.一种适合于电子装置的软件产品,其特征在于所述软件产品包括用于收集所述电子装置中闭合系统(31)的至少一个可监控部件(32,33,34,35,36)的运行信息的软件代码,以及用于接收和存储所述运行信息的软件代码。
21.如权利要求20所述的软件产品,其特征在于所述软件产品还包括下列软件代码中的至少一种-用于根据所述接收的所述至少一个部件(32,33,34,35,36)的运行信息确定所述闭合系统(31)的性能和/或功率消耗的软件代码;-用于响应从所述电子装置的分析模块(41)接收的分析信息而调整所述闭合系统(31)的性能和/或功率消耗的软件代码;-用于在运行时对所述分析模块(41)的操作进行编程的软件代码;-用于在运行时对功能上连接到所述分析模块(41)的控制模块(42)的操作进行编程的软件代码。
全文摘要
一种用于收集闭合系统运行信息的装置。收集系统包括功能上连接到闭合系统的可监控部件的装置和数据收集器,而数据收集器包括寄存器。所述装置收集所述部件的运行信息并将其发送给数据收集器。运行信息存储在寄存器中。收集系统还可以包括分析模块,分析模块根据所接收的运行信息确定闭合系统的性能和/或功率消耗。收集系统还可以包括控制模块,控制模块包括控制算法并在功能上连接到分析模块、用于根据分析信息调整闭合系统的性能或功率消耗。
文档编号G06F9/00GK1501251SQ200310114388
公开日2004年6月2日 申请日期2003年11月10日 优先权日2002年11月8日
发明者S·法布里蒂厄斯, S 法布里蒂厄斯, P·科利努米, 衬, J·韦维莱宁 申请人:诺基亚有限公司