CN1490732A - 主机与从属设备之间的接口 - Google Patents
主机与从属设备之间的接口 Download PDFInfo
- Publication number
- CN1490732A CN1490732A CNA031556167A CN03155616A CN1490732A CN 1490732 A CN1490732 A CN 1490732A CN A031556167 A CNA031556167 A CN A031556167A CN 03155616 A CN03155616 A CN 03155616A CN 1490732 A CN1490732 A CN 1490732A
- Authority
- CN
- China
- Prior art keywords
- address
- time
- slave
- data
- main frame
- 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
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
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)
- Information Transfer Systems (AREA)
- Bus Control (AREA)
- Memory System (AREA)
Abstract
公开了一种主机和其等待时间大于主机的等待时间的从属设备之间的接口。该接口包括寄存器和状态机。该状态机在2个主机读周期内将来自从属设备内任何地址的数据提供给主机。在第1时间状态机接收来自主机对存储在从属设备内第1地址的数据的请求。在第2时间状态机根据第1请求将从从属设备返回的数据存储在寄存器内。在第3时间状态机接收来自主机对存储在从属设备内第2地址的数据的第2请求。在第4时间状态机将在第1请求中规定的数据提供给主机。该状态机另外也适合于将来自从属设备内第2地址的数据在1个读周期内提供给主机。
Description
本申请要求对2002年8月29日申请的序号为60/407,462的临时申请的权益加以保护,该申请的题目为“用于将固定等待时间的CPU同慢的存储器或设备连接的方法”,在此将其引入作为参考。
技术领域
本发明一般而言涉及数字电子设备的连接,特别是具有固定等待时间的主机和具有等待时间大于主机等待时间的从属设备之间的接口。
背景技术
显然,在连接数字设备的领域内主设备(“主机”)和从属设备(“从设备”)必须在时域上相互兼容,即是说,从属设备必须能够在写操作期间在由主机规定的确定时间期内接收数据;类似地,从属设备必须能够在读操作期间在由主机规定的确定时间期内将数据返回。在该领域内使用“等待时间(Latency)”一词,此处是指从过程开始至过程结束的时间期间。对于主机,等待时间指的是主机完成一次读/写操作或一个“周期”所要求的总的时间间隔。对于从属设备,等待时间指的是从属设备收到请求和它完成该请求之间的时间间隔:对读操作,等待时间指的是从属设备收到读出请求和它将数据输出到数据总线之间的时间间隔;对写操作,等待时间指的是从属设备收到写请求和它将数据在内部加以存储之间的时间间隔。因此,另一种表述方式是从属设备必须在由主机所规定的一确定的时间期内接收或返回数据,因而要求从属设备的等待时间小于或等于主机的等待时间。
但是,许多从属设备只能用大于主机等待时间的等待时间接收或返回数据。这种从属设备的一个实例是存储器设备。在一个典型的主机读出周期,主机请求数据,在一时间延迟之后,读出该数据。如果从属设备的等待时间比主机的为大时,则在从属设备将所请求的数据置于其输出端之前,所述主机完成了它的读出周期。显然,如果允许主机在所请求的数据被置于从属设备输出端之前即可完成它的读出周期,则主机将读出不正确的数据。
对该问题的一种可能的解决方案是通过增大从属设备的时钟频率而将从属设备提速。但是,增大时钟频率会增大功率消耗和产生更多热量。这就等于缩短了移动设备中的电池寿命和需要采用措施以耗散附加的热量。除此之外,增大时钟频率可能产生干扰其他设备的电磁辐射,并可能产生时钟同步以及定时问题。
通常有几种方法用于将主机同等待时间大于主机的从属设备相连接。在一种方法中,通常称为轮询,主机提出读或写请求。然后该主机执行程序循环使得重复读出和对端口线或寄存器进行测试直至它探测到从属设备送出的一信号或代码表明该从属设备已经完成其请求并且其数据已在规定的存储器或寄存器地址上可以获得。
在另一种将主机和等待时间大于主机的从属设备相连接的方法中,通常称之为中断方法,主机对从属设备提出读或写请求并且在从属设备已经完成该请求之后,从属设备在主机的用于接收中断信号的一输入管脚或线上断言一信号。该信号向主机表明从属设备已经完成其请求,并且,在读出情况下,其数据可供读出。
第三种将主机同具有比主机大的等待时间的从属设备连接的方法通常被称之为握手方法。该方法通常被用于阻止主机在从属设备尚未准备好之前的这种时间完成读/写周期。在这种握手方法中,主机具有用于“隔离”信号的输出,如WAIT,或持续信号,如ACK。在WAIT执行过程中,主机开始读/写,而从属设备通过断言送给主机隔离输入的WAIT信号加以响应。在从属设备完成请求之后,从属设备对允许主机完成读/写周期的WAIT信号解除断言。在使用持续信号的执行过程中,主机开始读/写周期,但在收到来自从属设备的ACK信号之前并不完成。
在轮询方法、中断方法和信号交换方法中,当主机收到来自从属设备的信号表明从属设备已经完成它读/写周期部分,主机也结束它的周期部分,如通过读出所请求的数据。事实上,这些方法延长了对主机完成读/写周期所要求的时间周期,即是说,每种方法都延长了主机的等待时间。还公知用于连接主机和从属设备的更为复杂的方法,但这些方法一般都是将上面描述的用于延长主机等待时间的基本方法加以延伸。
用于延长主机等待时间的技术和加速从属设备的方法在某些计算机系统内是不希望的或不可能的。如前所述,通过增大时钟频率使从属设备提速会增大功率消耗,产生更多热量并且可能产生电磁干扰。除此之外,从属设备通常具有可以定时并仍能正确工作的时钟频率上限。轮询方法其所以是不希望的,是因为它浪费CPU周期,反过来浪费了功率和降低了系统的性能。除非主机具有用于中继或隔离信号的输入,否则不可能采用中断和信号交换方法。有些主机被特别设计成没有用于中断或隔离信号的输入,即是说,使用固定的等待时间以便使成本和功率消耗降至最小。因此,在将固定等待时间的主机连接到等待时间大于主机的从属设备时,因为不可能使用延长主机等待时间的技术和不希望或不可能使用加速从属设备的方法,所以会遇到明显的问题。
鉴于前面所述,希望在主机和等待时间比主机长的从属设备之间有一种接口,在不希望或不可能使用加速从属设备方法时可以把这种接口用于等待时间固定的主机。
发明内容
本发明致力于主机和等待时间大于主机的从属设备之间的接口。本发明的这种接口电路可以用于具有主机、从属设备和指引主机的软件元件的计算机系统。通过使主机从存储数据的从属设备中的第1地址执行第1读出操作和使主机执行规定代理地址的第2读出操作,该软件元件引导主机提取存储在从属设备中的数据。该接口电路包括读数据寄存器和状态机。该状态机适于执行以下步骤:在第1时间接收同第1读周期相关联的读和地址信号;在第2时间将从该从属设备返回的数据存储在读数据寄存器内;在第3时间接收同第2读周期相关联的读和地址信号;在第4时间向主机提供该数据。
本发明接口电路的另一方面,其状态机适于对来自主机存储在下一顺序地址的数据的第3读操作做出响应,它又规定了代理地址。特别地,该状态机还执行另外步骤:在第5时间接收来自主机对从属设备中的数据的第3请求;在第6时间使来自从属设备的数据存储在该数据寄存器内;在第7时间启动读数据寄存器的输出使所述主机可读出该数据。
结合附图,考虑以下对本发明的详细描述,将会更容易理解本发明的上述以及其他的目标,特点和优点。
附图说明
图1展示主机、从属设备以及包括按本发明的状态机的主-从接口电路。
图2展示图1的状态机。
图3是展示根据本发明的读操作的定时图。
具体实施方式
图1是采用本发明的一种实施方案的系统方框图。主机20和从属设备24连接到示例性主-从接口电路22。用于发送和接收信号以控制本发明的接口的状态机26包括在电路22之中。在一种优选实施方案中,主机20是CPU,从属设备24是存储器,状态机26是组合逻辑电路,该主机20不具备隔离输入,即是说,该主机20具有固定的等待时间。
本发明根据来自主机的单个读出请求要求2个主机读周期以返回数据。本发明的显著优点是继对来自下一顺序地址数据的初始读出请求后的每一读出请求只要求单个主机读出周期。本发明的进一步优点在于从属设备24是以接近主机读周期开始的地址出现的。
主机20的输入和输出同接口电路22相连,而不是同从属设备24相连,这些输入和输出用于发送读/写请求和用于接收来自从属设备对任何请求的应答。特别地,该接口电路22同示例示出的主机20的读(“R”)和写(“W”)的输出相连。尽管把读和写的输出表示成分开的线,但本领域内的技术人员将懂得这些信号可以在一根单线上以高态和低态传输。该接口电路22还同主机20的地址(“A”)总线40以及双向数据(“D”)总线42相连。在所示的实施方案中,该地址总线为23位宽,而该数据总线为8位宽。这些宽度是示例性的,可以实现更宽或更窄的总线宽度。用于发生时钟信号的源44连接到主机20的时钟输入。
从属设备24的输入和输出也是同该接口电路22连接,而不是同主机20连接,所述输入和输出用于接收读/写请求和用于发送对任何请求的应答。特别地,该接口电路22连接到该从属设备24的以下输入:读(“RE”),写(“W”),字节进入工作状态(ebable)(“BE”),地址(“A”)以及写数据输入(“WDI”)。此外,该接口电路22同从属设备24的读数据输出(“RDO”)连接。该读和写信号可以在一单线上传送。
图1还显示在电路22内理解本发明所必需的那些组件。电路22具有用于存储地址和数据的寄存器;特别是,该电路包括地址寄存器28,写数据寄存器30以及读数据寄存器32。电路22还包括用在2个可能地址输入之间的多路复用器34。该电路22包括存储器-空间解码逻辑36以及自动增量解码逻辑38,用于将主机20发送的地址解码。三态缓冲器46连接到该读数据寄存器32的输出端,服务于该寄存器输出的进入工作状态/禁止。相加器48连接到多路复用器34的输入端之一。在说明该电路的工作之前,对其内部和外部连接加以说明。
参照主机20和电路22的组件之间的连接,主机20的读和写输出被连接到状态机26。地址总线40同多路复用器34,存储器-空间解码逻辑36,以及自动增量解码逻辑38连接。此外,数据总线42连接到写数据寄存器30和读数据寄存器32。
参照从属设备24和电路22的组件之间的连接,状态机26的输出同该从属设备24的读,写,字节进入工作状态输入相连接。地址寄存器28连接到地址输入A,写数据寄存器30连接到该从属设备24的WDI。此外,从属设备24的RDO连接到读数据寄存器32的输入。
对于电路22的组件之间的连接,多路复用器34的输出连接到地址寄存器28的输入端。该地址寄存器28的输出同相加器48的输入相连,它反过来又连接到该多路复用器34的输入。相加器48用于将存储在地址寄存器48中的地址递增,使得递增后的地址可以放置到多路复用器34的一个输入端。存储器-空间解码逻辑36和自动增量解码逻辑38的输出同状态机26相连。如图1中所示,该状态机26的输出控制多路复用器34的输入选择,是否让三态缓冲器46进入工作状态以传递读数据寄存器32的输出,以及将数据锁存在寄存器28,30和32之中。
在说明电路22的工作之前,解释存储器-空间解码逻辑36以及自动增量解码逻辑38的工作。通常,该从属设备24将在主机所采用的寻址方案之内被分配一个顺序地址范围。当主机进行读或写操作时,它可能将一地址置于它的输出,以规定对从属设备24所定义的地址范围之内的任何地址。这样一种地址在此处将叫做(“有效地址”)。作为选择,主机20可以规定一个地址,该地址不包括在对从属设备24所定义的地址范围之内。这样一种选择性地址在此被称为“代理地址”。如果主机规定一有效地址,则存储器-空间解码逻辑36将输出一建立信号或“SUR”。如果主机规定代理地址,则自动增量解码逻辑38将输出一寄存器读信号或“RR”。
读操作
借助于实例可以对电路22的操作获得最好的理解。图3是定时图,它展示在时间T1至T7的时钟信号(CLK)的状态,读信号(R),地址总线(A),以及数据总线(D)。图3还示出相对时间T1至T7以及时间周期TC,何时会发生三个主机读周期(H1,H2,H3)和状态机读周期(SM1,SM2,SM3)。
第一主机读周期。在第1时间T1,主机20通过断言读信号和将第一地址置于地址总线40开始第1主机读周期。在此例中的第1地址是有效地址,如图3中的“VA”所示。存储器空间解码逻辑36和自动增量解码逻辑38将该第一地址处理。存储器空间解码逻辑36断言建立信号(SUR),因为该第1地址为有效地址。根据该SUR信号,状态机26发送一信号,该信号使多路复用器34选择地址总线40作为它的输入,这样就使得该第一地址置于地址寄存器28的输入端。状态机26还发送一信号使第一地址被锁存到地址寄存器28内。此外,状态机26断言RE和BE输入上的信号使从属设备24开始取出存储在第一地址上的数据。在大约第2时间T2,它是继第一时间T1之后,主机20读出数据总线42上的数据。主机20读出的该数据是无意义的假数据,如图3的“PD”所示,因而被主机舍弃。这种假数据的舍弃最好是用软件实现,但也可以用硬件完成。
在从属设备24取出位于第一地址上的数据之后,它将所请求的数据置于它的读数据输出(RDO)上。当出现这一情况时(在时间T2后的某一时间),状态机26将该数据锁存到读数据缓冲器32之中。通过使三态缓冲器46进入工作状态,状态机26使这一数据可供主机20读出。在图3中,数据总线42上的这种数据可获得性用“VD1”表示“有效数据1”的情况。
第2主机周期。在第三时间T3,通过断言读信号和将第2地址置于地址总线40上,主机20启动第2读周期。本例中的第2地址为一种代理地址,如“SA”所示。存储器空间解码逻辑36和自动增量解码逻辑38处理该第2地址。因为该第2地址不包括在对从属设备24所定义的地址空间之内,该自动增量解码逻辑38断言寄存器读信号(RR)。在大约第4时间T4,主机20从读数据缓冲器32读出数据。主机20读出的该数据-VD1-是从第一地址取出的数据。在第2主机读周期的末端完成读出存储在第一地址的数据的过程。
图3中,方框H1代表主机20执行第一主机读周期,在这期间主机请求在有效地址上的数据并读出假数据。在时间周期1和2(TC1和TC2)期间,发生第1主机读周期。方框SM1代表状态机26使所请求的数据从所规定的有效地址读出并且可供主机20读出。该状态机读周期发生在时间周期1,2,3和4(TC1,TC2,TC3和TC4)期间。方框H2代表主机20读出数据总线42上的数据(VD1)以及以下描述的其他过程。箭头A1,A2和A3表明主机读周期的开始触发状态机周期。
多个读周期。
如果主机20仅需要存储在从属设备24中单个地址上的数据,则在第4时间T4完成读操作。但是,将会看到主机通常需要读出存储在从属设备中的顺序地址上的一连串数据单元。该状态机26适于预期主机20将请求存储在顺序地址上的若干数据单元。状态机26预期对在下一顺序地址存储的数据单元的随后请求的步骤与先前描述的步骤同时发生。因此,为了展示状态机如何预期一个读请求,需要参照前面所讨论的时间上的一点,即T2,然后从这点开始按时间顺序继续。
下一顺序地址的判断。在第2时间(大约为在主机20正在读假数据的时间),状态机26使多路复用器34选择连接至相加器48的该多路复用器的输入,因此使一新的地址被置于地址寄存器28的输入。该新地址是一种“有效地址”,在此称之为“下一顺序地址”。最好,该下一顺序地址是对从属设备24定义的地址序列中的下一个地址,它紧接存储在寄存器28中的地址之后,即是说,在本实例中,为紧随第一地址后的下一个地址。在另一个优选实施方案中,下一顺序地址是存储在寄存器28中的地址之前的大一个地址。在另一种选择性实施方案中,“下一顺序地址”在数学上同存储在寄存器28中的地址相关。例如,可以从存储在寄存器28中的地址加上或减去大于或小于1的整数。还有在其他的实施方案中,对存储在寄存器28中的地址可以实行诸如乘或除以得到下一顺序地址。状态机26将下一顺序地址锁存到地址寄存器28(此处取代以前所存储的地址),并且还使从属设备24取出存储在下一顺序地址上的数据。
如上面所提到的那样,在第3时间T3,第2主机读周期开始。主机20断言读信号R并将第2地址置于地址总线40,在本实例中它为一种代理地址(SA)。自动增量解码逻辑38将该第2地址解码并断言寄存器读出信号RR。应当注意的是如果该第2地址不是代理地址,而是有效地址,则电路22的操作将如上面所述那样向前进行以读出存储在单地址上的数据。
在第5时间T5,通过主机20断言读信号R和再次将该代理地址置于地址总线40,启动如主机20所指明的那种第3主机读周期。该例假定该主机20想要读出存储在该从属设备24中的三个顺序地址上的数据。
在第6时间T6之前,从属设备24将存储在下一顺序地址上的数据返回,如图3中“VD2”所标识的那样,并且将它置于读数据缓冲器32的输入。在第6时间T6,状态机26使该读数据缓冲器32中的数据可供主机20借助于使三态缓冲器46进入工作状态而读出。
在第6时间T6之后的在第7时间T7,主机20读出数据总线42上的数据。主机20读出的该数据是存储在下一顺序地址上的数据(VD2)。状态机26可以使存储在下一顺序地址上的数据供主机在时间T6使用,因为从属设备24在第2时间T2之后很快就开始了取出该数据的过程。即是说,在下一顺序地址中的数据可以较早地供给使用,因为取出的过程是在第5时间T5的第3主机读周期开始之前就已开始。
应当注意的是在上述描述的时间顺序中的这一点上,取出存储在随后“下一顺序地址”(在本实例即为第一地址加2)的数据的过程已经开始。当在第5时间T5在第3主机读周期开始时主机20将代理地址置于地址总线42时,事实上该主机已经对存储在随后“下一顺序地址”上的数据的发出了请求信号。
根据本发明,主机20可以重复地进行主机读周期,在这期间主机规定代理地址并且存储在每一随后“下一顺序地址”上的数据将在同一主机读周期结束时被返回。如上所述,本发明的明显优点在于从顺序地址起随后的读请求是在单个读周期内完成的。
状态机。图2为显示状态机26工作的状态图。在建立阶段,状态机26进入空闲状态122。如果读和建立读信号被断言,状态机26进入锁存读状态130,此处地址总线40上的地址被锁存到地址寄存器28。在读请求状态132,状态机26断言读信号。在暂停状态134,状态机26等待从属设备取出数据和将数据置于它的输出。在从属设备已经将所请求的数据置放到它的输出以后,状态机26在锁存读数据状态136期间将所请求的数据锁存到读数据寄存器32。然后状态机36返回空闲状态122。
如果读和寄存器读信号被断言,状态机26进入输出读数据状态138,此时状态机26使三态缓冲器46进入工作状态因而使存储在读数据缓冲器32中的数据可供主机20使用。在自动增量地址状态140时,状态机26使地址寄存器28递增或递减一特定数量。然后该状态机26过渡到状态132,134,136和122,这些已在上面做了描述。写操作
现在描述电路22在写操作期间的操作。参照图1,在第1时间T1,第1写周期开始。这一点是通过主机20断言写信号W和将地址和写数据置于相应总线40,42所表明的。状态机26接收写信号并使多路复用器34将地址引导至将该地址锁存的地址寄存器28。此外,状态机26使写数据被锁存道写数据寄存器30中。状态机26断言写和字节进入工作状态信号(W和BE)从而使从属设备24开始存储该写数据的过程。
在一种实施方案中,从属设备24在第2写周期于时间T2开始之前完成将写数据存储的过程。在这种实施方案中,主机20可以断言用以在第2时间T2启动第2写操作所必需的信号。
在一种实施方案中,从属设备24在第2时间T2之前不完成将写数据存储的过程。在这种实施方案中,主机20执行一个或多个NOP(无操作)指令以允许从属设备24在主机20开始第2写周期之前完成将该数据存储的过程。在这种选择性实施方案中,在时间T3之前主机20等待断言对启动第2写操作所必需的信号。
状态机。参照图2,描述写操作期间状态机26的操作。当主机20断言写信号后,状态机26进入锁存写状态124,此时地址和数据被分别锁存到地址寄存器28和写数据寄存器30。在写请求状态126,状态机26断言对从属设备24的写和字节进入工作状态信号。在暂停状态128,状态机26等待从属设备24完成将写数据存储的过程,当完成之后,返回至空闲状态122。
在一种优选实施方案中,主-从接口电路22和从属设备24被包括在单一显示控制器芯片上。在这种优选实施方案中,可以将SRAM存储器嵌入从属设备中中。在一种选择性优选实施方案中,主-从接口电路22和从属设备24被包含在单独的芯片中。
已经将本发明作为主机22和从属设备24之间的一种接口加以描述。主机22可以是CPU,DSP(数字信号处理器),或本领域内所公知的任何其他类型的处理器。类似地,从属设备24可以是存储设备,存储器,存储器控制器,具有嵌入的存储器的显示控制器,具有嵌入的存储器的图形控制器,具有嵌入的存储器或寄存器的任何设备,或设备本身或该设备中的寄存器或存储器是利用存储器映射的I/O方式加以存取的任何外围设备。
为解释容易起见,已经通过硬件对本发明做了描述。但是,在本发明的选择性实施方案中可以部分或全部采用软件来实现所公开的方法。
在前面详述中已经使用的术语和表述只是用于描述目的而并非限制,因而无意排除所示或所述特征的等同物或它们的部分。本发明的范围仅由随后的权利要求所定义和界定。
Claims (38)
1.主机与从属设备的连接方法,所述从属设备的等待时间大于主机的等待时间,该方法包括以下步骤:
在第1时间对存储在所述从属设备内第一地址上的数据提出第1请求;
在第2时间从所述从属设备输出存储在所述第一地址上的数据;
在第3时间对存储在代理地址上的数据提出第2请求;
在第4时间读出存储在该第一地址上的该数据;和
其中所述第2时间是继所述第1时间之后,所述第3时间是继所述第1时间之后,所述第4时间是继所述第2时间之后。
2.权利要求1的方法,该方法进一步包括:
通过在第5时间对存储在所述代理地址上的数据提出请求,对存储在该从属设备内下一顺序地址上的数据提出第3请求;
在第6时间从该从属设备的所述下一顺序地址输出该被存储数据;
在第7时间读出所述输出数据;和
其中所述第5时间是继所述第3时间之后,所述第6时间是继所述第4时间之后,和所述第7时间是继该第6时间之后。
3.权利要求1的方法,其中所述下一顺序地址是比所述第一地址至少高出一个地址的地址。
4.权利要求1的方法,其中所述下一顺序地址是比所述第一地址至少低一个地址的地址。
5.权利要求1的方法,其中所述从属设备是存储器。
6.权利要求1的方法,其中所述从属设备是存储器控制器。
7.权利要求1的方法,其中所述从属设备是具有嵌入的存储器的显示控制器。
8.权利要求1的方法,其中所述主机是中央处理单元。
9.权利要求1的方法,其中所述主机是数字信号处理器。
10.权利要求1的方法,其中所述代理地址是对所述从属设备无效的地址。
11.用于连接主机与从属设备的装置,所述从属设备的等待时间大于主机的等待时间,所述装置包括:
读数据寄存器;和
用于控制所述主机和所述从属设备之间数据传送的状态机,其中该状态机适于执行以下步骤:
在第1时间接收第1读信号和第1地址;
在继所述第1时间之后的第2时间将从所述从属设备返回的数据存储在所述读数据寄存器内;
在继所述第2时间之后的第3时间接收第2读信号和代理地址;和
使所述读数据寄存器的输出进入工作状态使得所述主机可以在继第3时间之后的第4时间读出存储在该读数据寄存器内的数据。
12.权利要求11的装置,其中所述状态机进一步适于执行以下步骤:
在继所述第3时间之后的第4时间接收来自该主机的第3读信号和第3地址,其中该第3地址是所述代理地址;
在继所述第4时间之后的第6时间将从所述从属设备的下一顺序地址所存储的数据存储至读数据寄存器内;和
在继所述第6时间之后的第7时间使读数据寄存器的输出进入工作状态使得所述主机可以读出存储在该读数据寄存器内的数据。
13.权利要求11的装置,其中所述下一顺序地址是对所述从属设备有效的地址,该地址比该第1地址高出至少1个地址。
14.权利要求11的装置,其中所述下一顺序地址是对所述从属设备的有效地址,该地址比该第1地址低至少1个地址。
15.权利要求11的装置,其中所述从属设备是存储器。
16.权利要求11的装置,其中所述从属设备是存储器控制器。
17.权利要求11的装置,其中所述从属设备是具有嵌入的存储器的显示控制器。
18.权利要求11的装置,其中所述主机是中央处理单元。
19.权利要求11的装置,其中所述主机是数字信号处理器。
20.计算机系统,包括:
中央处理单元(CPU),该单元通过提供第1读信号和第1地址在第1时间启动第1读操作和通过在继所述第1时间之后的第2时间之前通过数据采样完成所述第1读操作;
从属设备,该设备通过在所述第2时间提供存储在第1地址上的数据对所述第1读信号和第1地址做出响应,所述第1地址处于该从属设备的地址空间之内;
引导所述CPU的软件元件,该软件元件通过引导该CPU执行所述第1读操作和通过随后引导该CPU执行规定代理地址的第2读操作以恢复所述数据;和
控制该CPU和该从属设备之间的读操作的接口电路,其中所述电路包括:
读数据寄存器;和
适于执行以下步骤的状态机:
在第1时间接收所述第1读信号和第1地址;
在第2时间将来自从属设备的数据存储在所述读数据寄存器内;
在继第2时间之后的第3时间接收第2读信号和所述代理地址;和
使所述读数据寄存器的输出进入工作状态使得所述CPU能够在继第3时间之后的第4时间读出存储在该读数据寄存器内的数据。
21.权利要求20的装置,其中所述状态机进一步适于执行以下功能:
在继第3时间之后的第5时间接收来自主机的第3读信号和第3地址;
在继第4时间后的第6时间将来自所述从属设备的下一顺序地址的被存储的数据存储到所述读数据寄存器;和
在继第6时间之后的第7时间使该读数据寄存器的输出进入工作状态使得主机可以读出存储在所述读数据寄存器内的数据。
22.权利要求20的装置,其中所述下一顺序地址是对所述从属设备的有效地址,该地址比所述第1地址高出至少一个地址。
23.权利要求20的装置,其中所述下一顺序地址是对所述从属设备的有效地址,该地址比所述第1地址低至少一个地址。
24.权利要求20的装置,其中所述从属设备是存储设备。
25.权利要求20的装置,其中所述从属设备是存储器控制器。
26.权利要求20的装置,其中所述从属设备是具有嵌入的存储器的显示控制器。
27.权利要求20的装置,其中所述主机是中央处理单元。
28.权利要求20的装置,其中所述主机是数字信号处理器。
29.配备有指令程序的机器可读媒介,这种指令可由该机器执行以完成主机和从属设备之间的连接,所述从属设备的等待时间大于主机的等待时间,包括以下步骤:
在第1时间对存储在该从属设备中第1地址的数据提出请求;
在继第1时间之后的第2时间从该从属设备输出存储在第1地址上的所述数据;
在继所述第1时间之后的第3时间对存储在代理地址上的数据提出第2请求;
在继所述第2时间之后的第4时间读取所述数据。
30.权利要求29的媒介,该方法进一步包括以下步骤:
通过对存储在所述代理地址上的数据提出请求在继第3时间之后的第5时间对存储在该从属设备中的第2地址上的数据提出第3请求;
在继第4时间之后的第6时间从该从属设备输出存储在第2地址上的数据;和
在继所述第6时间之后的第7时间读出所述输出数据。
31.权利要求29的媒介,其中所述第2地址是对该从属设备的有效地址,该地址比第1地址高出至少1个地址。
32.权利要求29的媒介,其中该第2地址是对该从属设备的有效地址,该地址比第1地址低至少1个地址。
33.权利要求29的媒介,其中该从属设备是存储器。
34.权利要求29的媒介,其中该从属设备是存储器控制器。
35.权利要求29的媒介,其中该从属设备是具有嵌入的存储器的显示控制器。
36.权利要求29的媒介,其中该主机是中央处理单元。
37.权利要求29的方法,其中该主机是数字信号处理器。
38.用于将主机与从属设备连接的方法,所述从属设备的等待时间大于主机的等待时间,该方法包括以下步骤:
在第1时间提出将数据存储在该从属设备内的第1请求;和
在继第1时间之后的第2时间提出将数据存储在该从属设备内的第2请求。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US40746202P | 2002-08-29 | 2002-08-29 | |
US60/407462 | 2002-08-29 | ||
US10/391913 | 2003-03-19 | ||
US10/391,913 US7054971B2 (en) | 2002-08-29 | 2003-03-19 | Interface between a host and a slave device having a latency greater than the latency of the host |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1490732A true CN1490732A (zh) | 2004-04-21 |
CN100476767C CN100476767C (zh) | 2009-04-08 |
Family
ID=31981320
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB031556167A Expired - Fee Related CN100476767C (zh) | 2002-08-29 | 2003-08-29 | 主机与从属设备之间的连接方法、装置、计算机系统 |
Country Status (3)
Country | Link |
---|---|
US (1) | US7054971B2 (zh) |
JP (1) | JP2004094945A (zh) |
CN (1) | CN100476767C (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104076763A (zh) * | 2013-03-12 | 2014-10-01 | 洛克威尔自动控制技术股份有限公司 | 状态机配置器 |
US10545470B2 (en) | 2017-11-10 | 2020-01-28 | Rockwell Automation Technologies, Inc. | Configurable mode model |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7549004B1 (en) * | 2004-08-20 | 2009-06-16 | Altera Corporation | Split filtering in multilayer systems |
US7716511B2 (en) * | 2006-03-08 | 2010-05-11 | Freescale Semiconductor, Inc. | Dynamic timing adjustment in a circuit device |
WO2011065354A1 (ja) * | 2009-11-26 | 2011-06-03 | 日本電気株式会社 | バスモニタ回路及びバスモニタ方法 |
GB2549722B (en) * | 2016-04-25 | 2018-09-26 | Imagination Tech Ltd | Communications interface circuit architecture |
CN115080494B (zh) * | 2022-07-26 | 2022-12-27 | 深圳时识科技有限公司 | Spi从机电路、spi通信方法、接口和芯片 |
Family Cites Families (31)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4831520A (en) | 1987-02-24 | 1989-05-16 | Digital Equipment Corporation | Bus interface circuit for digital data processor |
JP3034362B2 (ja) | 1990-11-22 | 2000-04-17 | 株式会社日立製作所 | 周辺制御装置およびscsiバス制御装置 |
US5440751A (en) * | 1991-06-21 | 1995-08-08 | Compaq Computer Corp. | Burst data transfer to single cycle data transfer conversion and strobe signal conversion |
US5265053A (en) * | 1991-07-03 | 1993-11-23 | Intel Corporation | Main memory DRAM interface |
US5471638A (en) | 1991-10-04 | 1995-11-28 | Bull Hn Inforamtion Systems Inc. | Bus interface state machines with independent access to memory, processor and registers for concurrent processing of different types of requests |
US5469544A (en) * | 1992-11-09 | 1995-11-21 | Intel Corporation | Central processing unit address pipelining |
US5404464A (en) * | 1993-02-11 | 1995-04-04 | Ast Research, Inc. | Bus control system and method that selectively generate an early address strobe |
US6006020A (en) | 1993-04-16 | 1999-12-21 | Media 100 Inc. | Video peripheral circuitry exercising bus master control over a bus of a host computer |
US5640527A (en) * | 1993-07-14 | 1997-06-17 | Dell Usa, L.P. | Apparatus and method for address pipelining of dynamic random access memory utilizing transparent page address latches to reduce wait states |
US5398244A (en) * | 1993-07-16 | 1995-03-14 | Intel Corporation | Method and apparatus for reduced latency in hold bus cycles |
US5594926A (en) * | 1993-07-19 | 1997-01-14 | Efar Microsystems, Inc. | Hard disk accelerating system for computer |
US5504874A (en) * | 1993-09-29 | 1996-04-02 | Silicon Graphics, Inc. | System and method of implementing read resources to maintain cache coherency in a multiprocessor environment permitting split transactions |
US5533204A (en) * | 1994-04-18 | 1996-07-02 | Compaq Computer Corporation | Split transaction protocol for the peripheral component interconnect bus |
US5721882A (en) | 1994-08-05 | 1998-02-24 | Intel Corporation | Method and apparatus for interfacing memory devices operating at different speeds to a computer system bus |
US5848247A (en) | 1994-09-13 | 1998-12-08 | Hitachi, Ltd. | Microprocessor having PC card interface |
US5594882A (en) * | 1995-01-04 | 1997-01-14 | Intel Corporation | PCI split transactions utilizing dual address cycle |
US5933612A (en) * | 1995-05-02 | 1999-08-03 | Apple Computer, Inc. | Deadlock avoidance in a split-bus computer system |
US6081860A (en) * | 1997-11-20 | 2000-06-27 | International Business Machines Corporation | Address pipelining for data transfers |
US6085271A (en) * | 1998-04-13 | 2000-07-04 | Sandcraft, Inc. | System bus arbitrator for facilitating multiple transactions in a computer system |
US6279050B1 (en) | 1998-12-18 | 2001-08-21 | Emc Corporation | Data transfer apparatus having upper, lower, middle state machines, with middle state machine arbitrating among lower state machine side requesters including selective assembly/disassembly requests |
US6263409B1 (en) * | 1998-12-22 | 2001-07-17 | Unisys Corporation | Data processing system and method for substituting one type of request for another for increased performance when processing back-to-back requests of certain types |
US6326958B1 (en) * | 1999-05-14 | 2001-12-04 | Zight Corporation | Power partitioned miniature display system |
US6449673B1 (en) * | 1999-05-17 | 2002-09-10 | Hewlett-Packard Company | Snapshot and recall based mechanism to handle read after read conflict |
US6430646B1 (en) | 1999-08-18 | 2002-08-06 | Ati International Srl | Method and apparatus for interfacing a processor with a bus |
US6393534B1 (en) * | 1999-09-27 | 2002-05-21 | Ati International Srl | Scheduler for avoiding bank conflicts in issuing concurrent requests to main memory |
US6772254B2 (en) * | 2000-06-21 | 2004-08-03 | International Business Machines Corporation | Multi-master computer system with overlapped read and write operations and scalable address pipelining |
US6647470B1 (en) * | 2000-08-21 | 2003-11-11 | Micron Technology, Inc. | Memory device having posted write per command |
US6385094B1 (en) * | 2000-09-29 | 2002-05-07 | Intel Corporation | Method and apparatus for achieving efficient memory subsystem write-to-read turnaround through read posting |
US6766386B2 (en) * | 2001-08-28 | 2004-07-20 | Broadcom Corporation | Method and interface for improved efficiency in performing bus-to-bus read data transfers |
US6807593B1 (en) * | 2001-11-01 | 2004-10-19 | Lsi Logic Corporation | Enhanced bus architecture for posted read operation between masters and slaves |
US6957293B2 (en) * | 2002-04-15 | 2005-10-18 | International Business Machines Corporation | Split completion performance of PCI-X bridges based on data transfer amount |
-
2003
- 2003-03-19 US US10/391,913 patent/US7054971B2/en not_active Expired - Fee Related
- 2003-08-21 JP JP2003297646A patent/JP2004094945A/ja not_active Withdrawn
- 2003-08-29 CN CNB031556167A patent/CN100476767C/zh not_active Expired - Fee Related
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104076763A (zh) * | 2013-03-12 | 2014-10-01 | 洛克威尔自动控制技术股份有限公司 | 状态机配置器 |
CN104076763B (zh) * | 2013-03-12 | 2017-05-31 | 洛克威尔自动控制技术股份有限公司 | 状态机配置器 |
US10545470B2 (en) | 2017-11-10 | 2020-01-28 | Rockwell Automation Technologies, Inc. | Configurable mode model |
Also Published As
Publication number | Publication date |
---|---|
US20040044814A1 (en) | 2004-03-04 |
CN100476767C (zh) | 2009-04-08 |
JP2004094945A (ja) | 2004-03-25 |
US7054971B2 (en) | 2006-05-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP1709543B1 (en) | A multiple address two channel bus structure | |
US7739425B2 (en) | Two channel computer bus architecture | |
US7913021B2 (en) | Scalable bus structure | |
US8531893B2 (en) | Semiconductor device and data processor | |
CN1866230A (zh) | 具等待机制的存储器仲裁器 | |
WO2007005815A1 (en) | Dynamic bus parking | |
US7197590B2 (en) | Method and apparatus for connecting LPC bus and serial flash memory | |
CN101452430B (zh) | 多处理器之间的通信方法与包括多处理器的通信装置 | |
CN114265872A (zh) | 一种用于总线的互联装置 | |
CN1490732A (zh) | 主机与从属设备之间的接口 | |
US20080162974A1 (en) | Universal serial bus host controller | |
WO2010096635A1 (en) | Methods and apparatus for resource sharing in a programmable interrupt controller | |
CN100343778C (zh) | 数据传送方法和数据传送桥接器 | |
CN111158753A (zh) | 具有数据预取功能的Flash控制器结构及其实现方法 | |
KR100288036B1 (ko) | 정보처리장치용 프로세서 | |
US7463266B2 (en) | Low overhead serial interface | |
US6665748B1 (en) | Specialized PCMCIA host adapter for use with low cost microprocessors | |
CN114641764A (zh) | 总线系统及操作总线系统的方法 | |
CN107807888B (zh) | 一种用于soc架构的数据预取系统及其方法 | |
US5671370A (en) | Alternating data valid control signals for high performance data transfer | |
WO2020256784A1 (en) | I3c read from long latency devices | |
KR100487218B1 (ko) | 칩 내장형 버스를 인터페이스하기 위한 장치 및 방법 | |
CN1171154C (zh) | 控制芯片组与其间的数据事务方法 | |
CN117312213B (zh) | 一种用于ahb总线的桥接装置、方法以及片上系统 | |
US20240338337A1 (en) | Enhanced serial peripheral interface |
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 | ||
C17 | Cessation of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20090408 Termination date: 20130829 |