CN102171655A - 复合设备仿真 - Google Patents

复合设备仿真 Download PDF

Info

Publication number
CN102171655A
CN102171655A CN2009801392375A CN200980139237A CN102171655A CN 102171655 A CN102171655 A CN 102171655A CN 2009801392375 A CN2009801392375 A CN 2009801392375A CN 200980139237 A CN200980139237 A CN 200980139237A CN 102171655 A CN102171655 A CN 102171655A
Authority
CN
China
Prior art keywords
artificial intelligence
equipment simulator
end points
function
processor
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.)
Pending
Application number
CN2009801392375A
Other languages
English (en)
Inventor
N·迪亚曼特
K·L·黄
K·瓦迪韦吕
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.)
Intel Corp
Original Assignee
Intel Corp
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 Intel Corp filed Critical Intel Corp
Publication of CN102171655A publication Critical patent/CN102171655A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/382Information transfer, e.g. on bus using universal interface adapter
    • G06F13/385Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different peripheral devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/10Program control for peripheral devices
    • G06F13/102Program control for peripheral devices where the programme performs an interfacing function, e.g. device driver

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Systems (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)
  • Debugging And Monitoring (AREA)
  • Tests Of Electronic Circuits (AREA)

Abstract

在一个实施例中,一种装置提供了多个端点,每个端点对应于被仿真设备的一种功能,每个端点具有至少一个缓冲器,用以存储对应于被仿真设备的仿真信息;并且提供了用于执行与所述多个端点相对应的功能中的至少一种功能的低级仿真的逻辑。

Description

