存储单元访问方法、系统和多核处理装置与流程

文档序号:11774420阅读:185来源:国知局
存储单元访问方法、系统和多核处理装置与流程

本发明涉及计算机技术,具体涉及存储单元访问方法、系统和多核处理装置。



背景技术:

传统多核cpu的工作模式是在读写存储的总线带宽一定的条件下,按照时间的先后顺序自然排序工作任务,在多核特别是多核异构的构架下,各个核指令的执行周期有较大差异,按照时间的先后顺序自然排序工作任务容易导致不合理的等待,从而严重影响了整体效率。



技术实现要素:

鉴于上述问题,本发明提出了克服上述问题或者至少部分地解决上述问题的存储单元访问方法、系统和多核处理装置。

为此目的,第一方面,本发明提出多核处理装置,包括:

多个内核,用于处理指令;

多核互联模块,用于互联至至少2个所述内核,并根据存储单元访问请求对应的请求数据量d和发起请求的内核的当前剩余处理时间c,计算获得优先级p;根据优先级安排内核访问存储单元的次序。

可选的,所述根据存储单元访问请求对应的请求数据量d和发起请求的内核的当前剩余处理时间c,计算获得优先级p;根据优先级安排内核访问存储单元的次序包括:根据存储单元访问请求对应的请求数据量d和发起请求的内核的当前剩余处理时间c,计算获得优先级参数p1,根据p1获得优先级p。

可选的,所述计算获得优先级p包括:

优先级p=f(剩余处理时间c*m-请求数据量d*n);

函数f为常数分段函数,m、n为配置的参数;

优先级p值越小,优先级越高。

第二方面,本发明提供一种用于多核处理器的存储单元访问方法,包括:

接收各内核的存储单元访问请求;

根据存储单元访问请求对应的请求数据量d和发起请求的内核的当前剩余处理时间c,计算获得优先级p;

根据优先级安排内核访问存储单元的次序。

可选的,所述根据存储单元访问请求对应的请求数据量d和发起请求的内核的当前剩余处理时间c,计算获得优先级p包括:

根据存储单元访问请求对应的请求数据量d和发起请求的内核的当前剩余处理时间c,计算获得优先级参数p1,根据p1获得优先级p。

可选的,所述计算获得优先级p包括:

优先级p=f(剩余处理时间c*m-请求数据量d*n);

函数f为常数分段函数,m、n为配置的参数;

优先级p值越小,优先级越高。

第三方面,本发明提供一种用于多核处理器的存储单元访问的系统,包括:

请求接收模块,用于接收各内核的存储单元访问请求;

优先级计算模块,用于根据存储单元访问请求对应的请求数据量d和发起请求的内核的当前剩余处理时间c,计算获得优先级p。

优先级执行模块,用于根据优先级安排内核访问存储单元的次序。

可选的,所述根据存储单元访问请求对应的请求数据量d和发起请求的内核的当前剩余处理时间c,计算获得优先级p包括:

根据存储单元访问请求对应的请求数据量d和发起请求的内核的当前剩余处理时间c,计算获得优先级参数p1,根据p1获得优先级p。

可选的,所述计算获得优先级p包括:

优先级p=f(剩余处理时间c*m-请求数据量d*n);

函数f为常数分段函数,m、n为配置的参数;

优先级p值越小,优先级越高。

由上述技术方案可知,本发明专利在传统的多核cpu的基础上增加根据访问请求对内核的访问进行排序,从而改变了任务的分配模式,提高了cpu的整体效能。

前面是提供对本发明一些方面的理解的简要发明内容。这个部分既不是本发明及其各种实施例的详尽表述也不是穷举的表述。它既不用于识别本发明的重要或关键特征也不限定本发明的范围,而是以一种简化形式给出本发明的所选原理,作为对下面给出的更具体的描述的简介。应当理解,单独地或者组合地利用上面阐述或下面具体描述的一个或多个特征,本发明的其它实施例也是可能的。

附图说明

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

图1为本发明的一个实施例中的多核处理装置的结构图;

图2为本发明的一个实施例中常数分段函数f的示意图;

