JPH1055304A - 中央演算処理装置 - Google Patents

中央演算処理装置

Info

Publication number
JPH1055304A
JPH1055304A JP17795396A JP17795396A JPH1055304A JP H1055304 A JPH1055304 A JP H1055304A JP 17795396 A JP17795396 A JP 17795396A JP 17795396 A JP17795396 A JP 17795396A JP H1055304 A JPH1055304 A JP H1055304A
Authority
JP
Japan
Prior art keywords
register
data
bit
processing unit
constant value
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.)
Granted
Application number
JP17795396A
Other languages
English (en)
Other versions
JP3541863B2 (ja
Inventor
Kazuhiko Hara
和彦 原
Shinichi Yamaura
慎一 山浦
Keiichi Yoshioka
圭一 吉岡
Keiji Nakamura
圭治 中村
Takao Katayama
貴雄 片山
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.)
Ricoh Co Ltd
Original Assignee
Ricoh Co 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 Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to JP17795396A priority Critical patent/JP3541863B2/ja
Publication of JPH1055304A publication Critical patent/JPH1055304A/ja
Application granted granted Critical
Publication of JP3541863B2 publication Critical patent/JP3541863B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Executing Machine-Instructions (AREA)

Abstract

(57)【要約】 【課題】 上位機の中央演算処理装置が下位機のアドレ
ッシングを持つことなく(即ち、互換のためだけに下位
機のアドレッシングを持つことなく)、アドレッシング
に互換性を持たせることを目的とする。 【解決手段】 第1のレジスタ1のビット長(32ビッ
ト)に満たないデータ(16ビット)を第1のレジスタ
1に格納するときに、第1のレジスタ中の満たされない
ビット位置(上位側の16ビット)に第2のレジスタ2
又は第1の定数値発生器3aから8ビットのデータを与
え、更に第2の定数値発生器3bからその残りの8ビッ
トのデータを与えるように構成した。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、中央演算処理装置
に関する。
【0002】
【従来の技術】レジスタをポインタとしてデータを参照
するアドレッシングを、インダイレクトアドレッシング
という。16ビットの汎用レジスタW0 を備えたCPU
(CPU1とする)において、上記レジスタインダイレ
クトアドレッシングを行う場合、メモリのアクセス可能
な番地は、0000h〜FFFFhであり、その範囲は
64Kバイト(=216)となる。例えば、“1234
h”というアドレスは16ビットで表され、16ビット
の汎用レジスタW0 に上記アドレスが格納されていれ
ば、汎用レジスタW0 をポインタとしてアドレッシング
することができる。
【0003】一方、メモリのアクセス可能範囲を拡張す
る方法としてバンクアドレス方式が知られている。この
バンクアドレス方式は、下位ビットのアドレスデータを
汎用レジスタW0 に格納し、上位ビットのアドレスデー
タをデータバンクレジスタDBRに格納し、このデータ
バンクレジスタDBRと前記汎用レジスタW0 の両方の
データを合わせてアドレスを表す方法である(特開昭6
4−91254号公報、特開昭62−89294号公
報、特開昭51−132047号公報、特開平1−92
851号公報、及び特開平3−204029号公報参
照)。
【0004】前記バンクアドレス方式を用いたレジスタ
インダイレクトアドレッシングを以下に説明する。例え
ば、“123456h”というアドレスのように、汎用
レジスタW0 のサイズ(16ビット)を越える場合に
は、下位16ビットの“3456h”は16ビットの汎
用レジスタW0 に格納し、上位8ビットの“12h”は
データバンクレジスタDBRに格納する。そして、命令
側で下位16ビットのアドレスを持つ汎用レジスタW0
指定するとともに、データバンクレジスタDBRから上
位8ビット分のデータを出力させればよい。上記のごと
く、データバンクレジスタDBRが8ビットで汎用レジ
スタW0 が16ビットであれば、8+16=24ビット
で表現可能な数値、即ち224=16Mバイトのメモリ空
間をアクセスすることが可能となる。
【0005】ここで、32ビットの汎用レジスタW1
備えたCPU(CPU2とする)においては、CPU2
でレジスタインダイレクトアドレッシングを行うときに
は、汎用レジスタW1 が32ビットサイズであるので、
データバンクレジスタDBRを用いること無く、64K
バイトのアクセス可能範囲を越える範囲のメモリをアク
セスすることができる。即ち、前述した“123456
h”という32ビットのアドレスは、そのまま32ビッ
トの汎用レジスタW1 に格納されるので、データバンク
レジスタDBRは使用しなくてよいことになる。
【0006】一方、上記のCPU2がCPU1の上位互
換機(CPU2はCPU1の上位機種としてCPU1の
プログラムを実行できるが、CPU2のプログラムをC
PU1が必ずしも実行できるとは限らない関係)である
場合、CPU2はCPU1のプログラムが実行可能であ
ることが要求されるので、当然ながらデータバンクレジ
スタDBRがCPU2のプログラミングモデルに含まれ
ることになる。従って、CPU2においても、データバ
ンクレジスタDBRを使ったレジスタインダイレクトア
ドレッシングも可能である必要がある。
【0007】
【発明が解決しようとする課題】しかし、上位互換を可
能とするために、レジスタサイズが16ビットのインダ
イレクトアドレッシングと、レジスタサイズが32ビッ
トのインダイレクトアドレッシングの両方可能なCPU
2を持つとすれば、インダイレクトアドレッシングの種
類が増えることになる。しかも、このアドレッシング
は、レジスタの数(レジスタインダイレクトアドレッシ
ングで使用されるべきレジスタを何番から何番まで指定
できるかということ)を乗算した数に増えてしまう。こ
のようにアドレッシングの種類が増えると、例えば命令
コード長が増大するあるいは命令の種類が減るといった
問題を生じる。
【0008】本発明は、上記の事情に鑑み、レジスタサ
イズが拡張された上位互換機のCPUであって、下位機
のCPUがバンクレジスタでアドレッシングを行うもの
である場合、上位機のCPUが下位機のアドレッシング
を持つことなく(即ち、互換のためだけに下位機のアド
レッシングを持つことなく)、アドレッシングに互換性
を持たせることを目的とする。
【0009】
【課題を解決するための手段】ここで、当該中央演算処
理装置(CPU)が、上位機として上位機のプログラム
を処理する場合を考えると、前記の第1レジスタが32
ビットであるとして当該レジスタに対してその下位側に
16ビットのデータを書き込むときには、上位側の16
ビットは意味のないデータであり、この第1のレジスタ
から32ビットのデータ全体を読み出すことはない。即
ち、32ビットの第1のレジスタの下位側の16ビット
データを書き換えたときは、当該レジスタはレジスタイ
ンダイレクトアドレッシングで使用されることはない。
【0010】一方、当該中央演算処理装置が上位機とし
て下位機のプログラムを処理する場合、16ビットのデ
ータの書換えを行うことは当然であり、この16ビット
のデータの書換えを行った第1のレジスタもレジスタイ
ンダイレクトアドレッシングで使われる可能性がある。
そして、このレジスタインダイレクトアドレッシング
は、上記第1のレジスタの16ビットのデータに、デー
タバンクレジスタDBR(第2のレジスタ)のデータ
(このデータは一度セットされると固定的に保持される
ので、以下固定値とう場合がある)を付加する処理に相
当するが、この処理は、32ビットの第1のレジスタの
上位側16ビットに第2のレジスタのデータをコピーし
ておいて、当該コピーがなされた第1のレジスタの32
ビットのデータをそのまま出す処理でよいことになる。
【0011】本発明の中央演算処理装置は、第1のレジ
スタと、前記第1のレジスタよりもビットサイズが小さ
い第2のレジスタとを備え、第1のレジスタのビット長
(32ビット)に満たないデータ(16ビット)を第1
のレジスタに格納するときに、第1のレジスタ中の満た
されないビット位置(上位側の16ビット)に前記第2
のレジスタから、例えば16ビットのデータを与えるよ
うに構成した。
【0012】ここで、上位機のプログラムにおけるレジ
スタインダイレクトアドレッシングでは、第1のレジス
タに32ビットデータが書き込まれ、その32ビットの
データがアドレスとして出力される。一方、第1のレジ
スタに16ビットデータが書き込まれたときには、第1
のレジスタの上位側に第2レジスタからの16ビットデ
ータが与えられ、16ビットデータを拡張した32ビッ
トデータとして記憶される。従って、第1のレジスタに
16ビットデータを記憶させる下位機のプログラムにお
いても、レジスタインダイレクトアドレッシングを32
ビットデータのときと共通の処理とすればよいことにな
る。
【0013】第の1レジスタ中の満たされないビット位
置(上位側の16ビット)に前記第2のレジスタから例
えば16ビットデータを与える処理が一つの命令でなさ
れるようにしてもよい。
【0014】即ち、前記の第2のレジスタのデータが変
更されたときには、第1のレジスタの上記第2のレジス
タのデータに相当する上位側のデータも変更されるべき
である。しかし、通常の命令ではバンクレジスタ(第2
のレジスタに相当)の内容は汎用レジスタ(第1のレジ
スタに相当)の下位に転送されるので、この下位側にデ
ータが転送された後に汎用レジスタのシフト動作が必要
になり、命令が二つ以上必要になる。命令数削減のため
には当該処理を一つの命令で行うことが望まれる。例え
ば、第1のレジスタの上位側の16ビット位置の入力接
点に第2のレジスタの出力接点を接続しておき、第1の
レジスタのデータを読み出してこれに“0”を加算し、
この加算結果を再び第1のレジスタに転送させる命令を
持つことにより、当該一つの命令により、第2のレジス
タの内容が前記加算結果に自動的にくっついて第1のレ
ジスタの上位側の16ビット位置に自動的に格納され
る。
【0015】前記第2のレジスタを8ビットサイズにす
るとともに、上位側の残り8ビットに特定の定数値(例
えば、0)を与える定数値発生器を設けてもよい。これ
によれば、第2のレジスタを16ビットサイズのレジス
タとする必要がなく、第2のレジスタとしてビットサイ
ズの小さいものを用いることができる。
【0016】第の1レジスタ中の満たされないビット位
置(上位側の16ビット)に前記第2のレジスタからデ
ータ(固定値)を与えるか、又は“0”等の定数値を発
生する定数値発生器(以下、第1の定数値発生器とい
う)から特定の定数値を与えるかをモードフラグにより
決定するように構成してもよい。
【0017】この構成は、下位機の中央演算処理装置が
処理するアプリケーションプログラムによっては、モー
ドフラグにより、下位16ビットの上に置かれる(付加
される)上位ビットの値を任意の固定値とするか又は
“0”等の定数値とするかが決まる場合があることを考
慮したものである。このような場合には、下位機の中央
演算処理装置であれば、アドレスを出す瞬間に最終アド
レスを作ればよい。しかし、本発明の上位機の中央演算
処理装置は、第1のレジスタに下位16ビットデータを
転送するときに上位ビットとして任意の固定値か又は定
数値を入力する必要があるが、この場合には、第2のレ
ジスタにおいて固定値を定数値に書き換えるのは好まし
くない。そこで、第2のレジスタと第1の定数値発生器
を用意し、転送のときに前記モードフラグに対応してど
ちらかを選択するようにした。これにより、第2のレジ
スタは固定値用として常に用いることができ、定数値に
書き換えるといった必要がなくなる。
【0018】なお、第2のレジスタが8ビットサイズ、
第1の定数値発生器が8ビットサイズであるとすると
き、これらの8ビットサイズでは上位側の16ビットの
全てを満たさないので、上位側の残り8ビットに“0”
等の特定の定数値を与えるための前述の定数値発生器
(以下、第2の定数値発生器という)を設けてもよい。
【0019】第1のレジスタが複数のレジスタから成
り、これら複数のレジスタのうちの特定のレジスタにつ
いては、前記モードフラグによる固定値と定数値の設定
が他のレジスタと異なるように構成されていてもよい。
【0020】これは、複数のレジスタを備える場合に各
々のレジスタの使い分けをする場合があり(レジスタ使
用規約)、この場合に前記特定のレジスタがその上位側
のデータに固定値ではなく定数値を設定される場合(例
えば、当該特定のレジスタをレジスタインダイレクトア
ドレッシング用として使用しない場合)があるが、本構
成であれば、そのような場合に対処できる。
【0021】更に、データ転送処理の対象となる任意の
レジスタを前記命令で選択できるようにしてもよい。例
えば、第1のレジスタが4つのレジスタからなる場合
に、4ビットのデータで“0が”対象外、“1”が対象
であるとしたデータを命令により与える。
【0022】このように、第1のレジスタを構成する複
数のレジスタの任意のレジスタを1回の命令で指定し、
任意のレジスタのバンクアドレスに相当するビット位置
のデータをバンクレジスタの値とすることができる。
【0023】第2のレジスタをダイレクトアドレッシン
グ(アブソリュート)時のバンクアドレスとして用いる
構成としてもよい。
【0024】これによれば、アドレスを直接命令で指定
するダイレクトアドレッシングにおいて、バンク方式
(バンクレジスタのデータを指定アドレスの上位に追加
してアドレスを生成する方式)が、上記バンクレジスタ
を新たに設けることなく、上記の第2のレジスタによっ
て行うことができる。
【0025】第2のレジスタをダイレクトアドレッシン
グ(アブソリュート)時のバンクアドレスとして用いる
構成において、この第2のレジスタと“0”等の定数値
を発生する第1の定数値発生器のいずれのデータを選択
するかをモードフラグの値に応じて決定し、且つこの決
定パターンが、インダイレクトアドレッシングの場合の
第1のレジスタに対する転送データ選択パターンと同じ
パターンであるように構成してもよい。
【0026】このように、ダイレクトアドレッシングに
おいて、モード設定で第2のレジスタと第1の定数値発
生器の選択を行うから、定数値を使用する場合でも第2
のレジスタのデータを定数値に一々書き換える必要はな
い。更に、バンクアドレスを発生させるときと第1のレ
ジスタへデータを格納するときとで決定パターンが同じ
であるので、インダイレクトアドレッシングとダイレク
トアドレッシングでバンク値は一致することになる。
【0027】また、第1のレジスタ中の満たされないビ
ット位置に前記第2のレジスタからデータ(固定値)を
与えるデータ転送処理が、特定のビットサイズの演算の
場合にのみ行われるように構成されていてもよい。例え
ば、第1のレジスタが32ビットの場合、その上位デー
タが得られない演算のデータサイズは、例えば、8ビッ
トと16ビットとなるが、上位データに固定値が必要な
演算が前記2種類のサイズのうちの16ビットサイズの
場合だけである場合、固定値を必要としない8ビットサ
イズの演算では上位データに前回値を残すことにより、
前回値を利用できるようになる。
【0028】また、上記のように、8ビットサイズの演
算では、下位16ビットのうちの8ビットだけを使うこ
とになり、レジスタの使用効率が良くない。そこで、か
かる場合には、第1のレジスタの下位16ビット部分を
8ビット毎に二つに分割して独自の8ビットレジスタを
二つ持つがごとく構成した。これにより、レジスタ使用
効率を高めることができる。
【0029】
【発明の実施の形態】以下、本発明の実施の形態を図に
基づいて説明する。
【0030】(実施の形態1)図1は本発明の中央演算
処理装置の概略構成を示した回路図である。汎用レジス
タ(第1のレジスタ)1は、32ビットサイズを有し、
データバス13からのデータCを入力し、データバス1
1,12にデータA,Bを出力する。第2レジスタ2
は、8ビット幅を有し、データバス11からのデータA
を入力し、データバス13にデータCを出力する。第1
定数値発生器3a及び第2の定数値発生器3bは、それ
ぞれ8ビット幅を有し、例えば“00000000”と
いった定数値を発生する回路であり、当該定数値をデー
タバス13に出力する。第2レジスタ2及び第1,第2
定数値発生器3a,3bは、データ補填制御装置10に
より制御される。演算器4は32ビットの算術論理演算
装置であり、データバス11からのデータAとデータバ
ス12からのデータBとを入力して演算を実行し、演算
結果をデータバス13に出力する。プロセッサステータ
スレジスタ5は、データバス11からのデータAを入力
し、後述するモードフラグをセットする。以下、各要素
の具体的構成を説明する。
【0031】図2は、汎用レジスタ1及びこれを制御す
る書込信号発生器6を示した回路構成図である。なお、
出力構成部分は省略して示している。また、図中の1a
は汎用レジスタ1の一部(1ビット分)を示している。
汎用レジスタ1は、データバス13からのデータC0〜
C31を入力し、書込信号Dと書込信号Eとによってデ
ータCの所定ビット部分を書き込むようになっている。
書込信号発生器6は、書込信号とサイズ信号を入力し、
これら書込信号とサイズ信号によって前記の書込信号
D,Eの生成を制御する。書込信号Dは下位8ビット
(C0〜C7)の書き込みを制御し、書込信号Eは上位
24ビット(C8〜C31)の書き込みを制御する。こ
の制御では、汎用レジスタ1の0〜7ビット(下位8ビ
ット)の位置に書き込むか、第1レジスタ1の0〜31
ビット(全32ビット)の位置に書き込むかの二通りの
書き込み選択がなされる。
【0032】なお、実施の形態としては、上記図2のよ
うに、汎用レジスタ1が一つである形態も考えられる
が、汎用レジスタ1が複数である形態が実際的であるの
で、この実施の形態では、後述するように(図7に汎用
レジスタ1が複数である場合を示している)、汎用レジ
スタ1が複数設けられることとして説明する。
【0033】図3は、第2のレジスタ2の回路構成図で
ある。なお、入力構成部分は省略して示している。第2
のレジスタ2は、各データ線に直列にスリーステートバ
ッファ2aを備える。そして、各スリーステートバッフ
ァ2a…に前記のデータ補填制御装置10からのコント
ロール信号S1を入力することにより、データの出力と
非出力とが選択されるようになっている。また、第2の
レジスタ2の各データは、データバス13の第16ビッ
ト〜第23ビットに対応するラインに出力される(デー
タC16〜C23)。即ち、汎用レジスタ1への入力の
上位側の16ビット(データC16〜C31)のうちの
データC16〜C23の入力ビット位置に第2のレジス
タ2の出力接点が直接繋がれている。
【0034】図4(a)は、第1定数値発生器3aの回
路構成図であり、同図(b)は第2定数値発生器3bの
回路構成図である。第1定数値発生器3aは、データバ
ス13の第16ビット〜第23ビットの部分へのデータ
C16〜C23として定数値(例えば、“000000
00”)を出力する。また、第2定数値発生器3bは、
データバス13の第24ビット〜第31ビットの部分へ
のデータC24〜C31として定数値(例えば、“00
000000”)を出力する。定数値の出力制御は、前
記のデータ補填制御装置10からのコントロール信号S
2,S3により行われる。第1定数値発生器3aを設け
たことにより、データバス13の第16ビット〜第23
ビットの部分(演算器4の16ビット出力の上の8ビッ
ト)に置かれる(付加される)値を任意の固定値とする
か“0”等の定数値とするかを選択できる。また、第2
定数値発生器3bを設けたことにより、第2のレジスタ
2を16ビットサイズのレジスタとする必要がなく、前
記第2のレジスタ2として8ビットの小さいものを用い
ることができる。
【0035】図5は、演算器4の回路構成図である。な
お、データ入力構成部分は省略している。演算器4は、
データバス13へ演算結果であるデータC0〜C31を
出力する。データC0〜C15までの部分と、データC
16〜C31までの部分は、それぞれ出力制御信号F,
Gによって出力するか否かが制御される。具体的には、
データC0〜C15の部分である下位16ビットのみを
出力するか、データC0〜C31の全32ビットを出力
するかが切り換えられる。
【0036】図6は、プロセッサステータスレジスタ5
の回路構成図である。このプロセッサステータスレジス
タ5は、データバス11からのデータA0〜A7を入力
し、データM0,M1を出力する。このデータM0,M
1は、データA4,A5に対応するレジスタ5の出力信
号である。以下、このデータM0,M1をモードフラグ
M0,M1と呼ぶ。
【0037】図7は、4つの汎用レジスタ1A〜1D、
及びレジスタ選択書込装置9を示した回路図である。レ
ジスタ選択書込装置9は、書込信号と、レジスタ選択信
号(汎用レジスタ1A〜1Dのいずれかを示す信号)
と、サイズ信号(8ビット、16ビット、32ビットを
区別する信号)とを入力し、選択された汎用レジスタに
書込信号D,E(図2で説明した信号と同じである)を
出力するようになっている。
【0038】図8は、データ補填制御装置10、第2の
レジスタ2、及び第1,第2の定数値発生器3a,3b
の関係を示した回路図である。データ補填制御装置10
は、モードフラグM0,M1と、レジスタ選択信号(図
7の説明と同様)と、サイズ信号(図7の説明と同様)
とを入力し、第2のレジスタ2、及び第1,第2の定数
値発生器3a,3bの選択制御を行う。具体的内容につ
いては後述する。
【0039】次に、中央演算処理装置の動作を、演算器
4の演算結果を汎用レジスタ1に格納する場合を例に説
明する。
【0040】演算器4からの32ビットの演算結果の全
て(データC0〜C31)を汎用レジスタ1に転送する
処理は、以下のようにして実行できる。即ち、演算器4
の出力幅は出力制御信号F,Gによって決まるので、こ
れら出力制御信号F,Gにより演算器4の出力幅の全ビ
ットを選択する。また、汎用レジスタ1では、書込信号
D,Eにより全ビットを書き込むようにしておく。これ
により、演算結果であるデータC0〜C31は、データ
バス13を経由し、汎用レジスタ1のビット位置0〜3
1に入力される。
【0041】演算器4からの演算結果の下位8ビット
(データC0〜C7)を汎用レジスタ1に転送する場合
は、出力制御信号F,Gにより演算器4の下位16ビッ
ト(データC0〜C15)を選択する。また、汎用レジ
スタ1では、書込信号D,Eにより下位8ビット(デー
タC0〜C7)を書き込むようにしておく。これによ
り、演算結果の8ビットは、データバス13を経由し、
汎用レジスタ1のビット位置0〜7に入力される。この
場合、汎用レジスタ1のビット位置8〜31にはデータ
は書き込まれない。
【0042】なお、演算器4からの演算結果の下位8ビ
ット(データC0〜C7)を汎用レジスタ1に転送する
ことは、汎用レジスタ1のビット長に満たないデータを
汎用レジスタ1に格納する場合に相当するが、この実施
の態様では、下位8ビット転送の場合には、本発明の第
2のレジスタ2のデータを汎用レジスタ1に転送するこ
とはしない。
【0043】演算器4から演算結果の下位16ビット
(データC0〜C15)を汎用レジスタ1に転送する場
合は、出力制御信号F,Gにより演算器4の下位16ビ
ット(データC0〜C15)を選択するとともに、上記
の下位8ビット転送の場合とは異なり、汎用レジスタ1
では、書込信号D,Eにより全32ビット(データC0
〜C31)を書き込むようにしておく。そして、コント
ロール信号S1,S2,S3により、第2レジスタ2の
データC16〜C23又は第1の定数値発生器3aのデ
ータC16〜C23のいずれかを出力するとともに、第
2の定数値発生器3bのデータC24〜C31を出力さ
せる。これにより、汎用レジスタ1のデータC0〜C1
5として演算器4の演算結果が格納され、汎用レジスタ
1のデータC16〜C31として第2のレジスタ2など
のデータが格納される。
【0044】前記コントロール信号Sは、前述したよう
に、モードフラグM0,M1と、レジスタ選択信号と、
サイズ信号とにより、データ補填制御装置10から出力
される。図9は、コントロール信号Sの内容自体ではな
く、モードフラグM0,M1と、レジスタ選択信号と、
サイズ信号とに基づく第2のレジスタ2などの出力の許
否態様を示している。
【0045】このように、汎用レジスタ1のビット長
(32ビット)に満たない16ビットデータを汎用レジ
スタ1に格納するとき(その判断は、前記サイズ信号で
判断できる)、汎用レジスタ1中の満たされない上位側
の16ビット位置に前記第2のレジスタ2から8ビット
のデータC16〜C23が与えられる。また、汎用レジ
スタ1の上位側(第16ビット〜第23ビット部分)に
第2のレジスタ2のデータC16〜C23を格納する処
理は、汎用レジスタ1の下位側16ビットにデータを格
納する処理と同時に行うことができる。また、この処理
は、汎用レジスタ1の上位側の16ビットのうちの8ビ
ット(データC16〜C23が入力されるべき部分)に
第2のレジスタ2の出力部分を接続してあるので、一つ
の命令で前述の書込信号等を生成して第2のレジスタ2
のデータや第1の定数値発生器3aの出力を汎用レジス
タ1に転送させることができる。
【0046】また、図9に示したように、複数設けた汎
用レジスタ1A〜1Dのうち、汎用レジスタ1Bと、こ
れ以外の汎用レジスタ1A,1C,1Dとの間では、モ
ードフラグM0,M1による第2のレジスタ2のデータ
(図9ではDBRとしている)と第1の定数値発生器3
aのデータの選択態様を異ならせている。
【0047】具体的には、(M1,M0)が(0,1)
のとき、汎用レジスタ1Bについては、第2のレジスタ
2のデータを出力しないで第1の定数値発生器3aのデ
ータを出力するが、汎用レジスタ1B以外の汎用レジス
タ1A,1C,1Dについては、第1の定数値発生器3
aのデータを出力しないで第2のレジスタ2のデータを
出力するようにしている。これにより、複数の汎用レジ
スタ1A〜1Dを備える場合に各々のレジスタの使い分
けをするレジスタ使用規約にも対応することができる。
【0048】以上説明したように、32ビットデータは
常に32ビットで汎用レジスタ1に記憶され、8ビット
データは常に8ビットで汎用レジスタ1に記憶される。
一方、16ビットデータは常に上位16ビットを拡張し
た32ビットデータとして汎用レジスタ1に記憶され
る。そして、拡張部分は、第2のレジスタ2(バンクレ
ジスタ)の内容或いは“00h”のなどの定数になって
いて、その内容はモードフラグやレジスタ番号によるレ
ジスタ間の差を反映させた状態となっている。そのた
め、16ビットデータで記憶させたレジスタ内容を使う
レジスタインダイレクトアドレッシング時でも32ビッ
トデータの時と共通の処理で可能である。
【0049】(実施の形態2)第2のレジスタ2のデー
タを、ダイレクトアドレッシングにおいてバンクデータ
として使用することができるようにしている。ダイレク
トアドレッシングとは、外部メモリ上のオペランドとの
アクセスに使用するアドレスをプログラム中に直接に記
述したアドレッシングである。例えば、24ビットのア
ドレス空間を持つ中央演算処理装置の場合、下位16ビ
ットのアドレスをプログラムで直接指定し、上位8ビッ
トについてはデータバンクレジスタDBRの内容を用い
てアドレッシングを行う場合がある。このような処理を
上位互換機である本発明の中央演算処理装置で行うため
に、アドレスの上位8ビットをデータバンクレジスタD
BRとして機能する第2のレジスタ2の内容(固定値)
とするか或いは第1の定数値発生器3aの定数値(例え
ば、“00h”)とするかを前述のモードフラグM0,
M1の状態により決めるとともに、このモードフラグM
0,M1の状態による固定値か定数値かの選択を、ダイ
レクトアドレッシング時と、インダイレクトアドレッシ
ングの場合の汎用レジスタ1に対する転送データ選択パ
ターン(図9参照)と同じパターンとする。
【0050】このように、ダイレクトアドレッシングに
おいて、モード設定で第2のレジスタ2と第1の定数値
発生器3aの選択を行うから、定数値を使用する場合で
も第2のレジスタのデータを定数値に一々書き換える必
要はない。更に、バンクデータを発生させるときと汎用
レジスタ1へデータを格納するときとで決定パターンが
同じであるので、インダイレクトアドレッシングとダイ
レクトアドレッシングでバンク値は一致することにな
る。
【0051】(実施の形態3)実施の形態1では、汎用
レジスタ1のビット長に満たないデータを汎用レジスタ
1に格納する演算時に、汎用レジスタ1の満たされない
ビット位置に格納するデータを第2のレジスタ2で設定
することを説明したが、このように、第2のレジスタ2
で設定するのを、16ビットサイズの演算の場合のよう
に特定の場合にだけ行うようにしてもよい。
【0052】ここで、32ビットサイズの汎用レジスタ
1の上位データが得られない演算のデータサイズとして
は、8ビットサイズと16ビットサイズの二つ(二つ以
上でもよい)があり、上位データに固定値が必要な演算
が上記2種のサイズのうちの一方だけである場合があ
る。例えば、アドレス演算は16ビットだけである。
【0053】このようなアドレス演算以外の演算(固定
値を必要としない演算)では、汎用レジスタ1の上位デ
ータを第2のレジスタ2で設定することを行わないこと
により、汎用レジスタ1の上位16ビットデータに前回
値を残すことができ、当該前回値を利用することが可能
になる。
【0054】更に、32ビットサイズの汎用レジスタ1
の下位8ビットだけを用いるのは効率的でないので、汎
用レジスタ1の下位16ビットを二つの独自の8ビット
レジスタとして用いることができるのが望ましい。
【0055】図10は、汎用レジスタ1として4つのレ
ジスタL0〜L3を備え、そのうちのレジスタL0,L
1の各々の16ビットレジスタ部分W0,W1を二つに
分割し、8ビットレジスタ部分R0,R2、及び8ビッ
トレジスタ部分R1,R3とした場合を示している。
【0056】図11は、8ビットレジスタ部分R0,R
1を独自の8ビットレジスタとして機能させるための構
成を示した回路図である。この図から分かるように、8
ビットレジスタ部分R0,R2(又はR1,R3)に、
データバス13のビット位置0〜7のデータC0〜C7
のデータを書き込めるようにした。また、データバス1
1,12のビット位置0〜7のラインを用い、8ビット
レジスタ部分R0,R2(又はR1,R3)の出力を、
データA0〜A7(又はB0〜B7)として出力させる
ようにしている。
【0057】このように、32ビットサイズの汎用レジ
スタ1の全ビットを使用しない場合に、汎用レジスタ1
の下位16ビットを分割して用いるようにしたことによ
り、汎用レジスタ1の効率的利用が図れる。
【0058】(実施の形態4)この実施の形態では、汎
用レジスタ1のビット長に満たないデータを汎用レジス
タ1に格納する演算時に、汎用レジスタ1の満たされな
いビット位置に格納するデータを第2のレジスタ2で設
定するための更新命令を中央演算処理装置が持つことに
ついて説明する。なお、更新の有無や内容は、プロセッ
サステータスレジスタ(PSR)5のモード設定M0,
M1に基づく。また、汎用レジスタ1が複数のレジスタ
から構成される場合には、そのレジスタ番号により異な
る場合がある。例えば、実施の形態1で説明したよう
に、レジスタ1Bは他のレジスタ1A,1C,1Dと異
ならせたような場合である。
【0059】図12は、汎用レジスタ1がn個のレジス
タから構成される場合の更新命令による処理内容を示し
たフローチャートである。まず、初期設定としてi=0
の処理を行う(ステップ1)。iは、処理されるレジス
タ番号に対応する。次に、i=nの処理を行う(ステッ
プ2)。即ち、全てのレジスタについて処理が終了した
か否かを判断する。i=nであれば、処理を終了する。
一方、i=nでなければlist=list>>1の処
理を行う(ステップ3)。
【0060】listは、命令により与えられる情報で
あり、各レジスタについての更新の有無を示した情報で
あり、n=4であればlistは4ビットで構成される
ことになる。また、この4ビットlistの第0番目の
ビットは第0レジスタに、第1番目のビットは第1レジ
スタに、というように対応させてあり、“0”は更新し
ないを、“1”は更新するをそれぞれ意味する。
【0061】次に、シフトアウトビットが“0”か
“1”を判断する(ステップ4)。従って、上記ステッ
プ3によるlist=list>>1の処理、即ち、4
ビットのlistを1ビット右シフトする処理を行い、
このステップ4でシフトアウトビットが“0”か“1”
を判断することにより、i番目のレジスタについて更新
を行うのか否かが判断される。
【0062】シフトアウトビットが“1”のときは、i
番目のレジスタの更新処理を行う(ステップ5)。この
更新処理は、まずi番目のレジスタのデータをデータバ
ス11またはデータバス12を経由して演算器4に入力
する。そして、演算器4で“0”との加算を行い、加算
結果をデータバス13へ出力する。なお、このときに
は、サイズ信号は16ビットサイズを示す信号となって
おり、従って、データバス13の上位16ビットのデー
タC16〜C31は、第2のレジスタ2又は第1の定数
値発生器3aの内容と、第2の定数値発生器3bの内容
となる。これにより、レジスタの更新が行われたことに
なる。なお、更新の具体的態様は、例えば、実施の形態
1で示した図9の内容に従ってされる。
【0063】一方、シフトアウトビットが“1”のとき
は、i番目のレジスタについては更新処理を行わず、ス
テップ6に進む。ステップ6では、次のレジスタについ
ての処理を行うために、i=i+1の処理を行う。そし
て、ステップ2に進む。レジスタの数だけ処理を繰り返
すと、ステップ2でi=nとなり、終了する。
【0064】
【発明の効果】以上のように、本発明によれば、レジス
タサイズが拡張された上位互換機の中央演算処理装置で
あって、下位機の中央演算処理装置がバンクレジスタで
アドレッシングを行うものである場合、上位機の中央演
算処理装置が下位機のアドレッシングを持つことなく、
アドレッシングに互換性を持たせることが可能になると
いう効果を奏する。
【図面の簡単な説明】
【図1】本発明の中央演算処理装置の概略構成図であ
る。
【図2】本発明の汎用レジスタ及び書込信号発生器を示
すブロック図である。
【図3】本発明の第2のレジスタの回路構成図である。
【図4】同図(a)は本発明の第1の定数値発生器の概
略構成図であり、同図(b)は第2の定数値発生器の概
略構成図である。
【図5】本発明の演算器の概略構成図である。
【図6】本発明のプロセッサステータスレジスタの概略
構成図である。
【図7】本発明の複数のレジスタから成る第1のレジス
タ及びそのコントロール装置を示す概略構成図である。
【図8】本発明のデータ補填制御装置を示す概略構成図
である。
【図9】図8のデータ補填制御装置の動作説明図であ
る。
【図10】本発明の第1のレジスタの分割例を示す説明
図である。
【図11】図10の分割例を実現する第1レジスタの概
略構成図である。
【図12】本発明の命令を説明するフローチャートであ
る。
【符号の説明】
1 汎用レジスタ(第1のレジスタ) 2 第2のレジスタ 3a 第1の定数値発生器 3b 第2の定数値発生器 4 演算器 5 プロセッサステータスレジスタ 6 書込信号発生器 9 レジスタ選択書込装置 10 データ補填制御装置
───────────────────────────────────────────────────── フロントページの続き (72)発明者 中村 圭治 東京都大田区中馬込1丁目3番6号 株式 会社リコー内 (72)発明者 片山 貴雄 東京都大田区中馬込1丁目3番6号 株式 会社リコー内