复合设备仿真
技术领域
本发明的实施例涉及复合设备仿真(composite device emulation)。
背景技术
今天,典型的远程管理系统依赖于在PC(个人计算机)上运行的专用远程连接应用软件,以及依赖于操作系统处于稳定状态并且运行以便远程管理会话处于活动状态。随着即使在PC故障或关机的情况下仍然工作的硬件辅助的远程管理技术的引入,减少了这些依赖性并且允许实现更为复杂的远程管理能力,而这样的能力在前一代PC或仅靠软件的解决方案中是无法提供的。
例如,名为“Virtual IDE Interface and Protocol for Use in IDE Redirection Communication”的美国专利申请序号11/027,754描述了一种机制,该机制例如能够使用诸如IDE硬盘或CD-ROM之类的远程IDE存储设备来引导系统。作为另一个示例,一些服务器系统具有分立、独立的USB产品,所述USB产品具有支持预定义的一组被仿真设备的重定向功能。
附图说明
在附图中,通过示例而非限制的方式说明了本发明的实施例,并且其中相同的附图标记指代相似要素,其中:
图1说明了根据本发明的实施例的系统;
图2说明了根据本发明的实施例的数据仿真器;
图3说明了根据本发明的实施例的方法。
具体实施方式
以下所描述的示例仅用于说明的目的,而决不希望对本发明的实施例进行限制。因此,在详细描述示例或者提供了一个或更多个示例的情况下,应当理解所述示例并不应被解释为是穷举的,并且并非要将本发明的实施例限制为所描述的和/或所示出的那些示例。
在一个示例实施例中,可以通过将设备功能(诸如键盘和鼠标,以及来自存储设备的数据传输)从远程管理机器重定向到本地托管(managed)机器来实现远程管理。通过仿真这些设备,远程管理机器经过基于硬件的通信信道在本地托管机器上作为独立于OS的设备而出现。设备的仿真使得本地托管机器能够被远程管理。例如,对已经变得不稳定或者系统本地用户无法修复的系统进行的远程维修和支持都可以在远程被处理。在一个实施例中,可以使用USB(通用串行总线)协议来实现设备仿真,所述USB协议支持包括USB CD(光盘)驱动器、USB软盘、USB钥匙盘、USB键盘和USB鼠标的各种类型的设备,以及即插即用和系统引导。伴随着视频重定向,设备仿真能够通过LAN(局域网)连接而形成KVM(键盘视频鼠标)结构,并且仿真本地托管机器上的复合USB设备。各种版本的USB规范可以从USB-IF(USB开发者论坛)(位于3855 SW 153rd Drive,Beaverton,Oregon,97006)获得。下文中,远程管理机器被称作“管理控制台”,而本地托管机器则被称作“系统”。
图1是说明了根据一个实施例的计算系统100的框图。在一些实施例中,计算系统100可以包括至少一个处理器102A、102B。这里所讨论的“处理器”涉及用于完成计算任务的硬件和软件资源的任意组合。例如,处理器可以包括中央处理单元(CPU),例如102A、102B,用于执行机器可读指令以根据预定义的指令集来处理数据,或用于容纳固件。处理器可以包括具有多个处理核心的多核处理器。可替代地,处理器可以是指可以被包括在多核处理器中的处理核心,其中操作系统可以将该处理核心当作具有完整执行资源集合的分立处理器。这些处理器可以是高性能的,以用于执行复杂的应用软件。此外,系统100无需为了处理器102A、102B工作而处于活动的电源状态。其它实现也是可能的。
系统100可以包括至少一个或更多个另外的处理器102C。在一个实施例中,一个或更多个另外的处理器可以包括微控制器102C。在一个实施例中,微控制器102C可以包括管理引擎(manageability engine),其是可从英特尔
Figure BPA00001365941700021
公司(位于2200 Mission College Blvd.,Santa Clara,CA 95054)获得的英特尔
Figure BPA00001365941700031
主动管理技术的一部分。管理引擎可以代表系统100中的应用来执行各种服务。管理引擎可以在辅助电源上运行,由此可以在所有电源状态中使用。在一个实施例中,微控制器102可以嵌入在芯片组108上,具体地是MCH 108A上,然而本发明的实施例并不局限于此。在图2中,处理器102C被示为位于芯片组108上。在其它实施例中,作为替代,处理器102C也可以与一个或更多个CPU 102A、102B集成在一起。如各处所使用的,微控制器102C可以是指处理器的一种具体实现;然而,本发明的实施例并不局限于此,并且所要理解的是,在其它实施例中微控制器102C可以泛指系统100中的多个处理器其中之一。
系统100还可以包括存储器106。存储器106可以存储能够被执行的机器可执行指令132,和/或能够被访问、操作和/或操纵的数据。这里所说的“机器可执行”指令涉及可以由一个或更多个机器理解以执行一个或更多个逻辑操作的表达。例如,机器可执行指令132可以包括能够由处理器编译器解释以便对一个或更多个数据对象执行一个或更多个操作的指令。然而,这仅仅是机器可执行指令的一个示例,而本发明的实施例并不局限于此。例如,存储器106可以包括:只读的、大存储容量的、随机访问的计算机可访问存储器,非易失性存储器,和/或一种或更多种其它类型的机器可访问存储器。在一个实施例中,存储器106可以根据例如UMA(统一存储器架构)进行分区,以使得存储器106的一些部分可以为微控制器102C保留并且由微控制器102C使用。
逻辑130可以被包括在系统100上,或者位于系统100的任意部分(例如,微控制器102C)之内。逻辑130可以包括硬件、软件,或者硬件和软件的组合(例如,固件)。例如,逻辑130可以包括用于执行这里所描述的操作的电路系统(例如,一个或更多个电路)。例如,逻辑130可以包括一个或更多个数字电路、一个或更多个模拟电路、一个或更多个状态机、可编程逻辑,和/或一个或更多个ASIC(专用集成电路)。逻辑130可以被硬线连接,以执行一个或更多个操作。可替换地或附加地,逻辑130可以用诸如存储器106这样的存储器中所存储的机器可执行指令132来具体实现,以执行那些操作。可替换地或附加地,逻辑130可以用固件来具体实现。逻辑可以被包括在系统100的各种组件之内。逻辑130可以被这里所描述的各种组件用来执行各种功能。
芯片组108可以包括主桥/中枢系统(host bridge/hub system),其可以将每个CPU 102A、102B与存储器106相互耦合。芯片组108可以包括一个或更多个集成电路芯片,诸如可以从英特尔公司商业上提供的集成电路芯片组(例如,图形、存储器、图形/存储器以及I/O控制器中枢芯片组)中选择的那些集成电路芯片,但是还可以、或者替代地使用其它一个或更多个集成电路芯片。芯片组108可以经由存储器总线112与存储器106进行通信,并且可以经由系统总线110与处理器102A、102B进行通信。在可替代实施例中,处理器102A、102B和存储器106可以直接耦合(而不经由芯片组108)至系统总线110。
根据一个实施例,芯片组108可以包括耦合到存储器106的存储器控制中枢(MCH)108A,以及输入/输出控制中枢(ICH)108B,但是本发明的实施例并不局限于此。例如,MCH 108A的功能可以整体或部分集成到CPU上,并且ICH 108B可以是独立芯片组。作为另一个示例,在一些实施例中,系统100无需包括芯片组108,而是一些或全部的芯片组功能可以被集成到处理器管芯(die)上。MCH 108A例如可以包括存储器和图形控制器。ICH 108B例如可以包括输入/输出控制器,其包括集成网络接口120以使得系统100能够通过网络116与远程系统(例如管理控制台118)进行通信。在另一个实施例中,所述网络接口可以是附接到ICH 108B的独立网络接口卡(NIC)。
系统还可以包括设备仿真器114。如这里的各个实施例中所描述的,设备仿真器114可以仿真一个或更多个设备(“被仿真设备”)。如这里所使用的,“被仿真设备”是指在系统100中要被进行仿真的设备。被仿真设备可以表示物理或虚拟设备。此外,所述物理或虚拟设备可以是系统100或管理控制台118上的设备。例如,在一个实施例中,被仿真设备物理上并不位于系统100上。在另一个实施例中,被仿真设备可以并不存在于管理控制台118上,而是可以由设备仿真器114为了预期功能而进行虚拟仿真。
在一个实施例中,设备仿真器114可以通过主机控制器的内部端口嵌入在芯片组108中,例如具体地是嵌入在108B中。然而,再次指出,本发明的实施例并不局限于此,并且作为替代,设备仿真器114也可以通过主机控制器的外部端口连接到芯片组108。此外,其它的实现也是可能的。在实施例中,主机控制器使得能够在其所支持的设备(例如,USB)和操作系统之间进行通信。
在本发明的实施例中,设备仿真器114可以通过(使用发送到管理控制台118以及从其接收的命令和数据控制)模仿系统100中的设备功能来仿真设备,从而所述设备仿真器可以对系统100表现为物理设备。设备仿真器114可以对应于单功能的设备,或者对应于多功能的复合设备。
在一个实施例中,微控制器102可以位于MCH 108A上,并且设备仿真器114可以位于ICH 108B上。在可替代实施例中,微控制器102和设备仿真器114都可以位于同一集成电路上。然而,本发明的实施例在这些方面上并不受限制。
处理器102A、102B、102C、存储器106、总线110、112以及以上所描述的某些其它组件可以被包括在单个电路板(例如系统主板118)中,或者甚至集成在同一硅片上,但是本发明的实施例并不局限于此。
图2提供了设备仿真器的扩展的说明。设备仿真器114可以包括一种或更多种功能。在USB设备仿真器的情况下,这些功能被实现为USB端点(endpoint)。如这里所使用的,端点通常是指设备仿真器上的功能的实现(例如,硬件、软件、固件),但是并不局限于USB实现。
设备仿真器114可以包括至少一个端点,尽管示出了多个端点202A、202B、202C、…、202N。每个端点202A、202B、202C、…、202N可以对应于被仿真设备的一种功能。端点202A、202B、202C、…、202N还可以维护状态(包括完成信息)。例如,对于发往主机处理器102A、102B的事务,端点202A、202B,202C、…、202N可以收集主机所生成的ACK(应答),而对于来自主机处理器102A、102B的事务,则可以生成对于主机处理器102A、102B的ACK。
每个端点202A、202B、202C、…、202N可以包括至少一个缓冲器206(被示出为由所有端点使用的单个共享缓冲器)。此外,每个端点202A、202B、202C还可以包括至少一组寄存器208(同样,被示出为由所有端点使用的单组共享寄存器)。缓冲器206可以存储相应设备的仿真信息(以下所描述的),并且还从主机控制器接收完成信息。
所述至少一组寄存器208例如可以被微控制器102C用来控制所述一个或更多个端点202A、202B、202C、…、202N。微控制器102C可以通过对与端点202A、202B、202C、…、202N相关联的寄存器208进行编程而使得端点202A、202B、202C、…、202N能够仿真设备。此外,微控制器102C可以根据所需端点的数目来启用端点202A、202B、202C、…、202N仿真不同设备功能,或禁止端点202A、202B、202C、…、202N仿真不同设备功能。在一个实施例中,一旦端点202A、202B、202C、…、202N被启用,设备仿真器114就可以通过例如ICH 108B的内部端口耦合到主机控制器。
如上所述,设备仿真器114可以用作单功能设备,或者作为多功能设备。就此方面而言,设备仿真器114在其作为单功能设备时可以包括单个端点(例如,202A、202B、202C、…、202N之一),而在其作为多功能复合设备时可以包括多个端点202A、202B、202C、…、202N。在USB设备仿真的情况下,例如,设备仿真器114可以表示具有多种功能的复合USB设备,并且每种功能可以被设备仿真器114的端点202A、202B、202C、…、202N所处理。在一个实施例中,设备功能可以被称作接口。
设备仿真器114还可以包括数据移动逻辑204,用以将仿真信息(以下所描述的)移至缓冲器206,以及从缓冲器206移出仿真信息。如这里所使用的,数据移动逻辑是指用于传输数据的专用功能或专用模块。DMA(直接存储器存取)引擎是数据移动逻辑的一个示例。
图3说明了根据本发明的实施例的方法。图3的方法在框300开始并且继续至框302,在框302,所述方法可以包括在处理器处接收仿真信息,所述仿真信息对应于被仿真设备的一种或更多种功能,并且所述仿真信息包括数据和命令中的至少一个。
如这里所使用的,“仿真信息”是指可以被发送到管理控制台118和/或从管理控制台118接收的对应于被仿真设备的命令或数据。仿真信息可以包括仿真命令和/或数据。
在一个实施例中,仿真信息可以是外部发送的,例如,来自管理控制台118。然而,本发明的实施例并不局限于此,并且在一些实施例中,仿真信息可以是从系统100自身的一个或更多个组件发送的。在一个实施例中,会发生事件,其触发在管理控制台118和系统100之间仿真信息的传送。所述事件可以从管理控制台118或系统100发起。例如,所述事件可以在管理控制台118需要远程地在系统100上安装操作系统的情况下被触发(在这种情况下,管理控制台118可以发起对存储设备的仿真)。或者,管理控制台118可能需要远程地使用键盘来控制系统100(在这种情况下,管理控制台118可以发起对键盘的仿真)。
系统100可以通过网络接口在网络116接收仿真信息,但是本发明的实施例并不局限于此。仿真信息可以在系统100的微控制器102C处被接收,并且被存储在为微控制器102C保留的存储器中,诸如存储在存储器106或者专用于微控制器102C的另一存储器(未示出)中。
在一个实施例中,在系统100处所接收的仿真信息可以与具有第一协议的设备相关联。仿真信息随后可以被转换为第二协议。所述第一和第二协议可以是相同协议,或者它们可以是不同协议。在一个实施例中,第二协议(与发送设备相关联的)可以是任意协议,而第一协议(与系统100相关联的)为USB(通用串行总线),然而本发明的实施例并不局限于该标准。在2000年4月27日的通用串行总线规范修订版2.0中定义了当前版本的USB协议,但是本发明的实施例并不局限于特定版本的USB。USB提供了一些便利。例如,由于在操作系统前(pre-operating system)引导时间就支持USB设备,所以仿真的USB设备能够被动态插入正在运行的系统或者从正在运行的系统动态拔出。此外,标准的USB设备并不涉及专门的主机驱动程序开发。然而,本发明的实施例并不局限于此。
在框304,所述方法可以包括根据所述仿真信息执行多种功能中的至少一种功能的高级仿真,所述仿真由处理器执行。
在一个实施例中,微控制器102C可以管理对被仿真设备的高级仿真,而设备仿真器114例如可以在设备仿真器114的硬件电路中管理对被仿真设备的低级仿真。在该实施例中,微控制器102C还可以管理一个或更多个网络协议,以使得能够通过网络116与一个或更多个管理控制台(例如管理控制台118)进行通信。在另一个实施例中,对被仿真设备的高级和低级仿真都可以在例如设备仿真器114的硬件电路中实现,而微控制器102C可以仅执行对设备仿真器114的数据传输。
高级仿真是指对被仿真设备进行仿真,使得微控制器102C或设备仿真器114能够在会话管理级别上表现得像被仿真设备一样。低级仿真是指在协议级别上对被仿真设备进行仿真。
该高级仿真可以是特定于设备的(或者在被仿真设备是多功能的复合设备的情况下,特定于功能/接口的)。类似地,移至端点的数据/从端点移出的数据是特定于功能/接口的,并且是功能/接口协议的一部分。例如,在设备仿真器125对具有多种功能的USB复合设备进行仿真的情况下,微控制器102C可以使仿真数据适合于USB事务分组,或者可以从USB事务分组中提取仿真数据,诸如对于从设备仿真器114到微控制器102C(并随后到网络)的数据的OUT事务、对于从微控制器102C(从网络)到设备仿真器114的数据的IN事务、或者发送并返回控制/状态信息的SETUP事务。
在框306,所述方法可以包括将所述仿真信息从处理器传输到设备仿真器。为了向设备仿真器114传输仿真信息,可以将仿真信息从存储器(例如存储器106)移动到与相应的端点202A、202B、202C、…、202N相关联的缓冲器206。在一个实施例中,数据移动逻辑204可以被用来进行上述操作。然而,在例如微控制器102C和设备仿真器114可以位于同一管芯的实施例中,并不需要使用数据移动逻辑。例如,微控制器102C可以被用来执行去往/来自端点202A、202B、202C、…、202N的数据传输。
缓冲器206中所存储的仿真信息的格式可以与通过网络传输的仿真信息保持一样而未经处理,从而依赖于例如设备仿真器114中的复杂硬件去执行协议转换,或者微控制器102C可以通过可执行代码来处理协议转换。
在框308,所述方法可以包括由设备仿真器执行多种功能中的至少一种功能的低级仿真。设备仿真器114随后可以处理低级协议。例如,在一个实施例中,所述低级协议可以是USB链路层传输协议,诸如IN/OUT/SETUP事务排序、事务重试、地址分配等。
对于USB键盘仿真的示例而言,设备仿真器114可以通过IN事务接收对被仿真的USB键盘中出现的按键中断的查询。设备仿真器114可以重试IN事务,并且同时将对于IN事务数据的请求转发至微控制器102C。然后,微控制器102C在设备仿真器114的缓冲器206中准备针对中断查询的状态。并且在主机控制器随后再次重试IN事务时,设备仿真器114能够将IN事务的数据从缓冲器206传送到主机控制器。随后,主机控制器能够通过类似的IN事务协议请求实际的按键数据。
如果设备仿真器114是复杂的硬件,则除了处理高级协议之外还能处理低级协议。例如,设备仿真器114可以理解正在通过低级协议所传送的命令并且对其进行响应,而无需来自微控制器102C的支持(或者借助最小的支持)。设备仿真器114的硬件甚至可以转换为最终网络分组格式或者从最终网络分组格式进行转换,以减少微控制器102C的工作。
所述方法可以在框310处结束。
在操作中,管理控制台118所传送的命令和/或数据可以对系统100表现为由物理或虚拟的被仿真设备(或其组合)所传送的命令和/或数据。
例如,管理控制台118所传送的镜像文件可以对系统100表现为由耦合到系统100的物理或虚拟CD-ROM(所述的“被仿真设备”)所传送的镜像文件;或者管理控制台118所传送的键盘敲击可以对系统100表现为由耦合到系统100的被仿真键盘所传送的相同键盘敲击。
作为示例,如果需要安装操作系统,并且这样的安装通常要使用诸如CD-ROM(光盘-只读存储器)之类的存储设备来执行,则设备仿真器114可以通过CD-ROM镜像文件来(物理地和/或虚拟地)仿真CD-ROM的功能。作为另一个示例,为了避免需要系统管理员真实出现以对系统100执行修复或更新,例如,管理控制台118可以通过向系统100发送命令/数据来管理修复和/或更新,所述命令/数据使得设备仿真器114能够仿真系统100上的键盘敲击或鼠标移动。
例如,设备仿真器114可以(远程地)对物理或虚拟地位于管理控制台118上的存储设备进行仿真。在该示例中,管理控制台118可以发送命令以用于对被仿真的存储设备的插入或移除进行仿真。一旦被仿真的存储设备对系统100表现为被附接上,则系统100上的OS(操作系统)能够对被仿真的存储设备进行访问,就像其物理地位于那里一样。随后,与存储相关的命令(诸如读取命令或写入命令)可以被从OS发往设备仿真器114,并且被转发至管理控制台118。
例如,响应于存储读取命令,管理控制台118可以向设备仿真器114发送存储数据,并且随后由设备仿真器114返回至OS。例如,响应于写入命令,OS可以向设备仿真器114发送存储数据,设备仿真器114随后可以将存储数据转发至管理控制台。管理控制台118还可以在命令结尾处向设备仿真器114发送状态响应,该状态响应随后可以被设备仿真器114返回至OS。
键盘仿真是另一个示例,其中管理控制台118可以发送命令以用于对键盘的插入或移除进行仿真。管理控制台118可以向设备仿真器114发送键盘数据消息(例如,以按键形式)。设备仿真器114可以向管理控制台118发送状态消息,例如LED开/关状态。
在以上说明书中,已经参考说明书的具体实施例对本发明进行了描述。然而,显然可以对这些实施例进行各种修改和改变,而不会与本发明相背离。因此,说明书和附图应被认为是说明性的而不是限制性的。

