CN1302402C - 用于通过共享外部总线专用互连的装置和方法 - Google Patents
用于通过共享外部总线专用互连的装置和方法 Download PDFInfo
- Publication number
- CN1302402C CN1302402C CNB018074456A CN01807445A CN1302402C CN 1302402 C CN1302402 C CN 1302402C CN B018074456 A CNB018074456 A CN B018074456A CN 01807445 A CN01807445 A CN 01807445A CN 1302402 C CN1302402 C CN 1302402C
- Authority
- CN
- China
- Prior art keywords
- external bus
- data
- register interface
- port
- debugging
- 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.)
- Expired - Fee Related
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/382—Information transfer, e.g. on bus using universal interface adapter
- G06F13/385—Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different peripheral devices
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Transfer Systems (AREA)
- Debugging And Monitoring (AREA)
Abstract
控制外部总线的装置和方法。在一个实施例中,一个装置包括一个外部总线端口和一个外部总线控制器。外部总线控制器可以包括一个接收第一组数据的第一寄存器接口和一个接收第二组数据的第二寄存器接口。外部总线控制器可以给所述外部总线端口发送第一组数据和第二组数据。
Description
技术领域
本发明的实施例涉及通过一个外部计算机总线的通信。更特别地,本发明的实施例涉及通过一个共享外部计算机总线的专用互连。
背景技术
已知的计算机包括一个串行端口,它提供对外设的专用连接。例如,为给外设传输数据,计算机的处理器可以通过内部的输入/输出(I/O)总线给在一个串行端口地址处的通用异步接收机/发送机(“UART”)发送数据。计算机的UART使数据串行,在耦合到该UART上的串行通信链路(例如,电线,串行电缆)上每次发送一个数据位。术语“耦合”包括直接连接、间接连接等。串行通信链路另一端的外设包括接收数据的UART。一个基于UART的串行端口通常耦合到单一外围设备上。
计算机可以包括通用串行总线(“USB”)根集线器,它包括一个或者多个USB宿主端口。USB宿主端口可以通过一个串行通信链路耦合到多个USB外围设备(“USB目标设备”)。每一USB目标设备可以由USB宿主(例如,支持USB的计算机的软件和硬件)分配一个设备地址。USB宿主可以包括一个知道每一USB目标设备的设备地址的USB驱动程序。每一USB目标设备可以具有相应的设备驱动程序,其与USB驱动程序通信以执行向或来自USB目标设备的数据传输。
当一个设备驱动程序要给一个USB目标设备或从它传输数据时,所述设备驱动程序给USB驱动程序发送一个I/O请求包(“IRP”),请求启动数据传输。然而,因为USB是共享的(亦即通常多个USB目标设备可以同时使用同一总线),所以一个单个的USB目标设备通常不能通过USB一次执行整块的数据传输。因此,数据传输通常分成段(例如事务处理),这些段在连续的时间期间(例如帧)内传输。通过把数据传输分成事务处理,USB宿主可以保证一部分USB带宽可以贡献给其它USB目标设备。鉴于上述,可以理解,十分需要可以有利地通过共享计算机总线提供专用互连的方法和装置。
发明内容
根据本发明的第一方面,提供了一种控制外部总线的装置,所述装置包括:一个外部总线控制器,包括接收第一组数据的第一寄存器接口和接收第二组数据的第二寄存器接口;所述外部总线控制器向一个外部总线端口输出发送所述第一组数据和第二组数据;所述外部总线控制器在多个时间期间中的每一个时间期间之内向所述外部总线端口发送多达第一数量的数据;所述多达第一数量的数据包括至少第二数量的数据,每一至少第二数量的数据被从第二寄存器接口接收。
根据本发明的第二方面,提供了一种通过外部总线通信数据的系统,所述系统包括:处理器;耦合到处理器的存储器,用于存储由所述处理器执行的多条指令;外部总线端口;以及耦合到所述处理器和所述外部总线端口的外部总线控制器,所述外部总线控制器包括接收第一组数据的第一寄存器接口和接收第二组数据的第二寄存器接口;所述外部总线控制器向所述外部总线端口发送第一组数据和第二组数据;所述外部总线控制器在多个时间期间中的每一个时间期间之内向所述外部总线端口发送多达第一数量的数据,每一多达第一数量的数据被从第一寄存器接口接收;并且所述外部总线控制器在多个时间期间中的每一个时间期间之内向所述外部总线端口发送至少第二数量的数据,每一至少第二数量的数据被从第二寄存器接口接收。
根据本发明的第三方面,提供了一种通过一个共享外部总线的带宽的一个专用部分传输数据的方法,所述方法包括:从第一寄存器接口接收第一组数据;从第二寄存器接口接收第二组数据;在多个时间期间中的每一个时间期间之内发送多达第一数量的数据,每一多达第一数量的数据包括至少第二数量的数据,每一至少第二数量的数据被从第二寄存器接口接收。
根据本发明的第四方面,提供了一种通过外部总线来通信数据的系统,包括:一个内部总线控制器;一个外部总线端口;以及耦合到所述内部总线控制器和外部总线端口的一个外部总线控制器,该外部总线控制器包括接收第一组数据的第一寄存器接口和接收第二组数据的第二寄存器接口,所述外部总线控制器在多个时间期间的每个时间期间之内向所述外部总线端口发送多达第一数量的第一组数据,所述外部总线控制器在所述多个时间期间的每个时间期间之内向所述外部总线端口发送至少第二数量的第二组数据。
附图说明
图1表示根据本发明的一个实施例的系统。
图2表示根据本发明的一个实施例的装置。
具体实施方式
根据本发明的实施例的方法和装置可以有利地提供通过共享外部计算机总线的专用互连。根据本发明的一个实施例,共享外部总线控制器可以包括一个第一寄存器接口和一个第二寄存器接口。第一寄存器接口可以接收第一组数据,第二寄存器接口可以接收第二组数据。外部总线控制器可以给共享外部总线端口发送第一组数据和第二组数据。
图1表示根据本发明的一个实施例的系统。计算机110可以包括耦合到存储器112上的处理器111。在本发明的一个实施例中,处理器111是由位于加利福尼亚州的Santa Clara市的Intel公司制造的PentiumIII处理器(Pentium是Intel公司的注册商标)。处理器111可以耦合到一个内部总线控制器113。在一个实施例中,内部总线控制器113是外围部件互连(PCI)内部总线控制器。在另一个实施例中,内部总线控制器113包括多个总线控制器(例如北桥芯片和南桥芯片,前侧总线控制器和后侧总线控制器,存储器总线控制器和I/O总线控制器等)。
一个外部总线宿主115可以耦合到内部总线控制器113。外部总线宿主115可以包括一个外部总线宿主控制器116。在本发明的一个实施例中,外部总线宿主115是一个USB宿主(例如支持USB的软件和硬件系统),而USB宿主包括一个USB宿主控制器。在本发明的另一个实施例中,外部总线宿主115是一个共享外部总线宿主(例如支持外部共享总线的软件和硬件系统)。在一个实施例中,共享外部总线可以为通常可以同时使用同一总线的多个设备提供通信(例如数据通过包、通过时分多路存取协议、码分多路存取协议、频分多路存取协议等通信)。外部总线宿主控制器116可以耦合到根集线器117,根集线器117可以包括端口118和端口119。在一个实施例中,根集线器117可以是USB根集线器,每一端口118、119可以是USB宿主端口。
在本发明的一个实施例中,外部总线宿主控制器116经由外部总线宿主控制器116的一个外部总线端口输出耦合到一个外部总线端口。在本发明的另一个实施例中,外部总线宿主控制器被包括到一个内部总线控制器中(例如包括USB宿主控制器的PCI总线控制器等)。
计算机110可以包括一个外部总线宿主控制器驱动程序。在一个实施例中,外部总线宿主控制器驱动程序包括要由处理器111执行的指令。外部总线宿主控制器驱动程序可以存储在计算机可读介质中,诸如存储器112(例如动态随机存取存储器(DRAM),RambusDRAM(RDRAM),静态随机存取存储器(SRAM),闪存,硬盘,光盘,磁光盘,光盘只读存储器(CD-ROM),数字通用盘(DVD),非易失存储器,或其组合)。在一个实施例中,外部总线宿主控制器驱动程序可以包括多个驱动程序(例如,一个外部总线驱动程序和一个外部总线宿主控制器驱动程序等)。在另一个实施例中,外部总线宿主控制器驱动程序可以包括一个USB驱动程序和一个USB宿主控制器驱动程序。
根据本发明的一个实施例,外部总线宿主控制器116包括一个标准寄存器接口和一个标准接口逻辑。该标准寄存器接口和标准接口逻辑可以给一个或者多个标准设备驱动程序发送数据或从其接收数据。标准设备驱动程序的例子包括键盘设备驱动程序,鼠标设备驱动程序,打印机设备驱动程序等。键盘设备驱动程序可以通过标准寄存器接口和标准寄存器接口逻辑从键盘190接收数据和向其发送数据。鼠标设备驱动程序和打印机设备驱动程序分别可以通过标准寄存器接口和标准寄存器接口逻辑从鼠标191和打印机192接收数据和向其发送数据。例如,在一个实施例中,标准寄存器接口和标准寄存器接口逻辑可以安排要通过USB广播的事务处理的日程。事务处理可以通过一系列事务处理表安排日程,每一事务处理表可以包括目标为耦合到该外部总线上的一个或者多个设备的一个或者多个事务处理。
外部总线宿主控制器116可以包括一个专用寄存器接口和专用接口逻辑。在本发明的一个实施例中,计算机110是一个执行在试验中的系统(“SUT”)调试软件的在试验中的系统,专用寄存器接口可以包括一个调试端口寄存器接口,专用接口逻辑可以包括一个调试端口接口逻辑。在试验中的系统的例子包括计算机、计算机母板、计算机系统板、处理器板、耦合到一个或者多个输入/输出设备(例如键盘,视频卡,监视器,鼠标,USB设备,网络接口卡等)的计算机母板。SUT调试软件可以包括决定系统部件的功能的指令,跟踪系统运行的指令,给调试控制台通信调试数据的指令等。
在试验中的系统(例如计算机110)可以通过一个共享外部总线链路170、调试外设130、和一个共享外部总线链路171耦合到调试控制台150。在一个实施例中,调试控制台150包括一个计算机,该计算机包括一个处理器151和存储器152。调试控制台150可以包括一个共享外部总线端口159。在一个实施例中,共享外部总线端口159是USB宿主的一个USB端口。在本发明的另一个实施例中,共享外部总线端口159至少是共享外部总线宿主的一部分。调试控制台150可以执行调试控制台调试软件,该软件可以通过调试外设130与在在试验中的系统上执行的SUT调试软件通信。
调试外设130可以分别经由外部总线链路170和外部总线链路171耦合到计算机110和调试控制台150。在一个实施例中,每一外部总线链路170、171包括一根USB电缆。在另一个实施例中,每一外部总线链路170、171包括一个通信链路,共享外部总线可以通过该链路通信(例如,电缆、一个通信路径、一个无线通信路径等)。在一个实施例中,调试外设130可以具有共享外部总线目标端口138、139。在一个实施例中,每一共享外部总线目标端口138、139是一个独立的USB目标端口,该USB目标端口经由FIFO缓冲器(先进先出缓冲器)136、137耦合。在另一个实施例中,两个独立的USB接口内部耦合,作为两个FIFO缓冲器。一个FIFO缓冲器可以作为为调试控制台150的写缓冲器和为计算机110的读缓冲器,而另一个FIFO缓冲器可以作为为调试控制台150的读缓冲器和作为为计算机110的写缓冲器。在一个实施例中,每一FIFO可以是8字节。在另一个实施例中,每一FIFO可以大于8字节,但是对每一FIFO的USB接口只可以为每一读请求提供最大8字节的数据。
调试外设130的调试控制台侧(控制台侧)在一个实施例中根据USB规范实现。可以使用一个标准USB驱动程序访问该外设的控制台侧。调试外设的在试验中的系统侧(SUT侧)可以根据USB规范有一定例外实现。在一个实施例中,SUT侧可以从允许的复位产生和响应它所寻址的访问。缺省地址可以是一个固定地址。在一个实施例中,一个典型的USB设备具有由一个USB宿主分配给它的地址,SUT侧缺省地址是7Fh,具有端点01h。
根据本发明的一个实施例,计算机110可以是执行SUT调试软件的在试验中的系统。在计算机110上执行的SUT调试软件可以经由调试外设130与在调试控制台150上执行的调试控制台调试软件通信。调试通信(例如从计算机110发送给调试控制台150的数据,从调试控制台150给计算机110发送的数据)可以通过共享外部总线(例如一个USB总线)的一个专用的和不引人注目的部分运载,不管标准通信是否通过该共享外部总线被广播(例如给键盘、鼠标、打印机等的通信)。
图2表示根据本发明的一个实施例的装置。计算机200可以包括一个共享外部总线宿主201,该共享外部总线宿主201可以包括一个专用寄存器接口230和专用接口逻辑235。在一个实施例中,专用寄存器接口230包括一个调试端口寄存器接口,专用接口逻辑235包括调试端口接口逻辑。共享外部总线宿主201可以包括一个标准寄存器接口210和标准接口逻辑215。在本发明的一个实施例中,标准寄存器接口210和标准接口逻辑215可以实现在一个或者多个驱动程序205(例如设备驱动程序,输入/输出设备驱动程序等)和耦合到共享外部总线端口260(例如一个USB宿主端口等)的标准共享总线外设(例如USB外设等)之间的通信。
标准总线定序器逻辑250可以接收从标准寄存器接口210和/或专用寄存器接口230要传输到共享外部总线端口260的数据。在一个实施例中,标准寄存器接口210包括一个USB宿主控制器的一个标准的USB寄存器接口。标准USB寄存器接口可以从标准USB驱动程序和USB宿主控制器驱动程序接收数据。可以产生事务处理的一个USB事务处理表,和这些事务处理可以发送到一个标准的USB总线定序器以传输到USB宿主端口。在本发明的一个实施例中,专用寄存器接口230和专用接口逻辑235可以接收由驱动程序225(例如一个软件驱动程序,一个调试软件驱动程序等)发送的数据。从专用寄存器接口230接收的数据(例如调试数据通信量)可以被发送到标准总线定序器逻辑250以传输给共享外部总线端口260。
包括专用寄存器接口230和专用接口逻辑235的共享外部总线宿主201,在一个实施例中,可以至少以3种方式操作。当标准寄存器接口210和标准接口逻辑215不能给共享外部总线端口260传输数据时,第一操作方式可以包容经由专用寄存器接口230和共享外部总线传输数据。例如,计算机200的状态可以是这样的,即标准接口逻辑215视共享外部总线端口260为处于禁止状态。当标准寄存器接口210和标准接口逻辑215可操作时(亦即配置为经由共享外部总线端口260传输数据),第二操作方式可以包容经由专用寄存器接口230和共享外部总线传输数据。在第一操作方式和第二操作方式任何之一中,在一个实施例中,至少从专用寄存器接口接收的一组数据可以传输给共享外部总线端口260和通过一个共享的外部总线。例如,在一个实施例中,当共享外部总线是USB时,专用端口能够在通过USB传输的每一帧期间至少发送经由专用寄存器接口接收的8个字节的数据(例如每毫秒至少8字节等)。在另一个实施例中,一个共享外部总线宿主可以控制共享外部总线的操作,使得共享外部总线的带宽包括为经由专用寄存器接口接收的数据的至少一个最小数量的带宽(例如,每周期8字节,每周期16字节,每周期256字节,每周期1千字节等)。共享外部总线的带宽的剩余部分可以用于经由标准寄存器接口接收的数据。在第三操作方式中,专用寄存器接口230和专用接口逻辑235不被允许,和不能经由共享外部总线端口260和共享外部总线收发数据。
在根据USB系统的一个实施例中,耦合到该USB的调试外设可以暂停,除非它在一定周期内接收到适当的数据。在第一操作方式中(例如当标准寄存器接口被禁止而允许专用寄存器接口时),共享外部总线宿主可以周期产生(例如每2毫秒等)一个“保持活动”的包,以保持连接的调试外设不暂停。在一个实施例中,该保持活动包可以是独立的32位SYC字段(亦即是KJKJKJKK的二进制表示)。在第二操作方式中(例如当允许标准寄存器接口和专用寄存器接口时),SOF(帧开始)包(亦即包标识符和帧号码)的正常传输可以保持连接的调试外设不暂停。在一个实施例中,在第一操作方式和第二操作方式两者的任何之一中,外部总线宿主可以至少每125微秒检查软件请求的专用寄存器接口数据传输事务处理。
根据本发明的一个实施例,在试验中的系统包括一个共享外部总线宿主,该共享外部总线宿主包括至少一个用于通过共享外部总线进行共享通信的标准寄存器接口和用于通过共享外部总线进行专用通信的专用寄存器接口。在一个实施例中,共享外部总线是USB。在另一个实施例中,共享外部总线是IEEE 1394总线、局域网、无线通信路径、无线局域网等。共享外部总线宿主可以包括与调试控制台通信的宿主端口。在一个实施例中,调试控制台可以包括目标端口。在另一个实施例中,在试验中的系统的宿主端口经由一个调试外设与调试控制台通信。该调试外设可以包括一对目标端口,第一目标端口与在试验中的系统宿主端口通信,第二目标端口与调试控制台的宿主端口通信。
在试验中的系统可以从复位产生,和包括指令(例如软件、固件、硬件指令等)来定位支持专用寄存器接口的设备和决定专用寄存器接口的地址。在一个实施例中,这种指令包含在在试验中的系统调试软件中。在另一个实施例中,这种指令至少是系统BIOS(基本输入/输出子系统)、操作系统、软件应用程序、软件驱动程序等的一部分。在一个实施例中,专用寄存器接口位于一个PCI能力的条目中,该条目包括与该专用寄存器接口驻留在何处有关的地址信息。然后指令可以决定调试外设是否存在。例如,调试外设可以由允许的复位产生,可以有固定地址和可以响应寻址它的访问。
在试验中的系统可以经由专用寄存器接口和共享外部总线与调试控制台通信(使用或不使用调试外设)。在试验中的系统可以经由专用寄存器接口通信是否是一个标准端口在运行。例如,在一个实施例中,在试验中的系统可以由复位产生,而建立经由专用寄存器接口通过共享外部总线通信的指令可以在执行建立经由标准端口通信的指令前执行。在这种实施例中,经由专用寄存器接口通过共享外部总线通信的数据可以只是由共享外部总线运载的数据通信量。在另一个实施例中,在试验中的系统可以在执行建立经由专用寄存器接口通信的指令前执行建立经由标准端口通过共享外部总线通信的指令。在这种实施例中,经由专用寄存器接口通过共享外部总线通信的数据可以与经由标准端口通过共享外部总线通信的数据通信量交错。
在根据本发明的一个实施例中,计算机200可以包括软件来决定共享外部总线宿主(例如一个USB宿主等)是否包括用于通过共享外部总线宿主的数据传输的专用寄存器接口,这通过访问PCI能力表(PCI能力表由PCI局部总线规范定义(6、7部分,能力表,版本2.2,1999年12月18日))实现。在一个实施例中,专用端口可以通过访问每一PCI设备和决定是否设定状态寄存器中的位4定位。当位4被清除时,则当前设备不支持PCI能力表,软件可以移动到下一设备(或功能)。当位4被设定时,软件可以读取设备配置空间的一个偏移(例如偏移34h)。可以使用这一字节字段作为对在能力表中的第一条目的一个指针。软件可以读第一条目的第一Dword(双字)。字节0是能力ID,在一个实施例中,当它等于设定值(例如0Ah)时,则已经定位一个专用寄存器接口(例如调试寄存器接口)。当该值不是设定值(例如0Ah)时,软件可以决定字节1是否是零。当字节1是零时,设备(或功能)在该表中不包括另外的能力表,软件可以访问下一设备(或功能)。当字节1非零时,软件可以使用字节1作为对在该表中的下一能力的指针。
在软件决定一个设备支持专用寄存器接口以后,它可以查找控制寄存器和数据缓冲器所在之处的地址。软件可以查找在能力表的条目的字节2和字节3中的信息。字节2可以指示当支持存储器基地址寄存器(BAR)时使用哪一个BAR来映射专用寄存器接口寄存器为地址空间。在一个实施例中,软件可以决定可以用来决定专用寄存器接口的实际地址的BAR的类型(例如32位,64位等)。字节3可以指示软件寄存器被映射入地址空间有多远(例如到4K)。在本发明的一个实施例中,共享外部总线是USB总线,在定位专用寄存器接口寄存器后,决定链路ID和初始化链路特定字段(如果可应用的话)。
根据本发明的一个实施例,适应由处理器执行来执行一种方法的指令存储在计算机可读介质中。计算机可读介质可以是存储数字信息的设备。例如,计算机可读介质包括ROM,它在现有技术中公知用来存储软件(例如微码)。计算机可读介质可以由适合执行适应被执行的指令的处理器访问。术语“适应被执行”意味着包容任何准备好以当前形式(例如机器码)由处理器执行的指令,或需要进一步操作(例如编译,解密,或给提供访问代码等)以使准备好由处理器执行。
根据本发明的实施例的方法和装置可以有利地对外设提供专用通信耦合。根据本发明的一个实施例,共享外部总线控制器包括一个标准寄存器接口和专用寄存器接口。共享外部总线控制器可以通过共享外部总线发送从标准寄存器接口和专用寄存器接口接收的数据。共享外部总线控制器可以在多个时间期间中的每一个时间期间之中发送直到第一数量的数据(例如在连续USB帧的每一帧期间到1500字节)。当共享外部总线控制器通过专用寄存器接口接收数据时,可以在多个时间期间中的每一个时间期间之中发送的直到第一数量的数据之内至少包括从专用寄存器接口接收的第二数量的数据(例如在连续USB帧的每一帧期间至少8字节)。在本发明的一个实施例中,这种经由专用寄存器接口接收的数据的通信可以允许在试验中的系统和调试控制台之间的通信。
已经说明了通过共享计算机总线提供专用互连的方法和装置的实施例。在上面的说明中,为解释起见,叙述了大量具体的细节以提供对本发明的彻底理解。然而,本领域技术人员应该理解,本发明可以在没有这些细节的情况下实现。在另外一些场合,以方框图的形式表示结构和设备。此外,本领域技术人员容易理解,说明了表示和执行方法的特定顺序,可以想到可以改变这些顺序而仍在本发明的精神和范围之内。
在上面详细的说明中,参考具体的示例实施例说明了根据本发明的实施例的装置和方法。因此,本说明书和附图应该被视为是说明性的,而不是限制性的。
Claims (29)
1.一种控制外部总线的装置,所述装置包括:
一个外部总线控制器,包括接收第一组数据的第一寄存器接口和接收第二组数据的第二寄存器接口;所述外部总线控制器向一个外部总线端口输出发送所述第一组数据和第二组数据;所述外部总线控制器在多个时间期间中的每一个时间期间之内向所述外部总线端口发送多达第一数量的数据;所述多达第一数量的数据包括至少第二数量的数据,每一至少第二数量的数据被从第二寄存器接口接收。
2.权利要求1的装置,其中,多达第一数量的数据包括多达第三数量的数据,每一多达第三数量的数据被从第一寄存器接口接收。
3.权利要求1的装置,其中,外部总线控制器包括一个共享外部总线控制器。
4.权利要求1的装置,其中:
第一寄存器接口包括一个标准寄存器接口;
第二寄存器接口包括一个专用寄存器接口。
5.权利要求1的装置,其中:
第一寄存器接口与多个外部总线设备驱动程序通信;
第二寄存器接口与第一驱动程序通信。
6.权利要求1的装置,其中,所述外部总线控制器包括一个通用串行总线宿主控制器。
7.权利要求6的装置,其中:
第一寄存器接口包括一个标准通用串行总线寄存器接口和标准通用串行总线接口逻辑;
第二寄存器接口包括一个专用寄存器接口和专用接口逻辑。
8.权利要求6的装置,其中:
第一寄存器接口包括一个标准通用串行总线寄存器接口和标准通用串行总线接口逻辑;
第二寄存器接口包括一个调试端口寄存器接口和调试端口接口逻辑。
9.权利要求6的装置,其中,所述外部总线控制器还包括一个通用串行总线驱动程序和一个通用串行总线宿主控制器驱动程序。
10.权利要求9的装置,其中,多达第一数量的数据在每一帧内包括至少第二数量的数据,每一至少第二数量的数据被从第二寄存器接口接收。
11.权利要求10的装置,其中,多达第一数量的数据在每一帧内包括多达第三数量的数据,每一多达第三数量的数据被从第一寄存器接口接收。
12.一种通过外部总线通信数据的系统,所述系统包括:
处理器;
耦合到处理器的存储器,用于存储由所述处理器执行的多条指令;
外部总线端口;以及
耦合到所述处理器和所述外部总线端口的外部总线控制器,所述外部总线控制器包括接收第一组数据的第一寄存器接口和接收第二组数据的第二寄存器接口;所述外部总线控制器向所述外部总线端口发送第一组数据和第二组数据;
所述外部总线控制器在多个时间期间中的每一个时间期间之内向所述外部总线端口发送多达第一数量的数据,每一多达第一数量的数据被从第一寄存器接口接收;并且
所述外部总线控制器在多个时间期间中的每一个时间期间之内向所述外部总线端口发送至少第二数量的数据,每一至少第二数量的数据被从第二寄存器接口接收。
13.权利要求12的系统,其中:
所述外部总线端口包括一个共享外部总线端口;并且
所述外部总线控制器包括一个共享外部总线控制器。
14.权利要求13的系统,还包括:
一个调试控制台,用于执行调试控制台调试软件;
所述外部总线端口向所述调试控制台发送每一至少第二数量的数据;以及
所述处理器执行在试验中的系统调试软件。
15.权利要求13的系统,还包括:
一个调试控制台,用于执行调试控制台调试软件;
一个调试外设;
所述外部总线端口向所述调试外设发送每一至少第二数量的数据;
所述调试外设向所述调试控制台发送每一至少第二数量的数据;
所述处理器执行在试验中的系统调试软件。
16.权利要求13的系统,其中
所述外部总线控制器包括一个通用串行总线宿主控制器;
所述外部总线端口包括一个第一通用串行总线宿主端口;
所述调试外设包括至少一个第一通用串行总线目标端口和一个第二通用串行总线目标端口;
所述调试控制台包括一个第二通用串行总线宿主端口。
17.一种通过一个共享外部总线的带宽的一个专用部分传输数据的方法,所述方法包括:
从第一寄存器接口接收第一组数据;
从第二寄存器接口接收第二组数据;
在多个时间期间中的每一个时间期间之内发送多达第一数量的数据,每一多达第一数量的数据包括至少第二数量的数据,每一至少第二数量的数据被从第二寄存器接口接收。
18.权利要求17的方法,其中,每一多达第一数量的数据包括多达第三数量的数据,每一多达第三数量的数据被从第一寄存器接口接收。
19.权利要求17的方法,其中:
从第一寄存器接口接收第一组数据包括从多个外部总线设备驱动程序接收数据;并且
从第二寄存器接口接收第二组数据包括从第一驱动程序接收数据。
20.权利要求17的方法,其中,在多个时间期间中的每一个时间期间之内发送多达第一数量的数据包括在多个时间期间中的每一个时间期间之内向调试控制台发送多达第一数量的数据,调试控制台执行调试控制台调试软件。
21.权利要求19的方法,其中,多个外部总线设备驱动程序包括通用串行总线设备驱动程序。
22.权利要求17的方法,其中,多个时间期间中的每一个时间期间包括多个通用串行总线帧的每一通用串行总线帧。
23.一种通过外部总线来通信数据的系统,包括:
一个内部总线控制器;
一个外部总线端口;以及
耦合到所述内部总线控制器和外部总线端口的一个外部总线控制器,该外部总线控制器包括接收第一组数据的第一寄存器接口和接收第二组数据的第二寄存器接口,所述外部总线控制器在多个时间期间的每个时间期间之内向所述外部总线端口发送多达第一数量的第一组数据,所述外部总线控制器在所述多个时间期间的每个时间期间之内向所述外部总线端口发送至少第二数量的第二组数据。
24.权利要求23的系统,其中外部总线端口包括一个共享外部总线端口并且外部总线控制器包括一个共享外部总线控制器。
25.权利要求23的系统,其中内部总线控制器包括一个外围部件互连总线控制器。
26.权利要求23的系统,其中内部总线控制器包括多个内部总线控制器。
27.权利要求24的系统,还包括一个执行调试控制台调试软件的调试控制台,外部总线端口向调试控制台发送每一至少第二数量的第二组数据。
28.权利要求24的系统,还包括:
一个执行调试控制台调试软件的调试控制台,以及
一个调试外设,所述外部总线端口向调试外设发送每一至少第二数量的第二组数据,所述调试外设向调试控制台发送每一至少第二数量的第二组数据。
29.权利要求24的系统,其中外部总线控制器包括一个通用串行总线宿主控制器并且外部总线端口包括第一通用串行总线宿主端口。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/537,087 | 2000-03-29 | ||
US09/537,087 US6502146B1 (en) | 2000-03-29 | 2000-03-29 | Apparatus and method for dedicated interconnection over a shared external bus |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1421006A CN1421006A (zh) | 2003-05-28 |
CN1302402C true CN1302402C (zh) | 2007-02-28 |
Family
ID=24141149
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB018074456A Expired - Fee Related CN1302402C (zh) | 2000-03-29 | 2001-03-06 | 用于通过共享外部总线专用互连的装置和方法 |
Country Status (7)
Country | Link |
---|---|
US (2) | US6502146B1 (zh) |
EP (1) | EP1269331B1 (zh) |
CN (1) | CN1302402C (zh) |
AU (1) | AU2001242010A1 (zh) |
HK (1) | HK1056241A1 (zh) |
TW (1) | TW539953B (zh) |
WO (1) | WO2001073568A1 (zh) |
Families Citing this family (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6671831B1 (en) * | 2000-06-13 | 2003-12-30 | Cypress Semiconductor Corp. | Fault tolerant USB method and apparatus |
US6839793B2 (en) * | 2001-03-28 | 2005-01-04 | Intel Corporation | Method and apparatus to maximize bandwidth availability to USB devices |
DE10125388A1 (de) * | 2001-05-23 | 2002-12-12 | Infineon Technologies Ag | Programmgesteuerte Einheit |
FR2829338B1 (fr) * | 2001-09-03 | 2003-10-31 | Schneider Automation | Equipement d'automatisme equipe d'une liaison de type usb |
US6907521B2 (en) * | 2001-09-28 | 2005-06-14 | Intel Corporation | Enabling video BIOS and display drivers to leverage system BIOS platform abstract |
US7689724B1 (en) | 2002-08-16 | 2010-03-30 | Cypress Semiconductor Corporation | Apparatus, system and method for sharing data from a device between multiple computers |
US7293118B1 (en) | 2002-09-27 | 2007-11-06 | Cypress Semiconductor Corporation | Apparatus and method for dynamically providing hub or host operations |
US6754726B1 (en) * | 2003-03-11 | 2004-06-22 | Inventec Corporation | Versatile memory chip programming device and method |
WO2004086363A2 (en) * | 2003-03-27 | 2004-10-07 | M-Systems Flash Disk Pioneers Ltd. | Data storage device with full access by all users |
KR20060060668A (ko) * | 2003-07-28 | 2006-06-05 | 샌디스크 씨큐어 컨텐트 솔루션즈, 인코포레이티드 | 저장소 디바이스를 제어하는 시스템, 장치 및 방법 |
US20050212167A1 (en) * | 2004-03-29 | 2005-09-29 | Shih-Sheng Yang | Method for manufacturing a soft nozzle having preferred open status |
US7411129B2 (en) * | 2004-07-13 | 2008-08-12 | Southwire Company | Electrical cable having a surface with reduced coefficient of friction |
US7653123B1 (en) | 2004-09-24 | 2010-01-26 | Cypress Semiconductor Corporation | Dynamic data rate using multiplicative PN-codes |
JP2006259810A (ja) * | 2005-03-15 | 2006-09-28 | Matsushita Electric Ind Co Ltd | デバッグ装置 |
US7457999B2 (en) * | 2005-06-28 | 2008-11-25 | Intel Corporation | Debug port system for control and observation |
US8078788B2 (en) | 2005-12-08 | 2011-12-13 | Sandisk Technologies Inc. | Media card command pass through methods |
US7477257B2 (en) * | 2005-12-15 | 2009-01-13 | Nvidia Corporation | Apparatus, system, and method for graphics memory hub |
US20070147115A1 (en) * | 2005-12-28 | 2007-06-28 | Fong-Long Lin | Unified memory and controller |
US7519754B2 (en) * | 2005-12-28 | 2009-04-14 | Silicon Storage Technology, Inc. | Hard disk drive cache memory and playback device |
WO2007105271A1 (ja) * | 2006-03-10 | 2007-09-20 | Fujitsu Limited | ネットワーク・システム |
CN101136000B (zh) * | 2006-09-01 | 2011-01-05 | 飞思卡尔半导体公司 | 实现sd主机/从属设备的应用处理器电路和电子设备 |
KR100792512B1 (ko) * | 2006-10-10 | 2008-01-08 | 삼성전기주식회사 | 정보 입력장치 |
KR101029074B1 (ko) * | 2007-01-10 | 2011-04-18 | 삼성전자주식회사 | 호스트 컨트롤러에서의 디스크립터 추적 장치 및 그 추적방법 |
US8700823B2 (en) * | 2007-03-15 | 2014-04-15 | Broadcom Corporation | Software driver interconnect framework |
US9032154B2 (en) | 2007-12-13 | 2015-05-12 | Sandisk Technologies Inc. | Integration of secure data transfer applications for generic IO devices |
CN107408097A (zh) * | 2015-03-11 | 2017-11-28 | 高通股份有限公司 | 用于旧式和下一代设备在共享多模总线上共存的告别重置和重启方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE4301117A1 (en) * | 1992-01-30 | 1993-08-05 | Siemens Ag | Multi-tasking processor for control of automation systems - has register block stalk for tasks controlled by selector unit providing highest priority selection |
CN1221152A (zh) * | 1997-11-28 | 1999-06-30 | 日本电气株式会社 | 总线控制系统 |
US5958020A (en) * | 1997-10-29 | 1999-09-28 | Vlsi Technology, Inc. | Real time event determination in a universal serial bus system |
WO2000000900A2 (en) * | 1998-06-26 | 2000-01-06 | Sun Microsystems, Inc. | Method and apparatus for providing modular i/o expansion of computing devices |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5276443A (en) | 1991-03-27 | 1994-01-04 | Xircom, Inc. | Parallel port multiplexor for PC parallel port |
US5678059A (en) | 1994-02-18 | 1997-10-14 | Lucent Technologies Inc. | Technique for time-sharing a microprocessor between a computer and a modem |
US5859993A (en) * | 1996-08-30 | 1999-01-12 | Cypress Semiconductor Corporation | Dual ROM microprogrammable microprocessor and universal serial bus microcontroller development system |
US6272644B1 (en) * | 1999-01-06 | 2001-08-07 | Matsushita Electrical Industrial Co., Ltd. | Method for entering powersave mode of USB hub |
-
2000
- 2000-03-29 US US09/537,087 patent/US6502146B1/en not_active Expired - Fee Related
-
2001
- 2001-03-01 TW TW090104706A patent/TW539953B/zh not_active IP Right Cessation
- 2001-03-06 CN CNB018074456A patent/CN1302402C/zh not_active Expired - Fee Related
- 2001-03-06 AU AU2001242010A patent/AU2001242010A1/en not_active Abandoned
- 2001-03-06 WO PCT/US2001/007224 patent/WO2001073568A1/en active Application Filing
- 2001-03-06 EP EP01913335A patent/EP1269331B1/en not_active Expired - Lifetime
-
2002
- 2002-09-09 US US10/237,113 patent/US6594717B2/en not_active Expired - Fee Related
-
2003
- 2003-11-20 HK HK03108459A patent/HK1056241A1/xx not_active IP Right Cessation
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE4301117A1 (en) * | 1992-01-30 | 1993-08-05 | Siemens Ag | Multi-tasking processor for control of automation systems - has register block stalk for tasks controlled by selector unit providing highest priority selection |
US5958020A (en) * | 1997-10-29 | 1999-09-28 | Vlsi Technology, Inc. | Real time event determination in a universal serial bus system |
CN1221152A (zh) * | 1997-11-28 | 1999-06-30 | 日本电气株式会社 | 总线控制系统 |
WO2000000900A2 (en) * | 1998-06-26 | 2000-01-06 | Sun Microsystems, Inc. | Method and apparatus for providing modular i/o expansion of computing devices |
Also Published As
Publication number | Publication date |
---|---|
EP1269331B1 (en) | 2012-08-29 |
AU2001242010A1 (en) | 2001-10-08 |
TW539953B (en) | 2003-07-01 |
EP1269331A1 (en) | 2003-01-02 |
WO2001073568A1 (en) | 2001-10-04 |
US6594717B2 (en) | 2003-07-15 |
US6502146B1 (en) | 2002-12-31 |
US20030065829A1 (en) | 2003-04-03 |
CN1421006A (zh) | 2003-05-28 |
HK1056241A1 (en) | 2004-02-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1302402C (zh) | 用于通过共享外部总线专用互连的装置和方法 | |
US6421742B1 (en) | Method and apparatus for emulating an input/output unit when transferring data over a network | |
US6073205A (en) | System and method of write posting in a universal serial bus system | |
US7103064B2 (en) | Method and apparatus for shared I/O in a load/store fabric | |
EP1514191B1 (en) | A network device driver architecture | |
JP3669653B2 (ja) | コンピュータ・システム | |
EP1950666B1 (en) | Method and apparatus for shared I/O in a load/store fabric | |
US7706372B2 (en) | Method and apparatus for shared I/O in a load/store fabric | |
US6253334B1 (en) | Three bus server architecture with a legacy PCI bus and mirrored I/O PCI buses | |
KR100582406B1 (ko) | 엔드 노드 파티션 방법, 시스템 및 컴퓨터 판독가능한 기록 매체 | |
US5878248A (en) | Device access controller for virtual video/keyboard/mouse input/output for remote system management and maintenance | |
US7082524B2 (en) | I/O bus abstraction for a cluster interconnection fabric | |
US20040199680A1 (en) | Centralized technique for assigning I/O controllers to hosts in a cluster | |
US6412028B1 (en) | Optimizing serial USB device transfers using virtual DMA techniques to emulate a direct memory access controller in software | |
US20110314171A1 (en) | System and method for providing pooling or dynamic allocation of connection context data | |
KR20030048415A (ko) | 능률화된 ata 장치 초기화 방법 및 장치 | |
US6418479B1 (en) | I/O pass through for a distributed computer system | |
US20050102431A1 (en) | Composite adapter for multiple peripheral functionality in portable computing system environments | |
US20050251605A1 (en) | Apparatus and method for communications between agents in PCI system | |
Gonzalez et al. | SCI evaluation in multinode environments for computing and data processing applications | |
CN1902610A (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 | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20070228 Termination date: 20160306 |
|
CF01 | Termination of patent right due to non-payment of annual fee |