CN109240955A - 电子装置 - Google Patents
电子装置 Download PDFInfo
- Publication number
- CN109240955A CN109240955A CN201810305269.9A CN201810305269A CN109240955A CN 109240955 A CN109240955 A CN 109240955A CN 201810305269 A CN201810305269 A CN 201810305269A CN 109240955 A CN109240955 A CN 109240955A
- Authority
- CN
- China
- Prior art keywords
- bus
- main circuit
- data
- transmission path
- memory
- 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
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/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1668—Details of memory controller
-
- 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/14—Handling requests for interconnection or transfer
- G06F13/36—Handling requests for interconnection or transfer for access to common bus or bus system
- G06F13/362—Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control
-
- 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
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1605—Handling requests for interconnection or transfer for access to memory bus based on arbitration
-
- 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/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1605—Handling requests for interconnection or transfer for access to memory bus based on arbitration
- G06F13/1642—Handling requests for interconnection or transfer for access to memory bus based on arbitration with request queuing
-
- 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/14—Handling requests for interconnection or transfer
- G06F13/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/28—Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/78—Architectures of general purpose stored program computers comprising a single central processing unit
- G06F15/7807—System on chip, i.e. computer system on a single chip; System in package, i.e. computer system on one or more chips in a single package
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)
- Computing Systems (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Debugging And Monitoring (AREA)
- Bus Control (AREA)
Abstract
一种电子装置包括存储器、多个主电路、传输路径、检测单元和重置控制单元。所述多个主电路从存储器读取数据以及将数据写入存储器中。在缓冲并仲裁多个指令和数据的同时通过所述传输路径发送所述指令和数据。检测单元检测传输路径中的缓冲器溢位。重置控制单元针对传输路径的受缓冲器溢位影响的部分以及所述多个主电路中受缓冲器溢位影响的主电路执行重置控制。
Description
技术领域
本发明涉及一种电子装置。
背景技术
在电子装置中,诸如用作计算单元的处理器和存储器的各种电子组件经由总线彼此连接。在总线系统中,由于负载的增加、故障的发生等,传送中的数据偶尔丢失。在这种情况下,总线系统被重置以便于恢复。
执行分离事务(Split Transaction)以改进总线的使用效率。在分离事务中,当特定装置开始数据传送处理时,在该装置等待确认的同时处理被暂停以允许另一装置执行数据传送处理。可通过防止一个装置长时间占用总线来改进总线的使用效率。
日本未审查专利申请公布No.2011-53895描述了一种经由使用分离事务协议的接口来传送数据的数据通信装置。根据直接存储器访问控制器(DMAC)的配置信息预先发出存储器访问请求,并且在目标DMAC的正常和异常终止时使已通过预读访问的数据无效,从而确保高传送速率。
在传送中的数据在总线系统中丢失的情况下,如果整个总线系统被重置以便于恢复,则操作效率可能降低,即使在仅总线系统的一部分受数据丢失影响的情况下,因为整个系统停滞。
在支持分离事务的总线(以下称为“分离总线”)中,特别是,执行不确保数据传送顺序的复杂控制以便执行第二数据传送处理而无需等待第一数据传送处理的完成。因此,难以在总线系统中发生故障的情况下通过指定要处理的位置来执行部分重置控制。
发明内容
本发明的目的在于在总线系统中发生故障的情况下通过指定要处理的位置来降低整个系统可能无法正常地操作的风险。
根据本发明的第一方面,提供了一种电子装置,该电子装置包括:存储器;多个主电路,其从存储器读取数据以及将数据写入存储器中;传输路径,在缓冲并仲裁多个指令和数据的同时通过该传输路径发送所述指令和数据;检测单元,其检测传输路径中的缓冲器溢位;以及重置控制单元,其针对传输路径的受缓冲器溢位影响的部分以及所述多个主电路中受缓冲器溢位影响的主电路执行重置控制。
根据本发明的第二方面,提供了根据第一方面所述的电子装置,其中在传输路径中的特定位置处从主电路侧朝着存储器侧引导的数据的数量与从存储器侧朝着主电路侧引导的数据的数量彼此不匹配的情况下,检测单元确定发生了缓冲器溢位。
根据本发明的第三方面,提供了根据第二方面所述的电子装置,其中检测单元通过针对至少设置在传输路径上的总线桥处的各条总线对从主电路侧朝着存储器侧引导的数据的数量与从存储器侧朝着主电路侧引导的数据的数量进行计数来确定所述数量是否彼此匹配。
根据本发明的第四方面,提供了根据第一方面所述的电子装置,其中重置控制单元将相对于由检测单元检测到缓冲器溢位的位置位于主电路侧的传输路径部分和主电路重置,而不将其它传输路径部分和其它主电路重置。
根据本发明的第五方面,提供了根据第四方面所述的电子装置,其中重置控制单元在停止将不被重置的其它传输路径部分和其它主电路的操作之后将要重置的传输路径部分和主电路重置。
根据本发明的第六方面,提供了一种电子装置,该电子装置包括:存储器;总线,通过其发送指令和数据;总线桥,其连接多条总线;主电路,其经由总线和总线桥连接到存储器;以及重置控制电路,其在总线和总线桥中的一个处指令丢失的情况下执行重置控制,针对相对于指令丢失的位置位于主电路侧的总线、总线桥和主电路执行所述重置控制。
根据本发明的第七方面,提供了根据第六方面所述的电子装置,其中包括总线和总线桥的传输路径包括在缓冲并仲裁多个指令和数据的同时通过其发送所述指令和数据的总线。
根据本发明的第八方面,提供了根据第七方面所述的电子装置,其中包括总线和总线桥的传输路径包括将主电路侧的多条总线集成并将所集成的总线与存储器侧的单条总线连接的总线桥。
根据本发明的第九方面,提供了根据第六方面所述的电子装置,其中重置控制电路在停止将不被重置的总线、总线桥和主电路的操作之后将要重置的总线桥和主电路重置。
根据本发明的第十方面,提供了根据第九方面所述的电子装置,该电子装置还包括配置主电路的配置单元,其中重置控制电路在针对要重置的总线、总线桥和主电路执行重置控制之后通过使得配置单元重新配置将不被重置并且操作已停止的主电路以及已经受重置控制的主电路来重新开始操作。
通过根据第一方面的本发明,与针对整个总线系统执行重置控制的配置相比,可减小由于重置控制而导致的整个总线系统的操作效率的下降。
通过根据第二方面的本发明,与监测要传送的数据以确定这些数据是否丢失的配置相比,可利用简单的配置容易地实现本发明。
通过根据第三方面的本发明,即使在具有多条总线通过总线桥彼此集成的复杂配置的总线系统中,也可指定已发生缓冲器溢位的位置。
通过根据第四方面的本发明,与没有指定受缓冲器溢位影响的部分的配置相比,可减小整个总线系统的操作效率的下降。
通过根据第五方面的本发明,与将不被重置的传输路径部分和主电路的操作不停止的配置相比,可避免由于在重置控制期间执行的新数据传送而导致的意外影响。
通过根据第六方面的本发明,与针对整个总线系统执行重置控制的配置相比,可减小由于重置控制而导致的整个总线系统的操作效率的下降。
通过根据第七方面的本发明,即使对于具有在缓冲并仲裁指令和数据的同时发送指令和数据的复杂控制的总线,也可在指定受指令丢失影响的部分的同时执行重置控制,因此可减小整个总线系统的操作效率的下降。
通过根据第八方面的本发明,即使在指令往往会由于总线从主电路侧朝着存储器侧聚集而丢失的总线系统中,也可在指定受指令丢失影响的部分的同时执行重置控制,因此可减小整个总线系统的操作效率的下降。
通过根据第九方面的本发明,与将不被重置的总线桥和主电路的操作不停止的配置相比,可避免由于在重置控制期间执行的新数据传送而导致的意外影响。
通过根据第十方面的本发明,与在没有重新配置主电路的情况下重新开始操作的配置相比,可正常地仲裁多个主电路并执行数据传送。
附图说明
将基于以下附图详细描述本发明的示例性实施方式,附图中:
图1示出根据本示例性实施方式的总线系统的配置的示例;
图2示出检测总线系统中的缓冲器溢出的方法;
图3A和图3B各自示出在图2所示的总线系统中如何发送请求(REQ)和确认(ACK),其中图3A示出在正常时间期间经由总线桥从DMAC向存储器发送请求(REQ)的操作的示例,并且图3B示出在发生异常期间的操作的示例;
图4是示出在总线控制部用于重置控制的操作中重置执行之前的操作的序列图;
图5是示出在总线控制部用于重置控制的操作中重置执行之后的操作的序列图;以及
图6示出根据另一示例性实施方式的总线系统的配置的示例。
具体实施方式
下面将参照附图详细描述本发明的示例性实施方式。
<根据本示例性实施方式的电子装置的配置的示例>
作为用于形成在诸如系统级芯片(SoC)的芯片上的集成电路中的芯片上总线的分离总线的示例包括高级可扩展接口(AXI)总线和开放核心协议(OCP)总线。在本示例性实施方式的描述中,使用AXI总线。然而,本发明也可应用于其它分离总线。
图1示出根据本示例性实施方式的总线系统的配置的示例。在图1所示的根据本示例性实施方式的总线系统100中,从多个直接存储器访问(DMA)主机10通过多条总线20和总线桥30访问存储器40。随机存取存储器(RAM)(例如,双数据速率同步动态随机存取存储器(DDR-SDRAM))和RAM控制器(例如,DDR-SDRAM存储器控制器+PHY)用作存储器40。在图1中,总线20包括基本虚拟组件接口(BVCI)总线21和AXI总线22。总线桥30包括在BVCI总线21与AXI总线22之间中继的总线桥31以及在AXI总线22之间中继的总线桥32。DMA主机10和总线桥30各自设置有监测数据传送的状态的监测装置50。各个监测装置50连接到控制总线系统100的操作的总线控制部60。在图1中,DMA主机10和总线桥31和32设置有索引(例如,a和b)。然而,在各个构成元件没有彼此相区别的情况下,构成元件没有设置如上所述的索引。尽管未具体地示出,提供在图1所示的总线系统100中配置DMA主机10(暂停或重新开始DMA)的中央处理单元(CPU)。
DMA主机10是通过DMA从存储器40读取数据以及向存储器40中写入数据的主电路。在图1所示的示例中,DMA主机10包括执行各种类型的操作(例如,数据处理和控制)的模块11、用于通过DMA访问存储器40的DMAC 12以及监测装置50。设置在DMA主机10中的监测装置50监测DMA主机10中的数据传送(DMA传送),并且对由DMA主机10发出(发送)的请求(REQ)以及由DMA主机10接收的确认(ACK)进行计数。在图1中,一些DMA主机10未示出,示出了两个DMA主机10a和10b。
总线20用于在DMA主机10与存储器40之间发送数据(要读取和写入的指令和数据)。总线桥30连接在总线20之间。在图1所示的示例中,如上所述,BVCI总线21和AXI总线22用作总线20。例如,DMA主机10a经由BVCI总线21、总线桥31a、AXI总线22、总线桥32a、AXI总线22、总线桥32c和AXI总线22连接到存储器40。
总线桥30连接在不同的总线之间,并且仲裁所连接的总线之间的数据传送。在图1所示的示例中,总线桥30包括连接在BVCI总线21与AXI总线22之间的总线桥31以及连接在AXI总线22之间的总线桥32。总线桥31和32各自包括监测装置50。设置在总线桥31、32中的监测装置50监测总线桥31、32中的数据传送,并且对发送和接收的请求(REQ)和确认(ACK)进行计数。在图1中,未示出相对于总线桥32b在DMA主机10侧的组件。
根据本示例性实施方式的总线系统100中的总线20与总线桥30之间的连接的配置不限于图1所示的示例。在图1所示的示例中,例如,从DMA主机10a和10b到存储器40的传输路径各自包括四条总线20和三个总线桥30。然而,传输路径可各自包括不同数量的总线20和总线桥30。BVCI总线21作为总线20连接到DMA主机10。然而,AXI总线22可作为总线20连接到DMA主机10。在具有多个DMA主机10的用于DMA的总线系统100中,通常,随着距要访问的存储器40的距离越短,传输路径越被集成和聚集,因此使用具有越高传输效率的总线20。相反,与较靠近存储器40的位置相比,在较靠近DMA主机10的位置处不需要使用具有较高传输效率的总线20。在图1所示的示例中,作为示例,传输效率低于AXI总线22的BVCI总线21仅用作连接到DMA主机10的总线20。
如上所述,监测装置50设置在DMA主机10和总线桥30中的每一个中,并且监测总线系统100中的数据传送。在图1中,在各个总线桥30中设置一个监测装置50。然而,监测装置50监测各条总线20的数据传送。例如,图1所示的总线桥32a中的监测装置50监测用于与DMA主机10侧的总线桥31a和31b和存储器40侧的总线桥32c连接的三条AXI总线22中的每一条的数据传送。在许多情况下,尽管未具体地示出,总线系统100设置有仲裁整个总线系统100中的数据传送的总线仲裁器。在这样的情况下,总线仲裁器也设置有监测装置50,并且该监测装置50监测总线仲裁器所仲裁的数据传送。
总线控制部60从监测装置50获取关于数据传送的监测信息(所传送的数据(请求和确认)的计数),并且基于所获取的计数确定在总线系统100中的任何位置处与请求和确认有关的数据是否已丢失。总线控制部60是在检测到数据丢失的情况下针对检测到的数据丢失中所涉及的DMA主机10和总线桥30执行重置控制的重置控制单元(电路)的示例。
在总线系统100中,在执行仲裁的同时诸如多个DMA主机10所发出的请求这样的数据被发送到存储器40,因此在总线系统100中提供缓冲器以暂时地保持数据。然而,如果发送了量超过所准备的缓冲器的容量的数据,则导致缓冲器溢出(数据溢位),并且数据可能丢失。诸如AXI总线22的分离总线执行复杂仲裁以便发送第二请求而无需等待对第一请求的确认,或者同时发送读请求和写请求。因此,与不支持分离事务的总线相比,分离总线发生缓冲器溢出的风险较高。因此,在本示例性实施方式中,总线控制部60基于监测装置50所获取的监测信息来检测缓冲器溢出的发生,指定发生缓冲器溢出的位置,并且执行重置控制以用于恢复总线系统100。因此,监测装置50和总线控制部60用作检测单元,其检测用作传输路径的总线系统100中的缓冲器溢位。
<缓冲器溢出的检测>
总线控制部60如下地检测缓冲器溢出。基于来自DMA主机10的监测装置50和总线桥30的监测信息,总线控制部60针对各条总线20比较经由总线20发送的请求的数量和确认的数量。总线控制部60还比较经由发送侧的总线20发送的数据的数量以及经由接收侧的总线20发送的数据的数量。总线控制部60还比较在各个总线桥30处接收的数据的数量以及在各个总线桥30处发送的数据的数量。总线控制部60基于比较的结果来指定总线系统100中已经发生缓冲器溢出的位置。即,在从DMA主机10侧朝着存储器40侧引导的数据的数量与从存储器40侧朝着DMA主机10侧引导的数据的数量彼此不匹配的情况下,总线控制部60确定已经发生缓冲器溢出。
将进一步描述具体示例。作为示例,重点放在总线桥31a与总线桥32a之间的AXI总线22上。AXI总线22是用于DMA主机10a所发出的指令向存储器40的传输的传输路径的一部分。在此示例中,总线控制部60计算总线桥31a所发送的请求的数量与总线桥31a所接收的确认的数量之差。如果确认的数量小于请求的数量,则总线控制部60确定相对于总线桥31a在存储器40侧已经发生缓冲器溢出,并且请求或确认丢失。
总线控制部60还计算总线桥32a所接收的请求的数量与总线桥32a所发送的确认的数量之差。如果确认的数量小于请求的数量,则总线控制部60确定相对于总线桥32a在存储器40侧已经发生缓冲器溢出,并且请求或确认丢失。
总线控制部60还计算总线桥31a所发送的请求的数量与总线桥32a所接收的请求的数量之差、以及总线桥32a所发送的确认的数量与总线桥31a所接收的确认的数量之差。如果总线桥32a所接收的请求的数量小于总线桥31a所发送的请求的数量,则总线控制部60确定在通过总线桥31a与总线桥32a之间的AXI总线22的传输期间请求丢失。类似地,如果总线桥31a所接收的确认的数量小于总线桥32a所发送的确认的数量,则总线控制部60确定在通过总线桥31a与总线桥32a之间的AXI总线22的传输期间确认丢失。
总线控制部60还计算在各个总线桥30处从DMA主机10侧接收的请求的数量与发送到存储器40侧的请求的数量之差。类似地,总线控制部60计算从存储器40侧接收的确认的数量与发送到DMA主机10侧的确认的数量之差。如果所发送的请求的数量小于所接收的请求的数量,则总线控制部60确定在总线桥30中已经发生缓冲器溢出,并且请求丢失。如果所发送的确认的数量小于所接收的确认的数量,则总线控制部60确定在总线桥30中已经发生缓冲器溢出,并且确认丢失。
将使用简单的模型来进一步描述缓冲器溢出的检测。图2示出检测总线系统100中的缓冲器溢出的方法。在图2所示的示例中,总线系统100由包括DMAC 12(DMA主机10)、总线桥30a、总线桥30b、存储器40和总线20的简单模型来表示。
图3A和图3B各自是示出在图2所示的总线系统100中如何传送请求(REQ)和确认(ACK)的表。图3A示出在正常时间期间经由总线桥30a和30b从DMAC 12向存储器40发送请求(REQ)的操作的示例。图3B示出在发生异常期间的操作的示例。在图3A和图3B中,来自DMAC12的第一总线桥30a以及来自DMAC 12的第二总线桥30b分别被适当地缩写为“BB-a”和“BB-b”。在图3A和图3B所示的示例中,指示由各个构成元件(即,DMAC 12、总线桥30a和总线桥30b)处的监测装置50监测的请求(REQ)和确认(ACK)信号的状态的变化。在图3A和图3B中,各个信号在初始状态具有值“0”,并且在导致与信号有关的操作(信号的生成或接收(在图中被指示为“接收”))的时间(带有粗框的位置)变化为值“1”。
将参照图3A描述正常时间期间的操作的示例。首先,DMAC 12发出请求(REQ),该请求(REQ)经由总线20发送到总线桥30a。在图3A中,DMAC 12的信号“REQ”自项目“DMAC所生成的REQ”起具有值“1”。所生成的请求(REQ)通过总线20发送,并且由总线桥30a的主机侧端子(DMA主机10侧的端子)接收。在图3A中,总线桥30a(BB-a)的主机侧的信号“REQ”自项目“在BB-a的主机侧接收的REQ”起具有值“1”。在接收到该信号时,总线桥30a向发送该信号的DMAC 12返回确认(ACK)。在图3A中,总线桥30a的主机侧的信号“ACK”自项目“在BB-a的主机侧生成的ACK”起具有值“1”。另外,DMAC 12的信号“ACK”自项目“DMAC所接收的ACK”起具有值“1”。
接下来,总线桥30a经由总线20将所接收的请求(REQ)从存储器40侧的端子发送到总线桥30b。在图3A中,总线桥30a(BB-a)的存储器侧的信号“REQ”自项目“在BB-a的存储器侧生成的REQ”起具有值“1”。从总线桥30a发送的请求(REQ)通过总线20发送,并且由总线桥30b的主机侧端子接收。在图3A中,总线桥30b(BB-b)的主机侧的信号“REQ”自项目“在BB-b的主机侧接收的REQ”起具有值“1”。在接收到该信号时,总线桥30b向发送该信号的总线桥30a返回确认(ACK)。在图3A中,总线桥30b的主机侧的信号“ACK”自项目“在BB-b的主机侧生成的ACK”起具有值“1”。另外,总线桥30a的存储器侧的信号“ACK”自项目“在BB-a的存储器侧接收的ACK”起具有值“1”。
接下来,总线桥30b经由总线20将所接收的请求(REQ)从存储器40侧的端子发送到存储器40。在图3A中,总线桥30b(BB-b)的存储器侧的信号“REQ”自项目“在BB-b的存储器侧生成的REQ”起具有值“1”。当请求(REQ)到达存储器40时,从存储器40向总线桥30b返回确认(ACK)。在图3A中,总线桥30b(BB-b)的存储器侧的信号“ACK”自项目“在BB-b的存储器侧接收的ACK”起具有值“1”。从上面看出,DMAC 12所发出的请求(REQ)已到达存储器40。
接下来,将参照图3B描述在发生异常期间的操作的示例。在图3B所示的操作中,如图3A所示的操作示例中一样由DMAC 12发出请求(REQ)并朝着存储器40发送,但是在总线桥30b中发生缓冲器溢出。直至DMAC 12所发出的请求(REQ)到达总线桥30b的操作与上面参照图3A所讨论的操作相同,因此将不再描述。
在图3B中,在接收到请求(REQ)时,总线桥30b向发送该信号的总线桥30a返回确认(ACK)。在图3B中,总线桥30b的主机侧的信号“ACK”自项目“在BB-b的主机侧生成的ACK”起具有值“1”。另外,总线桥30a的存储器侧的信号“ACK”自项目“在BB-a的存储器侧接收的ACK”起具有值“1”。这里,假设在总线桥30b处已经发生缓冲器溢出。因此,不从总线桥30b向存储器40发送请求(REQ)。在图3B中,总线桥30b(BB-b)的存储器侧的信号“REQ”在项目“在BB-b的存储器侧生成的REQ”(图中的虚线粗框)中也继续具有值“0”。由于未向存储器40发送请求(REQ),所以也不从存储器40向总线桥30b返回确认(ACK)。因此,在图3B中,总线桥30b(BB-b)的存储器侧的信号“ACK”在项目“在BB-b的存储器侧接收的ACK”中也继续具有值“0”。
由于如上所述在存储器侧的总线桥30b(BB-b)的端子之后的传输路径部分中信号状态没有变化,所以看出,由于在总线桥30b的内部缓冲器中已经发生的缓冲器溢出,信号“REQ”丢失。在总线系统100中,在仲裁的同时发送信号,因此从在传输路径中的前一监测位置处检测到信号直至在后一监测位置处检测到信号存在微小的时间差。因此,例如,针对在检测到信号状态的变化的监测位置之后的监测位置,在仲裁所需的时间逝去之后信号状态没有变化的情况下,确定已经发生缓冲器溢出。
在AXI总线22中,如上所述,经由单独的传输路径(信道)传送请求(REQ)和确认(ACK)。在AXI总线22中,另外,响应于读请求和写请求经由单独的传输路径(信道)传送读指令(地址)和读数据以及写指令(地址)和写数据。因此,在各个这种传送中可能发生缓冲器溢出。在整个总线系统100中,如图1所示,传输路径从DMA主机10侧朝着存储器40聚集。因此,缓冲器溢出往往会发生在从DMA主机10侧朝着存储器40的传送中。具体地,针对读指令、写指令、写数据等往往会导致缓冲器溢出。特别是,在数据读取中,DMA主机10可能连续地发出许多请求。因此,与其它类型的传送相比,缓冲器溢出往往会发生在数据读取中。在数据写入中,除非已准备好要写入的所有数据,否则不会发出写请求,因此,很少连续地发出请求(从发出一个请求到发出下一请求常常存在间隔)。因此,与数据读取相比,不太可能在数据写入中发生缓冲器溢出。然而,通过根据本示例性实施方式的监测装置50和总线控制部60,可检测缓冲器溢出的发生,并且可指定缓冲器溢出的发生位置,而不管传送的类型如何。
<重置控制>
接下来,将描述总线控制部60的重置控制。总线控制部60基于如上所述指定的缓冲器溢出的发生位置来指定形成总线系统100的传输路径的受缓冲器溢出影响的部分。总线控制部60针对所指定的传输路径部分执行重置控制以用于恢复操作。
再参考图1。假设在图1所示的配置示例中在总线桥32a处发生缓冲器溢出。在这种情况下,相对于已经发生缓冲器溢出的总线桥32a在DMA主机10侧的传输路径部分可能受缓冲器溢出影响。即,由使用所述传输路径部分的DMA主机10(在图1所示的示例中,DMA主机10a和10b)发出的请求或者其要接收的确认可能丢失。因此,在图1所示的配置中在总线桥32a处发生缓冲器溢出的情况下,图1中由虚线指示的区域A中的传输路径部分受缓冲器溢出影响。针对包括在区域A中的DMAC12(DMA主机10)和总线桥30执行重置控制。
图4和图5各自是示出总线控制部60的重置控制的操作的序列图。图4示出重置执行之前的操作。图5示出重置执行之后的操作。在图4和图5中,CPU 70执行各种类型的数据处理和控制,并且用作配置总线系统100中的DMA主机10(暂停或重新开始DMA传送)的配置单元。非目标DMAC 12是不经受重置控制(在图1所示的示例中位于区域A之外)的DMAC 12。目标DMAC 12是经受重置控制(在图1所示的示例中位于区域A内)的DMAC 12。目标总线桥30是经受重置控制(在图1所示的示例中位于区域A内)的总线桥30。
如图4所示,当基于从监测装置50获取的监测信息检测到缓冲器溢出的发生时(S101),总线控制部60指定用于执行重置控制的范围(S102)。总线控制部60针对CPU 70执行中断处理以向CPU 70通知已经发生了缓冲器溢出(S103)。如上所述,用于执行重置控制的范围是受所发生的缓冲器溢出影响的范围,并且包括相对于已经发生缓冲器溢出的位置在DMAC 12(DMA主机10)侧的传输路径部分。向CPU 70通知缓冲器溢出的发生以便在后续操作中针对已经受重置控制的DMAC 12和未经受重置控制的DMAC 12执行操作控制。
接下来,总线控制部60指示非目标DMAC 12停止DMA传送(S104)。这是为了避免在重置控制期间从未经受重置控制的DMAC 12通过DMA的数据传送。当已从总线控制部60接收指令的非目标DMAC 12的DMA传送停止时,从非目标DMAC12向总线控制部60传送DMA传送已停止的通知。
总线控制部60指示目标总线桥30屏蔽新请求的发出和接收(S105)。这里,屏蔽发出对应于不向后面的总线桥30发送新请求,屏蔽接收对应于即使接收到新请求也不返回确认。当已从总线控制部60接收指令的目标总线桥30完成屏蔽新请求的发出和接收时,从目标总线桥30向总线控制部60传送屏蔽已经完成的通知。
接下来,在从非目标DMAC 12和目标总线桥30接收到通知时,总线控制部60将目标DMAC 12和目标总线桥30重置,随后解除重置(图5中的S106)。总线控制部60指示目标总线桥30重新开始操作(S107),并且进一步指示目标总线桥30解除新请求的发出和接收的屏蔽(S108)。当已从总线控制部60接收指令的目标总线桥30解除新请求的发出和接收的屏蔽时,从目标总线桥30向总线控制部60传送屏蔽已解除的通知。
总线控制部60针对CPU 70执行中断处理以向CPU 70通知重置控制已完成,并且请求CPU 70重新开始DMAC 12(目标DMAC 12和非目标DMAC 12)的DMA传送(S109)。总线控制部60重新开始用于检测缓冲器溢出的操作(从监测装置50获取的监测信息的分析)以为要重新开始的DMA传送做准备(S110)。当从总线控制部60接收到请求时,CPU 70重新开始DMAC12的DMA传送。
<其它实施方式>
在图1所示的配置示例中,设置在DMA主机10和总线桥30中的每一个中的监测装置50获取指示数据传送的状态的监测信息,并且总线控制部60通过分析监测信息来检测缓冲器溢出的发生,并指定缓冲器溢出的发生位置。相反,可在DMA主机10和总线桥30中的每一个中设置检测缓冲器溢出的发生的检测装置。
图6示出根据如上所述的另一示例性实施方式的总线系统的配置的示例。在图6所示的配置示例中,DMA主机10、总线20、总线桥30和存储器40及其连接关系与图1所示的配置示例中的那些相同。在图6所示的示例性实施方式中,检测装置80设置在各个总线桥30中。检测装置80监测缓冲器的状态或者设置有该检测装置80本身的总线桥30的数据传送的状态,并且在已经发生缓冲器溢出的情况下检测缓冲器溢出。
在图6所示的配置示例中,各个检测装置80连接到重置控制部90。在检测到缓冲器溢出的发生时,检测装置80通知重置控制部90。在从检测装置80接收到通知时,重置控制部90指定受所发生的缓冲器溢出影响的范围,并且针对在所指定的范围内的DMA主机10和总线桥30执行重置控制。具体地,相对于设置有已经发送检测到缓冲器溢出的通知的检测装置80的总线桥30在DMAC 12(DMA主机10)侧的传输路径部分中的DMA主机10和总线桥30经受重置控制。
为了例示和描述的目的提供了本发明的示例性实施方式的以上描述。其并不旨在为穷尽性的或者将本发明限于所公开的精确形式。显然,对于本领域技术人员而言许多修改和变化将是显而易见的。选择并描述实施方式以便最佳地说明本发明的原理及其实际应用,从而使得本领域技术人员能够理解本发明的各种实施方式以及适合于可以想到的具体用途的各种改型。本发明的范围旨在由随附权利要求书及其等同物限定。
Claims (11)
1.一种电子装置,该电子装置包括:
存储器;
多个主电路,所述多个主电路从所述存储器读取数据以及将数据写入所述存储器中;
传输路径,在缓冲并仲裁多个指令和数据的同时通过该传输路径发送所述指令和所述数据;
检测单元,该检测单元检测所述传输路径中的缓冲器溢位;以及
重置控制单元,该重置控制单元针对所述传输路径的受所述缓冲器溢位影响的部分以及所述多个主电路中受所述缓冲器溢位影响的主电路执行重置控制。
2.根据权利要求1所述的电子装置,
其中,在所述传输路径中的特定位置处从主电路侧朝着存储器侧引导的数据的数量与从所述存储器侧朝着所述主电路侧引导的数据的数量彼此不匹配的情况下,所述检测单元确定发生了所述缓冲器溢位。
3.根据权利要求2所述的电子装置,
其中,所述检测单元通过针对至少设置在所述传输路径上的总线桥处的各条总线对从所述主电路侧朝着所述存储器侧引导的数据的所述数量与从所述存储器侧朝着所述主电路侧引导的数据的所述数量进行计数来确定所述数量是否彼此匹配。
4.根据权利要求1所述的电子装置,
其中,所述重置控制单元将相对于由所述检测单元检测到所述缓冲器溢位的位置位于所述主电路侧的传输路径部分和主电路重置,而不将其它传输路径部分和其它主电路重置。
5.根据权利要求4所述的电子装置,
其中,所述重置控制单元在停止将不被重置的其它传输路径部分和其它主电路的操作之后将要重置的传输路径部分和主电路重置。
6.一种电子装置,该电子装置包括:
存储器;
总线,通过所述总线发送指令和数据;
总线桥,所述总线桥连接所述多条总线;
主电路,所述主电路经由所述总线和所述总线桥连接到所述存储器;以及
重置控制电路,该重置控制电路在所述总线和所述总线桥中的一个处指令丢失的情况下执行重置控制,针对相对于所述指令丢失的位置位于主电路侧的总线、总线桥和主电路执行所述重置控制。
7.根据权利要求6所述的电子装置,
其中,包括所述总线和所述总线桥的传输路径包括在缓冲并仲裁多个指令和数据的同时通过其发送所述指令和所述数据的总线。
8.根据权利要求7所述的电子装置,
其中,包括所述总线和所述总线桥的所述传输路径包括将所述主电路侧的多条总线集成并将所集成的总线与存储器侧的单条总线连接的总线桥。
9.根据权利要求6所述的电子装置,
其中,所述重置控制电路在停止将不被重置的总线、总线桥和主电路的操作之后将要重置的总线桥和主电路重置。
10.根据权利要求9所述的电子装置,该电子装置还包括:
配置单元,该配置单元配置所述主电路,
其中,所述重置控制电路在针对要重置的总线、总线桥和主电路执行重置控制之后通过使得所述配置单元重新配置将不被重置并且操作已停止的主电路以及已经受重置控制的主电路来重新开始操作。
11.一种电子装置,该电子装置包括:
存储器;
多个主电路,所述多个主电路从所述存储器读取数据以及将数据写入所述存储器中;
传输路径,在缓冲并仲裁多个指令和数据的同时通过该传输路径发送所述指令和所述数据;
检测装置,该检测装置检测所述传输路径中的缓冲器溢位;以及
重置控制装置,该重置控制装置针对所述传输路径的受所述缓冲器溢位影响的部分以及所述多个主电路中受所述缓冲器溢位影响的主电路执行重置控制。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017135525A JP6992295B2 (ja) | 2017-07-11 | 2017-07-11 | 電子装置 |
JP2017-135525 | 2017-07-11 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109240955A true CN109240955A (zh) | 2019-01-18 |
CN109240955B CN109240955B (zh) | 2024-02-20 |
Family
ID=64998937
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810305269.9A Active CN109240955B (zh) | 2017-07-11 | 2018-04-08 | 电子装置 |
Country Status (3)
Country | Link |
---|---|
US (1) | US10983927B2 (zh) |
JP (1) | JP6992295B2 (zh) |
CN (1) | CN109240955B (zh) |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH09247127A (ja) * | 1996-03-06 | 1997-09-19 | United Microelectron Corp | 誤り訂正仮想受信バッファ装置 |
US20020052995A1 (en) * | 2000-09-08 | 2002-05-02 | Jahnke Steven R. | Bus bridge interface system |
US6438639B1 (en) * | 1996-08-27 | 2002-08-20 | International Business Machines Corporation | Computer system bus network providing concurrent communication and connection transition of peripheral devices |
CN1760847A (zh) * | 2004-10-12 | 2006-04-19 | 富士通株式会社 | 总线桥和数据传输方法 |
CN1834947A (zh) * | 2005-03-17 | 2006-09-20 | 富士通株式会社 | 数据传输装置 |
US7149828B2 (en) * | 2004-04-27 | 2006-12-12 | Sony Corporation | Bus arbitration apparatus and bus arbitration method |
US20110182181A1 (en) * | 2010-01-22 | 2011-07-28 | Samsung Electronics Co., Ltd. | Method and apparatus for adaptively managing buffer in communication system including a plurality of network nodes |
US20120198117A1 (en) * | 2011-01-31 | 2012-08-02 | Srinjoy Das | System and Method for Improving Throughput of Data Transfers Using a Shared Non-Deterministic Bus |
CN103810133A (zh) * | 2012-11-05 | 2014-05-21 | 国际商业机器公司 | 动态共享读缓冲器管理 |
US20160077799A1 (en) * | 2014-09-16 | 2016-03-17 | Fujitsu Limited | Control device and control method |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3681587B2 (ja) * | 1999-10-07 | 2005-08-10 | 三菱電機株式会社 | セル分解装置、セル分解方法およびその方法をコンピュータに実行させるプログラムを記録したコンピュータ読み取り可能な記録媒体 |
GB0214669D0 (en) * | 2002-06-26 | 2002-08-07 | Ibm | Method for maintaining data access during failure of a controller |
US6990538B2 (en) * | 2002-06-26 | 2006-01-24 | Agilent Technologies, Inc. | System comprising a state machine controlling transition between deskew enable mode and deskew disable mode of a system FIFO memory |
WO2005096162A1 (ja) * | 2004-03-18 | 2005-10-13 | Matsushita Electric Industrial Co., Ltd. | アービトレーション方法及び装置 |
JP4908770B2 (ja) | 2005-04-26 | 2012-04-04 | キヤノン株式会社 | 情報処理装置及びその制御方法 |
US7457892B2 (en) * | 2006-06-05 | 2008-11-25 | Freescale Semiconductor, Inc. | Data communication flow control device and methods thereof |
JP2011053895A (ja) | 2009-09-01 | 2011-03-17 | Ricoh Co Ltd | データ通信装置 |
JP6244836B2 (ja) * | 2013-11-12 | 2017-12-13 | 富士通株式会社 | 通信装置及びパケット制御方法 |
JP6586765B2 (ja) * | 2015-04-21 | 2019-10-09 | 株式会社ソシオネクスト | アクセス遮断回路、半導体集積回路およびアクセス遮断方法 |
JP5981004B2 (ja) | 2015-09-02 | 2016-08-31 | ルネサスエレクトロニクス株式会社 | 半導体装置 |
-
2017
- 2017-07-11 JP JP2017135525A patent/JP6992295B2/ja active Active
-
2018
- 2018-04-08 CN CN201810305269.9A patent/CN109240955B/zh active Active
- 2018-06-27 US US16/020,091 patent/US10983927B2/en active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH09247127A (ja) * | 1996-03-06 | 1997-09-19 | United Microelectron Corp | 誤り訂正仮想受信バッファ装置 |
US6438639B1 (en) * | 1996-08-27 | 2002-08-20 | International Business Machines Corporation | Computer system bus network providing concurrent communication and connection transition of peripheral devices |
US20020052995A1 (en) * | 2000-09-08 | 2002-05-02 | Jahnke Steven R. | Bus bridge interface system |
US7149828B2 (en) * | 2004-04-27 | 2006-12-12 | Sony Corporation | Bus arbitration apparatus and bus arbitration method |
CN1760847A (zh) * | 2004-10-12 | 2006-04-19 | 富士通株式会社 | 总线桥和数据传输方法 |
CN1834947A (zh) * | 2005-03-17 | 2006-09-20 | 富士通株式会社 | 数据传输装置 |
US20110182181A1 (en) * | 2010-01-22 | 2011-07-28 | Samsung Electronics Co., Ltd. | Method and apparatus for adaptively managing buffer in communication system including a plurality of network nodes |
US20120198117A1 (en) * | 2011-01-31 | 2012-08-02 | Srinjoy Das | System and Method for Improving Throughput of Data Transfers Using a Shared Non-Deterministic Bus |
CN103810133A (zh) * | 2012-11-05 | 2014-05-21 | 国际商业机器公司 | 动态共享读缓冲器管理 |
US20160077799A1 (en) * | 2014-09-16 | 2016-03-17 | Fujitsu Limited | Control device and control method |
Also Published As
Publication number | Publication date |
---|---|
JP6992295B2 (ja) | 2022-01-13 |
US10983927B2 (en) | 2021-04-20 |
JP2019020766A (ja) | 2019-02-07 |
US20190018807A1 (en) | 2019-01-17 |
CN109240955B (zh) | 2024-02-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7814248B2 (en) | Common access ring/sub-ring system | |
US6496890B1 (en) | Bus hang prevention and recovery for data communication systems employing a shared bus interface with multiple bus masters | |
US8572342B2 (en) | Data transfer device with confirmation of write completion and method of controlling the same | |
US5682551A (en) | System for checking the acceptance of I/O request to an interface using software visible instruction which provides a status signal and performs operations in response thereto | |
US8775699B2 (en) | Read stacking for data processor interface | |
US9003091B2 (en) | Flow control for a Serial Peripheral Interface bus | |
KR101916985B1 (ko) | 두 개의 집적 회로 간의 트랜잭션 교환을 제어하는 방법 | |
US8694698B2 (en) | Storage system and method for prioritizing data transfer access | |
EP4261695A2 (en) | High-performance streaming of ordered write stashes to enable optimized data sharing between i/o masters and cpus | |
CN1864140B (zh) | 用于具有多个处理器和一个存储器系统的系统的存储器接口 | |
US7962676B2 (en) | Debugging multi-port bridge system conforming to serial advanced technology attachment (SATA) or serial attached small computer system interface (SCSI) (SAS) standards using idle/scrambled dwords | |
US9519601B2 (en) | Data storage system and management method thereof | |
KR20170078697A (ko) | 교착상태 방지를 위한 방법들 및 회로들 | |
JP2023505261A (ja) | メモリと分散計算アレイとの間のデータ転送 | |
CN114902197B (zh) | 非易失性双列直插式存储器模块的命令重放 | |
CN114461550A (zh) | 基于i2c通信的多主控设备访问仲裁系统及方法 | |
US6023748A (en) | Multiple client memory arbitration system capable of operating multiple configuration types | |
CN103765394A (zh) | 信息处理装置和调度方法 | |
CN109240955A (zh) | 电子装置 | |
US8250243B2 (en) | Diagnostic data collection and storage put-away station in a multiprocessor system | |
US7809871B2 (en) | Common access ring system | |
CN115794713A (zh) | Axi总线读写事务均衡方法、装置、电子设备及介质 | |
US6327636B1 (en) | Ordering for pipelined read transfers | |
CN1326058C (zh) | 数据传输控制装置 | |
EP4022445B1 (en) | An apparatus and method for handling ordered transactions |
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 | ||
CB02 | Change of applicant information | ||
CB02 | Change of applicant information |
Address after: Tokyo, Japan Applicant after: Fuji film business innovation Co.,Ltd. Address before: Tokyo, Japan Applicant before: Fuji Xerox Co.,Ltd. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |