JPS59117666A - ベクトル処理装置 - Google Patents

ベクトル処理装置

Info

Publication number
JPS59117666A
JPS59117666A JP58206056A JP20605683A JPS59117666A JP S59117666 A JPS59117666 A JP S59117666A JP 58206056 A JP58206056 A JP 58206056A JP 20605683 A JP20605683 A JP 20605683A JP S59117666 A JPS59117666 A JP S59117666A
Authority
JP
Japan
Prior art keywords
vector
cache
register
operand
registers
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
JP58206056A
Other languages
English (en)
Other versions
JPH0374434B2 (ja
Inventor
エドワ−ド・ジ−・ドリマツク
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of JPS59117666A publication Critical patent/JPS59117666A/ja
Publication of JPH0374434B2 publication Critical patent/JPH0374434B2/ja
Granted legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/80Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors
    • G06F15/8053Vector processors
    • G06F15/8061Details on data memory access
    • G06F15/8069Details on data memory access using a cache

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Complex Calculations (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 〔技術分野〕 本発明はベクトル演算を効率よく実行するためのディジ
タルプロセッサのアーキテクチャに関する。
〔背景技術〕
データ処理の分野における開発が進む中で、ベクトルデ
ータの機械操作の能力を高めるための特殊なアーキテク
チャが今日必要となってきている。
通常、所与の演算機能(それがベクトルでないデータの
場合であっても)を遂行するために、各オペランドは演
算装置に連続して持ってこられその機能を実行し、また
ある様式でその結果を保管しなければならない。以上の
操作全体を実行するのに要する時間は、各オペランドを
通常、メモリから演算装置に転送するのに実際に要する
時間および通常、結果をメモリに保管するのに要する時
間よりもかなり長い場合がある。このような状況のもと
では、この操作時間は主記憶装置と演算装置(通常中央
処理装置に含まれる)との間にキャッシュを介在させる
ことによってかなり短くすることができる。この利点は
、キャッシュをアクセスするのに要する時間が主記憶装
置をアクセスするのに要する時間よりもずっと短いとい
う事実からきている。こは利点はもちろん所望のオペラ
ンドが、演算機能が実行される時機よりも前に主記憶装
置からキャッシュに転送された場合にのみ有効である。
その後、主記憶装置からキャッシュヘの転送と演算機能
は並行して行われる。以上のような方法で、演算機能の
実行に要する時間をかなり短くすることができる。
例えばベクトル演算のような演算においては、−組のデ
ータの連続する各要素に関して同じ演算を繰返し行うこ
とが通常必要である。データ処理において、ベクトルX
は要素(Xz、X2、X3゜・・・・Xv(x))の並
んだ配列である。変数XiはベクトルXのi番目の要素
であるv(x)(内容から決定ベクトルが明確な場合は
単にV)によって示される要素の数はベクトルXの次元
あるいは長さと呼ばれる。
スカラーマシンにおいて、こうした繰返しの演算を実行
するために、この演算は、各オペランドを演算装置にも
ってきてその結果をメモリに戻すための指標付けおよび
ソフトウェアプログラムによって操作されることが必要
である。この型のタスクは多大な時間を消費する。なぜ
なら−組の並んだ要素のそれぞれについての演算のため
にメモリと演算装置との間の転送に関連する遅れが生ず
るからである。
ベクトル演算の様々な改善の例が従来技術としである。
ベクトルマシーンにより実行されるベタ1−ル演算の1
つの例として、2つのオペランドベクトルを加えて、結
果ベクトルを発生するという演算がある。結果ベクトル
の各要素はこの例ではオペランドベクトルに対応して並
んでいるオペランドの和である。基本的にはベクトルマ
シンはそのハードウェア機構よりもむしろソフトウェア
および指標付けによって一組の並んだデータを処理し、
その結果高速演算を達成するマシンの1つである。
ベクトルアーキテクチャの先行技術は米国特許第357
3・851号、第4302880号、第4293941
号、および第4302818号に示されている。これら
の特許のうち第3番目の特許は、ベクトルの異なった要
素を順次アクセスする     7際の時間の短縮に関
するもので、ある要素へのアクセスが阻止されたときに
、同じメモリサイクルで別の要素をアクセスするように
している。それに対し残りの3つの特許はベクトル演算
時間を減するためにかなりの量のハードウェアを付加し
ている。
コンピュータ動作の高速化を図る別の技術として暗黙ロ
ードおよび暗黙ストアがある。この技術は米国特許第3
541528号に示されている。
〔発明の目的〕
本発明の目的はベクi・ル処理専用のハードウェアをわ
ずかに付加するだけで比較的効率のよいベクトル処理を
行うことである。
〔発明の概要〕
本発明はベクトルデータの高速アクセスの機能を実行す
るためキャッシュを使用する。汎用目的のプロセッサア
ーキテクチャは、ベクトル処理のために必要に様々な機
能を時間的に並行して遂行するのにいくつかの変更を要
する。しかしながら本発明に従って、ベクトル処理の高
速化は、アドレス指定構造において、いくつかのレジス
タおよび簡単な処理装置を加え、更にデータ処理経路に
おいてわずかの要素を加えることだけで達成できる。
アドレス指定構造は3つの基底アドレスレジスタおよび
2つのオフセラl−レジスタを有している。
基底アドレスレジスタのうちの2つ、およびオフセット
レジスタのうちの1つは、2つのベクトルの連続する要
素を読み取るために使用され、特定の読取り動作が終る
と、オフセットレジスタは増分される。第3の基底アド
レスレジスタおよびもう1つのオフセットレジスタは書
込み機能のために使用され、書込みが終るたびごとにオ
フセットレジスタは増分される。マイクロプログラム制
御のもとで動作するベクトルモード制御装置は、ベクト
ルモードにおいてプロセッサが演算を実行していること
・を指示する。キャッシュはベクトル空間およびスカラ
ー空間に分けられる。ベクトルモード制御装置がベクト
ルモードにおける演算を指示する時、基底アドレスレジ
スタのうちの選択された1つの内容およびオフセットレ
ジスタのうちの選択された1つの内容を連結して形成さ
れるアドレスを使用してキャッシュベクトル空間がアド
レスされる。
データ処理装置は、バイトシックを通してキャッシュか
ら、2つの指定されたオペランドレジスタのいずれかに
データを出力するための経路を、その処理の間の進行に
もとづいて与える。ベクトルの要素は指定されたオペラ
ンドレジスタのうちの1つから直接にまたは、別のオペ
ランドレジスタもしくは局所記憶装置を通じて第2のオ
ペランドレジスタから間接に演算論理機構に印加される
演算結果は指定された第2のオペランドレジスタを通し
て、局所記憶装置または別のオペランドレジスタのいず
れかに与えることができる。キャッシュへ戻るデータの
経路は、並行処理が容易に行えるように、バッファを有
している。
このベクトル処理を利用するために、3つの明示マイク
ロプログラム機能が第4の暗黙機能と共に与えられてい
る。3つの明示マイクロプログラム機能とはベクトルオ
ペランド読取り、ベクトルオペランド読取りおよび記憶
、ならびにベクトルレジスタロードである。ここでのベ
クトルレジスタという用語は複数のベクトルレジスタが
写像されているキャッシュベクトル空間の一部分を特定
する。暗黙機能はベクトルモードの間働き、基底アドレ
スレジスタおよびオフセットレジスタのうちの1つの内
容によって指定されたキャッシュの中のアドレスを読み
取る。この読取り動作はキャッシュが他の目的で使用さ
れていないすべてのサイクルで遂行される。
ベクトルオペランド読取りマイクロ命令は、(1)  
前のサイクルでキャッシュベクトル空間からアクセスさ
れた指定のベクトルオペランドの要素衣ベクトルオペラ
ンドレジスタのうちの指定された1つにロードする。
(2)  キャッシュベクトル空間からアクセスされた
別のベクトルオペランドの要素を局所記憶装置にロード
する。
(3)  読取り動作の間、使用されているオフセット
レジスタの内容を増分する。
ベクトルオペランド読取りおよび記憶マイクロ命令はベ
クトルオペランド読取りマイクロ命令と同じ機能を実行
しさらに、 (4)  局所記憶装置の内容(演算結果を含んでいて
もよい)をシフターバッファにロードする。
次のサイクルで、 (5)  シフターバッファの内容をキャッシュバク1
トル空間に書込む。
(6)  書込み動作に関連するオフセットレジスタを
増分する。
ベクトルレジスタロードマイクロ命令は、(1)  ベ
クトルオペランドを局所記憶装置もしくはベクトルオペ
ランドレジスタのうちの1つから、指定されたアドレス
によってキャッシュベタ1−ル空間に転送する。
(2)  書込み動作に関連するオフセットレジスタを
増分する。
本発明を適用すれば、スカラー処理能カおよびベクトル
レジスタを有した機械が得られる。キャッシュはベクト
ル空間とスカラー空間とに分けられるので、キャッシュ
ベクトル空間をアドレス指定できるように、ベクトルモ
ード制御装置(ベクトル演算が指示される時)が使用さ
れる。
〔実施例の説明〕
第1図のブロック図に中央処理装置(CP、U)14、
比較的高速のアクセスができるキャッシュIOおよびそ
の制御のためのキャッシュ記憶制御装置13、ならびに
主記憶装置16の間の関係が示されている。CPU14
はデータ制御経路18によってキャッシュ記憶制御装置
13と、およびデータ制御経路19によって主記憶装置
16とそれぞれ通信する。以上のような関係において、
CPU14はキャッシュIOに記憶されているデータあ
るいは主記憶装置16に記憶されているデータのいずれ
をもアクセスおよび制御できる。キャッシュ10と主記
憶装置16との間のデータ転送のために、データ経路1
7が備えられている。従って、キャッシュ10が主記憶
装置16とCPU14との間に介在していることは明ら
かである。
次に第2図について説明する。第2図はキャッシュIO
がキャッシュベクトル空間11およびキャッシュスカラ
ー空間12を有することを示している。第2図の破gA
−A ’より下の部分はキャッシュ10をアドレス指定
するための通常の(すなわちスカラー)装置を表わして
いる。特にアドレスレジスタSSΔR22は、キャッシ
ュ10をアドレスするためのキャッシュアドレス15に
入力を与える。所望のアドレスによって選択されたデー
タはキャッシュ出力バッファ20に伝えられ、さらにキ
ャッシュ出力バッファ20からキャッシュ出力アセンブ
リ25に伝えられる。同時にキャッシュディレクトリ比
較器30はキャッシュ出力アセンブリ25にあるデータ
のどの部分がアドレスされたかを識別し、キャッシュ出
力アセンブリ25は適切なデータの選択をして、結果の
データがCPU14に、特にデータ経路51を通じてバ
イトシフタ52に伝達される(第3図参照)。かっこ内
の数字は、関連する経路を通る情報の幅(ビット数)を
示している。3第2図に示されるようにキャッシュアド
レスは9ビツトであり、キャッシュ10から64バイト
を選択する。キャッシュディ1ツクトリ比較器30は6
4バイトの中の1つの8バイトグループを選択する6選
択された1つの8バイトグループは後にCPU14で使
用するためにデータ経路51を通してバイトシフタ52
に伝達される。
本発明に従ってキャッシュ10はベクトルレジスタを備
えるための都合のよい空間として使用されている。キャ
ッシュ10はデータ読取りのために1マシンサイクル、
データ書込みのために1゜5マシンサイクルかかると仮
定する。データの書込みは、まずキャッシュの読取りを
行い、次に読取られたデータを変更するキャッシュ書込
みが続く。本発明に従って、基底アドレスレジスタを用
いて特定のベクトルレジスタを指定し、さらにオフセッ
トレジスタを用いてその中の連続する要素をアクセスで
きるように、複数の要素を含むベクトルレジスタがキャ
ッシュベクトル空間に写像される。第4図はキャッシュ
10の記憶域地図であり、記憶域がキャッシュベクトル
空間11とキャッシュスカラー空間12とに分かれてい
ることを示している。複数個のベクトルレジスタはキャ
ッシュベクトル空間11の中に位置付けられる。第4図
は各ベクトルオペランドに対するそのような3つのベク
トルレジスタをあられして5%る。以上のような技術に
よって3つ以上のベクトルレジスタをキャッシュベクト
ル空間11の中に位置付けることもできる。ベクトルレ
ジスタはそれぞれN個のベクトル要素を保持することが
でき、それぞれの要素は独立にアドレスできる。基底ア
ドレスレジスタおよびオフセットレジスタの初めの内容
が連結してベタ1〜ルレジスタ1のアドレスが指定され
ると、要素1がアクセスされる。その後、オフセットレ
ジスタの内容が増分されると、ペクト・ルレシフタ1の
要素2がアクセスされる。次に示されるように、本発明
の実施例では、2つのベタ1〜ルの所望の要素がアクセ
スされた場合にのみオフセットレジスタを増分すること
によって2つのベクトルレジスタオペランドの連続した
要素を継続してアクセスするために、1つのオフセット
レジスタおよび2つの基底アドレスレジスタを使用。
している。第4図に示されるように、特定の値を持った
オフセットレジスタによって、2つのベクトルの対応す
る要素がアクセスできる。
第3の基底アドレスレジスタおよび第2のオフセットレ
ジスタの結合によって、ベクトル空間11の中に位置付
けられている第3のベクトルレジスタをアクセスするこ
とができる。、2つのオフセットレジスタ(OEOおよ
びREO)の増分をそれぞれ異なった時間に行えば、読
取りおよび書込みをインターリーブすることができる。
第4図は、REOが所望の要素をアクセスし、一方でO
EOが次の要素をアクセスするというREOとOEOの
代表的な動作状態の一場面を示している。
さて第2図の3つの基底アドレスレジスタ(VRl、V
R,,2、およびVR3)50.49および48は2つ
のベクトルオペランドおよび結果ベクトルを選択するた
めに与えられている。2つのオフセットレジスタ(OE
OlREO)47および46はベクトルオペランドおよ
び結果ベクトルの特定の要素を選択するために、更新回
路44および45をそれぞれ備えている。2つのオフセ
ツ1−レジスタを使用することによって、オペランドの
要素の取出しとその前に発生した結果の要素の書込みを
並行して行うことができる。基底アドレスレジスタ50
ないし48およびオフセットレジスタ47.46はベク
トル演算の開始時に初期設定−される。ベクトルモード
制御装置41の状態の変更によってシステムはベクトル
演算モードになる。
キャッシュアドレス15は次のように変更される。
スカラーマシンにおいては、キャッシュアドレス15は
キャッシュ10を単にアドレスするだけであるが、本発
明を使用して、キャッシュアドレス15はキャッシュベ
クトル空間11をアクセスするために第2の入力を備え
る。第2の入力は、ベタ1−ルモード制御装置41の状
態によってベクトル演算が指示されている場合に、キャ
ッシュベクトルアドレス入力を連結する能力を有してい
る。
ベクトルオペラッドの一連の要素はキャッシュベクトル
空間11から以下のようにアクセスされる。
ゲート43に接続されたVRI  50の中の4゛つの
ビットはデコーダ40に供給される3つのビットと残り
の1つのビットとに分れられる。この残りのビットは、
ゲート42に接続されたオフセットレジスタ46もしく
は47から得られる8ビツトといっしょになって、キャ
ッシュアドレス15を通してキャシュ10をアドレスす
るための9ビツトのアドレスを形成する。ベクトル演算
の間、ベクトルモード制御装置41は、キャッシュアド
レス15およびキャッシュ10の両方に信号を供給する
独特の状態となっている。そしてベタ1〜ルモード制御
装置41はキャッシュベクトル空間11のアドレス指定
を指示する。デコーダ4oによって、ゲート31のとこ
ろで8本の選択ラインのうちの1本゛が選択され、その
結果、キャッシュ10により出力された8つの8バイト
グループのうちの1つを選択することができる。
ベクトルの次の要素は適切なオフセットレジスタを単に
増分するだけでアクセスできる。オフセットレジスタを
順次増分して、同じベクトルの要素が順次アクセスされ
る。
第2のベクトルはゲート43に接続されたVR249お
よび例えば前述と同じオフセットレジスタの内容を利用
してアクセスできる。もちろん、このような環境のもと
では、第2のベクトルオペランドの関連する要素をアク
セスした後にのみ、オフセットレジスタが増分されるこ
とはいうまでもない。
アドレス指定は、ゲート43に接続されたレジスタVR
348および別のオフセットレジスタ(REO)46を
使用して、第3のベクトル(結果ベタ1−ル)に対して
も行われる。別のオフセットレジスタが使用されるので
、読取および書込みを並行して行うためにこれらのオフ
セットレジスタは異なった時間に増分される。これは後
に詳しく説明する。
次に第3図について説明する。これにはキャッシュ10
に接続されたデータ経路、および演算論理機構ALU 
(ただしこれは図示されていない)に接続されたデータ
経路が図示されている。第3図の装置は一般にCPU1
4の一部とみなさ゛れる。
第3図に示されるように、キャッシュ10からくるデー
タ経路は、バイトシフタ52に1つの入力を与える経路
51である。バイトシフタ52の1つの出力は経路57
を通じてDレジスタ56に。
および経路85を通じてAレジスタ55に入力される。
Dレジスタ56には1つの出力があり、その出力は経路
59を通じてAレジスタ55の他の1つの入力、Bレジ
スタ54の1つの入力、および局所記憶装置53の1つ
の入力に印加される。
後入れ先出しスタック形式を持った局所記憶装置53が
与えられているので、多くのデータ語あるいはベクトル
要素が記憶できる。局所記憶装置53の出力は経路58
を通じてBレジスタ54の他の入力に印加される。Aレ
ジスタ55の出力およびBレジスタ54の出力は2つい
っしょにA L Uおよびゲート60へ入力される。ゲ
ー1−60はビットシフタ61に接続されており、ピク
トシフタ61の出力は経路62を通じてバイトシフタ5
2′の他の入力に、および経路82を通じてシフタバツ
ブア81に印加される。バイトシフタ52の第2の出力
は経路63を通じてゲート83に伝達される。シフタバ
ッファ81の出力もまた経路84を通じてゲート83に
伝達される。ゲート83の出力はキャッシュ10の入力
に印加される。
前述のように、本発明の目的は、わずかのハードウェア
を付加するだけでベクトル処理の高速化を図ることであ
る。本発明に要するハードウェアは、スカラー処理に必
要なハードウェアと共に、第2図および第3図に示され
ている。第2図においては、本発明に要するハードウェ
アは破線A−A′よりも上の部分である。第3図におい
ては、データ経路82.84、および85ならびに、バ
ッファ81およびゲート83である。通常CPU14は
さらに他のレジスタを含んでいる(ベクトル処理に必要
でないレジスタは図示していない)。
次に3つの明示マイクロプログラム命令および第4の暗
黙マイクロプログラム命令に関係する第2図および第3
図の装置の動作について説明する。
一連のベクトル演算の始めに、マイクロプログラム制御
装置(ただし図示されていない)は2つの機能を実行す
る。−第1の機能はベクトルモード制御装置41(第2
図)の状態を変更して、次の演算がキャッシュ10のベ
クトル空間11を使用するということをキャッシュアド
レス15に指示することである。第2の機能は、オフセ
ットレジスタ46および47ならびに基底アドレスレジ
スタ48ないし50にロードすることである。通常、第
1の基底アドレスレジスタ50および第2の基底アドレ
スレジスタ49に異なった数がロードされ、それにより
キャッシュベクトル空間】1の中の2つの異なったベク
トルレジスタをアクセスすることができる。第3の基底
アドレスレジスタ48にロードされた内容は、実行され
るべき特定の演算に応じて、他の2つの基底アドレスレ
ジスタの内容と同じ場合もあるし、また違う場合もある
後に説明するように、読取りおよび書込みがインターリ
ーブされるので、結果ベクトルレジスタを、オペランド
を有する2つのベクトルレジスタのうちの1つと同じに
することができる。特定のベクトル要素の結果の書込み
は読取りアクセスの次におこるので、オペランドを有す
る2つのベクトルレジスタのうちの1つを結果の書込み
に利用できる。
ベクトル演算の始めに、オフセットレジスタ46および
47には通常、同じ数がロードされる。
しかしながら以下のように、これらは異なった時間に増
分される。
第5図に、2つの明示マイクロプログラム命令であるベ
クトルオペランド読取りならびにベクトルオペランド読
取りおよび記憶のタイミングを示す。
ここでこれらの明示マイクロプロゲラ11命令を説明す
る前に、まず暗黙マイクロプログラム命令の機能を説明
する。
To時点でオフセットレジスタ46および47、ならび
に基底アドレスレジスタ5oないし48はロードが完了
し、またベクトル演算をするためにベクトルモード制御
装置41の状態の変更が終了しさらにキャッシュ1oの
アクセスを必要としない他のいくつかの動作がおこると
仮定する。このときキャッシュ10が使用されていなけ
れば、第5図の第1のサイクル(第1のsoがら次のs
までの期間)においてキャッシュアドレス■5によりキ
ャッシュ10がアドレスされる。この場合、キャッシュ
アドレス15は基底アドレスレジスタ50およびオフセ
ットレジスタ47の内容によって決まるベクトルレジス
タをアドレスする。キャッシュアドレス15のロードは
ゲート42および43の動作がおこり同時にベクトルモ
ード制御装置41゛によってベクトルモードが指定され
た場合に可能となる。オペランド1として識別されたオ
ペランドは第1の小期間s2の終了時にキャッシュ10
から経路51に出力される。従って第5図の次の小期(
?[So(代表例サイクルの中の)のはじめに、オペラ
ンド1はバイトシフタ52の出力すなわち経路57で使
用可能になる。通常、オペランド1はベクトル演算に関
しては第1のベクトルの第1の要素である。
ここで明示マイクロプログラム命令であるベクトルオペ
ランド読取りによって遂行される機能について説明する
。第5図にはこの機能に関するタイミングも示しである
。(ただし*印のついている動作はベクトルオペランド
読取りマイクロ命令ではおこらない。すなわちVR3お
よびREOの内容が使用される第5図の一番上の破線で
囲んだ部分のタイミング、ならびに第5図の下から4本
までの線によって示されるタイミングはベクトルオペラ
ンド読取のマイクロ命令には適用されない。) 従って代表例サイクル(SOないし5ol)のはじめに
、キャッシュToは基底アトレイレジスタVR2の内容
およびオフセットレジスタOEOの内容を使用して、再
びアドレスされる。通常、この場合は第2のベクトルの
第1の要素がアドレスされる。第1のべりトルの第1の
要素(オペランド1)は代表例サイクルの始まる前にす
でにアドレスされている。この第2のベクトルの第1の
要素のアドレス指定が終わるとすぐに、オフセットレジ
スタOEOは増分され再書込みされる。
キャッシュ10が代・特例゛サイクルでアドレスされて
いる間に、オペランド1は経路57から経路85を通し
てAレジスタ55にロードされる。
代表例サイクルの82が始まる頃、オペランド2のアド
レスされた要素はキャッシュ10から経路51に出力さ
れる。第5図に示すように、この出力はバイトシフタ5
2から経路57に直接出力され、代表例サイクルが終り
次のSoになる時にDレジスタ56にロードされる。
暗黙機能によって要求される動作のために、オペランド
1の要素が必要な場合は、先行のマイクロ命令はキャッ
シュIOの記憶参照命令であってはならず、またバイト
シフタ52の出力を要求する他のどんな命令であっても
ならない。
代表例サイクルの終わりで、CPU14はAレジスタ5
5にあるオペラントドの要素およびDレジスタ56にあ
るオペランド2の要素を得る。さらにOEOの増分によ
り第1および第2のベクトルレジスタの次の要素のアド
レス指定が可能となる。
以下の記述はベクトルオペ・ランド読取りおよび記憶マ
イクロ命令の明示機能に関する。単なるベクトルオペラ
ンド読取りの場合と同じく、代表例サイクルの前のサイ
クルジこおいて、第1のベクトルレジスタの要素が読取
られ、その結果代表例サイクルの81のあたりでAレジ
スタ55はオペランドlの第1の要素を得る。そして、
次に第2のベクトルレジスタの要素のアドレス指定およ
び読取りが行われて、代表例サイクルの終わりでオペラ
ンド2のアドレスされた要素がDレジスタ56に置かれ
る。さらに代表例サイクルの一番最後でオフセットレジ
スタOEOが増分される。代表例サイクルの次のサイク
ルにおいて、第1のベクトルの次の要素がアドレスされ
、キャッシュ10から経!’351およびバイトシフタ
52を通って経路57に転送される。
同じ頃(特に代表例サイクルの次のサイクルの83が始
まる頃、)第3の基底アドレスレジスタ48が使用され
る。これについては後に説明する。
代表例サイクルの次のサイクルにおいて、オペランド2
の第1の要素はDレジスタ56からBレジスタ54に転
送される。その結果、ALUへ転送されるべき2つの要
素がAレジスタ55およびBレジスタ54に置かれるこ
とになる。これらの要素はALUに転送され、第5図に
示すように演算結果はDレジスタ56にセットされる。
そしてその結果はすぐにDレジスタ56からBレジスタ
54または局所記憶装置53に転送される。
結果の書込みの説明を簡単にするために、代表例サイク
ルの81の始めに結果がBレジスタ54に到達している
と仮定する。これはもちろん代表例サイクルにおいて実
行されている演算ではなく、前のサイクルで実行された
演算の結果である。従って一連の決ったステップを繰返
し実行することを必要とする通常のベタ1−ル演算にお
いて、この説明は一般性を失わない。
Bレジスタ54にある結果はゲート60を通ってビット
シフタ61に転送され、次いで経路82を通ってシフタ
バッファ81に記憶される。サイクルの初め頃にBレジ
スタ54にあった結果は同じサイクルの83の頃にシフ
タバッファ81に到達する。シフタバッファ81の使用
目的は第5図から明らかであろう。結果を保持していた
Bレジスタ54は次にオペランド2の要素を記憶するた
めにクリアされなければならない。しかしながらこの時
バイトシフタ52はオペランド1の要素の転送を実行し
ているので、結果の転送には使用できない。さらにキャ
ッシュ10自身もオペランド1の要素の読取りを行なっ
ている。従ってシフタバッファ81は結果がキャッシュ
】0に書込むことができるようになるまで、結果を一時
的に記憶する。ベクトル1の要素の読取りは第5図の代
表例サイクルの次のサイクルのおよそ83時点で終了す
る。従ってそのときに、シフタバッファ81の結果はゲ
ート83を通してキャッシュ10に転送される。実際の
キャッユ書込みはこのサイクルの終わり頃(S !l、
)に実行される。レジスタ46および48からキャッシ
ュアドレス15へのアドレス指定情報の転送に続いて、
更新回路45によってRE○レジスタ46の内容が増分
される。
従って、ベクトルオペランド読取りおよび記憶マイクロ
命令は次のような機能を遂行する。
(イ)前のサイクルにおいて、アクセスされたベクトル
オペランド1の要素をAレジスタ55にロードする。
(ロ) キャッシュIOからアクセスされたベクトルオ
ペランド2のアクセスされた要素を局所記憶場所(たと
えばDレジスタ56)にロードする。
(ハ)前の演算の結果を局所記憶場所(たとえばBレジ
スタ54)からシフタバッファ81にロードする。
(ニ) シフタバッファ81の内容をキャッシュ結果ベ
クトルレジスタの適切な要素に書込み、そして、OEO
およびREOの両方を増分する。すなわち、OE、0は
、基底アドレスレジスタVR2と共に使用された後に増
分され、REOは基底アドレスレジスタVR3と共に使
用された後に増分される。
マイクロ命令の代表例特別なステップを説明してきたが
他の異なったマイクロ命令に才?いてもわずかに異なる
結果を伴なうだけで同様に有利に本発明を利用できる。
例えばあとの演算で中間結果を使用する場合は、そうし
た中間結果を一旦キャッシュ10に書込んだ後に再読取
りを行うことにすると効率が悪くなる。この場合ALU
からの中間結果はDレジスタ56を通して局所記憶装置
53に転送される。必要なときに中間結果を局所記憶装
置53から経路58へ取出し、Bレジスタ54にロード
することができる。この中間結果は他の中間結果または
キャツ、シュ10からのデータと共に使用され、それに
よりさらに他の中間結果または最終結果が発生される。
最終結果の場合はキャッシュ10に書込んでもよい。
第6図は第3の明示マイクロ命令であるベクトルレジス
タロード命令の実行中の動作を示すタイミングを表わす
図である。この命令においては、局所記憶装置53もし
くはDレジスタ56またはAレジスタ55にそれぞれ置
かれているソースオペランドがキャッシュ10の指定さ
れた場所に書込まれる。その場所はVRIの内容および
OEOの内容の連結によって決定される。第6図に示さ
れている例ではキャッシュ10に書込まれる要素はBレ
ジスタ54から得られている。Bレジスタ54はDレジ
スタ56もしくは局所記憶装置53から書込まれるので
Bレジスタ54をソースとして使用するのは全く問題が
ない。第6図に示すようにサイクルの始めでキャッシュ
10はVR,IおよびOEOの内容によってアドレスさ
れる。キャッシュ10のアドレス指定が終わるとすぐに
Bレジスタ54の内容はゲート60、ビットシフタ61
、経路62、バイトシフタ52、経路63、およびゲー
ト83を通ってキャッシュ10に転送される。このサイ
クルの小期間S3において、データを書込むために書込
みストローブが発生される。
またほぼ同時にOEOの内容は更新回路44によって増
分される。マイクロプログラム機能の実行に要する様々
なステップは前に説明されているのでここでは説明しな
い。
第7図、第8図および第9図に、ベクトル2進加算、ベ
クトルレジスタの記憶、およびベクトルレジスタのロー
ドのマクロ機能が前述のマイクロ命令を使用していかに
実行され得るかをそれぞれ示す。
第7図はベクトル2進加算ループが示されている。図の
ように、ベクトル2進加算ループはベクトルオペランド
読取りマイクロ命令】00、演算命令101、ならびに
ベクトルオペランド読取りおよび記憶マイクロ命令10
2を有する。このループは1つの入力点、正規の出口、
およびオーバーフロー状態のための誤り一出口を備えて
いる。ベクトルオペランド読取りマイクロ命令100は
第5図に関連してすでに述べた。この命令の終わりで2
つのベクトル要素がCPU14で使用できる。
第1のベクトル要素はマイクロ命令100の前の暗黙機
能において得られ、第2のベクトル要素はマイクロ命令
100の間に得られる。演算命令101は和を発生する
。分岐点103はオーバーフロー発生時の誤り出30を
与える。演算命令101はキャッシュ10のアクセスを
必要としないので演算実行の間、第1のベクトルオペラ
ンドの次の要素を読取るために暗黙読取りが遂行される
。オーバーフローのない時はベクトルオペランド読取り
および記憶マイクロ命令102が、第5図に関連してす
でに述べたとおりに実行される。この命令は、第2のベ
クトルの追加の要素の読取りおよび演算命令101によ
って計算された結果の記憶を行う。ベクトル加算2進ル
ープはループカウンタ分岐点を備えている。ループカウ
ンタには初めにベクトルの要素の数がセットされている
。ループカウンタが分岐する値に達していない場合は、
この処理ループは演算命令】01に戻ってベクトルオペ
ランド読取りおよび記憶マイクロ命令1゜2で抽出され
たベクトルオペランドの要素に対し演算を実行する。こ
れらの命令101および1゜2のループはベクトルの全
要素の処理が終わるまで続き、その時点でループから出
る。
第7図の下方にそれぞれタイミングを示す。ベクトルオ
ペランド読取り命令]、 OOはlサイクル、演算命令
101は1.5サイクルの時間を要する。
ベクトルオペランド読取りおよび記憶102は、次の演
算命令101の間に記憶動作が実行されるので時間はl
サイクルである。
第8図はベタ1〜ルレジスタの記憶(ベクトルレジスタ
の内容をキャッシュベクトル空間11から主記憶装置1
6に書込むこと)に関する。また第9図はベクトルレジ
スタのロード(主記憶装置16からキャッシュベタ1ヘ
ル空間11のベクトルレジスタへ書込むこと)に関する
第8図は、キャッシュIOの所与の領域に位置付けられ
ているベクトルレジスタの中の複数のベクトル要素を記
憶するためのベクトルレジスタ記憶ループマクロ命令を
示す。キャッシュベタ1−ル空間11のベタ1〜ルレジ
スタの内容はキャッシュスカラー空間12に転送され、
そこから通常の命令によって主記憶装置16に書込まれ
る。第8図に示すようにこのループは2つのマイクロ命
令。
すなわちベクトルオペランド読取り100および記憶装
置書込み104を有する。またこのループは1つの入力
点および1つの出口点を有する。通常、このループは、
ベクトルの要素の数をループカウンタにセットしてから
始まる。第8図の下の方にそれぞれのタイミングを示す
。命令100はキャッシュベクトル空間11からベクト
ルレジスタの内容を読取り、命令104はその読取られ
たデータをキャッシュスカラー空間12に書込む。
命令100についてはすでに述べた。命令104は、キ
ャッシュ10のスカラー空間12への書込みを行う通常
のスカラー操作命令である。
第9図はベクトルレジスタロードループマクロ命令を表
わす。このループは1つの入力点および1つの出口点を
有する。ループが繰返されるたびに、ベクトルオペラン
ドの要素は記憶装置読取り命令105によってキャッシ
ュスカラー空間12から読取られ、局所記憶場所たとえ
ばDレジスタ56に書込まれる。ベクトルレジスタロー
ド命令】06はキャッシュベクトル空間11におけるベ
クトルレジスタのロードに使用される。命令106は第
6図と関連してすでに述べた。第9図の下の方にそれぞ
れのタイミングを示す。
【図面の簡単な説明】
第1図はCPU、キャッシュ、および主記憶装置の関係
を示すブロック図、第2図はキャッシュのアドレス指定
を行う装置のブロック図、第3図は本発明に関係するC
PUの一部を示すブロック図、第4図はキャッシュベク
トル空間の中のベクトルレジスタを示す図、第5図およ
び第6図は実施例で使用されるマイクロ命令のタイミン
グを示す図、第7図、第8図および第9図はマイクロ命
令の使用例を示す流れ図である。 出願人 インターナショナル・ビジネス・マシーンズ・
コーポレーション 代理人 弁理士  頓  宮  孝  −(外1名)

Claims (1)

    【特許請求の範囲】
  1. 主記憶装置と中央処理装置との間に介在するキャッシュ
    がキャッシュスカラー空間およびキャッシュベクトル空
    間を有し、ベクトルモード制御装置と、前記キャッシュ
    ベクトル空間および前記キャッシュスカラー空間をアク
    セスするための前記中央処理装置および前記ベクトルモ
    ード制御装置に応答するキャッシュアドレス機構とを備
    えることよってベクトル処理を行うベクトル処理装置6
JP58206056A 1982-12-22 1983-11-04 ベクトル処理装置 Granted JPS59117666A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US06/452,190 US4594682A (en) 1982-12-22 1982-12-22 Vector processing
US452190 1982-12-22

Publications (2)

Publication Number Publication Date
JPS59117666A true JPS59117666A (ja) 1984-07-07
JPH0374434B2 JPH0374434B2 (ja) 1991-11-26

Family

ID=23795456

Family Applications (1)

Application Number Title Priority Date Filing Date
JP58206056A Granted JPS59117666A (ja) 1982-12-22 1983-11-04 ベクトル処理装置

Country Status (4)

Country Link
US (1) US4594682A (ja)
EP (1) EP0114304B1 (ja)
JP (1) JPS59117666A (ja)
DE (1) DE3377030D1 (ja)

Families Citing this family (77)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS59160267A (ja) * 1983-03-02 1984-09-10 Hitachi Ltd ベクトル処理装置
US4661900A (en) * 1983-04-25 1987-04-28 Cray Research, Inc. Flexible chaining in vector processor with selective use of vector registers as operand and result registers
JPS6027984A (ja) * 1983-07-27 1985-02-13 Hitachi Ltd デ−タ処理装置
JPS60134974A (ja) * 1983-12-23 1985-07-18 Hitachi Ltd ベクトル処理装置
JPH0786875B2 (ja) * 1984-05-25 1995-09-20 株式会社日立製作所 ベクトル処理装置
US4942518A (en) * 1984-06-20 1990-07-17 Convex Computer Corporation Cache store bypass for computer
US4809171A (en) * 1984-06-20 1989-02-28 Convex Computer Corporation Concurrent processing of data operands
US4771380A (en) * 1984-06-22 1988-09-13 International Business Machines Corp. Virtual vector registers for vector processing system
DE3585972D1 (de) * 1984-07-02 1992-06-11 Nec Corp Rechner-vektorregisterverarbeitung.
US4890220A (en) * 1984-12-12 1989-12-26 Hitachi, Ltd. Vector processing apparatus for incrementing indices of vector operands of different length according to arithmetic operation results
JPS61173345A (ja) * 1985-01-29 1986-08-05 Hitachi Ltd 計算機システム
US4706191A (en) * 1985-07-31 1987-11-10 Sperry Corporation Local store for scientific vector processor
US4945479A (en) * 1985-07-31 1990-07-31 Unisys Corporation Tightly coupled scientific processing system
US4858115A (en) * 1985-07-31 1989-08-15 Unisys Corporation Loop control mechanism for scientific processor
JPS62120574A (ja) * 1985-11-20 1987-06-01 Fujitsu Ltd ベクトル処理装置
JPS6314275A (ja) * 1986-07-04 1988-01-21 Nec Corp ベクトル演算プロセツサのスカラデ−タ演算方式
US4974198A (en) * 1986-07-16 1990-11-27 Nec Corporation Vector processing system utilizing firm ware control to prevent delays during processing operations
JP2760790B2 (ja) * 1986-10-09 1998-06-04 株式会社日立製作所 データ処理装置
US5063497A (en) * 1987-07-01 1991-11-05 Digital Equipment Corporation Apparatus and method for recovering from missing page faults in vector data processing operations
US4926317A (en) * 1987-07-24 1990-05-15 Convex Computer Corporation Hierarchical memory system with logical cache, physical cache, and address translation unit for generating a sequence of physical addresses
WO1989003091A1 (en) * 1987-09-25 1989-04-06 Hitachi, Ltd. Method of sorting vector data and a vector processor adapted thereto
US5513353A (en) * 1987-09-30 1996-04-30 Kabushiki Kaisha Toshiba Cache control system which permanently inhibits local but not global parameter data writes to main memory
US4888679A (en) * 1988-01-11 1989-12-19 Digital Equipment Corporation Method and apparatus using a cache and main memory for both vector processing and scalar processing by prefetching cache blocks including vector data elements
US5261113A (en) * 1988-01-25 1993-11-09 Digital Equipment Corporation Apparatus and method for single operand register array for vector and scalar data processing operations
JPH0769821B2 (ja) * 1988-03-04 1995-07-31 日本電気株式会社 情報処理装置におけるバイパスライン制御方式
US5148536A (en) * 1988-07-25 1992-09-15 Digital Equipment Corporation Pipeline having an integral cache which processes cache misses and loads data in parallel
US5142638A (en) * 1989-02-07 1992-08-25 Cray Research, Inc. Apparatus for sharing memory in a multiprocessor system
JPH077356B2 (ja) * 1989-05-19 1995-01-30 株式会社東芝 パイプライン方式のマイクロプロセッサ
US5546592A (en) * 1989-06-26 1996-08-13 Ncr Corporation System and method for incrementing memory addresses in a computer system
US5123108A (en) * 1989-09-11 1992-06-16 Wang Laboratories, Inc. Improved cpu pipeline having register file bypass and working register bypass on update/access address compare
US6807609B1 (en) 1989-12-04 2004-10-19 Hewlett-Packard Development Company, L.P. Interleaving read and write operations on a bus and minimizing buffering on a memory module in a computer system
US5099447A (en) * 1990-01-22 1992-03-24 Alliant Computer Systems Corporation Blocked matrix multiplication for computers with hierarchical memory
EP0458516B1 (en) * 1990-05-25 1997-11-05 AT&T Corp. Memory access bus arrangement
US5206952A (en) * 1990-09-12 1993-04-27 Cray Research, Inc. Fault tolerant networking architecture
DE69227433T2 (de) * 1991-11-19 1999-03-18 Fujitsu Ltd Speicherzugriffseinrichtung
US5418973A (en) * 1992-06-22 1995-05-23 Digital Equipment Corporation Digital computer system with cache controller coordinating both vector and scalar operations
AU4219693A (en) * 1992-09-30 1994-04-14 Apple Computer, Inc. Inter-task buffer and connections
US5542061A (en) * 1993-01-21 1996-07-30 Nec Corporaiton Arrangement of controlling issue timing of a read instruction to a common block in a vector processor
JPH07271764A (ja) * 1994-03-24 1995-10-20 Internatl Business Mach Corp <Ibm> 計算機プロセッサ及びシステム
US5887183A (en) * 1995-01-04 1999-03-23 International Business Machines Corporation Method and system in a data processing system for loading and storing vectors in a plurality of modes
US5680338A (en) * 1995-01-04 1997-10-21 International Business Machines Corporation Method and system for vector processing utilizing selected vector elements
US5890222A (en) * 1995-01-04 1999-03-30 International Business Machines Corporation Method and system for addressing registers in a data processing unit in an indirect addressing mode
US5832533A (en) * 1995-01-04 1998-11-03 International Business Machines Corporation Method and system for addressing registers in a data processing unit in an indexed addressing mode
US5689653A (en) * 1995-02-06 1997-11-18 Hewlett-Packard Company Vector memory operations
US7266725B2 (en) 2001-09-03 2007-09-04 Pact Xpp Technologies Ag Method for debugging reconfigurable architectures
DE19654595A1 (de) 1996-12-20 1998-07-02 Pact Inf Tech Gmbh I0- und Speicherbussystem für DFPs sowie Bausteinen mit zwei- oder mehrdimensionaler programmierbaren Zellstrukturen
US6542998B1 (en) 1997-02-08 2003-04-01 Pact Gmbh Method of self-synchronization of configurable elements of a programmable module
US8686549B2 (en) * 2001-09-03 2014-04-01 Martin Vorbach Reconfigurable elements
DE19861088A1 (de) 1997-12-22 2000-02-10 Pact Inf Tech Gmbh Verfahren zur Reparatur von integrierten Schaltkreisen
CN1378665A (zh) 1999-06-10 2002-11-06 Pact信息技术有限公司 编程概念
EP1342158B1 (de) 2000-06-13 2010-08-04 Richter, Thomas Pipeline ct-protokolle und -kommunikation
US8058899B2 (en) 2000-10-06 2011-11-15 Martin Vorbach Logic cell array and bus system
US7444531B2 (en) 2001-03-05 2008-10-28 Pact Xpp Technologies Ag Methods and devices for treating and processing data
US7844796B2 (en) 2001-03-05 2010-11-30 Martin Vorbach Data processing device and method
US9037807B2 (en) 2001-03-05 2015-05-19 Pact Xpp Technologies Ag Processor arrangement on a chip including data processing, memory, and interface elements
US7996827B2 (en) 2001-08-16 2011-08-09 Martin Vorbach Method for the translation of programs for reconfigurable architectures
US7434191B2 (en) 2001-09-03 2008-10-07 Pact Xpp Technologies Ag Router
US8686475B2 (en) 2001-09-19 2014-04-01 Pact Xpp Technologies Ag Reconfigurable elements
DE10392560D2 (de) 2002-01-19 2005-05-12 Pact Xpp Technologies Ag Reconfigurierbarer Prozessor
WO2003071432A2 (de) * 2002-02-18 2003-08-28 Pact Xpp Technologies Ag Bussysteme und rekonfigurationsverfahren
US8914590B2 (en) 2002-08-07 2014-12-16 Pact Xpp Technologies Ag Data processing method and device
US20110161977A1 (en) * 2002-03-21 2011-06-30 Martin Vorbach Method and device for data processing
US7657861B2 (en) 2002-08-07 2010-02-02 Pact Xpp Technologies Ag Method and device for processing data
AU2003286131A1 (en) 2002-08-07 2004-03-19 Pact Xpp Technologies Ag Method and device for processing data
EP1537486A1 (de) 2002-09-06 2005-06-08 PACT XPP Technologies AG Rekonfigurierbare sequenzerstruktur
JP2006524850A (ja) * 2003-04-04 2006-11-02 ペーアーツェーテー イクスペーペー テクノロジーズ アクチエンゲゼルシャフト データ処理方法およびデータ処理装置
JP4700611B2 (ja) 2003-08-28 2011-06-15 ペーアーツェーテー イクスペーペー テクノロジーズ アクチエンゲゼルシャフト データ処理装置およびデータ処理方法
JP4805633B2 (ja) 2005-08-22 2011-11-02 任天堂株式会社 ゲーム用操作装置
US8870655B2 (en) 2005-08-24 2014-10-28 Nintendo Co., Ltd. Wireless game controllers
JP4262726B2 (ja) 2005-08-24 2009-05-13 任天堂株式会社 ゲームコントローラおよびゲームシステム
JP2009524134A (ja) * 2006-01-18 2009-06-25 ペーアーツェーテー イクスペーペー テクノロジーズ アクチエンゲゼルシャフト ハードウェア定義方法
US8913003B2 (en) 2006-07-17 2014-12-16 Thinkoptics, Inc. Free-space multi-dimensional absolute pointer using a projection marker system
US9176598B2 (en) 2007-05-08 2015-11-03 Thinkoptics, Inc. Free-space multi-dimensional absolute pointer with improved performance
EP2220554A1 (de) * 2007-11-17 2010-08-25 Krass, Maren Rekonfiguri erbare fliesskomma- und bit- ebenen datenverarbeitungseinheit
US20110173596A1 (en) * 2007-11-28 2011-07-14 Martin Vorbach Method for facilitating compilation of high-level code for varying architectures
JP4687729B2 (ja) * 2008-03-04 2011-05-25 日本電気株式会社 キャッシュメモリ及びベクトル処理装置並びにベクトルデータ整列方法
US20130185538A1 (en) * 2011-07-14 2013-07-18 Texas Instruments Incorporated Processor with inter-processing path communication

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5387640A (en) * 1977-01-12 1978-08-02 Hitachi Ltd Data processing unit
JPS5491151A (en) * 1977-12-28 1979-07-19 Fujitsu Ltd Internal memory control system on array processor

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3389380A (en) * 1965-10-05 1968-06-18 Sperry Rand Corp Signal responsive apparatus
US3541528A (en) * 1969-01-06 1970-11-17 Ibm Implicit load and store mechanism
US3827031A (en) * 1973-03-19 1974-07-30 Instr Inc Element select/replace apparatus for a vector computing system
FR122199A (ja) * 1973-12-17
US4025771A (en) * 1974-03-25 1977-05-24 Hughes Aircraft Company Pipe line high speed signal processor
US3949378A (en) * 1974-12-09 1976-04-06 The United States Of America As Represented By The Secretary Of The Navy Computer memory addressing employing base and index registers
DE2547488C2 (de) * 1975-10-23 1982-04-15 Ibm Deutschland Gmbh, 7000 Stuttgart Mikroprogrammierte Datenverarbeitungsanlage
US4128880A (en) * 1976-06-30 1978-12-05 Cray Research, Inc. Computer vector register processing
JPS54128634A (en) * 1978-03-30 1979-10-05 Toshiba Corp Cash memory control system
US4251860A (en) * 1978-10-23 1981-02-17 International Business Machines Corporation Virtual addressing apparatus employing separate data paths for segment and offset portions of a virtual address and utilizing only the offset portion to calculate virtual address
US4264953A (en) * 1979-03-30 1981-04-28 Honeywell Inc. Virtual cache
KR860001434B1 (ko) * 1980-11-21 1986-09-24 후지쑤 가부시끼가이샤 데이타 처리시 스템
US4476522A (en) * 1981-03-09 1984-10-09 International Business Machines Corporation Programmable peripheral processing controller with mode-selectable address register sequencing
US4541046A (en) * 1981-03-25 1985-09-10 Hitachi, Ltd. Data processing system including scalar data processor and vector data processor

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5387640A (en) * 1977-01-12 1978-08-02 Hitachi Ltd Data processing unit
JPS5491151A (en) * 1977-12-28 1979-07-19 Fujitsu Ltd Internal memory control system on array processor

Also Published As

Publication number Publication date
EP0114304A1 (en) 1984-08-01
US4594682A (en) 1986-06-10
DE3377030D1 (en) 1988-07-14
JPH0374434B2 (ja) 1991-11-26
EP0114304B1 (en) 1988-06-08

Similar Documents

Publication Publication Date Title
JPS59117666A (ja) ベクトル処理装置
KR960003046B1 (ko) 비정렬 레퍼런스의 처리가 가능한 risc 컴퓨터 및 그 처리방법
US4131940A (en) Channel data buffer apparatus for a digital data processing system
US4574349A (en) Apparatus for addressing a larger number of instruction addressable central processor registers than can be identified by a program instruction
US4467419A (en) Data processing system with access to a buffer store during data block transfers
US4118773A (en) Microprogram memory bank addressing system
US5313551A (en) Multiport memory bypass under software control
US3909797A (en) Data processing system utilizing control store unit and push down stack for nested subroutines
US5097407A (en) Artificial intelligence processor
US4346437A (en) Microcomputer using a double opcode instruction
JPH0248931B2 (ja)
US4388682A (en) Microprogrammable instruction translator
US4467415A (en) High-speed microprogram control apparatus with decreased control storage requirements
US4347566A (en) Data processor with register file and arithmetic logic circuit on one chip and register means directly connected to the chip
JPS59105150A (ja) 命令オペランドのアドレス指定方法
EP0010196B1 (en) Control circuit and process for digital storage devices
US5019969A (en) Computer system for directly transferring vactor elements from register to register using a single instruction
US4430708A (en) Digital computer for executing instructions in three time-multiplexed portions
JPS623461B2 (ja)
US4812970A (en) Microprogram control system
US4884244A (en) Method of addressing a computer memory
JP2690406B2 (ja) プロセッサおよびデータ処理システム
US3226691A (en) Data processing apparatus
JPH0345420B2 (ja)
US5050076A (en) Prefetching queue control system