JPH08212075A - 情報処理装置 - Google Patents

情報処理装置

Info

Publication number
JPH08212075A
JPH08212075A JP7034671A JP3467195A JPH08212075A JP H08212075 A JPH08212075 A JP H08212075A JP 7034671 A JP7034671 A JP 7034671A JP 3467195 A JP3467195 A JP 3467195A JP H08212075 A JPH08212075 A JP H08212075A
Authority
JP
Japan
Prior art keywords
general
instruction
subroutine
purpose register
program counter
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.)
Pending
Application number
JP7034671A
Other languages
English (en)
Inventor
Sachiko Okayama
幸子 岡山
Hiroshi Katsuta
博志 勝田
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
Priority to JP7034671A priority Critical patent/JPH08212075A/ja
Priority to US08/594,296 priority patent/US5867696A/en
Priority to EP96101263A priority patent/EP0725336B1/en
Priority to DE69622608T priority patent/DE69622608T2/de
Priority to KR1019960002272A priority patent/KR100314484B1/ko
Publication of JPH08212075A publication Critical patent/JPH08212075A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/3005Arrangements for executing specific machine instructions to perform operations for flow control
    • G06F9/30054Unconditional branch instructions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/448Execution paradigms, e.g. implementations of programming paradigms
    • G06F9/4482Procedural
    • G06F9/4484Executing subprograms
    • G06F9/4486Formation of subprogram jump address

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Executing Machine-Instructions (AREA)

Abstract

