存储器访问的加快的制作方法_3

文档序号:9457654阅读:来源:国知局
从地址“YYY”开始。指令处理器124可使用存储在起始地址150处的程序来对可编程电路112进行配置以基于存储在起始地址150处的程序来对存储在存储器118中的数据执行一个或多个操作。存储器访问管理器220可接收存储器地址范围126的指示符。如下面所解释的,存储器访问管理器220可控制可编程电路112对存储器118的访问。例如,存储器访问管理器220可容许可编程电路112对可容许的存储器地址范围126内的地址进行操作,并且限制可编程电路112对可容许的存储器地址范围126之外的地址进行操作。
[0041]在示例中,可编程电路112可尝试对存储在存储器118的一个或多个存储器地址处的数据执行一个或多个操作。可编程电路112可将存储器地址请求160发送到存储器访问管理器220。存储器访问管理器220可确定存储器地址请求160中的被可编程电路112请求的存储器地址。存储器访问管理器220可允许可编程电路112对存储在存储器118的第一地址处的数据执行一个或多个操作,其中存储器118的第一地址在存储器地址范围126内。相反,存储器访问管理器220可限制或阻止可编程电路112对存储在存储器118的第二地址处的数据执行一个或多个操作,其中存储器118的第二地址在存储器地址范围126之外。
[0042]图4说明根据本文中所述的至少一些实施例布置的、可被用来实施包括示例递送请求的存储器访问的加快的示例系统。为了清晰和简洁的目的,将不再对图4中的其标记与图1、图2和图3的部件相同的那些部件进行描述。
[0043]在示例中,虚拟机106c可产生将程序递送到存储器单元104的请求140。请求140可包括程序142、程序标识符156和虚拟机标识符146。
[0044]访问管理器108可将请求140标识为受到保护的请求,并且可产生亲和信息154。访问管理器108然后可将亲和信息154( “亲和信息”)发送到指令处理器124。访问管理器108还可将程序标识符156和虚拟机标识符146 ( “VM”)发送到指令处理器124。亲和信息154可包括将程序142与程序标识符156和/或虚拟机标识符146相关联的信息。在一些示例中,访问管理器108还可将程序142发送到存储器单元104。
[0045]指令处理器124可接收亲和信息154、虚拟机标识符146、程序标识符156和程序142。指令处理器124可将程序142存储在存储器118或指令处理器存储器122中、起始地址150处。起始地址150可被存储在程序亲和表114中。指令处理器124然后可将虚拟机标识符146、亲和信息154、程序标识符156和起始地址150存储在程序亲和表114中。
[0046]在示例中,参照程序亲和表114 (第一行),虚拟机106c的虚拟机标识符146可以是“VM3”。请求140可包括“I”的程序标识符156。程序142可以是用于将可编程电路112配置为使计数器递增的宏指令或其它程序。程序142可被存储在起始地址150 “AAA”处。
[0047]在另一示例中,参照程序亲和表114 (第二行),虚拟机106c的虚拟机标识符146可以是“VM3”。程序142可具有“2”的程序标识符156。程序142可以是用于将可编程电路112配置为使计数器递减的宏指令或其它程序(在存储器118中)。程序142可被存储在起始地址150 “BBB”处。
[0048]图5说明根据本文中所述的至少一些实施例布置的、可被用来实施包括示例启动请求的存储器访问的加快的示例系统。为了清晰和简洁的目的,将不再对图4中的其标记与图1、图2、图3和图4的部件相同的那些部件进行描述。
[0049]在示例中,参照图5,虚拟机106c可产生启动存储在存储器单元104中的程序的请求141。在示例中,虚拟机106c的虚拟机标识符148可以是“VM3”。访问管理器108可对存储器地址范围表130进行分析以确定可容许被虚拟机106c访问的存储器地址范围126。访问管理器108可使用虚拟机标识符148 ( “VM3”)来对存储器地址范围表130进行分析。访问管理器108可确定虚拟机106c具有起始于存储器地址起点“XXY”、结束于存储器地址终点“YYY”的存储器地址范围126。在示例中,请求141可以是访问可容许范围内的存储器的请求。访问管理器108可将用于虚拟机106c的存储器地址范围126的指示符发送到存储器访问管理器220。访问管理器108可将启动请求141发送到指令处理器124,启动请求141包括启动信号144、虚拟机标识符148和程序标识符158。
[0050]指令处理器124可接收启动信号144、虚拟机标识符148和程序标识符156。在示例中,虚拟机标识符148可以是“VM3”,程序标识符可以是“4”。指令处理器124然后可针对存储的虚拟标识符148和程序标识符156对程序亲和表114进行分析以找到匹配的值。在示例中,指令处理器124可基于分析来确定起始地址150应是“DDD”。
[0051 ] 在另一示例中,虚拟机标识符148可以是“VM3”,程序标识符可以是“2”。指令处理器124然后可对程序亲和表114进行分析。在示例中,指令处理器124可基于分析来确定起始地址150应是“BBB”。
[0052]指令处理器124然后可使用从“BBB”开始存储的程序来对可编程电路112进行配置以对存储在存储器118中的数据执行一个或多个操作。存储器访问管理器220可接收存储器地址范围126的指示符。
[0053]继续示例,可编程电路112可尝试对存储在存储器118的第一地址和第二地址处的数据执行一个或多个操作。可编程电路112可将第一和第二存储器地址请求160发送到存储器访问管理器220。在当存储器118的第一地址在可容许的存储器地址范围126内时的示例中,存储器访问管理器220可允许可编程电路112对存储在存储器118的第一地址处的数据执行一个或多个操作。相反,在当存储器118的第二地址在可容许的存储器地址范围126之外时的示例中,存储器访问管理器220可限制可编程电路112对存储在存储器118的第二地址处的数据执行一个或多个操作。
[0054]在其它可能的益处之中,根据本公开的系统可提供对存储器单元中的存储器的加快的访问。该系统可最小化处理器空间和存储器单元之间的数据传输的数量。例如,可编程电路可被配置为对存储器单元中的存储器执行一个或多个逻辑或其它操作(诸如递增或递减指针地址)。数据传输数量减小可具有提高存储器访问速度、同时降低对处理器空间的需求(导致功耗降低)的效果。在示例中,虚拟机可启动可被存储在存储器单元的存储器内的一个或多个程序,并在这些程序之间切换。
[0055]即使当可编程电路正在对存储器执行操作时,虚拟机也可被限制访问分配给其它虚拟机的存储器地址。即使在存储器访问请求未被访问管理器捕获的示例中,这样的限制也可通过限制可被虚拟机访问的存储器地址来提高安全性。另外,根据本公开的系统可允许在可编程电路所用的不同程序和不同虚拟机之间更快速地切换。
[0056]图6描绘根据本文中所述的至少一些实施例布置的、实施存储器访问加快的示例过程的流程图。在一些示例中,图6中的过程可使用以上所讨论的系统100来实施,并且可被用来加快存储器访问。示例过程可包括如方框S2、S4和/或S6中的一个或多个所示的一个或多个操作、动作或功能。尽管被示为离散的方框,但是取决于期望的实现,各个方框可被分割为附加方框,被组合为更少的方框,或者被除去。图6中的过程可被包括存储器单元和可编程电路的存储器使用。存储器单元可被配置为与处理器执行的虚拟机进行通信。
[0057]处理可以从方框S2开始,“从处理器接收根据程序对可编程电路进行配置的请求,其中程序与正被处理器执行的虚拟机相关联”。在方框S2,存储器单元可接收根据程序对可编程电路进行配置的请求。程序可与正被处理器执行的虚拟机相关联。在示例中,请求可包括包含对可编程电路进行配置的一条或多条指令的程序。该程序可被存储在存储器单元中。在另一示例中,接收请求的步骤可包括接收可容许被可编程电路访问的一个或多个存储器地址或地址范围的指示符。基于接收的指示符,存储器单元可确定存储器地址不容许被可编程电路访问,并且可编程电路对存储器地址的访问可被限制。
[0058]在另一示例中,请求可包括程序标识符。程序标识符可标识其它可用程序之中的与一个或多个虚拟机相关联的程序。可基于程序标识符来标识用于对可编程电路进行配置的程序。在另一示例中,可由诸如处理器基于虚拟机标识信息来确定一个或多个存储器地址不容许被可编程电路访问。
[0059]处理可从方框S2继续进行到方框S4,“根据程序对可编程电路进行配置”。在方框S4,可根据程序对可编程电路进行配置。
[0060]处理可从方框S4继续进行到方框S6,“操作可编程电路以对存储器中的数据执行一个或多个操作”。在方框S6,可操作可编程电路以对存储器中的数据执行一个或多个操作。在示例中,操作可编程电路的步骤可包括访问存储器的存储器地址以取得第一数据值。操作可编程电路的步骤还可包括:对第一数据值执
当前第3页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1