一种支持远程控制的计算机

文档序号:190300 发布日期:2021-11-02 浏览:47次 >En<

阅读说明:本技术 一种支持远程控制的计算机 (Computer supporting remote control ) 是由 公健 梁记斌 夏伟强 于 2021-07-30 设计创作,主要内容包括:一种支持远程控制的计算机,其特征在于,包括处理器,调试模块,其中:所述调试模块通过JTAG调试接口与所述处理器相连,配置用于获取所述处理器中执行的指令类型并基于所述指令类型执行对所述处理器的运行管理。通过本发明所提出的一种支持远程控制的计算机,通过在硬件层增设调试模块,对CPU的运行进行监控,并且基于监控到的CPU运行状态改变CPU运行的工作模式以降低CPU的功耗降低进而优化CPU的发热累积,提高CPU运行的稳定性。(A computer supporting remote control, comprising a processor, a debugging module, wherein: the debugging module is connected with the processor through a JTAG debugging interface, and is configured to acquire the instruction type executed in the processor and execute the operation management of the processor based on the instruction type. According to the computer supporting remote control, the debugging module is additionally arranged on the hardware layer to monitor the running of the CPU, and the running working mode of the CPU is changed based on the monitored running state of the CPU so as to reduce the power consumption of the CPU, further optimize the heating accumulation of the CPU and improve the running stability of the CPU.)

一种支持远程控制的计算机

技术领域

本发明属于计算机领域,具体涉及一种支持远程控制的计算机。

背景技术

市场上现有的一体机一般采用X86架构的Intel处理器或AMD处理器。少有采用国产处理器的一体机。申威421处理器为中国自主研发的64位字长的RISC架构高性能通用处理器,单芯片中集成了4个同构的新一代申威Core3A核心、8MB的三级共享Cache、两路64位DDR3存储控制器、两路第三代标准PCI-E接口、支持调试和管理的维护接口以及符合IEEE1149.1标准的测试接口。

但是,由于国产芯片处于起步阶段,有很多对x86架构的CPU进行优化的方案因架构的不同无法适配或不可移植到申威421处理器平台使用。而无法将申威421处理器平台的性能调整到可靠且良好的情况。并且由于国产CPU的性能差距,使得其使用场景较少且硬件生态和软件生态的不完善,导致用户体验较差(发热严重,配合国产操作系统时因兼容性优化不足导致系统卡顿)等等一系列问题,严重影响国产CPU及操作系统的发展普及的建设,大多数都是因发热而降频所导致的CPU运行缓慢的问题。

因此,亟需一种可以对申威421处理器平台或申威421处理器进行优化的方案。

发明内容

为解决以上问题,本发明提出了一种支持远程控制的计算机,包括处理器,调试模块,其中:

所述调试模块通过JTAG调试接口与所述处理器相连,配置用于获取所述处理器中执行的指令类型并基于所述指令类型执行对所述处理器的运行管理。

在本发明的一些实施方式中,所述调试模块包括USB接口,所述USB接口与所述计算机的USB接口相连,配置用于向所述计算机中的操作系统发送和/或接收所述处理器的调试信息及所述计算机运行的程序信息。

在本发明的一些实施方式中,所述调试模块还包括网络通信接口,所述网络通信接口配置用于将所述处理器的调试信息和/或所述计算机运行的程序信息发送到远程分析服务器。

在本发明的一些实施方式中,所述调试模块配置为根据所述处理器的调试信息和/或所述计算机运行的程序信息对所述处理器的空闲或低使用率核心发送深睡眠指令。

在本发明的一些实施方式中,所述调试模块进一步配置为根据所述处理器的调试信息和/或所述计算机运行的程序信息对所述处理器的空闲或低使用率核心发送浅睡眠指令。

在本发明的一些实施方式中,所述调试模块进一步配置为根据所述处理器的调试信息和/或所述计算机运行的程序信息将所述处理器的部件关闭。