Claims (10)

    【特許請求の範囲】
  1. 【請求項1】 第1のレジスタと、第2のレジスタとを
    備え、前記第1のレジスタのビットサイズに満たないデ
    ータを第1のレジスタに格納するときに、第1のレジス
    タ中の満たされないビット位置に前記第2のレジスタか
    らデータが与えられるように構成されたことを特徴とす
    る中央演算処理装置。
  2. 【請求項2】 第1のレジスタと、第2のレジスタと、
    定数値を発生する第1の定数値発生器と、モードを設定
    するモードフラグとを備え、前記第1のレジスタのビッ
    トサイズに満たないデータを第1のレジスタに格納する
    ときに、前記モードフラグに基づき、第1のレジスタ中
    の満たされないビット位置に前記第2のレジスタ又は第
    1の定数値発生器から選択的にデータが与えられるよう
    に構成されたことを特徴とする中央演算処理装置。
  3. 【請求項3】 第1のレジスタと、第2のレジスタと、
    定数値を発生する第2の定数値発生器とを備え、前記第
    1のレジスタのビットサイズに満たないデータを第1の
    レジスタに格納するときに、第1のレジスタ中の満たさ
    れないビット位置に前記第2のレジスタからデータが与
    えられるとともに、当該第2のレジスタからのデータで
    も満たされないビット位置に前記第2の定数値発生器か
    らデータが与えられるように構成されたことを特徴とす
    る中央演算処理装置。
  4. 【請求項4】 第1のレジスタが複数のレジスタから成
    り、前記モードフラグによる第1のレジスタへの選択的
    なデータ付与の設定が、前記複数のレジスタのうちの特
    定のレジスタと他のレジスタとで異なるように構成され
    ていることを特徴とする請求項2に記載の中央演算処理
    装置。
  5. 【請求項5】 第2のレジスタのデータがダイレクトア
    ドレッシング時にバンクアドレスとして用いられるよう
    に構成されていることを特徴とする請求項1乃至請求項
    4のいずれかに記載の中央演算処理装置。
  6. 【請求項6】 第2のレジスタのデータがダイレクトア
    ドレッシング時にバンクアドレスとして用いられるとと
    もに、前記モードフラグに基づき、第2のレジスタ又は
    第1の定数値発生器から選択的にバンク値としてデータ
    が与えられ、且つこの選択パターンが第1のレジスタに
    データが格納されるときのパターンと同一とされたこと
    を特徴とする請求項2に記載の中央演算処理装置。
  7. 【請求項7】 前記第1のレジスタ中の満たされないビ
    ット位置に前記第2のレジスタからデータを与えるデー
    タ転送処理が一つの命令で行われるように構成されたこ
    とを特徴とする請求項1乃至請求項6のいずれかに記載
    の中央演算処理装置。
  8. 【請求項8】 前記第1のレジスタが複数のレジスタか
    ら成り、前記データ転送処理の対象となる任意のレジス
    タを前記命令で選択できるように構成されたことを特徴
    とする請求項7に記載の中央演算処理装置。
  9. 【請求項9】 前記第1のレジスタ中の満たされないビ
    ット位置に前記第2のレジスタからデータを与えるデー
    タ転送処理が、特定のビットサイズの演算の場合にのみ
    行われるように構成されていることを特徴とする請求項
    1乃至請求項8のいずれかに記載の中央演算処理装置。
  10. 【請求項10】 前記第1のレジスタ中の満たされるビ
    ット部分が分割されて独自のレジスタ部分を構成してい
    ることを特徴とする請求項1乃至請求項9のいずれかに
    記載の中央演算処理装置。
