CN100514318C - 桥接器以及电子系统的数据清理方法 - Google Patents
桥接器以及电子系统的数据清理方法 Download PDFInfo
- Publication number
- CN100514318C CN100514318C CNB2007101437025A CN200710143702A CN100514318C CN 100514318 C CN100514318 C CN 100514318C CN B2007101437025 A CNB2007101437025 A CN B2007101437025A CN 200710143702 A CN200710143702 A CN 200710143702A CN 100514318 C CN100514318 C CN 100514318C
- Authority
- CN
- China
- Prior art keywords
- mentioned
- signal
- cleaning
- emptied
- impact damper
- 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.)
- Active
Links
Images
Landscapes
- Electronic Switches (AREA)
Abstract
本发明提供一种桥接器以及电子系统的数据清理方法,特别涉及一种桥接器,包括一第一主控元件,用以输出一清理要求;一缓冲单元,包括多个缓冲器;以及一清理要求控制电路,当接收到清理要求时,侦测多个缓冲器是否已清空,并记录下多个缓冲器中已清空的缓冲器,当多个缓冲器于接收到清理要求后皆已被清空过一次时,输出一清理完成确认信号至第一主控元件。本发明所述的桥接器以及电子系统的数据清理方法,从属元件不会因为主控元件发出的清理要求中断接收来自外围设备中主控元件的处理要求,可以继续将数据及/或指令放入缓冲单元中,使得系统的效能有效提升。
Description
技术领域
本发明有关于一种数据清除方法,特别是有关于一种可以避免数据不一致又不会使效能降低的数据清除方法。
背景技术
许多计算机系统使用至少两个总线,第一条通常称为存储器总线(memory bus)用于中央处理器(central proces sor)与主存储器(main memory)间的通讯,且第二条通常为外围设备总线(peripheral bus)用于外围设备(例如图形系统、磁盘驱动器或局域网)间的通讯。为了使数据能够于这两个总线之间传输,通常会使用一个桥接器(bridge)将这两个总线连接在一起。
桥接器的主要工作是将数据从一个总线传送至另一个总线。为了达到此功能,桥接器必须具有从属元件的能力(slavecapacity)与主要元件的能力(master capacity),使得它可以作为一从属元件接收来自一总线的要求,之后再作为一主要元件于另一个总线上执行适当的总线操作。因此,桥接器必须有能力提供由一总线至另一总线的存取动作。
一般而言,桥接器会将来自系统总线或外围总线上即将被传送的数据暂存(或称为贴入posted)于一数据缓冲器中。暂存数据于桥接器中可通过封包化数据与预取数据来提高系统的效能。然而,当发生同步处理事件(synchronization event)时,数据还暂存于桥接器中就会产生数据不一致的问题。
发明内容
本发明提供一种桥接器,包括一第一主控元件,用以输出一清理要求;一缓冲单元,包括多个缓冲器;以及一清理要求控制电路,包括对应地耦接至上述多个缓冲器的多个侦测单元和一输出单元,上述侦测单元于接收到第一主控元件输出的清理要求时,侦测多个缓冲器中是否有已清空的,并记录下多个缓冲器中已清空的缓冲器,若多个缓冲器于接收到清理要求后皆已被清空过,则上述输出单元输出一清理完成确认信号至上述第一主控元件,以告知第一主控元件上述缓冲单元被清空,其中,上述每一缓冲器在被清空后至输出所述清理完成确认信号的期间,能够接收来自第一从属元件的数据或指令。
本发明又提供一种电子系统的数据清理(flush)方法,包括当接收到来自一桥接器中一第一主控元件的一清理要求时,侦测一缓冲单元中多个缓冲器中是否有已被清空的,并记录下多个缓冲器中已被清空的缓冲器;以及当多个缓冲器于接收到清理要求之后皆已被清空过一次时,输出一清理完成确认信号至第一主控元件;其中,上述每一缓冲器在被清空后至输出所述清理完成确认信号的期间,能够接收来自第一从属元件的数据或指令。
本发明所述的桥接器以及电子系统的数据清理方法,从属元件不会因为主控元件发出的清理要求中断接收来自外围设备中主控元件的处理要求,可以继续将数据及/或指令放入缓冲单元中,使得系统的效能有效提升。
附图说明
图1为一电子系统的一实施例。
图2为本发明中一清理要求控制电路的一实施例。
图3为图2中清理要求控制电路的电路结构图。
图4为图3中清理要求控制电路的信号时序图。
图5为图2中清理要求控制电路的另一电路结构图。
图6为图5中清理要求控制电路的信号时序图。
图7为本发明的电子系统的另一实施例。
具体实施方式
为了让本发明的上述和其他目的、特征和优点能更明显易懂,下文特举一较佳实施例,并配合所附图示,作详细说明如下。
图1为一电子系统的一实施例。如图所示,电子系统100可实现于计算机系统中,但不限定于此,亦可以实现于数字相机、数字录放影机、消费性电子产品、移动通讯装置、可携式电子产品或机器人中。电子系统100包括一主控元件MA、一从属元件SA、一桥接器10以及一外围设备20。举例而言,主控元件MA可为一中央处理器(CPU)、从属元件SA可为一系统存储器或中央处理器中的一快取存储器,而外围设备20可为一外围设备互连(peripheral component interface;PCI)设备,但不限定于此。桥接器10包括主控元件MB与MC、从属元件SB与SC以及缓冲单元BF1与BF2,而外围设备20包括主控元件MD与从属元件SD。每个缓冲单元BF1与BF2包含一个或多个缓冲器。
当主控元件MA要求存取外围设备20的从属元件SD时,从属元件SB会接收来自主控元件MA的处理要求(transactionrequests)并放入(push)缓冲单元BF1中。主控元件MC会执行缓冲单元BF1中从属元件SB所放入的处理要求,使得从属元件SD接受该处理要求。反言之,当外围设备20中的主控元件MD要求存取从属元件SA时,从属元件SC会接收来自主控元件MD的处理要求(transaction requests)并放入(push)缓冲单元BF2中。主控元件MB会执行缓冲单元BF2中从属元件SC所放入的处理要求,使得从属元件SA接受该处理要求。一般而言,由主控元件MA至从属元件SD的处理要求称为下行处理(downstreamtransaction),而由主控元件MD至从属元件SA的处理要求称为上行处理(upstream transaction)。
在某些情况下,于某方向(上行或下行)的处理要求完成前,另一方向的处理要求必须要先完成,以便维持处理要求的顺序,以避免发生数据的一致性问题。
举例而言,当外围设备20完成一写入处理要求,并发出一中断信号给主控元件MA(例如CPU),通知可于从属元件SA(例如系统存储器)中读取一笔写入数据。在处理从属元件SA中的该笔写入数据前,主控元件MA会向从属元件SD发出一读取请求,以检查外围设备20的状态。主控元件MA发送给从属元件SD的读取请求是一个同步事件,因而桥接器10此时会终止接收主控元件MD发出的新的处理请求,并清除缓冲单元BF2中的数据以保证数据的一致性。换言之,主控元件MA会先读取从属元件SD的状态,在此处理要求完成前,桥接器10必须确认该笔写入数据已经放入从属元件SA中。从属元件SD读取数据之前或将读取的数据回传给主控元件MA之前,桥接器10将会产生一清理(flush)要求flush_req给从属元件SC,并等待从属元件SC回复一清理完成确认信号(flush acknowledge)flush_ack表示该笔写入数据已经放入从属元件SA中。
然而,于从属元件SC接收到清理要求flush_req时,将不会再把数据或指令放入缓冲单元BF2中,即从属元件SC将停止运作,并使外部的主控单元重新发出(retry)处理要求或发出等待状态。清理完成确认信号(flush acknowledge)flush_ack将于缓冲单元BF2中所有处理要求清空后才会发出。由于接收到清理要求flush_req时,将会停止接收处理要求,故系统的效能将会降低。
为了提升系统的效能,本发明亦提供其它实施例。图2为本发明中一清理要求控制电路的一实施例。清理要求控制电路12可设置于桥接器10之内,于接收到清理要求flush_req时,侦测缓冲单元BF2中n个缓冲器(例如BF20~BF22)是否已清空,并记录下n个缓冲器中已清空的缓冲器。若n个缓冲器于接收到清理要求flush_req后皆已清空过一次,则输出一清理完成确认信号flush_ack至主控元件MC。举例而言,清理要求控制电路12可整合于图1的从属元件SC中,亦可设置于主控单元MC、从属元件SC与缓冲单元BF2之间,但不限定于此。
如图2所示,清理要求控制电路12包括侦测单元121、122与123和输出单元124。侦测单元121、122与123于接收到来自主控元件MC的清理要求flush_req时,侦测缓冲单元BF2中相应的缓冲器BF20、BF21与BF22是否已被清空。侦测单元121包括一暂存器RG0与一处理单元125,侦测单元122包括一暂存器RG1与一处理单元126,侦测单元123包括一暂存器RG2与一处理单元127。
举例而言,当缓冲器BF20、BF21与BF22中所储存的所有指令或数据被主控单元MB读出或搬出(move)时,缓冲器BF20、BF21与BF22即被视为清空(idled、empty or flushed),此时缓冲器BF20、BF21与BF22的闲置信号idle_0、idle_1与idle_2会被设置到高电位。当侦测单元121侦测到闲置信号idle_0被设置到高电位时,即可得知缓冲器BF20已经被清空。同样地,当侦测单元122与123侦测到闲置信号idle_1与idle_2被设置到高电位时,即可得知缓冲器BF21与BF22已经被清空。
在大多数的情形下,缓冲器BF20,BF21与BF22不会恰好同时处于闲置的状态,因而本实施例中当暂存器RG0~RG2接收到缓冲器BF20、BF21与BF22的高电位的闲置信号idle_0,idle_1,idle_2时,会暂存所接收到的闲置信号idle_0,idle_1,idle_2并产生一对应的已清空信号pending_ack0,pending_ack1,pending_ack2,以便记录下所对应的缓冲器BF20、BF21与BF22在接收到清理要求flush_req后被清空过。此时,已被清空的缓冲器即被允许重新接收从属元件SC根据来自主控元件MD的处理要求所写入的数据或指令。举例而言,当暂存器RG0接收到具有高电位的闲置信号idle_0时,会暂存闲置信号idle_0,并持续地产生一高电位的已清空信号pending_ack0,以便记录下缓冲器BF20已经被清空。此时,桥接器10会允许从属元件SC根据来自主控元件MD的处理要求,将对应的数据或指令写入已清空的缓冲器BF20。若已清空信号pending_ack0为高电位,处理单元125会输出一高电位的确定已清空信号ack0。同样地,当暂存器RG1接收到具有高电位的闲置信号idle_1时,会暂存闲置信号idle_1并持续地产生一高电位的已清空信号pending_ack1,以便记录下缓冲器BF21已经被清空,并且桥接器10会允许从属元件SC根据来自主控元件MD的处理要求,将对应的数据或指令写入已清空的缓冲器BF21。由于已清空信号pending_ack1为高电位,处理单元126会输出一高电位的确定已清空信号ack1。暂存器RG2的动作与暂存器RG0~RG1相似于此不再累述。
若缓冲器BF20、BF21与BF22于接收到清理要求flush_req后皆已清空过一次,输出单元124输出清理完成确认信号flush_ack至主控元件MC。若缓冲器BF20、BF21与BF22于接收到清理要求flush_req后皆已清空过一次,即闲置信号idle_0、idle_1与idle_2皆曾经被设置到高电位,输出单元124会根据接收的确定已清空信号ack0、ack1与ack2输出清理完成确认信号flush_ack,以表示缓冲单元BF2在接收到清理要求flush_req之前所存储的数据都已经被清空。
由于缓冲器BF20、BF21或BF22被记录已清空之后,桥接器10允许缓冲器BF20、BF21与BF22接收来自从属元件SC的新数据或新指令,所以即使接收到主控元件MC的清理要求flush_req,从属元件SC不必中断接收来自主控元件MD的处理要求,并且继续将数据及/或指令放入(push)缓冲单元BF2内已被清空过的缓冲器中,使得系统的效能将有效提升。
图3为本发明中一清理要求控制电路的另一实施例。如图所示,清理要求控制电路13包括侦测单元121~123以及充当输出单元124的与门AD4。同样地,清理要求控制电路13可整合于图1的从属元件SC中,亦可设置于主控单元MC、从属元件SC与缓冲单元BF2之间。
侦测单元121的与门AD1、D型触发器DF0以及多工器MUX0~MUX1构成图2所示的暂存器RG0,与门AN1与或门OG1构成图2所示的处理单元125。与门AD1具有两个输入端分别耦接缓冲单元BF2中缓冲器BF20的闲置信号idle_0与清理要求flush_req,以及一输出端耦接多工器MUX1。多工器MUX0具有两输入端用以分别耦接至D型触发器DF0的输出端以及数据“0”(即低电位)。多工器MUX1具有两输入端分别耦接至多工器MUX0的输出端以及数据“1”(即高电位),以及一输出端耦接至D型触发器DF0。D型触发器DF0具有输入端耦接至多工器MUX1的输出端,一时脉输入端耦接至一时脉信号CLK1,以及一输出端输出已清空信号pending_ack0至与门AN1与多工器MUX0的一输入端。与门AN1的另一输入端耦接至清理要求flush_req。或门OG1具有两输入端分别耦接至与门AN1的输出端以及缓冲单元BF2中缓冲器BF20的闲置信号idle_0,以及一输出端用以输出确定已清空信号ack0至与门AD4。侦测单元122及123的电路结构与侦测单元122相同,因而不再赘述。
清理要求控制电路13的动作参考图4说明如下。在接收到来自主控元件MC的清理要求flush_req后,当接收到代表缓冲器BF20已经被清空的高电位的闲置信号idle_0时,D型触发器DF0会输出具有高电位的已清空信号pending_ack0。举例而言,当清理要求flush_req与闲置信号idle_0皆为高电位时,与门AD1的输出端会由低电位变成高电位,使得高电位的信号(即数据“1”)会通过多工器MUX1输出至D型触发器DF0,故D型触发器DF0的输出端会由低电位变成高电位(即输出已清空信号pending_ack0),以表示相应的缓冲器被清空。同时,具有高电位的已清空信号pending_ack0亦会通过多工器MUX0耦接至MUX1的一输入端。由于多工器MUX0的控制端连接至高电位的清理要求flush_req,因而此时多工器MUX1的两输入端皆为高电位,所以无论与门AD1的输出为何,D型触发器DF0的输出端(已清空信号pending_ack0)皆会维持在高电位。换言之,清理要求控制电路13已记录缓冲器BF20于接收到清理要求flush_req后已经被清空过。因此,即使闲置信号idle_0由于缓冲器BF20被从属元件SC放入(push)数据或指令而变成低电位,D型触发器DF1输出的已清空信号pending_ack0仍会维持在高电位,使得与门AN1输出一高电位信号至或门OG1,进而使得或门OG1持续输出高电位的确定已清空信号ack0。
同样地,当接收到代表缓冲器BF22已经被清空的高电位的闲置信号idle_2时,D型触发器DF2会输出具有高电位的已清空信号pending_ack2,表示清理要求控制电路13已记录缓冲器BF22于接收到清理要求flush_req后已经被清空过。因此,即使闲置信号idle_2由于缓冲器BF22被从属元件SC放入(push)数据或指令而变成低电位,D型触发器DF2的输出端仍会维持在高电位(已清空信号pending_ack2),使得或门OG3持续输出一高电位的确定已清空信号ack2。
当接收到高电位的闲置信号idle_1时,即表示缓冲器BF21已经被清空。此时对应信号ack0与ack2与闲置信号idle_1皆为高电位,即缓冲单元BF2中的所有的缓冲器BF20~BF22于接收到清理要求flush_req后皆已经被清空过,因此与门AD4的输出端会由低电位变成高电位(输出清理完成确认信号flush_ack至主控元件MC)。在清理完成确认信号flush_ack变为高电位后,已清空信号pending_ack0~pending_ack2在下一个周期被清除。举例来说,若清理完成确认信号flush_ack为高电位,则清理要求flush_req会被置为低电位,使得多工器MUX0输出一低电位的信号(即数据0)至多工器MUX1。由于此时与门AD1与多工器MUX0的输出端均为低电位,多工器MUX1输出低电位的数据0至D型触发器DF0,故D型触发器DF0输出的已清空信号pending_ack0由高电位变成低电位。于本实施例中,由于已清空信号pending_ack0~pending_ack2会在清理要求flush_req变为低电位的下一个周期被清除,因而设置与门AN1来防止清理要求电路13输出错误的清理完成确认信号flush_ack。
图5为本发明中一清理要求控制电路的另一实施例。如图所示,清理要求控制电路14包括反相器INV0~INV2、与门AD1~AD4、多工器MUX0~MUX5、触发器DF0~DF2以及或门OG4~OG6。同样地,清理要求控制电路14可整合于图1的从属元件SC中,亦可设置于主控单元MC、从属元件SC与缓冲单元BF2之间。举例而言,反相器INV0、与门AD1、多工器MUX0~MUX1、触发器DF0以及或门OG4可构成图2所示的侦测单元121;反相器INV1、与门AD2、多工器MUX2~MUX3、触发器DF1以及或门OG5可构成图2所示的侦测单元122;反相器INV2、与门AD3、多工器MUX4~MUX5、触发器DF2以及或门OG6可构成图2所示的侦测单元123。与门AD4可看作图2所示的输出单元124。
与门AD1具有三个输入端分别耦接反相器INV0的输出端、缓冲单元BF2中缓冲器BF20的闲置信号idle_0与清理要求flush_req,以及一输出端耦接多工器MUX1。多工器MUX0具有两输入端用以分别耦接至D型触发器DF0的输出端以及数据“0”(即低电位)。多工器MUX1具有两输入端分别耦接至多工器MUX0的输出端以及数据“1”(即高电位),以及一输出端耦接至D型触发器DF0。D型触发器DF0具有输入端耦接至多工器MUX1的输出端,一时脉输入端耦接至一时脉信号CLK1,以及一输出端耦接至或门OG4与多工器MUX0的一输入端。
与门AD2具有三个输入端分别耦接反相器INV1的输出端、缓冲单元BF2中缓冲器BF21的闲置信号idle_1与清理要求flush_req,以及一输出端耦接多工器MUX3。多工器MUX2具有两输入端用以分别耦接至D型触发器DF1的输出端以及数据“0”(即低电位)。多工器MUX3具有两输入端分别耦接至多工器MUX2的输出端以及数据“1”(即高电位),以及一输出端耦接至D型触发器DF1。D型触发器DF1具有输入端耦接至多工器MUX3的输出端,一时脉输入端耦接至一时脉信号CLK1,以及一输出端耦接至或门OG5与多工器MUX2的一输入端。
与门AD3具有三个输入端分别耦接反相器INV2的输出端、缓冲单元BF2中缓冲器BF22的闲置信号idle_2与清理要求flush_req,以及一输出端耦接多工器MUX5。多工器MUX4具有两输入端用以分别耦接至D型触发器DF2的输出端以及数据“0”(即低电位)。多工器MUX5具有两输入端分别耦接至多工器MUX4的输出端以及数据“1”(即高电位),以及一输出端耦接至D型触发器DF2。D型触发器DF2具有输入端耦接至多工器MUX5的输出端,一时脉输入端耦接至一时脉信号CLK1,以及一输出端耦接至或门OG6与多工器MUX4的一输入端。
或门OG4具有两输入端分别耦接至D型触发器DF0的输出端以及缓冲单元BF2中缓冲器BF20的闲置信号idle_0。或门OG5具有两输入端分别耦接至D型触发器DF1的输出端以及缓冲单元BF2中缓冲器BF21的闲置信号idle_1。或门OG6具有两输入端分别耦接至D型触发器DF2的输出端以及缓冲单元BF2中缓冲器BF22的闲置信号idle_2。与门AD4具有三个输入端分别耦接至或门OG4、OG5与OG6的输入端,以及一输出端耦接至反相器INV0~INV2的输入端。
清理要求控制电路14的动作参考图6说明如下。在接收到来自主控元件MC的清理要求flush_req后,当接收到代表缓冲器BF20已经被清空的高电位的闲置信号idle_0时,D型触发器DF0会输出具有高电位的已清空信号pending_ack0。举例而言,由于清理完成确认信号flush_ack此时仍然为低电位(is notasserted),所以反相器INV0的输出端为高电位。因此,当清理要求flush_req与闲置信号idle_0皆为高电位时,与门AD1的输出端会由低电位变成高电位,使得高电位的信号(即数据“1”)会通过多工器MUX1输出至D型触发器DF0,故D型触发器DF0的输出端会由低电位变成高电位(即输出已清空信号pending_ack0),以表示相应的缓冲器被清空。同时,具有高电位的已清空信号pending_ack0亦会通过多工器MUX0耦接至MUX1的一输入端。
由于多工器MUX1的两输入端皆为高电位,所以无论与门AD1的输出为何,D型触发器DF1的输出端(已清空信号pending_ack0)皆会维持在高电位。换言之,清理要求控制电路14已记录缓冲器BF20于接收到清理要求flush_req后已经被清空过。
因此,即使闲置信号idle_0由于缓冲器BF20被从属元件SC放入(push)数据或指令而变成低电位,D型触发器DF0输出的已清空信号pending_ack0仍会维持在高电位,使得或门OG4持续输出一高电位的确定已清空信号ack0。
同样地,当接收到代表缓冲器BF22已经被清空的高电位的闲置信号idle_2时,D型触发器DF2会输出具有高电位的已清空信号pending_ack2,表示清理要求控制电路14已记录缓冲器BF22于接收到清理要求flush_req后已经被清空过。因此,即使闲置信号idle_2由于缓冲器BF22被从属元件SC放入(push)数据或指令而变成低电位,D型触发器DF2的输出端仍会维持在高电位(已清空信号pending_ack2),使得或门OG6持续输出一高电位的确定已清空信号ack2。
当接收到高电位的闲置信号idle_1时,即表示缓冲器BF21已经被清空。此时对应信号ack0与ack2与闲置信号idle_1皆为高电位,即缓冲单元BF2中的所有的缓冲器BF20~BF22于接收到清理要求flush_req后皆已经被清空过,因此与门AD4的输出端会由低电位变成高电位(输出清理完成确认信号flush_ack至主控元件MC)。在清理完成确认信号flush_ack变为高电位后,已清空信号pending_ack0~pending_ack2被清除。举例来说,若清理完成确认信号flush_ack为高电位,与门AD1与多工器MUX0的输出端均为低电位,使得多工器MUX1输出低电位的数据至D型触发器DF0,故D型触发器DF0输出的已清空信号pending_ack0被清除(由高电位变成低电位)。
事实上,图5中的清理要求控制电路14可不包含反相器INV0~INV2,即与门AD1~AD3仅包含两个输出端,分别接收清理要求flush_req与相应的闲置信号idle0~idle2。然而,在清理完成确认信号flush_ack为高电位且闲置信号与清理要求flush_req均为高电位时,多工器(例如MUX1)与相应的D型触发器(DF0)将依据与门(AD1)的输出信号进行不必要的操作。为防止这种情形发生,可通过主控元件MC设定:若清理完成确认信号flush_ack为高电位,使清理要求信号flush_req保持为低电位。
本实施例中从属元件SC即使接收到主控元件MC的清理要求flush_req,不必中断接收来自主控元件MD的处理要求,并且可以继续将数据及/或指令放入(push)缓冲单元BF2内已被清空过的缓冲器中,因此系统的效能将有效提升。
图7为本发明的电子系统的另一实施例。如图所示,电子系统100”相似于图1中所示的电子系统100,差别在于桥接器10的从属元件SC中增设了图2所示的清理要求控制电路12。举例而言,桥接器10可为一北桥芯片、一南桥芯片或其结合,但不限定于此。
当外围设备20完成一写入处理要求,并发出一中断信号给主控元件MA(例如CPU),通知可于从属元件SA(例如系统存储器)中读取一笔写入数据。在处理从属元件SA中的该笔写入数据前,主控元件MA将会检查外围设备20的状态。换言之,主控元件MA会读取从属元件SD的状态,在此处理要求完成前,桥接器10必须确认该笔写入数据已经放入从属元件SA中。从属元件SD读取数据之前或将读取的数据回传给主控元件MA之前,桥接器10将会产生一清理(flush)要求flush_req给从属元件SC,并等待从属元件SC回复一清理完成确认信号(flushacknowledge)flush_ack表示该笔写入数据已经放入从属元件SA中。
当主控元件MC发出清理要求flush_req时,桥接器10中的清理要求控制电路12会于接收到清理要求flush_req时,侦测缓冲单元BF2中n个缓冲器(例如BF00~BF02)是否已清空,并记录下n个缓冲器中已清空的缓冲器,当n个缓冲器于接收到清理要求flush_req后皆已清空过一次时,则输出清理完成确认信号flush_ack至主控元件MC,表示在接收到清理要求flush_req前所写入的数据或指令已经被读取。因此,从属元件SC不会因为主控元件MC发出的清理要求flush_req,中断接收来自外围设备20中主控元件MD的处理要求,可以继续将数据及/或指令放入(push)缓冲单元BF2中,使得系统的效能将有效提升。在某些实施例中,清理要求控制电路12亦可以设置于SB与SD中,但不限定于此。
以上所述仅为本发明较佳实施例,然其并非用以限定本发明的范围,任何熟悉本项技术的人员,在不脱离本发明的精神和范围内,可在此基础上做进一步的改进和变化,因此本发明的保护范围当以本申请的权利要求书所界定的范围为准。
附图中符号的简单说明如下:
10:桥接器
12~14:清理要求控制电路
20:外围设备
121~123:侦测单元
124:输出单元
125~127:处理单元
100、100”:电子系统
RG0~RG2:暂存器
OG1~OG6:或门
AD1~AD4,AN1~AN3:与门
MA、MB、MC、MD:主控元件
SA、SB、SC、SD:从属元件
BF1、BF2:缓冲单元
BF20~BF22:缓冲器
MUX0~MUX5:多工器
INV0、INV2:反相器
DF0~DF2:D型触发器
flush_req:清理要求
flush_ack:清理完成确认信号
idle0~idle2:闲置信号
pending_ack0~pending_ack2:已清空信号
ack0~ack2:确定已清空信号
CLK1:时脉信号
Claims (11)
1.一种桥接器,其特征在于,包括:
一第一主控元件,用以输出一清理要求;
一缓冲单元,包括多个缓冲器;以及
一清理要求控制电路,包括对应地耦接至上述多个缓冲器的多个侦测单元和一输出单元,上述侦测单元于接收到上述第一主控元件输出的清理要求时,侦测上述多个缓冲器中是否有已被清空的,并记录下上述多个缓冲器中已清空的缓冲器,若上述多个缓冲器于接收到上述清理要求后皆已被清空过,则上述输出单元输出一清理完成确认信号至上述第一主控元件,以告知上述第一主控元件上述缓冲单元被清空,
其中,上述每一缓冲器在被清空后至输出所述清理完成确认信号的期间,能够接收来自第一从属元件的数据或指令。
2.根据权利要求1所述的桥接器,其特征在于,于上述缓冲器的任一个已清空时,所对应的侦测单元输出一确定已清空信号;以及
上述输出单元用以当上述多个侦测单元皆输出上述确定已清空信号时,产生上述清理完成确认信号。
3.根据权利要求2所述的桥接器,其特征在于,上述多个侦测单元还包括:
一暂存器,根据上述清理要求与相对应的缓冲器发出的一闲置信号产生一已清空信号,以表示所对应的缓冲器在接收到上述清理要求之后被清空过;以及
一处理单元,依据上述已清空信号与上述闲置信号,产生上述确定已清空信号。
4.根据权利要求3所述的桥接器,其特征在于,上述处理单元包括:
一与门,具有两个输入端分别接收上述已清空信号与上述清理要求;以及
一或门,依据上述与门输出的信号与相对应的缓冲器发出的闲置信号输出上述确定已清空信号。
5.根据权利要求3所述的桥接器,其特征在于,上述多个侦测单元于上述清理要求控制电路输出上述清理完成确认信号后,清除所有上述已清空信号。
6.根据权利要求1所述的桥接器,其特征在于,上述多个侦测单元还依据上述清理要求、一闲置信号以及上述清理完成确认信号产生一已清空信号。
7.一种电子系统的数据清理方法,其特征在于,包括:
当接收到来自一桥接器中一第一主控元件的一清理要求时,侦测一缓冲单元中多个缓冲器中是否有已被清空的,并记录下上述多个缓冲器中已被清空的缓冲器;以及
当上述多个缓冲器于接收到上述清理要求之后皆已被清空过一次时,输出一清理完成确认信号至上述第一主控元件;
其中,上述每一缓冲器在被清空后至输出所述清理完成确认信号的期间,能够接收来自第一从属元件的数据或指令。
8.根据权利要求7所述的电子系统的数据清除方法,其特征在于,更包括于上述缓冲器的任一个已清空时,输出一确定已清空信号,以便记录下上述已清空的缓冲器。
9.根据权利要求8所述的电子系统的数据清除方法,其特征在于,更包括:
根据上述清理要求与相对应的缓冲器发出的一闲置信号产生一已清空信号,以表示所对应的缓冲器在接收到上述清理要求之后被清空过;以及
依据上述已清空信号与上述闲置信号,产生上述确定已清空信号。
10.根据权利要求9所述的电子系统的数据清除方法,其特征在于,依据相应的上述闲置信号侦测相应的缓冲器是否已被清空。
11.根据权利要求9所述的电子系统的数据清除方法,其特征在于,更包括于输出上述清理完成确认信号后,清除所有上述已清空信号。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2007101437025A CN100514318C (zh) | 2007-07-30 | 2007-07-30 | 桥接器以及电子系统的数据清理方法 |
US12/181,616 US7822906B2 (en) | 2007-07-30 | 2008-07-29 | Data flush methods |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2007101437025A CN100514318C (zh) | 2007-07-30 | 2007-07-30 | 桥接器以及电子系统的数据清理方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101079019A CN101079019A (zh) | 2007-11-28 |
CN100514318C true CN100514318C (zh) | 2009-07-15 |
Family
ID=38906500
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2007101437025A Active CN100514318C (zh) | 2007-07-30 | 2007-07-30 | 桥接器以及电子系统的数据清理方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN100514318C (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107970030A (zh) * | 2017-12-22 | 2018-05-01 | 广州动医圈网络科技有限公司 | 一种卫生间用人体安全智能评估系统 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5535341A (en) * | 1994-02-24 | 1996-07-09 | Intel Corporation | Apparatus and method for determining the status of data buffers in a bridge between two buses during a flush operation |
US5983304A (en) * | 1995-12-05 | 1999-11-09 | Samsung Electronics Co., Ltd. | Buffer flush controller of a peripheral component interconnect-peripheral component interconnect bridge |
US5987539A (en) * | 1996-06-05 | 1999-11-16 | Compaq Computer Corporation | Method and apparatus for flushing a bridge device read buffer |
US6226704B1 (en) * | 1998-12-01 | 2001-05-01 | Silicon Integrated Systems Corporation | Method and apparatus for performing bus transactions orderly and concurrently in a bus bridge |
US6385686B1 (en) * | 1999-07-13 | 2002-05-07 | Micron Technology, Inc. | Apparatus for supporting multiple delayed read transactions between computer buses |
CN1365060A (zh) * | 2001-01-09 | 2002-08-21 | 深圳市中兴集成电路设计有限责任公司 | 多总线系统中提高桥接效率的方法与多端口pci桥结构 |
US6513090B1 (en) * | 1999-03-31 | 2003-01-28 | Micron Technology, Inc. | Bidirectional data transfer during buffer flushing operations |
-
2007
- 2007-07-30 CN CNB2007101437025A patent/CN100514318C/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5535341A (en) * | 1994-02-24 | 1996-07-09 | Intel Corporation | Apparatus and method for determining the status of data buffers in a bridge between two buses during a flush operation |
US5983304A (en) * | 1995-12-05 | 1999-11-09 | Samsung Electronics Co., Ltd. | Buffer flush controller of a peripheral component interconnect-peripheral component interconnect bridge |
US5987539A (en) * | 1996-06-05 | 1999-11-16 | Compaq Computer Corporation | Method and apparatus for flushing a bridge device read buffer |
US6226704B1 (en) * | 1998-12-01 | 2001-05-01 | Silicon Integrated Systems Corporation | Method and apparatus for performing bus transactions orderly and concurrently in a bus bridge |
US6513090B1 (en) * | 1999-03-31 | 2003-01-28 | Micron Technology, Inc. | Bidirectional data transfer during buffer flushing operations |
US6385686B1 (en) * | 1999-07-13 | 2002-05-07 | Micron Technology, Inc. | Apparatus for supporting multiple delayed read transactions between computer buses |
CN1365060A (zh) * | 2001-01-09 | 2002-08-21 | 深圳市中兴集成电路设计有限责任公司 | 多总线系统中提高桥接效率的方法与多端口pci桥结构 |
Also Published As
Publication number | Publication date |
---|---|
CN101079019A (zh) | 2007-11-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7272676B2 (en) | Data transmission controller that restarts data transmission when reconstruction is completed | |
US4719621A (en) | Packet fastbus | |
EP0451516B1 (en) | Improved SCSI device in a small computer system | |
US20080133787A1 (en) | Method and apparatus for host messaging unit for peripheral component interconnect busmaster devices | |
US6134625A (en) | Method and apparatus for providing arbitration between multiple data streams | |
CN105556497A (zh) | 查明闪存中的命令完成 | |
KR100309189B1 (ko) | 중앙처리장치의사용최소화방법 | |
US7337382B2 (en) | Data transfer control device, electronic instrument, and data transfer control method | |
CN103914424A (zh) | 基于gpio接口的lpc外设扩展方法及装置 | |
CN103106164A (zh) | 一种高效dma控制器 | |
CN100514318C (zh) | 桥接器以及电子系统的数据清理方法 | |
CN103250137A (zh) | 中断要因管理装置及中断处理系统 | |
JP3614161B2 (ja) | データ転送制御装置、電子機器及びデータ転送制御方法 | |
US20080082708A1 (en) | Token hold off for chipset communication | |
US7757016B2 (en) | Data transfer device, semiconductor integrated circuit, and processing status notification method | |
CN110659236B (zh) | 可自主回复写应答的axi总线传输装置 | |
CN113177012A (zh) | Pcie-srio数据交互处理方法 | |
US6665752B1 (en) | Interrupt driven interface coupling a programmable media access controller and a process controller | |
KR100591243B1 (ko) | 온-칩 직렬 주변장치 버스 시스템 및 그 운용방법 | |
US6665750B1 (en) | Input/output device configured for minimizing I/O read operations by copying values to system memory | |
CN116601616A (zh) | 一种数据处理装置、方法及相关设备 | |
CN100470531C (zh) | 桥接器及电子系统的数据清除方法 | |
TW200905483A (en) | Bridges and the related electronic systems and methods for flushing data | |
CN113821470B (zh) | 总线设备、嵌入式系统和片上系统 | |
CN101727426B (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 |