图3为本发明的一个实施例中根据存储单元访问请求对应的剩余处理时间和请求数据量计算优先级的示意图。

图4为本发明的一个实施例中,用于多核处理器的存储单元访问方法的流程示意图;

图5为现有技术中,多核任务调度示意图;

图6为本发明的一个实施例中,多核任务调度示意图。

具体实施方式

下面将结合示例性的通信系统描述本发明。

如图1所示,本发明提供一种多核处理装置,包括:

多个内核,用于处理指令;

具有多核互联模块,用于互联至至少2个所述内核,并根据存储单元访问请求对应的请求数据量d和发起请求的内核的当前剩余处理时间c,计算获得优先级p;

根据优先级安排内核访问存储单元的次序。

为了便于描述,在本文中也将内核发起的存储单元访问请求简称为访问请求。

在本申请中,一旦内核获得存储器单元的访问权限,在其未获得访问请求所对应的存储数据或在未达到访问请求所对应的访问时间前,其访问存储单元的过程不会被其他内核干扰。

在本发明的实施例中,可以是多个内核均通过多核互联模块访问存储单元;也可以是多个内核中的部分内核通过多核互联模块访问存储单元,而其他内核通过其他方式访问存储单元。

本文中存储单元指计算机可读介质,术语“计算机可读介质”是指参与将指令提供给处理器执行的任何有形存储设备和/或传输介质。计算机可读介质可以是在ip网络上的网络传输(如soap)中编码的串行指令集。这样的介质可以采取很多形式,包括但不限于非易失性介质、易失性介质和传输介质。非易失性介质包括例如nvram或者磁或光盘。易失性介质包括诸如主存储器的动态存储器(如ram)。计算机可读介质的常见形式包括例如软盘、柔性盘、硬盘、磁带或任何其它磁介质、磁光介质、cd-rom、任何其它光介质、穿孔卡、纸带、任何其它具有孔形图案的物理介质、ram、prom、eprom、flash-eprom、诸如存储卡的固态介质、任何其它存储芯片或磁带盒、后面描述的载波、或计算机可以读取的任何其它介质。相应地,认为本发明包括有形存储介质或分发介质和现有技术公知的等同物以及未来开发的介质。

在总线带宽一定的条件下,各内核每次访问存储单元的时间长短可能是不一样的,当多核处理器面临多任务时,每个内核处理时间也是不一样的。

所述存储单元访问请求对应的请求数据量d即访问请求所要获取的数据量。所述发起请求的内核的当前剩余处理时间c,即从访问请求发起时刻起,到内核处理该访问请求对应的数据的时刻的时间长度,该时间长度一般以处理器的时钟周期(cycle)为度量单位。当前剩余处理时间c越小,优先级p越高(即对应的优先级的数值越小);请求数据量d越大,优先级p越低(即对应的优先级数值越大)。优先级的数值例如是:0、1、2、3……,0表示优先级最高,1次之,依次类推。

本发明专利在传统的多核cpu的基础上增加根据访问请求对内核的访问进行排序,从而改变了任务的分配模式,提高了cpu的整体效能。

举例说明:

i.总任务划分为a核任务和b核任务

ii.a核任务由a1和a2构成,

a1剩余时间10个cycle,

da数据读取请求80byte,需5个cycle

数据准备好后a2任务需5个cycle

iii.b核任务由b1和b2构成,

b1剩余时间5个cycle,

db数据读取请求80byte,需5个cycle

数据准备好后b2任务需10个cycle

iv.假设a核先于b核发起数据请求

v.按传统的工作流如图5所示:

总任务耗时20个cycle

vi.按本专利的工作流如图6所示:

总任务耗时15个cycle。

在本发明的一个实施例中,所述根据存储单元访问请求对应的请求数据量d和发起请求的内核的当前剩余处理时间c,计算获得优先级p;根据优先级安排内核访问存储单元的次序包括:根据存储单元访问请求对应的请求数据量d和发起请求的内核的当前剩余处理时间c,计算获得优先级参数p1,根据p1获得优先级p。

即优先级p=f(优先级参数p1);

优先级参数p1=f(当前剩余处理时间c,请求数据量d)。

在本发明的一个实施例中,所述计算获得优先级p包括:

