专利名称:记忆体存取装置及方法
技术领域:
本发明涉及一种记忆体存取装置及方法,特别涉及一种可借由增加缓存器所储存的数据笔数以达到使得单一处理器可长时间存取一记忆体的记忆体存取装置及方法。
背景技术:
现今所使用的电子系统,为符合高效率及多用途的使用性,故大多会使用一个以上的处理器。而这些处理器分别会通过同一个总线或记忆体接口,来存取耦接于该总线或该记忆体接口上的记忆体装置的数据。然而,为了确保电子系统中数据能够被正确地传递, 并且避免记忆体接口上数据或命令的冲突,各种记忆体的存取方法及其装置,皆被大量的使用,并且也被用来控制耦接于记忆体接口上的各种处理器。一般而言,具有多个处理器的电子系统,其存取记忆体的技术,是为通过一总线切换单元决定记忆体接口的存取顺序,然后处理器才可逐一进行存取记忆体数据的动作。这种存取记忆体的装置与方法,需要一欲使用记忆体接口的处理器先对总线切换单元发出要求信号。然后,总线切换单元判断记忆体接口上的使用状况后,对该处理器发出允许使用的信号,并且,同时使得其它不需使用记忆体接口的处理器执行等待或停止的动作。直到其它处理器发出欲使用记忆体接口的要求信号,总线切换单元才会切断该处理器的存取动作, 而转而允许其它处理器进行存取动作。然而,此种存取记忆体的装置与方法,存在有无法动态的改变处理器的执行顺序的问题。举例来说,一计算机通常具有一个以上的处理器,如中央处理器、微处理器、键盘控制器等等。当计算机执行开机程序时,中央处理器需要长时间的占据记忆体接口。若使用上述这种存取记忆体的装置与方法,倘若有其它处理器发出欲存取该记忆体接口的读取要求时,则中央处理器必须把该记忆体接口让出,因而无法长时间使用该记忆体接口,并且同时存在有无法完成其执行效率的问题。
发明内容
基于上述存取记忆体的技术,存在有无法动态改变处理器的执行顺序的问题,进而影响到处理器的处理效率。为此,本发明提出一种记忆体存取装置及方法。本发明所提出的记忆体存取装置及方法,不仅可动态改变处理器的执行顺序,更可以使得需要长时间存取该记忆体的一处理器完成其存取动作,且同时达到其执行效率。本发明揭露一种记忆体存取装置。此种记忆体存取装置包括一第一缓存器、一第二缓存器、一总线切换电路、一计算单元、一仲裁器与一等待停止单元。其中,第一缓存器与第二缓存器分别电性耦接于一第一处理器与一第二处理器,并且可分别用以储存第一处理器与第二处理器可处理的数据笔数。总线切换电路,电性耦接于第一处理器、第二处理器与一记忆体之间。总线切换电路具有一第一处理器接口、一第二处理器接口与一记忆体接口。第一处理器接口可用以连接第一处理器与总线切换电路,第二处理器接口可用以连接第二处理器与总线切换电路,记忆体接口可用以连接记忆体与总线切换电路。第一处理器与第二处理器可分别借由第一处理器接口与第二处理器接口电性耦接于记忆体接口。总线切换电路可用以切换第一处理器、第二处理器与记忆体间之连接。计算单元,连接第一缓存器与第二缓存器。计算单元可用以计算第一处理器或第二处理器已处理的数据笔数。仲裁器,连接计算单元并且可根据计算单元的计算状态,使总线切换电路切换第一处理器、第二处理器与记忆体间的连接状态。 等待停止单元,分别连接第一处理器与第二处理器。等待停止单元可用以传送一等待信号至第一处理器或第二处理器。其中,等待信号可用以使得第一处理器或第二处理器停止或等待,并且借此对第一处理器或第二处理器作时间延迟的动作。当第一处理器借由第一处理器接口耦接于记忆体接口时,若当时第二处理器对记忆体有一读取要求,则仲裁器先使等待停止单元传送等待信号至第二处理器,使得第二处理器形成停止或等待。接着计算单元启动。当计算单元计算第一处理器已处理的数据笔数相等于第一缓存器内储存的数据笔数时,仲裁器先使得等待停止单元取消传送至第二处理器的等待信号,并且传送等待信号至第一处理器,使得总线切换电路切换为第二处理器接同理,当第二处理器借由第二处理器接口耦接于记忆体接口时,若当时第一处理器对记忆体有读取要求,则仲裁器先使等待停止单元传送等待信号至第一处理器,使得第一处理器形成停止或等待。接着计算单元启动。当计算单元计算第二处理器已处理的数据笔数相等于第二缓存器内储存的数据笔数时,仲裁器先使得等待停止单元取消传送至第一处理器的等待信号,并且传送等待信号至第二处理器,使得总线切换电路切换为第一处理器接口。本发明提出的记忆体存取装置,其中计算单元还包括一计时功能。计算单元可用以计算一时间区间。本发明提出一种记忆体存取方法,可用于以一记忆体存取装置进行对一记忆体的存取动作。其中,记忆体存取装置至少包括一第一缓存器、一第二缓存器、一计算单元、一仲裁器与一等待停止单元。第一缓存器与第二缓存器可分别用以储存一第一处理器与一第二处理器可处理的数据笔数。计算单元可用以计算正在存取记忆体的一处理器已处理的数据笔数。记忆体存取装置借由一记忆体接口耦接于记忆体,并且记忆体存取装置可用以切换第一处理器、第二处理器与记忆体接口间的耦接状态。此种记忆体存取方法包括仲裁器启动,并且判断第一处理器与第二处理器其中之一电性耦接于记忆体接 Π ;倘若第一处理器电性耦接于记忆体接口,接着判断第二处理器是否发出一读取要求;若第二处理器有发出读取要求,等待停止单元传送一等待信号至第二处理器,并且计算单元计算第一处理器已处理的数据笔数;当计算单元计算的数据笔数等于第一缓存器所储存的数据笔数时,仲裁器启动, 并且使得第二处理器耦接于记忆体接口。
5
倘若第二处理器电性耦接于记忆体接口,接着判断第一处理器是否发出读取要求;若第一处理器有发出读取要求,等待停止单元传送等待信号至第一处理器,并且计算单元计算第二处理器已处理的数据笔数;当计算单元计算的数据笔数等于第二缓存器所储存的数据笔数时,仲裁器启动, 并且使得第一处理器耦接于记忆体接口。,本发明提供的记忆体存取装置及方法,是利用相应于第一处理器可处理的数据笔数的第一缓存器与相应于第二处理器可处理的数据笔数的第二缓存器,来决定第一处理器或第二处理器占据记忆体接口的时间长短与存取记忆体的优先权。因此,本发明所揭露的记忆体存取装置及方法,可通过改变第一缓存器与第二缓存器中所储存的数据笔数,来达到决定是第一处理器或是第二处理器存取记忆体的目的。以下结合附图和具体实施例对本发明进行详细描述,但不作为对本发明的限定。
图1为根据本发明一实施例的记忆体存取装置的概要结构图;图2为根据本发明一实施例的记忆体存取装置的详细结构图;以及图3为根据本发明一实施例的记忆体存取方法的流程步骤图。其中,附图标记10 记忆体存取装置20 记忆体22 记忆体接口30 第一处理器32 第一处理器接口40 第二处理器42 第二处理器接口62 等待信号100 第一缓存器200 第二缓存器300 总线切换电路400 计算单元500 仲裁器600 等待停止单元
具体实施例方式根据本发明的一实施例所提出的记忆体存取装置及方法,是利用一记忆体存取装置进行对一记忆体的存取动作。此种记忆体存取装置及方法,不仅可动态改变处理器的执行顺序,更可以使得需要长时间存取记忆体的一处理器完成其存取动作,且同时达到其执行效率。图1是为根据本发明一实施例所揭露的记忆体存取装置10。其中,记忆体存取装
6置10可分别借由第一处理器接口 32、第二处理器接口 42与记忆体接口 22电性耦接于第一处理器30、第二处理器40与记忆体20。第一处理器30可经由第一处理器接口 32耦接于记忆体接口 22,并且第一处理器30可借此电性耦接关系存取记忆体20的数据。同理,第二处理器40可经由第二处理器接口 42耦接于记忆体接口 22,并且第二处理器40亦可借此电性耦接关系存取记忆体20的数据。请参阅图2,是为根据图1所揭露的记忆体存取装置10的详示图。其中,记忆体存取装置10包括第一缓存器100、第二缓存器200、总线切换电路300、计算单元400、仲裁器 500与等待停止单元600。第一缓存器100与第二缓存器200分别电性耦接于第一处理器30与第二处理器 40。第一缓存器100可用以储存第一处理器30可处理的数据笔数。第二缓存器200可用以储存第二处理器40可处理的数据笔数。总线切换电路300连接于第一处理器接口 32、第二处理器接口 42与记忆体接口 22之间。其中第一处理器接口 32连接第一处理器30与总线切换电路300,并且可电性耦接第一处理器30与记忆体接口 22。第二处理器接口 42连接第二处理器40与总线切换电路300,并且可电性耦接第二处理器40与记忆体接口 22。记忆体接口 22连接总线切换电路300与记忆体20。因此,第一处理器30可借此电性耦接关系,对记忆体20进行数据存取的动作。同理,第二处理器40亦可借此电性耦接关系,对记忆体20进行数据存取的动作。计算单元400,连接第一缓存器100与第二缓存器200。计算单元400可用以计算第一处理器30或第二处理器40已处理的数据笔数。仲裁器500,连接计算单元400并且可根据计算单元400的计算状态使总线切换电路300切换第一处理器30、第二处理器40与记忆体20间的连接状态。等待停止单元600,分别连接至第一处理器30与第二处理器40,并且可用以传送一等待信号62至第一处理器30或第二处理器40。其中,等待信号62可用以使得第一处理器30或第二处理器40停止或等待,并且借此对第一处理器30或第二处理器40作时间延迟的动作。当第一处理器30借由第一处理器接口 32耦接于记忆体接口 22时,若当时第二处理器40借由第二处理器接口 42对记忆体20发出读取要求,则仲裁器启动使得等待停止单元600对第二处理器40发出等待信号62,并且计算单元400开始计算。当计算单元400 计算第一处理器30已处理的数据笔数相等于第一缓存器100内储存的数据笔数时,仲裁器 500先使得等待停止单元600取消传送至第二处理器40的等待信号62,并传送等待信号62 至第一处理器30,使得总线切换电路300切换为第二处理器接口 42。于此,等待信号62使第一处理器30停止或等待,并且形成时间延迟的状态。由于仲裁器500控制总线切换电路300切换为第二处理器接口 42,因此,第二处理器40即可经由第二处理器接口 42耦接于记忆体接口 22,并且第二处理器40可借此电性耦接关系对记忆体20进行数据存取的动作。同理,当第二处理器40借由第二处理器接口 42耦接于记忆体接口 22时,若当时第一处理器30借由第一处理器接口 32对记忆体20发出读取要求,则仲裁器启动使得等待停止单元600对第一处理器30发出等待信号62,并且计算单元400开始计算。当计算单元 400计算第二处理器40已处理的数据笔数相等于第二缓存器200内储存的数据笔数时,仲裁器500先使得等待停止单元600取消传送至第一处理器30的等待信号62,并传送等待信号62至第二处理器40,使得总线切换电路300切换为第一处理器接口 32。于此,第二处理器40被停止或等待,并且第一处理器30接着存取记忆体20。值得一提的是,如前述的计算单元400,其计算功能并不限于计算第一处理器30 或第二处理器40的数据笔数,亦可同时用于计算因第一处理器30或第二处理器40于休眠或闲置模式占据记忆体接口 22过长时间所发生的一暂停时间。故,根据本发明的另一实施例,计算单元400还可具有一计时功能,并且计算单元 400可电性耦接于一计时缓存器(图中未示)。计时缓存器可用以储存一暂停时间。也就是说,计算单元400可用以计算暂停时间。举例而言,当第一处理器30正在存取记忆体20 且第二处理器40被等待停止单元600所停止时,若第一处理器30因进入休眠或闲置模式而突然停止存取,于此,计算单元400可计算在第一处理器30停止后若于暂停时间内,第一处理器30仍无动作,则仲裁器500控制总线切换电路300切换为第二处理器接口 42,使第二处理器40对记忆体20进行数据存取的动作。此外,当第一处理器30与第二处理器40之中有其一处理器正在存取记忆体20 时,若未在存取记忆体20的另一处理器通过其相对应的处理器接口对记忆体20发出读取要求时,则仲裁器500必须通过等待停止单元600传送等待信号62至正在存取记忆体20 的该处理器,才可使得总线切换电路300切换至可供另一处理器使用的另一接口。举例而言,第一处理器接口 32与第二处理器接口 42可以是一种LPC接口(Low Pin Count Interface) 0其中LPC接口可用以读取计算机系统中一记忆体的数据,并且利用其编码对系统中的处理器所下的指令进行译码的动作。当LPC接口解出指令中存在有记亿体读取指令时,系统即可通过此机制知悉处理器对记忆体发出读取指令。故,根据本发明的一实施例的记忆体存取装置10,即可借由第一处理器接口 32与第二处理器接口 42判断第一处理器30与第二处理器40是否发出读取要求。此外,当使用者想要增加某一处理器存取记忆体20的时间时,使用者可以借由增加写入相对应于该处理器的一缓存器的数据笔数,以延迟等待停止单元600传送等待信号 62至该处理器,进而达到可让该处理器长时间占据记忆体20的目的。根据本发明的另一实施例还提出一种记忆体存取方法,可用于以一记忆体存取装置10进行对一记忆体20的存取动作。相关的架构图请同时配合图2与图3。记忆体存取装置10至少包括一第一缓存器100、一第二缓存器200、一计算单元400、一仲裁器500与一等待停止单元600。其中,第一缓存器100与第二缓存器200可分别用以储存一第一处理器30与一第二处理器40可处理的数据笔数。计算单元400可用以计算正在存取记忆体 20的一处理器已处理的数据笔数或是可用以计算一时间区间。记忆体存取装置10是借由一记忆体接口 22耦接于记忆体20,并且记忆体存取装置10可用以切换第一处理器30、第二处理器40与记忆体接口 22间的耦接状态。此种记忆体存取方法包括仲裁器500启动(步骤S302);并且判断第一处理器30与第二处理器40其中之一电性耦接于记忆体接口 22(步骤 S304);倘若第一处理器30电性耦接于记忆体接口 22,然后判断第二处理器40是否有发出读取要求(步骤S306a);
若第二处理器40有发出读取要求,则等待停止单元600传送等待信号62至第二处理器40 (步骤S308a);计算单元400开始计算第一处理器30已处理的数据笔数(步骤S310a);当计算单元400计算的数据笔数等于第一缓存器100所储存的数据笔数时(步骤 S312a);等待停止单元取消传送至第二处理器40的等待信号62,并传送等待信号62至第一处理器30(步骤S314a);仲裁器500使得第二处理器40耦接于记忆体接口 22。倘若第二处理器40电性耦接于记忆体接口 22,然后判断第一处理器30是否有发出读取要求(步骤S306b);若第一处理器30有发出读取要求,则等待停止单元600传送等待信号62至第一处理器40 (步骤S308b);计算单元400开始计算第二处理器40已处理的数据笔数(步骤S310b);当计算单元400计算的数据笔数等于第二缓存器200所储存的数据笔数时(步骤 S312b);等待停止单元取消传送至第一处理器30的等待信号62,并传送等待信号62至第二处理器40(步骤S314b);仲裁器500使得第一处理器40耦接于记忆体接口 22。于步骤S3IOa中当第一处理器30电性耦接于记忆体接口 22且第二处理器40有发出读取要求而被等待信号62所形成等待或停止状态后,计算单元400可用以开始计算第一处理器30已处理的数据笔数或可用以计算一暂停时间。当计算单元400计算的数据笔数等于第一缓存器100所储存的数据笔数或计算单元400计算的时间等于暂停时间时,等待停止单元600 取消第二处理器40的等待信号62,并且传送等待信号62至第一处理器30,进而使第一处理器30停止或等待;于此,仲裁器500先等到等待停止单元600传送等待信号62至第一处理器30,使得第二处理器40电性耦接于记忆体接口 22。在步骤S3IOb中当第二处理器40电性耦接于记忆体接口 22且第一处理器30有发出读取要求,而被等待信号62所形成等待或停止状态后,计算单元400可用以开始计算第二处理器40已处理的数据笔数或是可用以计算一暂停时间。当计算单元400计算的数据笔数等于第二缓存器200所储存的数据笔数或计算单元400计算的时间等于暂停时间时,等待停止单元600 取消第一处理器30的等待信号62,并且传送等待信号62至第二处理器40,进而使第二处理器40停止或等待;于此,仲裁器500先等到等待停止单元600传送等待信号62至第二处理器40,使得第一处理器30电性耦接于记忆体接口 22。根据本发明的一实施例的记忆体存取方法,其中记忆体存取装置10还包括一总线切换电路300。总线切换电路300连接于一第一处理器接口 32、一第二处理器接口 42与记忆体接口 22之间。仲裁器500即可用以控制总线切换电路300切换至第一处理器接口 32或第二处理器接口 42,以利于第一处理器30与第二处理器40可分别借由第一处理器接口 32与第二处理器接口 42电性耦接于记忆体接口 22。
故,根据本发明的一实施例所揭露的记忆体存取装置及方法,是可借由增加写入相对应于一处理器的一缓存器的数据笔数,以达到可让该处理器长时间占据记忆体的目的。此种记忆体存取装置及方法,不仅可动态改变处理器的执行顺序,更可以使得需要长时间存取记忆体的处理器完成其存取动作,且同时达到其执行效率。当然,本发明还可有其它多种实施例,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员当可根据本发明作出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。
权利要求
1.一种记忆体存取装置,其特征在于,包括一第一缓存器,电性耦接于一第一处理器,该第一缓存器用以储存该第一处理器处理的数据笔数;一第二缓存器,电性耦接于一第二处理器,该第二缓存器用以储存该第二处理器处理的数据笔数;一总线切换电路,电性耦接于该第一处理器、该第二处理器与一记忆体之间,该总线切换电路具有一第一处理器接口、一第二处理器接口与一记忆体接口,该第一处理器接口连接该第一处理器与该总线切换电路,该第二处理器接口连接该第二处理器与该总线切换电路,该记忆体接口连接该记忆体与该总线切换电路,该第一处理器与该第二处理器分别借由该第一处理器接口与该第二处理器接口电性耦接于该记忆体接口,该总线切换电路用以切换该第一处理器、该第二处理器与该记忆体间的连接;一计算单元,用以计算该第一处理器或该第二处理器已处理的数据笔数;一仲裁器,连接该计算单元,该仲裁器根据该计算单元的计算状态,使该总线切换电路切换该第一处理器、该第二处理器与该记忆体间的连接状态;以及一等待停止单元,分别连接该第一处理器与该第二处理器,用以传送一等待信号至该第一处理器或该第二处理器。
2.根据权利要求1所述的记忆体存取装置,其特征在于,该等待信号使该第一处理器和该第二处理器其中之一形成停止与等待其中之一状态,并且借此对该第一处理器和该第二处理器其中之一作时间延迟的动作。
3.根据权利要求2所述的记忆体存取装置,其特征在于,当该第一处理器借由该第一处理器接口耦接于该记忆体接口时,若当时该第二处理器对该记忆体有一读取要求,该仲裁器使该等待停止单元传送该等待信号至该第二处理器,使得该第二处理器形成停止与等待其中之一状态。
4.根据权利要求3所述的记忆体存取装置,其特征在于,当该第一处理器借由该第一处理器接口耦接于该记忆体接口时,若当时该第二处理器对该记忆体有该读取要求且被该等待信号形成停止与等待其中之一状态时,若该计算单元计算该第一处理器已处理的数据笔数相等于该第一缓存器内储存的数据笔数时,该仲裁器先使得该等待停止单元取消传送至该第二处理器的该等待信号,并使得该等待停止单元传送该等待信号至该第一处理器, 使得该总线切换电路切换为该第二处理器接口。
5.根据权利要求1所述的记忆体存取装置,其特征在于,该计算单元还包括一计时功能,并且该计算单元用以计算一时间区间。
6.一种记忆体存取方法,用于以一记忆体存取装置进行对一记忆体的存取动作,其中, 该记忆体存取装置至少包括一第一缓存器、一第二缓存器、一计算单元、一仲裁器与一等待停止单元,该第一缓存器与该第二缓存器分别用以储存一第一处理器与一第二处理器处理的数据笔数,该计算单元用以计算正在存取该记忆体的一处理器已处理的数据笔数,该记忆体存取装置借由一记忆体接口耦接于该记忆体,并且该记忆体存取装置用以切换该第一处理器、该第二处理器与该记忆体接口间的耦接状态,其特征在于,该记忆体存取方法包括该仲裁器启动,判断该第一处理器与该第二处理器其中之一电性耦接于该记忆体接Π ;倘若该第一处理器电性耦接于该记忆体接口,接着,判断该第二处理器是否有发出一读取要求;若该第二处理器有发出该读取要求,该等待停止单元传送一等待信号至该第二处理器,并且该计算单元计算该第一处理器已处理的数据笔数;当该计算单元计算的数据笔数等于该第一缓存器所储存的数据笔数时,该仲裁器启动,使得该第二处理器耦接于该记忆体接口 ;倘若该第二处理器电性耦接于该记忆体接口,接着,判断该第一处理器是否有发出该读取要求;若该第一处理器有发出该读取要求,该等待停止单元传送该等待信号至该第一处理器,并且该计算单元计算该第二处理器已处理的数据笔数;当该计算单元计算的数据笔数等于该第二缓存器所储存的数据笔数时,该仲裁器启动,使得该第一处理器耦接于该记忆体接口。
7.根据权利要求6所述的记忆体存取方法,其特征在于,当该第一处理器电性耦接于该记忆体接口时,若该第二处理器有发出该读取要求且被该等待信号形成停止与等待其中之一状态,并且该计算单元计算的数据笔数等于该第一缓存器所储存的数据笔数时,该等待停止单元取消传送至该第二处理器的该等待信号,并传送该等待信号至该第一处理器, 该仲裁器使得该第二处理器电性耦接于该记忆体接口。
8.根据权利要求6所述的记忆体存取方法,其特征在于,当该第二处理器电性耦接于该记忆体接口时,若该第一处理器有发出该读取要求且被该等待信号形成停止与等待其中之一状态,并且该计算单元计算的数据笔数等于该第二缓存器所储存的数据笔数时,该等待停止单元取消传送至该第一处理器的该等待信号,并传送该等待信号至该第二处理器, 该仲裁器使得该第一处理器电性耦接于该记忆体接口。
9.根据权利要求7所述的记忆体存取方法,其特征在于,该记忆体存取装置还包括一总线切换电路,该总线切换电路连接于一第一处理器接口、一第二处理器接口与该记忆体接口之间,该第一处理器与该第二处理器分别借由该第一处理器接口与该第二处理器接口电性耦接于该记忆体接口。
10.根据权利要求9所述的记忆体存取方法,其特征在于,该仲裁器用以控制该总线切换电路切换至该第一处理器接口与该第二处理器接口其中之一。
全文摘要
一种记忆体存取装置及方法。记忆体存取装置包括用以储存一第一处理器可处理的数据笔数的一第一缓存器、用以储存一第二处理器可处理的数据笔数的一第二缓存器、一总线切换电路、一计算单元、一仲裁器与一等待停止单元。第一处理器与第二处理器可分别借由一第一处理器接口与一第二处理器接口,达到存取一记忆体的目的。此种记忆体存取装置及方法,可借由增加第一缓存器或第二缓存器所储存的数据笔数,使得当处理器需要较长时间使用记忆体时,可让第一处理器或第二处理器长时间存取记忆体。
文档编号G06F13/16GK102214151SQ201010151229
公开日2011年10月12日 申请日期2010年4月7日 优先权日2010年4月7日
发明者吴敦仁 申请人:精拓科技股份有限公司