CN104798056A - 将触摸处理卸载到图形处理器 - Google Patents
将触摸处理卸载到图形处理器 Download PDFInfo
- Publication number
- CN104798056A CN104798056A CN201380060912.1A CN201380060912A CN104798056A CN 104798056 A CN104798056 A CN 104798056A CN 201380060912 A CN201380060912 A CN 201380060912A CN 104798056 A CN104798056 A CN 104798056A
- Authority
- CN
- China
- Prior art keywords
- touch
- processor
- data
- touch data
- coupled
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/20—Processor architectures; Processor configuration, e.g. pipelining
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Controls And Circuits For Display Device (AREA)
Abstract
在一个实施例中,处理器包括其中包括图形引擎的图形域,每一个图形引擎都具有至少一个执行单元。图形域将从核域卸载的触摸应用调度到多个图形引擎中的至少一个。触摸应用将响应于对耦合到处理器的系统存储器中的门铃位置的更新,而执行,其中,响应于用户向触摸输入设备的输入,向门铃位置写入。描述并要求保护其他实施例。
Description
背景技术
随着越来越多的用户采用智能电话、平板电脑及其他启用触摸屏的设备,用户通过触摸板、触摸屏或其他人输入设备(HID)与计算设备的交互的重要性越来越大。通常,智能电话、平板电脑或其他设备的触摸输入设备通过传感器的阵列来实现,模拟电路耦合到该阵列,以确定用户触摸,并将此信息提供到触摸控制器,该触摸控制器通常使用单独的集成电路中的数字电路来实现。一般而言,此触摸控制器操作,以从连接到触摸阵列的一个或多个模拟电路接收输入,并确定触摸位置,过滤假触摸,并提供HID分组,以供输出到诸如主处理器之类的计算设备的其他电路。
触摸处理通常涉及分析来自触摸传感器阵列的电容或等效数据,然后,标识相似于指尖、手掌等等的数据点。一旦标识了这样的数据点的簇,就执行额外的处理,以计算触摸的特征,诸如位置坐标、手指的宽度/高度、压力等等。尽管嵌入式触摸控制器通常执行这些计算,由于计算复杂性随着触摸输入设备的进步而增大,由这样的控制器担负得起的相对基本的信号处理可能不足。
附图简述
图1是在根据本发明的一个实施例的架构中执行触摸处理涉及的全部组件的框图。
图2是根据本发明一实施例的系统的比较详细的框图。
图3是根据本发明的实施例的用于处理触摸数据的方法的流程图。
图4是根据本发明一实施例的处理器的图形域的框图。
图5是根据本发明的实施例的处理器的框图。
图6是根据本发明另一实施例的多域处理器的框图。
图7是根据本发明一实施例的系统的框图。
具体实施方式
在各实施例中,对于相关联的触摸输入设备的触摸处理可以在诸如智能电话、平板电脑、膝上型计算机、UltrabookTM或其他这样的设备之类的计算机系统的通用处理器中实现。如下文进一步描述的,在特定实施例中,触摸处理可以在多域处理器的图形域的一个或多个图形引擎内实现。如此,这样的图形处理器中固有的大规模的并行计算能力可用于加速触摸处理。此外,还可以避免对通用处理器的外面的单独的逻辑电路的复杂性、有效面积消耗和附加费用的需要。
现在参考图1,所示是在根据本发明的一个实施例的架构中执行触摸处理涉及的全部组件的框图。如在图1中进一步详细描述的,还描述了处理触摸事件的通信流。
可以是包括触摸输入设备的任何类型的计算设备的系统10,包括主处理器20,在一个实施例中,该主处理器20可以是多域处理器,多域处理器包括核域24和图形域26,核域24包括一个或多个处理器核,图形域26包括一个或多个图形引擎。接着,此处理器耦合到系统存储器30,在一个实施例中,该系统存储器30可以是动态随机存取存储器(DRAM)。正如将讨论的,可以分配存储器区域35,用于存储和执行此处所描述的触摸处理。接着,存储器30还可以进一步耦合到外围控制器中枢(PCH)40,该外围控制器中枢40在主处理器20和包括触摸传感器设备50的各种外围设备之间提供接口。
在此用于触摸处理的通信的逻辑流程中,系统存储器30被示为插入在主处理器20和PCH 30之间。然而,可以理解,在许多实现中,存储器30可以直接耦合到主处理器20,更具体而言,耦合到集成在主处理器内的存储器控制器。接着,PCH 40可以直接耦合到主处理器20,例如,通过主处理器的所谓的系统代理电路,该系统代理电路包括各种接口电路,以允许主处理器和PCH40之间的通信。
如图1进一步示出的,触摸处理序列从在PCH 40中从触摸传感器设备50接收到指出原始触摸数据的可用性的第一中断60开始。注意,此触摸传感器设备可以只利用模拟电路实现,以便在触摸传感器50中执行对原始触摸数据的最少的数字处理(虽然可以存在基本数字控制器,用于控制触摸设备的采样速率,及其他特征)。例如,取决于输入设备是用户的手指还是指示笔,触摸输入设备可以使用不同的采样速率。此判断可以由触摸应用响应于对初始用户输入的分析作出,该分析指出输入是触摸状(例如,具有相对大量的数据触摸点)还是指示笔(具有相对较小量的数据触摸点)。
响应于在PCH 40中接收到此中断,可以将原始触摸数据62写入到存储器30的存储器区域35。接着,中断65可以从PCH 40被传递到主处理器块20,更具体而言,在所示出的实施例中,传递到图形域26。然后,通过存储在存储器区域35中的代码(此处也被称为所谓的执行单元(EU)内核代码),在图形域26内执行的触摸应用可以访问数据。此触摸应用可以处理原始触摸数据,以执行各种信号处理,产生经过处理的触摸数据,该经过处理的触摸数据可包括坐标信息的标识、触摸序列、刷或其他手势,签字识别等等。
当图形域26完成了对原始数据的触摸处理时,中断70可以被传递到PCH40,以允许PCH将任何触摸特征返回到触摸传感器设备50(例如,以指出触摸点象手指或指示笔)。由图形域25完成触摸处理还导致生成被指向核域24的再一个中断75,将接收经过处理的触摸数据的OS或其他软件正在核域24上操作。尽管在图1的实施例以这样高级别地表示并利用特定的操作和通信的流,然而要理解本发明的范围不限于此方面。例如,在另一个实施例中,代替从图形域26向PCH 40发出中断(即,中断70),可以从图形域26向核域24直接发出通知核域24经过处理的触摸数据的可用性的中断。
触摸应用的各种实现也是可以的。例如,触摸算法可以以合适的高级语言来实现,诸如对象约束语言(OCL),用于媒体的C,等等。此应用可以嵌入在从主域被卸载到图形域的主应用内。接着,图形域的一个或多个图形引擎的一个或多个图形执行单元可以执行触摸应用。在图形域上执行的处理的本质可以从简单地确定触摸点和特征(宽度,高度)到比较复杂的功能,诸如识别手势(刷、签名、手写识别,等等)。为使触摸处理以响应性方式执行,触摸应用的执行可以响应于图形调度器,该图形调度器可以为调度此触摸处理工作负荷在图形域内的执行提供相对较高的优先级。在一个实施例中,图形调度器可以通过基于存储器位置的门铃机制,接收新工作负荷的通知,如下文进一步描述的。
在一个实施例中,可以提供几个门铃机制,用于设备间通知。首先,触摸IO接口(可以被包括在传感器接口内)可以通过第一门铃进行通信,以向图形引擎指出,原始触摸数据已准备好用于处理。第一门铃具有调用图形引擎来进行触摸处理的能力,无需唤醒核域以最小化功率。接着,第二门铃可以向触摸IO接口指出,经过处理的触摸数据已准备好,并向主机请求中断处理。
在包括如此处所描述的触摸架构的系统初始化时,在系统被引导之后,启动触摸应用,触摸应用接着将图形上下文设置为每当需要触摸处理时被执行。一般而言,当触摸图形上下文被调度供执行时,触摸应用向一个或多个图形处理器提供在图形处理器的EU内执行的EU内核。如上文所提及的,触摸应用请求图形门铃(即,主存储器中的存储器位置)和触摸IO接口门铃(在一个实施例中,该门铃可以是存储器映射的IO(MMIO)寄存器位置或基于存储器的门铃)。另外,触摸应用还请求分配系统存储器内的共享的缓冲区空间。此共享的缓冲区空间可包括用于原始触摸数据的输入缓冲区,和用于经过处理的触摸特征的输出缓冲区。此门铃信息和共享的缓冲区位置又可以被传递到两个端点,即,图形域和触摸IO接口。调用EU内核来处理数据的图形命令使用共享的缓冲区作为输入,并将最后的计算出的结果写入到输出缓冲区。在一个实施例中,此触摸IO接口可以在集成传感器中枢(ISH)中实现,该集成传感器中枢可以在外围控制器、独立ISH设备或另一系统位置内。此时,触摸应用被建立,并准备好供在有传入的原始触摸数据的指示时执行。
然后,在运行时操作过程中,触摸IO接口从触摸传感器设备接收中断,以指出,有原始数据可用。此触摸IO接口又允许将原始数据传输到共享的输入缓冲区,并将此数据的存在的指示写入到图形门铃。图形调度器又可以在下一可用的机会调度此触摸图形上下文。在一个实施例中,此调度可以被视为高优先级。一个或多个图形引擎的一个或多个EU接着可以执行图形内核,以对原始数据操作,并将触摸特征写入到共享的输出缓冲区。接着,图形域向触摸IO接口发送门铃通知,以指出此数据已准备好用于传递到主机。接着,触摸IO接口向主机OS发出允许主机OS根据需要获取并处理数据的中断。
此外,通过如此处所描述的,将触摸处理卸载到一个或多个图形处理器,可以降低功率消耗,因为,图形域的并行计算能力的功耗级别可以比在核域中或者在独立触摸控制器(如此处所描述的,在各实施例中,可以完全避免该独立触摸控制器)中执行触摸处理的功率消耗级别低。通过将触摸样本阵列分解为可以在其上面并行地启动计算的多个线程的区域,对原始数据的将触摸样本转换为触摸点的处理是高度并行化的。例如,原始数据可以被分成可以并行地提供以确定触摸点的区域。
注意,触摸应用从主处理器向图形域的卸载可以是一次性操作(每当有系统的复位事件时)。即,一旦触摸应用被卸载到图形域,主处理器不需要响应于用户输入,在触摸应用的给定执行时执行任何交互。相反,发生的唯一交互是在触摸处理完成之后,可以向核域发出中断或其他指示,以允许OS或在核域上执行的其他软件访问并使用经过处理的触摸数据。
现在参照图2,其中示出了根据本发明一实施例的系统的更详细框图。如图2所示,系统100包括耦合到系统存储器130和外围控制器120两者的处理器110。外围控制器120又通过互连145与触摸输入设备140进行通信。在一个实施例中,触摸传感器设备140可以通过串行外围接口(SPI)、嵌入式显示端口(eDP)或另一互连,耦合到外围控制器120。通过图2中的架构,可以避免对系统内的诸如单独的集成电路之类的专用触摸控制器的需要,相反,耦合到触摸输入设备140的触摸阵列142的模拟电路144被配置成向外围控制器120内的集成传感器中枢(ISH)125直接提供原始感应到的触摸数据。虽然此处描述为使用电容触摸阵列来获取触摸输入,但是,可以理解,可以使用应用了不同的技术的其他触摸输入设备,诸如通过发光摄像机或其他基于图像的触摸或手势捕捉。当然,也可以使用其他类型的触摸输入技术。此外,尽管此处所描述的各实施例使用ISH来从触摸传感器设备接收触摸数据,但是,其他布局也是可以的。例如,可以使用其他控制器,诸如外围控制器中的或在别处的微控制器,诸如可管理性引擎(ME)或会聚的安全性引擎(CSE)。这样的控制器执行固件,并对SPI接口和DMA操作具有直接控制。还可以包括专用的微控制器以管理SPI端口以及相关联的直接存储器访问,或可以提供专用的状态机,以控制SPI接口和DMA操作(而无需使用微控制器)。
如图2所示,处理器110包括核域112,该核域112可包括多个处理器核,图形域114,该图形域114可包括多个图形引擎,诸如多个图形处理单元(GPU),每一个图形处理单元都包括一个或多个执行单元(EU)。在此硬件上,可以执行触摸应用115。也如图2所示,集成的存储器控制器118可以充当处理器110的硬件和系统存储器130之间的接口。
关于系统存储器130,它被配置成与外围控制器120以及与处理器110直接进行通信。可以看出,系统存储器130包括用于从触摸输入设备140接收原始数据的第一共享的数据缓冲区134,以及用于存储从图形域114接收到的经过处理的触摸数据的第二共享的数据缓冲区136。另外,当原始触摸数据被存储到共享的数据缓冲区134时,可以向门铃位置132写入。注意,在系统存储器中进一步存在EU内核138,该EU内核138可以是在图形域114内的一个或多个图形处理器上执行的触摸应用工作负荷。
在一个实施例中,至少一个图形处理器可以专用于触摸处理,至少在计算设备的运行时的某些部分内。为此,当没有接收活跃的触摸输入时,此专用的图形处理器可以被置于低功率状态,可以,例如,通过存储器控制器118,建立监测机制,以监测门铃位置132,以便在有指出新原始触摸数据的存在的对此位置的更新时,可以将对应的专用的图形处理器的功率提升,以对于此新原始数据,执行触摸应用处理。类似的监测可用于判断原始触摸数据的存在,该存在可以导致EU先取图形引擎上的当前正在运行的工作负荷,并运行触摸算法,然后,恢复原始工作负荷。
参考外围控制器120,ISH 125包括SPI接口122,用于从触摸设备140接收原始数据,并通过直接存储器访问(DMA)引擎124,将它提供到系统存储器130。注意,与触摸输入设备140的通信可以是双向的,因为,可以向触摸输入设备发送某些命令信息。例如,取决于触摸应用是否判断用户正在输入选择或提供签名,可以控制触摸输入设备的不同的采样速率。在一个实施例中,DMA引擎124可以根据DMA处理程序125来执行。DMA引擎124可以被用来将通过SPI接口122接收到的原始触摸数据传输到主存储器130内的第一共享的数据缓冲区134。更具体而言,存储在第一数据缓冲区134中的此原始数据可以是被写入到数据缓冲区内的图形输入表面的原始触摸数据。当图形引擎完成了对一定量的原始触摸数据的触摸处理时,可以将中断传递到ISH的门铃逻辑127,该门铃逻辑127接着导致主机处理器间通信(IPC)逻辑129向核域112发出中断,以向主机OS指出在共享的数据缓冲区136中存在经过处理的触摸数据。在另一个实施例中,通过SPI接口122接收到的数据可以被存储到诸如静态随机存取存储器(SRAM)之类的内部存储器中,然后,通过DMA操作,分开地传递到系统存储器。
尽管在图2的实施例以这样高级别地表示,然而要理解各种替代方案也是可以的。例如,尽管处理器110和外围控制器120被示为在不同的封装中形成的单独的集成电路,但是,可以理解,在其他实现中,可以提供包括处理器110和外围控制器120的单一封装。进一步可以理解,可以通过另一接口,诸如图形接口,或通过外围组件互连,诸如PCIeTM接口或适用于移动通信的PCIeTM接口,例如,通过MIPI M-PHY物理单元,或支持总线控制的另一总线,在处理器中接收触摸数据。尽管在图2的实施例以这样高级别地表示,然而要理解本发明的范围不限于此方面。
现在参照图3,其中示出了根据本发明一实施例的处理触摸数据的方法的流程图。如图3所示,方法200可以由系统的各种组件执行,包括图形处理器、集成传感器中枢以及触摸输入设备。可以看出,方法200从初始化触摸输入设备和触摸应用以在至少一个图形处理器上执行开始(框210)。接下来,在运行时,可以在集成传感器中枢中接收原始触摸数据的指示(框220)。响应于此指示,原始触摸数据可以存储在共享的数据缓冲区,可以通过向第一门铃位置的写入,指出此信息的存在,在一个实施例中,第一门铃位置可以是存储在系统存储器中的图形门铃(框230)。接下来,可以在至少一个图形处理器中处理原始触摸数据,经过处理的触摸数据可以存储在第二共享的数据缓冲区中(框240)。接下来,触摸处理的完成可以通过向第二门铃位置的写入来指出,在一个实施例中,第二门铃位置可以是在集成传感器中枢内存在的ISH门铃(框250)。最后,可以将中断传递到OS,以允许对存储在第二共享的数据缓冲区的此数据进行进一步处理(框260)。尽管在图3中以这样高级别地表示,然而要理解本发明的范围不限于此方面。
现在参照图4,其中示出了根据本发明一实施例的处理器的图形域的框图。如图4所示,域300包括线程派遣单元310,该线程派遣单元310接收传入的线程,并将它们派遣到包括多个单独执行单元3250-325n的计算集群320。虽然本发明的范围在这方面不受限制,但是,在某些实施例中,可以存在4至16之间的EU。EU 325中的一个或多个可以被控制,以执行如由在线程派遣单元310上执行的调度器调度的触摸应用(或应用的至少一个或更多触摸处理算法)。进一步可以看出,这些EU可以共享指令高速缓存322和纹理高速缓存和采样器324。计算集群320又耦合到共享高速缓存存储器330,在一个实施例中,共享高速缓存存储器330可以是3级高速缓存,该3级高速缓存接着通过接口340耦合到处理器的其他组件,诸如将图形域与核域和系统代理耦合的环形互连。另外,环形互连进一步将图形域耦合到较大的共享高速缓存结构,诸如末级高速缓存,该末级高速缓存接着耦合到诸如系统存储器之类的存储器层次结构的其他部分。
现在参照图5,其中示出了根据本发明一实施例的处理器的框图。如图5所示,处理器400可以是在核域410中包括多个核410a-410n的多核处理器。在一个实施例中,每一个这样的核都可以是独立功率域,并可以被配置成在独立电压和/或频率下操作。如在图5中进一步示出的那样,一个或多个GPU4120-412n可以存在于图形域412中。这些独立图形引擎中的每一个都还可以被配置成在独立电压和/或频率下操作,或可以作为单个域来一起控制它们。图形域的GPU 412中的一个或多个可以被配置成执行由OS或在核域410内执行的其他实体卸载的如此处所描述的触摸应用。
这些各个计算元件可经由互连415耦合到系统代理或非核部分420,非核部分420包括各个组件。如所见那样,非核420可包括共享的高速缓存存储器430,它可以是最末级高速缓存。另外,非核还可以包括集成的存储器控制器440、各种接口450和功率控制单元455,以控制处理器的组件的功耗。
进一步参见图5,处理器400可经由例如存储器总线与系统存储器460通信。另外,通过接口450可对诸如外围设备、海量存储器等多种芯片外组件作出连接。虽然在图5的实施例中示出具有该特定实现,但本发明的范围不限于此方面。
注意,处理器400可以是诸如所谓的x86指令集架构(ISA)架构之类的无序机、有序处理器、诸如基于ARM的处理器之类的精简指令集计算(RISC)处理器,或另一类型的ISA的处理器,该另一类型的ISA可经由仿真引擎和相关联的逻辑电路来仿真不同ISA的指令和操作。
即,在其他实施例中,处理器架构可包括仿真特征,使得处理器可执行称为源ISA的第一ISA的指令,其中该架构是根据第二ISA的,该第二ISA被称为目标ISA。一般而言,包括OS和应用的软件被编译至源ISA,而硬件实现针对给定硬件实现方式而特别设计的具有特殊性能和/或能源效率特征的目标ISA。
现在参照图6,其中示出了根据本发明另一实施例的多域处理器的框图。如图6的实施例所示,处理器500包括多个域。具体而言,核域510可以包括多个核5100–510n,图形域520可以包括一个或多个图形引擎,以执行被卸载的触摸应用,并且还可以存在系统代理域550。在各实施例中,系统代理域550可在所有时间保持加电以应对功率控制事件和功率管理,以使域510和520可被控制以动态地进入和退出低功率状态。
注意,尽管仅示出了三个域,然而要理解本发明的范围不限于这个方面并且其它实施例中可存在附加的域。例如,可存在多核域,其每一个包括至少一个核。如此,可以实现对可以以给定的频率执行的处理器核的量的更精细粒度的控制。
一般地说,除了各执行单元和附加的处理元件外,每个核510可进一步包括低级高速缓存。进而,各核可彼此耦合并耦合至由末级高速缓存(LLC)5400–540n的多个单元形成的共享高速缓存存储器。在各实施例中,LLC 540可在核和图形引擎以及多种媒体处理电路之中共享。可以看出,环形互连530因此将各个核耦合在一起,并且提供各个核、图形域520和系统代理电路系统550之间的互连。
在图6的实施例中,系统代理域550可以包括显示控制器552,其可以提供对相关联的显示器的控制和接口。可进一步看出,系统代理域550可以包括功率控制单元555。
如图6中进一步所见的,处理器500可进一步包括集成的存储器控制器(IMC)570,它可向例如动态随机存取存储器(DRAM)之类的系统存储器提供接口。可以存在多个接口5800–580n以实现处理器与其他电路系统之间的互连。例如,在一个实施例中,可提供至少一个直接媒体接口(DMI)接口以及一个或多个高速外设组件互连(PCI ExpressTM(PCIeTM))接口。再进一步,为了提供诸如附加处理器或其它电路的其它代理之间的通信,也可提供根据快速通道互连(QPI)协议的一个或多个接口。进一步可以看出,PCH 590也可以存在于处理器内,并可以在一个处理器封装上实现,处理器的其余部分在同一个半导体管芯上或在单独的半导体管芯上。此外围控制器可包括集成传感器中枢,以允许在没有单独的触摸控制器的情况下与包括集成到系统中的触摸输入设备的各种系统传感器进行通信。尽管在图6的实施例以这样高级别地表示,然而要理解本发明的范围不限于此方面。
实施例可在许多不同的系统类型中实现。现在参照图7,其中示出了根据本发明一实施例的系统的框图。如图7所示,多处理器系统600是点对点互连系统,并包括通过点对点互连650而耦合的第一处理器670和第二处理器680。如图7所示,处理器670和680中的每一个都可以是多核处理器,包括第一和第二处理器核(即,处理器核674a和674b以及处理器核684a和684b),虽然潜在地更多核可以存在于处理器中。处理器中的每一个都可包括图形域,其中包括多个GPU(例如,GPU 675a和675b,以及GPU 685a和685b),可以将触摸应用从处理器核中的一个或多个向GPU卸载。
仍参考图7,第一处理器670还包括存储器控制器中枢(MCH)672和点对点(P-P)接口676和678。类似地,第二处理器680包括MCH 682和P-P接口686和688。如图7所示,MCH 672和682将处理器耦合到相应的存储器,即,存储器632和存储器634,它们可以是本地连接到相应的处理器的系统存储器(例如,DRAM)的一部分。第一处理器670和第二处理器680可分别经由P-P互连652和654耦合至芯片组690。如图7中所示,芯片组690包括P-P接口694和698。
此外,芯片组690包括用于通过P-P互连639将芯片组690与高性能图形引擎638进行耦合的接口692。芯片集690又可以通过接口696耦合到第一总线616。如图7所示,各种输入/输出(I/O)设备614以及总线桥618可以耦合到第一总线616,总线桥618将第一总线616耦合到第二总线620。在一个实施例中,各种设备可耦合到第二总线620,包括例如键盘/鼠标622、通信设备626以及数据存储单元628,如可包括代码630的盘驱动器或其他大容量存储设备。此外,音频I/O 624可耦合至第二总线620。各实施例可以被合并到其他类型的系统中,包括诸如智能蜂窝电话、UltrabookTM、平板计算机、上网本等等之类的移动设备。
各实施例可在许多不同类型的系统中使用。例如,在一个实施例中,通信设备可以被安排为执行在此所述的各个方法和技术。当然,本发明的范围不限于通信设备,而是其他实施例可以针对用于处理指令的其他类型的装置或者包括指令的一个或多个机器可读介质,所述指令响应于在计算设备上被执行而致使该设备执行在此所述的方法和技术中一个或多个。
实施例可以代码的形式实现,而且可存储在其上存储有可用于对系统编程以执行这些指令的非临时存储介质上。存储介质可包括但不限于:包括软盘、光盘、固态驱动器(SSD)、压缩盘只读存储器(CD-ROM)、可重写压缩盘(CD-RW)以及磁光盘的任何类型的磁盘;诸如只读存储器(ROM)、诸如动态随机存取存储器(DRAM)、静态随机存取存储器(SRAM)之类的随机存取存储器(RAM)、可擦写可编程只读存储器(EPROM)、闪存、电可擦写可编程只读存储器(EEPROM)之类的半导体器件;磁卡或光卡,或适合于存储电子指令的任何其他类型的介质。
虽然已经针对有限个实施例描述了本发明,但本领域技术人员将会理解从中得出的多种修改和变化。所附权利要求旨在覆盖落入本发明的真实精神和范围中的所有这些修改和变化。
Claims (21)
1.一种处理器,包括:
包括执行指令的至少一个核的核域;以及
包括多个图形引擎的图形域,每一个所述图形引擎都具有至少一个执行单元,所述图形域将从所述核域卸载的触摸应用调度到所述多个图形引擎中的至少一个,所述触摸应用响应于对耦合到所述处理器的系统存储器中的门铃位置的更新而执行,响应于用户向所述触摸输入设备的输入,向所述门铃位置写入。
2.如权利要求1所述的处理器,进一步包括,耦合到所述触摸输入设备的传感器装置,包括直接存储器访问(DMA)引擎的所述传感器中枢用于接收原始触摸数据,并将所述原始触摸数据存储在所述系统存储器的第一共享的数据缓冲区。
3.如权利要求2所述的处理器,其特征在于,所述传感器装置进一步包括门铃接口,用于响应于完成对所述原始触摸数据的触摸处理,从所述触摸应用接收中断。
4.如权利要求3所述的处理器,其特征在于,所述触摸应用将经过处理的触摸数据存储在所述系统存储器的第二共享的数据缓冲区。
5.如权利要求4所述的进程,其特征在于,所述核域将响应于来自所述传感器装置的中断,访问所述第二共享的数据缓冲区,以获取所述经过处理的触摸数据。
6.如权利要求3所述的处理器,其特征在于,所述传感器装置进一步包括处理器间通信装置,用于将第二中断传递到所述处理器的所述核域,以指出完成所述触摸处理。
7.如权利要求2所述的处理器,其特征在于,所述传感器装置和所述处理器集成在一个处理器封装中。
8.如权利要求2所述的处理器,其特征在于,所述触摸输入设备在没有触摸控制器的情况下直接耦合到所述传感器装置。
9.如权利要求1所述的处理器,其特征在于,所述至少一个图形引擎包括:
线程派遣单元;
计算集群,所述计算集群耦合到所述线程派遣单元,包括多个执行单元和至少一个共享高速缓存;以及
耦合到所述计算集群的第二共享高速缓存。
10.如权利要求1所述的处理器,其特征在于,所述处理器进一步包括存储器控制器,其中所述至少一个图形引擎将响应于由所述存储器控制器检测到向所述门铃位置的所述写入而退出低功率状态。
11.一种方法,包括:
在多核处理器的传感器中枢中,接收耦合到所述传感器中枢的触摸输入设备中的原始触摸数据的可用性的指示;
将所述原始触摸数据存储在系统存储器的第一共享的数据缓冲区中,以及将存在指示符写入到第一门铃位置;以及
响应于所述第一门铃位置处的所述存在指示符,在所述多核处理器的图形处理器中处理所述原始触摸数据,并将经过处理的触摸数据存储在第二共享的数据缓冲区。
12.如权利要求11所述的方法,进一步包括通过将存在指示符写入到第二门铃位置,指出完成所述触摸处理。
13.如权利要求12所述的方法,进一步包括响应于所述第二门铃位置处的所述存在指示符,将中断传递到操作系统,以允许所述多核处理器的一个核对所述第二共享的数据缓冲区中的所述经过处理的触摸数据的访问。
14.如权利要求11所述的方法,进一步包括,初始化所述触摸应用,以在所述图形处理器上执行,包括设置所述第一门铃位置,分配所述第一共享的数据缓冲区,用于存储所述原始触摸数据,以及分配所述第二共享的数据缓冲区,用于存储所述经过处理的触摸数据。
15.一种系统,包括:
多核处理器,所述多核处理器包括具有多个核的核域,以及具有多个图形处理器的图形域,所述图形域执行从所述核域卸载的触摸应用,所述触摸应用响应于用户向触摸输入设备的输入而执行;
耦合到所述多核处理器的传感器中枢,用于接收来自包括所述触摸输入设备的多个传感器的输入;
耦合到所述传感器中枢的所述触摸输入设备,用于将所述用户输入的原始触摸数据传递到所述传感器中枢;以及
耦合到所述多核处理器的系统存储器,所述系统存储器包括第一共享的缓冲区装置,用于存储所述原始触摸数据,第二共享的缓冲区装置,用于存储由所述触摸应用从所述原始触摸数据所生成的经过处理的触摸数据。
16.如权利要求15所述的系统,其特征在于,所述传感器中枢包括直接存储器访问(DMA)引擎,用于接收所述原始触摸数据,并将所述原始触摸数据存储在所述第一共享的缓冲区装置中。
17.如权利要求16所述的系统,其特征在于,所述传感器中枢进一步包括处理器间通信逻辑,用于将中断传递到所述核域,以指出所述所述经过处理的触摸数据的存储。
18.如权利要求17所述的系统,其特征在于,所述核域将响应于所述中断,访问所述第二共享的缓冲区装置,以获取所述经过处理的触摸数据。
19.如权利要求15所述的系统,其特征在于,所述触摸输入设备在没有触摸控制器的情况下直接耦合到所述传感器中枢。
20.如权利要求15所述的系统,其特征在于,所述多核处理器进一步包括存储器控制器,其中所述多个图形处理器中的至少一个将响应于由所述存储器控制器检测到向所述系统存储器处的门铃位置的写入,退出低功率状态,并访问所述第一共享的缓冲区装置中的所述原始触摸数据。
21.如权利要求15所述的系统,其特征在于,所述多核处理器包括所述传感器中枢。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/724,291 US8884906B2 (en) | 2012-12-21 | 2012-12-21 | Offloading touch processing to a graphics processor |
US13/724,291 | 2012-12-21 | ||
PCT/US2013/048795 WO2014099035A1 (en) | 2012-12-21 | 2013-06-29 | Offloading touch processing to a graphics processor |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104798056A true CN104798056A (zh) | 2015-07-22 |
CN104798056B CN104798056B (zh) | 2018-03-13 |
Family
ID=50974124
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201380060912.1A Expired - Fee Related CN104798056B (zh) | 2012-12-21 | 2013-06-29 | 用于执行触摸处理的处理器、方法、系统、设备和机器可读介质 |
Country Status (3)
Country | Link |
---|---|
US (2) | US8884906B2 (zh) |
CN (1) | CN104798056B (zh) |
WO (1) | WO2014099035A1 (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108845613A (zh) * | 2018-04-09 | 2018-11-20 | 广州视源电子科技股份有限公司 | 交互智能平板及其数据处理方和装置 |
WO2019196415A1 (zh) * | 2018-04-09 | 2019-10-17 | 广州视源电子科技股份有限公司 | 交互智能平板 |
CN110764897A (zh) * | 2017-04-17 | 2020-02-07 | 英特尔公司 | 具有附加上下文的图形系统 |
TWI776465B (zh) * | 2020-10-22 | 2022-09-01 | 大陸商上海壁仞智能科技有限公司 | 設置於圖形處理器中的二次卸載裝置和方法 |
US11748077B2 (en) | 2020-10-22 | 2023-09-05 | Shanghai Biren Technology Co., Ltd | Apparatus and method and computer program product for compiling code adapted for secondary offloads in graphics processing unit |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102114488B1 (ko) * | 2013-11-05 | 2020-05-25 | 엘지디스플레이 주식회사 | 터치센싱시스템 및 표시장치 |
CN104301253A (zh) * | 2014-10-21 | 2015-01-21 | 合肥星服信息科技有限责任公司 | 线程池和共享池组合优化大负荷通讯服务器 |
US20160170548A1 (en) * | 2014-12-16 | 2016-06-16 | Nobuyuki Suzuki | Apparatus, system and method for communication of touch sensor information |
US9753557B2 (en) * | 2015-10-26 | 2017-09-05 | Intel Corporation | Fast inking a touch display |
WO2017099882A1 (en) * | 2015-12-10 | 2017-06-15 | Intel Corporation | Accelerated touch processing at computing devices |
US20170277311A1 (en) * | 2016-03-25 | 2017-09-28 | Microsoft Technology Licensing, Llc | Asynchronous Interaction Handoff To System At Arbitrary Time |
EP3477440A4 (en) * | 2016-06-28 | 2020-01-29 | Wacom Co., Ltd. | SERIAL COMMUNICATION METHOD AND SENSOR CONTROLLER |
JP6216909B1 (ja) * | 2016-06-28 | 2017-10-18 | 株式会社ワコム | シリアル通信方法及びセンサコントローラ |
KR102362107B1 (ko) * | 2017-11-21 | 2022-02-11 | 구글 엘엘씨 | 기계 학습 기능을 갖는 저전력 앰비언트 컴퓨팅 시스템 |
US11176493B2 (en) | 2019-04-29 | 2021-11-16 | Google Llc | Virtualizing external memory as local to a machine learning accelerator |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101079148A (zh) * | 2006-05-22 | 2007-11-28 | 程国亮 | 基于“多核”处理器的多用户3d图形加速终端的实现方法 |
US20120011462A1 (en) * | 2007-06-22 | 2012-01-12 | Wayne Carl Westerman | Swipe Gestures for Touch Screen Keyboards |
US20120092277A1 (en) * | 2010-10-05 | 2012-04-19 | Citrix Systems, Inc. | Touch Support for Remoted Applications |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2266037B (en) * | 1992-03-13 | 1996-02-14 | Quantel Ltd | An electronic video processing system |
US20110221706A1 (en) * | 2008-09-15 | 2011-09-15 | Smart Technologies Ulc | Touch input with image sensor and signal processor |
US8166207B2 (en) | 2008-09-29 | 2012-04-24 | Intel Corporation | Querying a device for information |
US8866790B2 (en) | 2008-10-21 | 2014-10-21 | Atmel Corporation | Multi-touch tracking |
US8803897B2 (en) * | 2009-09-03 | 2014-08-12 | Advanced Micro Devices, Inc. | Internal, processing-unit memory for general-purpose use |
US20110296333A1 (en) | 2010-05-25 | 2011-12-01 | Bateman Steven S | User interaction gestures with virtual keyboard |
WO2011161829A1 (ja) * | 2010-06-25 | 2011-12-29 | 富士通株式会社 | マルチコアプロセッサシステム、制御プログラム、および制御方法 |
EP2643741A4 (en) * | 2010-11-25 | 2016-08-24 | Freescale Semiconductor Inc | METHOD AND DEVICE FOR PERFORMANCE MANAGEMENT OF A MULTICULTURAL PROCESSOR |
US8947420B2 (en) | 2011-05-27 | 2015-02-03 | Nokia Corporation | Processing image content for content motion or touch input |
TW201316240A (zh) * | 2011-10-06 | 2013-04-16 | Rich Ip Technology Inc | 利用圖形用戶介面影像之觸碰處理方法及系統 |
US9489067B2 (en) * | 2012-08-17 | 2016-11-08 | Qualcomm Incorporated | Scalable touchscreen processing with realtime role negotiation among asymmetric processing cores |
-
2012
- 2012-12-21 US US13/724,291 patent/US8884906B2/en not_active Expired - Fee Related
-
2013
- 2013-03-05 US US13/785,098 patent/US8896560B2/en not_active Expired - Fee Related
- 2013-06-29 CN CN201380060912.1A patent/CN104798056B/zh not_active Expired - Fee Related
- 2013-06-29 WO PCT/US2013/048795 patent/WO2014099035A1/en active Application Filing
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101079148A (zh) * | 2006-05-22 | 2007-11-28 | 程国亮 | 基于“多核”处理器的多用户3d图形加速终端的实现方法 |
US20120011462A1 (en) * | 2007-06-22 | 2012-01-12 | Wayne Carl Westerman | Swipe Gestures for Touch Screen Keyboards |
US20120092277A1 (en) * | 2010-10-05 | 2012-04-19 | Citrix Systems, Inc. | Touch Support for Remoted Applications |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110764897A (zh) * | 2017-04-17 | 2020-02-07 | 英特尔公司 | 具有附加上下文的图形系统 |
CN110764897B (zh) * | 2017-04-17 | 2024-01-19 | 英特尔公司 | 具有附加上下文的图形系统 |
CN108845613A (zh) * | 2018-04-09 | 2018-11-20 | 广州视源电子科技股份有限公司 | 交互智能平板及其数据处理方和装置 |
WO2019196415A1 (zh) * | 2018-04-09 | 2019-10-17 | 广州视源电子科技股份有限公司 | 交互智能平板 |
CN108845613B (zh) * | 2018-04-09 | 2021-07-09 | 广州视源电子科技股份有限公司 | 交互智能平板及其数据处理方和装置 |
TWI776465B (zh) * | 2020-10-22 | 2022-09-01 | 大陸商上海壁仞智能科技有限公司 | 設置於圖形處理器中的二次卸載裝置和方法 |
US11663044B2 (en) | 2020-10-22 | 2023-05-30 | Shanghai Biren Technology Co., Ltd | Apparatus and method for secondary offloads in graphics processing unit |
US11748077B2 (en) | 2020-10-22 | 2023-09-05 | Shanghai Biren Technology Co., Ltd | Apparatus and method and computer program product for compiling code adapted for secondary offloads in graphics processing unit |
Also Published As
Publication number | Publication date |
---|---|
WO2014099035A1 (en) | 2014-06-26 |
US8884906B2 (en) | 2014-11-11 |
US20140176573A1 (en) | 2014-06-26 |
US20140176572A1 (en) | 2014-06-26 |
CN104798056B (zh) | 2018-03-13 |
US8896560B2 (en) | 2014-11-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104798056A (zh) | 将触摸处理卸载到图形处理器 | |
CN113632068B (zh) | 在环境计算系统上虚拟化存储器的方法和系统 | |
US9477295B2 (en) | Non-volatile memory express (NVMe) device power management | |
JP5406149B2 (ja) | イベント処理のためのターボ性能を向上させる方法および装置 | |
CN104850435B (zh) | 电源管理控制器与方法 | |
CN105183128A (zh) | 强制处理器进入低功率状态 | |
JP5643903B2 (ja) | 階層的キャッシュ設計におけるキャッシュ間の効率的通信のための方法および装置 | |
CN107924219A (zh) | 遮蔽处理器的核的功率状态 | |
CN104115093A (zh) | 包括多个处理元件之间的功率和性能平衡的用于能效和节能的方法、装置和系统 | |
CN108334458A (zh) | 存储器高效的末级高速缓存架构 | |
US10635337B2 (en) | Dynamic configuration of compressed virtual memory | |
CN103176848A (zh) | 计算工作分布参考计数器 | |
US20160026436A1 (en) | Dynamic Multi-processing In Multi-core Processors | |
CN103617071A (zh) | 一种资源独占及排它的提升虚拟机计算能力的方法及装置 | |
Jo et al. | Exploiting GPUs in virtual machine for BioCloud | |
WO2016209427A1 (en) | Adaptive hardware acceleration based on runtime power efficiency determinations | |
CN108694136A (zh) | 用于超越基于非局部性的指令处理的系统、设备和方法 | |
US20180074727A1 (en) | Managing Data Flow in Heterogeneous Computing | |
US11586472B2 (en) | Method of task transition between heterogenous processors | |
WO2023225991A1 (en) | Dynamic establishment of polling periods for virtual machine switching operations | |
JP6055456B2 (ja) | 階層的キャッシュ設計におけるキャッシュ間の効率的通信のための方法および装置 | |
Kim et al. | Memory-centric network-on-chip for power efficient execution of task-level pipeline on a multi-core processor | |
KR20230088211A (ko) | 전자 장치의 성능 모니터링 시스템 및 성능 모니터링 방법 | |
Siewiorek | Wearable computers: merging information space with the workspace | |
CN113448880A (zh) | 存储装置和存储器中的启用一致多处理的计算 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
EXSB | Decision made by sipo to initiate substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20180313 Termination date: 20210629 |