首页> 中国专利> 用于总线系统的预取装置、预取系统及预取数据方法

用于总线系统的预取装置、预取系统及预取数据方法

摘要

本发明提供一种用于总线系统的预取装置、预取系统及预取数据方法,特别涉及一种用于总线系统的预取数据方法。首先,一预取地址产生器依据一主控单元传送的一地址信号,产生一预取地址信号,并将该预取地址信号传送至一第一选择电路。当该主控单元传送的信号指示目前传输与上一笔传输的地址信号相关,且目前传输与上一笔传输的控制信号相同时,或当该主控单元传送的信号指示目前传输与上一笔传输的地址信号与控制信号皆无关,且符合一命中条件时,一预取控制器控制该第一选择电路将该预取地址信号传送至一受控单元,并控制一第二选择电路,将来自该受控单元的一预取数据传送至该主控单元。本发明不仅增快了读取的速度,也可提升总线的效能。

著录项

  • 公开/公告号CN101464845A

    专利类型发明专利

  • 公开/公告日2009-06-24

    原文格式PDF

  • 申请/专利权人 威盛电子股份有限公司;

    申请/专利号CN200910001521.8

  • 发明设计人 许海辉;

    申请日2009-01-09

  • 分类号G06F13/36(20060101);

  • 代理机构北京林达刘知识产权代理事务所;

  • 代理人刘新宇

  • 地址 中国台湾台北县

  • 入库时间 2023-12-17 22:14:42

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2012-09-05

    授权

    授权

  • 2009-08-19

    实质审查的生效

    实质审查的生效

  • 2009-06-24

    公开

    公开

说明书

技术领域

本发明有关于预取数据,特别有关于总线系统的预取数据装置与方法。

背景技术

先进高性能总线(Advanced High-performance Bus,AHB)是先进微控制器总线架构(Advanced Microcontroller BusArchitecture,AMBA)的一种,其特性包括:支持爆发式传送(Burst transfers)、支持分割传送(Split transactions)、不使用三态门的实现方式(Non-tristate implementation)、支持多个主控单元(Master)、更宽的数据传输线结构以及单一周期主控单元交移。这些特性使先进高性能总线可以满足高性能、高时脉频率系统的需求。先进高性能总线系统主要是由主控单元(Master)、受控单元(Slave)、基础架构(Infrastructure)三部分组成。整个先进高性能总线上的传输(Transfer)都是由主控单元发出,由受控单元负责回应。

图1为已知先进高性能总线系统的信号时序图。如图1所示,M_HTRANS为主控单元传输的控制信号,指示主控单元传输信号的类型,包括:闲置(Idle)、忙碌(Busy)、连续(Sequential)及非连续(Non-sequential)四种。M_HADDR为主控单元传送的地址信号,M_HRDATA为主控单元接收的读取数据,M_HWRITE为主控单元发送的控制信号指示读取或写入,S_HADDR为受控单元收到的地址信号,S_HRDATA为受控单元回应的读取数据。在时脉周期T1时,主控单元发出的M_HTRANS信号指示目前传输类型是非连续的(Non-sequential),即指示目前传输的地址信号和控制信号与上一笔传输无关。此外,主控单元发出的地址信号M_HADDR及读写信号M_HWRITE指示读取地址A0的数据。接着,在时脉周期T2时,主控单元再发送信号指示读取地址A1的数据。同时,受控单元在脉周期T2时收到地址信号A0,并在时脉周期T4时回应所读取地址为A0的数据D0给主控单元,而主控单元在时脉周期T5时收到数据D0。然后在时脉周期T6时,受控单元收到地址信号A1,并在时脉周期T7时回应数据D1给主控单元,而主控单元在T8时收到数据D1。在已知的先进高性能总线系统中,主控单元在时脉周期T1时发出读取地址A0的数据的信号,而在时脉周期T5时主控单元收到数据D0,其间相隔了4个时脉周期,且主控单元在时脉周期T2时所发出的读取地址为A1的数据的信号,更是隔了6个时脉周期,主控单元才在时脉周期T8时收到数据D1。由此可知,已知的先进高性能总线系统在数据读取速度上仍有进步空间。

发明内容

有鉴于此,本发明提供一种用于总线系统中,预取数据的装置与方法,以提高总线系统读取数据的速度,进而提升总线系统的效能。

