CN107430563B - 多模态接口 - Google Patents
多模态接口 Download PDFInfo
- Publication number
- CN107430563B CN107430563B CN201680016987.3A CN201680016987A CN107430563B CN 107430563 B CN107430563 B CN 107430563B CN 201680016987 A CN201680016987 A CN 201680016987A CN 107430563 B CN107430563 B CN 107430563B
- Authority
- CN
- China
- Prior art keywords
- data
- policy manager
- hardware
- firmware
- communication
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/541—Interprogram communication via adapters, e.g. between incompatible applications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/10—Program control for peripheral devices
- G06F13/102—Program control for peripheral devices where the programme performs an interfacing function, e.g. device driver
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/544—Buffers; Shared memory; Pipes
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Transfer Systems (AREA)
- Stored Programmes (AREA)
- Computer And Data Communications (AREA)
Abstract
本文所描述的特定实施例提供了一种电子设备,所述电子设备可以:从电子设备的操作系统接收数据,其中,所述数据与硬件相关,所述硬件通过多模态接口与所述电子设备进行通信;并且将所述数据和/或相关数据传送到本地策略管理器,其中,所述本地策略管理器与所述多模态接口进行通信。所述多模态接口可以被配置用于在同一接口上支持功率传输、定向性以及多种输入/输出(I/O)协议。
Description
相关申请的交叉引用
本申请要求于2015年4月18日提交的题为“MULTIMODAL INTERFACE(多模态接口)”的印度非临时专利申请号2004/CHE/2015的权益和优先权,所述印度非临时专利申请通过引用以其全文结合在此。
技术领域
本公开总体上涉及电子设备领域,并且更具体地涉及多模态接口。
技术背景
最终用户比以前任何时候都具有更多的电子设备选择。许多凸出的技术发展趋势当前在进行中(例如,更多的计算设备、更多可拆卸的显示器、更多的外围设备等),并且这些趋势正在改变电子设备的前景。这些技术趋势之一是将大量的设备连接到电子设备。在许多情况下,这些设备中的每一个都具有单用途唯一连接器以将设备连接到电子设备,并且一个连接器可能不与其他连接器一样操作或起作用。例如,通用串行总线(USB)连接器与显示器高清多媒体接口(HDMI)连接器不同。因此,提供允许能够支持多个设备的统一连接器的电子设备存在挑战。
附图说明
为提供对本公开及其特征和优点的更全面理解,结合附图,参考了下面的说明,其中,相似的附图标记表示相似的部件,在附图中:
图1是电子设备的简化框图,展示了根据本公开的实施例的通信系统的实施例;
图2是简化流程图,展示了可能与根据实施例的通信系统相关联的潜在操作;
图3是简化流程图,展示了可能与根据实施例的通信系统相关联的潜在操作;
图4A和图4B是简化时序流程图,展示了可能与根据实施例的通信系统相关联的潜在操作;
图5是简化流程图,展示了可能与根据实施例的通信系统相关联的潜在操作;
图6是简化流程图,展示了可能与根据实施例的通信系统相关联的潜在操作;
图7是简化时序流程图,展示了可能与根据实施例的通信系统相关联的潜在操作;
图8是简化流程图,展示了可能与根据实施例的通信系统相关联的潜在操作;
图9是简化流程图,展示了可能与根据实施例的通信系统相关联的潜在操作;
图10是简化数据结构表,展示了可能与根据实施例的通信系统相关联的潜在细节;
图11是框图,展示了根据实施例采用点对点配置来安排的示例计算系统;
图12是与本公开的示例ARM生态系统片上系统(SOC)相关联的简化框图;并且
图13是框图,展示了根据实施例的示例处理器核。
附图的图形不必按比例绘制,因为它们的尺寸可以显著地变化而不会背离本公开的范围。
示例性实施例的详细说明
示例实施例
图1是根据本公开的实施例的具有多模态接口的通信系统100的实施例的简化框图。通信系统100可以包括电子设备102以及一个或多个辅助设备104a-104d。每个辅助设备104a-104c可以分别包括接口128a-128c。在示例中,一个或多个辅助设备可以包括用于使能无线通信的无线模块。例如,辅助设备104d被展示为包括无线模块130a。
电子设备102可以包括操作系统(OS)108、处理器110、存储器112、OS策略管理器(OSPM)114、操作区域116、固件118、平台策略管理器(PPM)124、一个或多个本地策略管理器(LPM)126a-126d、以及一个或多个多模态接口106a-106d。存储器112可以包括邮箱(mailbox)122。邮箱122可以是存储器112中的缓冲器。PPM 124可以包括系统主机控制器120。在示例中,一个或多个多模态接口可以包括用于使能无线通信的无线模块。例如,多模态接口106d被展示为包括无线模块130b。在另一示例中,无线模块130b被包括在电子设备102中,并且其资源可以被多个多模态接口共享。辅助设备104d可以使用无线模块130a和130b与电子设备102进行无线通信。
在实施例中,每个多模态接口106a-106d可以具有对应的LPM 126a-126d。例如,多模态接口106a可以对应于LPM 126a,多模态接口106b可以对应于LPM 126b,多模态接口106c可以对应于LPM 126c,并且多模态接口106d可以对应于LPM 126d。每个多模态接口106a-106d可以是可在同一接口上支持功率传输、定向性以及多种输入/输出(I/O)协议的多模态接口。所述多个协议可以被自动配置为在多模态接口或连接器上同时地或独立地运行,而无需用户干预。例如,每个辅助设备104a-104d可以是不同的电子设备,并且单个多模态接口(例如,多模态接口106a-106d之一)可能能够支持每个不同的辅助设备104a-104d。
图1的元件可采用任何适当的连接(有线或无线)通过一个或多个接口耦合到彼此,其提供用于通信的可行路径。此外,图1的这些元件中的任何一个或多个可基于特定的配置需要而组合或从架构移除。通信系统100可包括能够实现用于在网络中传输或接收分组的传输控制协议/网际协议(TCP/IP)通信的配置。当适当时并且基于特定需要,通信系统100还可结合用户数据报协议/IP(UDP/IP)或任何其他适当的协议操作。
出于说明通信系统100的某些示例技术的目的,重要的是理解可遍历通信环境的通信。以下基本信息可视为从中可适当解释本公开的基础。
当前系统通常具有仅支持一种特定功能的单用途连接器,例如显示器连接器、音频连接器、电源连接器等。随着用户具有比以前更多的电子设备选择并且需要连接那些设备,需要的是在单个连接器上支持多个功能的统一连接器。如果统一连接器可以自动配置、并且在独立于OS或I/O协议的平台上使用多模式连接器的功能,则是有益的。
为了实现OS可以与所连接的硬件进行通信的解决方案,每个所连接的硬件必须通过特定协议来传送到底层硬件。然而,这是非常不希望的,因为软件驱动器需要特定于OS,并且还要求将软件驱动器定制用于平台端口和设备实现。为了实现用于所有OS的共同解决方案,需要定义允许OS与不同类型硬件进行交互的通用的基于固件的接口。所述接口不应特定于OS进行开发,这将增加原始设备制造商(OEM)的负担,从而对新技术的准备上市时间产生负面影响。
如图1所概述,包括多模态接口的通信系统可以解决这些问题(以及其他问题)。在图1的通信系统100中,每个多模态接口106a-106d可以是可在同一接口或连接器上支持功率传输、定向性以及多种输入/输出(I/O)协议的多模态接口或连接器。所述多个协议可以被自动配置为在多模态接口上同时地或独立地运行,而无需用户干预。通信系统100可以包括一组数据结构、命令、通知、以及状态转变(软件和硬件),以用一个或多个多模态接口或连接器有效地配置和操作平台。通信系统100还可以将平台的容量传送到实现多模态接口的OS。I/O协议可以被配置用于在多模态接口上通过相同或不同的引脚进行操作。
本方法论能够以OS(例如,AndroidTM、iOSTM、LinuxTM、OSXTM、WindowsTM等)和I/O互连(例如,I2CTM、I2STM、PCIeTM等)不可知论的方法来定义,并且定义为用于与电子设备102中的多模态接口接口的数据结构。其结果是,硬件部件设计者、系统构建者和设备驱动器(软件)开发者可以开发具有彼此无缝交互操作的多模态接口的平台和设备。例如,PPM 124可以包括硬件和固件的组合以及向平台或电子设备上的所有多模态接口提供接口的任何供应商提供的OS支持软件。为了与PPM 124对接,不需要特定的接口(例如,PCIeTM、I2CTM等)。另外,OSPM 114与PPM 124之间的接口被定义为使得使用任何的上述互连或者上面没有提到的任何其他互连而可以容易地实现。
使用PPM 124和OSPM 114,通信系统100可以定义使底层硬件(例如,Type C硬件)抽象化的通用的基于固件的接口,从而在不知道或不理解其规范或复杂性的情况下允许OS访问硬件。OSPM 114是来自OS 108的使底层平台特定硬件抽象化的交互层,并且是与所述硬件一起执行实际物理事务的平台代理。与来自OS 108的硬件(例如,辅助设备104a-104d)的通信从OSPM 114开始,并且在到达硬件(例如,辅助设备104a)之前穿过LPM(例如,LPM126a)。
固件118可以是可以由OEM来实现的基于固件的设备策略管理器,而不管它们需要支持的OS或者平台或电子设备102上的特定端口和设备的数量。这允许OEM减少开发工作,并且允许新产品、设备、以及特征的上市时间加速。固件118和PPM 124可以使来自OS 108的底层硬件抽象化以与LPM 126a-126d交互。LPM 126a-126d与连接到多模态接口(例如,多模态接口106a-106d)的辅助设备(例如,辅助设备104a-104d)进行实际的命令级通信。
每个多模态接口106a-106d可以是具有分别与LPM 126a-126d交互的一些最小检测逻辑的接口或连接器。电子设备102可以通过所连接的LPM 126a-126d来理解、控制或与辅助设备104a-104d通信。每个LPM 126a-126d可以在物理上是SOC的一部分,或者可以分开地在由其他微控制器(例如,嵌入式控制器或集成传感器中枢)隐藏的平台上。因为PPM 124提供另一用于OS 108与每个辅助设备104a-104d之间的通信的抽象层,所以这允许变通方案和缺陷修复仅在没有上层变化(如OS层变化)的平台级上实现。
OSPM 114主要负责向固件118传送任何基于OS 108的对辅助设备104a-104d的请求或通信,反之亦然。固件118可以通过与PPM 124交互来使来自OS 108和OSPM 114的底层硬件抽象化。PPM 124是在不同的辅助设备104a-104d上维护所有(或几乎所有)平台和系统级信息的平台特定部件,并且与管理单独的多模态接口106a-106d的每个LPM 126a-126d直接通信。OSPM 114与固件118之间的通信机制可以与几乎任何特定PPM 124一起使用。固件118可以以多种方式(包括ACPI、SMM等)来实现,使得固件118可以使能与OSPM 114的运行时通信。
OSPM 114与PPM 124之间的通信可以通过邮箱122。邮箱122可以是存储器112中的共享缓冲器或电子设备102的存储器112中的某个其他位置。邮箱122可以是以基于用于辅助设备104a-104d的接口规范寄存器的格式定义的共享存储器通用数据结构,其描述了对辅助设备104a-104d的访问的寄存器和模式。在具体示例中,邮箱122可以是以基于USBType C软件接口规范寄存器的格式定义的共享存储器,其描述了对Type C硬件的访问的寄存器和模式。
为了避免来自OS 108和辅助设备(例如,辅助设备104a-104d之一)的两个连续命令之间的可能的竞争状况,当OS 108与辅助设备之间的通信是双向通信时,邮箱122可以被划分成两个区域,每个区域仅可访问固件118或OSPM 114。例如,邮箱122可以被划分为命令和响应区。在示例中,OSPM 114可以将来自OS 108的请求或命令写入邮箱122的OSPM 114部分中的辅助设备。PPM 124可以读取邮箱122以从OSPM 114接收所述请求或命令。在存在从辅助设备到OSPM 114的通信警报的情况下,PPM 124可以更新邮箱122并且警告OSPM 114,所述OSPM然后读取邮箱122以处理导致警报的原因。
系统主机控制器120可以是在客户端系统中使用的嵌入式控制器(EC)、在服务器系统中使用的基板管理(BM)控制器、在平板电脑系统中使用的I2CTM控制器、可用于长期可能的解决方案的集成传感器中枢(ISH)、或有助于到达和来自PPM 124通信的一些其他类似系统。固件118可以建立与PPM 124的类型无关的通信信道的操作区域116。例如,当从OSPM114检测到请求时,固件118可以用所述请求更新操作区域116并且警告PPM 124。在一个示例中,操作区域116可以帮助促进对诸如邮箱122的共享区的访问。更具体地,操作区域116可以定义共享区域在电子设备102中所处的位置,使得固件118可以使用由操作区域116提供的访问信息来更新或检索共享区中的数据。在说明性示例中,PPM 124可以检索请求(例如,来自OS 108的请求或通信)、处理请求、并且使用LPM(例如,LPM 126a)和连接到辅助设备(例如,辅助设备104a)的多模态接口(例如,多模态接口106a)将请求传送到所述辅助设备。类似地,来自辅助设备的任何请求或通信可以通过多模态接口(例如,多模态接口106a)和LPM(例如,LPM 126a)并且被PPM 124接收。PPM 124可以用该请求或通信来更新邮箱122,并且OSPM 114可被通知该更新。OSPM 114可以使用固件118检索请求或通信,所述固件进而使用操作区域116和邮箱122与PPM 124进行通信。在示例中,来自辅助设备(或接口或LPM)的任何请求或通信首先在固件118将其写入邮箱122并被OSPM 114读取之前由PPM 124在操作区域116中进而更新。
在特定示例中,当OSPM 114处于空闲状态时,OSPM 114可以等待来自OS 108、PPM124或某一其他元件的通知或请求。从空闲状态,OSPM 114可以发送命令并且进入等待命令完成状态。例如,OSPM 114可以向PPM 124发送连接器状态更新命令并且等待来自PPM 124的响应。如果命令是复位PPM命令,则所述命令可以产生OSPM 114禁用的通知,并且PPM 124可以发送复位指示符以指示接收到复位指令。
在处于等待命令完成状态时,如果PPM 124以忙指示符响应,则OSPM 114可以延迟命令的完成并且返回到等待命令完成状态。如果PPM 124以忙指示符响应并且OSPM 114确定需要取消命令,则OSPM 114可以进入取消当前命令中间状态、发送取消命令消息、并且返回到等待命令完成状态。
而且,从空闲状态,OSPM 114可以等待通知,在这种情况下,OPSM 114保持在空闲状态。如果设定了连接器改变未决指示,则OSPM 114可以进入OPM过程连接器改变中间状态。从OPM过程连接器改变中间状态,OSPM 114可以发送相关命令并且进入OPM等待命令完成状态或者确认连接器改变、发送确认命令、并且进入等待确认命令指示符状态。在PPM124发送确认命令指示符以指示连接器改变完成之后,PPM 124可以从OPM等待确认命令指示符状态移动到空闲状态。
使用通信系统100,OS供应商可以与支持多模态接口或连接器(如多模态接口106a-106d)的系统正确地交互操作。这可以允许OS供应商和运营硬件供应商(OHV)开发可无缝交互操作的软件和硬件。这还可以使原始设备制造商(OEM)或OHV能够向用户交付产品,并且生产可与各种OS、所附接第三方外围设备无缝工作的OS不可知的标准化硬件,甚至提高产品彼此通信的能力。
转到图1的基础设施,示出了根据示例实施例的通信系统100。如本文使用的术语“命令”和“通信”是指数据的传送。如在此所使用的,术语“数据”是指任何类型的二进制、数字、语音、视频、文本或脚本数据,或任何类型的源或目标代码,或采用任何适当的格式的可从电子设备和/或网络中的一个点传送到另一个点的任何合适的信息。在示例实现方式中,电子设备102和辅助设备104a-104d是电子元件,其意在包括任何合适的促成其操作的硬件、软件、组件、模块或对象以及用于接收、传输和/或以其他方式通信数据或信息的适当的接口。这可包括允许数据或信息的有效交换的适当算法和通信协议。
对于与通信系统100相关联的内部结构,电子设备102和辅助设备104a-104d中的每一个都可以包括用于存储将在本文中概述的操作中使用的信息的存储器元件。电子设备102和辅助设备104a-104d中的每一个可以将信息维护在任何合适的存储器元件(例如,随机存取存储器(RAM)、只读存储器(ROM)、可擦可编程ROM(EPROM)、电可擦可编程ROM(EEPROM)、专用集成电路(ASIC)等等)、软件、硬件、固件或当合适时并且基于特定需要维护在任何其他合适的组件、设备、元件或对象中。此处所讨论的存储器项目中的任何一个都应该解释为包含在广义的术语‘存储器元件’内。而且,可在任何数据库、寄存器、队列、表、高速缓存、控制列表或其他存储结构中提供在通信系统100中使用、跟踪、发送或接收的信息,可在任何合适的时间帧引用所有这些。任何这种存储选项也可包括在如在此所使用的广义术语‘存储器元件’中。
在某些示例实现方式中,在此列出的功能可由在一个或多个有形介质(例如,在ASIC中提供的嵌入式逻辑、数字信号处理器(DSP)指令、有待由处理器或其他类似的机器执行的软件(可能包括对象代码和源代码)等等)中编码的逻辑实现,这种有形介质可包括非瞬态计算机可读介质。在这些实例的一些中,存储器元件可以存储用于如本文中描述的操作的数据。这包括存储器元件能够存储被执行以便实现在此描述的活动的软件、逻辑、代码或处理器指令。
在示例实现方式中,电子设备102和辅助设备104a-104d可以包括用于实现或促进如本文所概述的操作的软件模块。这些模块可以任何适当的方式进行合适地组合,其可基于特定的配置和/或供应需要。在示例实施例中,此类操作可以由硬件执行,所述在这些元件外部实现或被包括在某个其他网络设备中以实现预期功能。此外,这些模块可被实现为软件、硬件、固件或其任何合适的组合。这些元件还可包括可与其他网络元件协调以便实现在此列出的操作的软件(或往复式软件)。
此外,电子设备102和辅助设备104a-104d中的每一个可以包括可以执行软件或算法以执行本文中讨论的活动的处理器。处理器可执行与数据相关联的任何类型的指令以实现本文中详述的操作。在一个示例中,处理器能够将要素或物品(例如,数据)从一种状态或事物变换成另一状态或事物。在另一个示例中,在此列出的活动可用固定逻辑或可编程逻辑(例如,由处理器执行的软件/计算机指令)实现,并且在此标识的元件可以是某种类型的可编程处理器、可编程数字逻辑(例如,现场可编程门阵列(FPGA)、EPROM或EEPROM)或可包括数字逻辑、软件、代码、电子指令或其任何合适的组合的ASIC。在此描述的任何可能的处理元件、模块和机器应当被解释为包含在广义术语‘处理器’中。
电子设备102可以是电子元件,并且包括例如,台式计算机、膝上型计算机、移动设备、个人数字助理、智能电话、平板或其他类似设备。辅助设备104a-104d可以是辅助硬件,例如与电子设备102进行通信的外围设备。如本文所使用的术语“外围设备”一般被定义为以某种方式连接到电气设备(如计算机)并与其一起工作的任何辅助设备,例如通用串行总线(USB)闪存驱动器、计算机鼠标、键盘、扬声器、麦克风等。一个或多个辅助设备104a-104d可以是相同类型的设备,或者每个辅助设备104a-104d可以是不同的设备。
转到图2,图2是示例流程图,展示了可能与根据实施例的多模态接口相关联的流200的可能操作。在实施例中,流程200的一个或多个操作可以由OSPM 114、PPM 124、以及LPM 126a-126d中的一个或多个来执行。在202处,将数据传送到共享存储器。例如,OS策略管理器114可以将数据传送到邮箱122。在另一示例中,数据可以被传送到以硬件实现的寄存器接口,在所述寄存器接口中可以使用数据写入操作来触发其他操作。在204处,将数据处于共享存储器中的消息传送到接口。例如,OS策略管理器114可以将数据处于邮箱122中的消息传送到固件118。在206处,接口读取数据并且将一条或多条指令传送到平台策略管理器,其中,所述一条或多条指令与所述数据相关。例如,固件118可以读取邮箱122中的数据,并且可以将与所述数据相关的一条或多条指令传送到PPM 124。在208处,平台策略管理器接收并解释所述指令,并且基于所述指令将一个或多个命令传送到本地策略管理器。例如,PPM 124可以解释所述指令并且将一条或多条指令或命令传送到LPM 126a。在210处,本地策略管理器将数据传送到辅助设备。例如,LPM 126a可以使用接口128a和多模态接口106a将数据传送到辅助设备104a。
转到图3,图3是示例流程图,展示了可能与根据实施例的多模态接口相关联的流300的可能操作。在实施例中,流程300的一个或多个操作可以由OSPM 114、PPM 124、以及LPM 126a-126d中的一个或多个来执行。在302处,将与辅助设备相关的数据传送到平台策略管理器。例如,OSPM 114可以将数据传送到PPM 124。所述数据可以使用邮箱122和固件118来进行通信,或者可以使用一些其他装置与PPM 124进行通信。此外,数据可以与辅助设备104a相关,并且包括用于辅助设备104a的指令、查询、命令等。在304处,平台策略管理器将所述数据和/或相关数据传送到本地策略管理器。例如,数据可以从PPM 124传送到LPM126a。在306处,本地策略管理器将所述数据和/或相关数据传送到与辅助设备通信的接口。例如,数据可以通过LPM 126a和多模态接口106a传送到辅助设备104a中的接口128a。
转到图4A和图4B,图4A和图4B是示例时序流程图,展示了可能与根据实施例的多模态接口相关联的可能操作。所述时序流程图展示了从OSPM 114到LPM 126a的定期同步流程。LPM 126a可以与辅助设备104a进行通信。
在实施例中,OSPM 114可以将写入控制命令传送到邮箱122。OSPM 114还可以向固件118发送邮箱写入命令的通知。固件118可以读取邮箱122并且获取命令细节。固件118可以将命令细节传送到PPM 124。在示例中,使用操作区域116将命令细节传送到PPM 124。PPM124可以将命令传送到LPM 126a。LPM 126a可以执行所述命令并且将响应发送回PPM 124。例如,所述命令可以是对辅助设备104a的通信或查询。PPM 124可以将所述响应复制到固件118。在示例中,可以使用操作区域116将所述响应复制到固件118。固件118可以接收所述响应并且将所述响应复制到邮箱122。固件118还可以向OSPM 114通知响应处于邮箱122中,并且所述命令已经完成。OSPM 114可以向邮箱122写入命令完成确认,并且向固件118通知命令完成确认处于邮箱122中。对于命令完成确认,固件118可以读取邮箱122并且获取命令完成确认细节。固件118可以将命令完成确认细节传送到PPM 124。在示例中,固件118可以使用操作区域116将命令完成确认细节传送到PPM 124。PPM 124可以将命令完成确认传送到LPM 126a。LPM 126a可以处理所述命令完成确认并且将确认响应发送回PPM 124。PPM 124可以将所述确认响应复制到固件118。在示例中,PPM 124可以使用操作区域116将所述确认响应复制到固件118。固件118可以获得所述确认响应并且将所述确认响应复制到邮箱122。固件118还可以向OSPM 114通知所述确认响应处于邮箱122中。
转到图5,图5是示例流程图,展示了可能与根据实施例的多模态接口相关联的流500的可能操作。在实施例中,流程500的一个或多个操作可以由OSPM 114、PPM 124、以及LPM 126a-126d中的一个或多个来执行。在502处,辅助电子设备将数据通过接口传送到电子设备。例如,辅助设备104a可以使用接口128和多模态接口106a将数据传送到电子设备。在504处,与所述接口通信的本地策略管理器接收所述数据并且将所述数据和/或相关数据的至少一部分传送到平台策略管理器。例如,LPM 126a可以从多模态接口106a接收所述数据并且将所述数据传送到PPM 124。在506处,平台策略管理器将所述数据和/或相关数据的至少一部分传送到接口。例如,PPM 124可以将所述数据的至少一部分传送到固件118。在508处,接口将所述数据和/或相关数据的至少一部分存储在缓冲器中,并且将所述数据和/或相关数据已被存储在缓冲器中的消息传送到操作系统策略管理器。例如,固件118可以将所述数据和/或相关数据存储在邮箱122中,并且将所述数据和/或相关数据已经存储在邮箱122中的消息传送到OSPM 114。在510处,操作系统策略管理器访问缓冲器并且检索所述数据和/或相关数据。例如,OSPM 114可以检索邮箱122中的数据,并且将所述数据和/或相关数据传送到OS 188以供执行或处理。
转到图6,图6是示例流程图,展示了可能与根据实施例的多模态接口相关联的流600的可能操作。在实施例中,流程600的一个或多个操作可以由OSPM 114、PPM 124、以及LPM 126a-126d中的一个或多个来执行。在602处,与辅助电子设备通信的接口将数据传送到本地策略管理器。例如,多模态接口106a可以将数据传送到LPM 126a。所述数据可以已经从辅助设备104a通过接口128接收到,可以是接口128a与多模态接口106a或某些其他通信或事件断开连接的结果。在604处,本地策略管理器将所述数据和/或相关数据传送到平台策略管理器。在606处,平台策略管理器将所述数据和/或相关数据传送到操作系统策略管理器。例如,PPM 124可以将所述数据和/或相关数据直接传送到OSPM 114,可以使用固件118和邮箱122将所述数据和/或相关数据传送到OSPM 114,或者可以使用一些其他路径或手段将所述数据和/或相关数据传送到OSPM 114。
转到图7,图7是示例时序流程图,展示了可能与根据实施例的多模态接口相关联的可能操作。在实施例中,LPM 126a向PPM 124发送警报通知。PPM 124将警报复制到固件118。在示例中,PPM 124可以使用操作区域116将警报复制到固件118。固件118将警报复制到邮箱122,并且固件118向OSPM 114通知所述警报。OSPM 144读取邮箱122中的警报以获取信息,处理所述警报,并且将确认发送到邮箱122。OSPM 144还向固件118发送OSPM 144已经将数据放入邮箱122中的通知。固件118读取邮箱122以获取确认细节并且将所述确认细节传送到PPM 124。在示例中,固件118可以使用操作区域116将确认细节传送到PPM 124。PPM124将确认细节传送到LPM 126a,并且LPM 126a处理所述确认细节并向PPM 124提供响应。PPM 124将确认响应复制到固件118。在示例中,PPM 124可以使用操作区域116将所述确认响应复制到固件118。固件118将确认响应放入邮箱122。固件118向OSPM 144通知所述确认响应处于邮箱122中。
转到图8,图8是示例流程图,展示了可能与根据实施例的多模态接口相关联的流800的可能操作。在实施例中,流程800的一个或多个操作可以由OSPM 114、PPM 124、以及LPM 126a-126d中的一个或多个来执行。在802处,从设备发送命令。在804处,系统判定所述命令是否为复位命令。如果该命令是复位命令,则如在806中,所述设备接收到复位完成指示符。
如果命令不是复位命令,则如在808中,系统响应于所述命令而判定是否接收到忙指示符。如果响应于所述命令而没有接收到忙指示符,则如在810中,所述设备接收到命令完成通知。在812处,命令完成被确认。如果响应于命令而收到忙指示符,则如在814中,系统判定是否应取消所述命令。如果所述命令应被取消,则如在810中,发送取消命令消息。如果命令不应被取消,则如在816中,所述设备等待对所述命令的响应。在810处,接收命令完成通知,并且如在812中,命令完成被确认。
转到图9,图9是示例流程图,展示了可能与根据实施例的多模态接口相关联的流900的可能操作。在实施例中,流程900的一个或多个操作可以由OSPM 114、PPM 124、以及LPM 126a-126d中的一个或多个来执行。在902处,在设备处接收命令。在904处,系统判定所述命令是否为复位命令。如果该命令是复位命令,则如在906中,所述设备被复位。在908处,发送复位指示符。
如果该命令不是复位命令,则如在910中,系统判定所述设备是否忙。如果所述设备不忙,则如在922中,所述命令被完成,并且如在924中,发送完成命令通知。如果所述设备忙,则如在912中,系统判定所述命令是否是取消当前命令消息。如果所述命令是取消当前命令消息,则如在914中,取消当前命令,并且如在916中,发送取消命令确认。如果所述命令不是取消当前命令消息,则如在918中,发送忙指示符。在920处,系统判定所述设备是否忙。如果所述设备忙,则如在920中,系统再次检查以查看设备是否忙。如果所述设备不忙,则如在922中,所述命令被完成,并且如在924中,发送完成命令通知。
转到图10,图10是示例简化数据结构表1000,展示了可能与根据实施例的多模态接口相关联的可能细节,并且在图10的表1000中示出了用于在OSPM 114与PPM 124之间传递信息的存储器位置的结构的一个示例。在实施例中,数据结构表1000可以包括偏移列1002、名称列1004、存储器位置列1006、方向列1008、以及大小列1010。名称列1004可以包括数据结构的名称,例如版本1012、保留1014、连接器改变指示符(CCI)1016、控制1018、消息输入120、以及消息输出1022。
方向列1008可以包括使用每个存储器位置可以沿着的方向。例如,PPM->OPM指示PPM 124使用存储器位置将信息传递给OSPM 114。就OSPM 114而言,所述位置是只读(RO)。类似地,OPM->PPM指示OSPM 114使用存储器位置将信息传递到PPM 124。就PPM 124而言,所述位置是RO。名称列1004可以包括可在通信系统100中使用的示例数据结构的名称。
例如,版本1012可以包括版本数据结构。版本数据结构可以包括PPM 124所依从的二进制编码的十进制(BCD)版本。保留1014可以是存储器的保留区。CCI 1016可以包括CCI数据结构。CCI数据结构可以包括来自PPM 124对由OSPM 114发送给PPM的命令的响应、以及在多模态接口106a-106d上发生的异步状态改变通知。控制1018可以包括控制数据结构。控制数据结构可以指示待由PPM 124执行的命令。消息输入120可以包括消息输入数据结构。消息输入数据结构可以包括PPM 124想要发送到OSPM 114的数据。消息输出1022可以包括消息输出数据结构。消息输出数据结构可以包括待发送到PPM 124的数据。消息输入和消息输出数据结构的格式可以是特定于命令的。
此外,OSPM 114可以向PPM 124发送各种命令以配置和操作多模态接口106a-106d。在一个说明性示例中,可以使用命令PPM复位来使PPM 124复位。命令PPM复位可以在任何时间由OSPM 114发送到PPM 124。在接收到命令PPM复位后,PPM 124可以对与PPM 124通信的每个多模态接口106a-106d执行硬复位。可以使用取消命令来取消先前发送到PPM124的命令。可以使用连接器复位命令来使多模态接口106a-106d复位。可以使用确认命令完成和/或改变指示符来将OSPM 114接收并处理了命令完成和/或连接器改变指示符的确认结果传送到PPM 124。可以使用设定通知使能命令来设定异步事件列表,PPM 124可以向OSPM 114发送关于所述异步事件列表的通知。
可以使用获取能力命令来获取PPM 124的能力。获取连接器能力可以是用于获取多模态接口106a-106d的能力。可以使用设定操作模式来设定OSPM 114对于多模态接口106a-106d所需的操作模式。例如,设置操作模式可以用于将多模态接口106a设定到特定USB操作模式。
可以使用获取替代模式来确定辅助设备(例如,辅助设备104a)所支持的替代模式。可以使用获取连接器替代模式支持的命令来确定多模态接口106a-106d上所支持的或其所支持的替代模式列表。可以使用获取当前连接器替代模式命令来确定多模态接口(例如,多模态接口106a)正在以其操作的当前替代模式。可以使用设定新连接器替代模式命令来设定OSPM 114希望多模态接口(例如,多模态接口106a)以其操作的新替代模式。
可以使用获取电力输送对象(PDO)命令来获取与多模态接口(例如,多模态接口106a)相关联的信宿或源PDO。可以使用设定电力角色命令来设定多模态接口(例如,多模态接口106a)的电力传送方向(源或信宿)。可以使用获取电缆特性命令来获取附接到多模态接口(例如,多模态接口106a)的电缆或某一其他类型的通信或数据连接器的特性。可以使用获取连接器状态命令来获取多模态接口(例如,多模态接口106a)的当前状态(例如,电力角色、数据角色、所配置的替代模式等)。
在PPM 124初始化时,期望PPM 124在没有任何OS 108交互的情况下起作用。在完成内部初始化时,PPM 124可以处于PPM空闲(通知禁用)状态。PPM 124可以不向OSPM 114通知任何活动,直到OSPM 114经由设定通知使能命令启用一个或多个通知。在成功完成设定通知使能命令时,PPM 124可以转变到PPM空闲(通知启用)状态。在PPM空闲(通知禁用))状态下需要PPM 124处理的命令仅仅是设定通知使能命令和PPM复位命令。
在示例操作模型中,OSPM 114可以向PPM 124一次最多发送一个命令。一旦命令被发送,OSPM 114必须等待,直到PPM 124在发送下一个命令之前完成当前命令为止。如果命令完成通知被启用,则PPM 124可以在其完成命令时通知OSPM 114。所述一个命令规则的仅有例外是取消命令和PPM复位命令。任何时候,可以由OSPM 114发送PPM复位命令。仅当OSPM114想要取消OSPM 114先前已经接收到PPM忙响应的未完成命令时,应由OSPM 114发送取消命令。此外,PPM 124可以向OSPM 114一次仅发送一个通知。PPM 124可以等待,直到OSPM114在发送下一个通知之前确认所述通知(由于异步事件)。
在接收到不是取消命令或PPM重置命令的命令时,PPM 124可以执行所述命令,或者如果PPM 124忙或PPM 124将占用多于预定的时间(例如,10ms)来完成命令而在CCI数据结构中设定忙指示符。在执行命令时,PPM 124可以设定CCI数据结构,并且可选地更新状态和消息输入数据结构。如果由OSPM 114启用命令完成通知,则PPM 124可以向OSPM 114通知已完成命令。
在接收到取消命令时,如果PPM 124当前未处理命令,则PPM 124可以取消其正在执行的当前操作或者丢弃或忽略所述取消请求。如果PPM 124可以成功完成所述取消命令,则PPM可以将取消完成指示符设定为1来更新CCI数据结构。如果由OSPM 114启用命令完成通知,则PPM 124可以向OSPM 114通知已完成命令。
在接收PPM复位命令时,PPM 124可以禁用所有通知、复位自身并且在CCI数据结构中设定复位完成指示符,并且转变到PPM空闲(通知禁用)状态。OSPM 114可以轮询CCI数据结构中的复位完成指示符。当在一个或多个连接器上发生异步事件时,PPM 124可以更新CCI和状态数据结构,并且如果由OSPM 114启用对应通知则通知OSPM 114。一旦OSPM 114被通知命令完成和/或异步事件,OSPM 114可以读取CCI和任选的状态数据结构,并且通过确认命令完成和/或改变指示命令来确认所述通知。如果事件是异步事件,则OSPM 114可以发送其获取关于异步事件的细节所需要的任何其他命令。
图11展示了根据实施例的被安排为点对点(PtP)配置的计算系统1100。具体地,图11示出了一种系统,在所述系统中,处理器、存储器以及输入/输出设备通过许多点对点接口互连。一般而言,可以按与计算系统1100相同或类似的方式来配置通信系统100的网络元件中的一个或多个。
如图11所展示的,系统1100可以包括若干处理器,为清楚起见,仅示出了其中两个,即处理器1170和1180。虽然示出了两个处理器1170和1180,但是应当理解的是,系统1100的实施例还可以包括仅一个此类的处理器。处理器1170和1180各自可以包括一组核(即,处理器核1174A与1174B以及处理器核1184A与1184B)以执行程序的多个线程。所述核可以被配置用于以与以上参考图2-10讨论的方式类似的方式执行指令代码。每个处理器1170、1180可以包括至少一个共享高速缓存1171、1181。高速缓存1171、1181可以存储由处理器1170、1180的一个或多个部件(比如,处理器核1174和1184)利用的数据(例如,指令)。
处理器1170和1180可以各自包括用于与存储器元件1132和1134进行通信的集成存储器控制器逻辑(MC)1172和1182。存储器元件1132和/或1134可以存储由处理器1170和1180使用的各种数据。在替代实施例中,存储器控制器逻辑1172和1182可以是与处理器1170和1180分开的分立逻辑。
处理器1170和1180可以是任何类型的处理器,并且可以分别使用点对点(PtP)接口电路1178和1188经由点对点(PtP)接口1150来交换数据。处理器1170和1180中可以各自使用点对点接口电路1176、1186、1194和1198经由单独的点对点接口1152和1154来与控制逻辑1190交换数据。控制逻辑1190还可以使用接口电路1192(其可以是PtP接口电路)经由高性能图形接口1139与高性能图形电路1138交换数据。在替代性实施例中,图11所展示的任何或所有PtP链路可以被实现为多站式总线而非有PtP链路。
控制逻辑1190可以经由接口电路1196与总线1120进行通信。总线1120可以具有与其通信的一个或多个设备,诸如总线桥接器1118和I/O设备1116。通过总线1110,总线桥接器1118可以与其他设备进行通信,如键盘/鼠标1112(或其他输入设备,如触摸屏、轨迹球等)、通信设备1126(如调制解调器、网络接口设备、或可通过计算机网络1160通信的其他类型的通信设备)、音频I/O设备1114、和/或数据存储设备1128。数据存储设备1128可以存储代码1130,所述代码可以由处理器1170和/或1180执行。在替代实施例中,总线架构的任何部分用一个或多个PtP链路实现。
图11中描绘的计算机系统是可用于实现在此讨论的各种实施例的计算系统的实施例的示意图。应当明白,图11中描绘的各种组件可以在片上系统(SoC)架构中或以任何其他合适的配置来组合。例如,本文中公开的各实施例可以被合并到包括移动设备的系统中,所述移动设备诸如,智能蜂窝式电话、平板计算机、个人数字助理、便携式游戏设备,等等。可以理解的是,在至少一些实施例中,这些移动设备可以设置有SoC架构。
转到图12,图12是与本公开的示例性ARM生态系统SOC 1200相关联的简化框图。本公开的至少一个示例实现可以包括本文中讨论的多模态接口特征和ARM组件。例如,图12的示例能够与任何ARM核(例如,A-9,A-15等)相关联。此外,架构可以是任何类型的平板计算机、智能手机(包括AndroidTM手机、i-PhonesTM)、i-PadTM、GoogleNexusTM、MicrosoftSurfaceTM、个人计算机、服务器、视频处理部件、膝上型计算机(包括任何类型的笔记本计算机)、UltrabookTM系统、任何类型的触控式输入设备等中的部分。
在图12的此示例中,ARM生态系统SOC 1200可包括多个核1206-1207、L2高速缓存控制1208、总线接口单元1209、L2高速缓存1210、图形处理单元(GPU)1215、互连1202、视频编解码器1220及可与耦合到液晶显示器(LCD)的移动行业处理器接口(MIPI)/高清晰多媒体接口(HDMI)链路相关联的LCD I/F 1225。
ARM生态系统SOC 1200还可以包括订户身份模块(SIM)I/F 1230、引导只读存储器(ROM)1235、同步动态随机存取存储器(SDRAM)控制器1240、闪存控制器1245、串行外围接口(SPI)主控器1250、合适的功率控件1255、动态RAM(DRAM)1260以及闪存1265。另外,一个或更多个实施例包括一个或更多个通信能力、接口和特征,如BluetoothTM 1270的实例、3G调制解调器1275、全球定位系统(GPS)1280及802.11Wi-Fi 1285。
在操作中,图12的示例能够提供处理能力及相对低的功耗以允许各种类型的计算(例如,移动计算、高端数字家庭、服务器、无线基础设施等)。此外,这种构架可以使能许多软件应用(例如,AndroidTM、AdobeTM FlashTM播放器、Java平台标准版本(JavaSE)、JavaFX、Linux、嵌入式微软Windows、Symbian和Ubuntu等)。在至少一个实施例中,核处理器可实现带有耦合低等待时间的2级高速缓存的失序超标量流水线。
图13展示了根据实施例的处理器核1300。处理器核13可以是用于任何类型的处理器的核,诸如微处理器、嵌入式处理器、数字信号处理器(DSP)、网络处理器或用于执行代码的其他设备。尽管在图13中仅示出了一个处理器核1300,但是处理元件可以可替代地包括多个如图13中所示的处理器核1300。例如,处理器核1300表示参考图11的处理器1170和1180示出并描述的处理器核1174a、1174b、1184a和1184b的实施例。处理器核1300可以是单线程核,或者对于至少一个实施例,处理器核1300可以是多线程的,因为所述处理器核可以每个核包括多个硬件线程上下文(或“逻辑处理器”)。
图13还展示了根据实施例的耦合到处理器核1300的存储器1302。存储器1302可以是如本领域技术人员已知的或以其他方式可获得的多种多样的存储器(包括存储器层级的不同层)中的任何存储器。存储器1302可以包括将由处理器核1300执行的代码1304,此代码1304可以是一条或多条指令。处理器核1300可以遵循由代码1304指示的指令的程序序列。每个指令进入前端部分1306并且由一个或多个解码器1308进行处理。所述解码器可以生成诸如预定格式的固定宽度微操作的微操作作为其输出,或者可以生成反映原始代码指令的其他指令、微指令或控制信号。前端逻辑1306还包括寄存器重命名逻辑1310和调度逻辑1312,其通常分配资源并且对与用于执行的指令相对应的操作进行排队。
处理器核1300还可以包括执行逻辑1314,此执行逻辑具有一组执行单元1316-1到1316-N。一些实施例可以包括专用于特定功能或功能组的若干个执行单元。其他实施例可以仅包括一个执行单元或一个可执行特定功能的执行单元。执行逻辑1314执行由代码指令指定的操作。
在代码指令指定的操作执行完成之后,后端逻辑1318可引退代码1304的指令。在一个实施例中,处理器核1300允许无序执行,但要求指令的有序引退。引退逻辑1320可采取各种已知的形式(例如,重排序缓冲器等等)。以此方式,至少在由解码器生成的输出、由寄存器重命名逻辑1310利用的硬件寄存器和表以及由执行逻辑1314修改的任何寄存器(未示出)方面,在代码1304的执行期间可以转换处理器核1300。
尽管在图13中未阐释,但处理器可以在处理器核1300的芯片上包括其他元件,在本文中参考图11示出并描述了所述其他元件中的至少一些。例如,如图11中所示,处理器可以包括连同处理器核1300一起的存储器控制逻辑。处理器可以包括I/O控制逻辑和/或可以包括与存储器控制逻辑集成的I/O控制逻辑。
注意,通过在此提供的示例,可针对两个、三个或更多个网络元件描述交互。然而,这只是为了清楚起见,并且只作为示例。在某些情况下,可能更容易的是仅通过引用有限数量的网络元件描述给定流集合的功能中的一个或多个。应当认识到通信系统100及其教导是容易可扩展的并且可容纳大量的组件以及更复杂/精细的安排和配置。因此,所提供的示例不应当限制范围或抑制通信系统100的广泛教导,因为其可能应用于非常大量的其他架构。
重要的是还应当注意,前述流程图(即,图2、图3、图5、图6、图8和图9)中的操作阐释可以由通信系统100执行或可在通信系统100内执行的可能的相关场景和模式中的仅一些。这些操作中的某些可以在合适的情况下移除,或者可以在不偏离本发明的范围的情况下,显著地修改或改变这些操作。此外,这些操作中的一些已经描述成与一个或多个额外操作同时或并行执行。然而,这些操作的时间安排可以被显著改变。为了示例和讨论起见,已经提供了前述操作流程。通信系统100提供了大量的灵活性,因为可提供任何合适的安排、时序、配置和定时机制而不背离本公开的教导。
虽然结合特定布置和配置详细描述了本公开,但这些示例性配置和布置可以进行显著变化,而不背离本公开的范围。而且,可基于特定需要和实现方式组合、分离、清除或添加某些组件。此外,尽管已经参照促成通信过程的特定元件和操作示出了通信系统内100,这些元件和操作可由实现通信系统100的预期功能的任何合适的架构、协议和/或过程替代。
对本领域技术人员来说可以确定许多其它的改变、替代、变化、变换和修改并且意图是本公开包括属于所附的权利要求的范围的所有这样的改变、替代、变化、变换和修改。为了帮助美国专利和商标局(USPTO)以及此外在本申请上发布的任何专利的任何读者解释本文所附权利要求,申请人希望注意,申请人:(a)不旨在任何所附权利要求由于其在本文提交日期存在而援引35 U.S.C.的112节的第六(6)段,除非词语“用于......的装置”或“用于......的步骤”明确用于具体权利要求;以及(b)不旨在通过说明书中的任何陈述来以未在所附权利要求书中以其他方式反映的任何方式来限制本公开。
其他注释和示例
示例M1是一种方法,所述方法包括:从电子设备中的操作系统接收数据;以及将所述数据和/或相关数据传送到本地策略管理器。所述本地策略管理器可以与多模态接口进行通信,并且所述数据可以与硬件相关,所述硬件通过多模态接口与所述电子设备进行通信。
在示例M2中,如示例M1所述的主题可以可选地包括:其中,所述多模态接口被配置用于在同一接口上支持功率传输、定向性以及多种输入/输出(I/O)协议。
在示例M3中,如示例M1和M2中任一项所述的主题可以可选地:其中,所述所接收数据在其被接收之前通过固件传递。
在示例M4中,如示例M1至M3中任一项所述的主题可以可选地:其中,所述所接收数据在其被接收之前由所述固件写入到操作区域。
在示例M5中,如示例M1至M4中任一项所述的主题可以可选地:其中,所述所接收数据在其被接收之前被存储在共享存储器中。
在示例M6中,如示例M1至M5中任一项所述的主题可以可选地包括:从所述本地策略管理器接收响应数据;以及将所述响应数据和/或相关响应数据传送到共享存储器,其中,所述响应数据与所述硬件相关。
在示例M7中,如示例M1至M6中任一项所述的主题可以可选地包括:其中,所述数据在平台策略管理器处被接收,并且所述平台策略管理器与多个本地策略平台管理器进行通信,其中,所述多个本地策略平台管理器中的每一个与不同类型的硬件进行通信。
在示例A1中,一种用于与多模态接口进行通信的装置可以包括平台策略管理器,所述平台策略管理器被配置用于:从电子设备的操作系统接收数据,其中,所述数据与硬件相关,所述硬件通过多模态接口与所述电子设备进行通信;并且将所述数据和/或相关数据传送到本地策略管理器,其中,所述本地策略平台管理器与所述多模态接口进行通信。
在示例A2中,如示例A1所述的主题可以可选地包括:其中,所述多模态接口被配置用于在同一接口上支持功率传输、定向性以及多种输入/输出(I/O)协议。
在示例A3中,如示例A1和A2中任一项所述的主题可以可选地包括:其中,所述所接收数据通过固件传递。
在示例A4中,如示例A1至A3中任一项所述的主题可以可选地包括:其中,所述所接收数据在其被接收之前由所述固件写入到操作区域。
在示例A5中,如示例A1至A4中任一项所述的主题可以可选地包括:其中,所述所接收数据在其被接收之前被存储在共享存储器中。
在示例A6中,如示例A1至A5中任一项所述的主题可以可选地包括:其中,所述平台策略管理器可以被进一步配置用于从所述本地策略管理器接收响应数据以及将所述响应数据和/或相关响应数据传送到共享存储器,其中,所述响应数据与所述硬件相关。
示例C1是至少一种机器可读介质,具有一条或多条指令,所述指令当由至少一个处理器执行时使所述至少一种机器可读介质:从电子设备的操作系统接收数据,其中,所述数据与硬件相关,所述硬件通过多模态接口与所述电子设备进行通信;并且将所述数据和/或相关数据传送到本地策略管理器,其中,所述本地策略管理器与所述多模态接口进行通信。
在示例C2中,如示例C1所述的主题可以可选地包括:其中,所述多模态接口被配置用于在同一接口上支持功率传输、定向性以及多种输入/输出(I/O)协议。
在示例C3中,如示例C1和C2中任一项所述的主题可以可选地包括:其中,所述所接收数据通过固件传递。
在示例C4中,如示例C1至C3中任一项所述的主题可以可选地包括:其中,所述所接收数据在其被接收之前由所述固件写入到操作区域。
在示例C5中,如示例C1至C4中任一项所述的主题可以可选地包括:其中,所述所接收数据在其被接收之前被存储在共享存储器中。
在示例C6中,如示例C1至C5中任一项所述的主题可以可选地包括进一步包括一条或多条指令,所述指令当由至少一个处理器执行时使所述机器可读介质:从所述本地策略平台接收响应数据并且将所述响应数据和/或相关响应数据传送到共享存储器,其中,所述响应数据与所述硬件相关。
示例S1是一种用于与不同类型的硬件进行通信的多模态接口系统,所述系统包括平台策略管理器,所述平台策略管理器被配置用于:从电子设备的操作系统接收数据,其中,所述数据与硬件相关,所述硬件通过多模态接口与所述电子设备进行通信;并且将所述数据和/或相关数据传送到本地策略管理器,其中,所述本地策略管理器与所述多模态接口进行通信。
在示例S2中,如示例S1所述的主题可以可选地包括:其中,所述多模态接口被配置用于在同一接口上支持功率传输、定向性以及多种输入/输出(I/O)协议。
在示例S3中,如示例S1和S2中任一项所述的主题可以可选地包括:其中,所述所接收数据通过固件传递。
在示例S4中,如示例S1至S3中任一项所述的主题可以可选地:其中,所述所接收数据在其被接收之前由所述固件写入到操作区域。
在示例S5中,如示例S1至S4中任一项所述的主题可以可选地:其中,所述所接收数据在其被接收之前被存储在共享存储器中。
示例X1是一种机器可读存储介质,包括用于实施或实现如示例A1-A6或M1-M7中任一项所述的方法或装置的机器可读指令。示例Y1是一种设备,包括用于执行示例方法M1-M7中任一项的装置。在示例Y2中,如示例Y1所述的主题可以可选地包括:用于执行所述方法的所述装置包括处理器和存储器。在示例Y3中,如示例Y2的主题可以任选地包括:所述存储器包括机器可读指令。
Claims (15)
1.一种用于通过多模态接口进行通信的方法,包括:
从电子设备中的操作系统、在所述电子设备的共享存储器处接收数据,其中,所接收的数据与硬件相关联,所述硬件通过所述多模态接口与所述电子设备进行通信,其中,由固件从所述操作系统对所述硬件抽象化;
将所述数据处于所述共享存储器中的消息传送到所述固件;
由所述固件从所述共享存储器读取所述数据;
由所述固件将所述数据和/或与所述数据相关的指令传送到平台策略管理器,其中,所接收的数据在所述数据被所述平台策略管理器接收之前穿过所述固件并由所述固件写入到操作区域,其中,所述平台策略管理器与多个本地策略管理器进行通信,其中,所述多个本地策略管理器中的每个本地策略管理器管理单独的多模态接口并且与不同类型的硬件进行通信;以及
由所述平台策略管理器将所述数据和/或与所述数据相关的一条或多条命令传送到特定的本地策略管理器,其中,所述特定的本地策略管理器与同所述硬件进行通信的所述多模态接口进行通信,其中,所述特定的本地策略管理器执行与所述硬件的命令级通信,其中,所述共享存储器具有基于同所述多模态接口的类型相关联的规范的数据结构。
2.如权利要求1所述的方法,其中,所述多模态接口被配置用于在同一接口上支持功率传输、定向性以及多种输入/输出(I/O)协议。
3.如权利要求1所述的方法,其中,所述数据处于所述共享存储器中的消息在所接收的数据被存储在所述共享存储器之后被传送至接口。
4.如权利要求1至2中任一项所述的方法,进一步包括:
从所述本地策略管理器接收响应数据,其中,所述响应数据与所述硬件相关;以及
将所述响应数据和/或相关响应数据传送到共享存储器。
5.如权利要求1至2中任一项所述的方法,其中,所述操作系统与所述硬件之间的通信是双向通信并且所述共享存储器被分区为两个区域。
6.一种用于与多模态接口进行通信的装置,所述装置包括:
一个或多个处理器;
操作系统;
共享存储器,其中,所述操作系统将与硬件相关的数据存储在所述共享存储器中,并将与所述硬件相关的所述数据处于所述共享存储器中的消息传送给固件,其中,所述硬件通过多模态接口与所述操作系统进行通信;
所述固件,其中,所述固件从所述操作系统对所述硬件进行抽象化并从所述共享存储器读取所述数据;以及
平台策略管理器,其中,所述平台策略管理器被配置用于:
从所述固件接收所述数据和/或关于所述数据的指令,其中,所接收的数据在所述数据被所述平台策略管理器接收之前穿过所述固件并由所述固件写入到操作区域,其中,所述平台策略管理器与多个本地策略管理器进行通信,其中,所述多个本地策略管理器中的每个本地策略管理器管理单独的多模态接口并且与不同类型的硬件进行通信;以及
将所述数据和/或与所述数据相关的一条或多条命令传送到特定的本地策略管理器,其中,所述特定的本地策略管理器与同所述硬件进行通信的所述多模态接口进行通信,其中,所述特定的本地策略管理器执行与所述硬件的命令级通信,其中,所述共享存储器具有基于同所述多模态接口的类型相关联的规范的数据结构。
7.如权利要求6所述的装置,其中,所述多模态接口被配置用于在同一接口上支持功率传输、定向性以及多种输入/输出(I/O)协议。
8.如权利要求6至7中任一项所述的装置,其中,所述平台策略管理器能被进一步配置用于:
从所述本地策略管理器接收响应数据,其中,所述响应数据与所述硬件相关;以及
将所述响应数据和/或相关响应数据传送到共享存储器。
9.一种用于通过多模态接口进行通信的系统,包括:
用于从电子设备中的操作系统、在所述电子设备的共享存储器处接收数据的装置,其中,所接收的数据与硬件相关,所述硬件通过所述多模态接口与所述电子设备进行通信,其中,由固件从所述操作系统对所述硬件抽象化;
用于将所述数据处于所述共享存储器中的消息传送到所述固件的装置;
用于由所述固件从所述共享存储器读取所述数据的装置;
用于由所述固件将所述数据和/或与所述数据相关的指令传送到平台策略管理器的装置,其中,所接收的数据在所述数据被所述平台策略管理器接收之前穿过所述固件并由所述固件写入到操作区域,其中,所述平台策略管理器与多个本地策略管理器进行通信,其中,所述多个本地策略管理器中的每个本地策略管理器管理单独的多模态接口并且与不同类型的硬件进行通信;以及
用于由所述平台策略管理器将所述数据和/或与所述数据相关的一条或多条命令传送到特定的本地策略管理器的装置,其中,所述特定的本地策略管理器与同所述硬件进行通信的所述多模态接口进行通信,其中,所述特定的本地策略管理器执行与所述硬件的命令级通信,其中,所述共享存储器具有基于同所述多模态接口的类型相关联的规范的数据结构。
10.如权利要求9所述的系统,其中,所述多模态接口被配置用于在同一接口上支持功率传输、定向性以及多种输入/输出(I/O)协议。
11.如权利要求9至10中任一项所述的系统,进一步包括:
用于从所述本地策略管理器接收响应数据的装置,其中,所述响应数据与所述硬件相关;以及
用于将所述响应数据和/或相关响应数据传送到共享存储器的装置。
12.一种用于与不同类型的硬件进行通信的多模态接口系统,所述系统包括:
操作系统;
共享存储器,其中,所述操作系统将与硬件相关的数据存储在所述共享存储器中,并将与所述硬件相关的所述数据处于所述共享存储器中的消息传送给固件,其中,所述硬件通过多模态接口与所述操作系统进行通信;
所述固件,其中,所述固件从所述操作系统对所述硬件进行抽象化并从所述共享存储器读取所述数据;以及
平台策略管理器,其中,所述平台策略管理器被配置用于:
从所述固件接收所述数据和/或关于所述数据的指令,其中,所接收的数据在所述数据被所述平台策略管理器接收之前穿过所述固件并由所述固件写入到操作区域,其中,所述平台策略管理器与多个本地策略管理器进行通信,其中,所述多个本地策略管理器中的每个本地策略管理器管理单独的多模态接口并且与不同类型的硬件进行通信;以及
将所述数据和/或与所述数据相关的一条或多条命令传送到特定的本地策略管理器,其中,所述特定的本地策略管理器与同所述硬件进行通信的所述多模态接口进行通信,其中,所述特定的本地策略管理器执行与所述硬件的命令级通信,其中,所述共享存储器具有基于同所述多模态接口的类型相关联的规范的数据结构。
13.如权利要求12所述的多模态接口系统,其中,所述多模态接口被配置用于在同一接口上支持功率传输、定向性以及多种输入/输出(I/O)协议。
14.如权利要求12至13中任一项所述的多模态接口系统,其中,所述平台策略管理器可以被进一步配置用于:
从所述本地策略管理器接收响应数据,其中,所述响应数据与所述硬件相关;以及
将所述响应数据和/或相关响应数据传送到共享存储器。
15.一种计算机可读存储介质,包括一条或多条指令,所述指令在由至少一个处理器执行时使得所述计算机可读存储介质执行如权利要求1-5中任一项所述的方法。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
IN2004CH2015 | 2015-04-18 | ||
IN2004/CHE/2015 | 2015-04-18 | ||
PCT/US2016/023342 WO2016171822A1 (en) | 2015-04-18 | 2016-03-21 | Multimodal interface |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107430563A CN107430563A (zh) | 2017-12-01 |
CN107430563B true CN107430563B (zh) | 2021-10-29 |
Family
ID=57144170
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201680016987.3A Active CN107430563B (zh) | 2015-04-18 | 2016-03-21 | 多模态接口 |
Country Status (6)
Country | Link |
---|---|
US (1) | US10642665B2 (zh) |
EP (1) | EP3286655A4 (zh) |
JP (1) | JP6757489B2 (zh) |
KR (1) | KR102551076B1 (zh) |
CN (1) | CN107430563B (zh) |
WO (1) | WO2016171822A1 (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10705511B2 (en) * | 2018-07-11 | 2020-07-07 | Siemens Aktiengesellschaft | Abstraction layers for automation applications |
US12169634B2 (en) * | 2022-06-29 | 2024-12-17 | Western Digital Technologies, Inc. | Asynchronous operation completion notification |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8386823B2 (en) * | 2007-12-26 | 2013-02-26 | Intel Corporation | Method and apparatus for cost and power efficient, scalable operating system independent services |
Family Cites Families (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7203907B2 (en) * | 2002-02-07 | 2007-04-10 | Sap Aktiengesellschaft | Multi-modal synchronization |
US7852856B2 (en) * | 2003-08-29 | 2010-12-14 | Broadcom Corp. | System and method for providing pooling or dynamic allocation of connection context data |
US20070067539A1 (en) * | 2005-09-12 | 2007-03-22 | Neil Morrow | Enhanced CCID circuits and systems utilizing USB and PCI functions |
US20080005380A1 (en) | 2006-02-21 | 2008-01-03 | Pacific Star Communications, Inc. | Integrated configuration and management of hardware devices |
EP1833006B1 (en) * | 2006-03-10 | 2014-01-08 | LG Electronics Inc. | Method and apparatus for protocol selection on ICC |
JP4279856B2 (ja) * | 2006-07-18 | 2009-06-17 | レノボ・シンガポール・プライベート・リミテッド | 情報の転送方法、およびコンピュータ |
US7925795B2 (en) * | 2007-04-30 | 2011-04-12 | Broadcom Corporation | Method and system for configuring a plurality of network interfaces that share a physical interface |
US8042122B2 (en) | 2007-06-27 | 2011-10-18 | Microsoft Corporation | Hybrid resource manager |
JP2009009330A (ja) * | 2007-06-27 | 2009-01-15 | Fujitsu Ltd | 情報処理装置、情報処理システム及び情報処理装置の制御方法 |
US8881020B2 (en) | 2008-06-24 | 2014-11-04 | Microsoft Corporation | Multi-modal communication through modal-specific interfaces |
US9483429B2 (en) * | 2008-07-14 | 2016-11-01 | Texas Instruments Incorporated | Unified input/output controller for integrated wireless devices |
US8151062B2 (en) * | 2008-10-26 | 2012-04-03 | Microsoft Corporation | Consistency models in a distributed store |
US8208396B2 (en) * | 2009-05-12 | 2012-06-26 | International Business Machines Corporation | Discovery and capability exchange management in a virtualized computing platform utilizing a SR-IOV adapter |
US20100299517A1 (en) * | 2009-05-22 | 2010-11-25 | Nuvon, Inc. | Network System with a Plurality of Networked Devices with Various Connection Protocols |
US8340120B2 (en) * | 2009-09-04 | 2012-12-25 | Brocade Communications Systems, Inc. | User selectable multiple protocol network interface device |
US9354897B2 (en) * | 2010-09-22 | 2016-05-31 | Nokia Technologies Oy | Dynamic configuration of an apparatus based upon policy and cost function considerations |
KR20120047577A (ko) * | 2010-11-04 | 2012-05-14 | 주식회사 케이티 | 대화형 행동모델을 이용한 로봇 인터랙션 서비스 제공 장치 및 방법 |
JP5718525B2 (ja) | 2011-08-15 | 2015-05-13 | エンパイア テクノロジー ディベロップメント エルエルシー | マルチモーダルコンピューティングデバイス |
TWI556092B (zh) * | 2011-09-30 | 2016-11-01 | 英特爾公司 | 用以減少電力消耗之基於優先順序的應用程式事件控制技術 |
US9293054B2 (en) | 2011-11-11 | 2016-03-22 | Aptima, Inc. | Systems and methods to react to environmental input |
CN104471553B (zh) | 2011-12-22 | 2017-12-08 | 英特尔公司 | 用于共享地址装置的聚合的方法、装置和系统 |
US20140007115A1 (en) * | 2012-06-29 | 2014-01-02 | Ning Lu | Multi-modal behavior awareness for human natural command control |
EP3413205A1 (en) * | 2012-09-30 | 2018-12-12 | Cypress Semiconductor Corporation | Re-enumeration of usb 3.0 compatible devices |
KR101579715B1 (ko) * | 2013-04-10 | 2015-12-22 | 일루미오, 아이엔씨. | 로지컬 다차원 레이블기반 정책 모델을 이용한 분산 네트워크 관리 |
CN104182042B (zh) * | 2014-08-14 | 2017-07-11 | 华中科技大学 | 一种多模态信号的脑机接口方法 |
US9424048B2 (en) * | 2014-09-15 | 2016-08-23 | Microsoft Technology Licensing, Llc | Inductive peripheral retention device |
-
2016
- 2016-03-21 KR KR1020177026103A patent/KR102551076B1/ko active Active
- 2016-03-21 CN CN201680016987.3A patent/CN107430563B/zh active Active
- 2016-03-21 EP EP16783550.3A patent/EP3286655A4/en not_active Ceased
- 2016-03-21 JP JP2017541072A patent/JP6757489B2/ja active Active
- 2016-03-21 WO PCT/US2016/023342 patent/WO2016171822A1/en active Application Filing
- 2016-03-21 US US15/558,116 patent/US10642665B2/en active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8386823B2 (en) * | 2007-12-26 | 2013-02-26 | Intel Corporation | Method and apparatus for cost and power efficient, scalable operating system independent services |
Also Published As
Publication number | Publication date |
---|---|
JP6757489B2 (ja) | 2020-09-23 |
CN107430563A (zh) | 2017-12-01 |
EP3286655A1 (en) | 2018-02-28 |
EP3286655A4 (en) | 2018-12-12 |
JP2018513440A (ja) | 2018-05-24 |
US10642665B2 (en) | 2020-05-05 |
US20180046522A1 (en) | 2018-02-15 |
KR102551076B1 (ko) | 2023-07-03 |
WO2016171822A1 (en) | 2016-10-27 |
KR20170137064A (ko) | 2017-12-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6147840B2 (ja) | ルートポート及びRPIE(RootPortIntegratedEndpoint)のレジューム時間を向上させるための方法、装置及びシステム | |
JP6286551B2 (ja) | 処理要素構成のための装置、デバイス構成のための装置および方法、高速デバイス構成のための装置、プログラム、並びに、非一時的コンピュータ可読ストレージ媒体 | |
CN107003971B (zh) | 用于高性能互连中的嵌入式流通道的方法、装置、系统 | |
CN108027785B (zh) | 用于对链路拆分进行去偏斜的方法、设备和系统 | |
US10248568B2 (en) | Efficient data transfer between a processor core and an accelerator | |
CN107005231B (zh) | 用于在高性能互连中定中心的方法、设备、系统 | |
KR101775569B1 (ko) | 가상 재시도 큐 | |
CN114489306B (zh) | 遮蔽处理器的核的功率状态 | |
TW201734823A (zh) | 帶內重定時器暫存器的存取之技術 | |
US10331177B2 (en) | Hinge for an electronic device | |
CN104679582A (zh) | 对于显示设备的命令调度 | |
JP2009043256A (ja) | 記憶装置のアクセス方法及び装置 | |
CN115048326A (zh) | 用于管理总线通信协议的选择 | |
CN107567614B (zh) | 用于对根据关键度被分组的指令的缕程的执行的多核处理器 | |
CN107430563B (zh) | 多模态接口 | |
WO2021055153A1 (en) | Speculative execution of correlated memory access instruction methods, apparatuses and systems | |
US20150049101A1 (en) | Display adaptation system for mipi display serial interface applications | |
EP3855285A1 (en) | System, apparatus and method for latency monitoring and response | |
US7552269B2 (en) | Synchronizing a plurality of processors | |
US20140281276A1 (en) | Method, apparatus, and system for low latency communication | |
CN108228484B (zh) | 针对处理器中的高速缓存利用的无效读取 | |
EP3035202B1 (en) | Method and apparatus for write-only inter-processor reset synchronization |
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 |