在本发明的一些实施方式中,所述调试模块进一步配置为根据所述处理器的调试信息和/或所述计算机运行的程序信息将所述处理器的指令处理速度降低。

在本发明的一些实施方式中,还包括内存模块,所述内存模块通过DIMM接口与所述处理器相连;以及

所述处理器通过I2C接口与所述内存模块相连,用以获取所述内存的频率、电压及时序。

在本发明的一些实施方式中,还包括PCIE扩展模块,所述PCIE扩展模块配置为:

通过一路8Lane PCIE接口与所述处理器相连,用于实现与处理器的通信;

通过一路8Lane PCIE接口与HD7450显卡相连;

通过一路2Lane PCIE接口与所述存储模块相连,所述存储模块对外提供HDD磁盘接口和MiNi SATA接口;

通过一路2Lane PCIE接口连接网络通信模块,所述通信模块提供1000M的RJ45接口;

通过一路2Lane PCIE接口连接USB转换模块,所述USB转换模块对外提供多个USB接口支持。

在本发明的一些实施方式中,还包括UART串口模块,所述UART串口模块与所述USB转换模块相连,配置用于提供UART串口支持。

通过本发明所提出的一种支持远程控制的计算机,通过在硬件层增设调试模块,对CPU的运行进行监控,并且基于监控到的CPU运行状态改变CPU运行的工作模式以降低CPU的功耗降低进而优化CPU的发热累积,提高CPU运行的稳定性。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的实施例。

图1为本发明一实施例的计算机结构图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明实施例进一步详细说明。

如图1所示,为解决以上问题,本发明提出了一种支持远程控制的计算机,包括处理器,调试模块,其中:

所述调试模块通过JTAG调试接口与所述处理器相连,配置用于获取所述处理器中执行的指令类型并基于所述指令类型执行对所述处理器的运行管理。

在本实施例中,本发明提出的一种支持远程控制的计算机所使用的处理器为申威421处理器,申威421处理器为64位字长的RISC架构高性能通用处理器,单芯片中集成了4个同构的新一代申威Core3A核心、8MB的三级共享Cache、两路64位DDR3存储控制器、两路第三代标准PCI-E接口、支持调试和管理的维护接口以及符合IEEE1149.1标准的测试接口。基于申威421处理器支持调试和管理的维护接口,使得本发明对处理器的调控成为可能。

具体地,如图1所示的结构图中,调试模块1通过JTAG调试接口与处理2相连,调试模块1可通过JTAG接口在处理器2的运行时,实时获取处理器2中所执行的指令(即调试信息,通过JTAG调试接口所获取到的不仅仅是所执行的指令,还包括很多的其他信息,比如指令执行时是否出错,是因某些原因使执行受阻,本发明在具体实施时主要通过执行的指令、CPU核心的工作状态、指令的执行返回的结果以及指令能否执行等信息制定详细的策略)。并且获取处理器各个核心的工作状态。进一步,根据获取的处理器2执行的指令类型以及处理器2的各个核心的工作状态对处理器2发送相应的指令。

在本发明的一些实施例中,所述调试模块包括USB接口,所述USB接口与所述计算机的USB接口相连,配置用于向所述计算机中的操作系统发送调试信息和/或接收所述处理器的所述计算机运行的程序信息。

在本实施例中,为方便与计算机中的操作系统进行通信,调试模块中还设有USB接口,通过该USB接口与计算机上的USB接口相连,通过在操作系统中安装相应的调控程序,便可将调试模块1通过JTAG获取到的处理器2所执行的指令的类型发送给操作系统的调控程序,以供操作系统执行相应的电源管理计划。同时操作系统可将操作系统下的所有程序的进程信息以及正在执行的程序的详细信息通过USB接口发送到调试模块1。调试模块可基于操作系统中正在运行的程序制定相应的对处理器2的运行进行管控的命令。

在本发明的一些实施例中,所述调试模块2还包括网络通信接口,所述网络通信接口配置用于将所述处理器的调试信息和/或所述计算机运行的程序信息发送到远程分析服务器。

