JPH01307831A - 情報処理装置 - Google Patents

情報処理装置

Info

Publication number
JPH01307831A
JPH01307831A JP63139866A JP13986688A JPH01307831A JP H01307831 A JPH01307831 A JP H01307831A JP 63139866 A JP63139866 A JP 63139866A JP 13986688 A JP13986688 A JP 13986688A JP H01307831 A JPH01307831 A JP H01307831A
Authority
JP
Japan
Prior art keywords
register
information
branch
type
data type
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
JP63139866A
Other languages
English (en)
Inventor
Noriaki Sakai
則彰 境
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 JP63139866A priority Critical patent/JPH01307831A/ja
Publication of JPH01307831A publication Critical patent/JPH01307831A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Executing Machine-Instructions (AREA)

Abstract

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

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は情報処理装置に関し、特に演算結果またはオペ
ランドのロードに応答して内容が変化するコンディショ
ンレジスタを備えて、引数のデータタイプを示すタグを
データ自身あるいはデータを示すポインタに付加し、そ
の付加されたタグフィールドの値に応じて処理ルーチン
を定める情報処理装置に関する。
〔従来の技術〕
従来、この種の情報処理装置では、オペランドの、あら
かじめ定められたフィールドの値を比較命令で比較して
その結果で分岐するようなソフトウェア処理を行なって
いた。また、定められたフィールドの値により直接分岐
するような専用命令を備えるもの(情報処理学会研究報
告CA63−5) 、さらに、同様にフィールドの値に
よりマイクロ命令レベルで分岐するもの(情報処理学会
第34口金国大会6p−5)がある。
〔発明が解決しようとする課題〕
ソフトウェアの分野において、汎関数という考え方があ
る。従来の関数処理は、オペランドのデータタイプに依
って使用する関数が異なっていた。例えばFORTRA
Nでは引数のデータタイプが整数、浮動小数点数、長績
度浮動小数点数の3種類とすると、それに対応してAB
S関数でもIABS、ABS、DABSというふうに関
数名が異なっていた。すなわち、関数処理の入口番地も
異なっていてそのデータタイプ専用の処理を行なえば十
分であった。この汎関数の考え方は、引数のデータタイ
プが何であっても同じ関数が使用できるということであ
るが、従来の汎関数の処理ルーチンで引数として渡され
たデータのタイプを判定して処理を分けなければならず
、そのような引数にはデータタイプを判定するための情
報が付加されている。このデータタイプ情報を付加する
方法にはいくつか存在するが、その1つにデータ自身か
、またはデータを指すポインタにタグというデータタイ
プを付加する方法がある。このタグを付加する方法は、
LISPの処理系では良く使用され、第4図(a)に示
すように、関数処理の最初に付加された引数のタグを判
定して引数のデータタイプ(第4図(b))に応した処
理ルーチンに分岐するといった処理が必要になる。従来
の情報処理装置においては、ソフトウェアでこの処理を
おこなっているが、タグ部以外のマスク処理、比較処理
、分岐処理が何度も出現して命令数も増加し効率もわる
かった。情報処理学会研究報告C^63−5に示された
情報処理装置は、タグをインデックスとして分岐する命
令を備えてデータタイプの切分けには対応しているが、
各処理ルーチンへ分岐する際、さらにもう−度分岐命令
が必要となる。このように分岐命令の処理が連続するこ
とになり、特にパイプライン処理方式を採用した情報装
置においては分岐命令処理のオーバーヘットか大きくス
ループットが低下する。情報処理学会第34目金国大会
6p−5に示された情報処理装置ではマイクロ命令レベ
ルで分岐するため分岐命令処理のオーバーヘッドはない
が、組込み関数以外のユーザー定義関数はマイクロ命令
では処理できないという欠点がある。
(課題を解決するための手段) 本発明の情報処理装置は、 引数のデータタイプに対応するタイプ情報が、ソフトウ
ェアによフて設定されるタイプレジスタと、 演算結果またはロードされるオペランドの予め定められ
たフィールドの内容に応じて、前記タイプレジスタに設
定されているタイプ情報を選択し、該情報をコンディシ
ョンレジスタへ格納する選択手段と、 コンディションレジスタへ格納されたタイプ情報に応じ
て分岐方向を定める分岐判定手段とを有している。
〔作  用〕
演算結果またはロードされるオペランドの予め定められ
たフィールドの内容に応じてタイプレジスタに設定され
ている、引数のデータタイプ情報を選択し、そのタイプ
情報に基づいて処理ルーチンを定めるので、従来行なっ
ていた、処理ルーチンへの分岐の際の、引数に付加され
ているタグ部以外の情報のマスク処理、比較処理、分岐
処理が不要になる。
〔実施例〕
次に、本発明の実施例について図面を参照して説明する
第1図は本発明の情報処理装置の一実施例の要部構成を
示すブロック図、第2図はエンコーダ43の構成を示す
ブロック図、第3図゛は汎関数のプログラムの一例を示
す図である。
本実施例の情報処理装置は、命令制御装置1と記憶制御
装置2と演算装置3とを備えており、引数には、従来と
同様第4図に示すように、タグすなわちデータタイプ情
報が付加されている。
命令制御装置1は、命令を記憶制御装置2より読出して
解読し、必要ならばアドレス計算により論理アドレスを
求めて、操作コード、オペランド、操作情報等を演算装
置3に転送する。演算装置3は、命令制御装置1から転
送された情報により演算を行ない各種レジスタやステー
タス、または、記憶制御装置2を通して不図示の主記憶
装置の更新を行なう。演算装置3は、演算器37とコン
ディションレジスタ39と分岐判定回路42と選択手段
であるエンコーダ43とタイプレジスタ44を含んでい
る。タイプレジスタ44は、ソウトウエアによって引数
のデータタイプ情報が32ビツトで設定されている。エ
ンコーダ43は、第2図に示すように、変換回路431
とセレクタ432とで構成され、演算器37の出力であ
る演算結果またはロードされるオペランドの上位4ビツ
トに応じて、タイプレジスタ44に設定されているデー
タタイプ情報を2ビツトずつ選択し、コンディションレ
ジスタ39へ格納する。本実施例では、演算器37の出
力の上位4ビツトが”0000“の時、タイプレジスタ
44の0.1ビツトの内容、また、 ”otoo”の時
、8.9ビツトの内容を選択するように構成されている
分岐判定回路42は、命令制御装置1のデコード情報キ
ュー19からデコード情報レジスタ31、レジスタ40
.41を介して入力されるデコード情報とコン。
デイジョンレジスタ39からのデータタイプ情報とを基
にして分岐ルーチンを決定する。
次に、本実施例の動作について説明する。
命令制御装置1において、命令レジスタ11のビットフ
ィールドにより汎用レジスタファイル13からデータを
読出す。この時、命令レジスタ11の内容がRXタイプ
の命令であれば、オペランドの実行アドレスの生成のた
め汎用レジスタファイル13からインデックス値および
ベース値が読出される。このインデックス値とベース値
は、命令で直接指定されるディスプレイスメント値とと
もに、それぞれインデックスレジスタ15、ペースレジ
スタ16、ディスプレイスメントレジスタ14に設定さ
れる。そして、これら3つの値をもとにしてアドレス加
算器17がオペランドアドレスを生成し、記憶制御装置
2へ転送する。このオペランドアドレス2は、レジスタ
21を介してアドレス変換部22へ送られてアドレス変
換機構221によりアドレス変換される。さらに、アド
レスアレイ222から読出されるディレクトリ情報とと
もに、レジスタ23を介してデータアレイ24へ送られ
てデータアレイ24の読出しアドレスとなってデータア
レイ24がらオ(ベランドが読出され、そのオペランド
は演算装置3に転送される。一方、RXタイプ命令の第
1オペランドと、RR逆タイプ令の場合の第1、第2オ
ペランドが格納されているレジスタのレジスタの番号は
、命令制御装置1のレジスタI8とデコード情報キュー
19を経て、演算装置3へ転送される。オペランドおよ
びレジスタ番号を受けた演算装置3は、演算に先立って
、命令制御装置1から送られたレジスタ番号をもとに、
汎用レジスタファイル32からオペランドを読出す。読
出されたオペランドのうち一方は第1オペランドとして
演算レジスタ35に格納され、もう一方のオペランドは
記憶制御装置2から直接、またデータバッファ34を介
して転送されたオペランドとともにセレクタ33へ入力
されて選択され、第2オペランドとして演算レジスタ3
6に格納される。演算レジスタ35、36に格納された
オペランドは演算器37により所望の演算が行なわれ、
その演算結果が結果レジスタ38を経て汎用レジスタ1
3.32に格納される。
さらに、この演算結果はコンディションレジスタ39へ
も反映される。また、命令がロード命令であれば、オペ
ランドは記憶制御装置2から読出され、そのオペランド
は演算器37、結果レジスタ38を経て、同様に汎用レ
ジスタ13.32に格納され、コンディションレジスタ
39も変化する。この時、演算器37の出力のうち上位
4ビツトは、エンコーダ43に入力されて、タイプレジ
スタ44に設定されているデータタイプ情報のうち2ビ
ツトを選択する。選択された2ビツトのデータタイプ情
報は、演算器37の他のキャリー出力等とともにコンデ
ィションレジスタ39に格納される。このコンディショ
ンレジスタ39の出力は、デコード情報レジスタ31か
らレジスタ40.41を経て送られるデコード情報とと
もに分岐判定回路42へ送られて、そこでそれらの情報
をもとに分岐方向の判定が行なわれる。
なお、演算器37の出力のうち上位4ビツトは、前述し
たようにデータタイプ情報であるタグの−部を示してい
るため、この4ビツトのデータによりデータタイプ情報
を選択して分岐方向を定めるということは、従来と同様
にタグに応した処理ルーチンへ分岐することになる。
次に、第3図に示すプログラムを参照して、分岐方向の
判定処理を説明する。
$ADD 1番地は汎関数の大ロアトレスであり、ロー
ド命令により ”八RGIIMENT”で指定される引
数をROにロードする。このとき引数の上位4ビツトは
符号化され、2ビツトの値としてコンディションレジス
タ39に設定される。次のBRAO命令はコンディショ
ンレジスタ39の2ビツトの値が”00”のとき分岐す
る分岐命令である。2ビツトの値が”00”であれば引
数か整数であると判断して整数処理ルーチン($ IN
TEGER)に分岐する。同様に、BRAI命令はコン
ディションレジスタ39の2ビツトの値が”01”のと
き分岐する分岐命令で2ビツトの値が“旧”であれば引
数が浮動小数点数であると判断して浮動小数点数処理ル
ーチン($FLOAT)に分岐する。BRA2命令も同
様に、2ビツトの値か”10”のとき$ DFLOAT
に分岐する。したがって、引数をレジスタにロードした
後ずぐに分岐命令で各データタイプごとの処理ルーチン
に分岐できることになる。
なお、本実施例では演算器37の出力のうち上位4ビツ
トをタグとしてこれを2ビツトに符号化したが、タグ部
は演算器37出力のどの位置から何ビットでも良いし、
符号化された出力も2ビツトとは限らない。また、タイ
プレジスタ44の長さも何ビットを符号化するによって
決まる。さらに、演算器37の出力のうちタグ部として
使用するフィールドのデータ長、およびそれを符号化し
たデータのビット長に応じて分岐ルーチンも増設するこ
とがてきる。
(発明の効果) 以上説明したように本発明は、演算結果またはロードさ
れるオペランドの予め定められたフィールドの内容に応
じてタイプレジスタに設定されているデータタイプ情報
を選択してその情報に基づいて分岐ルーチンを定めるこ
とにより、演算終了以上説明したように本発明は、演算
結果またはロードされるオペランドの予め定められたフ
ィールドの内容に応じてタイプレジスタに設定されてい
るデータタイプ情報を選択してその情報に基づいて分岐
ルーチンを定めることにより、演算終了後またオペラン
ドのロード後、直ちにそのデータタイプに応じた処理ル
ーチンへ分岐することができ、特に、LI SP等のよ
うに汎関数の出現頻度の高いプログラムにおいては引数
処理のオーバーヘットを低減するという効果がある。
【図面の簡単な説明】
第1図は本発明の情報処理装置の一実施例の要部構成を
示すブロック図、第2図はエンコーダ43の構成を示す
ブロック図、第3図は汎関数によるプログラムの一例を
示す図、第4図はタグによるデータタイプの指定の一例
を示す図である。 1・・・命令制御装置、   2・・・記憶制御装置、
3・・・演算装置、     11・・・命令レジスタ
、12・・・デコーダ、 1:]、 32・・・汎用レジスタファイル、14・・
・デイスジ1ノイスメントレジスタ、15・・・インデ
ックスレジスタ、 16・・・ペースレジスタ、  17・・・アドレス加
算器、18、21.23.40.41・・・レジスタ、
19−・・デコード情報キュー、 22・・・アドレス変換部、 24・・・データアレイ
、31・・・デコーダ情報レジスタ、 3:1.432・・・セレクタ、 34・・・データバ
ッファ、35、36−・・演算レジスタ、 37・・・演算器、     38・−結果レジスタ、
39・・・コンディションレジスタ・ 42・・・分岐判定回路、  43・・・エンコーダ、
44−・・タイプレジスタ、 221−・・アドレス変換機構、 222−・・アドレスアレイ、 431−・・変換回路。

