JPH0375932A - 数値演算処理装置 - Google Patents

数値演算処理装置

Info

Publication number
JPH0375932A
JPH0375932A JP21226889A JP21226889A JPH0375932A JP H0375932 A JPH0375932 A JP H0375932A JP 21226889 A JP21226889 A JP 21226889A JP 21226889 A JP21226889 A JP 21226889A JP H0375932 A JPH0375932 A JP H0375932A
Authority
JP
Japan
Prior art keywords
output
instruction
branch
memory
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
JP21226889A
Other languages
English (en)
Inventor
Masahiro Fukuda
福田 政広
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 JP21226889A priority Critical patent/JPH0375932A/ja
Publication of JPH0375932A publication Critical patent/JPH0375932A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Advance Control (AREA)
  • Executing Machine-Instructions (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明はストアードプログラム方式の数値演算処理装置
に関する。
〔従来の技術〕
LSI製造技術の発達により処理能力の高いマイクロプ
ロセッサが安価に利用できるようになってきたが、この
ようなマイクロプロセッサを実現するために年々、動作
周波数を高速化したり、ハードウェアを高集積化してい
る。
特に、近年のマイクロプロセッサは、デコーダの負担軽
減を狙い命令体系をワード固定長として、性能向上を図
っている。すなわち、一つのワード固定長命令は、複数
のサブ命令からなり、同時に複数のハードウェア動作を
指定することができる。
たとえば、一つのワード固定長命令に演算器(以下AL
Uと記す)演算、データ転送命令、その他のマイクロプ
ロセッサ内制御のすべてを同時におこなう。命令として
は、ほかにも分岐命令や即値ロード命令などがある。
これらの命令はオブランドとしてそれぞれ、分岐アドレ
ス部分、即値データ部分を保持する。そのため、分岐命
令と即値ロード命令は、ビット長の短い限られたサブ命
令としか同時に実行することができない。これは、−命
令のビット長が限られているからである。
一方て、ソフトウェアの生産性を向上させるため、マイ
クロプロセッサの命令体系に対しては高級言語とのセマ
ンティックキャップを小さくすることが望まれている。
たとえば、科学技術計算に幅広く使用されているFOR
TRANの分岐文には 0N(K)分岐先11分岐先21分岐先31分岐先41
分岐先5というように、多方向に分岐する文がある。こ
の文を、マイクロプロセッサのアセンブラレベルで実現
する場合について、従来の数値演算処理値のブロック図
を示す第3図を用いて説明する。
第3図において、100はプログラムカウンタ、150
はインクリメンタ、200は命令格納用メモリ、300
は命令格納用メモリ200から出力される命令をデコー
ドする命令デコーダ、400は数値演算処理装置のAL
Uの演算結果に応して変化するフラグ、500はインク
リメンタ150からのアドレスと命令デコーダ300か
らの分岐アドレスを選択する選択回路である。
本数値演算処理装置により、多方向への分岐を実現する
ためには、第12図のように比較命令と条件分岐命令の
ペアを連続記述するか、あるいは第13図に示すプログ
ラムを作成しなくてはならない。
〔発明が解決しようとする課題〕
上述した従来の数値演算処理装置は、多方向への分岐を
実現するためには、比較命令と条件分岐命令のペアを連
続して実行するか、あるいは分岐テーブルを参照する必
要があった。この結果、前者の場合は実行ステップ数が
多いため処理効率を低下させる原因となり、後者の場合
は分岐テーブルを参照するための処理が必要となるため
にデータ処理速度を低下させる原因となるという問題点
がある。
〔発明の従来技術に対する相違点〕
本発明の数値演算処理装置と従来技術との相違点は、分
岐命令がおかれているアドレスの値と分岐先アドレスが
1組として格納された連想メモリに対してプログラムカ
ウンタの値を入力し、前記連想メモリの出力を直接また
は間接にプログラムカウンタに入力する点である。
〔課題を解決するための手段〕
本発明の演算処理装置は、命令格納用メモリと、命令デ
コーダと、プログラムカウンタと、少なくとも1組のキ
ーデータ格納部と前記キーデータ格納部に対応するデー
タメモリ格納部分とを有する複数個の連想メモリとを含
み、 前記プロクラムカウンタの出力をキーとする前記各連想
メモリからの複数の出力の内の1つまたは前記プログラ
ムカウンタの歩進出力を前記命令デコーダからの出力値
によって選択し分岐命令の分岐先として前記命令格納メ
モリに供給するようにしたことを特徴とする。
〔実施例〕
本発明の第1の実施例を第1図に示す。
第1図において、100はプログラムカウンタ、150
はプログラムカウンタ]、 OOのインクリメンタ、2
00は命令格納用メモリ、320は命令格納用メモリ2
00から出力された命令をデコードする命令デコーダ、
510は命令デコーダ320からのデコード出力に従っ
て3つの分岐アドレス格納用連想メモリ601,602
,603いずれかからの出力か、インクリメンタ150
からの出力かを選択する選択回路、601,602.6
03は少なくとも1組のキーデータ格納部とキーデータ
格納部に対応するデータメモリ格納部分とを有する分岐
アドレス格納用連想メモリである。
命令格納用メモリ200には第4図に示すような命令が
、また分岐アドレス格納用連想メモリ601.602,
603にはそれぞれ第5図、第6図、第7図に示すよう
なデータが格納されているとする。第4図において、’
on (k)″とはFORTRANの ’on (k)’分岐先11分岐先29分岐先3 ′ の文と同様である。
プログラムカウンタの値が“’10“°の時、命令格納
用メモリ200がら出力された命令は命令デコーダ32
0でデコードされる。これと同時に分岐アドレス格納用
連想メモリ601,602.603では、プログラムカ
ウンタの値“” (10) ”をキーとしてそれぞれ検
索し、分岐アドレス1゜oooooh、分岐アトL、ス
2000000h。
分岐アドレス3000000hをそれぞれ選択回路51
0に出力する。
選択回路510では、命令デコーダ320がら与えられ
るデータに従って、分岐アドレス格納用連想メモリ60
1,602,603がらの出力あるいはインクリメンタ
150がらの出力のいずれかをプログラムカウンタ10
0に出力する。
つまり、命令デコーダ320がら与えられるデータが1
′″であったなら分岐アドレス格納用メモリ601がら
出力された1000000h、” 2 ”であったなら
分岐アドレス格納用メモリ602から出力された200
0000h、“3″であったなら分岐アドレス格納用メ
モリ603がら出力された3000000hをプログラ
ムカウンタ100に出力する。それ以外のデータが与え
られた場合は、インクリメンタ150がら出力されたア
ドレスをプログラムカウンタ100に出力する。
〔実施例2〕 本発明の第2の実施例を第2図に示す。
第2図において、100はプログラムカウンタ、150
はプログラムカウンタ100のインクリメンタ、160
はプログラムカウンタ100がらの出力と分岐アドレス
格納用連想メモリ601がらの出力を加算する加算器、
170はプログラムカウンタ100からの出力と分岐ア
ドレス格納用連想メモリ602からの出力を加算する加
算器、180はプログラムカウンタ100からの出力と
分岐アドレス格納用連想メモリ603がらの出力を加算
する加算器、200は命令格納用メモリ、320は命令
格納用メモリ200がら出力された命令をデコーダする
命令デコーダ、510は命令デコーダ320からのデコ
ード出力に従って加算器160からの出力、加算器17
0からの出力、加算器180からの出力あるいはインク
リメンタ150からの出力かを選択する選択回路、60
1゜602.603は少なくとも1組のキーデータ格納
部とキーデータ格納部に対応するデータメモリ格納部分
とを有する分岐アドレス格納用連想メモリである。
命令格納用メモリ200には第8図に示すような命令が
、また分岐アドレス格納用連想メモリ601.602.
603にはそれぞれ第9図、第10図、第11図に示す
ようなデータが格納されているとする。第8図において
、“on(k)”とはFORTRAN(7) ’on (k)分岐先11分岐先21分岐先3゛の文と
同様である。
プログラムカウンタの値が10の時、命令格納用メモリ
200から出力された命令は命令デコーダ320でデコ
ードされる。これと同時に分岐アドレス格納用連想メモ
リ601,602.603では、プログラムカウンタの
値(10)をキーとしてそれぞれ検索し、分岐アドレス
100h、分岐アドレス200h、分岐アドレス300
hをそれぞれ加算器160.加算器170.加算器18
0に出力する。加算器160では、分岐アドレス格納用
メモリ601からの出力とプログラムカウンタ100か
らの出力を加算して選択回路510に出力する。加算器
170.加算器180でも同様である。
選択回路510では、命令デコーダ320から与えられ
るデータに従って、加算器160からの出力、加算器1
70からの出力、加算器180からの出力あるいはイン
クリメンタ150からの出力のいずれかをプログラムカ
ウンタ100に出力する。
つまり、命令をデコーダ320から与えられるデータが
1′′てあったなら加算器160がら出力された110
h、” 2 ”であったなら加算器170から出力され
た210h、“′3”であったな1 〇 − ら加算器180から出力された3 10 hをプログラ
ムカウンタ100に出力する。それ以外のデータが与え
られた場合は、インクリメンタ150がら出力されたア
ドレスをプログラムカウンタ100に出力する。
〔発明の効果〕
以上の述べたように本発明は、分岐アドレス格納連想メ
モリを複数設けることにより、多方向への分岐命令を一
命令ザイクルで実現することができる。このことによっ
て、マイクロプロセッサの処理効率を著しく増加させる
ことができる。さらに、高級言語とのセマンテックギャ
ップを著しく減少させることができる。
また、従来1命令中の分岐アドレス値を保持させていた
ビット部分には他のサブ命令を指定することができるた
め、その分処理効率を上げることができる。さらに、分
岐アドレス格納用メモリの容量は、分岐命令の分岐先数
の総和だけあれば充分である。
【図面の簡単な説明】
第1図は本発明の第]の実施例を示すフロック図、第2
図は本発明の第2の実施例を示すブロック図、第3図は
従来例を示すフロック図、第41図と第8図は命令格納
用メモリ内の命令の一例を示す図、第5図、第6図、第
7図、第9図、第10図、第11図は分岐アドレス格納
用連想メモリ内のデータ例を示す図、第]2図、第13
図は従来のプログラム例を示す図である。 100・・・プログラムカウンタ、】50・・インクリ
メンタ、160,1.70,180・・・加算器、20
0・・・命令格納用メモリ、300,320・・命令デ
コータ、400・・・フラグ、500.510・・・選
択回路、601,602,603・・分岐アドレス格納
用連想メモリ。

Claims (1)

  1. 【特許請求の範囲】 命令格納用メモリと、命令デコーダと、プログラムカウ
    ンタと、少なくとも1組のキーデータ格納部と前記キー
    データ格納部に対応するデータメモリ格納部分とを有す
    る複数個の連想メモリとを含み、 前記プログラムカウンタの出力をキーとする前記各連想
    メモリからの複数の出力の内の1つまたは前記プログラ
    ムカウンタの歩進出力を前記命令デコーダからの出力値
    によって選択し分岐命令の分岐先として前記命令格納メ
    モリに供給するようにしたことを特徴とする数値演算処
    理装置。
JP21226889A 1989-08-18 1989-08-18 数値演算処理装置 Pending JPH0375932A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP21226889A JPH0375932A (ja) 1989-08-18 1989-08-18 数値演算処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP21226889A JPH0375932A (ja) 1989-08-18 1989-08-18 数値演算処理装置

Publications (1)

Publication Number Publication Date
JPH0375932A true JPH0375932A (ja) 1991-03-29

Family

ID=16619774

Family Applications (1)

Application Number Title Priority Date Filing Date
JP21226889A Pending JPH0375932A (ja) 1989-08-18 1989-08-18 数値演算処理装置

Country Status (1)

Country Link
JP (1) JPH0375932A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6334184B1 (en) 1998-03-24 2001-12-25 International Business Machines Corporation Processor and method of fetching an instruction that select one of a plurality of decoded fetch addresses generated in parallel to form a memory request

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6334184B1 (en) 1998-03-24 2001-12-25 International Business Machines Corporation Processor and method of fetching an instruction that select one of a plurality of decoded fetch addresses generated in parallel to form a memory request

Similar Documents

Publication Publication Date Title
JPS61122747A (ja) デ−タ処理装置
JPH0371337A (ja) マイクロプロセツサ回路
JPS61148551A (ja) アドレス変換方式
JP3781519B2 (ja) プロセッサの命令制御機構
US6408320B1 (en) Instruction set architecture with versatile adder carry control
JP2000200196A (ja) 拡張命令語を有する中央処理装置
JPH0375932A (ja) 数値演算処理装置
JPH08212075A (ja) 情報処理装置
JPH05108345A (ja) 分岐命令処理装置
JPH04104350A (ja) マイクロプロセッサ
JPH08166880A (ja) コンピュータ
JP2000039995A (ja) 高性能マイクロプロセッサで使用するためのフレキシブル累算レジスタファイル
US6757813B1 (en) Processor
US6772271B2 (en) Reduction of bank switching instructions in main memory of data processing apparatus having main memory and plural memory
JPH0322028A (ja) 数値演算処理装置
JPH0713756A (ja) 半導体装置
JPH0375930A (ja) マイクロプロセッサ
US5479632A (en) Microcomputer having two-level memory to facilitate calculation of effective addresses
JP3339132B2 (ja) 中央処理装置
JPS6319042A (ja) 命令先取り方法
JP3158937B2 (ja) プログラムの最適化方法
JPH07191845A (ja) 即値データ転送装置
JP2576589B2 (ja) 仮想記憶アクセス制御方式
JPS6126089B2 (ja)
JPH02207327A (ja) 数値演算処理装置