在本实施例中,调试模块1还设有网络通信接口。为了更精准地实现对处理器2的运行状态的管理,需要调试模块1不断地更新相应的对处理器2的管理策略,并且还需要将调试模块1获取到的处理器2所执行的指令的类型进行统计以及从操作系统获取到的所运行的程序信息通过网络通信接口发送到远程服务器的控制策略分析中心。控制策略分析中心根据收集处理器执行的指令类型以及操作系统中运行的程序制定相应的对处理器2管控的策略。

在本发明的一些实施例中,所述调试模块配置为根据所述处理器的调试信息和/或所述计算机运行的程序信息对所述处理器的空闲或低使用率核心发送深睡眠指令。

在本实施例中,当检测到调试信息中处理器2在单位时间内所执行的指令数量较少或者通过操作系统发送过来的运行的程序中对CPU内核的使用量较少时,可对空闲的或低使用率的核心发送深睡眠指令。

具体为,本发明中所使用的处理器2为申威421处理器,具有4个核心,当检测到当前计算机所执行的指令总数低于单个核心的平均峰值指令数的1/4时,向其他三个核心发送深度睡眠指令。申威421处理器内含4个完全相同的核心,若某些核心处于无运行负载的状态,应将这些核心设置在睡眠状态。核心或者外部系统通过维护命令可向任意核心发出睡眠中断,使得这些无负载的核心处于睡眠状态。处于睡眠状态的核心处于复位状态,且维持较低的时钟频率(仅为维护时钟频率的八分之一)。一旦需要睡眠的核心恢复工作状态,可由非睡眠的核心或外部系统向睡眠核心发送唤醒中断,即可使得睡眠的核心恢复正常工作频率,结束复位,重新进行初始化,并引导操作系统,恢复正常工作状态。睡眠状态的核心几乎没有动态功耗。

在本发明的一些实施例中,所述调试模块进一步配置为根据所述处理器的调试信息和/或所述计算机运行的程序信息对所述处理器的空闲或低使用率核心发送浅睡眠指令。

在本实施例中,在调试模块1通过JTAG调试接口获取的调试信息中的处理器2中运行的指令的总数高于平均峰值指令数的1/4,但低于单个核心的平均峰值指令数,且同时在5分钟内处理器2的运行速度(主要指指令数)并不稳定,这种情况下调试模块可向空闲的处理器发送浅睡眠指令,浅睡眠状态下可处理器2的核心内部的各流水线处于停顿状态,因此只有少量的时钟动态功耗。对浅睡眠的核心发送任何中断,都可以快速使其恢复工作状态。

此外,对于空闲核心的深睡眠和浅睡眠的设定还需考虑操作系统中程序的影响,若遇到需要使用多进程的程序时,需根据进程数量来衡量是否需要对空闲的核心发送深睡眠或浅睡眠指令。例如,当有类似Python的程序开启多进程后,也许多进程的程序所运行的指令极少,但需要进程来维持程序的一些功能的正常运行,在此状态下将禁止发出任何睡眠指令。

在本发明的一些实施例中,所述调试模块进一步配置为根据所述处理器的调试信息和/或所述计算机运行的程序信息将所述处理器的部件关闭。

在本实施例中,由于申威421处理器的核心中的浮点部件和SIMD部件可以单独关闭,因此当核心运行的程序不需要浮点或SIMD功能时,可关闭浮点部件或者SIMD部件,以节省运行功耗。并且浮点部件和SIMD部件可以动态的打开和关闭。

具体地,调试模块1通过JTAG接口实时获取处理器2中运行的指令以及寄存器中待执行的指令,若发现待执行的指令中存在需要浮点部件或SIMD部件执行的指令时,在该待执行指令执行前将浮点部件或者SIMD部件打开。在执行后将浮点或SIMD部件再次关闭。该过程借助与调试模块1通过JTAG接口向处理器的核心的浮点部件或SIMD部件发送相应的中断指令以打开或关闭对应的浮点部件或SIMD部件。由于调试模块1是独立的调试控制系统可将指令的时间粒度做到极小,几乎不影响处理器2的正常执行。

