JPS6120889B2 - - Google Patents
Info
- Publication number
- JPS6120889B2 JPS6120889B2 JP54046460A JP4646079A JPS6120889B2 JP S6120889 B2 JPS6120889 B2 JP S6120889B2 JP 54046460 A JP54046460 A JP 54046460A JP 4646079 A JP4646079 A JP 4646079A JP S6120889 B2 JPS6120889 B2 JP S6120889B2
- Authority
- JP
- Japan
- Prior art keywords
- address
- bits
- local storage
- general
- register
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
- G06F7/57—Arithmetic logic units [ALU], i.e. arrangements or devices for performing two or more of the operations covered by groups G06F7/483 – G06F7/556 or for performing logical operations
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/34—Addressing or accessing the instruction operand or the result ; Formation of operand address; Addressing modes
- G06F9/342—Extension of operand address space
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2207/00—Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F2207/38—Indexing scheme relating to groups G06F7/38 - G06F7/575
- G06F2207/3804—Details
- G06F2207/3808—Details concerning the type of numbers or the way they are handled
- G06F2207/3812—Devices capable of handling different types of numbers
- G06F2207/3816—Accepting numbers of variable word length
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Computational Mathematics (AREA)
- Computing Systems (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Executing Machine-Instructions (AREA)
Description
【発明の詳細な説明】
本発明は、情報処理装置に関し、特に汎用レジ
スタ群を格納するローカル・ストレージの構成お
よびその制御に関するものである。
スタ群を格納するローカル・ストレージの構成お
よびその制御に関するものである。
情報処理装置には、ICメモリ等により構成さ
れたローカル・ストレージが設けられ、複数個の
汎用レジスタ、浮動小数点レジスタ、制御レジス
タおよびその他のワーク・レジスタ等に分割され
て使用される。
れたローカル・ストレージが設けられ、複数個の
汎用レジスタ、浮動小数点レジスタ、制御レジス
タおよびその他のワーク・レジスタ等に分割され
て使用される。
このうち、汎用レジスタは、16個格納され、イ
ンデツクス・レジスタあるいはベース・レジスタ
としてアドレスの修飾、演算等に使用され、また
はオペランド・レジスタとして固定小数点演算あ
るいは論理演算等に使用される。使用する際に
は、命令語のRフイールド(4ビツト)を1つ以
上用いて指定すればよい。
ンデツクス・レジスタあるいはベース・レジスタ
としてアドレスの修飾、演算等に使用され、また
はオペランド・レジスタとして固定小数点演算あ
るいは論理演算等に使用される。使用する際に
は、命令語のRフイールド(4ビツト)を1つ以
上用いて指定すればよい。
汎用レジスタは、いずれも32ビツト(1ワー
ド)の長さを具備し、命令によつて2つ連続して
64ビツト長で使用することもできる。
ド)の長さを具備し、命令によつて2つ連続して
64ビツト長で使用することもできる。
また、浮動小数点レジスタは、64ビツト長を具
備しており、浮動小数点演算に用いられる。
備しており、浮動小数点演算に用いられる。
制御レジスタは、32ビツト長を具備しており、
機能、動作の指定およびその機能に必要な情報を
与えるために用いられる。このように、論理的な
1語が4バイト(32ビツト)の処理装置では、演
算器、汎用レジスタ類、汎用レジスタ用のメモ
リ、バス幅を4バイトで実現するのが普通である
が、小形機等では、コスト低減のために、演算
器、汎用レジスタ用メモリ、バス幅を2バイト
(16ビツト)で実現することがよく行われる。こ
の場合、1つの命令で扱われる論理的なデータ形
式(1語)が4バイトであるから、命令を実行す
るための演算サイクルは4バイトマシンが1サイ
クルで済むところを、2バイトマシンでは、2サ
イクル必要になり、性能面での低下が起こる。
機能、動作の指定およびその機能に必要な情報を
与えるために用いられる。このように、論理的な
1語が4バイト(32ビツト)の処理装置では、演
算器、汎用レジスタ類、汎用レジスタ用のメモ
リ、バス幅を4バイトで実現するのが普通である
が、小形機等では、コスト低減のために、演算
器、汎用レジスタ用メモリ、バス幅を2バイト
(16ビツト)で実現することがよく行われる。こ
の場合、1つの命令で扱われる論理的なデータ形
式(1語)が4バイトであるから、命令を実行す
るための演算サイクルは4バイトマシンが1サイ
クルで済むところを、2バイトマシンでは、2サ
イクル必要になり、性能面での低下が起こる。
また、通常の計算機では、2進数やコード情報
も、メモリをアクセスするためのアドレス情報も
全く区別することなく、同じ扱いが必要である。
すなわち、アドレス空間が最大1MB(メガバイ
ト…20ビツトで表示できる空間)の2バイトマシ
ンでは、例えば、レジスタ内のアドレス情報は、
2バイト幅のレジスタメモリの2ワードにわたつ
てn番地の下4ビツトとn+1番地の16ビツトに
合計20ビツトの形で格納されているので、ブラン
チ命令のようなアドレス情報のみしか扱わない命
令でも、レジスタメモリを2回(n+1とn番
地)に別けて読み出したり、書き込んだりする必
要がある。
も、メモリをアクセスするためのアドレス情報も
全く区別することなく、同じ扱いが必要である。
すなわち、アドレス空間が最大1MB(メガバイ
ト…20ビツトで表示できる空間)の2バイトマシ
ンでは、例えば、レジスタ内のアドレス情報は、
2バイト幅のレジスタメモリの2ワードにわたつ
てn番地の下4ビツトとn+1番地の16ビツトに
合計20ビツトの形で格納されているので、ブラン
チ命令のようなアドレス情報のみしか扱わない命
令でも、レジスタメモリを2回(n+1とn番
地)に別けて読み出したり、書き込んだりする必
要がある。
第1図は、従来の情報処理装置(2ビツトマシ
ン)のブロツク図である。
ン)のブロツク図である。
ローカル・ストレージ12は、汎用レジスタ群
を格納するため、通常、1ワード・16ビツトで
128ワード程度のメモリ構造になつており、32ビ
ツト長の汎用レジスタは2ワードごとに格納され
ている。
を格納するため、通常、1ワード・16ビツトで
128ワード程度のメモリ構造になつており、32ビ
ツト長の汎用レジスタは2ワードごとに格納され
ている。
情報処理装置では、レジスタ相互間でデータの
授受が行われるが、これらのデータはローカル・
ストレージ12からそれぞれ入力バス13に読出
され、ワーク・レジスタ15,16にセツトされ
た後、演算器11で演算されてその結果が出力バ
ス14を経てローカル・ストレージ12の指定さ
れたレジスタに書込まれる。
授受が行われるが、これらのデータはローカル・
ストレージ12からそれぞれ入力バス13に読出
され、ワーク・レジスタ15,16にセツトされ
た後、演算器11で演算されてその結果が出力バ
ス14を経てローカル・ストレージ12の指定さ
れたレジスタに書込まれる。
この場合に授受されるデータ幅は、第1図に示
すように、すべて16ビツトである。
すように、すべて16ビツトである。
ところで、情報処理装置において扱われる最大
のアドレス空間が64Kバイト以内であれば、それ
を表示するためには16ビツトのアドレス情報で十
分であるが、64Kバイトを越えたアドレス空間を
有する情報処理装置では、それを表示するために
は17ビツト幅以上のアドレス情報が必要である。
のアドレス空間が64Kバイト以内であれば、それ
を表示するためには16ビツトのアドレス情報で十
分であるが、64Kバイトを越えたアドレス空間を
有する情報処理装置では、それを表示するために
は17ビツト幅以上のアドレス情報が必要である。
例えば、1Mバイトのアドレス空間を表示する
ためには、20ビツト幅のアドレス情報が必要とな
る。
ためには、20ビツト幅のアドレス情報が必要とな
る。
また、通常の情報処理装置では、これらのアド
レス情報とともに固定小数点等の通常のデータ情
報も、同一の汎用レジスタに格納されて、同じ取
扱いを受ける。
レス情報とともに固定小数点等の通常のデータ情
報も、同一の汎用レジスタに格納されて、同じ取
扱いを受ける。
したがつて、従来、第1図の情報処理装置にお
いて、アドレス空間が64Kバイトを越えて、例え
ば1Mバイトになつた場合、汎用レジスタ内の20
ビツトのオペランド・アドレスを計算して格納す
る際、16ビツトの演算サイクル1回だけではビツ
ト数が不足するので、20ビツト中の下位16ビツト
を第1のマシン・サイクルで演算してその結果を
レジスタに格納した後、上位4ビツトのためのさ
らに第2のマシン・サイクルを使用して演算し、
その結果を前と同一レジスタに格納している。
いて、アドレス空間が64Kバイトを越えて、例え
ば1Mバイトになつた場合、汎用レジスタ内の20
ビツトのオペランド・アドレスを計算して格納す
る際、16ビツトの演算サイクル1回だけではビツ
ト数が不足するので、20ビツト中の下位16ビツト
を第1のマシン・サイクルで演算してその結果を
レジスタに格納した後、上位4ビツトのためのさ
らに第2のマシン・サイクルを使用して演算し、
その結果を前と同一レジスタに格納している。
したがつて、アドレス演算のために2マシン・
サイクル以上が必要となり、性能が低下するとい
う問題がある。そして、性能を向上させるため、
例えば演算器11およびローカル・ストレージ1
2の幅をそれぞれ32ビツト(2ワード)あるいは
24ビツト(1.5ワード)にすることもできるが、
これでは装置規模が大きすぎるという問題が生じ
る。
サイクル以上が必要となり、性能が低下するとい
う問題がある。そして、性能を向上させるため、
例えば演算器11およびローカル・ストレージ1
2の幅をそれぞれ32ビツト(2ワード)あるいは
24ビツト(1.5ワード)にすることもできるが、
これでは装置規模が大きすぎるという問題が生じ
る。
本発明の目的は、これらの問題を解決するた
め、装置の規模を増大することなく、アドレス演
算を1マシン・サイクルで実行して処理時間を短
縮し、性能を向上できる情報処理装置を提供する
ことにある。
め、装置の規模を増大することなく、アドレス演
算を1マシン・サイクルで実行して処理時間を短
縮し、性能を向上できる情報処理装置を提供する
ことにある。
本発明による情報処理装置は、アドレス空間を
表示するために必要なだけのビツト幅を備えたロ
ーカル・ストレージと演算器、およびこの演算器
の出力をデータのときとアドレスのときとで切替
えてローカル・ストレージに書込むための切替セ
レクタ回路を設けることを特徴としている。
表示するために必要なだけのビツト幅を備えたロ
ーカル・ストレージと演算器、およびこの演算器
の出力をデータのときとアドレスのときとで切替
えてローカル・ストレージに書込むための切替セ
レクタ回路を設けることを特徴としている。
以下、本発明の実施例を、図面により説明す
る。
る。
第2図は、本発明による情報処理装置のブロツ
ク構成図である。
ク構成図である。
この情報処理装置では、アドレス空間が最大
1Mバイトであり、かつ32ビツト(1ワード)長
の汎用レジスタ等がローカル・ストレージ22に
格納されている。
1Mバイトであり、かつ32ビツト(1ワード)長
の汎用レジスタ等がローカル・ストレージ22に
格納されている。
ローカル・ストレージ22、演算器21、入力
データ・バス23、および出力データ・バス34
の各データ幅は、1Mバイトのアドレス空間を表
示するために十分なビツト数(20ビツト)にされ
る(220=1Mバイト)。
データ・バス23、および出力データ・バス34
の各データ幅は、1Mバイトのアドレス空間を表
示するために十分なビツト数(20ビツト)にされ
る(220=1Mバイト)。
ここで、入力データ・バス23は、4ビツトの
データ・バスD―BUS(1,4〜7)231
と、それぞれ8ビツトのデータ・バスD―BUS
(20〜7)232、D―BUS(3,0〜7)23
3から構成され、また出力データ・バス24は、
4ビツトのデータ・バスY―BUS(1,4〜
7)241と8ビツトのデータ・バスY―BUS
(2,0〜7)242と、それぞれ4ビツトのデ
ータ・バスY―BUS(3,0〜3)243、Y
―BUS(3,4〜7)244から構成されてい
る。また、切替セレクタ回路25は、ローカル・
ストレージ22内の値をデータとして扱うとき、
アドレスとして扱うときとで切替えるための4ビ
ツト・セレクタである。
データ・バスD―BUS(1,4〜7)231
と、それぞれ8ビツトのデータ・バスD―BUS
(20〜7)232、D―BUS(3,0〜7)23
3から構成され、また出力データ・バス24は、
4ビツトのデータ・バスY―BUS(1,4〜
7)241と8ビツトのデータ・バスY―BUS
(2,0〜7)242と、それぞれ4ビツトのデ
ータ・バスY―BUS(3,0〜3)243、Y
―BUS(3,4〜7)244から構成されてい
る。また、切替セレクタ回路25は、ローカル・
ストレージ22内の値をデータとして扱うとき、
アドレスとして扱うときとで切替えるための4ビ
ツト・セレクタである。
さらに、ワーク・レジスタ26,27は、入力
データ・バス231,232,233からそれぞ
れ4ビツト、8ビツト、8ビツトのデータを受取
り、演算器21に入力する。
データ・バス231,232,233からそれぞ
れ4ビツト、8ビツト、8ビツトのデータを受取
り、演算器21に入力する。
ローカル・ストレージ22内の汎用レジスタ
は、2番地ごとに格納されており、例えば汎用レ
ジスタGPRAは番地nとn+1に、汎用レジスタ
GPRBは番地mとm+1にそれぞれ格納される。
は、2番地ごとに格納されており、例えば汎用レ
ジスタGPRAは番地nとn+1に、汎用レジスタ
GPRBは番地mとm+1にそれぞれ格納される。
第3図は、第2図におけるローカル・ストレー
ジ内の汎用レジスタの格納状態図である。
ジ内の汎用レジスタの格納状態図である。
1ワードの汎用レジスタJが番地iとi+1の
2番地に格納されている。
2番地に格納されている。
ここで、B0〜B19は、ローカル・ストレージ2
2のビツト位置を示している。
2のビツト位置を示している。
第3図から明らかなように、ローカル・ストレ
ージ22のi番地のビツト位置B4〜B11,B12〜
B19にはそれぞれ汎用レジスタJのバイト0、バ
イト1が格納され、ローカル・ストレージ22の
i+1番地のビツト位置B4〜B11,B12〜B19には
それぞれ汎用レジスタJのバイト2、バイト3が
格納されている。
ージ22のi番地のビツト位置B4〜B11,B12〜
B19にはそれぞれ汎用レジスタJのバイト0、バ
イト1が格納され、ローカル・ストレージ22の
i+1番地のビツト位置B4〜B11,B12〜B19には
それぞれ汎用レジスタJのバイト2、バイト3が
格納されている。
さらに、ローカル・ストレージ22のi+1番
地のビツト位置B0〜B3には、汎用レジスタJの
バイト1のビツト4〜7と同一内容が格納されて
いる。このように、本発明では、n番地のビツト
位置B16〜B19とn+1番地のビツト位置B0〜B3と
が同一内容になつている点に特質がある。これに
より、例えば、Add Reg A,B(ともに4バイ
トのレジスタAとBの内容を加算せよ)の命令処
理では、nとn+1番地へ2サイクルかけて読み
書きが必要であり、処理装置は従来の2バイトマ
シンと同じであるが、B(A)…(レジスタAの内容
で示されるアドレスにブランチせよ)の命令処理
では、従来の2バイトマシンによればnとn+1
番地の2回読み出しが必要であるところを、本発
明によると、一部が重複して書き込まれているの
で1回の読み出しで済むことになり、読み出しサ
イクルが1回減ることによつて高速化が実現でき
る。一般のプログラムでは、ブランチ命令のよう
なアドレス系の命令の占める比率は比較的高いの
で、この部分の高速化が可能になると全体として
相当の高速処理が実現でき、比較的少ないコスト
増で大きな性能向上が期待できる。
地のビツト位置B0〜B3には、汎用レジスタJの
バイト1のビツト4〜7と同一内容が格納されて
いる。このように、本発明では、n番地のビツト
位置B16〜B19とn+1番地のビツト位置B0〜B3と
が同一内容になつている点に特質がある。これに
より、例えば、Add Reg A,B(ともに4バイ
トのレジスタAとBの内容を加算せよ)の命令処
理では、nとn+1番地へ2サイクルかけて読み
書きが必要であり、処理装置は従来の2バイトマ
シンと同じであるが、B(A)…(レジスタAの内容
で示されるアドレスにブランチせよ)の命令処理
では、従来の2バイトマシンによればnとn+1
番地の2回読み出しが必要であるところを、本発
明によると、一部が重複して書き込まれているの
で1回の読み出しで済むことになり、読み出しサ
イクルが1回減ることによつて高速化が実現でき
る。一般のプログラムでは、ブランチ命令のよう
なアドレス系の命令の占める比率は比較的高いの
で、この部分の高速化が可能になると全体として
相当の高速処理が実現でき、比較的少ないコスト
増で大きな性能向上が期待できる。
なお、他の汎用レジスタについても、第3図と
全く同一状態でローカル・ストレージ22にそれ
ぞれ格納されている。
全く同一状態でローカル・ストレージ22にそれ
ぞれ格納されている。
第4図は、本発明によるアドレス演算処理の動
作説明図であり、第5図は第4図で用いるアドレ
ス演算のための命令語形式の説明図である。
作説明図であり、第5図は第4図で用いるアドレ
ス演算のための命令語形式の説明図である。
本発明による情報処理装置では、通常のオペラ
ンド(32ビツト長)の演算の場合には、従来と同
じように2マシン・サイクルで処理されるが、ア
ドレス(20ビツト長)の演算の場合には、従来よ
り高速の1マシン・サイクルで処理することがで
きる。
ンド(32ビツト長)の演算の場合には、従来と同
じように2マシン・サイクルで処理されるが、ア
ドレス(20ビツト長)の演算の場合には、従来よ
り高速の1マシン・サイクルで処理することがで
きる。
例えば、第5図に示すようにPX形式の命令語
では、命令コードOPにより第1オペランドと第
2オペランドの演算あるいはその他の制御が指示
され、R1で指定された汎用レジスタの内容が第
1オペランドとなり、第2オペランドはX,Bで
示される汎用レジスタの内容とD(デイスプレー
スメント)を加えて得られるアドレスで指定され
る。
では、命令コードOPにより第1オペランドと第
2オペランドの演算あるいはその他の制御が指示
され、R1で指定された汎用レジスタの内容が第
1オペランドとなり、第2オペランドはX,Bで
示される汎用レジスタの内容とD(デイスプレー
スメント)を加えて得られるアドレスで指定され
る。
第5図に示す命令を実行する場合、従来の装置
(2バイト・マシン)では、ローカル・ストレー
ジ12から16ビツトずつ読出して演算器11で加
算を行い、出力データ・バス14を経てストレー
ジ・アドレス・レジスタ17にセツトした後、次
のサイクルでローカル・ストレージ12から残り
の4ビツトずつを読出して加算し、ストレージ・
アドレス・レジスタ17にセツトすることによ
り、メイン・ストレージ18から読出されるオペ
ランドの番地、あるいは分岐される番地が用意さ
れる。
(2バイト・マシン)では、ローカル・ストレー
ジ12から16ビツトずつ読出して演算器11で加
算を行い、出力データ・バス14を経てストレー
ジ・アドレス・レジスタ17にセツトした後、次
のサイクルでローカル・ストレージ12から残り
の4ビツトずつを読出して加算し、ストレージ・
アドレス・レジスタ17にセツトすることによ
り、メイン・ストレージ18から読出されるオペ
ランドの番地、あるいは分岐される番地が用意さ
れる。
これに対して、本発明では、ローカル・ストレ
ージ22のX,Bで示される汎用レジスタの内容
を20ビツトずつ読出して演算器21でDとともに
加算し、出力データ・バス24を経由してストレ
ージ・アドレス・レジスタ17にセツトするの
で、20ビツトのアドレスが1サイクルで用意さ
れ、このアドレスをデコーダ19でデコードする
ことにより、メイン・ストレージ18に直ちにア
クセスできる。
ージ22のX,Bで示される汎用レジスタの内容
を20ビツトずつ読出して演算器21でDとともに
加算し、出力データ・バス24を経由してストレ
ージ・アドレス・レジスタ17にセツトするの
で、20ビツトのアドレスが1サイクルで用意さ
れ、このアドレスをデコーダ19でデコードする
ことにより、メイン・ストレージ18に直ちにア
クセスできる。
次に、第2図に示す汎用レジスタGPRAと
GPRBの内容をそれぞれオペランド・アドレスと
してアドレス演算し、その結果を汎用レジスタ
GPRAに格納する場合を詳細に説明する。
GPRBの内容をそれぞれオペランド・アドレスと
してアドレス演算し、その結果を汎用レジスタ
GPRAに格納する場合を詳細に説明する。
勿論アドレス空間が最大1Mバイトであるか
ら、汎用レジスタ(32ビツト長)の下20ビツトの
みを演算すればよい。
ら、汎用レジスタ(32ビツト長)の下20ビツトの
みを演算すればよい。
先ず、マシン・サイクルの第1ステージで汎用
レジスタGPRAの下20ビツトがローカル・ストレ
ージ22のn+1番地のビツト位置B0〜B19から
読出され、ワーク・レジスタ26にセツトされ
る。第2ステージでは同じようにして汎用レジス
タGPRBの下20ビツトが読出されワーク・レジス
タ27にセツトされる。
レジスタGPRAの下20ビツトがローカル・ストレ
ージ22のn+1番地のビツト位置B0〜B19から
読出され、ワーク・レジスタ26にセツトされ
る。第2ステージでは同じようにして汎用レジス
タGPRBの下20ビツトが読出されワーク・レジス
タ27にセツトされる。
第3ステージではそれらが演算器21で演算さ
れて、その結果がローカル・ストレージ22のn
+1番地のビツト位置B0〜B19に格納される。
れて、その結果がローカル・ストレージ22のn
+1番地のビツト位置B0〜B19に格納される。
このとき、ビツト位置B0〜B3については、セ
レクタ25により出力バス24の上位4ビツト2
41が選択されるように制御される(書込タイプ
1)、なお、この書込タイプ1(B0〜B19への書込
み)のマイクロ命令は、第5図に示す命令のよう
うに、アドレス情報をインデツクスレジスタX、
ベースレジスタBとデイスプレースメントDとを
加算合成する場合に、レジスタメモリ上のワーク
エリア(W)に一旦途中結果を格納するために必要
である。すなわち、 Step1 (X)+B→W Step2 (W)+D→SAR Step3 (SAR)でメモリアクセス ここで、レジスタメモリ上の空エリアを使つて
ワークレジスタとして使用することは通常の計算
機で行われているので、本実施例でも、これを前
提にして行うと、書込タイプ1と書込み2が必須
になり、第2図の切替セレクタ回路25が必要と
なる。
レクタ25により出力バス24の上位4ビツト2
41が選択されるように制御される(書込タイプ
1)、なお、この書込タイプ1(B0〜B19への書込
み)のマイクロ命令は、第5図に示す命令のよう
うに、アドレス情報をインデツクスレジスタX、
ベースレジスタBとデイスプレースメントDとを
加算合成する場合に、レジスタメモリ上のワーク
エリア(W)に一旦途中結果を格納するために必要
である。すなわち、 Step1 (X)+B→W Step2 (W)+D→SAR Step3 (SAR)でメモリアクセス ここで、レジスタメモリ上の空エリアを使つて
ワークレジスタとして使用することは通常の計算
機で行われているので、本実施例でも、これを前
提にして行うと、書込タイプ1と書込み2が必須
になり、第2図の切替セレクタ回路25が必要と
なる。
このように、アドレス演算では、1マシン・サ
イクルのみで必要十分な結果が得られることにな
る。
イクルのみで必要十分な結果が得られることにな
る。
これに対して、オペランド演算の場合、例えば
汎用レジスタGPRAとGPRBの4バイトの内容を
論理演算して、その結果を汎用レジスタGPRAに
格納する動作は、次のようになる。
汎用レジスタGPRAとGPRBの4バイトの内容を
論理演算して、その結果を汎用レジスタGPRAに
格納する動作は、次のようになる。
第1のマシン・サイクルでは、第1ステージで
汎用レジスタGPRAのバイト2,3がローカル・
ストレージ22のn+1番地のビツト位置B4〜
B19から読出され、ワーク・レジスタ26にセツ
トされる。
汎用レジスタGPRAのバイト2,3がローカル・
ストレージ22のn+1番地のビツト位置B4〜
B19から読出され、ワーク・レジスタ26にセツ
トされる。
第2ステージでは、同じようにして、汎用レジ
スタGPRBのバイト2,3が読出され、ワーク・
レジスタ27にセツトされる。
スタGPRBのバイト2,3が読出され、ワーク・
レジスタ27にセツトされる。
第3ステージでは、それらが演算器21で論理
演算され、その結果がローカル・ストレージ22
のn+1番地のビツト位置B0〜B19に格納される
(書込タイプ1)。
演算され、その結果がローカル・ストレージ22
のn+1番地のビツト位置B0〜B19に格納される
(書込タイプ1)。
第2のマシン・サイクルでは、第1ステージで
ローカル・ストレージ22のn番地から汎用レジ
スタGPRAのバイト0,1が読出され、第2ステ
ージで汎用レジスタGPRBのバイト0,1が読出
されて、第3ステージでは演算器21で演算され
た結果がローカル・ストレージ22のn番地のビ
ツト位置B4〜B19に格納される。
ローカル・ストレージ22のn番地から汎用レジ
スタGPRAのバイト0,1が読出され、第2ステ
ージで汎用レジスタGPRBのバイト0,1が読出
されて、第3ステージでは演算器21で演算され
た結果がローカル・ストレージ22のn番地のビ
ツト位置B4〜B19に格納される。
そしてこのとき、ローカル・ストレージ22の
n+1番地のビツト位置B0〜B3には、ビツト位
置B16〜B19と同じ内容が同時に書込まれる。
n+1番地のビツト位置B0〜B3には、ビツト位
置B16〜B19と同じ内容が同時に書込まれる。
すなわち、このときは、セレクタ25は出力デ
ータ・バス24の下4ビツト244を選択してい
る(書込タイプ2)。
ータ・バス24の下4ビツト244を選択してい
る(書込タイプ2)。
このようにして、演算された4バイトの結果
が、第3図に示すような状態で格納されることに
なる。
が、第3図に示すような状態で格納されることに
なる。
なお、これらの諸制御は、すべてマイクロ・プ
ログラム等の論理回路により簡単に実現される。
ログラム等の論理回路により簡単に実現される。
第6図は、本発明によるローカル・ストレー
ジ・レジスタの書込みデータ・フオーマツト図で
ある。
ジ・レジスタの書込みデータ・フオーマツト図で
ある。
第6図aは書込みタイプ1を示しており、奇数
アドレスへ出力データ・バスY―BUSのバイト
1の4〜7ビツトとバイト2の0〜7ビツトとバ
イト3の0〜7ビツトの内容が書込まれる。
アドレスへ出力データ・バスY―BUSのバイト
1の4〜7ビツトとバイト2の0〜7ビツトとバ
イト3の0〜7ビツトの内容が書込まれる。
第6図bは書込みタイプ2を示しており、偶数
アドレスを指定した場合に、出力データ・バスY
―BUSのバイト2の0〜7ビツトとバイト3の
0〜7ビツトの内容が偶数アドレスに書込まれ、
かつバイト3の4〜7ビツトの内容が奇数アドレ
スのアドレス専用エリアに重複して書込まれる。
アドレスを指定した場合に、出力データ・バスY
―BUSのバイト2の0〜7ビツトとバイト3の
0〜7ビツトの内容が偶数アドレスに書込まれ、
かつバイト3の4〜7ビツトの内容が奇数アドレ
スのアドレス専用エリアに重複して書込まれる。
これに対して、読出しの場合には、指定された
アドレスのデータ20ビツトがそのまま入力デー
タ・バスD―BUSに出力される。なお、第6図
bの書込タイプ2を1サイクルで実現するには、
ローカル・ストレージの半導体メモリのアドレス
線を、第6図cに示すように配線すれば、簡単に
実現できる。ここで、LSARは、ICメモリをアク
セスするための制御用アドレスレジスタで、IC
メモリの全アドレスを指定するためnビツト必要
である。また、OR回路は、ICメモリの上位4ビ
ツト(LM1)のバンクを常に奇数アドレスでア
クセスするため、2n-1〜20のアドレス線のう
ち、20ビツト線のみ+1固定するためのOR回路
である。第6図cの回路により、LSARが2m
(偶数)を指定しても、バンクLM1へは2m+1
か、バンクLM2,LM3へは2mでアクセス可能と
なる。
アドレスのデータ20ビツトがそのまま入力デー
タ・バスD―BUSに出力される。なお、第6図
bの書込タイプ2を1サイクルで実現するには、
ローカル・ストレージの半導体メモリのアドレス
線を、第6図cに示すように配線すれば、簡単に
実現できる。ここで、LSARは、ICメモリをアク
セスするための制御用アドレスレジスタで、IC
メモリの全アドレスを指定するためnビツト必要
である。また、OR回路は、ICメモリの上位4ビ
ツト(LM1)のバンクを常に奇数アドレスでア
クセスするため、2n-1〜20のアドレス線のう
ち、20ビツト線のみ+1固定するためのOR回路
である。第6図cの回路により、LSARが2m
(偶数)を指定しても、バンクLM1へは2m+1
か、バンクLM2,LM3へは2mでアクセス可能と
なる。
以上説明したように、本発明によれば、アドレ
ス空間を表示するために必要なだけのビツト幅を
ローカル・ストレージ、演算器等に備え、かつマ
イクロ・プログラムによりセレクタ回路を切替え
てデータとアドレスとを切分けて制御するので、
命令アドレスの演算、オペランド・アドレスの演
算は1マシン・サイクルで処理され、演算に要す
る処理時間が短縮される。
ス空間を表示するために必要なだけのビツト幅を
ローカル・ストレージ、演算器等に備え、かつマ
イクロ・プログラムによりセレクタ回路を切替え
てデータとアドレスとを切分けて制御するので、
命令アドレスの演算、オペランド・アドレスの演
算は1マシン・サイクルで処理され、演算に要す
る処理時間が短縮される。
したがつて、処理装置の規模を増大させること
なく、性能の向上を計ることができる。
なく、性能の向上を計ることができる。
第1図は従来の情報処理装置のブロツク図、第
2図は本発明の実施例を示す情報処理装置のブロ
ツク図、第3図は第2図におけるローカル・スト
レージ内の汎用レジスタの格納状態図、第4図は
本発明によるアドレス演算処理の動作説明図、第
5図は第4図で用いられるアドレス演算のための
命立語形式の説明図、第6図は本発明によるロー
カル・ストレージ・レジスタの書込みデータ・フ
オーマツト図である。 11,21…演算器、12,22…ローカル・
ストレージ、13,23…入力データ・バス、1
4,24…出力データ・バス、15,16,2
6,27…ワーク・レジスタ、25…セレクタ回
路、231〜233…入力データ・バスの要素、
241〜244…出力データ・バスの要素、17
…ストレージ・アドレス・レジスタ、18…メイ
ン・ストレージ、19…アドレス・デコーダ。
2図は本発明の実施例を示す情報処理装置のブロ
ツク図、第3図は第2図におけるローカル・スト
レージ内の汎用レジスタの格納状態図、第4図は
本発明によるアドレス演算処理の動作説明図、第
5図は第4図で用いられるアドレス演算のための
命立語形式の説明図、第6図は本発明によるロー
カル・ストレージ・レジスタの書込みデータ・フ
オーマツト図である。 11,21…演算器、12,22…ローカル・
ストレージ、13,23…入力データ・バス、1
4,24…出力データ・バス、15,16,2
6,27…ワーク・レジスタ、25…セレクタ回
路、231〜233…入力データ・バスの要素、
241〜244…出力データ・バスの要素、17
…ストレージ・アドレス・レジスタ、18…メイ
ン・ストレージ、19…アドレス・デコーダ。
Claims (1)
- 1 汎用レジスタや処理に必要なワークレジスタ
等のレジスタ群を格納するローカル・ストレージ
と該ローカル・ストレージの出力を演算する演算
器を有する情報処理装置において、アドレス空間
を表示するために必要なだけのビツト幅を備えた
ローカル・ストレージと演算器、および該演算器
の出力をデータのときのアドレスのときとで切換
えて前記ローカル・ストレージに書き込むための
切換セレクタ回路を設け、該切換セレクタ回路は
前記ローカル・ストレージの特定アドレスが指定
されたときのみ、一部のデータを次のアドレスに
も重複して書き込むように経路を切換えることを
特徴とする情報処理装置。
Priority Applications (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP4646079A JPS55138156A (en) | 1979-04-16 | 1979-04-16 | Information processor |
| US06/078,723 US4301514A (en) | 1979-04-16 | 1979-09-25 | Data processor for processing at one time data including X bytes and Y bits |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP4646079A JPS55138156A (en) | 1979-04-16 | 1979-04-16 | Information processor |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPS55138156A JPS55138156A (en) | 1980-10-28 |
| JPS6120889B2 true JPS6120889B2 (ja) | 1986-05-24 |
Family
ID=12747767
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP4646079A Granted JPS55138156A (en) | 1979-04-16 | 1979-04-16 | Information processor |
Country Status (2)
| Country | Link |
|---|---|
| US (1) | US4301514A (ja) |
| JP (1) | JPS55138156A (ja) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH038279U (ja) * | 1989-06-13 | 1991-01-25 |
Families Citing this family (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS6046448B2 (ja) | 1980-07-11 | 1985-10-16 | 株式会社日立製作所 | オ−バフロ−検出方式 |
| US4454593A (en) * | 1981-05-19 | 1984-06-12 | Bell Telephone Laboratories, Incorporated | Pictorial information processing technique |
| JPS5819955A (ja) * | 1981-07-29 | 1983-02-05 | Toshiba Corp | 画像メモリ装置 |
| JPS62126440A (ja) * | 1985-11-27 | 1987-06-08 | Nec Corp | 情報処理装置 |
| JPS63193237A (ja) * | 1987-02-06 | 1988-08-10 | Toshiba Corp | 半導体集積回路装置 |
| EP1416374A3 (en) | 1993-05-27 | 2004-09-01 | Matsushita Electric Industrial Co., Ltd. | Program converting unit and processor improved in address management |
| JP2885197B2 (ja) * | 1996-08-16 | 1999-04-19 | 日本電気株式会社 | 演算処理装置及び演算処理方法 |
Family Cites Families (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US4021655A (en) * | 1976-03-30 | 1977-05-03 | International Business Machines Corporation | Oversized data detection hardware for data processors which store data at variable length destinations |
-
1979
- 1979-04-16 JP JP4646079A patent/JPS55138156A/ja active Granted
- 1979-09-25 US US06/078,723 patent/US4301514A/en not_active Expired - Lifetime
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH038279U (ja) * | 1989-06-13 | 1991-01-25 |
Also Published As
| Publication number | Publication date |
|---|---|
| US4301514A (en) | 1981-11-17 |
| JPS55138156A (en) | 1980-10-28 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US3949379A (en) | Pipeline data processing apparatus with high speed slave store | |
| US3979726A (en) | Apparatus for selectively clearing a cache store in a processor having segmentation and paging | |
| US4361868A (en) | Device for increasing the length of a logic computer address | |
| US3840861A (en) | Data processing system having an instruction pipeline for concurrently processing a plurality of instructions | |
| US4363091A (en) | Extended address, single and multiple bit microprocessor | |
| JP2635058B2 (ja) | アドレス変換方式 | |
| US4229801A (en) | Floating point processor having concurrent exponent/mantissa operation | |
| CA1181866A (en) | Multiword memory data storage and addressing technique and apparatus | |
| US3222649A (en) | Digital computer with indirect addressing | |
| CA1182580A (en) | Physical address developing unit | |
| US4434462A (en) | Off-chip access for psuedo-microprogramming in microprocessor | |
| US4001788A (en) | Pathfinder microprogram control system | |
| JPS59117666A (ja) | ベクトル処理装置 | |
| JPS6313215B2 (ja) | ||
| JPH0248931B2 (ja) | ||
| JPS6120889B2 (ja) | ||
| JPH0546383A (ja) | データ処理装置 | |
| JPS62164148A (ja) | デ−タ処理システム | |
| US4691282A (en) | 16-bit microprocessor system | |
| US4250548A (en) | Computer apparatus | |
| JPS62134763A (ja) | 3アドレス・コ−ドの指標づけ装置 | |
| JPS605979B2 (ja) | 電子的制御装置 | |
| US3990051A (en) | Memory steering in a data processing system | |
| JPS5826584B2 (ja) | デ−タ処理装置 | |
| EP0114683A2 (en) | Arithmetic unit |