节省存储器的方法与装置的制作方法

文档序号:6412152阅读:177来源:国知局
专利名称:节省存储器的方法与装置的制作方法
技术领域
本发明涉及一种节省存储器的方法与装置,特别涉及用于精简指令集运算(Reduced Instruction Set Computing;RISC)形式的微处理器(microprocessor)(如联华电子的UM6610微处理器)中使程序只读存储器(program ROM)取代数据只读存储器(data ROM)的一种节省存储器的方法与装置,可使在不更改原有微处理器结构或增加指令(instruction)的情况下,达到最佳存储器使用率。
一般的中央处理单元(Central Processing Unit;CPU)结构可以分为凡纽曼结构(Von Newman architecture)与哈佛结构(Harvard architecture)两种。
参照

图1与图2,图1绘示Von Newman结构的方框图,图2绘示Harvard结构的方框图。图1中Von Newman结构的中央处理单元100a将程序(program)与数据(data)都放在同一存储器空间(memory space),亦即将程序与数据放在存储器100b中。图2中Harvard结构的中央处理单元200a则将程序与数据放在不同的存储器,亦即将程序放在程序存储器(program memory)200b中,将数据放在数据存储器(data memory)200c中。所以,程序和数据可以并行存取(parallel access),以提高系统性能。
图3绘示联华电子UM6610微处理器的系统方框图。参照图3,联华电子的UM6610微处理器为一Harvard结构的4位CPU,它具有独立的程序总线(program bus)ROMAD
与数据总线(data bus)RAMA
及RAMD
。其中,程序总线为16位,数据总线为4位。
对于要附加一大量的数据,如语音数据(speech data),在Von Newman结构的CPU上,由于并没有程序及数据的分别,所以只需划分好其存储器空间,用不同的技术(RAM或ROM)来实现即可。例如,语音数据和程序事先都已规划好,可以用屏蔽式只读存储器(mask ROM)来制作。而对于使用Harvard结构的CPU,其语音数据和程序则必需存在不同的屏蔽式只读存储器中,分开的只读存储器对集成电路(Integrated Circuit;IC)的成本有不良的影响,它要有单独的解码器(decoder),不能共用感应放大器(sense amplifier),而且要单独测试,增加了测试的复杂度。并且对于低成本的UM6610微处理器而言,其数据随机存取存储器(data RAM)的存储器空间很小,不适用于在语音数据等数据较为广大的应用场合。
对于使用UM6610微处理器所设计的语音IC如UM5220,其语音数据是和程序数据放在互不相同的两块屏蔽式只读存储器上,如上所述,这增加了成本,而且造成测试不便。但如要使用程序只读存储器来代替语音只读存储器,对于UM6610微处理器的结构则会产生存储器使用率不好的问题。
图4为RTNW指令的说明,图5为TJMP指令的说明,图6绘示若语音数据使用RTNW指令所产生的存储器浪费情形。同时参照图4、图5与图6,UM6610微处理器使用RTNW来自程序只读存储器传回的一8位数据,由于指令是16位,因此它的存储器使用效率仅有50%。如图6所示,若使用RTNW指令的方法,在数据区(data area)600的高字节(high byte)600a是一些重复的RTNW操作码(op code),仅有低字节(low byte)600b是上述传回的8位的数据。这种存储器浪费在拥有大量数据的应用中(如语音应用)是不被允许的。
因此,本发明的主要目的是提供一种节省存储器使用的方法与装置,改进与上述UM6610微处理器结构相似的微处理器中存在的问题,使数据只读存储器可以和程序只读存储器放在同一个只读存储器中,达到100%的存储器使用率,而且不用更改微处理器的结构或增加任何指令,只需增加简单的线路就可以达到改善的效果。
根据本发明的主要目的,提出一种节省存储器的方法,用于包括一存储器与一中央处理单元的系统,其中,中央处理单元以一地址总线耦接存储器;该方法至少包括定义一特殊地址空间;检测地址总线的地址是否位于该特殊地址空间;以及若地址总线的地址是在该特殊地址空间,则将从存储器读取的数据经处理后送至中央处理单元。
根据本发明的主要目的,提出另一种节省存储器的方法,用于包括一UM6610微处理器与一存储器的系统,其中UM6610微处理器以一地址总线耦接存储器;该方法包括在存储器的地址空间内,以一选择寄存器定义一特殊地址空间,作为要特殊处理RTNW指令的存储器区域;在读取存储器数据时,检测地址总线的地址是否位于该持殊地址空间;以及若地址总线的地址在该特殊地址空间,则将读出的存储器数据与一内部RTNW操作码合成一RTNW程序码后,送至UM6610微处理器执行。
再者,根据本发明的主要目的,提出一种节省存储器的装置,用于包括一微处理器与一存储器的系统,其中微处理器以一地址总线耦接存储器;该装置至少包括一地址检测装置,耦接地址总线,用以判断地址总线的地址是否在预先设定的一特殊地址空间;以及一逻辑电路,分别耦接地址检测装置、存储器与微处理器;其中,若地址检测装置判断地址总线的地址在特殊地址空间时,从存储器中取出适当的数据和一内部操作码合成一指令,送至微处理器。
并且,根据本发明的主要目的,提出另一种节省存储器的装置,用于包括一微处理器与一存储器的系统;该装置至少包括一地址检测装置,用以判断微处理器所欲读取的存储器地址是否在预先设定的一特殊地址空间;以及一逻辑电路,受地址检测装置控制,将从存储器地址读取的数据选择性地输出至微处理器。
为让本发明的上述和其他目的、特征、和优点能更明显易懂,下文特举一较佳实施例,并配合附图详细说明如下图1是Von Newman结构的方框图;图2是Harvard结构的方框图;图3是联华电子UM6610微处理器的系统方框图;图4是RTNW指令的说明;图5是TJMP指令的说明;图6是语音数据使用RTNW指令所产生的存储器浪费情形表示图;图7是本发明较佳实施例的一种中央处理单元系统方框图;图8是本发明较佳实施例的存储器装置方框图;图9是本发明数据区的指令产生方式的方框图;图10是本发明使用Verilog HDL的一较佳实施例;图11是本发明使用Verilog HDL的另一较佳实施例;以及图12是本发明较佳实施例的一种外加电路方框图,它亦是图10或图11的一种硬件表示图。
图7绘示本发明较佳实施例的一种中央处理单元系统方框图。同时参照图7与图2,两图的不同之处在于图2的中央处理单元200a与程序存储器200b的连接加上外加电路,即图7中的地址检测装置700d与逻辑电路700e。另外,本发明的重点是在程序存储器700b中同时放入程序与数据,亦即将语音数据放在程序只读存储器内,避免其内部指令所带来浪费存储器的缺点。而且,在节省存储器的同时,可以不需更改微处理器(或中央处理单元)700a硬件主要部分。在稍许更改外加电路的情况下,就可以利用原来的中央处理单元来制作原型(prototype),马上就可以开发出程序。
图8为本发明较佳实施例的存储器装置方框图。参照图8,本发明原理是先将存储器700b的某一区域定义为RTNW指令的数据区800a,其他区域为一般程序区800b。当欲使用存储器700b时,首先由地址检测装置700d检测欲使用的存储器地址ADDRESS是否在数据区800a。如果是的话,RTNW指令的操作码由硬件所产生,它和存储器700b的数据区800a的数据级联(data cascade)组成一RTNW指令,传回微处理器700a执行。如果不是的话,指令码直接由存储器700b的程序区800b所产生。
同时参照图9与图8,图9绘示本发明数据区的指令产生方式的方框图。当微处理器700a欲使用存储器700b的数据区800a时,逻辑电路700e会根据地址检测装置700d接收的控制信号HIGHBYTE指示由数据区取得8位数据,例如高字节(high byte)区900h的数据或低字节(low byte)区9001的数据,并且与内部的RTNW操作码900opc合成RTNW指令,如图9中由RTNW操作码900opc与低字节数据AA合成的RTNW指令,或由RTNW操作码900opc与高字节数据55合成的RTNW指令。如此偷天换日作法,微处理器根本不知道传回的指令是模拟出来的,因此存储器使用率可达100%。
接着,参照图10与图11,图10是本发明使用Verilog硬件描述语言(Hardware Description Language;HDL)的一较佳实施例,图11是本发明使用Verilog HDL的另一较佳实施例。将上述两图所示的HDL与适当的元件库(library)合成后,就可以得到一具体电路。由于实现的方式很多,因此本发明强调的是其观念,实际上它还可以衍生出很多变形。例如图10将程序区和数据区只用一地址位来选择;而图11则用一选择寄存器(option register)来做选择,因此程序区和数据区大小比例分配是可变的,可随存储器用途而作区分,以利程序的方便。例如存储容量为16K的存储器可以将数据区与程序区划分为8K,8K,或划分为12K,4K等,前者只需1位就可以作选择,而后者需要2位才能作选择。因此在硬件设计时可以利用选择寄存器来选择,如此可以适用于各种不同大小的语音数据。
参照图12,其绘示本发明较佳实施例的一种外加电路方框图,它是图10或图11的一种硬件表示图。其中,多路转换器(multiplexer)MUX15~MUX0为图7逻辑电路700e的举例,控制电路1200为图7地址检测装置700d的举例。多路转换器组MUX15~0以总线ROMBIT[15]~
连接图7存储器700b,并经总线DATA[15]~
耦接图7微处理器700a。多路转换器MUX15~8的一输入端依序耦接逻辑1,1,0,1,0,0,0,0,表示RTNW指令的操作码1101000,另一输入端依序耦接总线ROMBIT[15]~[8]。而多路转换器MUX7~0一输入端分别耦接总线ROMBIT[15]~[8],另一输入端分别耦接总线ROMBIT[7]~
。因此,总线DATA[15]~
有三种可能的连接法一是DATA[15]~
=ROMBIT[15]~
,此时将存储器程序区数据输出至微处理器;二是DATA[15]~
=[1101000],ROMBIT[15]~[8],此时将RTNW操作码与存储器数据区的高字节数据输出至微处理器;三是DATA[15]~
=[1101000],ROMBIT[7]~
,此时将RTNW操作码与存储器数据区的低字节数据输出至微处理器,其中后两者选择输出高位数据或低位数据,可以以一控制信号HIGHBYTE来实现。
由上述本发明较佳实施例可知,应用本发明提供的方法与装置可将语音数据放在程序只读存储器内,避免了其内部指令所带来浪费存储器的缺点。而且,在节省存储器的同时,可以不需更改CPU硬件主要部分,在稍许更改外加电路的情况下,就可以利用原来的CPU来制作本发明的装置,并且马上可以开发出程序。
虽然本发明已以RTNW指令的较佳实施例揭露如上,然其并非用以限定本发明,还可以有其他指令或是两个以上的指令专用区。凡任何熟悉此技术的人员,在不脱离本发明的精神和范围内,当可作各种的更动与润饰,因此本发明的保护范围当视后附的权利要求所界定者为准。
权利要求
1.一种节省存储器的方法,用于包括一存储器与一中央处理单元的系统,该中央处理单元以一地址总线耦接该存储器;该方法至少包括定义一特殊地址空间;检测该地址总线的地址是否位于该特殊地址空间;以及若该地址总线的地址在该特殊地址空间,则将从该存储器读取的数据经处理后送至该中央处理单元。
2.如权利要求1所述的方法,该方法还包括若该地址总线的地址不在该特殊地址空间,则将从该存储器读取的数据直接送至该中央处理单元。
3.如权利要求1所述的方法,其中若该地址总线的地址在该特殊地址空间,则利用从该存储器读取的部分数据和硬件模拟的一操作码合成一指令,送至该中央处理单元执行。
4.如权利要求1所述的方法,该方法还包括在该存储器的地址空间内,以一选择寄存器定义该特殊地址空间。
5.一种节省存储器的方法,用于包括一微处理器与一存储器的系统,该微处理器以一地址总线耦接该存储器;该方法包括在该存储器的地址空间内,定义一特殊地址空间,作为要特殊处理的存储器区域;在读取该存储器数据时,检测该地址总线的地址是否位于该特殊地址空间;以及若该地址总线的地址在该特殊地址空间,则将读出的该存储器数据与一内部操作码合成一程序码后,送至该微处理器执行。
6.如权利要求5所述的方法,该方法还包括若该地址总线的地址不在该特殊地址空间,则将读出的该存储器数据送至该微处理器执行。
7.如权利要求5所述的方法,其中利用一地址检测装置检测该地址总线的地址是否位于该特殊地址空间。
8.如权利要求5所述的方法,其中利用一逻辑电路将读出的该存储器数据与该内部操作码合成该程序码。
9.如权利要求5所述的方法,其中将读出的该存储器数据的高字节与该内部操作码合成该程序码。
10.如权利要求5所述的方法,其中将读出的该存储器数据的低字节与该内部操作码合成该程序码。
11.如权利要求5所述的方法,该方法还包括以一选择寄存器定义该特殊地址空间。
12.一种节省存储器的装置,用于包括一微处理器与一存储器的系统,该微处理器以一地址总线耦接该存储器;该装置至少包括一地址检测装置,耦接该地址总线,用以判断该地址总线的地址是否在预先设定的一特殊地址空间;以及一逻辑电路,分别耦接该地址检测装置、该存储器与该微处理器;其中,若该地址检测装置判断该地址总线的地址在该特殊地址空间时,从该存储器中取出适当的数据和一内部操作码合成一指令,送至该微处理器。
13.如权利要求12所述的装置,其中若该地址检测装置判断该地址总线的地址不在该特殊地址空间时,直接将该存储器取出的数据送至该微处理器。
14.如权利要求12所述的装置,该装置还包括一选择寄存器,用以决定该特殊地址空间。
15.一种节省存储器的装置,用于包括一微处理器与一存储器的系统;该装置至少包括一地址检测装置,用以判断该微处理器所欲读取的该存储器地址是否在预先设定的一特殊地址空间;以及一逻辑电路,用以受该地址检测装置控制,将从该存储器地址读取的数据选择性地输出至该微处理器。
16.如权利要求15所述的装置,其中若该地址检测装置判断所欲读取该存储器地址在该特殊地址空间时,读取该存储器地址的适当数据并和一内部操作码合成一指令,再送至该微处理器;若该地址检测装置判断所欲读取该存储器地址不在该特殊地址空间时,直接读取该存储器地址的数据,并送至该微处理器。
17.如权利要求16所述的装置,其中根据一控制信号决定从该存储器地址中读取高字节或低字节数据,并与该内部操作码合成该指令。
18.如权利要求15所述的装置,该装置还包括一选择寄存器,用以决定该特殊地址空间。
19.一种节省存储器的装置,它至少包括一UM6610微处理器;一只读存储器;一地址检测装置,用以判断该UM6610微处理器所欲读取的该只读存储器地址是否在预先设定的一特殊地址空间;以及一逻辑电路,用以受该地址检测装置控制,将从该只读存储器地址读取的数据选择性地输出至该UM6610微处理器。
20.如权利要求19所述的装置,其中当该地址检测装置判断该UM6610微处理器所欲读取的该只读存储器地址在该特殊地址空间时,根据一控制信号控制该逻辑电路读取该只读存储器地址数据的高字节或低字节,并与一内部RTNW操作码合成一RTNW指令。
21.一种节省存储器的装置,它至少包括一UM6610微处理器;一只读存储器;一选择寄存器,用以决定一特殊地址空间;一地址检测装置,用以判断该UM6610微处理器所欲读取的该只读存储器地址是否在该特殊地址空间;以及一逻辑电路,用以在该地址检测装置判断出该只读存储器地址位于该特殊地址空间时,根据一控制信号从该只读存储器读取适当的数据并和一内部RTNW操作码合成一RTNW指令。
22.一种节省存储器的方法,用于包括一UM6610微处理器与一存储器的系统,该UM6610微处理器以一地址总线耦接该存储器;该方法包括在该存储器的地址空间内,利用一选择寄存器定义一特殊地址空间,作为要特殊处理RTNW指令的存储器区域;在读取该存储器数据时,检测该地址总线的地址是否位于该特殊地址空间;以及若该地址总线的地址在该特殊地址空间,则根据一控制信号将读出的该存储器数据与一内部RTNW操作码合成一RTNW程序码后,送至该UM6610微处理器执行。
全文摘要
一种节省存储器的方法与装置,它在一般哈佛结构的中央处理单元中将语音数据放在程序存储器内,即在程序存储器中放入数据与程序,避免其内部指令所带来浪费存储器的缺点。而且,在节省存储器的同时,可以不需更改中央处理单元主体,只要稍许更改外加电路,就可以利用原来的中央处理单元制作原型,用以开发出程序,以利市场推广。
文档编号G06F12/00GK1204805SQ9711372
公开日1999年1月13日 申请日期1997年7月4日 优先权日1997年7月4日
发明者徐世斌, 郑奕禧, 洪敬和 申请人:联华电子股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1