(57)【要約】 【目的】 サブルーチンの処理における復帰アドレスの
退避及び復帰に伴うオーバーヘッドをなくすことのでき
る情報処理装置を提供する。 【構成】 実行する命令のアドレスを示すプログラムカ
ウンタ40と、複数の汎用レジスタ100〜131と、
サブルーチンの呼び出し命令及びサブルーチンからの復
帰命令をデコードする命令デコーダ10と、サブルーチ
ンの呼び出し命令を実行する時に、複数の汎用レジスタ
から任意の汎用レジスタを選択するAND回路200〜
231及びOR回路250とを備え、サブルーチンの復
帰用プログラムカウンタ値を選択された汎用レジスタに
退避し、サブルーチンからの復帰命令を実行する時に、
復帰用プログラムカウンタ値を退避した汎用レジスタか
ら復帰用プログラムカウンタ値を読み出してプログラム
カウンタに設定する。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、情報処理装置に関し、
特にサブルーチンの呼び出し処理及びサブルーチンから
の復帰処理において発生するオーバーヘッドを改善した
情報処理装置に関する。
【0002】
【従来の技術】ノイマン型コンピュータは、実行する命
令のアドレスを示すプログラムカウンタ(以下、PCと
いう)を更新することで、メモリに記憶されたプログラ
ムを逐次読みだして実行する。一般に、ノイマン型コン
ピュータの中央処理装置(以下、CPUという)ではメ
インプログラムからサブルーチンへの処理の分技を行う
前に、サブルーチンから復帰した時に最初に実行する命
令のアドレス(以下、復帰アドレスという)を保存する
必要がある。
【0003】従来におけるサブルーチン処理のための呼
び出し命令とサブルーチンからの復帰命令を持つCPU
を備えた情報処理装置について以下に説明する。
【0004】第1の従来例(以下、従来例1)は、汎用
レジスタをスタック・ポインタとして利用することによ
り、復帰アドレスをメモリに格納する構成の情報処理装
置である。この従来例1では、サブルーチンの呼び出し
命令としてJAL命令を用い、復帰命令としてJMP命
令を用いている。JAL命令は、直接アドレス指定でサ
ブルーチンを呼び出す命令であり、JMP命令はレジス
タ間接でサブルーチンから復帰する命令である。
【0005】第2の従来例(以下、従来例2)は、特開
昭63−316134号公報「半導体集積回路」に開示
される。この従来例2においては、サブルーチン処理の
ためにスタックの代わりにシフトレジスタを用いる。ま
た、サブルーチン処理のための呼び出し命令としてCA
LL命令を用い、さらに復帰命令としてRET命令を用
いる。
【0006】以下に、これら従来の情報処理装置の構成
及びその動作について説明する。従来例1の構成を図5
に示す。同図において、410は命令デコーダ、440
はPC(プログラムカウンタ)、441はワード切り替
え信号S34によりPC440の値を”2”または”
4”づつ増加させるインクリメンタ、501から531
は汎用レジスタ、500はデータを”0”に固定してあ
る汎用レジスタ、600から631は2入力のAND回
路、650は2入力のOR回路、420はデータ・バ
ス、430はメモリである。従来例1では、メモリ43
0を復帰アドレスのスタックとして利用する。
【0007】命令デコーダ410は、サブルーチンの呼
び出し命令、復帰命令等の各種命令をデコードした結果
に基づいて読み出し信号(RD信号)S52、書き込み
信号(WR信号)S53、復帰信号S54、退避信号S
55、レジスタセレクト信号S0からS31、サブルー
チンのアドレス、デコードした命令のバイト数(命令
長)を示すワード切り替え信号S34を出力する。ま
た、命令デコーダ410は、32ビットのアドレスデー
タをデータ・バス420に出力する。
【0008】インクリメンタ441は、常にPC440
の出力を入力して、ワード切り替え信号S34に応じ
て、現在デコード中の命令のバイト長に相当するカウン
タ値(”2”又は”4”)とPC440の出力との和を
PC440へ出力している。
【0009】命令デコーダ410からの復帰信号S54
は、AND回路600から631の一方の入力に供給さ
れる。命令デコーダ410からの退避信号S55は、O
R回路650の一方の入力に供給される。
【0010】レジスタセレクト信号S0からS31は、
レジスタセレクト信号S31に相当するのはAND回路
631というように、各々対応するAND回路600か
ら631の他方の入力に供給される。
【0011】AND回路600から630は、それぞれ
復帰信号S54とレジスタセレクト信号S0からS30
との論理積をとって、その結果を対応する汎用レジスタ
500から530を選択するセレクト信号として出力す
る。すなわち、復帰信号S54の論理値が”1”で、か
つレジスタセレクト信号S0からS30の何れかが論理
値”1”になったとき、AND回路600から630の
何れかの出力が”1”となり、対応する汎用レジスタ5
00から530の何れかが選択される。
【0012】命令デコーダ410から出力されるワード
切り替え信号S34は、インクリメンタ11を制御する
信号であり、デコードしている命令が2バイト長の時、
論理値”0”となり、また、デコードしている命令が4
バイト長の時、論理値”1”となる。インクリメンタ4
41は、ワード切り替え信号S34の論理値が”0”の
時にPC440にカウント値”2”を加算し、また、ワ
ード切り替え信号S34の論理値が”1”の時にPC4
40にカウント値”4”を加算するように制御される。
【0013】AND回路631は、復帰信号S54とレ
ジスタセレクト信号S31の論理積をとってOR回路6
50に出力する。OR回路650の出力が論理値”1”
になった時に、汎用レジスタ531が選択される。ま
た、退避信号S55の論理値が”1”のときにOR回路
650の出力が論理値”1”となって、汎用レジスタ5
31が選択される。
【0014】RD信号S52とWR信号S53は、汎用
レジスタ500から531に供給される。RD信号S5
2が論理値”1”の時、選択されている汎用レジスタの
データがデータ・バス420に出力される。WR信号S
53が論理値”1”の時、選択されている汎用レジスタ
にデータ・バス420上のデータが書き込まれる。
【0015】命令デコーダ410は、汎用レジスタに対
する復帰アドレスの書き込みが終了したタイミングで、
サブルーチンのアドレスをデータ・バス420に対して
出力する。
【0016】図6に、図5の情報処理装置で処理される
命令コードの形式を示す。サブルーチンの呼び出し時に
は、図6のJAL命令401aが実行される。JAL命
令5401a01aのビット15〜10はオベコードの
フィールドで、JAL命令5401aの演算指令を司る
コードである。ビット9〜0、31〜16は分岐先を示
すディスプレースメント値を設定するフィールドであ
る。サブルーチンからの復帰時にはJMP命令402a
が実行される。JMP命令402aは、図6に示すよう
な構成であり、ビット15〜10はオベコードのフィー
ルドで、JMP命令の演算指令を司る。ビット9〜5は
使用しないフィールドで全て”0”が設定される。ビッ
ト4〜0は汎用レジスタを指定するフィールドで、汎用
レジスタ501から531を5ビットの2進数によって
指定する。なお、命令400aは、レジスタ間のデータ
転送命令(MOV reg,reg)のコードの構成を
示している。
【0017】図5、図6を参照して、サブルーチンの呼
び出し時とサブルーチンからの復帰時の動作について説
明する。命令デコーダ410は、JAL命令401aを
デコードすることで、RD信号S52を”0”、WR信
号S53を”1”、復帰信号S54を”0”、退避信号
S55を”1”、レジスタセレクト信号S1からS31
を全て”0”にし、かつ、4バイト長の命令であること
からワード切り替え信号S34を”1”にセットして出
力し、その後サブルーチンのアドレスをデータ・バス4
20に出力する。
【0018】ここで、JAL命令401aを以下のよう
に記述する。 JAL サブルーチン名
【0019】JAL命令401aを実行して、復帰アド
レスを汎用レジスタ531に格納する場合を説明する。
図5において、JAL命令401aをデコードした結
果、退避信号S55が”1”、ワード切り替え信号S3
4が”1”となって、PC440の値を”4”増やした
値を復帰アドレスとして、データ・バス420に出力す
る。同時に、OR回路650の出力が”1”となって、
汎用レジスタ531を選択する。この時、WR信号S5
3が”1”であるので、汎用レジスタ531にデータ・
バス420上の復帰アドレスが書き込まれる。
【0020】一方、復帰信号S54は”0”であること
からAND回路600から631は全て”0”を出力し
ており、汎用レジスタ501から530への復帰アドレ
スの値の書き込みは行われない。
【0021】復帰アドレスの退避後、命令デコーダ41
0がサブルーチンのアドレスをデータ・バス420に出
力して、PC440に呼び出されたサブルーチンのアド
レスを設定し、制御を移す。
【0022】このように、汎用レジスタ531を固定的
に利用して復帰アドレスを退避するため、サブルーチン
から復帰する前に、さらに他のサブルーチンの呼び出し
に備えて、サブルーチンに移行してすぐに汎用レジスタ
531の内容(復帰アドレス)をメモリ530をスタッ
クとして用いることにより格納する必要がある。これ
は、最初のサブルーチンから復帰する前にJAL命令4
01aが実行されて他のサブルーチンが呼び出された時
に、汎用レジスタ531の内容が書き換えられてしま
い、メインルーチンへの復帰アドレスが失われるからで
ある。
【0023】サブルーチンからの復帰時には、復帰命令
であるJMP命令402aを実行する。JMP命令40
2aの汎用レジスタを指定する5ビット・データが命令
デコーダ410でデコードされて、指定された汎用レジ
スタを選択するレジスタセレクト信号S1からS31が
出力される。さらに、命令デコーダ410では、JMP
命令402aをデコードすることで、RD信号S52
を”1、WR信号S53を”0”、復帰信号S54を”
1”、退避信号S55を”0”、指定した汎用レジスタ
に対応するレジスタセレクト信号S1からS31の何れ
かを”1”に設定する。
【0024】JMP命令402aは以下のように、記述
する。 JMP [汎用レジスタ名]
【0025】JMP命令402aを実行して、復帰アド
レスを読み出す過程を図5を用いて示す。ここでは、復
帰アドレスを読み出す汎用レジスタを汎用レジスタ53
1として説明する。図5において、まず、サブルーチン
内のプログラムで、復帰アドレスを格納してあるメモリ
430から汎用レジスタ531へ復帰アドレスを読み出
す。その後、汎用レジスタ531を指定したJMP命令
402aを実行する。JMP命令402aをデコードし
た結果、命令デコーダ410は復帰信号S54を”1”
に、レジスタセレクト信号S31を”1”にセットして
出力するので、OR回路650の出力は”1”になっ
て、汎用レジスタ531が選択される。同時に、RD信
号S52を”1”にセットして出力するので、汎用レジ
スタ531の値がデータ・バス420に出力される。ま
た、PC440にデータ・バス420の値が復帰アドレ
スとして設定される。
【0026】図5に示した従来例1では、汎用レジスタ
531を固定的に用いて復帰アドレスの退避及び復帰処
理を行うため、サブルーチンの呼び出しにおいて復帰ア
ドレスを汎用レジスタ531に退避し、かつ次のサブル
ーチン呼び出しに備えてその汎用レジスタの値をメモリ
430にスタックして保持すると共に、サブルーチンか
らの復帰においてメモリ430に保持した復帰アドレス
を汎用レジスタ531に読み出す必要がある。従って、
復帰アドレスの退避及び復帰処理において、汎用レジス
タ531とメモリ430間における復帰アドレスのやり
とりがオーバーヘッドとなっていた。
【0027】この点を、例えば、サブルーチンの二重の
ネスティング、つまり、サブルーチンからメインルーチ
ンに戻らずに、さらにサブルーチンを呼び出す場合を例
にとって以下に具体的に説明する。
【0028】図7では、JAL命令401aによるサブ
ルーチンのネスティング動作とPC440の退避と復帰
の様子を示す。また、図8には、図7のサブルーチンの
ネスティング動作における各ステップ毎の復帰アドレス
の退避と復帰処理及びその処理に要するクロック数を示
している。ここで、プログラムは矢印の方向に実行さ
れ、メインルーチンR1からサブルーチンSR1へ、そ
こからさらにサブルーチンSR2へネスティングする。
スタック・ポインタは汎用レジスタ503で実現するも
のとし、特別のハードウェアとして備える構成ではな
い。
【0029】メインルーチンR1内のステップ701で
JAL命令401aが実行されると、復帰アドレスを汎
用レジスタ531に退避して、サブルーチンSR1のア
ドレスをPC440に設定する。サブルーチンSR1に
移行するとすぐにステップ702で、汎用レジスタ53
1の内容をメモリ430のスタック・ポインタ(汎用レ
ジスタ503)が示すアドレスに格納し、スタック・ポ
インタを”4”増やす。ステップ702以降に、サブル
ーチンSR1の処理を行う。
【0030】サブルーチンSR1内のステップ703で
JAL命令が実行されると、復帰アドレスを汎用レジス
タ531に退避して、サブルーチンSR2のアドレスを
PC440に設定する。サブルーチンSR2に移行する
とすぐにステップ704で、汎用レジスタ531の内容
をメモリ430のスタック・ポインタの示すアドレスに
格納し、スタック・ポインタを”4”増やす。ステップ
704以降に、サブルーチンSR2の処理を行う。
【0031】サブルーチンSR2の処理が完了すると、
ステップ705でスタック・ポインタの値を”4”減ら
し、スタック・ポインタで示すアドレスのメモリ430
の内容を汎用レジスタ531へ呼び出す。ステップ70
6でJMP命令402aが実行されることにより、復帰
アドレスがPC440に設定されて、サブルーチンSR
1へ戻る。
【0032】さらに、サブルーチンSR1の処理が続い
て実行され、完了するとステップ707でスタック・ポ
インタの値を”4”減らし、スタック・ポインタで示す
アドレスの内容(復帰アドレス)を汎用レジスタ531
へ呼び出す。ステップ708でJMP命令402aが実
行されて、復帰アドレスがPC440に設定されて、メ
インルーチンR1へ戻る。
【0033】このように、サブルーチンの呼び出し、サ
ブルーチンからの復帰の度に、復帰アドレスをメモリ
(スタック)に格納したり、復帰アドレスをメモリから
呼び出すことが必要であり、これがオーバーヘッドとな
っていた。図7に示すように、サブルーチンからメイン
ルーチンに戻らずに、さらにサブルーチンを呼び出す場
合には、サブルーチンの呼び出しによるオーバーヘッド
が大きくなる。
【0034】従来例1にあるようなメモリへの格納、復
帰にかかっていたオーバーヘッドを少なくするために、
ブログラムカウンタの値をシフトレジスタに退避する従
来例2の構成を図9に示す。
【0035】従来例2の構成を示す図9において、80
1は16ビット用アドレス・バス、802はアドレス・
バス801との間で16ビットD0からD15のアドレ
スデータを入出力するPC、803は命令コードをデコ
ードする命令デコーダ回路であり、特定の命令コード
(CALL命令、RET命令)をそれぞれデコードした
時に対応して出力信号線804、805にデコード出力
を出力する。806はラストイン・ファーストアウト機
能を有する双方向シフトレジスタであり、レジスタ80
6−1〜806−nが複数段接続されている。このシフ
トレジスタ806は、命令デコーダ回路803からのデ
コード出力信号804、805により対応して順方向シ
フト、逆方向シフトの動作を行う。807はPC802
とシフトレジスタ806間でデータの入出力を制御する
ための制御回路である。
【0036】図9に示す従来例2の動作を説明する。サ
ブルーチン呼び出し時にCALL命令が実行されると、
プログラム中の上記CALL命令の次に存在する命令の
アドレス(復帰アドレス)がPC802により示され
る。このPC802の内容である復帰アドレスデータは
メモリにセーブされないで、命令デコーダ回路803の
出力信号線804のCALLデコード出力(”1”)に
よって発生するタイミング信号でよって双方向レジスタ
6の順方向シフト動作が行われ、上記復帰アドレスデー
タが双方向レジスタ806にセーブされる。
【0037】次に、サブルーチンが終了してRET命令
が実行されると、命令デコーダ回路803の出力信号線
805のRETデコード出力”1”によって発生するタ
イミング信号によって方向レジスタ6の逆方向シフト動
作が行われ、双方向レジスタ806の逆方向に保持され
ている最後の復帰アドレスデータが最初に出力されて、
制御回路807を介してPC802に戻される。
【0038】また、CALL命令が連鏡的に複数回実行
される(つまり、RET命令を実行することなくCAL
L命令が複数回実行される)と、上述したようにCAL
L命令の実行ごとに双方向レジスタの順方向シフト動作
が行われる。そして、上記CALL命令の連続的な実行
後に、RET命令が実行されると双方向レジスタの逆方
向シフトにより双方向レジスタに保持される復帰アドレ
スデータのうちの最新のデータがPC802に読み出さ
れる。CALL命令と同数のRET命令が実行される
と、双方向レジスタの復帰アドレスデータがすべて取り
出される。
【0039】このように、PC802の復帰アドレスデ
ータを格納退避するために、メモリを使用する必要がな
いので、従来例1のようなオーバーヘッドが解消される
ことになる。
【0040】
【発明が解決しようとする課題】上述した従来例1で
は、汎用レジスタ531を固定的に利用して復帰アドレ
スを退避するため、サブルーチンの呼び出し、サブルー
チンからの復帰のたびに、汎用レジスタ531の復帰ア
ドレスのメモリへの格納とメモリからの復帰をしなけれ
ばならないので、汎用レジスタとメモリ間における復帰
アドレスのやりとりが頻繁となり、これがオーバーヘッ
ドとなり処理速度の低下を招いていた。
【0041】従釆例2では、双方向シフトレジスタに復
帰アドレスを退避、復帰できるように構成したため、従
来例1で問題となっていた復帰アドレスの退避、復帰に
おけるオーバーヘッドが減少する。しかし、従来例2の
構成では、新規にシフトレジスタからなる専用の制御ハ
ードウェアを設ける必要があるため、CPUの規模が大
きくなり、かつコストが高くなるという問題があった。
加えて、プログラムの処理速度向上と小規模化を比べた
場合、小規模化をより重要視するシングルチップ・マイ
クロコンビュータ等においては、上述した従来例2に示
したような構成を採用することは不可能である。
【0042】本発明の目的は、上記問題点を解消して、
復帰アドレスを任意の汎用レジスタに退避できる機能に
より、サブルーチンの処理における復帰アドレスの退避
及び復帰に伴うオーバーヘッドをなくすことのできる情
報処理装置を提供することにある。
【0043】また、本発明の他の目的は、専用のハード
ウェアを設けることなく、簡単な回路変更だけで復帰ア
ドレスの退避及び復帰に伴うオーバーヘッドのない処理
の高速化を実現でき、かつコストのかからない経済性に
優れた情報処理装置を提供することにある。
【0044】
【課題を解決するための手段】上記の目的を達成するた
め、本発明の情報処理装置は、実行する命令のアドレス
を示すプログラムカウンタと、複数の汎用レジスタと、
サブルーチンの呼び出し命令を実行する実行手段と、前
記サブルーチンの呼び出し命令を実行する時に、前記複
数の汎用レジスタから任意の汎用レジスタを選択する手
段と、前記サブルーチンの復帰用プログラムカウンタ値
を選択された汎用レジスタに退避する手段とを備える構
成としている。
【0045】また、他の態様では、前記サブルーチンの
呼び出し命令のコードに、復帰用プログラムカウンタ値
を退避する汎用レジスタの指定を行うフィールドを設
け、前記汎用レジスタを選択する手段は、前記実行手段
によるサブルーチンの呼び出し命令の実行によって出力
される前記汎用レジスタの指定信号に基づいて汎用レジ
スタを選択する構成としている。
【0046】また、他の態様では、前記サブルーチンの
呼び出し命令のコードに、復帰用プログラムカウンタ値
を退避する汎用レジスタの指定を行うフィールドを設
け、前記汎用レジスタを選択する手段は、前記実行手段
によるサブルーチンの呼び出し命令の実行によって出力
される前記汎用レジスタの指定信号に基づいて汎用レジ
スタを選択し、前記退避手段は、前記実行手段によるサ
ブルーチンの呼び出し命令の実行によって出力される復
帰用プログラムカウンタ値の退避信号に基づいて、前記
プログラムカウンタの値に前記サブルーチンの呼び出し
命令の命令長を加算した値を前記復帰用プログラムカウ
ンタ値として、前記選択された汎用レジスタに退避する
構成としている。
【0047】上記目的を達成する本発明の他の情報処理
装置では、実行する命令のアドレスを示すプログラムカ
ウンタと、複数の汎用レジスタと、サブルーチンの呼び
出し命令及びサブルーチンからの復帰命令を実行する手
段と、前記サブルーチンの呼び出し命令を実行する時
に、前記複数の汎用レジスタから任意の汎用レジスタを
選択する手段と、前記サブルーチンの復帰用プログラム
カウンタ値を選択された汎用レジスタに退避する手段
と、前記サブルーチンからの復帰命令を実行する時に、
前記復帰用プログラムカウンタ値を退避した汎用レジス
タから前記復帰用プログラムカウンタ値を読み出して前
記プログラムカウンタに設定する手段を備える構成とし
ている。
【0048】また、他の態様では、前記サブルーチンの
呼び出し命令のコードに、復帰用プログラムカウンタ値
を退避する汎用レジスタの指定を行うフィールドを設
け、前記サブルーチンからの復帰命令のコードに、復帰
用プログラムカウンタ値を読み出す汎用レジスタの指定
を行うフィールドを設け、前記汎用レジスタを選択する
手段は、前記命令実行手段によるサブルーチンの呼び出
し命令の実行によって出力される前記汎用レジスタの指
定信号に基づいて汎用レジスタを選択し、前記復帰用プ
ログラムカウンタ値の読み出し手段は、前記命令実行手
段によるサブルーチンからの復帰命令の実行によって出
力される前記汎用レジスタの指定信号で指定された前記
汎用レジスタから前記復帰用プログラムカウンタ値を読
み出す構成としている。
【0049】また、他の態様では、前記サブルーチンの
呼び出し命令のコードに、復帰用プログラムカウンタ値
を退避する汎用レジスタの指定を行うフィールドを設
け、前記汎用レジスタを選択する手段は、前記実行手段
によるサブルーチンの呼び出し命令の実行によって出力
される前記汎用レジスタの指定信号に基づいて汎用レジ
スタを選択し、前記退避手段は、前記実行手段によるサ
ブルーチンの呼び出し命令の実行によって出力される復
帰用プログラムカウンタ値の退避信号に基づいて、前記
プログラムカウンタの値に前記サブルーチンの呼び出し
命令の命令長を加算した値を前記復帰用プログラムカウ
ンタ値として、前記選択された汎用レジスタに退避し、
前記復帰用プログラムカウンタ値の読み出し手段は、前
記命令実行手段によるサブルーチンからの復帰命令の実
行によって出力される前記汎用レジスタの指定信号で指
定された前記汎用レジスタから前記復帰用プログラムカ
ウンタ値を読み出して前記プログラムカウンタに設定す
る構成としている。
【0050】
【作 用】本発明は、サブルーチンの呼び出し命令をデ
コードした出力によって、復帰用プログラムカウンタ値
を任意に選択した汎用レジスタに書き込むことにより、
退避することができる。このため、復帰用ブログラムカ
ウンタ値をメモリに格納するオーバーヘッドと、メモリ
から復帰用ブログラムカウンタ値を復帰させるオーバー
ヘッドが不要となり、情報処理装置の高速処理が実現す
る。
【0051】
【実施例】以下、本発明の実施例について図面を参照し
て説明する。図1は、本発明の一実施例による情報処理
装置の構成を示すブロック図である。図1においては、
マイクロコンビュータ等の情報処理装置の一部の構成を
示しており、10は命令デコーダ、40はPC、41は
インクリメンタ、101から131は汎用レジスタ、1
00はデータを”0”に固定してある汎用レジスタ、2
00から231は2入力のAND回路、250は2入力
のOR回路、20はデータ・バス、30はメモリであ
る。
【0052】本実施例においては、図示のように、図5
に示した従来例1の構成と大部分が共通した構成となっ
ている。従って、図5に示した従来例1との相違点を重
点的に説明し、従来例1と同一の構成については説明を
省略する。
【0053】本実施例では、図5のOR回路650とA
ND回路631の代わりに、2入力のAND回路231
と2入力のOR回路250を新たに設けている。
【0054】命令デコーダ10は従来例1と異なる命令
コードをデコードするだけで、他の機能は同一である。
また、本実施例では、メモリ30を復帰アドレスのスタ
ックとして用いない。命令デコーダ10が、汎用レジス
タに対する復帰アドレスの書き込みが終了したタイミン
グで、サブルーチンのアドレスをデータ・バス420に
対して出力する点についても図5と同様である。
【0055】図1において、命令デコーダ10からの復
帰信号S54と退避信号S55を、OR回路250に出
力する。OR回路250は、復帰信号S54と退避信号
S55の論理和をとって、その結果をAND回路200
〜AND回路230、そしてAND回路231の一方の
入力へ出力する。
【0056】レジスタセレクト信号S0からS31は、
レジスタセレクト信号S31に相当するのはAND回路
231というように、各々対応するAND回路200か
ら231の他方の入力に供給される。AND回路231
は、レジスタセレクト信号S31とOR回路250の出
力との論理積をとって、その結果を汎用レジスタ131
へ出力している。
【0057】AND回路200から231は、それぞれ
OR回路250の出力とレジスタセレクト信号S0から
S30との論理積をとって、その結果を対応する汎用レ
ジスタ100から131を選択するセレクト信号として
出力する。すなわち、復帰信号S54又は退避信号S5
5の論理値が”1”で、かつレジスタセレクト信号S0
からS30の何れかが論理値”1”になったとき、AN
D回路200から231の何れかの出力が”1”とな
り、対応する汎用レジスタ100から131の何れかが
選択される。
【0058】図5の従来例1では、サブルーチン呼び出
しにおいて復帰アドレスを固定的に特定の汎用レジスタ
531に退避する構成としていたが、本実施例では、復
帰アドレスを退避する汎用レジスタは固定されず、後述
するサブルーチンの呼び出し命令で指定された汎用レジ
スタに退避する構成としている。
【0059】図2に、図1に示した本実施例の情報処理
装置で処理する命令コードの構成を示す。サブルーチン
の呼び出し時には、JARL命令401を実行する。J
ARL命令401のビット10〜5は、JARL命令4
01の演算指令を司るオペコードのフィールドである。
ビット15〜11は、汎用レジスタ101〜131の何
れかを指定するためのレジスタ指定フィールドで、汎用
レジスタ101〜131を5ビットの2進数で指定す
る。ビット4〜0及び31一16は、分岐先(サブルー
チン)を示すディスプレースメント値である。なお、命
令400は、レジスタ間のデータ転送命令(MOV r
eg,reg)のコードの構成を示している。
【0060】図2に示すJARL命令401及びJMP
命令402については、レジスタ間のデータ転送命令
(MOV reg、reg)400等のレジスタ指定フ
ィールドと書式を統一している。
【0061】さらに図1、図2を参照して、サブルーチ
ンの呼び出し時とサブルーチンからの復帰時の動作につ
いて説明する。
【0062】命令デコーダ10では、JARL命令40
1をデコードすることにより、RD信号S52を”
0”、WR信号S53を”1”、復帰信号S54を”
0”、退避信号S55を”1”、指定した汎用レジスタ
に対応するレジスタセレクト信号(S1〜S31の何れ
か)を”1”にセットしてから、サブルーチンのアドレ
スをデータ・バス20上に出力する。
【0063】JARL命令401を以下のように記述す
る。 JARL サブルーチン名,汎用レジスタ名
【0064】ここでは、JARL命令401によって汎
用レジスタ130を指定した場合について説明をする。
JARL命令401をデコードした結果、退避信号S5
5が”1”、ワード切り替え信号S34が”1”とな
り、データ・バス20に復帰アドレスが出力される。
【0065】同時に、OR回路250の出力が”1”、
汎用レジスタ130に対応するレジスタセレクト信号S
30が”1”であることから、AND回路230の出力
が”1”となって汎用レジスタ130が選択される。そ
して、RD信号S52が”1”であることから、データ
・バス20上の復帰アドレスの値が汎用レジスタ130
に書き込まれる。
【0066】一方、復帰信号S54が”0”であるが、
何も影響しない。さらに、命令デコーダ10がサブルー
チンのアドレスをデータ・バス20に出力して、PC4
0にそのサブルーチンのアドレスを書き込む。
【0067】サブルーチンからの復帰時には、JMP命
令402を実行する。JMP命令402は、図2に示す
ような命令コードの構成である。JMP命令402のビ
ット15〜11は使用しないフィールドであり、全て”
0”が設定される。ビット10〜5はJMP命令の演算
指令を司るオペコードのフィールドである。ビット4〜
0は汎用レジスタを指定するフィールドで、レジスタ1
01〜131の何れかを5ビットの2進数で指定する。
【0068】命令デコーダ10では、JMP命令402
をデコードすることにより、RD信号S52を”1”、
WR信号S53を”0”、復帰信号S54を”1”、退
避信号S55を”0、指定した汎用レジスタに対応する
レジスタセレクト信号(S1〜S31の何れ)を”1”
にセットする。ここでは、JMP命令402で汎用レジ
スタ130を指定した場合を説明する。
【0069】JMP命令402をデコードした結果、命
令デコーダ10は復帰信号S54に”1”をセットして
出力するので、OR回路250の出力は論理値”1”に
なる。この時、RD信号S52に”1”をセットして出
力するので、RD信号S52により汎用レジスタ130
から復帰アドレスがデータ・バス20に出力される。一
方、復帰信号S54が”1”であるので、データ・バス
20上の値が復帰アドレスとしてPC40に設定され
る。
【0070】図3では、図7と同様に、JARL命令4
01によるサブルーチンのネスティングの動作とPC0
の退避と復帰の様子を示す。また、図4には、図3のサ
ブルーチンのネスティング動作における各ステップ毎の
復帰アドレスの退避と復帰処理及びその処理に要するク
ロック数を示している。プログラムは矢印の方向に実行
され、メインルーチンR1からサブルーチンSR1へ、
そこからさらにサブルーチンSR2へネスティングす
る。ここではメインルーチンR1内で退避する復帰アド
レスを汎用レジスタ130に、サブルーチンSR1内で
退避する復帰アドレスを汎用レジスタ129にそれぞれ
退避する場合を考える。
【0071】メインルーチンR1内のステップ301で
JARL命令401(汎用レジスタ130を指定)が実
行されると、復帰アドレスを指定した汎用レジスタ13
0に退避して、サブルーチンSR1のアドレスをPC4
0に設定する。サブルーチンSR1に移行してステップ
302で、従来のようにメモリ30に復帰アドレスを格
納する必要がなく、すぐにサブルーチンSR1の処理を
行う。
【0072】サブルーチンSR1内のステップ303
で、JARL命令401(汎用レジスタ129を指定)
が実行されると、復帰アドレスを指定した汎用レジスタ
129に退避して、サブルーチンSR2のアドレスをP
C40に設定する。サブルーチンSR2に入ってステッ
プ304で、メモリ30に復帰アドレスを格納する必要
がなく、すぐにサブルーチンSR2の処理を行う。
【0073】サブルーチンSR2の処理が完了すると、
ステップ308でJMP命令402(汎用レジスタ12
9を指定)が実行されて、汎用レジスタ129から読み
出された復帰アドレスがPC40に設定されて、サブル
ーチンSR1へ戻る。さらに、サブルーチンSR1の処
理が続いて実行され、完了すると、ステップ308でJ
MP命令402(汎用レジスタ130を指定)が実行さ
れて、汎用レジスタ130から読み出された復帰アドレ
スがPC4Oに設定されて、メインルーチンR1へ戻
る。
【0074】このように、本実施例においては、従来例
とまったく同様なサブルーチンの呼び出し、復帰におい
て、復帰アドレスの値をメモリ30に対して格納、復帰
するという処理が不要になり、オーバーヘッドがなくな
る。
【0075】従来例1では、図8に示すように復帰アド
レスの退避、復帰処理に要するクロック数は合計22ク
ロックとなる。本実施例によれば、図4に示すように復
帰アドレスの退避、復帰処理に要するクロック数は合計
12クロックであり、従来例1に対して54%のクロッ
ク数しかかからない。従って、その分のオーバーヘッド
が軽減されることになる。
【0076】また、JARL命令401のレジスタ指定
のデコーダは、図2に示すレジスタ指定のコードのよう
に、レジスタ間のデータ転送命令(MOV reg、r
eg)400等のレジスタ指定フィールドと書式を統一
しておくことで、兼用することが可能である。そのた
め、専用のレジスタ指定用のデコーダを設ける必要がな
い。本実施例では、上述のように、汎用レジスタに空き
のある限り、復帰アドレスを汎用レジスタに退避できる
ので、実用的な効果はきわめて高い。
【0077】以上好ましい実施例をあげて本発明を説明
したが、本発明は必ずしも上記実施例に限定されるもの
ではない。例えば、汎用レジスタ及びAND回路の数に
ついては、図示の内容に限定されない。
【0078】
【発明の効果】以上説明したように、本発明によれば、
簡易な回路構成と命令コードの変更により、復帰アドレ
スを任意の汎用レジスタに退避し、かつ復帰させること
により、サブルーチンの呼び出し時とサブルーチンから
の復帰におけるオーバーヘッドを解消でき情報処理装置
の高速化が実現される。
【0079】また、オーバーヘッドを解消のために従来
において採用されていたような専用のハードウェアを新
たに設ける必要がなく、簡単な回路変更だけで実現する
ことができるので、コストが高くなることもなく経済性
に優れ、かつ専用ハードウェアの追加により回路規模が
大きくなることもない。従って、回路の小規模化を重視
するシングルチップ・マイクロコンピュータ等の情報処
理装置にも採用でき、処理の高速化が実現する。
【図面の簡単な説明】
【図1】 本発明の一実施例による情報処理装置の構成
を示すブロック図である。
【図2】 図1に示す実施例で実行する命令コードの一
構成例を示す図である。
【図3】 図1に示す実施例におけるサブルーチンのネ
スティングにおける処理の流れを示す図である。
【図4】 図3のサブルーチンのネスティング動作にお
ける各ステップ毎の復帰アドレスの退避と復帰の処理及
びその処理に要するクロック数を示す図である。
【図5】 情報処理装置の第1の従来例の構成を示すブ
ロック図である。
【図6】 図5に示す従来例1の命令コードの一例を示
す図である。
【図7】 従来におけるサブルーチンのネスティングに
おける処理の流れを示す図である。
【図8】 図7のサブルーチンのネスティング動作にお
ける各ステップ毎の復帰アドレスの退避と復帰の処理及
びその処理に要するクロック数を示す図である。
【図9】 情報処理装置の第2の従来例の構成を示すブ
ロック図である。
【符号の説明】
10 命令デコーダ 20 データ・バス 30 メモリ 40 PC 41 インクリメンタ 100〜131 汎用レジスタ 200〜231 AND回路 250 OR回路 S0〜S31 レジスタセレクト信号 S34 ワード切り替え信号 S52 RD信号 S53 WR信号 S54 復帰信号 S55 退避信号 401 サブルーチン呼び出し命令 402 復帰命令

Claims (6)

    【特許請求の範囲】
  1. 【請求項1】 実行する命令のアドレスを示すプログラ
    ムカウンタと、 複数の汎用レジスタと、 サブルーチンの呼び出し命令を実行する実行手段と、 前記サブルーチンの呼び出し命令を実行する時に、前記
    複数の汎用レジスタから任意の汎用レジスタを選択する
    手段と、 前記サブルーチンの復帰用プログラムカウンタ値を選択
    された汎用レジスタに退避する手段とを備えることを特
    徴とする情報処理装置。
  2. 【請求項2】 前記サブルーチンの呼び出し命令のコー
    ドに、復帰用プログラムカウンタ値を退避する汎用レジ
    スタの指定を行うフィールドを設け、 前記汎用レジスタを選択する手段は、前記実行手段によ
    るサブルーチンの呼び出し命令の実行によって出力され
    る前記汎用レジスタの指定信号に基づいて汎用レジスタ
    を選択することを特徴とする請求項1に記載の情報処理
    装置。
  3. 【請求項3】 前記サブルーチンの呼び出し命令のコー
    ドに、復帰用プログラムカウンタ値を退避する汎用レジ
    スタの指定を行うフィールドを設け、 前記汎用レジスタを選択する手段は、前記実行手段によ
    るサブルーチンの呼び出し命令の実行によって出力され
    る前記汎用レジスタの指定信号に基づいて汎用レジスタ
    を選択し、 前記退避手段は、前記実行手段によるサブルーチンの呼
    び出し命令の実行によって出力される復帰用プログラム
    カウンタ値の退避信号に基づいて、前記プログラムカウ
    ンタの値に前記サブルーチンの呼び出し命令の命令長を
    加算した値を前記復帰用プログラムカウンタ値として、
    前記選択された汎用レジスタに退避することを特徴とす
    る請求項1に記載の情報処理装置。
  4. 【請求項4】 実行する命令のアドレスを示すプログラ
    ムカウンタと、 複数の汎用レジスタと、 サブルーチンの呼び出し命令及びサブルーチンからの復
    帰命令を実行する手段と、 前記サブルーチンの呼び出し命令を実行する時に、前記
    複数の汎用レジスタから任意の汎用レジスタを選択する
    手段と、 前記サブルーチンの復帰用プログラムカウンタ値を選択
    された汎用レジスタに退避する手段と、 前記サブルーチンからの復帰命令を実行する時に、前記
    復帰用プログラムカウンタ値を退避した汎用レジスタか
    ら前記復帰用プログラムカウンタ値を読み出して前記プ
    ログラムカウンタに設定する手段を備えることを特徴と
    する情報処理装置。
  5. 【請求項5】 前記サブルーチンの呼び出し命令のコー
    ドに、復帰用プログラムカウンタ値を退避する汎用レジ
    スタの指定を行うフィールドを設け、前記サブルーチン
    からの復帰命令のコードに、復帰用プログラムカウンタ
    値を読み出す汎用レジスタの指定を行うフィールドを設
    け、 前記汎用レジスタを選択する手段は、前記命令実行手段
    によるサブルーチンの呼び出し命令の実行によって出力
    される前記汎用レジスタの指定信号に基づいて汎用レジ
    スタを選択し、 前記復帰用プログラムカウンタ値の読み出し手段は、前
    記命令実行手段によるサブルーチンからの復帰命令の実
    行によって出力される前記汎用レジスタの指定信号で指
    定された前記汎用レジスタから前記復帰用プログラムカ
    ウンタ値を読み出すことを特徴とする請求項4に記載の
    情報処理装置。
  6. 【請求項6】 前記サブルーチンの呼び出し命令のコー
    ドに、復帰用プログラムカウンタ値を退避する汎用レジ
    スタの指定を行うフィールドを設け、 前記汎用レジスタを選択する手段は、前記実行手段によ
    るサブルーチンの呼び出し命令の実行によって出力され
    る前記汎用レジスタの指定信号に基づいて汎用レジスタ
    を選択し、 前記退避手段は、前記実行手段によるサブルーチンの呼
    び出し命令の実行によって出力される復帰用プログラム
    カウンタ値の退避信号に基づいて、前記プログラムカウ
    ンタの値に前記サブルーチンの呼び出し命令の命令長を
    加算した値を前記復帰用プログラムカウンタ値として前
    記選択された汎用レジスタに退避し、 前記復帰用プログラムカウンタ値の読み出し手段は、前
    記命令実行手段によるサブルーチンからの復帰命令の実
    行によって出力される前記汎用レジスタの指定信号で指
    定された前記汎用レジスタから前記復帰用プログラムカ
    ウンタ値を読み出して前記プログラムカウンタに設定す
    ることを特徴とする請求項4に記載の情報処理装置。
JP7034671A 1995-01-31 1995-01-31 情報処理装置 Pending JPH08212075A (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP7034671A JPH08212075A (ja) 1995-01-31 1995-01-31 情報処理装置
US08/594,296 US5867696A (en) 1995-01-31 1996-01-30 Saving a program counter value as the return address in an arbitrary general purpose register
EP96101263A EP0725336B1 (en) 1995-01-31 1996-01-30 Information processor
DE69622608T DE69622608T2 (de) 1995-01-31 1996-01-30 Informationsprozessor
KR1019960002272A KR100314484B1 (ko) 1995-01-31 1996-01-31 정보 처리기

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP7034671A JPH08212075A (ja) 1995-01-31 1995-01-31 情報処理装置

Publications (1)

Publication Number Publication Date
JPH08212075A true JPH08212075A (ja) 1996-08-20

Family

ID=12420901

Family Applications (1)

Application Number Title Priority Date Filing Date
JP7034671A Pending JPH08212075A (ja) 1995-01-31 1995-01-31 情報処理装置

Country Status (5)

Country Link
US (1) US5867696A (ja)
EP (1) EP0725336B1 (ja)
JP (1) JPH08212075A (ja)
KR (1) KR100314484B1 (ja)
DE (1) DE69622608T2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6898698B1 (en) 1999-09-29 2005-05-24 Fujitsu Limited Device predicting a branch of an instruction equivalent to a subroutine return and a method thereof
JP2016015475A (ja) * 2014-06-13 2016-01-28 株式会社半導体エネルギー研究所 半導体装置、及び電子機器

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2857600B2 (ja) * 1995-05-11 1999-02-17 松下電器産業株式会社 プロセッサ及びプログラム翻訳装置
US6370636B1 (en) 1996-07-31 2002-04-09 Hyundai Electronics Industries Co., Ltd. Accessing byte lines from dual memory blocks and aligning for variable length instruction execution
JPH1091432A (ja) * 1996-09-13 1998-04-10 Sanyo Electric Co Ltd プログラム実行方法およびプログラム実行装置
US6560696B1 (en) * 1999-12-29 2003-05-06 Intel Corporation Return register stack target predictor
EP1898826B1 (en) * 2005-04-18 2016-12-07 Image Navigation Ltd Methods and apparatus for dental implantation
US7945901B2 (en) * 2006-08-16 2011-05-17 Seiko Epson Corporation System and method for facilitating software profiling procedures
CN100442226C (zh) * 2007-07-02 2008-12-10 美的集团有限公司 微波炉返回键的设定方法
US7882338B2 (en) * 2008-02-20 2011-02-01 International Business Machines Corporation Method, system and computer program product for an implicit predicted return from a predicted subroutine

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04217027A (ja) * 1990-12-18 1992-08-07 Nec Corp 情報処理装置
JPH06149568A (ja) * 1992-11-02 1994-05-27 Fujitsu Ltd サブルーチンリターン制御方法及び命令処理装置

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4777587A (en) * 1985-08-30 1988-10-11 Advanced Micro Devices, Inc. System for processing single-cycle branch instruction in a pipeline having relative, absolute, indirect and trap addresses
JPS63316134A (ja) * 1987-06-18 1988-12-23 Toshiba Corp 半導体集積回路
US5507030A (en) * 1991-03-07 1996-04-09 Digitial Equipment Corporation Successive translation, execution and interpretation of computer program having code at unknown locations due to execution transfer instructions having computed destination addresses
JP3499252B2 (ja) * 1993-03-19 2004-02-23 株式会社ルネサステクノロジ コンパイル装置及びデータ処理装置
AU6629894A (en) * 1993-05-07 1994-12-12 Apple Computer, Inc. Method for decoding guest instructions for a host computer

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04217027A (ja) * 1990-12-18 1992-08-07 Nec Corp 情報処理装置
JPH06149568A (ja) * 1992-11-02 1994-05-27 Fujitsu Ltd サブルーチンリターン制御方法及び命令処理装置

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6898698B1 (en) 1999-09-29 2005-05-24 Fujitsu Limited Device predicting a branch of an instruction equivalent to a subroutine return and a method thereof
JP2016015475A (ja) * 2014-06-13 2016-01-28 株式会社半導体エネルギー研究所 半導体装置、及び電子機器
JP2020077373A (ja) * 2014-06-13 2020-05-21 株式会社半導体エネルギー研究所 半導体装置

Also Published As

Publication number Publication date
DE69622608T2 (de) 2003-03-06
EP0725336A2 (en) 1996-08-07
KR960029971A (ko) 1996-08-17
KR100314484B1 (ko) 2001-12-28
US5867696A (en) 1999-02-02
EP0725336A3 (en) 1997-02-12
EP0725336B1 (en) 2002-07-31
DE69622608D1 (de) 2002-09-05

Similar Documents

Publication Publication Date Title
US7694109B2 (en) Data processing apparatus of high speed process using memory of low speed and low power consumption
US5459847A (en) Program counter mechanism having selector for selecting up-to-date instruction prefetch address based upon carry signal of adder which adds instruction size and LSB portion of address register
JPH0414385B2 (ja)
JPH08212075A (ja) 情報処理装置
US6542989B2 (en) Single instruction having op code and stack control field
JPH0248732A (ja) 命令パイプライン方式のマイクロプロセッサ
JPS623461B2 (ja)
JP2559868B2 (ja) 情報処理装置
JPH07239780A (ja) 1クロック可変長命令実行処理型命令読み込み電子計 算機
JP2690406B2 (ja) プロセッサおよびデータ処理システム
JPS59114677A (ja) ベクトル処理装置
US4853889A (en) Arrangement and method for speeding the operation of branch instructions
US20030005269A1 (en) Multi-precision barrel shifting
JP2553200B2 (ja) 情報処理装置
JP3043861B2 (ja) データ処理装置
US5649229A (en) Pipeline data processor with arithmetic/logic unit capable of performing different kinds of calculations in a pipeline stage
JP2812610B2 (ja) パイプライン制御方式
JPH0524537B2 (ja)
JPH07110769A (ja) Vliw型計算機
JP3199603B2 (ja) コードサイズ縮小化マイクロプロセッサ
JPH11143710A (ja) 処理対象値入力装置及びプログラム変換装置
JP3164690B2 (ja) アドレス制御装置
JPH04329436A (ja) 中央演算処理装置
JPS63157235A (ja) コンピユータ・システムの制御装置
JPS62145430A (ja) デ−タ処理装置