CN1591382A - 在pci-express扩展连接上的lpc处理桥接 - Google Patents
在pci-express扩展连接上的lpc处理桥接 Download PDFInfo
- Publication number
- CN1591382A CN1591382A CNA2004100579735A CN200410057973A CN1591382A CN 1591382 A CN1591382 A CN 1591382A CN A2004100579735 A CNA2004100579735 A CN A2004100579735A CN 200410057973 A CN200410057973 A CN 200410057973A CN 1591382 A CN1591382 A CN 1591382A
- Authority
- CN
- China
- Prior art keywords
- lpc
- pci
- express
- bag
- data
- 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
Links
Images
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/4004—Coupling between buses
- G06F13/4027—Coupling between buses using bus bridges
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2213/00—Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F2213/0026—PCI express
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Bus Control (AREA)
Abstract
一种混合PCI-EXPRESS结构系统允许通过该PCI-EXPRESS结构从一个便携式计算机向它的扩展底座发送LPC总线命令和数据。这允许便携式计算机连接到连至扩展底座的外围设备而无需在便携式计算机和扩展底座上增加额外的连接器。
Description
技术领域
本申请大体上涉及从外围设备到使用扩展底座(docking station)的便携式计算机的连接,特别地,涉及插入到有外围设备连接到其上的扩展底座的便携式计算机之间的通信。
背景技术
个人计算机系统使用一个连接到外围设备的输入/输出(I/O)系统,这些外围设备需要有一个可操作的系统。这些外围设备通常为键盘、鼠标和打印机。从个人计算机的早期即出现这些设备,因而它们作为传统I/O、或XIO以及现在以术语Super I/O而被大家所熟悉。用于个人计算机Super I/O单元的元件列表随着每一代个人计算机而变化。新的元件加入到Super I/O中,例如SM总线控制器、CPU冷却风扇控制和IRDA。Super I/O单元通过被称为低针脚数(LPC)总线的特殊的低带宽总线连接到个人计算机主机。
便携式计算机,通常为笔记本或膝上型计算机,可以使用一个扩展底座来将计算机连接到外围设备、更大的监视器和电源。当扩展膝上型计算机时,Super I/O元件的一些功能通过扩展底座来传输。如果LPC总线延伸到扩展底座,那么不得不向膝上型计算机和扩展底座增加额外的连接器。这给膝上型计算机和扩展底座增加了额外的成本,并且给膝上型计算机增加了重量。如果LPC总线没有延伸,则问题是如何在膝上型计算机的CPU和扩展底座的Super I/O元件之间交换数据。
图1表示将I/O通过扩展连接器延伸到扩展底座的现有配置的方框图,大体上如100所示。在图1中,主机102与Super I/O芯片106通过LPC总线104通信。总线104是双向的总线。Super I/O芯片取出对输出108处的每个外围设备的命令。输出108a用于行式打印机,输出108b和c用于通信端口,输出108d和e用于PC/2端口,输出108f用于FDD(软盘驱动器),以及输出108g用于快速IR。这些线108a-108g通过扩展连接器延伸进扩展底座的端口复制器。
PCI_Express是一种高速的利用点对点传输的新结构,其可根据未来发展而升级并将替代现用的PCI(周边元件扩展接口)并行总线结构。除了命令结构和连接类型与PCI_Express不兼容以外,PCI_Express将提供用于在便携式计算机的CPU和连接到扩展底座的外围设备之间通信的工具。LPC总线是双向半双工的总线,而PCI_Express是单向全双工的点对点结构。在LPC总线上命令的长度是变化的,使得难以将该数据注入到另一系统的数据流中。
因此,需要一种将主机CPU连接到接入扩展底座的外围设备的低成本的方法。
发明内容
本发明的总体目的是修改PCI_Express开关,以便能够在PCI_Express结构上传输LPC处理包。
依照本发明的一个特征,通过具有用于外围设备的LPC总线的便携式计算机组成的计算机系统,提供了上述和其它目的和特征。扩展底座连接便携式计算机和外围设备,PCI_Express结构连接便携式计算机和扩展底座,PCI_Express结构在LPC总线和外围设备之间传输命令或数据。
本发明的另一特征包括一个用于连接便携式计算机和外围设备、在这两者之间有通信链路的计算机扩展底座。PCI_Express结构可连接到便携式计算机和至少一个外围设备,PCI_Express结构在扩展底座中的计算机和连至其上的外围设备之间传输命令或数据。
本发明的另一特征包含一个修改的PCI_Express结构。混合PCI_Express的下游端口可连接到计算机LPC总线和计算机主机,以用于接收PCI_Express包和LPC数据或命令,以沿着PCI_Express结构传输。混合PCI_Express的上游端口可连接到计算机外围设备,接收PCI_Express包,来自PCI_Express结构的打包LPC数据或命令,并分开LPC数据或命令以供计算机外围设备使用。
本发明的另一特征包括一种在便携式计算机和使用PCI_Express结构的扩展底座之间的边界上连接LPC总线处理包的方法。控制在PCI_Express结构上的数据流,将在PCI_Express结构上第一位置的对应于LPC处理包的PCI_Express包插入到PCI_Express流量未使用的部分。在PCI_Express结构上第二位置接收PCI_Express包,并取出对应于LPC处理包的那些包。执行LPC任务。
本发明的另一特征包括一种在便携式计算机和扩展底座之间的边界上连接LPC总线的方法,一种从外围设备向处理器发送一系列IRQ或DMA请求的方法。连接到外围设备的LPC受控器(LPC slave)产生要求一系列IRQ请求或DMA请求的PCI_Express上游包。将PCI_Express上游包注入到PCI_Express结构中。在扩展底座中恢复PCI_Express上游包。利用恢复的PCI_Express上游包来产生LPC控制器的边带信号。
附图说明
图1是将便携式计算机的Super I/O连接到扩展底座的现有技术实现方法的方框图;
图2是利用本发明的修改的PCI_Express结构的总体方框图;
图3是图2系统的更详细的方框图;
图4是利用半双工和全双工信号的图解说明;
图5是LPC的更详细的方框图;
图6是向混合PCI_Express端口传输N字节TLP的管道控制器的时序图;
图7是从混合PCI_Express端口传输N字节TLP的管道控制器的时序图;
图8是LPC-nSERIRQ信号的波形的时序图;
图9是PCI-DMA请求信号的波形的时序图;以及
图10A和10B是管道受控器的两种可能实现方法的方框图,一个有外围接口,一个有LPC总线接口。
具体实施方式
图2表示本发明的概念,大体上如200所示。在本发明中,LPC处理包通过PCI_Express链路“穿过”扩展连接器。形成与PCI_Express兼容的数据包以从LPC总线传输端口I/O命令。将这些新包插入PCI_Express通信流的可用空间中,并通过PCI_Express链路的“管道”运载至扩展底座上的端口复制器。Super I/O寄存器依然在笔记本或膝上型计算机中,并在扩展底座的LPC管道受控器(LPC TUNNELSLAVE)中被复制。
参见图2,LPC总线204将主机202连接至Super I/O芯片206,如同图1所示。Super I/O芯片有着与图1中Super I/O芯片106相同的输出208a-208g。LPC管道控制器(LPC TUNNEL MASTER)218由启动总线220和数据总线222连接到Super I/O芯片206。该LPC管道控制器经由线216连接到经由PCI_Express链路212连接至主机202的PCI_Express开关214。PCI_Express开关214经由PCI_Express链路216通过扩展连接器连接至扩展底座中的端口复制器。PCI_Express链路216终止于由PCI_Express链路230连接到LPC管道受控器228的PCI_Express开关226。LPC管道受控器228有着与Super I/O芯片206的输出208a-208g相同的输出224a-224g。PCI_Express开关226也有一条PCI_Express链路232以连接到一个可以是例如硬盘驱动器的PCI_Express设备234。另一条PCI_Express链路236可以连接到PCI_Express结构的其它部分,可以是依照PCI_Express标准的PCI_Express设备或PCI_Express开关(未画出)。因此,上游电路215将LPC总线204上的数据“穿过”PCI_Express链路216到达下游电路219。PCI_Express开关226分解PCI_Express打包的LPC处理包,并经由链路230将其发送到LPC管道受控器228。然后,LPC管道受控器228执行与由Super I/O芯片206所执行的相同的功能。PCI_Express结构完全不受LPC管道控制器进行的LPC包数据合并和由PCI_Express开关进行的去合并之后的影响。该系统工作的原因之一是非常低的LPC处理速度。LPC总线仍然使用8MHz的时钟频率。尽管CPU所使用的时钟频率逐年显著地增加,LPC总线的时钟频率依然保持相同,因为外围设备中所固有的物理限制使它们无法使用更高的时钟频率,因而避免了重写BIOS的成本。PCI_Express首先以2.5GHz的时钟频率运行,并最终达到40GHz的时钟频率。因此,在PCI_Express结构中有足够的带宽来处理低速的LPC总线处理包而不会对PCI_Express结构流量产生负面影响。然而,下面将讨论其它的考虑因素。
图3是图2所示的本发明总体实现方法的更加详细的图示,大体如300所示。LPC总线304即为前图中所示的LPC总线104和204。将其连接到替代图2中Super I/O芯片206的方框306。方框306包含一个连接到IOP系统352的LPC总线接口350,其中IOP系统352替代Super I/O芯片206。连接到IOP系统352的是对应于图2的管道控制器218的LPC管道控制器318。PCI_Express链路312对应于图2中所示的链路212。将其连接到一个对技术熟悉的人所熟知的有如图所示物理层的PCI_Express上游端口338。将PCI_Express上游端口338连接到一个同时也连至三个PCI_Express下游端口340、342和344的开关348。每个PCI_Express下游端口有各自的物理层。PCI_Express1:4开关核314也有一个连接到开关348的混合PCI_Express下游端口346。该开关348允许PCI_Express上游端口338与PCI_Express下游端口340、342、344和混合PCI_Express下游端口346之中任意一个以每次一个的方式通信。然而,它不允许下游端口340、342、344或346之间互相通信。每个下游端口也有它们各自的物理层。
将混合PCI_Express下游端口346经由链路也连接到LPC管道控制器318。将PCI_Express下游端口344和混合PCI_Express下游端口346经由链路316连接到扩展底座中的PCI_Express下游电路326。将PCI_Express下游端口344连接到PCI_Express上游端口356,并将混合PCI_Express下游端口346连接到混合PCI_Express上游端口354。每个上游端口354、356都有各自的物理层,并且每个都经由链路连接到终点358。终点358可以经由网桥连接到其它总线,例如通过网桥360到USB总线、PCI总线或ATA总线的网桥链路。将混合PCI_Express上游端口354经由链路也连接到包含LPC管道受控器364和IOP系统362的XIO核328。PCI_Express下游端口340、342可以连接到其它设备,例如硬盘(未画出)。
在操作中,链路312上的PCI_Express通信流可以向下发送到PCI_Express上游端口338并通过开关348到达下游端口340、342或344之一。下游端口344经由PCI_Express链路316发送数据至位于扩展底座中的PCI_Express上游端口356。也可以从PCI_Express上游端口338通过混合PCI_Express下游端口346经由PCI_Express链路316将数据向下发送至混合PCI_Express上游端口354。到此为止,PCI_Express结构执行了其正常的功能。
如果一个LPC处理包经由LPC总线304到达LPC总线接口350,IOP系统352将指令分到多个输出线,例如图2中的输出线208a-208g(图3中未画出),并且将所述LPC总线处理包配置成可插入PCI_Express通信流的包的形式。由IOP系统352产生的包是有差不多相同长度的固定的精确包,而不论将要执行的处理。这使得当有可用空间时,包可由LPC管道控制器318插入PCI_Express通信流中。这是因为插入混合PCI_Express包所需要的时间对任何这种混合包来说都是固定的。因此,如果要将混合包插入PCI_Express流量中,管道控制器将知道处理保存在其传输队列中的包的可用时间有多少。如果没有足够的可用时间,那么混合PCI_Express包将一直等到有可用的时隙。如上所解释的,由于LPC总线上的低数据速率和PCI_Express结构上的高数据速率,将不会有冲突。一旦有可用的时隙,LPC管道控制器将指导混合PCI_Express下游端口把这个包插入其流量中,然后经由链路316输出到混合PCI_Express上游端口354。混合PCI_Express上游端口354分解本发明中唯一的非PCI_Express定义的处理包,并经由链路将其发送至XIO核328。LPC管道受控器364和XIO核328接收分解的包,IOP系统362产生控制线(例如图2中所示控制线224a-224g,图3中未画出)上的输出以驱动适当的外围设备。
如图所示,混合PCI_Express下游端口346及其链路316和混合PCI_Express上游端口354可用于从PCI_Express结构的剩余流量中的额外通信流。它可用于需要发送LPC处理包数据时。然而,本系统只要求使用一个混合PCI_Express下游端口和一个混合PCI_Express上游端口。可省略剩余的PCI_Express下游端口340、342和344和额外的PCI_Express上游端口356,同时仍可实施本发明。
下面的表1是在两个混合端口中可插入PCI_Express结构拓扑中和可从其中移除的所有LPC相关混合处理的列表。在两个混合端口的处理层中可将LPC处理插入PCI_Express结构拓扑中以及从其中移除。
表1
LPC处理 | 处理类型 | 起点 | PCI_E包 |
LPC I/O读取 | 双向 | 管道控制器 | LPC-TO/LPC-TT |
LPC I/O写入 | 单向 | 管道控制器 | LPC-UD向下 |
LPC存储器读取 | 双向 | 管道控制器 | LPC-TO/LPC-TT |
LPC存储器写入 | 单向 | 管道控制器 | LPC-UD向下 |
LPC DMA写入主机 | 双向 | 管道控制器 | LPC-TO/LPC-TT |
LPC DMA读自主机 | 单向 | 管道控制器 | LPC-UD向下 |
LPC DMA请求 | 单向 | 管道受控器 | LPC-UD向上 |
LPC SERIRQ请求 | 单向 | 管道受控器 | LPC-UD向上 |
如表1所示,只有八种类型的LPC处理。三种LPC处理是从LPC管道控制器流向LPC管道受控器的向下单向的处理。两种LPC处理是单向向上的处理,只从LPC管道受控器流向LPC管道控制器。所有单向LPC处理被格式化成LPC单向(LPC-UD)PCI_Express处理包。还有三种LPC处理是双向的。所有双向LPC处理都被分成两种PCI_Express处理。一个包是LPC处理起点(LPC-TO)包,另一个是LPC处理终点(LPC-TT)包。所有LPC-TO包从LPC管道控制器向下流向LPC管道受控器,所有LPC-TT包从LPC管道受控器向上流向LPC管道控制器。要求十一种不同的PCI_Express处理包适应八种不同类型的LPC处理。LPC管道控制器将产生LPC-TO和LPCUD向下的PCI_Express包,LPC管道受控器将产生LPC-TT和LPCUD向上的PCI_Express包。由管道控制器和管道受控器产生的PCI_Express包通过获得混合PCI_Express端口来注入PCI_Express数据流,并通过接收PCI_Express端口来分解PCI_Express数据流。混合PCI_Express下游端口将获得LPC-UD向下和LPC-TO包。混合PCI_Express上游端口将获得LPC-UD向上和LPC-TT包。如上所述,LPC处理包并不适合PCI_Express数据流,因此LPC处理数据包需要重新打包。下面将解释这两个系统之间的差异。
PCI_Express处理数据包被格式化成像数据包的传统通信,并且使用传统的通信定向处理协议。也就是说数据,被称为有效载荷,与完整定义的报头和报尾结合,并在总线上作为完整定义的处理包进行传输,该有效载荷夹在报头和报尾之间。传输机制对数据有效载荷的内容绝对地没有兴趣。它所关心的是报头和报尾的内容。报头指导传输机制何时何地发送处理数据包,报尾允许传输机制校验处理数据包使其不被恶化地到达目的地。通信定向处理协议关注数据源和目的地,路由控制和数据恶化保护。此外,PCI_Express总线是全双工的总线;每条PCI_Express链路有一个向上和一个向下的通道。上游端口的发送通道连接到下游端口的接收通道,下游端口的发送通道连接到上游端口的接收通道。PCI_Express结构是一个开关结构,其中每条链路都是两个端口之间的点对点链路。在该结构中的每个开关都有两个或更多端口,一个向上和一个或多个向下的端口。
在另一方面的LPC处理数据包是总线定向数据包,并使用与通信定向(如PCI_Express处理)相反的总线定向处理协议。总线定向处理只关注于总线管理。LPC总线是一个点作为控制方、其余点作为受控方的多点总线。由于LPC总线的多点总线结构,它最好只能是半双工的总线。由于LPC总线的这种半双工性质,一些LPC处理数据包并未很好地定义。问题在双向数据包中。LPC受控器直到LPC控制器发出请求之后才知道控制器要求的信息。这可能使LPC受控器设备花上未定数量的时间来收集信息并放置在总线上。因此,LPC受控器不得不向LPC控制器指出必须通过未定数量的传输时钟周期来伸展LPC处理数据包。在LPC详细说明中,受控LPC将“等待”同步码插入LPC处理数据包中以完成LPC处理数据包的伸展。
为了在PCI_Express数据流上发送LPC处理数据包,电路必须将半双工定向数据包合并成全双工定向数据流,然后在全双工链路的另一端将数据去合并成半双工数据包。全双工定向数据包是单向的数据包。数据包的指向是向上或者向下。半双工定向数据包是双向的包。总线可以在数据包的中间反转方向。例如,控制器可以请求来自受控设备的数据。数据包以控制器发出向下的地址信息为起点,以受控器送回向上的数据为终点。图4用图示解释了这一问题。
为了解决这一问题,半双工定向数据包必须被分成两个全双工定向数据包。考虑到总线的动态行为,一旦半双工定向数据包被分成全双工定向数据包,这两个衍生出的全双工数据包可以并且大多数一定会是分离的。通过分离,意味着来自一个半双工数据包的向下全双工和向上全双工部分将被多个数据包传输周期以及合并与反合并点之间的全双工链路上的一个未定时间段分开。本发明必须重新连接这两个全双工部分,以便在合并和反合并点之间的全双工链路对于全双工链路的每一端上的两个半双工总线来说,都是透明的。
受控LPC设备不能发起LPC数据处理包。使用边带信号以产生DMA请求和连续IRQ请求。因此,没有DMA请求或连续IRQ请求LPC数据处理包。然而,由连接到扩展底座的外围设备产生的边带信号无法通过PCI_Express链路到达LPC控制器。因此LPC管道受控器必须将这些边带信号转变成LPC-UD向上的PCI_Express数据处理包,然后注入混合PCI_Express向上端口中的PCI_Express结构中。
LPC管道控制器产生所有的LPC-UD向下PCI_Express数据处理包。转变成LPC-UD向下的PCI_Express数据处理包的三种单向LPC数据处理包的是LPC I/O写入、LPC存储器写入和LPC DMA读自主机。表2表示在转变成LPC-UD PCI_Express数据处理包之前,这三种LPC数据处理包的数据格式。每个单元是半个字节(4比特)的信息,每个单元在LPC总线上消耗一个传输时钟周期。不仅这三个单向LPC数据处理包在单元中是不同的,而且每个都可以有附加的“同步”单元(见下面的解释)。因此无法预定每个给定单向LPC数据处理包的大小。这使得向PCI_Express数据流中插入包变得复杂,因为管道控制器将不得不确定包的每种变体所需要的时间。
表2
LPC处理 | 单元0 | 单元1 | 单元2 | 单元3 | 单元4 | 单元5 | 单元6 | 单元7 | 单元8 | 单元9 | 单元10 | 单元11 | 单元12 | 单元13 |
LPC I/O写入 | 开始 | T/D | 地址(16比特) | 数据(8比特) | CTAR | 同步 | PTAR | |||||||
LPC存储器写入 | 开始 | T/D | 地址(32比特) | 数据(8比特) | CTAR | |||||||||
LPC DMA读自主机 | 开始 | T/D | Ch | 大小 | 数据(8比特) | CTAR | 同步 | PTAR1 | 数据(8比特) | CTAR |
LPC处理 | 单元14 | 单元15 | 单元16 | 单元17 | 单元18 | 单元19 | 单元20 | 单元21 | 单元22 | 单元23 | 单元24 | 单元25 | 单元26 |
LPC I/O写入 | |||||||||||||
LPC存储器写入 | 同步 | PTAR | |||||||||||
LPC DMA读自主机 | CTAR | 同步 | PTAR2 | 数据(8比特) | CTAR | 同步 | PTAR | 数据(8比特) |
LPC处理 | 单元27 | 单元28 | 单元29 | 单元30 | 单元31 | 单元19 | 单元20 | 单元21 | 单元22 | 单元23 | 单元24 | 单元25 | 单元26 |
LPC I/O写入 | |||||||||||||
LPC存储器写入 | |||||||||||||
LPC DMA读自主机 | CTAR | 同步 | PTAR3 |
TAR是总线转向(bus Turn ARound)的首字母缩写。每次在LPC总线上数据流方向转向时,两个传输时钟周期失去,即总线转向时间。CTAR单元是当数据流方向从“控制器到外围设备”变成“外围设备到控制器”。PTAR单元是当数据流方向从“外围设备到控制器”变成“控制器到外围设备”。根据在“大小”(单元3)半字节中的值,LPC DMA读取数据传输操作可以在PTAR1(一字节传输)、PTAR2(两字节传输)或PTAR3(四字节传输)的末尾终止。LPC DMA读取数据传输操作的通道(单元2)识别哪个DMA通道正在使用。可以一次激活最多到8个DMA通道。
每个LPC数据传输操作以“开始周期”(单元0)和“周期类型和方向”(单元1)起点,以“同步”和两个“PTAR”时钟周期为终点。“同步”半字节是当外围设备接受LPC数据传输包时,发回给控制器的编码。有不同的同步编码。“就绪”同步编码表示传输操作可以正常结束。外围设备将发出“等待”同步编码,表示在正常传输操作时间期内,它不能终止传输操作,直到它能终止操作为止。外围设备还可以发出“错误”同步编码以异常地终止操作。
其它LPC数据处理包是双向的包。在双向包中,外围设备必须在同步和第一PTAR单元之间将信息(通常是数据)驱动到的LPC总线上。这等于向数据包插入信息单元。表3表示这三种双向LPC数据传输包。如同单向LPC数据处理包,不仅这三个双向LPC数据处理包在单元中是不同的,而且每个都可以有附加的“同步”单元。因此同样无法预定每个给定双向LPC数据处理包的大小。
表3
LPC处理 | 单元0 | 单元1 | 单元2 | 单元3 | 单元4 | 单元5 | 单元6 | 单元7 | 单元8 | 单元9 | 单元10 | 单元11 | 单元12 | 单元13 |
LPC I/O读取 | 开始 | T/D | 地址(16比特) | CTAR | 同步 | 数据(8比特) | PTAR | |||||||
LPC存储器读取 | 开始 | T/D | 地址(32比特) | CTAR | 同步 | 数据 | ||||||||
LPC DMA写入主机 | 开始 | T/D | Ch | 大小 | CTAR | 同步 | 数据(8比特) | PTAR1 | 同步 | 数据(8比特) |
LPC处理 | 单元14 | 单元15 | 单元16 | 单元17 | 单元18 | 单元19 | 单元20 | 单元21 | 单元22 | 单元23 | 单元24 | 单元25 | 单元26 |
LPC I/O读取 | |||||||||||||
LPC存储器读取 | 数据 | PTAR | |||||||||||
LPC DMA写入主机 | PTAR2 | 同步 | 数据(8比特) | PTAR | 同步 | 数据(8比特) | PTAR3 |
LPC DMA写入处理在PTAR1时钟周期之后终止,或者PTAR1周期可省略。同样的规则适用于其它PTAR时钟周期。在CTAR时钟周期之后,LPC DMA写入操作将在同步周期和数据周期之间交替,直到所有的数据已传输,并且PTAR周期将是最后两个操作周期。LPCDMA写入处理只可以传输8比特、16比特或32比特的数据包。
所有LPC数据处理包和所有LPC边带信号将转变成“Msg”类型的PCI_Express产商定义的报文处理层包(TLP)。“Msg”类型产商定义的报文TLP只有一个16字节的报头,无TLP有效载荷和TLP摘要。表4-10定义了从LPC数据处理包转变而成的“Msg”TLP包的16字节报头。这些表表示按字节顺序的TLP报头和每个字节的比特顺序。在每张表的“定义”行中进行了比特区域的定义。每张表包含两个完整字节的比特信息,要求8个表定义16字节TLP报头中的所有比特。标记为标识符“R”的所有比特区域都保留比特区域,并总是设为零。
TLP报头的最初12字节对所有“Msg”TLP包来说格式相同。下面每张表是定义在每张表的“定义”行中的定义列表。
表4
字节顺序 | 0 | 1 | ||||||||||||||
比特顺序 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
定义 | R | Fmt | 类型 | R | TC | R | ||||||||||
设置 | 0 | 0 | 1 | 1 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
字节顺序 | 2 | 3 | ||||||||||||||
比特顺序 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
定义 | TD | EP | Attr | R | 长度 | |||||||||||
设置 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
字节顺序 | 4 | 5 | ||||||||||||||
比特顺序 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
定义 | 请求者ID | |||||||||||||||
设置 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | d | d | d | d | d | f | f | f |
字节顺序 | 6 | 7 | ||||||||||||||
比特顺序 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
定义 | 标记 | 报文编码 | ||||||||||||||
设置 | t | T | t | t | t | t | t | t | 0 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
字节顺序 | 8 | 9 | ||||||||||||||
比特顺序 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
定义 | 目的地ID | |||||||||||||||
设置 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | d | d | d | d | d | f | f | f |
字节顺序 | 10 | 11 | ||||||||||||||
比特顺序 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
定义 | 产商ID | |||||||||||||||
设置 | v | v | v | v | v | v | v | v | v | v | v | v | v | v | v | V |
下述定义与表4的定义行有关:
Fmt:TLP包的格式
01:定义了有16字节报头并且无数据有效载荷的TLP包。(例如,Msg类型)
类型:定义了TLP包的类型和路由控制
10010:所有从LPC数据处理包转变而成的TLP包将被定义为“由ID路由的报文”。
TC:流量级
0:所有报文TLP使用TC=0的流量级。
TD:TLP摘要选项控制
0:所有从LPC数据处理包转变而成的TLP包在TLP包的末尾没有TLP摘要。
EP:表示被损害的TLP
所有从LPC数据处理包转变而成的TLP包将不使用这种表示法,并且EP总是设置为零。
Attr:TLP流量管理属性
对产商定义的TLP报文来说,这些比特总是设为零。
长度:数据有效载荷大小
对有数据有效载荷的TLP包来说,这个比特区域定义了在数据有效载荷中的32比特数据单元的数量。
0000000000:表示无数据有效载荷。
请求者ID:产生TLP包的PCI_Express用户的标识码
所有从LPC数据处理包转变而成的TLP包的请求者ID将使用11111111dddddfff的形式。
前8个比特将被设置为表示这是一个从LPC数据处理包转变而成的TLP包的含义。
紧接着的5个比特表示数据流方向。
ddddd=11111:表示管道控制器是TLP包的来源。
ddddd=00000:表示管道受控器是TLP包的来源。
最后3个比特表示LPC包的类型。
fff=000:表示TLP包是来源于管道受控器的LPCSERIRQ请求包。
fff=001:表示TLP包是来源于管道受控器的LPC DMA请求包。
fff=010:表示TLP包是来源于管道控制器的LPC I/O写入包。
fff=100:表示TLP包是来源于管道控制器的LPC存储器写入包。
fff=110:表示TLP包是来源于管道控制器的LPC DMA读自主机包。
fff=011:表示TLP包是LPC I/O读取包。
对于LPC-TO I/O读取包来说,TLP的来源是管道控制器。
对于LPC-TT I/O读取包来说,TLP的来源是管道受控器。
fff=101:表示TLP包是LPC存储器读取包。
对于LPC-TO存储器读取包来说,TLP的来源是管道控制器。
对于LPC-TT存储器读取包来说,TLP的来源是管道受控器。
fff=111:表示TLP包是LPC DMA写入主机包。
对于LPC-TO DMA写入包来说,TLP的来源是管道控制器。
对于LPC-TT DMA写入包来说,TLP的来源是管道受控器。
标记:TLP标记
由请求者产生的8比特值允许追踪分开的LPC数据处理包,并在PCI-Express结构之外重新结合。给所有的LPC-UD数据处理包分配零的标记值。由管道控制器给所有LPC-TO数据处理包分配唯一的标记值。在任意给定时间都可以分配最多到31个LPC-TO数据处理包,因为有31个唯一的标记值。当管道受控器通过产生一个LPC-TT数据处理包以响应于LPC-TO数据处理包,它将给LPC-TT包分配与LPC-TO包中相同的标记值。这样,管道控制器将能够通过匹配标记值来重新结合LPC-TT包和LPC-TO包以完成LPC处理。
报文编码:产商定义的报文编码
如果端口不是目的地端口,产商定义的报文编码“0111 1111”指导任何接收端口默默丢弃TLP并且不将其向PCI-Express结构中的下一个开关传播。这一安全措施确保了转变的LPC数据处理包不会泄漏给混合链路之外的PCI-Express结构的剩余部分。
目的地ID:作为TLP包的目标的PCI-Express用户的标识码。
所有从LPC数据处理包转变而成的TLP包的目的地ID将使用11111111dddddfff的形式。参见请求者ID定义所给出的解释以理解“ddddd”和“fff”的内容。对目的地ID来说,“ddddd”表示目标目的地(管道受控器=00000,管道控制器=11111)。
产商ID:由PCI-Express委员会分配给产商的ID编码。
分配给每个产商一个唯一的产商ID编码。当只有预定端口或开关作出响应时,则允许在PCI-Express结构上广播包。
TLP报头最后四个字节的格式将依赖于TLP类型。在TLP中传输的信息是TLP报头的最后四个字节。表5和6表示LPC SERIRQ请求TLP包的TLP报头最后四个字节的数据格式。
表5
字节顺序 | 12 | 13 | ||||||||||||||
比特顺序 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
定义 | IRQ[15:0]状态 | |||||||||||||||
设置 | x | x | x | x | x | x | x | x | x | X | x | x | x | x | x | x |
表6
字节顺序 | 14 | 15 | ||||||||||||||
比特顺序 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
定义 | 保留 | |||||||||||||||
设置 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
IRQ[15:0]状态:编码在LPC SERIAL IRQ信号中的15个IRQ信号的每个的状态。在字节12和13中每个比特代表一个连续IRQ帧期间,IRQ中断期间之一的状态。如果分配的IRQ是激活的,比特将会取高值。如果分配的IRQ是未激活的,比特将会取低值。
表7和表8表示LPC DMA请求TLP包的TLP报头最后四个字节的数据格式。
表7
字节顺序 | 12 | 13 | ||||||||||||||
比特顺序 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
定义 | R | ChanID | A | R | ||||||||||||
设置 | 0 | 0 | 0 | 0 | b | b | b | a | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
表8
字节顺序 | 14 | 15 | ||||||||||||||
比特顺序 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
定义 | 保留 | |||||||||||||||
设置 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
ChanID:DMA通道ID
当设备发出DMA请求时,必须提供DMA通道号以便DMA控制器可以确定将8个DMA通道中的哪一个分配给该设备。
表9和10表示LPC-TO或LPC-TT的TLP包的TLP报头最后四个字节的数据格式。
表9
字节顺序 | 12 | 13 | ||||||||||||||
比特顺序 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
定义 | 数据0 | 数据1 | ||||||||||||||
设置 | x | x | x | x | x | x | x | x | x | x | x | x | x | x | x | X |
表10
字节顺序 | 14 | 15 | ||||||||||||||
比特顺序 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
定义 | 数据3 | 数据4 | ||||||||||||||
设置 | x | x | x | x | x | x | x | x | x | x | x | x | x | x | x | X |
数据N
不是所有的LPC-TT型TLP包都会使用所有四种数据字节。由TLP包使用的数据字节将被设为零。
管道控制器必须确定LPC总线上的哪个数据包需要从管道控制器通过混合PCI-Express链路传向管道受控器。LPC总线是多点总线,其它设备可以和管道控制器共用LPC总线。监控LPC总线和选择性地指导流量通过管道控制器是管道控制器中的LPC包管理器的职责之一。一旦LPC包管理器确定一个LPC数据包应当转变成PCI-Express TLP数据包,它就必须确定将其转变成哪一类型的TLP数据包并且相应地指导从LPC到PCI-Express的变换器。
图5是管道控制器的方框图,大体如500所示。将LPC包管理器502连接到LPC总线接口504。LPC总线接口504接收LPC总线控制信号和3比特的LPC数据信号[3:0]。将LPC总线接口504的输出连接到从LPC到PCI-Express的变换器506,该变换器506有一个输出连接到一个向下发送32比特[32:0]数据作为PCI-Express包的下游FIFO队列510。FIFO510响应于下游控制512的输出,下游控制512接收DOWN GNT和DOWN CLOCK信号并输出DOWN REQ信号。在上游侧,上游控制514接收UP CLOCK信号,输出UP VAL值并控制上游FIFO队列516。上游FIFO516接收32比特[32:0]的比特流,并在上游控制的控制下,向PCI-Express LPC变换器508输出接收到的数据,变换器508输出转变数据给LPC总线接口504。图5所示方框中的电路对于那些对技术熟悉的人来说是已知的,因而在此无需详细画出。
对于单向LPC处理数据包,LPC包管理器将在LPC总线上发出“就绪”同步和PTAR时钟周期以完成LPC数据处理包。当被转变成LPC-UD下游PCI-Express TLP包时,LPC包管理器将LPC数据总线上的输入LPC信息传向从LPC到PCI-Express变换器。
对于双向LPC处理数据包,LPC包管理器将指导从LPC到PCI-Express变换器产生从LPC-TO PCI-ExpressTLP包。然后LPC包管理器将在LPC总线上发出“长期等待”同步时钟周期,直到从PCI-Express到LPC变换器接收到返回的匹配LPC_TT PCI-ExpressTLP包。然后LPC包管理器将对从PCI-Express到LPC变换器取出LPC总线上的LPC-TT TLP包进行定时,并以适当的PTAR时钟周期终止LPC处理。如果LPC包管理器在确定的时间内未接收到匹配的LPC-TT包,则它必须通过在LPC总线上发出“错误”同步和适当的PTAR时钟周期以终止LPC数据处理。当LPC-TT PCI-ExpressTLP包的“请求者ID”与LPC-TO PCI-Express TLP的“目的地ID”相同并且LPC-TT和LPC-TO包的标记值也相同时,LPC-TT包与所述LPC-TO包的LPC-TT包相匹配。
从LPC到PCI-Express变换器产生适当的TLP报头。LPC-UD向下和LPC-TO PCI-Express TLP包的LPC数据从LPC处理周期转换成TLP数据有效载荷。表11表示LPC-UD向下和LPC-TOPCI-Express TLP包的TLP报头的内容。注意所有LPC TLP包是不包含数据有效载荷或报尾的仅具有报头的包。
表11
LPC-UD向下和LPC-TT PCI-Express TLP数据包的16字节报头 | |||||||||||||||
字节0 | 字节1 | 字节2 | 字节3 | 字节4 | 字节5 | 字节6 | 字节7 | 字节8 | 字节9 | 字节A | 字节B | 字节C | 字节D | 字节E | 字节F |
0x72 | 0x00 | 0x00 | 0x00 | 0xFF | ReqID | 标记 | 0x7F | 0xFF | DestID | vID | vID | 数据0 | 数据1 | 数据2 | 数据3 |
如果正在转换的LPC处理是LPC I/O写入操作,那么:
在报头的字节5中的“ReqID”值是0xFA。
在报头的字节9中的“DestID”值是0x02。
在报头的字节6中的“标记”值是0x00。
字节C“数据0”和字节D“数据1”是从LPC总线处理周期的单元2、3、4和5中取出的16比特LPC I/O地址。
字节E“数据2”是从LPC总线处理周期的单元6和7中取出的LPC8比特数据。
字节F设为0x00。
如果正在转换的LPC处理是LPC存储器写入操作,那么:
在报头的字节5中的“ReqID”值是0xFC。
在报头的字节9中的“DestID”值是0x04。
在报头的字节6中的“标记”值将包含从LPC总线处理周期的单元10和11中取出的8比特LPC数据。
字节C到字节F是从LPC总线处理周期的单元2、3、4、5、6、7、8和9中取出的LPC32比特存储地址。
如果正在转换的LPC处理是LPC DMA读自主机操作,那么:
在报头的字节5中的“ReqID”值是0xFE。
在报头的字节9中的“DestID”值是0x06。
在报头的字节3中的“长度”值将由LPC总线处理周期的单元3中的“大小”值来确定。
对于大小=00:长度=0x01
对于大小=01:长度=0x01
对于大小=10:不合法的编码并且不产生TLP包
对于大小=11:长度=0x02
在报头的字节6中的“标记”值包含通道号(LPC总线处理周期的单元2)和处理数据大小(LPC总线处理周期的单元3)。
字节C是从LPC总线处理周期的单元4和5中取出的第一个8比特LPC数据。
字节D是从LPC总线处理周期的单元11和12中取出的下一个8比特LPC数据。(要求大小为01或11)
字节E和字节F是从LPC总线处理周期的单元18、19、25和26中取出的下两个8比特LPC数据。(要求大小为11)
如果正在转换的LPC处理是LPC I/O读取操作,那么:
在报头的字节5中的“ReqID”值是0xFB。
在报头的字节9中的“DestID”值是0x03。
变换器将在报头的字节6中分配“标记”值。
字节C和字节D是从LPC总线处理周期的单元2、3、4和5中取出的16比特LPC I/O地址。
如果正在转换的LPC处理是LPC存储器读取操作,那么:
在报头的字节5中的“ReqID”值是0xFD。
在报头的字节9中的“DestID”值是0x05。
变换器将在报头的字节6中分配“标记”值。
字节C到字节F是从LPC总线处理周期的单元2、3、4、5、6、7、8和9中取出的32比特LPC存储地址。
如果正在转换的LPC处理是DMA写入主机操作,那么:
在报头的字节5中的“ReqID”值是0xFF。
在报头的字节9中的“DestID”值是0x07。
变换器将在报头的字节6中分配“标记”值。
字节C包含从LPC总线处理周期的单元2中取出的DMA通道号和从LPC总线处理周期的单元3中取出的DMA数据传输大小。
在从LPC到PCI-Express变换器产生TLP之后,将其下载到下游FIFO。在下游FIFO从LPC到PCI-Express变换器接收到完整的TLP包之后,它将驱动Down Request信号激活,以发信号给混合PCI-Express下游端口,表明它有一个TLP包要注入PCI-Express结构。然后,混合PCI-Express下游端口能够接受TLP包,它将驱动DownGrant信号激活,并在DownClk信号的下一个上升沿开始从管道控制器接受TLP数据。下游FIFO控制将保持DownRequest激活,直到TLP包最后32比特在下游FIFO之外计时。当最后32比特的TLP放置在向下数据[32:0]总线上时,去除DownRequest信号。混合PCI-Express端口在DownClock的下一个上升沿去除DownGrant,并在这同一DownClock周期内停止计时数据。在混合PCI-Express端口去除DownGrant之后,管道控制器可自由发出另一个TLP传输请求。图6表示这一传输序列的时序图,大体如600所示。
当混合PCI-Express端口在上游通道接收到LPC TLP包,它将从PCI-Express结构中移除TLP并将其发送给管道控制器。管道控制器将TLP计时到其上游FIFO。当混合PCI-Express端口有一个准备传输给管道控制器的完整的LPC TLP包时,它将驱动UpValid信号激活。在UpVal信号激活的UpClk的第一上升沿,管道控制器的上游控制将确定混合PCI-Express端口正在请求TLP传输。在下一个上升沿(UpValid激活之后的第二个),管道控制器将开始计时数据进入上游FIFO。只要UpValid保持激活状态,管道控制器将继续计时TLP数据进入上游FIFO。在传输完一个TLP包之后,混合PCI-Express端口必须通过去除UpValid至少一个UpClk时钟周期来断开TLP传输。图7表示这一传输序列的时序图,大体如700所示。
在管道控制器接收到一个完整TLP进入上游FIFO之后,它将向从PCI_Express到LPC变换器发送数据。在从PCI_Express到LPC变换器中,处理TLP报头以确定是哪种类型的TLP包。从PCI_Express到LPC变换器只能处理两种类型的TLP包,即LPC-TT和LPC-UD上游PCI_Express TLP包。
对LPC-UD上游TLP包来说,从PCI_Express到LPC变换器必须产生LPC控制信号的一些波形。只有两种LPC-UD上游TLP包(参见下文的管道受控器关于LPC-UD上游TLP包的更详细描述)、LPCSERIRQ请求和LPC DMA请求。
图8表示LPC-nSERIRQ信号的波形。LPC-nSERIRQ信号有一个浮动的高(经由完整上电阻连接到Vcc)开口收集信号,表示设备之一可以使其降低。在图中,标记为“开始序列”的时段是当LPC控制器驱动LPC-nSERIRQ信号降低,以表示这是SERIRQ波列的开端。标记为“停止序列”的时段是当LPC控制器驱动LPC-nSERIRQ信号降低,以表示这是SERIRQ波列的末端。在开始序列和停止序列标记之间标记为IRQ1、IRQ2...IRQ15的时段是外围设备驱动LPC-nSERIRQ降低以表示外围设备正在产生中断请求。通常由系统软件向外围设备分配中断号码(IRQ1、IRQ2等)。管道控制器被认为是LPC总线上的一个外围设备。该图还表示了在LPC-UD上游TLP包的字节C(数据0)和字节D(数据1)中的数据。对于LPC SERIRQ请求TLP包,从PCI_Express到LPC变换器必须驱动LPC-nSERIRQ在TLP包的字节C或字节D中的相关比特高的LPC-nSERIRQ波列期间内降低。在图中,意味着字节C的比特1高,字节D的比特7低。管道控制器必须一直监控LPC-nSERIRQ信号。一旦开始一个SERIRQ波列,管道控制器就不能驱动LPC-nSERIRQ信号降低,除非在字节C和字节D中数据所表示的期间内。如果一个SERIRQ波列结束,管道控制器必须通过驱动LPC-nSERIRQ在一个LPC-CLK周期内取低值以请求另一个SERIRQ波列开始。
图9表示LPC-DMA请求的波列。LPC-DRQ是LPC接口上的专用信号。有能力管理LPC总线上的DMA传输的每个外围设备都有一个专用的LPC-DRQ信号。对于LPC DMA请求TLP包,从PCI_Express到LPC的变换器必须根据图中的波列来驱动LPC-DRQ信号。首先驱动LPC-DRQ信号在一个LPC_CLK周期内降低以表示LPC-DRQ波列的开端。然后,在LPC-DMA请求TLP包的字节C(数据0)中四个最低的比特被时钟输出到LPC_DRQ信号。如果字节C中的相关比特为低,LPC-DRQ将在该LPC_CLK时钟期间为低;如果字节C中的相关比特为高,LPC-DRQ将为高。
上面描述了三种不同的LPC-TT PCI_Express TLP包:LPC I/O读取LPC-TT包,LPC存储器读取LPC-TT包,和LPC DMA写入主机LPC-TT包。当从PCI_Express到LPC的变换器接收到LPC-TT包时,该LPC-TT包将用于完成当前激活的LPC数据处理。从LPC到PCI_Express的变换器产生LPC-TO TLP包。每次管道受控器接收到LPC-TO包时,它必须产生一个匹配的LPC-TT包。在从LPC到PCI_Express的变换器产生LPC-TO包之后,它将不能再产生TLP包,直到从PCI_Express到LPC的变换器接收到匹配的LPC-TT包。每次从LPC到PCI_Express的变换器产生LPC-TO包时,它对LPC-TO TLP包分配一个唯一的“标记”号。管道受控器将给它在接收到LPC-TO TLP包之后产生的匹配LPC-TT TLP包分配相同的“标记”号。当LPC包管理器指导从LPC到PCI_Express的变换器产生LPC-TO TLP包时,它还通过向LPC总线连续发出“长期等待”同步编码从而使LPC总线处于暂停状态。引起从LPC到PCI_Express的变换器产生LPC-TO TLP包的所述LPC处理周期等待从PCI_Express到LPC的变换器接收到匹配的LPC-TT TLP包,以完成LPC处理周期。表12A-C表示如何由三种不同的LPC-TT TLP包来完成LPC处理周期。表12A表示由从LPC到PCI_Express的变换器将数据从LPC处理周期转变成LPC-TO TLP包。表12B表示LPC包管理器使LPC总线处于暂停状态(同步1=“长期等待”)的LPC处理周期。表12C表示使用从PCI_Express到LPC的变换器从LPC-TTTLP包中取出的信息填写完整的单元。LPC包管理器产生所有同步编码(同步1=“长期等待”和同步0=“就绪”)。
表12A
LPC处理 | 单元0 | 单元1 | 单元2 | 单元3 | 单元4 | 单元5 | 单元6 | 单元7 | 单元8 | 单元9 | 单元10 | 单元11 |
LPC I/O读取 | 开始 | T/D | 地址(16比特) | CTAR | ||||||||
LPC存储器读取 | 开始 | T/D | 地址(32比特) | CTAR | ||||||||
LPC DMA写入主机 | 开始 | T/D | Ch | 大小 | CTAR |
LPC处理 | 单元12 | 单元13 | 单元14 | 单元15 | 单元16 | 单元17 | 单元18 | 单元19 | 单元20 | 单元21 | 单元22 |
LPC I/O读取 | 同步0 | PTAR | |||||||||
LPC存储器读取 | 同步0 | PTAR | |||||||||
LPC DMA写入主机 | 同步0 | PTAR | 同步0 | PTAR |
表12B
LPC处理 | 单元0 | 单元1 | 单元2 | 单元3 | 单元4 | 单元5 | 单元6 | 单元7 | 单元8 | 单元9 | 单元10 | 单元11 |
LPC I/O读取 | 开始 | T/D | CTAR | 同步1 | 同步1 | 同步1 | 同步1 | |||||
LPC存储器读取 | 开始 | T/D | CTAR | |||||||||
LPC DMA写入主机 | 开始 | T/D | CTAR | 同步1 | 同步1 | 同步1 | 同步1 | 同步1 | 同步1 |
LPC处理 | 单元12 | 单元13 | 单元14 | 单元15 | 单元16 | 单元17 | 单元18 | 单元19 | 单元20 | 单元21 | 单元22 |
LPC I/O读取 | 同步1 | 同步1 | 同步1 | 同步0 | PTAR | ||||||
LPC存储器读取 | 同步1 | 同步1 | 同步1 | 同步1 | 同步1 | 同步1 | 同步0 | PTAR | |||
LPC DMA写入主机 | 同步0 | PTAR | 同步0 | PTAR |
表12C
LPC处理 | 单元0 | 单元1 | 单元2 | 单元3 | 单元4 | 单元5 | 单元6 | 单元7 | 单元8 | 单元9 | 单元10 | 单元11 |
LPC I/O读取 | 开始 | T/D | CTAR | |||||||||
LPC存储读取 | 开始 | T/D | CTAR | |||||||||
LPC DMA写入主机 | 开始 | T/D | CTAR |
LPC处理 | 单元12 | 单元13 | 单元14 | 单元15 | 单元16 | 单元17 | 单元18 | 单元19 | 单元20 | 单元21 | 单元22 |
LPC I/O读取 | 同步0 | 数据(8比特) | PTAR | ||||||||
LPC存储读取 | 同步0 | 数据(8比特) | PTAR | ||||||||
LPC DMA写入主机 | 同步0 | 数据(8比特) | PTAR | 同步0 | 数据(8比特) | PTAR |
管道受控器可以采用多种形式。它就像是管道控制器的镜像,将PCI-Express TLP包转换回LPC包,从而完整的把LPC总线延伸连接到扩展底座。或者在另一极端,在扩展底座中甚至可以没有LPC总线。在这种情况下,管道受控器直接连接通常连接到LPC总线的外围设备。但大多数情况下,大多数管道受控器将采用所描述的两种极端的某种结合的形式。
在图10A和10B中表示了管道受控器的两种可能的实施例,大体上分别如1000和1050所示。图10A表示有外围接口的管道受控器。下游数据[32:0]进入由下游控制1004控制的下游FIFO1002。下游控制1004接收DownClock信号并产生DOWN VALUE信号。下游FIFO1002的输出连接到TLP解码电路1010,该电路1010有一个输出连接到外围数据寄存器1016,外围数据寄存器1016依次产生数据输出[7:0]。TLP解码电路有一个连接到产生R/nW输出信号的地址解码电路1014的第二输出。TLP解码电路的第三输出连接到TLP编码电路1012,电路1012有一个输出连接到上游FIFO1008。上游FIFO1008在上游控制1006的控制下,产生向上数据[32:0]信号,上游控制1006接收UP CLOCK和UP GRANT信号并产生UP REQ信号以及上游FIFO1008的控制信号。
图10B表示有LPC总线接口的管道受控器。下游数据[32:0]进入由下游控制1054控制的下游FIFO1052。下游控制1054接收DownClock信号并产生DOWN VALUE信号。下游FIFO1052的输出连接到从PCI_Express到LPC的变换器,所述变换器将PCI_Express包转变成LPC数据传输包,并将它们输出到产生控制LPC总线信号和数据[3:0]LPC信号的LPC总线接口1064。LPC总线接口1064也连接到LPC包管理器1066,并且有一个输出连接到从LPC到PCI_Express的变换器1062。从LPC到PCI_Express的变换器1062有一个输出连接到由上游控制1056控制的上游FIFO1058。上游控制1056接收UP CLOCK和UP GNT信号并产生UP REQ信号和上游FIFO1058的控制信号。
图10A和10B的电路图对那些熟悉技术的人来说是已知的,无需在此详细讨论。LPC通道并不规定穿过扩展单元的LPC数据在附到扩展单元的外围设备上如何分布,而是规定管道受控器如何与PCI_Express结构相连接,以完成通道过程。
管道受控器可以如此灵活这一事实本身证明了LPC通道给笔记本扩展情况增加了很多新的灵活性。膝上型计算机的初始设备制造厂家现在可以以有成本效益的方法来选择在膝上型计算机扩展底座中增加游戏端口和操纵杆借口、闪存、电源管理和其它特性。
所有下游LPC PCI_Express TLP包必须被解码并响应于管道受控器。对所有下游LPC-TO PCI_Express TLP包来说,必须产生匹配的LPC-TT上游PCI_Express包,并尽可能快地向上发送。不管从LPC PCI_Express TLP解码的数据和信息如何进一步在系统中传输,管道受控器对混合PCI_Express端口的接口是相同的。管道受控器从混合PCI_Express端口接收完整的TLP包至下游FIFO。管道受控器下游TLP传输的时序与管道控制器上游TLP传输的时序相同。在上面讨论的管道控制器中定义了下游LPC PCI_Express TLP包、LPC-TO和下游LPC-UD的数据格式。
当管道受控器与LPC总线相连时,除了所有“长期等待”同步周期被去除以外,在扩展底座的LPC总线上的LPC数据处理包与出现在扩展到扩展底座的膝上型计算机单元中的LPC总线上的处理包相同。管道受控器在扩展底座中服务于LPC总线控制器。
表13表示由管道受控器产生的LPC-TT和LPC-UD上游PCI_Express TLP包的TLP报头的内容。
表13
LPC-TO PCI-Express TLP数据包的16字节报头 | |||||||||||||||
字节0 | 字节1 | 字节2 | 字节3 | 字节4 | 字节5 | 字节6 | 字节7 | 字节8 | 字节9 | 字节A | 字节B | 字节C | 字节D | 字节E | 字节F |
0x72 | 0x00 | 0x00 | 0x00 | 0xFF | ReqID | 标记 | 0x7F | 0xFF | DestID | vID | vID | 数据0 | 数据1 | 数据2 | 数据3 |
如果正在转换的LPC处理是LPC I/O读取操作(LPC-TT包),那么:
在报头的字节5中的“ReqID”值是0x03。
在报头的字节9中的“DestID”值是0xFB。
在字节6中的“标记”值将与在管道控制器的同一LPC I/O读取操作中由从LPC到PCI_Express的变换器产生的LPC-TO TLP的“标记”值相同。
字节C中的数据0是在LPC I/O读取操作的“同步0”单元之后的两个LPC处理单元之间放置在LPC总线上的数据值。
如果正在转换的LPC处理是LPC存储读取操作(LPC-TT包),那么:
在报头的字节5中的“ReqID”值是0x05。
在报头的字节9中的“DestID”值是0xFD。
在字节6中的“标记”值将与在管道控制器的同一LPC存储器读取操作中由从LPC到PCI_Express的变换器产生的LPC-TO TLP的“标记”值相同。
字节C中的数据0是在LPC存储器读取操作的“同步0”单元之后的两个LPC处理单元之间放置在LPC总线上的数据值。
如果正在转换的LPC处理是LPC DMA写入主机操作(LPC-TT包),那么:
在报头的字节5中的“ReqID”值是0x07。
在报头的字节9中的“DestID”值是0xFF。
在字节6中的“标记”值将与在管道控制器的同一LPC DMA写入主机操作中由从LPC到PCI_Express的变换器产生的LPC-TOTLP的“标记”值相同。
字节C中的数据0是在LPC DMA写入主机操作的“同步0”单元之后的两个LPC处理单元之间放置在LPC总线上的数据值。
根据LPC DMA写入主机操作的“大小”单元的值,字节D、字节E和字节F也可以包含有效数据。如果“大小”=01(16比特数据传输)或11(32比特数据传输),字节D包含有效数据。如果“大小”=11(32比特数据传输),字节E和字节F包含有效数据。
如果正在转换的LPC处理是LPC SERIRQ请求(上游LPC-UD包),那么:
在报头的字节5中的“ReqID”值是0x00。
在报头的字节9中的“DestID”值是0xF8。
在字节6中的“标记”值将设为零。
字节C中的数据0将包含IRQ[7:0],字节D中的数据1将包含IRQ[15:0]。
如果正在转换的LPC处理是LPC DMA请求(上游LPC-UD包),那么:
在报头的字节5中的“ReqID”值是0x01。
在报头的字节9中的“DestID”值是0xF9。
在字节6中的“标记”值将设为零。
字节C中的数据0[3:0]将包含正在请求的DMA通道的通道号和该通道的通道激活标记。
所有LPC PCI_Express TLP包都是16字节的包。在正常PCI_Express端口的任务之外,混合PCI_Express端口只有两个附加的任务,即在管道操作的来源侧执行注入LPC PCI_Express TLP包,以及在接收侧取出LPC PCI_Express TLP包。
为了注入LPC PCI_Express TLP包,混合端口必须监控通过混合链路的正常PCI_Express流量并且能够确定何时有带宽来注入LPCPCI_Express TLP包。源管道控制器、管道控制器或管道受控器将通过驱动UpReq或DownReq信号激活来产生请求。当源混合端口能够注入LPC PCI_Express TLP包时,它将通过驱动UpGnt或DownGnt信号激活来同意请求。直到知道在混合链路上有足够的带宽来发送完整的16字节LPC PCI_Express TLP包时,源混合端口才会同意请求。
为了取出LPC PCI_Express TLP包,混合端口必须监控产商ID区域(TLP报头的字节10和字节11)。当TLP报头的产商ID区域与用于识别LPC PCI_Express TLP包的代码相匹配时,接收的混合端口必须从PCI_Express结构中俘获16字节LPC PCI_Express TLP包,并指导其传向管道接口。在取出LPC PCI_Express TLP包之后,接收的混合端口将通过驱动UpVal或DownVal信号为低来请求向管道设备的传输。在驱动有效信号激活两个时钟周期之后,接收的混合端口将开始向管道设备传输LPC PCI_Express TLP包。
当参照首选实施例显示和描述本发明时,那些对技术熟悉的人应当理解在本发明中可以进行各种变化和修改,而不背离由附上的权利要求书所定义的本发明的精髓和范围。例如,本发明可被描述成使用产商ID作为包定义。如那些对技术熟悉的人所知道的,也可以使用其它包定义例如源/目的地。
Claims (18)
1.一种计算机系统,包含:
具有用于外围设备使用的一个LPC总线的一个便携式计算机;
一个接收所述便携式计算机和外围设备的扩展底座;
一个连接所述便携式计算机和扩展底座的PCI_Express结构,该PCI_Express结构在LPC总线和外围设备之间传输命令或数据。
2.权利要求1的计算机系统,进一步包含一个连接到所述LPC总线和一个计算机主机的混合PCI_Express下游端口,其用于接收PCI_Express包和LPC命令或数据,以沿着PCI_Express结构传输。
3.权利要求2的计算机系统,进一步包含一个混合PCI_Express上游端口,其可连接一个外围设备以及用于从PCI_Express结构接收PCI_Express包和LPC处理包。
4.权利要求2的计算机系统,其中所述混合PCI_Express下游端口接收一个半双工LPC总线处理包,并将其转换成两个全双工PCI_Express包,以在PCI_Express结构上传输。
5.权利要求4的计算机系统,进一步包含一个LPC包管理器,当等待对一个双向LPC处理数据包的响应时,其在LPC总线上放置一个长期等待同步时钟信号。
6.在一种用于接收一个便携式计算机和多个外围设备的计算机扩展底座中,一个在便携式计算机和多个外围设备之间的通信链路,包含:
一个可连接到便携式计算机和至少一个外围设备的PCI_Express结构,该PCI_Express结构在扩展底座中的计算机和一个与之连接的外围设备之间传输命令或数据。
7.权利要求6的计算机扩展底座,进一步包含一个混合PCI_Express下游端口,其可连接到一个计算机的LPC总线和一台计算机,以及用于接收PCI_Express包和LPC处理包,从而沿着PCI_Express结构传输。
8.权利要求7的计算机扩展底座,进一步包含一个可连接到一个外围设备并从所述PCI_Express结构接收LPC处理包的混合PCI_Express上游端口。
9.权利要求7的计算机扩展底座,其中所述混合PCI_Express下游端口接收一个半双工LPC总线处理包,并将其转换成两个全双工PCI_Express包,以在PCI_Express结构上传输。
10.权利要求9的计算机扩展底座,进一步包含一个LPC包管理器,当等待对一个双向LPC处理数据包的响应时,其在LPC总线上放置一个长期等待同步时钟信号。
11.一种修改的PCI_Express结构,包含:
一个混合PCI_Express下游端口,其可连接到一个计算机LPC总线和一台计算机主机,用于沿着PCI_Express结构传输而接收PCI_Express包和LPC数据或命令;以及
一个混合PCI_Express上游端口,其可连接到一个计算机外围设备,以及用于从一个PCI_Express结构接收PCI_Express包和打包LPC数据或命令,以及分离出LPC数据或命令以供计算机外围设备使用。
12.权利要求11的PCI_Express结构,进一步包含一个可在混合PCI_Express下游端口和混合PCI_Express上游端口之间连接的PCI_Express结构。
13.权利要求11的PCI_Express结构,其中所述混合PCI_Express下游端口接收一个半双工LPC总线处理包,并将其转换成两个全双工PCI_Express包,以在PCI_Express结构上传输。
14.权利要求13的PCI_Express结构,进一步包含一个LPC包管理器,当等待对一个双向LPC处理数据包的响应时,其在LPC总线上放置一个长期等待同步时钟信号。
15.一种使用PCI_Express结构在一台便携式计算机和一个扩展底座之间的边界上连接LPC总线处理包的方法,包含:
控制在PCI_Express结构上的数据流,以在PCI_Express结构上第一位置上将对应于LPC处理包的PCI_Express包插入到PCI_Express流量未使用的部分;
在PCI_Express结构上第二位置接收PCI_Express包,并取出对应于LPC处理包的那些包;
执行一个LPC任务。
16.权利要求15的方法,进一步包含将半双工LPC总线处理包转换成两个全双工PCI_Express包,以在PCI_Express结构上传输。
17.一种在一台便携式计算机和一个扩展底座之间的边界上连接LPC总线的方法中,从一个外围设备向一个处理器发送一系列IRQ或DMA请求的方法,包含:
在连接到所述外围设备的LPC受控器中产生一个PCI_Express上游包,以要求一系列IRQ请求或DMA请求;
将PCI_Express上游包注入到PCI_Express结构中;
在扩展底座中恢复所述PCI_Express上游包;
利用恢复的PCI_Express上游包来产生至所述LPC控制器的边带信号。
18.权利要求17的方法进一步包含:
在所述LPC控制器中,产生一系列IRQ或DMA请求。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/651,521 US7096308B2 (en) | 2003-08-29 | 2003-08-29 | LPC transaction bridging across a PCI—express docking connection |
US10/651,521 | 2003-08-29 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN1591382A true CN1591382A (zh) | 2005-03-09 |
Family
ID=34273383
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA2004100579735A Pending CN1591382A (zh) | 2003-08-29 | 2004-08-27 | 在pci-express扩展连接上的lpc处理桥接 |
Country Status (2)
Country | Link |
---|---|
US (1) | US7096308B2 (zh) |
CN (1) | CN1591382A (zh) |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100403733C (zh) * | 2005-08-02 | 2008-07-16 | 威盛电子股份有限公司 | 串行传输接口的数据处理方法与系统 |
CN102236747A (zh) * | 2010-04-23 | 2011-11-09 | 北京同方微电子有限公司 | 一种传统计算机升级为可信计算机的方法 |
CN101246445B (zh) * | 2007-02-13 | 2012-03-21 | 仁宝电脑工业股份有限公司 | 基板测试接口系统及其方法 |
CN102420719A (zh) * | 2011-11-28 | 2012-04-18 | 曙光信息产业股份有限公司 | 一种测试PCIe总线带宽的装置和方法 |
CN102799505A (zh) * | 2011-05-27 | 2012-11-28 | 神讯电脑(昆山)有限公司 | Debug卡的连接结构 |
CN101690125B (zh) * | 2007-06-22 | 2014-01-08 | 苹果公司 | 经由中间设备在主机设备和附件之间传输信息 |
TWI453596B (zh) * | 2008-10-23 | 2014-09-21 | Micro Star Int Co Ltd | 輸出bios偵錯碼的裝置與方法 |
CN105389276A (zh) * | 2015-11-17 | 2016-03-09 | 无锡江南计算技术研究所 | 一种基于amba总线架构的lpc主机控制器装置 |
CN107430572A (zh) * | 2015-03-26 | 2017-12-01 | 英特尔公司 | 用于通信中封装信息的方法、装置和系统 |
CN111177061A (zh) * | 2019-12-31 | 2020-05-19 | 深圳市显控科技股份有限公司 | 一种plc扩展模块通信方法、plc及计算机可读存储介质 |
CN111630782A (zh) * | 2017-12-18 | 2020-09-04 | 艾锐势有限责任公司 | 全双工网络中的全双工扩展器 |
Families Citing this family (55)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050044408A1 (en) * | 2003-08-18 | 2005-02-24 | Bajikar Sundeep M. | Low pin count docking architecture for a trusted platform |
US20050190536A1 (en) * | 2004-02-26 | 2005-09-01 | Microsoft Corporation | Method for expanding PC functionality while maintaining reliability and stability |
US7424564B2 (en) * | 2004-03-23 | 2008-09-09 | Qlogic, Corporation | PCI—express slot for coupling plural devices to a host system |
US8613669B1 (en) * | 2004-04-30 | 2013-12-24 | Activision Publishing, Inc. | Game controller with display and methods therefor |
US20050248584A1 (en) * | 2004-05-10 | 2005-11-10 | Koji Takeo | Imaging system and image processing apparatus |
US7856449B1 (en) | 2004-05-12 | 2010-12-21 | Cisco Technology, Inc. | Methods and apparatus for determining social relevance in near constant time |
US20050270988A1 (en) * | 2004-06-04 | 2005-12-08 | Dehaemer Eric | Mechanism of dynamic upstream port selection in a PCI express switch |
US9264384B1 (en) * | 2004-07-22 | 2016-02-16 | Oracle International Corporation | Resource virtualization mechanism including virtual host bus adapters |
US20060092928A1 (en) * | 2004-10-15 | 2006-05-04 | Dell Products L.P. | System and method for providing a shareable input/output device in a PCI express environment |
US7191255B2 (en) * | 2004-10-27 | 2007-03-13 | Intel Corporation | Transaction layer link down handling for PCI express |
US7502377B2 (en) * | 2004-10-29 | 2009-03-10 | Intel Corporation | PCI to PCI express protocol conversion |
US20060106911A1 (en) * | 2004-10-29 | 2006-05-18 | Chapple James S | Concurrent PCI express with sDVO |
JP4398386B2 (ja) * | 2005-01-28 | 2010-01-13 | 富士通株式会社 | 複数の処理ノードをシリアルバスにより相互接続する装置 |
JP4509827B2 (ja) * | 2005-03-04 | 2010-07-21 | 富士通株式会社 | シリアルコネクトバスを使用したコンピュータシステム及び複数cpuユニットのシリアルコネクトバスによる接続方法 |
US20060282602A1 (en) * | 2005-06-09 | 2006-12-14 | Tse-Hsine Liao | Data transmission device and method thereof |
US7480790B2 (en) * | 2005-07-29 | 2009-01-20 | Hewlett-Packard Development Company, L.P. | Sleep state resume |
US7487274B2 (en) * | 2005-08-01 | 2009-02-03 | Asic Architect, Inc. | Method and apparatus for generating unique identification numbers for PCI express transactions with substantially increased performance |
US9813283B2 (en) | 2005-08-09 | 2017-11-07 | Oracle International Corporation | Efficient data transfer between servers and remote peripherals |
US20070094435A1 (en) * | 2005-10-25 | 2007-04-26 | Fry Walter G | Computer docking system and method |
JP5074697B2 (ja) * | 2006-03-10 | 2012-11-14 | 株式会社ソニー・コンピュータエンタテインメント | ブリッジ、情報処理装置およびアクセス制御方法 |
US8239603B2 (en) * | 2006-05-03 | 2012-08-07 | Standard Microsystems Corporation | Serialized secondary bus architecture |
US7558898B2 (en) * | 2006-08-30 | 2009-07-07 | ACCO Brands Corporation | Port replicating apparatus |
AU2011218708B2 (en) * | 2007-06-22 | 2012-06-28 | Apple Inc. | Communication of information between a host device and an accessory via an intermediate device |
US8086781B2 (en) * | 2007-06-22 | 2011-12-27 | Apple Inc. | Serial pass-through device |
US8984193B1 (en) * | 2007-07-17 | 2015-03-17 | Unisys Corporation | Line speed sequential transaction packet processing |
TW200907639A (en) * | 2007-08-09 | 2009-02-16 | Asustek Comp Inc | Docking station and expandable computer system |
US8463881B1 (en) | 2007-10-01 | 2013-06-11 | Apple Inc. | Bridging mechanism for peer-to-peer communication |
JP5564948B2 (ja) * | 2007-10-26 | 2014-08-06 | 日本電気株式会社 | I/o接続システムおよびi/o接続方法 |
US8218580B2 (en) * | 2008-07-15 | 2012-07-10 | Intel Corporation | Managing timing of a protocol stack |
US9489326B1 (en) * | 2009-03-09 | 2016-11-08 | Cypress Semiconductor Corporation | Multi-port integrated circuit devices and methods |
US9973446B2 (en) | 2009-08-20 | 2018-05-15 | Oracle International Corporation | Remote shared server peripherals over an Ethernet network for resource virtualization |
US20110167176A1 (en) * | 2010-01-06 | 2011-07-07 | Apple Inc. | Connecting multiple accessories to a portable computing device |
US8645767B2 (en) | 2010-06-23 | 2014-02-04 | International Business Machines Corporation | Scalable I/O adapter function level error detection, isolation, and reporting |
US8918573B2 (en) | 2010-06-23 | 2014-12-23 | International Business Machines Corporation | Input/output (I/O) expansion response processing in a peripheral component interconnect express (PCIe) environment |
US8416834B2 (en) | 2010-06-23 | 2013-04-09 | International Business Machines Corporation | Spread spectrum wireless communication code for data center environments |
US8677180B2 (en) | 2010-06-23 | 2014-03-18 | International Business Machines Corporation | Switch failover control in a multiprocessor computer system |
US8417911B2 (en) | 2010-06-23 | 2013-04-09 | International Business Machines Corporation | Associating input/output device requests with memory associated with a logical partition |
US8645606B2 (en) * | 2010-06-23 | 2014-02-04 | International Business Machines Corporation | Upbound input/output expansion request and response processing in a PCIe architecture |
US8656228B2 (en) | 2010-06-23 | 2014-02-18 | International Business Machines Corporation | Memory error isolation and recovery in a multiprocessor computer system |
US8615622B2 (en) | 2010-06-23 | 2013-12-24 | International Business Machines Corporation | Non-standard I/O adapters in a standardized I/O architecture |
US8615586B2 (en) | 2010-06-23 | 2013-12-24 | International Business Machines Corporation | Discovery of logical images at storage area network endpoints |
US8671287B2 (en) | 2010-06-23 | 2014-03-11 | International Business Machines Corporation | Redundant power supply configuration for a data center |
US8745292B2 (en) | 2010-06-23 | 2014-06-03 | International Business Machines Corporation | System and method for routing I/O expansion requests and responses in a PCIE architecture |
US8327536B2 (en) | 2010-06-30 | 2012-12-11 | Apple Inc. | Method of manufacturing high-speed connector inserts and cables |
JP5283787B1 (ja) | 2010-06-30 | 2013-09-04 | アップル インコーポレイテッド | ケーブル内の配電 |
US9112310B2 (en) | 2010-06-30 | 2015-08-18 | Apple Inc. | Spark gap for high-speed cable connectors |
US9331963B2 (en) | 2010-09-24 | 2016-05-03 | Oracle International Corporation | Wireless host I/O using virtualized I/O controllers |
US8966134B2 (en) | 2011-02-23 | 2015-02-24 | Apple Inc. | Cross-over and bypass configurations for high-speed data transmission |
US9270555B2 (en) * | 2011-07-01 | 2016-02-23 | Intel Corporation | Power mangement techniques for an input/output (I/O) subsystem |
US9223645B2 (en) * | 2012-05-08 | 2015-12-29 | Hitachi, Ltd. | Storage apparatus and method for controlling storage apparatus |
US9083550B2 (en) | 2012-10-29 | 2015-07-14 | Oracle International Corporation | Network virtualization over infiniband |
EP3529705B1 (en) | 2016-10-24 | 2022-03-16 | Hewlett-Packard Development Company, L.P. | Configuring docks |
CN110765038B (zh) * | 2018-07-25 | 2021-09-03 | 龙芯中科技术股份有限公司 | 处理器与lpc设备的通信方法、装置和存储介质 |
CN112711559B (zh) * | 2021-01-15 | 2023-06-13 | 飞腾信息技术有限公司 | 串行中断方法、设备、串行中断处理方法以及处理器 |
US20230251980A1 (en) * | 2022-02-10 | 2023-08-10 | Mellanox Technologies, Ltd. | Devices, methods, and systems for disaggregated memory resources in a computing environment |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5590377A (en) * | 1995-06-07 | 1996-12-31 | Ast Research, Inc. | Automatic control of distributed DMAs in a PCI bus system supporting dual ISA buses |
US6070214A (en) | 1998-08-06 | 2000-05-30 | Mobility Electronics, Inc. | Serially linked bus bridge for expanding access over a first bus to a second bus |
US6336158B1 (en) * | 1998-10-30 | 2002-01-01 | Intel Corporation | Memory based I/O decode arrangement, and system and method using the same |
US6990549B2 (en) * | 2001-11-09 | 2006-01-24 | Texas Instruments Incorporated | Low pin count (LPC) I/O bridge |
US7043588B2 (en) * | 2002-05-24 | 2006-05-09 | Dell Products L.P. | Information handling system featuring multi-processor capability with processor located in docking station |
-
2003
- 2003-08-29 US US10/651,521 patent/US7096308B2/en not_active Expired - Lifetime
-
2004
- 2004-08-27 CN CNA2004100579735A patent/CN1591382A/zh active Pending
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100403733C (zh) * | 2005-08-02 | 2008-07-16 | 威盛电子股份有限公司 | 串行传输接口的数据处理方法与系统 |
CN101246445B (zh) * | 2007-02-13 | 2012-03-21 | 仁宝电脑工业股份有限公司 | 基板测试接口系统及其方法 |
CN101690125B (zh) * | 2007-06-22 | 2014-01-08 | 苹果公司 | 经由中间设备在主机设备和附件之间传输信息 |
TWI453596B (zh) * | 2008-10-23 | 2014-09-21 | Micro Star Int Co Ltd | 輸出bios偵錯碼的裝置與方法 |
CN102236747A (zh) * | 2010-04-23 | 2011-11-09 | 北京同方微电子有限公司 | 一种传统计算机升级为可信计算机的方法 |
CN102799505A (zh) * | 2011-05-27 | 2012-11-28 | 神讯电脑(昆山)有限公司 | Debug卡的连接结构 |
CN102420719B (zh) * | 2011-11-28 | 2014-04-23 | 曙光信息产业股份有限公司 | 一种测试PCIe总线带宽的装置和方法 |
CN102420719A (zh) * | 2011-11-28 | 2012-04-18 | 曙光信息产业股份有限公司 | 一种测试PCIe总线带宽的装置和方法 |
CN107430572A (zh) * | 2015-03-26 | 2017-12-01 | 英特尔公司 | 用于通信中封装信息的方法、装置和系统 |
CN107430572B (zh) * | 2015-03-26 | 2021-07-13 | 英特尔公司 | 用于通信中封装信息的方法、装置和系统 |
CN105389276A (zh) * | 2015-11-17 | 2016-03-09 | 无锡江南计算技术研究所 | 一种基于amba总线架构的lpc主机控制器装置 |
CN105389276B (zh) * | 2015-11-17 | 2018-02-06 | 无锡江南计算技术研究所 | 一种基于amba总线架构的lpc主机控制器装置 |
CN111630782A (zh) * | 2017-12-18 | 2020-09-04 | 艾锐势有限责任公司 | 全双工网络中的全双工扩展器 |
CN111630782B (zh) * | 2017-12-18 | 2022-11-04 | 艾锐势有限责任公司 | 全双工网络中的全双工扩展器 |
CN111177061A (zh) * | 2019-12-31 | 2020-05-19 | 深圳市显控科技股份有限公司 | 一种plc扩展模块通信方法、plc及计算机可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
US7096308B2 (en) | 2006-08-22 |
US20050060470A1 (en) | 2005-03-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1591382A (zh) | 在pci-express扩展连接上的lpc处理桥接 | |
CN1129852C (zh) | 通用串行总线装置控制器 | |
CN1193301C (zh) | 初始化计算机接口的设备和方法 | |
CN1230759C (zh) | 进行最佳数据传送的多总线信息处理系统的总线-总线桥 | |
CN1044414C (zh) | 计算机和打印机通讯系统和通信方法 | |
CN1269049C (zh) | 数据传送控制装置及电子设备 | |
CN1667962A (zh) | 数据传输控制装置及电子设备 | |
CN1916963A (zh) | 支持多个图型处理单元方法与系统 | |
CN1237455C (zh) | 数据传输控制装置、电子设备、及数据传输控制方法 | |
CN1146798C (zh) | 数据传输控制装置及电子设备 | |
CN1402495A (zh) | 电源控制电路、电子仪器、及其充电方法 | |
CN1667967A (zh) | 数据传输控制装置及电子设备 | |
CN1811744A (zh) | 通过串行总线互连多个处理节点的装置 | |
CN100346285C (zh) | 处理器芯片与存储控制系统及方法 | |
CN101038572A (zh) | 数据传送装置及数据传送系统 | |
CN1385794A (zh) | 数据传送控制装置、电子装置和数据传送控制方法 | |
CN106610910A (zh) | 在不同通讯接口间相互传输信号的系统、装置及其方法 | |
CN1430126A (zh) | 图像处理装置中的内部接口及其控制 | |
CN1205560C (zh) | 支持具有点到点半双工互连的计算机系统中多时钟传播的方法与装置 | |
CN1866235A (zh) | 模块互连结构 | |
CN1119001C (zh) | 数据发送装置及其方法 | |
CN1607513A (zh) | 数据传输控制装置、电子设备以及数据传输控制方法 | |
CN1667963A (zh) | 数据传输控制装置及电子机器 | |
CN101048739A (zh) | 多处理器系统、同步控制装置及同步控制方法 | |
CN100340966C (zh) | 印刷装置、信息处理装置和它们的控制方法 |
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 |