此外,由于调试模块1的UBS接口与操作系统通信,获取操作系统中的程序信息并将程序信息以及调试信息中的指令信息等发送到远程分析服务器的控制策略分析中心,控制策略分析中心具有一定的学习能力,可根据众多的具有调试模块1的计算机中的程序的运行大数据(某些程序运行促使某些指令的数量增加或某些指令的出现)进行分析,并给出对应的程序运行时所涉及的指令集信息并发送给位于各个计算机中的调试模块1中,调试模块1接收对应的程序所涉及的指令集,并建立对照关系列表。对每一个程序执行时所执行指令进行汇总建立一对多的映射关系。在从操作系统中获取到对应的应用程序时可立即得知该程序是否涉及浮点指令或涉及SIMD部件的指令,并基于此来判断是否开启浮点部件或SIMD部件的监控。

具体地,当从USB接口获得正在运行的程序后,将获得的正在运行的程序与接收到的应用程序的列表进行匹配,并进一步判断当前计算机操作系统中运行的程序所涉及的指令是否包含使用浮点部件或SIMD部件,若当前运行的程序在执行时不存在涉及浮点部件或SIMD部件的程序时,则调试模块1则不必实时监控处理器中的浮点指令或涉及SIMD部件的指令。以减少调试模块1的任务量。

此外,当从当前计算机的操作系统获取到的应用程序列表中存在未知或未匹配的应用程序时(该应用程序还未被控制策略分析中心的分析)。即还未获知该应用程序执行时是否使用浮点部件或SIMD部件。调试模块1需要在未知的程序运行时,将处理器2所执行的指令进行监控,若出现有已知的程序中并不包含的指令时,将该指令暂时记录在未知程序运行时所涉及的指令列表中。并将该未知程序运行时处理器2中所执行的指令的类型发送到远程分析服务器中的策略分析中心分析。以分析该未知程序的运行是否涉及浮点部件或SIMD部件的使用。

进一步,由于未知程序在运行时,可能存在其他需要使用浮点部件或SIMD部件的程序存在。得益于调试模块的网络接口可将处理器1的各个核心中运行的指令和操作系统中的程序列表发送到策略分析中心。策略分析中心可从多个不同的调试模块1发送来的调试信息以及运行的程序信息中快速分析出该未知程序的运行是否需要浮点部件或SIMD部件。

具体为,策略分析中分析接收到的指令及程序信息,若所有已知的程序中不包含浮点指令或涉及SIMD部件的指令时,却发现处理器运行的指令中含有浮点指令或涉及SIMD部件的指令,则未知程序则涉及浮点部件或涉及SIMD部件的使用,则在该程序的指令列表中添加上浮点指令或涉及SIMD的指令。

在本发明的一些实施例中,为节省调试模式的执行速度,对于涉及浮点指令或SIMD部件的指令的程序生成其指令集时,则直接忽略其他指令或其他程序,仅记载涉及浮点指令或SIMD部件的指令的程序。基于此,调试模块1在接收到来自操作系统的程序列表时,若该程序列表中不存在对应涉及浮点指令或SIMD部件的指令所对应的程序时,可直接认定当前操作系统中运行的程序不会使用到浮点部件和SIMD部件。因此,可直接将处理器2中的各个核心的浮点部件和SIMD部件关闭,以降低处理器的动态功耗。通过将记载所有程序及其运行指令集的方式简化为只记载涉及浮点部件和/或SIMD部件使用的程序,在一些情况下可大大降低调试模块1的运行效率。

在本发明的一些实施例中,也许因程序的执行并未涉及需要浮点部件和/或SIMD部件的流程,可能在被分类为不需要浮点部件和/或SIMD部件的程序执行时突然出现浮点指令或涉及SIMD的指令,可能导致程序运行出错,此时,调试模式则通过中断命令删除该出现错误的指令,并且监控操作系统发出的程序运行出错信息,将对应出错的程序的执行指令列表中添加上浮点指令或涉及SIMD部件的指令。

