当前位置: 首页 > 专利查询>ARM有限公司专利>正文

虚拟处理设备的中断控制制造技术

技术编号:7141305 阅读:259 留言:0更新日期:2012-04-11 18:40
一种支持一个或多个虚拟处理设备的数据处理系统配备外部中断接口硬件(26)和虚拟接口硬件(28)。管理程序软件响应于该外部中断接口硬件(26)所接收到的中断,而将表征该中断的数据写入该虚拟接口硬件(28)的列表寄存器(18)。接着,被仿真的虚拟数据处理设备的虚拟机的客户操作系统可以从该虚拟接口硬件(28)处读取表征要由该虚拟机处理的中断的数据。该虚拟机与该客户操作系统与该虚拟接口硬件(28)互动,如同其是外部接口硬件。该管理程序软件负责维护该虚拟接口硬件(28)内的数据以便正确反映该外部接口(26)所接收到的排队中断。

【技术实现步骤摘要】
【国外来华专利技术】
本专利技术涉及数据处理系统。更具体地,本专利技术涉及使用一个或多个虚拟处理设备 的数据处理系统内的中断处置。
技术介绍
已知的是,给数据处理系统提供对一 个或多个虚拟处理设备的虚拟化支持。此系 统的一个示例为特定处理器被物理地实施并且希望提供对多个虚拟机的支持。在这些情况 中,物理处理器能够执行软件(举例来说,管理程序软件)以便提供对多个虚拟机的支持, 举例来说在正在执行的虚拟机之间进行切换。提供此虚拟化支持的系统内的一个特定问题是如何处置中断。尤其是在实时处理 的领域中,中断处理速度经常是数据处理系统的关键性能参数。一种方式是在所支持的每 一个虚拟处理系统的管理程序码中提供以软件为基础的虚拟中断控制器。该虚拟处理系统 存取该中断控制器的尝试导致进入该管理程序,其接着能够模拟正确的响应。如果对中断 控制器的存取是频繁的,则这可能不利地降速。每个中断的处理通常涉及最少两次中断控 制器存取,并且经常涉及更多。再者,某些虚拟处理系统对中断控制器进行频繁的存取,以 便改变处理器的活动优先级等级。因此,这种提供所需功能的以软件为基础的虚拟中断控 制器技术对整体性能有显著的负面影响。也可能建立一种以硬件为基础的机构,其自然支持多个虚拟机并且将每个虚拟机 的中断控制器存取映射至适当的硬件动作。不过,这种硬件方式可能涉及不利得大的硬件 开销并且也可能在能够支持多少个中断及/或虚拟机方面施加潜在限制性的约束。另一方式是使用部分虚拟化(paravirtualisation)以通过使用更高效的超呼叫 (hypercall)来减少中断的开销。即使利用这些方式,在物理中断到达时仍会有至少一次管 理程序进入并且在完成中断处理时会有另外次(以便使得能够重新使能物理中断)。
技术实现思路
从一个方面来看,本专利技术提供一种使用为一个或多个虚拟处理设备提供虚拟化支 持的用于处理数据的设备来处理中断信号的方法,所述方法包括以下步骤响应于用于处理数据的所述设备所接收到的中断信号,将表征所述中断信号的数据写 入各个虚拟处理设备的一个或多个虚拟接口中的至少一个,所述一个或多个虚拟接口以硬 件提供且分别包含用于储存相关联虚拟处理设备的未完成中断的列表的一个或多个列表 寄存器;响应于所述至少一个虚拟接口的所述列表寄存器内的所述未完成中断的列表,产生虚 拟中断信号以触发与所述相关联虚拟处理设备所进行的中断处理对应的中断处理,并且提 供表征所述虚拟中断信号的数据以便从所述至少一个虚拟接口内所包含的一个或多个接 口寄存器处进行读取;响应于所述虚拟中断信号,使用彷佛在所述相关联虚拟处理设备上执行的第一控制程序来从所述一个或多个接口 寄存器处读取表征所述中断信号的数据;以及响应于从所述一个或多个接口寄存器处读取的表征所述中断信号的所述数据,执行在 所述第一控制程序的控制下的并且对应于所述相关联虚拟处理设备所进行的中断处理的 中断处理。此技术为中断处理中涉及的常见操作提供以硬件为基础的(因而快速的)支持, 其不招致如上面讨论的以全硬件为基础的方式的高开销成本和限制。再者,其提供比以纯 软件为基础的方式更高的性能,在以纯软件为基础的方式中对中断控制器的每次存取被捕 捉。本技术提供一种硬件虚拟接口,其包含一个或多个列表寄存器,储存相关联虚拟 处理设备的未完成中断的列表;以及一个或多个接口寄存器,用于提供表征由此硬件所产 生的虚拟中断信号的数据。彷佛在与目前未完成中断列表相关联的虚拟处理设备上执行的 第一控制程序(诸如举例来说,客户操作系统)响应于该虚拟中断信号以从接口寄存器处 读取表征中断信号的数据并且接着实施对应于该相关联虚拟处理设备所进行的中断处理 的处理。这种配置提供比捕捉对中断控制器的每次存取更高的性能,因为一个或多个虚拟 接口以硬件提供,而且不会招致全硬件模型的高硬件成本和限制。虚拟接口的硬件可以在 相关联的虚拟处理设备之间被共享,使得当虚拟机被切换时,虚拟接口内的状态也被切换。 实际上,这并非严重的缺点,因为当虚拟机被切换时,需要交换更大量的寄存器而且此类虚 拟机切换操作已经耗费大量的时间。将表征该中断信号的数据写入虚拟接口可以使用由该设备执行的第二控制程序 (诸如举例来说,管理程序控制程序)来实施。第一控制程序可能通过在第一控制程序的控制下将数据写入一个或多个接口寄 存器,来写入指示对应于该相关联虚拟处理设备所进行的中断处理的处理的完成的数据。 这能够提供一种发信通知中断结束事件的机构。可以使用第二控制程序从一个或多个接口寄存器处读取指示中断处理的完成的 数据,以通知该相关联虚拟处理设备所进行的中断处理已完成。这可能用来发信通知系统 内其它层级(诸如产生原始中断且正在等待该中断的完成通知的物理设备)这种完成。如上面提及,多个虚拟处理设备可以共享以硬件提供的虚拟接口,且在本文中,第 二控制程序能够控制目前哪个虚拟处理设备正在使用该虚拟接口。如果第二控制程序为管 理程序,则其通常会已经管理哪个虚拟机是活动的且因此当虚拟机被切换时虚拟接口的使 用可能也被切换。用于处理数据的设备可能是多处理设备(也就是,包含多个处理器核心的设备), 且这些处理器中的每个可能具有以硬件提供的且依据该对应处理器正在支持哪个虚拟处 理设备而受控的虚拟接口。第二控制程序可能关于一个或多个虚拟处理设备中的每个维护表征未完成中断 的数据,包括管理列表寄存器的内容和来自那些列表寄存器的任何溢出。储存在列表寄存器内的未完成中断,可能代表已出现但尚未通知第一控制程序的 一个或多个待处理的中断以及已通知第一控制程序但仍须由第一控制程序进行中断处理 的一个或多个活动中断。该数据处理设备可能使用外部中断控制器,其以硬件提供且具有一个或多个外部接口寄存器以管理从该处理设备外面接收物理中断信号。从外部接口寄存器处读取表征中断信号的数据,能够用来向外部系统确认收到该 中断信号。该外部中断控制器可能不会优先处理在多个中断信号输入处接收到的中断信 号;或者可以利用配置标记进行切换,以便依据该数据处理设备的基本状态(举例来说,虚 拟处理设备现在是否正在被模拟)优先处理。用于处理数据的设备所接收到的物理中断可能具有和它们相关联的中断数,而由 以硬件提供的虚拟接口所产生的虚拟中断信号可能具有和其相关联的虚拟中断数。第二控 制程序能够实施该物理中断数与该虚拟中断数之间的映射。第二控制程序能够在使用多处理器系统时选择多个虚拟处理设备中的哪个要用 来实施该中断处理。可能的是,多个虚拟处理设备能够处理特定中断而该第二控制程序能 够以试图改善总操作效率的方式指派中断给这些候选虚拟处理设备中的适当的设备。该第 二控制程序也可能响应于软件产生的中断信号,取代用于处理数据的设备所接收到的物理 中断信号。此类软件产生的中断信号可以由该第二控制程序本身产生。举例来说,这些软 件产生的中断信号也可能由虚拟处理设备中的一个产生。要明白的是,列表寄存器代表用于储存表征未完成中断的数据的有限资源。为解 决此问题,如果一个或多个列表寄存器溢出,则第二控制程序可能缓冲表征未完成中断的 数据。当该一个或多个列表寄存器内的闲置空间变得可用时,第二控制程序还能够用于以 被该第二控制程序缓冲的且表征未完成中断的数据来再填该一个或多个列表寄存器。可以通本文档来自技高网
...

