JP3055558B2 - nビット演算装置 - Google Patents

nビット演算装置

Info

Publication number
JP3055558B2
JP3055558B2 JP63047163A JP4716388A JP3055558B2 JP 3055558 B2 JP3055558 B2 JP 3055558B2 JP 63047163 A JP63047163 A JP 63047163A JP 4716388 A JP4716388 A JP 4716388A JP 3055558 B2 JP3055558 B2 JP 3055558B2
Authority
JP
Japan
Prior art keywords
data
bit
register
output
bits
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
JP63047163A
Other languages
English (en)
Other versions
JPH01220026A (ja
Inventor
剛 大矢
Original Assignee
ジーイー横河メディカルシステム株式会社
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 ジーイー横河メディカルシステム株式会社 filed Critical ジーイー横河メディカルシステム株式会社
Priority to JP63047163A priority Critical patent/JP3055558B2/ja
Publication of JPH01220026A publication Critical patent/JPH01220026A/ja
Application granted granted Critical
Publication of JP3055558B2 publication Critical patent/JP3055558B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Executing Machine-Instructions (AREA)

Description

【発明の詳細な説明】 (産業上の利用分野) 本発明は、nビットデータ(例えば、32ビットデー
タ)を演算するnビット演算部と、データを一時的に格
納し演算データの入出力を行なうレジスタと、これらの
各部の動作を制御する制御部とを備えるnビット演算装
置に関する。
(従来の技術) nビット(nは正の整数であって、ここでは一例とし
て32ビットで説明する)のデータを演算する整数演算器
は従来第4図に示す構成であった。図において、1は入
力データを一旦蓄え要求に応じて論理演算回路(以下AL
Uという)2にデータを供給し、ALU2において演算され
たデータを繰り返し演算や次の演算のためのデータとす
るために再び格納するレジスタファイルである。ALU2は
32ビットのデータを演算する演算回路で、レジスタファ
イル1から入力されるデータと入力データを一旦蓄えて
直接ALU2へ出力する直接入力レジスタ3から入力される
データとを演算する。演算したデータは繰り返し演算等
のためにレジスタファイル1に戻される場合と、出力レ
ジスタ4に出力されて一旦蓄えられる場合とがある。出
力レジスタ4は外部からの出力制御信号により蓄えられ
たデータを出力データとして送り出す。5は演算命令と
システムクロックを外部CPUから受けて前記の各回路の
動作を制御する制御回路である。この演算回路におい
て、32ビットの入力データはレジスタファイル1に格納
され、演算命令に応じてALU2に出力される。ALU2は演算
命令による演算を行った後、制御回路5からの制御信号
により演算結果を出力レジスタ4に出力する。繰り返し
演算の場合はレジスタファイル1に格納し、再びALU2に
出力する。出力レジスタ4は外部回路の出力制御信号に
よりデータを外部回路へ送り出す。
(発明が解決しようとする課題) ところで、上記の従来の32ビット整数演算器におい
て、8ビットや16ビットのデータの高速処理を直ちに行
うのは困難である。例えばこの32ビット整数演算器で16
ビットデータの加算を行って桁上がりが生じたような場
合、桁上がりに対する処置がなされていないのでハード
ウエア又はソフトウエアにおいて何等かの処置を施さな
いと直ちには扱えない。又、正負の符号の取り扱いも新
たな法則を定めておく必要があり、高速演算処理の困難
さの一因となっている。更に、例えば8ビットのデータ
をメモリに格納する場合、32ビットの容量があるにも拘
らず、8ビット分しか使用しないため24ビット分の使用
しないビットができてメモリの使用効率が悪いという欠
点がある。
本発明は上記の問題点に鑑みてなされたもので、その
目的は、(32ビットの場合は8ビット,16ビットのよう
な)ビット数の少ないデータに対しても高速で演算処理
を行なうnビット演算装置を実現することにある。
(課題を解決するための手段) 前記の課題を解決する本発明は、外部からのデータ並
びにnビット演算部及びデータ処理部からのデータを入
力し、nビット演算部及びデータ処理部へデータを出力
するレジスタと、nビットのデータを演算するnビット
演算部と、データを合成、符号拡張又はローテートする
データ処理部と、nビット演算部が出力するデータの種
類を評価する出力データ評価部とを備えることを特徴と
するものである。
(作用) 例えばレジスタに格納されているデータ構成が32ビッ
トより少ないビット数の整数の場合は、構成ビット数毎
にデータを切り出して符号を追加して32ビット構成のデ
ータとして演算を行い、演算後のデータの条件の評価を
してフラグ設定をする。外部記憶回路にデータを格納す
る場合には前記演算後の符号拡張されたデータを原構成
ビット数のデータに復元してそれを複数個合成し32ビッ
トデータとする。
(実施例) 以下、図面を参照して本発明の実施例を詳細に説明す
る。
第1図は本発明の一実施例のブロック図である。図に
おいて、第4図と同等の部分には同一の符号を付してい
る。図中、6は8ビット(バイト)データや16ビット
(ワード)データに対し32ビット演算を行うために32ビ
ット構成のデータとし、又、データ保存の際のメモリの
使用効率を高める等のためにデータの合成,分解,符号
拡張及びローテーションなどの処置を施すバイト・ワー
ド回路、7はALU2において演算した結果のデータの条件
について評価し、ビット対応のフラグをセットする出力
評価回路である。8は繰り返し演算を行う場合の繰り返
し回数を数えるループカウンタである。
上記のように構成された実施例の動作を説明する。演
算に関する命令を受けた制御回路5の制御命令によりレ
ジスタファイル1はデータを取り込んで格納する。演算
しようとするデータを読み出した時そのデータが32ビッ
トデータである場合、ALU2は32ビットの整数演算又は論
理演算を実行する。データが8ビットデータか16ビット
データである場合、レジスタファイル1はバイト・ワー
ド回路6にデータを送り込む。図中、レジスタファイル
1から出力されるデータバスのRとSは区別するために
付したもので、特別な差はない。
バイト・ワード回路6は入力された8ビットデータか
16ビットデータに対し、次のようなデータ処理を行う。
a.16ビットデータの合成と分解 (i)Sデータの下16ビットをRデータの下16ビットに
合成する。
(ii)Sデータの下16ビットをRデータの上16ビットに
合成する。
(iii)Sデータの下16ビットを符号拡張して32ビット
データとする。符号拡張の一例を第2図に示す。第2図
は説明の簡単化のため8ビットデータを符号拡張して16
ビットデータにする例を示している。(イ)図は8ビッ
トの最上位が符号ビットで“+105"の8ビット2進表示
である。符号拡張処理は上の8ビットに正の符号ビット
の0を追加して16ビットとしたデータである。(ロ)図
は“−35"の8ビット2進表示において、上の8ビット
に負の符号の1を8個追加して16ビットとした整数であ
る。この例のようにして符号拡張をして32ビットのデー
タにする。
(iv)Sデータの上16ビットを符号拡張して32ビットデ
ータにする(第3図参照)。
b.8ビットデータの合成,分解 32ビットのデータ構成を8ビット毎に例えば次のよう
に名付けて説明する。
R(31〜24),R(23〜16),R(15〜8),R(7〜0) (v)Sデータの下8ビットをRデータのR(7〜0)
に合成する。
(vi)Sデータの下8ビットをRデータのR(15〜8)
に合成する。
(vii)Sデータの下8ビットをRデータのR(23〜1
6)に合成する。
(viii)Sデータの下8ビットをRデータのR(31〜2
4)に合成する。
(ix)SデータのS(7〜0)を符号拡張して32ビット
データにする。
(x)SデータのS(15〜8)を符号拡張して32ビット
データにする。
(xi)SデータのS(23〜16)を符号拡張して32ビット
データにする。
(xii)SデータのS(31〜24)を符号拡張して32ビッ
トデータにする。
c.8ビット単位のローテーション (xiii)Sデータを左へ8ビットローテートシフトす
る。
(xiv)Sデータを左へ16ビットローテートシフトす
る。
(xv)Sデータを左へ24ビットローテートシフトする。
以上の15種類の命令を実行することができる。
出力評価回路7はALU2の出力バスのデータを次に記す
条件に付いて評価し、8ビット構成の各ビットに対応し
たフラグをセットしている。
(1)出力が全部0である。(第1ビットに1を表示) (2)出力が16ビットの2の補数表示のデータではない
(上16ビットと下16ビットの最上位のビット(MSB)が
全部0又は1ではい)。(第2ビットに1を表示) (3)出力が16ビットの2の補数データで正である(上
位17ビットが0である)。(第3ビットに1を表示) (4)出力が16ビットの2の補数データで負である。
(第4ビットに1を表示) (5)出力が8ビットの2の補数データではない。(第
5ビットに1を表示) (6)出力が8ビットの2の補数データで正である。
(第6ビットに1を表示) (7)出力が8ビットの2の補数データで負である。
(第7ビットに1を表示) (8)ループカウンタ8の値が0である。(第8ビット
に1を表示) 次に16ビットのデータを例としてその演算について説
明する。16ビットデータが32ビットデータに合成されて
いるデータが入力されてレジスタファイル1に格納され
る。制御回路5に入力される演算命令による制御信号に
よって前記データはバイト・ワード回路6に入力され
る。バイト・ワード回路6においてレジスタファイル1
から入力されたデータは、制御命令によりSデータの下
16ビットか上16ビットに分解されて、例えば上16ビット
が符号拡張によって32ビットデータにされる。このデー
タは第3図に示すようになる。符号拡張されたデータは
バイト・ワード回路6から出力されてレジスタファイル
1に格納され、制御命令によって32ビットデータとして
ALU2において演算される。演算結果は出力バスに出力さ
れ、繰り返し演算を行う場合はループカウンタ8により
カウントされてレジスタファイル1に戻され、ALU2にお
ける演算を継続される。演算が終了した場合、出力評価
回路7はデータを評価してそのデータについての条件フ
ラグを制御回路5に設定する。
演算の終ったデータを外部メモリに格納する場合、デ
ータはレジスタファイル1に戻され、バイト・ワード回
路6に送られる。制御回路5は前記の条件フラグに基づ
いてデータの処理方法を判断し、バイト・ワード回路6
に制御信号を送る。バイト・ワード6はデータ2個に対
しデータ処理(i)と(ii)を実行して32ビットデータ
に合成し、出力レジスタ4に出力する。出力レジスタ4
は外部回路の出力制御信号により格納したデータを外部
に出力する。
8ビット入力データの場合も同様な動作をして演算を
行い、8ビットデータ4個を合成したデータを出力して
メモリに格納する。16ビットデータの場合や8ビットデ
ータの場合も合成する必要がなければ合成しないで出力
するのは当然である。
入力データが例えば32ビット構成のデータ中に8ビッ
トデータ,16ビットデータ,8ビットデータと混在してい
た場合、前記15個のデータ処理では16ビットのデータが
取り出せないので、データ処理(xiii)〜(xv)を用い
て左へローテートシフトして取り出し得るようにする。
S(7−0)のデータを保持しながら16ビットのデータ
を下16ビットに入れたい場合にはS(7−0)を8ビッ
ト若しくは24ビットローテートシフトするとよい。レジ
スタファイル1への入力データが32ビットの場合はALU2
において演算する通常の動作を行うのみである。
出力評価回路7の評価によりALU2の出力データの性質
が分り、そのフラグによりデータを合成して圧縮する必
要があるかどうかの判断をホストCPUにさせることがで
きる。又、出力が0であるという評価はブランチ設定等
に役立てることができる。
制御命令による入力データの取り込みや、演算したい
データをレジスタファイル1から読み出すことや、その
データの演算指定,出力評価,ループカウンタ制御等の
動作は1システムクロック内で同時に制御される。従っ
て、読み出し書き込みの遅い外部メモリに対しては時間
遅れなく対応できる。
バイト・ワード回路6が行う8ビット,16ビットデー
タの32ビットデータへの変換や8ビットデータ,16ビッ
トデータの合成はそれぞれ1命令で行うことができる。
以上本実施例によれば、8ビット,16ビットデータの
扱いが高速に実行できるようになった。又、データの圧
縮を行うことができるようになり、メモリの使用効率を
上げることができるようになった。更に、出力評価回路
を用いて条件フラグを設定することによりデータの圧縮
を行うための指針として便利に使用できると共に、条件
フラグにより多枝選択をすることができるようになり、
データ圧縮を行うための選択が容易になって高速にデー
タ圧縮ができるようになった。
尚、本発明は上記実施例に限定されるものではない。
実施例ではループカウンタを用いていたが、なくても差
し支えない。又、8ビットや16ビットの正の整数(0を
含む)データのみを扱うようにしてもよく、又、正負の
整数データを扱う場合と正の整数データのみを扱う場合
とを切り替えて使用するようにしてもよい。又、扱う数
も8ビットと16ビットで説明したが4ビットの整数を扱
うようにすることもできる。
(発明の効果) 以上詳細に説明したように本発明によれば、nビット
演算装置によってn/4ビットやn/2ビット等のビット数の
少ないデータを高速に処理することができる。
【図面の簡単な説明】
第1図は本発明の一実施例のブロック図、第2図は符号
拡張の説明図で、(イ)図は正の数、(ロ)図は負の数
の場合を示す。第3図は上16ビットのデータを符号拡張
する場合の説明図、第4図は従来の32ビット整数演算器
の図である。 1……レジスタファイル、2……ALU 3……直接入力レジスタ、4……出力レジスタ 5……制御回路 6……バイト・ワード回路、7……出力評価回路

Claims (1)

    (57)【特許請求の範囲】
  1. 【請求項1】入力されたデータを格納するレジスタであ
    って、該データを選択的に出力するレジスタと、 前記レジスタからデータを受け取り、該データに対して
    nビットの演算を行い、その演算結果を出力するnビッ
    ト演算部と、 前記レジスタからデータを受け取り、該データに対して
    合成、分解、符号拡張又はローテートの処理を行い、そ
    の処理結果を出力するデータ処理部と、 前記nビット演算部又は前記データ処理部からのデータ
    及び後記ループカウンタの値を受け取り、該データの性
    質及び後記ループカウンタの値に応じて条件フラグを出
    力する出力データ評価部と、 前記nビット演算部、前記データ処理部及び前記出力デ
    ータ評価部と前記レジスタとの間に接続されており、前
    記nビット演算部又は前記データ処理部から前記レジス
    タへのデータの流れの繰り返し演算を行う場合にその繰
    り返し回数を数えるループカウンタと、 前記出力データ評価部から出力された条件フラグの内容
    に応じて前記nビット演算部及び前記データ処理部にお
    けるデータの処理方法を選択し、該選択された処理方法
    に応じて前記レジスタ、前記nビット演算部、前記デー
    タ処理部、前記出力データ評価部及び後記出力レジスタ
    を制御する制御部と、 前記nビット演算部又は前記データ処理部からのデータ
    を格納し外部に出力する出力レジスタとを備えているこ
    とを特徴とするnビット演算装置。
JP63047163A 1988-02-29 1988-02-29 nビット演算装置 Expired - Fee Related JP3055558B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP63047163A JP3055558B2 (ja) 1988-02-29 1988-02-29 nビット演算装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP63047163A JP3055558B2 (ja) 1988-02-29 1988-02-29 nビット演算装置

Publications (2)

Publication Number Publication Date
JPH01220026A JPH01220026A (ja) 1989-09-01
JP3055558B2 true JP3055558B2 (ja) 2000-06-26

Family

ID=12767404

Family Applications (1)

Application Number Title Priority Date Filing Date
JP63047163A Expired - Fee Related JP3055558B2 (ja) 1988-02-29 1988-02-29 nビット演算装置

Country Status (1)

Country Link
JP (1) JP3055558B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102884505B (zh) * 2011-04-08 2016-01-20 松下电器产业株式会社 数据处理装置和数据处理方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5394133A (en) * 1977-01-28 1978-08-17 Hitachi Ltd Data converter
JPS62214480A (ja) * 1986-03-15 1987-09-21 Fujitsu Ltd 画像演算処理回路

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
「インターフェース」1987年6月号 P.230−232

Also Published As

Publication number Publication date
JPH01220026A (ja) 1989-09-01

Similar Documents

Publication Publication Date Title
US4525796A (en) Pipelined operation unit for vector data
JPH09507596A (ja) 大多重化スーパスカラー・ハーバード・アーキテクチャ・コンピュータ
JPS6097435A (ja) 演算処理装置
JPH0145649B2 (ja)
JP2551167B2 (ja) マイクロコンピュータ
JP3055558B2 (ja) nビット演算装置
JPH034936B2 (ja)
US5596761A (en) Central processing unit with internal register initializing means
JPH0831033B2 (ja) データ処理装置
JP3043861B2 (ja) データ処理装置
JP2624738B2 (ja) 丸め処理方式
JP2606580B2 (ja) 数値データ演算方法
JPH0991118A (ja) 浮動小数点演算装置
JPS5856040A (ja) デ−タ処理装置
US5751623A (en) Digital computer for adding and subtracting
JPS61109139A (ja) 演算装置
JP2654062B2 (ja) 情報処理装置
JP2650271B2 (ja) 輪郭情報の格納方法
JP3776652B2 (ja) ベクトル演算装置
JPS61177540A (ja) ストリングデ−タ制御回路
JPH01114951A (ja) マイクロコンピュータ
Chow et al. MAC‐4: A Single‐Chip Microcomputer
Lee The Memory
JPH0566922A (ja) 10進演算回路
JPS6138493B2 (ja)

Legal Events

Date Code Title Description
R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees