JPH07262010A - 演算処理装置および演算処理方法 - Google Patents

演算処理装置および演算処理方法

Info

Publication number
JPH07262010A
JPH07262010A JP6055586A JP5558694A JPH07262010A JP H07262010 A JPH07262010 A JP H07262010A JP 6055586 A JP6055586 A JP 6055586A JP 5558694 A JP5558694 A JP 5558694A JP H07262010 A JPH07262010 A JP H07262010A
Authority
JP
Japan
Prior art keywords
data
arithmetic
result
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.)
Pending
Application number
JP6055586A
Other languages
English (en)
Inventor
Toshika Minami
利香 南
Mitsuru Watabe
満 渡部
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.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP6055586A priority Critical patent/JPH07262010A/ja
Publication of JPH07262010A publication Critical patent/JPH07262010A/ja
Pending legal-status Critical Current

Links

Landscapes

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

Abstract

(57)【要約】 【目的】 短いビット長で表現されるデータの演算処理
に関するプログラムのステップ数を削減できる演算処理
手段を備えた演算処理装置を提供する。 【構成】 演算対象のデータと演算結果のデータを一時
記憶するレジスタファイル100と、レジスタファイル
100内のレジスタから演算対象のデータを読み出し所
定の演算を実行し演算結果を出力する演算器104と、
演算命令に従い少なくともレジスタファイル100およ
び演算器104を制御する制御回路107とを含む演算
処理装置において、演算器104が、レジスタファイル
100のレジスタから演算対象のデータを読み出し、制
御回路107からの制御信号に応じてデータをn(n=
自然数)個に分割し、分割されたデータ毎に同時並行的
に演算する複数の演算器を含み、演算処理装置108
が、演算結果を格納する結果記憶手段105を備えた。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、マイクロプロセッサま
たはマイクロコンピュータ等の演算処理装置および演算
処理方法に係り、特に、ビット長の短いデータについて
比較等の演算処理をする場合に、少なくとも2個以上の
データを同時に演算処理する演算手段を備えた演算処理
装置および演算処理方法に関する。
【0002】
【従来の技術】従来のデータ演算処理方式のうち、例え
ばデータ比較処理方式は、『MC6802032-Bit Microproce
ssor User's Manual Second Edition 』(1984)の第2−1
頁および SectionB−61頁〜69頁において論じられてい
る。このデータ比較処理方式においては、2個のデータ
の大小関係を知るために、比較命令を発行する。
【0003】
【発明が解決しようとする課題】上記文献の従来技術に
おいては、演算処理の対象となるデータのビット長につ
いての配慮が十分ではなく、16ビットまたは8ビット
等の短いビット長で表現されるデータの比較処理等の演
算処理でも、32ビット長のデータの演算命令を発行す
る必要があった。そのため、プログラムステップ数が増
大し、さらにプログラム実行時に各処理のパイプライン
が乱れ、処理時間が増大するという問題があった。
【0004】本発明の目的は、短いビット長で表現され
るデータの演算処理に関するプログラムのステップ数を
削減できる演算処理手段を備えた演算処理装置および演
算処理方法を提供することである。
【0005】
【課題を解決するための手段】本発明は、上記目的を達
成するために、演算対象のデータおよび演算結果のデー
タを一時記憶する複数のレジスタからなるレジスタファ
イルと、レジスタファイルの異なるレジスタから演算対
象のデータを読み出し所定の演算を実行し演算結果を出
力する演算器と、演算命令に従い少なくともレジスタフ
ァイルおよび演算器を制御し演算命令を実行する制御回
路とを含む演算処理装置において、演算器が、レジスタ
ファイルの異なるレジスタから演算対象のデータを読み
出し、制御回路からの制御信号に応じて、データをn
(n=自然数)個に分割し、分割されたデータ毎に同時並
行的に演算する複数の演算器を含み、演算処理装置が、
演算結果を格納する結果記憶手段を備えた演算処理装置
を提案するものである。
【0006】演算処理が比較である場合は、比較対象の
データおよび比較結果のデータを一時記憶する複数のレ
ジスタからなるレジスタファイルと、レジスタファイル
の異なるレジスタから比較対象のデータを読み出し比較
演算を実行し比較結果を出力する演算器と、比較命令に
従い少なくともレジスタファイルおよび演算器を制御し
比較命令を実行する制御回路とを含む演算処理装置にお
いて、演算器は、レジスタファイルの異なるレジスタか
ら比較対象のデータを読み出し、制御回路からの制御信
号に応じて、データをn(n=自然数)個に分割し、分割
されたデータ毎に同時並行的に比較する複数の演算器を
含み、演算処理装置は、比較結果を格納する結果記憶手
段を備える。
【0007】演算処理が加減算である場合は、加減算対
象のデータおよび加減算結果のデータを一時記憶する複
数のレジスタからなるレジスタファイルと、レジスタフ
ァイルの異なるレジスタから加減算対象のデータを読み
出し加減算を実行し加減算結果を出力する演算器と、加
減算命令に従い少なくともレジスタファイルおよび演算
器を制御し加減算命令を実行する制御回路とを含む演算
処理装置において、演算器は、レジスタファイルの異な
るレジスタから加減算対象のデータを読み出し、制御回
路からの制御信号に応じて、データをn(n=自然数)個
に分割し、分割されたデータ毎に同時並行的に加減算す
る複数の演算器を含み、演算処理装置は、加減算結果お
よびそのオーバーフロー情報を格納する結果記憶手段を
備える。
【0008】演算処理が連結である場合は、連結対象の
データおよび連結結果のデータを一時記憶する複数のレ
ジスタからなるレジスタファイルと、レジスタファイル
の異なるレジスタから連結対象のデータを読み出し連結
演算を実行し連結結果を出力する演算器と、連結命令に
従い少なくともレジスタファイルおよび演算器を制御し
連結命令を実行する制御回路とを含む演算処理装置にお
いて、演算器は、レジスタファイルの異なるレジスタか
らn(n=2以上の自然数)個に分割された連結対象のデ
ータを読み出し、制御回路からの制御信号に応じて、n
(n=2以上の自然数)個に分割されたデータを同時並行
的に連結する複数の演算器を含み、演算処理装置は、連
結結果を格納する結果記憶手段を備える。
【0009】演算処理が、比較,加減算,連結の少なく
とも2つのいずれかである場合は、演算対象のデータお
よび演算結果のデータを一時記憶する複数のレジスタか
らなるレジスタファイルと、レジスタファイルの異なる
レジスタから演算対象のデータを読み出し所定の演算を
実行し演算結果を出力する演算器と、演算命令に従い少
なくともレジスタファイルおよび演算器を制御し演算命
令を実行する制御回路とを含む演算処理装置において、
演算器は、レジスタファイルの異なるレジスタから比較
対象のデータを読み出し、制御回路からの制御信号に応
じて、データをn(n=自然数)個に分割し、分割された
データ毎に同時並行的に比較する複数の演算器と、レジ
スタファイルの異なるレジスタから加減算対象のデータ
を読み出し、制御回路からの制御信号に応じて、データ
をn(n=自然数)個に分割し、分割されたデータ毎に同
時並行的に加減算する複数の演算器と、レジスタファイ
ルの異なるレジスタからn(n=自然数)個に分割された
連結対象のデータを読み出し、制御回路からの制御信号
に応じて、n(n=自然数)個に分割されたデータを同時
並行的に連結する複数の演算器との3種類の演算器のう
ち少なくとも2種類の演算器を含み、演算処理装置は、
演算の種類に応じて比較結果,加減算結果およびそのオ
ーバーフロー情報,連結結果を格納する結果記憶手段を
備えるようにする。
【0010】演算対象のデータおよび演算結果のデータ
を一時記憶する複数のレジスタからなるレジスタファイ
ルと、レジスタファイルの異なるレジスタから演算対象
のデータを読み出し所定の演算を実行し演算結果を出力
する演算器と、演算命令に従い少なくともレジスタファ
イルおよび演算器を制御し演算命令を実行する制御回路
とを含む演算処理装置においては、演算処理装置が、デ
ータの分割モードを設定するモードレジスタを備え、演
算器が、レジスタファイルの異なるレジスタから演算対
象のデータを読み出し、モードレジスタに設定された分
割モードに基づく制御回路からの制御信号に応じて、デ
ータをn(n=自然数)個に分割し、分割されたデータ毎
に同時並行的に演算する複数の演算器を含み、演算処理
装置が、演算結果を格納する結果記憶手段を備えるよう
にしてもよい。
【0011】演算処理が比較の場合は、比較対象のデー
タおよび比較結果のデータを一時記憶する複数のレジス
タからなるレジスタファイルと、レジスタファイルの異
なるレジスタから比較対象のデータを読み出し比較演算
を実行し比較結果を出力する演算器と、比較命令に従い
少なくともレジスタファイルおよび演算器を制御し比較
命令を実行する制御回路とを含む演算処理装置におい
て、演算処理装置が、データの分割モードを設定するモ
ードレジスタを備えて、演算器が、レジスタファイルの
異なるレジスタから比較対象のデータを読み出し、モー
ドレジスタに設定された分割モードに基づく制御回路か
らの制御信号に応じて、データをn(n=自然数)個に分
割し、分割されたデータ毎に同時並行的に比較する複数
の演算器を含み、演算処理装置が、比較結果を格納する
結果記憶手段を備えることもできる。
【0012】演算処理が加減算の場合は、加減算対象の
データおよび加減算結果のデータを一時記憶する複数の
レジスタからなるレジスタファイルと、レジスタファイ
ルの異なるレジスタから加減算対象のデータを読み出し
加減算を実行し加減算結果を出力する演算器と、加減算
命令に従い少なくともレジスタファイルおよび演算器を
制御し加減算命令を実行する制御回路とを含む演算処理
装置において、演算処理装置が、データの分割モードを
設定するモードレジスタを備え、演算器が、レジスタフ
ァイルの異なるレジスタから加減算対象のデータを読み
出し、モードレジスタに設定された分割モードに基づく
制御回路からの制御信号に応じて、データをn(n=自
然数)個に分割し、分割されたデータ毎に同時並行的に
加減算する複数の演算器を含み、演算処理装置が、加減
算結果およびそのオーバーフロー情報を格納する結果記
憶手段を備えることも可能である。
【0013】演算処理が連結である場合は、連結対象の
データおよび連結結果のデータを一時記憶する複数のレ
ジスタからなるレジスタファイルと、レジスタファイル
の異なるレジスタから連結対象のデータを読み出し連結
演算を実行し連結結果を出力する演算器と、連結命令に
従い少なくともレジスタファイルおよび演算器を制御し
連結命令を実行する制御回路とを含む演算処理装置にお
いて、演算処理装置が、データの分割モードを設定する
モードレジスタを備え、演算器が、レジスタファイルの
異なるレジスタからn(n=2以上の自然数)個に分割さ
れた連結対象のデータを読み出し、モードレジスタに設
定された分割モードに基づく制御回路からの制御信号に
応じて、n(n=2以上の自然数)個に分割されたデータ
を同時並行的に連結する複数の演算器を含み、演算処理
装置が、連結結果を格納する結果記憶手段を備える。
【0014】演算処理が、比較,加減算,連結の少なく
とも2つのいずれかである場合は、演算対象のデータお
よび演算結果のデータを一時記憶する複数のレジスタか
らなるレジスタファイルと、レジスタファイルの異なる
レジスタから演算対象のデータを読み出し所定の演算を
実行し演算結果を出力する演算器と、演算命令に従い少
なくともレジスタファイルおよび演算器を制御し演算命
令を実行する制御回路とを含む演算処理装置において、
演算処理装置が、データの分割モードを設定するモード
レジスタを備え、演算器が、レジスタファイルの異なる
レジスタから比較対象のデータを読み出し、モードレジ
スタに設定された分割モードに基づく制御回路からの制
御信号に応じて、データをn(n=自然数)個に分割し、
分割されたデータ毎に同時並行的に比較する複数の演算
器と、レジスタファイルの異なるレジスタから加減算対
象のデータを読み出し、モードレジスタに設定された分
割モードに基づく制御回路からの制御信号に応じて、デ
ータをn(n=自然数)個に分割し、分割されたデータ毎
に同時並行的に加減算する複数の演算器と、レジスタフ
ァイルの異なるレジスタからn(n=自然数)個に分割さ
れた連結対象のデータを読み出し、モードレジスタに設
定された分割モードに基づく制御回路からの制御信号に
応じて、n(n=自然数)個に分割されたデータを同時並
行的に連結する複数の演算器との3種類の演算器のうち
少なくとも2種類の演算器を含み、演算処理装置が、演
算の種類に応じて比較結果,加減算結果およびそのオー
バーフロー情報,連結結果を格納する結果記憶手段を備
えることが望ましい。
【0015】上記いずれの演算処理装置においても、演
算器は、制御回路からの制御信号または所定信号に応じ
て、各分割されたデータの演算結果を隣合う分割された
データに反映させるか否かを選択するマルチプレクサを
各分割されたデータの演算を実行する演算器間に備える
ことができる。
【0016】また、いずれの演算処理装置においても、
レジスタファイルが、次に実行すべきプログラムのアド
レスを格納するプログラムカウンタを含み、制御回路
が、分岐命令の発行に応じて、演算結果によりアドレス
加算値を選択し、プログラムカウンタから次に実行すべ
きプログラムのアドレスを読み出し、分岐先のアドレス
を算出する手段を含むことも可能である。
【0017】応用製品としては、上記いずれかの演算処
理装置と、表示すべき図形を記憶するフレームメモリ
と、フレームメモリに描画された図形を表示する表示装
置とからなるグラフィックス装置が考えられ、その場合
は、演算処理装置が、描画しようとしているピクセルが
描画可能な領域にあるか否かを座標の比較により判定す
る演算器を含むようにできる。
【0018】本発明は、また、上記目的を達成するため
に、複数のレジスタからなり演算対象のデータおよび演
算結果のデータを一時記憶するレジスタファイルの異な
るレジスタから演算対象のデータを読み出し、演算命令
に従い所定の演算を実行し演算結果を出力する演算処理
方法において、演算命令に基づく制御信号に応じて、読
み出したデータをn(n=自然数)個に分割し、分割され
たデータ毎に同時並行的に演算し、演算結果を格納する
演算処理方法を提案するものである。
【0019】演算処理が比較である場合は、複数のレジ
スタからなり比較対象のデータおよび比較結果のデータ
を一時記憶するレジスタファイルの異なるレジスタから
演算対象のデータを読み出し、比較命令に従い所定の比
較を実行し比較結果を出力する演算処理方法において、
比較命令に基づく制御信号に応じて、読み出したデータ
をn(n=自然数)個に分割し、分割されたデータ毎に同
時並行的に比較し、比較結果を格納する。
【0020】演算処理が加減算である場合は、複数のレ
ジスタからなり加減算対象のデータおよび加減算結果の
データを一時記憶するレジスタファイルの異なるレジス
タから加減算対象のデータを読み出し、加減算命令に従
い所定の加減算を実行し加減算結果を出力する演算処理
方法において、加減算命令に基づく制御信号に応じて、
読み出したデータをn(n=自然数)個に分割し、分割さ
れたデータ毎に同時並行的に加減算し、加減算結果およ
びそのオーバーフロー情報を格納する。
【0021】演算処理が連結である場合は、複数のレジ
スタからなり連結対象のデータおよび連結結果のデータ
を一時記憶するるレジスタファイルの異なるレジスタか
ら連結対象のデータを読み出し、連結命令に従い連結演
算を実行し連結結果を出力する演算処理方法において、
連結命令に基づく制御信号に応じて、レジスタファイル
の異なるレジスタからn(n=2以上の自然数)個に分割
された連結対象のデータを読み出し、読み出した分割デ
ータを同時並行的に連結し、連結結果を格納する。
【0022】演算処理が、比較,加減算,連結の少なく
とも2つのいずれかである場合は、複数のレジスタから
なり演算対象のデータおよび演算結果のデータを一時記
憶するレジスタファイルの異なるレジスタから演算対象
のデータを読み出し、演算命令に従い所定の演算を実行
し演算結果を出力する演算処理方法において、比較命令
に基づく制御信号に応じて、読み出したデータをn(n
=自然数)個に分割し、分割されたデータ毎に同時並行
的に比較する手順と、加減算命令に基づく制御信号に応
じて、読み出したデータをn(n=自然数)個に分割し、
分割されたデータ毎に同時並行的に加減算し、加減算結
果およびそのオーバーフロー情報を得る手順と、連結命
令に基づく制御信号に応じて、レジスタファイルの異な
るレジスタからn(n=2以上の自然数)個に分割された
連結対象のデータを読み出し、読み出した分割データを
同時並行的に連結するとの3種類の演算手順のうち少な
くとも2種類の演算手順を含み、演算の種類に応じて、
比較結果,加減算結果のオーバーフロー情報,連結結果
を格納する。
【0023】複数のレジスタからなり演算対象のデータ
および演算結果のデータを一時記憶するレジスタファイ
ルの異なるレジスタから演算対象のデータを読み出し、
演算命令に従い所定の演算を実行し演算結果を出力する
演算処理方法において、モードレジスタに設定された分
割モードに基づく制御信号に応じて、読み出したデータ
をn(n=自然数)個に分割し、分割されたデータ毎に同
時並行的に演算し、演算結果を格納することも可能であ
る。
【0024】演算処理が比較である場合、複数のレジス
タからなり比較対象のデータおよび比較結果のデータを
一時記憶するレジスタファイルの異なるレジスタから演
算対象のデータを読み出し、比較命令に従い所定の比較
を実行し比較結果を出力する演算処理方法において、モ
ードレジスタに設定された分割モードに基づく制御信号
に応じて、読み出したデータをn(n=自然数)個に分割
し、分割されたデータ毎に同時並行的に比較し、比較結
果を格納する。
【0025】演算処理が加減算である場合、複数のレジ
スタからなり加減算対象のデータおよび加減算結果のデ
ータを一時記憶するレジスタファイルの異なるレジスタ
から加減算対象のデータを読み出し、加減算命令に従い
所定の加減算を実行し加減算結果を出力する演算処理方
法において、モードレジスタに設定された分割モードに
基づく制御信号に応じて、読み出したデータをn(n=
自然数)個に分割し、分割されたデータ毎に同時並行的
に加減算し、加減算結果およびそのオーバーフロー情報
を格納する。
【0026】演算処理が連結である場合は、複数のレジ
スタからなり連結対象のデータおよび連結結果のデータ
を一時記憶するるレジスタファイルの異なるレジスタか
ら連結対象のデータを読み出し、連結命令に従い連結演
算を実行し連結結果を出力する演算処理方法において、
モードレジスタに設定された分割モードに基づく制御信
号に応じて、レジスタファイルの異なるレジスタからn
(n=2以上の自然数)個に分割された連結対象のデータ
を読み出し、読み出した分割データを同時並行的に連結
し、連結結果を格納する。
【0027】演算処理が、比較,加減算,連結の少なく
とも2つのいずれかである場合は、複数のレジスタから
なり演算対象のデータおよび演算結果のデータを一時記
憶するレジスタファイルの異なるレジスタから演算対象
のデータを読み出し、演算命令に従い所定の演算を実行
し演算結果を出力する演算処理方法において、モードレ
ジスタに設定された分割モードに基づく制御信号に応じ
て、読み出したデータをn(n=自然数)個に分割し、分
割されたデータ毎に同時並行的に比較する手順と、モー
ドレジスタに設定された分割モードに基づく制御信号に
応じて、読み出したデータをn(n=自然数)個に分割
し、分割されたデータ毎に同時並行的に加減算し、加減
算結果およびそのオーバーフロー情報を得る手順と、モ
ードレジスタに設定された分割モードに基づく制御信号
に応じて、レジスタファイルの異なるレジスタからn
(n=2以上の自然数)個に分割された連結対象のデータ
を読み出し、読み出した分割データを同時並行的に連結
するとの3種類の演算手順のうち少なくとも2種類の演
算手順を含み、演算の種類に応じて比較結果,加減算結
果のオーバーフロー情報,連結結果を格納する。
【0028】レジスタファイルが次に実行すべきプログ
ラムのアドレスを格納するプログラムカウンタを含む場
合の演算処理方法においては、分岐命令の発行に応じ
て、演算結果によりアドレス加算値を選択し、プログラ
ムカウンタから次に実行すべきプログラムのアドレスを
読み出し、分岐先のアドレスを算出する。
【0029】グラフィックス演算処理方法に応用する場
合は、上記いずれかの比較処理手順により、描画しよう
としているピクセルの座標と描画可能な領域の座標とを
比較し、描画の可否を判定する。
【0030】
【作用】本発明においては、例えば32ビットの演算処
理装置の場合、制御回路からの制御信号により、演算器
を32ビットの演算,16ビットの演算,8ビットの演
算に切換え可能となっているので、16ビットの演算で
あれば、2個のデータ1命令で実行でき、8ビットの演
算であれば、4個のデータの演算を1命令で実行でき
る。
【0031】すなわち、演算対象となる入力値が16ビ
ットの場合または8ビットの場合、比較処理や加減算処
理等の演算処理に合わせて、少なくとも2個の演算すべ
きデータを格納するレジスタと、制御信号に従って2個
の入力値を演算し演算結果情報を生成する演算器と、演
算結果情報を格納する結果記憶手段とを次のように変形
して用いる。
【0032】例えば、16ビットの入力値を比較処理す
る場合、レジスタAの上位16ビットにデータ1を格納
し、下位16ビットにデータ2を格納する。レジスタB
の上位16ビットにデータ1の比較対象となる比較デー
タ1を格納し、下位16ビットにデータ2の比較対象と
なる比較データ2を格納する。
【0033】演算器は、レジスタAとレジスタBの上位
16ビットを比較し、その大小関係を示す比較情報Uを
出力し、レジスタAとレジスタBの下位16ビットを比
較し、その大小関係を示す比較情報Lを出力する。
【0034】一方、8ビットの入力値を比較処理する場
合は、レジスタAの上位から8ビット毎に、データ1,
データ2,データ3,データ4を格納する。レジスタB
の上位から8ビット毎に、データ1の比較対象となる比
較データ1,データ2の比較対象となる比較データ2,
データ3の比較対象となる比較データ3,データ4の比
較対象となる比較データ4を格納する。
【0035】演算器は、レジスタAとレジスタBの上位
8ビットを比較し、その大小関係を示す比較情報U1を
出力し、レジスタAとレジスタBの次の8ビットを比較
し、その大小関係を示す比較情報U2を出力し、レジス
タAとレジスタBのその次の8ビットを比較し、その大
小関係を示す比較情報L1を出力し、レジスタAとレジ
スタBの最下位の8ビットを比較し、その大小関係を示
す比較情報L2を出力する。
【0036】16ビットの入力値を加算処理する場合
は、レジスタAの上位16ビットにデータ1を格納し、
下位16ビットにデータ2を格納する。レジスタBの上
位16ビットにデータ1と加算する加算データ1を格納
し、下位16ビットにデータ2と加算する加算データ2
を格納する。
【0037】演算器は、レジスタAの上位16ビットに
レジスタBの上位16ビットを加算し、その結果RUを
レジスタAの上位16ビットに出力し、レジスタAの下
位16ビットにレジスタBの下位16ビットを加算し、
その結果RLをレジスタAの下位16ビットに出力す
る。
【0038】8ビットの入力値を加算処理する場合は、
レジスタAの上位から8ビット毎に、データ1,データ
2,データ3,データ4を格納する。レジスタBの上位
から8ビット毎に、データ1と加算する加算データ1、
データ2と加算する加算データ2、データ3と加算する
加算データ3、データ4と加算する加算データ4を格納
する。
【0039】演算器は、レジスタAの上位8ビットにレ
ジスタBの上位8ビットを加算し、その結果RU1をレ
ジスタAの上位8ビットに出力し、レジスタAの次の8
ビットにレジスタBの次の8ビットを加算し、その結果
RU2をレジスタAの次の8ビットに出力し、レジスタ
Aのその次の8ビットにレジスタBのその次の8ビット
を加算し、その結果RL1をレジスタAのその次の8ビ
ットに出力し、レジスタAの最下位の8ビットにレジス
タBの最下位の8ビットを加算し、その結果RL2をレ
ジスタAの最下位の8ビットに出力する。
【0040】また、16ビットの入力値を減算処理する
場合は、レジスタAの上位16ビットにデータ1を格納
し、下位16ビットにデータ2を格納する。レジスタB
の上位16ビットにデータ1から減算する減算データ1
を格納し、下位16ビットにデータ2から減算する減算
データ2を格納する。
【0041】演算器は、レジスタAの上位16ビットか
らレジスタBの上位16ビットを減算し、その結果RU
をレジスタAの上位16ビットに出力し、レジスタAの
下位16ビットからレジスタBの下位16ビットを減算
し、その結果RLをレジスタAの下位16ビットに出力
する。
【0042】これに対して、8ビットの入力値を減算処
理する場合は、レジスタAの上位から8ビット毎に、デ
ータ1,データ2,データ3,データ4を格納する。レ
ジスタBの上位から8ビット毎に、データ1から減算す
る減算データ1,データ2から減算する減算データ2,
データ3から減算する減算データ3,データ4から減算
する減算データ4を格納する。
【0043】演算器は、レジスタAの上位8ビットから
レジスタBの上位8ビットを減算し、その結果RU1を
レジスタAの上位8ビットに出力し、レジスタAの次の
8ビットからレジスタBの次の8ビットを減算し、その
結果RU2をレジスタAの次の8ビットに出力し、レジ
スタAのその次の8ビットからレジスタBのその次の8
ビットを減算し、その結果RL1をレジスタAのその次
の8ビットに出力し、レジスタAの最下位の8ビットか
らレジスタBの最下位の8ビットを減算し、その結果R
L2をレジスタAの最下位の8ビットに出力する。
【0044】これらの手段を採用した結果、短いビット
長で表現されるデータの演算処理に関するプログラムの
ステップ数を削減し、全体としての処理速度を高めるこ
とができる。
【0045】
【実施例】次に、図面を参照して、本発明による演算処
理装置およびその演算処理方法の実施例を説明する。
【0046】《第1実施例》図1は、本発明による比較
処理手段を16ビット固定長のRISCプロセッサに適
用した演算処理装置の一実施例の構成を示すブロック図
である。本実施例のマイクロコンピュータ112は、中
央演算処理装置(CPU)108と、入出力装置(I/O)
111と、不揮発性RAM110と、これらを結ぶ外部
バス109と、ここでは図示していないが情報処理プロ
グラムの命令群が格納されるROM等とからなる。
【0047】本発明独自の構成を有するCPU108に
おいて、情報は、バスa101を介して、レジスタファ
イル100に書き込まれる。書き込まれた情報は、バス
b102とバスc103とを介して読み出される。演算
器104は、バスb102とバスc103とを介して、
レジスタファイル100に接続されている。演算結果情
報116は、演算器104における比較結果U1,U
2,L1,L2を含んでいる。演算器104は、入力さ
れたデータ117とデータ118の上位8ビットを比較
し、データ117の方が大きかったときは、比較結果U
1を例えば“1”に設定し、データ118の方が大きか
ったときは、比較結果U1を例えば“0”に設定する。
演算器104は、入力されたデータ117と118の次
の8ビットを比較し、データ117の方が大きかったと
きは、比較結果U2を例えば“1”に設定し、データ1
18の方が大きかったときは、比較結果U2を例えば
“0”に設定する。演算器104は、入力されたデータ
117と118のその次の8ビットを比較し、データ1
17の方が大きかったときは、比較結果L1を例えば
“1”に設定し、データ118の方が大きかったとき
は、比較結果L1を例えば“0”に設定する。演算器1
04は、入力されたデータ117と118の最下位の8
ビットを比較し、データ117の方が大きかったとき
は、比較結果L2を例えば“1”に設定し、データ11
8の方が大きかったときは、比較結果L2を例えば
“0”に設定する。
【0048】また、演算器104は、入力されたデータ
117と118の上位16ビットを比較し、データ11
7の方が大きかったときは比較結果U1およびU2を例
えば“1”に設定し、データ118の方が大きかったと
きは比較結果U1およびU2を例えば“0”に設定す
る。演算器104は、入力されたデータ117と118
の下位の16ビットを比較し、データ117の方が大き
かったときは、比較結果L1およびL2を例えば“1”
に設定し、データ118の方が大きかったときは、比較
結果L1およびL2を例えば“0”に設定する。
【0049】演算結果情報U1,U2,L1,L2は、
U1フラグ,U2フラグ,L1フラグ,L2フラグ10
5に設定され、制御回路107に入力される。リードラ
イト回路106は、バスa101,バスb102,バス
c103,および外部バス109に接続されている。
【0050】制御回路107は、ここでは図示していな
いROMから命令を適宜読み出し、その命令に従い、レ
ジスタファイル100のデータの読み出しおよび書き込
み動作,演算器104の動作等のCPU108の構成要
素の動作を制御し、所定の処理プログラムを実行する。
【0051】図2は、レジスタファイル100から演算
器104に出力されるデータ117およびデータ118
のビットフォーマットの一例を示す図である。ここで
は、データ117のLSBからMSBをY0〜Y31と
して、データ118のLSBからMSBをX0〜X31
とする。
【0052】図3は、演算器104の構成の一例を示す
ブロック図である。演算器104は、比較器104a,
104c,104e,104gとマルチプレクサ104
b,104d,104fとを備える。比較器104a
は、データ118のX0〜X7の反転信号とデータ11
7のY0〜Y7とを入力し、データ118のX0〜X7
とデータ117のY0〜Y7とを比較し、結果信号L2
を出力する。比較器104cは、マルチプレクサからの
選択信号S1とデータ118のX8〜X15の反転信号
とデータ117のY8〜Y15とを入力し、データ11
8のX8〜X15とデータ117のY8〜Y15とを比
較し、結果信号L1を出力する。比較器104eは、マ
ルチプレクサからの選択信号S2とデータ118のX1
6〜X23の反転信号とデータ117のY16〜Y23
とを入力し、データ118のX16〜X23とデータ1
17のY16〜Y23とを比較し、結果信号U2を出力
する。比較器104gは、マルチプレクサからの選択信
号S3とデータ118のX24〜X31の反転信号とデ
ータ117のY24〜Y31とを入力し、データ118
のX24〜X31とデータ117のY24〜Y31とを
比較し、結果信号U1を出力する。マルチプレクサ10
4bは、“0”と比較器104aからの結果信号L2と
を入力し、制御回路107からの制御信号によりそのい
ずれかを選択し、選択信号S1を出力する。マルチプレ
クサ104dは、“0”と比較器104cからの結果信
号L1とを入力し、制御回路107からの制御信号によ
りそのいずれかを選択し、選択信号S2を出力する。マ
ルチプレクサ104fは、“0”と比較器104eから
の結果信号U2とを入力し、制御回路からの制御信号に
よりそのいずれかを選択し、選択信号S3を出力する。
【0053】図4は、比較器104aの具体的な構成の
一例を示す論理回路図である。比較器104aは、X0
の反転信号とY0とを入力とするアンドゲート104a
(1),X1の反転信号とY1とを入力とするオアゲート
104a(2),X1の反転信号とY1とを入力とするア
ンドゲート104a(3),アンドゲート104a(1)の
出力とオアゲート104a(2)の出力とを入力とするア
ンドゲート104a(4),アンドゲート104a(3)の
出力とアンドゲート104a(4)の出力とを入力とする
オアゲート104a(5)を1セット備え、X2の反転信
号とY2とを入力とするオアゲート104a(6),X2
の反転信号とY2とを入力とするアンドゲート104a
(7),アンドゲート104a(6)の出力とオアゲート1
04a(5)の出力とを入力とするアンドゲート104a
(8),アンドゲート104a(7)の出力とアンドゲート
104a(8)の出力とを入力とするオアゲート104a
(9)を1セット備える。同様に、X3〜X7の反転信号
とY3〜Y7とを入力とする合計7セットを備える。
【0054】図5は、ゲート104a(1)〜104a
(5)の真理値表である。このゲートにおいては、X0と
Y0,X1とY1を比較し、Yが大きかった(Y>X)と
きは、104a(5)の出力が“1”になる。そして、1
04a(5)の情報すなわちビット0とビット1との大小
関係は、ビット2の比較処理における入力(アンドゲー
ト104a(8)の入力)となる。上位ビットの比較処理
が同様に実行され、最終的には、X0〜X7<Y0〜Y
7のときに、結果信号L2が、“1”となる。
【0055】図6は、比較器104cの具体的な構成の
一例を示す論理回路図である。比較器104cは、X8
の反転信号とY8とを入力とするオアゲート104c
(1),X8の反転信号とY8とを入力とするアンドゲー
ト104c(2),アンドゲート104c(1)の出力とマ
ルチプレクサ104bからの選択信号S1とを入力とす
るアンドゲート104c(3),アンドゲート104c
(2)の出力とアンドゲート104c(3)の出力とを入力
とするオアゲート104c(4)を1セット備える。同様
に、X9〜X15の反転信号とY9〜Y15を入力とす
る合計8セットを備える。
【0056】図7は、104c(1)〜104c(4)の真
理値表である。X8とY8とを比較し、Y8>X8また
はY8=X8でかつS1が“1”のときに、104c
(4)の出力が“1”になる。そして、104c(4)の情
報すなわちビット8の大小関係は、ビット9の比較処理
における入力となる。同様にして、上位ビットの比較処
理が実行され、最終的には、X8〜X15<Y8〜Y1
5またはX8〜X15=Y8〜Y15でかつS1が
“1”のときに、結果信号L1が“1”となる。比較器
104dと比較器104fの具体的な論理構成は、図6
と同様である。
【0057】図8は、マルチプレクサ104bの具体的
な構成の一例を示す論理回路図である。本例は、CMO
Sインバータトランスミッションゲートを用いて構成し
たマルチプレクサである。このマルチプレクサは、結果
信号L2を入力とするトランスミッションゲート104
b(3)と、“0”を入力とするトランスミッションゲー
ト104b(4)とを備える。トランスミッションゲート
104b(3)のセレクタは、制御回路107からの制御
信号であり、トランスミッションゲート104b(4)の
セレクタは、制御回路107からの制御信号の反転信号
である。制御信号が“0”のとき、トランスミッション
ゲ−ト104b(3)がON,トランスミッションゲート
104b(4)がOFFとなり、結果信号L2がマルチプ
レクサの出力となる。制御信号が“1”のとき、トラン
スミッションゲ−ト104b(4)がON,トランスミ
ッションゲート104b(3)がOFFとなり,マルチ
プレクサの出力は、“0”となる。マルチプレクサ10
4b,104d,104fも同様に構成されている。
【0058】次に、比較可能なデータ長を8ビット,1
6ビット,32ビットの3つの場合に分け、比較処理を
例にして、本発明による演算処理装置および演算処理方
法の特徴を説明する。
【0059】(1)8ビットデータの比較処理 図9は、8ビットデータ比較(PCMP8)命令の処理手
順を示すフローチャートである。8ビットデータの比較
処理は、PCMP8命令により行なう。 ステップ900:制御回路107は、PCMP8命令が
発行されると、このPCMP8命令を取り込む。 ステップ901:制御回路107は、PCMP8命令を
デコードする。
【0060】ステップ902:制御回路107は、制御
信号としてマルチプレクサ104bに“1”をセットす
る。 ステップ903:制御回路107は、制御信号としてマ
ルチプレクサ104dに“1”をセットする。 ステップ904:制御回路107は、制御信号としてマ
ルチプレクサ104fに“1”をセットする。 ステップ905:演算器104は、レジスタファイル1
00に格納されている値1と値2とを読み出す。 ステップ906:演算器104は、値1と値2のビット
0〜ビット7を比較する。 ステップ907:演算器104は、例えば値2の方が大
きかった場合に、L2フラグを“1”にセットする。 ステップ908:演算器104は、値1と値2のビット
8〜ビット15を比較する。 ステップ909:演算器104は、例えば値2の方が大
きかった場合に、L1フラグを“1”にセットする。 ステップ910:演算器104は、値1と値2のビット
16〜ビット23を比較する。 ステップ911:演算器104は、例えば値2の方が大
きかった場合に、U2フラグを“1”にセットする。 ステップ912:演算器104は、値1と値2のビット
24〜ビット31を比較する。 ステップ913:演算器104は、例えば値2の方が大
きかった場合に、U1フラグを“1”にセットする。 なお、ステップ905〜913の処理は、同時並行的に
実行される。
【0061】図10は、比較命令等の処理サイクルの相
互関係すなわちパイプライン処理動作を示すタイムチャ
ートである。上記PCMP8処理のステップ900は、
instruction fetch IF段で実行され、ステップ901
は、instruction decode ID段で実行され、ステップ
902〜913は、execute EX段で実行される。
【0062】次に、上記PCMP8命令の動作をC言語
で記述する。C言語で記述する便宜上、レジスタファイ
ル100を配列R[16],値1のレジスタの配列番号
をm,値2のレジスタの配列番号をn,U1フラグをU
1,U2フラグをU2,L1フラグをL1,L2フラグ
をL2と定義する。
【0063】 C言語で記述したPCMP8命令の動作は、以上の通り
である。
【0064】(2)16ビットデータの比較処理 図11は、16ビットデータ比較(PCMP16)命令の
処理手順を示すフローチャートである。16ビットデー
タの比較処理は、PCMP16命令により行なう。 ステップ1100:制御回路107は、PCMP16命
令が発行されると、この命令を取り込む。 ステップ1101:制御回路107は、PCMP16命
令をデコードする。 ステップ1102:制御回路107は、制御信号として
マルチプレクサ104bに“0”をセットする。 ステップ1103:制御回路107は、制御信号として
マルチプレクサ104fに“0”をセットする。 ステップ1104:制御回路107は、制御信号として
マルチプレクサ104dに“1”をセットする。 ステップ1105:演算器104は、レジスタファイル
100に格納されている値1と値2とを読み出す。 ステップ1106:演算器104は、値1と値2のビッ
ト0〜ビット15を比較する。 ステップ1107:演算器104は、例えば値2の方が
大きかった場合にL1フラグを“1”にセットする。 ステップ1108:演算器104は、値1と値2のビッ
ト16〜ビット31を比較する。 ステップ1109:演算器104は、例えば値2の方が
大きかった場合にU1フラグを“1”にセットする。 なお、ステップ1105〜1109の処理は、同時並行
的に実行される。
【0065】図11のステップ1102から1109ま
での処理は、図10のEX段で実行される。
【0066】次に、上記PCMP16命令の動作をC言
語で記述する。C言語で記述する便宜上、レジスタファ
イル100を配列R[16],値1のレジスタの配列番
号をm,値2のレジスタの配列番号をn,U1フラグを
U1,L1フラグをL1と定義する。
【0067】 C言語で記述したPCMP16命令の動作は、以上の通
りである。
【0068】(3)32ビットデータの比較処理 図12は、32ビットデータ比較(PCMP32)命令の
処理手順を示すフローチャートである。32ビットデー
タの比較処理は、PCMP32命令により行なう。
【0069】ステップ1200:制御回路107は、P
CMP32命令が発行されると、このPCMP32命令
を取り込む。
【0070】ステップ1201:制御回路107は、P
CMP32命令をデコードする。
【0071】ステップ1202:制御回路107は、制
御信号としてマルチプレクサ104bに“0”をセット
する。
【0072】ステップ1203:制御回路107は、制
御信号としてマルチプレクサ104dに“0”をセット
する。
【0073】ステップ1204:制御回路107は、制
御信号としてマルチプレクサ104fに“0”をセット
する。
【0074】ステップ1205:演算器104は、レジ
スタファイル100に格納されている値1と値2とを読
み出す。
【0075】ステップ1206:演算器104は、値1
と値2のビット0〜ビット31を比較する。
【0076】ステップ1207:演算器104は、例え
ば値2の方が大きかった場合に、U1フラグを“1”に
セットする。
【0077】図12のステップ1102から1109ま
での処理は、図10のEX段で実行される。
【0078】次に、上記PCMP32命令の動作をC言
語で記述する。C言語で記述する便宜上、レジスタファ
イル100を配列R[16],値1のレジスタの配列番
号をm,値2のレジスタの配列番号をn,U1フラグを
U1と定義する。
【0079】 C言語で記述したPCMP32命令の動作は、以上の通
りである。
【0080】第1実施例においては、上述のように、8
ビット,16ビット,32ビットのデータ長の比較処理
を実行する3種類の比較命令を用い、マイクロコンピュ
ータ112内には、データの大小関係を示すフラグ10
5を設ける。演算器104内には、4個の比較器104
a,104c,104e,104gと3個のマルチプレ
クサ104b,104d,104fとを設ける。演算器
104内のマルチプレクサ104b,104d,104
fは、制御回路107からの制御信号に基づいて結果信
号と“0”とのいずれかを選択し、比較器104a,1
04c,104e,104gのデータ伝達経路を変更す
る。
【0081】図13は、上記第1実施例におけるPCM
P8命令,PCMP16命令,PCMP32命令のアド
レス空間の割付を説明する図である。ここでは、PCM
P8命令を例にとって、命令のアドレス空間の割付けを
説明する。16ビット固定長のRISCプロセッサにお
いては、2の16乗個の空間に命令を割り付けなければ
ならない。PCMP8命令では、命令弁別のための「命
令の指定領域」1300と、「値1の指定領域」130
1と、「値2の指定領域」1302とが必要になる。値
1と値2とを格納するレジスタファイルの要素が16個
の場合、「値1の指定領域」として4ビット、「値2の
指定領域」として4ビットが必要になる。したがって、
残りの8ビットすなわち2の8乗個の空間にマイクロコ
ンピュータとして機能するために必要な命令のすべてを
割り付けなければならない。PCMP8命令では256
個の空間が必要になる。
【0082】PCMP16命令とPCMP32命令も、
同様の空間を必要とする。そのため、2の16乗個の空
間のうち比較処理命令のみで768個を占めることにな
る。RISCプロセッサにおける命令のアドレス空間の
割付は非常にタイトであり、RISCプロセッサでは、
命令セットを縮小することが必須となる。
【0083】図14は、本発明の比較命令PCMP8と
従来の比較命令の処理サイクルの相互関係を対比して示
すタイムチャートである。従来は、8ビット長データを
4個比較する場合、比較命令を4回発行することにな
り、図14で明らかなように、IF段,ID段,EX段
の処理動作が4セット繰り返されることになる。
【0084】これに対して、本発明の第1実施例によれ
ば、1回の命令発行で8ビット長のデータの場合は、4
個のデータの比較処理を同時並行的に実行できる。ま
た、既に図10に示したように、16ビット長のデータ
の場合も、2個のデータの比較処理を同時並行的に実行
できる。その結果、第1実施例においては、比較処理に
伴うプログラムステップ数の増加を抑制し、処理速度を
上げることができるとともに、パイプライン処理を乱す
ことがない。
【0085】《第2実施例》図15は、本発明による加
減算処理手段を16ビット固定長のRISCプロセッサ
に適用した演算処理装置の一実施例の構成を示すブロッ
ク図である。図において、第1実施例と同一機能を有す
る構成要素のブロックには同一符号を付して、その説明
を省略する。
【0086】第2実施例が第1実施例と異なるのは、演
算器1400に加減算機能を設けたことと、OVフラグ
1401を設けたことである。演算器1400は、バス
a101とバスb102とバスc103とを介して、レ
ジスタファイル100に接続されている。
【0087】演算結果情報1402は、演算器1400
における加減算によるオーバフロー情報OV1,OV
2,OV3,OV4を含んでいる。オーバフロー情報O
V1は、演算器1400に入力されたデータ117と1
18の上位8ビットを加算または減算し、その結果オー
バフローが発生したときに、例えば“1”に設定され
る。オーバフロー情報OV2は、演算器1400に入力
されたデータ117と118の次の8ビットを加算また
は減算し、その結果オーバフローが発生したときに、例
えば“1”に設定される。オーバフロー情報OV3は、
演算器1400に入力されたデータ117と118のそ
の次の8ビットを加算または減算し、その結果オーバフ
ローが発生したときに、例えば“1”に設定される。オ
ーバフロー情報OV4は、演算器1400に入力された
データ117と118の最下位の8ビットを加算または
減算し、その結果オーバフローが発生したときに、例え
ば“1”に設定される。
【0088】オーバフロー情報OV1,OV2,OV
3,OV4は、OV1フラグ,OV2フラグ,OV3フ
ラグ,OV4フラグとして、制御回路107にも入力さ
れる。
【0089】図16は、演算器1400の構成の一例を
示すブロック図である。演算器1400は、全加算器1
400a,1400c,1400e,1400gとマル
チプレクサ1400b,1400d,1400fを備え
る。全加算器1400aは、データ118のX0〜X7
とデータ117のY0〜Y7と制御回路からの加減算制
御信号とを入力し、データ118のX0〜X7とデータ
117のY0〜Y7とを演算し、オーバフロー信号OV
4を出力する。全加算器1400cは、マルチプレクサ
からの選択信号S1とデータ118のX8〜X15とデ
ータ117のY8〜Y15と制御回路からの加減算制御
信号とを入力し、データ118のX8〜X15とデータ
117のY8〜Y15とを演算し、オーバフロー信号O
V3を出力する。全加算器1400eは、マルチプレク
サからの選択信号S2とデータ118のX16〜X23
とデータ117のY16〜Y23と制御回路からの加減
算制御信号とを入力し、データ118のX16〜X23
とデータ117のY16〜Y23とを演算し、オーバフ
ロー信号OV2を出力する。全加算器1400gは、マ
ルチプレクサからの選択信号S3とデータ118のX2
4〜X31とデータ117のY24〜Y31と制御回路
からの加減算制御信号とを入力し、データ118のX2
4〜X31とデータ117のY24〜Y31とを演算
し、オーバフロー信号OV1を出力する。マルチプレク
サ1400bは、全加算器1400aからのキャリー信
号C4と“0”とを入力し、制御回路からの制御信号に
よりそのいずれかを選択し、選択信号S1を出力する。
マルチプレクサ1400dは、全加算器1400cから
のキャリー信号C3と“0”とを入力し、制御回路から
の制御信号によりそのいずれかを選択し、選択信号S2
を出力する。マルチプレクサ1400fは、全加算器1
400eからのキャリー信号C2と“0”とを入力し、
制御回路からの制御信号によりそのいずれかを選択し、
選択信号S3を出力する。
【0090】図17は、マルチプレクサ1400bの具
体的な構成の一例を示す論理回路図である。このマルチ
プレクサ1400bは、CMOSインバータトランスミ
ッションゲートを用いて構成されている。マルチプレク
サ1400bは、キャリー信号C4を入力とするトラン
スミッションゲート1400b(3)と、“0”を入力と
するトランスミッションゲート1400b(4)とを含ん
でいる。トランスミッションゲート1400b(3)のセ
レクタは、制御回路107からの制御信号であり、トラ
ンスミッションゲート1400b(4)のセレクタは、制
御回路107からの制御信号の反転信号である。制御信
号が“0”のとき,トランスミッションゲ−ト1400
b(3)がON,トランスミッションゲート1400b
(4)がOFFとなり,マルチプレクサの出力はキャリー
信号C4となる。制御信号が“1”のとき,トランスミ
ッションゲ−ト1400b(4)がON,トランスミッシ
ョンゲート1400b(3)がOFFとなり,マルチプレ
クサの出力は“0”となる。マルチプレクサ1400
d,1400fも、同様の構成となる。
【0091】次に、加算可能なデータ長を8ビット,1
6ビット,32ビットの場合の3つの分け、加算処理を
例にして本発明による演算処理装置および演算処理方法
の特徴を説明する。
【0092】(1)8ビットデータの加算処理 図18は、8ビットデータの加算(ADD8)命令の処理
手順を示すフローチャートである。8ビットデータの加
算処理は、ADD8命令により行なう。 ステップ1800:制御回路107は、ADD8命令が
発行されると、このADD8命令を取り込む。 ステップ1801:制御回路107は、ADD8命令を
デコードする。 ステップ1802:制御回路107は、制御信号として
マルチプレクサ1400bに“1”をセットする。 ステップ1803:制御回路107は、制御信号として
マルチプレクサ1400dに“1”をセットする。 ステップ1804:制御回路107は、制御信号として
マルチプレクサ1400fに“1”をセットする。 ステップ1805:制御回路107は、加減算制御信号
を“1”にセットする。 ステップ1806:演算器1400は、レジスタファイ
ルに格納されている加数と被加数とを読み出す。 ステップ1807:演算器1400は、被加数のビット
0〜ビット7と加数のビット0〜ビット7とを加算す
る。 ステップ1808:演算結果がオーバフローした場合
は、OV4フラグ1401が“1”にセットされ、オー
バフローしなかった場合は、“0”にクリアされる。 ステップ1809:演算器1400は、被加数のビット
8〜ビット15と加数のビット8〜ビット15とを加算
する。 ステップ1810:演算結果がオーバフローした場合
は、OV3フラグ1401が“1”にセットされ、オー
バフローしなかった場合は、“0”にクリアされる。 ステップ1811:演算器1400は、被加数のビット
16〜ビット23と加数のビット16〜ビット23とを
加算する。 ステップ1812:演算結果がオーバフローした場合
は、OV2フラグ1401が“1”にセットされ、オー
バフローしなかった場合は、“0”にクリアされる。 ステップ1813:演算器1400は、被加数のビット
24〜ビット31と加数のビット24〜ビット31とを
加算する。 ステップ1814:演算結果がオーバフローした場合
は、OV1フラグ1401が“1”にセットされ、オー
バフローしなかった場合は、“0”にクリアされる。
【0093】図19は、加算/減算命令の処理サイクル
の相互関係すなわちパイプライン処理動作を示すタイム
チャートである。上記ステップ1802から1814ま
での処理は、図19のEX段で実行される。
【0094】次に、上記のADD8命令の動作をC言語
で記述する。C言語で記述する便宜上、レジスタファイ
ル100を配列R[16],被加数のレジスタの配列番
号をm,加数のレジスタの配列番号をn,OV1フラグ
をOV1,OV2フラグをOV2,OV3フラグをOV
3,OV4フラグをOV4と定義する。
【0095】 C言語で記述したADD8命令処理の動作は、以上の通
りである。
【0096】8ビットデータ減算(SUB8)命令は、A
DD8命令と同様であり、加減算制御信号が“0”にク
リアされる部分だけが異なる。ADD8命令と同様に、
SUB8命令をC言語で記述する。
【0097】 C言語で記述したSUB8命令の処理は、以上の通りで
ある。
【0098】(2)16ビットデータの加算処理 図20は、16ビットデータの加算(ADD16)命令の
処理手順を示すフローチャートである。16ビットデー
タの加算処理は、ADD16命令によって行なう。 ステップ2000:制御回路107は、ADD16命令
が発行されると、このADD16命令を取り込む。 ステップ2001:制御回路107は、ADD16命令
をデコードする。 ステップ2002:制御回路107は、制御信号として
マルチプレクサ1400bに“0”をセットする。 ステップ2003:制御回路107は、制御信号として
マルチプレクサ1400dに“1”をセットする。 ステップ2004:制御回路107は、制御信号として
マルチプレクサ1400fに“0”をセットする。 ステップ2005:制御回路107は、加減算制御信号
を“1”にセットする。 ステップ2006:演算器1400は、レジスタファイ
ルに格納されている加数と被加数とを読み出す。 ステップ2007:演算器1400は、被加数のビット
0〜ビット15と加数のビット0〜ビット15とを加算
する。 ステップ2008:演算結果がオーバフローした場合
は、OV3フラグ1401が“1”にセットされ、オー
バフローしなかった場合は、“0”にクリアされる。 ステップ2009:演算器1400は、被加数のビット
16〜ビット31と加数のビット16〜ビット31とを
加算する。 ステップ2010:演算結果がオーバフローした場合
は、OV1フラグ1401が“1”にセットされ、オー
バフローしなかった場合は、“0”にクリアされる。
【0099】上記ADD16命令の動作をC言語で記述
する。C言語で記述する便宜上、レジスタファイル10
0を配列R[16],被加数のレジスタの配列番号を
m,加数のレジスタの配列番号をn,OV1フラグをO
V1,OV3フラグをOV3と定義する。
【0100】 C言語で記述したADD16命令の処理は、以上の通り
である。
【0101】16ビットデータ減算(SUB16)命令
は、ADD16命令と同様であり、加減算制御信号が
“0”にクリアされる部分だけが異なる。ADD16命
令と同様に、SUB16命令をC言語で記述する。
【0102】 C言語で記述したSUB16命令の処理は、以上の通り
である。
【0103】(3)32ビットデータの加算処理 図21は、32ビットデータ加算(ADD32)命令の処
理手順を示すフローチャートである。32ビットデータ
の加算処理は、ADD32命令により行なう。 ステップ2100:制御回路107は、ADD32命令
が発行されると、このADD32命令を取り込む。 ステップ2101:制御回路107は、ADD32命令
をデコードする。 ステップ2102:制御回路107は、制御信号として
マルチプレクサ1400bに“0”をセットする。 ステップ2103:制御回路107は、制御信号として
マルチプレクサ1400dに“0”をセットする。 ステップ2104:制御回路107は、制御信号として
マルチプレクサ1400fに“0”をセットする。 ステップ2105:制御回路107は、加減算制御信号
を“1”にセットする。 ステップ2106:演算器1400は、レジスタファイ
ル100に格納されている加数と被加数を読み出す。 ステップ2107:演算器1400は、被加数のビット
0〜ビット31に加数のビット0〜ビット31を加算す
る。 ステップ2108:演算結果がオーバフローした場合に
は、OV1フラグ1401が“1”にセットされ、オー
バフローしなかった場合には“0”にクリアされる。
【0104】上記ステップ2102から2108までの
処理は、図19のEX段で実行される。
【0105】次に、上記のADD32命令の動作をC言
語で記述する。C言語で記述する便宜上、レジスタファ
イル100を配列R[16],被加数のレジスタの配列番
号をm,加数のレジスタの配列番号をn,OV1フラグ
をOV1と定義する。
【0106】 C言語で記述されたADD32命令の動作は、以上の通
りである。
【0107】32ビットデータ減算(SUB32)命令
は、ADD32命令と同様であり、加減算制御信号が
“0”にクリアされる部分だけが異なる。ADD32命
令と同様に、SUB32命令をC言語で記述する。
【0108】 C言語で記述したSUB32命令の動作は、以上の通り
である。
【0109】上述のように、図15の第2実施例におい
ては、8ビット,16ビット,32ビットのデータ長の
加算/減算処理を実行する6種類の演算命令を設ける。
マイクロコンピュータ112内に、オーバフロー情報を
示すフラグを設ける。演算器1400内に、4個の全加
算器と3個のマルチプレクサとを設ける。演算器140
0内のマルチプレクサは、制御回路107からの制御信
号に基づいて、キャリー信号と“0”のいずれかを選択
し、全加算器のデータ伝達経路を変更する。
【0110】したがって、本実施例によれば、1回の命
令発行で8ビット長のデータの場合は、4個のデータの
加算/減算処理を同時並行的に実行でき、16ビット長
のデータの場合は、2個のデータの加算/減算処理を同
時並行的に実行できる。その結果、加算/減算処理に伴
うプログラムステップ数の増加を抑制し、処理速度を上
げることができるとともに、パイプライン処理を乱すこ
とがない。
【0111】図22は、上述の第2実施例におけるAD
D8命令,ADD16命令,ADD32命令,SUB8
命令,SUB16命令,SUB32命令のアドレス空間
の割付を説明する図である。ここでは、ADD8命令を
例にとり、アドレス空間の割付けを説明する。16ビッ
ト固定長のRISCプロセッサにおいては、2の16乗
個の空間に命令を割り付けなければならない。ADD8
命令では、命令弁別のための「命令の指定領域」220
0と、「被加数の指定領域」2201と、「加数の指定
領域」2202とが必要になる。被加数と加数とを格納
するレジスタファイルの要素が16個の場合、「被加数
の指定領域」として4ビット、「加数の指定領域」とし
て4ビットが必要になる。したがって、残りの8ビット
すなわち2の8乗個の空間にマイクロコンピュータとし
て機能するために必要な命令をすべて割り付けなければ
ならない。ADD8命令では256個の空間が必要にな
る。ADD16命令,ADD32命令,SUB8命令,
SUB16命令,SUB32命令も同様の空間を必要と
する。そのため、2の16乗個の空間のうち加算/減算
処理の命令のみで1536個を占めることになる。RI
SCプロセッサにおける命令のアドレス空間の割付は非
常にタイトであり、RISCプロセッサでは、命令セッ
トを縮小することが必須となる。
【0112】《第3実施例》図23は、比較処理におけ
る命令セットの増加を抑えた本発明による演算処理装置
の一実施例の構成を示すブロック図である。図におい
て、第1実施例と同一機能を有する構成要素のブロック
には同一符号を付し、その説明を省略する。
【0113】第3実施例が第1実施例と異なるのは、モ
ードレジスタ2300を設けたことである。すなわち、
演算器104内のマルチプレクサ1400は、モードレ
ジスタ2300により、結果信号と“0”とのいずれか
を選択する。モードレジスタ2300は、バスa101
とバスb102を介して、読み書き可能である。モード
レジスタ2300の出力は、制御回路107に接続され
ている。
【0114】図24は、モードレジスタ2300のビッ
トフォーマットの一例を示す図である。8ビット長のデ
ータを扱う場合は、モードレジスタ2300のLSBに
例えば“1”をセットして、LSB+1とLSB+2と
は“0”にクリアする。モードレジスタ2300の8ビ
ットモードビットに“1”がセットされると、制御回路
107は、マルチプレクサ1400b,1400d,1
400fに、制御信号として“1”を入力する。16ビ
ット長のデータを扱う場合は、モードレジスタ2300
のLSB+1を例えば“1”にセットし、LSBとLS
B+2は“0”にクリアする。モードレジスタ2300
の16ビットモードビットに“1”がセットされると、
制御回路107は、マルチプレクサ1400bに制御信
号として“0”を入力し、マルチプレクサ1400dに
制御信号として“1”を入力し、マルチプレクサ140
0fに制御信号として“0”を入力する。32ビット長
のデータを扱う場合は、モードレジスタ2300のLS
B+2を例えば“1”にセットし、LSBとLSB+1
は“0”にクリアする。モードレジスタの32ビットモ
ードビットに“1”がセットされると、制御回路107
は、マルチプレクサ1400b,1400d,1400
fに制御信号として“0”を入力する。
【0115】次に、比較可能なデータ長が8ビットの場
合を例にとり、第3実施例における比較処理を説明す
る。
【0116】図25は、8ビットデータの比較(FCM
P)命令の処理手順を示すフローチャートである。この
場合の8ビットデータの比較処理は、モード設定とデー
タ比較命令とにより行なう。 ステップ2500:制御回路107は、モードレジスタ
2300に8ビットモードを示す値を書き込む。 ステップ2501:モードレジスタ2300は、制御回
路107に指令信号を送り、制御回路107は、その指
令に応じて、演算器104内のマルチプレクサ1400
bに“1”をセットする。 ステップ2502:モードレジスタ2300は、制御回
路107に指令信号を送り、制御回路107は、その指
令に応じて、演算器104内のマルチプレクサ1400
dに“1”をセットする。 ステップ2503:モードレジスタ2300は、制御回
路107に指令信号を送り、制御回路107は、その指
令に応じて、演算器104内のマルチプレクサ1400
fに“1”をセットする。 ステップ2504:FCMP命令が発行されると、この
FCMP命令を取り込む。 ステップ2505:制御回路107は、FCMP命令を
デコードする。 ステップ2506:演算器104は、レジスタファイル
100に格納されている値1と値2とを読み出す。 ステップ2507:演算器104は、値1と値2のビッ
ト0〜ビット7を比較する。 ステップ2508:演算器104は、例えば値2の方が
大きかった場合は、L2フラグ105を“1”にセット
する。 ステップ2509:演算器104は、値1と値2のビッ
ト8〜ビット15を比較する。 ステップ2510:演算器104は、例えば値2の方が
大きかった場合は、L1フラグ105を“1”にセット
する。 ステップ2511:演算器104は、値1と値2のビッ
ト16〜ビット23を比較する。 ステップ2512:演算器104は、例えば値2の方が
大きかった場合は、U2フラグ105を“1”にセット
する。 ステップ2513:演算器104は、値1と値2のビッ
ト24〜ビット31を比較する。 ステップ2514:演算器104は、例えば値2の方が
大きかった場合は、U1フラグ105を“1”にセット
する。なお、ステップ2506〜2514の処理は、同
時並行的に実行される。
【0117】上記FCMP処理のステップ2504〜2
514は、図10のEX段で実行される。
【0118】16ビット長データ,32ビット長データ
の場合も、モード設定を変更するだけで実現できること
は、上記第1実施例等との比較から容易に理解できよ
う。
【0119】図26は、上記第3実施例のFCMP命令
のアドレス空間の割付を示す図である。FCMP命令に
は、命令弁別のための「命令の指定領域」2600と、
値1のレジスタを弁別するための「値1の指定領域」2
601と、値2のレジスタを弁別するための「値2の指
定領域」2602とが必要である。値1および値2を格
納するレジスタファイルの要素が16個の場合、値1の
指定領域」2601に4ビット、値2の指定領域」26
02に4ビットが必要になる。すなわち、FCMP命令
で2の16乗個の空間のうち256個の空間が必要とな
る。第1実施例においては、768個の空間を必要とし
たが、第3実施例においては、比較処理のために占める
空間は、256個に縮小できる。
【0120】《第4実施例》図27は、加算/減算処理
における命令セットの増加を抑えた本発明による演算処
理装置の一実施例の構成を示すブロック図である。図に
おいて、図15の第2実施例と同一機能を有する構成要
素のブロックには同一符号を付して、その説明を省略す
る。
【0121】第4実施例が第1実施例と異なるのは、モ
ードレジスタ2700を設けたことである。すなわち、
演算器104内のマルチプレクサ1400は、モードレ
ジスタ2700により、キャリー信号と“0”とのいず
れかを選択する。モードレジスタ2700は、バスa1
01とバスb102とを介して、読み書き可能である。
モードレジスタ2700の出力は、制御回路107に接
続されている。
【0122】8ビット長のデータを扱う場合は、モード
レジスタ2700のLSBに例えば“1”にセットし、
LSB+1とLSB+2は“0”にクリアする。モード
レジスタの8ビットモードビットに“1”がセットされ
ると、制御回路107は、マルチプレクサ1400b,
1400d,1400fに制御信号として“1”を入力
する。16ビット長のデータを扱う場合は、モードレジ
スタ2700のLSB+1を例えば“1”にセットし、
LSBとLSB+2は“0”にクリアする。モードレジ
スタの16ビットモードビットに“1”がセットされる
と、制御回路107は、マルチプレクサ1400bに制
御信号として“0”を入力し、マルチプレクサdに制御
信号として“1”を入力し、マルチプレクサ1400f
に制御信号として“0”を入力する。32ビット長のデ
ータを扱う場合、モードレジスタ2700のLSB+2
を例えば“1”にセットし、LSBとLSB+1は
“0”にクリアする。モードレジスタの32ビットモー
ドビットに“1”がセットされると、制御回路107
は、マルチプレクサ1400b,1400d,1400
fに制御信号として“0”を入力する。
【0123】次に、加算可能なデータ長が8ビットの場
合を例にとり、第4実施例における加算処理を説明す
る。
【0124】図28は、8ビットデータの加算(ADD)
命令の処理手順を示すフローチャートである。この場合
の8ビットデータの加算処理は、モード設定とデータ加
算命令により行なう。 ステップ2800:制御回路107は、モードレジスタ
2700に8ビットモードを示す値を書き込む。 ステップ2801:モードレジスタ2700は、制御回
路107に指令信号を送り、制御回路107は、その指
令に応じて、演算器104内のマルチプレクサ1400
bに“1”をセットする。 ステップ2802:モードレジスタ2700は、制御回
路107に指令信号を送り、制御回路107は、その指
令に応じて、演算器104内のマルチプレクサ1400
dに“1”をセットする。 ステップ2803:モードレジスタ2700は、制御回
路107に指令信号を送り、制御回路107は、その指
令に応じて、演算器104内のマルチプレクサ1400
fに“1”をセットする。 ステップ2804:制御回路107は、ADD命令が発
行されると、このADD命令を取り込む。 ステップ2805:制御回路107は、ADD命令をデ
コードする。 ステップ2806:制御回路107は、加減算制御信号
を“1”にセットする。
【0125】ステップ2807:演算器104は、レジ
スタファイル100に格納されている加数と被加数を読
み出す。 ステップ2808:演算器104は、被加数のビット0
〜ビット7に加数のビット0〜ビット7を加算する。
【0126】ステップ2809:演算結果がオーバフロ
ーした場合には、OV4フラグが“1”にセットされ、
オーバフローしなかった場合は“0”にクリアされる。 ステップ2810:演算器104は、被加数のビット8
〜ビット15に加数のビット0〜ビット7を加算する。
【0127】ステップ2811:演算結果がオーバフロ
ーした場合には、OV3フラグが“1”にセットされ、
オーバフローしなかった場合は“0”にクリアされる。 ステップ2812:演算器104は、被加数のビット1
6〜ビット23に加数のビット0〜ビット7を加算す
る。
【0128】ステップ2813:演算結果がオーバフロ
ーした場合には、OV2フラグが“1”にセットされ、
オーバフローしなかった場合は“0”にクリアされる。 ステップ2814:演算器104は、被加数のビット2
4〜ビット31に加数のビット0〜ビット7を加算す
る。
【0129】ステップ2815:演算結果がオーバフロ
ーした場合には、OV1フラグが“1”にセットされ、
オーバフローしなかった場合は“0”にクリアされる。
図28のステップ2804から1815までの処理は、
図19のEX段で実行される。
【0130】第4実施例における減算処理は、モード設
定と減算(SUB)命令とにより実行できる。減算命令で
は、加減算制御信号が“0”にセットされる以外は、A
DD命令と同様の処理が実行される。
【0131】さらに、16ビット長データ,32ビット
長データの場合も、モード設定を変更するのみで実現で
きることは容易に理解されよう。
【0132】図29は、上記第4実施例のADD命令と
SUB命令のアドレス空間の割付を示す図である。例え
ばADD命令の場合、命令弁別のための「命令の指定領
域」2900と、被加数のレジスタを弁別するための
「被加数の指定領域」2901と、加数のレジスタを弁
別するための「加数の指定領域」2902とが必要であ
る。被加数および加数を格納するレジスタファイルの要
素が16個の場合、「被加数の指定領域」2901に4
ビット、「加数の指定領域」2902に4ビットが必要
になる。すなわち、ADD命令で2の16乗個の空間の
うち256個の空間が必要となる。SUB命令も同様の
空間を要するから、加減算処理に要する空間は512個
となる。第2実施例においては1536個の空間を必要
としたが、第4実施例においては、加減算処理のために
占める空間は512個に縮小できる。
【0133】《第5実施例》図30は、演算処理におけ
る入力データを連結する命令を16ビット固定長のRI
SCプロセッサに適用した本発明による演算処理装置の
一実施例の構成を示すブロック図である。図において、
第1実施例と同一機能を有する構成要素のブロックには
同一符号を付し、その説明を省略する。
【0134】第5実施例が第1実施例と異なるのは、演
算器3000の機能である。演算器3000は、レジス
タファイル100から入力され2個または4個のレジス
タに格納されているデータを連結し、1個のレジスタに
格納する。
【0135】図31は、演算器3000の具体的な構成
を示す論理回路図である。演算器3000は、レジスタ
Aのビット0〜ビット7とビット0〜ビット15とを選
択するマルチプレクサ3000a,レジスタCのビット
0〜ビット7とビット0〜ビット15を選択するマルチ
プレクサ3000b,マルチプレクサ3000aの出力
を入力とするトランスミッションゲート3000c,レ
ジスタBのビット0〜ビット7を入力とするトランスミ
ッションゲート3000d,マルチプレクサ3000b
の出力を入力とするトランスミッションゲート3000
e,レジスタDのビット0〜ビット7を入力とするトラ
ンスミッションゲート3000fを備える。
【0136】各マルチプレクサは、制御回路107から
のビット制御信号により、ビット0〜ビット7の8ビッ
トデータとビット0〜ビット15の16ビットデータと
を選択する。トランスミッションゲート3000cは、
制御信号Wが“1”のときに開かれ、レジスタAのビッ
ト0〜ビット7またはレジスタAのビット0〜ビット1
5のデータをレジスタEのビット24〜ビット31また
はビット16〜ビット31に格納する。トランスミッシ
ョンゲート3000dは、制御信号Bが“1”のときに
開かれ、レジスタBのビット0〜ビット7のデータをレ
ジスタEのビット24〜ビット31に格納する。トラン
スミッションゲート3000eは、制御信号Wが“1”
のときに開かれ、レジスタCのビット0〜ビット7また
はレジスタCのビット0〜ビット15のデータをレジス
タEのビット8〜ビット15またはビット0〜ビット1
5に格納する。トランスミッションゲート3000f
は、制御信号Bが“1”のときに開かれ、レジスタDの
ビット0〜ビット7のデータをレジスタEのビット0〜
ビット7に格納する。
【0137】図32は、マルチプレクサ3000aの具
体的な構成の一例を示す論理回路図である。マルチプレ
クサ3000aは、CMOSインバータトランスミッシ
ョンゲートを用いて構成したマルチプレクサである。マ
ルチプレクサは,レジスタAのビット0〜ビット7を入
力とするトランスミッションゲート3000a(1)と、
レジスタAのビット0〜ビット15を入力とするトラン
スミッションゲート3000a(2)とを備える。トラン
スミッションゲート3000a(1)のセレクタは制御回
路107からのビット制御信号であり、トランスミッシ
ョンゲート3000a(2)のセレクタは制御回路107
からのビット制御信号の反転信号である。ビット制御信
号が“0”のとき,トランスミッションゲ−ト3000
a(1)がON,トランスミッションゲート3000a
(2)がOFFとなり,レジスタAのビット0〜ビット7
がマルチプレクサの出力となる。制御信号が“1”のと
き,トランスミッションゲ−ト3000a(2)がON,
トランスミッションゲート3000a(1)がOFFとな
り,レジスタAのビット0〜ビット15がマルチプレク
サの出力となる。
【0138】マルチプレクサ3000bも同様の構成で
ある。
【0139】次に、連結可能なデータ長を8ビット,1
6ビットの場合の2つに分け、第5実施例における連結
処理について説明する。
【0140】(1)8ビットデータの連結処理 図33は、8ビットデータの連結(MRG8)命令の処理
手順を示すフローチャートである。8ビットデータ連結
処理は、データ連結命令(MRG8)により行なう。 ステップ3300:制御回路107は、MRG8命令が
発行されると、MRG8命令を取り込む。 ステップ3301:制御回路107は、MRG8命令を
デコードする。 ステップ3302:制御回路107は、ビット制御信号
としてマルチプレクサ3000aに“0”をセットす
る。 ステップ3303:制御回路107は、ビット制御信号
としてマルチプレクサ3000bに“0”をセットす
る。 ステップ3304:制御回路107は、制御信号Wを
“1”にセットする。 ステップ3305:制御回路107は、制御信号Bを
“1”にセットする。 ステップ3306:マルチプレクサ3000aは、ビッ
ト制御信号に従い、レジスタAのビット0〜ビット7を
撰択し、トランスミッションゲート3000cに入力
し、制御信号Wに従い、レジスタAのビット0〜7のデ
ータをレジスタEのビット24〜ビット31に格納す
る。 ステップ3307:レジスタBのビット0〜ビット7の
データは、トランスミッションゲート3000dに入力
され、制御信号Bに従い、レジスタEのビット16〜ビ
ット23に格納される。 ステップ3308:マルチプレクサ3000bは、ビッ
ト制御信号に従い、レジスタCのビット0〜ビット7を
撰択し、トランスミッションゲート3000eに入力
し、制御信号Wに従い、レジスタCのビット0〜7のデ
ータをレジスタEのビット8〜ビット15に格納する。 ステップ3309:レジスタDのビット0〜ビット7の
データは、トランスミッションゲート3000fに入力
され、制御信号Bに従い、レジスタEのビット0〜ビッ
ト7に格納される。
【0141】図34は、データ連結(MRG)命令の処理
サイクルの相互関係すなわちパイプライン処理動作を示
すタイムチャートである。図33のステップ3302か
ら3309までの処理は、図34のEX段で実行され
る。
【0142】(2)16ビットデータの連結処理 図35は、16ビットデータの連結(MRG16)命令の
処理手順を示すフローチャートである。16ビットデー
タ連結処理は、データ連結(MRG16)命令により行な
う。 ステップ3500:制御回路107は、MRG16命令
が発行されると、MRG16命令を取り込む。
【0143】ステップ3501:制御回路107は、M
RG16命令をデコードする。
【0144】ステップ3502:制御回路107は、ビ
ット制御信号としてマルチプレクサ3000aに“1”
をセットする。
【0145】ステップ3503:制御回路107は、ビ
ット制御信号としてマルチプレクサ3000bに“1”
をセットする。
【0146】ステップ3504:制御回路107は、制
御信号Wを“1”にセットする。
【0147】ステップ3505:制御回路107は、制
御信号Bを“0”にセットする。
【0148】ステップ3506:マルチプレクサ300
0aは、ビット制御信号に従い、レジスタAのビット0
〜ビット15を撰択し、トランスミッションゲート30
00cに入力し、制御信号Wに従い、レジスタAのビッ
ト0〜15のデータをレジスタEのビット16〜ビット
31に格納する。 ステップ3507:マルチプレクサ3000bは、ビッ
ト制御信号に従い、レジスタCのビット0〜ビット15
を撰択し、トランスミッションゲート3000eに入力
し、制御信号Wに従い、レジスタCのビット0〜15の
データをレジスタEのビット0〜ビット15に格納す
る。
【0149】図35のステップ3502から3507ま
での処理は、図34のEX段で実行される。
【0150】《第6実施例》図36は、比較処理後の分
岐命令を16ビット固定長RISCプロセッサに適用し
た本発明による演算処理装置の一実施例の構成を示すブ
ロック図である。図において、図1の第1実施例と同一
機能を有する構成要素のブロックには同一符号を付し、
その説明を省略する。
【0151】第6実施例が第1実施例と異なるのは、レ
ジスタファイル3600と制御回路3601である。レ
ジスタファイル3600は、次に実行するプログラムの
アドレスを格納するプログラムカウンタ(PC)を含んで
いる。制御回路3601は、分岐命令が発行されると、
比較結果によりアドレス加算値を選択し、PCから次に
実行すべきプログラムのアドレスを読み出し、それらを
加算して分岐先のアドレスを算出し、PCに格納する。
【0152】図37は、制御回路3601の具体的な構
成の一例を示す図である。制御回路3601は、値1を
入力とするトランスミッションゲート3601aと、値
2を入力とするトランスミッションゲート3601b
と、“0”を入力とするトランスミッションゲート36
01cと、値2を入力とするトランスミッションゲート
3601dと、トランスミッションゲート3601aま
たはトランスミッションゲート3601bを入力とする
トランスミッションゲート3601eと、トランスミッ
ションゲート3601cまたはトランスミッションゲー
ト3601dを入力とするトランスミッションゲート3
601fと、比較結果フラグU1,U2,L1,L2を
入力とするアンドゲート3601gと、比較結果フラグ
U1,U2,L1,L2を入力とする排他的NORゲー
ト3601hとを備える。
【0153】図38は、図37の各種ゲートの真理値表
である。トランスミッションゲート3601aと360
1cのセレクタは、アンドゲート3601gからの出力
信号であり、トランスミッションゲート3601bと3
601dのセレクタは、排他的NORゲート3601h
からの出力信号である。アンドゲート3601gの出力
信号が“0”のときは、トランスミッションゲ−ト36
01aと3601cがON,トランスミッションゲート
3601bと3601dがOFFとなり、値1と“0”
が撰択される。排他的NORゲート3601hが“0”
のとき、トランスミッションゲ−ト3601eがON,
トランスミッションゲート3601fがOFFとなり、
値1が出力となる。
【0154】図39は、3分岐(BR3)命令の処理手順
を示すフローチャートである。3分岐処理は、3分岐
(BR3)命令により行なう。 ステップ3900:制御回路107は、BR3命令が発
行されると、BR3命令を取り込む。
【0155】ステップ3901:制御回路107は、B
R3命令をデコードする。 ステップ3902:制御回路107は、アドレス加算値
を選択する。 ステップ3903:制御回路107は、レジスタファイ
ル3600からPCを読み出す。
【0156】ステップ3904:制御回路107は、ア
ドレス加算値とレジスタファイル3600から読み出し
たPCとを加算する。 ステップ3905:制御回路107は、加算結果をレジ
スタファイル36000のPCに格納する。
【0157】なお、以上の第1〜第6実施例は、比較,
加減算,連結,分岐等の処理を単独で行なう例として説
明したが、本発明は、これに限定されない。すなわち、
各処理に対応した手段を併設すれば、比較,加減算,連
結,分岐等の処理のうち少なくとも2つの処理をユーザ
の要求に応じて実行できる演算処理装置が得られる。
【0158】《第7実施例》図40は、本発明による演
算処理装置を並列演算処理付きのマイクロコンピュータ
を適用したグラフィックス装置の一実施例の概略系統構
成を示す図である。第7実施例のグラフィックス装置
は、本発明によるマイクロコンピュータと、フレームメ
モリと、表示用ハードウェアと、CRTとからなる。こ
のグラフィックス装置は、マイクロコンピュータ内のソ
フトウェアによりフレームメモリに描画し、そのデータ
を表示用ハードウェアに転送し、CRTにグラフィック
スを表示する。
【0159】このグラフィックス装置では、システムの
安全性を保証するために、描画可能な領域を設定し、描
画しようとしているピクセルが描画可能な領域内に入っ
ているか否かを判定する。具体的な判定処理において
は、表示画面における描画可能なX方向の最大値Xma
x、Y方向の最大値Ymax,X方向の最小値Xmin,Y方向
の最小値Yminに対応したフレームメモリのアドレス
と、描画しようとしているピクセルの座標X,Yとを比
較する。
【0160】図41は、従来技術のグラフィックス装置
における上記領域判定の処理手順を示すフローチャート
である。(X1,Y1)と(X2,Y2)との間を直線で結ぶ
場合には、(X1,Y1)と(X2,Y2)の4個の値のいず
れかが領域内であったとき逐次判定付き描画処理を実行
し、(X1,Y1)と(X2,Y2)の4個の値のいずれも領
域外であった場合は終了し、(X1,Y1)と(X2,Y2)
の4個の値のいずれも領域内であった場合は描画処理を
実行する必要がある。すなわち、1本の直線描画を開始
するには、これらの3個の処理に分岐する必要があり、
そのためには、最大5回の判定と分岐が生ずる。さら
に、逐次判定付き描画では、1ピクセルの領域判定にお
いて、4回の判定と分岐を実行する必要がある。このよ
うにグラフィックス装置においては、最大ピクセル数×
8ステップ+10ステップの命令を実行する必要があ
る。例えば、図40に示したCRTの表示領域がY方向
が240ピクセル,X方向が320ピクセルであったと
する。ここで、その30%に描画するとした場合、23
040ピクセルに対して図41に示した判定処理を実行
する必要があり、領域判定処理のみで184330ステ
ップを費やす。したがって、判定処理の命令数の増加
は、描画性能を低下させる大きな原因となる。
【0161】図42は、本発明を前記比較処理および分
岐処理に適用し、描画領域判定処理を高速に実行する処
理手順を示すフローチャートである。この場合、1ピク
セルは8ビットデータであるとする。既に述べたよう
に、本発明においては、4回の比較処理を1ステップで
実行する。そのため、その後の1回の判定処理を含め
て、領域判定処理を2ステップで実行できる。すなわ
ち、従来の1/4のステップ数で、領域判定処理を実行
できることになる。
【0162】第7実施例によれば、比較処理および分岐
処理の命令数の増加を抑え、描画領域判定処理を高速に
実行できるグラフィックス装置が得られる。
【0163】
【発明の効果】以上説明したように、本発明によれば、
8ビット毎または16ビット毎の演算処理を可能にして
いることから、1命令または2命令で4個のデータの演
算処理を実行できる。その結果、プログラムステップ数
の増加を抑えて、パイプライン処理を乱さずに、比較処
理等の演算処理を実行し、全体としての処理速度を高め
ることができる。
【0164】また、扱うデータ長の情報を格納するモー
ドレジスタを設けた場合は、モード設定後に比較処理を
実行すると、8ビット毎または16ビット毎の演算処理
が可能となり、命令セットのコード量の増加が抑制され
る。
【図面の簡単な説明】
【図1】本発明による比較処理手段を16ビット固定長
のRISCプロセッサに適用した演算処理装置の第1実
施例の構成を示すブロック図である。
【図2】レジスタファイル100から演算器104に出
力されるデータ117およびデータ118のビットフォ
ーマットの一例を示す図である。
【図3】演算器104の構成の一例を示すブロック図で
ある。
【図4】比較器104aの具体的な構成の一例を示す論
理回路図である。
【図5】ゲート104a(1)〜104a(5)の真理値表
である。
【図6】比較器104cの具体的な構成の一例を示す論
理回路図である。
【図7】比較器104c(1)〜104c(4)の真理値表
である。
【図8】マルチプレクサ104bの具体的な構成の一例
を示す論理回路図である。
【図9】8ビットデータ比較(PCMP8)命令の処理手
順を示すフローチャートである。
【図10】比較命令等の処理サイクルの相互関係すなわ
ちパイプライン処理動作を示すタイムチャートである。
【図11】16ビットデータ比較(PCMP16)命令の
処理手順を示すフローチャートである。
【図12】32ビットデータ比較(PCMP32)命令の
処理手順を示すフローチャートである。
【図13】上記第1実施例におけるPCMP8命令,P
CMP16命令,PCMP32命令のアドレス空間の割
付を説明する図である。
【図14】本発明の比較命令PCMP8と従来の比較命
令の処理サイクルの相互関係を対比して示すタイムチャ
ートである。
【図15】本発明による加減算処理手段を16ビット固
定長のRISCプロセッサに適用した演算処理装置の第
2実施例の構成を示すブロック図である。
【図16】演算器1400の構成の一例を示すブロック
図である。
【図17】マルチプレクサ1400bの具体的な構成の
一例を示す論理回路図である。
【図18】8ビットデータの加算(ADD8)命令の処理
手順を示すフローチャートである。
【図19】加算/減算命令等の処理サイクルの相互関係
すなわちパイプライン処理動作を示すタイムチャートで
ある。
【図20】16ビットデータの加算(ADD16)命令の
処理手順を示すフローチャートである。
【図21】32ビットデータ加算(ADD32)命令の処
理手順を示すフローチャートである。
【図22】上述の第1実施例におけるADD8命令,A
DD16命令,ADD32命令,SUB8命令,SUB
16命令,SUB32命令のアドレス空間の割付を説明
する図である。
【図23】比較処理における命令セットの増加を抑えた
本発明による演算処理装置の第3実施例の構成を示すブ
ロック図である。
【図24】モードレジスタ2300のビットフォーマッ
トの一例を示す図である。
【図25】8ビットデータの比較(FCMP)命令の処理
手順を示すフローチャートである。
【図26】上記第3実施例のFCMP命令のアドレス空
間の割付を示す図である。
【図27】加算/減算処理における命令セットの増加を
抑えた本発明による演算処理装置の第4実施例の構成を
示すブロック図である。
【図28】8ビットデータの加算(ADD)命令の処理手
順を示すフローチャートである。
【図29】上記第4実施例のADD命令とSUB命令の
アドレス空間の割付を示す図である。
【図30】演算処理における入力データを連結する命令
を16ビット固定長のRISCプロセッサに適用した本
発明による演算処理装置の第5実施例の構成を示すブロ
ック図である。
【図31】演算器3000の具体的な構成を示す論理回
路図である。
【図32】マルチプレクサ3000aの具体的な構成の
一例を示す論理回路図である。
【図33】8ビットデータの連結(MRG8)命令の処理
手順を示すフローチャートである。
【図34】データ連結(MRG)命令の処理サイクルの相
互関係すなわちパイプライン処理動作を示すタイムチャ
ートである。
【図35】16ビットデータの連結(MRG16)命令の
処理手順を示すフローチャートである。
【図36】比較処理後の分岐命令を16ビット固定長R
ISCプロセッサに適用した本発明による演算処理装置
の第6実施例の構成を示すブロック図である。
【図37】制御回路3601の具体的な構成の一例を示
す図である。
【図38】図37の各種ゲートの真理値表である。
【図39】3分岐(BR3)命令の処理手順を示すフロー
チャートである。
【図40】本発明による演算処理装置を並列演算処理付
きのマイクロコンピュータを適用したグラフィックス装
置の第7実施例の概略系統構成を示す図である。
【図41】従来技術のグラフィックス装置おける上記領
域判定の処理手順を示すフローチャートである。
【図42】本発明を前記比較処理および分岐処理に適用
し、描画領域判定処理を高速に実行する処理手順を示す
フローチャートである。
【符号の説明】
100 レジスタファイル 101 バスa 102 バスb 103 バスc 104 演算器 104a,104c,104e,104g 比較器 104b,104d,104f マルチプレクサ 105 比較結果フラグ 106 リードライト回路 107 制御回路 108 CPU 109 外部バス 110 不揮発性RAM 111 I/O 112 マイクロコンピュータ 116 演算結果情報 117 データ 118 データ 1400 演算器 1401 オーバーフローOVフラグ 1402 演算結果情報 1400a,1400c,1400e,1400g 全
加算器 1400b,1400d,1400f マルチプレクサ 2300 モードレジスタ 2700 モードレジスタ 3000 演算器 3000a,3000b マルチプレクサ 3600 レジスタファイル
フロントページの続き (51)Int.Cl.6 識別記号 庁内整理番号 FI 技術表示箇所 G06F 7/50 E 9/305 9/30 370 9/34 330

