微处理器制造技术

技术编号:2879795 阅读:145 留言:0更新日期:2012-04-11 18:40
获得用简便的结构便可以减少转移时的重取并使处理速度提高的微处理器。通过追加新的转移指令(BJMP)、将到由此转移指令(BJMP)所指定的转移目的地之前的指令为止作为相应转移指令(BJMP)的操作数来处理,使指令数成为可变。将包含作为上述操作数处理过的指令的相应转移指令的指令字长输出到程序计数器8,并且在更新程序计数器8的地址的同时,此转移指令(BJMP)时不进行队列缓冲器2的刷新。(*该技术在2022年保护过期,可自由使用*)

【技术实现步骤摘要】

本专利技术涉及具有指令予取功能的微处理器,特别是涉及这样的微处理器使其能免除在存储予取指令的队列缓冲器中的转移指令执行时的刷新。就是说,将事先由主存储器或高速缓存所予取出的指令存储到可高速访问的小容量的指令予取缓冲器(队列缓冲器)中,由此就能够真正削减由取指令时的内存访问所产生的执行的迟延。在现有的技术中,一旦执行转移指令,则不论转移目的地地址如何都中止予取和后续指令的执行,刷新(清除)队列缓冲器,这样使到此时之前所存储的指令变为无效,要等到从转移目的地地址重新予取并将转移指令存储到队列缓冲器后,再度开始指令的执行。这样,在现有技术中,由于在转移指令执行时要刷新队列缓冲器,所以予取的次数增加,造成流水线处理混乱,妨碍高速化。于是,在特开平7-73034号公报中,将转移指令执行时的转移目的地地址和存在于队列缓冲器内的指令的相应地址范围进行比较,转移目的地地址处于相应地址范围内时,不刷新队列缓冲器而使用队列缓冲器内的指令,从而减少转移后的予取次数。在此现有技术中,的确能减少转移后的予取次数,但是,由于是将转移指令作为通常的无条件转移指令来处理,所以,用于指令译码后的转移的地址生成处理变得复杂,因此存在电路也变得复杂且大规模化的问题。本专利技术是针对上述问题而,目的是要获得这样的微处理器使其在内部无须设置复杂的结构而能免除在无条件转移时的不必要的队列缓冲器的刷新。根据本专利技术,不是作为通常的转移指令而动作、而是将与通常的传送指令、运算指令等同样动作的新的转移指令(如BJMP)追加到微处理器。根据这个转移指令,队列缓冲器内的指令数成为可变的。即,在指令译码器中,一旦识别出从队列缓冲器输入的指令是预先设定的所定的转移指令,则将到这个转移指令(BJMP)所指定的转移目的地之前的指令为止作为相应转移指令(BJMP)的操作数处理,由此就使队列缓冲器内的指令数成为可变的。而后,将包含该操作数部分的相应转移指令的指令字长输出到程序计数器并更新程序计数器的地址。另外,指令译码器,在此转移指令(BJMP)时不进行队列缓冲器的刷新。下面的专利技术相关的微处理器,其特征在于在上述专利技术中,在上述转移目的地的指定中,使用标号。根据本专利技术,将标号(Label)附加到转移指令(BJMP)的操作数部分,到标号(Label)所指定的转移目的地之前的指令为止作为相应转移指令(BJMP)的操作数处理。下面的专利技术相关的微处理器,其特征在于在上述专利技术中,在上述转移目的地的指定中,指定相应转移指令和转移目的地的相对地址。根据本专利技术,将相对地址附加到转移指令(BJMP)的操作数部分,到相对地址所指定的转移目的地之前的指令为止作为相应转移指令(BJMP)的操作数处理。下面的专利技术相关的微处理器,其特征在于在上述专利技术中,上述队列控制器单元,为了保留从当前所执行的指令到预先设定的所定个数的相对地址数的之前的多个指令而进行上述队列缓冲器的输入输出控制,作为上述相对地址可以指定负的相对地址。根据本专利技术,队列控制器单元,为了保留从当前所执行的指令到预先设定的所定个数的相对地址数的之前的多个指令而进行上述队列缓冲器的输入输出控制,由此在队列缓冲器中,至少保留有上述所定的个数的当前所执行的指令之前的地址中存储的指令。因此,如果将负的相对地址附加到转移指令的操作数部分,则能向负地址侧进行转移。下面的专利技术相关的微处理器,其特征在于具有主存储器;队列缓冲器,存储从这个主存储器予取的指令;程序计数器,生成存储着主存储器上的下条要执行的指令的地址;指令译码器,解读从上述队列缓冲器输出的指令;队列控制器单元,采用上述程序计数器的输出进行对上述队列缓冲器的指令的输入输出控制,其中,上述指令译码器,一旦识别出从上述队列缓冲器输入的指令是所定的转移指令,则将到这个转移指令所指定的转移目的地之前的指令为止作为NOP指令处理,将相应转移指令及上述NOP指令部分的指令字长输出到上述程序计数器,并且在更新程序计数器的地址的同时,不进行上述队列缓冲器的刷新。根据本专利技术,指令译码器一旦识别出从上述队列缓冲器输入的指令是所定的转移指令,则将到这个转移指令所指定的转移目的地之前的指令为止作为NOP指令处理,将相应转移指令(BJMP)的指令字长和上述NOP指令部分的指令字长输出到程序计数器,并更新程序计数器的地址。另外,在此转移指令(BJMP)时,不进行队列缓冲器的刷新。图2是表示用于说明本专利技术实施方式1的指令序列图。图3是表示用于说明本专利技术实施方式2的指令序列图。图4是表示用于说明本专利技术实施方式3的指令序列图。图5是表示用于说明本专利技术实施方式4的指令序列图。符号说明1主存储装置,2队列缓冲器(指令队列),3输入指针,4输出指针,5队列控制器,6译码器,7执行单元,8程序计数器,BJMP转移指令。附图说明图1是表示本专利技术相关的微处理器的内部结构例子的方框图。在图1中,1是主存储器;2是队列缓冲器(指令队列);3是输入指针;4是输出指针;5是队列控制器;6是译码器;7是执行单元;8是程序计数器。包括队列控制器5、输入指针3和输出指针4、构成了权力要求中所说的队列控制器单元。主存储装置1中,存储着要执行的程序的指令序列。队列缓冲器2例如是可以存储32个指令的缓冲器,存储从主存储装置1予取出的指令。指令译码器6对从队列缓冲器2读出的指令的指令代码进行译码(解读)。这个指令译码器6的动作是本专利技术的主要部分,所以,后面要详细叙述。指令译码器6的译码结果和指令的操作数部分输入到执行单元7中。执行单元7用所输入的译码结果和操作数部分,进行数据转送、四则运算、逻辑运算、大小比较、移位运算等处理来执行指令。程序计数器8是存储着在主存储装置1上的下条指令的执行地址的寄存器,它进行动作是将从指令译码器6给出的指令字的长度与当前的程序计数器的计数值(寄存器值)相加。队列控制器5根据程序计数器8或指令译码器6的输出控制输入指针3和输出指针4,由此来执行对队列缓冲器2的指令的输入输出控制。输入指针3是由来自队列控制器5的写控制信号而增加(或减少),由此来执行对从主存储装置1予取的指令的队列缓冲器2的写入控制。输出指针4是由来自队列控制器5的读控制信号增加(或减少),由此来执行对存储在队列缓冲器2的指令的指令译码器6的读出控制。下面,图1之外采用图2对本专利技术的实施方式1进行说明。在这个实施方式1中,对于图1的微处理器,追加新的转移指令(BJMP)(参照图2)。这个转移指令(BJMP)虽然进行与通常的转移指令不同的处理,但是结果还是进行与通常的转移指令相同的转移处理。只是在这个转移指令(BJMP)中,指令执行时,不刷新队列缓冲器2。图2是表示存储在队列缓冲器2中的指令序列的概念图。在这个实施方式1中,在表示转移指令(BJMP)的转移目的地的操作数部分,指定标号(label)。在图1的指令译码器6中,解读从队列缓冲器2输入的指令,一旦识别出所输入的指令是上述转移指令(BJMP)时,就将到由这个转移指令(BJMP)的操作数部分的标号(label)所指定的相对地址之前为止存在的指令(该场合增加指令INX和INY)作为转移指令(BJMP)的操作数来处理。即,指令译码器6对队列控制器5发送用于更新输出指针4的控制信号。用这个控制信号,队本文档来自技高网...

【技术保护点】
一种微处理器,其特征在于:包括主存储器;队列缓冲器,存储从这个主存储器予取的指令;程序计数器,生成存储着主存储器上的下条要执行的指令的地址;指令译码器,解读从上述队列缓冲器输出的指令;队列控制器单元,采用上述程序计数器的 输出进行对上述队列缓冲器的指令的输入输出控制,其中,上述指令译码器,一旦识别出从上述队列缓冲器输入的指令是所定的转移指令,则将到由这个转移指令所指定的转移目的地之前的指令为止作为相应转移指令的操作数来处理,将包含该操作数部分的相应转 移指令的指令字长输出到上述程序计数器,并且在更新程序计数器的地址的同时,不进行上述队列缓冲器的刷新。

【技术特征摘要】
...

【专利技术属性】
技术研发人员:原口喜行
申请(专利权)人:三菱电机株式会社
类型:发明
国别省市:JP[日本]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1