专利名称:中央运算处理装置以及微型计算机的制作方法
技术领域:
本发明涉及一种中央运算处理装置以及微型计算机,特别是涉及一种内置了读入由包含指令信息和为了执行该指令信息所需的补充信息的多个指令构成的程序数据并执行的控制电路的中央运算处理装置以及具备该中央运算处理装置的微型计算机。
背景技术:
以往,作为上述微型计算机(以下μ COM),例如已知图4所示的微型计算机。图4表示一般的8位微型计算机的结构内容。如该图所示,yCOM I具备外部存储器2,保存程序数据;以及中央运算处理装置(以下CPU) 3,依次读入构成程序数据的多个指令并执行。这些外部存储器2和CPU 3经由地址总线Ba、数据总线Bd以及控制信号线LI相互连接。
上述程序数据由多个指令构成。作为该指令,如图5所示,有仅由指令信息构成的I字节指令、由指令信息和为了执行该指令信息所需的一个操作数(=补充信息)构成的2字节指令、由指令信息和为了执行该指令信息所需的两个操作数构成的3字节指令等。这些指令信息和操作数分别是8位数据。如图4所示,上述外部存储器2中设置有多个从0000H号地址(日文番地)到FFFFH号地址为止的地址(address)被依次分配的8位的数据区域,在一个数据区域中分别保存有一个指令信息或一个操作数。上述I字节指令是从CPU 3的A寄存器33a向B寄存器33b复制数据等的能够通过一次(指令信息)的读出来执行的指令。上述2字节指令是将操作数的数据与CPU 3内的寄存器所保存的数据相加等的能够通过两次(指令信息和操作数)的读出来执行的指令。上述3字节指令是从由两个操作数指定的外部存储器2内的地址读取数据等的能够通过三次(指令信息、操作数、操作数)的读出来执行的指令。上述CPU 3具备进行指令的解析、与指令相应的运算等的控制电路31、IR寄存器32、寄存器组33、第一 LATCHI寄存器34、第二 LATCHI寄存器35、地址锁存器36以及程序计数器(以下PC)寄存器37,它们通过内部总线Bin进行连接。上述控制电路31管理CPU 3整体的控制,进行指令信息的解析、指令的执行等。上述IR寄存器32是保存上述指令信息的寄存器。上述寄存器组33由A寄存器33a、B寄存器33b、C寄存器33c、D寄存器33d、E寄存器33e、F寄存器33f、H寄存器33h、L寄存器331构成,是用于暂时存储控制电路31中的运算中途的数据等的寄存器。它们被称为通用寄存器。上述第一 LATCHI寄存器34是保存操作数所表示的地址的高8位的寄存器,第二LATCHI寄存器35是保存操作数所表示的地址的低8位的寄存器。地址锁存器36是用于指定输出到地址总线Ba的16位的外部存储器2的地址的寄存器。PC寄存器37是16位寄存器,该寄存器的内容输出到地址锁存器36而经由地址总线Ba输出到外部存储器2。保存在该PC寄存器37中的地址在CPU3每读入一次指令信息、操作数时增加I。也就是说,CPU 3 —个号地址一个号地址地依次读入指令信息、操作数。当CPU 3被复位时,PC寄存器37被复位为O,因此CPU 3必定从外部存储器2的OOOOH号地址开始进行读入。接着,参照图6 图9说明如图4所示那样在外部存储器2的0000H号地址至0002H号地址中保存有3字节指令的情况下的CPU 3的动作。首先,与电源接通相应地CPU3启动并执行初始化处理。在该初始化处理中,CPU 3内的控制电路31将PC寄存器37复位为0000H号地址。接着,如图6所示,控制电路31将保存在PC寄存器37中的地址(0000H号地址)输出到地址锁存器36。由此,经由地址总线Ba对外部存储器2输出0000H号地址的地址。接着,控制电路31经由控制信号线LI输出读信号。外部存储器2当被输入读信号时,从数据总线Bd输出保存在从地址总线Ba输入的0000H号地址中的数据。0000H号地址中保存有指令信息,因此经由数据总线Bd对CPU 3输出指令信息。CPU 3内的控制电路31将从数据总线Bd输出的指令信息保存到IR寄存器32 中。之后,控制电路31如图7所示那样将PC寄存器37增加I来设为0001H。另外,控制电路31解读保存在IR寄存器32中的指令信息,判断为指令信息是从由两个操作数指定的外部存储器2内的地址读入数据并保存到A寄存器33a中的指令。此外,指令有几百种以上,在此示出其中一个例子。接着,控制电路31将保存在PC寄存器37中的地址(0001H号地址)输出到地址锁存器36。由此,经由地址总线Ba对外部存储器2输出0001H号地址的地址。接着,控制电路31经由控制信号线LI输出读信号。外部存储器2当被输入读信号时,从数据总线Bd输出保存在从地址总线Ba输入的0001H号地址中的数据。0001H号地址中保存有操作数,因此经由数据总线Bd对CPU 3输出操作数。控制电路31将从数据总线Bd输出的操作数所表示的地址的低位保存到第二LATCHI寄存器35中。之后,控制电路31如图8所示那样将PC寄存器37增加I来设为0002H。接着,控制电路31将保存在PC寄存器37中的地址(0002H号地址)输出到地址锁存器36。由此,经由地址总线Ba对外部存储器2输出0002H号地址的地址。接着,控制电路31经由控制信号线LI输出读信号。外部存储器2当被输入读信号时,从数据总线Bd输出保存在从地址总线Ba输入的0002H号地址中的数据。0002H号地址中保存有操作数,因此经由数据总线Bd对CPU 3输出操作数。CPU 3内的控制电路31将从数据总线Bd输出的操作数所表示的地址的高位保存到第一 LATCHI寄存器34中。之后,控制电路31如图9所示那样将PC寄存器37增加I来设为0003H。接着,控制电路31将保存在第一 LATCHI寄存器34和第二 LATCHI寄存器35中的地址输出到地址锁存器36。由此,经由地址总线Ba对外部存储器2输出由两个操作数指定的地址。接着,控制电路31经由控制信号线LI输出读信号。外部存储器2当被输入读信号时,从数据总线Bd输出保存在从地址总线Ba输入的号地址中的数据。CPU 3内的控制电路31将从数据总线Bd输出的数据保存到A寄存器33a中,来结束一个指令的动作。之后,控制电路31将保存在PC寄存器37中的地址(0003H号地址)输出到地址锁存器36并将下一指令读入到IR寄存器32中解读并执行,重复这些操作。
上述CPU 3不能直接读取保存在外部存储器2中的指令信息、操作数,需要将保存在外部存储器2中的指令信息、操作数暂时保存在能够直接读取的内部的寄存器32、33a 331、34、35中。因此,上述μ COMl内的CPU 3存在如下问题关于将从地址总线Ba的地址的输出、从控制信号线LI的读信号的输出、来自数据总线Bd的指令信息或者操作数暂时保存到寄存器32、33a 331、34、35中并读取的指令读出动作,在I字节指令下必须执行一次,在2字节指令下必须执行两次,在3字节指令下必须执行三次,指令的读出中需要大量时间。另外,上述CPU 3针对上述外部存储器2的数据的读出·写入,按如下方式执行。即,从外部存储器2的数据的读出是如上所述那样从地址总线Ba输出CPU 3想要读出的地址之后输出读信号。外部存储器2当输入读信号时,从数据总线Bd输出保存在从地址总线Ba输入的地址中的数据。另一方面,向外部存储器2的数据的写入是从地址总线Ba输出CPU3想要写入的地址并且从数据总线Bd输出想要写入的数据,之后输出写信号。外部存储器 2当输入写信号时,将从数据总线Bd输入的数据保存到从地址总线Ba输入的地址中。然而,上述μΟ)Μ I是使用一个数据总线Bd来进行读出数据的输出、写入数据的输出,因此不能同时进行读出和写入。另外,需要从CPU 3对外部存储器2输出读信号和写信号,因此在外部存储器2中读入这些信号之后进行读出、写入,因此存在读出、写入中需要大量时间的问题。
发明内容
发明要解决的问题因此,本发明的课题在于提供一种实现了处理速度的高速化的中央运算处理装置以及微型计算机。用于解决问题的手段用于解决上述课题的第一方面的发明是一种内置了控制电路的中央运算处理装置,该控制电路从内部存储器读入由包含指令信息和为了执行该指令信息所需的补充信息的多个指令构成的程序数据并执行,该中央运算处理装置的特征在于,上述内部存储器是由上述控制电路直接读取的存储器,设置有多个被分配了地址的一定容量的数据区域,在上述一个数据区域中保存有上述一个指令,上述各指令信息在上述数据区域中被保存在从开头起相互相同的位置的字段中,在启动前在上述内部存储器中已经预先保存有可变长指令形式的程序数据,并使该可变长指令形式的程序数据与上述内部存储器的保存形式一致。第二方面(图3)的发明是一种微型计算机,具备第一方面的发明的中央运算处理装置以及经由地址总线和数据总线连接在上述中央运算处理装置的外部存储器,该微型计算机的特征在于,上述地址总线由读出用地址总线和写入用地址总线构成,上述数据总线由读出用数据总线和写入用数据总线构成,上述中央运算处理装置被设置成在读出上述外部存储器内的数据时,从上述读出用地址总线输出想要读出的数据的地址,而在将数据写入上述外部存储器内时,从上述写入用地址总线输出想要写入该数据的地址,并且从上述写入用数据总线输出上述数据,上述外部存储器被设置成当从上述读出用地址总线输入地址时,将保存在所输入的该地址中的数据输出到上述读出用数据总线,而当从上述写入用地址总线输入地址时,在所输入的该地址中写入从上述写入用数据总线输入的数据。发明的效果如以上说明,根据第一方面的发明,在控制电路能够直接读取的内部存储器中保存程序数据。在内部存储器中设置有多个被分配了地址的一定容量的数据区域,在一个数据区域中保存一个指令。各指令信息在数据区域中被保存在从开头起的相互相同的位置的字段中,因此能够将多个数据区域的从开头起的相同的位置的字段依次用作IR寄存器,因此不需要设置IR寄存器,不将指令信息移动到IR寄存器也能够进行指令信息的解析。即,在读出指令时不需要将保存在外部存储器中的指令信息、补充信息移动到控制电路能够直接读取的IR寄存器,而能够实现处理速度的高速化。另外,能够每对程序计数器进行一次加法时执行一个指令,能够更进一步实现处理速度的高速化。根据第二方面的发明,地址总线由读出用地址总线和写入用地址总线构成,数据总线由读出用数据总线和写入用数据总线构成,因此能够同时进行向外部存储器的读出及写入。并且,也不需要从CPU输出读信号和写信号,因此能够更进一步实现处理速度的高速 化。
图I是表示嵌入了第一实施方式中的本发明的CPU的μ COM的框图。图2是用于说明图I所示的μ COM的动作的说明图。图3是表示第二实施方式中的本发明的μ COM的框图。图4是表示以往的μ COM的一个例子的框图。图5是表示图4所示的CPU所执行的指令的结构的说明图。图6是用于说明图4所示的μ COM的动作的说明图。图7是用于说明图4所示的μ COM的动作的说明图。图8是用于说明图4所示的μ COM的动作的说明图。图9是用于说明图4所示的μ COM的动作的说明图。(附图标记说明)I : μ C0M(微型计算机);2 :外部存储器;3 CPU(中央运算处理装置);31 CPU ;Bae :读出用地址总线;Baw :写入用地址总线;Bdk :读出用数据总线;Bdw :写入用数据总线
具体实施例方式第一实施方式下面,根据图I说明第一实施方式中的本发明的中央运算处理装置(以下CPU)以及微型计算机(以下μ COM)。如该图所示,μ COM I具备外部存储器2以及依次读入构成程序数据的多个指令并执行的CPU 3。这些外部存储器2和CPU 3经由地址总线Ba、数据总线Bd以及控制信号线LI相互连接。外部存储器2中设置有多个从Α000Η号地址到FFFFH号地址为止的地址被依次分配的8位的数据区域。上述程序数据由多个指令构成,保存在内置于CPU 3的作为内部存储器的后述的程序数据区38内。作为该指令,有仅由指令信息构成的I字节指令、由指令信息和为了执行该指令信息所需的一个操作数(=补充信息)构成的2字节指令、由指令信息和为了执行该指令信息所需的两个操作数构成的3字节指令。这些指令信息和操作数分别是8位数据。CPU 3具备进行指令的解析、与指令相应的运算等的控制电路31、程序数据区38、寄存器组33、地址锁存器36、程序计数器(以下PC)寄存器37以及解码器39,它们通过内部总线Bin进行连接。上述控制电路31管理CPU 3整体的控制,进行指令信息的解析、指令的执行等。上述程序数据区38中设置有多个从0000H号地址到XXXXH号地址为止的地址被依次分配的24位的数据区域,在一个数据区域中分别保存有一个指令。在上述一个数据区域的开头保存有指令信息。即,各指令信息在数据区域中被保存在从开头起的相互相同的位置的字段中。因而,I字节指令仅在数据区域的开头的8位 中保存指令信息,后16位为空。2字节指令在数据区域的开头的8位中保存指令信息,在接着的8位中保存操作数,剩下的8位为空。3字节指令在数据区域的开头的8位中保存指令信息,在接着的8位中保存操作数,在剩下的8位中也保存操作数。该程序数据区38是能够由控制电路31直接读取的内部存储器。上述寄存器组33由A寄存器33a、B寄存器33b、C寄存器33c、D寄存器33d、E寄存器33e、F寄存器33f、H寄存器33h、L寄存器331构成,是用于暂时存储控制电路31中的运算中途的数据等的8位寄存器。它们被称为通用寄存器。上述地址锁存器36是用于指定输出到地址总线Ba的16位的外部存储器2的地址的寄存器。上述PC寄存器37是16位寄存器,控制电路31从程序数据区38读出保存在该寄存器所表示的地址中的指令并执行。控制电路31每读出一次指令,保存在该PC寄存器37中的地址就增加I。也就是说,CPU 3—个号地址一个号地址地依次读入指令。当CPU3被复位时,PC寄存器37被复位为0,因此CPU 3必定从000H号地址开始进行读入。解码器39将保存在由PC寄存器37指定的程序数据区38的地址中的开头8位(指令信息)输出到与控制电路31连接的内部总线Bin。接着,参照图2说明如图I所示那样在CPU 3的程序数据区38的0000H号地址中保存3字节指令的情况下的CPU 3的动作。首先,与电源接通相应地CPU 3启动并执行初始化处理。在该初始化处理中,CPU3内的控制电路31将PC寄存器37复位为0000H号地址。解码器39将保存在由PC寄存器37指定的程序数据区38的地址(000H号地址)中的开头8位(指令信息)输出到与控制电路31连接的内部总线Bin。接着,如图2所示,控制电路31解读保存在从上述内部总线Bin输出的地址(0000H号地址)的开头8位中的指令信息,判断为指令信息是从由两个操作数指定的外部存储器2内的地址读入数据并保存到A寄存器33a中的指令。接着,控制电路31将保存在0000H号地址的剩余16位中的两个操作数输出到地址锁存器36。由此,经由地址总线^对外部存储器2输出由两个操作数指定的地址。接着,控制电路31经由控制信号线LI输出读信号。外部存储器2当被输入读信号时,从数据总线Bd输出保存在从地址总线Ba输入的号地址中的数据。CPU 3内的控制电路31将从数据总线Bd输出的数据保存到A寄存器33a中,来结束一个指令的动作。之后,控制电路31将PC寄存器37增加I来设为0001H。接着,控制电路31解读保存在程序数据区38所保存的地址(0001H号地址)的开头8位中的指令信息,以下重复该动作。根据上述CPU 3,在控制电路31能够直接读取的作为该CPU 3的内部存储器的程序数据区38中保存有程序数据。程序数据区38中设置有多个被分配了地址的一定容量的数据区域,在一个数据区域中保存一个指令。各指令信息在数据区域中被保存在开头,因此能够将多个数据区域的开头依次用作IR寄存器,因此不需要设置IR寄存器,不将指令信息移动到IR寄存器也能够进行指令信息的解析。即,在读出指令时不需要将保存在外部存储器中的指令信息、补充信息移动到控制电路能够直接读取的内部寄存器,能够实现处理速度的高速化。另外,能够在程序计数器每进行一次加法时执行一个指令,能够更进一步实现处理速度的高速化。此外,在上述第一实施方式中,程序数据区38由各24位的多个数据区域构成,并在各数据区域中保存有一个指令,但是本发明并不限于此。例如程序数据区38也可以由各 8位的多个数据区域构成,并在各地址中保存一个指令信息或操作数。另外,在上述第一实施方式中,在数据区域的开头保存有指令信息,但是本发明并不限于此。各指令信息只要保存在数据区域中从开头起相互相同的位置的字段中即可,例如既可以保存在数据区域的后8位,也可以从数据区域的开头起空出8位来保存。第二实施方式接着,下面参照图3说明本发明的第二实施方式。在图3中,对与关于图I进行上述说明的第一实施方式等同的部分附加相同符号并省略其详细说明。如该图所示,μ COM I具备外部存储器2和CPU 3。这些外部存储器2和CPU 3经由读出用地址总线Bak、写入用地址总线Baw、读出用数据总线Bdk、写入用数据总线Bdw相互连接。与第一实施方式同样地,外部存储器2中设置有多个从Α000Η号地址到FFFFH号地址为止的地址被依次分配的8位的数据区域。另外,在外部存储器2中,设置有读出用的地址解码器电路21以及写入用的地址解码器电路22。对该读出用的地址解码器电路21输入从读出用地址总线Bak输出的地址。另外,对写入用的地址解码器电路22输入从写入用地址总线Baw输出的地址。读出用地址解码器电路21是将从读出用地址总线Bak输入的地址的数据区域连接到读出用数据总线Bdk来将保存在该数据区域中的数据经由读出用数据总线Bdk输出到CPU3的电路。写入用地址解码器电路22是将从写入用地址总线Baw输入的地址的数据区域连接到写入用数据总线Bkw来将从写入用数据总线Bkw输出的数据写入到该数据区域的电路。此外,作为上述CPU 3具有与第一实施方式相同的结构,因此在此省略详细的说明。接着,下面说明上述的yCOM I的读出、写入动作。首先,当产生了想要读出的数据时,CPU 3从读出用地址总线Bak输出想要读出的数据的地址。与此相应地,外部存储器2从读出用数据总线Bdk输出由读出用地址总线Bak指定的地址的数据。CPU 3读入从读出用数据总线Bdk输出的数据。另一方面,当产生了想要写入的数据时,CPU 3从写入用数据总线Bdw输出想要写入的数据。之后,CPU 3从写入用地址总线Baw将想要写入的数据的地址作为单触发脉冲(one-shot pulse)输出。写入用的地址解码器电路22与该单触发脉冲相应地将从写入用数据总线Bdw输出的数据写入到由写入用地址总线Baw指定的地址中。
根据上述的第二实施方式,地址总线由读出用地址总线Bak和写入用地址总线Baw构成,数据总线由读出用数据总线Bdk和写入用数据总线Bdw构成。而且,CPU 3被设置成在读出外部存储器2内的数据时,从读出用地址总线Bak输出想要读出的数据的地址,而在将数据写入外部存储器2内时,从写入用地址总线Baw输出想要写入该数据的地址,并且从写入用数据总线Bdw输出数据;外部存储器2被设置成当从读出用地址总线Bak输入地址时,将保存在该输入的地址中的数据输出到读出用数据总线Bdk,当从写入用地址总线Baw输入地址时,在该输入的地址中写入从写入用数据总线Bdw输入的数据,因此能够同时进行向外部存储器2的读出及写入。并且,也不需要从CPU 3输出读信号和写信号,因此能够更进一步实现处理速度的高速化。参考例在上述第二实施方式中,作为CPU使用了与第一实施方式相同的CPU,但是作为CPU 3,也可以使用图4所示的以往的一般结构的CPU。
另外,上述实施方式只不过示出了本发明的代表性方式,本发明并不限定于实施方式。即,能够在不脱离本发明的要点的范围内进行各种变形来实施。
权利要求
1.一种内置了控制电路的中央运算处理装置,该控制电路从内部存储器读入由包含指令信息和为了执行该指令信息所需的补充信息的多个指令构成的程序数据并执行,该中央运算处理装置的特征在于, 上述内部存储器是由上述控制电路直接读取的存储器,设置有多个被分配了地址的一定容量的数据区域, 在上述一个数据区域中保存有上述一个指令, 上述各指令信息在上述数据区域中被保存在从开头起相互相同的位置的字段中, 在启动前在上述内部存储器中已经预先保存有可变长指令形式的程序数据,并使该可变长指令形式的程序数据与上述内部存储器的保存形式一致。
2.一种微型计算机,具备权利要求I所述的中央运算处理装置以及经由地址总线和数据总线连接在上述中央运算处理装置的外部存储器,该微型计算机的特征在于, 上述地址总线由读出用地址总线和写入用地址总线构成, 上述数据总线由读出用数据总线和写入用数据总线构成, 上述中央运算处理装置被设置成在读出上述外部存储器内的数据时,从上述读出用地址总线输出想要读出的数据的地址,而在将数据写入上述外部存储器内时,从上述写入用地址总线输出想要写入该数据的地址,并且从上述写入用数据总线输出上述数据, 上述外部存储器被设置成当从上述读出用地址总线输入地址时,将保存在所输入的该地址中的数据输出到上述读出用数据总线,而当从上述写入用地址总线输入地址时,在所输入的该地址中写入从上述写入用数据总线输入的数据。
全文摘要
提供一种实现了处理速度的高速化的中央运算处理装置以及微型计算机。在能够由该CPU(3)的控制电路(31)直接读取的内部存储器中设置有保存了程序数据的程序数据区(38)。程序数据由包含指令信息和为了执行该指令信息所需的操作数(补充信息)的多个指令构成。该程序数据区(38)中设置有多个被分配了地址的24位数据区域,在一个数据区域中保存有一个指令,在一个数据区域的开头保存有指令信息。
文档编号G06F9/38GK102822795SQ201180003250
公开日2012年12月12日 申请日期2011年11月22日 优先权日2011年3月25日
发明者北岸好一, 福岛真妆美 申请人:北岸好一, 福岛真妆美