Claims (25)

    【特許請求の範囲】
  1. 【請求項1】 演算対象のデータおよび演算結果のデー
    タを一時記憶する複数のレジスタからなるレジスタファ
    イルと、前記レジスタファイルの異なるレジスタから演
    算対象のデータを読み出し所定の演算を実行し演算結果
    を出力する演算器と、演算命令に従い少なくとも前記レ
    ジスタファイルおよび前記演算器を制御し前記演算命令
    を実行する制御回路とを含む演算処理装置において、 前記演算器が、前記レジスタファイルの異なるレジスタ
    から演算対象のデータを読み出し、前記制御回路からの
    制御信号に応じて、前記データをn(n=自然数)個に分
    割し、分割されたデータ毎に同時並行的に演算する複数
    の演算器を含み、 前記演算処理装置が、前記演算結果を格納する結果記憶
    手段を備えたことを特徴とする演算処理装置。
  2. 【請求項2】 比較対象のデータおよび比較結果のデー
    タを一時記憶する複数のレジスタからなるレジスタファ
    イルと、前記レジスタファイルの異なるレジスタから比
    較対象のデータを読み出し比較演算を実行し比較結果を
    出力する演算器と、比較命令に従い少なくとも前記レジ
    スタファイルおよび前記演算器を制御し前記比較命令を
    実行する制御回路とを含む演算処理装置において、 前記演算器が、前記レジスタファイルの異なるレジスタ
    から比較対象のデータを読み出し、前記制御回路からの
    制御信号に応じて、前記データをn(n=自然数)個に分
    割し、分割されたデータ毎に同時並行的に比較する複数
    の演算器を含み、 前記演算処理装置が、前記比較結果を格納する結果記憶
    手段を備えたことを特徴とする演算処理装置。
  3. 【請求項3】 加減算対象のデータおよび加減算結果の
    データを一時記憶する複数のレジスタからなるレジスタ
    ファイルと、前記レジスタファイルの異なるレジスタか
    ら加減算対象のデータを読み出し加減算を実行し加減算
    結果を出力する演算器と、加減算命令に従い少なくとも
    前記レジスタファイルおよび前記演算器を制御し前記加
    減算命令を実行する制御回路とを含む演算処理装置にお
    いて、 前記演算器が、前記レジスタファイルの異なるレジスタ
    から加減算対象のデータを読み出し、前記制御回路から
    の制御信号に応じて、前記データをn(n=自然数)個に
    分割し、分割されたデータ毎に同時並行的に加減算する
    複数の演算器を含み、 前記演算処理装置が、前記加減算結果およびそのオーバ
    ーフロー情報を格納する結果記憶手段を備えたことを特
    徴とする演算処理装置。
  4. 【請求項4】 連結対象のデータおよび連結結果のデー
    タを一時記憶する複数のレジスタからなるレジスタファ
    イルと、前記レジスタファイルの異なるレジスタから連
    結対象のデータを読み出し連結演算を実行し連結結果を
    出力する演算器と、連結命令に従い少なくとも前記レジ
    スタファイルおよび前記演算器を制御し前記連結命令を
    実行する制御回路とを含む演算処理装置において、 前記演算器が、前記レジスタファイルの異なるレジスタ
    からn(n=2以上の自然数)個に分割された連結対象の
    データを読み出し、前記制御回路からの制御信号に応じ
    て、前記n(n=2以上の自然数)個に分割されたデータ
    を同時並行的に連結する複数の演算器を含み、 前記演算処理装置が、前記連結結果を格納する結果記憶
    手段を備えたことを特徴とする演算処理装置。
  5. 【請求項5】 演算対象のデータおよび演算結果のデー
    タを一時記憶する複数のレジスタからなるレジスタファ
    イルと、前記レジスタファイルの異なるレジスタから演
    算対象のデータを読み出し所定の演算を実行し演算結果
    を出力する演算器と、演算命令に従い少なくとも前記レ
    ジスタファイルおよび前記演算器を制御し前記演算命令
    を実行する制御回路とを含む演算処理装置において、 前記演算器が、前記レジスタファイルの異なるレジスタ
    から比較対象のデータを読み出し、前記制御回路からの
    制御信号に応じて、前記データをn(n=自然数)個に分
    割し、分割されたデータ毎に同時並行的に比較する複数
    の演算器と、前記レジスタファイルの異なるレジスタか
    ら加減算対象のデータを読み出し、前記制御回路からの
    制御信号に応じて、前記データをn(n=自然数)個に分
    割し、分割されたデータ毎に同時並行的に加減算する複
    数の演算器と、前記レジスタファイルの異なるレジスタ
    からn(n=自然数)個に分割された連結対象のデータを
    読み出し、前記制御回路からの制御信号に応じて、前記
    n(n=自然数)個に分割されたデータを同時並行的に連
    結する複数の演算器との3種類の演算器のうち少なくと
    も2種類の演算器を含み、 前記演算処理装置が、前記演算の種類に応じて前記比較
    結果,加減算結果およびそのオーバーフロー情報,連結
    結果を格納する結果記憶手段を備えたことを特徴とする
    演算処理装置。
  6. 【請求項6】 演算対象のデータおよび演算結果のデー
    タを一時記憶する複数のレジスタからなるレジスタファ
    イルと、前記レジスタファイルの異なるレジスタから演
    算対象のデータを読み出し所定の演算を実行し演算結果
    を出力する演算器と、演算命令に従い少なくとも前記レ
    ジスタファイルおよび前記演算器を制御し前記演算命令
    を実行する制御回路とを含む演算処理装置において、 前記演算処理装置が、前記データの分割モードを設定す
    るモードレジスタを備え、 前記演算器が、前記レジスタファイルの異なるレジスタ
    から演算対象のデータを読み出し、前記モードレジスタ
    に設定された分割モードに基づく前記制御回路からの制
    御信号に応じて、前記データをn(n=自然数)個に分割
    し、分割されたデータ毎に同時並行的に演算する複数の
    演算器を含み、 前記演算処理装置が、前記演算結果を格納する結果記憶
    手段を備えたことを特徴とする演算処理装置。
  7. 【請求項7】 比較対象のデータおよび比較結果のデー
    タを一時記憶する複数のレジスタからなるレジスタファ
    イルと、前記レジスタファイルの異なるレジスタから比
    較対象のデータを読み出し比較演算を実行し比較結果を
    出力する演算器と、比較命令に従い少なくとも前記レジ
    スタファイルおよび前記演算器を制御し前記比較命令を
    実行する制御回路とを含む演算処理装置において、 前記演算処理装置が、前記データの分割モードを設定す
    るモードレジスタを備え、 前記演算器が、前記レジスタファイルの異なるレジスタ
    から比較対象のデータを読み出し、前記モードレジスタ
    に設定された分割モードに基づく前記制御回路からの制
    御信号に応じて、前記データをn(n=自然数)個に分割
    し、分割されたデータ毎に同時並行的に比較する複数の
    演算器を含み、 前記演算処理装置が、前記比較結果を格納する結果記憶
    手段を備えたことを特徴とする演算処理装置。
  8. 【請求項8】 加減算対象のデータおよび加減算結果の
    データを一時記憶する複数のレジスタからなるレジスタ
    ファイルと、前記レジスタファイルの異なるレジスタか
    ら加減算対象のデータを読み出し加減算を実行し加減算
    結果を出力する演算器と、加減算命令に従い少なくとも
    前記レジスタファイルおよび前記演算器を制御し前記加
    減算命令を実行する制御回路とを含む演算処理装置にお
    いて、 前記演算処理装置が、前記データの分割モードを設定す
    るモードレジスタを備え、 前記演算器が、前記レジスタファイルの異なるレジスタ
    から加減算対象のデータを読み出し、前記モードレジス
    タに設定された分割モードに基づく前記制御回路からの
    制御信号に応じて、前記データをn(n=自然数)個に分
    割し、分割されたデータ毎に同時並行的に加減算する複
    数の演算器を含み、 前記演算処理装置が、前記加減算結果およびそのオーバ
    ーフロー情報を格納する結果記憶手段を備えたことを特
    徴とする演算処理装置。
  9. 【請求項9】 連結対象のデータおよび連結結果のデー
    タを一時記憶する複数のレジスタからなるレジスタファ
    イルと、前記レジスタファイルの異なるレジスタから連
    結対象のデータを読み出し連結演算を実行し連結結果を
    出力する演算器と、連結命令に従い少なくとも前記レジ
    スタファイルおよび前記演算器を制御し前記連結命令を
    実行する制御回路とを含む演算処理装置において、 前記演算処理装置が、前記データの分割モードを設定す
    るモードレジスタを備え、 前記演算器が、前記レジスタファイルの異なるレジスタ
    からn(n=2以上の自然数)個に分割された連結対象の
    データを読み出し、前記モードレジスタに設定された分
    割モードに基づく前記制御回路からの制御信号に応じ
    て、前記n(n=2以上の自然数)個に分割されたデータ
    を同時並行的に連結する複数の演算器を含み、 前記演算処理装置が、前記連結結果を格納する結果記憶
    手段を備えたことを特徴とする演算処理装置。
  10. 【請求項10】 演算対象のデータおよび演算結果のデ
    ータを一時記憶する複数のレジスタからなるレジスタフ
    ァイルと、前記レジスタファイルの異なるレジスタから
    演算対象のデータを読み出し所定の演算を実行し演算結
    果を出力する演算器と、演算命令に従い少なくとも前記
    レジスタファイルおよび前記演算器を制御し前記演算命
    令を実行する制御回路とを含む演算処理装置において、 前記演算処理装置が、前記データの分割モードを設定す
    るモードレジスタを備え、 前記演算器が、前記レジスタファイルの異なるレジスタ
    から比較対象のデータを読み出し、前記モードレジスタ
    に設定された分割モードに基づく前記制御回路からの制
    御信号に応じて、前記データをn(n=自然数)個に分割
    し、分割されたデータ毎に同時並行的に比較する複数の
    演算器と、前記レジスタファイルの異なるレジスタから
    加減算対象のデータを読み出し、前記モードレジスタに
    設定された分割モードに基づく前記制御回路からの制御
    信号に応じて、前記データをn(n=自然数)個に分割
    し、分割されたデータ毎に同時並行的に加減算する複数
    の演算器と、前記レジスタファイルの異なるレジスタか
    らn(n=自然数)個に分割された連結対象のデータを読
    み出し、前記モードレジスタに設定された分割モードに
    基づく前記制御回路からの制御信号に応じて、前記n
    (n=自然数)個に分割されたデータを同時並行的に連結
    する複数の演算器との3種類の演算器のうち少なくとも
    2種類の演算器を含み、 前記演算処理装置が、前記演算の種類に応じて前記比較
    結果,加減算結果およびそのオーバーフロー情報,連結
    結果を格納する結果記憶手段を備えたことを特徴とする
    演算処理装置。
  11. 【請求項11】 請求項1ないし10のいずれか一項に
    記載の演算処理装置において、 前記演算器が、前記制御回路からの制御信号または所定
    信号に応じて、前記各分割されたデータの演算結果を隣
    合う前記分割されたデータに反映させるか否かを選択す
    るマルチプレクサを前記各分割されたデータの演算を実
    行する演算器間に備えたことを特徴とする演算処理装
    置。
  12. 【請求項12】 請求項1ないし11のいずれか一項に
    記載の演算処理装置において、 前記レジスタファイルが、次に実行すべきプログラムの
    アドレスを格納するプログラムカウンタを含み、 前記制御回路が、分岐命令の発行に応じて、前記演算結
    果によりアドレス加算値を選択し、前記プログラムカウ
    ンタから次に実行すべきプログラムのアドレスを読み出
    し、分岐先のアドレスを算出する手段を含むことを特徴
    とする演算処理装置。
  13. 【請求項13】 請求項2,5,7,10,11,12
    のいずれかに記載の演算処理装置と、表示すべき図形を
    記憶するフレームメモリと、前記フレームメモリに描画
    された図形を表示する表示装置とからなり、 演算処理装置が、描画しようとしているピクセルが描画
    可能な領域にあるか否かを座標の比較により判定する演
    算器を含むことを特徴とするグラフィックス装置。
  14. 【請求項14】 複数のレジスタからなり演算対象のデ
    ータおよび演算結果のデータを一時記憶するレジスタフ
    ァイルの異なる前記レジスタから演算対象のデータを読
    み出し、演算命令に従い所定の演算を実行し演算結果を
    出力する演算処理方法において、 前記演算命令に基づく制御信号に応じて、読み出した前
    記データをn(n=自然数)個に分割し、 分割されたデータ毎に同時並行的に演算し、 前記演算結果を格納することを特徴とする演算処理方
    法。
  15. 【請求項15】 複数のレジスタからなり比較対象のデ
    ータおよび比較結果のデータを一時記憶するレジスタフ
    ァイルの異なる前記レジスタから演算対象のデータを読
    み出し、比較命令に従い所定の比較を実行し比較結果を
    出力する演算処理方法において、 前記比較命令に基づく制御信号に応じて、読み出した前
    記データをn(n=自然数)個に分割し、 分割されたデータ毎に同時並行的に比較し、 前記比較結果を格納することを特徴とする演算処理方
    法。
  16. 【請求項16】 複数のレジスタからなり加減算対象の
    データおよび加減算結果のデータを一時記憶するレジス
    タファイルの異なる前記レジスタから加減算対象のデー
    タを読み出し、加減算命令に従い所定の加減算を実行し
    加減算結果を出力する演算処理方法において、 前記加減算命令に基づく制御信号に応じて、読み出した
    前記データをn(n=自然数)個に分割し、 分割されたデータ毎に同時並行的に加減算し、 前記加減算結果およびそのオーバーフロー情報を格納す
    ることを特徴とする演算処理方法。
  17. 【請求項17】 複数のレジスタからなり連結対象のデ
    ータおよび連結結果のデータを一時記憶するるレジスタ
    ファイルの異なるレジスタから連結対象のデータを読み
    出し、連結命令に従い連結演算を実行し連結結果を出力
    する演算処理方法において、 前記連結命令に基づく制御信号に応じて、前記レジスタ
    ファイルの異なるレジスタからn(n=2以上の自然数)
    個に分割された連結対象のデータを読み出し、読み出し
    た前記分割データを同時並行的に連結し、 前記連結結果を格納することを特徴とする演算処理方
    法。
  18. 【請求項18】 複数のレジスタからなり演算対象のデ
    ータおよび演算結果のデータを一時記憶するレジスタフ
    ァイルの異なる前記レジスタから演算対象のデータを読
    み出し、演算命令に従い所定の演算を実行し演算結果を
    出力する演算処理方法において、 比較命令に基づく制御信号に応じて、読み出した前記デ
    ータをn(n=自然数)個に分割し、分割されたデータ毎
    に同時並行的に比較する手順と、加減算命令に基づく制
    御信号に応じて、読み出した前記データをn(n=自然
    数)個に分割し、分割されたデータ毎に同時並行的に加
    減算し、前記加減算結果およびそのオーバーフロー情報
    を得る手順と、連結命令に基づく制御信号に応じて、前
    記レジスタファイルの異なるレジスタからn(n=2以
    上の自然数)個に分割された連結対象のデータを読み出
    し、読み出した前記分割データを同時並行的に連結する
    との3種類の演算手順のうち少なくとも2種類の演算手
    順を含み、 前記演算の種類に応じて前記比較結果,加減算結果のオ
    ーバーフロー情報,連結結果を格納することを特徴とす
    る演算処理方法。
  19. 【請求項19】 複数のレジスタからなり演算対象のデ
    ータおよび演算結果のデータを一時記憶するレジスタフ
    ァイルの異なる前記レジスタから演算対象のデータを読
    み出し、演算命令に従い所定の演算を実行し演算結果を
    出力する演算処理方法において、 モードレジスタに設定された分割モードに基づく制御信
    号に応じて、読み出した前記データをn(n=自然数)個
    に分割し、 分割されたデータ毎に同時並行的に演算し、 前記演算結果を格納することを特徴とする演算処理方
    法。
  20. 【請求項20】 複数のレジスタからなり比較対象のデ
    ータおよび比較結果のデータを一時記憶するレジスタフ
    ァイルの異なる前記レジスタから演算対象のデータを読
    み出し、比較命令に従い所定の比較を実行し比較結果を
    出力する演算処理方法において、 モードレジスタに設定された分割モードに基づく制御信
    号に応じて、読み出した前記データをn(n=自然数)個
    に分割し、 分割されたデータ毎に同時並行的に比較し、 前記比較結果を格納することを特徴とする演算処理方
    法。
  21. 【請求項21】 複数のレジスタからなり加減算対象の
    データおよび加減算結果のデータを一時記憶するレジス
    タファイルの異なる前記レジスタから加減算対象のデー
    タを読み出し、加減算命令に従い所定の加減算を実行し
    加減算結果を出力する演算処理方法において、 モードレジスタに設定された分割モードに基づく制御信
    号に応じて、読み出した前記データをn(n=自然数)個
    に分割し、 分割されたデータ毎に同時並行的に加減算し、 前記加減算結果およびそのオーバーフロー情報を格納す
    ることを特徴とする演算処理方法。
  22. 【請求項22】 複数のレジスタからなり連結対象のデ
    ータおよび連結結果のデータを一時記憶するるレジスタ
    ファイルの異なるレジスタから連結対象のデータを読み
    出し、連結命令に従い連結演算を実行し連結結果を出力
    する演算処理方法において、 モードレジスタに設定された分割モードに基づく制御信
    号に応じて、前記レジスタファイルの異なるレジスタか
    らn(n=2以上の自然数)個に分割された連結対象のデ
    ータを読み出し、読み出した前記分割データを同時並行
    的に連結し、前記連結結果を格納することを特徴とする
    演算処理方法。
  23. 【請求項23】 複数のレジスタからなり演算対象のデ
    ータおよび演算結果のデータを一時記憶するレジスタフ
    ァイルの異なる前記レジスタから演算対象のデータを読
    み出し、演算命令に従い所定の演算を実行し演算結果を
    出力する演算処理方法において、 モードレジスタに設定された分割モードに基づく制御信
    号に応じて、読み出した前記データをn(n=自然数)個
    に分割し、分割されたデータ毎に同時並行的に比較する
    手順と、モードレジスタに設定された分割モードに基づ
    く制御信号に応じて、読み出した前記データをn(n=
    自然数)個に分割し、分割されたデータ毎に同時並行的
    に加減算し、前記加減算結果およびそのオーバーフロー
    情報を得る手順と、モードレジスタに設定された分割モ
    ードに基づく制御信号に応じて、前記レジスタファイル
    の異なるレジスタからn(n=2以上の自然数)個に分割
    された連結対象のデータを読み出し、読み出した前記分
    割データを同時並行的に連結するとの3種類の演算手順
    のうち少なくとも2種類の演算手順を含み、前記演算の
    種類に応じて前記比較結果,加減算結果のオーバーフロ
    ー情報,連結結果を格納することを特徴とする演算処理
    方法。
  24. 【請求項24】 前記レジスタファイルが次に実行すべ
    きプログラムのアドレスを格納するプログラムカウンタ
    を含み、請求項14ないし23のいずれか一項に記載の
    演算処理方法において、 分岐命令の発行に応じて、前記演算結果によりアドレス
    加算値を選択し、前記プログラムカウンタから次に実行
    すべきプログラムのアドレスを読み出し、分岐先のアド
    レスを算出することを特徴とする演算処理方法。
  25. 【請求項25】 請求項15,18,20,23のいず
    れか一項に記載の比較処理手順により、描画しようとし
    ているピクセルの座標と描画可能な領域の座標とを比較
    し、描画の可否を判定することを特徴とするグラフィッ
    クス演算処理方法。
JP6055586A 1994-03-25 1994-03-25 演算処理装置および演算処理方法 Pending JPH07262010A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP6055586A JPH07262010A (ja) 1994-03-25 1994-03-25 演算処理装置および演算処理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP6055586A JPH07262010A (ja) 1994-03-25 1994-03-25 演算処理装置および演算処理方法

Publications (1)

Publication Number Publication Date
JPH07262010A true JPH07262010A (ja) 1995-10-13

Family

ID=13002857

Family Applications (1)

Application Number Title Priority Date Filing Date
JP6055586A Pending JPH07262010A (ja) 1994-03-25 1994-03-25 演算処理装置および演算処理方法

Country Status (1)

Country Link
JP (1) JPH07262010A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1998045774A1 (en) * 1997-04-08 1998-10-15 Sony Computer Entertainment Inc. Arithmetic unit and arithmetic method
EP1737212A1 (en) * 2005-05-31 2006-12-27 Ricoh Company, Ltd. A Method and apparatus for image processing capable of efficiently interfacing with different digital signal processors
JP2014179076A (ja) * 2013-03-14 2014-09-25 Intel Corp 複数データ要素対複数データ要素比較プロセッサ、方法、システム、および命令
JP2017138993A (ja) * 2006-08-02 2017-08-10 クゥアルコム・インコーポレイテッドQualcomm Incorporated マイクロプロセッサ内の複数のレジスタ部を組み合わせる方法およびシステム

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1998045774A1 (en) * 1997-04-08 1998-10-15 Sony Computer Entertainment Inc. Arithmetic unit and arithmetic method
EP1737212A1 (en) * 2005-05-31 2006-12-27 Ricoh Company, Ltd. A Method and apparatus for image processing capable of efficiently interfacing with different digital signal processors
US8049923B2 (en) 2005-05-31 2011-11-01 Ricoh Company Ltd. Method and apparatus for image processing capable of efficiently interfacing with different digital signal processors
JP2017138993A (ja) * 2006-08-02 2017-08-10 クゥアルコム・インコーポレイテッドQualcomm Incorporated マイクロプロセッサ内の複数のレジスタ部を組み合わせる方法およびシステム
JP2014179076A (ja) * 2013-03-14 2014-09-25 Intel Corp 複数データ要素対複数データ要素比較プロセッサ、方法、システム、および命令