本发明提供一种用于总线系统的预取装置,包括:一预取控制器、一预取地址产生器、一第一选择电路、一第二选择电路、一第一暂存器组及一第二暂存器组。其中该第一选择电路连接至一主控单元、该预取地址产生器及该第一暂存器组,用于接收来自该主控单元及该预取地址产生器的信号,并在该预取控制器的控制之下,从输入信号中选择其中之一输出至该第一暂存器组。该第二选择电路连接至一受控单元、该第二暂存器组及该主控单元,用于接收来自该受控单元及该第二暂存器组的信号,并在该预取控制器的控制之下,从输入信号中选择其中之一输出至该主控单元。该预取地址产生器依据该主控单元所传送的一地址信号,产生一预取地址信号,并将该预取地址信号传送到该第一选择电路,其中该预取地址信号可为多个预取地址信号。在本实施例中,该预取控制器还包括一地址储存空间,用于储存一特殊地址,其中该特殊地址可为单个地址或地址范围,且该特殊地址可为多个特殊地址。当该主控单元发送的该地址信号符合该特殊地址时,该预取控制器控制该预取地址产生器不产生预取地址信号。

当该主控单元传送的信号指示目前传输的地址信号与上一笔传输的地址信号相关,且目前传输的控制信号与上一笔传输的控制信号相同时,或当该主控单元传送的信号指示目前传输的地址信号及控制信号皆与上一笔传输的地址信号及控制信号无关,且符合一命中条件时,该预取控制器控制该第一选择电路,将来自该预取地址产生器产生的该预取地址信号传送至该第一暂存器组中暂存,再传送至该受控单元,并且该预取控制器控制该第二选择电路将来自该第二暂存器组的该受控单元回应的一预取数据传送至该主控单元。其中该命中条件为该受控单元收到的S_HADDR、S_HWRITE及S_HSIZE信号皆和该主控单元传输的M_HADDR、M_HWRITE及M_HSIZE信号相同,其中M_HADDR为主控单元传送的地址信号,M_HWRITE为主控单元发送的控制信号指示读取或写入,M_HSIZE为主控单元发送的控制信号指示传送数据的大小。当传送至该主控单元的该预取数据可对应于该主控单元传送的该地址信号时,该预取控制器会发送一执行传输信号给该主控单元,使得该主控单元接收目前传输的该预取数据。反之,当传送至该主控单元的该预取数据无法对应于该主控单元传输的该地址信号时,该预取控制器发送一延迟传输信号给该主控单元,使得该主控单元忽略目前传输的该预取数据。于本实施例中,该预取装置为先进高性能总线桥接器。

本发明亦提供一种用于总线系统的预取系统,该预取系统包括:一完全连结系统、n个主控单元及n个第一装置,其中该完全连结系统还包括:n个第一路由器、n个仲裁器及n个预取装置。该n个第一路由器的每一个第一路由器分别连接至该n个主控单元的一个主控单元,且该n个第一路由器中的每一个第一路由器皆与该n个仲裁器中的每一个仲裁器相连接,而该n个预取装置的每一个预取装置则分别连接至该n个仲裁器的一个仲裁器,及该n个第一装置的一个第一装置。其中该n个仲裁器用于仲裁所接收信号的传送顺序,该n个第一路由器用于依据所接收到信号中的地址信息,将来自该n个主控单元的信号传送至对应的该n个仲裁器,或将来自该n个仲裁器的信号传送至对应的该n个主控单元。该n个预取装置中的每一个预取装置,还包括:一预取控制器、一预取地址产生器、一第一选择电路、一第二选择电路、一第一暂存器组及一第二暂存器组。其中该第一选择电路连接至对应的该n个仲裁器、该预取地址产生器及该第一暂存器组,用于接收来自该预取地址产生器的信号及来自对应的该主控单元,通过该n个第一路由器及该n个仲裁器传送的信号,并在该预取控制器的控制之下,从输入信号中选择其中之一输出至该第一暂存器组。该第二选择电路连接至对应的该n个第一装置、该第二暂存器组及对应的该n个仲裁器,用于接收来自对应的该n个第一装置及该第二暂存器组的信号,并在该预取控制器的控制之下,从输入信号中选择其中之一输出至对应的该n个仲裁器。该预取地址产生器依据来自对应的该n个主控单元,通过该n个第一路由器及该n个仲裁器所传送的一地址信号,产生一预取地址信号,并将该预取地址信号传送到该第一选择电路,其中该预取地址信号可为多个预取地址信号。于本实施例中,该预取控制器还包括一地址储存空间,用于储存一特殊地址,其中该特殊地址可为单个地址或地址范围,且该特殊地址可为多个特殊地址,分布在一个或多个该n个第一装置对应的地址。当对应的该n个主控单元发送的该地址信号符合该特殊地址时,该预取控制器控制该预取地址产生器不产生预取地址信号。