优先级p=f(剩余处理时间c*m-请求数据量d*n);

函数f为常数分段函数,m、n为配置的参数;

优先级p值越小,优先级越高。

m,n可以是设计处理器时配置的,也可以是根据具体的计算过程动态配置的。

在本发明的一个实施例中,配置m=1,n=1/8,,优先级参数p1=剩余处理时间c*m-请求数据量d*n,常数分段函数f如图2所示,则一些具体的访问请求,其优先级的值如图3所示,在图3中,某一处理请求的剩余处理时间c=1cycle,请求数据量d=8byte,则优先级=f(1-8*1/8)=0。

本发明专利在传统的多核cpu的基础上增加根据访问请求对内核的访问进行排序,从而改变了任务的分配模式,提高了cpu的整体效能。

本发明还提供一种用于多核处理器的存储单元访问方法,该方法包括:

s101、接收各内核的存储单元访问请求;

s102、根据存储单元访问请求对应的请求数据量d和发起请求的内核的当前剩余处理时间c,计算获得优先级p;

s103、根据优先级安排内核访问存储单元的次序。

在本发明的一个实施例中,所述根据存储单元访问请求对应的请求数据量d和发起请求的内核的当前剩余处理时间c,计算获得优先级p包括:

根据存储单元访问请求对应的请求数据量d和发起请求的内核的当前剩余处理时间c,计算获得优先级参数p1,根据p1获得优先级p。

在本发明的一个实施例中,所述计算获得优先级p包括:

优先级p=f(剩余处理时间c*m-请求数据量d*n);

函数f为常数分段函数,m、n为配置的参数;

优先级p值越小,优先级越高。

本发明还提供一种用于多核处理器的存储单元访问的系统,该系统包括:

请求接收模块,用于接收各内核的存储单元访问请求;

优先级计算模块,用于根据存储单元访问请求对应的请求数据量d和发起请求的内核的当前剩余处理时间c,计算获得优先级p。

优先级执行模块,用于根据优先级安排内核访问存储单元的次序。

在本发明的一个实施例中,所述根据存储单元访问请求对应的请求数据量d和发起请求的内核的当前剩余处理时间c,计算获得优先级p包括:

根据存储单元访问请求对应的请求数据量d和发起请求的内核的当前剩余处理时间c,计算获得优先级参数p1,根据p1获得优先级p。

在本发明的一个实施例中,所述计算获得优先级p包括:

优先级p=f(剩余处理时间c*m-请求数据量d*n);

函数f为常数分段函数,m、n为配置的参数;

优先级p值越小,优先级越高。

本文中使用的“至少一个”、“一个或多个”以及“和/或”是开放式的表述,在使用时可以是联合的和分离的。例如,“a、b和c中的至少一个”,“a、b或c中的至少一个”,“a、b和c中的一个或多个”以及“a、b或c中的一个或多个”指仅有a、仅有b、仅有c、a和b一起、a和c一起、b和c一起或a、b和c一起。

术语“一个”实体是指一个或多个所述实体。由此术语“一个”、“一个或多个”和“至少一个”在本文中是可以互换使用的。还应注意到术语“包括”、“包含”和“具有”也是可以互换使用的。

本文中使用的术语“确定”、“运算”和“计算”及其变型可以互换使用,并且包括任何类型的方法、处理、数学运算或技术。更具体地,这样的术语可以包括诸如bpel的解释规则或规则语言,其中逻辑不是硬编码的而是在可以被读、解释、编译和执行的规则文件中表示。

本文中使用的术语“模块”或“工具”是指任何已知的或以后发展的硬件、软件、固件、人工智能、模糊逻辑或能够执行与该元件相关的功能的硬件和软件的组合。另外,虽然用示例性实施方式来描述本发明,但应当理解本发明的各方面可以单独要求保护。

需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括……”或“包含……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的要素。此外,在本文中,“大于”、“小于”、“超过”等理解为不包括本数;“以上”、“以下”、“以内”等理解为包括本数。

尽管已经对上述各实施例进行了描述,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改,所以以上所述仅为本发明的实施例,并非因此限制本发明的专利保护范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围之内。

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