Claims (1)

  1. 【特許請求の範囲】 1、演算結果またはオペランドのロードに応答して内容
    が変化するコンディションレジスタを備えて、引数のデ
    ータタイプを示すタグをデータ自身あるいはデータを示
    すポインタに付加し、その付加されたタグフィールドの
    値に応じて処理ルーチンを定める情報処理装置において
    、 前記データタイプに対応するタイプ情報が、ソフトウェ
    アによって設定されるタイプレジスタと、 演算結果またはロードされるオペランドの予め定められ
    たフィールドの内容に応じて、前記タイプレジスタに設
    定されているタイプ情報を選択し、該情報を前記コンデ
    ィションレジスタへ格納する選択手段と、 該コンディションレジスタへ格納されたタイプ情報に応
    じて分岐方向を定める分岐判定手段とを有することを特
    徴とする情報処理装置。
JP63139866A 1988-06-06 1988-06-06 情報処理装置 Pending JPH01307831A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP63139866A JPH01307831A (ja) 1988-06-06 1988-06-06 情報処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP63139866A JPH01307831A (ja) 1988-06-06 1988-06-06 情報処理装置

Publications (1)

Publication Number Publication Date
JPH01307831A true JPH01307831A (ja) 1989-12-12

Family

ID=15255375

Family Applications (1)