当来自对应的该n个主控单元传送的信号指示目前传输的地址信号与上一笔传输的地址信号相关,且目前传输的控制信号与上一笔传输的控制信号相同时,或当来自对应的该n个主控单元传送的信号指示目前传输的地址信号及控制信号皆与上一笔传输的地址信号及控制信号无关,且符合一命中条件时,该预取控制器控制该第一选择电路,将来自该预取地址产生器产生的该预取地址信号传送至该第一暂存器组中暂存,再传送至对应的该n个第一装置,并且该预取控制器控制该第二选择电路将来自该第二暂存器组的对应的该n个第一装置所回应的一预取数据,通过该n个仲裁器及该n个第一路由器传送至对应的该n个主控单元。其中该命中条件为对应的该n个第一装置接收的S_HADDR、S_HWRITE及S_HSIZE信号皆和对应的该n个主控单元传输的M_HADDR、M_HWRITE及M_HSIZE信号相同,其中M_HADDR为主控单元传送的地址信号,M_HWRITE为主控单元发送的控制信号指示读取或写入,M_HSIZE为主控单元发送的控制信号指示传送数据的大小。当传送至对应的该n个主控单元的该预取数据符合对应的该n个主控单元传送的该地址信号时,该预取控制器会发送一执行传输信号给对应的该n个主控单元,使得对应的该n个主控单元接收目前传输的该预取数据。反之,当传送至对应的该n个主控单元的该预取数据不符合对应的该n个主控单元传输的该地址信号时,该预取控制器发送一延迟传输信号给对应的该n个主控单元,使得对应的该n个主控单元忽略目前传输的该预取数据。

在此预取系统中,该n个第一装置可为n个受控单元或n个第二路由器。当该n个第一装置为n个第二路由器时,每个第二路由器皆连接至m个受控单元,其中该n个第二路由器用于依据所接收到信号中的地址信息,将来自该n个预取装置的信号传送至对应的该n×m个受控单元,或将来自该n×m个受控单元的信号传送至对应的该n个预取装置,如此本预取系统则可支持n×m个受控单元。

本发明提供一种用于总线系统的预取数据方法。首先,一预取地址产生器依据一主控单元所传送的一地址信号,产生一预取地址信号,并将该预取地址信号传送至一第一选择电路。接着,该预取控制器会根据来自该主控单元的信号,判断目前传输的地址信号与上一笔传输的地址信号是否相关,且目前传输的控制信号与上一笔传输的控制信号是否相同。当该主控单元传送的信号指示传输类型为连续(Sequential)时,即目前传输的地址信号与上一笔传输的地址信号相关,且目前传输的控制信号与上一笔传输的控制信号相同时,该预取控制器控制该第一选择电路,将来自该预取地址产生器所产生的该预取地址信号传送至一受控单元。然后该预取控制器控制一第二选择电路,将来自该受控单元的一预取数据传送至该主控单元。此时,该预取控制器会判断该预取数据是否对应于来自该主控单元的地址信号。当传送至该主控单元的该预取数据可对应于该主控单元传送的地址信号时,该预取控制器会发送一执行传输信号给该主控单元,使得该主控单元接收目前传输的预取数据。反之,当传送至该主控单元的预取数据无法对应于该主控单元传输的地址信号时,该预取控制器会发送一延迟传输信号给该主控单元,使得该主控单元忽略目前传输的预取数据。

当该主控单元传送的信号指示传输类型为非连续(Non-sequential),即目前传输的地址信号及控制信号皆与上一笔传输的地址信号及控制信号无关时,该预取控制器会判断系统内信号的传输是否符合一命中条件。其中该命中条件为该受控单元接收的S_HADDR、S_HWRITE及S_HSIZE信号皆和该主控单元传输的M_HADDR、M_HWRITE及M_HSIZE信号相同,其中M_HADDR为主控单元传送的地址信号,M_HWRITE为主控单元发送的控制信号指示读取或写入,M_HSIZE为主控单元发送的控制信号指示传送数据的大小。当符合命中条件时,该预取控制器控制该第一选择电路,将来自该预取地址产生器所产生的该预取地址信号传送至该受控单元。然后该预取控制器控制该第二选择电路,将来自该受控单元的该预取数据传送至该主控单元。此时,该预取控制器会判断该预取数据是否对应于来自该主控单元的地址信号。当传送至该主控单元的该预取数据可对应于该主控单元传送的地址信号时,该预取控制器会发送一执行传输信号给该主控单元,使得该主控单元接收目前传输的预取数据。反之,当传送至该主控单元的预取数据无法对应于该主控单元传输的地址信号时,该预取控制器会发送一延迟传输信号给该主控单元,使得该主控单元忽略目前传输的预取数据。另外,当不符合命中条件时,该预取控制器会该控制选择电路,将来自该主控单元所发送的该地址信号传送至该受控单元,且该预取控制器控制该第二选择电路将来自该受控单元的预取数据传送至该主控单元。

