JP3123047B2 - マイクロプロセッサ - Google Patents

マイクロプロセッサ

Info

Publication number
JP3123047B2
JP3123047B2 JP10280625A JP28062598A JP3123047B2 JP 3123047 B2 JP3123047 B2 JP 3123047B2 JP 10280625 A JP10280625 A JP 10280625A JP 28062598 A JP28062598 A JP 28062598A JP 3123047 B2 JP3123047 B2 JP 3123047B2
Authority
JP
Japan
Prior art keywords
type information
type
data
register
instruction
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.)
Expired - Fee Related
Application number
JP10280625A
Other languages
English (en)
Other versions
JP2000112757A (ja
Inventor
滋 菅沼
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 JP10280625A priority Critical patent/JP3123047B2/ja
Priority to US09/411,376 priority patent/US6460135B1/en
Publication of JP2000112757A publication Critical patent/JP2000112757A/ja
Application granted granted Critical
Publication of JP3123047B2 publication Critical patent/JP3123047B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related 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/30181Instruction operation extension or modification
    • G06F9/30192Instruction operation extension or modification according to data descriptor, e.g. dynamic data typing
    • 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/30007Arrangements for executing specific machine instructions to perform operations on data operands
    • G06F9/30036Instructions to perform operations on packed data, e.g. vector, tile or matrix operations
    • 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/30098Register arrangements
    • G06F9/30105Register structure
    • 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/30098Register arrangements
    • G06F9/30105Register structure
    • G06F9/30112Register structure comprising data of variable length

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明はマイクロプロセッサ
およびマイクロプロセッサをコアとして組み込んだ大規
模集積回路(LSI;Large Scale Int
egrated circuit)に関し、特に汎用レ
ジスタ(以下、単にレジスタという)を内蔵するマイク
ロプロセッサおよびマイクロプロセッサをコアとして組
み込んだLSIに関する。
【0002】
【従来の技術】マイクロプロセッサの内部に設けられて
いるレジスタは、一般に全て固定されたビット幅であ
り、実データの有効ビット幅と一致しない場合、例え
ば、実データの有効ビット幅がレジスタのビット幅より
小さい場合には、レジスタの上位ビットのデータは無効
である。レジスタに保持されているデータの有効ビット
幅は、該レジスタへのデータロードを行う命令により設
定されるため、マイクロプロセッサ用のコンパイラは、
マイクロプロセッサのレジスタのビット幅と、実データ
の有効ビット幅との整合性を保証しなくてはならない。
【0003】ところで、マイクロプロセッサのレジスタ
のビット幅は、プロセッサの世代が更新される毎に伸張
する傾向にある。ビット幅は、8ビット,16ビット,
32ビット,64ビット,128ビットと2倍ずつ伸張
されてきている。一方、マイクロプロセッサは、過去の
ソフトウエア資産を生かすために、バイナリーレベルで
の上位互換を保証するものが多く、原則的に過去のプロ
グラムがそのまま実行できるように設計されている(例
えば、特開昭63−5432号公報参照)。
【0004】
【発明が解決しようとする課題】しかし、上述した従来
のマイクロプロセッサでは、レジスタのビット幅が伸張
された場合、過去のプログラムでは、伸張された部分の
ビットについての考慮がなされていないため、ソフトウ
ェア的な不具合が発生する可能性があるという問題点が
あった。特に、この傾向は、特定の世代のマイクロプロ
セッサ用に命令を最適化した場合に生じやすい。
【0005】さらに、レジスタに保持されるデータのデ
ータ型は、有効ビット幅によって規定される整数型以外
に、固定小数点型,浮動小数点型,ベクトル型といった
データ型もあり、これらのデータ型の管理や変換は、コ
ンパイラの制御上複雑な問題である。
【0006】本発明の第1の目的は、マイクロプロセッ
サの世代交代によるビット幅拡張によってレジスタのビ
ット幅に変動が生じた場合にもプログラムの動作を保証
することができるようにしたマイクロプロセッサを提供
することにある。
【0007】また、本発明の第2の目的は、プログラム
の開発初期段階で問題となるデータ型の誤りによるバグ
の発生を未然に防止できるようにしたマイクロプロセッ
サを提供することにある。
【0008】さらに、本発明の第3の目的は、上述した
マイクロプロセッサをコアとして含むLSIを提供する
ことにある。
【0009】
【0010】
【0011】
【0012】
【0013】
【0014】
【0015】
【0016】
【課題を解決するための手段】 本発明のマイクロプロセ
ッサは、複数のデータレジスタと、前記データレジスタ
の各々に付随し該データレジスタに保持されるデータの
型情報を保持する複数の型情報レジスタと、前記データ
レジスタのデータと前記型情報レジスタの型情報とを同
時に転送可能な内部バスと、実行結果の型情報およびデ
ータの型情報を行および列とし、型変換の実行可否を行
列要素とする型変換テーブルと、実行結果の型情報を指
定した命令の実行に際して該命令の実行結果の型情報と
該命令が要求するデータレジスタに付随する型情報レジ
スタの型情報との組み合わせが型変換を実行する組み合
わせであるかどうかを前記型変換テーブルを参照して判
断し、これら型情報の組み合わせが型変換を実行する組
み合わせでない場合には例外割込みを発生する型情報比
較器と、この型情報比較器により前記型情報の組み合わ
せが型変換を実行する組み合わせであることが検出され
た場合にはデータの型変換を実行する型変換器と、前記
型変換テーブル,前記型情報比較器および前記型変換器
を備え、前記内部バスを介して前記データレジスタのデ
ータと該データレジスタに付随する前記型情報レジスタ
の型情報とを同時に受信し、外部バスを通じて外部との
入出力を行う入出力実行器と、前記型変換テーブル,前
記型情報比較器および前記型変換器を備え、前記内部バ
スを介して前記データレジスタのデータと該データレジ
スタに付随する前記型情報レジスタの型情報とを同時に
受信し、演算を実行する演算実行器と、前記入出力実行
器から命令バスを介して入力した命令語を解析し、命令
を実行命令バスを介して前記入出力実行器および前記演
算実行器に送出するとともに、前記型情報比較器から例
外割込みを割込みバスを介して入力し専用の例外処理を
起動する命令制御器とを有する。
【0017】さらに、本発明のマイクロプロセッサは、
複数のデータレジスタと、前記データレジスタの各々に
付随し該データレジスタに保持されるデータの型情報を
保持する複数の型情報レジスタと、前記データレジスタ
のデータと前記型情報レジスタの型情報とを同時に転送
可能な内部バスと、実行結果の型情報およびデータの型
情報を行および列とし、型変換の実行可否を行列要素と
する型変換テーブルと、実行結果の型情報を指定した命
令の実行に際して該命令の実行結果の型情報と該命令が
要求するデータレジスタに付随する型情報レジスタの型
情報との組み合わせが型変換を実行する組み合わせであ
るかどうかを前記型変換テーブルを参照して判断し、こ
れら型情報の組み合わせが型変換を実行する組み合わせ
でない場合には例外割込みを発生する型情報比較器と、
この型情報比較器により前記型情報の組み合わせが型変
換を実行する組み合わせであることが検出された場合に
はデータの型変換を実行する型変換器と、前記型変換テ
ーブル,前記型情報比較器および前記型変換器を備え、
前記内部バスを介して前記データレジスタのデータと該
データレジスタに付随する前記型情報レジスタの型情報
とを同時に受信し、外部バスを通じて外部との入出力を
行う入出力実行器と、前記型変換テーブル,前記型情報
比較器および前記型変換器を含む型整合器と、型識別器
を含む固定小数点演算実行器と、型識別器を含む浮動小
数点演算実行器を備え、前記内部バスを介して前記デー
タレジスタのデータと該データレジスタに付随する前記
型情報レジスタの型情報とを同時に受信し、演算を実行
する演算実行器と、前記入出力実行器から命令バスを介
して入力した命令語を解析し、命令を実行命令バスを介
して前記入出力実行器および前記演算実行器に送出する
とともに、前記型情報比較器から例外割込みを割込みバ
スを介して入力し専用の例外処理を起動する命令制御器
とを有する。
【0018】さらにまた、本発明のマイクロプロセッサ
は、複数のデータレジスタと、前記データレジスタの各
々に付随し該データレジスタに保持されるデータの型情
報を保持する複数の型情報レジスタと、前記データレジ
スタのデータと前記型情報レジスタの型情報とを同時に
転送可能な内部バスと、実行結果の型情報およびデータ
の型情報を行および列とし、型変換の実行可否を行列要
素とする型変換テーブルと、実行結果の型情報を指定し
た命令の実行に際して該命令の実行結果の型情報と該命
令が要求するデータレジスタに付随する型情報レジスタ
の型情報との組み合わせが型変換を実行する組み合わせ
であるかどうかを前記型変換テーブルを参照して判断
し、これら型情報の組み合わせが型変換を実行する組み
合わせでない場合には例外割込みを発生する型情報比較
器と、この型情報比較器により前記型情報の組み合わせ
が型変換を実行する組み合わせであることが検出された
場合にはデータの型変換を実行する型変換器と、前記型
変換テーブル,前記型情報比較器および前記型変換器を
備え、前記内部バスを介して前記データレジスタのデー
タと該データレジスタに付随する前記型情報レジスタの
型情報とを同時に受信し、外部バスを通じて外部との入
出力を行う入出力実行器と、前記型変換テーブル,前記
型情報比較器および前記型変換器を備え、前記内部バス
を介して前記データレジスタのデータと該データレジス
タに付随する前記型情報レジスタの型情報とを同時に受
信し、固定小数点演算を実行する固定小数点演算実行器
と、前記型情報比較器,前記型変換テーブルおよび前記
型変換器を備え、前記内部バスを介して前記データレジ
スタのデータと該データレジスタに付随する前記型情報
レジスタの型情報とを同時に受信し、浮動小数点演算を
実行する浮動小数点演算実行器と、前記入出力実行器か
ら命令バスを介して入力した命令語を解析し、命令を実
行命令バスを介して前記入出力実行器,前記固定小数点
演算実行器または前記浮動小数点演算実行器に送出する
とともに、前記型情報比較器から例外割込みを割込みバ
スを介して入力し専用の例外処理を起動する命令制御器
とを有する。
【0019】
【0020】さらに、本発明のマイクロプロセッサは、
複数のデータレジスタと、前記データレジスタの各々に
付随し該データレジスタに保持されるデータの型情報を
保持する複数の型情報レジスタと、前記データレジスタ
のデータと前記型情報レジスタの型情報とを同時に転送
可能な内部バスと、データの型情報を行および列とし、
型変換の実行可否を行列要素とする型変換テーブルと、
複数の型情報レジスタの型情報を比較し、これら型情報
の組み合わせが型変換を実行する組み合わせであるかど
うかを前記型変換テーブルを参照して判断し、これら型
情報の組み合わせが型変換を実行する組み合わせでない
場合には例外割込みを発生する型情報比較器と、この型
情報比較器により前記型情報の組み合わせが型変換を実
行する組み合わせであることが検出された場合にはデー
タの型変換を実行する型変換器と、前記型変換テーブ
ル,前記型情報比較器および前記型変換器を備え、前記
内部バスを介して前記データレジスタのデータと該デー
タレジスタに付随する前記型情報レジスタの型情報とを
同時に受信し、外部バスを通じて外部との入出力を行う
入出力実行器と、前記型変換テーブル,前記型情報比較
器および前記型変換器を備え、前記内部バスを介して前
記データレジスタのデータと該データレジスタに付随す
る前記型情報レジスタの型情報とを同時に受信し、演算
を実行する演算実行器と、前記入出力実行器から命令バ
スを介して入力した命令語を解析し、命令を実行命令バ
スを介して前記入出力実行器および前記演算実行器に送
出するとともに、前記型情報比較器から例外割込みを割
込みバスを介して入力し専用の例外処理を起動する命令
制御器とを有する。
【0021】さらにまた、本発明のマイクロプロセッサ
は、複数のデータレジスタと、前記データレジスタの各
々に付随し該データレジスタに保持されるデータの型情
報を保持する複数の型情報レジスタと、前記データレジ
スタのデータと前記型情報レジスタの型情報とを同時に
転送可能な内部バスと、データの型情報を行および列と
し、型変換の実行可否を行列要素とする型変換テーブル
と、複数の型情報レジスタの型情報を比較し、これら型
情報の組み合わせが型変換を実行する組み合わせである
かどうかを前記型変換テーブルを参照して判断し、これ
ら型情報の組み合わせが型変換を実行する組み合わせで
ない場合には例外割込みを発生する型情報比較器と、こ
の型情報比較器により前記型情報の組み合わせが型変換
を実行する組み合わせであることが検出された場合には
データの型変換を実行する型変換器と、前記型変換テー
ブル,前記型情報比較器および前記型変換器を備え、前
記内部バスを介して前記データレジスタのデータと該デ
ータレジスタに付随する前記型情報レジスタの型情報と
を同時に受信し、外部バスを通じて外部との入出力を行
う入出力実行器と、前記型変換テーブル,前記型情報比
較器および前記型変換器を含む型整合器と、型識別器を
含む固定小数点演算実行器と、型識別器を含む浮動小数
点演算実行器とを備え、前記内部バスを介して前記デー
タレジスタのデータと該データレジスタに付随する前記
型情報レジスタの型情報とを同時に受信し、演算を実行
する演算実行器と、前記入出力実行器から命令バスを介
して入力した命令語を解析し、命令を実行命令バスを介
して前記入出力実行器および前記演算実行器に送出する
とともに、前記型情報比較器から例外割込みを割込みバ
スを介して入力し専用の例外処理を起動する命令制御器
とを有する。
【0022】また、本発明のマイクロプロセッサは、複
数のデータレジスタと、前記データレジスタの各々に付
随し該データレジスタに保持されるデータの型情報を保
持する複数の型情報レジスタと、前記データレジスタの
データと前記型情報レジスタの型情報とを同時に転送可
能な内部バスと、データの型情報を行および列とし、型
変換の実行可否を行列要素とする型変換テーブルと、複
数の型情報レジスタの型情報を比較し、これら型情報の
組み合わせが型変換を実行する組み合わせであるかどう
かを前記型変換テーブルを参照して判断し、これら型情
報の組み合わせが型変換を実行する組み合わせでない場
合には例外割込みを発生する型情報比較器と、この型情
報比較器により前記型情報の組み合わせが型変換を実行
する組み合わせであることが検出された場合にはデータ
の型変換を実行する型変換器と、前記型変換テーブル,
前記型情報比較器および前記型変換器を備え、前記内部
バスを介して前記データレジスタのデータと該データレ
ジスタに付随する前記型情報レジスタの型情報とを同時
に受信し、外部バスを通じて外部との入出力を行う入出
力実行器と、前記型変換テーブル,前記型情報比較器お
よび前記型変換器を備え、前記内部バスを介して前記デ
ータレジスタのデータと該データレジスタに付随する前
記型情報レジスタの型情報とを同時に受信し、固定小数
点演算を実行する固定小数点演算実行器と、前記型情報
比較器,前記型変換テーブルおよび前記型変換器を備
え、前記内部バスを介して前記データレジスタのデータ
と該データレジスタに付随する前記型情報レジスタの型
情報とを同時に受信し、浮動小数点演算を実行する浮動
小数点演算実行器と、前記入出力実行器から命令バスを
介して入力した命令語を解析し、命令を実行命令バスを
介して前記入出力実行器,前記固定小数点演算実行器ま
たは前記浮動小数点演算実行器に送出するとともに、前
記型情報比較器から例外割込みを割込みバスを介して入
力し専用の例外処理を起動する命令制御器とを有する。
【0023】本発明のマイクロプロセッサでは、内部の
データレジスタに型情報レジスタを付加し、データレジ
スタに保持されているデータの型情報(データ型および
有効ビット幅)を示すことが可能である。型情報レジス
タは、メモリからレジスタへのロード命令の実行または
演算結果の格納の時点で、データの型情報を参照して更
新される。レジスタへの各種命令の実行時、レジスタか
らデータを読み出す際に、データと同時に型情報も読み
出し、各種制御情報とともに、内部バスに送出する。演
算実行器では、型情報を検出し、命令に内包される型情
報の指定あるいは他のデータの型情報との比較を行う。
各データの型情報に不一致が生じた場合、自動的にデー
タの型変換を行うか、あるいは例外割込みを発生させて
ソフトウェア的に整合をとる。これにより、命令自身
は、レジスタから送られたデータの型情報を意識するこ
となく処理を行うことが可能となる。
【0024】
【発明の実施の形態】以下、本発明について図面を参照
して詳細に説明する。
【0025】図1は、本発明の第1の実施の形態に係る
マイクロプロセッサ1の構成を示す回路ブロック図であ
る。本実施の形態に係るマイクロプロセッサ1は、型情
報比較器22を含む入出力実行器2と、命令制御器3
と、内部バス4と、型情報比較器62を含む演算実行器
6と、入出力実行器2と外部とを接続する外部バス11
と、命令制御器3と入出力実行器2および演算実行器6
との間を接続する実行命令バス41と、型情報比較器2
2および62と命令制御器3との間を接続する割込みバ
ス42と、複数のデータレジスタ51〜5n(nは任意
の正整数)と、データレジスタ51〜5nの各々に付随
する型情報レジスタ511〜5n1とを含んで構成され
ている。
【0026】入出力実行器2は、外部バス11を使用し
て外部からの命令語の読み込みや外部に対するデータの
入出力を行う。
【0027】命令制御器3は、命令バス31を介して入
力した命令語を解析し、実行命令バス41を介して入出
力実行器2または演算実行器6に命令(オペレーション
コード)を送出する。また、命令制御器3は、割込みバ
ス42を介して例外割込みを受けてソフトウェアによる
専用の例外処理を起動するようになっている。
【0028】演算実行器6は、実行命令バス41を介し
て入力された命令に従った演算を行う。
【0029】データレジスタ51〜5nは、固定ビット
幅のレジスタである。
【0030】型情報レジスタ511〜5n1は、データ
レジスタ51〜5nの各々に対して該データレジスタに
保持されるデータのデータ型および有効ビット幅を示す
型情報を保持するレジスタである。
【0031】内部バス4は、データレジスタ51〜5n
のデータと型情報レジスタ511〜5n1の型情報とを
同時に転送可能なビット幅のバスである。内部バス4
は、データレジスタ51〜5nおよび型情報レジスタ5
11〜5n1と入出力実行器2および演算実行器6との
間を接続する。
【0032】型情報比較器22および62は、命令の実
行に際して該命令の実行結果の型情報と該命令が要求す
るデータレジスタに付随する型情報レジスタに保持され
ている型情報とを比較する比較器である。型情報比較器
22および62は、該命令の実行結果の型情報と型情報
レジスタに保持されている型情報とが不一致の場合は、
例外割込みを発生し、割込みバス42を介して命令制御
器3に通知する。
【0033】命令語は、演算に用いるデータの型情報
(データ型および有効ビット幅)とは独立して、実行結
果の型情報(データ型および有効ビット幅)を指定し得
る。
【0034】図2は、第1の実施の形態に係るマイクロ
プロセッサ1において、命令語の内部で、実行結果の型
情報(データ型および有効ビット幅)を指定する一例を
図示したものである。命令語の内部には、オペレーショ
ンコード,レジスタ1およびレジスタ2の各フィールド
の他に、実行結果の型情報(データ型および有効ビット
長)を示す型情報フィールドが付加されている。型情報
フィールドには、浮動小数点/固定小数点の別,ベクト
ル型/スカラ型の別,符号付き/符号無しの別,および
ビット長(有効ビット幅)が指定できるようになってお
り、各ビットの値により実行結果のデータ型(データ型
および有効ビット幅)を指定する。
【0035】図3は、第1の実施の形態に係るマイクロ
プロセッサ1における型情報(データ型および有効ビッ
ト幅)の比較過程を例示する図である。この例では、デ
ータ72は、データ71の半分の有効ビット幅であり、
その旨が型情報711および721に反映されているも
のとする。
【0036】次に、このように構成された第1の実施の
形態に係るマイクロプロセッサ1の動作について、図1
ないし図3を参照して説明する。
【0037】入出力実行器2は、外部バス11より読み
込んだ命令語を命令バス31を介して命令制御器3に入
力させる。
【0038】命令制御器3は、入力された命令語を解析
し、オペレーションコードが演算命令であることを示し
ていれば、命令語中のレジスタ1のフィールドに基づい
て、データレジスタ51〜5nのうちの該当するデータ
レジスタに対して読み出し指示を行う。
【0039】読み出しを指示されたデータレジスタおよ
びそれに付随する型情報レジスタは、データおよび型情
報(ここでは、データ71および型情報711とする)
を同時に読み出し、内部バス4に送出する。
【0040】内部バス4に送出されたデータレジスタの
データ71および型情報711は、演算実行器6に入力
される。
【0041】次に、命令制御器3は、入力された命令語
中のレジスタ2のフィールドに基づいて、データレジス
タ51〜5nのうちの該当するデータレジスタに対して
読み出し指示を行う。
【0042】読み出しを指示されたデータレジスタおよ
びそれに付随する型情報レジスタは、データおよび型情
報(ここでは、データ72および型情報721とする)
を同時に読み出し、内部バス4に送出する。
【0043】内部バス4に送出されたデータレジスタの
データ72および型情報721は、演算実行器6に入力
される。
【0044】また、命令制御器3は、命令語中のオペレ
ーションコードを実行命令バス41を介して演算実行器
6に送出する。
【0045】次に、命令制御器3は、命令語中の型情報
フィールドの型情報(実行結果の型情報)を実行命令バ
ス41を介して演算実行器6に送出する。
【0046】演算実行器6では、まず、型情報比較器6
2が、型情報711と型情報721とを比較し、型情報
711と型情報721とが不一致である場合は、例外割
込みを発生させ、割込みバス42を介して命令制御器3
に通知する。
【0047】図3の例では、データ71の有効ビット幅
とデータ72の有効ビット幅とが異なっているので、型
情報比較器62は、例外割込みを発生し、割込みバス4
2を介して命令制御器3に通知する。
【0048】命令制御器3は、割込みバス42を介して
例外割込みを受けると、ソフトウェアによる専用の例外
処理を起動する。
【0049】なお、型情報比較器62において、例外割
込みを発生させずに、型情報711および型情報721
の比較のみが行われるようにしてもよい。
【0050】型情報比較62による型情報711と型情
報721との比較結果が一致であった場合には、演算実
行器6は、データ71およびデータ72をオペランドと
するオペランドコードに従って演算命令を実行し、演算
結果の型情報が示すデータ型および有効データ幅の実行
結果ならびにその型情報を内部バス4を介して該当する
データレジスタおよび型情報レジスタに格納する。
【0051】一方、命令制御器3は、入力された命令語
のオペレーションコードが入出力命令であることを示し
ていれば、命令語中のレジスタ1およびレジスタ2のフ
ィールドに基づいて、データレジスタ51〜5nのうち
の該当するデータレジスタに対して読み出し指示を行
う。
【0052】また、命令制御器3は、命令語中のオペレ
ーションコードを実行命令バス41を介して入出力実行
器2に送出する。
【0053】次に、命令制御器3は、命令語中の型情報
フィールドの型情報を実行命令バス41を介して入出力
実行器2に送出する。
【0054】入出力実行器2では、型情報比較器22
が、内部バス4を介して入力される型情報レジスタの型
情報と実行命令バス41を介して入力される命令語中の
型情報とを比較し、両型情報が一致していればオペレー
ションコードに従って入出力命令を実行する。
【0055】両型情報が異なっている場合は、型情報比
較器22は、例外割込みを発生させ、割込みバス42を
介して命令制御器3に通知する。
【0056】命令制御器3は、例外割込みを受けると、
ソフトウェアによる専用の例外処理を起動する。
【0057】図4は、本発明の第2の実施の形態に係る
マイクロプロセッサ1の構成を示す回路ブロック図であ
る。本実施の形態に係るマイクロプロセッサ1は、図1
に示した第1の実施の形態に係るマイクロプロセッサ1
と比較して、入出力実行器2に型変換テーブル23およ
び型変換器24が実装され、演算実行器6に型変換テー
ブル63および型変換器64が実装されている点だけが
異なっている。したがって、その他の回路要素は、第1
の実施の形態に係るマイクロプロセッサ1の場合と同様
に構成されて同様に配置されているので、対応する回路
要素には同一符号を付してそれらの詳しい説明を省略す
る。
【0058】図5は、第2の実施の形態に係るマイクロ
プロセッサ1において、型情報比較器62が、型変換テ
ーブル63を用いて型変換器64を制御する過程を例示
する図である。この例では、データ72は、データ71
の半分の有効ビット幅であり、その旨が型情報711お
よび721に反映されているものとする。
【0059】図6は、型変換テーブル23および63の
内容を例示する図である。型変換テーブル23および6
3は、横軸がデータの型情報(データ型および有効ビッ
ト幅)に、縦軸が実行結果の型情報(データ型および有
効ビット幅)にそれぞれ対応し、各行列要素に型変換が
可能であるかあるいは例外割込みを発生する(型変換が
不可能である)かが指定されている。
【0060】次に、このよう構成された第2の実施の形
態に係るマイクロプロセッサ1の動作について、図4な
いし図6を参照して、既述した第1の実施の形態に係る
マイクロプロセッサ1の動作との相違点を中心に説明す
る。
【0061】第1の実施の形態に係るマイクロプロセッ
サ1の場合と同様にして、内部バス4に送出されたデー
タレジスタのデータ71および型情報711とデータ7
2および型情報721とは、演算実行器6に順次入力さ
れる。
【0062】また、命令制御器3は、命令語中の型情報
フィールドの型情報(実行結果の型情報)を実行命令バ
ス41を経由して演算実行器6に送出する。
【0063】演算実行器6では、型情報比較器62が、
型情報711と型情報721とを比較する。
【0064】また、型情報比較器62は、型変換テーブ
ル63を参照して、型情報711と型情報721との組
み合わせならびに型情報711および721と実行結果
の型情報との組み合わせが、型変換を実行する組み合わ
せであるか否かを判定する。型変換を実行する組み合わ
せでない場合には、型情報比較器62は、第1の実施の
形態に係るマイクロプロセッサ1の場合と同様に、例外
割込みを割込みバス42を介して命令制御器3に送出す
る。型変換を実行する組み合わせの場合には、型変換器
64が、データ71および72または演算結果を指定さ
れた型に変換する。図5の例では、データ72がデータ
71と同じ有効ビット幅となるようにビット拡張され、
データ72' に型変換されている。
【0065】なお、型情報比較器22および62におい
て、例外割込みを発生させずに、型情報の比較およびデ
ータの型変換のみが行われるようにしてもよい。
【0066】図7は、本発明の第3の実施の形態に係る
マイクロプロセッサ1の構成を示す回路ブロック図であ
る。本実施の形態に係るマイクロプロセッサ1は、図4
に示した第2の実施の形態に係るマイクロプロセッサ1
に対して、命令制御器3と型変換テーブル23および6
3との間を接続する型変換テーブル更新バス32を実装
するようにしたものである。したがって、その他の回路
要素は、第2の実施の形態に係るマイクロプロセッサ1
の場合と同様に構成されて同様に配置されているので、
対応する回路要素には同一符号を付してそれらの詳しい
説明を省略する。
【0067】図8は、第3の実施の形態に係るマイクロ
プロセッサ1において、マイクロプロセッサ1の特殊命
令により型変換テーブル23および63の行列要素がど
のように更新されるのかを例示する図である。
【0068】図9は、第3の実施の形態に係るマイクロ
プロセッサ1において、マイクロプロセッサ1の特殊命
令により型変換テーブル23および63の複数の行列要
素を一括変換する例を示す図である。
【0069】次に、このように構成された第3の実施の
形態に係るマイクロプロセッサ1の動作について、図7
ないし図9を参照して、既述した第1および第2の実施
の形態に係るマイクロプロセッサ1の動作との相違点を
中心に説明する。
【0070】命令制御器3は、命令バス31を介して型
変換テーブル23および63を更新する特殊命令を入力
した場合、型変換テーブル更新バス32を用い、型変換
テーブル23および63を更新する。1つの命令で型変
換テーブル23および63の複数の行列要素を更新する
か、特定の行列要素のみを更新するかは、マイクロプロ
セッサ1の命令の実装方法により異なる。
【0071】例えば、図8を参照すると、データの有効
データ幅が16bit、実行結果の有効データ幅が8b
itの行列要素について、更新前は例外割込み処理であ
ったが(図6参照)、更新後は変換可能に変更されてい
る。
【0072】また、図9を参照すると、実行結果の有効
ビット幅が64bitの行列要素の全てが、型変換の実
行から例外割込みの発生に変更されている。
【0073】図10は、本発明の第4の実施の形態に係
るマイクロプロセッサ1の要部を示す回路ブロック図で
ある。本実施の形態に係るマイクロプロセッサ1は、デ
ータの有効ビット幅以外のデータ型に違いがある場合に
データ型に応じて固定小数点演算実行器611または浮
動小数点演算実行器612を選択するものであり、演算
実行器6が、型情報比較器62,型変換テーブル63お
よび型変換器64を含む型整合器60と、型識別器61
11を含む固定小数点演算実行器611と、型識別器6
121を含む浮動小数点演算実行器612とから構成さ
れている。なお、その他の回路要素は、図7に示した第
3の実施の形態に係るマイクロプロセッサ1の場合と同
様に構成されて同様に配置されているので、対応する回
路要素には同一符号を付してそれらの詳しい説明を省略
する。
【0074】次に、このように構成された第4の実施の
形態に係るマイクロプロセッサ1の動作について、図1
0を参照して、既述した第1ないし第3の実施の形態に
係るマイクロプロセッサ1の動作との相違点を中心に説
明する。
【0075】いま、データ71および72は、ともに固
定小数点データであり、かつデータ72は、データ71
の半分の有効ビット幅であり、その旨が型情報711お
よび721に反映されているものとする。
【0076】内部バス4を介してデータ71および型型
情報711ならびにデータ72および型情報721が型
整合器60に入力されると、型情報比較器62は、デー
タ71および72ともに固定小数点データであることを
認識し、型情報テーブル63を参照して型変換を実行す
る組み合わせであると判断する。このため、型変換器6
4は、データ72をデータ72’に型変換して出力す
る。
【0077】出力されたデータ71および型情報711
ならびにデータ72’および型情報721は、型整合器
60を経てデータ71および72を固定小数点演算実行
器611に送付されるが、同時に浮動小数点演算実行器
621にも送付される。
【0078】固定小数点演算実行器611では、型識別
器6111が、型情報711および721を参照してデ
ータ71および72' が自演算実行器に対して送付され
たデータであるかどうかを判定する。型情報711およ
び721で示されるデータ型が固定小数点であるため、
固定小数点演算実行器611は、データ71および7
2’を用いた固定小数点演算を実行する。
【0079】一方、浮動小数点演算実行器612では、
型識別器6121が、型情報711および721を参照
してデータ71および72' が自演算実行器に対して送
付されたデータであるかどうかを判定する。型情報71
1および721で示されるデータ型が固定小数点である
ため、型識別器6121は、データ型が合わないことを
識別する。このため、浮動小数点演算実行器612は、
データ71および72’を無視する。
【0080】なお、データ71および72' が浮動小数
点データである場合は、固定小数点演算実行器611が
データ71および72' を無視し、浮動小数点演算実行
器612がデータ71および72’を用いて浮動小数点
演算を実行することはいうまでもない。
【0081】図11は、本発明の第5の実施の形態に係
るマイクロプロセッサ1の構成を示す回路ブロック図で
ある。本実施の形態に係るマイクロプロセッサ1は、デ
ータの有効ビット幅以外のデータ型に違いがある場合
に、データ型に応じて固定小数点演算実行器611また
は浮動小数点演算実行器612を選択するものであり、
入出力実行器2と、命令制御器3と、内部バス4と、外
部バス11と、命令バス31と、型変換テーブル更新バ
ス32と、実行命令バス41と、割込みバス42と、デ
ータレジスタ51〜5nと、型情報レジスタ511〜5
n1と、固定小数点演算実行器611と、浮動小数点演
算実行器612とから、その主要部が構成されている。
【0082】固定小数点演算実行器611は、型情報比
較器6112と、型変換テーブル6113と、型変換器
6114とを含んで構成されている。
【0083】浮動小数点演算実行器612は、型情報比
較器6122と、型変換テーブル6123と、型変換器
6124とを含んで構成されている。
【0084】なお、第5の実施の形態に係るマイクロプ
ロセッサ1は、図7に示した第3の実施の形態に係るマ
イクロプロセッサ1における演算実行器6を、固定小数
点演算実行器611および浮動小数点演算実行器612
に分割したものに相当するので、対応する回路要素には
同一符号を付してそれらの詳しい説明を省略する。
【0085】次に、このように構成された第5の実施の
形態に係るマイクロプロセッサ1の動作について、図1
1を参照して、既述した第1ないし第4の実施の形態に
係るマイクロプロセッサ1の動作との相違点を中心に説
明する。
【0086】命令制御器3は、入力された命令語を解析
し、オペレーションコードが固定小数点演算命令である
ことを示していれば命令語中のオペレーションコードを
実行命令バス41を介して固定小数点演算実行器611
に送出し、オペレーションコードが浮動小数点演算命令
であることを示していれば命令語中のオペレーションコ
ードを実行命令バス41を介して浮動小数点演算実行器
612に送出する。
【0087】固定小数点演算実行器611では、型情報
比較器6112が、型変換テーブル6113を参照して
型情報の比較を行い、型情報の組み合わせが型変換を実
行する組み合わせであれば、型変換器6114が、デー
タの型変換を行った上で固定小数点演算を実行する。ま
た、型情報の組み合わせが型変換を実行する組み合わせ
でなければ、型情報比較器6112が、例外割込みを発
生して割込みバス42を介して命令制御器3に送出す
る。
【0088】同様に、浮動小数点演算実行器612で
は、型情報比較器6122が型変換テーブル6123を
参照して型情報の比較を行い、型情報の組み合わせが型
変換を実行する組み合わせであれば、型変換器6124
が、データの型変換を行った上で浮動小数点演算を実行
する。また、型情報の組み合わせが型変換を実行する組
み合わせでなければ、型情報比較器6122が、例外割
込みを発生して割込みバス42を介して命令制御器3に
送出する。
【0089】
【発明の効果】第1の効果は、マイクロプロセッサの世
代交代によるビット幅拡張によってレジスタの有効ビッ
ト幅に変動が生じた場合に対し、プログラムの動作を保
証することが可能になることである。その理由は、命令
に使用するデータの型情報同士あるいはデータの型情報
と命令の実行結果の型情報との組み合わせが型変換を実
行する組み合わせであれば、データの型変換を自動的に
行うようにしたからである。
【0090】第2の効果は、プログラムの開発初期段階
で問題となる、データ型の誤りによるバグの発生を未然
に防ぐことが可能になるということである。その理由
は、命令に使用するデータの型情報同士あるいはデータ
の型情報と命令の実行結果の型情報との組み合わせが型
変換を実行する組み合わせでなければ、例外割込みを発
生して、例外処理を実行させるようにしたからである。
【図面の簡単な説明】
【図1】本発明の第1の実施の形態に係るマイクロプロ
セッサの構成を示す回路ブロック図である。
【図2】第1の実施の形態に係るマイクロプロセッサに
おいて使用する命令語の内容を例示する図である。
【図3】第1の実施の形態に係るマイクロプロセッサに
おける型情報が一致しない場合の例外割込みの発生を説
明する図である。
【図4】本発明の第2の実施の形態に係るマイクロプロ
セッサの構成を示す回路ブロック図である。
【図5】第2の実施の形態に係るマイクロプロセッサに
おける型情報が一致しない場合に型変換を行う例を説明
する図である。
【図6】図4および図5中の型変換テーブルの内容を例
示する図である。
【図7】本発明の第3の実施の形態に係るマイクロプロ
セッサの構成を示す回路ブロック図である。
【図8】図6に示した型変換テーブルの行列要素が特殊
命令により更新される場合を例示する図である。
【図9】図6に示した型変換テーブルの複数の行列要素
が特殊命令により一括更新される場合を例示する図であ
る。
【図10】本発明の第4の実施の形態に係るマイクロプ
ロセッサの要部を示す回路ブロック図である。
【図11】本発明の第5の実施の形態に係るマイクロプ
ロセッサの構成を示す回路ブロック図である。
【符号の説明】
1 マイクロプロセッサ 2 入出力実行器 3 命令制御器 4 内部バス 6 演算実行器 11 外部バス 22 型情報比較器 23 型変換テーブル 24 型変換器 31 命令バス 32 型変換テーブル更新バス 41 実行命令バス 42 割込みバス 51〜5n データレジスタ 62 型情報比較器 63 型変換テーブル 64 型変換器 71,72 データ 72' 変換されたデータ 511〜5n1 型情報 611 固定小数点演算実行器 612 浮動小数点演算実行器 711,721 型情報 6112,6122 型情報比較器 6113,6123 型変換テーブル 6114,6124 型変換器

Claims (9)

    (57)【特許請求の範囲】
  1. 【請求項1】 複数のデータレジスタと、 前記データレジスタの各々に付随し該データレジスタに
    保持されるデータの型情報を保持する複数の型情報レジ
    スタと、 前記データレジスタのデータと前記型情報レジスタの型
    情報とを同時に転送可能な内部バスと、 実行結果の型情報およびデータの型情報を行および列と
    し、型変換の実行可否を行列要素とする型変換テーブル
    と、 実行結果の型情報を指定した命令の実行に際して該命令
    の実行結果の型情報と該命令が要求するデータレジスタ
    に付随する型情報レジスタの型情報との組み合わせが型
    変換を実行する組み合わせであるかどうかを前記型変換
    テーブルを参照して判断し、これら型情報の組み合わせ
    が型変換を実行する組み合わせでない場合には例外割込
    みを発生する型情報比較器と、 この型情報比較器により前記型情報の組み合わせが型変
    換を実行する組み合わせであることが検出された場合に
    はデータの型変換を実行する型変換器と、 前記型変換テーブル,前記型情報比較器および前記型変
    換器を備え、前記内部バスを介して前記データレジスタ
    のデータと該データレジスタに付随する前記型情報レジ
    スタの型情報とを同時に受信し、外部バスを通じて外部
    との入出力を行う入出力実行器と、 前記型変換テーブル,前記型情報比較器および前記型変
    換器を備え、前記内部バスを介して前記データレジスタ
    のデータと該データレジスタに付随する前記型情報レジ
    スタの型情報とを同時に受信し、演算を実行する演算実
    行器と、 前記入出力実行器から命令バスを介して入力した命令語
    を解析し、命令を実行命令バスを介して前記入出力実行
    器および前記演算実行器に送出するとともに、前記型情
    報比較器から例外割込みを割込みバスを介して入力し専
    用の例外処理を起動する命令制御器とを有することを特
    徴とするマイクロプロセッサ。
  2. 【請求項2】 複数のデータレジスタと、 前記データレジスタの各々に付随し該データレジスタに
    保持されるデータの型情報を保持する複数の型情報レジ
    スタと、 前記データレジスタのデータと前記型情報レジスタの型
    情報とを同時に転送可能な内部バスと、 実行結果の型情報およびデータの型情報を行および列と
    し、型変換の実行可否を行列要素とする型変換テーブル
    と、 実行結果の型情報を指定した命令の実行に際して該命令
    の実行結果の型情報と該命令が要求するデータレジスタ
    に付随する型情報レジスタの型情報との組み合わせが型
    変換を実行する組み合わせであるかどうかを前記型変換
    テーブルを参照して判断し、これら型情報の組み合わせ
    が型変換を実行する組み合わせでない場合には例外割込
    みを発生する型情報比較器と、 この型情報比較器により前記型情報の組み合わせが型変
    換を実行する組み合わせであることが検出された場合に
    はデータの型変換を実行する型変換器と、 前記型変換テーブル,前記型情報比較器および前記型変
    換器を備え、前記内部バスを介して前記データレジスタ
    のデータと該データレジスタに付随する前記型情報レジ
    スタの型情報とを同時に受信し、外部バスを通じて外部
    との入出力を行う入出力実行器と、 前記型変換テーブル,前記型情報比較器および前記型変
    換器を含む型整合器と、型識別器を含む固定小数点演算
    実行器と、型識別器を含む浮動小数点演算実行器とを備
    え、前記内部バスを介して前記データレジスタのデータ
    と該データレジスタに付随する前記型情報レジスタの型
    情報とを同時に受信し、演算を実行する演算実行器と、 前記入出力実行器から命令バスを介して入力した命令語
    を解析し、命令を実行命令バスを介して前記入出力実行
    器および前記演算実行器に送出するとともに、前記型情
    報比較器から例外割込みを割込みバスを介して入力し専
    用の例外処理を起動する命令制御器とを有することを特
    徴とするマイクロプロセッサ。
  3. 【請求項3】 複数のデータレジスタと、 前記データレジスタの各々に付随し該データレジスタに
    保持されるデータの型情報を保持する複数の型情報レジ
    スタと、 前記データレジスタのデータと前記型情報レジスタの型
    情報とを同時に転送可能な内部バスと、 実行結果の型情報およびデータの型情報を行および列と
    し、型変換の実行可否を行列要素とする型変換テーブル
    と、 実行結果の型情報を指定した命令の実行に際して該命令
    の実行結果の型情報と該命令が要求するデータレジスタ
    に付随する型情報レジスタの型情報との組み合わせが型
    変換を実行する組み合わせであるかどうかを前記型変換
    テーブルを参照して判断し、これら型情報の組み合わせ
    が型変換を実行する組み合わせでない場合には例外割込
    みを発生する型情報比較器と、 この型情報比較器により前記型情報の組み合わせが型変
    換を実行する組み合わせであることが検出された場合に
    はデータの型変換を実行する型変換器と、 前記型変換テーブル,前記型情報比較器および前記型変
    換器を備え、前記内部バスを介して前記データレジスタ
    のデータと該データレジスタに付随する前記型情報レジ
    スタの型情報とを同時に受信し、外部バスを通じて外部
    との入出力を行う入出力実行器と、 前記型変換テーブル,前記型情報比較器および前記型変
    換器を備え、前記内部バスを介して前記データレジスタ
    のデータと該データレジスタに付随する前記型情報レジ
    スタの型情報とを同時に受信し、固定小数点演算を実行
    する固定小数点演算実行器と、 前記型情報比較器,前記型変換テーブルおよび前記型変
    換器を備え、前記内部バスを介して前記データレジスタ
    のデータと該データレジスタに付随する前記型情報レジ
    スタの型情報とを同時に受信し、浮動小数点演算を実行
    する浮動小数点演算実行器と、 前記入出力実行器から命令バスを介して入力した命令語
    を解析し、命令を実行命令バスを介して前記入出力実行
    器,前記固定小数点演算実行器または前記浮動小数点演
    算実行器に送出するとともに、前記型情報比較器から例
    外割込みを割込みバスを介して入力し専用の例外処理を
    起動する命令制御器とを有することを特徴とするマイク
    ロプロセッサ。
  4. 【請求項4】 複数のデータレジスタと、 前記データレジスタの各々に付随し該データレジスタに
    保持されるデータの型情報を保持する複数の型情報レジ
    スタと、 前記データレジスタのデータと前記型情報レジスタの型
    情報とを同時に転送可能な内部バスと、 データの型情報を行および列とし、型変換の実行可否を
    行列要素とする型変換テーブルと、 複数の型情報レジスタの型情報を比較し、これら型情報
    の組み合わせが型変換を実行する組み合わせであるかど
    うかを前記型変換テーブルを参照して判断し、これら型
    情報の組み合わせが型変換を実行する組み合わせでない
    場合には例外割込みを発生する型情報比較器と、 この型情報比較器により前記型情報の組み合わせが型変
    換を実行する組み合わせであることが検出された場合に
    はデータの型変換を実行する型変換器と、 前記型変換テーブル,前記型情報比較器および前記型変
    換器を備え、前記内部バスを介して前記データレジスタ
    のデータと該データレジスタに付随する前記型情報レジ
    スタの型情報とを同時に受信し、外部バスを通じて外部
    との入出力を行う入出力実行器と、 前記型変換テーブル,前記型情報比較器および前記型変
    換器を備え、前記内部バスを介して前記データレジスタ
    のデータと該データレジスタに付随する前記型情報レジ
    スタの型情報とを同時に受信し、演算を実行する演算実
    行器と、 前記入出力実行器から命令バスを介して入力した命令語
    を解析し、命令を実行命令バスを介して前記入出力実行
    器および前記演算実行器に送出するとともに、前記型情
    報比較器から例外割込みを割込みバスを介して入力し専
    用の例外処理を起動する命令制御器とを有することを特
    徴とするマイクロプロセッサ。
  5. 【請求項5】 複数のデータレジスタと、 前記データレジスタの各々に付随し該データレジスタに
    保持されるデータの型情報を保持する複数の型情報レジ
    スタと、 前記データレジスタのデータと前記型情報レジスタの型
    情報とを同時に転送可能な内部バスと、 データの型情報を行および列とし、型変換の実行可否を
    行列要素とする型変換テーブルと、 複数の型情報レジスタの型情報を比較し、これら型情報
    の組み合わせが型変換を実行する組み合わせであるかど
    うかを前記型変換テーブルを参照して判断し、これら型
    情報の組み合わせが型変換を実行する組み合わせでない
    場合には例外割込みを発生する型情報比較器と、 この型情報比較器により前記型情報の組み合わせが型変
    換を実行する組み合わせであることが検出された場合に
    はデータの型変換を実行する型変換器と、 前記型変換テーブル,前記型情報比較器および前記型変
    換器を備え、前記内部バスを介して前記データレジスタ
    のデータと該データレジスタに付随する前記型情報レジ
    スタの型情報とを同時に受信し、外部バスを通じて外部
    との入出力を行う入出力実行器と、 前記型変換テーブル,前記型情報比較器および前記型変
    換器を含む型整合器と、型識別器を含む固定小数点演算
    実行器と、型識別器を含む浮動小数点演算実行器とを備
    え、前記内部バスを介して前記データレジスタのデータ
    と該データレジスタに付随する前記型情報レジスタの型
    情報とを同時に受信し、演算を実行する演算実行器と、 前記入出力実行器から命令バスを介して入力した命令語
    を解析し、命令を実行命令バスを介して前記入出力実行
    器および前記演算実行器に送出するとともに、前記型情
    報比較器から例外割込みを割込みバスを介して入力し専
    用の例外処理を起動する命令制御器とを有することを特
    徴とするマイクロプロセッサ。
  6. 【請求項6】 複数のデータレジスタと、 前記データレジスタの各々に付随し該データレジスタに
    保持されるデータの型情報を保持する複数の型情報レジ
    スタと、 前記データレジスタのデータと前記型情報レジスタの型
    情報とを同時に転送可能な内部バスと、 データの型情報を行および列とし、型変換の実行可否を
    行列要素とする型変換テーブルと、 複数の型情報レジスタの型情報を比較し、これら型情報
    の組み合わせが型変換を実行する組み合わせであるかど
    うかを前記型変換テーブルを参照して判断し、これら型
    情報の組み合わせが型変換を実行する組み合わせでない
    場合には例外割込みを発生する型情報比較器と、 この型情報比較器により前記型情報の組み合わせが型変
    換を実行する組み合わせであることが検出された場合に
    はデータの型変換を実行する型変換器と、 前記型変換テーブル,前記型情報比較器および前記型変
    換器を備え、前記内部バスを介して前記データレジスタ
    のデータと該データレジスタに付随する前記型情報レジ
    スタの型情報とを同時に受信し、外部バスを通じて外部
    との入出力を行う入出力実行器と、 前記型変換テーブル,前記型情報比較器および前記型変
    換器を備え、前記内部バスを介して前記データレジスタ
    のデータと該データレジスタに付随する前記型情報レジ
    スタの型情報とを同時に受信し、固定小数点演算を実行
    する固定小数点演算実行器と、 前記型情報比較器,前記型変換テーブルおよび前記型変
    換器を備え、前記内部バスを介して前記データレジスタ
    のデータと該データレジスタに付随する前記型情報レジ
    スタの型情報とを同時に受信し、浮動小数点演算を実行
    する浮動小数点演算実行器と、 前記入出力実行器から命令バスを介して入力した命令語
    を解析し、命令を実行命令バスを介して前記入出力実行
    器,前記固定小数点演算実行器または前記浮動小数点演
    算実行器に送出するとともに、前記型情報比較器から例
    外割込みを割込みバスを介して入力し専用の例外処理を
    起動する命令制御器とを有することを特徴とするマイク
    ロプロセッサ。
  7. 【請求項7】 前記型変換テーブルが、マイクロプロセ
    ッサの特殊命令により書換え可能である請求項1,2,
    3,4,5,または6記載のマイクロプロセッサ。
  8. 【請求項8】 前記型情報が、データ型および有効ビッ
    ト幅でなる請求項1,2,3,4,5,または6記載の
    マイクロプロセッサ。
  9. 【請求項9】 前記請求項項1,2,3,4,5,また
    は6記載のマイクロプロセッサをコアとして組み込んだ
    ことを特徴とする大規模集積回路。
JP10280625A 1998-10-02 1998-10-02 マイクロプロセッサ Expired - Fee Related JP3123047B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP10280625A JP3123047B2 (ja) 1998-10-02 1998-10-02 マイクロプロセッサ
US09/411,376 US6460135B1 (en) 1998-10-02 1999-10-04 Data type conversion based on comparison of type information of registers and execution result

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP10280625A JP3123047B2 (ja) 1998-10-02 1998-10-02 マイクロプロセッサ

Publications (2)

Publication Number Publication Date
JP2000112757A JP2000112757A (ja) 2000-04-21
JP3123047B2 true JP3123047B2 (ja) 2001-01-09

Family

ID=17627669

Family Applications (1)

Application Number Title Priority Date Filing Date
JP10280625A Expired - Fee Related JP3123047B2 (ja) 1998-10-02 1998-10-02 マイクロプロセッサ

Country Status (2)

Country Link
US (1) US6460135B1 (ja)
JP (1) JP3123047B2 (ja)

Families Citing this family (39)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6557096B1 (en) * 1999-10-25 2003-04-29 Intel Corporation Processors with data typer and aligner selectively coupling data bits of data buses to adder and multiplier functional blocks to execute instructions with flexible data types
JP4228706B2 (ja) 2003-01-27 2009-02-25 株式会社デンソー 電子制御装置及び該電子制御装置の記憶装置
US20060179285A1 (en) * 2003-03-19 2006-08-10 Bekooij Marco J G Type conversion unit in a multiprocessor system
US20050010595A1 (en) * 2003-07-11 2005-01-13 International Business Machines Corporation System and method for automating an identification mechanism and type information configuration process for a real-time data feed to a database
US7937691B2 (en) 2003-09-30 2011-05-03 International Business Machines Corporation Method and apparatus for counting execution of specific instructions and accesses to specific data locations
US7373637B2 (en) * 2003-09-30 2008-05-13 International Business Machines Corporation Method and apparatus for counting instruction and memory location ranges
US20050071816A1 (en) * 2003-09-30 2005-03-31 International Business Machines Corporation Method and apparatus to autonomically count instruction execution for applications
US20050071611A1 (en) * 2003-09-30 2005-03-31 International Business Machines Corporation Method and apparatus for counting data accesses and instruction executions that exceed a threshold
US7395527B2 (en) 2003-09-30 2008-07-01 International Business Machines Corporation Method and apparatus for counting instruction execution and data accesses
US20050071612A1 (en) * 2003-09-30 2005-03-31 International Business Machines Corporation Method and apparatus for generating interrupts upon execution of marked instructions and upon access to marked memory locations
US20050071610A1 (en) * 2003-09-30 2005-03-31 International Business Machines Corporation Method and apparatus for debug support for individual instructions and memory locations
US20050071516A1 (en) * 2003-09-30 2005-03-31 International Business Machines Corporation Method and apparatus to autonomically profile applications
US7421681B2 (en) 2003-10-09 2008-09-02 International Business Machines Corporation Method and system for autonomic monitoring of semaphore operation in an application
US8381037B2 (en) 2003-10-09 2013-02-19 International Business Machines Corporation Method and system for autonomic execution path selection in an application
US7114036B2 (en) * 2004-01-14 2006-09-26 International Business Machines Corporation Method and apparatus for autonomically moving cache entries to dedicated storage when false cache line sharing is detected
US7496908B2 (en) * 2004-01-14 2009-02-24 International Business Machines Corporation Method and apparatus for optimizing code execution using annotated trace information having performance indicator and counter information
US7526757B2 (en) 2004-01-14 2009-04-28 International Business Machines Corporation Method and apparatus for maintaining performance monitoring structures in a page table for use in monitoring performance of a computer program
US7895382B2 (en) 2004-01-14 2011-02-22 International Business Machines Corporation Method and apparatus for qualifying collection of performance monitoring events by types of interrupt when interrupt occurs
US7197586B2 (en) * 2004-01-14 2007-03-27 International Business Machines Corporation Method and system for recording events of an interrupt using pre-interrupt handler and post-interrupt handler
US7415705B2 (en) 2004-01-14 2008-08-19 International Business Machines Corporation Autonomic method and apparatus for hardware assist for patching code
US7987453B2 (en) * 2004-03-18 2011-07-26 International Business Machines Corporation Method and apparatus for determining computer program flows autonomically using hardware assisted thread stack tracking and cataloged symbolic data
US7421684B2 (en) 2004-03-22 2008-09-02 International Business Machines Corporation Method and apparatus for autonomic test case feedback using hardware assistance for data coverage
US7386690B2 (en) * 2004-04-29 2008-06-10 International Business Machines Corporation Method and apparatus for hardware awareness of data types
US20050251706A1 (en) * 2004-04-29 2005-11-10 International Business Machines Corporation Method and apparatus for data-aware hardware operations
US7328374B2 (en) * 2004-04-29 2008-02-05 International Business Machines Corporation Method and apparatus for implementing assertions in hardware
US7895473B2 (en) * 2004-04-29 2011-02-22 International Business Machines Corporation Method and apparatus for identifying access states for variables
US7269718B2 (en) * 2004-04-29 2007-09-11 International Business Machines Corporation Method and apparatus for verifying data types to be used for instructions and casting data types if needed
JPWO2006043345A1 (ja) * 2004-10-19 2008-05-22 松下電器産業株式会社 プロセッサ
US7818509B2 (en) * 2007-10-31 2010-10-19 International Business Machines Corporation Combined response cancellation for load command
US7849294B2 (en) 2008-01-31 2010-12-07 International Business Machines Corporation Sharing data in internal and memory representations with dynamic data-driven conversion
US7877582B2 (en) * 2008-01-31 2011-01-25 International Business Machines Corporation Multi-addressable register file
US20110004644A1 (en) * 2009-07-03 2011-01-06 Via Technologies, Inc. Dynamic floating point register precision control
US9411585B2 (en) 2011-09-16 2016-08-09 International Business Machines Corporation Multi-addressable register files and format conversions associated therewith
US9727336B2 (en) 2011-09-16 2017-08-08 International Business Machines Corporation Fine-grained instruction enablement at sub-function granularity based on an indicated subrange of registers
US10001993B2 (en) 2013-08-08 2018-06-19 Linear Algebra Technologies Limited Variable-length instruction buffer management
US11768689B2 (en) 2013-08-08 2023-09-26 Movidius Limited Apparatus, systems, and methods for low power computational imaging
CN103699361A (zh) * 2013-12-03 2014-04-02 青岛海尔软件有限公司 Android平台的Linux命令执行
CN106796504B (zh) * 2014-07-30 2019-08-13 线性代数技术有限公司 用于管理可变长度指令的方法和设备
WO2021149113A1 (ja) * 2020-01-20 2021-07-29 富士通株式会社 プロセッサ、シミュレータプログラム、アセンブラプログラム、及び情報処理プログラム

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS635432A (ja) 1986-06-25 1988-01-11 Nec Corp マイクロプロセツサ
JPH01307831A (ja) 1988-06-06 1989-12-12 Nec Corp 情報処理装置
US5201056A (en) 1990-05-02 1993-04-06 Motorola, Inc. RISC microprocessor architecture with multi-bit tag extended instructions for selectively attaching tag from either instruction or input data to arithmetic operation output
JPH05324313A (ja) 1992-05-27 1993-12-07 Mitsubishi Electric Corp データ処理装置
GB9412434D0 (en) 1994-06-21 1994-08-10 Inmos Ltd Computer instruction compression
US6108772A (en) * 1996-06-28 2000-08-22 Intel Corporation Method and apparatus for supporting multiple floating point processing models
US6195746B1 (en) * 1997-01-31 2001-02-27 International Business Machines Corporation Dynamically typed register architecture
US6105129A (en) * 1998-02-18 2000-08-15 Advanced Micro Devices, Inc. Converting register data from a first format type to a second format type if a second type instruction consumes data produced by a first type instruction
US6170001B1 (en) * 1998-05-27 2001-01-02 Arm Limited System for transfering format data from format register to memory wherein format data indicating the distribution of single or double precision data type in the register bank

Also Published As

Publication number Publication date
US6460135B1 (en) 2002-10-01
JP2000112757A (ja) 2000-04-21

Similar Documents

Publication Publication Date Title
JP3123047B2 (ja) マイクロプロセッサ
JP3176093B2 (ja) マイクロプロセッサの割込み制御装置
US5812809A (en) Data processing system capable of execution of plural instructions in parallel
JPH07175666A (ja) データプロセッサおよびその割込み要求処理方法
US4771376A (en) Processor
US5461715A (en) Data processor capable of execution of plural instructions in parallel
JPH03229352A (ja) プログラム変更方法
JPH0523447B2 (ja)
CN101790719A (zh) 低开销/省电处理器同步机制及其应用
US5212779A (en) System for guarantee reexecution after interruption by conditionally used store buffer if microinstruction being executed is a memory write and last microinstruction
US5745723A (en) Data processing system capable of execution of plural instructions in parallel
KR100355630B1 (ko) 롬 정정 유닛을 구비하는 컴퓨터 시스템
US6049864A (en) Method for scheduling a flag generating instruction and a subsequent instruction by executing the flag generating instruction in a microprocessor
US6934892B2 (en) Computing system construction method under execution environment to be dependent on OS
JP2008204023A (ja) プログラマブルコントローラシステム、プログラマブルコントローラのデバッグ方法
US20050216708A1 (en) Processor for performing context switching, a method for performing context switching, a computer program for perform context switching
JPS63113634A (ja) プログラムカウンタ相対アドレス計算方式
JP2782471B2 (ja) データ転送のリトライ制御方式
JP2009181312A (ja) プロセッサ
JP3171615B2 (ja) データ転送のリトライ制御方式
JPH0279122A (ja) 浮動小数点演算機構
JP3114909B2 (ja) プログラマブルコントローラの演算エラー処理方法
JP3716635B2 (ja) 情報処理装置、及びその割込み制御方法
JP2022125690A (ja) 情報処理装置、情報処理プログラムおよびプログラム開発支援方法
JP2721609B2 (ja) プログラマブルコントローラ

Legal Events

Date Code Title Description
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20071027

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20081027

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091027

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091027

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101027

Year of fee payment: 10

LAPS Cancellation because of no payment of annual fees