JP17795396A 1995-07-17 1996-07-08 中央演算処理装置 Expired - Lifetime JP3541863B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP17795396A JP3541863B2 (ja) 1995-07-17 1996-07-08 中央演算処理装置

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
JP17997295 1995-07-17
JP7-179972 1996-06-04
JP14147096 1996-06-04
JP8-141470 1996-06-04
JP17795396A JP3541863B2 (ja) 1995-07-17 1996-07-08 中央演算処理装置

Publications (2)

Publication Number Publication Date
JPH1055304A true JPH1055304A (ja) 1998-02-24
JP3541863B2 JP3541863B2 (ja) 2004-07-14

Family

ID=27318256

Family Applications (1)

Application Number Title Priority Date Filing Date
JP17795396A Expired - Lifetime JP3541863B2 (ja) 1995-07-17 1996-07-08 中央演算処理装置

Country Status (1)

Country Link
JP (1) JP3541863B2 (ja)

Also Published As

Publication number Publication date
JP3541863B2 (ja) 2004-07-14

Similar Documents

Publication Publication Date Title
JP3954171B2 (ja) コンピュータにおけるスカラ値をベクトルに記入する方法
JP2001504959A (ja) Riscアーキテクチャを有する8ビットマイクロコントローラ
JPH0916462A (ja) データ処理装置および処理方法
US5680632A (en) Method for providing an extensible register in the first and second data processing systems
US5127096A (en) Information processor operative both in direct mapping and in bank mapping, and the method of switching the mapping schemes
JP2551167B2 (ja) マイクロコンピュータ
US5644749A (en) Parallel computer and processor element utilizing less memory
US6266756B1 (en) Central processing unit compatible with bank register CPU
JP3541863B2 (ja) 中央演算処理装置
JPH0192851A (ja) アドレス空間切替装置
JPS6148174B2 (ja)
JPH053015B2 (ja)
JP2003196087A (ja) マイクロコントローラのメモリアドレッシング方法及びページマッピング装置
JPS5821300B2 (ja) デンシケイサンキ ノ メモリアドレスシテイホウシキ
JP2523662B2 (ja) メモリアクセス回路
JP2832900B2 (ja) データ処理装置およびデータ処理方法
JP3030962B2 (ja) マイクロプログラム制御装置
JPH082756Y2 (ja) 画像処理装置
JP3696626B2 (ja) データ駆動型情報処理装置
JP2694758B2 (ja) ビット・フィールド制御装置
JPS61250753A (ja) アドレス拡張方式
JPS60225253A (ja) 情報処理装置
JPH0427590B2 (ja)
JPS61267873A (ja) デ−タ処理装置
JPH02196332A (ja) 情報処理装置

Legal Events

Date Code Title Description
TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20040309

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20040323

R150 Certificate of patent (=grant) or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20080409

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20090409

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20100409

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20100409

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20110409

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20120409

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20130409

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20140409

Year of fee payment: 10

EXPY Cancellation because of completion of term