本发明不仅增快了读取的速度,也可提升总线的效能。

附图说明

图1为已知先进高性能总线系统的信号时序图;

图2为依据本发明一实施例的总线系统区块图;

图3为依据本发明一实施例的预取系统区块图;

图4为依据本发明一另实施例的预取系统区块图;

图5为依据本发明一实施例的预取数据方法流程图;

图6为依据本发明一实施例的预取装置的信号时序图。

具体实施方式

为了让本发明的上述和其他目的、特征和优点能更明显易懂,下文特举一较佳实施例,并配合所附图示,作详细说明如下:

以下叙述为本发明的较佳实施例,此叙述的目的在于阐明本发明的基本原理,而非用以限定本发明。本发明的保护范围以所附的权利要求书界定为准。

图2为依据本发明一实施例的总线系统200的区块图。如图2所示,总线系统200包括:预取装置210、主控单元(Master)220及受控单元(Slave)230,其中预取装置210可还包括:预取控制器211、预取地址产生器212、选择电路213~214及暂存器组215~216。于总线系统200中,选择电路213连接至主控单元220、预取地址产生器212及暂存器组215,用于接收来自主控单元220及预取地址产生器212的信号,并在预取控制器211的控制之下,从输入信号中选择其中之一输出至暂存器组215。选择电路214连接至受控单元230、暂存器组216及主控单元220,用于接收来自受控单元230及暂存器组216的信号,并在预取控制器211的控制之下,从输入信号中选择其中之一输出至主控单元220。本实施例的总线系统200为先进高性能总线系统。

在本实施例中,首先主控单元220发出一信号到选择电路213及预取地址产生器212,该信号包括控制信号及地址信号。于本实施例中,控制信号M_HWRITE皆指示读取数据。然后预取地址产生器212可依据主控单元220所传送的地址信号M_HADDR及控制信号M_HBURST,预测下一个可能的读取地址,而产生一预取地址信号,并将该预取地址信号传送到选择电路213。于本实施例中,该预取地址信号可为多个预取地址信号。当主控单元220传送的控制信号M_HTRANS指示传输类型为连续(Sequential)时,即目前传输的地址信号与上一笔传输的地址信号相关,且目前传输的控制信号与上一笔传输的控制信号相同时,预取控制器211可控制选择电路213,将来自预取地址产生器212所产生的该预取地址信号传送至暂存器组215中暂存,再传送至受控单元230。接着,受控单元230可依据收到的该预取地址信号,预读取对应于该预取地址信号的数据,并将预取数据传送至暂存器组216中暂存,再传送至选择电路214。然后预取控制器211可控制选择电路214将来自暂存器组216的预取数据传送至主控单元220。于本实施例中,暂存器组215用于暂存指令及数据,暂存器组216用于暂存数据,选择电路213及214可为多工器。当欲传送至主控单元220的预取数据可对应于主控单元220传送的地址信号时,预取控制器211会发送一信号SR给主控单元220,指示主控单元220接收目前传输的预取数据。反之,当欲传送至主控单元220的预取数据无法对应于主控单元220传输的地址信号时,预取控制器211会发送一信号SR给主控单元220,指示主控单元220忽略目前传输的预取数据。

当主控单元220传送的控制信号M_HTRANS指示传输类型为非连续(Non-sequentia1),即目前传输的地址信号及控制信号皆与上一笔传输的地址信号及控制信号无关,且符合一命中条件时,如同上述的情形,预取控制器211亦控制选择电路213,将来自预取地址产生器212所产生的该预取地址信号传送至暂存器组215中暂存,再传送至受控单元230。接着,受控单元230可依据收到的该预取地址信号,预读取对应于该预取地址信号的数据,并将预取数据传送至暂存器组216中暂存,再传送至选择电路214。然后预取控制器211亦控制选择电路214将来自暂存器组216的预取数据传送至主控单元220。相同的,当欲传送至主控单元220的预取数据可对应于主控单元220传送的地址信号时,预取控制器211会发送一信号SR给主控单元220,指示主控单元220接收目前传输的预取数据。反之,当传送至主控单元220的预取数据无法对应于主控单元220传输的地址信号时,预取控制器211会发送一信号SR给主控单元220,指示主控单元220忽略目前传输的预取数据。于本实施例中,该命中条件为受控单元230接收的S_HADDR、S_HWRITE及S_HSIZE信号皆和主控单元220传输的M_HADDR、M_HWRITE及M_HSIZE信号相同,其中M_HADDR为主控单元传送的地址信号,M_HWRITE为主控单元发送的控制信号指示读取或写入,M_HSIZE为主控单元发送的控制信号指示传送数据的大小。