Application Number Title Priority Date Filing Date
JP63139866A Pending JPH01307831A (ja) 1988-06-06 1988-06-06 情報処理装置

Country Status (1)

Country Link
JP (1) JPH01307831A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6460135B1 (en) 1998-10-02 2002-10-01 Nec Corporation Data type conversion based on comparison of type information of registers and execution result

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6460135B1 (en) 1998-10-02 2002-10-01 Nec Corporation Data type conversion based on comparison of type information of registers and execution result

Similar Documents

Publication Publication Date Title
US6128614A (en) Method of sorting numbers to obtain maxima/minima values with ordering
US4745547A (en) Vector processing
US4616313A (en) High speed address calculation circuit for a pipeline-control-system data-processor
JP3828677B2 (ja) レジスタとメモリとの間のデータ転送
EP0211152A2 (en) Program switching with vector registers
JPS633337B2 (ja)
JPH0895804A (ja) 中央処理装置
EP0378415A2 (en) Multiple instruction dispatch mechanism
US4954947A (en) Instruction processor for processing branch instruction at high speed
EP0317473A2 (en) Microcode branch based upon operand length and alignment
US6036350A (en) Method of sorting signed numbers and solving absolute differences using packed instructions
JPS61160176A (ja) ベクトル処理装置
JPH05150979A (ja) 即値オペランド拡張方式
US5390306A (en) Pipeline processing system and microprocessor using the system
JPH034936B2 (ja)
US20050091478A1 (en) Processor using less hardware and instruction conversion apparatus reducing the number of types of instructions
JPH01307831A (ja) 情報処理装置
JPH02278424A (ja) 正規化装置
JPH01307830A (ja) 情報処理装置
EP0313817B1 (en) Method and apparatus for explicitly evaluating conditions in a data processor
JPH01307829A (ja) 情報処理装置
JPH1196001A (ja) プログラム実行装置及びプログラム変換方法
JP3658879B2 (ja) パイプライン計算機
JPH02148140A (ja) 情報処理装置における条件分岐制御方式
JPH04316127A (ja) 情報処理装置