利用虚拟寻址来执行应用映像的系统和方法与流程
未命名
08-01
阅读:123
评论:0

1.本公开内容总体上涉及信息处理技术领域,更具体地涉及利用虚拟寻址来执行应用映像的系统和方法,并且在示例中,涉及利用虚拟存储器控制器来支持nvram中的两个xip映像。
背景技术:
2.一些处理器执行存储在非易失性存储器中的应用映像(application image),其中,可以就地执行(executed in place,xip)应用映像而不是在系统初始化期间将应用软件复制到易失性存储器以允许执行。为了使得能够对应用软件进行空中更新以及从更新错误中恢复,将两个副本存储在非易失性存储器中以使得一个副本被更新而另一个副本被保留。
技术实现要素:
3.提供本发明内容以便以简化形式介绍将在下面的具体实施方式中进一步描述的一系列构思。本发明内容不旨在标识所要求保护的主题的关键因素或必要特征,也不旨在用于限制所要求保护的主题的范围。
4.在本文提出的技术的实施方式中,提供一种系统。该系统包括处理器和应用映像存储器,应用映像存储器存储:第一应用映像、第二应用映像、第一应用映像的基起始地址(base starting address)与第一应用映像在应用映像存储器中的物理起始地址之间的第一偏移、第二应用映像的基起始地址与第二应用映像在应用映像存储器中的物理起始地址之间的第二偏移以及指示第一应用映像或第二应用映像之一为活动的应用映像的活动映像标识符。虚拟存储器控制器被配置成:从处理器接收用于访问应用映像存储器的第一地址,基于活动映像偏移来修改第一地址以生成第二地址以及基于第二地址来访问存储器。活动映像偏移包括响应于第一应用映像为活动的应用映像的第一偏移,并且活动映像偏移包括响应于第二应用映像为活动的应用映像的第二偏移。
5.在本文提出的技术的实施方式中,提供一种系统。该系统包括:用于将第一应用映像和第二应用映像存储在应用映像存储器中的装置;用于将第一应用映像指定为活动(active)的装置;用于从处理器接收用于访问应用映像存储器的第一地址的装置;用于基于第一应用映像的基起始地址与第一应用映像在应用映像存储器中的起始物理地址之间的第一偏移来修改第一地址以生成第二地址的装置;以及用于使用第二地址来访问应用映像存储器的装置。
6.在本文提出的技术的实施方式中,提供一种方法。该方法包括:将第一应用映像和第二应用映像存储在应用映像存储器中;将第一应用映像指定为活动的;从处理器接收用于访问应用映像存储器的第一地址;基于第一应用映像的基起始地址与第一应用映像在应用映像存储器中的起始物理地址之间的第一偏移来修改第一地址以生成第二地址;以及使用第二地址来访问应用映像存储器。
7.在本文提出的技术的实施方式中,提供一种系统。该系统包括:用于将第一应用映像存储在非易失性应用映像存储器中的装置;用于将第二应用映像存储在非易失性应用映像存储器中的装置;用于将第一应用映像的基起始地址与第一应用映像在非易失性应用映像存储器中的第一物理起始地址之间的第一偏移存储在非易失性应用映像存储器中的装置;用于将第二应用映像的基起始地址与第二应用映像在非易失性应用映像存储器中的第二物理起始地址之间的第二偏移存储在非易失性应用映像存储器中的装置;用于将指示第一应用映像或第二应用映像之一为活动的活动映像标识符存储在非易失性应用映像存储器中的装置;以及用于对虚拟存储器控制器进行配置的装置,该虚拟存储器控制器被配置成基于响应于第一应用映像为活动的第一偏移或基于响应于第二应用映像为活动的第二偏移来修改从处理器接收的第一地址以生成用于访问非易失性应用映像存储器的第二地址。
8.在本文提出的技术的实施方式中,提供一种方法。该方法包括:将第一应用映像存储在非易失性应用映像存储器中;将第二应用映像存储在非易失性应用映像存储器中;将第一应用映像的基起始地址与第一应用映像在非易失性应用映像存储器中的第一物理起始地址之间的第一偏移存储在非易失性应用映像存储器中;将第二应用映像的基起始地址与第二应用映像在非易失性应用映像存储器中的第二物理起始地址之间的第二偏移存储在非易失性应用映像存储器中;将指示第一应用映像或第二应用映像之一为活动的活动映像标识符存储在非易失性应用映像存储器中;以及对虚拟存储器控制器进行配置,该虚拟存储器控制器被成基于响应于第一应用映像为活动的第一偏移或基于响应于第二应用映像为活动的第二偏移来修改从处理器接收的第一地址以生成用于访问非易失性应用映像存储器的第二地址。
9.为了实现上述目的和相关目的,以下描述和附图阐述了某些说明性方面和实现方式。这些说明性方面和实现方式仅指示可以采用的一个或更多个方面中的各种方式中的一些方式。当结合附图考虑时,本公开内容的其他方面、优点和新颖特征将根据以下详细描述而变得明显。
附图说明
10.图1是根据一些实施方式的处理单元的图。
11.图2是示出根据一些实施方式的处理器、虚拟存储器控制器和非易失性应用映像存储器的图。
12.图3是示出根据一些实施方式的由处理器对非易失性存储器中的应用映像进行函数调用的图。
13.图4是示出根据一些实施方式的利用虚拟寻址来执行应用映像的示例方法的流程图。
14.图5示出了根据一些实施方式的计算机可读介质的示例性实施方式。
具体实施方式
15.现在参照附图对所要求保护的主题进行描述,其中,相似的附图标记始终用于指代相似的元素。在下面的描述中,出于说明的目的,阐述了许多具体细节以提供对所要求保
护的主题的透彻理解。然而,明显的是,可以没有这些具体细节的情况下实践所要求保护的主题。在其他实例中,以框图的形式示出了公知的结构和设备以有助于描述所要求保护的主题。
16.应当理解的是,以下对实施方式的描述不应被视为具有限制性意义。本公开内容的范围不旨在由下文描述的实施方式或由附图限制,实施方式和附图仅被视为是说明性的。附图应被视为示意性表示并且附图中示出的元素不一定按比例显示。而是,各种元素被呈现成使得它们的功能和通用用途对于本领域技术人员而言变得明显。
17.本文的具体实施方式和权利要求书中的所有数值均是通过“约”或“大约”修饰的指示值,并且考虑了本领域普通技术人员将预期的实验误差和变化。
18.根据一些实施方式,在就地执行技术中使用应用映像存储器来存储多个应用映像。针对每个应用映像的偏移被存储在应用映像存储器的配置数据段中,该偏移反映应用映像的基起始地址与应用映像在应用映像存储器中的物理起始地址之间的差异。应用映像之一被指定为活动的,并且虚拟存储器控制器被配置成基于活动的应用映像的偏移从处理器接收用于访问应用映像存储器的地址以及基于所述偏移来修改所述地址以访问应用映像存储器。非活动的应用映像可以被更新并且然后被指定为活动的,并且系统可以被重置以使用经更新的映像。
19.图1是根据一些实施方式的系统100的图。在一些实施方式中,系统100包括总线102、处理器104、系统存储器106、输入设备114、输出设备116、通信接口118、非易失性应用映像存储器120以及虚拟存储器控制器122。系统100可以包括比图1所示的组件更少的组件、附加的组件、不同的组件和/或不同的组件布置。
20.根据一些实施方式,总线102包括允许系统100的组件之间进行通信的路径。例如,总线102可以包括系统总线、地址总线、数据总线和/或控制总线。总线102还可以包括总线驱动器、总线仲裁器、总线接口等。处理器104包括一个或多个处理器、微处理器、数据处理器、协处理器、专用集成电路(asic)、控制器、可编程逻辑器件、芯片组、现场可编程门阵列(fpga)、专用指令集处理器(asip)、片上系统(soc)、中央处理单元(cpu)(例如,一个或多个核)、微控制器以及/或者解译和/或执行指令和/或数据的一些其他类型的组件。处理器104可以被实现为硬件(例如,微处理器等)、硬件和软件的组合(例如,soc、asic等),可以包括一个或多个存储器(例如,高速缓冲存储器)等。
21.在一些实施方式中,系统存储器106包括一个或多个存储器和/或一种或多种其他类型的存储介质。例如,系统存储器106可以包括一种或多种类型的存储器,诸如随机存取存储器(ram)、动态随机存取存储器(dram)、高速缓冲存储器、只读存储器(rom)、可编程只读存储器(prom)、静态随机存取存储器(sram)、单内联存储器模块(single in-line memory module,simm)、双内联存储器模块(dual in-line memory module,dimm)、闪存和/或一些其他合适类型的存储器。系统存储器106可以包括硬盘、磁盘、光盘、磁光盘、固态盘、基于微机电系统(mems)的存储介质、基于纳米技术的存储介质和/或一些其他合适的盘。系统存储器106可以包括用于从存储介质读取和向存储介质写入的驱动器。系统存储器106可以在系统100外部和/或可从系统100移除,例如,通用串行总线(usb)记忆棒、加密狗、硬盘、大容量存储装置、离线存储装置或一些其他类型的存储介质(例如,致密盘(cd)、数字多功能盘(dvd)、蓝光盘(bd)等)。系统存储器106可以存储与系统100的操作相关的数据、软件
和/或指令。
22.非易失性应用映像存储器120存储应用映像以供处理器104使用。即使在电力被移除的情况下,非易失性应用映像存储器120也保留其数据。非易失性应用映像存储器120可以包括prom、闪存、相变存储器(pcm)、电阻存储器(reram)、磁阻存储器(mram)、铁电存储器(feram)或一些其他类型的非易失性存储器。非易失性应用映像存储器120可以跨越多个物理存储设备。尽管系统存储器106可以包括非易失性存储器,但是系统存储器106和非易失性应用映像存储器120是通过所存储的数据的类型而不是存储器拓扑来区分的。
23.在一些实施方式中,处理器104控制系统100的整体操作或部分操作。处理器104基于操作系统和/或各种应用或计算机程序(例如,软件)来执行一个或多个操作。在一些实施方式中,处理器104使用就地执行(xip)技术直接从非易失性应用映像存储器120执行应用映像,而不是在启动过程期间将应用映像复制到系统存储器106并从系统存储器106执行应用映像。应用映像主要是静态的,但是可以用例如应用映像的新版本或针对应用映像的补丁来更新非易失性应用映像存储器120。在一些实施方式中,可以通过通信接口118从远程设备或服务接收新版本或补丁。对于xip操作,处理器104将易失性数据诸如变量和指令指针存储在系统存储器106中。处理器104可以基于包括例如多线程、并行处理、流水线、交织等的各种技术来执行操作和/或处理。
24.在一些实施方式中,输入设备114允许对系统100的输入。例如,输入设备114可以包括键盘、鼠标、显示器、触摸屏、非触摸屏、按钮、开关、输入端口、语音识别逻辑和/或一些其他类型的合适的视觉、听觉或触觉输入组件。输出设备116允许从系统100的输出。例如,输出设备116可以包括扬声器、显示器、触摸屏、非触摸屏、投影显示器、灯、输出端口和/或一些其他类型的合适的视觉、听觉或触觉输出组件。
25.通信接口118允许系统100与网络上的其他设备、网络、系统、传感器等通信以发送或接收数据(例如,针对应用映像的更新或补丁)以供存储在非易失性应用映像存储器120中。通信接口118可以包括一个或多个无线接口和/或有线接口。例如,通信接口118可以包括一个或多个发射器和接收器或者收发器。通信接口118可以根据协议栈和通信标准来操作。在一些实施方式中,通信接口118包括天线。通信接口118可以包括各种处理逻辑或电路(例如,复用/解复用、滤波、放大、转换、纠错等)。在一些实施方式中,通信接口118使用诸如蜂窝协议或wifi协议的长距离无线协议、诸如bluetooth
tm
的短距离协议或诸如以太网的有线协议来操作。
26.参照图2,提供了根据一些实施方式的示出处理器104、虚拟存储器控制器122和非易失性应用映像存储器120的图。非易失性应用映像存储器120存储多个应用映像诸如应用映像a 150a和应用映像b 150b以及非易失性存储器(nvm)配置数据155。非易失性应用映像存储器120可以存储多于两个应用映像。nvm配置数据155可以存储与应用映像150a、150b相关联的状态信息,例如“活动的”、“非活动的”、“更新”、“版本”或其他合适的状态数据。在非易失性应用映像存储器120包括多个物理设备的实施方式中,非易失性存储器(nvm)配置数据155可以与应用映像150a、应用映像150b存储在不同的存储设备中。
27.在示例中,非易失性应用映像存储器120可以最初存储特定应用映像的两个副本,其中应用映像150a、应用映像150b相同。可以例如通过对nvm配置数据155进行配置来将系统100配置成选择应用映像150a、应用映像150b之一作为活动的映像。处理器104执行活动
的应用映像150a或150b。在更新过程期间,可以利用通过通信接口118从远程设备或服务接收的新版本或补丁数据对非活动的应用映像的至少一部分进行更新或打补丁。可以在处理器104执行活动的应用映像150a或150b时,接收新版本或补丁数据并对其进行验证。在更新完成之后,系统100可以被重置,并且经更新的应用映像可以被设置为活动的应用映像以供处理器104执行。应用映像的先前版本可以被保留一段时间以允许更新的回退或者经更新的应用映像可以被复制到应用映像的先前版本上以提供镜像条件。
28.在一些实施方式中,虚拟存储器控制器122支持处理器104访问活动的应用映像。非易失性应用映像存储器120中的nvm配置数据155存储针对应用映像150a、应用映像150b中的每一个的偏移数据,所述偏移数据指示特定应用映像150a、150b在非易失性应用映像存储器120内的物理地址。在启动过程期间,虚拟存储器控制器122被配置成具有活动的映像的偏移地址。处理器104采用应用映像150a、150b的基起始地址,与被指定为活动的应用映像150a、150b无关。虚拟存储器控制器122对由处理器104进行的事务进行修改以考虑与活动的应用映像150a、150b在非易失性应用映像存储器120中的起始物理地址相关联的偏移。例如,如果处理器104使用地址x来执行应用映像150a、150b中的指令,则虚拟存储器控制器122根据活动的应用映像150a、150b的偏移来调整x的值,使得提供给非易失性应用映像存储器120的地址反映活动的应用映像150a在非易失性应用映像存储器120中的实际物理地址。
29.图3是示出根据一些实施方式的由处理器104对非易失性应用映像存储器120中的应用映像150a、150b进行函数调用的图。在系统100的初始化或启动期间,活动的应用映像150a、150b由存储在nvm配置数据155中的活动映像标识符160指示。各应用映像150a、150b具有存储在nvm配置数据155中的偏移参数165a(offa)、165b(offb),偏移参数165a、165b指示应用映像的基起始地址与应用映像150a、150b在非易失性应用映像存储器120中的起始物理地址之间的差异。在一些实施方式中,如果应用映像150a、150b的起始物理地址与基起始地址相同,则偏移参数165a、165b可以为零。虚拟存储器控制器122被配置成具有与活动的映像的偏移参数165a、165b对应的活动映像偏移170。
30.在示例中,处理器104采用值为x的ram指针175。例如,ram指针175可以是存储在系统存储器106中的指示应用映像150a、150b中要执行的下一条指令的指令指针。处理器104将地址x提供给虚拟存储器控制器122。假设地址x处的指令是对函数a的调用,虚拟存储器控制器122采用活动映像偏移170来调整指令指针。在应用映像150a为活动的情况下,调整后的指针变成x+offa,对应于应用映像150a中的函数a。在应用映像150b是活动的情况下,调整后的指针变成x+offb,对应于应用映像150b中的函数a。
31.在一些实施方式中,实施安全措施以用于维持应用映像150a、应用映像150b的完整性以及针对访问nvm配置数据155、应用映像150a、应用映像150b和提供给虚拟存储器控制器122的活动映像偏移170提供限制。在一些实施方式中,应用映像150a、应用映像150b是经数字签名的,并且基起始地址被并入到签名中以防止由于未对准映像而被黑客攻击。由于处理器104使用稍后通过虚拟内存控制器122校正的基起始地址,因此数字签名不受影响并且可以被用于对应用映像150a、应用映像150b进行验证。
32.在一些实施方式中,处理器104采用基于arm(高级risc机)的处理器架构。根据该arm架构,处理器104的访问权限是基于虚拟地址范围利用存储器保护控制器(mpc)或安全
属性单元(security attribution unit,sau)设置的,并且sau被锁定。在一些实施方式中,访问权限由与使用物理地址的总线主从接口连接的mpc控制,因此即使虚拟地址被更改或mpu/sau设置被修改,对非易失性应用映像存储器120的访问也仍受mpc保护。mpc配置也可以被锁定。mpc和sau是arm架构下的标准模块,可以在初始化或启动过程期间进行配置。在一些实施方式中,处理器104在启动过程期间将非易失性应用映像存储器120锁定。可以针对其他处理器架构实施其他类似的安全措施。
33.图4是示出根据一些实施方式的利用虚拟寻址来执行应用映像的示例方法400的流程图。在402处,第一应用映像150a和第二应用映像150b是存储在应用映像存储器120中的映像。在404处,第一应用映像150被指定为活动的。在406处,从处理器104接收用于访问应用映像存储器120的第一地址。在408处,基于第一应用映像150a的基起始地址与第一应用映像150a在应用映像存储器120中的起始物理地址之间的第一偏移来修改第一地址以生成第二地址。在410处,使用第二地址来访问应用映像存储器120。
34.图5示出了根据一些实施方式的计算机可读介质502的示例性实施方式500。一个或更多个实施方式涉及包括处理器可执行指令的计算机可读介质,所述处理器可执行指令被配置成实现本文提出的技术中的一种或更多种技术诸如方法400。实施方式500包括其上编码有计算机可读数据504的非暂态计算机可读介质502(例如,cd-r、dvd-r、闪存驱动器、硬盘驱动器的盘片等)。该计算机可读数据504又包括一组处理器可执行计算机指令506,当由包括用于读取处理器可执行计算机指令506的读取器510和用于执行处理器可执行计算机指令506的处理器512的计算设备508执行时,处理器可执行计算机指令506被配置成促进根据本文阐述的一个或更多个原则的操作。在一些实施方式中,处理器可执行计算机指令506在被执行时被配置成促进方法514诸如前述方法中的至少一些方法的执行。在一些实施方式中,处理器可执行计算机指令506在被执行时被配置成促进系统诸如一个或更多个前述系统中的至少一些系统的实现。本领域普通技术人员可以设计出许多这样的被配置成根据本文提出的技术进行操作的计算机可读介质。
35.术语“计算机可读介质”可以包括通信介质。通信介质通常以诸如载体晶圆(carrier wafer)或其他传输机制的“经调制数据信号”来体现计算机可读指令或其他数据,并且包括任何信息传递介质。术语“经调制数据信号”可以包括这样的信号:所述信号的一个或更多个特性被以对信号中的信息进行编码的方式设置或改变。
36.在本文提出的技术的实施方式中,提供一种系统。该系统包括处理器和应用映像存储器,应用映像存储器存储:第一应用映像、第二应用映像、第一应用映像的基起始地址与第一应用映像在应用映像存储器中的物理起始地址之间的第一偏移、第二应用映像的基起始地址与第二应用映像在应用映像存储器中的物理起始地址之间的第二偏移以及指示第一应用映像或第二应用映像之一为活动的应用映像的活动映像标识符。虚拟存储器控制器被配置成:从处理器接收用于访问应用映像存储器的第一地址,基于活动映像偏移来修改第一地址以生成第二地址,以及基于第二地址来访问存储器。活动映像偏移包括响应于第一应用映像为活动的应用映像的第一偏移,并且活动映像偏移包括响应于第二应用映像为活动的应用映像的第二偏移。
37.在本文提出的技术的实施方式中,处理器被配置成:改变指示第一应用映像或第二应用映像之一为活动的应用映像的活动映像标识符,以及基于第一偏移或第二偏移来修
改活动映像偏移。
38.在本文提出的技术的实施方式中,活动映像标识符指示第一应用映像为活动的应用映像,并且处理器进行以下操作:用第三应用映像来替换第二应用映像,将活动映像标识符更改成指示第三应用映像为活动的应用映像,以及基于第三应用映像的基起始地址和第三应用映像在应用映像存储器中的物理起始地址来修改第二偏移以生成第三偏移并基于第三偏移来修改活动映像偏移。
39.在本文提出的技术的实施方式中,处理器被配置成:用第三应用映像的副本来替换第一应用映像以生成第四应用映像,以及基于第四应用映像的基起始地址和第四应用映像在应用映像存储器中的物理起始地址来修改第一偏移以生成第四偏移。
40.在本文提出的技术的实施方式中,系统包括与应用映像存储器分离的系统存储器。处理器将与活动的应用映像相关联的变量存储在系统存储器中。
41.在本文提出的技术的实施方式中,系统包括与应用映像存储器分离的系统存储器。处理器将指令指针存储在系统存储器中,并且该指令指针包括第一地址。
42.在本文提出的技术的实施方式中,系统包括与应用映像存储器分离的系统存储器。系统存储器包括易失性存储器,而应用映像存储器包括非易失性存储器。
43.在本文提出的技术的实施方式中,应用映像存储器包括非易失性存储器,并且处理器被配置成在系统的启动过程期间锁定应用映像存储器。
44.在本文提出的技术的实施方式中,提供一种系统。该系统包括:用于将第一应用映像和第二应用映像存储在应用映像存储器中的装置,用于将第一应用映像指定为活动的装置,用于从处理器接收用于访问应用映像存储器的第一地址的装置,用于基于第一应用映像的基起始地址与第一应用映像在应用映像存储器中的起始物理地址之间的第一偏移来修改第一地址以生成第二地址的装置,以及用于使用第二地址来访问应用映像存储器的装置。
45.在本文提出的技术的实施方式中,提供一种方法。该方法包括:将第一应用映像和第二应用映像存储在应用映像存储器中,将第一应用映像指定为活动的,从处理器接收用于访问应用映像存储器的第一地址,基于第一应用映像的基起始地址与第一应用映像在应用映像存储器中的起始物理地址之间的第一偏移来修改第一地址以生成第二地址,以及使用第二地址来访问应用映像存储器。
46.在本文提出的技术的实施方式中,该方法包括:将指示第一应用映像为活动的活动映像标识符存储在应用映像存储器中。
47.在本文提出的技术的实施方式中,该方法包括:将第二应用映像指定为活动的,从处理器接收用于访问应用映像存储器的第三地址,基于第二应用映像的基起始地址与第二应用映像在应用映像存储器中的起始物理地址之间的第二偏移来修改第三地址以生成第四地址,以及使用第四地址来访问应用映像存储器。
48.在本文提出的技术的实施方式中,该方法包括:将指示第二应用映像为活动的活动映像标识符存储在应用映像存储器中。
49.在本文提出的技术的实施方式中,该方法包括:基于第一偏移对与应用映像存储器连接的虚拟存储器控制器进行配置,在虚拟存储器控制器中接收第一地址,在虚拟存储器控制器中对第一地址进行修改,以及将第二地址从虚拟存储器控制器发送至处理器。
50.在本文提出的技术的实施方式中,该方法包括:用第三应用映像来替换第二应用映像,将第三应用映像指定为活动的,从处理器接收用于访问应用映像存储器的第三地址,基于第三应用映像的基起始地址与第三应用映像在应用映像存储器中的起始物理地址之间的第二偏移来修改第三地址以生成第四地址,以及使用第四地址来访问应用映像存储器。
51.在本文提出的技术的实施方式中,该方法包括:用第三应用映像的副本来替换第一应用映像以生成第四应用映像,以及基于第四应用映像的基起始地址和第四应用映像在应用映像存储器中的第四物理起始地址来修改第一偏移以生成第四偏移。
52.在本文提出的技术的实施方式中,该方法包括:将与第一应用映像相关的变量存储在与应用映像存储器分离的系统存储器中。
53.在本文提出的技术的实施方式中,该方法包括:将指令指针存储在与应用映像存储器分离的系统存储器中。该指令指针包括第一地址。
54.在本文提出的技术的实施方式中,该方法包括:在启动过程期间锁定应用映像存储器。该应用映像存储器包括非易失性存储器。
55.在本文提出的技术的实施方式中,提供一种系统。该系统包括:用于将第一应用映像存储在非易失性应用映像存储器中的装置,用于将第二应用映像存储在非易失性应用映像存储器中的装置,用于将第一应用映像的基起始地址与第一应用映像在非易失性应用映像存储器中的第一物理起始地址之间的第一偏移存储在非易失性应用映像存储器中的装置,用于将第二应用映像的基起始地址与第二应用映像在非易失性应用映像存储器中的第二物理起始地址之间的第二偏移存储在非易失性应用映像存储器中的装置,用于将指示第一应用映像或第二应用映像之一为活动的活动映像标识符存储在非易失性应用映像存储器中的装置,以及用于对虚拟存储器控制器进行配置的装置,该虚拟存储器控制器被配置成基于响应于第一应用映像为活动的第一偏移或基于响应于第二应用映像为活动的第二偏移来修改从处理器接收的第一地址以生成用于访问非易失性应用映像存储器的第二地址。
56.在本文提出的技术的实施方式中,提供一种方法。该方法包括:将第一应用映像存储在非易失性应用映像存储器中,将第二应用映像存储在非易失性应用映像存储器中,将第一应用映像的基起始地址与第一应用映像在非易失性应用映像存储器中的第一物理起始地址之间的第一偏移存储在非易失性应用映像存储器中,将第二应用映像的基起始地址与第二应用映像在非易失性应用映像存储器中的第二物理起始地址之间的第二偏移存储在非易失性应用映像存储器中,将指示第一应用映像或第二应用映像之一为活动的活动映像标识符存储在非易失性应用映像存储器中,以及对虚拟存储器控制器进行配置,该虚拟存储器控制器被配置成基于响应于第一应用映像为活动的第一偏移或响应于第二应用映像为活动的第二偏移来修改从处理器接收的第一地址以生成用于访问非易失性应用映像存储器的第二地址。
57.在本文提出的技术的实施方式中,该方法包括:将包括第一地址的指令指针存储在与非易失性应用映像存储器分离的系统存储器中。
58.本文中被描述为“示例”的任何方面或设计不一定被解释为比其他方面或设计有利。而是,“示例”的使用旨在提出可能与本文提出的技术有关的一个可能的方面和/或实施
方案。这样的示例对于这样的技术并不是必需的或者不旨在进行限制。这样的技术的各种实施方式可以包括单独的或与其他特征组合的这样的示例,并且/或者可以改变和/或省略所示出的示例。
59.如本技术中使用的,术语“或”旨在意指包含性的“或”而非排他性的“或”。也就是说,除非另有指定或根据上下文是清楚的,否则“x采用a或b”旨在意指任何自然的包含性排列。也就是说,如果x采用a;x采用b;或者x采用a和b两者,则在前述任何实例下都满足“x采用a或b”。此外,在本技术和所附权利要求中使用的冠词“一”和“一个”通常可以被解释为意指“一个或更多个”,除非另有指定或根据上下文清楚地针对单数形式。此外,除非另有指定,否则“第一”、“第二”等不旨在暗指时间方面、空间方面、排序等。而是,这样的术语仅用作特征、元素、项目等的标识符、名称等。例如,第一元素和第二元素通常对应于元素a和元素b或两个不同或两个相同的元素或同一元素。
60.另外,尽管已经关于一个或更多个实现方式示出和描述了本公开内容,但是本领域其他技术人员基于对本说明书和附图的阅读和理解将想到等效的变更和修改。本公开内容包括所有这样的修改和变更并且仅由所附权利要求书的范围限定。特别地,关于由以上描述的组件(例如,元件、资源等)执行的各种功能,除非另有指示,否则用于描述这样的组件的术语旨在与执行所描述组件的指定功能的任何组件(例如,在功能上等同的组件)对应,即使在结构上不等同于执行本文中所示出的本公开内容的实例实现方式中的功能的所公开结构。此外,虽然可能仅针对若干实现方式中的一个实现方式公开了本公开内容的特定特征,但是这样的特征可以如对于任何给定的或特定的应用可以期望并且有利的那样与其他实现方式的一个或更多个其他特征组合。此外,就在详细描述或权利要求中使用术语“包括(include)”、“具有(having)”、“具有(has)”、“有(with)”或其变型而言,这样的术语旨在以类似于术语“包括(comprising)”的方式是包含性的。
技术特征:
1.一种系统,包括:处理器;应用映像存储器,其存储:第一应用映像、第二应用映像、所述第一应用映像的基起始地址与所述第一应用映像在所述应用映像存储器中的物理起始地址之间的第一偏移、所述第二应用映像的基起始地址与所述第二应用映像在所述应用映像存储器中的物理起始地址之间的第二偏移以及指示所述第一应用映像或所述第二应用映像之一为活动的应用映像的活动映像标识符;以及虚拟存储器控制器,其被配置成:从所述处理器接收用于访问所述应用映像存储器的第一地址,基于活动映像偏移来修改所述第一地址以生成第二地址以及基于所述第二地址来访问所述存储器,其中:所述活动映像偏移包括响应于所述第一应用映像为活动的应用映像的所述第一偏移,并且所述活动映像偏移包括响应于所述第二应用映像为活动的应用映像的所述第二偏移。2.根据权利要求1所述的系统,其中:所述处理器被配置成:改变指示所述第一应用映像或所述第二应用映像之一为活动的应用映像的所述活动映像标识符,以及基于所述第一偏移或所述第二偏移来修改所述活动映像偏移。3.根据权利要求1所述的系统,其中:所述活动映像标识符指示所述第一应用映像为活动的应用映像;并且所述处理器进行以下操作:用第三应用映像来替换所述第二应用映像的至少一部分,将所述活动映像标识符更改成指示所述第三应用映像为活动的应用映像,以及基于所述第三应用映像的基起始地址和所述第三应用映像在所述应用映像存储器中的物理起始地址来修改所述第二偏移以生成第三偏移并基于所述第三偏移来修改所述活动映像偏移。4.根据权利要求3所述的系统,其中:所述处理器被配置成:用所述第三应用映像的副本来替换所述第一应用映像以生成第四应用映像,以及基于所述第四应用映像的基起始地址和所述第四应用映像在所述应用映像存储器中的物理起始地址来修改所述第一偏移以生成第四偏移。5.根据权利要求1所述的系统,包括:与所述应用映像存储器分离的系统存储器,其中:所述处理器将与所述活动的应用映像相关联的变量存储在所述系统存储器中。6.根据权利要求5所述的系统,包括:与所述应用映像存储器分离的系统存储器,其中:所述处理器将指令指针存储在所述系统存储器中;并且所述指令指针包括所述第一地址。7.根据权利要求5所述的系统,包括:与所述应用映像存储器分离的系统存储器,其中:
所述系统存储器包括易失性存储器;并且所述应用映像存储器包括非易失性存储器。8.根据权利要求1所述的系统,其中:所述应用映像存储器包括非易失性存储器;并且所述处理器被配置成在所述系统的启动过程期间锁定所述应用映像存储器。9.一种方法,包括:将第一应用映像和第二应用映像存储在应用映像存储器中;将所述第一应用映像指定为活动的;从处理器接收用于访问所述应用映像存储器的第一地址;基于所述第一应用映像的基起始地址与所述第一应用映像在所述应用映像存储器中的起始物理地址之间的第一偏移来修改所述第一地址以生成第二地址;以及使用所述第二地址来访问所述应用映像存储器。10.根据权利要求9所述的方法,包括:将指示所述第一应用映像为活动的活动映像标识符存储在所述应用映像存储器中。11.根据权利要求9所述的方法,包括:将所述第二应用映像指定为活动的;从所述处理器接收用于访问所述应用映像存储器的第三地址;基于所述第二应用映像的基起始地址与所述第二应用映像在所述应用映像存储器中的起始物理地址之间的第二偏移来修改所述第三地址以生成第四地址;以及使用所述第四地址来访问所述应用映像存储器。12.根据权利要求11所述的方法,包括:将指示所述第二应用映像为活动的活动映像标识符存储在所述应用映像存储器中。13.根据权利要求9所述的方法,包括:基于所述第一偏移对连接至所述应用映像存储器的虚拟存储器控制器进行配置;在所述虚拟存储器控制器中接收所述第一地址;在所述虚拟存储器控制器中对所述第一地址进行修改;以及将所述第二地址从所述虚拟存储器控制器发送至所述处理器。14.根据权利要求9所述的方法,包括:用第三应用映像来替换所述第二应用映像;将所述第三应用映像指定为活动的;从所述处理器接收用于访问所述应用映像存储器的第三地址;基于所述第三应用映像的基起始地址与所述第三应用映像在所述应用映像存储器中的起始物理地址之间的第二偏移来修改所述第三地址以生成第四地址;以及使用所述第四地址来访问所述应用映像存储器。15.根据权利要求14所述的方法,包括:用所述第三应用映像的副本来替换所述第一应用映像以生成第四应用映像;以及基于所述第四应用映像的基起始地址和所述第四应用映像在所述应用映像存储器中的第四物理起始地址来修改所述第一偏移以生成第四偏移。16.根据权利要求9所述的方法,包括:
将与所述第一应用映像相关联的变量存储在与所述应用映像存储器分离的系统存储器中。17.根据权利要求9所述的方法,包括:将指令指针存储在与所述应用映像存储器分离的系统存储器中,其中:所述指令指针包括所述第一地址。18.根据权利要求9所述的方法,包括:在启动过程期间锁定所述应用映像存储器,其中:所述应用映像存储器包括非易失性存储器。19.一种方法,包括:将第一应用映像存储在非易失性应用映像存储器中;将第二应用映像存储在所述非易失性应用映像存储器中;将所述第一应用映像的基起始地址与所述第一应用映像在所述非易失性应用映像存储器中的第一物理起始地址之间的第一偏移存储在所述非易失性应用映像存储器中;将所述第二应用映像的基起始地址与所述第二应用映像在所述非易失性应用映像存储器中的第二物理起始地址之间的第二偏移存储在所述非易失性应用映像存储器中;将指示所述第一应用映像或所述第二应用映像之一为活动的活动映像标识符存储在所述非易失性应用映像存储器中;以及对虚拟存储器控制器进行配置,所述虚拟存储器控制器被配置成基于响应于所述第一应用映像为活动的所述第一偏移或基于响应于所述第二应用映像为活动的所述第二偏移来修改从处理器接收的第一地址以生成用于访问所述非易失性应用映像存储器的第二地址。20.根据权利要求19所述的方法,包括:将包括所述第一地址的指令指针存储在与所述非易失性应用映像存储器分离的系统存储器中。
技术总结
本发明公开了利用虚拟寻址来执行应用映像的系统和方法。提供了一个或更多个计算设备、系统和/或方法。在示例中,方法包括:将第一应用映像和第二应用映像存储在应用映像存储器中;将第一应用映像指定为活动的;从处理器接收用于访问应用映像存储器的第一地址;基于第一应用映像的基起始地址与第一应用映像在应用映像存储器中的起始物理地址之间的第一偏移来修改第一地址以生成第二地址;以及使用第二地址来访问应用映像存储器。第二地址来访问应用映像存储器。第二地址来访问应用映像存储器。
技术研发人员:亚切克
受保护的技术使用者:赛普拉斯半导体公司
技术研发日:2023.01.20
技术公布日:2023/7/31
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
飞机超市 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/