当主控单元220传送的控制信号M_HTRANS指示传输类型为忙碌(Busy)、闲置(Idle)或非连续(Non-sequential)但不符合命中条件时,预取控制器211会控制选择电路213,将来自主控单元220所发送的地址信号传送至暂存器组215中暂存,再传送至受控单元230。接着,受控单元230可读取对应于该地址信号的数据,并将读取数据传送至选择电路214。然后预取控制器211控制选择电路214将来自受控单元230的读取数据传送至主控单元220。

于本实施例中,预取控制器211还可包括一地址储存空间,用于储存特殊地址,其中该特殊地址可为单个或多个地址或地址范围。当主控单元220发送的地址信号符合或处于该特殊地址或地址范围时,预取控制器211可控制预取地址产生器212不产生预取地址信号,或是令选择电路213选择直接来自主控单元220发送的地址信号。

图3为依据本发明一实施例的预取系统区块图。本实施例可支持n个主控单元及n个受控单元。如图3所示,预取系统300包括:完全连结系统310、n个主控单元320_1~320_n及n个第一装置330_1~330_n,其中完全连结系统310还包括:n个第一路由器311_1~311_n、n个仲裁器312_1~312_n及n个预取装置210_1~210_n。在本实施例中,预取系统300为先进高性能总线系统,第一装置330_1~330_n为受控单元。在预取系统300中,主控单元320_1~320_n分别连接至第一路由器311_1~311_n,且第一路由器311_1~311_n中的每一个第一路由器皆与仲裁器312_1~312_n中的每一个仲裁器相连接,而预取装置210_1~210_n则分别连接至仲裁器312_1~312_n及第一装置330_1~330_n。其中仲裁器312_1~312_n用于仲裁所接收信号的传送顺序,第一路由器311_1~311_n用于依据所接收到信号中的地址信息,将来自主控单元320_1~320_n的信号传送至对应的仲裁器312_1~312_n,或将来自仲裁器312_1~312_n的信号传送至对应的主控单元320_1~320_n。预取装置210_1~210_n中的每一个预取装置可包括图2所示实施例的预取装置210,还包括:预取控制器211、预取地址产生器212、选择电路213~214及暂存器组215~216。选择电路213连接至对应的仲裁器312_1~312_n、预取地址产生器212及暂存器组215,用于接收来自对应的主控单元320_1~320_n,通过第一路由器311_1~311_n和仲裁器312_1~312_n所传送的信号以及来自预取地址产生器212的信号,并在预取控制器211的控制之下,从输入信号中选择其中之一输出至暂存器组215。选择电路214连接对应的第一装置330_1~330_n、暂存器组216及对应的仲裁器312_1~312_n,用于接收来自对应的第一装置330_1~330_n及暂存器组216的信号,并在预取控制器211的控制之下,从输入信号中选择其中之一输出至对应的仲裁器312_1~312_n,再通过仲裁器312_1~312_n及第一路由器311_1~311_n传送至对应的主控单元320_1~320_n。

在本发明一实施例中,首先主控单元320_1~320_n发送信号到第一路由器311_1~311_n,该信号包括控制信号及地址信号。于本实施例中,控制信号M_HWRITE皆指示读取数据。接着,第一路由器311_1~311_n可依据地址信号M_HADDR,将来自主控单元320_1~320_n的信号传送至对应的仲裁器312_1~312_n,然后仲裁器312_1~312_n再将信号传送到对应的预取装置210_1~210_n,通过预取装置210_1~210_n来预读取第一装置330_1~330_n的数据。举例来说,主控单元320_1发送一信号到第一路由器311_1,其中该信号的地址信号对应到第一装置330_2,则第一路由器311_1将该信号传送至仲裁器312_2,然后仲裁器312_2将该信号传送至对应的预取装置210_2来预读取第一装置330_2的数据。于本实施例中,预取装置210_1~210_n中每一个预取装置的选择电路213及预取地址产生器212,会收到来自对应的主控单元320_1~320_n,通过第一路由器311_1~311_n及仲裁器312_1~312_n传送的一信号,接着预取地址产生器212可依据对应的主控单元320_1~320_n所传送的地址信号M_HADDR及控制信号M_HBURST,预测下一个可能的读取地址,而产生一预取地址信号,并将该预取地址信号传送到选择电路213。于本实施例中,该预取地址信号可为多个预取地址信号。

当对应的主控单元320_1~320_n传送的控制信号M_HTRANS指示传输类型为连续(Sequential)时,即目前传输的地址信号与上一笔传输的地址信号相关,且目前传输的控制信号与上一笔传输的控制信号相同时,预取控制器211可控制选择电路213,将来自预取地址产生器212所产生的该预取地址信号传送至暂存器组215中暂存,再传送至对应的第一装置330_1~330_n。接着,第一装置330_1~330_n可依据收到的该预取地址信号,预读取对应于该预取地址信号的数据,并将预取数据传送至暂存器组216中暂存,再传送至选择电路214。然后预取控制器211可控制选择电路214将来自暂存器组216的预取数据,通过仲裁器312_1~312_n及第一路由器311_1~311_n传送至对应的主控单元320_1~320_n。于本实施例中,暂存器组215用于暂存指令及数据,暂存器组216用于暂存数据,选择电路213及214可为多工器。当欲传送至对应的主控单元320_1~320_n的预取数据符合对应的主控单元320_1~320_n所传送的地址信号时,预取控制器211会发送一信号SR,通过仲裁器312_1~312_n及第一路由器311_1~311_n传送给对应的主控单元320_1~320_n,指示对应的主控单元320_1~320_n接收目前传输的预取数据。反之,当欲传送至对应的主控单元320_1~320_n的预取数据不符合于对应的主控单元320_1~320_n所传输的地址信号时,预取控制器211会发送一信号SR给对应的主控单元320_1~320_n,指示对应的主控单元320_1~320_n忽略目前传输的预取数据。

当对应的主控单元320_1~320_n传送的控制信号M_HTRANS指示传输类型为非连续(Non-sequential),即目前传输的地址信号及控制信号皆与上一笔传输的地址信号及控制信号无关,且符合一命中条件时,如同上述的情形,预取控制器211可控制选择电路213,将来自预取地址产生器212所产生的该预取地址信号传送至暂存器组215中暂存,再传送至对应的第一装置330_1~330_n。接着,第一装置330_1~330_n可依据收到的该预取地址信号,预读取对应于该预取地址信号的数据,并将预取数据传送至暂存器组216中暂存,再传送至选择电路214。然后预取控制器211可控制选择电路214将来自暂存器组216的预取数据,通过仲裁器312_1~312_n及第一路由器311_1~311_n传送至对应的主控单元320_1~320_n。相同的,当欲传送至对应的主控单元320_1~320_n的预取数据符合对应的主控单元320_1~320_n所传送的地址信号时,预取控制器211会发送一信号SR,通过仲裁器312_1~312_n及第一路由器311_1~311_n传送给对应的主控单元320_1~320_n,指示对应的主控单元320_1~320_n接收目前传输的预取数据。反之,当欲传送至对应的主控单元320_1~320_n的预取数据不符合于对应的主控单元320_1~320_n所传输的地址信号时,预取控制器211会发送一信号SR给对应的主控单元320_1~320_n,指示对应的主控单元320_1~320_n忽略目前传输的预取数据。于本实施例中,该命中条件为对应的第一装置330_1~330_n接收的S_HADDR、S_HWRITE及S_HSIZE信号皆和对应的主控单元320_1~320_n传输的M_HADDR、M_HWRITE及M_HSIZE信号相同,其中M_HADDR为主控单元传送的地址信号,M_HWRITE为主控单元发送的控制信号指示读取或写入,M_HSIZE为主控单元发送的控制信号指示传送数据的大小。

当对应的主控单元320_1~320_n传送的控制信号M_HTRANS指示传输类型为忙碌(Busy)、闲置(Idle)或非连续(Non-sequential)但不符合命中条件时,预取控制器211会控制选择电路213,将来自对应的主控单元320_1~320_n所发送的地址信号传送至暂存器组215中暂存,再传送至对应的第一装置330_1~330_n。接着,对应的第一装置330_1~330_n可读取对应于该地址信号的数据,并将读取数据传送至选择电路214。然后预取控制器211控制选择电路214将来自对应的第一装置330_1~330_n的读取数据,通过仲裁器312_1~312_n及第一路由器311_1~311_n传送至对应的主控单元320_1~320_n。