Similar Documents

Publication Publication Date Title
US6412061B1 (en) Dynamic pipelines with reusable logic elements controlled by a set of multiplexers for pipeline stage selection
US5001662A (en) Method and apparatus for multi-gauge computation
US5933157A (en) Central processing unit with integrated graphics functions
KR100266337B1 (ko) 정보처리회로,반도체집적회로장치,마이크로컴퓨터,및전자기기
JP2001516916A (ja) デジタル信号処理能力を有するデータ処理装置
EP1058185A1 (en) A multiply and accumulate apparatus and a method thereof
JPH11154114A (ja) 複数データ・フェッチのアーキテクチャを使ってテーブル・ルックアップを実行するためのシステムおよび方法
JP3237858B2 (ja) 演算装置
JP3479385B2 (ja) 情報処理装置
JPH07262010A (ja) 演算処理装置および演算処理方法
KR19980041758A (ko) 축소 데이타 경로 폭을 갖는 2-비트 부스 곱셈기
US5265204A (en) Method and apparatus for bit operational process
US5034900A (en) Method and apparatus for bit operational process
JPH07295787A (ja) 演算処理装置
EP0992917B1 (en) Linear vector computation
US6552730B1 (en) Method and apparatus for bit operational process
US6414692B1 (en) Graphics processing apparatus and system
JP3088956B2 (ja) 演算装置
JPH06309349A (ja) プログラム制御のプロセッサ
JP3441847B2 (ja) データメモリを有するプロセッサ
JP3474384B2 (ja) シフタ回路及びマイクロプロセッサ
JP2812610B2 (ja) パイプライン制御方式
US20030037088A1 (en) Speed of execution of a conditional subtract instruction and increasing the range of operands over which the instruction would be performed correctly
JPH07110769A (ja) Vliw型計算機
JP2009059187A (ja) マイクロプロセッサおよびデータ処理方法

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20040219

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040302

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20040629