CN116932045A - 一种信息处理方法、装置及设备 - Google Patents
一种信息处理方法、装置及设备 Download PDFInfo
- Publication number
- CN116932045A CN116932045A CN202210362375.7A CN202210362375A CN116932045A CN 116932045 A CN116932045 A CN 116932045A CN 202210362375 A CN202210362375 A CN 202210362375A CN 116932045 A CN116932045 A CN 116932045A
- Authority
- CN
- China
- Prior art keywords
- instruction
- counter
- instruction set
- information processing
- identification
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 230000010365 information processing Effects 0.000 title claims abstract description 79
- 238000003672 processing method Methods 0.000 title claims abstract description 43
- 238000004891 communication Methods 0.000 claims abstract description 98
- 238000000034 method Methods 0.000 claims abstract description 39
- 238000005457 optimization Methods 0.000 claims description 34
- 238000012545 processing Methods 0.000 claims description 24
- 230000008569 process Effects 0.000 claims description 9
- 238000010586 diagram Methods 0.000 description 9
- 230000000694 effects Effects 0.000 description 6
- 238000004458 analytical method Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 5
- 238000012544 monitoring process Methods 0.000 description 4
- 238000004566 IR spectroscopy Methods 0.000 description 3
- 230000008901 benefit Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000003068 static effect Effects 0.000 description 3
- 238000003491 array Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000011156 evaluation Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 238000009825 accumulation Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000008030 elimination Effects 0.000 description 1
- 238000003379 elimination reaction Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000011056 performance test Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/30076—Arrangements for executing specific machine instructions to perform miscellaneous control operations, e.g. NOP
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3867—Concurrent instruction execution, e.g. pipeline or look ahead using instruction pipelines
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明提供了一种信息处理方法、装置及设备,其中,信息处理方法,应用于第一通信设备,所述第一通信设备内设有至少一个指令计数器;所述方法包括:利用各所述指令计数器,获取分别对应的目标指令的标识;根据所述标识,控制各所述指令计数器的计数;其中,所述目标指令为当前正在执行的至少一个指令。本方案能够实现统计服务器实际执行指令的相关数量信息,从而支撑实现统计服务器实际执行指令的相关信息。
Description
技术领域
本发明涉及通信技术领域,尤其涉及一种信息处理方法、装置及设备。
背景技术
云化平台可以承载电信网元,包括核心网网元、无线网网元、其他应用等。目前已建设集中的云化资源池,其采用通用服务器承载虚拟化5GC(5G核心网)、IMS(IP多媒体子系统)、业务平台等。基于该云化资源池,具体的:
传统上采用自下而上模式中,硬件向上层提供能力,上层软件在编写程序、调试优化程序时要依据硬件能力。在这种模式下,硬件的性能评估与上层软件性能测试是相互独立的过程,硬件评估指标与上层软件性能指标无法建立直接关联。
而采用自上而下模式,针对网元及应用对服务器硬件资源使用情况,包括CPU(中央处理单元)、内存、网卡等,也已有开源工具进行数据抓取和分析。但是,目前还没有统计服务器上实际执行指令数量或相对频度的工具。
由上,现有技术中存在无法实现统计服务器实际执行指令的相关信息等缺陷。
发明内容
本发明的目的在于提供一种信息处理方法、装置及设备,以解决现有技术中无法实现统计服务器实际执行指令的相关信息的问题。
为了解决上述技术问题,本发明实施例提供一种信息处理方法,应用于第一通信设备,所述第一通信设备内设有至少一个指令计数器;所述方法包括:
利用各所述指令计数器,获取分别对应的目标指令的标识;
根据所述标识,控制各所述指令计数器的计数;
其中,所述目标指令为当前正在执行的至少一个指令。
可选的,在利用各所述指令计数器,获取分别对应的目标指令的标识之前,还包括:
获取程序计数器的内容;
所述利用各所述指令计数器,获取分别对应的目标指令的标识,包括:
利用各所述指令计数器,在所述程序计数器的内容变化时,获取分别对应的目标指令的标识。
可选的,所述根据所述标识,控制各所述指令计数器的计数,包括:
根据各指令计数器的计数周期以及所述标识,控制各所述指令计数器的计数。
可选的,各所述指令计数器的计数周期是根据分别对应的需求信息得到的。
本发明实施例还提供了一种信息处理方法,应用于第二通信设备,所述方法包括:
获取第一通信设备中各指令计数器的计数结果;
根据所述计数结果,进行统计处理,得到指令统计数据;
其中,所述指令统计数据包括以下至少一项:
指令集的调度频率或次数信息;所述指令集包含有至少一个指令;
指令的调度频率或次数信息。
可选的,还包括:
根据所述指令统计数据,确定所述第一通信设备的架构优化方式;
其中,所述架构优化方式包括以下至少一项:
增加第一指令集对应计算单元ALU的并行流水线数量;所述第一指令集为调度频率或次数等于或高于第一阈值的指令集;
减少第二指令集对应ALU的并行流水线数量;所述第二指令集为调度频率或次数低于第二阈值的指令集;
减少第三指令集对应ALU与数据缓存层之间的距离;所述第三指令集为调度频率或次数等于或高于第三阈值的指令集;
针对第四指令集中的第一指令设置独立ALU;所述第一指令为所述第四指令集中调度频率或次数等于或高于第四阈值的指令;
针对第五指令集中的第二指令对应的独立ALU,增加并行流水线数量;所述第二指令为所述第五指令集中调度频率或次数等于或高于第五阈值的指令。
本发明实施例还提供了一种信息处理装置,应用于第一通信设备,所述第一通信设备内设有至少一个指令计数器;所述装置包括:
第一获取模块,用于利用各所述指令计数器,获取分别对应的目标指令的标识;
第一控制模块,用于根据所述标识,控制各所述指令计数器的计数;
其中,所述目标指令为当前正在执行的至少一个指令。
可选的,还包括:
第二获取模块,用于在利用各所述指令计数器,获取分别对应的目标指令的标识之前,获取程序计数器的内容;
所述利用各所述指令计数器,获取分别对应的目标指令的标识,包括:
利用各所述指令计数器,在所述程序计数器的内容变化时,获取分别对应的目标指令的标识。
可选的,所述根据所述标识,控制各所述指令计数器的计数,包括:
根据各指令计数器的计数周期以及所述标识,控制各所述指令计数器的计数。
可选的,各所述指令计数器的计数周期是根据分别对应的需求信息得到的。
本发明实施例还提供了一种信息处理装置,应用于第二通信设备,所述装置包括:
第三获取模块,用于获取第一通信设备中各指令计数器的计数结果;
第一处理模块,用于根据所述计数结果,进行统计处理,得到指令统计数据;
其中,所述指令统计数据包括以下至少一项:
指令集的调度频率或次数信息;所述指令集包含有至少一个指令;
指令的调度频率或次数信息。
可选的,还包括:
第一确定模块,用于根据所述指令统计数据,确定所述第一通信设备的架构优化方式;
其中,所述架构优化方式包括以下至少一项:
增加第一指令集对应计算单元ALU的并行流水线数量;所述第一指令集为调度频率或次数等于或高于第一阈值的指令集;
减少第二指令集对应ALU的并行流水线数量;所述第二指令集为调度频率或次数低于第二阈值的指令集;
减少第三指令集对应ALU与数据缓存层之间的距离;所述第三指令集为调度频率或次数等于或高于第三阈值的指令集;
针对第四指令集中的第一指令设置独立ALU;所述第一指令为所述第四指令集中调度频率或次数等于或高于第四阈值的指令;
针对第五指令集中的第二指令对应的独立ALU,增加并行流水线数量;所述第二指令为所述第五指令集中调度频率或次数等于或高于第五阈值的指令。
本发明实施例还提供了一种信息处理设备,所述信息处理设备为第一通信设备,所述第一通信设备内设有至少一个指令计数器;所述设备包括:处理器和收发机;
所述处理器,用于利用各所述指令计数器,获取分别对应的目标指令的标识;
根据所述标识,控制各所述指令计数器的计数;
其中,所述目标指令为当前正在执行的至少一个指令。
可选的,所述处理器还用于:
在利用各所述指令计数器,获取分别对应的目标指令的标识之前,获取程序计数器的内容;
所述利用各所述指令计数器,获取分别对应的目标指令的标识,包括:
利用各所述指令计数器,在所述程序计数器的内容变化时,获取分别对应的目标指令的标识。
可选的,所述根据所述标识,控制各所述指令计数器的计数,包括:
根据各指令计数器的计数周期以及所述标识,控制各所述指令计数器的计数。
可选的,各所述指令计数器的计数周期是根据分别对应的需求信息得到的。
本发明实施例还提供了一种信息处理设备,所述信息处理设备为第二通信设备,所述设备包括:处理器和收发机;
所述处理器,用于获取第一通信设备中各指令计数器的计数结果;
根据所述计数结果,进行统计处理,得到指令统计数据;
其中,所述指令统计数据包括以下至少一项:
指令集的调度频率或次数信息;所述指令集包含有至少一个指令;
指令的调度频率或次数信息。
可选的,所述处理器还用于:
根据所述指令统计数据,确定所述第一通信设备的架构优化方式;
其中,所述架构优化方式包括以下至少一项:
增加第一指令集对应计算单元ALU的并行流水线数量;所述第一指令集为调度频率或次数等于或高于第一阈值的指令集;
减少第二指令集对应ALU的并行流水线数量;所述第二指令集为调度频率或次数低于第二阈值的指令集;
减少第三指令集对应ALU与数据缓存层之间的距离;所述第三指令集为调度频率或次数等于或高于第三阈值的指令集;
针对第四指令集中的第一指令设置独立ALU;所述第一指令为所述第四指令集中调度频率或次数等于或高于第四阈值的指令;
针对第五指令集中的第二指令对应的独立ALU,增加并行流水线数量;所述第二指令为所述第五指令集中调度频率或次数等于或高于第五阈值的指令。
本发明实施例还提供了一种信息处理设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的程序;所述处理器执行所述程序时实现上述第一通信设备侧的信息处理方法;
或者,所述处理器执行所述程序时实现上述第二通信设备侧的信息处理方法。
本发明实施例还提供了一种可读存储介质,其上存储有程序,该程序被处理器执行时实现上述第一通信设备侧的信息处理方法中的步骤;或者,
该程序被处理器执行时实现上述第二通信设备侧的信息处理方法中的步骤。
本发明的上述技术方案的有益效果如下:
上述方案中,所述信息处理方法通过第一通信设备内设有至少一个指令计数器;利用各所述指令计数器,获取分别对应的目标指令的标识;根据所述标识,控制各所述指令计数器的计数;其中,所述目标指令为当前正在执行的至少一个指令;能够实现统计服务器实际执行指令的相关数量信息,从而支撑实现统计服务器实际执行指令的相关信息;很好的解决了现有技术中无法实现统计服务器实际执行指令的相关信息的问题。
附图说明
图1为本发明实施例的信息处理方法流程示意图一;
图2为本发明实施例的信息处理方法流程示意图二;
图3为本发明实施例的信息处理方法实现系统结构示意图;
图4为本发明实施例的第一通信设备架构示意图;
图5为本发明实施例的不同指令集调用频度示意图;
图6为本发明实施例的同一指令集中不同指令调用频度示意图;
图7为本发明实施例的信息处理装置结构示意图一;
图8为本发明实施例的信息处理装置结构示意图二;
图9为本发明实施例的信息处理设备结构示意图一;
图10为本发明实施例的信息处理设备结构示意图二。
具体实施方式
为使本发明要解决的技术问题、技术方案和优点更加清楚,下面将结合附图及具体实施例进行详细描述。
本发明针对现有的技术中无法实现统计服务器实际执行指令的相关信息的问题,提供一种信息处理方法,应用于第一通信设备,所述第一通信设备内设有至少一个指令计数器;如图1所示,所述方法包括:
步骤11:利用各所述指令计数器,获取分别对应的目标指令的标识;
步骤12:根据所述标识,控制各所述指令计数器的计数;其中,所述目标指令为当前正在执行的至少一个指令。
其中的“第一通信设备”可实现为服务器;关于“获取分别对应的目标指令的标识”,可以包括:从指令寄存器IR中读取分别对应的目标指令的标识;关于“标识”可包括:指令操作码;
本发明实施例中,目标指令可与指令计数器之间存在对应关系,比如一个指令计数器对应一个目标指令,或者一类目标指令,或者一个目标指令集中的指令,在此不作限定;本方案中,目标指令为1个指令时,指令计数器的计数粒度可以是指令;目标指令为多个指令时,指令计数器的计数粒度可以是指令集,在此不作限定。
步骤11中的“分别对应的目标指令的标识”,具体可以是指:各所述指令计数器分别对应的目标指令的标识,但并不以此为限。
关于“根据所述标识,控制各所述指令计数器的计数”,可包括:若标识满足条件,则控制对应的指令计数器加1,否则该对应的指令计数器不变;每个指令计数器可对应不同的判断规则,在此不作限定。本方案通过步骤11和步骤12能够实现统计第一通信设备上实际执行指令数量或相对频度。
此外,本发明实施例中的指令计数器可以是针对云计算任务的计数器,更具体的,可以是针对云计算中一个或多个流水线任务的计数器,但并不以此为限;比如,还可以是针对云计算中并列的至少两个任务的计数器。
本发明实施例提供的所述信息处理方法通过第一通信设备内设有至少一个指令计数器;利用各所述指令计数器,获取分别对应的目标指令的标识;根据所述标识,控制各所述指令计数器的计数;其中,所述目标指令为当前正在执行的至少一个指令;能够实现统计服务器实际执行指令的相关数量信息,从而支撑实现统计服务器实际执行指令的相关信息;很好的解决了现有技术中无法实现统计服务器实际执行指令的相关信息的问题。
进一步的,在利用各所述指令计数器,获取分别对应的目标指令的标识之前,还包括:获取程序计数器的内容;所述利用各所述指令计数器,获取分别对应的目标指令的标识,包括:利用各所述指令计数器,在所述程序计数器的内容变化时,获取分别对应的目标指令的标识。
这样可以准确获取到标识。
其中,所述根据所述标识,控制各所述指令计数器的计数,包括:根据各指令计数器的计数周期以及所述标识,控制各所述指令计数器的计数。
这样可以与实际需求更加贴合。
本发明实施例中,各所述指令计数器的计数周期是根据分别对应的需求信息得到的。
其中,“计数周期”可以是利用操作系统(内核)根据第二通信设备的需求信息得到的,但并不以此为限;所述方法可以还包括:利用操作系统(内核),获取第一通信设备中各指令计数器的计数结果;发送给第二通信设备。具体的,所述利用操作系统(内核),获取第一通信设备中各指令计数器的计数结果,可包括:利用操作系统(内核),根据各指令计数器的计数周期,获取第一通信设备中各指令计数器的计数结果。
关于“分别对应的需求信息”,具体可以是指:各所述指令计数器分别对应的需求信息,但并不以此为限。
本发明实施例还提供了一种信息处理方法,应用于第二通信设备,如图2所示,所述方法包括:
步骤21:获取第一通信设备中各指令计数器的计数结果;
步骤22:根据所述计数结果,进行统计处理,得到指令统计数据;其中,所述指令统计数据包括以下至少一项:指令集的调度频率或次数信息,所述指令集包含有至少一个指令;指令的调度频率或次数信息。
其中,第二通信设备可与第一通信设备集成为一个通信设备;也可分别独立,在此不作限定。关于“各指令计数器”也可理解为至少一个指令计数器。关于步骤21,具体可包括:接收(第一通信设备发送的)第一通信设备的操作系统(内核)获取的所述计数结果;具体的,所述各指令计数器的计数结果是由所述操作系统(内核)根据各指令计数器的计数周期获取的。
本发明实施例中,在获取指令集的相关数据,或者对指令集进行相关处理时,可以包括:把指令集所包含的所有指令的调用次数或频率加和后,进行相关处理,在此不作限定。
此外,本发明实施例中的指令计数器可以是针对云计算任务的计数器,更具体的,可以是针对云计算中一个或多个流水线任务的计数器,但并不以此为限;比如,还可以是针对云计算中并列的至少两个任务的计数器。
本发明实施例提供的所述信息处理方法通过获取第一通信设备中各指令计数器的计数结果;根据所述计数结果,进行统计处理,得到指令统计数据;其中,所述指令统计数据包括以下至少一项:指令集的调度频率或次数信息,所述指令集包含有至少一个指令;指令的调度频率或次数信息;能够支撑实现统计服务器实际执行指令的相关信息;很好的解决了现有技术中无法实现统计服务器实际执行指令的相关信息的问题。
进一步的,所述的信息处理方法,还包括:根据所述指令统计数据,确定所述第一通信设备的架构优化方式;其中,所述架构优化方式包括以下至少一项:(1)增加第一指令集对应计算单元ALU的并行流水线数量;所述第一指令集为调度频率或次数等于或高于第一阈值的指令集;(2)减少第二指令集对应ALU的并行流水线数量;所述第二指令集为调度频率或次数低于第二阈值的指令集;(3)减少第三指令集对应ALU与数据缓存层之间的距离;所述第三指令集为调度频率或次数等于或高于第三阈值的指令集;(4)针对第四指令集中的第一指令设置独立ALU;所述第一指令为所述第四指令集中调度频率或次数等于或高于第四阈值的指令;(5)针对第五指令集中的第二指令对应的独立ALU,增加并行流水线数量;所述第二指令为所述第五指令集中调度频率或次数等于或高于第五阈值的指令。
这样可以支撑多方面、更好的优化第一通信设备的架构。其中的“第二阈值”可以等于第一阈值,也可以不等于,在此不作限定;同样的,“第三阈值”可以等于第一阈值,也可以不等于,在此不作限定。“第四阈值”可以根据目标排序来确定,所述目标排序为按照调度频率或次数由高到低的排序,或者由低到高的排序;还可以是根据所有指令的调度频率或次数,计算得到;比如平均值,在此不作限制。其中的“第四指令集”可以为调度的指令集中的任一指令集,在此不作限制。“第五阈值”可等于第三阈值,也可以不等于,在此不作限定。“第五阈值”可以根据目标排序来确定,所述目标排序为按照调度频率或次数由高到低的排序,或者由低到高的排序;还可以是根据所有指令的调度频率或次数,计算得到;比如平均值。第五指令集可以为调度的指令集中的任一指令集,在此不作限制。
此外,本发明实施例中,第二通信设备可以将确定的架构优化方式反馈给第一通信设备,以协助实现第一通信设备的架构优化;比如:第二通信设备将所述架构优化方式发送给第一通信设备,所述第一通信设备根据所述架构优化方式进行架构优化处理;但并不以此为限。本发明实施例中,还可以是第二通信设备根据确定的架构优化方式进行相关内容提示,以便于协助实现第一通信设备的架构优化;比如:第二通信设备根据确定的架构优化方式进行相关内容显示,以协助实现第一通信设备的架构优化(比如以协助相关人员针对第一通信设备进行架构优化);但并不以此为限。
下面对本发明实施例提供的所述信息处理方法进行举例说明,第一通信设备以服务器(包括CPU以及内核空间,内核空间对应于操作系统)为例,第二通信设备以用户空间(可理解为用户层)对应的设备为例,标识以指令操作码为例。
针对上述技术问题,且考虑到目前有统计服务器上实际执行指令的需求,包括针对程序代码需要进行优化,或者观测不同程序,比如电信网元与IT应用,实际执行用到哪些指令频率高,以便于对CPU微架构提出优化需要,来重点优化使用频率高的指令及指令集来获得最大优化收益;本发明实施例提供了一种信息处理方法,具体可实现为一种基于指令使用计数器(对应于上述指令计数器)的指令分析方案,如图3所示,实现该方案的系统架构中包括:硬件服务器的CPU(该CPU中新增了指令计数器)、内核空间(具体可对应于操作系统内核,其中新增了统计事件等功能),以及用户空间(对应于用户层,其中新增了事件记录、事件分析等功能);具体的,新增指令计数器后的服务器架构可如图4所示,其中:在CPU内增加的指令计数器可有多个,它们可与寄存器里的指令寄存器(IR)及程序计数器(PC)相连。IR可保存当前正在执行的指令,PC可保存下一条将要被执行指令的地址。指令计数器可从IR取得该数据(即正在执行的指令的相关数据,可称为IR数据,该数据可包括指令操作码),同时从程序计数器取得下一条指令地址,以获得指令地址是否变化(对应于程序计数器的内容是否变化),以程序计数器的变化表示指令周期。
指令计数器可在程序计数器内容变化时读取IR数据,对获得的(对应)指令操作码进行处理(比如对应的调用次数累加);具体的,该处理可包括:若根据判断规则确定满足条件则对应的指令计数器加1,否则指令计数器不变。其中,每个指令计数器可有不同的判断规则。一个指令计数器可对应一类指令统计(可为针对一个指令集的统计)或者每个指令统计,指令计数器的统计粒度可调整,在此不作限定。
关于“若根据判断规则确定满足条件则对应的指令计数器加1”的操作,例如包括以下至少一项:
指令操作码为add时,即为加法指令时指令计数器加1;
指令操作码为add、sub、addi、addu、addiu、subu、mult、multu、div、divu时,即为加、减、加立即数、无符号加、无符号加立即数、无符号减、乘、无符号乘、除、无符号除的算术运算指令集时,指令计数器加1;
指令操作码为j时,即为跳转指令时指令计数器加1;
指令操作码为j、beq、bne、jr、jal时,即为分支预测指令集时,指令计数器加1。
本方案中,具体可以是:每条流水线对应一套指令计数器,多流水线对应多套指令计数器,但并不以此为限。
本方案中,以指令计数器为硬件基础,操作系统内核中的统计事件(子系统)完成数据(如计数器的相关数据)采集工作,并可通过用户态(即用户层)的事件记录、事件分析等提供一系列工具以用于收集、分析、展现数据,如分析指令计数器的计数结果。
其中,指令计数器的值(即计数结果)可在监控周期结束后被(操作系统内核)读出,从而减少对服务器的影响并降低系统开销。其中的“监控周期”对应于上述计数周期,可由操作系统内核根据用户层需求(对应于上述需求信息)确定,并提供给服务器。具体的,监控周期可以是用于限制指令计数器计数的时间;对应于上述根据各指令计数器的计数周期以及所述标识,控制各所述指令计数器的计数。
另外,图4中涉及的逻辑运算单元、存储单元、I/O设备等部件,可参见目前服务器的相关内容,在此不再赘述。
具体的,关于指令统计数据的示意可如图5和图6所示:
1)对不同指令集的调用频度,可如图5所示;
2)对同一指令集中不同指令的调用频度,可如图6所示。
进一步的,基于得到的指令统计数据,可基于加速大概率事件的硬件设计原则,提出对CPU架构进行优化的需求(对应于上述根据所述指令统计数据,确定所述第一通信设备的架构优化方式),包括但不限于以下至少一方面:
1、增加频繁调用指令集对应ALU(计算单元)的并行流水线数量,减少非频繁调用指令集对应ALU的并发流水线数量;对应于上述增加第一指令集对应计算单元ALU的并行流水线数量;减少第二指令集对应ALU的并行流水线数量。
2、减少频繁调用指令集对应ALU与L(层)1、L2和/或L3(对应于上述数据缓存层)缓存的距离,以提高访存效率,减小访存时延;对应于上述减少第三指令集对应ALU与数据缓存层之间的距离。
3、针对对同一指令集中频繁调用指令设置独立ALU;对应于上述针对第四指令集中的第一指令设置独立ALU。
4、针对对同一指令集中频繁调用指令对应的独立ALU,增加并行流水线数量;对应于上述针对第五指令集中的第二指令对应的独立ALU,增加并行流水线数量。
由上可知,本发明实施例提供的方案涉及:
1、在CPU内增加指令计数器;
2、指令计数器与从IR取得正在执行的指令,同时读取程序计数器的内容,检测程序计数器的内容是否变化;
3、指令计数器对获得的(对应)指令操作码进行处理,若根据判断规则确定(指令操作码)满足条件则指令计数器加1;
4、操作系统内核中增加统计事件(子系统)以完成对指令计数器的数据采集工作;
5、增加处于用户态的事件记录、事件分析等功能,以提供用于收集、分析、展现数据的工具;
6、基于得到的指令统计数据,采用重新设计流水线(比如并行流水线数量)、重新设计缓存位置(比如缓存距离)、增加单独计算单元(即独立ALU)等调整CPU架构手段,来提高应用在该服务器上的性能指标。
综上,本发明实施例提供的方案主要涉及:
1)在CPU内增加指令计数器,指令计数器在程序计数器的内容变化时读取IR数据,并对获得的指令操作码进行处理;若根据判断规则确定满足条件,则指令计数器加1,否则计数器不变。
2)操作系统内核中增加统计事件(子系统)以完成对指令计数器的数据采集工作,指令计数器的值可在监控周期结束后被读出。
在此说明,本发明实施例提供的方案可应用于云计算,具体的,本方案可以是针对一个流水线中的任务进行计数,但并不以此为限。
综上所述,本发明实施例提供的方案能够解决现有技术无法统计服务器上实际执行指令的问题,以及,无法在程序对指令集使用频率的层面对CPU微架构进行优化的问题。
下面对本发明实施例提供的方案相关的内容进行简单介绍。
本方案提出针对上层软件,包括网元及其他应用,在服务器上实际执行指令数量或相对频度进行统计的工具。
一个用高级语言编写的程序,需要根据要运行的硬件服务器选择相应的编译器进行编译,生成汇编语言程序,再翻译成服务器CPU能执行的机器指令,即可执行文件。
高级语言编写的程序可视为一个静态过程,编译器在编译时会对中间代码进行优化,包括不依赖硬件的优化,和与硬件相关的优化。不依赖硬件的优化比如已知量合并、删除无用赋值等。与硬件相关的优化包括未充分利用服务器的硬件寄存器及cache(高速缓冲存储器),减少对内存访问,提高访存时延进行的优化,还有根据服务器微架构,如流水线、支持的指令集,对程序进行一些调整,使得生成的机器码充分利用服务器硬件优势,提高执行效率。
可执行文件在CPU实际执行时是一个动态过程。程序在执行时,为提高执行速度会采用分支预测等技术,提前取指令预执行,但如果预测错误就退回到分支发生前的指令。另外,如果为了提高CPU处理能力,通常会设置多个流水线进行并行处理提高指令处理吞吐量。多个流水线使CPU实际执行过程变得更为复杂,为避免数据冒险和阻塞,有些情况下需要插入空指令让流水线某些部分空转。而且因为多个程序并行进行的动态过程引入动态分支预测,使得每次预测的结果动态进行变化。
综上,高级语言编写的静态程序最后在服务器上实际执行了哪些指令已发生了变化(即静态程序与服务器最后动态执行的程序并不相同)。
本发明实施例还提供了一种信息处理装置,应用于第一通信设备,所述第一通信设备内设有至少一个指令计数器;如图7所示,所述装置包括:
第一获取模块71,用于利用各所述指令计数器,获取分别对应的目标指令的标识;
第一控制模块72,用于根据所述标识,控制各所述指令计数器的计数;
其中,所述目标指令为当前正在执行的至少一个指令。
本发明实施例提供的所述信息处理装置通过第一通信设备内设有至少一个指令计数器;利用各所述指令计数器,获取分别对应的目标指令的标识;根据所述标识,控制各所述指令计数器的计数;其中,所述目标指令为当前正在执行的至少一个指令;能够实现统计服务器实际执行指令的相关数量信息,从而支撑实现统计服务器实际执行指令的相关信息;很好的解决了现有技术中无法实现统计服务器实际执行指令的相关信息的问题。
进一步的,所述的信息处理装置,还包括:第二获取模块,用于在利用各所述指令计数器,获取分别对应的目标指令的标识之前,获取程序计数器的内容;所述利用各所述指令计数器,获取分别对应的目标指令的标识,包括:利用各所述指令计数器,在所述程序计数器的内容变化时,获取分别对应的目标指令的标识。
其中,所述根据所述标识,控制各所述指令计数器的计数,包括:根据各指令计数器的计数周期以及所述标识,控制各所述指令计数器的计数。
本发明实施例中,各所述指令计数器的计数周期是根据分别对应的需求信息得到的。
其中,上述第一通信设备侧的信息处理方法的所述实现实施例均适用于该信息处理装置的实施例中,也能达到相同的技术效果。
本发明实施例还提供了一种信息处理装置,应用于第二通信设备,如图8所示,所述装置包括:
第三获取模块81,用于获取第一通信设备中各指令计数器的计数结果;
第一处理模块82,用于根据所述计数结果,进行统计处理,得到指令统计数据;
其中,所述指令统计数据包括以下至少一项:
指令集的调度频率或次数信息;所述指令集包含有至少一个指令;
指令的调度频率或次数信息。
本发明实施例提供的所述信息处理装置通过获取第一通信设备中各指令计数器的计数结果;根据所述计数结果,进行统计处理,得到指令统计数据;其中,所述指令统计数据包括以下至少一项:指令集的调度频率或次数信息,所述指令集包含有至少一个指令;指令的调度频率或次数信息;能够支撑实现统计服务器实际执行指令的相关信息;很好的解决了现有技术中无法实现统计服务器实际执行指令的相关信息的问题。
进一步的,所述的信息处理装置,还包括:第一确定模块,用于根据所述指令统计数据,确定所述第一通信设备的架构优化方式;其中,所述架构优化方式包括以下至少一项:(1)增加第一指令集对应计算单元ALU的并行流水线数量;所述第一指令集为调度频率或次数等于或高于第一阈值的指令集;(2)减少第二指令集对应ALU的并行流水线数量;所述第二指令集为调度频率或次数低于第二阈值的指令集;(3)减少第三指令集对应ALU与数据缓存层之间的距离;所述第三指令集为调度频率或次数等于或高于第三阈值的指令集;(4)针对第四指令集中的第一指令设置独立ALU;所述第一指令为所述第四指令集中调度频率或次数等于或高于第四阈值的指令;(5)针对第五指令集中的第二指令对应的独立ALU,增加并行流水线数量;所述第二指令为所述第五指令集中调度频率或次数等于或高于第五阈值的指令。
其中,上述第二通信设备侧的信息处理方法的所述实现实施例均适用于该信息处理装置的实施例中,也能达到相同的技术效果。
本发明实施例还提供了一种信息处理设备,所述信息处理设备为第一通信设备,所述第一通信设备内设有至少一个指令计数器;如图9所示,所述设备包括:处理器91和收发机92;
所述处理器91,用于利用各所述指令计数器,获取分别对应的目标指令的标识;
根据所述标识,控制各所述指令计数器的计数;
其中,所述目标指令为当前正在执行的至少一个指令。
本发明实施例中,所述收发机92能够与处理器91进行通信,在此不作限定。
本发明实施例提供的所述信息处理设备通过第一通信设备内设有至少一个指令计数器;利用各所述指令计数器,获取分别对应的目标指令的标识;根据所述标识,控制各所述指令计数器的计数;其中,所述目标指令为当前正在执行的至少一个指令;能够实现统计服务器实际执行指令的相关数量信息,从而支撑实现统计服务器实际执行指令的相关信息;很好的解决了现有技术中无法实现统计服务器实际执行指令的相关信息的问题。
进一步的,所述处理器还用于:在利用各所述指令计数器,获取分别对应的目标指令的标识之前,获取程序计数器的内容;所述利用各所述指令计数器,获取分别对应的目标指令的标识,包括:利用各所述指令计数器,在所述程序计数器的内容变化时,获取分别对应的目标指令的标识。
其中,所述根据所述标识,控制各所述指令计数器的计数,包括:根据各指令计数器的计数周期以及所述标识,控制各所述指令计数器的计数。
本发明实施例中,各所述指令计数器的计数周期是根据分别对应的需求信息得到的。
其中,上述第一通信设备侧的信息处理方法的所述实现实施例均适用于该信息处理设备的实施例中,也能达到相同的技术效果。
本发明实施例还提供了一种信息处理设备,所述信息处理设备为第二通信设备,如图10所示,所述设备包括:处理器101和收发机102;
所述处理器101,用于获取第一通信设备中各指令计数器的计数结果;
根据所述计数结果,进行统计处理,得到指令统计数据;
其中,所述指令统计数据包括以下至少一项:
指令集的调度频率或次数信息;所述指令集包含有至少一个指令;
指令的调度频率或次数信息。
本发明实施例中,所述收发机102能够与处理器101进行通信,在此不作限定。
本发明实施例提供的所述信息处理设备通过获取第一通信设备中各指令计数器的计数结果;根据所述计数结果,进行统计处理,得到指令统计数据;其中,所述指令统计数据包括以下至少一项:指令集的调度频率或次数信息,所述指令集包含有至少一个指令;指令的调度频率或次数信息;能够支撑实现统计服务器实际执行指令的相关信息;很好的解决了现有技术中无法实现统计服务器实际执行指令的相关信息的问题。
进一步的,所述处理器还用于:根据所述指令统计数据,确定所述第一通信设备的架构优化方式;其中,所述架构优化方式包括以下至少一项:(1)增加第一指令集对应计算单元ALU的并行流水线数量;所述第一指令集为调度频率或次数等于或高于第一阈值的指令集;(2)减少第二指令集对应ALU的并行流水线数量;所述第二指令集为调度频率或次数低于第二阈值的指令集;(3)减少第三指令集对应ALU与数据缓存层之间的距离;所述第三指令集为调度频率或次数等于或高于第三阈值的指令集;(4)针对第四指令集中的第一指令设置独立ALU;所述第一指令为所述第四指令集中调度频率或次数等于或高于第四阈值的指令;(5)针对第五指令集中的第二指令对应的独立ALU,增加并行流水线数量;所述第二指令为所述第五指令集中调度频率或次数等于或高于第五阈值的指令。
其中,上述第二通信设备侧的信息处理方法的所述实现实施例均适用于该信息处理设备的实施例中,也能达到相同的技术效果。
本发明实施例还提供了一种信息处理设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的程序;所述处理器执行所述程序时实现上述第一通信设备侧的信息处理方法;或者,所述处理器执行所述程序时实现上述第二通信设备侧的信息处理方法。
其中,上述第一通信设备侧或第二通信设备侧的信息处理方法的所述实现实施例均适用于该信息处理设备的实施例中,也能达到相同的技术效果。
本发明实施例还提供了一种可读存储介质,其上存储有程序,该程序被处理器执行时实现上述第一通信设备侧的信息处理方法中的步骤;或者,该程序被处理器执行时实现上述第二通信设备侧的信息处理方法中的步骤。
其中,上述第一通信设备侧或第二通信设备侧的信息处理方法的所述实现实施例均适用于该可读存储介质的实施例中,也能达到相同的技术效果。
需要说明的是,此说明书中所描述的许多功能部件都被称为模块,以便更加特别地强调其实现方式的独立性。
本发明实施例中,模块可以用软件实现,以便由各种类型的处理器执行。举例来说,一个标识的可执行代码模块可以包括计算机指令的一个或多个物理或者逻辑块,举例来说,其可以被构建为对象、过程或函数。尽管如此,所标识模块的可执行代码无需物理地位于一起,而是可以包括存储在不同位里上的不同的指令,当这些指令逻辑上结合在一起时,其构成模块并且实现该模块的规定目的。
实际上,可执行代码模块可以是单条指令或者是许多条指令,并且甚至可以分布在多个不同的代码段上,分布在不同程序当中,以及跨越多个存储器设备分布。同样地,操作数据可以在模块内被识别,并且可以依照任何适当的形式实现并且被组织在任何适当类型的数据结构内。所述操作数据可以作为单个数据集被收集,或者可以分布在不同位置上(包括在不同存储设备上),并且至少部分地可以仅作为电子信号存在于系统或网络上。
在模块可以利用软件实现时,考虑到现有硬件工艺的水平,所以可以以软件实现的模块,在不考虑成本的情况下,本领域技术人员都可以搭建对应的硬件电路来实现对应的功能,所述硬件电路包括常规的超大规模集成(VLSI)电路或者门阵列以及诸如逻辑芯片、晶体管之类的现有半导体或者是其它分立的元件。模块还可以用可编程硬件设备,诸如现场可编程门阵列、可编程阵列逻辑、可编程逻辑设备等实现。
以上所述的是本发明的优选实施方式,应当指出对于本技术领域的普通人员来说,在不脱离本发明所述原理前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (16)
1.一种信息处理方法,应用于第一通信设备,其特征在于,所述第一通信设备内设有至少一个指令计数器;所述方法包括:
利用各所述指令计数器,获取分别对应的目标指令的标识;
根据所述标识,控制各所述指令计数器的计数;
其中,所述目标指令为当前正在执行的至少一个指令。
2.根据权利要求1所述的信息处理方法,其特征在于,在利用各所述指令计数器,获取分别对应的目标指令的标识之前,还包括:
获取程序计数器的内容;
所述利用各所述指令计数器,获取分别对应的目标指令的标识,包括:
利用各所述指令计数器,在所述程序计数器的内容变化时,获取分别对应的目标指令的标识。
3.根据权利要求1所述的信息处理方法,其特征在于,所述根据所述标识,控制各所述指令计数器的计数,包括:
根据各指令计数器的计数周期以及所述标识,控制各所述指令计数器的计数。
4.根据权利要求1至3任一项所述的信息处理方法,其特征在于,各所述指令计数器的计数周期是根据分别对应的需求信息得到的。
5.一种信息处理方法,应用于第二通信设备,其特征在于,所述方法包括:
获取第一通信设备中各指令计数器的计数结果;
根据所述计数结果,进行统计处理,得到指令统计数据;
其中,所述指令统计数据包括以下至少一项:
指令集的调度频率或次数信息;所述指令集包含有至少一个指令;
指令的调度频率或次数信息。
6.根据权利要求5所述的信息处理方法,其特征在于,还包括:
根据所述指令统计数据,确定所述第一通信设备的架构优化方式;
其中,所述架构优化方式包括以下至少一项:
增加第一指令集对应计算单元ALU的并行流水线数量;所述第一指令集为调度频率或次数等于或高于第一阈值的指令集;
减少第二指令集对应ALU的并行流水线数量;所述第二指令集为调度频率或次数低于第二阈值的指令集;
减少第三指令集对应ALU与数据缓存层之间的距离;所述第三指令集为调度频率或次数等于或高于第三阈值的指令集;
针对第四指令集中的第一指令设置独立ALU;所述第一指令为所述第四指令集中调度频率或次数等于或高于第四阈值的指令;
针对第五指令集中的第二指令对应的独立ALU,增加并行流水线数量;所述第二指令为所述第五指令集中调度频率或次数等于或高于第五阈值的指令。
7.一种信息处理装置,应用于第一通信设备,其特征在于,所述第一通信设备内设有至少一个指令计数器;所述装置包括:
第一获取模块,用于利用各所述指令计数器,获取分别对应的目标指令的标识;
第一控制模块,用于根据所述标识,控制各所述指令计数器的计数;
其中,所述目标指令为当前正在执行的至少一个指令。
8.根据权利要求7所述的信息处理装置,其特征在于,还包括:
第二获取模块,用于在利用各所述指令计数器,获取分别对应的目标指令的标识之前,获取程序计数器的内容;
所述利用各所述指令计数器,获取分别对应的目标指令的标识,包括:
利用各所述指令计数器,在所述程序计数器的内容变化时,获取分别对应的目标指令的标识。
9.根据权利要求7所述的信息处理装置,其特征在于,所述根据所述标识,控制各所述指令计数器的计数,包括:
根据各指令计数器的计数周期以及所述标识,控制各所述指令计数器的计数。
10.根据权利要求7至9任一项所述的信息处理装置,其特征在于,各所述指令计数器的计数周期是根据分别对应的需求信息得到的。
11.一种信息处理装置,应用于第二通信设备,其特征在于,所述装置包括:
第三获取模块,用于获取第一通信设备中各指令计数器的计数结果;
第一处理模块,用于根据所述计数结果,进行统计处理,得到指令统计数据;
其中,所述指令统计数据包括以下至少一项:
指令集的调度频率或次数信息;所述指令集包含有至少一个指令;
指令的调度频率或次数信息。
12.根据权利要求11所述的信息处理装置,其特征在于,还包括:
第一确定模块,用于根据所述指令统计数据,确定所述第一通信设备的架构优化方式;
其中,所述架构优化方式包括以下至少一项:
增加第一指令集对应计算单元ALU的并行流水线数量;所述第一指令集为调度频率或次数等于或高于第一阈值的指令集;
减少第二指令集对应ALU的并行流水线数量;所述第二指令集为调度频率或次数低于第二阈值的指令集;
减少第三指令集对应ALU与数据缓存层之间的距离;所述第三指令集为调度频率或次数等于或高于第三阈值的指令集;
针对第四指令集中的第一指令设置独立ALU;所述第一指令为所述第四指令集中调度频率或次数等于或高于第四阈值的指令;
针对第五指令集中的第二指令对应的独立ALU,增加并行流水线数量;所述第二指令为所述第五指令集中调度频率或次数等于或高于第五阈值的指令。
13.一种信息处理设备,所述信息处理设备为第一通信设备,其特征在于,所述第一通信设备内设有至少一个指令计数器;所述设备包括:处理器和收发机;
所述处理器,用于利用各所述指令计数器,获取分别对应的目标指令的标识;
根据所述标识,控制各所述指令计数器的计数;
其中,所述目标指令为当前正在执行的至少一个指令。
14.一种信息处理设备,所述信息处理设备为第二通信设备,其特征在于,所述设备包括:处理器和收发机;
所述处理器,用于获取第一通信设备中各指令计数器的计数结果;
根据所述计数结果,进行统计处理,得到指令统计数据;
其中,所述指令统计数据包括以下至少一项:
指令集的调度频率或次数信息;所述指令集包含有至少一个指令;
指令的调度频率或次数信息。
15.一种信息处理设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的程序;其特征在于,所述处理器执行所述程序时实现如权利要求1至4中任一项所述的信息处理方法;
或者,所述处理器执行所述程序时实现如权利要求5至6中任一项所述的信息处理方法。
16.一种可读存储介质,其上存储有程序,其特征在于,该程序被处理器执行时实现如权利要求1至4中任一项所述的信息处理方法中的步骤;或者,
该程序被处理器执行时实现如权利要求5至6中任一项所述的信息处理方法中的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210362375.7A CN116932045A (zh) | 2022-04-07 | 2022-04-07 | 一种信息处理方法、装置及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210362375.7A CN116932045A (zh) | 2022-04-07 | 2022-04-07 | 一种信息处理方法、装置及设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116932045A true CN116932045A (zh) | 2023-10-24 |
Family
ID=88393024
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210362375.7A Pending CN116932045A (zh) | 2022-04-07 | 2022-04-07 | 一种信息处理方法、装置及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116932045A (zh) |
-
2022
- 2022-04-07 CN CN202210362375.7A patent/CN116932045A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7779238B2 (en) | Method and apparatus for precisely identifying effective addresses associated with hardware events | |
US8136124B2 (en) | Method and apparatus for synthesizing hardware counters from performance sampling | |
US8166462B2 (en) | Method and apparatus for sorting and displaying costs in a data space profiler | |
US8640114B2 (en) | Method and apparatus for specification and application of a user-specified filter in a data space profiler | |
US8032875B2 (en) | Method and apparatus for computing user-specified cost metrics in a data space profiler | |
US8176475B2 (en) | Method and apparatus for identifying instructions associated with execution events in a data space profiler | |
US8214814B2 (en) | Sharing compiler optimizations in a multi-node system | |
US20070294693A1 (en) | Scheduling thread execution among a plurality of processors based on evaluation of memory access data | |
US20100287560A1 (en) | Optimizing a distribution of applications executing in a multiple platform system | |
US9436512B2 (en) | Energy efficient job scheduling in heterogeneous chip multiprocessors based on dynamic program behavior using prim model | |
US20060277395A1 (en) | Processor performance monitoring | |
US20110219373A1 (en) | Virtual machine management apparatus and virtualization method for virtualization-supporting terminal platform | |
US11132220B2 (en) | Process scheduling | |
CN100593169C (zh) | 多线程可达性 | |
CN110134517A (zh) | 一种基于公式解析的并行计算方法及装置 | |
Mack et al. | CEDR: A compiler-integrated, extensible DSSoC runtime | |
US20160011874A1 (en) | Silent memory instructions and miss-rate tracking to optimize switching policy on threads in a processing device | |
EP1131704B1 (en) | Processing system scheduling | |
WO2022166480A1 (zh) | 任务调度方法、装置及系统 | |
US10241885B2 (en) | System, apparatus and method for multi-kernel performance monitoring in a field programmable gate array | |
CN114968373A (zh) | 指令分派方法、装置、电子设备及计算机可读存储介质 | |
CN113051049A (zh) | 任务调度系统、方法、电子设备及可读存储介质 | |
CN112749062A (zh) | 服务端程序监控方法、装置、计算机设备及存储介质 | |
US8762126B2 (en) | Analyzing simulated operation of a computer | |
CN111611479A (zh) | 用于网络资源推荐的数据处理方法及相关装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |