CN109891399A - 在相同的物理串行总线集线器上产生多个虚拟串行总线集线器实例的装置和方法 - Google Patents
在相同的物理串行总线集线器上产生多个虚拟串行总线集线器实例的装置和方法 Download PDFInfo
- Publication number
- CN109891399A CN109891399A CN201780064432.0A CN201780064432A CN109891399A CN 109891399 A CN109891399 A CN 109891399A CN 201780064432 A CN201780064432 A CN 201780064432A CN 109891399 A CN109891399 A CN 109891399A
- Authority
- CN
- China
- Prior art keywords
- port
- equipment
- host
- virtual
- concentrator
- 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
- 238000000034 method Methods 0.000 title claims abstract description 39
- 230000008878 coupling Effects 0.000 claims abstract description 28
- 238000010168 coupling process Methods 0.000 claims abstract description 28
- 238000005859 coupling reaction Methods 0.000 claims abstract description 28
- 238000011144 upstream manufacturing Methods 0.000 claims description 74
- 230000004044 response Effects 0.000 claims description 12
- 230000001052 transient effect Effects 0.000 claims description 12
- 238000009739 binding Methods 0.000 claims description 6
- 230000027455 binding Effects 0.000 claims description 6
- 230000015654 memory Effects 0.000 description 46
- 238000004891 communication Methods 0.000 description 45
- 230000005540 biological transmission Effects 0.000 description 26
- 238000003860 storage Methods 0.000 description 26
- 238000010586 diagram Methods 0.000 description 20
- 230000002093 peripheral effect Effects 0.000 description 20
- 230000006870 function Effects 0.000 description 15
- 238000012545 processing Methods 0.000 description 14
- 230000006855 networking Effects 0.000 description 13
- 238000007726 management method Methods 0.000 description 12
- 238000013461 design Methods 0.000 description 11
- 230000007246 mechanism Effects 0.000 description 8
- 230000007958 sleep Effects 0.000 description 8
- 230000008859 change Effects 0.000 description 7
- 230000005611 electricity Effects 0.000 description 7
- 238000005538 encapsulation Methods 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 6
- 230000008569 process Effects 0.000 description 6
- 238000004364 calculation method Methods 0.000 description 5
- 239000004020 conductor Substances 0.000 description 5
- 238000013500 data storage Methods 0.000 description 5
- 238000001514 detection method Methods 0.000 description 5
- 238000004519 manufacturing process Methods 0.000 description 5
- 230000004043 responsiveness Effects 0.000 description 5
- 230000009466 transformation Effects 0.000 description 5
- 238000004422 calculation algorithm Methods 0.000 description 4
- 230000002708 enhancing effect Effects 0.000 description 4
- 230000003068 static effect Effects 0.000 description 4
- 230000000007 visual effect Effects 0.000 description 4
- 210000000038 chest Anatomy 0.000 description 3
- 238000000151 deposition Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 230000007613 environmental effect Effects 0.000 description 3
- 239000011521 glass Substances 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000006978 adaptation Effects 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 239000004744 fabric Substances 0.000 description 2
- 210000000887 face Anatomy 0.000 description 2
- 239000005400 gorilla glass Substances 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 238000003032 molecular docking Methods 0.000 description 2
- 239000004033 plastic Substances 0.000 description 2
- 229920003023 plastic Polymers 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 230000007704 transition Effects 0.000 description 2
- 239000011800 void material Substances 0.000 description 2
- LHMQDVIHBXWNII-UHFFFAOYSA-N 3-amino-4-methoxy-n-phenylbenzamide Chemical compound C1=C(N)C(OC)=CC=C1C(=O)NC1=CC=CC=C1 LHMQDVIHBXWNII-UHFFFAOYSA-N 0.000 description 1
- RYGMFSIKBFXOCR-UHFFFAOYSA-N Copper Chemical compound [Cu] RYGMFSIKBFXOCR-UHFFFAOYSA-N 0.000 description 1
- 239000004677 Nylon Substances 0.000 description 1
- 235000012377 Salvia columbariae var. columbariae Nutrition 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 230000004913 activation Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 238000007664 blowing Methods 0.000 description 1
- 239000003990 capacitor Substances 0.000 description 1
- 210000004027 cell Anatomy 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 240000001735 chia Species 0.000 description 1
- 239000011248 coating agent Substances 0.000 description 1
- 238000000576 coating method Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 230000001276 controlling effect Effects 0.000 description 1
- 238000006880 cross-coupling reaction Methods 0.000 description 1
- 238000000354 decomposition reaction Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000006866 deterioration Effects 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 235000013399 edible fruits Nutrition 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 229910052738 indium Inorganic materials 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 239000002184 metal Substances 0.000 description 1
- 229910052751 metal Inorganic materials 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 239000012811 non-conductive material Substances 0.000 description 1
- 229920001778 nylon Polymers 0.000 description 1
- 210000003733 optic disk Anatomy 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000010355 oscillation Effects 0.000 description 1
- 238000000059 patterning Methods 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 238000004080 punching Methods 0.000 description 1
- 230000001105 regulatory effect Effects 0.000 description 1
- 230000008439 repair process Effects 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 230000000630 rising effect Effects 0.000 description 1
- 238000009738 saturating Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 210000000352 storage cell Anatomy 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 230000007474 system interaction Effects 0.000 description 1
- 230000008685 targeting Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
- 238000009423 ventilation Methods 0.000 description 1
- 230000002618 waking effect Effects 0.000 description 1
- 229910000859 α-Fe Inorganic materials 0.000 description 1
Classifications
-
- 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/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4063—Device-to-bus coupling
- G06F13/4068—Electrical coupling
-
- 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/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4282—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Information Transfer Systems (AREA)
Abstract
描述了涉及在相同的物理串行总线集线器上产生多个虚拟串行总线集线器实例的电路的方法和装置。在一个实施例中,一种装置包括:串行总线集线器,其电耦接多个主机和多个设备;以及电路,其产生绑定到所述多个主机中的第一主机和所述多个设备中的第一设备的第一虚拟集线器实例,并产生绑定到所述多个主机中的第二主机和所述多个设备中的第二设备的可并发使用的第二虚拟集线器实例。
Description
技术领域
本公开总体上涉及电子设备,并且更具体地,本公开的实施例涉及在相同的物理串行总线集线器上产生多个虚拟串行总线集线器实例的电路。
背景技术
电子设备(例如,计算机系统)通常采用一个或多个电连接来促进在设备之间的数据的传输(例如,通信),例如在计算系统与(例如,外部)外围设备之间的数据的传输(例如,通信)。
附图说明
本公开通过举例的方式进行说明,而不限于各个附图的图形,在附图中类似的附图标记指示类似的元件,并且在附图中:
图1示出了根据本公开的实施例的包括经由串行总线集线器耦接到多个设备的多个主机的系统的示意图。
图2示出了根据本公开的实施例的包括经由串行总线集线器无线耦接到多个设备的多个主机的系统的示意图。
图3示出了根据本公开的实施例的包括经由串行总线集线器利用有线连接而耦接到多个设备的多个主机的系统的示意图。
图4示出了根据本公开的实施例的虚拟集线器实例的状态的流程图。
图5示出了根据本公开的实施例的在相同的物理串行总线集线器上产生多个虚拟串行总线集线器的流程图。
图6示出了根据本公开的实施例的串行总线插座的透视图。
图7示出了根据本公开的实施例的串行总线插座的管脚的示意图。
图8示出了根据本公开的实施例的串行总线插头的透视图。
图9示出了根据本公开的实施例的串行总线插头的管脚的示意图。
图10示出了根据本公开的实施例的包括外围部件快速互连(PCIe)兼容架构的计算系统。
图11示出了根据本公开的实施例的包括分层栈的PCIe兼容互连架构。
图12示出了根据本公开的实施例的要在互连架构之内生成或接收的PCIe兼容请求或分组。
图13示出了根据本公开的实施例的用于PCIe兼容互连架构的发送器和接收器对。
图14示出了根据本公开的实施例的芯片上的计算系统。
图15示出了计算系统的框图的实施例。
图16示出了计算系统的框图的另一实施例。
图17示出了计算系统的框图的另一实施例。
具体实施方式
在以下描述中,阐述了许多具体细节。然而,应当理解,可以在没有这些具体细节的情况下来实践本公开的实施例。在其他实例中,未详细示出众所周知的电路、结构和技术,以便不会使对本说明书的理解模糊不清。
在说明书中对“一个实施例”、“实施例”、“示例实施例”等的引用指示所描述的实施例可以包括特定特征、结构或特性,但是每个实施例可能不一定都包括该特定特征、结构或特性。此外,这样的短语不一定是指相同的实施例。另外,在结合实施例描述特定特征、结构或特性时,认为结合其他实施例影响这样的特征、结构或特性在本领域技术人员的知识范围之内,无论是否明确描述。
电子设备(例如,计算系统)通常采用一个或多个电耦接(例如,有线或无线连接)以促进在设备之间,例如但不限于在计算系统(例如,包括硬件处理器的计算机)和(例如,外部)外围设备之间的数据的发送和接收(例如,通信)。外围设备的非限制性示例是键盘、鼠标、外部存储设备(例如,硬盘驱动器)以及移动设备(例如,智能电话或平板电脑)。
某些电耦接(例如,连接)包括平行导体(例如,平行的线或其他导电路径)。电连接的一个实施例是总线。总线的一个实施例是多导体总线,例如,其中导体(例如,线)允许在其上并行(例如,并发)传输数据。术语电耦接可以一般是指一个或多个连接、通信线路和/或接口、共享连接和/或可以通过适当的桥、集线器、适配器和/或控制器连接的点到点连接。串行总线(例如,串行总线架构)一般可以是指例如在(例如,每个)信道(例如,单根线或光纤)上一个比特接一个比特(例如,顺序地)传输数据的(例如,共享)通信信道。
短语通用串行总线(USB)一般是指串行总线的(一个或多个)规范,其支持例如通过其间的一个或多个集线器在面向下游的端口(例如,主机)和面向上游的端口(例如,设备)之间发送和接收数据(例如,和电力和/或控制)。短语无媒介限制USB(MA-USB)通常是指使得能够在宽范围的物理通信媒介(例如包括WiFi和WiGig无线网络)上执行使用通用串行总线(USB)规范的通信的(一个或多个)规范。在一个实施例中,MA-USB允许用于无线设备(例如,插接站)的通信而不使用或不需要物理USB端口或其他物理连接。在一个实施例中,MA-USB使用现有的USB电路实现了无线吉比特传输速率,例如,其中,即使设备未经由USB线缆连接到主机,该装置也向主机呈现为USB设备(例如,符合USB规范)。MA-USB协议适配层(PAL)可以用于实现在物理USB线缆之外的媒介上传输USB数据,例如,通过无线连接(例如,WiFi或WiGig链接)或非USB有线连接(例如,根据(一个或多个)以太网标准)。在无线实施例中,MA-USB PAL可以直接与无线电收发装置接口连接,例如,以替换开放系统互连(OSI)模型中的网络层或者作为互联网协议(IP)应用,例如,与传输控制协议(TCP)和IP(TCP/IP)协议(例如,层的栈)接口连接。
在一个(例如,USB)实施例中,一个主机一次仅可以使用一个(例如,USB)设备,使得共享(例如,USB)设备包括从一个主机拔下该设备并将其插入另一主机中。在一个实施例中,设备(例如,外部(例如USB)集线器或键盘、视频和鼠标(KVM)开关)允许在特定主机与特定设备之间的连接的切换,但绝不可以由相应主机在同一时间使用(例如,USB)设备。在一个实施例中,USB线缆的插头从连接在主机和/或集线器之间被物理地移动。在一个实施例中,多个物理集线器与不同的主机共享,并要求用户物理地改变通往(例如,USB)设备的连接(例如,将插头移动到不同的设备插座)。
本文中的特定实施例构架了一种(例如,MA-USB)集线器,使得设备可以由不同的(例如,MA-USB)虚拟集线器同时使用。在一个实施例中,每个(例如,MA-USB)主机连接都利用了例如独特的网络套接字(例如,媒体访问控制(MAC)地址或IP地址),并将该套接字附接到可用的(例如,USB)设备的独特子集。
本文中的特定实施例提供了可同时使用在相同的物理串行总线集线器上的多个虚拟串行总线集线器实例。本文中的特定实施例提供了虚拟(例如,MA-USB)集线器实例以划分物理(例如,USB)集线器,使得实例中的每个(例如,逻辑单元)同时与多个不同的主机中的相应主机共享。本文中的特定实施例允许跨不同主机无线地共享(例如,USB)设备。本文中的特定实施例允许对有线USB集线器的虚拟化,以便与多个主机共享相同的物理集线器上的设备。
本文中的特定实施例允许例如经由允许并发使用的集线器来并发使用第一集线器和设备对与第二集线器和设备对,例如,不仅仅是首先与一个主机和设备共享连接,并且然后接着与另一主机和设备共享连接。本文中的特定实施例限制或防止集线器上的所有设备与连接到该集线器的每个主机共享,例如,其中一次仅仅一个主机可以使用电耦接到集线器的设备。
本文中的特定实施例提供了将不同的物理(例如,USB)设备划分成那些设备的子集,例如,其中,每个子集都与单个不同的主机(例如,经由虚拟MA-USB集线器或物理上游端口)共享。在一个实施例中,每个主机被绑定到特定设备或一组设备,例如,其中那些设备在它们被绑定时可由那个不同的主机排他地使用。在该实施例中,每个主机可以枚举分配给它的独特的面向上游的(例如,设备)端口并不影响已经连接(例如,并使用)到不同的面向下游的(例如,主机)端口的其他主机或不受其影响。
本文中的特定实施例允许同时(例如,既在使用MA-USB时又在应用到物理连接到USB集线器的USB主机时)与不同主机共享(例如,USB)设备。例如,在例如通过MA-USB无线连接或物理(例如,C型等)连接而连接到(例如,USB)集线器时,计算系统(例如,个人计算机(PC))可以是移动设备(例如,平板电脑或智能电话)的插接站。在一个实施例中,集线器(或连接到集线器的设备)的一些USB端口可以保持连接到计算系统,而其他则与插接的移动设备共享。本文中的特定实施例允许(例如,USB)设备的按需共享。本文中的特定实施例避免了将微型USB适配器和集线器插入设备(例如,移动电话或平板电脑)中以利用USB设备。本文中的特定实施例允许用户的设备连接到并使用连接的网络上的任何USB设备,例如,计算(例如,台式)系统可以例如通过WiFi与其他设备(例如,手持式或物联网(IoT)系统)共享其USB设备。在一个实施例中,一个主机是没有或具有有限(例如,单个)USB端口的无线设备,并且集线器是具有物理USB端口的通电设备,例如,计算(例如,台式)系统之内的集线器,以与相同网络上的无线设备(例如,主机)的任意组合共享其连接的USB设备中的任何或全部。
图1示出了根据本公开的实施例的包括经由串行总线集线器106耦接到多个设备104的多个主机102的系统100的示意图。在一个实施例中,多个主机102是任意数量N,例如,2个或更多个。在一个实施例中,多个设备104是任意数量M,例如,2个或3个或更多个。M可以等于N或不等于N。
本文中的特定实施例提供了多个主机的子集,以连接到例如经由集线器电耦接到主机的多个设备的子集。第一虚拟集线器实例可以包括(例如,被绑定到)多个主机的子集和多个设备的子集,这两个子集被允许在其之间传输数据,例如,并且不向未绑定到第一虚拟集线器实例的主机和/或设备传输数据。作为一个示例,第一虚拟集线器(1)实例(示意性示出在集线器106之内)可以被绑定到主机1(H1)和设备1(D1)。第二虚拟集线器实例可以包括(例如,被绑定到)多个主机的不同子集和多个设备的不同子集,这两个子集被允许在其之间传输数据(例如,与第一虚拟集线器实例之内的数据的传输并发地然而分离地),例如,并且不向未绑定到第二虚拟集线器实例的主机和/或设备传输数据。作为一个示例,第二虚拟集线器(2)实例(示意性示出在集线器106之内)可以被绑定到主机2(H2)和设备2(D2)。在一个实施例中,可以利用任意多个虚拟集线器实例,例如,数量X个。X可以等于主机的数量N。
主机可以包括(例如,USB)串行总线电路(例如,包括控制器)。主机可以包括(例如,MA-USB)电路(例如,包括控制主机PAL的电路),以允许串行总线电路与主机的(例如,非USB)收发器(例如,无线电收发装置)之间的链接。设备可以包括(例如,USB)串行总线电路(例如,包括控制器)。设备可以包括(例如,MA-USB)电路(例如,包括控制设备PAL的电路),以允许串行总线电路与设备的(例如,非USB)收发器(例如,无线电收发装置)之间的链接。集线器可以包括(例如,USB)串行总线电路(例如,包括集线器控制器电路)。集线器可以包括(例如,MA-USB)电路(例如,以模拟USB连接),以允许主机与设备之间的链接,主机和设备均电耦接到集线器,例如通过非USB连接而电耦接。在一个实施例中,MA-USB集线器包括管理有线USB设备在面向下游的端口上的附接和移除、对靶向连接到面向下游的USB端口的USB设备的USB事务的调度和完成、和/或USB地址分配的电路。在一个实施例中,MA-USB集线器向附接的USB设备提供电力。
电路(例如,在集线器、主机和/或设备之内)可以产生虚拟集线器实例,例如,虚拟集线器1、2……X。在一个实施例中,电路在集线器106之内。在实施例中,电路在集线器的链路控制管理电路之内。在一个实施例中,电路是(例如,USB)集线器控制器电路108。集线器控制器电路可以控制从主机路由到多个设备之一的数据和/或由集线器支持的多个数据传输速率中的数据传输速率(速度)。在一个实施例中,产生虚拟集线器实例的电路要检测主机和设备并将它们绑定在一起,例如,使得主机(例如,其特定的面向下游的端口)和设备(例如,其特定的面向上游的端口)要(例如,仅)向和/或从彼此发送数据。产生虚拟集线器实例的电路可以检测第二主机和第二设备(例如,可使用但未绑定到另一虚拟集线器实例的设备)并将它们绑定在一起,例如,使得第二主机(例如,其特定面向下游的端口)和第二设备(例如,其特定面向上游的端口)要(例如,仅)向和/或从彼此发送数据。产生虚拟集线器实例的电路可以检测额外的设备并将其绑定到新的或现有的虚拟集线器实例。例如,第三设备可以电耦接到集线器106并且第三设备可以被绑定到第一虚拟集线器实例(1),例如,在绑定到第一虚拟集线器实例的主机的请求下。在一个实施例中,主机向该电路指定其希望访问的设备或设备的子集,并且该电路然后将该设备或设备的子集绑定到包括主机的虚拟集线器实例。在一个实施例中,电路(例如,虚拟集线器实例管理电路)创建和/或管理每个虚拟集线器实例,例如,该电路可以读取针对要绑定在一起的每个设备和主机的标识指示(例如,编号)。在一个实施例中,该电路(例如,虚拟集线器实例管理电路)要基于针对匹配数据结构(例如,表格)中的条目的每个的标识指示来准许或拒绝主机与设备之间的访问,该数据结构指示被绑定在一起的设备和主机。在一个实施例中,存在多个物理集线器,其中每个物理集线器代表虚拟集线器,例如,因此存在针对每个虚拟集线器实例的不同的(例如,USB)物理集线器。
在一个实施例中,(例如,在枚举期间)来自主机的重置请求引起对绑定主机的第一虚拟集线器实例的重置,而不引起对另一虚拟集线器实例的重置。在一个实施例中,来自主机的重置请求不引起对串行总线集线器本身的重置。在一个实施例中,来自主机的重置请求引起对(经由第一虚拟集线器实例绑定到主机的)第一设备的重置,而不引起对(例如,绑定到不同的虚拟集线器实例的)另一设备的重置。在一个实施例中,该电路向电耦接到串行总线集线器的后续主机呈现未绑定到当前虚拟集线器实例的多个设备的列表。虚拟集线器实例可以根据通用串行总线(USB)规范绑定主机和一个或多个设备。
在一个实施例中,(例如,USB)集线器和下游设备首先由(例如,主要的)上游主机枚举,并生成可以被虚拟化的可用设备的汇编(例如,数据结构中的列表),例如,然后可以与(一个或多个)后续(例如,USB)主机共享。在一个实施例中,使用无线串行总线(WSB)规范(例如,如果使用MA-USB的话)或(例如,GUI)接口来执行对可用设备(例如,其端口中的特定端口)的这种通告,以将物理上游端口配置为绑定到特定下游端口。在一个实施例中,每个(例如,USB)主机指定要连接到的期望的(例如,USB)设备的子集并随后产生绑定到仅仅那些设备和/或端口的虚拟集线器实例。在物理主机连接到设备的一个实施例中,(例如,由共享(USB)集线器)设置主机的面向下游的端口以附接到可用的面向上游的设备和/或端口的子集。在一个实施例中,在(例如,虚拟集线器或物理集线器子集)的主机枚举期间,伪造对集线器的重置以避免对连接到相同集线器的其他主机的(例如,建立的)连接的其他重置。在一个实施例中,要执行对绑定到虚拟集线器的(一个或多个)设备的真实重置。在一个实施例中,电路将设备从一个虚拟集线器实例转移到另一虚拟集线器实例导致在枚举期间另一设备重置,例如,但将不重置物理集线器。
注意,本文中的单向箭头可能不需要单向通信,例如,它可以指示(例如,至和自该部件的)双向通信。在本文中的某些实施例中,可以利用通信路径中的任何或全部组合。
图2示出了根据本公开的实施例的包括经由串行总线集线器206无线耦接到多个设备204的多个主机202的系统200的示意图。在一个实施例中,每个设备无线连接到集线器和/或每个主机无线连接到集线器。在某些实施例中,可以利用有线和无线连接的混合,例如,一些或全部设备可以无线(或有线)耦接到集线器,并且一些或全部主机可以有线(或无线)耦接到该集线器。在一个实施例中,集线器是计算系统的部件,例如,不是设备(或其面向上游的端口)的部件。
多个主机202可以包括一个或多个MA-USB主机。通信电路208可以在部件之间,例如在主机与集线器206之间,例如在主机与虚拟集线器实例之间,提供通信的一个或多个(例如,数据)信道。在一个实施例中,通信电路208根据(一个或多个)Wi-Fi标准和/或(一个或多个)WiGig标准来进行通信。在一个实施例中,通信电路根据(一个或多个)TCP/IP协议来进行通信。
在某些实施例中,(例如,物理(例如,USB)集线器206中的)电路产生一个或多个虚拟集线器实例。在所描绘的实施例中,集线器206已经产生了将主机1绑定到设备1和设备2的第一虚拟(例如,MA-USB)集线器实例,并产生了将主机2绑定到设备2到设备M的第二虚拟(例如,MA-USB)集线器实例,例如,M可以为数字3。
在一个实施例中,电路(例如,作为主机或集线器的部分)要检测(例如,USB)端口连接事件,然后该电路为连接在端口下游的设备创建新的上下文(例如,设备对象)。在一个实施例中,该设备对象被填充有从设备提取的信息(例如,描述符等),并可以由主机用于存储设备的状态。在某些实施例中,电路(例如,作为集线器的部分)要检测事件(例如,端口连接事件和/或新上下文),并生成针对要电耦接的(一个或多个)主机和设备的虚拟集线器实例,以提供数据传输(例如,除了或替代控制数据的有效载荷数据)。这可以针对出现(例如,电耦接)于集线器处的每个额外的主机和/或(未使用的)设备而进行。例如,(例如,虚拟主机管理器)电路可以将主机1绑定到第一虚拟集线器实例中的设备1和2,并可以将主机2绑定到第二虚拟集线器实例中的设备M(例如,3)(或多个设备)。在一个实施例中,设备1和设备2可以由主机1而不是主机2使用和/或设备M(例如,3)可以由主机2而不是主机1使用。在一个实施例中,第一虚拟集线器实例上的主机和设备可以并发地(例如,同时地)可与第二(例如,任何其他)虚拟集线器实例一起使用,例如,其中每个虚拟集线器实例用于单个(例如,物理)集线器上的所有主机和设备。在一个实施例中,在每个虚拟集线器实例中在没有交错的情况下主动传输数据。在一个实施例中,(例如,MA-USB)虚拟集线器使用物理(例如,USB)集线器发送和接收数据。图2中虚拟集线器(例如,不是虚拟集线器实例)与物理集线器206之间的箭头示出了这样的实施例:其中(例如,MA-USB)虚拟集线器控制物理集线器以便交换数据,例如,(例如,MA-USB)虚拟集线器依赖于物理(例如,USB)集线器以与物理(例如,USB)设备(端口)执行实际(例如,USB)通信。
图3示出了根据本公开的实施例的包括经由串行总线集线器306利用有线连接而耦接到多个设备304的多个主机302的系统300的示意图。在一个实施例中,每个设备经由有线连接(例如,USB线缆)连接到(例如,相同的物理)集线器和/或每个主机经由有线连接(例如,USB线缆)连接到(例如,相同的物理)集线器。在某些实施例中,可以利用有线和无线连接的混合,例如,一些或全部设备可以无线(或有线)耦接到集线器,并且一些或全部主机可以有线(或无线)耦接到集线器。在一个实施例中,集线器是计算系统的部件,例如,不是设备(或其面向上游的端口)的部件。
多个主机302可以均包括设备类驱动器(例如,用于人机界面设备(HID)、大容量存储设备等)、操作系统(OS)主机驱动器以及一个或多个面向下游的(例如,USB)端口(例如,插座)中的一个或多个。
通信电路(例如,(一个或多个)USB线缆)可以在部件之间,例如在主机与(例如,共享)集线器306之间,例如在主机与虚拟集线器实例之间,提供一个或多个(例如,数据)信道。在一个实施例中,通信电路根据(一个或多个)(例如,有线)USB标准来进行通信。
在某些实施例中,(例如,物理(例如,USB)集线器306中的)电路产生一个或多个虚拟集线器实例。在所描绘的实施例中,集线器306已经产生了将主机1绑定到设备1和设备2的第一虚拟(例如,MA-USB)集线器实例,并产生了将主机2绑定到设备2到设备M的第二虚拟(例如,MA-USB)集线器实例,例如,M可以为数字3,例如,同时每个设备和主机(例如,并发地)物理耦接到相同的物理集线器。在一个实施例中,集线器的电路要将(一个或多个)个体物理端口切换到面向上游的端口模式(例如,以连接到主机)或面向下游的端口模式(例如,以连接到设备)。在一个实施例中,电路可以将(例如,USB主机的)每个面向下游的端口绑定到(例如,USB设备的)特定面向上游的端口,以允许(例如,物理)耦接的不同主机均与(例如,不同)特定设备或设备的子集通信。在一个实施例中,每个主机都能够仅与其面向上游的端口电耦接到该主机的面向下游的端口的那些设备通信(例如,枚举),例如,设备的未绑定到特定主机的面向下游的端口的面向上游的端口不可被该主机使用或影响,例如,该主机对集线器的绑定到主机的面向下游的端口的设备的子集的枚举。
在一个实施例中,电路(例如,作为主机或集线器的部分)要检测(例如,USB)端口连接事件,然后该电路为连接在端口下游的设备创建新的上下文(例如,设备对象)。在一个实施例中,该设备对象被填充有从设备提取的信息(例如,描述符等),并可以由主机用于存储设备的状态。在某些实施例中,电路(例如,作为集线器的部分)要检测事件(例如,端口连接事件和/或新上下文),并生成针对要电耦接的(一个或多个)主机和设备的虚拟集线器实例,以提供数据传输(例如,除了或替代控制数据的有效载荷数据)。这可以针对出现(例如,电耦接)于集线器处的每个额外的主机和/或(未使用的)设备而进行。例如,(例如,虚拟主机管理器)电路可以将主机1绑定到第一虚拟集线器实例中的设备1和2,并可以将主机2绑定到第二虚拟集线器实例中的设备M(例如,3)(或多个设备)。在一个实施例中,设备1和设备2可以由主机1而不是主机2使用和/或设备M(例如,3)可以由主机2而不是主机1使用。在一个实施例中,第一虚拟集线器实例上的主机和设备可以并发地(例如,同时地)可与第二(例如,任何其他)虚拟集线器实例一起使用,例如,其中每个虚拟集线器实例用于单个(例如,物理)集线器上的所有主机和设备。在一个实施例中,在多个虚拟集线器实例的每个中在没有交错的情况下主动传输数据。
可以由硬件、软件、固件或其组合管理哪些设备要去往哪个主机(例如,上游端口或(MA-USB)虚拟实例)。在一个实施例中,(例如,物理)集线器要通过(例如,检测电路)检测到集线器(例如,物理)端口的主机连接事件,并(例如,自动)将连接的端口设置为面向下游的端口来接受额外的(例如,物理)端口连接,然后,例如,向用户示出对话,以允许用户选择他们希望将哪个(哪些)设备和/或端口绑定到新主机。设备的这种选择可以被保存并(例如,自动)用于相同主机的未来连接,例如,如果用户希望的话。在MA-USB实施例中,可以利用WSB规范来允许主机发现下游设备并选择将哪些设备(例如,子集)绑定到主机,例如,作为连接过程的一部分。在另一个实施例中,集线器(例如,其逻辑电路)要检测物理主机连接,将该主机的端口配置为处于面向下游的端口模式中,然后延迟该主机对面向上游的端口的枚举,例如,直到用户已经选择了他们希望使用的端口和/或设备(或者,从先前保存的设置中检索该列表)。在某些实施例中,物理(例如,USB)端口仅在启动时被重置(并枚举)一次。该枚举的结果可以被存储于(例如,集线器的)存储设备中(例如,并在端口连接/断开连接事件时更新),并被提供到请求可用设备的列表的主机,例如,以避免重新枚举集线器,重新枚举会不利地影响(例如,断开连接)已经连接的主机。在一个实施例中,例如,由虚拟(例如,USB)集线器伪造重置事件。例如,(例如,集线器)请求可以从主机进入虚拟集线器,而不是创建和/或转发(例如,USB)重置请求(例如,URB)到物理集线器(例如,虚拟集线器的一个实施例的标准流程),虚拟(例如,USB)集线器不创建和/或发送重置请求到物理集线器,但仍然向指示重置成功的主机发送回(例如,MA-USB)响应,即,未发生对物理集线器的重置,但是向与虚拟集线器通信的主机发送(错误地)指示物理集线器的确成功重置并继续枚举的信息。在一个实施例中,在主机对虚拟集线器的枚举期间通过不执行对(例如,物理)集线器的物理重置同时向主机返回重置成功的响应来伪造到(例如,物理)集线器的重置请求(例如,从主机到集线器),例如,DevResetReq MA-USB命令。
图4示出了根据本公开的实施例的虚拟集线器实例的状态的流程图400。在一个实施例中,电路(例如,物理集线器中的管理电路,例如集线器控制器电路)包括根据流程图400填充的状态机。流程400包括设备列表402,设备列表具有针对每个设备的状态。在一个实施例中,集线器进行初始化404,如果初始化成功,则集线器转移到运行406状态,初始化例如是设备或集线器的枚举(例如,请求特定细节(例如,描述符)(例如,指示设备的能力的信息)或者由设备或集线器做出的动作,该设备或集线器返回任何所请求的特定细节或执行任何所请求的动作和/或加载(一个或多个)对应的驱动器)。这可以包括向设备列表402加载电耦接到集线器的设备(和其状态)。在一个实施例中,如果集线器不进行初始化(例如,不进行枚举),则集线器转移到关闭408状态。
在运行406状态中,可以执行检查(例如,轮询操作),例如,以检测主机与设备的连接或断开连接,从而导致设备列表402中设备(例如,其通信端口)的状态在可用与使用中之间更新,检测套接字读取以处理请求,和/或检测设备与集线器的连接或断开连接,以导致在设备列表402中包括或去除设备。
可以产生并运行410针对主机1的虚拟集线器实例,例如,直到其关闭416。可以产生并运行412针对主机2的虚拟集线器实例,例如,直到其关闭418。可以产生并运行(例如,414)一个或多个额外的虚拟集线器实例。
在一个实施例中,在主机电连接到一个或多个设备或与一个或多个设备断开连接时(在主机请求和/或获取对设备的(唯一)所有权或返回设备供其他主机使用时),可以更新设备列表402(和每个设备的状态)。在一个实施例中,设备具有例如由主机使用中或可使用的状态。
在一个实施例中,通知协议支持将(一个或多个)设备连接到主机和与主机断开连接的能力,并且在断开连接之后,所有断开连接的设备(例如,其面向上游的端口)都变得可为其他(例如,MA-USB)主机使用。在一个实施例中,对(例如,USB)设备的使用从集线器的一个主机转移到另一个主机,而没有将旧主机与集线器(例如,物理地)断开连接。在一个实施例中,一种这样做的USB兼容的方式是,如果USB设备可移除,并且如果这样的话,则要通知旧主机要将该设备断开连接,例如,通过进程间通信(IPC)和/或伪造的端口状态改变响应(例如,USB请求块(URB))以(错误地)指示设备去除(例如,指示去除了来自不同虚拟集线器实例的设备,即使并非这样)。例如,一旦从旧主机去除了该设备,并且旧主机与该去除同步(例如,确认了端口状态改变响应),然后就可以将该设备重新用于新主机,该新主机然后将(不正确地)检测到附接了新设备(例如,伪造的端口状态连接状态改变,状态为一(1)),并随后在使用它之前重新枚举USB设备。在另一实施例中,共享不可去除的USB设备包括增加能力,即使USB设备驻存在不可去除的端口上,它也可以宣称自己是可去除的,例如,在将设备转移到新主机之前,不将该设备与旧主机物理地断开连接。在该实施例中,该USB设备可以支持这些虚拟可去除事件,然后例如通过MA-USB或物理上游端口与不同的主机共享。
图5示出了根据本公开的实施例的在相同的物理串行总线集线器上产生多个虚拟串行总线集线器的流程图500。流程500包括:将多个面向下游的端口和多个面向上游的端口与串行总线集线器电耦接502,产生绑定到多个面向下游的端口中的第一面向下游的端口和多个面向上游的端口中的第一面向上游的端口的第一虚拟集线器实例504,以及产生绑定到多个面向下游的端口中的第二面向下游的端口和多个面向上游的端口中的第二面向上游的端口的可并发使用的第二虚拟集线器实例506。在某些实施例中,由(例如,USB)主机控制器执行或引起其执行所讨论的动作中的一个或多个。
在一个实施例中,一种装置包括:串行总线集线器,其电耦接多个主机和多个设备;以及电路,其产生绑定到多个主机中的第一主机和多个设备中的第一设备的第一虚拟集线器实例,并产生绑定到多个主机中的第二主机和多个设备中的第二设备的可并发使用的第二虚拟集线器实例。多个设备中的第三设备可以由电路绑定到具有第一设备的第一虚拟集线器实例。多个主机中的主机可以向电路指定要绑定到虚拟集线器实例的多个设备的子集。来自第一主机的重置请求可以引起对第一虚拟集线器实例的重置而不引起对第二虚拟集线器实例的重置。来自第一主机的重置请求可以不引起对串行总线集线器的重置。第一虚拟集线器实例可以将(错误地)指示串行总线集线器的重置成功的响应发送回到主机。来自第一主机的重置请求可以引起对第一设备的重置而不引起对第二设备的重置。该电路可以向电耦接到串行总线集线器的后续主机呈现未绑定到当前虚拟集线器实例的多个设备的列表。第一虚拟集线器实例可以根据通用串行总线(USB)规范被绑定到第一主机和第一设备。
在另一个实施例中,一种方法包括:将多个面向下游的端口和多个面向上游的端口与串行总线集线器电耦接,产生绑定到多个面向下游的端口中的第一面向下游的端口和多个面向上游的端口中的第一面向上游的端口的第一虚拟集线器实例,以及产生绑定到多个面向下游的端口中的第二面向下游的端口和多个面向上游的端口中的第二面向上游的端口的可并发使用的第二虚拟集线器实例。该方法可以包括将多个面向上游的端口中的第三面向上游的端口绑定到具有第一面向上游的端口的第一虚拟集线器实例。多个面向下游的端口中的面向下游的端口可以指定要绑定到虚拟集线器实例的多个面向上游的端口的子集。来自第一面向下游的端口的重置请求可以引起对第一虚拟集线器实例的重置而不引起对第二虚拟集线器实例的重置。来自第一面向下游的端口的重置请求可以不引起对串行总线集线器的重置。第一虚拟集线器实例可以将(错误地)指示串行总线集线器的重置成功的响应发送回到第一面向下游的端口。来自第一面向下游的端口的重置请求可以引起对第一面向上游的端口的重置而不引起对第二面向上游的端口的重置。该方法可以包括向电耦接到串行总线集线器的后续面向下游的端口呈现未绑定到当前虚拟集线器实例的多个面向上游的端口的列表。第一虚拟集线器实例可以根据通用串行总线(USB)规范被绑定到第一面向下游的端口和第一面向上游的端口。
在又一实施例中,一种非瞬态机器可读介质,其存储代码,所述代码在由机器执行时使所述机器执行一种方法,所述方法包括:将多个面向下游的端口和多个面向上游的端口与串行总线集线器电耦接;产生绑定到多个面向下游的端口中的第一面向下游的端口和多个面向上游的端口中的第一面向上游的端口的第一虚拟集线器实例;以及产生绑定到多个面向下游的端口中的第二面向下游的端口和多个面向上游的端口中的第二面向上游的端口的可并发使用的第二虚拟集线器实例。该方法可以包括将多个面向上游的端口中的第三面向上游的端口绑定到具有第一面向上游的端口的第一虚拟集线器实例。多个面向下游的端口中的面向下游的端口可以指定要绑定到虚拟集线器实例的多个面向上游的端口的子集。来自第一面向下游的端口的重置请求可以引起对第一虚拟集线器实例的重置而不引起对第二虚拟集线器实例的重置。来自第一面向下游的端口的重置请求可以不引起对串行总线集线器的重置。第一虚拟集线器实例可以将(错误地)指示串行总线集线器的重置成功的响应发送回到第一面向下游的端口。来自第一面向下游的端口的重置请求可以引起对第一面向上游的端口的重置而不引起对第二面向上游的端口的重置。该方法可以包括向电耦接到串行总线集线器的后续面向下游的端口呈现未绑定到当前虚拟集线器实例的多个面向上游的端口的列表。第一虚拟集线器实例可以根据通用串行总线(USB)规范被绑定到第一面向下游的端口和第一面向上游的端口。
在另一实施例中,一种装置包括:串行总线集线器,其电耦接多个主机和多个设备;以及单元,其产生绑定到多个主机中的第一主机和多个设备中的第一设备的第一虚拟集线器实例,并产生绑定到多个主机中的第二主机和多个设备中的第二设备的可并发使用的第二虚拟集线器实例。
在又一实施例中,一种装置包括数据存储设备,所述数据存储设备存储代码,所述代码在由硬件处理器执行时使所述硬件处理器执行本文中公开的任何方法。一种装置可以是如具体实施方式中所描述的。一种方法可以是如具体实施方式中所描述的。
在另一实施例中,一种非瞬态机器可读介质,其存储代码,所述代码在由机器执行时使所述机器执行一种方法,所述方法包括本文中公开的任何方法。
在又一实施例中,能够对个体USB设备而不是集线器进行虚拟化,并实现类似的用户体验(例如,与不同主机共享不同设备),例如,在这种情形中,其将是虚拟设备而不是虚拟集线器,例如,第一虚拟设备实例和第二虚拟设备实例分别替换第一虚拟集线器实例和第二虚拟集线器实例。
图6-9在下面讨论了将一个设备连接到另一个设备的插座和插头的实施例。以下表1描绘了允许信号在多个设备之间(例如,在USB主机与USB设备之间)流动的信道(例如,导体)的实施例。
表1:示例通信信道
图6示出了根据本公开的实施例的串行总线插座600的透视图。在某些实施例中,串行总线插座600可以是设备的(例如,安装到设备的电路板的)部分(例如,在设备之内)。
图7示出了根据本公开的实施例的串行总线插座(例如,串行总线插座600)的管脚的示意图700。
图8示出了根据本公开的实施例的串行总线插头800的透视图。在某些实施例中,串行总线插头可以(例如,物理地和电气地)连接到串行总线插座(例如,串行总线插座600)。
图9示出了根据本公开的实施例的串行总线插头(例如,串行总线插头800)的管脚的示意图900。
在某些实施例中,串行总线插头可(相对于其要插入的插座)在右侧向上位置和上下颠倒位置之间翻转。在某些实施例中,图8的(例如,串行总线)插头800在图6的(例如,串行总线)插座600之内滑动,例如,壳体801在外壳601(例如,包壳)之内滑动。舌状物602可以(例如,固定地)设置于串行总线插座的外壳601的膛内。描绘的舌状物602包括第一(例如,基本平面)侧604和相反的第二(例如,基本平面)侧605。在一个实施例中,第一侧604(例如,基本上)平行于第二侧605。第一侧604和第二侧605之一或两者可以包括其上的,例如面对相反方向的电接触(例如,管脚、焊盘、弹簧等)。每个电接触的纵轴都可以从外壳601的后方向外壳601的前方的开口延伸,例如,沿着第一侧604和/或第二侧605。舌状物602的前沿603可以(例如,基本)垂直于第一侧604和第二侧605。舌状物602的主体,例如,排除其上的任何电接触,可以是不导电材料,例如玻璃纤维尼龙。舌状物602的前沿603可以不包括与插头的电(例如,信号和/或数据,例如,但不是地)接触配合的任何电接触。插座的后壁可以不包括与插头的电(例如,信号和/或数据,例如,但不是地)接触配合的任何电接触。第一侧604可以包括其上的(例如,仅)第一行电接触,例如,图7中的电接触(例如,管脚),例如管脚A1-A12。第二侧605可以包括其上的(例如,仅)第二行电接触,例如,图7中的电接触(例如,管脚),例如管脚B12-B1。电接触可以物理地连接(例如,固定连接)到设备的电路,例如本文中讨论的多个角色切换电路或其他电路。
再次转到图8,在某些实施例中,串行总线插头800包括其中具有膛的壳体801,例如,具有在壳体801的前方的开口以及与开口相反的后壁。壳体801可以包括其膛中的电接触。壳体内部的第一侧804可以(例如,基本)平行于串行总线插头800的壳体内部的第二侧805。第一侧804和第二侧805之一或两者可以包括其上的,例如彼此面对的电接触(例如,管脚、焊盘、弹簧等)。第一侧804和/或第二侧805上的接触可以耦接(例如,物理和电气连接)到插座600的第一侧604和/或第二侧605。在一个实施例中,插头800的第一侧804与插座600的第一侧604和第二侧605中的任一个耦接,并且插头800的第二侧805与插座600的第一侧604和第二侧605中的另一个耦接(例如,可翻转)。每个电接触的纵轴都可以从壳体801的后方向壳体801的前方的开口802延伸,例如,沿着第一侧804和/或第二侧805。壳体801可以可滑动地接收在形成在舌状物602的外表面和插座600的外壳601的内表面之间的(例如,连续)环之内。壳体801的前沿不包括与插座的电(例如,信号和/或数据,例如,但不是地)接触配合的任何电接触。壳体801的后壁可以不包括与插座的电(例如,信号和/或数据,例如,但不是地)接触配合的任何电接触。第一侧804可以包括其上的(例如,仅)第一行电接触,例如,图9中的电接触(例如,管脚),例如管脚A12-A1。第二侧805可以包括其上的(例如,仅)第二行电接触,例如,图9中的电接触(例如,管脚),例如管脚B1-B12。电接触可以物理连接(例如,固定连接)到线缆803或其他电导体(例如,到存储器设备的线,存储器设备例如为USB记忆棒)。线缆803可以连接到另一个插头,例如,连接到物理连接到设备的电路的插座,例如本文中讨论的多个角色切换电路或其他电路。
电路(例如,集线器、主机和/或设备)可以包括分别发送和接收数据的发送器和/或接收器,例如,作为收发器(例如,物理层(PHY)电路)的部分。
一种互连结构架构包括外围部件互连(PCI)快速(PCIe)架构。PCIe的主要目标是使得来自不同供应商的部件和设备能够在跨越多个市场细分;客户端(台式机和移动装置)、服务器(标准的和企业的)以及嵌入式和通信设备的开放式架构中互操作。PCI快速是一种为各种未来的计算和通信平台定义的高性能通用I/O互连。一些PCI属性,例如其使用模型、负载-存储架构以及软件接口,已经通过其修订版而得以维持,而先前的并行总线实施方式已经被高度可缩放的完全串行接口替代。PCI快速的更新版本利用了点到点互连、基于开关的技术以及分组化协议中的进步,以输送新水平的性能和特征。功率管理、服务质量(QoS)、热插拔/热交换支持、数据完整性以及错误处理处在由PCI快速支持的高级特征中的一些之中。
参考图10,示出了由将一组部件互连的点到点链路构成的交换结构的实施例。系统1000包括耦合到控制器集线器1015的处理器1005和系统存储器1010。处理器1005包括任何处理元件,例如微处理器、主机处理器、嵌入式处理器、协同处理器或其他处理器。处理器1005通过前侧总线(FSB)1006耦合到控制器集线器1015。在一个实施例中,FSB 1006是如下所述的串行点到点互连。在另一个实施例中,链路1006包括符合不同互连标准的串行差分互连架构。
系统存储器1010包括任何存储设备,例如随机存取存储器(RAM)、非易失性(NV)存储器或可由系统1000中的设备存取的其他存储器。系统存储器1010通过存储器接口1016耦合到控制器集线器1015。存储器接口的示例包括双倍数据速率(DDR)存储器接口、双通道DDR存储器接口以及动态RAM(DRAM)存储器接口。
在一个实施例中,控制器集线器1015是外围部件快速互连(PCIe或PCIE)互连层次结构中的根集线器、根复合体或根控制器。控制器集线器1015的示例包括芯片组、存储器控制器集线器(MCH)、北桥、互连控制器集线器(ICH)、南桥以及根控制器/集线器。术语芯片组常常是指两个物理上独立的控制器集线器,例如,耦合到互连控制器集线器(ICH)的存储器控制器集线器(MCH)。注意,当前的系统常常包括与处理器1005集成的MCH,而控制器1015要与I/O设备以下文所描述的类似方式通信。在一些实施例中,任选地通过根复合体1015支持对等路由。
这里,控制器集线器1015通过串行链路1019耦合到交换器/网桥1020。输入/输出模块1017和1021(其也可以称为接口/端口1017和1021)包括/实施分层协议栈以在控制器集线器1015和交换机1020之间提供通信。在一个实施例中,多个设备能够耦合到交换机1020。
交换机/网桥1020从设备1025上游,例如,从层次结构向上朝向根复合体,到控制器集线器1015和下游,例如,从分级结构向下离开根控制器,从处理器1005或系统存储器1010到设备1025,路由分组/消息。在一个实施例中,交换机1020被称为多个虚拟PCI到PCI桥设备的逻辑组件。设备1025包括要耦接到电子系统的任何内部或外部设备或部件,例如I/O设备、网络接口控制器(NIC)、附加卡、音频处理器、网络处理器、硬盘驱动器、存储设备、CD/DVD ROM、监视器、打印机、鼠标、键盘、路由器、便携式存储设备、火线设备、通用串行总线(USB)设备、扫描仪以及其他输入/输出设备。在PCIe行话中,常常将这样的设备称为端点。尽管未具体示出,但是设备1025可以包括PCIe到PCI/PCI-X桥,以支持旧式或其他版本的PCI设备。PCIe中的端点设备常常被分类为旧式、PCIe或根复合体集成的端点。
图形加速器1030还通过串行链路1032耦合到控制器集线器1015。在一个实施例中,图形加速器1030耦合到MCH,其耦合到ICH。交换机1020以及因此通过串行链路1023的I/O设备1025然后耦接到ICH。I/O模块1031和1018也要实施分层协议栈以在图形加速器1030和控制器集线器1015之间通信。类似于上文讨论的MCH,图形控制器或图形加速器1030自身可以被集成在处理器1005中。
转到图11,示出了分层协议栈的实施例。分层协议栈1100包括任何形式的分层通信栈,例如快速路径互连(QPI)栈、PCIe栈、下一代高性能计算互连栈或其他分层栈。尽管下文紧接着参考图10-13的讨论涉及PCIe栈,但可以将相同的构思应用于其他互连栈。在一个实施例中,协议栈1100是包括事务层1105、链路层1110以及物理层1120的PCIe协议栈。接口,例如图10中的接口1017、1018、1021、1022、1026和1031,可以被表示为通信协议栈1100。作为通信协议栈的表示也可以被称为实施/包括协议栈的模块或接口。
PCI快速使用分组在部件之间传递信息。分组被形成于事务层1105和数据链路层1110中,以将信息从发送部件运送到接收部件。在发送的分组流经其他层时,利用在那些层处理分组必需的额外信息来扩展它们。在接收侧,发生反向过程,分组被从其物理层1120表示转换成数据链路层1110表示,并最终(对于事务层分组)转换成可以由接收设备的事务层1105处理的形式。
事务层
在一个实施例中,事务层1105在设备的处理内核和互连架构,例如数据链路层1110和物理层1120之间提供接口。在这方面,事务层1105的主要职责是组装和分解分组(例如,事务层分组或TLP)。事务层1105通常为TLP管理基于信用的流控制。PCIe实施拆分事务,例如,具有由时间分开的请求和响应的事务,从而在目标设备收集用于响应的数据的同时允许链路运送其他流量。
此外,PCIe利用了基于信用的流控制。在该方案中,设备为事务层1105中的接收缓冲器中的每个通告初始信用量。在链路相对端的外部设备,例如图1中的控制器集线器115,对由每个TLP消耗的信用的数量进行计数。如果事务未超过信用极限,则可以发送事务。在接收到响应后,恢复信用量。信用方案的优点在于,如果未遇到信用极限,则信用返回的延时不会影响性能。
在一个实施例中,四个事务地址空间包括配置地址空间、存储器地址空间、输入/输出地址空间和消息地址空间。存储器空间事务包括向/从存储器映射的位置传输数据的读取请求和写入请求中的一个或多个。在一个实施例中,存储器空间事务能够使用两种不同的地址格式,例如,短地址格式,例如32位地址或长地址格式,例如64位地址。配置空间事务用于访问PCIe设备的配置空间。配置空间的事务包括读取请求和写入请求。消息空间事务(或简称消息)被定义为支持PCIe代理之间的带内通信。
因此,在一个实施例中,事务层1105组装分组标头/有效载荷1106。可以在PCIe规范网站的PCIe规范中找到针对当前分组标头/有效载荷的格式。
参考图12,示出了PCIe事务描述符的实施例。在一个实施例中,事务描述符1200是用于承载事务信息的机制。在这方面,事务描述符1200支持系统中的事务的标识。其他潜在用途包括跟踪默认事务排序的修改和事务与信道的关联。
事务描述符1200包括全局标识符字段1202、属性字段1204和信道标识符字段1206。在图示的示例中,全局标识符字段1202被描绘为包括局部事务标识符字段1208和源标识符字段1210。在一个实施例中,全局事务标识符1202对于所有未解决的请求是独特的。
根据一个实施方式,局部事务标识符字段1208是由请求代理生成的字段,并且其对于要求该请求代理完成的所有未解决的请求都是独特的。此外,在该示例中,源标识符1210独特地识别PCIe层次结构之内的请求器代理。因此,与源ID 1210一起,局部事务标识符字段1208提供了事务在层次结构域之内的全局标识。
属性字段1204指定事务的特性和关系。在这方面,属性字段1204可能用于提供允许修改事务的默认处理的额外信息。在一个实施例中,属性字段1204包括优先级字段1212、保留字段1214、排序字段1216和防窥探字段1218。这里,优先级子字段1212可以由发起者修改,以向事务分配优先级。保留属性字段1214保留用于未来使用或供应商定义的用途。可以使用保留属性字段来实现使用优先级或安全属性的可能用途模型。
在该示例中,排序属性字段1216用于供应传达可以修改默认排序规则的排序类型的任选的信息。根据一个示例实施方式,排序属性“0”表示要应用默认排序规则,其中排序属性“1”表示放松的排序,其中写入能够在相同方向上经过写入,读取完成能够在相同方向上经过写入。窥探属性字段1618用于判断事务是否被窥探。如图所示,信道ID字段1206识别事务相关联的信道。
链路层
链路层1110(也称为数据链路层1110)充当事务层1105和物理层1120之间的中间级。在一个实施例中,数据链路层1110的职责是提供用于在链路的两个部件之间交换事务层分组(TLP)的可靠机制。数据链路层1110的一侧接受由事务层1105组装的TLP,应用分组序列标识符1111,例如,标识号或分组号,计算并应用错误检测代码,例如,CRC 1112,并向物理层1120提交修改的TLP以用于跨物理层向外部设备传输。
物理层
在一个实施例中,物理层1120包括逻辑子块1121和电气子块1122,以向外部设备物理地传输分组。这里,逻辑子块1121负责物理层1121的“数字”功能。在这方面,逻辑子块包括发送段和接收器段,发送段准备外出的信息用于由物理子块1122发送,接收器段在将所接收的信息传递到链路层1110之前识别并准备所接收的信息。
物理块1122包括发送器和接收器。逻辑子块1121为发送器供应符号,发送器对其进行串行化并将其发送到外部设备上。接收器被供应有来自外部设备的串行化符号,并将接收的信号转换成比特流。比特流被解串行化并供应到逻辑子块1121。在一个实施例中,采用8b/10b传输代码,其中发射/接收十位的符号。这里,使用特殊符号利用帧1123对分组分帧。此外,在一个示例中,接收器还提供从传入的串行流恢复的符号时钟。
如上所述,尽管参考PCIe协议栈的具体实施例讨论了事务层1105、链路层1110和物理层1120,但是分层协议栈不受此限制。实际上,可以包括/实施任何分层协议。作为示例,被表示为分层协议的端口/接口包括:(1)组装分组的第一层,例如,事务层;将分组形成序列的第二层,例如,链路层;以及发送分组的第三层,例如,物理层。作为具体示例,利用常见标准接口(CSI)分层协议。
接下来参考图13,示出了PCIe串行点对点结构1300的实施例。尽管示出了PCIe串行点对点链路的实施例,但串行点对点链路不受此限制,因为它包括用于传输串行数据的任何传输路径。在所示的实施例中,基本PCIe链路包括两个低压差分驱动的信号对:发送对1306/1311和接收对1312/1307。因此,设备1305包括向设备1310发送数据的发送逻辑1306和从设备1310接收数据的接收逻辑1307。换言之,在PCIe链路中包括两条发送路径,例如,路径1316和1317,和两条接收路径,例如,路径1318和1319。
发送路径是指用于发送数据的任何路径,例如传输线、铜线、光学线路、无线通信信道、红外通信链路或其他通信路径。两个设备,例如设备1305和设备1310之间的连接,被称为链路,例如链路1315。链路可以支持一个通道,每条通道代表一组差分信号对(一对用于发送,一对用于接收)。为了缩放带宽,链路可以聚集由xN表示的多条通道,其中N是任意支持的链路宽度,例如1、2、4、8、12、16、32、64或更宽。
差分对是指发送差分信号的两条发送路径,例如线路1316和1317。作为示例,在线路1316从低电压电平切换到高电压电平时,例如,上升沿,线路1317从高逻辑电平驱动到低逻辑电平,例如,下降沿。差分信号可能会展现出更好的电气特性,例如更好的信号完整性,例如交叉耦合、电压过冲/欠冲、振荡等。这样允许更好的定时窗口,其实现更快的发送频率。
接下来参考图14,描绘了根据实施例的片上系统(SoC)设计的实施例。作为具体说明性示例,在用户设备(UE)中包括SOC 1400。在一个实施例中,UE是指由最终用户用于通信的任何设备,例如手持电话、智能电话、平板计算机、超薄笔记本、具有宽带适配器的笔记本或任何其他类似的通信设备。UE常常连接到基站或节点,其潜在地实质上对应于GSM网络中的移动站(MS)。
这里,SoC 1400包括2个内核,1406和1407。类似于上文的讨论,内核1406和1407可以符合指令集架构,例如基于架构CoreTM的处理器、超微半导体公司(AMD)处理器、基于MIPS的处理器、基于ARM的处理器设计或其客户以及其被许可方或采用者。内核1406和1407耦合到与总线接口单元1409和L2高速缓存1410相关联的高速缓存控制1408,以与系统1400的其他部分通信。互连1490包括片上互连,例如IOSF、AMBA或上文讨论的其他互连,其潜在地实现了所描述的实施例的一个或多个方面。
互连1490提供到其他部件的通信信道,其他部件例如为与SIM卡交互的用户身份模块(SIM)1430,保持启动代码以用于由内核1406和1407执行以初始化并启动SoC 1400的启动ROM 1435,与外部存储器(例如,DRAM 1460)接口连接的SDRAM控制器1440,与非易失性存储器(例如,闪存1465)接口连接的闪存控制器1445,与外围设备接口连接的外围控制1450(例如,串行外围接口),显示和接收输入(例如,启用了触摸的输入)的视频编解码器1420和视频接口1425,执行图形相关的计算的GPU 1415,等等。这些接口中的任何接口都可以包含本文中描述的实施例的各方面。
此外,该系统说明了用于通信的外围设备,例如蓝牙模块1470、3G调制解调器1475、GPS 1480和WiFi 1485。注意,如上所述,UE包括用于通信的无线电收发装置。因此,并非全部需要这些外围通信模块。然而,在UE中,要包括用于外部通信的某种形式的无线电收发装置。
注意,可以如前所述在任何电子设备或系统中实现上述装置、方法和系统。作为具体图示,以下附图提供了用于使用如本文中所描述的实施例的示范性系统。在更详细地描述以下系统时,若干不同的互连被公开、描述并从以上讨论重新考虑。显而易见的是,可以将上文描述的进步应用于那些互连、结构或架构中的任何。
现在参考图15,示出了根据本公开的实施例的计算机系统中存在的部件的框图。如图15所示,系统1500包括部件的任何组合。这些部件可以被实现为适配在计算机系统中的IC、其部分、分立电子器件或其他模块、逻辑、硬件、软件、固件或其组合,或者实现为通过其他方式并入到计算机系统的机架之内的部件。还要注意,图15的框图旨在示出计算机系统的许多部件的高层级视图。然而,要理解的是,在其他实施方式中,可以省略示出的部件中的一些,可以存在额外的部件,并且可以出现示出的部件的不同布置。因此,可以在下文图示或描述的互连中的一个或多个的任何部分中实施以上描述的实施例。
如图15所示,在一个实施例中,处理器1510包括微处理器、多核处理器、多线程处理器、超低压处理器、嵌入式处理器或其他已知的处理元件。在图示的实施方式中,处理器1510充当主处理单元和用于与系统1500的各个部件中的许多部件通信的中央集线器。作为一个示例,处理器1510被实现为片上系统(SoC)。作为具体的说明性示例,处理器1510包括基于架构CoreTM的处理器,例如可从加利福尼亚州圣克拉拉的英特尔公司获得的i3、i5、i7或其他这样的处理器。然而,要理解的是,在其他实施例中可以替代地存在其他低功率处理器,其例如可从加利福尼亚州森尼维尔的超微半导体公司(AMD)、来自加利福尼亚州森尼维尔的MIPS技术公司的基于MIPS设计、由ARM控股有限公司许可的基于ARM的设计或其客户或其被许可方或采用者获得,例如苹果A5/A6处理器、高通骁龙处理器或TI OMAP处理器。注意,这样的处理器的许多客户版本被修改和改变;然而,它们可以支持或识别执行由处理器许可方阐述的定义的算法的特定指令集。这里,微架构实施方式可以变化,但是处理器的架构功能通常是一致的。下文将在一个实施方式中进一步讨论关于处理器1510的架构和操作的特定细节,以提供说明性示例。
在一个实施例中,处理器1510与系统存储器1515通信。作为说明性示例,其在实施例中可以经由多个存储器设备来实现,以提供给定量的系统存储器。例如,存储器可以依据电子器件工程联合会(JEDEC)基于低功率双倍数据速率(LPDDR)的设计,例如依据JEDECJESD 209-2E的当前LPDDR2标准(2009年4月发布),或要称为LPDDR3或LPDDR4的下一代LPDDR标准,其将提供LPDDR2的扩展以增加带宽。在各种实施方式中,个体存储器设备可以是不同封装类型的,例如单管芯封装(SDP)、双管芯封装(DDP)或四管芯封装(QDP)。在一些实施例中,这些设备直接焊接到主板上,以提供较低外形因子的方案,而在其它实施例中,设备被配置为一个或多个存储器模块,其继而通过给定连接器耦接到主板。当然,其他存储器实施方式也是可能的,例如其他类型的存储器模块,例如不同变体的双列直插存储器模块(DIMM),包括,但不限于microDIMM、MiniDIMM。在特定说明性实施例中,存储器大小被设定为2GB和16GB之间,并可以被配置为经由球栅阵列(BGA)焊接到主板上的DDR3LM封装或者LPDDR2或LPDDR3存储器。
为了实现诸如数据、应用程序、一个或多个操作系统等信息的持久存储,大容量存储设备1520也可以耦接到处理器1510。在各个实施例中,为了实现更薄更轻的系统设计以及改善系统响应性,可以通过SSD实现该大容量存储设备。然而,在其他实施例中,可以主要使用硬盘驱动器(HDD)来实现大容量存储设备,利用更少量的SSD存储设备充当SSD高速缓存,以实现在断电事件期间对上下文状态和其他这样的信息的非易失性存储,使得在重新发起系统活动时能够快速加电启动。图15中还示出的是,闪存设备1522可以例如经由串行外围设备接口(SPI)耦接到处理器1510。这种闪存设备可以提供系统软件的非易失性存储,系统软件包括基本输入/输出软件(BIOS)以及系统的其他固件。
在各个实施例中,系统的大容量存储设备单独地由SSD实现或被实现为带有SSD高速缓存的磁盘、光学或其他驱动器。在一些实施例中,大容量存储设备被实现为SSD或HDD以及恢复(RST)高速缓存模块。在各个实施方式中,HDD提供了320GB至4太字节(TB)之间和更高的存储,同时RST高速缓存是利用具有24GB至256GB容量的SSD实现的。注意,这样的SSD高速缓存可以被配置为单级高速缓存(SLC)或多级高速缓存(MLC)选项,以提供适当水平的响应度。在仅SSD选项中,该模块可以被容纳在各种位置中,例如mSATA或NGFF插槽中。例如,SSD具有在120GB至1TB的范围内的容量。
在系统1500之内可以存在各种输入/输出(IO)设备。图15的实施例中具体示出的是显示器1524,其可以是配置在机架的盖子部分之内的高清晰度LCD或LED面板。该显示面板还可以提供触摸屏1525,例如,被适配在显示面板上方外部,使得通过用户与这种触摸屏的交互,可以向系统提供用户输入,以实现期望的操作,例如,关于信息的显示、信息的访问等的操作。在一个实施例中,显示器1524可以经由显示器互连耦接到处理器1510,显示器互连可以被实现为高性能图形互连。触摸屏1525可以经由另一互连耦接到处理器1510,该另一互连在实施例中为I2C互连。如图15中进一步所示,除了触摸屏1525之外,通过触摸做出的用户输入还可以经由触控板1530进行,该触控板可以被配置在机架之内并且还可以耦接到与触摸屏1525相同的I2C互连中。
显示面板可以以多种模式操作。在第一种模式中,显示面板可以被布置为处于透明状态中,其中显示面板对于可见光是透明的。在各个实施例中,显示面板的大部分可以是显示器,除了外围附近的边框之外。在系统以笔记本模式操作并且显示面板以透明状态操作时,用户可以查看显示面板上呈现的信息,同时还能够查看显示器后面的物体。此外,显示面板上显示的信息可以被位于显示器后面的用户观察到。或者显示面板的操作状态可以是不透明状态,其中可见光不会透射通过显示面板。
在平板模式中,系统被折叠关闭,使得在基底面板的底表面停靠在表面上或由用户保持时,显示面板的后显示表面开始停靠在使得其面朝外朝向用户的位置中。在平板工作模式中,后显示表面执行显示器和用户界面的角色,因为这个表面可以具有触摸屏功能并可以执行常规触摸屏设备(例如平板设备)的其他已知功能。为此,显示面板可以包括设置在触摸屏层与前显示表面之间的透明度调节层。在一些实施例中,该透明度调节层可以是电致变色层(EC)、LCD层或者EC和LCD层的组合。
在各个实施例中,显示器可以具有不同尺寸,例如11.6”或13.3”屏幕,并可以具有16:9的高宽比,以及至少300尼特的亮度。而且显示器可以具有完全高清晰度(HD)分辨率(至少1920×1080p),与嵌入式显示器端口(eDP)兼容,并可以是具有面板自刷新的低功率面板。
关于触摸屏的能力,该系统可以提供多点触摸电容式且至少能处理5根手指的显示多点触摸面板。并且,在一些实施例中,显示器可以能处理10根手指。在一个实施例中,触摸屏被容纳在抗损伤和擦伤玻璃和涂层(例如,Gorilla GlassTM或Gorilla Glass 2TM)之内,以实现低摩擦力,从而减少“手指灼伤”并避免“手指跳过”。为了实现增强的触摸体验和响应度,在一些实施方式中,触摸面板具有多点触摸功能,例如在夹捏缩放期间每幅静态视图少于2帧(30Hz),以及在200ms(手指到指针的迟滞)内每帧少于1cm(30Hz)的单点触摸功能。在一些实施方式中,显示器支持具有也与面板表面一起刷新的最小屏幕边框并且在使用多点触摸时IO干扰有限的边到边玻璃。
出于感知计算和其他目的,各种传感器可以存在于系统之内并可以通过不同方式耦接到处理器1510。特定的惯性和环境传感器可以通过传感器集线器1540,例如,经由I2C互连而耦接到处理器1510。在图15中示出的实施例中,这些传感器可以包括加速度计1541、环境光传感器(ALS)1542、指南针1543和陀螺仪1544。其他环境传感器可以包括一个或多个热传感器1546,在一些实施例中,它们经由系统管理总线(SMBus)耦接到处理器1510。
使用存在于平台中的各种惯性和环境传感器,可以实现许多不同的使用情形。这些使用情形实现高级计算操作,包括感知计算,并且还允许在电源管理/电池寿命、安全和系统响应度方面的增强。
例如,关于电源管理/电池寿命问题,至少部分地基于来自环境光传感器的信息,确定平台的位置中的环境光条件并相应地控制显示的强度。因此,在特定光条件下减小了操作显示器消耗的电力。
关于安全操作,至少部分地基于从传感器获得的诸如位置信息的上下文信息,可以确定是否允许用户访问特定安全文档。例如,可以准许用户在工作场所或家庭地点访问这样的文档。然而,在平台存在于公共场所时,防止用户访问这样的文档。在一个实施例中,这种确定基于位置信息,例如,经由GPS传感器或界标的相机识别所确定的位置信息。其他安全操作可以包括提供对在彼此的接近范围之内的设备的配对,这些设备例如为本文中描述的便携式平台和用户的台式计算机、移动电话等。在一些实施方式中,在这些设备这样配对时,经由近场通信实现特定共享。然而,在设备超过特定范围时,可以禁用这样的共享。此外,在对本文中描述的平台和智能电话配对时,警报可以被配置为在设备处在公开场所时在设备移动得超过彼此的预定距离时被触发。可以配置触发警报。相反,在这些配对的设备处于安全位置(例如,工作场所或家庭位置)中时,设备可以超过该预定极限而不触发这样的警报。
还可以使用传感器信息来增强响应度。例如,即使在平台处于低功率状态中时,仍然可以使得传感器能够以相对较低的频率运行。因此,确定例如由惯性传感器、GPS传感器等所确定的平台的位置的任何变化。如果尚未登记这样的变化,则进行到先前的无线集线器(例如Wi-FiTM接入点或类似无线启用器)的更快的连接,因为在这种情况下不需要扫描可用的无线网络资源。因此,在从低功率状态唤醒时,实现了更大水平的响应度。
应当理解,可以使用经由如本文中所描述的平台之内的集成传感器获得的传感器信息来实现许多其他使用情形,并且以上示例仅仅出于说明的目的。使用如本文中所描述的系统,一种感知计算系统可以允许添加备选的输入模态,包括手势识别,并使得系统能够感测用户操作和意图。
在一些实施例中,可以存在一个或多个红外或其他热感测元件或用于感测用户的存在或移动的任何其他元件。这样的感测元件可以包括一起工作、按顺序工作或按照这两种方式工作的多个不同的元件。例如,感测元件包括提供初始感测的元件,例如光或声音投射,接着由例如超声波飞行时间相机或图案化光相机对手势检测的感测。
另外,在一些实施例中,该系统包括产生照明线的光发生器。在一些实施例中,这条线提供关于虚拟边界的视觉线索,即空间中的假想或虚拟的位置,其中用户通过或突破虚拟边界或平面的动作被解释为意图与计算系统互动。在一些实施例中,该照明线可以在计算系统关于用户转变到不同状态时改变颜色。该照明线可以用于为用户提供空间中的虚拟边界的视觉线索,并可以由系统用于确定计算机关于用户的状态的转变,包括确定用户何时希望与计算机互动。
在一些实施例中,该计算机感测用户的位置和操作,以将用户的手通过虚拟边界的移动解释为指示用户意图与计算机互动的手势。在一些实施例中,在用户通过虚拟线或平面时,由光发生器生成的光可以改变,由此向用户提供指示用户已经进入用于提供向计算机提供输入的手势的区域的视觉反馈。
显示屏可以提供计算系统关于用户的状态的转变的视觉指示。在一些实施例中,在第一状态中提供第一屏幕,其中系统例如通过使用感测元件中的一个或多个来感测到用户的存在。
在一些实施方式中,系统例如通过面部识别来感测用户身份。这里,在第二状态中可以提供到第二屏幕的转变,其中计算系统已经识别出用户身份,其中该第二屏幕向用户提供指示用户已经转变到新状态的视觉反馈。在用户已经确认识别出用户的第三状态中,可以发生到第三屏幕的转变。
在一些实施例中,该计算系统可以使用转变机制来确定针对用户的虚拟边界的位置,其中虚拟边界的位置可以随着用户和上下文而变化。该计算系统可以生成光,例如照明线,以指示用于与系统交互的虚拟边界。在一些实施例中,该计算系统可以处于等待状态中,并可以产生第一颜色的光。该计算系统可以检测用户是否已经穿过虚拟边界,例如,通过使用感测元件来感测用户的存在和移动。
在一些实施例中,如果已经检测到用户已经跨过虚拟边界(例如,与虚拟边界线相比,用户的手更接近计算系统),则该计算系统可以转变到用于从用户接收手势输入的状态,其中一种指示转变的机制可以包括指示虚拟边界的光改变成第二颜色。
在一些实施例中,该计算系统然后可以确定是否检测到手势移动。如果检测到手势移动,则该计算系统可以继续进行手势识别过程,该过程可以包括使用来自手势数据库的数据,该库存在于计算系统中的存储器中,或者可以通过其他方式由计算设备访问。
如果识别了用户的手势,则该计算系统可以响应于该输入而执行功能,并且如果用户在虚拟边界之内,则返回以接收额外的手势。在一些实施例中,如果未识别出手势,则该计算系统可以转变到错误状态,其中一种指示错误状态的机制可以包括指示虚拟边界的光改变成第三颜色,其中如果用户在虚拟边界之内以与计算系统交互,则该系统返回以接收额外的手势。
如上所述,在其他实施例中,该系统可以被配置为可转换平板系统,其至少可以以两种不同模式使用,两种不同模式即平板模式和笔记本模式。该可转换系统可以具有两个面板,即显示面板和基底面板,使得在平板模式中,两个面板以堆叠方式设置在彼此顶部。在平板模式中,显示面板面朝外,并可以提供如常规平板计算机中发现的触摸屏功能。在笔记本模式中,两个面板可以被布置成开放翻盖式配置。
在各个实施例中,加速度计可以是具有至少50Hz的数据速率的3轴加速度计。还可以包括陀螺仪,其可以是3轴陀螺仪。此外,可以存在电子指南针/磁强计。此外,可以提供一个或多个接近传感器(例如,在盖打开的情况下,感测人何时接近(或不接近)系统,并调节功率/性能以延长电池寿命)。对于一些OS的传感器融合能力,包括加速度计、陀螺仪和指南针可以提供增强的特征。此外,经由具有实时时钟(RTC)的传感器集线器,可以实现从传感器机制的唤醒,以在系统的其余部分处于低功率状态时接收传感器输入。
在一些实施例中,内部盖/显示器打开开关或传感器指示盖何时关闭/打开,并可以用于将系统置于联网待机中或从联网待机状态中自动唤醒。其他系统传感器可以包括ACPI传感器,用于内部处理器、存储器和皮肤温度监测,以使得能够基于感测到的参数来改变处理器和系统操作状态。
在实施例中,OS可以是实现联网待机的8OS(本文也称为Windows CS)。Windows 8联网待机或具有类似状态的另一种OS可以经由如本文中所描述的平台提供极低超级空闲功率以使得应用程序能够在极低功耗下保持连接到例如基于云的位置。该平台可以支持3种功率状态,即屏幕打开(正常);联网待机(作为默认“关闭”状态);以及关机(功耗为零瓦)。因此,在联网待机状态中,即使屏幕关闭,该平台在逻辑上也是打开的(处于最低功率水平)。在这样的平台中,可以使功率管理对于应用程序而言是透明的,并保持恒定的连接,这部分是由于使得最低功率部件能够执行操作的卸载技术。
在图15中还可以看到,各种外围设备可以经由低管脚数(LPC)互连耦接到处理器1510。在所示的实施例中,各种部件可以通过嵌入式控制器(EC)1535耦接。这样的部件可以包括(例如,经由PS2接口耦接的)键盘1536、风扇1537和热传感器1539。在一些实施例中,触控板1530也可以经由PS2接口耦接到EC 1535。此外,安全处理器,例如根据2003年10月2日的可信计算组(TCG)TPM规范版本1.2的可信平台模块(TPM)1538,也可以经由该LPC互连耦接到处理器1510。然而,要理解本公开的范围不限于这一方面,并且安全的处理和安全信息的存储可以在另一受保护位置中,例如安全协同处理器中的静态随机存取存储器(SRAM)中,或者作为加密的数据块,该数据块仅在受安全飞地(SE)处理器模式保护时才被解密。
在特定实施方式中,外围端口可以包括:高清晰度媒体接口(HDMI)连接器(其可以具有不同形状因子,例如完全尺寸、迷你或微型);一个或多个USB端口,例如根据通用串行总线规范的完全尺寸外部端口,其中在系统处于联网待机状态中并且被插入AC墙壁电源中时,至少一个被加电用于对USB设备(例如,智能电话)充电。此外,可以提供一个或多个ThunderboltTM端口。其他端口可以包括可外部访问的读卡器,例如,完全尺寸的SD-XC读卡器和/或用于WWAN(例如,8管脚读卡器)的SIM读卡器。对于音频而言,可以有3.5mm的具有立体声和麦克风能力(例如,组合功能)的插孔,支持插孔检测(例如,耳机仅支持使用盖中的麦克风或在线缆中具有麦克风的耳机)。在一些实施例中,这种插孔可以在立体声耳机和立体声麦克风输入之间重新设定任务。此外,可以提供电力插孔用于耦接到AC块。
系统1500可以通过各种方式,包括无线方式,与外部设备通信。在图15所示的实施例中,存在各种无线模块,其中的每个都可以对应于针对特定无线通信协议配置的无线电收发装置。用于短程(诸如近场)无线通信的一种方式可以经由近场通信(NFC)单元1545,在一个实施例中,它可以经由SMBus与处理器1510通信。注意,通过该NFC单元1545,彼此密切接近的设备可以通信。例如,通过调整一起处于接近关系中的两个设备并使得能够传输信息,例如标识信息、支付信息、诸如图像数据等的数据,用户可以使得系统1500能够与诸如用户的智能电话的另一(例如)便携式设备通信。也可以使用NFC系统来执行无线电力传输。
使用本文中描述的NFC单元,通过利用这样的设备中的一个或多个的线圈之间的耦合,用户能够将设备并排靠在一起并将设备并排放置以实现近场耦合功能(例如,近场通信和无线电力传输(WPT))。更具体而言,实施例为设备提供了在战略上设定形状并放置的铁氧体材料,以提供对线圈的更好耦合。每个线圈都具有与其相关联的电感,其可以结合系统的电阻、电容和其他特征来选择以实现系统的常见谐振频率。
如图15中进一步可见,额外的无线单元可以包括其他短程无线引擎,包括WLAN单元1550和蓝牙单元1552。使用WLAN单元1550,可以实现根据给定电气与电子工程师协会(IEEE)802.11标准的Wi-FiTM通信,同时经由蓝牙单元1552,可以进行经由蓝牙协议的短程通信。这些单元可以例如经由USB链路或通用异步接收机发射机(UART)链路与处理器1510通信。或者,这些单元可以根据外围部件快速互连TM(PCIeTM)协议,例如,根据PCI快速TM规范基础规范版本3.0(2007年1月17日发布)或另一种这样的协议,例如,串行数据输入/输出(SDIO)标准,经由互连耦接到处理器1510。当然,可以配置于一个或多个附加卡上的这些外围设备之间的实际物理连接可以通过适配到主板的NGFF连接器来完成。
此外,例如,根据蜂窝或其他无线广域网协议的无线广域通信可以经由WWAN单元1556进行,该单元继而可以耦接到用户身份模块(SIM)1557。此外,为了使得能够接收和使用位置信息,还可以存在GPS模块1555。注意,在图15所示的实施例中,WWAN单元1556和集成捕获设备,例如相机模块1554,可以经由给定USB协议,例如USB 2.0或3.0链路,或UART或I2C协议来进行通信。同样,这些单元的实际物理连接可以经由将NGFF附加卡适配到配置在主板上的NGFF连接器来完成。
在特定实施例中,可以通过模块方式,例如,利用支持Windows 8CS的WiFiTM802.1lac方案(例如,与IEEE 802.11abgn后向后兼容的附加卡),提供无线功能。这种卡可以配置于内部插槽中(例如,经由NGFF适配器)。额外的模块可以提供蓝牙能力(例如,具有后向兼容性的蓝牙4.0)以及无线显示功能。此外,NFC支持可以经由独立设备或多功能设备提供,并可以例如被定位于机架的右前部分中以便于访问。额外的模块可以是可以为3G/4G/LTE和GPS提供支持的WWAN设备。这个模块可以实现于内部(例如,NGFF)插槽中。可以为WiFiTM、蓝牙、WWAN、NFC和GPS提供集成天线支持,从而使得能够从WiFiTM无缝过渡到根据无线吉比特规范(2010年7月)的WWAN无线电收发装置的无线吉比特(WiGig),反之亦然。
如以上所描述的,可以在盖中包含集成相机。作为一个示例,这个相机可以是高分辨率相机,例如,具有至少2.0兆像素(MP)的分辨率并扩展到6.0MP和更高。
为了提供音频输入和输出,音频处理器可以经由数字信号处理器(DSP)1560实现,其可以经由高清晰度音频(HDA)链路耦接到处理器1510。类似地,DSP 1560可以与集成编码器/解码器(CODEC)和放大器1562通信,它们继而可以耦接到可以实现在机架内的输出扬声器1563。类似地,放大器和CODEC 1562可以被耦接以从麦克风1565接收音频输入,在实施例中,可以经由双阵列麦克风(例如,数字麦克风阵列)实现该麦克风,以提供高质量的音频输入,从而使得能够对系统之内的各种操作进行语音激活的控制。还需注意,可以从放大器/CODEC 1562向耳机插孔1564提供音频输出。尽管在图15的实施例中利用这些特定部件示出,但要理解,本公开的范围不在此方面受限。
在特定实施例中,数字音频编解码器和放大器能够驱动立体声耳机插孔、立体声麦克风插孔、内部麦克风阵列和立体声扬声器。在不同实施方式中,编解码器可以集成到音频DSP中或经由HD音频路径耦接到外围控制器集线器(PCH)。在一些实施方式中,除了集成立体声扬声器之外,可以提供一个或多个低音扬声器,并且该扬声器方案可以支持DTS音频。
在一些实施例中,处理器1510可以由外部稳压器(VR)和集成于处理器管芯内部的多个内部稳压器供电,后者称为完全集成稳压器(FIVR)。在处理器中使用多个FIVR使得能够将部件分组到单独的电源层中,使得电力由FIVR调节并供应给该组中的仅仅那些部件。在电源管理期间,在将处理器置于特定低功率状态时,可以对一个FIVR的给定电源层断电或掉电,而另一FIVR的另一电源层保持活动或完全供电。
在一个实施例中,可以在一些深度睡眠状态中使用维持电源层,从而为用于若干I/O信号的I/O管脚加电,例如,处理器和PCH之间的接口、与外部VR的接口以及与EC 1535的接口。该维持电源层还为管芯上稳压器供电,该稳压器支持板上SRAM或其他高速缓存存储器,其中在睡眠状态期间存储处理器上下文。维持电源层还用于为监测并处理各种唤醒源信号的处理器的唤醒逻辑供电。
在电源管理期间,在处理器进入特定深度睡眠状态时对其他电源层断电或掉电时,维持电源层保持加电以支持上述部件。然而,在不需要那些部件时,这可能导致不必要的功耗或耗散。为此,实施例可以提供联网待机睡眠状态,以使用专用电源层维持处理器上下文。在一个实施例中,联网待机睡眠状态方便使用PCH的资源进行处理器唤醒,PCH自身可以与处理器一起存在于封装中。在一个实施例中,联网待机睡眠状态方便在PCH中维持处理器架构功能,直到处理器唤醒,这使得能够关闭先前在深度睡眠状态期间保持加电的所有不必要的处理器部件,包括关闭所有时钟。在一个实施例中,PCH包含时间戳计数器(TSC)和用于在联网待机状态期间控制该系统的联网待机逻辑。用于维持电源层的集成稳压器也可以驻存在PCH上。
在实施例中,在联网待机状态期间,集成稳压器可以充当保持加电的专用电源层,以支持专用高速缓存存储器,在高速缓存存储器中存储了处理器上下文,例如在处理器进入深度睡眠状态和联网待机状态时的临界状态变量。这种临界状态可以包括与架构、微架构、调试状态相关联的状态变量和/或与处理器相关联的类似状态变量。
在联网待机状态期间,来自EC 1235的唤醒源信号可以被发送到PCH而不是处理器,使得PCH而不是处理器能够管理唤醒处理。此外,TSC保持在PCH中,以方便维持处理器架构功能。尽管在图12的实施例中利用这些特定部件示出,但要理解,本公开的范围不在此方面受限。
处理器中的电力控制可能实现增强的省电。例如,可以在内核之间动态分配电力,各个内核可以改变频率/电压,并可以提供多种深度低功率状态以实现极低的功耗。此外,对内核或独立的内核部分的动态控制可以通过在未使用部件时关闭部件而减少功耗。
一些实施方式可以提供特定的电源管理IC(PMIC)以控制平台功率。使用这种方案,在处于给定待机状态时,例如在处于Windows联网待机状态中时,系统可以在延长的持续时间(例如,16小时)内看到极低(例如,少于5%)的电池劣化。在Windows空闲状态中,可以(例如,在150尼特)实现超过例如9小时的电池寿命。关于视频回放,可以实现长的电池寿命,例如,完全HD视频回放能够进行最少6个小时。在一种实施方式中,平台可以具有如下能量容量:例如,对于使用SSD的Windows CS而言35瓦小时(Whr),以及对于使用具有RST高速缓存配置的HDD的Windows CS而言(例如)40-44Whr。
特定实施方式可以提供对15W标称CPU热设计功率(TDP)的支持,其中可配置的CPUTDP高达大约25W TDP设计点。该平台可以包括由于上述热特征导致的最小通风孔。此外,该平台是枕靠友好的(因为没有热空气吹到用户身上)。取决于机架材料,可以实现不同的最大温度点。在(至少具有塑料盖或基底部分的)塑料机架的一种实施方式中,最大操作温度可以为52摄氏度(C)。并且对于金属机架的实施方式,最大操作温度可以是46℃。
在不同实施方式中,诸如TPM的安全模块可以集成到处理器中或者可以是分离设备,例如TPM 2.0设备。利用集成安全模块,也称为平台信任技术(PTT),可以使得BIOS/固件能够暴露用于特定安全特征的特定硬件特征以及诸如安全键盘和显示器的安全用户接口,特定安全特征包括安全指令、安全引导、防盗技术、身份保护技术、可信执行技术(TXT)和管理能力引擎技术。
转到图16,示出了形成具有处理器的示范性计算机系统的框图,该处理器包括执行单元以执行指令,其中互连中的一个或多个实现根据本公开的实施例的一个或多个特征。系统1600包括诸如处理器1602的部件,以采用包括逻辑的执行单元来执行用于根据本公开(例如在本文中描述的实施例中)处理数据的算法。系统1600表示可从加利福尼亚州圣克拉拉的英特尔公司得到的基于PENTIUM IIITM、PENTIUM 4TM、XeonTM、Itanium、XScaleTM和/或StrongARMTM微处理器的处理系统,但也可以使用其他系统(包括具有其他微处理器的PC、工程设计工作站、机顶盒等)。在一个实施例中,样本系统1600执行可从华盛顿雷蒙德的微软公司获得的WINDOWSTM操作系统的某个版本,但也可以使用其他操作系统(例如,UNIX和Linux)、嵌入式软件和/或图形用户界面。因此,本公开的实施例不限于硬件电路和软件的任何具体组合。
实施例不限于计算机系统。可以在其他设备,例如手持式设备和嵌入式应用中使用本公开的备选实施例。手持式设备的一些示例包括蜂窝电话、因特网协议设备、数字相机、个人数字助理(PDA)和手持式PC。嵌入式应用可以包括微控制器、数字信号处理器(DSP)、片上系统、网络计算机(NetPC)、机顶盒、网络集线器、广域网(WAN)交换机或能够根据至少一个实施例执行一个或多个指令的任何其他系统。
在该图示的实施例中,处理器1602包括一个或多个执行单元1608,以实施要执行至少一个指令的算法。可以在单个处理器台式计算机或服务器系统的上下文中描述一个实施例,但替代实施例可以包括在多处理器系统中。系统1600是“集线器”系统架构的示例。计算机系统1600包括处理器1602以处理数据信号。作为一个说明性示例,处理器1602包括复杂指令集计算机(CISC)微处理器、精简指令集计算(RISC)微处理器、超长指令字(VLIW)微处理器、实施指令集的组合的处理器或任何其他处理器设备,例如数字信号处理器。处理器1602耦接到在处理器1602和系统1600中的其他部件之间传输数据信号的处理器总线1610。系统1600的元件(例如,图形加速器1612、存储器控制器集线器2016、存储器1620、I/O控制器集线器1644、无线收发器1626、闪存BIOS 1628、网络控制器1634、音频控制器1636、串行扩展端口1638、I/O控制器1640等)执行本领域人员公知的它们的常规功能。
在一个实施例中,处理器1602包括1级(L1)内部高速缓存存储器1604。取决于该架构,处理器1602可以具有单个内部高速缓存或多级内部高速缓存。取决于特定实施方式和需要,其他实施例包括内部和外部高速缓存两者的组合。寄存器文件1606要在各种寄存器中存储不同类型的数据,各种寄存器包括整数寄存器、浮点寄存器、矢量寄存器、分组寄存器、阴影寄存器、检查点寄存器、状态寄存器和指令指针寄存器。
执行单元1608,包括执行整数和浮点运算的逻辑,也驻存在处理器1602中。在一个实施例中,处理器1602包括微代码(μcode)ROM以存储微代码,微代码在被执行时执行用于特定宏指令的算法或处理复杂情形。这里,微代码可能是可更新的以处理逻辑缺陷/修复处理器1602。对于一个实施例而言,执行单元1608包括处理封装的指令集1609的逻辑。通过在通用处理器1602的指令集中包括封装的指令集1609以及执行指令的相关联的电路,可以使用通用处理器1602中的封装的数据来执行由许多多媒体应用程序使用的操作。因此,通过使用处理器的数据总线的完整带宽用于执行对封装的数据的操作,许多多媒体应用程序被加速并更有效率地得以执行。这可能会消除跨处理器的数据总线传输更小单元的数据的需求,从而一次一个数据单元地执行一个或多个操作。
也可以在微控制器、嵌入式处理器、图形设备、DSP和其他类型的逻辑电路中使用执行单元1608的备选实施例。系统1600包括存储器1620。存储器1620包括动态随机存取存储器(DRAM)设备、静态随机存取存储器(SRAM)设备、闪存存储器设备或其他存储器设备。存储器1620存储要由处理器1602执行的数据信号表示的指令和/或数据。
需注意,可以在图16中所示的一个或多个互连上利用本公开的实施例上述特征或方面中的任何特征或方面。例如,未示出的用于耦合处理器1602的内部单元的管芯上互连(ODI)实施本文中的本公开的一个或多个方面。或者本公开的实施例与处理器总线1610(例如,英特尔快速路径互连(QPI)或其他已知高性能计算互连)、通往存储器1620的高带宽存储器路径1618、通往图形加速器1612的点对点链路1614(例如,外围部件快速互连(PCIe)兼容的结构)、控制器集线器互连1622、I/O或用于耦接其他图示的部件的其他互连(例如,USB、PCI、PCIe)相关联。这样的部件的一些示例包括音频控制器1636、固件集线器(闪存BIOS)1628、无线收发器1626、数据存储设备1624、包含用户输入和键盘接口1642的旧式I/O控制器1610、诸如通用串行总线(USB)的串行扩展端口1638以及网络控制器1634。数据存储设备1624可以包括硬盘驱动器、软盘驱动器、CD-ROM设备、闪存存储设备或其他大容量存储设备。
现在参见图17,示出了根据本公开的实施例的第二系统1700的框图。如图17所示,多处理器系统1700是点到点互连系统,包括经由点到点互连1750耦接的第一处理器1770和第二处理器1780。处理器1770和1780中的每个都可以是某个版本的处理器。在一个实施例中,1752和1754是串行点对点相干互连结构的部分,例如英特尔的快速路径互连(QPI)架构。因此,可以在QPI架构内实现本公开的实施例。
尽管利用仅两个处理器1770、1780示出,但要理解,本公开的范围不受此限制。在其他实施例中,在给定处理器中可以存在一个或多个额外的处理器。
处理器1770和1780被示为分别包括集成存储器控制器单元1772和1782。处理器1770还包括点对点(P-P)接口1776和1778作为其总线控制器单元的部分;类似地,第二处理器1780包括P-P接口1786和1788。处理器1770、1780可以使用P-P接口电路1778、1788,经由点对点(P-P)接口1750交换信息。如图17所示,IMC 1772和1782将处理器耦合到相应存储器,即存储器1732和存储器1734,它们可以是本地附接到相应处理器的主存储器的部分。
处理器1770、1780均使用点对点接口电路1776、1794、1786、1798,经由个体P-P接口1752、1754与芯片组1790交换信息。芯片组1790还沿着高性能图形互连1739经由接口电路1792与高性能图形电路1738交换信息。
共享高速缓存(未示出)可以被包括在处理器中或两个处理器外部;然而经由P-P互连与处理器连接,使得如果处理器被置于低功率模式下,则可以在共享高速缓存中存储任一个或两个处理器的本地高速缓存信息。
芯片组1790可以经由接口1796耦合到第一总线1716。在一个实施例中,第一总线1716可以是外围部件互连(PCI)总线或诸如PCI快速总线或另一种第三代I/O互连总线的总线,但是本公开的范围不受此限制。
如图17中所示,各种I/O设备1714连同总线桥1718一起耦接到第一总线1716,总线桥将第一总线1716耦接到第二总线1720。在一个实施例中,第二总线1720包括低管脚数(LPC)总线。在一个实施例中,各种设备耦接到第二总线1720,例如包括键盘和/或鼠标1722、通信设备1727和数据存储单元1728,例如磁盘驱动器或其他大容量存储设备,其常常包括指令/代码和数据1730。此外,音频I/O 1724被示为耦接到第二总线1720。需注意,其他架构是可能的,其中所包括的部件和互连架构有所变化。例如,代替图17的点对点架构,一种系统可以实施多点分支总线或其他这样的架构。
本文中公开的(例如,机制的)实施例可以采用硬件(例如,被编程控制以执行可以在具体实施方式中描述的方法的计算机)、软件、固件或这样的实施方式的组合来实施。本公开的实施例可以被实现为在可编程系统上执行的计算机程序或程序代码,该可编程系统包括至少一个处理器、存储系统(包括易失性和非易失性存储器和/或存储元件)、至少一个输入设备和至少一个输出设备。
可以执行程序代码以输入指令来执行本文中描述的功能并生成输出信息。通过已知的方式,输出信息可以被应用到一个或多个输出设备。出于本申请的目的,一种处理系统包括具有处理器的任何系统,处理器例如为数字信号处理器(DSP)、微控制器、专用集成电路(ASIC)或微处理器。
可以用高级流程或面向对象的编程语言来实现程序代码,以与处理系统通信。如果希望,也可以用汇编或机器语言来实现程序代码。本文中描述的机制在范围上不限于任何特定编程语言。该语言可以是编译或解释语言。
可以由非瞬态机器可读介质上存储的代表性指令实现至少一个实施例的一个或多个方面,该指令表示处理器之内的各种逻辑,其在由机器读取时导致机器制造逻辑以执行本文中描述的技术。这样的表示(一般可以称为“IP内核”)可以存储于有形机器可读介质上并被供应给各种客户或制造设施,以加载到制造逻辑的制造机器或处理器中。
这样的机器可读存储介质可以包括但不限于由机器或设备制造或形成的产品的非瞬态有形布置,包括诸如硬盘的存储介质,包括软盘、光盘、紧致盘只读存储器(CD-ROM)、可重写紧致盘(CD-RW)和磁光盘的任何其他类型的盘,诸如只读存储器(ROM)、诸如动态随机存取存储器(DRAM)、静态随机存取存储器(SRAM)的随机存取存储器(RAM)、可擦除可编程只读存储器(EPROM)、闪速存储器、电可擦可编程只读存储器(EEPROM)、相变存储器(PCM)、磁卡或光卡的半导体器件,或任何其他类型的适合存储电子指令的介质。
因此,本公开的实施例还包括包含指令或包含设计数据的非瞬态有形机器可读介质,设计数据例如是硬件描述语言(HDL),其定义本文中描述的结构、电路、装置、处理器和/或系统特征。这样的实施例也可以被称为程序产品。
Claims (25)
1.一种装置,包括:
串行总线集线器,其电耦接多个主机和多个设备;以及
电路,其产生绑定到所述多个主机中的第一主机和所述多个设备中的第一设备的第一虚拟集线器实例,并产生绑定到所述多个主机中的第二主机和所述多个设备中的第二设备的可并发使用的第二虚拟集线器实例。
2.根据权利要求1所述的装置,其中,所述多个设备中的第三设备由所述电路绑定到具有所述第一设备的所述第一虚拟集线器实例。
3.根据权利要求1所述的装置,其中,所述多个主机中的主机向所述电路指定要绑定到虚拟集线器实例的所述多个设备的子集。
4.根据权利要求1所述的装置,其中,来自所述第一主机的重置请求引起对所述第一虚拟集线器实例的重置而不引起对所述第二虚拟集线器实例的重置。
5.根据权利要求4所述的装置,其中,来自所述第一主机的所述重置请求不引起对所述串行总线集线器的重置。
6.根据权利要求5所述的装置,其中,所述第一虚拟集线器实例将指示所述串行总线集线器的重置成功的响应发送回到所述主机。
7.根据权利要求1所述的装置,其中,所述电路向电耦接到所述串行总线集线器的后续主机呈现未绑定到当前虚拟集线器实例的多个设备的列表。
8.根据权利要求1-7中的任一项所述的装置,其中,所述第一虚拟集线器实例根据通用串行总线(USB)规范被绑定到所述第一主机和所述第一设备。
9.一种方法,包括:
将多个面向下游的端口和多个面向上游的端口与串行总线集线器电耦接;
产生绑定到所述多个面向下游的端口中的第一面向下游的端口和所述多个面向上游的端口中的第一面向上游的端口的第一虚拟集线器实例;以及
产生绑定到所述多个面向下游的端口中的第二面向下游的端口和所述多个面向上游的端口中的第二面向上游的端口的可并发使用的第二虚拟集线器实例。
10.根据权利要求9所述的方法,还包括将所述多个面向上游的端口中的第三面向上游的端口绑定到具有所述第一面向上游的端口的所述第一虚拟集线器实例。
11.根据权利要求9所述的方法,其中,所述多个面向下游的端口中的面向下游的端口指定要绑定到虚拟集线器实例的所述多个面向上游的端口的子集。
12.根据权利要求9所述的方法,其中,来自所述第一面向下游的端口的重置请求引起对所述第一虚拟集线器实例的重置而不引起对所述第二虚拟集线器实例的重置。
13.根据权利要求12所述的方法,其中,来自所述第一面向下游的端口的所述重置请求不引起对所述串行总线集线器的重置。
14.根据权利要求13所述的方法,其中,所述第一虚拟集线器实例将指示所述串行总线集线器的重置成功的响应发送回到所述第一面向下游的端口。
15.根据权利要求9所述的方法,还包括向电耦接到所述串行总线集线器的后续面向下游的端口呈现未绑定到当前虚拟集线器实例的多个面向上游的端口的列表。
16.根据权利要求9-15中的任一项所述的方法,其中,所述第一虚拟集线器实例根据通用串行总线(USB)规范被绑定到所述第一面向下游的端口和所述第一面向上游的端口。
17.一种非瞬态机器可读介质,其存储代码,所述代码当由机器执行时使所述机器执行一种方法,所述方法包括:
将多个面向下游的端口和多个面向上游的端口与串行总线集线器电耦接;
产生绑定到所述多个面向下游的端口中的第一面向下游的端口和所述多个面向上游的端口中的第一面向上游的端口的第一虚拟集线器实例;以及
产生绑定到所述多个面向下游的端口中的第二面向下游的端口和所述多个面向上游的端口中的第二面向上游的端口的可并发使用的第二虚拟集线器实例。
18.根据权利要求17所述的非瞬态机器可读介质,其中,所述方法还包括将所述多个面向上游的端口中的第三面向上游的端口绑定到具有所述第一面向上游的端口的所述第一虚拟集线器实例。
19.根据权利要求17所述的非瞬态机器可读介质,其中,所述多个面向下游的端口中的面向下游的端口指定要绑定到虚拟集线器实例的所述多个面向上游的端口的子集。
20.根据权利要求17所述的非瞬态机器可读介质,其中,来自所述第一面向下游的端口的重置请求引起对所述第一虚拟集线器实例的重置而不引起对所述第二虚拟集线器实例的重置。
21.根据权利要求20所述的非瞬态机器可读介质,其中,来自所述第一面向下游的端口的所述重置请求不引起对所述串行总线集线器的重置。
22.根据权利要求21所述的非瞬态机器可读介质,其中,所述第一虚拟集线器实例将指示所述串行总线集线器的重置成功的响应发送回到所述第一面向下游的端口。
23.根据权利要求17所述的非瞬态机器可读介质,其中,所述方法还包括向电耦接到所述串行总线集线器的后续面向下游的端口呈现未绑定到当前虚拟集线器实例的多个面向上游的端口的列表。
24.根据权利要求17-23中的任一项所述的非瞬态机器可读介质,其中,所述第一虚拟集线器实例根据通用串行总线(USB)规范被绑定到所述第一面向下游的端口和所述第一面向上游的端口。
25.一种装置,包括:
串行总线集线器,其电耦接多个主机和多个设备;以及
单元,其产生绑定到所述多个主机中的第一主机和所述多个设备中的第一设备的第一虚拟集线器实例,并产生绑定到所述多个主机中的第二主机和所述多个设备中的第二设备的可并发使用的第二虚拟集线器实例。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/358,112 | 2016-11-21 | ||
US15/358,112 US20180143932A1 (en) | 2016-11-21 | 2016-11-21 | Apparatuses and methods to spawn multiple virtual serial bus hub instances on a same physical serial bus hub |
PCT/US2017/057163 WO2018093519A1 (en) | 2016-11-21 | 2017-10-18 | Apparatuses and methods to spawn multiple virtual serial bus hub instances on a same physical serial bus hub |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109891399A true CN109891399A (zh) | 2019-06-14 |
CN109891399B CN109891399B (zh) | 2024-03-26 |
Family
ID=62144405
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201780064432.0A Active CN109891399B (zh) | 2016-11-21 | 2017-10-18 | 在相同的物理串行总线集线器上产生多个虚拟串行总线集线器实例的装置和方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20180143932A1 (zh) |
CN (1) | CN109891399B (zh) |
WO (1) | WO2018093519A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116016726A (zh) * | 2023-02-07 | 2023-04-25 | 迈普通信技术股份有限公司 | 一种器件控制方法及分布式系统 |
Families Citing this family (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3282366B1 (en) * | 2016-08-11 | 2022-01-19 | GN Audio A/S | A usb enabled base station for a headset |
US10572644B2 (en) * | 2017-01-26 | 2020-02-25 | Microsoft Technology Licensing, Llc | Interacting with a computing device via identity-bearing peripheral devices |
DE102017103554B3 (de) * | 2017-02-21 | 2018-05-09 | Phoenix Contact Gmbh & Co. Kg | Frontadapter zum Verbinden mit einer Steuerungseinrichtung und Automatisierungssystem |
US10978896B2 (en) | 2017-06-23 | 2021-04-13 | Dell Products L.P. | High efficiency power storage adapter |
US10928880B2 (en) | 2017-06-23 | 2021-02-23 | Dell Products L.P. | Power storage adapter for communicating battery data with a portable information handling system |
US10642333B2 (en) | 2017-08-24 | 2020-05-05 | Dell Products L.P. | Power storage adapter for efficient supply of power of multiple portable information handling systems |
US10673271B2 (en) | 2017-09-01 | 2020-06-02 | Dell Products L.P. | Efficient charging of multiple portable information handling systems based on learned charging characteristics |
US11513928B2 (en) * | 2017-09-18 | 2022-11-29 | Dell Products L.P. | Power storage adapter with power cable validation |
US10714797B2 (en) | 2017-09-18 | 2020-07-14 | Dell Products L.P. | Multilayer thermal laminate with aerogel for battery cell enclosures |
US10740266B2 (en) * | 2017-11-17 | 2020-08-11 | Intel IP Corporation | Sensor data pipelining |
US10528508B2 (en) * | 2017-12-29 | 2020-01-07 | Intel Corporation | Technologies for fast MAUSB enumeration |
KR102458299B1 (ko) * | 2018-01-08 | 2022-10-25 | 삼성전자 주식회사 | 전자 장치 및 전자 장치의 동작 방법 |
US20200028713A1 (en) * | 2018-07-16 | 2020-01-23 | Dwight L. Stewart | Computer system having controller configured to create data tunnel based on device information |
US11604741B2 (en) | 2019-02-15 | 2023-03-14 | Intel Corporation | Method for dynamically provisioning virtualized functions in a USB device by means of a virtual USB hub |
TWI727480B (zh) * | 2019-11-01 | 2021-05-11 | 瑞昱半導體股份有限公司 | 影像處理晶片 |
US11416433B2 (en) * | 2020-09-02 | 2022-08-16 | Dell Products L.P. | Enhancing the performance of a wireless dock when a USB mass storage device is connected |
CN112506732A (zh) * | 2020-12-18 | 2021-03-16 | 京信网络系统股份有限公司 | 一种调试平台 |
US11509751B2 (en) * | 2020-12-23 | 2022-11-22 | Dell Products L.P. | Self-describing system using single-source/multi-destination cable |
US20210318980A1 (en) * | 2021-06-25 | 2021-10-14 | Intel Corporation | Peer-to-peer link sharing for upstream communications from xpus to a host processor |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060112251A1 (en) * | 2003-11-26 | 2006-05-25 | Veritas Operating Corporation | Host-based virtualization optimizations in storage environments employing off-host storage virtualization |
CN101243396A (zh) * | 2005-08-19 | 2008-08-13 | 英特尔公司 | 用于在虚拟化环境中支持通用串行总线装置的方法和设备 |
CN101350746A (zh) * | 2007-07-20 | 2009-01-21 | 莱克斯信息技术(北京)有限公司 | 旁路阻断tcp连接 |
CN101741831A (zh) * | 2008-11-10 | 2010-06-16 | 国际商业机器公司 | 动态物理和虚拟多路径输入/输出的方法、系统和装置 |
US20100228816A1 (en) * | 2009-03-03 | 2010-09-09 | Asustek Computer Inc. | Sharing system and management method for hardware device |
CN103154922A (zh) * | 2010-08-30 | 2013-06-12 | 高通股份有限公司 | 虚拟usb复合装置枚举 |
CN204117142U (zh) * | 2014-09-12 | 2015-01-21 | 亚信电子股份有限公司 | 提供主机即时切换分享通用串行总线电子设备的电子装置 |
CN104901923A (zh) * | 2014-03-04 | 2015-09-09 | 杭州华三通信技术有限公司 | 一种虚拟机访问装置和方法 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7415551B2 (en) * | 2003-08-18 | 2008-08-19 | Dell Products L.P. | Multi-host virtual bridge input-output resource switch |
US7783818B1 (en) * | 2007-12-28 | 2010-08-24 | Emc Corporation | Modularized interconnect between root complexes and I/O modules |
JP5180729B2 (ja) * | 2008-08-05 | 2013-04-10 | 株式会社日立製作所 | 計算機システム及びバス割当方法 |
US9396150B2 (en) * | 2010-11-29 | 2016-07-19 | Hitachi, Ltd. | Computer system and method utilizing a PCIe switch to control transfer of packets |
-
2016
- 2016-11-21 US US15/358,112 patent/US20180143932A1/en not_active Abandoned
-
2017
- 2017-10-18 WO PCT/US2017/057163 patent/WO2018093519A1/en active Application Filing
- 2017-10-18 CN CN201780064432.0A patent/CN109891399B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060112251A1 (en) * | 2003-11-26 | 2006-05-25 | Veritas Operating Corporation | Host-based virtualization optimizations in storage environments employing off-host storage virtualization |
CN101243396A (zh) * | 2005-08-19 | 2008-08-13 | 英特尔公司 | 用于在虚拟化环境中支持通用串行总线装置的方法和设备 |
CN101350746A (zh) * | 2007-07-20 | 2009-01-21 | 莱克斯信息技术(北京)有限公司 | 旁路阻断tcp连接 |
CN101741831A (zh) * | 2008-11-10 | 2010-06-16 | 国际商业机器公司 | 动态物理和虚拟多路径输入/输出的方法、系统和装置 |
US20100228816A1 (en) * | 2009-03-03 | 2010-09-09 | Asustek Computer Inc. | Sharing system and management method for hardware device |
CN103154922A (zh) * | 2010-08-30 | 2013-06-12 | 高通股份有限公司 | 虚拟usb复合装置枚举 |
CN104901923A (zh) * | 2014-03-04 | 2015-09-09 | 杭州华三通信技术有限公司 | 一种虚拟机访问装置和方法 |
CN204117142U (zh) * | 2014-09-12 | 2015-01-21 | 亚信电子股份有限公司 | 提供主机即时切换分享通用串行总线电子设备的电子装置 |
US20160077986A1 (en) * | 2014-09-12 | 2016-03-17 | Asix Electronics Corporation | Electronic apparatus providing real-time switching and sharing of usb electronic devices among hosts |
Non-Patent Citations (2)
Title |
---|
王淑琴等: "通用串行总线及其在虚拟仪器中的应用", 《计量技术》 * |
王淑琴等: "通用串行总线及其在虚拟仪器中的应用", 《计量技术》, no. 07, 18 July 2003 (2003-07-18) * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116016726A (zh) * | 2023-02-07 | 2023-04-25 | 迈普通信技术股份有限公司 | 一种器件控制方法及分布式系统 |
Also Published As
Publication number | Publication date |
---|---|
WO2018093519A1 (en) | 2018-05-24 |
CN109891399B (zh) | 2024-03-26 |
US20180143932A1 (en) | 2018-05-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109891399A (zh) | 在相同的物理串行总线集线器上产生多个虚拟串行总线集线器实例的装置和方法 | |
CN104052621B (zh) | 用于跨快速外围组件互连(pcie)段的平台管理消息的方法和系统 | |
CN108027785B (zh) | 用于对链路拆分进行去偏斜的方法、设备和系统 | |
CN112506844B (zh) | 针对pcie进行sris模式选择的系统、方法和装置 | |
CN104063290B (zh) | 处理超时的系统、方法和装置 | |
CN105027444B (zh) | 集成时钟差分缓冲 | |
CN104050114B (zh) | 同步端口进入低功率状态的系统、方法和设备 | |
CN110532212A (zh) | 用于有效外围组件管理的dvsec的系统、方法和装置 | |
CN107924380A (zh) | 使用业务类别分配高速缓存的方法、装置和系统 | |
TWI524184B (zh) | 用於在分散式記憶體組織架構中處理位址衝突之方法、設備及系統 | |
CN104813286B (zh) | 用于代码区的连续自动调整的方法、装置、系统 | |
CN112579496B (zh) | 减少引脚计数接口 | |
CN107003971B (zh) | 用于高性能互连中的嵌入式流通道的方法、装置、系统 | |
CN108701109A (zh) | 用于计算机扩展总线的插件机制的方法、装置和系统 | |
CN107005231A (zh) | 用于在高性能互连中定中心的方法、设备、系统 | |
CN106462208A (zh) | Usb电力输送控制器共享 | |
CN110121703B (zh) | 用于向量通信的系统和方法 | |
CN109597658A (zh) | 在计算环境中动态地启用和禁用加速器设备的技术 | |
CN109936434A (zh) | 非对称全双工usb ss链路的机制 | |
EP4109281A1 (en) | Peer-to-peer link sharing for upstream communications from xpus to a host processor | |
EP4141680A1 (en) | Debug data communication system for multiple chips | |
JP2023094532A (ja) | メモリ帯域幅のボトルネックを軽減し、電力管理を容易にするSoCアーキテクチャ | |
CN109643577B (zh) | 用于存储器训练的电参数的多维优化 | |
US20220113967A1 (en) | Accelerator fabric for discrete graphics |
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 |