CN1940898A - 存储控制器 - Google Patents
存储控制器 Download PDFInfo
- Publication number
- CN1940898A CN1940898A CNA2006101595429A CN200610159542A CN1940898A CN 1940898 A CN1940898 A CN 1940898A CN A2006101595429 A CNA2006101595429 A CN A2006101595429A CN 200610159542 A CN200610159542 A CN 200610159542A CN 1940898 A CN1940898 A CN 1940898A
- Authority
- CN
- China
- Prior art keywords
- mentioned
- address
- output
- memory controller
- control signal
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1668—Details of memory controller
- G06F13/1689—Synchronisation and timing concerns
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Transfer Systems (AREA)
- Memory System (AREA)
Abstract
一种实现存储器访问的效率化、高速化的存储控制器。它是配设在CPU(10)和存储器(30)之间,从CPU(10)输入对总线周期的类型是地址与前周期的地址连续的连续周期还是地址与前周期的地址无关的非连续周期进行指示的控制信号(TRANS),输出向上述CPU通知总线周期结束的控制信号(RDY)的存储控制器,在总线周期结束前,根据现在的地址预先生成以连续周期为前提的地址,在后面的时钟周期中,向存储器输出以上述连续周期为前提的地址,向上述CPU输出来自与以上述连续周期为前提的地址对应的存储器的读出数据,此时,在本来设为要供给与非连续周期对应的地址的数据的场合,把RDY信号设为非激活,从而在CPU中不取入该读出数据,结果,使该读出数据无效。
Description
技术领域
本发明涉及存储控制器,涉及与来自CPU的总线周期包含连续周期和非连续周期的总线连接的存储控制器。
背景技术
首先,参照图3来说明存储控制器的典型构成的一个例子(另外,在后述的本发明的实施例的说明中也要参照图3)。如图3所示,存储控制器20与作为上位装置的CPU10(处理器)通过地址总线(ADDR)、数据总线(RDATA)、控制信号(例如总线传送控制信号TRANS、规定传送单位的大小的信号SIZE、握手信号RDY)而连接,进行存储器30的选择(片选信号MCSZ)、向存储器30的地址MADDR的输出以及存储器30的数据MDIN的读出、向CPU10的数据的写入的控制。
另外,在图3中,CPU10和存储控制器20间的写入数据总线(WDATA)、从存储控制器20向存储器30的写入数据MDOUT被省略,从存储控制器20向存储器30的写入使能信号、输出使能信号等控制信号也被省略。
图4是用于说明图3的存储控制器的动作的一个例子的定时波形图。另外,图3所示的构成及图4所示的定时动作是例如基于非专利文献1记载,由本发明者作成的。
在图4中,CLK是驱动CPU10、存储控制器20的时钟信号。
RDY信号是从存储控制器20输出到CPU10的控制信号,向CPU10通知总线周期(存储器访问)的结束。在图4表示的例子中,CPU10在时钟信号CLK的上升沿,在RDY信号为高电平(激活状态)时,判断为总线周期结束。在时钟信号CLK的上升沿在RDY为低电平(非激活状态)时,以时钟周期单位来延长总线周期。另外,在图4中,总线周期以2时钟周期结束,在各时钟周期(1)至(11)中,未表示以时钟周期单位延长了的总线周期。图3、图4的RDY信号在例如非专利文献1中与时钟使能信号CLKEN对应。在非专利文献1中,CPU(芯核)对CLKEN的值在时钟信号CLK的上升沿进行取样,如果为HIGH电平就进行总线周期的结束的控制,如果为LOW电平就以时钟周期单位来进行总线周期延长的控制。
总线传送控制信号TRANS(另外,TRANS也称为「总线传送状态信号」或是「存储器请求信号」)是从CPU10输出到存储控制器20的控制信号(2比特),把
·非连续周期(也称为NonSeq;「非连续访问」),
·连续周期(也称为Seq;「连续访问」),
·内部周期(internal)等总线访问的类型通知存储控制器20。虽然没有特别限制,不过,TRANS在总线周期开始时与时钟信号CLK的给定的上升同步而被输出。
非连续周期(NonSeq)指示输出此次的周期的地址是与前面的周期完全没有关系的地址。
连续周期(Seq)指示此次的周期的地址是把前面的周期增加所得的地址(半字、全字)。连续周期(Seq)例如用于DRAM存储器的脉冲串访问等。
内部周期(internal)指示CPU10进行内部动作而不进行总线传送。另外,在连续周期(Seq)中,图4中为简单起见,叙述了CPU10向存储控制器20输出把前面的周期的地址增加1所得的地址。即,为简单起见,把连续访问地址的增加单位设为1。
ADDR是从CPU10向存储控制器20供给的地址总线上的地址信号。
MADDR是从存储控制器20向存储器30供给的地址总线信号。
MDIN是从存储器30向存储控制器20输出的数据(读出数据)。
RDATA是从存储控制器20向到CPU10的读出数据总线上输出的读出数据。另外,在图4中,图3的MCSZ、SIZE被省略。
从图4也可以看出,读出访问的总线周期需要2时钟周期,1时钟周期的量的等待常被插入。在一总线周期结束之后的后面的总线周期中,按与该一总线周期对应的地址,进行从存储控制器20向存储器30的访问。更详细而言,在某总线周期中由CPU10输出地址之后(参照时钟周期(1),(3),(5),…),在2时钟周期后(参照时钟周期(3),(5),(7),…),从存储控制器20向存储器30输出地址MADDR。然后,在各总线周期的第2时钟的上升沿,把与前面的总线周期的地址对应而从存储器读出的数据MDIN向读出数据总线RDATA输出(参照时钟周期(2),(4),(6),(8),…)。
在各总线周期中,存储控制器20在向读出总线RDATA输出读出数据的第2时钟,把RDY信号设为激活(HIGH电平)(参照时钟周期(2),(4),(6),(8),…),1时钟的量的等待周期被插入。
先补充说明图4所示的定时动作。在时钟周期(1)中,总线周期的类型被设为非连续周期(NonSeq),在该总线周期中,从CPU10,即从CPU向存储控制器20供给地址Aa,与该地址对应,在时钟周期(3),从存储控制器20作为地址输出MADDR,向存储器30供给Aa,作为来自存储器30的数据MDIN,向存储控制器20供给Da。另外,存储控制器20,与时钟周期(2)的时钟信号CLK的上升沿同步,把RDY信号设为激活状态(HIGH电平),CPU10接受该RDY信号(在图4表示的例子中,CPU10在时钟周期(2)的时钟信号CLK的下降沿对RDY信号进行取样),与时钟周期(3)的时钟的上升沿同步而输出控制信号TRANS、地址信号ADDR。
在时钟周期(3)中,总线周期的类型被设为连续周期(Seq),CPU10生成把前总线周期的地址Aa增加所得的地址Aa+1,向存储控制器20输出,在时钟周期(5),作为来自存储控制器20的存储器地址输出MADDR,向存储器30供给Aa+1,作为来自存储器30的数据MDIN,向存储控制器20供给与地址Aa+1对应的读出数据Da+1。
在时钟周期(5)中,总线周期的类型被设为非连续周期(NonSeq),从CPU10向存储控制器20供给地址Ab,与该地址Ab对应,在时钟周期(7),作为来自存储控制器20的地址输出MADDR,向存储器30供给Ab,作为MDIN,从存储器30向存储控制器20供给与地址Ab对应的读出数据Db。以下,时钟周期(9)、(11)也被设为非连续周期(NonSeq)。
另外,在专利文献1中,作为削减无用的地址状态而实现有效的数据传送的存储控制器(存储器控制装置),提出了图5所示的构成。参照图5,该存储控制器具备生成先读地址的地址计数器52、比较由地址计数器52增计数了的的地址CTADR和请求地址RQADR的地址比较器53、控制地址计数器52和地址比较器53的计数存储控制器54、选择计数地址和请求地址而把到存储器的地址B2ADR向总线6输出的地址选择驱动器55,在处理器发出后面的请求之前的期间,先读连续的后面的存储器地址的数据,削减无用的地址状态,谋求对存储器的访问性能的提高。另外,在图5中,51是对来自总线3的请求B1ADR进行缓冲的请求缓冲器,56是接收来自总线6的响应数据B2DATA的响应缓冲器,57是输入响应数据RSDATA而向总线3输出响应数据B1DATA的响应驱动器。图6表示专利文献1中记载的定时图。
如图6所示,图5的存储控制器检测作为来自处理器的指令B2CMD的连续模式指令(CRD)以后,把到存储器的地址输出B2ADR切换为地址计数器52的输出而输出。
还有,在向存储控制器取入从存储器输出了的数据B2DATA时,不在响应缓冲器(RSBF)56中锁存先读了的弄错了的数据EE,从而使其无效化。
还有,在总线3的地址B1ADR按10C→200而从连续访问(CRD)向非连续访问(RD)变迁的场合,因从总线3的数据B1DATA输出连续访问(CRD)的最后的「DD」和从总线6的地址B2ADR向存储器输出后面的地址,需要数时钟。
专利文献1:特开平6-161868号公报
非专利文献1:ARM公司的「ARM7TDMI-S(Rev4)TechnicalReference Manual」,第69-86页,互联网<ULR:http://www.arm.com/pdfs/DDI0234A_7TDMIS_R4.pdf>
发明内容
发明打算解决的课题
如上所述,在参照图4说明了的存储控制器的场合,是在总线周期结束后开始存储器访问,因而1时钟周期的量的等待周期被插入,难以高速化。
还有,在专利文献1记载的存储器控制装置中,存储器控制装置检测出连续模式后,把到存储器的地址输出切换为地址计数器的输出而输出,在这种构成的场合,难以实现进一步的高速化。
用于解决课题的方案
本申请所披露的发明,为了解决上述课题,大致构成如下。
本发明的1个侧面所涉及的存储控制器,是在CPU和存储器之间进行地址、数据的授受,由上述CPU输入至少包含对总线周期的类型是地址与前周期的地址连续的连续周期还是地址不受前周期的地址制约的非连续周期进行指示的信息在内的第1控制信号的存储控制器,具备在现在的总线周期结束之前,以后面的总线周期是连续周期为前提,生成与现在的地址连续的值的地址的第1电路。
在本发明中,上述第1电路具备进行以下控制的电路:在上述生成了连续的值的地址的时钟周期的后面的时钟周期中,基于上述第1控制信号,向上述存储器输出上述连续的值的地址或由上述CPU向上述存储控制器输出了的地址。
在本发明中,具备生成用于把总线周期的结束向上述CPU通知的第2控制信号的第2电路,上述第2电路在前总线周期结束了的后面的时钟周期中,基于上述第1控制信号,使输出到上述CPU的上述第2控制信号激活、非激活。更详细而言,上述第2电路在前总线周期结束了的后面的时钟周期中,基于上述第1控制信号来操作上述第2控制信号的激活、非激活,从而对由上述存储控制器向上述CPU传送的来自上述存储器的读出数据在上述CPU中的取入的有无进行控制。
在本发明中,上述第2电路也可以构成为,在把与上述连续的值的地址对应的来自上述存储器的读出数据向上述CPU输出的时钟周期中,在由上述存储控制器向上述存储器输出的地址是由上述CPU作为非连续周期向上述存储控制器供给了的地址的场合,把上述第2控制信号设为非激活状态,使总线周期再延长1时钟周期的量。
在本发明中,上述第1电路也可以构成为,具备在前面的时钟周期中上述第2控制信号是非激活状态,或者在现在的时钟周期中上述第1控制信号表示连续周期的场合,选择在现在的时钟周期中生成与向上述存储器输出的地址连续的值的地址的电路的输出,在此外的场合,选择从上述CPU提供的地址的电路。
在本发明中,上述第1电路具备:对于输入了的地址,生成、输出按预定的给定值的量增加了的值的地址的加法器;输入上述加法器的输出和来自上述CPU的地址,选择一方来输出的选择器;以及对上述选择器的输出进行取样的寄存器,上述寄存器的输出被上述加法器输入。
在本发明中,上述第2电路也可以构成为,具备:对从上述第2电路现在输出的上述第2控制信号进行锁存的第1锁存电路;输出构成上述第1控制信号而在连续周期时被激活的信号和上述第1锁存电路的输出信号的给定的逻辑运算结果的第1逻辑电路;对上述第1逻辑电路的输出进行取样的第2锁存电路;输出上述第2锁存电路的输出信号、从上述第2电路现在输出的上述第2控制信号和构成上述第1控制信号而在非连续周期时被激活的信号的给定的逻辑运算结果的第2逻辑电路;以及对上述第2逻辑电路的输出进行锁存的第3锁存电路。
在本发明中,上述第1逻辑电路包括输入在上述连续周期时被激活的信号和上述第1锁存电路的输出的反相信号的或电路,上述第2逻辑电路包括输入上述第2锁存电路的输出信号、上述第2控制信号和在上述非连续周期时被激活的信号的与非电路。
在本发明中,上述第1逻辑电路输出被设为上述选择器的选择控制信号。
本发明所涉及的存储控制器,是在CPU和存储器之间进行地址、数据的授受,由上述CPU输入至少包含对总线周期的类型是地址与前周期的地址连续的连续周期还是地址不受前周期的地址制约的非连续周期进行指示的信息在内的第1控制信号,输出向上述CPU通知总线周期的结束的第2控制信号的存储控制器,具备:在现在的总线周期结束前,根据现在的地址预先生成以连续周期为前提的地址,在生成了以上述连续周期为前提的地址的时钟周期的后面的时钟周期中,向上述存储器输出以上述连续周期为前提的地址的单元;以及向上述CPU输出来自与以上述连续周期为前提的地址对应的上述存储器的读出数据,此时,在设为要供给与非连续周期对应的地址的读出数据的场合,把上述第2控制信号设为非激活,从而使向上述CPU输出了的上述读出数据无效化的单元。
发明效果
根据本发明,在总线周期结束前预先生成以连续周期为前提的地址,在后面的周期中将其向存储器输出,向CPU输出以连续周期为前提的地址的读出数据,此时,在设为要供给与非连续周期对应的地址的数据的场合,把向CPU通知总线周期结束的控制信号设为非激活,从而不对CPU的存储器访问的规范进行任何变更就能实现存储器访问的效率化、高速化。
附图说明
图1是表示本发明的一实施例的动作的一个例子的时序图。
图2是表示本发明的一实施例的构成的图。
图3是表示本发明的一实施例的存储控制器和CPU、存储器的连接构成的概略的图。
图4是表示现有装置的动作的一个例子的时序图。
图5是表示专利文献1的构成的图。
图6是表示图4的装置的动作的一个例子的时序图。
标号说明
3、6 总线
10 CPU
20 存储控制器
21 逻辑电路(2输入OR电路)
22-1、22-2、22-3 D型触发器
24 加法器
25 选择器
26 D型寄存器
30 存储器
52 地址计数器
53 地址比较器
54 计数存储控制器
55 地址选择驱动器
51 请求缓冲器
56 响应缓冲器
57 响应驱动器
具体实施方式
为了更加详细地叙述上述本发明,以下参照附图进行说明。本发明,在其最好的一方式中,是配设在CPU(图3的10)和存储器(图3的30)之间,从CPU输入对总线周期的类型是地址与前周期的地址连续的连续周期还是地址不受前周期的地址制约的非连续周期进行指示的控制信号(TRANS),输出向上述CPU通知总线周期结束的控制信号(RDY)的存储控制器,在总线周期的结束前根据现在的地址预先生成以连续周期为前提的地址,在后面的周期中向上述存储器输出以上述连续周期为前提的地址,向CPU输出来自与以上述连续周期为前提的地址对应的上述存储器的读出数据,此时,在本来设为要供给与非连续周期对应的地址的数据的场合(向存储器输出的地址是非连续周期的地址的场合),把控制信号(RDY)设为非激活,从而在CPU中不取入该读出数据,结果,使该读出数据无效化,依此进行控制。以下就实施例进行说明。
实施例
本发明的存储控制器和CPU、存储器的连接与图3所示的一样。在本发明的存储控制器中,向存储器输出的地址MADDR的控制和表示总线周期结束的RDY信号的控制与现有的不同。以下,为了使本实施例和图4所示的现有定时动作的不同点变得明确,参照作为说明本实施例的动作的时序图的图1和图3进行说明。
图1是说明本发明的一实施例的动作的定时波形图。在本实施例中,在前总线周期结束之前,与来自CPU10的总线传送控制信号TRANS对应,作为向存储器30的地址输出MADDR,选择来自CPU10的地址和把前面的地址增加所得的值中的任意一个,在前总线周期结束了的后面的时钟周期中,与总线传送控制信号TRANS对应,控制向CPU10通知总线周期结束的RDY信号的激活、非激活,从而对是否向CPU10取入来自存储器30的读出数据进行控制(在RDY信号为非激活状态的场合,CPU10不对该读出数据进行取样)。另外,在图1中,MCSZ是从存储控制器20向存储器30供给的片选信号(LOW激活)。
在本实施例中,作为与CPU10之间的总线传送(总线周期)的类型,有非连续周期(NonSeq)、连续周期(Seq)和不进行总线传送的非总线传送周期(internal)。
在图1中,设为时钟周期(1)前面的周期是非连续周期(NonSeq)。在时钟周期(2)的时钟CLK的上升沿,RDY信号被设为HIGH电平(在该场合,由时钟周期(1)、(2)构成1个总线周期)。在本实施例中,在总线周期结束之前,即在作为总线周期结束的1时钟前的时钟周期(2)的时钟信号CLK的上升沿,把地址Aa作为存储器地址输出MADDR向存储器30输出。因此,在本实施例中,作为总线周期,与图4所示的现有存储控制器(总线周期结束后向存储器输出MADDR)相比,削减了1时钟周期的量。
虽然没有特别限制,不过,在本实施例中,存储器30设为能在0等待下访问。因此,在存储器30中按地址Aa读出了的数据Da在时钟周期(3)的时钟的上升沿向CPU10作为RDATA而被输出。在时钟周期(3)中,RDY信号为HIGH电平,因而CPU10在时钟周期(3)的时钟CLK的上升沿对数据Da进行取样。
图2是表示本实施例的存储控制器的要部构成的图。图2中表示生成到CPU10(参照图3)的RDY信号的电路和生成到存储器30(参照图3)的地址输出MADDR的电路的构成。这些电路构成是本发明的主要特征的1部分。
参照图2,本实施例的存储控制器,作为RDY信号的生成电路而具备:在数据端子上接受现在输出的RDY信号,在时钟信号CLK的边沿进行取样的D型触发器(锁存电路)22-1;以D型触发器(锁存电路)22-1的输出的反相信号和来自CPU10(参照图3)的总线传送控制信号TRANS中的表示总线周期是连续周期(连续访问)的信号Seq为输入的2输入OR电路21;在数据端子上接受OR电路21的输出信号(inc_addr),在时钟信号CLK的边沿进行取样的D型触发器(锁存电路)22-2;以来自D型触发器22-2的输出端子Q的输出信号(post_inc_addr)、来自CPU10(参照图3)的总线传送控制信号TRANS中的表示总线周期是非连续周期(非连续访问)的信号NonSeq和现在输出的RDY信号为输入的3输入NAND电路23;以及在数据端子上接受NAND电路23的输出,在时钟CLK的边沿进行取样的D型触发器(锁存电路)22-3,由D型触发器22-3的输出端子向CPU10输出QRDY信号。另外,在图2中,信号Seq、NonSeq是由以来自CPU10(参照图3)的信号TRANS为输入的未图示的解码器进行解码所得的信号。
还有,参照图2,本实施例的存储控制器,作为到存储器30(参照图3)的地址输出MADDR的生成电路而具备:对到存储器30的地址输出MADDR(例如32比特)加上大小(SIZE)的加法器24;输入加法器24的输出和来自CPU10的地址ADDR,把OR电路21的输出inc_addr作为选择控制信号来选择一方的选择器25;在多个数据端子上并列接受来自选择器25的地址输出信号,在时钟信号CLK的边沿对其进行取样,将其作为MADDR而输出的D型寄存器(锁存电路)26。
在RDY信号为LOW电平的场合,NAND电路23的输出变为HIGH电平,在后面的时钟周期的时钟信号CLK的上升沿,从D型触发器22-3的输出端子Q输出的RDY信号变为HIGH电平。
在某时钟周期中,RDY信号为HIGH电平,NonSeq为HIGH电平,post_inc_addr为HIGH电平(在1个之前的时钟周期中,Seq为HIGH电平,或者在2个之前的时钟周期中RDY信号为LOW电平的场合,post_inc_addr在该某周期中变为HIGH电平),NAND电路23的输出变为LOW电平,在后面的时钟周期的时钟信号CLK的上升沿,从D型触发器22-2的输出端子Q输出的RDY信号变为LOW电平。
在某时钟周期中Seq信号为LOW电平(NonSeq为HIGH电平),而且1个之前的RDY信号为HIGH电平的场合,OR电路21的输出inc_addr变为LOW电平,在后面的时钟周期的时钟信号的上升沿,对inc_addr进行取样的D型触发器22-2的输出post_inc_addr变为LOW电平,NAND电路23的输出变为HIGH电平,作为D型触发器22-3的输出的RDY信号变为HIGH电平。在某时钟周期中Seq信号为HIGH电平,或者在前面的时钟周期中RDY信号为LOW电平的场合,OR电路21的输出inc_addr变为HIGH电平。
选择器25在inc_addr为LOW电平(逻辑0)时,选择来自CPU10的ADDR。选择器25在inc_addr为HIGH电平(逻辑1)时,选择加法器24的相加结果。
以下,对于参照图2说明了的存储控制器的一连串的动作,参照图1进一步说明。
在图1的时钟周期(1)中,D型触发器22-1的输出为HIGH电平,总线传送控制信号TRANS表示非连续周期(NonSeq=HIGH电平),Seq被设为LOW电平,OR电路21的输出(inc_addr)为LOW电平,选择器25选择来自CPU10(参照图3)的地址ADDR(Aa)。在后面的时钟周期(2)的时钟信号CLK的上升沿,D型寄存器26对来自选择器25的输出Aa进行取样,将其作为到存储器30(参照图3)的地址输出MADDR而输出。
在时钟周期(2)中,向MDIN输出在来自存储器30的按该地址Aa读出的读出数据Da。接受时钟周期(1)中的LOW电平的RDY的NAND电路23的输出被设为HIGH电平,在时钟周期(2)的时钟信号CLK的上升沿,作为D型触发器22-3的输出的RDY信号变为HIGH电平。还有,在时钟周期(2)的时钟的上升沿,D型触发器22-1的输出变为LOW电平,OR电路21的输出(inc_addr)变为HIGH电平。inc_addr变为HIGH电平(逻辑1)的话,选择器25就选择加法器24的输出。
另外,SIZE由CPU10供给,是指定存储控制器20的加法器24中的增加的单位的信号。与半字、全字的指定对应,加法器24中的增加单位被可变地设定为2、4等。另外,在本实施例中为简单起见,SIZE固定为1。
因此,在时钟周期(2)中,加法器24输出对存储器的地址输出MADDR(=Aa)加1所得的结果Aa+1。选择器25选择加法器24的输出Aa+1,在后面的时钟周期(3)的时钟CLK的上升沿,D型寄存器26把Aa+1作为MADDR而输出。
在时钟周期(3)中,传送控制信号TRANS表示连续周期Seq(Seq=HIGH电平),OR电路21的输出inc_addr被设为HIGH电平。并且,在前面的时钟周期(2)中,由加法器24增加所得的地址Aa+1由D型寄存器26作为到存储器30的地址输出MADDR而输出。还有,在时钟周期(3)中,按该地址Aa+1读出的读出数据Da+1被输出到MDIN,在后面的时钟周期(4)中,由读出数据总线RDATA向CPU10供给数据Da+1。另外,在时钟周期(2)中,post_inc_addr为LOW电平,因而NAND电路23的输出被设为HIGH电平,在时钟周期(3)中,RDY信号被设为HIGH电平。还有,在时钟周期(3)中,inc_addr为HIGH电平,选择器25选择加法器24的输出。加法器24把到存储器30的地址输出MADDRR(=Aa+1)和SIZE(=1)的相加结果Aa+2输出。并且,在后面的时钟周期(4)的时钟CLK的上升沿,D型寄存器26把Aa+2作为MADDR而输出。
在时钟周期(4)中,传送控制信号TRANS表示非连续周期NonSeq(NonSeq=HIGH电平),来自CPU10的地址Ab在时钟周期(5)的时钟信号CLK的上升沿作为到存储器30的地址输出MADDR而被输出。
还有,在时钟周期(4)中,Seq为LOW电平,时钟周期(3)的RDY信号为HIGH电平,所以D型触发器22-1的输出变为HIGH电平,OR电路21的输出inc_addr变为LOW电平。选择器25,因为inc_addr为LOW电平,所以选择来自CPU10的ADDR(=Ab)。在后面的时钟周期(5)的时钟的上升沿,D型寄存器26把地址Ab作为MADDR而输出。
在时钟周期(4)中,NonSeq为HIGH电平,RDY信号为HIGH电平,post_inc_addr都为HIGH电平,因而NAND电路23的输出变为LOW电平,与时钟周期(5)的时钟信号CLK的上升沿同步,RDY信号变为Low电平。
另外,在时钟周期(4)中,在存储控制器20中,增加Aa+1所得的连续地址Aa+2作为MADDR而被输出,按连续地址Aa+2从存储器读出的读出数据Da+2被输出到MDIN。
与时钟周期(5)的上升沿同步,从存储控制器20向CPU10,由读出数据总线RDATA供给数据Da+2。然而,如上所述,在时钟周期(5)中,RDY信号被设定为非激活状态(LOW电平),因此(总线周期未结束),CPU10不取入读出数据总线RDATA上的数据Da+2。根据这种构成,与在存储控制器20侧预先作成的连续地址Aa+2对应的读出数据的实质性无效化就能进行。
还有,在时钟周期(5)中,在前面的时钟周期(4)中从CPU10向存储控制器20输出了的地址Ab作为MADDR而被输出到存储器30,与地址Ab对应而从存储器读出的数据Db被输出到存储控制器(数据Da+2被输出到RDATA)。在时钟周期(5)中RDY信号被设为非激活状态,该总线周期被延长1时钟周期。
在时钟周期(6)中,传送控制信号TRANS表示非连续周期NonSeq(NonSeq=HIGH电平),地址ADDR不变。
另外,在时钟周期(5)中,RDY信号为LOW电平,因而NAND电路23的输出被设为HIGH电平,在时钟周期(6)的时钟信号的上升沿,作为D型触发器22-3的输出的RDY信号变为HIGH电平。
还有,在时钟周期(6)中,在时钟周期(5)中从CPU10接收了的地址Ac作为到存储器30的地址输出MADDR而被输出,按地址Ac从存储器30读出的读出数据Dc被输出到MDIN。还有,在前面的时钟周期(5)中,由存储器30向存储控制器20供给了的数据Db由RDATA向CPU10输出。此时,RDY信号为HIGH电平,因而RDATA上的数据Db被CPU10取入。
在后面的时钟周期(7)中,传送控制信号TRANS表示非连续周期NonSeq(NonSeq=HIGH电平),地址Ad被从CPU10输出到存储控制器20。Ad在后面的时钟周期(8)的时钟的上升沿作为到存储器30的地址输出MADDR而被输出。
在时钟周期(7)中,前面的时钟周期(6)的地址Ac增加1所得的地址Ac+1作为到存储器30的地址输出MADDR而被输出,按地址Ac+1从存储器30读出的读出数据Dc+1被输出到MDIN。另外,在时钟周期(7)中,在前面的周期(6)中由存储器30向存储控制器20供给了的数据Dc由RDATA向CPU10输出。在时钟周期(6)中,RDY信号为HIGH电平,NonSeq为HIGH电平,post_inc_addr为LOW电平,因而NAND电路23的输出被设为HIGH电平,在时钟周期(7)中也是,RDY信号被设为HIGH电平。因此,数据Dc被CPU10取入。另外,在时钟周期(6)中RDY信号为HIGH电平,在时钟周期(7)中Seq为LOW电平,因而在时钟周期(7)中inc_addr被设为LOW电平。
在时钟周期(8)中,传送控制信号TRANS表示连续周期Seq(Seq=HIGH电平),前周期的地址Ad增加所得的地址Ad+1被从CPU10输出到存储控制器20。在时钟周期(8)中,在前面的时钟周期(7)中从CPU10供给了的地址Ad作为地址输出MADDR而被输出。在该时钟周期(8)中,inc_addr为HIGH电平,因而存储控制器20的选择器25选择加法器24的输出(=Ad+1)。在时钟周期(7)中,RDY信号为HIGH电平,NonSeq为HIGH电平,post_inc_addr为HIGH电平,因而NAND电路23的输出变为LOW电平,在时钟周期(8)的时钟信号CLK的上升沿,作为D型触发器22-3的输出的RDY信号变为LOW电平。
还有,在时钟周期(8)中,按地址Ac+1从存储器30读出的数据Dc+1从存储控制器20由RDATA向CPU10供给。另外,在时钟周期(8)中,RDY信号为LOW电平,因而RDATA上的数据Dc+1不被CPU10取入而被无效化。在时钟周期(8)中总线周期不结束而被延1时钟周期。
时钟周期(9)是时钟周期(8)的总线周期的延长,传送控制信号TRANS表示与时钟周期(8)相同的连续周期Seq,还有,地址ADDR仍然是与时钟周期(8)相同的Ad+1。在存储控制器20中,inc_addr为HIGH电平,因而选择器25选择加法器24的输出(=Ad+2),在后面的时钟周期(10)中,Ad+2作为到存储器30的地址输出MADDR而被输出。还有,在时钟周期(8)中,RDY信号为LOW电平,因而NAND电路23的输出变为HIGH电平,在时钟周期(9)的时钟信号CLK的上升沿,作为D型触发器22-3的输出的RDY信号变为HIGH电平。
在时钟周期(9)中,按地址Ad+1从存储器30读出的数据Dd+1从存储控制器20由RDATA向CPU10供给。在时钟周期(9)中,RDY信号为HIGH电平,因而RDATA上的数据Dd+1被CPU10取入。
在时钟周期(10)中,传送控制信号TRANS表示内部周期,不进行对总线的访问。
还有,在时钟周期(11)中,片选信号MCSZ被设为非激活状态,存储器30被设为非选择,MDIN例如被设为HIZ(高阻抗状态)。
根据本实施例,把不进行数据的无效化的场合的总线周期设为最小单位的1时钟周期,通过RDY信号的非激活的控制来进行数据的无效化,从而对CPU的规范不进行任何变更就能使存储器访问实现高速化。
另外,在上述实施例中,就基于上述非专利文献1的规范的构成进行了说明,不过,本发明不仅限于上述实施例的构成,当然还包括在本发明的范围内本领域技术人员能做的各种变形、修正。
Claims (12)
1.一种存储控制器,在CPU和存储器之间进行地址、数据的授受,其特征在于,
具备按以下方式进行总线周期的的控制的电路:由上述CPU输入至少包含对总线周期的类型是连续周期还是非连续周期进行指示的信息在内的第1控制信号,在上述第1控制信号表示连续周期的场合,把与前周期的地址连续的地址作为现在的总线周期的地址而向上述存储器输出;另一方面,在上述第1控制信号表示非连续周期的场合,把不受前周期的地址制约的地址作为现在的总线周期的地址而向上述存储器输出,
具备在现在的总线周期结束之前,以后面的总线周期是连续周期为前提,生成与现在的地址连续的值的地址的第1电路。
2.根据权利要求1所述的存储控制器,其特征在于,上述现在的地址是在现在的总线周期中由上述CPU输出了的地址,或者由上述存储控制器向上述存储器输出的地址。
3.根据权利要求1所述的存储控制器,其特征在于,上述第1电路具备进行以下控制的电路:在上述生成了连续的值的地址的时钟周期的后面的时钟周期中,基于上述第1控制信号,向上述存储器输出上述连续的值的地址或由上述CPU向上述存储控制器输出了的地址。
4.根据权利要求1所述的存储控制器,其特征在于,
具备生成用于把总线周期的结束向上述CPU通知的第2控制信号的第2电路,
上述第2电路在前总线周期结束了的后面的时钟周期中,基于上述第1控制信号,使输出到上述CPU的上述第2控制信号激活、非激活。
5.根据权利要求4所述的存储控制器,其特征在于,上述第2电路在前总线周期结束了的后面的时钟周期中,基于上述第1控制信号来操作上述第2控制信号的激活、非激活,从而对由上述存储控制器向上述CPU传送的来自上述存储器的读出数据在上述CPU中的取入的有无进行控制。
6.根据权利要求4所述的存储控制器,其特征在于,上述第2电路在把与上述连续的值的地址对应的来自上述存储器的读出数据向上述CPU输出的时钟周期中,在由上述存储控制器向上述存储器输出的地址是由上述CPU作为非连续周期向上述存储控制器供给了的地址的场合,把上述第2控制信号设为非激活状态,使总线周期再延长1时钟周期的量。
7.根据权利要求4所述的存储控制器,其特征在于,上述第1电路具备在一时钟周期的前1个时钟周期中上述第2控制信号是非激活状态,或者在上述一时钟周期中上述第1控制信号表示连续周期的场合,选择在上述一时钟周期中生成与向上述存储器输出的地址连续的值的地址的电路的输出,在此外的场合,选择从上述CPU提供的地址的电路。
8.根据权利要求1所述的存储控制器,其特征在于,上述第1电路具备:
对于输入了的地址,生成、输出按预定的给定值的量增加所得的值的地址的加法器;
输入上述加法器的输出和来自上述CPU的地址,选择一方来输出的选择器;以及
对上述选择器的输出进行取样的寄存器,
上述寄存器的输出被上述加法器输入。
9.根据权利要求8所述的存储控制器,其特征在于,上述第2电路具备:
对从上述第2电路现在输出的上述第2控制信号进行锁存的第1锁存电路;
输出构成上述第1控制信号而在连续周期时被激活的信号和上述第1锁存电路的输出信号的给定的逻辑运算结果的第1逻辑电路;
对上述第1逻辑电路的输出进行取样的第2锁存电路;
输出上述第2锁存电路的输出信号、从上述第2电路现在输出的上述第2控制信号和构成上述第1控制信号而在非连续周期时被激活的信号的给定的逻辑运算结果的第2逻辑电路;以及
对上述第2逻辑电路的输出信号进行锁存的第3锁存电路。
10.根据权利要求9所述的存储控制器,其特征在于,
上述第1逻辑电路包括输入在上述连续周期时被激活的信号和上述第1锁存电路的输出的反相信号的或电路,
上述第2逻辑电路包括输入上述第2锁存电路的输出信号、上述第2控制信号和在上述非连续周期时被激活的信号的与非电路。
11.根据权利要求10所述的存储控制器,其特征在于,上述第1逻辑电路的输出信号被设为上述选择器的选择控制信号。
12.一种存储控制器,在CPU和存储器之间进行地址、数据的授受,
由上述CPU输入至少包含对总线周期的类型是地址与前周期的地址连续的连续周期还是地址不受前周期的地址制约的非连续周期进行指示的信息在内的第1控制信号,
输出向上述CPU通知总线周期的结束的第2控制信号,
其特征在于,具备:
在现在的总线周期结束前,根据现在的地址预先生成以连续周期为前提的地址,在生成了以上述连续周期为前提的地址的时钟周期的后面的时钟周期中,向上述存储器输出以上述连续周期为前提的地址的电路;以及
向上述CPU输出来自与以上述连续周期为前提的地址对应的上述存储器的读出数据,此时,在设为要供给与非连续周期对应的地址的读出数据的场合,把上述第2控制信号设为非激活,从而使向上述CPU输出了的上述读出数据无效化的电路。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005284505A JP4993892B2 (ja) | 2005-09-29 | 2005-09-29 | メモリ・コントローラ |
JP2005284505 | 2005-09-29 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN1940898A true CN1940898A (zh) | 2007-04-04 |
Family
ID=37895562
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA2006101595429A Pending CN1940898A (zh) | 2005-09-29 | 2006-09-27 | 存储控制器 |
Country Status (3)
Country | Link |
---|---|
US (1) | US7516290B2 (zh) |
JP (1) | JP4993892B2 (zh) |
CN (1) | CN1940898A (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8972685B2 (en) * | 2012-12-21 | 2015-03-03 | Intel Corporation | Method, apparatus and system for exchanging communications via a command/address bus |
US9684459B2 (en) | 2014-11-17 | 2017-06-20 | Kabushiki Kaisha Toshiba | Memory system |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5353230A (en) * | 1976-10-25 | 1978-05-15 | Nec Corp | Memory reading system for computer |
JPS61220042A (ja) * | 1985-03-26 | 1986-09-30 | Toshiba Corp | メモリアクセス制御方式 |
US5459842A (en) * | 1992-06-26 | 1995-10-17 | International Business Machines Corporation | System for combining data from multiple CPU write requests via buffers and using read-modify-write operation to write the combined data to the memory |
JPH06161868A (ja) | 1992-11-19 | 1994-06-10 | Mitsubishi Electric Corp | メモリ制御装置 |
AU6410994A (en) * | 1993-03-30 | 1994-10-24 | Ast Research, Inc. | Cache address strobe control logic for simulated bus cycle initiation |
JPH08212129A (ja) * | 1995-02-03 | 1996-08-20 | Oki Electric Ind Co Ltd | メモリ装置 |
JPH11161542A (ja) * | 1997-12-01 | 1999-06-18 | Nec Off Syst Ltd | Rom読み出し回路およびrom読み出し方法 |
US6959374B2 (en) * | 2003-01-29 | 2005-10-25 | Sun Microsystems, Inc. | System including a memory controller configured to perform pre-fetch operations including dynamic pre-fetch control |
US7191295B2 (en) * | 2003-06-30 | 2007-03-13 | Intel Corporation | Sensing word groups in a memory |
-
2005
- 2005-09-29 JP JP2005284505A patent/JP4993892B2/ja not_active Expired - Fee Related
-
2006
- 2006-09-27 CN CNA2006101595429A patent/CN1940898A/zh active Pending
- 2006-09-28 US US11/528,406 patent/US7516290B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP4993892B2 (ja) | 2012-08-08 |
US20070073991A1 (en) | 2007-03-29 |
JP2007094835A (ja) | 2007-04-12 |
US7516290B2 (en) | 2009-04-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1199117C (zh) | 信源同步及公共时钟协议中的数据传输 | |
CN100585549C (zh) | 一种用于序列周边接口的方法与系统 | |
US8898375B2 (en) | Memory controlling method, memory controller and memory storage apparatus | |
TWI512755B (zh) | 存取記憶體之方法及系統 | |
US20110055457A1 (en) | Method for giving program commands to flash memory, and controller and storage system using the same | |
CN108268382A (zh) | 两级存储器全行写入 | |
CN110888520B (zh) | 操作频率调整方法及装置 | |
CN1957530A (zh) | 用于非易失性存储器的电荷泵时钟 | |
CN100349108C (zh) | 与非门快闪存储器的物理接口、接口方法和管理设备 | |
JP2008539644A (ja) | プログラマブル書込みトランザクションサイクルを有するi2cスレーブ装置 | |
CN1860553A (zh) | 具有后同步码数据选通信号噪声抑制的随机存取存储器 | |
JP2762138B2 (ja) | メモリコントロールユニット | |
CN1908885A (zh) | 静态存储器接口装置及其数据传输方法 | |
CN1040104A (zh) | 用于双母线微机系统的延迟高速存贮器写操作启动电路 | |
CN116662240A (zh) | 一种协议转换电路及方法、芯片、测试装置、存储介质 | |
CN1489155A (zh) | 半导体存储器及其控制方法 | |
CN1825473A (zh) | 存储器控制装置、改变存储器地址的方法以及存储系统 | |
CN1940898A (zh) | 存储控制器 | |
CN1282166A (zh) | 显示用驱动集成电路及使用该集成电路的电子装置 | |
CN1941198A (zh) | 使用于半导体存储装置中的内部信号产生器 | |
CN100373369C (zh) | 控制器及多个可编程逻辑器件的组合访问装置及方法 | |
CN1136503C (zh) | 闪烁存储系统 | |
CN1231844C (zh) | 控制对sdram的连续访问的电路 | |
CN100340998C (zh) | 存取电路 | |
CN1719421A (zh) | 基于mcs-51架构的16m字节数据存储器寻址空间扩充方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C12 | Rejection of a patent application after its publication | ||
RJ01 | Rejection of invention patent application after publication |
Open date: 20070404 |