Claims (16)

1.一种装置,包括:
多个端点,其中每个端点:
对应于被仿真设备的一种功能;
具有至少一个缓冲器,用以存储与所述被仿真设备相对应的仿真信息;和
用于执行与所述多个端点相对应的功能中的至少一种功能的低级仿真。
2.如权利要求1所述的装置,其中所述设备仿真器内部耦合至集成电路。
3.如权利要求1所述的装置,其中每个端点从存储器取得与所述被仿真设备相对应的仿真信息,并且所述设备仿真器还包括:数据移动逻辑,用于将所述仿真信息从所述存储器移至所述至少一个缓冲器。
4.如权利要求1所述的装置,还包括用于执行与所述多个端点相对应的功能中的至少一种功能的高级仿真的逻辑。
5.如权利要求1所述的装置,其中每个端点还包括用于启用和禁止所述每个端点的至少一组寄存器。
6.一种系统,包括:
微控制器,用于:
接收与被仿真设备的一种或更多种功能相对应的仿真信息,所述仿真信息包括数据和命令中的至少一个;并且
根据所述仿真信息执行所述多种功能的高级仿真;和
设备仿真器,其耦合到所述微控制器,所述设备仿真器具有:
多个端点,其中每个端点:
对应于所述被仿真设备的所述多种功能中的一种功能;并且
具有至少一个缓冲器以存储所述仿真信息;
用于执行所述多种功能中的至少一种功能的低级仿真的逻辑;以及
直接存储器存取(DMA)引擎,用于将仿真信息从所述存储器传输到所述至少一个缓冲器。
7.如权利要求6所述的系统,还包括:网络接口,用于从远程系统接收所述仿真信息。
8.如权利要求7所述的系统,还包括中枢控制器,并且其中所述设备仿真器内部耦合至所述中枢控制器。
9.如权利要求6所述的系统,其中每个端点从存储器取得与所述被仿真设备相对应的仿真信息,并且所述设备仿真器还包括:数据移动逻辑,用于将所述仿真信息从所述存储器移至所述至少一个缓冲器。
10.如权利要求6所述的系统,其中每个端点还包括至少一组寄存器,并且其中所述微控制器使用所述至少一组寄存器来启用和禁止所述多个端点。
11.一种方法,包括:
在处理器处接收仿真信息,所述仿真信息对应于被仿真设备的一种或更多种功能,并且所述仿真信息包括数据和命令中的至少一个;
根据所述仿真信息执行所述多种功能中的至少一种功能的高级仿真,所述仿真由所述处理器执行;
将所述仿真信息从所述处理器传输到设备仿真器;并且
由所述设备仿真器执行所述多种功能中的至少一种功能的低级仿真。
12.如权利要求11所述的方法,其中所述的将所述仿真信息从所述处理器传输到设备仿真器包括:
直接存储器存取(DMA)引擎将所述仿真信息从为所述处理器保留的存储器传输到所述设备仿真器的至少一个缓冲器。
13.如权利要求11所述的方法,还包括:所述处理器使用与所述设备仿真器相关联的至少一组寄存器来启用和禁止与所述设备仿真器相关联的每个端点。
14.一种其上存储有指令的制品,所述指令当由机器执行时,导致以下:
在处理器处接收仿真信息,所述仿真信息对应于被仿真设备的一种或更多种功能,并且所述仿真信息包括数据和命令中的至少一个;
根据所述仿真信息执行所述多种功能中的至少一种功能的高级仿真,所述仿真由所述处理器执行;
将所述仿真信息从所述处理器传输到设备仿真器;并且
由所述设备仿真器执行所述多种功能中的至少一种功能的低级仿真。
15.如权利要求14所述的制品,其中导致将所述仿真信息从所述处理器传输到设备仿真器的所述指令包括:
导致直接存储器存取(DMA)引擎将所述仿真信息从为所述处理器保留的存储器传输到所述设备仿真器的至少一个缓冲器的指令。
16.如权利要求14所述的制品,还包括:所述处理器使用与所述设备仿真器相关联的至少一组寄存器来启用和禁止与所述设备仿真器相关联的每个端点。
CN2009801392375A 2008-12-29 2009-12-14 复合设备仿真 Pending CN102171655A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/317,848 US20100169069A1 (en) 2008-12-29 2008-12-29 Composite device emulation
US12/317,848 2008-12-29
PCT/US2009/067862 WO2010077813A2 (en) 2008-12-29 2009-12-14 Composite device emulation

Publications (1)

Publication Number Publication Date
CN102171655A true CN102171655A (zh) 2011-08-31

Family

ID=42285973

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2009801392375A Pending CN102171655A (zh) 2008-12-29 2009-12-14 复合设备仿真

Country Status (4)

Country Link
US (1) US20100169069A1 (zh)
EP (1) EP2370897A4 (zh)
CN (1) CN102171655A (zh)
WO (1) WO2010077813A2 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105917313A (zh) * 2013-12-02 2016-08-31 英特尔公司 优化平台仿真资源消耗的方法和装置
CN106796556A (zh) * 2014-10-05 2017-05-31 亚马逊技术股份有限公司 仿真端点配置

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8732364B1 (en) * 2010-10-28 2014-05-20 Emc Corporation Transfer of data storage device features
US9292108B2 (en) 2012-06-28 2016-03-22 Dell Products Lp Systems and methods for remote mouse pointer management
JP6349783B2 (ja) * 2014-02-28 2018-07-04 富士通株式会社 端末装置、サーバ装置、デバイスドライバプログラム及び外部周辺機器制御方法
US10290151B2 (en) * 2016-08-17 2019-05-14 Blackberry Limited AR/VR device virtualisation
RU200727U1 (ru) * 2020-07-03 2020-11-09 Федеральное государственное бюджетное образовательное учреждение высшего образования "Рыбинский государственный авиационный технический университет имени П.А. Соловьева" Аппаратный эмулятор учебного стенда с блоком вывода графической информации

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US2775404A (en) 1954-08-12 1956-12-25 United Air Lines Inc Navigational computers
US5333307A (en) * 1992-08-17 1994-07-26 Intel Corporation Circuitry and method for causing a microcontroller/microprocessor to be on-circuit emulated
US5995743A (en) * 1997-09-22 1999-11-30 International Business Machines Corporation Method and system for interrupt handling during emulation in a data processing system
US6725281B1 (en) * 1999-06-11 2004-04-20 Microsoft Corporation Synchronization of controlled device state using state table and eventing in data-driven remote device control model
US6636929B1 (en) * 2000-04-06 2003-10-21 Hewlett-Packard Development Company, L.P. USB virtual devices
US6999912B2 (en) * 2001-03-13 2006-02-14 Microsoft Corporation Provisioning computing services via an on-line networked computing environment
US20020156885A1 (en) * 2001-04-23 2002-10-24 Thakkar Bina Kunal Protocol emulator
TW518502B (en) * 2001-07-13 2003-01-21 Prolific Technology Inc USB compound device and the realization method thereof
US7209874B2 (en) * 2002-02-25 2007-04-24 Zoran Corporation Emulator-enabled network connectivity to a device
US20030227913A1 (en) * 2002-06-05 2003-12-11 Litchfield Communications, Inc. Adaptive timing recovery of synchronous transport signals
AU2003249112A1 (en) * 2002-07-15 2004-02-02 Axalto Sa Usb device
US7698121B2 (en) * 2004-11-16 2010-04-13 Carnegie Mellon University Device and method for programmable wideband network emulation
US7383547B1 (en) * 2004-12-03 2008-06-03 Lecroy Corporation Apparatus and technique for device emulation
US7949798B2 (en) * 2004-12-30 2011-05-24 Intel Corporation Virtual IDE interface and protocol for use in IDE redirection communication
US20070005867A1 (en) * 2005-06-30 2007-01-04 Nimrod Diamant Virtual peripheral device interface and protocol for use in peripheral device redirection communication
US7752029B2 (en) * 2006-06-23 2010-07-06 Kyocera Mita Corporation Method to change USB device descriptors from host to emulate a new device
US7587536B2 (en) * 2006-07-28 2009-09-08 Icron Technologies Corporation Method and apparatus for distributing USB hub functions across a network
US8229727B2 (en) * 2007-01-09 2012-07-24 International Business Machines Corporation System and method for incorporating design behavior and external stimulus in microprocessor emulation model feedback using a shared memory

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105917313A (zh) * 2013-12-02 2016-08-31 英特尔公司 优化平台仿真资源消耗的方法和装置
CN106796556A (zh) * 2014-10-05 2017-05-31 亚马逊技术股份有限公司 仿真端点配置
US10521365B2 (en) 2014-10-05 2019-12-31 Amazon Technologies, Inc. Emulated endpoint configuration
CN106796556B (zh) * 2014-10-05 2020-02-11 亚马逊技术股份有限公司 仿真端点配置
CN111258930A (zh) * 2014-10-05 2020-06-09 亚马逊技术股份有限公司 仿真端点配置
US11321247B2 (en) 2014-10-05 2022-05-03 Amazon Technologies, Inc. Emulated endpoint configuration
US11886355B2 (en) 2014-10-05 2024-01-30 Amazon Technologies, Inc. Emulated endpoint configuration
CN111258930B (zh) * 2014-10-05 2024-04-12 亚马逊技术股份有限公司 仿真端点配置

