CN1196524A - 存储器存取控制电路 - Google Patents

存储器存取控制电路 Download PDF

Info

Publication number
CN1196524A
CN1196524A CN98107030A CN98107030A CN1196524A CN 1196524 A CN1196524 A CN 1196524A CN 98107030 A CN98107030 A CN 98107030A CN 98107030 A CN98107030 A CN 98107030A CN 1196524 A CN1196524 A CN 1196524A
Authority
CN
China
Prior art keywords
instruction
address
access
control circuit
protected
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.)
Granted
Application number
CN98107030A
Other languages
English (en)
Other versions
CN1145885C (zh
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.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Publication of CN1196524A publication Critical patent/CN1196524A/zh
Application granted granted Critical
Publication of CN1145885C publication Critical patent/CN1145885C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1416Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights
    • G06F12/1425Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights the protection being physical, e.g. cell, word, block
    • G06F12/1441Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights the protection being physical, e.g. cell, word, block for a range
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory

Landscapes

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

Abstract

对欺骗存取给出高等级保护的存储器存取控制电路,取指令地址寄存器14保持程序计数器值,第一领域表保持在存储器中保护区的地址,第二领域表保持允许存取被保护区的指令地址。存取检测电路将指令译码结果获得的存取目标地址与第一领域表地址作比较,鉴别指令是否是存取保护区的指令。当检测到指令是存取保护区的指令时,比较电路比较取指令地址寄存器的地址和第二领域表的地址,鉴别指令是否是从允许存取保护区的领域中读出的指令。

Description

存储器存取控制电路
本发明涉及计算机系统中的存储器存取控制电路,特别是用于通过检测在存储器中被保护的区域的存取来禁止欺骗存取的存储器存取控制电路。
在现有技术中,计算机程序的开发需要可观的时间。计算机程序开发者通过销售程序负担该开发费用。然而,有可能第三者准备了用于读取在存储器中的程序和数据的一套程序,并利用该程序拷贝存储在存储器中的该程序和数据。然而,如果这样的拷贝能容易地实现,则要负担该开发费用就变得极为困难。另外,在编码电路中,其中一种编码算法中使用的编码处理程序和数据被存储在存储器中,如果这些信息被从存储器中读出,则在编码之前,普通电文已被窃走。
在上述环境下,提出一种用于禁止欺骗存取存储器的存储器存取控制电路(例如参看予审查公开号为No.JP-A-59-11600的日本专利申请,其全部内容可做为本申请的参考)。该JP-A-59-11600的权利要求是基于四个美国专利申请的优先权,这些专利现在已公开为美国专利4,521,852,4,521,853,4,521,4,590,552和4,603,381,它们的内容结合起来作为本申请的参考。图1是由JP-A-59-11600公开的在先技术的存储器存取控制电路的方框图。
该在先技术的存储器存取控制电路包括:CPU(控制处理单元)31,非易失性存储器32,临时存储器(RAM)33,外部接口34,地址总线35,数据总线36,用于指明在非易失性存储器32中存储的信息的保护情况的程序防护位37,用于鉴别对非易失性存储器32存取的地址逻辑38,用于禁止外部接口34操作的外部接口禁止逻辑39,用于禁止非易失性存储器32操作的操作禁止缓冲器40,用于禁止临时存储器33操作的操作禁止缓冲器41,用于确定何时发生示出的那样联接的指令采集目的指令采集逻辑42。
具有这种配置,该存储器存取控制电路禁止将在非易失性存储器32或临时存储器33中被保护区域的信息传输到不被保护的区域。这样,第三者不再能通过在临时存储器33上执行一程序从被保护的非易失性存储器32地读出数据到临时存储器33中。
然而,由于在先技术的存储器存取控制电路只禁止将信息从一个存储器到另一个的传输,而不能禁止将存储器中被保护的数据临时读出到一般目的寄存器,例如在CPU中的累加器中,并对读出数据执行任何算术运算,以及将算术运算结果输出到存储器中不被保护的区域。在此情况下,应被保护的原始数据能通过获得算术运算结果来加以了解。
例如,在被保护的区域的数据被读出到累加器并执行了给读出数据加“0”的简单算术运算之后,如果算术运算的结果被读出,能够很容易了解被保护的原始数据。另外,通过获得在当执行算术运算时在CPU内提供的内部状态特征位的状态变化(例如,进位特征),也能直接了解被保护的原始数据。
相应地,本发明的一个目的是提供一种存储器存取控制电路,能克服上述现有技术的缺点。
本发明的另一个目的是提供一种存储器存取控制电路,对于欺骗存取具有高等级的保护手段。
根据本发明的上述及其它优点,利用存储器存取控制电路通过检测在存储器上被保护区域的存取来禁止欺骗存取,依照本发明能够完成存储器存取控制电路包括:
第一地址保持装置,用保持取地址的指令,该地址指明将被执行的一指令被存储的存储器位置;
第二地址保持装置,用于保持被保护区域的一地址;
第三地址保持装置,用于保持取地址的指令,该地址指明允许存取被保护区域的一指令的存储器位置;
存取检测装置,用于将从读出指令的译码结果中获得的,从存储器中读出的一指令的存取目标的地址与第二地址保持装置中保持的地址进行比较,以便鉴别读出指令是否是用于存取被保护区域的指令;
比较装置,用于当存取检测装置检测出该读出的指令是用于存取被保护区域的指令时,将在第一地址保持装置中保持的取地址的指令与在第三地址保持装置中保持的取地址的指令进行比较,当读出的指令是从存储器地址中读出不允许存取的被保护区的指令时,该比较装置输出一禁止信号;和
存取禁止装置,它响应于禁止信号,禁止存储器存取。
在根据本发明第一方面的存储器存取控制电路中,该存取检测装置鉴别该指令是否是用于存取被保护区域的指令。当检测到该指令是用于存取被保护区的指令时,该比较装置鉴别该指令是否是从一存储器地址读出的允许存取被保护区的指令。当它判断该指令是不允许存取被保护区的存储器地址中读出的指令时,它就把该指令看作是欺骗存取,和禁止信号输出,使得该存储器的存取由禁止装置禁止。这样,就可能去禁止对被保护区的欺骗存取。
根据本发明的另一方面提供的存储器存取控制电路,用于通过检测对存储目的被保护区的存取来禁止欺骗存取,该存储器存取控制电路包括:
第一地址保持装置,用于保持取指令地址,该地址指明将被执行指令被存储的存储器位置;
第二地址保持装置,用于保持被保护区的一地址;
第三地址保护装置,用于保持取指令地址,该地址指明允许分支到被保护区的一指令的存储器位置;
存取检测装置,用于将从读出指令的译码结果中获得的,从存储器中读出的一指令的分支目标的地址与在第二地址保持装置中保持的地址相比较,用于鉴别读出的指令是否是分支到被保护区的指令;
比较装置,用于当存取检测装置检测到,该读出的指令是分支到被保护区的指令时,将在第一地址保持装置中保持的取指令地址与在第三地址保持装置中保持的取指令地址进行比较,当读出的指令是从不允许分支到被保护区的存储器地址中读出的指令时,比较装置输出一禁止信号;和
存取禁止装置,它响应该禁止信号去禁止分支指令的执行。
在根据本发明的第二方面的存储器存取控制电路中,该存取检测装置鉴别该指令是否是分支到被保护区的指令。当检测到该指令是分支到被保护区的指令时,比较装鉴别该指令是否是从允许分支到被保护区的存储器地址中读出的指令。当它判断该指令是从不允许分支到被保护区的存储器地址中读出的指令时,它就把该指令看作是欺骗指令,并指出禁止信号,使得能通过禁止装置禁止分支指令的执行。这样,就能禁止到被保护区的欺骗分支。
参照附图从下述对本发明最佳实施例的描述,本发明的上述及其它目的、特点和优点会更加明显。
图1是在先技术的存储器存取控制电路的方框图;
图2是本发明的存储器存取控制电路的第一实施例的方框图;
图3是图2所示存储器存取控制电路的操作定时图;
图4是本发明的存储器存取控制电路的第二实施例的方框图;
图5是图4所示存储器存取控制电路的操作定时图;和
图6是图4所示存储器控制电路的操作定时图。
参看图2,这里示出本发明存储器存取控制电路的第一实施例的方框图。
所示存储器存取控制电路的实施例包括:CPU(中央处理单元)1;屏蔽ROM(只读存储器)2,在制造期间写入信息,但在制造时间之后不能再写;EEPROM(电可擦和可编程ROM)3,可执行电的写和读;RAM(随机存取存储器)3;用于传输数据的数据总线5;用于传输地址的地址总线6;和指令总线7,它们如所示那样耦合,简言之,CPU和EEPROM3被耦合到数据总线5,地址总线6和指令总线7,ROM2被耦合到指令总线7和还耦合到CPU1,去从CPU1直接接收地址,以及RAM4被耦合到数据总线5和地址总线6。
在CPU1中包括,还有算术和逻辑单元及一般目的的寄存器,例如累加器(未示出,因为不直接涉及本发明的要点),用于指明将被执行指令被存储在存储器中的地址的程序计数器11,用于保持从存储器中读出的指令字的指令寄存器12,用于译码在指令寄存器12中保持的指令字的指令译码器13,用于保持程序计数器11的输出的取指令地址的取指令地址寄存器14(作用如第一地址保持装置),用于保持在存储器中被保护区的一地址的领域表15(作用如第二地址保持装置),用于保持指明允许存取被保护区的一指令的存储器位置的取指令地址的另一领域表16(作用如第三地址保持装置),用于鉴别该译码的指令是否是存取被保护区的指令存取检测电路17,这是在来自指令译码器13的指令的译码结果基础上和在由译码的指令指明的存取目标地址和在领域表15中保持的地址之间比较结果的基础上进行的,当存取检测电路17检测到是存取被保护区的指令时,用于比较在寄存器14中保持的取指令地址与在表15中保持的取指令地址的比较器18,当该指令是从允许存取被保护区的存储器地址读出的指令时,该比较电路18输出一禁止信号,当禁止信号被输出时用于禁止从译码器13传输信号到控制电路20的门电路19,选择器21和缓冲器22和26的耦合如所示。选择器21和缓冲器22至26分别由指令译码器13产生的控制信号13A至13F加以控制。
这里,由指令译码器13,门电路19和控制电路20构成一个禁止装置。
在该实施例的存储器存取控制电路中,屏蔽ROM2和EEPROM3包括用于存储将要执行的指令的程序领域和用于存储数据的数据领域。被构成的存储器存储控制电路用于保护在屏敝ROM2或EEPROM3中被保护区中写的数据(例如,在加密算法使用的编码键)。
现在参照图3描述上述存储器存取控制电路的操作,其中定时图描述的是图2所示存储器存取控制电路的操作。
包括有存储器存取控制电路的计算机系统根据从程序计数器11输出的指令取地址,从ROM2或EEPROM3中顺序读取、译码、和执行指令字。
在从ROM2或EEPROM3中取指令的时刻,选择器21和缓冲器22分别由来自指令译码器13的控制信号13A和13B所控制,使得选择器21选择程序计数器11的输出,和缓冲器22进入使能状态。因此,从程序计数器11输出的取指令地址通过选择器21送到屏敝ROM2,以及还有通过缓冲器22和地址总线6送到EEPROM3。
如果该取指令地址是位于屏敝ROM2的一地址,从相应ROM2的地址中读出指令字送到指令总线7,和,如果取指令地址是位于EEPROM3的一地址,从相应EPROM有3的地址中读出指令字送到指令总线7。输出到指令总线7的指令要被存储在指令寄存器12中。
顺便说,指令要包括指定将被执行的操作的指令代码,和指定操作所用数据的操作码代码。
这里,假设存取ROM2或EEPROM3的指令字(以后称之为“数据读指令”)是两字节两态(一字节指令代码和一字节操作数代码)的指令格式。如图3“B”所示,在先前指令的最终态中,取指令地址变成指明数据读指令的一指令代码被存储的存储器位置的一地址“AD”,和在下一个状态中,它变成指明相同指令的操作数代码被存储的存储器位置的一地址“AD+1”。
相应地,如图3“D”所示,在先前指令的最终状态中,指令代码被存储在指令寄存器12中,以及在下一状态中,操作数代码被存储在指令寄存器12中。
另一方面,如图3“C”所示,从程序计数器11输出的取指令地址,该用指令代码的地址“AD”被存储在取指令地址寄存器14中。该取指令地址寄存器14继续保持它的内容直到该内容由下一个取的指令更新为止。
接着,在该指令周期的第一态中,该指令译码器13译码该在指令寄存器12中存储的指令代码。如果该译码的指令是数据读指令,该指令译码器13由控制信号13A和13C至13E控制该选择器21和缓冲器23至25,使得缓冲器23至25带入使能状态并导致选择器21去选择缓冲器23的输出。
这样,存储在指令寄存器12中的接着到下一个指令代码的操作数代码通过缓冲器24被输出到地址总线6作为数据存取目标的地址“M”,以便通过缓冲器23和选择器21送到ROM2和通过地址总线6送到EEPROM3。
另外,如果指令代码的译码结果表明该指令是数据读指令时,该指令译码器13输出表明该指令是数据读指令的控制信号13G。该控制信号13G通过门电路19送到控制电路20。以下将描述门电路的操作。
这样,控制电路20输出一存储器读信号。
当存储器读信号被输出时,如果给定到屏敝ROM2的地址是位于ROM2的地址,相应于R02M中的地址的数据通过缓冲器25被输出到数据总线5。如果该地址是位于EEPROM3的地址,相应于EEPROM3的地址的数据通过缓冲器25被输出到数据总线5。这样输出到数据总线5的数据被存储在一般目的的寄存器中(未示出),例如CPU1中的累加器。
这样就完成了数据读指令的取和执行。
在上述指令取和指令执行中,如果从存储器读出的指令是存取被保护区的指令,该区域是与指令有关的存储器领域被加以鉴别的那一个,以及如果有关指令是从允许存取被保护区的领域中读出的指令,那么就如通常情况一样,继续指令的执行。如果有关指令是从不允许存取被保护区的领域中读出的指令,则存储器存取操作被禁止。现在描述这种操作。
首先,在屏敝ROM2或EEPROM3中被保护区地址被存储在领域表15中,和允许存取被保护区的一指令的取指令地址被存储在领域表16中。
为建立这些信息,如果写该地址信息到领域表15和16的程序被存储在屏敝ROM2或EEPROM3中和如果当计算机系统开始时,这些地址信息被写入到领域表15和16的话,这就足够了。另外,还在于,在准备程序时,如果由ROM构成领域表15和16并能够写入地址信息,这也是足够了。
当指令译码器13鉴别出该指令是存储器存取指令时,响应控制信号13H,该存取检测电路17比较领域表15中保持的地址和地址总线6输出的地址(从操作数代码中获得的数据存取目标的地址),以便鉴别该存取指令是否是存取被保护区的指令。
这里,由于在领域表15中寄存的地址是用于被保护区的,特定地址范围的地址,例如,从地址“8000h”到地址“8FFFh”(这里后缀“h”意指十六进制符号)被寄存在领域表15中。
相应地,如果一地址与地址总线6输出的地址一致并被包括在领域表15中寄存的地址范围中,该存取检测电路17就鉴别出该指令是存取被保护区的指令。如果在领域表15中寄存的地址范围包括的与地址总线6输出的地址不一致,它就被鉴别该指令不是存取保护区的指令。
还有,如果检测该有关地址是否被包括在领域表15中寄存的地址范围中是足够的话,它就不必比较所有地址位,例如,如果在领域表15中寄存的地址范围是从地址“8000h”到地址“8FFFh”的地址,由于16位地址信息的4个有效位是“1000”,那么只比较16位地址信息的4个有效位就足够了。
当存取检测电路17鉴别出该指令是存取被保护区的指令时,比较电路18比较在取指令地址寄存器14中保持的取指令地址和在领域表16中保持的取指令地址,以便检测出该指令是否是从允许存取被保护区的领域中读出的一指令。
在此时,由于一特定地址范围被寄存在领域表16中,该比较器18鉴别出该指令是从允许存取被保护区的领域中读出的一个指令,如果在领域表16中寄存的取指令地址与指令取地址寄存器14中寄存的取指令地址相一致。如果所获结果是不一致,则比较器18鉴别出该指令是从不允许存取被保护区的领域中读出的一个指令。
当比较器18鉴别出该指令是从不允许存取被保护区的领域中读出的一个指令时,比较器18输出一禁止信号18B给门电路19。
当比较器18输出禁止信号18B时,该门电路19禁止将从指令译码器13输出的控制信号13G传输给控制电路20。一种结果是,由于用于指明该指令是数据读指令的控制信号13G没有送到控制电路20,则该控制电路20不输出如图3“F”中的点线所示的存储器读信号“RD”。
这样,通过予先在领域表15和16中设置地址信息,假如该指令不存取被保护区域,以及甚至假设该指令存取被保护区域,如果该指令是从允许存取被保护区的领域中读出的,该存储器的存取被正常执行。然而,如果存取被保护区的指令是从不允许存取被保护区的领域中读出的,该存储器的存取被判定为一欺骗指令程序,和因而,该存储器的存取被禁止。
相应地,甚至假设一第三者在EEPROM3中写入一欺骗指令程序并试图从在屏敝ROM2或EEPROM3中的被保护区中欺骗性地读出数据,它既不可能读出数据,也不能对被保护区的数据执行算术运算。
顺便说,在上述实施例中,已经描述了数据读指令,而其它存储器存取指令能做类似的考虑。例如,假设,用于写数据给EEPROM3的数据写指令可考虑由数据读指令代替,以上描述的数据存取目标的地址由在存储器中的写地址代替,以及存储器读信号由存储器写信号代替。
第二实施例
参照图4,这里示出本发明存储器存取控制电路的第二实施例的方框图。图4中,相应图2的那些单元给出相同序号,与图2类似的单元给出下标为“a”的相同序号,为简化描述就省略了其中相应说明。
存储器存取控电路的第二实施例的构成是为用于,当指令处理程序,例如必须对第三者保密的加密处理程序被写入屏敝ROM2或EEPROM3中时,保护处理程序中的处理内容。
现在参照描述图4存储器存取控制电路操作的定时图的图5和6来描述存储器存取控制电路的第二实施例的操作。图5是描述当分支指令是从允许分支到被保护区的领域中读出的指令时操作的定时图,和图6是描述当分支指令是从不允许分支到被保护区的领域中读出的指令时操作的定时图。
与第一实施例相类似,在从ROM2或EEPROM3中取代指令的时刻,从程序计数器11输出的取指令地址通过选择器21送到屏敝ROM2,还通过缓冲器22和地址总线6送到EEPROM3。
如果该取指令地址是位于屏敝ROM2中的一地址时,从相应ROM2的地址中读出的指令字送到指令总线7,如果该取指令地址是位于EEPROM3中的一地址时,从相应EEPROM3的地址中读出的指令字送到指令总线7。输出到指令总线7的指令字被存储在指令寄存器12中。
假没分支到子程序的指令是如图5“B”中所示的两字节两状态的指令格式之一(一字节指令代码和一字节操作数代码),在先前指令的最终状态中,取指令地址变成为指明分支指令的指令代码被存储的存储器位置的地址“AD”,和在下一个状态中,它变成为指明同一指令的操作数代码被存储的存储器位置的地址“AD+1”。
相应地,如图5“D”所示,在先前指令的最终状态中,指令代码被存储在指令寄存器12中,和在下一状态的该操作数代码被存储在指令寄存器12中。
另一方面,如图5“C”所示,从程序计数器11输出的取指令地址,即用于指令代码的地址“AD”被存储在取指令地址寄存器14中。
接着,指令译码器13译码该指令周期的第一状态中的在指令寄存器12中存储的指令代码。如果译码的指令是分支指令,该指令译码器13通过控制信号13A,13B,13D和13F控制选择器21和缓冲器22,24和26,以便将缓冲器22,24和26带入使能状态并使选择器21去选择程序计数器11的输出。
这样,存储在指令寄存器12中的下一个是指令代码的该操作数代码通过缓冲器24到地址总线6,作为如图5“E”所示的分支目标的地址“N”,以及还通过缓冲器26存储在程序计数器11中。这样,从程序计数器11输出的取指令地址变成为图5“B”所示的地址“N”。另外,该取指令地址通过选择器21送到屏敝ROM2和通过缓冲器22和地址总线6送到EEPROM3。
如果取指令地址是位于ROM2中的地址,相应ROM2中的地址数据被输出到指令总线7。如果取指令地址是位于EEPROM3中,相应EEPROM3中的地址数据被输出到指令总线7。这样输出到指令总线7的数据被存储到如图5“D”所示的指令寄存器12中。
这样就完成了分支处理。
从程序计数器11输出的取指令地址通常是随着每次取指令和执行指令增量更新。然而,如果分支指令是如上所述的从存储器中读出的,该程序计数器的内容被更新到分支目标地址,以此在执行程序中完成地址分支。
在上述分支指令取和执行中,如果从存储器中读出的指令是分支到被保护区的指令,从存储器区域的指令分支来的有关的指令被读出并被鉴别,以及如果有关指令是从允许分支到被保护区的领域中读出的指令,则该分支指令象通常那样被执行。如果有关指令是从不允许分支到被保护的领域中读出的指令,则禁止该分支指令的执行。现在描述这种操作。
首先,在屏敝ROM2或EEPROM3中被保护区的地址被存储在领域表15中,和允许分支到被保护区的分支指令的取指令地址被存储在领域表16a中。建立这些信息的方法类似于第一实施例。
当指令译码器13鉴别出该指令是分支指令时,响应控制信号13H,存取检测电路17a比较领域表15中保持的地址和地址总线6输出的地址(从操作数代码获得的分支目标的地址),以便去鉴别该分支指令是否是分支到被保护区的指令。
相应地,如果在领域表15中寄存的地址范围所包括的地址,与地址总线6输出的地址相一致时,存取检测电路6鉴别出该指令是分支到被保护区的指令。如果地址总线6输出的地址没有一个与领域表中寄存的地址范围中包括的相一致,它就鉴别出该指令不是分支到被保护区的指令。
当存取检测电路17a鉴别出该指令是分支到被保护区的指令时,比较器18a比较在取指令地址寄存器14中保持的取指令地址和在领域表16a中保持的取指令地址,以便检测出该指令是否是从允许分支到被保护区的领域中读出的指令。
那就是,比较器18a鉴别出该指令是从允许分支到被保护区的领域中读出的指令,如果在领域表16a中寄存的取指令地址与在取指令地址寄存器14中寄存的取指令地址相一致的话。如果获得的结果不一致,比较器18a鉴别出该指令是从不允许分支到被保护区的领域中读出的指令。
当比较器18a鉴别出该指令是从不允许分支到被保护区的领域中读出的指令时,该比较器18a输出一禁止信号18B。
当比较器18a输出禁止信号18B时,控制电路20a产生如图6“F”所示的一内部复位信号,该复位信号复位CPU,就像从CPU 1a的外部提供的复位信号那样。同时,该内部复位信号送到CPU 1a的外围电路,使得外围电路被类似地复位。
如果内部复位信号被输出,程序计数器11被清“0”(零),使得取指令地址变成如图6“B”所示的“ooooh”。一种结果是,在分支指令之后,执行如图6“G”所示的复位矢量处理程序。
相应地,如果子程序被写入在屏敝ROM2或EEPROM3中,应考虑到,第三者为了调用该子程序而试图将读出的子程序写入存储器的指令程序中。通常写入的子程序地址不应为第三者所知。然而,通过外部地监视外围装置的操作和在数据总线5和地址总线6上的数据,能够估算出了程序的地址。在此情况下,担心的是将大量分析数据给子程序并在所获得的大量结果的基础上分析该处理,通过子程序执行的处理内容来破译密码。
在该实施例中,然而,通过予先在领域表15和16中建立地址信息,假如该指令不分支该被保护区,和甚至假如该指令分支该被保护区,如果该指令是从允许分支到被保护区的领域中读出的指令,则分支被正常执行。然而,如果该分支到被保护区的指令是从不允许分支到被保护区的领域中读出的,则该分支被判定为欺骗指令程序,和因此处理被加以复位。
相应地,甚至假设第三者在EEPROM3上写一欺骗指令程序,它既不能在屏敝ROM2或EEPROM3中的被保护区调用该子程序,也不能给该子程序提供分析数据。
在该实施例中,控制电路20a继续该禁止装置。然而,通过用图4点线所示的从比较器电路18a输出的禁止信号18B提供给指令译码器13,而将指令译码器13用作为禁止装置。在此情况下,当指令译码器13取该分支指令时,指令译码器13通常控制程序计数器11的用于分支目标地址的更新值,但是如果指令译码器13从比较器18a接收了禁止信号,则该指令译码器13就屏敝了用于更新地址的控制信号。相应地,当禁止信号被输出时,从程序计数器11输出的取指令地址没有被更新为分支目标地址,以及它被增量的1作为普通无分支情况。这等效于NOP(无操作)指令的执行。相应地,能获得类似于上述效果的效果。
进而,它还可以这样构成,即当输出禁止信号时,控制电路20a请求中断处理,这类似于当从CPU 1a外部提供一中断请求信号时一样。在此情况下,非可屏敝中断被强制开始,使得执行任何处理形式的中断处理程序(例如,在显示屏上指明是欺骗存取)。
还有,通过禁止执行分支指令能提高保护功能,除了在大量指令以预定的取指令地址的顺序被执行之后执行分支指令之外。为此目的,取指令地址寄存器14被修改成为大量指令代码保持取指令地址,和领域表16a被修改成不仅建立允许分支到被保护区的分支指令的取指令地址,而且还在允许分支指令之前为将被执行的大量指令建立取指令地址。比较器18a比较寄存器14的内容和表16a的内容。
在上述第一和第二实施例中,存储器构成包括屏敝ROM2,EEPROM3和RAM4。然而,本发明不限于这种存储器的配置。另外,总线构成包括数据总线5,地址总线6和指令总线7,而指令总线7能通过修改对以时分方式通过数据总线传输的数据和指令的作用而被省略。再者,RAM4可包括被保护区,和也可以被构成为从RAM中取指令。
如上所述,根据本发明的第一方面,存取检测装置鉴别该指令是否是存取被保护区的指令。当它检测到该指令是存取被保护区的指令时,比较装置鉴别该指令是否是从允许存取被保护区的存储器地址中读出的指令。当它判断该指令是从不允许存取被保护区的存储器地址中读出的指令时,它就把该指令看作是欺骗存取,并输出禁止信号,使得通过禁止装置禁止该存储器存取。这样,随着在被保护区存储的数据被保护的结果,就禁止了对被保护区的欺骗存取。即达到了高级保护。相应地,由于对所有存取存储器指令,包括从一个存储器到另一个数据传输指令,都鉴别了该存取是否是欺骗存取,这样就不再可能为间接了解被保护区的数据内容的目的,代替直接读出被保护区的数据,对被保护区的数据进行任何算术运算。
还有,根据本发明的第二方面,存取检测装置鉴别该指令是否是分支到被保护的指令。当它检测到该指令是分支到被保护区的指令时,比较装置鉴别该指令是否是从允许分支到被保护区的存储器地址中读出的指令。当它判断该指令是从不允许分支到被保护区的存储器地址中读出的指令时,它将该指令看作为欺骗指令,并输出一禁止信号,使得通过禁止装置禁止分支指令的执行。这样,这样通过保护在被保护区存储的子程序的结果就禁止了对被保护的欺骗分支。相应地,随着能防止利用第三者为破译密码的指令程序而进行欺骗存取的结果,通过不执行来自外部的欺骗存取而保护了被保护区的指令程序。
参照具体实施例已示出和描述了本发明,然而,应注意,本发明不限于详细描述的细节,在所附权利要求的范围内可作出各种改变和修改。

Claims (5)

1、一种通过检测在存储器上的被保护区的存取来禁止欺骗存取的存储器存取控制电路,该存储器存取控制电路包括:
第一地址保持装置,用于保持指明将要执行的指令被存储的存储器位置的取指令地址;
第二地址保持装置,用于保持所述被保护的地址;
第三地址保持装置,用于保持指明允许存取所述被保护区的指令的存储器位置的取指令地址;
存取检测装置,用于将从所述读出指令的译码结果中获得的从存储器中读出的指令的存取目标的地址与所述第二地址保持装置中保持的所述地址相比较,以便鉴别所述读出指令是否是存取所述被保护区的指令;
比较装置,用于当所述存取检测装置检测出所述读出指令是存取所述被保护区的指令时,将在所述第一地址保持装置中保持的取指令地址与在所述第三地址保持装置中保持的所述取指令地址进行比较,当所述读出指令是从不允许存取所述被保护区的存储器地址中读出的指令时,所述比较装置输出一禁止信号;和
存取禁止装置,响应所述禁止信号去禁止存储器存取。
2、根据权利要求1的存储器存取控制电路,其特征在于所述禁止装置包括:
指令译码器,用于从指令寄存器接收所述读出指令,以便译码所述读出指令和用于当所述读出指令是存储器读指令时,输出指明所述读出指令是存储器读指令的控制信号;
门电路,用于接收所说控制信号以正常提供所说控制信号到控制电路,当所述禁止信号被输出时,所述门电路禁止提供所述控制信号给所述控制电路;
当所述控制电路通过所述门电路接收所述控制信号时,所述控制电路输出存储器读信号,从而,当所述控制电路没有通过所述门电路接收所述控制信号时,所述控制电路不输出所述存储器读信号。
3、一种通过检测在存储器上的被保护区的存取来禁止欺骗存取的存储器存取控制电路,该存储器存取控制电路包括:
第一地址保持装置,用于保持指明将被执行指令被存储的存储器位置的取指令地址;
第二址保持装置,用于保持所述被保护区的地址;
第三地址保持装置,用保持指明允许分支到所述被保护区的指令的存储器位置和取指令地址;
存取检测装置,用于将从所述读出指令的译码结果中获得的,从存储器中读出的指令的分支目标地址与在所述第二地址保持装置中保持的所述地址进行比较,以便鉴别所述读出的指令是否是分支到被保护区的指令;
比较装置,用于当所述存取检测装置检测到所述读出指令是分支到被保护区的指令时,将在所述第一地址保持装置中保持的所述取指令地址与在所述第三地址保持装置中保持的所述取指令地址进行比较,当所述读出指令是从不允许分支到所述被保护区的存储器地址中读出的时,所述比较装置输出禁止信号;和
存取禁止装置,响应所述禁止信号去禁止分支指令的执行。
4、根据权利要求3的存储器存取控制电路,其特征在于所述禁止装置包括响应所述禁止信号的控制电路,以便产生一内部复位信号。
5、根据权利要求3的存储器存取控制电路,其特征在于所述禁止装置包括一指令译码器,用于从指令寄存器接收所述读出指令,以便译码所述读出指令,和在当所述读出指令是分支指令时,输出指明所述读出指令是分支指令的控制信号,所述指令译码器还接收所述禁止信号,以便屏敝用于更新程序计数器内容的控制信号,从而所述程序计数器被增量为通常无分支的情况。
CNB981070302A 1997-02-14 1998-02-14 存储器存取控制电路 Expired - Fee Related CN1145885C (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP9030385A JPH10228421A (ja) 1997-02-14 1997-02-14 メモリアクセス制御回路
JP30385/97 1997-02-14
JP30385/1997 1997-02-14

Publications (2)

Publication Number Publication Date
CN1196524A true CN1196524A (zh) 1998-10-21
CN1145885C CN1145885C (zh) 2004-04-14

Family

ID=12302439

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB981070302A Expired - Fee Related CN1145885C (zh) 1997-02-14 1998-02-14 存储器存取控制电路

Country Status (5)

Country Link
US (1) US6101586A (zh)
EP (1) EP0859319A1 (zh)
JP (1) JPH10228421A (zh)
KR (1) KR100319677B1 (zh)
CN (1) CN1145885C (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100361097C (zh) * 2004-03-19 2008-01-09 东芝开利株式会社 微型计算机
CN100385412C (zh) * 1999-10-26 2008-04-30 华硕电脑股份有限公司 存储器模组控制装置
CN101266635B (zh) * 2006-12-27 2010-09-29 英特尔公司 用于控制对关键存储器区域的访问的方法和系统
WO2016106911A1 (zh) * 2014-12-30 2016-07-07 北京兆易创新科技股份有限公司 一种mcu芯片的信息保护方法和装置
CN107451493A (zh) * 2016-05-30 2017-12-08 珠海市微半导体有限公司 Risc架构保密电路及其方法
CN110663225A (zh) * 2017-05-24 2020-01-07 Wago管理有限责任公司 数据总线用户设备的初始化

Families Citing this family (50)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3790323B2 (ja) 1997-04-16 2006-06-28 株式会社ルネサステクノロジ データ転送制御装置、マイクロコンピュータ及びデータ処理システム
JPH11238016A (ja) * 1998-02-23 1999-08-31 Nec Corp メモリ保護方法及び装置
DE19846676C1 (de) * 1998-10-09 2000-03-02 Siemens Ag Verfahren zur Absicherung von Einsprungsadressen
WO2000034871A1 (fr) * 1998-12-07 2000-06-15 Sony Corporation Ordinateur, support enregistre comportant un programme de verification de la validite des adresses et procede de verification de la validite des adresses
US6488581B1 (en) * 1999-06-22 2002-12-03 Igt Mass storage data protection device for a gaming machine
US6615324B1 (en) 2000-01-07 2003-09-02 Cygnal Integrated Products, Inc. Embedded microprocessor multi-level security system in flash memory
US6643751B2 (en) * 2000-03-20 2003-11-04 Texas Instruments Incorporated System and method for limited access to system memory
US7171542B1 (en) * 2000-06-19 2007-01-30 Silicon Labs Cp, Inc. Reconfigurable interface for coupling functional input/output blocks to limited number of i/o pins
US6986052B1 (en) 2000-06-30 2006-01-10 Intel Corporation Method and apparatus for secure execution using a secure memory partition
US20050066178A1 (en) * 2000-07-31 2005-03-24 Rowe Vernon E. Method and apparatus for controlling access to memory
JP4678084B2 (ja) * 2000-09-29 2011-04-27 ソニー株式会社 メモリ装置およびメモリアクセス制限方法
DE10146516A1 (de) * 2001-09-21 2003-04-24 Infineon Technologies Ag Programmgesteuerte Einheit
DE10159165B4 (de) * 2001-12-03 2007-02-08 Agilent Technologies, Inc. (n.d.Ges.d.Staates Delaware), Palo Alto Vorrichtung zum Messen und/oder Kalibrieren eines Testkopfes
JP2004013556A (ja) * 2002-06-07 2004-01-15 Matsushita Electric Ind Co Ltd プロセッサ装置、コンパイル装置及びその方法
US7743257B2 (en) * 2002-06-27 2010-06-22 Nxp B.V. Security processor with bus configuration
US7266658B2 (en) 2002-09-12 2007-09-04 International Business Machines Corporation System, method, and computer program product for prohibiting unauthorized access to protected memory regions
JP4347582B2 (ja) * 2003-02-04 2009-10-21 パナソニック株式会社 情報処理装置
EP1548601A1 (fr) * 2003-12-23 2005-06-29 Stmicroelectronics SA Contrôle d'accès mémoire dans un appareil électronique
US20050216713A1 (en) * 2004-03-25 2005-09-29 International Business Machines Corporation Instruction text controlled selectively stated branches for prediction via a branch target buffer
JPWO2006040798A1 (ja) * 2004-10-08 2008-05-15 株式会社ルネサステクノロジ 半導体集積回路装置および電子システム
US7164611B2 (en) 2004-10-26 2007-01-16 Micron Technology, Inc. Data retention kill function
DE102004057259A1 (de) * 2004-11-26 2006-06-01 Robert Bosch Gmbh Manipulationsgeschütztes Mikrocontrollersystem
US20070021193A1 (en) * 2005-06-24 2007-01-25 Konami Corporation Data protection system and game machine
US7739517B2 (en) * 2005-03-31 2010-06-15 Intel Corporation Hardware-based authentication of a software program
US7953980B2 (en) * 2005-06-30 2011-05-31 Intel Corporation Signed manifest for run-time verification of software program identity and integrity
JP2007052481A (ja) * 2005-08-15 2007-03-01 Matsushita Electric Ind Co Ltd Icカード用lsi
US20070067590A1 (en) * 2005-09-22 2007-03-22 Uday Savagaonkar Providing protected access to critical memory regions
US7748037B2 (en) * 2005-09-22 2010-06-29 Intel Corporation Validating a memory type modification attempt
KR20080067774A (ko) * 2007-01-17 2008-07-22 삼성전자주식회사 허가되지 않은 메모리 접근으로부터 비밀 영역을 보호하기위한 방법 및 시스템
GB2448149B (en) * 2007-04-03 2011-05-18 Advanced Risc Mach Ltd Protected function calling
GB2448151B (en) 2007-04-03 2011-05-04 Advanced Risc Mach Ltd Memory domain based security control within data processing systems
EP1978447B1 (en) 2007-04-05 2011-02-16 STMicroelectronics (Research & Development) Limited Integrated circuit with restricted data access
JP4562759B2 (ja) * 2007-09-03 2010-10-13 京楽産業.株式会社 アクセス制御装置、アクセス制御方法およびアクセス制御プログラム
US8099718B2 (en) * 2007-11-13 2012-01-17 Intel Corporation Method and system for whitelisting software components
US7895404B2 (en) 2008-02-14 2011-02-22 Atmel Rousset S.A.S. Access rights on a memory map
JP5200686B2 (ja) * 2008-06-18 2013-06-05 大日本印刷株式会社 情報処理装置、正常処理判別方法、及び情報処理プログラム
EP2297636A1 (en) * 2008-06-27 2011-03-23 Nxp B.V. Method of interruption of meta language program code execution
DE102008048066B4 (de) * 2008-09-19 2018-02-01 Texas Instruments Deutschland Gmbh Zugriffssteuerschaltung zur Verwendung mit einer Überwachungs-Logikschaltungsanordnung in einem Verfahren zum Schutz von Software für eingebettete Anwendungen vor unerlaubtem Zugriff
US8364601B2 (en) * 2008-12-31 2013-01-29 Intel Corporation Methods and systems to directly render an image and correlate corresponding user input in a secure memory domain
US20110258421A1 (en) * 2010-04-19 2011-10-20 International Business Machines Corporation Architecture Support for Debugging Multithreaded Code
US9213828B2 (en) 2012-02-08 2015-12-15 Arm Limited Data processing apparatus and method for protecting secure data and program code from non-secure access when switching between secure and less secure domains
US10210349B2 (en) 2012-02-08 2019-02-19 Arm Limited Data processing apparatus and method using secure domain and less secure domain
US9116711B2 (en) 2012-02-08 2015-08-25 Arm Limited Exception handling in a data processing apparatus having a secure domain and a less secure domain
GB2501343A (en) * 2012-02-08 2013-10-23 Advanced Risc Mach Ltd Data processing apparatus and method using secure domain and less secure domain
US9477834B2 (en) 2012-02-08 2016-10-25 Arm Limited Maintaining secure data isolated from non-secure access when switching between domains
GB2513727B (en) 2012-06-27 2015-06-24 Nordic Semiconductor Asa Memory protection
US10061940B2 (en) * 2013-07-09 2018-08-28 Andes Technology Corporation Secure protection processor and method including comparing an instruction security attribute of an instruction and a security attribute of an operational event
JP6578814B2 (ja) * 2015-08-20 2019-09-25 株式会社ソシオネクスト プロセッサ及びプロセッサシステム
GB2570692B (en) * 2018-02-02 2020-09-09 Advanced Risc Mach Ltd Controlling guard tag checking in memory accesses
JP7123887B2 (ja) 2019-09-24 2022-08-23 株式会社東芝 データ転送制御装置、データ転送制御システム及びデータ転送制御方法

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4087856A (en) * 1976-06-30 1978-05-02 International Business Machines Corporation Location dependence for assuring the security of system-control operations
JPS5781650A (en) * 1980-11-07 1982-05-21 Mitsubishi Electric Corp Data processor
JPS5783850A (en) * 1980-11-12 1982-05-25 Mitsubishi Electric Corp Data processing device
US4521852A (en) * 1982-06-30 1985-06-04 Texas Instruments Incorporated Data processing device formed on a single semiconductor substrate having secure memory
US4603381A (en) * 1982-06-30 1986-07-29 Texas Instruments Incorporated Use of implant process for programming ROM type processor for encryption
US4521853A (en) * 1982-06-30 1985-06-04 Texas Instruments Incorporated Secure microprocessor/microcomputer with secured memory
US4590552A (en) * 1982-06-30 1986-05-20 Texas Instruments Incorporated Security bit for designating the security status of information stored in a nonvolatile memory
JPS62204345A (ja) * 1986-03-05 1987-09-09 Oki Electric Ind Co Ltd マイクロコンピユ−タ
JPH02148152A (ja) * 1988-11-29 1990-06-07 Mitsubishi Electric Corp マイクロコンピュータ
DE4115152C2 (de) * 1991-05-08 2003-04-24 Gao Ges Automation Org Kartenförmiger Datenträger mit einer datenschützenden Mikroprozessorschaltung
WO1993010498A1 (en) * 1991-11-12 1993-05-27 Microchip Technology Inc. Security for on-chip microcontroller memory
JPH05265864A (ja) * 1992-03-17 1993-10-15 Fujitsu Ltd メモリ管理回路及びメモリ管理回路付きのプロセッサユニット
JPH0696235A (ja) * 1992-09-16 1994-04-08 Mitsubishi Electric Corp シングルチップマイクロコンピュータ
JPH06202957A (ja) * 1992-12-29 1994-07-22 Casio Comput Co Ltd メモリ保護装置
JP3520102B2 (ja) * 1993-12-28 2004-04-19 株式会社東芝 マイクロコンピュータ
JPH09114743A (ja) * 1995-10-16 1997-05-02 Nec Corp シングルチップ・マイクロコンピュータ
JPH09160831A (ja) * 1995-12-08 1997-06-20 Hitachi Ltd 情報処理装置

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100385412C (zh) * 1999-10-26 2008-04-30 华硕电脑股份有限公司 存储器模组控制装置
CN100361097C (zh) * 2004-03-19 2008-01-09 东芝开利株式会社 微型计算机
CN101266635B (zh) * 2006-12-27 2010-09-29 英特尔公司 用于控制对关键存储器区域的访问的方法和系统
WO2016106911A1 (zh) * 2014-12-30 2016-07-07 北京兆易创新科技股份有限公司 一种mcu芯片的信息保护方法和装置
US10102155B2 (en) 2014-12-30 2018-10-16 Gigadevice Semiconductor (Beijing) Inc. Method and device of information protection for micro control unit chip
CN107451493A (zh) * 2016-05-30 2017-12-08 珠海市微半导体有限公司 Risc架构保密电路及其方法
CN110663225A (zh) * 2017-05-24 2020-01-07 Wago管理有限责任公司 数据总线用户设备的初始化
US11736318B2 (en) 2017-05-24 2023-08-22 Wago Verwaltungsgesellschaft Mbh Initialization of data bus subscribers

Also Published As

Publication number Publication date
CN1145885C (zh) 2004-04-14
US6101586A (en) 2000-08-08
EP0859319A1 (en) 1998-08-19
KR19980071365A (ko) 1998-10-26
JPH10228421A (ja) 1998-08-25
KR100319677B1 (ko) 2002-03-08

Similar Documents

Publication Publication Date Title
CN1145885C (zh) 存储器存取控制电路
EP3716081B1 (en) Memory protection with hidden inline metadata
US20200380116A1 (en) Secure environment in a non-secure microcontroller
EP3757803A1 (en) Memory protection with hidden inline metadata to indicate data type
US7464198B2 (en) System on a chip and a method for programming a DMA controller in a system on a chip
TWI749999B (zh) 用於以在環移轉期間保護堆疊的處理器擴展的設備、方法及機器可讀媒體
US10360411B2 (en) Secure processing unit systems and methods
CN1132107C (zh) 计算机系统中控制对映射到i/o地址空间的寄存器的访问的系统
US4590552A (en) Security bit for designating the security status of information stored in a nonvolatile memory
US5892826A (en) Data processor with flexible data encryption
CN1124533C (zh) 智能集成电路
CN101281459A (zh) 受保护的功能调用
US9223996B2 (en) Protection of memory areas
CN1511286A (zh) 内存部分的保密方法及装置
US20090210644A1 (en) Access Rights on a Memory Map
CN1252594C (zh) 使能跟踪重复指令的方法和系统
CN1700136A (zh) 处理器扩展和软件验证
NZ195063A (en) Data processing system memory protection using capability register
JPH0727497B2 (ja) メッセージの完全性をチェックする方法及び携帯装置
EP0026587B1 (en) Data processing system including internal register addressing arrangements
US20060143417A1 (en) Mechanism for restricting access of critical disk blocks
AU592349B2 (en) Call instruction for ring crossing architecture
CN1461992A (zh) 具备能保护保密信息的存储结构的计算机系统及应用方法
US20050188173A1 (en) Physical domain separation
CN108830114B (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
ASS Succession or assignment of patent right

Owner name: NEC ELECTRONICS TAIWAN LTD.

Free format text: FORMER OWNER: NIPPON ELECTRIC CO., LTD.

Effective date: 20030328

C41 Transfer of patent application or patent right or utility model
TA01 Transfer of patent application right

Effective date of registration: 20030328

Address after: Kawasaki, Kanagawa, Japan

Applicant after: NEC Corp.

Address before: Tokyo, Japan

Applicant before: NEC Corp.

ASS Succession or assignment of patent right

Owner name: NIPPON ELECTRIC CO., LTD.

Free format text: FORMER OWNER: NEC ELECTRONICS TAIWAN LTD.

Owner name: NEC ELECTRONICS TAIWAN LTD.

Effective date: 20030612

C41 Transfer of patent application or patent right or utility model
TA01 Transfer of patent application right

Effective date of registration: 20030612

Address after: Tokyo, Japan

Applicant after: NEC Corp.

Co-applicant after: NEC Corp.

Address before: Kawasaki, Kanagawa, Japan

Applicant before: NEC Corp.

C14 Grant of patent or utility model
GR01 Patent grant
C19 Lapse of patent right due to non-payment of the annual fee
CF01 Termination of patent right due to non-payment of annual fee