在本发明的一些实施方式中,所述调试模块进一步配置为根据所述处理器的调试信息和/或所述计算机运行的程序信息将所述处理器的指令处理速度降低。

在本实施例中,调试模块1在检测到当前计算机的运行的程序所要执行的指令数不高于单个核心平均峰值指令数的80%时,并且程序中存在有多个程序需要独立的进程时,但是该程序的多个进程对于核心的利用率不高,则调试模块可向处理器2发送降低指令处理速度的指令。降低处理器2的指令流水线处理速度。进而降低核心的动态运行功耗。

在本发明的一些实施例中,还包括内存模块,所述内存模块通过DIMM接口与所述处理器相连;以及

所述处理器通过I2C接口与所述内存模块相连,用以获取所述内存的频率、电压及时序。

在本实施例中,如图1所示,本发明所提出的一种支持远程控制的计算机采用的处理器为申威421处理器,可通过申威421处理器的I2C接口获取安置在DIMM插槽中的内存的SPD中所存储的信息。I2C接口嵌入在DIMM插槽中,无需其他跳线便可连接内存的SPD。

在本发明的一些实施例中,还包括PCIE扩展模块3,所述PCIE扩展模块3配置为:

通过一路8Lane PCIE接口与所述处理器2相连,用于实现与处理器2的通信;

通过一路8Lane PCIE接口与HD7450显卡8相连;

通过一路2Lane PCIE接口与所述存储模块6相连,所述存储模块6对外提供HDD磁盘接口和MiNi SATA接口;

通过一路2Lane PCIE接口连接网络通信模块7,所述通信模块提供1000M的RJ45接口;

通过一路2Lane PCIE接口连接USB转换模块4,所述USB转换模块4对外提供多个USB接口支持。

在本实施例中,PCIE扩展模块3采用PEX8632芯片通过一路支持上行的PCIEx8信号,下行的一路PCIEx8信号,2路PCIEx2信号和1路PCIE x4信号。下行的PCIE信号中:一路PCIEx8信号连接HD7450显卡插槽;一路PCIEx2信号连接至存储模块,所述存储模块的芯片为88SE9215并通过此芯片扩展分别连接至HDD硬盘插槽和MiNi SATA硬盘插槽;一路PCIEx1信号连接至网络通信模块7,网络通信模块7采用Intel 82574网卡,并连接到RJ45网口;一路PCIEx2信号连接USB转换模块4,USB转换模块4采用UDP720201芯片,对外提供USB串口支持,并连接有USB3.0连接对外提供多个USB接口、USB摄像头模块以及麦克风音频模块,接收并发送音频信号到计算机外的多媒体设备。

在本发明的一些实施方式中,还包括UART串口模块,所述UART串口模块与所述USB转换模块相连,配置用于提供UART串口支持。

在本实施例中,本发明所提出的一种支持远程控制的计算机为支持UART串口功能,还对外扩展了UART串口,通过连接在USB转换模块4的UART串口模块8实现,UART串口模块8采用FT4232芯片实现,可将USB串行接口转换为UART串行接口。

通过本发明所提出的一种支持远程控制的计算机,通过在硬件层增设调试模块,对CPU的运行进行监控,并且基于监控到的CPU运行状态改变CPU运行的工作模式以降低CPU的功耗降低进而优化CPU的发热累积,提高CPU运行的稳定性。

另外,本发明所公开的调试模块,通过对申威421处理器的运行状态的及操作系统中运行程序的结合实现对申威421处理器的运行精准调控,有效降低申威421处理器在运行时由于处理器的多个核心处于正常工作模式下,或某些低使用率较高功耗的部件长期随处理器的核心的工作状态一致处于开启状态所导致的浪费功耗及发热的现象。提高申威421处理器的热稳定性。

9页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:一种双余度数据总线的同步系统及方法

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!