于本实施例中,预取控制器211还包括一地址储存空间,用于储存特殊地址,其中该特殊地址可为单个或多个特殊地址或地址范围,并可对应至一个或多个第一装置330_1~330_n中的地址。当主控单元320_1~320_n发送的地址信号符合该特殊地址或地址范围时,预取控制器211可控制预取地址产生器212不产生预取地址信号。

于本实施例中,第一装置330_1~330_n亦可为第二路由器410_1~410_n,此时预取系统300则演变为可支持n个主控单元及n×m个受控单元的另一实施例。如图4所示,预取系统400包括预取系统300及受控单元420_11~420_nm,其中第二路由器410_1~410_n即为图3所示实施例的第一装置330_1~330_n,而第二路由器410_1~410_n中的每一个第二路由器分别连接至m个受控单元,用于将来自预取装置210_1~210_n的信号传送至对应的受控单元420_11~420_nm,或将来自受控单元420_11~420_nm的信号传送至对应的预取装置210_1~210_n。本实施例的预取系统400为先进高性能总线系统。在预取系统400中,首先主控单元320_1~320_n发送一信号到第一路由器311_1~311_n,该信号包括控制信号及地址信号。于本实施例中,控制信号M_HWRITE皆指示读取数据。接着,第一路由器311_1~311_n可依据地址信号M_HADDR,将来自主控单元320_1~320_n的信号传送至对应的仲裁器312_1~312_n,然后仲裁器312_1~312_n将信号传送到对应的预取装置210_1~210_n,产生预取地址信号,再通过第二路由器410_1~410_n将信号传送至对应的受控单元420_11~420_nm。举例来说,主控单元320_1发送一信号到第一路由器311_1,其中该信号的地址信号对应到受控单元420_n1,则第一路由器311_1将该信号传送至仲裁器312_n,然后仲裁器312_n将该信号传送至预取装置210_n,产生预取地址信号,再通过第二路由器410_n将信号传送至受控单元420_n1。预取系统400内的预取装置210_1~210_n,其结构及预取数据机制与上述的预取系统300内的预取装置210_1~210_n相同,在此不另做赘述。

图5为依据本发明一实施例的预取数据方法流程图。为说明方便起见,请和图2所示实施例相互参照。首先,预取地址产生器212可依据主控单元220所传送的地址信号M_HADDR及控制信号M_HBURST,预测下一个可能的读取地址,而产生一预取地址信号(步骤502),并将该预取地址信号传送至选择电路213。接着,预取控制器212会根据来自主控单元220的控制信号M_HTRANS,判断目前传输的地址信号与上一笔传输的地址信号是否相关,及目前传输的控制信号与上一笔传输的控制信号是否相同(步骤504)。当主控单元220传送的控制信号M_HTRANS指示传输类型为连续(Sequential)时,即目前传输的地址信号与上一笔传输的地址信号相关,且目前传输的控制信号与上一笔传输的控制信号相同时,预取控制器211可控制选择电路213,将来自预取地址产生器212所产生的该预取地址信号传送至受控单元230(步骤506)。受控单元230可依据收到的该预取地址信号,预读取对应于该预取地址信号的数据,并将预取数据传送至选择电路214,然后预取控制器211可控制选择电路214将来自受控单元230的预取数据传送至主控单元220(步骤508)。此时,预取控制器211会判断该预取数据是否对应于来自主控单元220的地址信号(步骤516)。当欲传送至主控单元220的预取数据可对应于主控单元220传送的地址信号时,预取控制器211会发送一信号SR给该主控单元220,指示主控单元220接收目前传输的预取数据(步骤518)。反之,当欲传送至主控单元220的预取数据无法对应于主控单元220传输的地址信号时,预取控制器211会发送一信号SR给该主控单元220,指示主控单元220忽略目前传输的预取数据(步骤520)。

