JPS6019809B2 - デ−タ処理装置 - Google Patents
デ−タ処理装置Info
- Publication number
- JPS6019809B2 JPS6019809B2 JP54169657A JP16965779A JPS6019809B2 JP S6019809 B2 JPS6019809 B2 JP S6019809B2 JP 54169657 A JP54169657 A JP 54169657A JP 16965779 A JP16965779 A JP 16965779A JP S6019809 B2 JPS6019809 B2 JP S6019809B2
- Authority
- JP
- Japan
- Prior art keywords
- address
- data
- block
- instruction
- operand
- 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
- 238000001514 detection method Methods 0.000 claims description 8
- 238000000034 method Methods 0.000 claims description 7
- 230000004044 response Effects 0.000 claims description 7
- 238000010586 diagram Methods 0.000 description 12
- 238000000605 extraction Methods 0.000 description 4
- 238000006243 chemical reaction Methods 0.000 description 3
- 230000000295 complement effect Effects 0.000 description 3
- 244000144992 flock Species 0.000 description 3
- 239000000284 extract Substances 0.000 description 2
- 101100012339 Schizosaccharomyces pombe (strain 972 / ATCC 24843) oar2 gene Proteins 0.000 description 1
- 238000013075 data extraction Methods 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/04—Addressing variable-length words or parts of words
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Executing Machine-Instructions (AREA)
- Advance Control (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Memory System (AREA)
Description
【発明の詳細な説明】
本発明は高速バッファ記憶を有するデータ処理装置に関
する。
する。
一般にディジタルコンピュータにおいては、命令前記デ
ータを記憶したメモリ(主記憶あるいはバッファ記憶)
から次に実行すべき命令をの読出し、その命令から、そ
の命令の実行に用いられるデータを特定するためのアド
レスを命令ユニットで求め、このデータアドレスに基づ
き、対応するデータを上記のメモリからの議出し、その
命令を実行する。
ータを記憶したメモリ(主記憶あるいはバッファ記憶)
から次に実行すべき命令をの読出し、その命令から、そ
の命令の実行に用いられるデータを特定するためのアド
レスを命令ユニットで求め、このデータアドレスに基づ
き、対応するデータを上記のメモリからの議出し、その
命令を実行する。
この際、メモリからの読出されるデ−夕の長さは装置に
より定まった一定の長さ、例えば8バイトを有している
。さらに、メモリからのデータのの読出し‘ま任意のア
ドレス位置から始まる8バイトのデータについて行いう
るのではなく、定まった8バイトのブロックの境界位置
から8バイトの長さにあるデータについて行いうる。位
置、の読出したいデータがその境界従っての両側に位置
するデータであるときは、たとえ欲しいデータが8バイ
ト以下の長さであっても、メモリからその境界位置より
小さいアドレスを有する8バイトと、その境界位置より
大きいアドレスを有する8バイトとをそれぞれの読出す
という2回のの読出し動作を行なう。その後、演算器を
用いて、これらの2つの8バイトデータから所望の8バ
イトのデータの切出しを行えるようにデータの位置合わ
せを行う。ところが、データの位置合わせ、データの切
り出しを演算器を用いて行なうと多くの処理時間を必要
とする。
より定まった一定の長さ、例えば8バイトを有している
。さらに、メモリからのデータのの読出し‘ま任意のア
ドレス位置から始まる8バイトのデータについて行いう
るのではなく、定まった8バイトのブロックの境界位置
から8バイトの長さにあるデータについて行いうる。位
置、の読出したいデータがその境界従っての両側に位置
するデータであるときは、たとえ欲しいデータが8バイ
ト以下の長さであっても、メモリからその境界位置より
小さいアドレスを有する8バイトと、その境界位置より
大きいアドレスを有する8バイトとをそれぞれの読出す
という2回のの読出し動作を行なう。その後、演算器を
用いて、これらの2つの8バイトデータから所望の8バ
イトのデータの切出しを行えるようにデータの位置合わ
せを行う。ところが、データの位置合わせ、データの切
り出しを演算器を用いて行なうと多くの処理時間を必要
とする。
そこで、このような欠点をなくすために専用の回路(以
下データ変換器と呼ぶ)によりデータの位置合わせ、切
り出しを行なうデータ処理装置が特関昭49−9554
6号あるいは特関昭53−94133号などにより提案
されている。前者はメモリから、所望の4バイトのデー
タを含む8バイトのデータを読み出し、その謙出された
8バイトのデータをデータ変換器を用いて、データの位
置合わせした後「その所望の4バイトのデータを切り出
す方式である。後者はさらに、所望の8バイト以内の長
さのデータを含む1ふゞィトのデータをデータ変換器を
用いて、位置合わせした後、その所望の8バイト以内の
長さのデータを切り出す方式である。このようにデータ
変換器を用いて、任意のデータの位置合わせ、データの
切り出しを行なえば、命令の処理時間が短縮できる。し
かしながら、高速バッファ記憶装置を備えた多くのディ
ジタルコンピュータにおいては、バッファ記憶装置への
データの登録単位は装置により定まった一定の長さ、例
えば6心ゞイトを有している。
下データ変換器と呼ぶ)によりデータの位置合わせ、切
り出しを行なうデータ処理装置が特関昭49−9554
6号あるいは特関昭53−94133号などにより提案
されている。前者はメモリから、所望の4バイトのデー
タを含む8バイトのデータを読み出し、その謙出された
8バイトのデータをデータ変換器を用いて、データの位
置合わせした後「その所望の4バイトのデータを切り出
す方式である。後者はさらに、所望の8バイト以内の長
さのデータを含む1ふゞィトのデータをデータ変換器を
用いて、位置合わせした後、その所望の8バイト以内の
長さのデータを切り出す方式である。このようにデータ
変換器を用いて、任意のデータの位置合わせ、データの
切り出しを行なえば、命令の処理時間が短縮できる。し
かしながら、高速バッファ記憶装置を備えた多くのディ
ジタルコンピュータにおいては、バッファ記憶装置への
データの登録単位は装置により定まった一定の長さ、例
えば6心ゞイトを有している。
従って、の論出したいデータがその6心ゞィト境界位置
の両側に位置するデータであるときは、たとえ上記デー
タ変換器を用いたとしても、バッファ記憶装置からその
境界位置より小さいアドレスを有する8バイトと、その
境界位置より大きいアドレスを有する8バイトとをそれ
ぞれ談出すという2回の読出し動作を行ない、その後、
演算器を用いて、それらの2つの8バイトデータから所
望の8バイトのデータの切出しを行なえるようにデータ
の位置合わせを行なう必要がある。本発明の目的は、バ
ッファ記憶装置へのデータの登録単位の境界位置の両側
に位置するデータの謙出しを1度に行なうことを可能に
したデータ処理装置を提供することにある。
の両側に位置するデータであるときは、たとえ上記デー
タ変換器を用いたとしても、バッファ記憶装置からその
境界位置より小さいアドレスを有する8バイトと、その
境界位置より大きいアドレスを有する8バイトとをそれ
ぞれ談出すという2回の読出し動作を行ない、その後、
演算器を用いて、それらの2つの8バイトデータから所
望の8バイトのデータの切出しを行なえるようにデータ
の位置合わせを行なう必要がある。本発明の目的は、バ
ッファ記憶装置へのデータの登録単位の境界位置の両側
に位置するデータの謙出しを1度に行なうことを可能に
したデータ処理装置を提供することにある。
上記の目的を達成するため、本発明では、バッファ記憶
装置より1回のアクセスでの読出すべきデータがバッフ
ァ記憶装置の登録単位(以下、64バイト境界を1ブロ
ックとする)をまたがっているか否を検出し、フロック
クロスを検出すると、バッファ記憶装置の第1バンクの
アドレスと第2バンクのアドレスにそれぞれ所要のオペ
ランドが含まれるブロックのアドレスを生成し、隣り合
ったブロックからの議出しを1度に行なう。
装置より1回のアクセスでの読出すべきデータがバッフ
ァ記憶装置の登録単位(以下、64バイト境界を1ブロ
ックとする)をまたがっているか否を検出し、フロック
クロスを検出すると、バッファ記憶装置の第1バンクの
アドレスと第2バンクのアドレスにそれぞれ所要のオペ
ランドが含まれるブロックのアドレスを生成し、隣り合
ったブロックからの議出しを1度に行なう。
本発明によれば、次ブロックアドレスの生成時間は1サ
イクルで実現可能であるため、遅延時間が従釆方式に比
較して短縮化される。又、ブロッククロスの処理は記憶
装置の内部の動作として実現されるため、他ユニットと
のインタフェースが簡単化される。以下本発明を図示の
実施例を参照して詳細に説明する。
イクルで実現可能であるため、遅延時間が従釆方式に比
較して短縮化される。又、ブロッククロスの処理は記憶
装置の内部の動作として実現されるため、他ユニットと
のインタフェースが簡単化される。以下本発明を図示の
実施例を参照して詳細に説明する。
本実施例はィンタナショナル・ビジネス・マシーンズ社
のシステム37の型電子計算機に適用可能であり、この
システムの動作は上記会社の出版による刊行物「IBM
システム/37頂動作原理」により説明されている。従
って以下では、とくに必要のないかぎり、上のシステム
の動作の説明は省略するとともに、そこに用いられてい
る用語を、特別の場合を除き説明を省略して説明する。
第1図において、メインメモリ10とバッファメモリ4
01こは複数の命令およびデータが記憶されている。命
令ユニット20は次に実行すべき命令をバッファメモリ
40からの謙出すための32ビットの論理アドレスを線
20Aを介してアドレスコントロール3川こ送る。アド
レスコントロール3川まこの論理アドレスに応答して、
線30A又は30B上にバッファメモリ40への32ビ
ットの物理アドレスを送出する。バッファメモリ40は
第1,第2の2つのバンク42,44よりなる。第1,
第2のバンク42,44はそれぞれ線30A,30B上
の物理アドレスに応答して、線42A,44A上にそれ
ぞれ8バイト長の記憶情報を送出する。謙出すべき命令
がバッファメモリ40の第1のバンク42にストアされ
ている場合には、16ゞィト長のサイクルシフタ5川ま
何らのシフト動作をせずに、線50Aを介して命令ユニ
ットに第1のバンク42から出力された命令を送る。読
出すべき命令が第2のバンク44にストアされている場
合には、サイクルシフタ50は8バイト分左方向にシフ
ト動作することにより、線50Aを介して命令ユニット
201こ第2のバンク44から出力された命令を送る。
命令の読出し時のサイクルシフタ50のシフト量は、命
令ユニット2川こより、線28Aを介してアラィンコン
トロール901こ送られる。このアラインコントロール
9川ま第2図に示すごとく、このシフト量をストアする
ためのシフトバイト数レジスタ(SHBREG)94内
にこのシフト量をストアし、シフト制御回路95により
、対応するシフト動作を指令する信号を線908を介し
てサイクルシフタ50‘こ送る。
のシステム37の型電子計算機に適用可能であり、この
システムの動作は上記会社の出版による刊行物「IBM
システム/37頂動作原理」により説明されている。従
って以下では、とくに必要のないかぎり、上のシステム
の動作の説明は省略するとともに、そこに用いられてい
る用語を、特別の場合を除き説明を省略して説明する。
第1図において、メインメモリ10とバッファメモリ4
01こは複数の命令およびデータが記憶されている。命
令ユニット20は次に実行すべき命令をバッファメモリ
40からの謙出すための32ビットの論理アドレスを線
20Aを介してアドレスコントロール3川こ送る。アド
レスコントロール3川まこの論理アドレスに応答して、
線30A又は30B上にバッファメモリ40への32ビ
ットの物理アドレスを送出する。バッファメモリ40は
第1,第2の2つのバンク42,44よりなる。第1,
第2のバンク42,44はそれぞれ線30A,30B上
の物理アドレスに応答して、線42A,44A上にそれ
ぞれ8バイト長の記憶情報を送出する。謙出すべき命令
がバッファメモリ40の第1のバンク42にストアされ
ている場合には、16ゞィト長のサイクルシフタ5川ま
何らのシフト動作をせずに、線50Aを介して命令ユニ
ットに第1のバンク42から出力された命令を送る。読
出すべき命令が第2のバンク44にストアされている場
合には、サイクルシフタ50は8バイト分左方向にシフ
ト動作することにより、線50Aを介して命令ユニット
201こ第2のバンク44から出力された命令を送る。
命令の読出し時のサイクルシフタ50のシフト量は、命
令ユニット2川こより、線28Aを介してアラィンコン
トロール901こ送られる。このアラインコントロール
9川ま第2図に示すごとく、このシフト量をストアする
ためのシフトバイト数レジスタ(SHBREG)94内
にこのシフト量をストアし、シフト制御回路95により
、対応するシフト動作を指令する信号を線908を介し
てサイクルシフタ50‘こ送る。
もし、バッファメモリ40に所定の命令が記憶されてい
ないときには、メインメモリー0よりその命令が線iO
Aを介してバッファメモリ40へ転送された後、以上と
同様に処理される。
ないときには、メインメモリー0よりその命令が線iO
Aを介してバッファメモリ40へ転送された後、以上と
同様に処理される。
なお、メインメモリー0へのアクセスのためのアドレス
はすべてアドレスコントロール30の出力線30A〜3
0Cにより供給される。簡単化のために、第1図ではメ
インメモリへのアドレス線は省略されている。命令ユニ
ット20は次に実行すべき命令が1つの命令でメインメ
モリへ議出し要求と書込み命令を出す命令(以下、SS
命令と呼ぶ)か否かを解読する。
はすべてアドレスコントロール30の出力線30A〜3
0Cにより供給される。簡単化のために、第1図ではメ
インメモリへのアドレス線は省略されている。命令ユニ
ット20は次に実行すべき命令が1つの命令でメインメ
モリへ議出し要求と書込み命令を出す命令(以下、SS
命令と呼ぶ)か否かを解読する。
たとえば、ANDCHARACTER,ORCHARA
CTER , EXCLUSIVE ‐ OR
CHARACTER,又は1Q隼演算命令等の命令はメ
インメモリ10の第1,第2のアドレスから、第1,第
2のデータを読出し、所定の演算を行った後、メインメ
モリ10の第1のアドレスにその結果をストアする。ま
たMVC命令はメインメモリ10の第2のアドレスにそ
のデータをストアする。解読の結果、次に実行すべき命
令が、SS命令であることが判明したときに、命令ユニ
ット20は謙出すべきデータの先頭論理アドレス(以下
、第2オペランド論理アドレスと呼ぶ)およびストアす
べきデータの先頭論理アドレス(以下、第1オペランド
論理アドレスと呼ぶ)を、命令内のアドレス情報に基づ
いて決定する。
CTER , EXCLUSIVE ‐ OR
CHARACTER,又は1Q隼演算命令等の命令はメ
インメモリ10の第1,第2のアドレスから、第1,第
2のデータを読出し、所定の演算を行った後、メインメ
モリ10の第1のアドレスにその結果をストアする。ま
たMVC命令はメインメモリ10の第2のアドレスにそ
のデータをストアする。解読の結果、次に実行すべき命
令が、SS命令であることが判明したときに、命令ユニ
ット20は謙出すべきデータの先頭論理アドレス(以下
、第2オペランド論理アドレスと呼ぶ)およびストアす
べきデータの先頭論理アドレス(以下、第1オペランド
論理アドレスと呼ぶ)を、命令内のアドレス情報に基づ
いて決定する。
さらに命令ユニットは、それらのデータの全長LFを、
命令内に含まれている長さに関する情報に基づいて決定
する。これらのアドレスは32ビットからなり、データ
全長LFは8ビットからなる。これらの第1、第2オペ
ランドアドレスおよびデータ全長LFは命令ユニット内
に第1、第2のオペランドアドレスレジスタ(OAR)
24,26(第2図)およびレングスフィールドレジス
タ(LFR)22(第2図)にそれぞれストアされる。
命令が示すデータ全長LFは実際のデータ全長より1バ
イト少ない数値を示し、LFR22にも1バイト少ない
数値がセットされる。ここで、データの先頭アドレスと
は、データを規定するための、データの両端についての
アドレスのうちの小さい方の値(以下、最左端アドレス
と呼ぶ)又は大きい方の値(以下、最右端アドレスと呼
ぶ)のいずれかであり、先頭アドレスがこれらのアドレ
スのいずれに対応するかは、命令によって定まっていて
、10進演算命令の場合は後者であり、その他のSS命
令の場合は前者に相当する。第2オペランド論理アドレ
スがまず、命令ユニット20からアドレスコントロール
30へ線20Aを介して送られるとともに、第1オペラ
ンド論理アドレスと第2オペランド論理アドレスの下位
4ビットおよび全長LFが命令ユニット20から線24
A,26A,22Aをそれぞれ介してアラインコントロ
ール90へ送られる。一方、命令ユニット20はこの命
令のうちのオペレーションコード(オベコード)をコン
トロールストレジ80‘こ線20Bを介して0送出する
。このコントロールストレジ8川ま、このオベコードで
指定されるマイクロ命令シーケンス内のマイクロ命令を
順次議出し、その命令の実行を制御する。コントロール
ストレジ80は1つのマイクロ命令を出すと、その中に
設けられたコントロールストレジス夕(CR)800(
第2図)にそのマイクロ命令をストアする。各マイクロ
命令は、次に読み出すべきマイクロ命令を指定するため
のネクストアドレスフイールト802、命令の実行の制
御情報を表示するためのコントロールフィールド804
、読出されたデータの位置合わせおよび切り出しを制御
するための4ビットのアラィンフィールド806を有す
る。アラィンコントロール90はこのアラインフイール
ド806を線80Aを介して受けとり、線90A〜90
Cを介して、それぞれ、アドレスコントロール30、サ
イクルシフタ50、オペランドコントロール60へ制御
信号を送出する。第2図に示すように、アラィンコント
ロール9川まコントロールレジスタ800内のアライン
フィールド806をデコ−ダ98が解読し、OAR24
と26にストアされたオペランドアドレスが最左端アド
レスかあるいは最右端アドレスかを判別する。
命令内に含まれている長さに関する情報に基づいて決定
する。これらのアドレスは32ビットからなり、データ
全長LFは8ビットからなる。これらの第1、第2オペ
ランドアドレスおよびデータ全長LFは命令ユニット内
に第1、第2のオペランドアドレスレジスタ(OAR)
24,26(第2図)およびレングスフィールドレジス
タ(LFR)22(第2図)にそれぞれストアされる。
命令が示すデータ全長LFは実際のデータ全長より1バ
イト少ない数値を示し、LFR22にも1バイト少ない
数値がセットされる。ここで、データの先頭アドレスと
は、データを規定するための、データの両端についての
アドレスのうちの小さい方の値(以下、最左端アドレス
と呼ぶ)又は大きい方の値(以下、最右端アドレスと呼
ぶ)のいずれかであり、先頭アドレスがこれらのアドレ
スのいずれに対応するかは、命令によって定まっていて
、10進演算命令の場合は後者であり、その他のSS命
令の場合は前者に相当する。第2オペランド論理アドレ
スがまず、命令ユニット20からアドレスコントロール
30へ線20Aを介して送られるとともに、第1オペラ
ンド論理アドレスと第2オペランド論理アドレスの下位
4ビットおよび全長LFが命令ユニット20から線24
A,26A,22Aをそれぞれ介してアラインコントロ
ール90へ送られる。一方、命令ユニット20はこの命
令のうちのオペレーションコード(オベコード)をコン
トロールストレジ80‘こ線20Bを介して0送出する
。このコントロールストレジ8川ま、このオベコードで
指定されるマイクロ命令シーケンス内のマイクロ命令を
順次議出し、その命令の実行を制御する。コントロール
ストレジ80は1つのマイクロ命令を出すと、その中に
設けられたコントロールストレジス夕(CR)800(
第2図)にそのマイクロ命令をストアする。各マイクロ
命令は、次に読み出すべきマイクロ命令を指定するため
のネクストアドレスフイールト802、命令の実行の制
御情報を表示するためのコントロールフィールド804
、読出されたデータの位置合わせおよび切り出しを制御
するための4ビットのアラィンフィールド806を有す
る。アラィンコントロール90はこのアラインフイール
ド806を線80Aを介して受けとり、線90A〜90
Cを介して、それぞれ、アドレスコントロール30、サ
イクルシフタ50、オペランドコントロール60へ制御
信号を送出する。第2図に示すように、アラィンコント
ロール9川まコントロールレジスタ800内のアライン
フィールド806をデコ−ダ98が解読し、OAR24
と26にストアされたオペランドアドレスが最左端アド
レスかあるいは最右端アドレスかを判別する。
OAR24と26にストアされたオペランドアドレスが
最左端アドレスを表示するか否かは、あらかじめ命令に
より決っているので、その命令により読出されたアラィ
ンフィールドの内容を命令によりあらかじめ一義的に定
めておくことにより、上記の判別が可能となる。たとえ
ばIG隼演算命令の場合のように、OAR24と26に
ストアされたアドレスが最右端アドレスを表示する場合
には、デコーダ98は「1」を出力し、それ以外の場合
には「0」を出力し、この世力はアラィン方向レジスタ
(ALDR)99にストアされる。このALDR99の
出力は線90Aをしてアドレスコントロール30(第1
図)に送られる。アドレスコントロール30の詳細は第
3図に示されている。命令ユニット20から線20Aを
介して入力された32ビットの第2オペランド論理アド
レスは公知のアドレス変換回路32により対応する33
2ビットの第2オペランド物理アドレスに変換され、第
4図に示したアドレス構成におけるビット0〜25則ブ
ロックアドレスが線32Aを介してソースアドレスレジ
スタ(SAR)34と36のビット位置0〜25の部分
に入力される。…方、4第2オペランド論理アドレスの
ビット26〜28の3ビットが線20Aを介してアドレ
ス加算回路38に入力される。アドレスのビット26〜
28は第4図に示す様に64ゞィト内の8バイト単位の
アドレスを表わす。アドレス加算回路38はアラインコ
ントロールから与えられる線90A上の信号と命令ユニ
ット20から与えられる線20A上の信号に応答して、
第5図に示す関係により、線38A,38B上に3ビッ
トの2進データを出力する。アドレス加算回路38の詳
細は第6図に示されている。
最左端アドレスを表示するか否かは、あらかじめ命令に
より決っているので、その命令により読出されたアラィ
ンフィールドの内容を命令によりあらかじめ一義的に定
めておくことにより、上記の判別が可能となる。たとえ
ばIG隼演算命令の場合のように、OAR24と26に
ストアされたアドレスが最右端アドレスを表示する場合
には、デコーダ98は「1」を出力し、それ以外の場合
には「0」を出力し、この世力はアラィン方向レジスタ
(ALDR)99にストアされる。このALDR99の
出力は線90Aをしてアドレスコントロール30(第1
図)に送られる。アドレスコントロール30の詳細は第
3図に示されている。命令ユニット20から線20Aを
介して入力された32ビットの第2オペランド論理アド
レスは公知のアドレス変換回路32により対応する33
2ビットの第2オペランド物理アドレスに変換され、第
4図に示したアドレス構成におけるビット0〜25則ブ
ロックアドレスが線32Aを介してソースアドレスレジ
スタ(SAR)34と36のビット位置0〜25の部分
に入力される。…方、4第2オペランド論理アドレスの
ビット26〜28の3ビットが線20Aを介してアドレ
ス加算回路38に入力される。アドレスのビット26〜
28は第4図に示す様に64ゞィト内の8バイト単位の
アドレスを表わす。アドレス加算回路38はアラインコ
ントロールから与えられる線90A上の信号と命令ユニ
ット20から与えられる線20A上の信号に応答して、
第5図に示す関係により、線38A,38B上に3ビッ
トの2進データを出力する。アドレス加算回路38の詳
細は第6図に示されている。
第6図に於いて、±64回路381は命令ユニットから
線20Aにて送られて来る第2オペランド論理アドレス
のビット0〜25に対し、フラインコントロール90よ
り送出されて来るALDR99の出力線90Aが「0」
の時、上記アドレスのビット25の位置に「1」を加え
、「1」の時、上記アドレスのビット25の位置より「
1」を減じ、その結果をNBAR382にストアする。
即ち、線20Aのアドレスがオペランドの最右端を示し
ている場合は線20Aのアドレスを64バイト減算し、
線20Aのアドレスがオペランドの最左端を示している
場合は線20Aのアドレスを6心ゞ.ィト加算して、要
求される隣のブロックのアドレスを求める機能を持つ。
±8回路383は命令ユニットから線20Aにて送られ
て釆る第2オペランド論理アドレスのビット26〜28
に対し、アラインコントロール90より送出されて来る
ALDR99の出力線90Aが「0」の時、上記アドレ
スのビット28の位置にrl」を加え、「1」の時、上
記アドレスのビット28の位置より「1」を減じる機構
成されている。±8回路383出力線383Aと線20
Aのビット26〜28はそれぞれセレクタ384,38
5の入力となる。これらのセレクタの選択動作は第5図
の入力と出力の関係に於いて一義的に定められるもので
あるから説明を省略する。この結果セレクタ384の出
力線38A上にはバッファメモリ40の第1バンク42
のアドレスが確定し、セレクタ385の出力線38B上
にはバッファメモリ40の第2バンク44のアドレスが
確定する。フロッククロス検出回路386は命令ユニッ
ト20から送出される第2オペランド論理アドレスのビ
ット26〜28及び線アラインコントロール90より線
91Aにて送出されるフェッチデータ長及びアラィンコ
ントロール90より線90Aにて送出されるALDRの
出力に基づき所要のオペランドが2つの6心ゞィトブロ
ックをまたがっているか否かを判定する。
線20Aにて送られて来る第2オペランド論理アドレス
のビット0〜25に対し、フラインコントロール90よ
り送出されて来るALDR99の出力線90Aが「0」
の時、上記アドレスのビット25の位置に「1」を加え
、「1」の時、上記アドレスのビット25の位置より「
1」を減じ、その結果をNBAR382にストアする。
即ち、線20Aのアドレスがオペランドの最右端を示し
ている場合は線20Aのアドレスを64バイト減算し、
線20Aのアドレスがオペランドの最左端を示している
場合は線20Aのアドレスを6心ゞ.ィト加算して、要
求される隣のブロックのアドレスを求める機能を持つ。
±8回路383は命令ユニットから線20Aにて送られ
て釆る第2オペランド論理アドレスのビット26〜28
に対し、アラインコントロール90より送出されて来る
ALDR99の出力線90Aが「0」の時、上記アドレ
スのビット28の位置にrl」を加え、「1」の時、上
記アドレスのビット28の位置より「1」を減じる機構
成されている。±8回路383出力線383Aと線20
Aのビット26〜28はそれぞれセレクタ384,38
5の入力となる。これらのセレクタの選択動作は第5図
の入力と出力の関係に於いて一義的に定められるもので
あるから説明を省略する。この結果セレクタ384の出
力線38A上にはバッファメモリ40の第1バンク42
のアドレスが確定し、セレクタ385の出力線38B上
にはバッファメモリ40の第2バンク44のアドレスが
確定する。フロッククロス検出回路386は命令ユニッ
ト20から送出される第2オペランド論理アドレスのビ
ット26〜28及び線アラインコントロール90より線
91Aにて送出されるフェッチデータ長及びアラィンコ
ントロール90より線90Aにて送出されるALDRの
出力に基づき所要のオペランドが2つの6心ゞィトブロ
ックをまたがっているか否かを判定する。
この判定方法は第7図に示される通りである。第7図の
組合せが成立した時、所要のオペラソドが2つの6心ゞ
イトブロツクをまたがっていることを表わし、線386
Aがrl」となる。これによりフリツプフロツプ387
がセットされて出力線388が「1」となりアドレス変
換回路32の入力を線20Aから線38日こ切替える。
この時、線38Fには次のブロックの論理アドレスが確
定しており、アドレス変換により物理アドレスが線32
A上に求まる。ブロックク。ス検出回路386は更に線
386Aを「1」にセットした場合に、線90A上の信
号が「0」の時、386Bを「1」にし、線90A上の
本発明はが「1」の時、線386Cを「1」にしてそれ
ぞれフリツプフロツプ388,389をセットする。フ
リップフロップ388が「1」になると出力線38Cに
よりSAR36の全ビットがホールドされる。この時、
フリップフロップ389は「0」であるから出力線38
DによるSAR34のホールドは行なわれず、線32A
上に確定している次のブロックの論理アドレスがSAR
34にセットされる。この時SAR34のビット26〜
28は前の値を保持する。上記動作によりSAR36に
はオペランドを含む一方のブロックの物理アドレスが確
定し、SAR34にはオペランドを含むもう一方のブロ
ックの物理アドレスが確定することになる。フリップフ
ロップ389が「1」になった場合は出力線38Dによ
りSAR34の全ビットがホールドされる。この時、フ
リツプフロツブ388は「0」であるから出力線38C
によるホールドは行なわれず、線32A上に確定してい
る次のフロックの論理アドレスがSAR36にセットさ
れる。この時SAR36のビット26〜28は前の値を
保持する。これによりSAR34にはオペランドを含む
一方のブロックの物理アドレスが確定し、SAR36に
はオペランドを含むもう一方のフロックの物理アドレス
が確定することになる。アドレス加算回路38の動作は
次の意味をもつ。バッファメモリ40の第1、第2のバ
ンク42,44のアドレス付は交互に8バイト単位に行
なわれている。すなわち、アドレスが10進表示で、0
〜7,16〜23,32〜39,……の場合には、その
アドレスに対するデータは第1バンク42にストアされ
ており、アドレスが10進表示で8〜15,24〜31
,40〜47,・・…・の場合には、そのアドレスに対
するデータが第2バンク42にストアされている。この
様子は第8図に示される通りである。例えばデータの最
先端を示すアドレスが4オペランド長が7の場合、SA
R34には第1バンク42、第1ブロックカラム0のア
ドレスがストアされ、同時にSAR36には第2バンク
44、第1ブロックカラム0のアドレスがストアされる
。これによりバッファメモリ40からアドレス0〜7と
アドレス8〜15のデータが謙出され、サイクルシフタ
50によりアドレス4〜11のデータが敬出される。又
、データの最左端を示すアドレスが12でオペランド長
が7の場合、SAR34には第1バンク42、第1ブロ
ックカラム1のアドレスがストアされ、同時にSAR3
6には第2バンク44、第1ブロックカラム0のアドレ
スがストアされる。これによりバッファメモリ40から
アドレス8〜15とアドレス16〜23のデータが謙出
され、サイクルシフタ50によりアドレス12〜19の
データが取出される。更に、データの最左端を示すアド
レスが60でオペランド長が7の場合はブロッククロス
が検出され、SAR36には第2バンク44、第1ブロ
ックカラム3のアドレスがストアこれ、次のサイクルで
SAR34に第1バンク42、第2ブロックカラム4の
アドレスがストアされる。これによりバッファメモリ4
0からアドレス56〜63とアドレス64〜71のデー
タが読出され、サイクルシフタ50‘こよりアドレス6
0〜67のデータが取出される。アドレスがデータの最
右端を示す場合のSAR34,36の設定とバッファメ
モリ40の読出しサイクルシフタ501こよるシフト動
作は上記の例から容易に類推できるので説明を省略する
。
組合せが成立した時、所要のオペラソドが2つの6心ゞ
イトブロツクをまたがっていることを表わし、線386
Aがrl」となる。これによりフリツプフロツプ387
がセットされて出力線388が「1」となりアドレス変
換回路32の入力を線20Aから線38日こ切替える。
この時、線38Fには次のブロックの論理アドレスが確
定しており、アドレス変換により物理アドレスが線32
A上に求まる。ブロックク。ス検出回路386は更に線
386Aを「1」にセットした場合に、線90A上の信
号が「0」の時、386Bを「1」にし、線90A上の
本発明はが「1」の時、線386Cを「1」にしてそれ
ぞれフリツプフロツプ388,389をセットする。フ
リップフロップ388が「1」になると出力線38Cに
よりSAR36の全ビットがホールドされる。この時、
フリップフロップ389は「0」であるから出力線38
DによるSAR34のホールドは行なわれず、線32A
上に確定している次のブロックの論理アドレスがSAR
34にセットされる。この時SAR34のビット26〜
28は前の値を保持する。上記動作によりSAR36に
はオペランドを含む一方のブロックの物理アドレスが確
定し、SAR34にはオペランドを含むもう一方のブロ
ックの物理アドレスが確定することになる。フリップフ
ロップ389が「1」になった場合は出力線38Dによ
りSAR34の全ビットがホールドされる。この時、フ
リツプフロツブ388は「0」であるから出力線38C
によるホールドは行なわれず、線32A上に確定してい
る次のフロックの論理アドレスがSAR36にセットさ
れる。この時SAR36のビット26〜28は前の値を
保持する。これによりSAR34にはオペランドを含む
一方のブロックの物理アドレスが確定し、SAR36に
はオペランドを含むもう一方のフロックの物理アドレス
が確定することになる。アドレス加算回路38の動作は
次の意味をもつ。バッファメモリ40の第1、第2のバ
ンク42,44のアドレス付は交互に8バイト単位に行
なわれている。すなわち、アドレスが10進表示で、0
〜7,16〜23,32〜39,……の場合には、その
アドレスに対するデータは第1バンク42にストアされ
ており、アドレスが10進表示で8〜15,24〜31
,40〜47,・・…・の場合には、そのアドレスに対
するデータが第2バンク42にストアされている。この
様子は第8図に示される通りである。例えばデータの最
先端を示すアドレスが4オペランド長が7の場合、SA
R34には第1バンク42、第1ブロックカラム0のア
ドレスがストアされ、同時にSAR36には第2バンク
44、第1ブロックカラム0のアドレスがストアされる
。これによりバッファメモリ40からアドレス0〜7と
アドレス8〜15のデータが謙出され、サイクルシフタ
50によりアドレス4〜11のデータが敬出される。又
、データの最左端を示すアドレスが12でオペランド長
が7の場合、SAR34には第1バンク42、第1ブロ
ックカラム1のアドレスがストアされ、同時にSAR3
6には第2バンク44、第1ブロックカラム0のアドレ
スがストアされる。これによりバッファメモリ40から
アドレス8〜15とアドレス16〜23のデータが謙出
され、サイクルシフタ50によりアドレス12〜19の
データが取出される。更に、データの最左端を示すアド
レスが60でオペランド長が7の場合はブロッククロス
が検出され、SAR36には第2バンク44、第1ブロ
ックカラム3のアドレスがストアこれ、次のサイクルで
SAR34に第1バンク42、第2ブロックカラム4の
アドレスがストアされる。これによりバッファメモリ4
0からアドレス56〜63とアドレス64〜71のデー
タが読出され、サイクルシフタ50‘こよりアドレス6
0〜67のデータが取出される。アドレスがデータの最
右端を示す場合のSAR34,36の設定とバッファメ
モリ40の読出しサイクルシフタ501こよるシフト動
作は上記の例から容易に類推できるので説明を省略する
。
こうしてSAR34,36にはバツフアメモリ40の第
1、第2のバンク42,44から連続した1位ゞィトの
データを構成するのに必要な8バイトのデータをそれぞ
れ読出すためのアドレスがストアされる。データが1つ
のブロックに含まれている場合、データは1回の論出し
動作にて出力される。更に、データが2つのブロックも
こ含まれている場合でもブロッククロスの検出によって
データは1サイクルの遅延を要するものの、やはり1回
の議出し動作にて出力される。なお、バッファメモリ4
0内に所望のデータがストアされていないときには、そ
のデータはメインメモリ10からバッファメモリ40‘
こ転送された後に上記の議出し動作が行われる。この1
0ゞィトのデータは線42A,44Aを介してサイクル
シフタ50‘こ送られる。サイクルシフタ50はアライ
ンコントロール90から線90Bを介して送られるシフ
ト制御信号により決まるバイト数だけ、入力されたデー
タを左方向にバイト単位にサイクルシフトする。このシ
フト制御信号は第2図のシフト制御回路95により与え
られる。この回路95はシフトバイト数決定回路93の
出力をシフトバイト数レジスタ(SHBREG)94を
介して受けとり、対応するシフト制御信号を出力する。
回路93は命令ユニット20内のOAR24,26内の
第1、第2オペランドアドレスの下位4ビットをそれぞ
れ線24A,26Aを介して受け取るとともに、演算器
(ALU)70(第1図)内のワークレジス夕(WR)
72(第2図)内のデータを受け取り、これらのデー外
こ基づいて、線80Aを介して送られるCR800内の
アラインフィールド806の制御のもとに「シフトバイ
ト数を決定し、SHBREG94にストアする。シフト
バイト数決定回路93の詳細は第9図に示されるごとく
、セレクタ932,936,930と補数回路933、
レジスタ934,935と加算器937よりなる。
1、第2のバンク42,44から連続した1位ゞィトの
データを構成するのに必要な8バイトのデータをそれぞ
れ読出すためのアドレスがストアされる。データが1つ
のブロックに含まれている場合、データは1回の論出し
動作にて出力される。更に、データが2つのブロックも
こ含まれている場合でもブロッククロスの検出によって
データは1サイクルの遅延を要するものの、やはり1回
の議出し動作にて出力される。なお、バッファメモリ4
0内に所望のデータがストアされていないときには、そ
のデータはメインメモリ10からバッファメモリ40‘
こ転送された後に上記の議出し動作が行われる。この1
0ゞィトのデータは線42A,44Aを介してサイクル
シフタ50‘こ送られる。サイクルシフタ50はアライ
ンコントロール90から線90Bを介して送られるシフ
ト制御信号により決まるバイト数だけ、入力されたデー
タを左方向にバイト単位にサイクルシフトする。このシ
フト制御信号は第2図のシフト制御回路95により与え
られる。この回路95はシフトバイト数決定回路93の
出力をシフトバイト数レジスタ(SHBREG)94を
介して受けとり、対応するシフト制御信号を出力する。
回路93は命令ユニット20内のOAR24,26内の
第1、第2オペランドアドレスの下位4ビットをそれぞ
れ線24A,26Aを介して受け取るとともに、演算器
(ALU)70(第1図)内のワークレジス夕(WR)
72(第2図)内のデータを受け取り、これらのデー外
こ基づいて、線80Aを介して送られるCR800内の
アラインフィールド806の制御のもとに「シフトバイ
ト数を決定し、SHBREG94にストアする。シフト
バイト数決定回路93の詳細は第9図に示されるごとく
、セレクタ932,936,930と補数回路933、
レジスタ934,935と加算器937よりなる。
補数回路933はOAR24の下位4ビットからなるデ
ータ“X”の“2”の補数、従って、数学的にはデータ
“一×”を出力する。レジスタ9349 935はそれ
ぞれ定数“9,“1yに相当する2進データを記憶して
いる。セレクタ932はOAR24,26の下位4ビッ
ト“×”,“Y”を選択し、セレク夕936は補数回路
933,セレクタ934,935の出力の1つを選択す
る。加算器937はセレク夕932と936の出力の和
を求める。セレクタ930はWR72の出力“Z”,線
26A上のデータ“Y”の下3ビットをすべて“0”と
した、線938A上のデータ“Y”,セレクタ932の
出力、加算器937の出力の1つを選択する。これらの
セレクタ932,936,930の動作はすべて、線8
2Aを介して入力されるCR82内のアラインフイール
ド806内のデータにより制御される。これらのセレク
タの選択動作とアラィンフィールド806との関係は第
10図に示す通りである。第10図には各アラィンフィ
ールドの使用例も示してある。デコーダ98(第2図)
の出力が“0”のときには、セレクタ930により出力
されるデー外ま、第10図に示すとおり、‘‘X”,‘
‘Y”,‘‘Y”,‘‘Z”,‘‘Y−X”,‘‘Y+
13’’のいずれかに相当し、デコーダ98(第2図)
の出力が“1”のときには、セレクタ930により出力
されるデータは“Y+9”又は“×十9”に相当する。
従って、ある命令の処理にあたって、その命令の実行の
強制を司さどろマイクロ命令シーケンス内のアラィンフ
ィールドのデータを、シフトしたいバイト数がセレクタ
930から出力されるように、第10図に従って特定し
ておけばよい。ただし、このアラィンデータは、後述の
セレク夕960の選択動作をも特定したうえで定めねば
ならない。なお、第9図において、WR72のデータ“
Z”をセレクトする場合には、このデータ“Z”を必要
に応じて定めることにより、任意のバイト数のシフトら
可能となる。再び第1図において、サイクルシフタ50
‘ま、アラィンコントロール90の制御のもとにあるバ
イト数だけ入力されたデータを左サイクルシフトした後
に、シフト後のデータの上位8バイトも切り出し、線5
0A上を介してオペランドコントロール601こ送る。
オペランドコントロール60‘ま第11図に示すごとく
「アラィンコントロール90から線90Cを介して送ら
れる8ビットのフェッチマスクデー夕に応答して、線5
0Aを介して入力されたデータのうち、あるバイト位置
のデータをすべてゲート62でカットしてオペランドバ
ツフアレジスタ(OBR)6001こストアしたうえで
、ALU70へ線60Aを介して送る。このフェッチマ
スクデータは第2図に示すごとく、マスクパターン決定
回路96より線96Aとフェッチマスクレジス夕(FM
ARKREG)97を介して与えられる。回路96は読
出すべきデータ長を定めるフェッチデータ長決定回路9
1の出力とOAR24内の下位側4ビットの出力に応答
し、線80Aを介して与えられるCR800内のアラィ
ンフィ−ルド806の制御下でフェッチマスクパターン
を出力する。フェッチデータ長決定回路91は命令ユニ
ット20内のLFR22およびALU70内のWR72
の出力に応答し、アラィンフィールド806の制御下で
フェッチデータ長を定める。フヱッチデータ長決定回路
91の詳細は第12図に記載されているごとく、最小値
検出回路(MINDET)911,913,915,9
17と定数レジスタ919と、これらの出力とWR72
からの線72A上の出力の1つをセレクトするためのセ
レクタ910からなる。
ータ“X”の“2”の補数、従って、数学的にはデータ
“一×”を出力する。レジスタ9349 935はそれ
ぞれ定数“9,“1yに相当する2進データを記憶して
いる。セレクタ932はOAR24,26の下位4ビッ
ト“×”,“Y”を選択し、セレク夕936は補数回路
933,セレクタ934,935の出力の1つを選択す
る。加算器937はセレク夕932と936の出力の和
を求める。セレクタ930はWR72の出力“Z”,線
26A上のデータ“Y”の下3ビットをすべて“0”と
した、線938A上のデータ“Y”,セレクタ932の
出力、加算器937の出力の1つを選択する。これらの
セレクタ932,936,930の動作はすべて、線8
2Aを介して入力されるCR82内のアラインフイール
ド806内のデータにより制御される。これらのセレク
タの選択動作とアラィンフィールド806との関係は第
10図に示す通りである。第10図には各アラィンフィ
ールドの使用例も示してある。デコーダ98(第2図)
の出力が“0”のときには、セレクタ930により出力
されるデー外ま、第10図に示すとおり、‘‘X”,‘
‘Y”,‘‘Y”,‘‘Z”,‘‘Y−X”,‘‘Y+
13’’のいずれかに相当し、デコーダ98(第2図)
の出力が“1”のときには、セレクタ930により出力
されるデータは“Y+9”又は“×十9”に相当する。
従って、ある命令の処理にあたって、その命令の実行の
強制を司さどろマイクロ命令シーケンス内のアラィンフ
ィールドのデータを、シフトしたいバイト数がセレクタ
930から出力されるように、第10図に従って特定し
ておけばよい。ただし、このアラィンデータは、後述の
セレク夕960の選択動作をも特定したうえで定めねば
ならない。なお、第9図において、WR72のデータ“
Z”をセレクトする場合には、このデータ“Z”を必要
に応じて定めることにより、任意のバイト数のシフトら
可能となる。再び第1図において、サイクルシフタ50
‘ま、アラィンコントロール90の制御のもとにあるバ
イト数だけ入力されたデータを左サイクルシフトした後
に、シフト後のデータの上位8バイトも切り出し、線5
0A上を介してオペランドコントロール601こ送る。
オペランドコントロール60‘ま第11図に示すごとく
「アラィンコントロール90から線90Cを介して送ら
れる8ビットのフェッチマスクデー夕に応答して、線5
0Aを介して入力されたデータのうち、あるバイト位置
のデータをすべてゲート62でカットしてオペランドバ
ツフアレジスタ(OBR)6001こストアしたうえで
、ALU70へ線60Aを介して送る。このフェッチマ
スクデータは第2図に示すごとく、マスクパターン決定
回路96より線96Aとフェッチマスクレジス夕(FM
ARKREG)97を介して与えられる。回路96は読
出すべきデータ長を定めるフェッチデータ長決定回路9
1の出力とOAR24内の下位側4ビットの出力に応答
し、線80Aを介して与えられるCR800内のアラィ
ンフィ−ルド806の制御下でフェッチマスクパターン
を出力する。フェッチデータ長決定回路91は命令ユニ
ット20内のLFR22およびALU70内のWR72
の出力に応答し、アラィンフィールド806の制御下で
フェッチデータ長を定める。フヱッチデータ長決定回路
91の詳細は第12図に記載されているごとく、最小値
検出回路(MINDET)911,913,915,9
17と定数レジスタ919と、これらの出力とWR72
からの線72A上の出力の1つをセレクトするためのセ
レクタ910からなる。
セレク夕910は線80Aを介して与えられるCR80
0内のアラィンフィールド806により制御される。ア
ラィンフィールドの内容とセレクタ910の出力との関
係は第10図に示されている。回路911,913,9
1 5,91 7は命令ユニット内のLFR22に結合
されており、回路911と913はこのLFR22内の
データ全長LFとそれぞれ“7”,“3”とを比較し、
小さい方の値を出力する。回路915はデータ長LFの
上位側4ビットで表わされるLFIと“7”とを比較し
、小さい方のデータを出力する。回路917はデータ長
LFの下位側4ビットで構成されるデータLF2と“7
”とを比較し、少さし、方のデータを出力する。回路9
11はバッファメモリ40からの議出しデータ長を8バ
イト以下に制限すればよい場合、たとえばMVC命令の
場合に選択される。回路913はバッファメモリ40か
らの読出しデータ長を4バイト以下に制限する必要があ
るときに選択される。本実施例ではオーバラップ処理を
要する命令の実行時に選択される。回路915,917
は10進演算命令の場合であって、それぞれ第1、第2
オペランドを読出す時に用いられる。REG919は、
たとえば割込み処理のときに選択され、LFR22の内
容に無関係に8バィのデータを読出すのに使われる。線
72AはWR72内の任意の値でもつて読出しデータ長
をきめる場合に選択される。マスクパターン決定回路9
6の詳細は第13図に示されるごとく、フェツチデータ
長決定回路91の出力が線91Aを介して入力される左
パターン発生器962と右パターン発生器964と、左
パターン発生器962の出力を、線24A上のOAR2
4内の下位4ビットからなるデータで表わされる値だけ
右方向にシフトするための右シフタ966と、発生器9
62,964と右シフタ966の出力を選択するための
セレクタ960とよりなる。
0内のアラィンフィールド806により制御される。ア
ラィンフィールドの内容とセレクタ910の出力との関
係は第10図に示されている。回路911,913,9
1 5,91 7は命令ユニット内のLFR22に結合
されており、回路911と913はこのLFR22内の
データ全長LFとそれぞれ“7”,“3”とを比較し、
小さい方の値を出力する。回路915はデータ長LFの
上位側4ビットで表わされるLFIと“7”とを比較し
、小さい方のデータを出力する。回路917はデータ長
LFの下位側4ビットで構成されるデータLF2と“7
”とを比較し、少さし、方のデータを出力する。回路9
11はバッファメモリ40からの議出しデータ長を8バ
イト以下に制限すればよい場合、たとえばMVC命令の
場合に選択される。回路913はバッファメモリ40か
らの読出しデータ長を4バイト以下に制限する必要があ
るときに選択される。本実施例ではオーバラップ処理を
要する命令の実行時に選択される。回路915,917
は10進演算命令の場合であって、それぞれ第1、第2
オペランドを読出す時に用いられる。REG919は、
たとえば割込み処理のときに選択され、LFR22の内
容に無関係に8バィのデータを読出すのに使われる。線
72AはWR72内の任意の値でもつて読出しデータ長
をきめる場合に選択される。マスクパターン決定回路9
6の詳細は第13図に示されるごとく、フェツチデータ
長決定回路91の出力が線91Aを介して入力される左
パターン発生器962と右パターン発生器964と、左
パターン発生器962の出力を、線24A上のOAR2
4内の下位4ビットからなるデータで表わされる値だけ
右方向にシフトするための右シフタ966と、発生器9
62,964と右シフタ966の出力を選択するための
セレクタ960とよりなる。
このセレクタ960は、線80A上のCR800内のア
ラインフイールド806により制御される。発生器96
2,964の出力は、第14図に示されるごとく、フェ
ッチデー夕長決定回路91から出力されるフェツチデー
タ長の数プラス1だけの“1”を左側と右側とにそれぞ
れ有する8ビットのデータを出力するものである。セレ
クタ960の出力はFMARKREG97(第2図)へ
線96Aを介して送られ、そこにストア0 される。こ
のFMARKRES97の出力が第1 1図に示したオ
ペランドコントロール60内の8個ゲート62に送られ
、セレクタ960の出力のうちの“0”に対応するゲー
トをオフとすることにより、そのゲートに入力された1
バイトを“0”と夕し、“1”に対応するゲートをオン
することにより、そのゲートに入力された1バイトは素
通りさせる。こうして、OBR600‘こは、所望の桁
位のバイトのみが有意であって、他はすべて“0”であ
るデータがストアされる。0 こうしてOBR600内
にストアされたデータは線60Aを介して、ALU70
へ送られる。
ラインフイールド806により制御される。発生器96
2,964の出力は、第14図に示されるごとく、フェ
ッチデー夕長決定回路91から出力されるフェツチデー
タ長の数プラス1だけの“1”を左側と右側とにそれぞ
れ有する8ビットのデータを出力するものである。セレ
クタ960の出力はFMARKREG97(第2図)へ
線96Aを介して送られ、そこにストア0 される。こ
のFMARKRES97の出力が第1 1図に示したオ
ペランドコントロール60内の8個ゲート62に送られ
、セレクタ960の出力のうちの“0”に対応するゲー
トをオフとすることにより、そのゲートに入力された1
バイトを“0”と夕し、“1”に対応するゲートをオン
することにより、そのゲートに入力された1バイトは素
通りさせる。こうして、OBR600‘こは、所望の桁
位のバイトのみが有意であって、他はすべて“0”であ
るデータがストアされる。0 こうしてOBR600内
にストアされたデータは線60Aを介して、ALU70
へ送られる。
読出すべきデータの全長LFが7バイト以下のときには
、以上のごとき一回の議出し動作で第1オペランド物理
アドレスで指定されるデータの読夕出しが終了する。し
かし、この全長LFが7バイトをこえるときには、全長
LFのデータがすべて謙出されるまで、以上の読出し動
作が繰り返される。すなわち、命令ユニット20はLF
R20内の値を講出したデータ長だけ減じる。この結果
得0られる、LFR22の内容が負でない場合には、L
FR22,OAR26内の内容を用いて再びデータの議
出しが行なわれる。この議出し動作は、LFR22の内
容が負になるまで繰り返される。一方、命令ユニット2
0は、バッファメモリ450からの上述のデータの論出
し動作中、OAR24(第2図)内にストアした第1オ
ペランド論理アドレスをアドレスコントロール30へ送
出する。このアドレスコントロール3川ま、前述したの
と全く同じようにして第1オペランド‘こ対する0物理
アドレスを発生させる。実行中の命令がこの第1オペラ
ンド物理アドレスに対するデータをバッファメモリ40
より読出す必要がある場合には、これまで述べたのと全
く同じ手順により、議出し動作が行われる。このとき、
第3図に示すアドレスコント0ール30において、デス
テイネーションアドレスレジス夕(DAR)39はこの
第1オペランドアドレスをストアしておく。その後、こ
れらの2つのデータについてALU70で所望の演算が
行われ、その結果がメインメモリ10およびバッファメ
モリ40内の第1オペランド物理アドレス位置に記憶さ
れる。もし、実行中の命令が、MVC命令のごとく、第
1オペランドアドレスに対するデータの議出しを必要と
しない場合には、第2オペランド物理アドレスを用いて
読出されたデータはALU70を素通りして、メインメ
モリ10およびバッファメモリ40内の第1オペランド
物理アドレス位置に、線70Aを介してストアされる。
、以上のごとき一回の議出し動作で第1オペランド物理
アドレスで指定されるデータの読夕出しが終了する。し
かし、この全長LFが7バイトをこえるときには、全長
LFのデータがすべて謙出されるまで、以上の読出し動
作が繰り返される。すなわち、命令ユニット20はLF
R20内の値を講出したデータ長だけ減じる。この結果
得0られる、LFR22の内容が負でない場合には、L
FR22,OAR26内の内容を用いて再びデータの議
出しが行なわれる。この議出し動作は、LFR22の内
容が負になるまで繰り返される。一方、命令ユニット2
0は、バッファメモリ450からの上述のデータの論出
し動作中、OAR24(第2図)内にストアした第1オ
ペランド論理アドレスをアドレスコントロール30へ送
出する。このアドレスコントロール3川ま、前述したの
と全く同じようにして第1オペランド‘こ対する0物理
アドレスを発生させる。実行中の命令がこの第1オペラ
ンド物理アドレスに対するデータをバッファメモリ40
より読出す必要がある場合には、これまで述べたのと全
く同じ手順により、議出し動作が行われる。このとき、
第3図に示すアドレスコント0ール30において、デス
テイネーションアドレスレジス夕(DAR)39はこの
第1オペランドアドレスをストアしておく。その後、こ
れらの2つのデータについてALU70で所望の演算が
行われ、その結果がメインメモリ10およびバッファメ
モリ40内の第1オペランド物理アドレス位置に記憶さ
れる。もし、実行中の命令が、MVC命令のごとく、第
1オペランドアドレスに対するデータの議出しを必要と
しない場合には、第2オペランド物理アドレスを用いて
読出されたデータはALU70を素通りして、メインメ
モリ10およびバッファメモリ40内の第1オペランド
物理アドレス位置に、線70Aを介してストアされる。
いずれの場合においても、ストアアドレスはアドレスコ
ントロール30内のDAR39から線30Cを介して、
第1,第2バンク42,44のいずれか一方に送られる
。第1「第2のバンク42,44には、このストアアド
レスの下位4番目のビットが“0”又は“1”のときに
それぞれこのストアアドレスが選択的に送られる。この
選択的動作を制御するためのゲート回路は、簡単化のた
めに図示されていない。以上述べた実施例の理解をより
明確にするために、具体例を示す。
ントロール30内のDAR39から線30Cを介して、
第1,第2バンク42,44のいずれか一方に送られる
。第1「第2のバンク42,44には、このストアアド
レスの下位4番目のビットが“0”又は“1”のときに
それぞれこのストアアドレスが選択的に送られる。この
選択的動作を制御するためのゲート回路は、簡単化のた
めに図示されていない。以上述べた実施例の理解をより
明確にするために、具体例を示す。
MVC命令を処理する場合であって、第1、第2オペラ
ンドアドレスの下4ビットで表わされるデータ“×”,
“Y”が10進表示で、それぞれ“2へ“6”とし、デ
ータの全長LFがIG隼表示で“3とする。
ンドアドレスの下4ビットで表わされるデータ“×”,
“Y”が10進表示で、それぞれ“2へ“6”とし、デ
ータの全長LFがIG隼表示で“3とする。
従って、LF‘ま1バイト少ない数値を表示しており「
謙出すべきデータの全長は9バイトである。命令ユニッ
ト20からMVC命令のオベコードがコントロールスト
レジ8川こ送られ、この命令の実行とためのマイクロ命
令シーケンスの先頭マイクロ命令がCR8001こ鈴出
され、その後、順次このシーケンス内のマイクロ命令が
所定の順序で読出され、この命令の実行を行なう。
謙出すべきデータの全長は9バイトである。命令ユニッ
ト20からMVC命令のオベコードがコントロールスト
レジ8川こ送られ、この命令の実行とためのマイクロ命
令シーケンスの先頭マイクロ命令がCR8001こ鈴出
され、その後、順次このシーケンス内のマイクロ命令が
所定の順序で読出され、この命令の実行を行なう。
この実行にあたって、このMVC命令がワードオーバラ
ツプで処理を要するか否かが命令ユニット20で判別さ
れ、判別の結果はコントロールストレジ80に転送され
る。コントロールストレジ80は、この結果により異な
るマイクロ命令へブランチする。このMNC命令がオー
バラツプ処理を要しない命令であることを判別されると
、その後のマイクロ命令ブランチのアラインフィールド
806にはデータ“0101”が記憶される。
ツプで処理を要するか否かが命令ユニット20で判別さ
れ、判別の結果はコントロールストレジ80に転送され
る。コントロールストレジ80は、この結果により異な
るマイクロ命令へブランチする。このMNC命令がオー
バラツプ処理を要しない命令であることを判別されると
、その後のマイクロ命令ブランチのアラインフィールド
806にはデータ“0101”が記憶される。
このアラィンフィールドはメモリ10からのデータの読
出し1こ際して、デコーダ98で解読される。その解読
結果は第10図で示されるように“0”である。この結
果は線90Aを介してアドレスコントロール30に送ら
れる。アドレスコントロール30はこのデコーダ結果お
よびOAR26からの第2オペランド論理アドレスを用
いて第2オペランド物理アドレスを発生し「バッファメ
モリ40から、この第2オペランド物理アドレスを最左
端アドレスとする8バイトのデータを含む18ゞィトの
データを謙出す。一方、アラィンコントロール90内の
シフトバイト数決定回路93では、セレクタ9301ま
アラインデータd‘0101”に応答してデータ“Y−
×”、すなわち第2、第1オペランド論理アドレスの差
を出力する。
出し1こ際して、デコーダ98で解読される。その解読
結果は第10図で示されるように“0”である。この結
果は線90Aを介してアドレスコントロール30に送ら
れる。アドレスコントロール30はこのデコーダ結果お
よびOAR26からの第2オペランド論理アドレスを用
いて第2オペランド物理アドレスを発生し「バッファメ
モリ40から、この第2オペランド物理アドレスを最左
端アドレスとする8バイトのデータを含む18ゞィトの
データを謙出す。一方、アラィンコントロール90内の
シフトバイト数決定回路93では、セレクタ9301ま
アラインデータd‘0101”に応答してデータ“Y−
×”、すなわち第2、第1オペランド論理アドレスの差
を出力する。
この値は今の例では“4”である。この出力‘‘4”は
SHBREG94にストアされた後、シフト制御回路9
5に送られる。バッファメモリ40から読出された16
ゞィトのデータは、サイクルシフタ501こより、シフ
ト制御回路95の制御のをとに、左方向に4バイト分サ
イクルシフトされる。従って、サイクルシフタ50から
出力されるデータの左から3バイト目から8バイト目ま
での6バイト分に、第2オペランドアドレスで指定され
たデータの一部が含まれていることになる。サイクルシ
フタ50から出力されるデータの左側の2バイト分は現
在の命令の実行に無用のデータである。一方、アラィン
コントロール90内のフェッチデータ長決定回路91‘
こおいては、セレクタ91Qは第10図に示すようにア
ラィンデ〜夕“0101”に応答して、MINDET9
竃1の出力線91 1Aをセレクトする。
SHBREG94にストアされた後、シフト制御回路9
5に送られる。バッファメモリ40から読出された16
ゞィトのデータは、サイクルシフタ501こより、シフ
ト制御回路95の制御のをとに、左方向に4バイト分サ
イクルシフトされる。従って、サイクルシフタ50から
出力されるデータの左から3バイト目から8バイト目ま
での6バイト分に、第2オペランドアドレスで指定され
たデータの一部が含まれていることになる。サイクルシ
フタ50から出力されるデータの左側の2バイト分は現
在の命令の実行に無用のデータである。一方、アラィン
コントロール90内のフェッチデータ長決定回路91‘
こおいては、セレクタ91Qは第10図に示すようにア
ラィンデ〜夕“0101”に応答して、MINDET9
竃1の出力線91 1Aをセレクトする。
MmDET9 1 1にはLFR22から“8”が入力
されているので、この回路911の出力は“7”となる
。この出力はマスクパターン決定回路96内のパターン
発生器962? 964へ送られる。マスクパターン決
定回路96内のセレクタ960は、アラィンデータ‘‘
0101”に応答して、第10図からわかるように、右
シフタ966の出力線966Aをセレクトする。左パタ
−ン発生器962は入力されたデータ“7”(これは2
進表示では“111”である)に応答して、第14図か
らわかるように、“1111111rなるパターンを出
力する。
されているので、この回路911の出力は“7”となる
。この出力はマスクパターン決定回路96内のパターン
発生器962? 964へ送られる。マスクパターン決
定回路96内のセレクタ960は、アラィンデータ‘‘
0101”に応答して、第10図からわかるように、右
シフタ966の出力線966Aをセレクトする。左パタ
−ン発生器962は入力されたデータ“7”(これは2
進表示では“111”である)に応答して、第14図か
らわかるように、“1111111rなるパターンを出
力する。
右シフタ966はこのパターンをOAR24から与えら
れる第1オペランド論理アドレスの下4ビットで表わさ
れるデータで表わされる数(今の例では2)だけ右方向
にシフトし、パターン“00111111”を出力する
。オペランドコントロール60は、サイクルシフタ50
の8バイト分のアラインコントロール90からの上記8
ビットのパターンに応答して、第1と第2番目の2バイ
トのみカットし、他の6バイトのデータをOBR600
にストアする。
れる第1オペランド論理アドレスの下4ビットで表わさ
れるデータで表わされる数(今の例では2)だけ右方向
にシフトし、パターン“00111111”を出力する
。オペランドコントロール60は、サイクルシフタ50
の8バイト分のアラインコントロール90からの上記8
ビットのパターンに応答して、第1と第2番目の2バイ
トのみカットし、他の6バイトのデータをOBR600
にストアする。
こうしてOBR600‘こは、第2オペランドアドレス
から始まる6バイトのデータとそれ以外のすべて“0”
からなる合計8バイトのデータがストアされる。その後
、命令ユニットは、LFR20内のLF値を“8”から
転送値“6”を減じた値“2”に減少させる。さらにO
AR24,26内の値をそれぞれ“6”増大させる。そ
の後、更新させたLFR,OARの内容を用いてデータ
の読出しを上と同じように行う。LF20内のLF値が
負になると、MNC命令は終了する。以上がオーバラッ
プ処理を必要としないMVC命令の処理の概略である。
から始まる6バイトのデータとそれ以外のすべて“0”
からなる合計8バイトのデータがストアされる。その後
、命令ユニットは、LFR20内のLF値を“8”から
転送値“6”を減じた値“2”に減少させる。さらにO
AR24,26内の値をそれぞれ“6”増大させる。そ
の後、更新させたLFR,OARの内容を用いてデータ
の読出しを上と同じように行う。LF20内のLF値が
負になると、MNC命令は終了する。以上がオーバラッ
プ処理を必要としないMVC命令の処理の概略である。
もしMNC命令がオーバラツプ処理を要する場合には、
その後のマイクロ命令ブランチ内のアラィンフィールド
806にはデータ“0001”が記憶される。
その後のマイクロ命令ブランチ内のアラィンフィールド
806にはデータ“0001”が記憶される。
セレクタ910(第12図)は回路913の出力を選択
して読出しデータ長として出力する。シフトバイト決定
回路93内のセレクタ930(第9図)はデータ“Y′
’’を出力する。シフト制御回路95は、サイクルシフ
タ50を制御して“Y”が“000びか“100びかに
応じて、バッファメモリ40の出力をシフトしないで出
力するか、あるいは8バイトシフトして出力する。その
他の動作の詳細は、オーバラップ処理を要しない場合と
原理的に類似なので詳細は省略する。次に1G隻演算指
令を処理する場合について、本実施例の動作を説明する
。まず第2オペランドアドレスで表わされるデータを読
出すためのマイクロ命令シーケンスにおいては、アライ
ンフイールド“111びで記憶されている。従って、セ
レクタ910は線917Aをセレクトする。今の例では
LF2は“8”であり、この線91 7Aには回路91
7より“7”に相当する2進データが出力されている。
従って、バッファメモリ40内の、第2オペランドアド
レスから8バイト長の第2オペランドが読出される。こ
の第2オペランドは、サイクルシフタ5川こよりデータ
“Y+9”に相当する量だけ左サイクルシフトされる。
第9図に示すシフトバイト数決定回路93において、セ
レクタ930からのデータが出力される。このデータ“
Y+9”はバッファメモリ40から謙出された、16ゞ
イトのデータのうち、第2オペランドアドレスを最右端
とする8バイトのデータをサイクルシフタ50から出力
させるのに必要、十分なシフト量である。この8バイト
長のデータはオペランドコントロール601こ送られる
。この回路60内のセレクタ960(第13図)は右パ
ターン発生器964の出力を選択し出力する。従って、
オペランドコントロール60では、第2オペランドアド
レスを最右端アドレスとする8バイトのデータのうち、
セレクタ910(第12図)により出力されたフェッチ
デー夕長に等しいバイト数の有意なデータとそれ以外の
すべて“0”からなるデータが出力される。このデータ
はALU70へ送られる。その後、第1オペランドアド
レスが命令ユニット20よりアドレスコントロールに送
られ、第2オペランドの場合と同様に第1オペランドア
ドレスが発生され、データの読出しが行なわれる。この
際第1オペランドアドレスはDAR39(第3図)にも
ストアされる。この第1オペランドの処理のためのマイ
クロ命令シーケンス内のアラインフイールドにはデータ
“110rがストアされている。従って「セレクタ93
0(第9図)はデータ“X十9”を出力し、以下第2オ
ペランドの場合と同様にサイクルシフタ50、オペラン
ドコントロール60がアラインコントロール90により
制御・きれる。読出された第1オペランドはALU70
‘こおいて、先に謙出された第2オペランドと所定の演
算を施こされた後、バッファメモリ40とメインメモリ
ー0にストアされる。このときのストアアドレスはアド
レスコントロール30内のDAR39から供給されてい
る。このようにして、1G隼演算命令の処理が終了する
。以上のごとく、本発明によれば、種々の命令の処理に
おいて必要とされるデータの位置合わせ、切り出しを、
公知のマイクロ命令制御技術を用いて行なう、きわめて
簡単なデータ処理装置がえられる。本発明は以上の実施
例に限定されるものでなく、特許請求の範囲の記載内に
おいて当業者が容易になしうる変形をも含むものである
。たとえば、マイクロ命令を用いないで、データの位置
合わせ、切出しを制御するための回路を命令ユニット内
に設け、さらに第1図のアラィンコントロール90の出
力とこの制御回路の出力とを切換えて、アドレスコント
ロール30、サイクルシフ夕50、オペランドコントロ
ール6川こ供給を設けることにより、これらのデータ位
置合わせ、切出しのたもの回路の制御をマイクロ命令又
は専用制御回路のいずれによっても行なうことができる
ようにデータ処理装置を構成することができる。
して読出しデータ長として出力する。シフトバイト決定
回路93内のセレクタ930(第9図)はデータ“Y′
’’を出力する。シフト制御回路95は、サイクルシフ
タ50を制御して“Y”が“000びか“100びかに
応じて、バッファメモリ40の出力をシフトしないで出
力するか、あるいは8バイトシフトして出力する。その
他の動作の詳細は、オーバラップ処理を要しない場合と
原理的に類似なので詳細は省略する。次に1G隻演算指
令を処理する場合について、本実施例の動作を説明する
。まず第2オペランドアドレスで表わされるデータを読
出すためのマイクロ命令シーケンスにおいては、アライ
ンフイールド“111びで記憶されている。従って、セ
レクタ910は線917Aをセレクトする。今の例では
LF2は“8”であり、この線91 7Aには回路91
7より“7”に相当する2進データが出力されている。
従って、バッファメモリ40内の、第2オペランドアド
レスから8バイト長の第2オペランドが読出される。こ
の第2オペランドは、サイクルシフタ5川こよりデータ
“Y+9”に相当する量だけ左サイクルシフトされる。
第9図に示すシフトバイト数決定回路93において、セ
レクタ930からのデータが出力される。このデータ“
Y+9”はバッファメモリ40から謙出された、16ゞ
イトのデータのうち、第2オペランドアドレスを最右端
とする8バイトのデータをサイクルシフタ50から出力
させるのに必要、十分なシフト量である。この8バイト
長のデータはオペランドコントロール601こ送られる
。この回路60内のセレクタ960(第13図)は右パ
ターン発生器964の出力を選択し出力する。従って、
オペランドコントロール60では、第2オペランドアド
レスを最右端アドレスとする8バイトのデータのうち、
セレクタ910(第12図)により出力されたフェッチ
デー夕長に等しいバイト数の有意なデータとそれ以外の
すべて“0”からなるデータが出力される。このデータ
はALU70へ送られる。その後、第1オペランドアド
レスが命令ユニット20よりアドレスコントロールに送
られ、第2オペランドの場合と同様に第1オペランドア
ドレスが発生され、データの読出しが行なわれる。この
際第1オペランドアドレスはDAR39(第3図)にも
ストアされる。この第1オペランドの処理のためのマイ
クロ命令シーケンス内のアラインフイールドにはデータ
“110rがストアされている。従って「セレクタ93
0(第9図)はデータ“X十9”を出力し、以下第2オ
ペランドの場合と同様にサイクルシフタ50、オペラン
ドコントロール60がアラインコントロール90により
制御・きれる。読出された第1オペランドはALU70
‘こおいて、先に謙出された第2オペランドと所定の演
算を施こされた後、バッファメモリ40とメインメモリ
ー0にストアされる。このときのストアアドレスはアド
レスコントロール30内のDAR39から供給されてい
る。このようにして、1G隼演算命令の処理が終了する
。以上のごとく、本発明によれば、種々の命令の処理に
おいて必要とされるデータの位置合わせ、切り出しを、
公知のマイクロ命令制御技術を用いて行なう、きわめて
簡単なデータ処理装置がえられる。本発明は以上の実施
例に限定されるものでなく、特許請求の範囲の記載内に
おいて当業者が容易になしうる変形をも含むものである
。たとえば、マイクロ命令を用いないで、データの位置
合わせ、切出しを制御するための回路を命令ユニット内
に設け、さらに第1図のアラィンコントロール90の出
力とこの制御回路の出力とを切換えて、アドレスコント
ロール30、サイクルシフ夕50、オペランドコントロ
ール6川こ供給を設けることにより、これらのデータ位
置合わせ、切出しのたもの回路の制御をマイクロ命令又
は専用制御回路のいずれによっても行なうことができる
ようにデータ処理装置を構成することができる。
第1図は本発明によるデータ処理装置の概略構成図、第
2図は第1図におけるアラィンコントロールのより詳細
なブロック構成とそれに関連する他の回路要素とを示す
図、第3図は第1図におけるアドレスコントロールのよ
り詳細なブロック図、第4図と第5図は第3図のアドレ
ス加算回路を説明するための図、第6図は第3図の回路
におけるアドレス加算回路のより詳細なブロック構成図
、第7図と第8図は第6図のブロッククロス検出回路を
説明するための図、第9図は第2図のシフトバイト数決
定回路のより詳細なブロック図、第10図は本実施例に
おけるいろいろの要素の動作を説明するための図、第1
1図は第1図のオペランドコントロールのより詳細なブ
ロック図、第12図は第2図のフェッチデータ長決定回
路のより詳細なブロック図、第13図は第2図のマスク
パターン決定回路のより詳細なブロック図、第14図は
第13図の左パターン発生器と右パターン発生器により
発生されるマスクパターンを示す図である。 22…レングスフィールドレジスタ、24…第1オペラ
ンドアドレスレジスタ、26…第2オペランドアドレス
レジスタ、30…アドレスコントロール、38・・・ア
ドレス加算回路、90・・・アラインコントロール、9
1・・・フェッチデータ長決定回路、93・・・シフト
バイト数決定回路、96・・・マスクパターン発生回路
、381・・・土64回路、386..・フロツククロ
ス検出回路。 第3図 第4図 第1図 第2図 第13図 図 W 舷 第6図 第7図 第8図 第9図 第11図 第12図 図 雛 図 寸 織
2図は第1図におけるアラィンコントロールのより詳細
なブロック構成とそれに関連する他の回路要素とを示す
図、第3図は第1図におけるアドレスコントロールのよ
り詳細なブロック図、第4図と第5図は第3図のアドレ
ス加算回路を説明するための図、第6図は第3図の回路
におけるアドレス加算回路のより詳細なブロック構成図
、第7図と第8図は第6図のブロッククロス検出回路を
説明するための図、第9図は第2図のシフトバイト数決
定回路のより詳細なブロック図、第10図は本実施例に
おけるいろいろの要素の動作を説明するための図、第1
1図は第1図のオペランドコントロールのより詳細なブ
ロック図、第12図は第2図のフェッチデータ長決定回
路のより詳細なブロック図、第13図は第2図のマスク
パターン決定回路のより詳細なブロック図、第14図は
第13図の左パターン発生器と右パターン発生器により
発生されるマスクパターンを示す図である。 22…レングスフィールドレジスタ、24…第1オペラ
ンドアドレスレジスタ、26…第2オペランドアドレス
レジスタ、30…アドレスコントロール、38・・・ア
ドレス加算回路、90・・・アラインコントロール、9
1・・・フェッチデータ長決定回路、93・・・シフト
バイト数決定回路、96・・・マスクパターン発生回路
、381・・・土64回路、386..・フロツククロ
ス検出回路。 第3図 第4図 第1図 第2図 第13図 図 W 舷 第6図 第7図 第8図 第9図 第11図 第12図 図 雛 図 寸 織
Claims (1)
- 【特許請求の範囲】 1 複数の命令やデータを記憶するための主記憶と、複
数のバンクからなり該主記憶の記憶内容の一部の写をブ
ロツクを単位として記憶しかつ一つのブロツク内のデー
タを複数のバンクに分割して記憶する高速バツフア記憶
とを有するデータ処理装置において、アクセスを要求す
るデータのアドレスと該データの長さを指示する命令手
段と、上記アドレスと長さに基づいて、上記バツフア記
憶から読出すべきデータが上記ブロツクをまたいでいる
かを検出するブロツククロス検出手段と、上記アドレス
に基づいて上記アドレスが示すブロツクの次のブロツク
のアドレスを発生するアドレス発生手段と、上記命令手
段からのアドレスに基づいて、上記バツフア記憶の複数
のバンクから一つのブロツク内の連続するデータを読出
すように上記バツフア記憶の複数のバンクの各々にアド
レスを与えると共に、上記ブロツククロス検出手段のブ
ロツクをまたいでいることの検出に応じて上記ブロツク
の読出しに続いて少なくともあるバンクから上記命令手
段からのアドレスが示すブロツクのデータに連続する次
のブロツクのデータを読出すように少なくとも上記のあ
るバンクには上記アドレス発生手段からの次のブロツク
のアドレスを与えるアドレス手段とを有することを特徴
とするデータ処理装置。 2 上記バツフア記憶は2バンクからなり、上記アドレ
スはブロツクのアドレスを指定する部分とブロツク内の
アドレスを指定する部分とからなり、上記アドレス発生
手段は次のブロツクのブロツクアドレスを発生し、上記
アドレス手段は上記命令手段からのブロツクアドレスを
上記バツフア記憶の2つのバンクの各々に与え、かつ上
記命令手段からのブロツク内アドレスに基づいて2つの
バンクから連続するデータを読出すように2つのバンク
の各々にブロツクアドレスと共にブロツク内アドレスを
与え、さらに上記ブロツククロス検出手段のブロツクを
またいでいることの検出に応じて、上記命令手段からの
ブロツク内アドレスに基づく少なくとも一方のバンクに
は上記アドレス発生手段からの次のブロツクのブロツク
アドレスを上記命令手段からのブロツクアドレスに代え
て与えることを特徴とする特許請求の範囲第1項記載の
データ処理装置。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP54169657A JPS6019809B2 (ja) | 1979-12-26 | 1979-12-26 | デ−タ処理装置 |
DE3048675A DE3048675C2 (de) | 1979-12-26 | 1980-12-23 | Datenverarbeitungssystem |
US06/221,325 US4408275A (en) | 1979-12-26 | 1980-12-29 | Data processing system with data cross-block-detection feature |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP54169657A JPS6019809B2 (ja) | 1979-12-26 | 1979-12-26 | デ−タ処理装置 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP58232349A Division JPS59193592A (ja) | 1983-12-09 | 1983-12-09 | デ−タ処理装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPS5692640A JPS5692640A (en) | 1981-07-27 |
JPS6019809B2 true JPS6019809B2 (ja) | 1985-05-18 |
Family
ID=15890515
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP54169657A Expired JPS6019809B2 (ja) | 1979-12-26 | 1979-12-26 | デ−タ処理装置 |
Country Status (3)
Country | Link |
---|---|
US (1) | US4408275A (ja) |
JP (1) | JPS6019809B2 (ja) |
DE (1) | DE3048675C2 (ja) |
Families Citing this family (31)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE3138948C2 (de) * | 1981-09-30 | 1985-04-18 | Siemens AG, 1000 Berlin und 8000 München | Schaltungsanordnung zur Erzeugung von Byte-Kennzeichenbits für die Verarbeitung von Speicheroperanden |
DE3138897C2 (de) * | 1981-09-30 | 1987-01-08 | Siemens AG, 1000 Berlin und 8000 München | Schaltungsanordnung zum Ausrichten von Speicheroperanden für dezimale und logische Befehle |
JPS58149548A (ja) * | 1982-03-02 | 1983-09-05 | Hitachi Ltd | メモリ制御方式 |
US4583165A (en) * | 1982-06-30 | 1986-04-15 | International Business Machines Corporation | Apparatus and method for controlling storage access in a multilevel storage system |
JPS5936391A (ja) * | 1982-08-23 | 1984-02-28 | Nec Corp | 情報処理装置 |
JPS5962959A (ja) * | 1982-10-04 | 1984-04-10 | Mitsubishi Electric Corp | 記憶装置 |
US4471432A (en) * | 1982-10-13 | 1984-09-11 | Wilhite John E | Method and apparatus for initiating the execution of instructions using a central pipeline execution unit |
JPS6097454A (ja) * | 1983-11-01 | 1985-05-31 | Nec Corp | デ−タ処理装置 |
US5038277A (en) * | 1983-11-07 | 1991-08-06 | Digital Equipment Corporation | Adjustable buffer for data communications in a data processing system |
JPS60176155A (ja) * | 1984-02-23 | 1985-09-10 | Fujitsu Ltd | アクセス制御方式 |
US4653019A (en) * | 1984-04-19 | 1987-03-24 | Concurrent Computer Corporation | High speed barrel shifter |
US4680702A (en) * | 1984-04-27 | 1987-07-14 | Honeywell Information Systems Inc. | Merge control apparatus for a store into cache of a data processing system |
US4819152A (en) * | 1985-04-05 | 1989-04-04 | Raytheon Company | Method and apparatus for addressing a memory by array transformations |
JPS61235977A (ja) * | 1985-04-12 | 1986-10-21 | Hitachi Ltd | カナ漢字変換装置 |
JPS61245256A (ja) * | 1985-04-23 | 1986-10-31 | Mitsubishi Electric Corp | 情報格納方式 |
US4761731A (en) * | 1985-08-14 | 1988-08-02 | Control Data Corporation | Look-ahead instruction fetch control for a cache memory |
US5247688A (en) * | 1988-10-14 | 1993-09-21 | Ricoh Company, Ltd. | Character recognition sorting apparatus having comparators for simultaneous comparison of data and corresponding key against respective multistage shift arrays |
US5313613A (en) * | 1988-12-30 | 1994-05-17 | International Business Machines Corporation | Execution of storage-immediate and storage-storage instructions within cache buffer storage |
US5187783A (en) * | 1989-03-15 | 1993-02-16 | Micral, Inc. | Controller for direct memory access |
EP0470570B1 (en) * | 1990-08-09 | 1997-01-29 | Silicon Graphics, Inc. | Method and apparatus for byte order switching in a computer |
US5471628A (en) * | 1992-06-30 | 1995-11-28 | International Business Machines Corporation | Multi-function permutation switch for rotating and manipulating an order of bits of an input data byte in either cyclic or non-cyclic mode |
JP3207591B2 (ja) * | 1993-03-19 | 2001-09-10 | 株式会社日立製作所 | キャッシュメモリを有する計算機の改良 |
US5680642A (en) * | 1993-06-25 | 1997-10-21 | At&T Global Information Solutions Company | Method and apparatus for pseudo-aligned transfers of data to memory wherein a re-alignment is performed based on the data byte control header |
US5740398A (en) * | 1993-10-18 | 1998-04-14 | Cyrix Corporation | Program order sequencing of data in a microprocessor with write buffer |
US5471598A (en) * | 1993-10-18 | 1995-11-28 | Cyrix Corporation | Data dependency detection and handling in a microprocessor with write buffer |
US5584009A (en) * | 1993-10-18 | 1996-12-10 | Cyrix Corporation | System and method of retiring store data from a write buffer |
US5615402A (en) * | 1993-10-18 | 1997-03-25 | Cyrix Corporation | Unified write buffer having information identifying whether the address belongs to a first write operand or a second write operand having an extra wide latch |
US6219773B1 (en) * | 1993-10-18 | 2001-04-17 | Via-Cyrix, Inc. | System and method of retiring misaligned write operands from a write buffer |
US5694556A (en) * | 1995-06-07 | 1997-12-02 | International Business Machines Corporation | Data processing system including buffering mechanism for inbound and outbound reads and posted writes |
US5873126A (en) * | 1995-06-12 | 1999-02-16 | International Business Machines Corporation | Memory array based data reorganizer |
US7334116B2 (en) * | 2004-10-06 | 2008-02-19 | Sony Computer Entertainment Inc. | Bit manipulation on data in a bitstream that is stored in a memory having an address boundary length |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3840861A (en) * | 1972-10-30 | 1974-10-08 | Amdahl Corp | Data processing system having an instruction pipeline for concurrently processing a plurality of instructions |
US3858183A (en) * | 1972-10-30 | 1974-12-31 | Amdahl Corp | Data processing system and method therefor |
FR111574A (ja) * | 1973-12-13 | 1900-01-01 | ||
JPS51144142A (en) * | 1975-06-06 | 1976-12-10 | Hitachi Ltd | Information processing |
-
1979
- 1979-12-26 JP JP54169657A patent/JPS6019809B2/ja not_active Expired
-
1980
- 1980-12-23 DE DE3048675A patent/DE3048675C2/de not_active Expired
- 1980-12-29 US US06/221,325 patent/US4408275A/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
DE3048675A1 (de) | 1981-10-22 |
US4408275A (en) | 1983-10-04 |
JPS5692640A (en) | 1981-07-27 |
DE3048675C2 (de) | 1984-01-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPS6019809B2 (ja) | デ−タ処理装置 | |
US3949379A (en) | Pipeline data processing apparatus with high speed slave store | |
US4761755A (en) | Data processing system and method having an improved arithmetic unit | |
US4454578A (en) | Data processing unit with pipelined operands | |
US4179731A (en) | Microprogrammed control system | |
US3374466A (en) | Data processing system | |
US3328768A (en) | Storage protection systems | |
US4825355A (en) | Instruction format for program control type data processing systems | |
US4317170A (en) | Microinstruction controlled data processing system including micro-instructions with data align control feature | |
JPH0135366B2 (ja) | ||
US4396982A (en) | Microinstruction controlled data processing system including microinstructions with data align control feature | |
GB1115765A (en) | Improvements in or relating to electronic data processing apparatus | |
JPS6217252B2 (ja) | ||
US3553653A (en) | Addressing an operating memory of a digital computer system | |
US5669012A (en) | Data processor and control circuit for inserting/extracting data to/from an optional byte position of a register | |
JPH0248931B2 (ja) | ||
EP0126247B1 (en) | Computer system | |
US3394350A (en) | Digital processor implementation of transfer and translate operation | |
EP0030463B1 (en) | Buffer memory control system | |
US3248698A (en) | Computer wrap error circuit | |
US3400380A (en) | Digital computer having an address controller operation | |
EP0144268A2 (en) | Method for controlling buffer memory in data processing apparatus | |
US4580238A (en) | Arithmetic operating system | |
JPH027097B2 (ja) | ||
JPH034936B2 (ja) |