【技术保护点】
1. 一种使用为一个或多个虚拟处理设备提供虚拟化支持的用于处理数据的设备来处理中断信号的方法,所述方法包括以下步骤:响应于用于处理数据的所述设备所接收到的中断信号,将表征所述中断信号的数据写入各个虚拟处理设备的一个或多个虚拟接口中的至少一个,所述一个或多个虚拟接口以硬件提供且分别包含储存相关联虚拟处理设备的未完成中断列表的一个或多个列表寄存器;响应于所述至少一个虚拟接口的所述列表寄存器内的所述未完成中断列表,产生虚拟中断信号以触发与所述相关联虚拟处理设备所进行的中断处理相应的中断处理并且提供表征所述虚拟中断信号的数据以从所述至少一个虚拟接口内所包含的一个或多个接口寄存器处进行读取;响应于所述虚拟中断信号,使用彷佛在所述相关联虚拟处理设备上执行的第一控制程序以从所述一个或多个接口寄存器处读取表征所述中断信号的所述数据;以及响应于从所述一个或多个接口寄存器处读取的表征所述中断信号的所述数据,实施在所述第一控制程序的控制下的且对应于所述相关联虚拟处理设备所进行的中断处理的中断处理。

【技术特征摘要】
【国外来华专利技术】...

【专利技术属性】
技术研发人员:DH曼塞尔
申请(专利权)人:ARM有限公司
类型:发明
国别省市:GB

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1