CN1932783A - 存储器控制装置 - Google Patents

存储器控制装置 Download PDF

Info

Publication number
CN1932783A
CN1932783A CNA2006101534891A CN200610153489A CN1932783A CN 1932783 A CN1932783 A CN 1932783A CN A2006101534891 A CNA2006101534891 A CN A2006101534891A CN 200610153489 A CN200610153489 A CN 200610153489A CN 1932783 A CN1932783 A CN 1932783A
Authority
CN
China
Prior art keywords
mentioned
access
address
mainboard
request
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.)
Pending
Application number
CNA2006101534891A
Other languages
English (en)
Inventor
南木秀宪
三野吉辉
隅田圭三
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Publication of CN1932783A publication Critical patent/CN1932783A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1605Handling requests for interconnection or transfer for access to memory bus based on arbitration
    • G06F13/161Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement
    • G06F13/1626Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement by reordering requests
    • G06F13/1631Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement by reordering requests through address comparison

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Storage Device Security (AREA)
  • Memory System (AREA)

Abstract

提供一种存储器控制装置,能抑制对外部存储器的存取效率的恶化,同时可靠地获得与外部存储器的匹配性。该存储器控制装置具备:数据缓冲器(112)及地址缓冲器(113),分别保存与来自第1主板(100)的过去的存取请求有关的数据及地址;第1比较部(113),当接受了新的存取请求时,比较其地址和地址缓冲器(113)的地址;缓冲器控制部(111),根据该比较,向外部存储器I/F(170)发行存取请求,或者向第1主板(100)输出数据缓冲器(112)的数据;特定存取检测部(123),当检测出对被保存在特定地址寄存器(122)的特定地址的存取请求时,与比较结果无关地,对数据缓冲器(112)的内容进行无效化。

Description

