专利名称:实现双端口同步存储装置的方法及相关装置的制作方法
技术领域:
本发明涉及一种实现多端口同步存储装置的方法及相关装置,特别是涉及一种能以低成本、小布局面积的单端口存储器来实现多端口同步存储装置的方法及相关装置。
背景技术:
在现代化的信息社会中,各种数据、文件、数据及影音讯息都能以电子讯号(尤其是数字电子讯号)的形式来快速的处理、传播、管理及储存,而各种各样用来传输电子讯号、管理电子数据的电子电路也就成为现代信息厂商研发的重点。其中,能同步进行数据读取/写入的多端口同步存储装置就具有广泛的用途。在时钟脉冲的触发下,多端口同步存储装置能在同一时钟脉冲周期中同步接收数据读取及写入的指令,并在同一时钟脉冲周期中完成数据读取及写入;也就是说,在将给定数据写入至存储装置中的某些地址时,还能同时将另一些数据由该存储装置的其它地址读出。
由于多端口同步存储装置能同时读写的特性,使得多端口同步存储装置能方便地用来实现各种进行序列管理的缓存器,像是先入先出(FIFO,first-in-first-out)缓存器,也能在数据传输路径上实现出缓冲器。举例来说,在功能较为繁复的控制电路中,常要对不同的工作需求(task)进行排序(queue),以序列处理各个工作需求,而先入先出缓存器就可用来储存排序中的工作需求,不同顺序的工作需求可依序暂存于先入先出缓存器,先被存入缓存器的工作需求可被先行读出,并被先行处理。换句话说,先入先出缓存器的功能类似于一先入先出的堆栈(stack),其可将先输入至缓存器中暂存的数据读出,同时还能将后输入至缓存器的数据暂存起来,而双端口同步存储装置正好能满足先入先出缓存器的功能需求。
同理,在数据传输路径上,当某一装置A要将各笔数据依序传输至另一装置B时,若装置B不能同步地依照装置A的传输速率进行接收,就可在装置A与装置B之间设置一缓冲器;装置A可依其传输速率将数据传输至缓冲器(也就是写入缓冲器),装置B则可依其运作容许的接收速率而由缓冲器中接收数据(也就是将数据由缓冲器中读出)。由于装置A及B可能会同时要对缓冲器进行写入/读取,故缓冲器就可利用双端口同步存储装置来实现。
由上述讨论可知,双端口同步存储装置能被广泛地运用于各种电子电路中。然而,在已知技术中,双端口同步存储装置是以成本较高、布局面积较大的双端口存储器(也就是双端口静态随机存取存储器,two-port staticrandom access memory)来实现的。在双端口存储器中,每个用来存储一位数据的存储单元(cell)均设有两个存取端口,各个存取端口都要设置特定的存取控制晶体管。而双端口存储器也要设置有两个独立的数据传输线路;各数据传输线路分别经由各个存储单元的一个存取端口连接于各个存储单元。举例来说,某存储单元C1及C2均设有一第一存取端口及一第二存取端口,存储单元C1、C2的第一个存取端口均连接于第一数据传输线路,存储单元C1及C2的第二个存取端口均连接于第二数据传输线路。当双端口同步存储装置要同步进行读取写入时,若是要将某一数据由存储单元C1中读出并将另一数据写入至存储单元C2,存储单元C1的第一存取端口就可开启(导通),让存储单元C1的数据可由第一数据传输线路传输出去;同时,存储单元C2的第一存取端口则是关闭(不导通)的,让存储单元C2不会错误地将存储单元C2的数据经由第一数据传输线路传输数据。在存储单元C1由第一存取端口将数据传输至第一数据传输线路时,存储单元C2的第二存取端口则是开启/导通的,让数据能经由第二数据传输线路传输至存储单元C2而写入至存储单元C2;同时,存储单元C1的第二存取端口则是关闭/不导通的,让存储单元C1不会错误地由第二数据传输线路接收要传输至存储单元C2的数据。
虽然上述的已知双端口存储器的确能实现双端口同步存储装置的功能,但由于双端口存储器中每个存储单元都要设置两个存取端口及对应的存取控制晶体管,也使得双端口存储器所占用的布局面积较大,电路结构较为复杂,设计、生产制造的时间与成本也相对较高,不利于双端口同步存储装置的普及。
发明内容
因此,本发明的主要目的,即在于提供一种能利用单端口存储器来实现双端口同步存储装置的方法及相关装置,以便利用布局面积较小,成本低廉的单端口存储器(像是单端口静态随机存取存储器)来实现双端口同步存储装置,克服已知技术的缺点。
单端口存储器在同一时间内仅能进行单一的读取或写入指令。但单端口存储器(尤其是静态存储器)能够相当快速地执行读取/写入指令,要实现双端口同步存储装置而要在同一时钟脉冲周期中同步进行数据读取/写入时,本发明就是使单端口存储器先在前半周期执行读取或写入指令之一,在后半周期再执行另一指令,这样就能在一个时钟脉冲周期中以单端口存储器完成数据读取/写入,实现双端口同步存储装置的功能。
在实际实现时,本发明可将一单端口存储器搭配一控制接口来实现多端口存储装置。在本发明的一个实施例中,控制接口可设有一仲裁器,当控制接口同时接收到读取及写入两指令时,此仲裁器就能依照预设的优先权让其中一个指令优先被传输至单端口存储器,让单端口存储器先执行该指令,继而执行另外一个指令。举例来说,可将仲裁器预先设定为读取指令优先,当控制接口于同一时钟脉冲周期中同时接收到读取及写入两指令时,仲裁器就可先将读取指令传输至单端口存储器;等单端口存储器进行完数据读取后,再于后半周期中将写入指令传输至单端口存储器,让单端口存储器能在后半周期中进行数据写入。换句话说,在一时钟脉冲周期结束后,读取/写入指令都已被执行,等效上也就实现了多端口同步存储装置的功能。
在本发明的另一实施例中,搭配单端口存储器的控制接口可设有一倍频的时钟脉冲电路;当该控制接口接收外部时钟脉冲的触发而在此外部时钟脉冲的一个周期中同步接收读取及写入指令时,控制接口中的倍频时钟脉冲电路就可根据此一外部时钟脉冲产生一倍频的内部时钟脉冲,并可通过此倍频内部时钟脉冲控制单端口存储器的运作,使单端口存储器能在内部时钟脉冲的不同周期分别进行读取及写入指令。由于内部时钟脉冲倍频于外部时钟脉冲,内部时钟脉冲的一个周期仅为外部时钟脉冲一周期的一半,故在内部时钟脉冲的触发下,单端口存储器等效上就是在外部时钟脉冲的周期前半与后半分别进行了数据的读取及写入,同样也能在外部时钟脉冲的一个周期内完成数据的读取及写入,实现多端口同步存储装置的功能。
在单端口存储器中,单端口存储器的各个存储单元仅需设置单一存取端口,故单端口存储器的布局面积与生产制造的成本均低于双端口存储器。一般来说,单端口静态随机存取存储器的每个存储单元可由6个晶体管(即6T)或4个晶体管搭配2个电阻(即2R4T)来形成,双端口静态随机存取存储单元则需要由8个晶体管(8T)或6个晶体管搭配2个电阻来形成(2R6T),故在相同存储容量下,单端口存储器的布局面积、生产制造的成本均小于双端口存储器,使得本发明能以较低廉的成本、较小的布局面积来实现用途广泛的双端口同步存储装置。
图1示意的是一典型的双端口同步存储装置。
图2为图1中双端口同步存储装置运作时相关讯号的时序示意图。
图3为本发明存储装置一实施例的功能方块示意图。
图4为图3中存储装置运作时相关讯号的时序示意图。
图5为本发明存储装置另一实施例的功能方块示意图。
图6为图5中存储装置运作时相关讯号的时序示意图。
图7为单端口及双端口存储器中存储单元的电路示意图。
附图符号说明10双端口同步存储装置 20、40存储装置22、42控制接口 24、46单端口存储器26仲裁器 28、58切换模块30、50地址传输模块 32、52锁定模块34A-34B、60A-60B延迟器48时钟脉冲产生器 54A-54B定序单元62-64存储单元wr、rd、WAD、RAD、MDI、MDO、swr、srd、sAD、sD讯号Ar、Aw地址 Dr、Dw数据T、T2周期Inv反相器t0-t1、ta-tb、tr、tw时点Q1-Q4、K、M晶体管CK、CK2时钟脉冲
具体实施例方式
请参考图1。图1为一典型双端口同步存储装置10的示意图;双端口同步存储装置10可为一静态随机存取存储装置,其可由外部接收时钟脉冲CK、讯号wr、rd、WAD、RAD以及MDI,并输出讯号MDO。其中,时钟脉冲CK用来触发双端口同步存储装置10的运作时序。讯号wr及rd则分别为写入及读取致能讯号,当这两个讯号的电平由低电平转变为高电平时,就分别代表要对双端口同步存储装置10进行数据的写入及读取。换句话说,当讯号wr或rd被致能至高电平时,就相当于向双端口同步存储装置10发出一读取或写入的指令。当讯号wr被致能而要求将数据写入至双端口同步存储装置10时,讯号WAD中也会同步地传输一地址信息,指示双端口同步存储装置10要将数据写入至哪一个地址;而要写入的数据则会于讯号MDI中传输至双端口同步存储装置10。另一方面,当讯号rd被致能而要求将数据由双端口同步存储装置10中读出时,讯号RAD也会同步地将一地址信息传输至双端口同步存储装置10,使双端口同步存储装置10将该地址的数据读出,并将读出的数据输出于讯号MDO中。
如前面讨论过的,双端口同步存储装置的功能之一就是要能在同一时钟脉冲周期中同步地完成数据的读取及写入。请参考图2(并一并参考图1);图2即为双端口同步存储装置10在同步完成数据读取/写入时相关讯号波形的时序示意图;图2的横轴为时间。如图2所示,在时钟脉冲CK的同一周期T中,讯号wr、rd同时于时点t0被致能至高电平,也就是要双端口同步存储装置10同时进行数据读取及写入。随着讯号wr、rd被提升至高电平,讯号WAD、RAD中也会同步地分别传输一地址Aw及Ar,指示数据写入/读取的地址;而在讯号MDI中,要被写入至地址Aw的数据Dw也会被同时传输至双端口同步存储装置10。当时钟脉冲CK的一周期T在时点t1结束时,双端口同步存储装置10应已将数据Dw写入至地址Aw,并能将地址Ar的数据Dr读出并输出于讯号MDO,让数据Dr能在时点t1由讯号MDO中取得。
本发明的主要目的之一,就是要利用单端口存储器来实现图2中所要求的双端口同步存取时序,也就是利用单端口存储器而能在同一时钟脉冲周期中同步接收读取/写入的指令,并能在同一时钟脉冲周期中完成数据读取及写入的要求。请参考图3,图3为本发明存储装置一实施例20的功能方块示意图。存储装置20是以一控制接口22搭配一单端口存储器24(其可是一单端口静态随机存取存储器)来实现双端口同步存储装置的功能。如前面讨论过的,单端口存储器在同一时间内其实仅能进行单一的数据读取或写入;而图3中的单端口存储器24就仅能接收单一的地址讯号sAD,也仅能传输单一的数据输出入讯号sD。当讯号swr被致能时,单端口存储器24会将讯号sD中的数据写入至讯号sAD中传输的地址;而当讯号srd被致能时,单端口存储器24会依据讯号sAD中传输的地址而将数据由该地址读出,并输出于讯号sD。由于读取/写入的地址及数据都由同样的端口(同一讯号)传输,故单端口存储器24的电路结构单纯,成本及布局面积均较低,但其写入/读取的致能讯号swr、srd不能同时被致能。
为使单端口存储器24也能实现出双端口存储装置的功能,本发明的控制接口22就是要将双端口同步存储装置的标准外部讯号rd、wr、WAD、RAD、MDI及MDO适当地转换为单端口存储器所能接收的操控讯号swr、srd、sAD及sD。在图3的实施例中,控制接口22内设有一仲裁器(arbitrator)26、两延迟器34A、34B、以及受控于仲裁器26的地址传输模块30、切换模块28及一锁定模块32。其中,仲裁器26可视为一选择模块;当仲裁器26由外部接收到同时致能的讯号wr及rd时,可依据预设的优先权先选择其中一个讯号,并将其优先传输至单端口存储器24。举例来说,仲裁器26可使讯号rd具有较高的优先权;当讯号rd及wr被同时致能至高电平时,仲裁器26就能优先让讯号rd所代表的读取指令先被传输至单端口存储器24,接下来再传输讯号wr所代表的写入指令。配合仲裁器26在同步读取/写入指令中进行仲裁的结果,地址传输模块30则可将地址讯号RAD、WAD中的地址依序排入至讯号sAD。若读取指令优先,地址传输模块30也会先将讯号RAD中的读取地址排入至讯号sAD中;等仲裁器26要将写入指令传输至单端口存储器24时,地址传输模块30也就会切换而改将讯号WAD中的地址排入至讯号sAD。同理,切换模块28也会依据仲裁器26的仲裁结果来切换数据的输出入;若读取指令优先被传输至单端口存储器24并被优先执行,由讯号sD中输出的讯号会被传输至锁定模块32加以锁存(latch);而当仲裁器26要将优先级较低的写入指令传输至单端口存储器24时,切换模块28就会切换数据传输的路径,改由讯号MDI中将要写入的数据传输至讯号sD中。锁定模块32中可包含一个或多个锁定器以锁存/记录数据;另外,各延迟器34A、34B用来将仲裁器26的讯号延迟。
换句话说,当外部讯号wr、rd在同一时钟脉冲周期中被同时致能时,仲裁器26会择一先后进行,让单端口存储器24逐一进行数据读取/写入;一般来说,单端口存储器24进行读取/写入所需的时间远小于一个时钟脉冲周期,即使数据的读取/写入是逐一进行的,仍能在同一时钟脉冲周期中顺利地将两者完成,等效上也就完成了双端口同步存储装置的功能。为进一步说明存储装置20实现双端口同步存储存取的情形,请进一步参考图4(并一并参考图3);图4为本发明存储装置20在进行双端口同步存储存取时各相关讯号的时序示意图,图4的横轴为时间。
如图4所示,在时点t0,外部讯号wr、rd被同时致能至高电平,代表要对存储装置20进行同步的数据读取及写入。同时,数据读取/写入的地址Aw、Ar及要写入的数据Dw也分别于讯号WAD、RAD及MDI中传输至存储装置20。当仲裁器26(图3)在时点t0发现讯号wr、rd同时被致能时,仲裁器26可优先让读取指令先传输(假设其预设为读取优先),使讯号rd可优先被传输至单端口存储器24,也就是使讯号rd中的电平转变优先反映于讯号srd中的电平转变。由于延迟器34A在讯号rd与讯号srd间引入的延迟时间,讯号srd会延迟于时点ta转变为高电平。
当仲裁器26在时点t0仲裁读取指令优先时,其仲裁结果同时也会使地址传输模块30优先将讯号RAD中的地址Ar传输至讯号sAD中。同时,切换模块28也会切换至锁定模块32,等待讯号sD中输出的数据。到了时点ta,地址传输模块30应已能稳定地将数据读取的地址Ar传输至讯号sAD中,而时点ta转变为高电平的讯号srd也就会使单端口存储器24开始进行数据读取。到了时点tr,单端口存储器24完成数据读取,将地址Ar的数据Dr读出并输出于讯号sAD,而讯号sAD中的数据Dr就会经由切换模块28传输至锁定模块32,由锁定模块32将数据Dr锁存起来,做为讯号MDO中要输出的讯号。
仲裁器26在将读取指令优先传输至单端口存储器24之后,就可在时点tb将优先级次的的写入指令传输至单端口存储器24。此时,地址传输模块30也会改将讯号WAD中的地址Aw传输至讯号sAD中,而切换模块28也会切换至讯号MDI,以将讯号MDI中的数据Dw传输至讯号sD中;锁存于锁定模块32的数据Dr则不受影响。到了时点tw,地址传输模块30及切换模块28应已能分别将地址Aw、数据Dw稳定地传输于讯号sAd、sD中;同时,经过延迟器34B的作用,讯号swr也就会在时点tw转变为高电平,相当于对单端口存储器24发出一写入指令,而单端口存储器24也就能将数据Dw写入至地址Aw。到了时点t1,时钟脉冲CK的一周期T结束,存储装置20也完成了数据读取及写入,实现了双端口同步存储装置的功能。
换句话说,当本发明存储装置20同步地接收外部的读取及写入指令时,是由仲裁器26择一逐次进行单一的读取及写入操控,使单端口存储器24能在同一时钟脉冲周期的前半及后半分别进行数据读取/写入,以利用低成本、小布局面积的单端口存储器来实现同步双端口存储装置的功能。当然,存储装置20若在同一时钟脉冲周期中仅接收单一的读取或写入指令,仲裁器26就可直接将该读取或写入指令传输至单端口存储器24,直接执行数据的读取或写入。也就是说,在时钟脉冲的一周期中,不论是数据读取、数据写入或同步的读取与写入,存储装置20都能正确的进行,与双端口同步存储装置的功能无异。由图4中也可看出,在存储装置20中,地址传输模块30及切换模块58的切换功能也可以直接由时钟脉冲CK来控制,在一周期的前半周期(也就是当时钟脉冲CK维持为高电平时),地址传输模块30传输讯号RAD中的地址,在后半周期(时钟脉冲CK维持为低电平时),地址传输模块30传输讯号WAD中的地址。同理,切换模块58也可依据时钟脉冲CK来切换运作。为了要在时钟脉冲CK的同一周期中先后仲裁读取/写入指令的优先权,仲裁器26可工作于较高频率的时钟脉冲,也就是频率高于时钟脉冲CK的时钟脉冲。
单端口同步存储器可在时钟脉冲的一周期中接收单一的读取或写入指令而进行数据读取或写入。在本发明的第二实施例中,就可以利用倍频触发的单端口同步存储器来实现双端口同步存储装置。请参考图5;图5即为本发明存储装置第二实施例40的功能方块示意图。存储装置40中是以控制接口42配合一单端口存储器46来实现双端口同步存储装置的功能;其中,控制接口42中设有一倍频的时钟脉冲产生器48、延迟器60A及60B、两定序单元54A、54B、一地址传输模块50、一切换模块58及一锁定模块52。其中,时钟脉冲产生器48可以是一锁相回路(phase lock loop),用来根据时钟脉冲CK产生一倍频的时钟脉冲CK2;也就是说,时钟脉冲CK2的周期为时钟脉冲CK的周期的一半。时钟脉冲CK2即用来触发单端口存储器46的运作时序。在时钟脉冲CK2的触发下,单端口存储器46可在时钟脉冲CK2的一周期中由讯号srd或swr接收一读取或写入指令,由讯号sAd中接收数据读取/写入的地址,并由讯号sD中输出或输入读取或写入的数据。
在控制接口42中,定序单元54A、54B可根据时钟脉冲CK的电平变化而选择是否要将外部的讯号wr、rd分别以讯号swr0、srd0传输至延迟器60A、60B而产生对应的讯号swr及srd。在实际操作时,定序单元54A、54B可以用与门(AND gate)来实现。当外部讯号wr、rd在时钟脉冲CK的同一周期中被同时致能至高电平时,定序单元54A可将时钟脉冲CK与讯号rd作与运算,让讯号rd的高电平可在时钟脉冲CK的前半周期(也就是时钟脉冲CK维持为高电平的前半周期)被传输延迟器60A;定序单元54B则可将时钟脉冲CK的反相(经由反相器inv的反相)与讯号wr作与运算,让讯号wr的高电平可在时钟脉冲CK的后半周期(就是时钟脉冲CK维持为低电平的后半周期)传输至延迟器60B。换句话说,定序单元54A、54B可分别在时钟脉冲CK的前半周期及后半周期致能,以实现一选择模块的功能,将讯号wr及rd中同步的读取与写入指令逐一传输至讯号swr0及srd0。地址传输模块50、切换模块58及锁定模块52的功能则类似于存储装置20中名称相同的对应模块。
请参考图6(并一并参考图5);图6为存储装置40进行同步双端口数据存取时相关讯号时序的示意图,图6的横轴为时间。如图6所示,配合时钟脉冲CK的一个周期T,外部讯号rd、wr在时点t0开始被同步致能为高电平,以要求存储装置40同时进行数据读取及写入。配合定序模块54A的运作,讯号srd0会在时钟脉冲CK的前半周期随讯号rd而变为高电平,等效上也就是向单端口存储器46发出一读取的指令。配合时钟脉冲CK的触发,在时钟脉冲CK的前半周期,地址传输模块50也会将讯号RAD中的读取地址Ar传输于讯号sAD,而切换模块58也会切换至锁定模块52。由于单端口存储器46运作于倍频的时钟脉冲CK2,故对单端口存储器46来说,延迟器60A延迟讯号srd0所产生的讯号srd就是与时钟脉冲CK2的周期T2同步传送进来的读取指令,而讯号sAD中的地址Ar也是与时钟脉冲CK2同步传送进来的数据地址,故单端口存储器46就能在时钟脉冲CK2中的一个周期T2(也就是时钟脉冲CK的前半周期)中完成数据的读取,将地址Ar的数据Dr读出,经由切换模块58而传输至锁定模块52,并由锁定模块52将数据Dr锁存起来做为输出至外部的讯号MDO。
到了时点tb,也就是时钟脉冲CK的后半个周期,定序单元54A会停止将讯号rd传输于srd0,相对地,定序单元54B则会致能,使讯号wr中的高电平反应至讯号swr0的高电平,并经由延迟器60B产生延迟的讯号swr。同时,地址传输模块50则改将讯号WAD中的写入地址Aw传输于讯号sAD中,切换模块58也切换至讯号MDI,将讯号MDI中的数据Dw传输至讯号sD中。由于时钟脉冲CK的后半周期其实就是时钟脉冲CK2的另一个周期,故对单端口存储器46来说,其是在时钟脉冲CK2的一个新周期中由讯号swr接收到另一个写入指令,而单端口存储器46就会在此新的周期T2中将数据Dw写入至地址Aw。到了时点t1,时钟脉冲CK的一个周期T结束,而对单端口存储器46来说,时钟脉冲CK2已经经过了两个周期T2,刚好在各个周期T2中逐一进行了一次数据读取与一次数据写入。等效上,也就是在时钟脉冲CK的一个周期T中同步地完成了数据读取与写入的要求,实现了双端口同步存储装置的功能。
请参考图7,图7示意的是单端口存储器及双端口存储器的存储单元的电路构造。存储单元62为单端口存储器的存储单元,其可储存一位的数据。如图7所示,存储单元62可由晶体管Q1至Q4以及两晶体管M形成;晶体管Q1至Q4形成数据存储的主要电路,晶体管M则为存取端口的存取控制晶体管,用来控制存储单元62是否能于数据传输线路D、D’上传输数据。而本发明就是以单端口存储单元所形成的单端口存储器来实现出双端口同步存储装置的功能。相较之下,已知技术就要以双端口存储器才能实现出双端口同步存储装置;如图7中所示,双端口的存储单元64需以8个晶体管组成,除了晶体管Q1至Q4之外,存储单元64还要有四个晶体管M及K来管理该存储单元的两个存取端口。其中,两个晶体管M用来控制存储单元64是否能从数据传输线路D1、D1’上传输数据,另两个晶体管K则用来控制存储单元64能否从数据传输线路D2、D2’上传输数据。由图7的比较可知,由于本发明能以单端口存储器来实现双端口同步存储装置的功能,故可大幅减少双端口同步存储装置的布局面积,降低双端口同步存储装置的成本。
总的来说,本发明在实现同步多端口的数据存取时,是将同一时钟脉冲周期中同步接收到的读取及写入指令依序逐一处理,在同一时钟脉冲中逐次完成数据存取要求,这样就能以单端口存储器来实现双端口存储装置的功能,降低双端口存储装置生产制造的时间与成本,减少双端口存储装置的布局面积。在前述讨论的存储装置20及40中,是以先读取后写入为例来说明本发明的实施方式,但本发明当然也可以先进行写入再进行读取。另外,本发明的技术精神可以推广实现M端口同步存储装置,举例来说,使存储装置40产生M倍频的时钟脉冲CK2,让时钟脉冲CK2的频率为时钟脉冲CK1的M倍,配合适当的地址传输模块及切换模块,就能以单端口存储器来实现M端口同步存储装置了。在存储装置20及40中,各模块的功能可用硬件电路或固件来实现;举例来说,地址传输模块及切换模块的功能可用一个或多个多任务器来实现。
以上所述仅为本发明的较佳实施例,凡依本发明的权利要求所做的均等变化与修饰,皆应属本发明的涵盖范围。
权利要求
1.一种以一存储器实现一双端口同步存储装置的方法,其包含有接收一读取指令,该读取指令是要由该存储器中读出一笔数据;在接收该读取指令时,同步接收一写入指令;该写入指令是要将一笔数据写入至该存储器;以及在接收该读取指令及该写入指令时,进行一选择步骤,以从该两个指令中先选出一个指令并加以执行,在执行完选出的指令后再执行另一指令。
2.如权利要求1的方法,其还包含有在接收该读取指令时,同步接收一读取地址,该读取指令是要由该存储器中的读取地址读出一笔数据;以及在接收该写入指令时,同步接收一写入地址,该写入指令是要将一笔数据写入至该存储器中的该写入地址。
3.如权利要求1的方法,其还包含有接收一时钟脉冲,该时钟脉冲中有多个周期;而在同步接收该读取指令及该写入指令时,是于同一时钟脉冲周期中接收该读取指令及该写入指令。
4.如权利要求3的方法,其中,当在进行该选择步骤时,是在同一时钟脉冲周期中先后执行完该两个指令。
5.如权利要求1的方法,其还包含有若在进行该选择步骤时选择先执行该读取指令,则进行一锁定步骤以记录该读取指令所读出的数据。
6.如权利要求1的方法,其中该存储器是一单端口存储器。
7.一存储装置,其包含有一存储器,用来储存数据;以及一控制接口,其可同步接收一写入指令及一读取指令,其中该写入指令是要将一笔数据写入至该存储器,而该读取指令是要将一笔数据由该存储器中读出,而该控制接口包含有一选择模块,当该控制接口接收该读取指令及该写入指令时,该选择模块可以从该两个指令中先选出一个指令并使该存储器执行该指令,在执行完选出的指令后,该选择模块可使该存储器继续执行另一指令。
8.如权利要求7的存储装置,其中该控制接口在接收该读取指令时,还可同步接收一读取地址,该读取指令是要由该存储器中的读取地址读出一笔数据,而当该控制接口在在接收该写入指令时,亦可同步接收一写入地址,该写入指令是要将一笔数据写入至该存储器中的该写入地址。
9.如权利要求7的存储装置,其中该控制接口还可接收一时钟脉冲,该时钟脉冲中有多个周期,而该控制接口在同步接收该读取指令及该写入指令时,是于同一时钟脉冲周期中接收该读取指令及该写入指令。
10.如权利要求9的存储装置,其中,该选择模块是在同一时钟脉冲周期中使该存储器先后执行完该两个指令。
11.如权利要求9的存储装置,其中该选择模块中包含有一时钟脉冲产生器,用来根据该控制接口接收的时钟脉冲产生另一内部时钟脉冲,使该内部时钟脉冲的频率为该时钟脉冲的若干倍;以及两个定序单元,电连于该时钟脉冲电路,当该控制接口同步接收该两个读取及写入指令时,该内部时钟脉冲的不同周期可使不同的定序单元致能,而当每一定序单元被致能时,可将一对应的指令传输至该存储器而使该存储器执行该指令。
12.如权利要求7的存储装置,其中该选择模块中包含有一仲裁器,用来根据一预设的优先级以优先从该两个指令中先选出一个指令。
13.如权利要求7的存储装置,其中该控制接口还包含有一锁定模块,若该选择模块选择先执行该读取指令,则该锁定模块可记录该读取指令所读出的数据。
14.如权利要求7的存储装置,其中该存储器是一单端口存储器。
全文摘要
本发明提供一种以单端口存储器来实现双端口同步存储装置的方法与相关装置。受时钟脉冲触发的双端口同步存储装置可在时钟脉冲的同一周期中同步地接收读取及写入指令,以同时进行数据的读取/写入;单端口存储器在同一时间内则仅能进行单一一个读取或写入指令。而当本发明要以成本较低、布局面积较小的单端口存储器实现多端口同步存储装置时,则是在同一周期中使单端口存储器先完成其中一个指令,再继续执行次一指令,以便在一周期结束时完成读取及写入指令,实现出双端口同步存储装置的功能。
文档编号G06F13/16GK1622070SQ20041010211
公开日2005年6月1日 申请日期2004年12月14日 优先权日2004年12月14日
发明者陈圣中, 徐荣灿 申请人:威瀚科技股份有限公司