桥接器及电子系统的数据清除方法技术方案

技术编号:2918616 阅读:195 留言:0更新日期:2012-04-11 18:40
本发明专利技术提供一种桥接器及电子系统的数据清除方法,特别涉及一种桥接器,包括:一第一主控元件,用以输出一清理要求信号;一缓冲单元,用以暂存数据或指令;以及一清理要求控制电路,用以在接收到上述清理要求信号时,记录所述缓冲单元的写入缓冲指针,并在上述缓冲单元的读取缓冲指针与所记录的写入缓冲指针相同时,输出一清理完成确认信号至上述第一主控元件。本发明专利技术的从属元件不会因为主控元件发出的清理要求信号中断接收处理要求,而是可以继续将数据及/或指令放入缓冲单元中,使得系统的效能有效提升。

【技术实现步骤摘要】

本专利技术有关于一种数据清除方法,特别涉及一种可以避免数据不一致又不会使效能降低的数据清除方法。
技术介绍
许多计算机系统会使用至少两个总线,第一条通常称为内存总线(memory bus)用于中央处理器(central processor)与主存储器(main memory)之间的通讯,且第二条通常为外围设备总线(peripheral bus)用于外围设备(例如图形系统、磁盘驱动器或局域网络)之间的通讯。为了使数据能够于这两个总线之间传输,通常会使用一个桥接器(bridge)将这两个总线连接在一起。桥接器的主要工作在于使得数据在不降低任一个总线的效能的情况下,从一个总线被传送至另一个总线。为了达到此功能,桥接器必须具有从属元件的能力(slave capacity)与主控元件的能力(master capacity),使得它可以作为一从属元件接收来自一总线的要求,之后再作为一主控元件于另一个总线上执行适当的总线操作。因此,桥接器必须有能力提供由一总线至另一总线的存取动作。一般而言,桥接器会将来自系统总线或外围总线上即将被传送的数据暂存(或称为贴入posted)于一数据缓冲器中。暂存数据于桥接器中可通过封包化数据与预取数据来提高系统的效能。然而,当发生同步处理事件(synchronization event)时,若数据还暂存于桥接器中就会产生数据不一致的问题。
技术实现思路
本专利技术的目的在于提供一种在接收到数据清理要求之后仍然可以接收处理请求的电子系统的数据清理(flush)方法,以提高电子系统的效能。本专利技术提供一种本专利技术提供一种桥接器,包括一第一主控元件,用以输出一清理要求信号;一缓冲单元,用以暂存数据或指令;以及一清理要求控制电路,用以在接收到上述清理要求信号时,记录所述缓冲单元的写入缓冲指针,并在上述缓冲单元的读取缓冲指针与所记录的写入缓冲指针相同时,输出一清理完成确认信号至上述第一主控元件。本专利技术提供一种电子系统的数据清理(flush)方法,包括当接收到来自一第一主控元件的一清理要求信号时,记录一缓冲单元的一写入缓冲指针;比较上述缓冲单元的一读取缓冲指针与所记录的上述写入缓冲指针;以及若上述读取缓冲指针与所记录的上述写入缓冲指针相同,输出一清理完成确认信号至上述第一主控元件。本专利技术的从属元件不会因为主控元件发出的清理要求信号中断接收处理要求,而是可以继续将数据及/或指令放入缓冲单元中,使得系统的效能有效提升。附图说明图1为依据本专利技术一实施例的电子系统的示意图。图2为本专利技术一实施例的清理要求控制电路的框图。图3为本专利技术另一实施例的清理要求控制电路的框图。图4为图3所示的清理要求控制电路的电路图。图5为图4中清理要求控制电路的信号时序图。图6为图3所示的清理要求控制电路的电路图。图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可包含一个或多个先进先出缓冲器(First In First Output;FIFO)。当主控元件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(例如系统内存)中读取一笔写入数据。主控元件MA在处理从属元件SA中的该笔写入数据前,会向从属原件SD发出一读取请求,以读取外围设备20的状态数据。主控元件MA发送给从属元件SD的读取请求是一个同步事件,因而桥接器10此时会终止接收主控元件MD发出的处理请求,并清除缓冲单元BF2中的数据以保证数据的一致性。换言之,主控元件MA会先读取从属元件SD的状态,在此处理要求完成前,桥接器10必须确认该笔写入数据已经放入从属元件SA中。从属元件SD读取数据之前或将外围设备20的状态数据回传给主控元件MA之前,桥接器10将会产生一清理(flush)要求信号flush_req给从属元件SC,并等待从属元件SC回复一清理完成确认信号(flush acknowledge)flush_ack表示该笔写入数据已经放入从属元件SA中。然而,从属元件SC接收到清理要求信号flush_req后,将不会再把数据或指令放入缓冲单元BF2中,即从属元件SC将停止运作,并使外部的主控单元重新发出(retry)处理要求或发出等待状态。清理完成确认信号flush_ack将于缓冲单元BF2中所有处理要求清空后才会发出。由于接收到清理要求信号flush_req时,将会停止接收处理要求,故系统的效能将会降低。为了提升系统的效能,本专利技术亦提供其它实施例。图2为本专利技术中一清理要求控制电路的一实施例。清理要求控制电路12可设置于桥接器10之内,用以接收一清理要求信号flush_req,并于一适当时间后,输出产生一清理完成确认信号flush_ack表示缓冲单元BF2中所有处理要求已清空。举例而言,清理要求控制电路12整合于图1的从属元件SC中,亦可设置于主控单元MC、从属元件SC与缓冲单元BF2之间,但不限定于此。举例而言,每个缓冲单元BF1与BF2可包含一个或多个先进先出缓冲器(First In First Output;FIFO)。如图2所示,清理要求控制电路12包括一比较单元121、一暂存器122以及一输出单元123。举例而言,当接收到来自主控元件MC的清理要求信号f本文档来自技高网...

【技术保护点】
一种桥接器,其特征在于,所述桥接器包括:一第一主控元件,用以输出一清理要求信号;一缓冲单元,用以暂存数据或指令;以及一清理要求控制电路,用以在接收到上述清理要求信号时,记录所述缓冲单元的写入缓冲指针,并在上述缓冲单元 的读取缓冲指针与所记录的写入缓冲指针相同时,输出一清理完成确认信号至上述第一主控元件。

【技术特征摘要】

【专利技术属性】
技术研发人员:范靖徐晓画
申请(专利权)人:威盛电子股份有限公司
类型:发明
国别省市:71[中国|台湾]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1