Also Published As

Publication number Publication date
WO2010077813A3 (en) 2010-09-16
US20100169069A1 (en) 2010-07-01
EP2370897A4 (en) 2012-06-06
WO2010077813A2 (en) 2010-07-08
EP2370897A2 (en) 2011-10-05

Similar Documents

Publication Publication Date Title
CN102171655A (zh) 复合设备仿真
CN101425966B (zh) 片上网络以及使用片上网络进行数据处理的方法
KR101035832B1 (ko) 집적 종단점 장치와, 집적 pci 익스프레스 종단점 장치및 pci 익스프레스 통신 시스템
US8521929B2 (en) Virtual serial port management system and method
CN100580648C (zh) 对包含在通信信息包中的标识符进行转换的方法和装置
CN101267334B (zh) 一种动态分配设备的方法及装置
US7702748B2 (en) Method and system for computer nodes configured with a plurality of UART channels for serial redirection through with a service processor
US10846254B2 (en) Management controller including virtual USB host controller
CN103678201B (zh) 具有逻辑设备能力的pci express切换器
US20130024595A1 (en) Pci express switch with logical device capability
CN104299466A (zh) 一种基于云计算平台的远程硬件实验方法及系统
KR20210033996A (ko) 전용 저 레이턴시 링크를 사용한 다수의 하드웨어 가속기에 대한 통합된 어드레스 공간
CN106254170A (zh) 服务器联机状态检测及通知的方法及系统
CN102722414A (zh) 用于多根i/o 虚拟化共享系统的i/o 资源管理方法
CN102388357B (zh) 访问存储设备的方法及系统
CN102486741A (zh) 串口共用系统及方法
CN103634225A (zh) 云计算网络虚拟化中的业务带宽扩展方法
CN106301859A (zh) 一种管理网卡的方法、装置及系统
CN101889263B (zh) 控制路径i/o虚拟化
CN103986602A (zh) 一种启动操作系统的方法、相关设备和系统
CN102193816B (zh) 一种设备分配方法及系统
CN114328349A (zh) 虚拟串口终端系统及其实现方法、设备及计算机存储介质
CN100458728C (zh) 一种模拟芯片操作的方法及系统
KR102268796B1 (ko) 하이퍼바이저 기반 plc 서비스 처리 장치
JP2023545380A (ja) PCIeデバイスのための仮想ホットプラグシステム及び方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20110831