微型计算机以及电子设备的制造方法
【技术领域】
[0001 ] 本发明涉及一种微型计算机以及电子设备等。
【背景技术】
[0002]在微型计算机中,由于根据执行中的命令(指令)来决定进行工作的电路元件,因此,执行中的命令与电源的消耗电流之间存在关联。因此,通过对消耗电流的时间变化进行测定从而能够对执行中的指令进行推测。
[0003]例如,在通过上述的方法而对安全令牌等安全对策用的硬件进行侵入时,能够破解算法或破解密码,并对使用了该被破解的信息的硬件进行复制,因此会存在安全性被攻破的危险性。
[0004]已知有一种作为防止如上所述的侵入的方法,其使用随机数而减少命令与消耗电流间的关联(例如专利文献1、2)。例如可考虑如下方法,即,将所产生的随机数设为二进制的位列,并从该位列中逐位地取出,并在数值为“ I ”时将工作时机后移。
[0005]但是,会存在随机数“O”或“I”不断连续的情况。因此会存在如下问题,即,在“O”连续出现时,实施正常的工作的期间会持续得较长从而产生指令与消耗电流之间的关联,在“ I”连续出现时,将工作时机后移的期间会持续得较长从而处理速度将降低。
[0006]专利文献1:日本特表2002 - 508549号公报
[0007]专利文献2:日本特刊2000 - 259799号公报
【发明内容】
[0008]根据本发明的若干方式,能够提供一种可在抑制处理速度降低的同时减少指令与消耗电流之间的关联的微型计算机以及电子设备等。
[0009]在本发明的一个方式涉及一种微型计算机中,包括:处理部,其实施指令处理;控制数据生成部,其生成使所述指令处理的工作时机发生变化的控制数据,所述控制数据生成部具有:随机数产生部,其产生随机数数据;代码转换部,其对所述随机数数据进行加工,从而以使同一逻辑的位不会连续产生预定个的方式生成所述控制数据,所述处理部根据所述控制数据而实施所述工作时机发生变化的所述指令处理。
[0010]根据本发明的一个方式,通过对随机数数据进行加工,从而生成了同一逻辑的位不会连续产生预定个的控制数据,并根据该控制数据而改变指令处理的工作时机。由此,由于能够使工作时机被改变的情况或未被改变的情况不会长时间地持续,因此能够在抑制处理速度的降低的同时减小指令与消耗电流之间的关联。
[0011]此外,本发明的一个方式也可以为,所述随机数产生部产生η位的随机数的数据,其中η为自然数,且2 ( η,所述代码转换部以同一逻辑的位不会连续产生j位的方式对所述随机数数据进行加工,从而生成m位的所述控制数据,其中,j为自然数,且2 < j <n,m为自然数,且η < m。
[0012]在指令处理的工作时机被改变的情况下处理速度会降低,在未被改变的情况下指令与消耗电流之间的关联会变大。对于此点,根据本发明的一个方式而能够在控制数据中将同一逻辑的位所连续的位数减少至少于j位。由于该位数j与随机数数据的位数η相比而更小,因此与将随机数的数据的位列直接作为控制数据使用时相比,能够减少同一逻辑的位所连续的位数。由于是通过位的逻辑而对是否改变指令处理的工作时机进行控制的,因此能够将工作时机被改变的情况或不被改变的情况所持续的时间缩短。
[0013]此外本发明的一个方式也可以为,包括时钟供给部,所述时钟供给部将根据所述控制数据而使周期发生了变化的时钟信号供给至所述处理部,所述处理部通过根据来自所述时钟供给部的所述时钟信号而实施所述指令处理,从而使所述指令处理的所述工作时机发生变化。
[0014]以此方式,处理部根据控制数据而改变用于执行指令处理的时钟信号的周期,从而能够使指令处理的工作时机发生变化。由于控制数据的同一逻辑不会连续出现预定个,因此在周期为正常的情况下以及被变更的情况不会长时间持续,从而能够供给随机分散的时钟信号。
[0015]此外本发明的一个方式也可以为,所述时钟供给部在所述控制数据为第一逻辑电平时使所述时钟信号的周期增加。
[0016]根据此方式,能够在控制数据为第二逻辑电平时不对时钟信号的周期进行改变,并在控制数据为第一逻辑电平时使时钟信号的周期增加。由于第一逻辑电平与第二逻辑电平是根据随机数的数据而随机产生的,因此指令与消耗电流之间的关联变小。此外,在第二逻辑电平连续时处理速度会降低,而由于同一逻辑不会连续预定个,因此能够分散处理速度的不均匀。
[0017]此外在本发明的一个方式中可以采用如下方式,即,所述代码转换部包括8bl0b转换部,所述SblOb转换部通过以SblOb方式而对所述随机数的数据进行转换,从而以同一逻辑的位不会连续产生预定个的方式生成所述控制数据。
[0018]SblOb方式为将8位数据转换为10位数据的方法,在转换后将形成同一逻辑的位数最大也仅连续5位的数据。通过以该SblOb方式而对随机数的数据进行转换,从而能够生成同一逻辑的位数最大也只有连续5位的控制数据。
[0019]此外在本发明的一个方式中也可以采用如下方式,S卩,所述随机数产生部产生η位的随机数的数据,其中η为自然数,且2 ( η,所述代码转换部具有:第一 SblOb转换部,其被输入所述η位的随机数的数据中的MSB (最高有效位)侧的η/2位的第一随机数的数据;第二 SblOb转换部,其被输入所述η位的随机数的数据中的LSB(最低有效位)侧的η/2位的第二随机数的数据;选择器,其从转换数据中依次逐位地进行选择,并输出为所述控制数据,其中,所述转换数据由来自所述第一 SblOb转换部的第一转换数据和来自所述第二8bl0b转换部的第二转换数据而构成。
[0020]在使用8bl0b方式时,考虑了单纯地使用8位随机数的数据,但是在8位中存在随机数数据的数量有限的问题。对于此点,通过分别以SblOb方式对MSB(最高有效位)侧的8位与LSB(最低有效位)侧的8位进行代码转换,从而能够确保随机数的数量并提高控制数据的随机性。
[0021]此外在本发明的一个方式中也可以采用如下方式,即,包括时钟供给部,所述时钟供给部向所述处理部供给时钟信号,所述时钟供给部在由所述选择器所选择的位为第一逻辑电平时使所述时钟信号的周期增加。
[0022]以此方式,选择器根据控制数据而依次逐位地进行选择,并根据所选择位的逻辑电平而对时钟信号的周期进行控制,从而能够使处理部所实施的指令处理的工作时机随机地变化。
[0023]此外在本发明的一个方式也可以包括总线控制单元,所述总线控制单元根据所述控制数据而使所述处理部访问总线时的访问时机发生变化,从而使所述指令处理的所述工作时机发生变化。
[0024]根据此方式,处理部在对访问总线的指令进行处理时,根据控制数据的逻辑电平对总线访问的时机进行改变。由于总线访问的时机根据控制数据而随机地被改变,因此也能够使指令处理的时机随机地变化。
[0025]此外在本发明的另外的方式中所涉及一种电子设备,其包括上述任意方式中所记载的微型计算机。
【附图说明】
[0026]图1为比较例的工作说明图。
[0027]图2为本实施方式的微型计算机的结构的示例图。
[0028]图3为本实施方式的工作说明图。
[0029]图4为随机数的数据的示例。
[0030]图5为代码转换的示例。
[0031]图6为本实施方式的微型计算机的第二结构例。
[0032]图7为时钟供给部以及控制数据生成部的详细的结构例。
[0033]图8为时钟供给部以及控制数据生成部的工作时序图。
[0034]图9为电子设备的结构例。
[00
35]图10为电子设备的结构例。
【具体实施方式】
[0036]以下,对适合本发明的实施的方式进行详细的说明。另外,以下所说明的本实施方式不是对权利要求书中所记载的本发明的内容进行不当的限定的方式,在本实施方式中所说明的结构并非全是作为本发明的解決方法所必须的结构。
[0037]1.比较例
[0038]图1为表示本实施方式的比较例的工作说明图。
[0039]微型计算机由对命令进行处理的CPU (Central Processing Unit:中央处理单元)和包含存储装置或接口等在内的外部设备而构成。CPU以被供给时钟信号CK_CPU并且与该时钟信号CK_CPU的上升沿同步的方式而工作。
[0040]S卩,根据时钟信号CK_CPU的上升而实施取命令,并根据下一次的上升而对该命令进行解码从而实施地址计算。在地址计算中,在例如存储有用于执行的数据的主存储装置的地址进行计算。然后,根据下一次的时钟信号CK_CPU的上升而执行命令并将执行结果写入寄存器。在命令的执行中,从根据例如地址计算而得出的地址中读出数据,并由计算装置针对该数据实施处理。
[0041]在实管道传送处理时,针对每I个时钟的方式开始进行第一命令、第2命令,……的处理并对多个的命令进行并行处理。在该情况下,针对每I个时钟而得出命令的执行结果O
[0042]在此种工作中,微型计算机的消耗电流(IDD)根据命令的内容而不同。例如,在计算的内容不同的命令中,根据计算装置而使用的逻辑电路的个数或种类不同,并且根据该逻辑电路而消耗的电流不同。或者,在使用或不使用计算装置的命令和访问或不访问主存储装置的命令中,由于工作的电路不同因此消耗电流不同。
[0043]如上所述,由于与时钟信号CK_CPU的上升同步而对命令进行处理,因此会由于各个时钟的上升而产生消耗电流,该消耗电流对应于该时刻的执行中的命令。因此,通过对该消耗电流(例如,该时间变化的模式)进行解析,从而能够对微型计算机正在执行中的命令或者由该指命令而被构成的算法进行推测。
[0044]2.微型计算机
[0045]图2表示了能够解決此种问题的本实施方式的微型计算机的结构示例。
[0046]微型计算机包括:时钟供给部10 (时钟发生器)、控制数据生成部20、CPU30(处理部)、R0M40、RAM50 (主存储装置)、总线60、第一?第s的外部设备PHl?PHs (s为自然数)。
[0047]CPU30为实施指令处理的处理部。指令处理指的是,如上所述的取命令、解码、地址计算、执行、寄存器写入这一系列的处理。CPU30被构成为,例如命令解码器或寄存器、计算装置(ALU:Arithmetic Logic Unit:计算逻辑单元)等。CPU30通过总线60而将RAM50或外部设备PHl?PHS等的各个部分连接并该通过总线60而实施各个部分间的通信。
[0048]R0M40和RAM50为微型计算机的内部存储器。RAM50作为对CPU30所处理的程序或数据进行存储主存储装置(一次存储装置)而被使用。
[0049]外部设备PHl?PHs为实现微型计算机的周边功能的装置,例如计数器或计时器、插入控制器、串行接口(例如 UART:Universal Asynchronous Receiver Transmitter:通用异步收发报机)、AD转换器、DA转换器、振荡电路等。
[0050]时钟供给部10接收从时钟源被供给的时钟信号CKSl?CKSt (t为自然数)并生成多个时钟信号。时钟源为,例如微型计算机外部的时钟生成电路或微型计算机内部的振荡电路等。时钟供给部10分别向外部设备PHl?PHs、控制数据生成部20、CPU30 (以及R0M40、RAM50)供给所生成的时钟信号 CK_PH1 ?CK_PHs、CK_SYS、CK_CPU。
[0051]控制数据生成部20生成使指令处理的工作时机变化的控制数据CTL。CPU30实施根据该控制数据CTL而使工作时机变化的指令处理。
[0052]具体而言,控制数据生成部20包括产生随机数数据的随机数产生部21,控制数据生成部20根据该随机数数据而输出控制数据CTL。时钟供给部10根据该控制数据CTL而使时钟信号CK_CPU的周期发生变化。而且,CPU30根据该周期发生变化的时钟信号CK_CPU而实施指令处理从而使指令处理的工作时机发生变化。
[0053]图3为表示本实施方式的工作时序图。
[0054]控制数据生成部20从MSB (最高有效位)侧(或LSB (最低有效位)侧)逐位地将随机数的位列作为控制数据CTL而输出。例如当随机数为16进制的“4”时,由于其在二进制的位列的情况下为“0100”,因此控制数据CTL以“0”、“1”、“0”、“0”的顺序而被输出。例如,在图3的例中的时钟信号CK_SYS以每2个时钟的方式逐位地输出。
[0055]时钟供给部10在控制数据CTL为“O”时,将时钟信号CK_CPU以基准的周期而输出。在图3的示例中,其与时钟信号CK_SYS为相同的周期。另一方面,在控制数据CTL为“I”时,以与基准的周期相比而延迟的周期输出时钟信号CK_CPU。在图3的例中,为基准的周期的一半的周期,并使时钟信号CK_SYS的两个脉冲中的第二个的脉冲缺失。由于控制数据CTL是根据随机数数据而被生成的,因此周期发生延迟的时机是随机的。
[0056]由于CPU30根据以该随机的方式使周期发生变化的时钟信号CK_CPU而进行工作,因此微型计算机的消耗电流(IDD)的产生时机也是随机的。具体而言,由于在时钟信号CK_CPU的脉冲缺失时,指令处理不进入下一步骤而成为等待状态,因此消耗电流变小,并且由于该时机为随机,因此能够降低指令与消耗电流之间的关联。
[0057]但是,由于使用随机数而会有以下的问题。如图4所示,在产生例如16进制的“0000”?“FFFF”的随机数的数据时,其成为二进制中的16位的位列。当直接将该位列作为控制数据CTL而使用时,由于在随机数的数据中含有“0000”或“FFFF”,因此“O”或“I”的位最多会连续16回以上。
[0058]在位“O”连续时,此期间由于CPU30在正常的时机而工作,因此指令与消耗电流之间的关联将变大。因此,存在通过消耗电流的解析而能够破解算法或密码的可能性。另一方面,在位“I”连续时,此期间由于CPU30的工作频率延迟,因此微型计算机的性能(处理速度)会降低(或者产生性能的不稳定)。
[0059]在此,在本实施方式中,控制数据生成部20包括代码转换部22,该代码转换部22对随机数的数据进行加工,并以相同逻辑的位不会连续产生规定数值的方式而生成控制数据 CTL。
[0060]图5为表示代码转换的示例图。在该示例中,以将随机数的数据转换为20位的位列并且以“O”或“I”的同一逻辑的位不会产生连续5回以上的方式而生成控制数据CTL。例如,在随机数的数据为“ 0000 ”时,位“ O ”最多只连续3回,随机数的数据为“FFFF”时位“I”最多只连续3回。
[0061]以此方式,通过以同一逻辑的位不会较长地连续的方式而对随机数的数据进行加工,从而能够防止由“O”的连续而导致的入侵的可能性和由“I”的连续而导致的性能的降低。
[0062]更具体而言,代码转换部22根据SblOb方式而对随机数的数据进行转换。SblOb方式为将8位位列转换为10位位列的代码转换法。在本实施方式中,分别将随机数的数据的MSB (最高有效位)侧(上位)8位和LSB (最低有效位)侧(下位)8位转换为10位,并生成共计20位的位列。
[0063]在SblOb
方式中,能够以同一逻辑的位不会连续多于5位的方式而输出位列。这并不是只在对8位位列进行转换时成立,而即使在使其连续并对8*2位、8*3位,…的位列进行转换时,同一逻辑的位也会在5位以下。即,在对随机数数据的列进行转换的控制数据CTL的位列中,无论取出哪个部分都能够将其同一逻辑的位设为最多5位。在图5中,虽然列举了随机数“00”与“FF”的转换例,但是在图5所示的示例之外,存在将随机数“00”转换为位列“1001110100”的情况,和将随机数“FF”转换为位列“1010110001”的情况。对于转换为哪种位列,是根据该上一次的转换结果而以相同逻辑的位不会连续的方式来被決定。另外,有关8bl0b方式被详细地记载于美国专利4486739中。
[0064]另外,代码转换的方法并不限定于上述方式。即,随机数产生部21产生η位(η为2<η的自然数)的随机数数据,代码转换部22只要以同一逻辑的位不会连续产生j位(j为2 < j < η的自然数)的方式而对随机数数据进行加工,从而生成m位(m为η < π!的自然数)的控制数据CTL即可。
[0065]通过使用此种代码转换,从而在控制数据CTL中的同一逻辑所连续的位数将成为与随机数数据的位数η相比而较少的位数j。即,与直接使用随机数数据的位列的情况相比,由于能够进一步减少同一逻辑所连续的位数,因此能够在降低命令与消耗电流之间的关联的同时并防止性能的降低。
[0066]3.对工作时机进行改变的方法的改变例
[0067]在以上的实施方式中,通过改变向CPU30供给的时钟信号CK_CPU的周期从而改变CPU30的工作时机,但是工作时机的改变方法并不限定于此。
[0068]图6表示在改变总线访问的时机的情况下的微型计算机的结构示例图。
[0069]微型计算机包括时钟供给部10、控制数据生成部20、CPU30、R0M40、RAM50,总线60、总线控制单元70、第一?第s外部设备PHl?PHs。另外,针对与上述过的结构要素相同的结构要素,标示相同的符号并适当地省略说明。
[0070]总线控制单元70为通过由数据总线或地址总线等构成的总线60而对通信进行控制的单元。通过该控制而能够进行CPU30与各个部分之间的数据传送和控制。在本结构例中,总线控制单元70使CPU30访问总线60时的访问时机发生变化。
[0071]具体而言,控制数据生成部20将上述的位列的控制数据CTL输出至总线控制单元70中。总线控制单元70在控制数据CTL为“O”时不改变访问时机并实施正常的控制,在控制数据CTL为“I”时将访问时机延迟。
[0072]例如,以CPU30执行指令时从RAM50(主存储装置)中读出数据为例。在该情况中,CPU30虽然通过总线60而访问RAM50,但是在控制数据CTL为“I”时,总线控制单元70使该访问时机延迟。例如,在接受来自CPU30的访问要求时,将到实际上访问RAM50为止的时间延迟。或者,通过暂时向CPU30反馈繁忙信号而实质性地对访问时机进行改变。
[0073]根据本实施方式,在通过总线60而执行访问RAM50或外部设备PHl?PHs的指令时,根据如上所述的方式,通过随机数而随机地改变访问时机。由此,由于随机地改变指令处理的时机,因此能够减少指令与消耗电流之间的关联。
[0074]4.时钟供给部,控制数据生成部
[0075]图7为表示时钟供给部10以及控制数据生成部20的详细的结构示例图。
[0076]时钟供给部10包括,时钟齿轮输出部170、时钟齿轮选择寄存器180、时钟生成部190。控制数据生成部20包括开关控制寄存器110、16位随机数产生部120、分频部130、第一 8bl0b转换部140、第二 8bl0b转换部150、选择器160。
[0077]在开关控制寄存器110中,控制数据生成的使能/失能信号被设定。在设定为使能时,控制数据生成部20生成随机的控制数据CTL,在设定为失能时,控制数据生成部20将“O”作为控制数据CTL并输出。
[0078]分频部130为对时钟信号CK_CPU进行40分频的计数器,在每40计数时将位移控制信号输出至16位随机数产生部120中。
[0079]16位随机数产生部120在接收到来自分频部130的位移控制信号时,对16位的随机数的数据进行更新。16位随机数产生部120由例如线形回归位移寄存器(LFSR:linearfeedback shift register:线形回归位移寄存器)而构成。
[0080]第一 8bl0b转换部140,以8bl0b方式对16位的随机数数据中的MSB(最高有效位)侧的8位第一随机数数据进行代码转换,并将其作为20位的转换数据中的MSB(最高有效位)侧的10位第一转换数据而输出。第二 8bl0b转换部150,以8bl0b方式对16位的随机数数据中的LSB (最低有效位)侧的8位第二随机数数据进行代码转换,并将其作为20位的转换数据中的LSB (最低有效位)侧的10位第二转换数据而输出。
[0081]选择器160根据分频部130的计数值而从LSB (最低有效位)侧对20位的转换数据逐位地进行选择,并将其作为控制数据CTL输出。分频部130的计数值为10进制的“O”?“39”,选择器160在每两个计数时选择I位。
[0082]在时钟齿轮选择寄存器180中,对时钟信号CK_SYS与时钟信号CK_CPU的频率比(齿轮比)进行选择的信号被设定。例如,设定值被设定为0、1、2、3时,频率比被设定为1/1、1/2、1/4、1/8。
[0083]时钟齿轮输出部170,在控制数据CTL为“O”(第二逻辑电平)时,将时钟齿轮选择寄存器180的设定值直接输出,在控制数据CTL为“I” (第一逻辑电平)时,将时钟齿轮选择寄存器180的设定值加I并输出。
[0084]时钟生成部190,根据对应于来自时钟齿轮输出部170的设定值的频率比而对时钟信号CK_SYS进行减速,并输出时钟信号CK_CPU。例如,在时钟齿轮选择寄存器180的设定值为O时,由于如果控制数据CTL为“O”则时钟齿轮输出部170会输出设定值0,因此时钟生成部190输出与时钟信号CK_SYS相同频率的时钟信号CK_CPU。另一方面,由于如果控制数据CTL为“I”则时钟齿轮输出部170将输出设定值0+1 = 1,因此时钟生成部190输出时钟信号CK_SYS的1/2的频率的时钟信号CK_CPU。
[0085]如以上的方式,通过由选择器160从20位的转换数据的中逐位地选择从而能够生成控制数据CTL。而且,控制数据CTL为“I” (第一逻辑电平)时会使时钟信号CK_CPU的周期增加,并能够随机地生成周期变化的时钟信号CK_CPU。
[0086]此外,虽然SblOb方式为对8位数据进行转换的方法,但是作为该输入而使用8位随机数的数据时,随机数的数量并没有限制。对于此点,通过产生16位的随机数的数据并以8bl0b方式分别对该MSB (最高有效位)侧的8位与LSB (最低有效位)侧的8位进行代码转换,从而能够确保随机数的数量并提高控制数据的随机性。
[0087]图8为表示上述的时钟供给部10以及控制数据生成部20的工作时序图。
[0088]如Al所示,分频部130根据时钟信号CK_CPU的上升而对计数值count40进行计数增加。如A2所示,分频部130在计数值count40为O时对位移控制信号shift_en进行激活(H电平)。如A3所示,16位随机数产生部120根据位移控制信号shift_en的下降而对随机数的数据LFSRout [15:0]进行更新。如A4所示,第一 8bl
0b转换部140以及第二8bl0b转换部150将随机数的数据LFSRout [15:0]转换为转换数据8bl0bout。
[0089]如A5所示,选择器160在例如计数值count40为34、35时选择了数位位置(bitposit1n:数位位置)为17的位。由于数位位置被指定于O?19中,因此数位位置17为从LSB (最低有效位)侧起的第18位,从而控制数据CTL成为O。如A6所示,时钟齿轮选择寄存器180的设定值cgear_r_in[l:0]为O时,如A7所示,时钟齿轮输出部170将设定值cgear_r_out [I:0] = O 输出。
[0090]如AS所示,根据下一个的数位位置18 (从LSB (最低有效位)侧的第19位)而使控制数据CTL成为“I”。如A9所示,时钟齿轮输出部170输出设定值Cgear_r_out[l:0]=1设定值cgear_r_out[l:0]从O变化为I是在AlO所示的时钟信号CK_CPU的上升中。在其下一次的All所示的上升中,时钟生成部190对频率比进行转换。即,时钟信号CK_CPU的周期实际地改变是控制数据CTL的逻辑电平发生改变的I个时钟后。
[0091]5.电子设备
[0092]图9与图10为表示能够适用于本实施方式的微型计算机的电子设备的结构示例图。另外,以下虽然以适用于安全盾的情形为示例进行了说明,但是其并不限定于此,本实施方式的微型计算机能够适用各种电子设备。
[0093]电子设备200包括,显示部210、微型计算机220 (集積电路装置)、操作部230、存储部240、通信部250。
[0094]微型计算机220在用户对电子设备200实施指定的操作时,对一次性密码等的安全信息进行计算,并将该安全信息显示在显示部210中。
[0095]例如,在采用实施与服务器的同步的安全盾的情况下,当用户以接触或非接触的通信方式将终端与电子设备200连接时,通信部250与终端进行通信并从服务器中取得例如密钥信息,微型计算机220使用该密钥信息从而对安全信息进行计算。
[0096]或者,在采用单独发送安全信息的安全盾的情况下,在存储部240中存储有例如公共密钥信息,当用户对操作部230进行操作时(例如按押按钮),微型计算机220从存储部240中读取出公共密钥信息,并使用该公共密钥信息而对安全信息进行计算。
[0097]另外,虽然对如上所述的本实施方式进行了详细的说明,但是本领域技术人员应该能够容易地理解根据本发明的新项目以及效果而得出的不超出实体范围的众多的变形。因此,此种变形例全部被包含于本发明的范围中。例如,在说明书或附图中,至少一次地以更广义或同义的不同的表述而共同被记载的表述,能够在说明书或附图中的任意位置处被置换为该不同的表述。此外本实施方式以及变形例的整体的组合,也被包含于本发明的范围中。此外时钟供给部、控制数据生成部、CPU、微型计算机、电子设备的结构以及工作等也并不限定于本实施方式中所说明的这样,也可以实施各种变形。
[0098]符号说明
[0099]10时钟供给部;20控制数据生成部;21随机数产生部;
[0100]22 代码转换部;30 CPU ;40 ROM ;50 RAM ;60 总线;
[0101]70总线控制单元;110开关控制寄存器;
[0102]130分频部;140第一 8bl0b转换部;
[0103]150第二 8bl0b转换部;160选择器;
[0104]170时钟齿轮输出部;180时钟齿轮选择寄存器;
[0105]190时钟生成部;200电子设备;210显示部;
[0106]220微型计算机;230操作部;240存储部;
[0107]250通信部;CK_CPU、CK_SYS时钟信号;CTL控制数据;
[0108]IDD消耗电流。
【主权项】
1.一种微型计算机,其特征在于,包括: 处理部,其实施指令处理; 控制数据生成部,其生成使所述指令处理的工作时机发生变化的控制数据, 所述控制数据生成部具有: 随机数产生部,其产生随机数数据; 代码转换部,其对所述随机数数据进行加工,从而以使同一逻辑的位不会连续产生预定个的方式生成所述控制数据, 所述处理部根据所述控制数据而实施所述工作时机发生变化的所述指令处理。
2.如权利要求1所述的微型计算机,其特征在于, 所述随机数产生部产生η位的随机数数据,其中,η为自然数,且2 ( η, 所述代码转换部以同一逻辑的位不会连续产生j位的方式对所述随机数数据进行加工,从而生成m位的所述控制数据,其中,j为自然数,且2 < j < n,m为自然数,且η < m。
3.如权利要求1或2所述的微型计算机,其特征在于, 包括时钟供给部,所述时钟供给部将根据所述控制数据而使周期发生了变化的时钟信号供给至所述处理部, 所述处理部通过根据来自所述时钟供给部的所述时钟信号而实施所述指令处理,从而使所述指令处理的所述工作时机发生变化。
4.如权利要求3所述的微型计算机,其特征在于, 所述时钟供给部在所述控制数据为第一逻辑电平时使所述时钟信号的周期增加。
5.如权利要求1或2所述的微型计算机,其特征在于, 所述代码转换部包括8bl0b转换部,所述8bl0b转换部通过以8bl0b方式而对所述随机数数据进行转换,从而以同一逻辑的位不会连续产生预定个的方式生成所述控制数据。
6.如权利要求1所述的微型计算机,其特征在于, 所述随机数产生部产生η位的随机数数据,其中,η为自然数,且2 ( η, 所述代码转换部具有: 第一 8bl0b转换部,其被输入η位的所述随机数数据中的最高有效位侧的η/2位的第一随机数数据; 第二 SblOb转换部,其被输入η位的所述随机数数据中的最低有效位侧的η/2位的第二随机数的数据; 选择器,其从转换数据中依次逐位地进行选择,并输出为所述控制数据,其中,所述转换数据由来自所述第一 8bl0b转换部的第一转换数据和来自所述第二 8bl0b转换部的第二转换数据而构成。
7.如权利要求6所述的微型计算机,其特征在于, 包括时钟供给部,所述时钟供给部向所述处理部供给时钟信号, 所述时钟供给部在由所述选择器所选择的位为第一逻辑电平时,使所述时钟信号的周期增加。
8.如权利要求1或2所述的微型计算机,其特征在于, 包括总线控制单元, 所述总线控制单元根据所述控制数据而使所述处理部访问总线时的访问时机发生变化,由此使所述指令处理的所述工作时机发生变化。
9.一种电子设备,其特征在于, 包括权利要求1至8中的任意一项所述的微型计算机。
【专利摘要】本发明提供一种微型计算机以及电子设备,其能够在抑制处理速度降低的同时减少指令与消耗电流之间的关联。微型计算机包括:实施指令处理的处理部(CPU30);生成使指令处理的工作时机发生变化的控制数据(CTL)的控制数据生成部(20)。控制数据生成部(20)具有:产生随机数数据的随机数产生部(21);对随机数数据进行加工并以使同一逻辑的位不会连续产生预定个的方式生成控制数据(CTL)的代码转换部(22)。处理部根据控制数据(CTL)而实施使工作时机发生变化的指令处理。
【IPC分类】G06F21-34, G06F1-04
【公开号】CN104866007
【申请号】CN201510088930
【发明人】秋山千里
【申请人】精工爱普生株式会社
【公开日】2015年8月26日
【申请日】2015年2月26日