多总线管线化数据处理系统及提升其总线效能的方法技术方案

技术编号:2880677 阅读:172 留言:0更新日期:2012-04-11 18:40
一种多总线管线化数据处理系统,包含一条通路连结第一总线桥及第二总线桥,第一总线桥连结输出入总线及处理器总线,第二总线桥连结系统存储器及处理器总线。该通路允许输出入总线上的输出入装置存取系统存储器时,不须经由处理器总线,以此增进总线使用效率,并增进系统效能。(*该技术在2021年保护过期,可自由使用*)

【技术实现步骤摘要】

本专利技术涉及一种可改进总线(bus)效能的装置及方法。特别是,一种可缩短输出入装置占用管线总线(pipeline bus)上之交易处理时间的装置及方法。在管线总线的系统中,待处理的每笔交易(transaction)通常会包含若干个执行层面(phase),例如裁定层(arbitration phase)、请求层(request phase)、窥探层(snooping phase)、响应层(responsephase)及数据层(data phase)等。各层面间可能会有相依性(dependency)执行下一层前须等待目前的层面执行完毕,或者,下一笔交易某个层面的执行须等到目前交易的相同层面执行完毕才可开始被执行。每个层面会有至少一个代理者(agent)负责,每一层所需要的时间长短决定于该负责的代理者执行完毕的时间。为了更有效率的使用总线并加速每笔交易的完成,系统除了可以尽可能的减低每层执行所需的时间,也可缩短下一笔交易中相同的层面等待执行的时间,如此一来系统的效能便可被大大的提升。一个系统通常有多个总线,每个总线会和若干个装置(device)相连,装置间常会有数据的往来,并且往来两端不一定要在同一条总线上。当某一个装置有数据需求时,不论目标装置(destination device)是否在同一条总线上,数据需求端会在其相连的总线上启始一笔交易,处理该笔交易的过程,会使该总线处于使用中(occupied)的状态。有些装置会有高速缓存(cache)用来储存其它装置存储器中的内容,如此,便可让该装置较快取得其它装置存储器的内容。然而,系统必须保持数据的一致性(data coherency),任何存取目标装置的动作,必须被其它高速缓存中包含目标装置数据的装置知道,因为目标装置的数据可能会在其它高速缓存中被改变。存取修改过的高速缓存会引起内部的写回动作(implicit write back)高速缓存被改变的装置必须提供被更新的数据以维持数据的一致性。一个读或写的交易会包含数据层来进行数据传输的动作,数据层所需时间的长短和传输的数据量有关。一条总线上通常会有多个代理者,每个代理者都需要用总线来传输数据,由于总线是共享的,代理者无法同时进行数据传输的动作,因此要开始执行下一笔交易的数据层须等到目前交易的数据层执行完毕。一条高度管线化的总线会有多个代理者共享,总线上数据传输的数量也会很多,因此,总线的频宽(bandwidth)在影响系统效能上扮演了一个很重要的角色。总线的频宽会受传输数据速度(operatingfrequency)及数据宽度(data width)等因素所影响,然而这些因素无法无限制的改进,因此,提高总线效率是增进系统效能的最好方法。增加总线使用率、管线化交易、减少总线上的数据传输均是提高总线效率的方法。在已管线化的总线中,减少总线上的数据传输便是唯一的方法,然而减少系统须传输的数据量是不可能的,因此,可以减少总线上数据传输的前提便是存在另一个传输数据的管道。附图说明图1是一个传统的系统架构,包含一个处理器101、一个处理器总线102、一个输出入总线103及一个系统存储器104;一个输出入/处理器总线桥(I/O and processor bus bridge)105,简称总线桥一,连接了输出入总线103及处理器的总线102,一个系统存储器/处理器总线桥(system memory and processor bus bridge)106,简称总线桥二,提供了一个系统存储器104和处理器总线102间数据传输的管道;处理器101通常包含一个高速缓存。在很多应用中,输出入总线103上的装置会经常存取系统存储器104,处理器101必须知道任何输出入总线103上的装置对系统存储器104的需求,以便维持数据的一致性。当输出入总线103上的装置存取系统存储器104中的数据,最新的数据可能存在系统存储器104中或处理器的高速缓存中,因此,必须在处理器总线102上启始一项需求,使处理器101窥探(snoop)相对应的高速缓存。总线桥一105负责传递输出入总线103的需求,并发出交易到处理器总线102上。在看到输出入总线103的需求后,处理器101会窥探输出入总线103所需数据的高速缓存是否被改变,然后,处理器101会将窥探的结果通知总线桥一105及总线桥二106。根据窥探的结果,总线桥二106才在处理器总线102及系统存储器104间传输数据。总线桥一105也会在处理器总线102及输出入总线103间传输数据。输出入总线103的需求可能是读取数据或写入数据的需求。读取数据的流程如图2所示,包含以下几个步骤1.输出入总线103上的一个装置发出数据读取需求。2.经由总线桥一105发出数据读取需求至处理器汇流排102。3.处理器101必须窥探被需求数据所在的高速缓存是否被修改。4.如果该高速缓存被修改,则会引发内部写回的动作,处理器101会驱动写回的数据到处理器总线102上;如果该高速缓存没有被修改,则总线桥二106会将数据由系统存储器104送至处理器总线102。5.总线桥一105由处理器总线102取得数据并将其送至输出入总线103。6.如果被需求数据所在的系统高速缓存有被修改,则汇流排桥二106须将处理器101所提供的新数据送回系统存储器104。图3是一个由输出入装置发出数据读取需求,再由处理器101发出数据读取需求的例子,本图系依据P6外部总线规格(P6 external busspecification)来表示。输出入装置发出的数据读取需求在第三个脉冲(clock)开始执行(BPRI#及ADS#皆为高电位),处理器101发出的数据读取需求在第六个脉冲开始执行(BPRI#为高电位,ADS#为低电位)。处理器101窥探第一个需求的结果(在第七个脉冲HITM#为低电位),显示第一个需求并没有读取到被修改的高速缓存数据,因此,总线桥二106会响应第一个需求,开始在第十二个脉冲传输数据(DRDY#为高电位)。在第十六个脉冲会响应第二个需求并开始传输数据。图4和图3相似,除了输出入装置发出的需求读取到被修改的数据(在第七个脉冲显示窥探的结果HITM#为高电位),一个内部的写回动作在第十一个脉冲被执行。在第十六个脉冲会响应处理器101的需求并开始传输数据。写入数据的流程如图5所示,包含以下几个步骤1.输出入总线103上的一个装置发出写入数据的需求。2.经由总线桥一105发出数据写入需求至处理器总线102。3.总线桥一105驱动输出入总线103送来的数据至处理器总线102。4.总线桥二106收到该数据并等待处理器101的窥探结果。5.如果该需求数据所在的系统高速缓存有被修改,则处理器101会将被修改的数据写回,总线桥二106会把要写回的数据和先前送来的数据结合,再写回系统存储器104。如果该需求数据所在的系统高速缓存没有被修改,则总线桥二106直接将收到的数据写到系统存储器104。图6是一个由输出入装置发出数据写入需求,再由处理器101发出数据写入需求的例子。输出入装置发出的数据写入需求在第三个脉冲(clock)开始执行(BPRI#及ADS#皆为高电位),处理器101发出的数据写入需求在第六个脉冲开始执行(BPRI#本文档来自技高网...

【技术保护点】
一种多总线管线化数据处理系统,该系统包含有:一处理器总线;至少一个处理器和该处理器总线相连;一输出入总线;一个总线桥一连结该处理器总线及该输出入总线;一个系统存储器;一个总线桥二连结该处理器总线及该系统存储器;其特征在于:还有一条通路连结该总线桥一及该总线桥二。

【技术特征摘要】

【专利技术属性】
技术研发人员:张志宇陈灿辉
申请(专利权)人:矽统科技股份有限公司
类型:发明
国别省市:71[中国|台湾]

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

1