一种防止能程序故障的改进的CPU,在由于噪声而使从存储器读取的数据不正常时,通过使CPU复位,能够防止程序出故障。(*该技术在2016年保护过期,可自由使用*)
【技术实现步骤摘要】
本专利技术涉及一种能防止程序故障的中央处理单元(CPU),特别涉及一种改进的能防止程序故障的CPU,在由于噪声而从存储器中读取异常数据时,使该CPU复位,以防止程序故障。附图说明图1是说明常规中央处理单元(CPU)的方框图。如该图所示,常规CPU包括指定要执行指令的地址的程序计数器1;输出由程序计数器1指定的地址指令的存储器2;存储从存储器2输出的指令操作码“opcode”的指令寄存器3;对存储在指令寄存器3中的操作码解码,并输出控制信号的指令解码器4;根据指令解码器4的控制信号执行指令的执行单元5。下面参照图1说明常规CPU的运行情况。程序计数器1通过地址总线把下一步要执行的指令的地址发送到存储器2,存储器2与程序计数器1协同输出相应的指令。指令寄存器存储来自存储器2的指令操作码,并把该码输出到指令解码器4。指令解码器4对所提供的操作码解码,并把执行指令所必需的控制信号发送到执行单元5。于是,执行单元5执行该指令。然而,常规CPU会执行由于其中的噪声而产生的不希望的指令,因而致使程序运行发生故障。即,当噪声掺进了系统外部电源或时钟信号中时,程序计数器1工作,于是从存储器2中读取不希望的指令,从而导致程序运行发生故障。因此,本专利技术的一个目的是提供一种防止程序故障的中央处理单元(CPU),克服常规技术中存在的问题。本专利技术的另一个目的是提供 种能防止程序故障的CPU,在由于噪声而从存储器中读取异常数据时,使该CPU复位,以防止程序故障。为了实现上述目的,提供一种能防止程序故障的CPU,该CPU包括指定要执行指令的地址的程序计数器;存储根据程序计数器从存储器输出的指令的第一指令寄存器;根据第一内部时钟信号读取存储在第一指令寄存器中的指令的第二指令寄存器;根据第二内部时钟信号读取存储在第一指令寄存器中的指令的第三指令寄存器;根据启动信号工作的比较器,用于比较存储在第二指令寄存器和第三指令寄存器中的指令是否相同;根据比较器的输出信号输出复位信号的复位控制器;根据比较器的输出信号,对存储在第三指令寄存器中的指令的操作码解码,并输出控制信号以及程序计数值改变指令的指令解码器;根据解码器的控制信号执行指令的执行单元;检测复位控制器的输出信号的边沿,及输出边沿检测信号的边沿检测器;以及根据边沿检测信号和指令解码器的输出信号,输出启动信号的启动信号发生器。下面的说明将会更清楚地显示本专利技术的其它优点、目的和特点。通过下面的详细说明和所给的只是说明性的各附图,会更充分地理解本专利技术,但本专利技术并不限于此,其中图1是表示常规中央处理单元(CPU)的方框图;图2是表示本专利技术的CPU的方框图;图3A至3L是为了说明图2的CPU的运行的时序图。图2是本专利技术的中央处理单元(CPU)的方框图。根据本专利技术的CPU包括指定要执行指令的地址的程序计数器(PC)10;存储根据程序计数器(PC)10从存储器20输出的指令的指令寄存器(IR)30a;根据内部时钟信号400读取存储在指令寄存器30a中的指令的指令寄存器(IR-1)30b;根据内部时钟信号200读取存储在指令寄存器(IR)30a的指令的指令寄存器(IR-2)30c;根据启动信号600工作的比较器80,用于比较存储在指令寄存器(IR-1)30b和指令寄存器(IR-2)30c中的指令是否相同;根据比较器80的输出信号500,对存储在指令寄存器(IR-2)30c中的指令的指令码解码,并输出控制信号以及计数器值改变指令400的指令解码器(ID)40;根据指令解码器(ID)40的控制信号执行指令的执行单元(EU)50;检测复位控制器的输出信号700的边沿,并输出边沿检测信号800的边沿检测器70;以及根据边沿检测信号和指令解码器(ID)40的输出信号,输出启动信号600的启动信号发生器60。下面参照图2和3L说明根据本专利技术的能防止程序故障的CPU的运行情况。根据由程序计数器(PC)10指定的地址,从存储器20中读取的指令与系统循环的周期同步地存储在指令寄存器(IR)30a中,在系统时钟的每个周期交替地读取存储在指令寄存器(IR)30a中的指令,将这些指令存储于指令寄存器(IR-1)30b和(IR-2)30c,并用比较器80比较这些指令。这里,如果存储在指令寄存器(IR-1)30b和(IR-2)30c的指令相同,则执行单元(EU)50执行存储在指令寄存器(IR-2)30c中的指令,如果存储在指令寄器(IR-1)30b和(IR-2)30c的指令不同,则复位控制器90的复位信号70的电平变换,程序计数器(PC)10复位。下面将参照所图3所示中的时序图详细说明上述过程。本专利技术中,假定以图3A所示的系统时钟的两个周期为一个循环。所以,指令寄存器(IR-1)30b在第一系统时钟的下降沿接通,指令寄存器(IR-2)30c在第二系统时钟的上升沿和第二循环的起始上升沿接通。如果通过复位针输入外部复位信号,则复位控制器90输出复位信号700,如图3C所示,使CPU复位。如图3L所示,这里,边沿检测器70检测复位信号700的下降沿,并在一个循环内保持高电平。另外,启动信号发生器60在每个循环内每个系统时钟信号周期输出高电平信号600。这里,在边沿检测器70的输出信号和指令解码器(ID)40的输出信号400变成高电平的时间间隔内,输出低电平信号600。因此,启动信号发生器60在一个循环内皆输出低电平信号600,程序计数器(PC)10伎能该信号600,比较器80禁止该信号。如图3D所示,程序计数器(PC)10与第一循环的系统时钟同步地增加要执行指令的地址,并向存储器20输出信号,指令寄存器(IR)30a与一个循环的系统时钟同步地从存储器20读取0001、0002地址指令,如在(F-1)和(F-2)所示的那样。这里,由于指令寄存器(IR-1)30b根据控制信号300,在第一系统时钟的下降沿接通,指令寄存器(IR-1)30b存储由指令寄存器(IR)30a移位来的第一地址指令。另外,附图中,“En”表示执行单元(EU)50执行“n”地址指令,“Fn”表示从存储器20读取“n”地址指令,“Sn”表示来自存储器20且存储于指令寄存器30a中的“n”地址指令被转移到指令寄存器(IR-1)30b和(IR-2)30c。由于指令寄存器(IR-2)30c根据控制信号200在第二系统时钟的上升沿和第二循环起始上升沿接通,指令寄存器(IR-2)30c在第二系统时钟的上升沿接通时,存储由指令寄存器(IR)30a转移来的第一地址指令,在指令寄存器(IR-2)30c在第二循环起始上升沿接通时,如在S-2’所示的那样,存储由指令寄存器(IR)30a转移来第二地址指令。此时,指令解码器(ID)40对在第二系统时钟的上升沿转移的第一地址指令解码,执行单元(EU)50执行该指令。然后,当例行程序在第二循环时,由于边沿检测器70的输出信号800和指令解码器(ID)40的输出信号400皆为低电平,如图3I所示,启动信号发生器60在系统时钟信号的一个周期内输出高电平信号600,程序计数器(PC)10禁止该信号,而比较器80允许该信号。结果,程序计数器(PC)10在系统时钟信号的一个周期内不增加要执行的指令的地址。另外,指令寄存器(IR-1)30b本文档来自技高网...
【技术保护点】
一种能防止程序故障的中央处理单元,包括:指示要执行指令的地址的程序计数器;存储根据程序计数器从存储器输出的指令的第一指令寄存器;根据第一内部时钟信号读取存储在第一指令寄存器中的指令的第二指令寄存器;根据第二内部时钟信号读取存 储在第一指令寄存器的指令的第三指令寄存器;根据启动信号工作的比较器,用于比较存储在第二指令寄存器和第三指令寄存器中的指令是否相同;根据比较器的输出信号输出复位信号的复位控制器;根据比较器的输出信号,对存储在第三指令寄存器中的指令 的操作码解码,并输出控制信号以及程序计数值改变指令的指令解码器;根据解码器的控制信号执行指令的执行单元;检测复位控制器的输出信号的边沿,及输出边沿检测信号的边沿检测器;根据边沿检测信号和指令解码器的输出信号,输出启动信号的启动信 号发生器。
【技术特征摘要】
...
【专利技术属性】
技术研发人员:韩大根,
申请(专利权)人:LG半导体株式会社,
类型:发明
国别省市:KR[韩国]
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。