存储器控制装置
技术区域
本发明涉及多个主板共有外部存储器上的数据并进行主板和外部存储器间的数据传送的存储器控制装置。
背景技术
过去,在存储器控制装置中采用了以下技术,即,当对外部存储器进行存取的接口的存取单位比主板的存取单位大时,为了有效地进行外部存储器的读取,设置外部存储器侧的相当于存取单位的数据缓冲器,预先从外部存储器读取数据缓冲器单位的数据进行保存,并且,在连续发生单位地址区域内的读访问(read access)时,不访问外部存储器,而是从数据缓冲器读取。在此,当特定的主板读取由其它主板重写的外部存储器上的数据时,由于数据缓冲器和外部存储器之间不一定匹配,需要对数据缓冲进行无效化。
还公开了如下技术,即,为了减少由该无效化存取引起的主板的存取次数,将数据缓冲器的一部分地址(例如16字节边界的每个数据块的、例如开始地址和结束地址)作为特定地址,如果检测出从主板对特定地址的读取,则缓冲器控制装置同时进行数据缓冲器的无效化和从外部存储器的相当于存取单位的读取(参照专利文献1)。
专利文献1:日本特开平6-243037号公报(第6页、图1)
在上述公报公开的装置中,当从主板的存取随机进行时,如果发生对作为数据缓冲器的一部分地址的特定地址的读取,数据缓冲器一定被无效化,所以,存在数据缓冲器的命中率降低、对外部存储器的存取效率恶化的课题。
而且,当发生了对数据缓冲器进行无效化的必要时,以前执行作为假存取(dummy access)请求发行对外部存储器上的其它地址区域的存取请求的方法,但是,存在为了发出对外部存储器的存取请求而需要多余的存取时间的课题。
此外,在主板间不进行排他控制的比较简单的***中,特定的主板为了检测位于外部存储器上的***状态被其它主板重写的情况,对特定的地址进行轮询存取时,因重复进行对相同地址的读取,数据缓冲器连续被命中,存在不能取得与外部存储器的匹配性的课题,上述公报没有公开其解决方法。
发明内容
本发明是鉴于上述问题而做出的,其目的在于提供一种存储器控制装置,抑制对外部存储器的存取效率的恶化,同时能够可靠地获得与外部存储器的匹配性。
为了解决上述课题,本发明的存储器控制装置是,进行主板和外部存储器间的数据传送的存储器控制装置,其具备:主板接口,接受来自上述主板的存取请求,输出对上述外部存储器的存取请求;以及外部存储器接口,接受来自上述主板接口的存取请求,进行对上述外部存储器的存取;上述主板接口具备:数据缓冲器,在请求存取时保存从上述外部存储器接口传送的数据;地址缓冲器,保存上述请求存取的地址;第1比较单元,比较新请求存取的地址和被保存在上述地址缓冲器中的地址,输出表示在被保存在上述数据缓冲器中的数据的地址范围内是否一致的第1比较信息;缓冲器控制单元,在上述第1比较信息表示不一致时,对上述外部存储器接口发行上述存取请求,在上述第1比较信息表示一致时,不对上述外部存储器接口发行上述存取请求,而是从上述数据缓冲器对主板进行数据输出;以及特定存取检测单元,当检测出上述存取请求是从上述主板对上述外部存储器上的特定地址的存取请求时,同上述第1比较信息是表示一致还是不一致无关地,判别对上述外部存储器接口是否发行上述存取请求,控制上述缓冲器控制单元。
而且,也可以是,上述特定存取检测单元具备:第2比较单元,比较上述新请求存取的地址和上述外部存储器上的特定地址,向上述缓冲器控制单元输出表示是否一致的第二比较信息;以及无效化单元,在上述第2比较信息表示一致时,控制上述缓冲器控制单元,以便对上述地址缓冲器的内容进行无效化,并虚拟地进行存取响应。
而且,也可以是,上述特定地址是,外部存储器接口为了在存取控制时使用,禁止进行来自上述主板的存取的外部存储器上的特定区域的一部分地址。
而且,也可以是,上述特定存取检测单元还具备可以任意设定特定地址的特定地址设定寄存器。
而且,也可以是,上述存储器控制装置还具备假存取发行单元,该假存取发行单元接受表示上述外部存储器上的共有数据已被更新的通知,向上述主板接口发行对上述特定的地址的存取请求。
而且,也可以是,上述特定存取检测单元同上述第1比较信息是否表示一致和不一致的任一个无关地,根据上述新请求存取的地址和过去请求存取的地址之间的比较,控制上述缓冲器控制单元,使得强制地发行或禁止对上述外部存储器接口的存取请求。
而且,也可以是,上述特定存取检测单元具备:缓冲器存取历史保存单元,保存表示来自上述主板的存取请求是对上述外部存储器接口的存取请求、还是对上述数据缓冲器的存取请求的历史信息;第3比较单元,比较上述新请求存取的地址和被保存在上述地址缓冲器的地址,向缓冲器更新单元输出表示是否完全一致的第3比较信息;以及缓冲器更新单元,在上述第3比较信息表示一致、上述缓冲器存取历史保存单元的历史信息表示对上述数据缓冲器的存取请求时,控制上述缓冲器控制单元,使得强制地对上述外部存储器接口发行存取请求。
而且,也可以是,上述存储器控制装置还具备假存取发行单元,该假存取发行单元接受表示上述外部存储器上的共有数据已被更新的通知,向上述主板接口发行对被保存在上述地址缓冲器的地址的存取请求。
而且,也可以是,上述主板是DMA(直接存储器存取)控制器;上述通知表示上述直接存储器存取控制器的启动请求;当上述假存取发行单元接受到上述通知时,控制上述直接存储器存取控制器,使得在上述存取请求的发行之后开始数据传送。
而且,也可以是,上述直接存储器存取控制器具备多个通道;上述通知表示上述多个通道的一个的启动请求;上述存储器控制装置还具备按每个上述通道设定为允许及禁止的某一个值的假存取控制寄存器;对于通过上述通知请求了启动的通道,在上述假存取控制寄存器的值被设定为禁止时,上述假存取发行单元禁止上述存取请求的发行。
而且,也可以是,上述直接存储器存取控制器具备多个通道;上述通知将上述多个通道的一个的启动请求和启动要因一起表示;上述存储器控制装置还具备假存取控制寄存器,该假存取控制寄存器按每个启动要因设定为允许及禁止的某一个值,并且由各通道共用;对于由上述通知表示的启动要因,在上述假存取控制寄存器的值被设定为禁止时,上述假存取发行单元禁止上述存取请求的发行。
而且,也可以是,上述特定存取检测单元具备:存取历史缓冲器,保存至少包含上述过去请求存取的地址的存取信息;第4比较单元,比较至少包含上述新请求存取的地址的新存取信息和被保存在上述存取历史缓冲器的存取信息,输出同一存取是否重复进行的第4比较信息;以及缓冲器无效化单元,在上述第4比较信息表示重复存取时,控制上述缓冲器控制单元,使得对上述外部存储器接口强制地发行存取请求。
而且,也可以是,上述缓冲器无效化单元在控制缓冲器控制单元,以便对外部存储器接口发行存取请求时,当上述第4比较信息表示重复存取时,控制成发行请求在上述新的存取请求中表示的请求大小的数据的存取请求,当上述第4比较信息表示不是重复存取时,控制成发行请求上述数据缓冲器大小的数据的存取请求。
而且,也可以是,上述存储器控制装置还具备缓冲器更新单元,在上述第4比较信息表示重复存取时,上述缓冲器更新单元用从上述外部存储器接口读取的数据更新上述数据缓冲器的内容。
而且,也可以是,上述外部存储器接口具备:轮询地址设定寄存器,可以任意设定上述外部存储器上的地址;轮询存取历史保存单元,通过对被设定在上述轮询地址设定寄存器中的地址的读访问进行设置,通过写访问进行复位;以及外部存储器选择单元,当发生了从上述主板接口对被设定在上述轮询地址设定寄存器的地址的读访问请求时,如果上述轮询存取历史保存单元被设置,则禁止对上述外部存储器的存取,在同对上述外部存储器进行存取时相比在短时间内,向上述主板接口响应;上述特定存取检测单元还具备缓冲器选择单元,当从上述外部存储器接口在规定时间以内有了响应时,控制上述缓冲器控制单元,向上述主板输出被保存在上述数据缓冲器的数据。
而且,也可以是,上述轮询存取历史保存单元还通过来自上述主板接口的对上述轮询地址以外的读访问进行复位。
此外,本发明不仅可以作为这样的存储器控制装置来实现,也可以作为将这样的存储器控制装置具有的特征单元所执行的处理作为步骤的存储器控制方法来实现,另外,还可以作为存储器控制用的集成电路装置来实现。
根据涉及本发明的存储器控制装置,由于特定地址被确定在外部存储器上,主板随机地对数据缓冲器内的数据进行存取时,不会进行不希望的数据缓冲器的无效化。由此,可以防止数据缓冲器的命中率的降低,可以有效地对外部存储器进行存取。
而且,在发行了对特定地址的存取请求时,数据缓冲器被无效化,不进行对外部存储器的存取,所以,如对被其它主板重写的外部存储器上的数据进行轮询存取时那样,在进行必要的无效化时,无用的存取不会施加到外部存储器。由此,不会增大对外部存储器的存取负载,可以保证数据缓冲器和外部存储器间的匹配性。
附图说明
图1是表示第一实施方式的存储器控制装置的功能结构一例的方框图。
图2是表示第一实施方式的存储器控制装置的动作例的流程图。
图3是表示第二实施方式的存储器控制装置的功能结构一例的方框图。
图4是表示第二实施方式的存储器控制装置的动作例的流程图。
图5是表示第三实施方式的存储器控制装置的功能结构一例的方框图。
图6是表示第三实施方式的存储器控制装置的动作例的流程图。
图7是表示第四实施方式的存储器控制装置的功能结构一例的方框图。
图8是表示第四实施方式的存储器控制装置的动作例的流程图。
图9是表示第五实施方式的存储器控制装置的功能结构一例的方框图。
图10是表示第五实施方式的存储器控制装置的动作例的流程图。
图11是表示第六实施方式的存储器控制装置的功能结构一例的方框图。
图12是表示第六实施方式的存储器控制装置的动作例的流程图。
图13是表示第七实施方式的存储器控制装置的功能结构一例的方框图。
图14是表示第七实施方式的存储器控制装置的动作例的流程图。
图15是表示第八实施方式的存储器控制装置的功能结构一例的方框图。
图16是表示第八实施方式的存储器控制装置的动作例的流程图。
图17是表示第九实施方式的存储器控制装置的功能结构一例的方框图。
图18是表示第九实施方式的存储器控制装置的动作例的流程图。
具体实施方式
下面,参照附图说明本发明的实施方式。
图1是表示第一实施方式的存储器控制装置190的功能结构一例的方框图。在图1中,同存储器控制装置190一起,表示了第1主板100、第2主板130、第3主板150、及外部存储器180。
第1主板100、第2主板130、第3主板150分别经存储器控制装置190存取外部存储器180上的数据。
存储器控制装置190是处理从各主板对位于由各主板共有的外部存储器180的共有区域181中的数据的存取请求的装置,包括分别对应第1主板100、第2主板130、第3主板150而设置的第1主板I/F(接口)110、第2主板I/F140、第3主板I/F160、以及外部存储器I/F170。
外部存储器180与外部存储器I/F170连接,包含共有区域181和特定区域182。
共有区域181是外部存储器180上的一部分区域,保存在各主板间共有的数据。具体地,共有区域180例如用于从第2主板130向第1主板100的数据传递。
特定区域182是存在于外部存储器180上,例如由于外部存储器I/F在改变存取定时的同步(recync)等的存取控制时使用,用禁止从各主板存取的特定地址表示的区域。
第1主板100与第1主板I/F110连接,具有CPU101。
当重写共有区域181上的数据时,第2主板130对第1主板100输出中断请求信号。当输入了此信号时,第1主板100的CPU101通过向第1主板I/F110输出读访问请求,开始读取共有区域181上的已被重写的数据。
第1主板I/F110是接收来自第1主板100的存取请求、发行对外部存储器I/F170的存取请求的接口,包括缓冲器控制部111和特定存取检测部123。
缓冲器控制部111包括数据缓冲器112、地址缓冲器113、及第1比较部114。特定地址检测部123包括缓冲器无效化部120、第2比较部121、及特定地址寄存器122。
数据缓冲器112保存外部存储器180上的至少一部分数据的复制。
地址缓冲器113保存被保存在数据缓冲器112的数据的地址。
第1比较部114通过比较从第1主板100请求存取的地址、和保存在地址缓冲器113的地址,输出表示从第1主板100请求存取的地址在被保存在数据缓冲器112的数据的地址范围内是否一致的第1比较信息。
当从缓冲器无效化部120未输出无效化控制信号、且第1比较部114的第1比较信息表示不一致时,缓冲器控制部111对外部存储器I/F170发行存取请求,当表示一致时,向第1主板100输出被保存在数据缓冲器112的数据。
从CPU101将外部存储器180中的特定区域182的地址设定并保存在特定地址寄存器122。
第2比较部121比较从第1主板100请求存取的地址、和被保存在特定地址寄存器122的地址,向缓冲器无效化部120输出表示是否一致的第2比较信息。
缓冲器无效化部120从第2比较部121取得第2比较信息,在取得的第2比较信息表示一致时,向缓冲器控制部111输出无效化控制信号。
如果输入了该无效化控制信号,缓冲器控制部111对数据缓冲器112进行无效化,立即向第1主板100发出存取响应。由此,从第1主板100请求下一次存取时,与第1比较部114的第1比较信息无关,发行对外部存储器I/F170的存取请求。
数据缓冲器112的无效化具体地是例如用无效的地址更新地址缓存器113进行的,以使第1比较部114同本来的比较结果无关地输出表示不一致的第1比较信息。而且,也可以是,设置表示数据缓冲器是否被无效化的未图示的寄存器,通过更新其内容进行。
第2主板130与第2主板I/F140连接。
第2主板I/F140接受来自第2主板130的存取请求,发行对外部存储器I/F170的存取请求。
第3主板150与第3主板I/F160连接。
第3主板I/F160接受来自第3主板150的存取请求,发行对外部存储器I/F170的存取请求。
第2主板I/F140及第3主板I/F160分别具有与第1主板I/F110相同的结构,所以省略说明。
外部存储器I/F170接受来自第1主板I/F110、第2主板I/F140、第3主板I/F160的各自的存取请求,对外部存储器180进行存取。
下面,说明第一实施方式的动作例。
图2是表示第一实施方式的存储器控制装置190的动作例的流程图。
第1主板100对特定地址寄存器122设定表示外部存储器180上的特定区域182的地址值(S1101)。
当向外部存储器180上的共有区域181写入了对第1主板100进行传递的数据(S1102)时,第2主板130为了通知应传递的数据已准备好的信息,对第1主板100发行中断请求(S1103)。
当第1主板100接受了来自第2主板130的中断请求时,对在通常动作时被禁止存取的外部存储器180上的特定区域182发行写访问请求(S1104)。为了处理该写访问请求,调用作为子程序的第一处理(S1107)。第一处理的详细内容在后面叙述。
第1主板100为了读取由第2主板130写入到外部存储器180上的共有区域181的数据,发行读访问请求(S1105)。为了处理该读访问请求,调用第一处理(S1113)。
第1主板100在写入到共有区域181中的数据的读取结束之前,返回S1105发行读访问请求(S1106中的“否”),当读取结束时,结束动作(S1106中的“是”)。
下面,说明第一处理。该处理是由第1主板I/F110执行的子程序处理。
在来自第2比较部121的第2比较信息表示一致时(S1108的“是”),缓冲器无效化部120通过向缓冲器控制部111输出无效化控制信号,缓冲器控制部111对数据缓冲器112进行无效化,控制成立即对第1主板100进行存取响应(S1109)。在此要注意的是,该存取响应是在与从向外部存储器I/F170发行存取请求开始到进行存取响应的时间相比,充分短的时间内进行。
在第2比较信息表示不一致时,不输出无效化控制信号(S1108的“否”),如果来自第1比较部114的第1比较信息表示一致(S1110的“是”),缓冲器控制部111向第1主板100输出被保存在数据缓冲器112的数据(S1111),如果第1比较信息表示不一致(S1110的“否”),缓冲器控制部111向外部存储器I/F170发行存取请求(S1112)。
而且,在初始状态下,数据缓冲器112也可以被无效化。如果这样,在最初调用的第一处理中,第1比较信息和第2比较信息都表示不一致(在S1108和S1110都是“否”),必须在步骤S1112发行对外部存储器I/F170的存取请求。
根据以上结构,可以在数据缓冲器以外的外部存储器上设定用于数据缓冲器的无效化的特定地址。为此,在主板随机地存取数据缓冲器内的数据时,不会进行不希望的数据缓冲器的无效化,可以防止数据缓冲器的命中率的下降,可以有效地对外部存储器进行存取。
而且,在特定的主板对由其它主板重写的外部存储器上的数据进行轮询存取那样,根据需要进行用于无效化的存取时,也不进行对外部存储器的存取,所以,可以省略无用的存取。
由此,不会因无效化增大对外部存储器的存取负载,而且,在无效化后必须立即进行对外部存储器的存取,所以,能够确实地得到数据缓冲器和外部存储器间的匹配性。
在第一实施方式中,说明了将外部存储器上的特定区域的一部分地址作为用于数据缓冲器的无效化的特定地址而利用的结构。
但是,在第一实施方式的结构中,当外部存储器I/F在存取控制时使用的特定区域不明确时、或者不能确保时,存在不能设定特定地址的课题。为了解决这样的课题,希望不使用外部存储器上的特定区域就可以进行数据缓冲器的无效化的结构。
下面,在第二实施方式说明这样的结构。
(第二实施方式)
图3是表示第二实施方式的存储器控制装置191的功能结构一例的方框图。在图3中,与存储器控制装置191一起,表示了第1主板100、第2主板130、第3主板150以及外部存储器180。
存储器控制装置191是将在第一实施方式中说明的存储器控制装置190(参照图1)的第1主板I/F110的特定存取检测部123替换为特定存取检测部224而构成。在图3中,对于与存取控制装置190相同的功能模块付与相同标记,省略其说明。
特定存取检测部224是在发生了对同一地址的连续的存取请求时,将缓冲器控制部111控制成每隔一次强制地对外部存储器180进行存取的单元,包括缓冲器更新部220、缓冲器存取历史保存部221以及第3比较部223。
当有来自第1主板100的存取请求时,缓冲器存取历史保存部221保存表示根据该存取请求进行的存取是对外部存储器I/F170的存取、还是对数据缓冲器112的存取的历史信息。
该历史信息具体地表示根据来自第1主板100的上述存取请求是发行了对外部存储器I/F170的存取请求、还是从数据缓冲器112向第1主板100进行了数据输出。
第3比较部223比较从第1主板100请求存取的地址和被保存在地址缓冲器113的地址,向缓冲器更新部220输出是否完全一致的第3比较信息。
缓冲器更新部220从第3比较部223取得第3比较信息,而且从缓冲器存取历史保存部221取得历史信息。然后,当第3比较信息表示一致、且历史信息表示对数据缓冲器的存取时,向缓冲器控制部111输出更新控制信号。如果提供了该更新控制信号,缓冲器控制部111同第1比较部114的第1比较信息无关地发行对外部存储器I/F170的存取请求。
下面,说明第二实施方式的动作例。
图4是表示第二实施方式的存储器控制装置191的动作例的流程图。
对于与动作的说明1中说明的存储器控制装置190的动作例(参照图2)相同的步骤,付与相同标记,省略其说明。
当第1主板100接受到来自第2主板130的中断请求时,预备地发行对预定为从共有区域首先读取数据的地址的读访问请求(S1201)。为了处理该读访问请求,调用作为子程序的第二处理(S1202)。第二处理的详细内容在下面叙述。
之后,第1主板100为了读取由第2主板130写入到外部存储器180上的共有区域181的数据,发行读访问请求。为了处理该读访问请求,调用第二处理(S1205)。
在第二处理中,在来自第3比较部223的第3比较信息表示一致时(S1203的“是”),如果缓冲器存取历史保存部221的历史信息表示对数据缓冲器112的存取(S1204的“是”),缓冲器更新部220通过向缓冲器控制部111输出第1更新控制信号,进行使缓冲器控制部111发行对外部存储器I/F170的存取请求的控制(S1112)。而且,若缓冲器存取历史保存部221的历史信息表示对外部存储器180的存取(S1204的“否”),缓冲器更新部220通过向缓冲器控制部111输出第2更新控制信号,进行使缓冲器控制部111向第1主板100(S1111)输出数据缓冲器112的控制。
另一方面,在来自第3比较部223的第3比较信息表示不一致时,不输出第1及第2更新控制信号(S1203的“否”),如果来自第1比较部114的第1比较信息表示一致(S1110的“是”),缓冲器控制部111向第1主板100输出被保存在数据缓冲器112的数据(S1111),若第1比较信息表示不一致(S1110的“否”,缓冲器控制部111向外部存储器I/F170发行存取请求(S1112)。
在此,说明了利用步骤S1201中的预备的读访问,在步骤S1105的最初的数据读取中,不增加对外部存储器的存取负载,就可以保证数据缓冲器和外部存储器间的匹配性。
在步骤S1201,发行了对预定为从共有区域最初读取的数据的预备的读访问请求,所以,在通过步骤S1105的最初的数据读取调用的步骤S1203中,第3比较信息一定表示一致。
在步骤S1204参照缓冲器存取历史保存部221的历史信息。此时的历史信息,根据上述的预备的读访问请求,表示是数据缓冲器112被存取、还是外部存储器180被存取。
在示出了对数据缓冲器112的存取时,在步骤S1112发行对外部存储器I/F的读访问请求,取得最新的数据,所以保证了数据缓冲器112和外部存储器180间的匹配性。
另一方面,在示出了对外部存储器180的存取时,在步骤S1111输出数据缓冲器的数据,但其内容是用刚才的预备的存取请求从外部存储器刚取得的最新内容,也保证了数据缓冲器112和外部存储器180间的匹配性。
并且,在此两种情况的任意一个中,对外部存储器180的存取一次就可以。
根据以上的结构,通过将存取开始地址使用于假存取,即使在外部存储器180上不能设定第一实施方式中记述的那样的特定区域的情况下,也可以获得不增加对外部存储器的无用的存取时间就能够实现数据缓冲器的无效化的效果。
在第二实施方式中,说明了通过对连续的同一地址的读访问,不会增加对外部存储器的无用的存取就能够从外部存储器取得最新数据的结构。
但是,在第一实施方式和第二实施方式中存在如下课题,即,为了对数据缓冲器进行无效化从外部存储器取得最新数据,通过程序的执行,需要有意识地发行对特定地址的事先的读访问、或对存取开始地址的预备的读访问,换句话说,需要利用软件的管理。为了解决这样的课题,希望不利用软件的管理就可以进行数据缓冲器的无效化的结构。
下面,用第三实施方式和第四实施方式说明这样的结构。
(第三实施方式)
图5是表示第三实施方式的存储器控制装置192的功能结构一例的方框图。在图5中,同存储器控制装置192一起,表示了第1主板100、第2主板130、第3主板150以及外部存储器180。
存储器控制装置192是在第一实施方式中说明的存储器控制装置190(参照图1)上追加了假存取发行部302的结构。在图5中,对于与存储器控制装置190相同的功能模块,付与相同的标记,并省略其说明。
假存取发行部302是从第2主板130接受表示外部存储器180上的共有区域181的数据被更新的通知即中断请求,向第1主板I/F110发行对如上所述的特定地址的存取请求的单元。
当假存取发行部302从第1主板I/F110接收到对上述存取请求的响应时,向CPU101发行存取结束通知。
在此,也可以考虑为,中断请求和存取结束通知是相同规格的信号,假存取发行部302中继在第一实施方式中从第2主板130向CPU101供给的中断请求。
(动作的说明3)
下面,说明第三实施方式的动作例。
图6是表示第三实施方式的存储器控制装置192的动作例的流程图。
对于与动作说明1中说明的存储器控制装置190的动作例(参照图2)相同的步骤,付与相同的标记,省略其说明。
当假存取发行部302接受了中断请求时,向第1主板I/F110发行对特定地址的存取请求(在下面,还称为假存取请求)(S1301)。
然后,当假存取发行部302从第1主板I/F110接受到存取响应时,向CPU101发行存取结束通知(S1302)。
通过以上的结构,从假存取发行部302向第1主板I/F110发行用于无效化的存取,所以具有不需要使用软件有意识地发行假存取请求,并且能够保证数据缓冲器和外部存储器间的匹配性这一点不变化的效果。
(第四实施方式)
下面说明第四实施方式的构成。
图7是表示第四实施方式的存储器控制装置193的功能结构一例的方框图。在图7中,同存储器控制装置193一起,表示了第1主板100、第2主板130、第3主板150以及外部存储器180。
存储器控制装置193是在第二实施方式中说明的存储器控制装置191(参照图3)上追加了假存取发行部402的结构。在图7中,对于与存储器控制装置191相同的模块,付与相同的标记,省略其说明。
假存取发行部402是从第2主板130接受表示外部存储器180上的共有区域181的数据被更新的通知即中断请求,向第1主板I/F210发行对上述特定地址的存取请求的单元。
当假存取发行部402从第1主板I/F110接收到对上述存取请求的响应时,向CPU101发行存取结束通知。
在此,也可以考虑为,中断请求和存取结束通知是相同规格的信号,假存取发行部402中继在第二实施方式从第2主板130向CPU101供给的中断请求。
(动作的说明4)
下面,说明第四实施方式的动作例。
图8是表示第四实施方式的存储器控制装置193的动作例的流程图。
对于与动作说明2中说明的存储器控制装置191的动作例(参照图4)相同的步骤,付与相同的标记,省略其说明。
当假存取发行部302接受到中断请求时,向第1主板I/F210发行对从共有区域最初读取的数据的地址的假存取请求(S1401)。
然后,当假存取发行部402从第1主板I/F210接收到存取响应时,向CPU101发行存取结束通知(S1402)。
通过以上的结构,从假存取发行部402向第1主板I/F210发行用于无效化的存取,所以,具有不需要利用软件有意识地发行假存取,并且能够保证数据缓冲器和外部存储器间的匹配性这一点不改变的效果。
并且,在第三实施方式和第四实施方式中,说明了如下结构,即代替第1主板100的CPU101,由假存取发行部302及402发行假存取请求,但也可以在具备DMAC(DMA控制器)的主板中适用假存取发行部。该情况下,上述的中断请求表示DMAC的启动请求。DMAC通常不具备用于发行假存取的程序执行功能,所以用DMAC代替假存取发行部发行假存取请求的意义很大。
在第三实施方式及第四实施方式,说明了代替第1主板100的CPU101,由假存取发行部302及402发行假存取请求,由此不需要软件的管理并且能保证数据缓冲器和外部存储器间的匹配性的结构。此外,说明了这样的结构特别适用于具备DMAC的主板。
但是,通常DMAC具有多个通道,其中,可以考虑到,例如像从外部输入输出器件传送数据的通道那样,如果在发生了启动请求时进行假存取,那么存在会产生最初数据被读丢的问题的通道。为此,希望是能够对每个通道或每个启动要因禁止假存取请求的发行的结构。
下面,用第五实施方式和第六实施方式说明那样的结构。
(第五实施方式)
图9是表示第五实施方式的存储器控制装置194的功能结构一例的方框图。在图9中,同存储器控制装置194一起,表示了第1主板500、第2主板130、第3主板150以及外部存储器180。
存储器控制装置194具备在DMAC通道所固有的假存取发行部504及假存取控制寄存器503,来代替第四实施方式中说明的存储器控制装置193(参照图7)的假存取发行部402。在图9中,对于与存储器控制装置193相同的功能模块,付与相同的标记,省略其说明。而且,省略第1主板I/F210的详细记载。
第1主板500包括CPU101及DMAC501。DMAC501是三通道的DMA控制器,包括第1通道502、第2通道505、及第3通道506。在第1通道502中表示的假存取发行部504及假存取控制寄存器503是存储器控制装置194的一部分。
当第1通道502从第2主板130接受了启动请求时,根据在例如未图示的构成寄存器中预先设定的内容,开始数据传送。
假存取控制寄存器503保存在第1通道502接受了启动请求时是否发行假存取(是允许,还是禁止)的设定,并且向假存取发行部504输出设定内容。
同样的假存取控制寄存器,也分别设置在第2通道505、第3通道506(省略图示)。
当假存取发行部504接受了启动请求时,如果在假存取控制寄存器503中被设定为允许,那么发行与上述假存取发行部402发行的假存取请求相同的假存取请求,如果被设定为禁止,那么禁止上述假存取请求的发行。
同样的假存取发行部,也分别设置在第2通道505、第3通道506(省略图示)。
第2通道505、及第3通道506具有与第1通道502相同的结构,当分别接受了启动请求时,在根据假存取控制寄存器的设定内容发行了假存取请求之后,开始预定的数据的传送。
(第五实施方式)
下面,说明第五实施方式的动作例。
图10是表示第五实施方式的存储器控制装置194的动作例的流程图。
对于与动作说明4中说明的存储器控制装置193的动作例(参照图8)相同的步骤,付与相同标记,省略其说明。在此,设假存取发行部504发行与假存取发行部402发行的假存取请求相同的假存取请求,进行说明。
CPU101对每个通道进行是否向假存取控制寄存器503发行假存取请求的设定(S1501)。
当外部存储器180上的共有区域181被更新、从第2主板130接受了作为中断请求的对第1通道502的启动请求时,被请求启动的第1通道502的假存取发行部504参照假存取控制寄存器503的内容,如果设定为允许(S1502的“是”),向第1主板I/F210发行对从共有区域181最初读取的数据的地址的假存取请求,若设定为禁止,禁止上述假存取请求的发行(S1502的“否”)。
然后,DMAC501的第1通道502进行共有区域181的数据存取(S1105~S1106)。
根据以上的结构,可以对每个通道控制DMAC启动时的假存取发行的有无,所以,具有对于不需要假存取、或者假存取有害的通道可以禁止启动时的假存取发行的效果。
(第六实施方式)
下面,说明第六实施方式的结构。
图11是表示第六实施方式的存储器控制装置195的功能结构一例的方框图。在图11,与存储器控制装置195一起,表示了第1主板600、第2主板130、第3主板150以及外部存储器180。
存储器控制装置195具有DMAC的通道所固有的假存取发行部603、以及通道中共通的假存取控制寄存器606,来代替在第四实施方式中说明的存储器控制装置193(参照图7)的假存取发行部402。在图11中,对于与存储器控制装置193相同的功能模块,付与相同的标记,省略其说明。而且,省略第1主板I/F210的详细记载。
第1主板600包括CPU101、DMAC601、SIF(串行接口)607、及TIMER(定时器)608。DMAC501是三通道的DMA控制器,包括第1通道602、第2通道604、以及第3通道605。而且,如图所示,根据分别与第2主板130、SIF607以及TIMER608的三种启动要因对应的第1启动请求、第2启动请求以及第3启动请求,进行启动。
在DMAC601及第1通道602中表示的假存取控制寄存器606及假存取发行部603是存储器控制装置195的一部分。
当第1通道602从第2主板130接受了启动请求时,按照在例如未图示的构成寄存器中预先设定的内容,开始数据传送。
假存取控制寄存器606由第1通道602、第2通道604、第3通道605共用,按每个启动要因、即第1至第3启动请求的每个,保存在接受了启动请求时是否发行假存取(是允许,还是禁止)的设定,向第1通道602至第3通道605输出设定内容。
当假存取发行部603接受了第1至第3启动请求的一个时,如果对于接受的启动请求在假存取控制寄存器606设定为允许,那么发行与上述假存取发行部402发行的假存取请求相同的假存取请求,如果设定为禁止,则禁止上述假存取请求的发行。
同样的假存取发行部也分别设在第2通道604、第3通道605(省略图示)。
第2通道604及第3通道605具有与第1通道602相同的构成,当分别接受了第1至第3启动请求的一个时,根据假存取控制寄存器606的设定内容发行了假存取请求之后,开始预定的数据传送。
(动作说明6)
下面,说明第六实施方式的动作例。
图12是表示第六实施方式的存储器控制装置195的动作例的流程图。
对于与动作说明4中说明的存储器控制装置193的动作例(参照图8)相同的步骤,付与相同标记,省略其说明。在此,设假存取发行部603发行与假存取发行部402发行的假存取请求相同的假存取请求,进行说明。
CPU101对每个启动要因进行是否向假存取控制寄存器606发行假存取请求的设定(S1601)。
当外部存储器180上的共有区域181被更新、从第2主板130接受了作为中断请求的第1启动请求时,向与第1启动请求预先建立了对应的通道(在此设为第1通道602)通知上述第1启动请求。
当第1通道602接受了上述第1启动请求时,参照假存取控制寄存器606的内容,如果对第1启动请求设定为允许(S1602的“是”),则向第1主板I/F210发行对从共有区域181最初读取的数据的地址的假存取请求(S1602),如果设定为禁止,则禁止上述假存取请求的发行(S1602的“否”)。
然后,DMAC601的第1通道602进行共有区域181的数据的存取(S1105~S1106)。
根据以上的结构,能够按每个启动要因控制DMAC启动时的假存取发行的有无,所以,具有对于不需要假存取、或者假存取有害的启动要因能够禁止启动时的假存取发行的效果。
在背景技术部分,在主板间不进行排他控制的比较简单的***中,特定的主板为了检测出位于外部存储器上的***的状态被其它主板重写的情况,在对特定的地址进行轮询存取时,重复进行对相同地址的读取,所以,存在数据缓冲器被连续命中、不能取得与外部存储器的匹配性的课题,并指出了现有技术没有公开示其解决方法。
为解决这样的课题,希望具有在例如进行轮询存取时能够确实地取得与外部存储器的匹配性的结构。
下面,在第七实施方式中说明其结构。
(第七实施方式)
图13是表示第七实施方式的存储器控制装置196的功能结构一例的方框图。在图13中,与存储器控制装置196一起,表示了第1主板100、第2主板130、第3主板150以及外部存储器180。
存储器控制装置196是将第一实施方式中说明的存储器控制装置190(参照图1)的第1主板I/F110中的特定存取检测部123替换为特定存取检测部723而构成。在图13中,对于与存储器控制装置190相同的功能模块,付与相同的标记,省略其说明。
特定存取检测部723是在连续发生具有相同存取信息的存取请求时,控制缓冲器控制部111以便在其第二次以后的存取请求中一定对外部存储器180进行存取、并且对缓冲器进行无效化的单元,包括缓冲器无效化部720、第4比较部721以及存取历史缓冲器722。
在此,存取信息是指,来自第1主板100的存取请求所具有的参数的一部分或全部,地址、传送大小、读/写的指定是其一例。
存取历史缓冲器722保存从第1主板100最后接受的存取请求所具有的存取信息。
第4比较部721比较从第1主板100新接受的存取请求所具有的存取信息、和被保存在存取历史缓冲器722的存取信息,向缓冲器无效化部720输出表示是否一致的第4比较信息。
第4比较部721对地址一定进行该存取信息的比较,进一步,还可以对传送大小、读/写的指定进行。
缓冲器无效化部720从第4比较部721参照第4比较信息,在表示一致时,向缓冲器控制部111输出无效化控制信号。
当缓冲器控制部111被提供该无效化控制信号时,与第1比较部114的第1比较信息无关地对数据缓冲器112进行无效化,发行对外部存储器I/F170的存取请求。此时,对外部存储器I/F170发行存取请求时的传送大小,使用由保存在存取历史缓冲器722的存取信息表示的传送大小,而且,读取的数据不保存在数据缓冲器112,而是输出到第1主板100。
(动作说明7)
下面,说明第七实施方式的动作例。
图14是表示第七实施方式的存储器控制装置196的动作例的流程图。
对于与动作说明1中说明的存储器控制装置190的动作例(参照图2)相同的步骤,付与相同标记,省略其说明。
第1主板100为了检测出位于外部存储器180上的轮询地址的数据被重写为规定的期待值的情况,发行读访问请求(S1701)。为了处理该读访问请求,调用作为子程序的第三处理(S1703)。第三处理的详细内容后述。
第1主板100比较取得的数据和上述期待值,若不一致则返回到步骤S1701,继续进行定时查询(S1702的“否”),如果一致,则跳过定时查询循环(S1702的“是”),前进到规定的处理。
下面,说明第三处理。该处理是由第1主板I/F710执行的子程序处理。
缓冲器无效化部720参照第4比较部721的第4比较信息,在表示一致时(S1704的“是”),向缓冲器控制部111输出无效化控制信号。
当缓冲器控制部111接受了该无效化控制信号时,与第1比较部114的第1比较信息无关地对数据缓冲器112进行无效化,并且向外部存储器I/F170发行请求从存取历史缓冲器722参照的传送大小的数据的存取请求。缓冲器控制部111不在数据缓冲器112中保存通过该存取请求从外部存储器180取得的数据,就向第1主板100输出(S1705)。
在第4比较信息表示不一致时,不输出无效化控制信号(S1704的“否”),根据第1比较信息进行对数据缓冲器或外部存储器的存取(S1110~S1112)。
通过以上的结构,当重复发行了相同的存取请求时,不是从数据缓冲器、而是从外部存储器进行读取,所以,在特定的主板向外部存储器上的特定地址进行轮询存取时,可以不需要软件的管理就可以保证数据缓冲器和外部存储器间的匹配性。而且,从外部存储器进行读取时,只对必要的传送大小分的数据进行存取请求,所以,具有可以减轻对外部存储器的存取负载的效果。
但是,根据第七实施方式的结构,如果重复发行相同的存取请求,那么数据缓冲器一定被无效化,所以,存在将来主板对外部存储器进行存取时的数据缓冲器的命中率下降,对外部存储器的存取效率恶化的课题。
下面,在第八实施方式说明解决其问题的结构。
(第八实施方式)
图15是表示第八实施方式的存储器控制装置197的功能结构一例的方框图。在图15,与存储器控制装置197一起,表示了第1主板100、第2主板130、第3主板150以及外部存储器180。
存储器控制装置197是将第七实施方式中说明的存储器控制装置196(参照图13)的第1主板I/F710中的特定存取检测部723替换为特定存取检测部821的结构。在图15中,对于与存储器控制装置196相同的功能模块,付与相同的标记,省略其说明。
特定存取检测部821是在连续发生具有相同存取信息的存取请求时,控制缓冲器控制部111以便在其第二次以后的存取请求中一定进行对外部存储器180的存取、并且用从外部存储器180读取的数据更新数据缓冲器112的内容的单元,将上述的特定存取检测部723的缓冲器无效化部720替换为缓冲器更新部820构成。
缓冲器更新部820从第4比较部721参照第4比较信息,在表示一致时,向缓冲器控制部111输出更新控制信号。
当缓冲器控制部111被提供该更新控制信号时,与第1比较部114的第1比较信息无关地发行对外部存储器I/F170的存取请求。然后,向第1主板100输出读取的数据,并且用该数据更新数据缓冲器112的内容。
(动作的说明8)
下面,说明第八实施方式的动作例。
图16是表示第八实施方式的存储器控制装置197的动作例的流程图。
对于与动作说明7中说明的存储器控制装置196的动作例(参照图14)相同的步骤,付与相同标记,省略其说明。
第1主板100执行发行对轮询地址的读访问请求的循环处理(S1701~S1702),由于处理该读访问请求,调用作为子程序的第四处理(S1801)。
在第四处理中,缓冲器更新部820参照第4比较部721的第4比较信息,在表示一致时(S1802的“是”),向缓冲器控制部111输出更新控制信号。
当缓冲器控制部111接受了该更新控制信号时,与第1比较部114的第1比较信息无关地向外部存储器I/F170发行存取请求(S1112)。缓冲器控制部111将通过该存取请求从外部存储器180取得的数据保存在数据缓冲器112,并且向第1主板100输出。
在第4比较信息表示不一致时,不输出更新控制信号(S1802的“否”),根据第1比较信息进行对数据缓冲器或外部存储器的存取(S1110~S1112)。
通过以上的结构,在重复发行了相同存取请求时,数据缓冲器的内容也被更新,所以,将来具有能够防止主板对外部存储器进行存取时的数据缓冲的命中率下降的效果。
但是,根据第七实施方式及第八实施方式的结构,在进行轮询存取期间,每次发生对外部存储器的存取请求,所以,具有来自CPU的存取延迟时间(latency,从CPU发出存取请求到实际取得数据为止的等待时间)变大、并且对外部存储器I/F的存取负载也不必要地增大的课题。
下面,在第九实施方式说明解决该课题的结构。
(第九实施方式)
图17是表示第九实施方式的存储器控制装置198的功能结构一例的方框图。在图17,与存储器控制装置198一起,表示了第1主板100、第2主板130、第3主板150以及外部存储器180。
存储器控制装置196是将第八实施方式中说明的存储器控制装置197(参照图15)的第1主板I/F810及外部存储器I/F170分别替换为第1主板I/F910及外部存储器I/F970而构成。在图17中,对于与存储器控制装置197相同的功能模块,付与相同的标记,省略其说明。
第1主板I/F910具有在从外部存储器I/F970来的响应比对外部存储器180进行存取时更快时,向第1主板100输出数据缓冲器112的内容的功能。第1主板I/F910是在第1主板I/F810上追加特定存取部922和循环计数器921而构成。特定存取部922是将第1主板I/F810的特定存取检测部821中的缓冲器更新部替换为缓冲器选择部920而得到。
外部存储器I/F970是同外部存储器I/F170相比追加了管理轮询地址中的数据更新的有无,并且在无更新时对于来自第1主板I/F910的轮询地址的存取请求不对外部存储器180进行存取而尽早响应的功能的单元,是在外部存储器I/F170上追加了轮询地址设定寄存器971、轮询存取历史保存部972、及外部存储器选择部973而构成。
第1主板I/F910的各部分的详细功能如下。
缓冲器选择部920包含与缓冲器更新部820相同的功能,当从第1主板100有存取请求时,从第4比较部721参照第4比较信息,在表示一致时,向缓冲器控制部111输出更新控制信号。
当缓冲器控制部111被提供该更新控制信号时,与第1比较部114的第1比较信息无关地发行对外部存储器I/F170的存取请求。
循环计数器921计测从缓冲器控制部111向外部存储器I/F970发行存取请求开始,直到返回存取响应信号的循环次数,向缓冲器选择部920通知计测的循环次数。
如果被通知的循环次数在规定循环以下,缓冲器选择部920向缓冲器控制部111输出第1选择控制信号,如果上述循环次数大于上述规定的循环,向缓冲器控制部111输出第2选择控制信号。
当缓冲器控制部111被提供了该第1选择控制信号时,向第1主板100输出数据缓冲器112的数据,当被提供了第2选择控制信号时,向第1主板100输出从外部存储器I/F970送回的数据,并且保存在数据缓冲器112。
而且,外部存储器I/F970的各部分的详细功能如下。
从各主板对轮询地址设定寄存器971任意地设定并保存用于轮询存取的外部存储器180上的轮询地址。
轮询存取历史保存部972保存表示数据缓冲器112和外部存储器180间是否有匹配性的状态值。作为具体的一例,该状态值也可以是,当接收了对从第1主板I/F910、第2主板I/F140、及第3主板I/F160的任一个设定在轮询地址设定寄存器971中的轮询地址的写访问请求时,就复位为“0”;当从第1主板I/F910接受了对上述轮询地址的读访问请求时,就设置为“1”;当从第1主板I/F910接受了对上述轮询地址以外的读访问请求时,就复位为“0”。
在此,状态值“1”表示外部存储器180的轮询地址中的当前数据也被取入到数据缓冲器112而考虑为有匹配性的状态,状态值“0”表示外部存储器180的数据被重写、或者在数据缓冲器112中取入轮询地址以外的数据而考虑为不具有匹配性的状态。
当发生了从第1主板I/F910对上述轮询地址的读访问请求时,如果轮询存取历史保存部972的内容是状态值“0”,则外部存储器选择部973对外部存储器180进行存取,将取得的数据返回给第1主板I/F910;如果是状态值“1”,则外部存储器选择部973不对外部存储器180进行存取,而是立刻、即比对外部存储器180进行存取时更短时间内向第1主板I/F910返回响应信号。
(动作的说明9)
下面,说明第九实施方式的动作例。
图18是表示第九实施方式的存储器控制装置198的动作例的流程图。
对于与动作说明8中说明的存储器控制装置197的动作例(参照图16)相同的步骤,付与相同标记,省略其说明。
第1主板100执行发行对轮询地址的读访问请求的循环处理(S1701~S1702),为了处理该读访问请求,调用作为子程序的第5处理(S1901)。
在第5处理中,缓冲器选择部920参照第4比较部721的第4比较信息,当表示一致时(S1902的“是”),向缓冲器控制部111输出更新控制信号。
当缓冲器控制部111接受了该更新控制信号时,与第1比较部114的第1比较信息无关地向外部存储器I/F970发行存取请求(S1903)。当发行了该存取请求时,循环计数器921开始循环次数的计测。
当外部存储器I/F970接受了该存取请求时,如上所述地,根据保存在轮询存取历史保存部972中的状态值,或者立刻返回存取响应信号、或者对外部存储器180进行存取而取得轮询地址中的最新数据,向第1主板I/F910返回该数据和存取响应信号。
当从外部存储器I/F970返回了存取响应信号时,循环计数器921向缓冲器选择部920通知至今计测的循环次数。
若通知的循环次数在规定的循环以下(S1904的“是”),缓冲器选择部920向缓冲器控制部111输出第1选择控制信号,缓冲器控制部111接受了该第1选择控制信号后,向第1主板100输出数据缓冲器112的数据(S1111)。
而且,若通知的循环次数大于上述规定的循环(S1904的“否”),缓冲器选择部920向缓冲器控制部111输出第2选择控制信号,缓冲器控制部111接受该第2选择控制信号后,向第1主板100输出从外部存储器I/F170返回的数据,并且保存在数据缓冲器112(S1905)。
而且,当第4比较信息表示不一致时,不输出上述的更新控制信号(S1902的“否”),根据第1比较信息进行对数据缓冲器或外部存储器的存取(S1110~S1112)。
通过以上结构,可以得到如下效果:即使在进行轮询存取期间,也不会每次发生对外部存储器的存取请求,抑制来自CPU的存取延迟时间,并且可以减轻对外部存储器I/F的存取负载。
而且,通过在外部存储器I/F内具有轮询地址设定寄存器和轮询存取历史保存部、及外部存储器选择部,在外部存储器I/F以快的循环响应时,数据缓冲器的数据总能够再利用,并且发挥降低来自CPU的存取延迟时间的效果。
涉及本发明的存储器控制装置是,在多个主板共有外部存储器、在主板间进行数据传递的***中,具有保证在对应各主板的主板接口内具有的数据缓冲器和外部存储器间的数据匹配性的结构,所以,作为安装在DVD记录器的***LSI等是有用的。

Claims (17)

1.一种存储器控制装置,进行主板和外部存储器间的数据传送,其特征在于,具备:
主板接口,接受来自上述主板的存取请求,输出对上述外部存储器的存取请求;以及
外部存储器接口,接受来自上述主板接口的存取请求,进行对上述外部存储器的存取;
上述主板接口具备:
数据缓冲器,在请求存取时保存从上述外部存储器接口传送的数据;
地址缓冲器,保存上述请求存取的地址;
第1比较单元,比较新请求存取的地址和被保存在上述地址缓冲器中的地址,输出表示在被保存在上述数据缓冲器中的数据的地址范围内是否一致的第1比较信息;
缓冲器控制单元,在上述第1比较信息表示不一致时,对上述外部存储器接口发行上述存取请求,在上述第1比较信息表示一致时,不对上述外部存储器接口发行上述存取请求,而是从上述数据缓冲器对主板进行数据输出;以及
特定存取检测单元,当检测出上述存取请求是从上述主板对上述外部存储器上的特定地址的存取请求时,同上述第1比较信息是表示一致还是不一致无关地,判别对上述外部存储器接口是否发行上述存取请求,控制上述缓冲器控制单元。
2.如权利要求1所述的存储器控制装置,其特征在于,
上述特定存取检测单元具备:
第2比较单元,比较上述新请求存取的地址和上述外部存储器上的特定地址,向上述缓冲器控制单元输出表示是否一致的第二比较信息;以及
无效化单元,在上述第2比较信息表示一致时,控制上述缓冲器控制单元,以便对上述地址缓冲器的内容进行无效化,并虚拟地进行存取响应。
3.如权利要求2所述的存储器控制装置,其特征在于,
上述特定地址是,外部存储器接口为了在存取控制时使用,禁止进行来自上述主板的存取的外部存储器上的特定区域的一部分地址。
4.如权利要求2所述的存储器控制装置,其特征在于,
上述特定存取检测单元还具备可以任意设定特定地址的特定地址设定寄存器。
5.如权利要求2所述的存储器控制装置,其特征在于,
上述存储器控制装置还具备假存取发行单元,该假存取发行单元接受表示上述外部存储器上的共有数据已被更新的通知,向上述主板接口发行对上述特定的地址的存取请求。
6.如权利要求1所述的存储器控制装置,其特征在于,
上述特定存取检测单元同上述第1比较信息是否表示一致和不一致的任一个无关地,根据上述新请求存取的地址和过去请求存取的地址之间的比较,控制上述缓冲器控制单元,使得强制地发行或禁止对上述外部存储器接口的存取请求。
7.如权利要求6所述的存储器控制装置,其特征在于,
上述特定存取检测单元具备:
缓冲器存取历史保存单元,保存表示来自上述主板的存取请求是对上述外部存储器接口的存取请求、还是对上述数据缓冲器的存取请求的历史信息;
第3比较单元,比较上述新请求存取的地址和被保存在上述地址缓冲器的地址,向缓冲器更新单元输出表示是否完全一致的第3比较信息;以及
缓冲器更新单元,在上述第3比较信息表示一致、上述缓冲器存取历史保存单元的历史信息表示对上述数据缓冲器的存取请求时,控制上述缓冲器控制单元,使得强制地对上述外部存储器接口发行存取请求。
8.如权利要求7所述的存储器控制装置,其特征在于,
上述存储器控制装置还具备假存取发行单元,该假存取发行单元接受表示上述外部存储器上的共有数据已被更新的通知,向上述主板接口发行对被保存在上述地址缓冲器的地址的存取请求。
9.如权利要求5或8所述的存储器控制装置,其特征在于,
上述主板是直接存储器存取控制器;
上述通知表示上述直接存储器存取控制器的启动请求;
当上述假存取发行单元接受到上述通知时,控制上述直接存储器存取控制器,使得在上述存取请求的发行之后开始数据传送。
10.如权利要求9所述的存储器控制装置,其特征在于,
上述直接存储器存取控制器具备多个通道;
上述通知表示上述多个通道的一个的启动请求;
上述存储器控制装置还具备按每个上述通道设定为允许及禁止的某一个值的假存取控制寄存器;
对于通过上述通知请求了启动的通道,在上述假存取控制寄存器的值被设定为禁止时,上述假存取发行单元禁止上述存取请求的发行。
11.如权利要求9所述的存储器控制装置,其特征在于,
上述直接存储器存取控制器具备多个通道;
上述通知将上述多个通道的一个的启动请求和启动要因一起表示;
上述存储器控制装置还具备假存取控制寄存器,该假存取控制寄存器按每个启动要因设定为允许及禁止的某一个值,并且由各通道共用;
对于由上述通知表示的启动要因,在上述假存取控制寄存器的值被设定为禁止时,上述假存取发行单元禁止上述存取请求的发行。
12.如权利要求6所述的存储器控制装置,其特征在于,
上述特定存取检测单元具备:
存取历史缓冲器,保存至少包含上述过去请求存取的地址的存取信息;
第4比较单元,比较至少包含上述新请求存取的地址的新存取信息和被保存在上述存取历史缓冲器的存取信息,输出同一存取是否重复进行的第4比较信息;以及
缓冲器无效化单元,在上述第4比较信息表示重复存取时,控制上述缓冲器控制单元,使得对上述外部存储器接口强制地发行存取请求。
13.如权利要求12所述的存储器控制装置,其特征在于,
上述缓冲器无效化单元在控制缓冲器控制单元,以便对外部存储器接口发行存取请求时,
当上述第4比较信息表示重复存取时,控制成发行请求在上述新的存取请求中表示的请求大小的数据的存取请求,
当上述第4比较信息表示不是重复存取时,控制成发行请求上述数据缓冲器大小的数据的存取请求。
14.如权利要求12所述的存储器控制装置,其特征在于,
上述存储器控制装置还具备缓冲器更新单元,在上述第4比较信息表示重复存取时,上述缓冲器更新单元用从上述外部存储器接口读取的数据更新上述数据缓冲器的内容。
15.如权利要求14所述的存储器控制装置,其特征在于,
上述外部存储器接口具备:
轮询地址设定寄存器,可以任意设定上述外部存储器上的地址;
轮询存取历史保存单元,通过对被设定在上述轮询地址设定寄存器中的地址的读访问进行设置,通过写访问进行复位;以及
外部存储器选择单元,当发生了从上述主板接口对被设定在上述轮询地址设定寄存器的地址的读访问请求时,如果上述轮询存取历史保存单元被设置,则禁止对上述外部存储器的存取,在同对上述外部存储器进行存取时相比在短时间内,对上述主板接口进行响应;
上述特定存取检测单元还具备缓冲器选择单元,当从上述外部存储器接口在规定时间以内有了响应时,控制上述缓冲器控制单元,以便向上述主板输出被保存在上述数据缓冲器的数据。
16.如权利要求15所述的存储器控制装置,其特征在于,
上述轮询存取历史保存单元还通过来自上述主板接口的对上述轮询地址以外的读访问进行复位。
17.一种存储器控制方法,其特征在于,
利用存储器控制装置进行主板和外部存储器间的数据传送,该存储器控制装置包括:主板接口,接受来自上述主板的存取请求,输出对上述外部存储器的存取请求;以及外部存储器接口,接受来自上述主板接口的存取请求,进行对上述外部存储器的存取;
上述主板接口具备:数据缓冲器,在请求存取时保存从上述外部存储器接口传送的数据;以及地址缓冲器,保存上述请求存取的地址;
上述存储器控制方法包括:
第1比较步骤,比较新请求存取的地址和被保存在上述地址缓冲的地址,输出表示在保存在上述数据缓冲器中的数据的地址范围内是否一致的第1比较信息;
缓冲器控制步骤,在上述第1比较信息表示不一致时,对上述外部存储器接口发行上述存取请求,在上述第1比较信息表示一致时,不对上述外部存储器接口发行上述存取请求,而是从上述数据缓冲器对主板进行数据输出;以及
特定存取检测步骤,与上述第1比较信息是表示一致还是不一致无关地,检测来自主板的特定存取请求,判别是否对上述外部存储器接口发行存取请求,控制上述缓冲器控制单元。
CNA2006101534891A 2005-09-16 2006-09-15 存储器控制装置 Pending CN1932783A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2005271033A JP4834362B2 (ja) 2005-09-16 2005-09-16 メモリ制御装置。
JP271033/2005 2005-09-16

Publications (1)

Publication Number Publication Date
CN1932783A true CN1932783A (zh) 2007-03-21

Family

ID=37878627

Family Applications (1)

Application Number Title Priority Date Filing Date
CNA2006101534891A Pending CN1932783A (zh) 2005-09-16 2006-09-15 存储器控制装置

Country Status (3)

Country Link
US (1) US7516254B2 (zh)
JP (1) JP4834362B2 (zh)
CN (1) CN1932783A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102473149A (zh) * 2009-07-20 2012-05-23 飞思卡尔半导体公司 包括缓冲器控制逻辑的信号处理***、集成电路及其方法
CN106371972A (zh) * 2016-08-31 2017-02-01 天津国芯科技有限公司 用于解决主设备间数据一致性的总线监控方法及装置
CN106874230A (zh) * 2015-12-11 2017-06-20 南车株洲电力机车研究所有限公司 应用于pc/104总线接口的子板及应用于该子板的方法

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1962181A4 (en) * 2005-12-02 2010-05-26 Panasonic Corp BUFFER CONTROL UNIT AND BUFFER MEMORY
US8219658B2 (en) 2006-03-28 2012-07-10 Panasonic Corporation Network system
JP2008139908A (ja) * 2006-11-29 2008-06-19 Matsushita Electric Ind Co Ltd メモリ制御装置、コンピュータシステム及びデータ再生記録装置
US8307190B2 (en) * 2006-12-25 2012-11-06 Panasonic Corporation Memory control device, memory device, and memory control method
JP5130754B2 (ja) * 2007-03-15 2013-01-30 富士通セミコンダクター株式会社 半導体集積回路及びメモリシステム
KR101505005B1 (ko) * 2008-12-05 2015-03-24 삼성전자주식회사 메모리 장치 및 메모리 장치의 관리 방법
KR101056131B1 (ko) * 2009-07-09 2011-08-10 주식회사 디지털존 메모리의 랜덤 억세스 장치 및 랜덤 억세스 방법

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS54148329A (en) * 1978-05-15 1979-11-20 Toshiba Corp Buffer memory control system and information processor containing buffer memory
US4800440A (en) * 1985-12-23 1989-01-24 Nec Corporation Digital image signal coding/decoding circuit with buffer memory storing reference line as compression codes
JP2936036B2 (ja) * 1992-10-27 1999-08-23 富士通株式会社 メモリアクセス装置
JPH06243037A (ja) * 1993-02-18 1994-09-02 Mitsubishi Electric Corp データ先読み装置
JPH06348593A (ja) * 1993-06-03 1994-12-22 Sumitomo Electric Ind Ltd データ転送制御装置
US5953538A (en) * 1996-11-12 1999-09-14 Digital Equipment Corporation Method and apparatus providing DMA transfers between devices coupled to different host bus bridges
JP4370063B2 (ja) 2001-06-27 2009-11-25 富士通マイクロエレクトロニクス株式会社 半導体記憶装置の制御装置および半導体記憶装置の制御方法
JP2003281084A (ja) 2002-03-19 2003-10-03 Fujitsu Ltd 外部バスへのアクセスを効率的に行うマイクロプロセッサ

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102473149A (zh) * 2009-07-20 2012-05-23 飞思卡尔半导体公司 包括缓冲器控制逻辑的信号处理***、集成电路及其方法
CN102473149B (zh) * 2009-07-20 2015-02-04 飞思卡尔半导体公司 包括缓冲器控制逻辑的信号处理***、集成电路及其方法
CN106874230A (zh) * 2015-12-11 2017-06-20 南车株洲电力机车研究所有限公司 应用于pc/104总线接口的子板及应用于该子板的方法
CN106874230B (zh) * 2015-12-11 2020-01-03 南车株洲电力机车研究所有限公司 应用于pc/104总线接口的子板及应用于该子板的方法
CN106371972A (zh) * 2016-08-31 2017-02-01 天津国芯科技有限公司 用于解决主设备间数据一致性的总线监控方法及装置
CN106371972B (zh) * 2016-08-31 2019-04-05 天津国芯科技有限公司 用于解决主设备间数据一致性的总线监控方法及装置

Also Published As

Publication number Publication date
JP4834362B2 (ja) 2011-12-14
JP2007080220A (ja) 2007-03-29
US20070088855A1 (en) 2007-04-19
US7516254B2 (en) 2009-04-07

Similar Documents

Publication Publication Date Title
CN1932783A (zh) 存储器控制装置
CN1120425C (zh) 存储器控制器和存储器控制方法
CN1149492C (zh) 遥控方法和服务器
CN101034381A (zh) 多主机***和数据传送***
CN1280714C (zh) 独立处理多个指令流、软式控制各指令流的处理功能的多线程处理器
CN1270270C (zh) 接近通信***、接近通信方法、数据管理装置、数据管理方法、记录介质和计算机程序
CN1517869A (zh) 处理器、运算处理方法和优先度决定方法
CN1241745A (zh) 显示控制装置和显示控制方法
CN1262929C (zh) 存储器控制装置和存储器控制方法
CN1154908C (zh) 数据输入存贮器并对存储器内存入的数据进行运算输出并能高速操作的数据输入输出装置
CN1734438A (zh) 信息处理设备、信息处理方法和程序
CN1945741A (zh) 半导体存储装置及具备该半导体存储装置的收发***
CN1908904A (zh) 实时内部简易监视器
CN1890624A (zh) 电子装置及其控制方法、主机装置及其控制方法
CN1991798A (zh) 半导体存储装置
CN101065725A (zh) 命令供给装置
CN1770130A (zh) 总线控制器件及方法、仲裁器件及方法和集成电路器件
CN1477524A (zh) 图像处理装置
CN1607513A (zh) 数据传输控制装置、电子设备以及数据传输控制方法
CN1684022A (zh) 数据处理***
CN1924761A (zh) 数据处理装置、程序、记录介质和内容回放装置
CN1573702A (zh) 资源管理装置、资源管理方法及存储媒体
CN1385964A (zh) 信号检测电路、数据传送控制装置和电子设备
CN1014189B (zh) 总线流程控制机构
CN1532710A (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
AD01 Patent right deemed abandoned

Effective date of abandoning: 20070321

C20 Patent right or utility model deemed to be abandoned or is abandoned