CN112667354A - 计算机可读取存储介质、虚拟化寄存器装置及访问该装置的方法 - Google Patents

计算机可读取存储介质、虚拟化寄存器装置及访问该装置的方法 Download PDF

Info

Publication number
CN112667354A
CN112667354A CN202011611273.1A CN202011611273A CN112667354A CN 112667354 A CN112667354 A CN 112667354A CN 202011611273 A CN202011611273 A CN 202011611273A CN 112667354 A CN112667354 A CN 112667354A
Authority
CN
China
Prior art keywords
register
virtualized
accessing
virtual
virtual device
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.)
Granted
Application number
CN202011611273.1A
Other languages
English (en)
Other versions
CN112667354B (zh
Inventor
不公告发明人
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shanghai Bi Ren Technology Co ltd
Original Assignee
Shanghai Biren Intelligent Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shanghai Biren Intelligent Technology Co Ltd filed Critical Shanghai Biren Intelligent Technology Co Ltd
Priority to CN202210400142.1A priority Critical patent/CN114840305A/zh
Priority to CN202011611273.1A priority patent/CN112667354B/zh
Priority to TW110113314A priority patent/TWI777491B/zh
Publication of CN112667354A publication Critical patent/CN112667354A/zh
Priority to US17/366,367 priority patent/US11941424B2/en
Application granted granted Critical
Publication of CN112667354B publication Critical patent/CN112667354B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30098Register arrangements
    • G06F9/3012Organisation of register space, e.g. banked or distributed register file
    • G06F9/30123Organisation of register space, e.g. banked or distributed register file according to context, e.g. thread buffers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45504Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45583Memory management, e.g. access or allocation

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Executing Machine-Instructions (AREA)
  • Hardware Redundancy (AREA)

Abstract

本发明涉及一种计算机可读取存储介质、虚拟化寄存器装置及访问该装置的方法,该虚拟化寄存器装置包含:寄存器空间;多个组选择器和块选择器。寄存器空间划分出多个物理块,其中每个物理块包含多个寄存器组,每个寄存器组包含多个寄存器。每个组选择器耦接相应的所述物理块中的多个寄存器组,用于依据相应于虚拟设备的或者虚拟设备所执行功能的第一控制信号启动相应的物理块中的多个寄存器组中的一个。块选择器耦接多个组选择器,用于依据相应于虚拟机指令的第二控制信号启动多个组选择器中的一个,其中的虚拟机指令被转换为虚拟设备上的一个操作。本发明通过如上所述的通过以上所述寄存器组的划分,以及动态执行块选择和组选择来改变访问路径,不需要对之前存储在寄存器中的数据进行保存和恢复,提升寄存器访问的效率。

Description

计算机可读取存储介质、虚拟化寄存器装置及访问该装置的 方法
技术领域
本发明涉及寄存器,尤指一种计算机可读取存储介质、虚拟化寄存器装置及访问该装置的方法。
背景技术
在虚拟化环境下,寄存器的虚拟化非常重要,每个虚拟机用户都可以访问自己本身的虚拟设备的寄存器,似乎整个物理设备是被该虚拟机占用。对于支持虚拟化的设备来说,其需要保证对寄存器访问的隔离性,高效性,同时也需要减少对硬件设计难度和资源的占用。
传统上,在一些实施方式中,硬件可为每个虚拟机用户都分配一套独立的寄存器空间。然而,物理寄存器硬件资源非常大,其需要占用非常大的硬件接口空间,并且随着支持的虚拟设备个数的增加,其需要的物理硬件资源也随之增多,甚至巨大到难以实现。
在另一些实施方式中,硬件可包含仲裁器(Arbiter),以分时复用的方式来让所有的虚拟机用户访问完整的寄存器,达到寄存器虚拟化的目的。然而,每次提供一个虚拟机用户对寄存器的访问前,都需要仲裁器将之前的另一个虚拟机用户的寄存器内容保存好,并且在此虚拟机用户于下次切换回来之前将保存好的内容再写入到寄存器硬件上。也就是说,针对每次的虚拟机用户切换,仲裁器都需要执行一个保存和恢复的过程,开销比较大。当虚拟设备个数比较多的时候,其保存和恢复时间则非常长,会大大影响设备虚拟化的效率。
为了解决或降低如上所述实施方式的技术问题,本发明提出一种计算机可读取存储介质、虚拟化寄存器装置及访问该装置的方法。
发明内容
本发明涉及一种虚拟化寄存器装置,包括:寄存器空间;多个组选择器和块选择器。寄存器空间划分出多个物理块,其中每个物理块包含多个寄存器组,每个寄存器组包含多个寄存器。每个组选择器耦接相应的所述物理块中的多个寄存器组,用于依据相应于虚拟设备的或者虚拟设备所执行功能的第一控制信号启动相应的物理块中的多个寄存器组中的一个。块选择器耦接多个组选择器,用于依据相应于虚拟机指令的第二控制信号启动多个组选择器中的一个,其中虚拟机指令被转换为虚拟设备上的一个操作。
本发明还涉及一种访问如上所述虚拟化寄存器装置的方法,由处理单元于加载并执行虚拟设备的计算机代码时实施,包括:控制所述块选择器,用于从多个组选择器中启动相应于此虚拟设备的一个;依据即将发出请求的虚拟设备或者虚拟设备所执行功能的信息控制已经启动的组选择器,用于启动多个寄存器组中的一个;以及发送请求给所述读取/写入电路,用于访问已经启动的寄存器组,从寄存器中读取数据,或者写入数据到寄存器。
本发明还涉及一种计算机可读取存储介质,用于存储能够被处理单元执行的计算机代码,并且当计算机代码被处理单元执行时实现如上所述的访问虚拟化寄存器装置的方法。
本发明还涉及一种访问虚拟化寄存器装置的方法,由处理单元于加载并执行虚拟设备的计算机代码时实施,该虚拟化寄存器装置包含寄存器空间、地址解码器和读取/写入电路,该寄存器空间包含多个物理块。该方法包括:从多个物理块中决定出相应于虚拟设备的一个;依据即将发出请求的虚拟设备或者虚拟设备所执行功能的信息选择出决定的物理块中多个寄存器组中的一个;发送相应于决定的物理块中的选择的寄存器组的地址给地址解码器,用于启动选择出的寄存器组;以及发送请求给所述读取/写入电路,用于访问已经启动的寄存器组,从寄存器中读取数据,或者写入数据到寄存器。
上述实施例的优点之一,通过以上所述寄存器组的划分,以及动态执行块选择和组选择来改变访问路径,不需要对之前存储在寄存器中的数据进行保存和恢复,提升寄存器访问的效率。
上述实施例的另一个优点,不需要为了支援更多的虚拟机而预先保留超过实际需要的寄存器数目,节省硬件成本。
本发明的其他优点将配合以下的说明和附图进行更详细的解说。
附图说明
此处所说明的附图用于提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。
图1为依据本发明实施例的电子装置的框图。
图2为依据本发明实施例的运行的虚拟设备和虚拟化寄存器装置的框图。
图3为依据本发明实施例的寄存器组的划分示例。
图4为依据本发明实施例的访问虚拟化寄存器装置的方法流程图。
图5为依据本发明实施例的运行的虚拟设备和虚拟化寄存器装置的框图。
图6为依据本发明实施例的访问虚拟化寄存器装置的方法流程图。
其中,附图中符号的简单说明如下:
10:电子装置;110:处理单元;130:虚拟化寄存器装置;150:指令缓存;170:指令调度器;212、214:虚拟机;232、234:虚拟设备;250:寄存器空间;252、254:物理块;252-1~252-4、254-1~254-4:寄存器组;272:块选择器;274、276:组选择器;290:读取/写入电路;310-1~310-1024:寄存器;S410~S440:方法步骤;530:虚拟化寄存器装置;532:地址解码器;S610~S640:方法步骤。
具体实施方式
以下将配合相关附图来说明本发明的实施例。在这些附图中,相同的标号表示相同或类似的组件或方法流程。
必须了解的是,使用于本说明书中的“包含”、“包括”等词,是用于表示存在特定的技术特征、数值、方法步骤、作业处理、组件和/或组件,但并不排除可加上更多的技术特征、数值、方法步骤、作业处理、组件、组件,或以上的任意组合。
本发明中使用如“第一”、“第二”、“第三”等词是用于修饰权利要求中的组件,并非用于表示之间具有优先权顺序,先行关系,或者是一个组件先于另一个组件,或者是执行方法步骤时的时间先后顺序,仅用于区别具有相同名字的组件。
必须了解的是,当组件描述为“连接”或“耦接”至另一组件时,可以是直接连结、或耦接至其他组件,可能出现中间组件。相反地,当组件描述为“直接连接”或“直接耦接”至另一组件时,其中不存在任何中间组件。用于描述组件之间关系的其他词语也可以类似方式解读,例如“介于”相对于“直接介于”,或者“邻接”相对于“直接邻接”等等。
参考图1。电子装置10可实施在大型主机、工作站、个人计算机、笔记本计算机(Laptop PC)、平板计算机、移动电话、数字相机、数字摄影机等电子产品之中。电子装置10至少包含处理单元110、虚拟化寄存器装置130、指令缓存(instruction cache)150和指令调度器(instruction scheduler)170,并且通过物理线相互连接,以传递数据、地址、控制信号等。指令缓存150用于存储多个虚拟机或者虚拟设备的多条指令,而指令调度器170用于依据程序计数器(Program Counter,PC)为每个虚拟机或者虚拟设备从指令缓存150获取待执行的指令。指令调度器170可包含程序计数器寄存器,用于记录现在正执行的指令位置(也就是指令地址)。每当从指令缓存150提取一条指令后,程序计数器加一。线程束指令调度器170在适当的时间点将指令送到处理单元110来执行。处理单元110可加载并执行相应于不同虚拟机或者虚拟设备的计算机代码,虚拟机是通过软件模拟的计算机系统,具有完整硬件功能,运行在一个与其他虚拟机完全隔离的环境中。不同的虚拟机可运行不同的操作系统,例如Linux、红帽(Redhat)等,并且不同的虚拟机之间相互物理隔离,也就是说,一个虚拟机中的数据、数据表、变量和执行结果等信息,不能够被任何一个其他的虚拟机访问。一个虚拟机可提供多种虚拟设备的功能,例如,数据计算、地址翻译、视频处理、音频处理、有线和无线数据传输等。处理单元110可包含算术逻辑单元,为一个虚拟设备执行各式各样的操作,例如,整数、浮点数的加法和乘法计算、比较操作、布尔(Boolean)运算、比特位移、代数函数(如平面插值、三角函数、指数函数、对数函数)等。此外,处理单元110还可为一个虚拟设备执行执行不同组件之间的数据搬移。处理单元110在执行的过程中,可从虚拟化寄存器装置130读取数据,和回写执行结果到虚拟化寄存器装置130。
参考图2,举例来说,处理单元110上能够运行相应于两个虚拟机212和214的相关计算机指令,虚拟机212和214分别提供虚拟设备232和234的功能。虚拟设备232和234在执行的过程中需要写入数据到虚拟化寄存器装置130,以及从虚拟化寄存器装置130读取数据。虚拟化寄存器装置130包含寄存器空间250,用于存储不同虚拟设备执行时需要访问的数据。寄存器空间250可划分出多个不重叠的物理块252和254,并且将每个物理块分配给特定虚拟机使用。例如,把物理块252分配给虚拟机212,并且把物理块254分配给虚拟机214。换句话说,只有虚拟机212中执行的虚拟设备232或其他虚拟设备才能够访问物理块252中的寄存器,虚拟机214中执行的虚拟设备234或其他虚拟设备则不能访问物理块252中的寄存器。每个物理块可包含多个寄存器组,例如,物理块252包含四个寄存器组252-1至252-4,并且物理块254包含四个寄存器组254-1至254-4。寄存器组的定义可让用户自行定义,其可按照寄存器的类型(例如用于数据传输、设备属性等待等),或者按照寄存器的功能进行定义(例如视频处理、地址翻译、数据计算等)。对于实现相同功能的虚拟设备来说,每个寄存器组内的寄存器都是相同的,这样保证实现的虚拟设备都一样。也可以将寄存器依体现的功能划分,这样一个寄存器组就能够用来体现一个虚拟设备的功能。
这些寄存器组可分配给不同的虚拟设备,或者分配给不同虚拟设备中执行的不同功能。例如,虚拟机212上执行三个虚拟设备:虚拟Wi-Fi通信装置、虚拟显示器和虚拟视频解码器。虚拟视频解码器中提供视讯和音讯解码的功能。寄存器组252-1可分配给虚拟机212上执行的虚拟Wi-Fi通信装置,寄存器组252-2可分配给虚拟机212上执行的虚拟显示器。另外,寄存器组252-3和252-4可分别分配给虚拟机212上执行的虚拟视频解码器所提供的视讯解码和音讯解码的功能。虽然图2中描述了寄存器空间250划分出两个物理块的示例,但是所属技术领域人员可在寄存器空间250中根据系统的需要来划分出更多的物理块以支援更多数目的虚拟机,本发明并不因此受限制。虽然图2中描述了相同大小的物理块252和254的示例,但是所属技术领域人员可根据系统的需要让物理块的大小不同,以满足虚拟机不同的需要,本发明并不因此受限制。
每个寄存器组可包含多个寄存器。在一些实施例中,不同寄存器组中的寄存器数目是一样的,保证每个虚拟设备或者虚拟设备中的功能拥有相同的寄存器资源。参考图3,每个寄存器组包含1024个寄存器。例如,寄存器组252-1包含寄存器300-1至300-1024,每个寄存器可存储32比特(即4字节,4Bytes)的数据,使寄存器组252-1可存储4KB的数据。虽然图3中描述了每个寄存器组包含1024个寄存器的示例,所属技术领域人员可根据系统的需要在每个寄存器组中设置更多或者更少的寄存器,本发明并不因此受限制。例如,每个寄存器组包含2048、512或256个寄存器,使每个寄存器组可存储8KB、2KB或1KB的数据。
在另一些实施例中,不同寄存器组中的寄存器数目依据用户需求而有不同,用于保证按需分配,体现灵活性。例如,寄存器组252-1、252-2、252-3和252-4分别包含1024、512、2048和512个寄存器。
参考回图2,虚拟化寄存器装置130包含块选择器272和两个组选择器274和276,用来依据处理单元110传来的控制信号设置访问路径,其中该控制信号相应于特定虚拟设备或者特定虚拟设备中执行的特定功能。块选择器272耦接组选择器274和276,组选择器274耦接寄存器组252-1至252-4,组选择器276耦接寄存器组254-1至254-4。块选择器272依据从处理单元110传来的控制信号启动(enable)组选择器274或276,其中该控制信号相应于虚拟机指令。所属技术领域人员理解,虚拟机指令会被转换为特定虚拟设备上的一个操作。组选择器274依据从处理单元110传来的控制信号启动寄存器组252-1至252-4中的一个,组选择器276依据从处理单元110传来的控制信号启动寄存器组254-1至254-4中的一个,其中该控制信号相应于特定虚拟设备或者特定虚拟设备中执行的特定功能。而虚拟化寄存器装置130还包含读取/写入电路290,用于从访问路径指出的寄存器读取数据,或者写入数据到访问路径指出的寄存器。详细来说,当虚拟化寄存器装置130接受到了虚拟设备232或234发送过来的寄存器请求,读取/写入电路290访问由块选择器272、组选择器274和276设置出的访问路径中的寄存器。
以上所述的寄存器空间250的分割、每个物理块中的寄存器组的分配等逻辑可记录在虚拟设备232和234的计算机代码中,并且让这些逻辑被处理单元110加载并执行时据以控制虚拟化寄存器装置130中的块选择器272和组选择器274和276,用于动态设置访问路径。
搭配参考如图4所示的访问虚拟化寄存器装置130的方法,此方法由处理单元110加载并执行虚拟设备232或234的计算机代码时实施,包含以下步骤:
步骤S410:控制块选择器,用于从多个组选择器中启动相应于虚拟机指令的一个。所属技术领域人员理解,虚拟机指令会被转换为特定虚拟设备上的一个操作。例如,当虚拟装置212即将发出请求时,控制块选择器272来启动组选择器274。
步骤S420:依据即将发出请求的虚拟设备(或者虚拟设备所执行功能)的信息控制已经启动的组选择器,用于启动多个寄存器组中的一个。例如,当虚拟机212上执行的虚拟设备(以下假设为虚拟Wi-Fi通信装置)232即将发出请求时,控制组选择器274来启动寄存器组252-1。
步骤S430:发送请求给读取/写入电路290,用于访问已经启动的寄存器组,从指定的寄存器中读取数据,或者写入数据到指定的寄存器。请求中可包含类型(如读取、写入、删除等)、偏移(offset)、待写入数据等。例如,虚拟机212上执行的虚拟Wi-Fi通信装置232发出请求给读取/写入电路290,希望从偏移为“100”的地址中读取数据。读取/写入电路290从寄存器310-100读取数据,并且回复给虚拟Wi-Fi通信装置232。
步骤S440:判断此虚拟设备(或者此虚拟设备所执行功能)是否完成寄存器访问。如果是,则流程继续进行步骤S410的处理。否则,流程继续进行步骤S430的处理。
以上所述的方法包含了加速访问机制,虚拟化寄存器装置130可以在寄存器组启动以后保证寄存器的访问路径不变,直到下一次寄存器组的启动发生了改变。这样对于一个虚拟设备(或者一个虚拟设备所执行的特定功能)在一段时间内访问同一个寄存器组时,不需要虚拟化寄存器装置130再做任何访问路径的改变操作。也就是说,在一个虚拟设备(或者一个虚拟设备所执行的特定功能)完成已经启动的寄存器组的预先设定访问前,不控制块选择器272和组选择器274和276来改变访问路径,减少了整个访问过程的时间开销,从而提高访问效率。
图2中所示的块选择器272、组选择器274和276的功能也可以改为使用软件实现。参考图5所示另一些实施例的虚拟化寄存器装置530,虚拟化寄存器装置530包含地址解码器532,用于依据虚拟设备232或234传送的地址来启动多个寄存器组252-1至254-4中的一个。
因应图5所示的虚拟化寄存器装置530的设置,搭配参考如图6所示的访问虚拟化寄存器装置530的方法,此方法由处理单元110加载并执行虚拟设备232或234的计算机代码时实施,包含以下步骤:
步骤S610:从多个物理块中决定出相应于虚拟设备的一个。例如,当虚拟装置232即将发出请求时,选择物理块252。
步骤S620:依据即将发出请求的虚拟设备(或者虚拟设备所执行功能)的信息选择出决定物理块中多个寄存器组中的一个。例如,当虚拟机212上执行的虚拟设备(以下假设为虚拟Wi-Fi通信装置)232即将发出请求时,选择物理块252中的寄存器组252-1。
步骤S630:发送相应于决定物理块中的选择寄存器组的地址给地址解码器532,用于启动选择出的寄存器组。
步骤S640:发送请求给读取/写入电路290,用于访问已经启动的寄存器组,从指定的寄存器中读取数据,或者写入数据到指定的寄存器。此步骤的详细技术内容类似步骤S430,所属技术领域人员可参考步骤S430的描述,为求简明不再赘述。
上述实施例的优点之一,通过以上所述寄存器组的划分,以及动态执行块选择和组选择来改变访问路径,不需要对之前存储在寄存器中的数据进行保存和恢复,提升寄存器访问的效率。
上述实施例的另一个优点,不需要为了支援更多的虚拟机而预先保留超过实际需要的寄存器数目,节省硬件成本。
本发明所述的方法中的全部或部分步骤可以由计算机程序实现,例如应用程序、驱动程序、操作系统等任意组合。此外,也可实现于如上所示的其他类型程序。所属技术领域中的技术人员可将本发明实施例的方法撰写成计算机代码,为求简明不再加以描述。依据本发明实施例方法实施的计算机程序可存储于适当的计算机可读取存储介质,例如DVD、CD-ROM、U盘、硬盘,也可置于可通过网络(例如,互联网,或其他适当介质)存取的网络服务器。
虽然图1、图2、图5中包含了以上描述的组件,但不排除在不违反发明的精神下,使用更多其他的附加组件,以达成更佳的技术效果。此外,虽然图4、图6的流程图采用指定的顺序来执行,但是在不违反发明精神的情况下,所属技术领域的技术人员可以在达到相同效果的前提下,修改这些步骤之间的顺序,所以,本发明并不局限于仅使用如上所述的顺序。此外,所属技术领域的技术人员也可以将若干步骤整合为一个步骤,或者是除了这些步骤外,循序或并行地执行更多步骤,本发明也不应因此而局限。
以上所述仅为本发明较佳实施例,然其并非用以限定本发明的范围,任何熟悉本项技术的人员,在不脱离本发明的精神和范围内,可在此基础上做进一步的改进和变化,因此本发明的保护范围当以本申请的权利要求书所界定的范围为准。

Claims (13)

1.一种虚拟化寄存器装置,其特征在于,包括:
寄存器空间,划分出多个物理块,其中每个所述物理块包含多个寄存器组,每个所述寄存器组包含多个寄存器;
多个组选择器,其中每个所述组选择器耦接相应的所述物理块中的所述多个寄存器组,用于依据相应于虚拟设备的或者所述虚拟设备所执行功能的第一控制信号启动相应的所述物理块中的所述多个寄存器组中的一个;以及
块选择器,耦接所述多个组选择器,用于依据相应于虚拟机指令的第二控制信号启动所述多个组选择器中的一个,
其中所述虚拟机指令被转换为所述虚拟设备上的一个操作。
2.如权利要求1所述的虚拟化寄存器装置,其特征在于,所述多个物理块之间不重叠。
3.如权利要求1所述的虚拟化寄存器装置,其特征在于,所述第一控制信号和所述第二控制信号由处理单元发出。
4.如权利要求1所述的虚拟化寄存器装置,其特征在于,包括:读取/写入电路,用于依据处理单元发出的请求访问已经启动的所述寄存器组,从指定的寄存器中读取数据,或者写入数据到指定的寄存器。
5.如权利要求4所述的虚拟化寄存器装置,其特征在于,所述多个寄存器组中包含的寄存器数目相同。
6.如权利要求4所述的虚拟化寄存器装置,其特征在于,所述多个寄存器组中包含的寄存器数目不同。
7.一种访问虚拟化寄存器装置的方法,由处理单元于加载并执行虚拟设备的计算机代码时实施,所述虚拟化寄存器装置包含块选择器、多个组选择器和读取/写入电路,每个所述组选择器耦接物理块中的所述多个寄存器组,其特征在于,所述访问虚拟化寄存器装置的方法包括:
控制所述块选择器,用于从所述多个组选择器中启动一个;
依据即将发出请求的所述虚拟设备或者所述虚拟设备所执行功能的信息控制已经启动的所述组选择器,用于启动多个寄存器组中的一个;以及
发送请求给所述读取/写入电路,用于访问已经启动的所述寄存器组,从寄存器中读取数据,或者写入数据到寄存器。
8.如权利要求7所述的访问虚拟化寄存器装置的方法,其特征在于,包括:
在所述虚拟设备或者所述虚拟设备所执行功能完成已经启动的所述寄存器组的预先设定访问前,不控制所述块选择器和所述组选择器来改变访问路径。
9.如权利要求8所述的访问虚拟化寄存器装置的方法,其特征在于,所述虚拟化寄存器装置包含寄存器空间,所述寄存器空间划分出多个物理块,其中每个所述物理块包含多个寄存器组,所述多个物理块之间不重叠。
10.一种计算机可读取存储介质,用于存储能够被处理单元执行的计算机代码,其特征在于,所述计算机代码被所述处理单元执行时实现如权利要求7至权利要求9中任一项所述的访问虚拟化寄存器装置的方法。
11.一种访问虚拟化寄存器装置的方法,由处理单元于加载并执行虚拟设备的计算机代码时实施,所述虚拟化寄存器装置包含寄存器空间、地址解码器和读取/写入电路,所述寄存器空间包含多个物理块,其特征在于,所述访问虚拟化寄存器装置的方法包括:
从所述多个物理块中决定出相应于所述虚拟设备的一个;
依据即将发出请求的所述虚拟设备或者所述虚拟设备所执行功能的信息选择出决定的所述物理块中多个寄存器组中的一个;
发送相应于决定的所述物理块中的选择的所述寄存器组的地址给所述地址解码器,用于启动选择出的所述寄存器组;以及
发送请求给所述读取/写入电路,用于访问已经启动的所述寄存器组,从寄存器中读取数据,或者写入数据到寄存器。
12.如权利要求11所述的访问虚拟化寄存器装置的方法,其特征在于,所述多个物理块之间不重叠。
13.一种计算机可读取存储介质,用于存储能够被处理单元执行的计算机代码,其特征在于,所述计算机代码被所述处理单元执行时实现如权利要求11至权利要求12中任一项所述的访问虚拟化寄存器装置的方法。
CN202011611273.1A 2020-12-30 2020-12-30 计算机可读取存储介质、虚拟化寄存器装置及访问该装置的方法 Active CN112667354B (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN202210400142.1A CN114840305A (zh) 2020-12-30 2020-12-30 计算机可读取存储介质、虚拟化寄存器装置及访问该装置的方法
CN202011611273.1A CN112667354B (zh) 2020-12-30 2020-12-30 计算机可读取存储介质、虚拟化寄存器装置及访问该装置的方法
TW110113314A TWI777491B (zh) 2020-12-30 2021-04-14 虛擬化暫存器裝置和存取該裝置的方法和電腦程式產品
US17/366,367 US11941424B2 (en) 2020-12-30 2021-07-02 Apparatus for virtualized registers and method and computer program product for accessing to the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011611273.1A CN112667354B (zh) 2020-12-30 2020-12-30 计算机可读取存储介质、虚拟化寄存器装置及访问该装置的方法

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN202210400142.1A Division CN114840305A (zh) 2020-12-30 2020-12-30 计算机可读取存储介质、虚拟化寄存器装置及访问该装置的方法

Publications (2)

Publication Number Publication Date
CN112667354A true CN112667354A (zh) 2021-04-16
CN112667354B CN112667354B (zh) 2022-05-06

Family

ID=75411133

Family Applications (2)

Application Number Title Priority Date Filing Date
CN202210400142.1A Pending CN114840305A (zh) 2020-12-30 2020-12-30 计算机可读取存储介质、虚拟化寄存器装置及访问该装置的方法
CN202011611273.1A Active CN112667354B (zh) 2020-12-30 2020-12-30 计算机可读取存储介质、虚拟化寄存器装置及访问该装置的方法

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN202210400142.1A Pending CN114840305A (zh) 2020-12-30 2020-12-30 计算机可读取存储介质、虚拟化寄存器装置及访问该装置的方法

Country Status (3)

Country Link
US (1) US11941424B2 (zh)
CN (2) CN114840305A (zh)
TW (1) TWI777491B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113704091A (zh) * 2021-07-30 2021-11-26 郑州云海信息技术有限公司 一种逻辑代码调试方法、装置、设备及存储介质
CN113808000A (zh) * 2021-11-19 2021-12-17 北京壁仞科技开发有限公司 数据管理装置及数据管理方法
CN115988218A (zh) * 2023-03-14 2023-04-18 摩尔线程智能科技(北京)有限责任公司 一种虚拟化视频编解码系统、电子设备和存储介质
CN116820344A (zh) * 2023-07-03 2023-09-29 摩尔线程智能科技(北京)有限责任公司 存储器访问电路及存储器访问方法、集成电路和电子设备

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61145646A (ja) * 1984-12-19 1986-07-03 Hitachi Ltd 仮想計算機システム
US4975836A (en) * 1984-12-19 1990-12-04 Hitachi, Ltd. Virtual computer system
CN101236529A (zh) * 2006-12-27 2008-08-06 英特尔公司 用于设备访问分区系统中的存储器的访客地址至主机地址转换
CN101821723A (zh) * 2007-11-21 2010-09-01 密克罗奇普技术公司 以太网控制器
CN103748566A (zh) * 2011-06-07 2014-04-23 爱立信(中国)通信有限公司 用于寄存器组的创新结构
CN106775919A (zh) * 2015-11-24 2017-05-31 龙芯中科技术有限公司 状态信息控制方法及装置
CN110633055A (zh) * 2019-09-18 2019-12-31 东软集团股份有限公司 一种访问rpmb分区的方法、装置及相关设备

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010030996A1 (en) * 2008-09-15 2010-03-18 Virsto Software Storage management system for virtual machines
US8726274B2 (en) * 2010-09-10 2014-05-13 International Business Machines Corporation Registration and initialization of cluster-aware virtual input/output server nodes
US10754789B1 (en) * 2017-11-15 2020-08-25 Amazon Technologies, Inc. Address translation for storage class memory in a system that includes virtual machines
US11099789B2 (en) 2018-02-05 2021-08-24 Micron Technology, Inc. Remote direct memory access in multi-tier memory systems
US10671460B2 (en) 2018-02-05 2020-06-02 Micron Technology, Inc. Memory access communications through message passing interface implemented in memory systems

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61145646A (ja) * 1984-12-19 1986-07-03 Hitachi Ltd 仮想計算機システム
US4975836A (en) * 1984-12-19 1990-12-04 Hitachi, Ltd. Virtual computer system
CN101236529A (zh) * 2006-12-27 2008-08-06 英特尔公司 用于设备访问分区系统中的存储器的访客地址至主机地址转换
CN101821723A (zh) * 2007-11-21 2010-09-01 密克罗奇普技术公司 以太网控制器
CN103748566A (zh) * 2011-06-07 2014-04-23 爱立信(中国)通信有限公司 用于寄存器组的创新结构
CN106775919A (zh) * 2015-11-24 2017-05-31 龙芯中科技术有限公司 状态信息控制方法及装置
CN110633055A (zh) * 2019-09-18 2019-12-31 东软集团股份有限公司 一种访问rpmb分区的方法、装置及相关设备

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113704091A (zh) * 2021-07-30 2021-11-26 郑州云海信息技术有限公司 一种逻辑代码调试方法、装置、设备及存储介质
CN113704091B (zh) * 2021-07-30 2024-02-09 郑州云海信息技术有限公司 一种逻辑代码调试方法、装置、设备及存储介质
CN113808000A (zh) * 2021-11-19 2021-12-17 北京壁仞科技开发有限公司 数据管理装置及数据管理方法
CN115988218A (zh) * 2023-03-14 2023-04-18 摩尔线程智能科技(北京)有限责任公司 一种虚拟化视频编解码系统、电子设备和存储介质
CN116820344A (zh) * 2023-07-03 2023-09-29 摩尔线程智能科技(北京)有限责任公司 存储器访问电路及存储器访问方法、集成电路和电子设备
CN116820344B (zh) * 2023-07-03 2024-04-26 摩尔线程智能科技(北京)有限责任公司 存储器访问电路及存储器访问方法、集成电路和电子设备

Also Published As

Publication number Publication date
US20220206835A1 (en) 2022-06-30
CN112667354B (zh) 2022-05-06
TWI777491B (zh) 2022-09-11
TW202225976A (zh) 2022-07-01
CN114840305A (zh) 2022-08-02
US11941424B2 (en) 2024-03-26

Similar Documents

Publication Publication Date Title
CN112667354B (zh) 计算机可读取存储介质、虚拟化寄存器装置及访问该装置的方法
US8135899B1 (en) Expansion of virtualized physical memory of virtual machine
JP5384576B2 (ja) 複数の異種のソリッドステート・ストレージ・ロケーションの選択的利用
US8151275B2 (en) Accessing copy information of MMIO register by guest OS in both active and inactive state of a designated logical processor corresponding to the guest OS
EP3764237A1 (en) System startup method and apparatus, electronic device and storage medium
US7971026B2 (en) Information processing apparatus and access control method
US10824342B2 (en) Mapping mode shift between mapping modes that provides continuous application access to storage, wherein address range is remapped between said modes during data migration and said address range is also utilized bypass through instructions for direct access
EP3230873B1 (en) Computing method and apparatus with persistent memory
CN104583979A (zh) 动态物理存储器分区技术
TW200805072A (en) Interrupt controller utilising programmable priority values
KR20210095690A (ko) 리소스 관리 방법과 장치, 전자 디바이스 및 기록 매체
CN102667714B (zh) 支持访问由操作系统环境外的资源提供的功能的方法和系统
CN114417373A (zh) 一种NVMe-oF用户态客户端的数据访问方法和装置
WO2013030628A1 (en) Integrated circuit device, memory interface module, data processing system and method for providing data access control
US5369750A (en) Method and apparatus for configuring multiple absolute address spaces
CN109408226A (zh) 数据处理方法、装置及终端设备
US20200201691A1 (en) Enhanced message control banks
US10983832B2 (en) Managing heterogeneous memory resource within a computing system
US9405470B2 (en) Data processing system and data processing method
CN114116533B (zh) 利用共享存储器存储数据的方法
CN115712394A (zh) 数据读写方法、装置、计算机设备及可读存储介质
CN112817756B (zh) 计算机可读取存储介质、内存管理单元的虚拟化方法和装置
KR102436979B1 (ko) 스펙트레 완화를 위한 데이터 캐시 세분화
EP4208775A1 (en) Disaggregated memory pool assignment
US20140237149A1 (en) Sending a next request to a resource before a completion interrupt for a previous request

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
GR01 Patent grant
GR01 Patent grant
CP03 Change of name, title or address

Address after: 201114 room 1302, 13 / F, building 16, 2388 Chenhang Road, Minhang District, Shanghai

Patentee after: Shanghai Bi Ren Technology Co.,Ltd.

Country or region after: China

Address before: 201114 room 1302, 13 / F, building 16, 2388 Chenhang Road, Minhang District, Shanghai

Patentee before: Shanghai Bilin Intelligent Technology Co.,Ltd.

Country or region before: China

CP03 Change of name, title or address