当主控单元220传送的控制信号M_HTRANS指示传输类型为非连续(Non-sequential),即目前传输的地址信号及控制信号皆与上一笔传输的地址信号及控制信号无关时,预取控制器211会判断系统内信号的传输是否符合一命中条件(步骤510)。其中该命中条件为受控单元230接收的S_HADDR、S_HWRITE及S_HSIZE信号皆和主控单元220传输的M_HADDR、M_HWRITE及M_HSIZE信号相同,其中M_HADDR为主控单元传送的地址信号,M_HWRITE为主控单元发送的控制信号指示读取或写入,M_HSIZE为主控单元发送的控制信号指示传送数据的大小。当符合命中条件时,预取控制器211可控制选择电路213,将来自预取地址产生器212所产生的该预取地址信号传送至受控单元230(步骤506)。受控单元230可依据收到的该预取地址信号,预读取对应于该预取地址信号的数据,并将预取数据传送至选择电路214,然后预取控制器211可控制选择电路214将来自受控单元230的预取数据传送至主控单元220(步骤508)。此时,预取控制器211会判断该预取数据是否对应于来自主控单元220的地址信号(步骤516)。当欲传送至主控单元220的预取数据可对应于主控单元220传送的地址信号时,预取控制器211会发送一信号SR给该主控单元220,指示主控单元220接收目前传输的预取数据(步骤518)。反之,当欲传送至主控单元220的预取数据无法对应于主控单元220传输的地址信号时,预取控制器211会发送一信号SR给该主控单元220,指示主控单元220忽略目前传输的预取数据(步骤520)。另外,当不符合命中条件时,预取控制器211会控制选择电路213,将来自主控单元220所发送的地址信号传送至受控单元230(步骤512)。接着,受控单元230可读取对应于该地址信号的数据,并将读取数据传送至选择电路214。然后预取控制器211控制选择电路214将来自受控单元230的读取数据传送至主控单元220(步骤514)。

图6为依据本发明一实施例的预取装置的信号时序图。如图所示,M_HTRANS为主控单元传输的控制信号,指示传输信号的类型,包括:闲置(Idle)、忙碌(Busy)、连续(Sequential)及非连续(Non-sequential)四种。M_HADDR为主控单元送出的地址信号,M_HRDATA为主控单元收到的数据,M_HWRITE为主控单元发送的控制信号指示读取或写入,M_HREADY为主控单元收到的信号指示主控单元接收目前传输或忽略目前传输,S_HADDR为受控单元收到的地址信号,S_HRDATA为受控单元回应的读取数据。在本实施例中,控制信号M_HWRITE皆指示读取数据。在时脉周期T2时主控单元220发送M_HTRANS信号指示传输类型为非连续的(Non-sequential)及地址信号M_HADDR指示地址为A0,此时预取装置210没有产生预取地址信号。在时脉周期T3时受控单元230收到地址信号A0,同时主控单元220传送M_HTRANS信号指示传输为连续的(Sequential)及地址信号指示地址为A1,此时预取装置210会产生预取地址信号。在时脉周期T4时受控单元230收到地址信号A1,在时脉周期T7时受控单元230开始连续收到预取地址信号A2、A3、A4、A5。在时脉周期T6时受控单元230开始连续回应读取数据R0、R1、R2、R3、R4、R5。由于受控单元230收到预取地址信号而预先读取数据,所以主控单元220发送地址信号A2、A3后都可在下一个时脉周期立刻收到数据R2、R3。此外,在时脉周期T7~T10时,回应到主控单元220的数据R0、R1、R2、R3符合于主控单元220发送的地址信号,所以主控单元收到M_HREADY信号指示接受目前传输。而在时脉周期T11~T12时,回应到主控单元220的数据R4、R5不符合主控单元220发送的地址信号,所以主控单元220收到M_HREADY信号指示忽略目前传输。

在已知的先进高性能总线中,主控单元发送地址信号后,至少需要三个以上的时脉周期才能收到对应的读取数据。在本发明提供的可预取数据的高性能总线系统中,在信号传输过程中,可以通过预取装置预先读取某些地址的数据,所以在主控单元发送地址信号后,可以立刻在下一个时脉周期收到对应的数据。如此,不仅增快了读取的速度,也可提升的总线的效能。

本发明虽然以先进高性能总线作为实施例说明的主体,但本领域技术人员可以明了,任何具有地址线、数据线与信号线的总线系统均可应用本发明所揭露的预取数据的装置与方法。

以上所述仅为本发明较佳实施例,然其并非用以限定本发明的范围,任何熟悉本项技术的人员,在不脱离本发明的精神和范围内,可在此基础上做进一步的改进和变化,因此本发明的保护范围当以本申请的权利要求书所界定的范围为准。

附图中符号的简单说明如下:

200:总线系统;210:预取装置;211:预取控制器;212:预取地址产生器;213、214:选择电路;215、216:暂存器组;220:主控单元;230:受控单元;SR:信号;300:预取系统;310:完全连结系统;210_1~210_n:预取装置;311_1~311_n:第一路由器;312_1~312_n:仲裁器;320_1~320_n:主控单元;330_1~330_n:第一装置;400:预取系统;410_1~410_n:第二路由器;420_11~420_nm:受控单元。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号