具有地址变换的数据处理方法及设备的制作方法

文档序号:6416928阅读:163来源:国知局
专利名称:具有地址变换的数据处理方法及设备的制作方法
技术领域
本发明涉及带有地址变换的数据处理方法及设备,这种方法及设备能够把存储在低速存取存储器内的数据转移到高速存取存储器执行高速存取。
近来出现了对高速执行数据处理的系统、例如打印机的需求。但是,由于存储程序的ROM(只读存储器)低速存取数据,所以存在即使中央处理单元(CPU)能够高速操作也需要等待这样的问题,于是存取时间就较长。因此,为了解决这一问题,已有了实现这样一种系统的技术,在该系统中把程序装载入高速RAM(随机存取存储器)、例如具有页面模式和超页面模式等功能的静态RAM、DRAM内,对该RAM进行存取来执行高速处理。以下是已有技术的说明。
已有技术1已
公开日本专利申请JP-9-160824公开了从只读存储器、例如ROM中读出程序数据执行处理的数据处理器。在该数据处理器中,在初始化时刻把存储在通常被认为是低速存取的ROM内的程序数据转移到被认为是高速存取的RAM,一般情况下高速地从该RAM存取该程序数据。


图1是在已
公开日本专利申请JP-9-160824中公开的简要结构图。
在图1中,当在初始化时刻把开始信号输入给定时发生器804时,地址发生器805就利用该定时发生器804产生的定时产生用来存取低速ROM 806的地址。
地址发生器805输出的n比特地址输入给ROM 806和多路复用器802,利用定时发生器804输出的选择信号slct把该n比特地址选作正常使用的地址发生器801输出的地址并从多路复用器802将其输出。
因此,在初始化时刻,地址发生器805的地址被选作RAM 803的地址,从ROM 806读出的m比特数据写入RAM 803。
相反地,在正常情况下,选择地址发生器801的地址,RAM 803根据该地址输出程序数据。于是,在初始化时刻,低速ROM 806的数据被转移到RAM 803,而在正常情况下,从RAM 803存取数据。已有技术2已
公开日本专利申请JP-6-223205公开了在ROM和RAM中选择一个区域的技术。
图2和3是在已
公开日本专利申请JP-6-223205中公开的简要结构图。
在图2中,两个地址设定寄存器901和902设定图3存储器映象中的ROM(或SRAM)和DRAM之间的地址边界,分别设定为[400000H]和[B00000H](十六进制表示)。两个比较器电路903和904比较地址设定寄存器901和902输入的地址和通过地址总线输入的地址的大小,判断电路905确认存储器映象已被分成图3所示的三个地址区域。
三个配置寄存器(CR)906、907和908为ROM(SRAM)或DRAM配置三个地址。就是说,这样执行比特配置,即CR 906为ROM,CR 907为DRAM,而CR 908为ROM。根据判断电路905的输出和这三个寄存器配置的值,选择电路909向控制电路911传送表明哪一个存储区是ROM、哪一个存储区是DRAM的信息。
当地址在控制电路911的DRAM区域内时,就产生用于DRAM的控制信号,多路复用器910把地址分成列地址和行地址并输出它们。
相反地,当地址在ROM区域内时,控制电路911就产生用于ROM的控制信号,直接输出该地址。
于是,仅通过设定地址设定寄存器901和902以及设定配置寄存器906、907和908就可随意确定使用ROM和DRAM中的哪一个。
此外,利用这一技术,还可以进行地址变换。例如,通过设定配置寄存器906、907和908,可把图3A变换为图3B,看起来象进行了地址变换。
已有技术3已
公开日本专利申请JP-60-91460公开了进行地址变换的技术。
图4是在已
公开日本专利申请JP-60-91460中公开的简要结构图。
在图4中,中央处理单元(以下称为“CPU”)1101输出的地址传送给地址检测电路1103,当该地址与预定地址一致时,就把这种一致告知门电路1104。
一旦接收到一致信息,门电路1104就选通,输出在偏移寄存器1102内的数据。
加法器1105把门电路1104的数据与CPU 1101的地址相加,输出被变换地址。
当地址检测电路1103确认CPU 1101的地址与预定地址不一致时,门电路1104就不选通,输出“0”。于是,加法器1105将把CPU1101的地址与“0”相加,即输出没有被变换的原始地址。
对于已有技术1的已
公开日本专利申请JP-9-160824,由于设置成在正常情况下总是执行从RAM的读出,所以系统除了需要工作RAM外通常还需要用来存储被传送的ROM数据的RAM容量。因此,造成了系统成本增大和仅在初始化时刻才需要ROM的不足,从系统效率的观点来看不够有效。
对于已有技术2的已
公开日本专利申请JP-6-223205,利用公共地址总线转换ROM(SRAM)的地址和DRAM的多路复用地址,以便简化外部电路。但是,为了实现高速存取,近来通常这样构成系统,即分别设定ROM地址和DRAM地址,以便能够同时存取它们。已有技术2的缺点是没有考虑这种结构。
作为已有技术2的效果,通过在初始化时刻把存储区内从地址
至[3FFFFFH]的ROM数据转移到自[400000H]起的DRAM区域,就把地址例如从图3A变换为图3B,所以能够实现对高速SRAM的存取。但是,在这种情况下,不能够实现在变换之前直接对DRAM区域寻址的存取。例如,在编程为在变换之前写入[500000H]的情况下,会有这样的问题,即在变换之后[500000H]变成了ROM,这样就不能够写入[500000H]。
对于已有技术3的已
公开日本专利申请JP-60-91460,地址由地址检测电路1103进行检测,当该地址与预定地址一致时,门电路1104就被打开,给该地址增加一偏移值。于是需要进行一致检测的时间和进行加法的时间,这就造成了不能够进行高速变换的问题。
为了解决上述问题,本发明的目的是提供带有地址变换的数据处理方法及设备,这种方法及设备能够把存储在低速存取存储器内的数据有效地转移到高速存取存储器,以执行对该数据的高速存取。
实现上述目的的本发明的特征在于具有下述结构。
本发明的第一个方面是带有地址变换的数据处理方法,该方法能够把存储在低速存取存储器内的数据转移到高速存取存储器执行高速存取,包括以下步骤存储器选择步骤,选择从低速存取存储器或从高速存取存储器存取数据;
被变换地址确定步骤,根据地址信号和中央处理单元设定的地址变换数据,确定该地址信号的被变换地址信号;比较步骤,比较该地址信号和低速存取存储器内的原始地址,判断该地址信号是否与该原始地址一致;以及地址信号选择步骤,根据存储器选择步骤的选择结果知比较步骤的比较结果,选择该地址信号或选择该被变换地址信号,在该方法中,可从低速存取存储器或从高速存取存储器存取相同的数据。
本发明的第二个方面是根据第一个方面的数据处理方法,其中在被变换地址确定步骤中使用的地址信号的特征在于不是该信号的所有比特而只是其一些预定比特被设定。
本发明的第三个方面是根据第一或第二个方面的带有地址变换的数据处理方法,其中的存储器选择步骤根据高速存取存储器的空白区域容量的不同,在该空白区域的容量足以供数据处理用的情况下选择从高速存取存储器进行存取,而在该空白容量不足以供数据处理用的情况下选择从低速存取存储器进行存取。
本发明的第四个方面是根据第一或第二个方面的带有地址变换的数据处理方法,其中的存储器选择步骤是通过读出写入非易失存储器的选择标记来执行的。
本发明的第五个方面是根据第三个方面的带有地址变换的数据处理方法,其中的存储器选择步骤是通过读出写入非易失存储器的选择标记来执行的。
本发明的第六个方面是带有地址变换的数据处理器,它能够把存储在低速存取存储器内的数据转移到高速存取存储器来高速地存取该数据,包括加法器部分,把一地址信号与中央处理单元设定的地址变换数据相加,确定相应于该地址信号的被变换地址信号;判断部分,判断该地址信号是否与相应于执行数据转移的低速存取存储器的原始地址一致;以及选择部分,根据判断部分输出的检测信号选择加法器部分确定的被变换地址信号,其中在加法器部分和判断部分中的处理是并行执行的。
本发明的第七个方面是带有地址变换的数据处理器,它能够把存储在低速存取存储器内的数据转移到高速存取存储器来高速地存取该数据,包括
加法器部分,把一地址信号与中央处理单元设定的地址变换数据相加,确定相应于该地址信号的被变换地址信号;判断部分,判断该地址信号是否与相应于执行数据转移的低速存取存储器的原始地址一致;以及选择部分,根据判断部分输出的检测信号和表示低速存取存储器和高速存取存储器的哪一个被用于存取数据的选择数据,选择该地址信号或选择该被变换地址信号,其中在加法器部分和判断部分中的处理是并行执行的。
本发明的第八个方面是根据第六或第七个方面的带有地址变换的数据处理器,其中在加法器部分中被处理的地址信号的特征在于不是该地址数据的所有比特而只是其一些预定比特被设定。
根据本发明的第一个方面,存储器选择步骤根据高速存取存储器等的空白区域判断是否可在高速存取存储器内对数据进行处理。
此外,为了能够根据地址信号存取高速存取存储器的被变换地址,首先在被变换地址确定步骤中根据地址信号和地址变换数据确定被变换地址。然后在比较步骤中比较地址信号和低速存取存储器内的原始地址,判断地址信号是否是原始地址,如果有多个被变换地址,就判断地址信号对应于哪一个被变换地址。
如果在比较步骤中确认地址信号是原始地址,并且存储器选择步骤的判断结果(即是否可从高速存取存储器存取数据的判定结果)是肯定的,就在地址信号选择步骤中选择相应的被变换地址信号,并从高速存取存储器存取所需数据。
相反地,如果比较步骤的判断结果和选择步骤的判断结果中的至少一个是否定的,则在地址信号选择步骤中选择地址信号而不选择被变换地址信号,并从低速存取存储器内的原始地址存取所需数据。
由于不改变原始地址的数据内容就能够选择是从低速存取存储器还是从高速存取存储器存取数据,所以当地址变换不是必需的时候,就不需要执行新的地址变换,这样就缩短了处理时间、使设备小型化并减小了程序长度。
根据本发明的第二个方面,作为在被变换地址确定步骤中使用的地址信号,根据待转移数据的不同,有多个预定比特可供处理使用,这样就可迅速执行处理,减少了处理时间和处理步骤。
根据本发明的第三个方面,在高速存取数据时,可这样选择存取,即如果高速存取存储器的容量不够数据处理所用,就从低速存取存储器存取数据,如果高速存取存储器的容量足够数据处理所用,就从高速存取存储器存取数据。这样就解决了系统因缺乏高速存取存储器的工作区域不能正常操作的问题。
根据本发明的第四和第五个方面,在非易失存储器中写入了是否可把低速存取存储器内的数据转移到高速存取存储器。由于非易失存储器的内容即使在掉电时也不会被擦除,所以用户能够在接通电源时或在重新启动时自动地对高速存取存储器进行存取,不必了解高速存取存储器的容量,这样就能够执行高速处理。
根据本发明的第六个方面,加法器部分把地址信号与地址变换数据相加,确定对应于地址信号的被变换地址信号,与此同时,判断部分判断地址信号是否对应于(与)低速存取存储器内的已被转移到高速存取存储器进行处理的原始地址(一致),并在有多个原始地址的情况下确定是哪一个原始地址。
然后,在选择部分中,根据判断部分输出的检测信号选择被变换地址信号。
加法器部分和判断部分的处理是并行执行的,因此缩短了确定所需地址信号的时间,这样就能够执行高速数据处理。
根据本发明的第七个方面,加法器部分把地址信号与地址变换数据相加,确定对应于地址信号的被变换地址信号,与此同时,判断部分判断地址信号是否对应于(与)低速存取存储器内的已被转移到高速存取存储器进行处理的原始地址(一致),并在有多个原始地址的情况下确定是哪一个原始地址。
如果判断部分确认地址信号是原始地址,选择部分就选择相应的被变换地址信号,从高速存取存储器存取所需数据。
相反地,如果判断部分确认地址信号不是原始地址,选择部分就选择地址信号而不选择被变换地址信号,从低速存取存储器内的原始地址存取所需数据。
这样就解决了系统因缺乏高速存取存储器的工作区域不能正常操作的问题。
加法器部分和判断部分的处理是并行执行的,因此缩短了确定所需地址信号的时间,这样就能够执行高速数据处理。此外,不改变原始地址的数据内容就能够选择是从低速存取存储器还是从高速存取存储器存取数据。因此,即使需要从低速存取存储器存取数据,也不需要例如恢复已被进行了地址变换的数据这样的复杂地址处理,这样就缩短了处理时间、使设备小型化并减小了程序长度。
根据本发明的第八个方面,通过设定地址数据的多个预定比特而不是设定其所有比特,根据待转移数据的不同,在加法器中使用的地址信号利用了处理所需的这些预定比特,这样就可迅速执行处理,减少了处理时间和使设备小型化。
图1是表示已有技术1的简要结构的方框图。
图2是表示已有技术2的简要结构的方框图。
图3A是表示已有技术2中在地址变换之前的存储器映象的图示,图3B是表示已有技术2中在地址变换之后的存储器映象的图示。
图4是表示已有技术3的简要结构的方框图。
图5是表示本发明一实施例的数据处理器的简要结构的方框图。
图6A是表示本发明一实施例的数据处理器在地址变换之前的存储器映象的图示,图6B是表示本发明一实施例的数据处理器在地址变换之后的存储器映象的图示。
图7是数据处理器告知用户在RAM内没有空白容量的流程图。
图8是数据处理器告知用户在初始化时刻可执行高速存取的流程图。
图9是在初始化时刻在RAM内有空白容量的情况下,数据处理器高速存取数据的流程图。
图10是数据处理器判断对非易失RAM进行高速存取还是低速存取的流程图。
图11是表示图5中的地址变换电路102的简要结构的方框图。
以下参看附图描述本发明的实施例。
图5表示带有地址变换的数据处理器的简要方框图,它包括中央处理单元(以下称为“CPU”)101,输出控制命令、例如地址信号和读命令等;地址变换电路102,启动地址信号的变换;主控制器103,利用每一台设备等执行数据处理;ROM控制器104,根据来自主控制器103的数据控制下述各存储器;RAM控制器105;与ROM控制器104连接的引导ROM 107和代码ROM 108;与RAM控制器105连接的DRAM 109;以及与主控制器103连接的EEPROM存储器。
在图5中,在进行ROM存取的情况下,CPU 101输出的地址信号“地址”首先输入给地址变换电路102。如果初始级的设定是地址变换不由地址变换电路102来执行,地址变换电路102就把输入的地址信号“地址”直接输出给主控制器103,不进行地址变换。
利用主控制器103,输入的地址信号“地址”被主控制器103内的译码器电路(未示出)译码。如果输入的地址信号“地址”对应于图6A所示存储器映象中的引导ROM和代码ROM区域,主控制器103就把地址信号“地址”输出给ROM控制器104。如果输入的地址信号“地址”对应于RAM区域,主控制器103就把地址信号“地址”输出给RAM控制器105。此时,主控制器103根据来自CPU 101的读信号“读”、写信号“写”和设备选择信号“cs”产生ROM“rd”(读)、ROM“cs”(片选)、RAM“rd”、RAM“wr”(写)和RAM“cs”信号,并将它们输出给ROM控制器104和RAM控制器105。上述“cs”信号被用作存取同步信号,“rd”和“wr”信号被用来判断信号是被“读”还是被“写”。
ROM控制器104根据来自主控制器103的地址信号“地址”、ROM“rd”和ROM“cs”信号,产生信号“地址”、“rd”和“cs”来存取外部连接的引导ROM 107和代码ROM 108。
此外,RAM控制器105根据来自主控制器103的地址信号“地址”、RAM“rd”、RAM“wr”和RAM“cs”信号,产生信号“地址”、“RAS”、“CAS”、“wr”和“rd”来存取外部连接的DRAM 109。
CPU 101读出的数据如下地处理。
从引导ROM 107和代码ROM 108读出的数据首先传送给ROM控制器104,而从DRAM109读出的数据传送给RAM控制器105。
ROM控制器104和RAM控制器105内的数据然后传送给主控制器103,然后通过内部总线调整电路(未示出)传送给CPU 101作为CPU 101的数据。
一般来说,用来操作CPU 101的程序数据存储在ROM内,而用来操作程序的工作数据、例如堆栈存储在RAM内。
还有,当CPU的数据被写入存储器时,该数据通过主控制器103和RAM控制器105传送给DRAM 109并写入其内。
当从RAM存取ROM 108内的程序数据时,代码ROM 108内的程序数据首先被CPU 101读出,并被写入DRAM 109。
通过执行上述处理,就从图6A所示的存储器映象获得了图6B所示被进行了地址变换的存储器映象。就是说,自地址[100000H]起的代码ROM区域被转移到自地址[400000H]起的RAM区域。在此,CPU 101在地址变换电路102中设定原始地址(在本实施例中是[100000H])寄存器、被变换地址(在本实施例中是[400000H])寄存器和用来进行地址变换的寄存器。在此设定之后,一旦CPU 101要存取代码ROM区域(自地址[100000H]),地址变换电路102就变换该地址。由于该被变换地址自[400000H]起,所以主控制器103认为其对应于RAM区域,该地址传送给RAM控制器105,以便存取DRAM 109。于是,在RAM区域内的代码ROM的被转移程序数据被作为DRAM存取,以便可被CPU 101高速存取。
根据以上描述,根据地址变换电路102是否被允许执行地址变换,可确认是执行ROM存取(即低速存取)还是执行RAM存取(即高速存取)。这样一来,例如在RAM的容量较小、没有区域可用来传送数据的情况下,或在工作存储器容量不够、性能不良的情况下,就可选择存取ROM而不存取RAM,相反地,在系统具有足够大容量的RAM的情况下,就可选择存取RAM。
在以上描述中,当地址变换电路102设定的原始地址的ROM区域被预先划分为一些存取单元时,例如在可把引导ROM区域设定为ROM存储单元0、把代码ROM区域设定为ROM存储单元1的系统中,对于图6的存储器映象,就不需要设定原始地址的寄存器,仅仅设定被变换地址的寄存器就能够执行类似的处理。具体来说,通过提供对应于ROM存储单元0的被变换地址设定寄存器作为寄存器A、提供对应于ROM存储单元1的被变换地址设定寄存器作为寄存器B,就不需要原始地址设定寄存器,仅被变换地址设定寄存器就能够执行处理。
在上述能够在ROM区域中设定存储单元的系统中,由于ROM主要包含程序数据,所以存储容量较大。因此,把被变换地址划分成一些小的单元是无用的。例如,如果被变换地址可由所有比特来设定,就可以以字节为单位对其进行变换,但ROM内的程序数据不能以1字节为单位来保存。如果ROM内的程序数据可以以64KB为单位来保存,则只需以64KB为单位对程序数据进行变换。因此,ROM存储单元开始地址的低16比特可固定为
。这样就不需要变换地址的低16比特,地址可原样使用。于是被变换地址的地址设定可只对高8比特来进行,减小了电路尺寸。
还有,对于可在ROM内设定存储单元的系统,如果这样设置用来允许地址变换的设定寄存器,即例如对于图6的存储器映象,使引导ROM内的ROM存储单元0对应于第一个比特,而使代码ROM内的ROM存储单元1对应于第二个比特,这样一来,如果第一个比特是“0”,则就可把引导ROM的地址变换设定为被禁止,如果第二个比特是“1”,就可把代码ROM的地址变换设定为被允许。
再有,选择把代码ROM内的数据转移到RAM执行高速存取(例如,把第二个比特设定为“1”)可利用外部输入装置、例如键输入、开关SW的开关输入等(未示出)来进行。现在参看图7描述选择高速存取的流程图。
首先检查作为上述外部输入装置的键输入(接通)或开关SW的输入(接通)(步骤S301),然后利用预定处理确定要向其传送数据的RAM的容量(步骤S302),并根据该确定结果判断是否有足够的空白区域(步骤S303)。
如果RAM的容量不够,就利用显示部分显示RAM的容量不够、例如在LCD(液晶显示器)上显示“RAM容量不够”,点亮空白区域不足显示灯等(步骤S307)。
如果RAM容量的空白区域大于要被转移的ROM区域,就把代码ROM中的数据转移到RAM(步骤S304),在地址变换电路102中设定要从代码ROM区域被变换至RAM的地址(步骤S305),进入RAM高速存取模式(步骤S306),结束处理。
在此不对判断RAM容量的空白区域的具体方法进行描述,但有一种判断容量的方法可以是这样的把数据写入预定地址,读出同一地址以比较读出的数据是否与写入的数据一致,如果一致,就执行下一个寻址(或者重复下一个地址的处理)。
此外,如图8的流程图所示,在通电时确定和判断RAM的容量(步骤S401和S402),如果有足够的容量执行高速存取,就可以在LCD等上显示“高速存取允许”(步骤S403)。
如图9流程图所示,在通电时确定和判断RAM的容量(步骤S501和S502),如果有足够的容量执行高速存取,就自动把代码ROM内的数据转移到RAM(步骤S503),通过利用地址变换电路102设定已被传送了代码ROM内的数据的被变换RAM地址(步骤S504),和设定RAM存取模式(步骤S505),就可实现RAM存取。
如果没有足够容量执行高速存取,就执行ROM存取。
于是,用户总是可以对系统执行高速存取,不必了解系统内RAM的容量,防止了系统因缺乏工作RAM而不能正常操作这样的问题。
还有,如果在非易失RAM、例如EEPROM等中存储RAM存取被设定这样的数据,则在再次接通电源时,通过读出该EEPROM内的该数据就可自动地执行RAM存取。如图5所示,2比特串行EEPROM由同步时钟CLK信号和双向串行数据DATA组成,通过写入命令来读出/写入数据。就是说,在写入的情况下,它顺序地传送写命令,然后传送地址,和写入数据。在读出的情况下,它就传送读命令,传送地址和与CLK同步地读出数据。
以下参看图10所示处理的流程图对此作更详细的描述。在上述RAM存取模式中(步骤S601),如果设置高速模式标记并将其存储在非易失RAM内(步骤S602),则在再次接通电源时(步骤S603和S604),非易失RAM内的高速模式标记就被读出(步骤S605),该标记表示高速模式被设定(步骤S606),判断RAM的容量以便改变为RAM存取模式(步骤S607)。
如果RAM的容量不足以供数据处理用,就采用ROM存取,在EEPROM-它是非易失RAM-中设置表示ROM存取模式的标记(步骤S611)。如果RAM容量的空白区域足以供数据处理用,就执行与图9所示的步骤S502至S505相同的处理(步骤S608至S610)。
利用图10所示流程图的处理,则例如在断电期间RAM的容量被减少,甚至在没有足够工作RAM的情况下也能够防止系统不能正常操作这样的问题。
以下参看图11描述地址变换电路102。在本实施例中,它是具有32比特地址的系统。
在图5的CPU 101输出的地址A[310]中,地址A[3116]的高16比特输入给地址变换电路102。但是,这是ROM容量的最小单位是64KB的情况,但本发明不受此限制,例如,在其它系统中,ROM容量的最小单位是128KB,则在第17比特处进行分割。
输入高16比特中的低8比特的地址A[2316]分别输入给两个加法器704和705、并与被变换地址寄存器702和703中的数据相加。
在上述被变换地址寄存器702和703中,来自CPU 101(图5)的数据D[3116]基于“或”门714的输出信号,“或”门714求来自CPU 101的“写”信号和CS信号的“与非”逻辑值。
加法器704和705的输出结果成为被变换地址。例如,如果输入地址A[3116]是
,被变换地址是[1100 0000 0000 0011],A[2316]中的[1000 0011]和[1100 0000 0000 0011]在加法器中相加,则获得的结果[1100 0000 1000 0110]就将是被变换地址。不管存取区域是ROM还是RAM,加法器704和705都执行加法运算,并输出被变换地址。
相反地,输入地址的最高8比特地址A[3124]用来判断原始地址是否在ROM存储单元的区域内。ROM存储单元0的开始地址的高8比特存储在寄存器706内,一致检测电路708比较该地址数据和地址A[3124],看它们是否一致。如果它们一致,就输出一致信号。ROM存储单元1地址的比较同样可利用一致检测电路709来实现,一致检测电路709把存储了ROM存储单元1开始地址的高8比特的地址寄存器707内的地址数据与地址A[3124]作比较。
就是说,利用一致检测电路708和709的检测,判断输入地址在哪一个ROM存储单元内,这样就能够确定待变换地址的范围。顺便说说,在一个存储单元的大小是16MB的情况下,待变换地址的范围是高8比特。
此外,根据求来自CPU 101的“写”信号和CS信号的“与非”逻辑值的“或”门714的输出信号,如把来自CPU 101(图5)的数据D[3116]输入上述被变换地址寄存器702和703那样,也把来自CPU 101(图5)的数据D[3116]输入变换允许寄存器710。
当变换允许寄存器710内对应于ROM存储单元的比特值是“1”时,就表示允许对ROM存储单元进行变换。根据本实施例,当ROM存储单元0被分配给第一比特,而ROM存储单元1被分配给第二比特时,如果变换允许寄存器710内的值是“0000 0001”,则ROM存储单元0的地址变换允许,而ROM存储单元1的地址变换被禁止。当用于每一个ROM存储单元的允许/禁止信号E0和E1分别输入给相应“与”门711和712时,它们就与一致检测电路708和709的输出信号-是各个ROM存储单元的一致信号-进行“与”运算(逻辑积),运算的结果作为信号S0和S1输出给选择器713。
就是说,仅当该地址与ROM存储单元0的地址一致时才允许进行地址变换,S0变成有效的“1”,仅当该地址与ROM存储单元1的地址一致时才允许进行地址变换,S1变成有效的“1”。
利用选择器713,根据对应于每一ROM存储单元的信号S0和S1选择三个地址中的一个。这三个地址是(1)CPU 101输出的原始地址A[2316],(2)加法器704变换的地址,以及(3)加法器705变换的地址。
规定当(S0,S1)=(0,0)时选择(1),当(S0,S1)=(1,0)时选择(2),当(S0,S1)=(0,1)时选择(3)。
因此,当一地址位于ROM存储单元0的区域内并且地址变换允许时,该地址就被变换为被设定在被变换地址寄存器702内的地址并被输出。当一地址在ROM存储单元1的区域内并且地址变换允许时,该地址就被变换为被设定在被变换地址寄存器703内的地址并被输出。
相反地,当没有地址在ROM存储单元0或1内、或者地址变换被禁止时,就输出没有被变换的地址A[2316]。
如上所述,根据本实施例的图象处理器,可以这样选择存取,即当要把程序数据转移到RAM来执行高速存取时,如果RAM的容量不够,就从ROM执行存取,如果RAM的容量足够,就从RAM执行存取,这样就能够防止系统因缺乏工作RAM而不能正常操作的问题。
此外,把程序数据转移到RAM的空白区域时没有改变初始程序数据的内容。因此,不需要如通常做法那样进行在地址变换前和变换后数据存储地址的复杂计算,改善了处理效率。
还有,在含有程序数据的ROM的地址空间利用存储单元分配进行了划分、并且该ROM的最小容量被预先确定的系统中,可以减小进行处理所需的比特数据,由此减小了电路尺寸。
当有多个区域需要进行地址变换时,可以设定是否对每一个区域执行地址变换,由此改善了系统设计的通用性。
由于加法器704和705中的处理和一致检测电路708和709中的处理是并行地执行的,所以没有产生因地址变换引起的定时延迟,实现了不改变程序数据的高速存取。
如上所述,根据本发明的第一个方面,如果在比较步骤确认地址信号是原始地址,并且在存储器选择步骤的判断结果是肯定的,就可以从高速存取存储器进行存取。相反地,当比较步骤的判断结果和选择步骤的判断结果之一是否定的,就不选择被变换地址而选择原始地址,以允许从低速存取存储器的存取。此时,由于原始地址没有改变,所以不需要根据高速存取存储器或低速存取存储器的不同,对数据进行如新地址改变等这样的复杂地址处理,缩短了处理时间,减小了设备尺寸和程序长度。
根据本发明的第二个方面,在待转移数据的基础上,利用处理所需的多个预定比特判断在被变换地址判断步骤中所用的地址信号,由此缩短处理时间,实现了高速处理。
根据本发明的第三个方面,在高速存取数据时,可这样选择存取,即如果高速存取存储器的容量不够,就从低速存取存储器存取数据,如果高速存取存储器的容量足够,就从高速存取存储器存取数据。于是能够防止系统因缺乏工作区域而不能正常操作的问题。
根据本发明的第四和第五个方面,通过在再次通电时读出非易失存储器内的预定标记,用户就能够自动执行高速存取,不必了解高速存取存储器的容量。于是可自动执行与数据处理器的处理时间相比需要较长时间的处理步骤、例如用户的判断,由此实现了平滑处理。
根据本发明的第六个方面,加法器部分求和地址信号和地址变换数据来确定对应于该地址信号的被变换地址信号,判断部分判断该地址信号是否与对应的原始地址一致,然后在该判断部分输出的检测信号的基础上,选择部分选择被变换地址。通过并行地执行加法器部分和判断部分中的处理,能够缩短地址变换造成的定时延迟。
根据本发明的第七个方面,除了第六个方面的效果外,可选择从低速存取存储器或从高速存取存储器对数据进行存取,不必改变原始地址中的数据内容,于是不管对于高速存取存储器还是对于低速存取存储器,都不需要进行复杂地址处理。此外,即使系统因缺乏高速存取存储器内的工作区域不能正常工作,也不需要进行复杂的地址处理。
根据本发明的第八个方面,通过设定地址信号的多个预定比特而不是设定所有比特作为在被变换地址确定步骤中使用的地址信号,就可根据待转移数据的不同使用处理所需的这些预定比特,实现了高速处理。
权利要求
1.带有地址变换的数据处理方法,该方法能够把存储在低速存取存储器内的数据转移到高速存取存储器执行高速存取,包括以下步骤存储器选择步骤,选择从低速存取存储器或从高速存取存储器存取所述数据;被变换地址确定步骤,根据地址信号和中央处理单元设定的地址变换数据,确定该地址信号的被变换地址信号;比较步骤,比较该地址信号和低速存取存储器内的原始地址,判断该地址信号是否与该原始地址一致;以及地址信号选择步骤,根据所述存储器选择步骤的选择结果和所述比较步骤的比较结果,选择该地址信号或选择该被变换地址信号,在该方法中,可从低速存取存储器或从高速存取存储器存取相同的数据。
2.权利要求1的带有地址变换的数据处理方法,其中在被变换地址确定步骤中使用的地址信号的特征在于只是其多个预定比特而不是所有比特被设定。
3.权利要求1或2的带有地址变换的数据处理方法,其中的存储器选择步骤根据高速存取存储器空白区域的容量选择存取,如果所述空白区域的容量足以供数据处理用,就选择从高速存取存储器进行存取,如果所述空白区域的容量不足以供数据处理用,就选择从低速存取存储器进行存取。
4.权利要求1或2的带有地址变换的数据处理方法,其中的存储器选择步骤是通过读出写入非易失存储器的选择标记来执行的。
5.权利要求3的带有地址变换的数据处理方法,其中的存储器选择步骤是通过读出写入非易失存储器的选择标记来执行的。
6.带有地址变换的数据处理器,该数据处理器能够把存储在低速存取存储器内的数据转移到高速存取存储器对所述数据进行高速存取,它包括加法器部分,把一地址信号与中央处理单元设定的地址变换数据相加,确定对应于该地址信号的被变换地址信号;判断部分,判断该地址信号是否与对应于执行数据转移的低速存取存储器的原始地址一致;以及选择部分,根据所述判断部分输出的检测信号,选择加法器部分确定的被变换地址信号,其中在所述加法器部分和所述判断部分的处理是并行执行的。
7.带有地址变换的数据处理器,该数据处理器能够把存储在低速存取存储器内的数据转移到高速存取存储器对所述数据进行高速存取,它包括加法器部分,把一地址信号与中央处理单元设定的地址变换数据相加,确定对应于该地址信号的被变换地址信号;判断部分,判断该地址信号是否与对应于执行数据转移的低速存取存储器的原始地址一致;以及选择部分,根据所述判断部分输出的检测信号和表示低速存取存储器和高速存取存储器的哪一个被用于存取所述数据的选择数据,选择该地址信号或选择该被变换地址信号,其中在所述加法器部分和所述判断部分中的处理是并行执行的。
8.权利要求6或7的带有地址变换的数据处理器,其中在加法器部分中被处理的地址信号的特征在于只是地址数据的多个预定比特而不是所有比特被设定。
全文摘要
一种数据处理器,包括:加法器,把地址信号和中央处理单元设定的地址变换数据相加、以确定对应于该地址信号的被变换地址信号;以及选择器,根据判断该地址信号是否与原始ROM地址一致的一致检测电路输出的检测信号,选择加法器确定的被变换地址信号或选择该地址信号。其中在加法器和一致检测电路中的处理是并行执行的。
文档编号G06F12/02GK1250184SQ99118479
公开日2000年4月12日 申请日期1999年9月2日 优先权日1998年9月4日
发明者楠滝泉 申请人:夏普公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1