JPH06195313A - コンピュータシステムおよびそれに適した集積回路並びに要求選択回路 - Google Patents

コンピュータシステムおよびそれに適した集積回路並びに要求選択回路

Info

Publication number
JPH06195313A
JPH06195313A JP34590092A JP34590092A JPH06195313A JP H06195313 A JPH06195313 A JP H06195313A JP 34590092 A JP34590092 A JP 34590092A JP 34590092 A JP34590092 A JP 34590092A JP H06195313 A JPH06195313 A JP H06195313A
Authority
JP
Japan
Prior art keywords
priority
request
requester
circuit
switching
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
JP34590092A
Other languages
English (en)
Other versions
JP3260456B2 (ja
Inventor
Tadayuki Sakakibara
忠幸 榊原
Teruo Tanaka
輝雄 田中
Katsuyoshi Kitai
克佳 北井
Tadaaki Isobe
忠章 磯部
Shigeko Hashimoto
茂子 橋本
Yasuhiro Inagami
泰弘 稲上
Yoshiko Tamaoki
由子 玉置
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.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP34590092A priority Critical patent/JP3260456B2/ja
Priority to US08/170,743 priority patent/US5617575A/en
Publication of JPH06195313A publication Critical patent/JPH06195313A/ja
Priority to US08/760,525 priority patent/US5857110A/en
Application granted granted Critical
Publication of JP3260456B2 publication Critical patent/JP3260456B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Complex Calculations (AREA)
  • Bus Control (AREA)

Abstract

(57)【要約】 (修正有) 【目的】 複数のメモリバンクグループの各々に設けら
れた競合調停回路の優先順位を、各ベクトルプロセッサ
からの信号で全て同時に切り替えることにより、複数の
ベクトルプロセッサのリクエスト間で生じる競合による
処理の遅れを最小限に抑える。 【構成】 各ベクトルプロセッサ1,2,3,4に優先
順位切り替え信号制御回路28,30,32,34を設
け、記憶制御装置9に優先順位制御回路60を設け、記
憶制御装置内9の各プライオリティ回路56,57,5
8,59に優先順位ビット113を設ける。各優先順位
切り替え信号制御回路28,30,32,34から、発
行したリクエスト数や命令の種類に従って発行する優先
順位切り替え信号のパスを記憶制御装置9内の優先順位
制御回路60との間に設け、優先順位制御回路60から
発行する優先順位切り替え信号のパスを全プライオリテ
ィ回路56,57,58,59との間に設ける。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、複数のプロセッシング
エレメントが1つの記憶装置を共有するコンピュータシ
ステムに関し、特に記憶装置に対して発行するアクセス
命令が複数のアクセスリクエストからなる場合に主記憶
のアクセス性能が低下することを防止する競合調停方式
を採用したコンピュータシステムに関する。
【0002】
【従来の技術】複数のリクエストの内、1つあるいは数
個を選んで出力するプライオリティ回路における調停方
式にはいくつかある。始めから優先順位を固定してリク
エストを選択する方式、リクエストの中から最も古いも
のを選択する方式、複数のリクエストの中からランダム
に選択する方式、選択されなかったリクエストの優先順
位を上げる方式(特開昭63−66662に開示されて
いる)などがある。
【0003】複数のリクエスタが複数の記憶装置に対し
てリクエストを発行する場合に生じる競合を、上記に示
すような調停方式を用いて解決する装置が、特開昭63
−66662に開示されている。図17を用いてこれを
説明する。
【0004】図17において、151,152,15
3,154は主記憶にたいしてリクエストを発行するリ
クエスタ(REQ)、168は主記憶装置、159はリ
クエスタからのリクエスト間の競合を調停して主記憶装
置168にリクエストを送出する記憶制御装置、173
は主記憶装置168から読み出したデータを、各リクエ
スタREQ0,REQ1,REQ2,REQ3毎に、リ
クエストを発行した順番に並べ直すフェッチデータバッ
ファである。
【0005】リクエスタ151,152,153,15
4は、それぞれ一つのベクトルプロセッサ(図示せず)
に含まれるもので、リクエストを生成して送出するリク
エスト送出部155,156,157,158を持つ。
【0006】記憶制御部159は、リクエストを保持す
るリクエストキュー(QUE)160(QUE0),1
61(QUE1),162(QUE2),163(QU
E3)と、リクエストが競合を起こした場合にどのリク
エストを先に処理するかの優先順位を決定するプライオ
リティ回路(PR)164(PR0),165(PR
1),166(PR2),167(PR3)からなる。
【0007】主記憶装置168は4つのバンクグループ
(BG)169(BG0),170(BG1),171
(BG2),172(BG3)からなる。バンクグルー
プBG0乃至BG3はそれぞれ複数のメモリバンクBK
0乃至BK3,BK4乃至BK7,BK8乃至BK1
1,BK12乃至BK15からなる。1つのリクエスト
がメモリバンクをアクセスするのに数クロックを要し
(この時間をメモリアクセスタイムと呼ぶ)、アクセス
中のメモリバンクには他のリクエストはアクセスできな
い。
【0008】フェッチデータバッファ173に関しては
特開昭60−136849に開示されているので、ここ
ではその詳細な構成については省略する。
【0009】次に図21においてプライオリティ回路1
64の詳細を説明する。
【0010】図において、208,209,210,2
11は対応するリクエスタの優先順位ビットレジスタを
保持するレジスタ、204,205,206,207は
リクエストレジスタ、200,201,202,203
はセットリセット論理、213はプライオリティ論理、
212はOR回路、214はデコーダ、215はリクエ
ストレジスタである。プライオリティ回路164では、
リクエスタ151〜154からのリクエストをリクエス
トレジスタ204,205,206,207で一旦ラッ
チし、優先順位ビットレジスタ208,209,21
0,211に従ってプライオリティ論理213でリクエ
ストを選択し、リクエストレジタ215に保持する。同
時にリクエストレジスタ204,205,206,20
7からセットリセット回路200,201,202,2
03にリクエストがあることをしらせる。プライオリテ
ィ論理213では選択したリクエストの発行元のリクエ
スタが属するベクトルプロセッサの番号を発行し、21
4でデコードしてベクトルプロセッサ番号に対応するセ
ットリセット回路200,201,202,203に送
る。一方優先順位ビットレジスタ208,209,21
0,211の値をOR回路212でORしてセットリセ
ット回路200,201,202,203に送る。
【0011】次にセットリセット回路200,201,
202,203による対応する優先順位ビットレジスタ
308〜211のセット/リセット方法を説明する。
【0012】各優先順位ビットレジスタをセットするの
は、対するリクエストレジスタ204,205,206
又は207にリクエスタが存在し、かつデコーダ214
からの信号が「0」、すなわちプライオリティ論理21
3でそのリクエストが選択されず、かつOR回路212
の値が「0」、すなわちどの優先順位ビットレジスタも
セットされていないときである。
【0013】各優先順位ビットレジスタをリセットする
のは、デコーダ214からの信号が「1」、すなわちプ
ライオリティ論理213で対応するリクエストレジスタ
内のリクエストが選択された場合である。
【0014】次にリクエストが処理される流れを説明す
る。
【0015】まず、図17において、リクエスタREQ
0,REQ1,REQ2,REQ3は、送出先のバンク
グループ番号、バンク番号、バンク内アドレスを持つリ
クエストを発行する。発行されたリクエストは、各リク
エスタに対応する、記憶制御装置内のリクエストキュー
QUE0,QUE1,QUE2,QUE3で一時保持さ
れる。
【0016】リクエストキューQUE0,QUE1,Q
UE2,QUE3では、リクエストが持つ送出先のバン
クグループ番号を判別し、そのバンクグループ番号に対
応するプライオリティ回路PR0,PR1,PR2,P
R3の競合調停にリクエストを参加させる。
【0017】各プライオリティ回路PR0,PR1,P
R2,PR3は、競合調停に参加しているリクエスト
で、その優先順位ビットが「1」であるリクエストを選
択してその中から1つリクエストを選択する。もし優先
順位ビットが「1」であるリクエストがない場合には、
競合調停に参加している全てのリクエストの中から1つ
リクエストを選択し、選択されなかったリクエストの優
先順位ビットを全て「1」にする。優先順位ビットはそ
れぞれのプライオリティ回路が独立して管理しているた
め、各プライオリティ回路毎に優先順位が異なることに
なる。
【0018】プライオリティ回路たとえばPR0で選択
されたリクエストは、リクエストに付加された送出先メ
モリバンク番号にしたがって、バンクグループBG0内
のメモリバンクBK0,BK1,BK2,BK3のいず
れかに送出される。PR1,PR2,PR3についても
同様の動作をする。
【0019】メモリバンクをアクセスする場合、ベクト
ルプロセッサで実行している命令がロード命令であれば
メモリバンクからメモリアクセスタイム(ここでは4ク
ロックとする)の後にデータを読み出し、フェッチデー
タバッファにおいて各リクエスタ対応に、発行した順番
にデータを並べ換えてからリクエスタに送り返す。実行
している命令がストア命令であれば、メモリバンクにデ
ータを書き込んで処理を終了する。
【0020】このように、従来技術では各プライオリテ
ィ回路独立に優先順位を決定して競合調停を行うことに
より、各プライオリティ回路において特定のリクエスト
が長い時間待たされることを防いでいる。
【0021】
【発明が解決しようとする課題】図17において各リク
エスタがそれぞれ異なる命令のリクエストを処理する場
合に、次の問題がある。
【0022】今、REQ0,REQ1からそれぞれ命令
A,Bが同時に発行され、命令A,Bがそれぞれ一組の
リクエスト例えば{a0,a1,a2,a3}、{b0
1,b2,b3}からなり、また命令A,B共にメモリ
バンクBK0,BK4,BK8,BK12を順にアクセ
スすると仮定する。
【0023】この時のタイムチャートを図18に示す。
【0024】各リクエスタREQ0,REQ1からは、
それぞれ命令A,Bのリクエストが順番に発行される。
各リクエストはリクエスタREQ0,REQ1から発行
された次のクロックでリクエストキューに保持され、同
時にプライオリティ回路PR0,PR1,PR2,PR
3の競合調停に参加する。
【0025】この場合、プライオリティ回路PR0,P
R1,PR2,PR3では、リクエストa0とb0、a1
とb1、a2とb2、a3とb3が競合を起こす。今、PR
0,PR2,PR3ではREQ0の優先順位ビットが
「1」でREQ1,REQ2,REQ3の優先順位ビッ
トが「0」であり、PR1ではREQ1の優先順位ビッ
トが「1」でREQ0,REQ2,REQ3の優先順位
ビットが「0」であるとすると、PR0,PR1,PR
2,PR3ではそれぞれリクエストa0,b1,a2,a3
が選択される。
【0026】選択されたリクエストa0,b1,a2,a3
は、次のクロックでそれぞれバンクグループBG0,B
G1,BG2,BG3内のBK0,BK4,BK8,B
K12に送出される。各リクエストによってアクセスさ
れたメモリバンクは、メモリアクセスタイムである4ク
ロックの後に、データを読み出し、フェッチデータバッ
ファに送出する。
【0027】各リクエストによってアクセスされたメモ
リバンクは、メモリアクセスタイムである4クロックの
間はアクセスできない。このため前回の競合調停で選択
されなかったリクエストb0,a1,b2,b3はアクセス
終了後に競合調停に参加する。
【0028】フェッチデータバッファでは、リクエスト
が発行された順番に、読み出した一組のデータを並べ替
えてから要求元のリクエスタに送り返すため、一組のデ
ータの内、一つでも読み出すのが遅れると、その他のデ
ータは全てリクエスタに送れなくなる。例えば命令Aに
関してはリクエストa1が、命令Bに関してはリクエス
トb0,b2,b3がそれぞれ4クロック遅れて実行され
るため、リクエスタREQ0ではRE1への一組のデー
タの返送も4クロック遅れる。このため、命令A,Bの
終了が共に4クロック遅れてしまう。
【0029】もし、命令Aのリクエストa1がリクエス
トb1よりも優先順位が高ければ、命令Aは処理の遅れ
が起こらず、命令の終了も遅れることがない。
【0030】このように、各リクエストから一組のリク
エストを複数のプライオリティ回路に出力する回路で
は、優先順位を各プライオリティ回路で独立で、かつリ
クエストが選択される度に変更すると、異なる一組のリ
クエスト間で競合が生じた場合、いずれの組のリクエス
トの処理も遅れることがある。
【0031】また計算機センタ等で運用するマルチプロ
セッサシステムにおいて、特定のプロセッサの優先順位
を上げて処理を実行することがある。この時、他のプロ
セッサからの主記憶アクセス命令との競合によって性能
が低下することを防ぐために、特定のプロセッサの主記
憶に対するアクセスの優先度を上げることが望まれる。
【0032】従って、本発明の目的は、異なるプロセッ
サのリクエスト間の競合によって生じる処理の遅れを、
最小限に抑える競合調停装置を提供することである。
【0033】本発明の他の目的は、複数のプロセッサを
持つ計算機システムにおいて、特定のプロセッサが主記
憶にアクセスする時に、そのプロセッサのリクエストの
優先順位を高くすることができる競合調停装置を提供す
ることである。
【0034】
【課題を解決するための手段】上記第1の問題点を解決
する第1の手段は、各リクエスタに、優先順位切り替え
信号を発行する回路を設ける。
【0035】上記第2の問題点を解決するために、記憶
制御装置にその外部から、例えばサービスプロセッサか
ら優先順位を固定プロセッサを指定する手段を設け、記
憶制御装置内にその指定されたプロセッサの優先順位の
更新を禁止する回路を設けた。
【0036】
【作用】各ベクトルプロセッサ内の優先順位切り替え信
号制御回路から発行される優先順位切り替え信号を、記
憶制御装置内のプライオリティ回路の優先順位を制御す
る優先順位制御回路に発行して、記憶制御装置内の全て
のプライオリティ回路における優先順位を同時に切り替
えることにより、全プライオリティ回路における優先順
の乱れを生じなくなり、異なるプロセッサから発行され
る命令間での主記憶アクセス競合を最低限に抑えること
ができ、アクセス性能の低下を防ぐことができる。これ
により、上記第1の問題点を解決できる。
【0037】また、指定されたベクトルプロセッサから
の優先順位の切り替えを抑止する回路を設けることによ
り、指定したそのプロセッサの主記憶競合における優先
順位を最も高くすることができる。これにより、上記第
2の問題点を解決できる。
【0038】
【実施例】
(実施例1)図1は、本発明の一実施例によるベクトル
プロセッサの主要構成を示したものである。本実施例は
4つのベクトルプロセッサが1つの主記憶装置を共有し
たマルチプロセッサシステムである。
【0039】このマルチプロセッサシステムは4つのベ
クトルプロセッサ(VP)1(VP0),2(VP
1),3(VP2),4(VP3)と、記憶制御装置
(SCU)9と、主記憶装置(MS)14と、フェッチ
データバッファ23からなっている。
【0040】本実施例では、マルチプロセッサシステム
におけるプロセッサ間の主記憶アクセス競合による処理
の遅れを削減するために、システム全体のプライオリテ
ィ回路における優先順位を、命令等のまとまった単位で
一斉に切り替えることが特徴である。
【0041】図1において、各回路1〜4,9はそれぞ
れ一つの集積回路上に構成されることが望ましい。
【0042】主記憶装置14はさらにバンクグループ
(BG)15(BG0),16(BG1),17(BG
2),18(BG3)から構成される。
【0043】本実施例のベクトルプロセッサは、主記憶
装置14から配列データを読み出すベクトルロード命令
や、主記憶装置14に対して配列データを書き込むベク
トルストア命令を発行することができる。
【0044】ベクトルプロセッサVP0乃至VP3から
発行されたベクトルロード/ストア命令は、各配列要素
のアクセスリクエストに分解され、パス5,6,7,8
を介して記憶制御装置9に発行される。記憶制御装置9
では、ベクトルプロセッサVP0乃至VP3から発行さ
れたリクエストをパス10,11,12,13を通して
主記憶装置14に送る。このとき各ベクトルプロセッサ
VP0乃至VP3からのリクエストの内の2つ以上が、
BG0乃至BG3の内の1つに送られる場合、競合が発
生する。記憶制御装置9ではこのような競合を調停して
リクエストを主記憶装置14に送る。
【0045】主記憶装置14ではリクエストを受け取る
と、ストア命令では一定時間の後にデータの書き込みが
終了し、ロード命令では一定時間の後にデータを読み出
す。読み出したデータは、パス19,20,21,22
を通してフェッチデータバッファ23に保持される。
【0046】フェッチデータバッファ23では、各ベク
トルプロセッサ毎に、リクエストを発行した順番にデー
タを並べなおし、各ベクトルプロセッサに送り返す。フ
ェッチデータバッファの詳しい構成と働きは特開昭60
−136849に開示してあるのでここでは省略する。
【0047】ベクトルプロセッサVP0乃至VP3と記
憶制御装置(SCU)9と、主記憶装置(MS)14の
詳しい構成を図2に示す。
【0048】図2においてベクトルプロセッサVP0乃
至VP3はそれぞれ、記憶制御装置9に対して優先順位
切り替え信号を発行する優先順位切り替え信号制御回路
28,30,32,34と、記憶制御装置9に対してリ
クエストを発行するリクエスト発行回路29,31,3
3,35からなる。リクエスト発行回路29,31,3
3,35は優先順位切り替え信号制御回路28,30,
32,34とそれぞれパス36,37,38,39と結
合されている。優先順位切り替え信号制御回路28,3
0,32,34とリクエスト発行回路29,31,3
3,35については後で詳しく述べる。
【0049】記憶制御装置9は、ベクトルプロセッサV
P0乃至VP3内のリクエスト発行回路29,31,3
3,35から発行されるリクエストをそれぞれ受け取る
リクエストキュー(QUE)48(QUE0),49
(QUE1),50(QUE2),51(QUE3)
と、主記憶装置14内のバンクグループBG0乃至BG
3にそれぞれ対応するプライオリティ回路(PR)56
(PR0),57(PR1),58(PR2),59
(PR3)と、ベクトルプロセッサVP0乃至VP3内
の優先順位切り替え信号を受け取って、プライオリティ
回路PR0乃至PR3の優先順位を制御する優先順位制
御回路(PC)60からなる。プライオリティ回路PR
0乃至PR3については後で詳しく述べる。リクエスト
キューQUE0乃至QUE3は、パス52,53,5
4,55でプライオリティ回路PR0乃至PR3と結合
されている。優先順位制御回路60はパス61でプライ
オリティ回路PR0乃至PR3と結合さている。
【0050】ベクトルプロセッサVP0乃至VP3内の
リクエスト発行回路29,31,33,35はパス4
0,41,42,43で記憶制御装置内9のリクエスト
キューQUE0乃至QUE3と結合されている。
【0051】主記憶装置14の構成は図17に示した従
来例と同じである。
【0052】ベクトルプロセッサVP0乃至VP3内の
優先順位切り替え信号制御回路28、30,32,34
はパス44,45,46,47で記憶制御装置内9の優
先順位制御回路60と結合されている。
【0053】プライオリティ回路PR0乃至PR3は、
パス10、11、12、13で図1における主記憶装置
14内のバンクグループBG0乃至BG3とそれぞれ1
対1に結合されている。
【0054】次に図3においてメモリバンクへのアドレ
ス付けを説明する。
【0055】図において、BG#はバンクグループ番号
を、BK#はメモリバンク番号を、ADRはアドレスを
表す。図3は、異なるバンクグループに順次アドレスを
割り付け、さらにバンクグループ内で異なるメモリバン
クに順次アドレスを割り付ける方法によるアドレス付け
である。
【0056】このようなアドレス付けを行った場合、ア
ドレス等間隔でアクセスするとき(このアドレス間隔を
ストライドと呼ぶ)、ストライド2では8個のメモリバ
ンクに、ストライド4では4個のメモリバンクに、スト
ライド8では2個のメモリバンクに、ストライド16で
は1個のメモリバンクにアクセスが集中する。このた
め、このようなストライドではメモリバンク競合が発生
しやすくなる。メモリアクセスタイムを4クロックとす
ると、ストライド4,8,16では常に特定のメモリバ
ンクにアクセスする状態、すなわちメモリバンクを占有
した状態になる恐れがある。
【0057】また、リストベクトル命令のようにストラ
イドが不定である命令は、特定のメモリバンクにアクセ
スが集中する可能性があり、やはり、メモリバンク競合
が発生しやすくなり、特定のメモリバンクを占有する恐
れがある。
【0058】このため、ストライドが「4」の倍数の命
令や、リストベクトル命令などは優先順位をこまめに切
り替えてメモリバンクの占有を防ぐ必要がある。
【0059】次に図4においてリクエスト発行回路29
から発行されるリクエストの詳細を示す。
【0060】図において、124はリクエスト発行回路
で生成されるリクエストを、125はパス40を通して
記憶制御装置に発行するリクエストである。リクエスト
124において、’RQ’はリクエストが有効であるこ
とを示すビット、’END’は1つの命令の最終要素の
リクエストであることを示すビット、’LIST’はリ
ストベクトルであることを示すビット、’4’はアクセ
スストライドが「4」の倍数であることを表すビッ
ト、’L/S’はロード/ストア命令を区別するビッ
ト、’BG’,’BK’,’ADR’はそれぞれ送出先
バンクグループ番号、メモリバンク番号、メモリバンク
内アドレスを表し、’STORE DATA’はストア
データを表している。
【0061】優先順位切り替え信号制御回路28に対し
ては、パス70,71,72,73を通して’R
Q’,’END’,’LIST’,’4’をパス36に
まとめて発行する。
【0062】記憶制御装置9に対しては’RQ’,’L
/S’,’BG’,’BK’,’ADR’,’STOR
E DATA’をパス40を通して発行する。
【0063】次に図5において優先順位切り替え信号制
御回路28の詳しいブロック図を示す。
【0064】図5において、62は、発行されたリクエ
ストを数えるカウンタ、63はカウンタ、64は比較
器、65,67はAND回路、66,68はOR回路、
69はディレイバッファ、70は対応するリクエスタ、
例えば29(図2)がリクエストを発行したことしらせ
るパス、71は命令の終了を知らせるパス、72はリス
トベクトル命令であることを知らせるパス、73はアク
セスストライドがバンクグループ数「4」の倍数である
ことを知らせるパス、75をカウンタ63の値をその入
力に接続するパス、76は2つの優先順位切り替え信号
の間に最低限必要なリクエスト発行数である優先順位切
り替え要素数を与えるためのパス、77はカウンタ62
の値を比較器に送るパス、78はパス76と77の比較
結果をAND回路65に送るパス、79はパス71と7
8のANDした結果をOR回路68に送るパス、80は
カウンタ63のキャリー信号をAND回路67送るパ
ス、81はパス73と74をORした結果をAND回路
67に送るパス、82はパス80と81をANDした結
果をOR回路68に送るパスである。このOR回路の出
力83は優先順位切り替信号としてディレイバッファ6
9に送られ、かつカウンタ62のリセット入力として使
用されるパス、84はディレイバッファ69による遅延
時間を定めるディレイクロック数を与えるためのパスで
ある。
【0065】優先順位切り替え信号制御回路28では、
リクエスト発行回路29からリクエストを発行したこと
を示す信号、1つの命令の最終要素であることを示す信
号、実行中の命令が処理するベクトルデータがリストベ
クトルであるか否かを示す信号、実行中の命令が処理す
るベクトルデータのアクセスストライドが「4」の倍数
であるか否かを示す信号をパス36を通して受け取る。
この内、リクエストが発行されたことを示す信号はパス
70を介してカウンタ62に与えられる。
【0066】カウンタ62には初期値として「0」が格
納されており、パス70から与えられるリクエストが発
行されたことを示す信号をカウントする。比較器64で
はパス77を通してカウンタ62の値を受け取り、パス
76を通して与えられる予じめ定めた優先順位切り替え
要素数と比較する。この優先順位切替要素数はシステム
構成や実行するプログラムの特性によって望ましい値
(メモリ競合による性能劣化が少ない値)を定めるのが
望ましい。比較の結果、これらが等しければパス78を
通してAND回路65とカウンタ62のディセーブル入
力に「1」を送り、パス71によって与えられる命令終
了信号とのANDをとりパス79によりOR回路68に
送る。すなわちカウンタ62が示す発行済み要素数がパ
ス76で与えられる優先順位切り替え要素数と等しくな
ければ命令の終了であっても優先順位切り替え信号を発
行しない。また、等しくなればパス83によってカウン
タ62はリセットされる。これは、ベクトル長が短いと
きに頻繁に優先順位が切り替わらないようにすることに
よって、そのベクトルプロセッサの優先順位が過剰に下
がることを防ぐためである。カウンタ62のビット数は
ベクトルプロセッサのベクトルレジスタ(VR)の長さ
(つまり、VRに保持できるベクトル要素数)によって
決める。たとえばこれが64ならばカウンタ62は5ビ
ットである。
【0067】ただし、カウンタ62が示す最大数は、V
Rの長さよりも大きくして、かつ優先順位切り替え要素
数の値をVRの長さより大きくして、数命令に1回優先
順位を切り替えるようにすることも可能である。
【0068】要素数カウンタ63は例えば2ビットのカ
ウンタであり、初期値として「0」が格納されている。
このカウンタもリクエスト発行信号の数をカウントす
る。カウンタ73の値が「3」を越えるとキャリー信号
をパス70を通してAND回路67に送り、カウンタの
値は「0」にもどる。このカウンタ63のビット長は2
に限定されず、適当な数にしてよい。カウンタ63はメ
モリバンクを占有する(同一メモリバンクに連続してア
クセスする)可能性の有る命令の、優先順位を下げる信
号を発行するタイミングを決定する。本実施例では4要
素毎に優先順位を下げる信号を発行する。
【0069】OR回路66にはパス73,72に与えら
れる、リストベクトルであることを示す信号と、ストラ
イドが「4」の倍数であることを示す信号のORを検出
する。
【0070】AND回路67はパス80と81の値のA
NDをとることにより、リストベクトル命令やストライ
ドが「4」の倍数の場合には、リクエストを「4」個発
行する毎に、そのベクトルプロセッサの優先順位を下げ
るための優先順位切り替え信号を生成し、これをオアゲ
ート68に与える。この信号は、1つの命令が特定のメ
モリバンクを長時間占有することを防ぐために使用され
る。
【0071】OR回路68ではパス79とパス82のO
Rをとり、優先順位切り替え信号を新たに生成し、パス
83によりディレイバッファ69に送出する。ディレイ
バッファ69では優先順位切り替え信号を、パス84に
よって与えられたディレイクロック数だけ保持し、その
後パス44を通して記憶制御装置9内の優先順位制御回
路60に発行する。また、パス83はカウンタ62のリ
セット入力にも接続されており、パス83の値が「1」
であればカウンタ62をリセットする。ディレイバッフ
ァによる遅延時間は、この実施例では最終リクエストを
発行し、かつ、命令の実行が終了してからプライオリテ
ィがとられるまでの最短時間もしくは、より望ましくは
その最短時間tαにする。この結果、最終リクエストの
発行と命令の実行の終了とに同期して、それ命令の処理
の優先度が後述するように変更されることになる。しか
し、もしもプライオリティ回路における競合により処理
が遅れた場合、最終リクエストの処理を待たずに優先順
位を変更することになる。最終リクエストの処理の完了
を待たないで優先順位切り替え信号を発生するのは、回
路の簡単化のためである。必要ならば、最終リクエスト
の処理の完了後に優先順位切り替え信号を出力するよう
にすることも可能である。
【0072】次に図6において優先順位制御回路60
(図2)の詳しいブロック図を示す。
【0073】図6において、89はデコーダ、94は優
先順位切り替え信号を保持するレジスタ、99はOR回
路、100,101,102,104はNOR回路、1
03はAND回路、44,45,46,47は各ベクト
ルプロセッサVP0乃至VP3からの優先順位切り替え
信号を受け取るパス、90,91,92,93はデコー
ダ89から送出されるリセット信号を、優先順位切り替
え信号レジスタ94のリセット入力に入力するパス、9
5,96,97,98は優先順位切り替え信号レジスタ
94からの優先順位切り替え信号を、論理回路99,1
00,101,102,103,104に送出するパ
ス、105は全ベクトルプロセッサの優先順位切り替え
信号をOR回路99でORして生成した優先順位切り替
えトリガを、各プライオリティ回路PR0乃至PR3に
送出するパス、106,107は信号線105の優先順
位切り替え信号を発行しているベクトルプロセッサの番
号をコード化した信号を各プライオリティ回路PR0乃
至PR3に送出するパスである。パス105,106,
107をまとめてパス61とし、各プライオリティ回路
PR0乃至PR3に優先順位切り替え信号を送出する。
【0074】優先順位切り替え信号レジスタ94はビッ
トC0,C1,C2,C3からなっており、それぞれベ
クトルプロセッサVP0乃至VP3からの優先順位切り
替え信号を保持する。もしC0乃至C3のうちどれか一
つでも「1」であれば、OR回路99により、パス10
5に「1」が送出される。
【0075】NOR回路100,101,102,10
4及びAND回路103は、優先順位切り替え信号を発
行したベクトルプロセッサの番号をコード化し、パス1
06,107に出力する。もし、C0乃至C3の複数が
同時に「1」である場合にはC0,C1,C2,C3の
順に固定的に優先順位を決定し、最も優先順位の高いベ
クトルプロセッサの番号をコード化する。C0,C1,
C2,C3の各々が選ばれた場合、パス106,107
にはそれぞれ{0,0},{0、1},{1、0},
{1、1}が出力される。
【0076】デコーダ89は、優先順位切り替え信号を
パス61を通してプライオリティ回路に送出した後、優
先順位切り替え信号を発行したベクトルプロセッサの優
先順位切り替え信号レジスタ94をリセットする。すな
わち、パス105が「1」のとき、デコーダ89ではパ
ス106,107の値をデコードし、優先順位切り替え
信号レジスタ94のリセット入力に入力することによっ
て優先順位切り替え信号レジスタ94をリセットする。
これにより、優先順位切り替え信号レジスタ94のC0
乃至C3の内、プライオリティ回路PR0乃至PR3に
送出されたものだけリセットすることができる。
【0077】次に図7においてプライオリティ回路56
の詳しいブロック図を示す。
【0078】図において、108はデコーダ、113は
優先順位を表す優先順位ビットレジスタ、115,11
6,117,118は各ベクトルプロセッサVP0乃至
VP3から発行されるアクセスリクエストを保持するリ
クエストレジスタ、123はプライオリティ論理であ
る。105,106,107は優先順位制御回路60か
ら送られて来る信号61を分解したパスであり、105
は優先順位切り替えトリガー、106,107はベクト
ルプロセッサの番号をコード化したもので、図6に示し
たものと同じ信号である。
【0079】デコーダ108では、パス106,107
の値をデコードし、ベクトルプロセッサVP0乃至VP
3に対応する信号線109,110,111,112の
いずれかを「1」にする。
【0080】レジスタ113内の優先順位ビットは、そ
れぞれ2つのプロセッサ間の優先順位を1ビットで表す
複数ビットからなる。優先順位ビットを表す「H」の次
の2つの数字は、それぞれベクトルプロセッサの番号を
表している。例えば、ビットH01,H02,H03は
それぞれVP0とVP1,VP2,VP3との間の優先
順位を、ビットH12,H13はそれぞれVP1とVP
2,VP3との間の優先順位を、ビットH23はVP2
とVP3との間の優先順位を表している。優先順位ビッ
トが「1」の場合は、右側の番号のベクトルプロセッサ
の優先順位が高く、優先順位ビットが「0」の場合は、
左側の番号のベクトルプロセッサの優先順位が高い。例
えば、H03が「1」である場合、右側の番号であるV
P3の優先順位がVP0より高いことを示している。
【0081】優先順位ビット113において、’E’は
イネーブル、’S’はセット、’R’はリセット入力で
ある。このため、優先順位切り替えトリガ105が
「1」の場合にのみ、優先順位ビットのセット/リセッ
トが行われる。セット/リセットは、’S’、’R’そ
れぞれの入力が「1」の場合に行われる。
【0082】このように、本実施例では、各プライオリ
ティ回路56、又は59内に、各ベクトルプロセッサの
相対的な優先順位を保持するレジスタ113が設けら
れ、これらは、共通の優先順位変更回路60(図2)に
より接続されている。したがって、これらの優先順位レ
ジスタ113は全て同じ値を有する。したがって一つの
これらのレジスタ113を複数のプライオリティ回路に
共通に設けてもよい。しかし、この場合には次の問題が
ある。バンクグループの装置サイズが大きくなるため、
バンクグループ同士が離れて配置する必要がある。この
ため優先順位を記憶するレジスタ113を装置全体で1
つとすると、この共通の優先順位記憶レジスタといくつ
かのバンクグループとの物理的距離が大となりリクエス
トがプライオリティ回路に到着してから、優先順位の値
を基に選択するリクエストを決定するまでのディレイが
大きくなり性能が低下する。そこで本実施例ではバンク
グループ毎に優先順位レジスタを設け、このディレイを
なした。
【0083】次に、図2においてリクエストが処理され
る流れを説明する。
【0084】まず、ベクトルプロセッサVP0からベク
トルロード/ストア命令が発行されると、リクエスト発
行回路29からアクセスリクエストが発行される。リク
エストは、リクエストが有効であることを示すビット
と、リクエストの送り先であるバンクグループ番号、メ
モリバンク番号、及びメモリバンク内アドレスと、ベク
トルロード/ストア命令を区別するフラグと、ベクトル
ストア命令の場合にはストアデータからなっている。
【0085】発行されたリクエストはパス40を通して
リクエストキューQUE0に送出され、一時保持され
る。QUE0に空きが無い状態であれば、リクエスト発
行回路29はリクエストを発行しない。
【0086】リクエストキューQUE0で保持されたリ
クエストは、全プライオリティ回路PR0,乃至PR3
に対してリクエストを発行する。各プライオリティ回路
PR0乃至PR3ではリクエストの送り先のバンクグル
ープ番号と、プライオリティ回路の対応しているバンク
グループの番号を比較し、同じであればそのリクエスト
を受け取り競合調停に参加させる。
【0087】今PR0にQUE0とQUE1からのリク
エストが競合調停に参加しているとすると、プライオリ
ティ回路PR0では優先順位ビットレジスタ113のH
01の値に従って選択するリクエストを決定する。例え
ば優先順位ビットH01が「0」であればQUE0から
のリクエストを選択し、H01が「1」であればQUE
1からのリクエストを選択する。選択されたリクエスト
はBG0に送出される。
【0088】BG0では、リクエストが持つ送出先メモ
リバンク番号に従ってBK0乃至BK3の内のいずれか
のメモリバンクに送出される。メモリバンクではメモリ
アクセスタイムの後にアクセスが終了する。ここではメ
モリアクセスタイムを4サイクルとする。
【0089】ベクトルロード命令の場合はパス24を通
して読み出したデータがフェッチデータバッファ23
(図1)に送られる。ベクトルストア命令の場合は、ア
クセスが終了した時点で命令が終了する。
【0090】フェッチデータバッファ23では、各ベク
トルプロセッサ毎に読み出したデータをリクエストの発
行順に並べ替える。並べ替えたデータは、発行された順
にベクトルプロセッサVP0乃至VP3に送られる。読
み出したデータが全てベクトルプロセッサに送られた時
点でベクトルロード命令が終了する。
【0091】次に本実施例におけるプライオリティ回路
内の優先順位の切り替え方法について、VP0の優先順
位を切り替える場合を例にとって説明する。
【0092】まず、ベクトルプロセッサVP0からリク
エストが発行されると、リクエスト発行回路29からパ
ス36を通して、リクエストが有効であることを示す信
号、1つの命令の最終要素であることを示す信号、リス
トベクトルであることを示す信号、アクセスストライド
が「4」の倍数であることを示す信号を優先順位切り替
え信号制御回路28に送出する。
【0093】優先順位切り替え信号制御回路28では、
パス36でまとめて送られてきた値をパス70,71,
72,73に分解する。まずリクエストが有効であるこ
とを示すパス70の値をカウンタ62,63に加算す
る。カウンタ63で加算した結果とパス76によってあ
らかじめ与えられた優先順位切り替え要素数(本実施例
では4とする)とを比較器64で比較し、パス78を介
してAND回路65に送る。AND回路65では1つの
命令の最終リクエストであることを示すパス71とパス
78のANDをとる。これにより、以前に優先順位切り
替え信号を発行してからパス76で表される要素数を発
行するまでは、優先順位切り替え信号の発行を抑止する
ことができる。
【0094】一方カウンタ63は2ビットカウンタであ
り、値が「3」を越えた場合にはキャリー信号をパス8
0に送出する。OR回路66では、リストベクトル命令
であるかアクセスストライドが「4」の倍数である場合
を検出し、AND回路67でパス80とANDをとる。
これにより、メモリバンクを長時間占有する可能性のあ
る、リストベクトル命令やアクセスストライドが「4」
の倍数である命令は、カウンタ63の最大カウント数を
越える数である「4」要素に1回は優先順位切り替え信
号を発行して、メモリバンクの占有を防ぐことができ
る。
【0095】OR回路68ではパス79とパス82の値
をORし、優先順位切り替え信号を生成してディレイバ
ッファ69に送る。ディレイバッファ69では、パス8
4を通してあらかじめ与えられたディレイクロック数だ
け優先順位切り替え信号を保持した後、パス44を通し
て記憶制御装置9内の優先順位制御回路60に優先順位
切り替え信号を送る。優先順位の切り替えは、最終リク
エストがプライオリティ回路56乃至59で選択されて
から行うのが理想的である。また、プライオリティ回路
56乃至59で競合が発生した場合には、最終リクエス
トがリクエスト発行回路29から発行されてからプライ
オリティ回路56乃至59で選択されるまでの時間に幅
が生じる。したがってディレイクロック数は、リクエス
ト発行回路29から最終リクエストが発行されてからプ
ライオリティ回路56乃至59で選択されるまでの最短
のクロック数以上で優先順位が切り替えられる値にする
必要がある。本実施例では、最終リクエストが発行され
てから選択されるまでの最短時間は「2」クロックであ
り、また最終リクエストが発行されてから優先順位を切
り替えるまでのディレイバッファ69のディレイ時間を
除いたクロック数が「1」であるため、ディレイクロッ
ク数を「1」とした。これにより、最終リクエストがリ
クエスト発行回路29から発行されてからプライオリテ
ィ回路56乃至59で選択されるまでの最短時間で優先
順位を切り替えることができる。
【0096】優先順位制御回路60では、パス44を通
して受け取ったベクトルプロセッサVP0からの優先順
位切り替え信号を、優先順位切り替え信号レジスタ94
のC0で保持する。
【0097】優先順位切り替え信号レジスタ94のC0
で保持された優先順位切り替え信号は「1」になるた
め、OR回路99によって優先順位切り替えトリガを生
成し、パス105に送出する。
【0098】もし他のベクトルプロセッサからの優先順
位切り替え信号であるC1乃至C3のいずれかが「1」
の場合、論理回路100,101,102,103,1
04により、C0のベクトルプロセッサ番号「0」をコ
ード化し、パス106,107に{0、0}を送出す
る。
【0099】パス105,106,107はパス61に
まとめられ各プライオリティ回路PR0乃至PR3に送
出される。
【0100】またデコーダ89ではパス105が「1」
の場合、パス106,107のコード化された信号
{0、0}をデコードし、優先順位切り替え信号レジス
タ94のリセット入力に入力する。これにより、パス1
06,107で各プライオリティ回路に優先順位切り替
え信号が送出された優先順位切り替えレジスタ94のC
0がリセットされる。
【0101】各プライオリティ回路PR0乃至PR3で
は、優先順位制御回路60からパス61を通してコード
化した優先順位切り替え信号を受け取る。
【0102】プライオリティ回路56では、コード化し
た優先順位切り替え信号の発行元ベクトルプロセッサの
番号をパス106,107を通してデコーダ108で受
け取る。今の例では、パス106,107で受け取る値
は共に「0」であるから、パス109からは「1」が、
パス110,111,112からは「0」が送出され
る。
【0103】パス105で受け取る優先順位切り替えト
リガが「1」であり、パス109から優先順位レジスタ
113のH01,H02,H03のセット入力に「1」
が入力されるため、H01,H02,H03は全て
「1」にセットされる。すなわち、ベクトルプロセッサ
VP0の優先順位がVP1,VP2,VP3のどれに対
しても低くなり、優先順位の切り替えが終了する。
【0104】優先順位の切り替えは全てのプライオリテ
ィ回路において同時に行われるため、全プライオリティ
回路の優先順位の状態は常に等しくなる。
【0105】次に、VP0,VP1から発行されたベク
トルロード命令のリクエストが、記憶制御装置において
競合を起こす場合に、優先順位を全プライオリティ回路
で等しくした場合の効果ついて説明する。
【0106】VP0,VP1からそれぞれ、リクエスト
{a0,a1,a2,a3}からなる命令Aと、リクエスト
{b0,b1,b2,b3}からなる命令Bが同時に発行さ
れ、かつ命令A,Bのリクエストが共に、BK0,BK
4,BK8.BK12に順にアクセスする場合のタイム
チャートを図8に示す。ただし、プライオリティ回路内
の優先順位はVP0の方が高いとする。
【0107】この場合、各プライオリティ回路で選択さ
れるのは命令Aのリクエストであるため、リクエストa
0,a1,a2,a3がそれぞれメモリバンクBK0,BK
4,BK8,BK12に先にアクセスする。リクエスト
0,b1,b2,b3はメモリアクセスタイムである4サ
イクルの後、それぞれメモリバンクBK0,BK4,B
K8,BK12にアクセスする。読み出したデータがフ
ェッチデータバッファに送られる順番は、命令Aの4要
素が先であり、図18に示したような処理の遅れは生じ
ない。
【0108】次に全プライオリティ回路の優先順位を一
斉に切り替えることの効果を、優先順位を固定した場合
と比較して説明する。
【0109】図19に全プライオリティ回路の優先順位
を等しく、かつ、固定した場合に、VP0から命令A0
{a00,a01,a02,a03},A1{a10,a11
12,a13},A2{a20,a21,a22,a23}を、V
P1から命令B0{b00,b01,b02,b03},B1{b
10,b11,b12,b13},B2{b20,b21,b22,b
23}を発行した時のタイムチャートを示す。
【0110】命令A0,A1,A2,B0は共に、メモリバ
ンクBK0,BK4,BK8,BK12を順にアクセス
し、また命令B1はメモリバンクBK1,BK5,BK
9,BK13に、命令B2はメモリバンクBK2,BK
6,BK10,BK14に順にアクセスすると仮定す
る。また、各プライオリティ回路における優先順位はV
P0の方がVP1より高いと仮定する。
【0111】始め、命令A0と命令B0がメモリバンクで
競合を起こすが、VP0の方が優先順位が高いためリク
エストa00,a01,a02,a03が先にBK0,BK4,
BK8,BK12にアクセスする。メモリアクセスタイ
ムである4サイクル経った後、今度はVP0の命令A1
とVP1の命令B0が競合を起こす。この場合もVP0
の優先順位が高いため、リクエストa10,a11,a12
13が先にBK0,BK4,BK8,BK12にアクセ
スする。さらに4サイクル経った後も同様に命令A2
先に処理される。命令B0は再び4サイクル経った後、
BK0,BK4,BK8,BK12にアクセスする。命
令B1のリクエストb10,b11,b12,b13は、B0命令
の各リクエストb00,b01,b02,b03がプライオリテ
ィ回路の競合調停を終えてから競合調停に参加し、BK
1,BK5,BK9,BK13にアクセスする。同様に
命令B2のリクエストb20,b21,b22,b23は、B1
令の各リクエストb10,b11,b12,b13がプライオリ
ティ回路の競合調停を終えてから競合調停に参加し、B
K2,BK6,BK10,BK14にアクセスする。
【0112】主記憶における処理効率を上げるには、メ
モリバンクの稼働率を上げる必要がある。しかし、上記
のように優先順位を固定すると、2つのベクトルプロセ
ッサ間で競合が生じた場合、常に優先順位の高いベクト
ルプロセッサVP0のリクエストの処理は優先されるた
め、優先順位の低いベクトルプロセッサVP0で実行さ
れる命令A0と競合を起こした命令B0以降の命令B1
2が競合を起こさない場合でも処理が遅れる。このた
め、メモリバンクの稼働率が低下し、性能低下の原因に
なる場合がある。
【0113】図19で説明した命令列と同じ命令列で、
優先順位を命令単位で切り替えた場合のタイムチャート
を図9に示す。
【0114】優先順位を固定した場合である図19と異
なるのは次の仮定をしている点である。VP0の命令A
0のリクエストが全てVP0から発行されてから2クロ
ック後にVP0の優先順位が最も低くなり、VP1の命
令B0の優先順位が上がる。また、VP1の命令B0のリ
クエストが全てVP1から発行されてから2クロック後
にVP1の優先順位が最も低くなり、VP0の命令A1
の優先順位が上がる。以後同様に優先順位が切り替わっ
ていく。このため、図9では命令A2のリクエストより
も後に処理されていた命令B0のリクエストが図9では
命令A2より先に処理される。このため、VP0からの
命令A0,A1,A2と競合を起こさない命令B1,B2
処理がA1,A2の終了をまたないでできるため、メモリ
バンクの稼働率が上がり、主記憶における処理性能が向
上する。
【0115】(実施例2)次に実施例2の概略について
説明する。実施例2では、実施例1と異なり、優先順位
切り替え信号をベクトルプロセッサから直接出力せず、
リクエストにマージして記憶制御装置に出力する。記憶
制御装置では受け取ったリクエストの優先順位切り替え
信号が「1」である場合、全プライオリティ回路に対し
て優先順位切り替え信号が「1」であるダミーリクエス
トを発行し、プライオリティ回路内の優先順位を切り替
える。
【0116】図10に実施例2によるベクトルプロセッ
サと記憶制御装置の構成を示す。実施例1と同じ部分で
ある主記憶装置、フェッチデータバッファは省略してあ
る。図において実施例1と同じ番号は同じものを指す。
また、実施例1において用いた装置を部分的に変更した
ものには番号に「A」を付けてある。
【0117】図8において、ベクトルプロセッサ1A,
2A,3A,4Aはリクエストマージ回路130,13
1,132,133を持ち、優先順位切り替え信号制御
部28,30,32,34からのパス44,45,4
6,47がベクトルプロセッサを出ず、リクエストマー
ジ回路130,131,132,133に入力されてい
ることが実施例1と異なる点である。
【0118】記憶制御装置9Aでは、各ベクトルプロセ
ッサ1A,2A,3A,4Aからの優先順位切り替え信
号を受け取るパスと、実施例1における優先順位制御回
路60が無いことと、プライオリティ回路56A,57
A,58A,59Aが変更されている点が実施例1と異
なる。図において装置1A,2A,3A,4A,9Aは
それぞれ一つの集積回路上に構成されることが望まし
い。
【0119】次に図11において、リクエストマージ回
路130の構成を詳しく説明する。
【0120】図において、138はリクエスト発行回路
29から送られてきたリクエストを保持するリクエスト
レジスタ、139は優先順位切り替え信号制御回路から
送られてきた優先順位切り替え信号を、優先順位切り替
えビットとしてリクエストレジスタ138のリクエスト
とマージするためのリクエストレジスタ、140はリク
エストレジスタ138と139を結合するパスである。
【0121】次に図12において、プライオリティ回路
56Aの構成を詳しく説明する。
【0122】図において、図7のプライオリティ回路5
6と異なる点は、プライオリティ論理123Aがリクエ
ストを選択したことを示す信号、及び選択したリクエス
トの発行元のベクトルプロセッサの番号を、パス126
を通してデコーダ108と優先順位ビット113に送る
ことである。これにより、選択したリクエストの発行元
であるベクトルプロセッサの優先順位を下げることがで
きる。優先順位ビットの変更方法は実施例1と同様であ
る。
【0123】図10におけるリクエストの処理の流れ
で、実施例1と異なる部分について説明する。
【0124】VP0において、リクエスト発行回路29
から発行されたリクエストはリクエストマージ回路13
0で保持され、優先順位切り替え信号制御回路28から
の優先順位切り替え信号とマージされる。
【0125】優先順位切り替え信号とマージされたリク
エストはパス40を通してリクエストキュー例えばQU
E0に一旦保持された後、プライオリティ回路56A,
57A,58A,59Aに送出される。各プライオリテ
ィ回路たとえば56Aでは、優先順位切り替えビットが
「0」の場合には、自分の持つバンクグループ番号とリ
クエストの持つ送出先バンクグループ番号を比較し、等
しければリクエストを受け取る。優先順位切り替えビッ
トが「1」の場合は、全プライオリティ回路内の、その
リクエストキュー、例えばQUE0に対応するリクエス
トレジスタ例えば113に空きがあればバンクグループ
番号を比較せず全てリクエストを受け取り、リクエスト
受け取り信号(図示せず)をリクエスタに発行する。リ
クエスタでは全プライオリティ回路のリクエストレジス
タ113からのリクエスト受け取り信号を受け取った時
点で、リクエストが受け取られたとみなし、次のリクエ
スト発行の処理を行う。
【0126】リクエストを受け取ったプライオリティ回
路56Aでは、競合調停で選択されたリクエストの優先
順位切り替えビットが「0」の場合には、実施例1と同
様にリクエストを処理する。選択されたリクエストの優
先順位切り替えビットが「1」の場合には、リクエスト
優先順位切り替え信号「1」とリクエストの発行元のベ
クトルプロセッサ番号をパス126に送出するが、パス
10にはリクエストを送出する。また、優先順位切り替
えビットが「1」の場合にはバンクグループ番号を比較
し、等しい場合にはパス10にリクエストを送出し、等
しくない場合にはパス10にリクエストを送出しない。
【0127】次に優先順位を切り替える処理の流れで、
実施例1と異なる点を説明する。
【0128】リクエストマージ回路130において優先
順位切り替えビット「1」をマージされたリクエスト
は、全プライオリティ回路においてリクエストが受け取
られる。
【0129】プライオリティ回路、例えばPR0では選
択したリクエストの優先順位切り替えビットが「1」の
場合、優先順位切り替え信号「1」と、選択されたリク
エストの発行元のベクトルプロセッサ番号を、パス12
6を通してデコーダ108及び優先順位レジスタ113
に送る。
【0130】その後の優先順位の切り替えは実施例1と
同様に行う。
【0131】本実施例において、図19及び図9で使用
した命令列を用いた場合のタイムチャートを図13に示
す。実施例1と異なるのは、各バンクグループにおいて
最終リクエストを受け取ってから優先順位を切り替える
ため、命令の切り替りに対応して優先順位を切り替える
ことが出来るためよりきめ細かい制御ができる。
【0132】(実施例3)次に実施例3の概略について
説明する。実施例3は、実施例1においてそれぞれ1つ
しかなかった主記憶装置と記憶制御装置が2つずつにな
った場合に、システム全体のプライオリティ回路の優先
順位を一斉に切り替える実施例に関する装置である。
【0133】図14に実施例3で対象とするコンピュー
タシステムを、また図14におけるベクトルプロセッサ
と記憶制御装置の詳しい構成を図15に示す。実施例1
と同じ番号は同じものを指す。また実施例1において用
いた装置を部分的に変更したものには番号に「B」を付
けてある。
【0134】図14において、記憶制御装置141(S
CU1)は記憶制御装置9B(SCU0)と同じ構成で
ある。また主記憶装置146(MS1)は主記憶装置1
4(MS0)と同じ構成である。フェッチデータバッフ
ァ23BはMS0,MS1の両方から読み出したデータ
を並べ替える点が実施例1、2と異なる。
【0135】図15において、ベクトルプロセッサ1
B,2B,3B,4Bは、リクエスト発行回路29B,
31B,33B,35Bから発行されるリクエストに、
送出先の主記憶装置の番号が付加されている点が実施例
1と異なる。
【0136】また、記憶制御装置9Bにおいて、リクエ
ストキュー48B,49B,50B,51Bがリクエス
トに付加されている送出先の主記憶装置の番号を識別
し、記憶制御装置9Bが持つ番号と等しければリクエス
トキューに保持することが実施例1と異なる。
【0137】リクエストの処理の流れが実施例1と異な
る点を以下に説明する。ベクトルプロセッサ1B,2
B,3B,4Bからリクエストがパス40,41,4
2,43を通して記憶制御装置9B,141に同時に発
行され、記憶制御装置9B,141内のリクエストキュ
ー48B,49B,50B,51B等によって、リクエ
ストに付加された送出先の記憶制御装置の番号を識別し
て、リクエストを保持するかどうかを決定する点が実施
例1と異なる。記憶制御装置9BではMS0に対するリ
クエストを、記憶制御装置141ではMS1に対するリ
クエストを選択して保持する。
【0138】また、優先順位を切り替える処理の流れが
実施例1と異なる点を以下に説明する。ベクトルプロセ
ッサ1B,2B,3B,4B内の優先順位切り替え信号
制御装置から発行される優先順位切り替え信号は、パス
44,45,46,47を通して、記憶制御装置9Bと
記憶制御装置141に同時に送られることが実施例1と
異なる。これにより、システム全体のプライオリティ回
路の優先順位を、同時に切り替えることが可能である。
【0139】本実施例は実施例1と同等の性能が得られ
る。
【0140】(実施例4)次に実施例4の概略について
説明する。実施例4では、実施例3の構成において実施
例2と同じように優先順位切り替え信号をリクエストに
マージして記憶制御装置に出力する。
【0141】図16に実施例4によるベクトルプロセッ
サと記憶制御装置の構成を示す。図において実施例2、
3と同じ番号は同じものを指す。また、実施例2、3に
おいて用いた装置を部分的に変更したものには番号に
「C」を付けてある。
【0142】ベクトルプロセッサ1C,2C,3C,4
Cは、リクエスト発行回路を実施例3で用いた29B,
31B,33B,35Bを使用する点が実施例2、3と
異なる。
【0143】記憶制御装置9Cは、リクエストキュー4
8C,49C,50C,51Cが異なる点が実施例2と
異なる。記憶制御装置141Cは記憶制御装置9Cと同
じ構成である。
【0144】リクエストキュー48C,49C,50
C,51Cは、各ベクトルプロセッサ1C,2C,3
C,4Cから送られてくるリクエストの、優先順位切り
替えビットが「1」である場合、必ずリクエストを保持
する点が実施例2と異なる。
【0145】リクエストキュー48C,49C,50
C,51Cが実施例3と異なる点は、優先順位切り替え
ビットが「1」である場合は、必ずリクエストを保持す
るところである。これにより、ベクトルプロセッサから
発行される優先順位切り替えビットが「1」であるリク
エストを、全ての記憶制御装置9C,132Cに対して
発行できる。
【0146】本実施例は実施例2と同等の性能が得られ
る。
【0147】(実施例5)本実施例では、特定のプロセ
ッサの優先順位を他のプロセッサよりも上げたい場合
に、そのプロセッサの優先順位を最も高く固定すること
によって主記憶アクセス競合による処理の遅れを小さく
することが特徴である。
【0148】次に実施例5の概略について説明する。実
施例5は、サービスプロセッサから特定のベクトルプロ
セッサの優先順位を上げる信号をが発行された場合に、
全プライオリティ回路における、そのベクトルプロセッ
サの優先順位を最も高くすることに関する装置である。
【0149】実施例5は、実施例1、3に適用可能であ
る。本実施例は実施例1、3の優先順位制御回路56の
一部を変更することにより実現可能である。図20に本
実施例における優先順位制御回路を示す。
【0150】図において図6と同じ番号は同じものを指
す。図6と異なる点は、サービスプロセッサ(図示せ
ず)から優先順位固定信号とベクトルプロセッサの番号
をコード化した信号を受け取るパス178,179,1
80と、デコーダ177と、AND回路173,17
4,175,176を持つことである。
【0151】図20に示した本実施例の優先順位制御回
路の動作について説明する。
【0152】まず、サービスプロセッサからは優先順位
固定信号とベクトルプロセッサ番号を常に出力する。サ
ービスプロセッサからの優先順位固定信号をパス178
を通して受け取り、パス179,180のベクトルプロ
セッサ番号をデコーダ177でデコードする。デコード
した結果をAND回路173,174,175,176
に入力することにより、ベクトルプロセッサからの優先
順位切り替え信号85,86,87,88の内、サービ
スプロセッサで指定したベクトルプロセッサからの信号
だけを「1」にならないようにできる。これにより、サ
ービスプロセッサで指定したベクトルプロセッサの優先
順位を下げないようにすることができるため、結果とし
てそのベクトルプロセッサの優先順位を最も高くするこ
とができる。
【0153】なお、実施例2では、優先順位切り替え信
号を、一連の要求の最後の要求とともに、リクエストキ
ューに入れたが、この信号を、一つの要求として、この
最後の信号の後にリクエストキュー例えばQUE0に入
れるようにしてもよい。この場合各リクエストキューお
よび各プライオリティ回路の構造は、実施例1のごとく
に構成すればよい。
【0154】
【発明の効果】本願の発明によれば、プロセッサ間の主
記憶アクセス競合による処理の遅れを大幅に改善できる
マルチプロセッサシステムが得られる。
【0155】さらに本願の他の発明によれば、サービス
プロセッサなどから特定のプロセッサの主記憶アクセス
における優先順位を上げるできるマルチプロセッサシス
テムが得られる。
【図面の簡単な説明】
【図1】本発明の実施例1、2によるコンピュータシス
テムの要部構成図。
【図2】図1における本発明の第1の実施例によるベク
トルプロセッサ、記憶制御装置、主記憶装置のブロック
図。
【図3】図2における本発明の第1の実施例によるメモ
リバンクへのアドレス割り付けの図。
【図4】図2における本発明の第1の実施例によるリク
エスト発行回路のブロック図。
【図5】図2のベクトルプロセッサに用いる優先順位切
り替え信号制御回路のブロック図。
【図6】図2の記憶制御装置に用いる優先順位制御回路
のブロック図。
【図7】図2の記憶制御装置に用いる優先順位切り替え
回路のブロック図。
【図8】図2の実施例において2つのベクトルプロセッ
サからそれぞれ1つのベクトルロード命令を発行した場
合のタイムチャート。
【図9】図2の実施例において2つのベクトルプロセッ
サからそれぞれ3つのベクトルロード命令を発行した場
合のタイムチャート。
【図10】本発明の第2の実施例によるベクトルプロセ
ッサと記憶制御装置のブロック図。
【図11】図10のベクトルプロセッサに用いるリクエ
ストマージ回路のブロック図。
【図12】図10の記憶制御装置に用いるプライオリテ
ィ回路のブロック図。
【図13】図10の実施例において2つのベクトルプロ
セッサからそれぞれ3つのベクトルロード命令を発行し
た場合のタイムチャート。
【図14】本発明の実施例3、4によるコンピュータシ
ステムの要部構成図。
【図15】図14における本発明の第3の実施例による
ベクトルプロセッサと記憶制御装置のブロック図。
【図16】図14における本発明の第4の実施例による
ベクトルプロセッサと記憶制御装置のブロック図。
【図17】従来のベクトルプロセッサの構成図。
【図18】図17の従来のベクトルプロセッサにおいて
2つのベクトルプロセッサからそれぞれ1つのベクトル
ロード命令を発行した場合のタイムチャート。
【図19】図17の従来のベクトルプロセッサにおいて
2つのベクトルプロセッサからそれぞれ3つのベクトル
ロード命令を発行した場合のタイムチャート。
【図20】本発明の実施例5による優先順位制御回路の
ブロック図。
【図21】図17の従来技術によるプライオリティ回路
のブロック図。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 磯部 忠章 神奈川県秦野市堀山下1番地 株式会社日 立製作所汎用コンピュータ事業部内 (72)発明者 橋本 茂子 神奈川県秦野市堀山下1番地 株式会社日 立製作所汎用コンピュータ事業部内 (72)発明者 稲上 泰弘 東京都国分寺市東恋ケ窪1丁目280番地 株式会社日立製作所中央研究所内 (72)発明者 玉置 由子 東京都国分寺市東恋ケ窪1丁目280番地 株式会社日立製作所中央研究所内

Claims (56)

    【特許請求の範囲】
  1. 【請求項1】複数のプロセッサと、 互いに並列にアクセス可能な複数の部分記憶装置に分割
    された記憶装置と、 該複数のプロセッサから並列に出力される、該記憶装置
    に対するメモりアクセス要求を、並列に該複数の部分記
    憶装置へ転送する記憶制御回路とを有し、 該複数のプロセッサは、それぞれ複数のリクエスタの一
    つを含み、各リクエスタは、それが属するプロセッサで
    実行中の、該記憶装置内の複数の記憶位置に対するアク
    セスを要求する命令(メモりアクセス命令)に応答し
    て、該複数の記憶位置へのアクセスを要求する複数のア
    クセス要求を順次発行し、 各リクエスタは、そのリクエスタに関する優先順位の切
    り替えを要求する優先順位切り替え信号を出力する第1
    の信号生成回路を有し、 該記憶制御装置は、 それぞれ該複数の部分記憶装置の一つに対応して設けら
    れ、それぞれ該複数のプロセッサから供給された、対応
    する部分記憶装置に転送されるべき複数のアクセス要求
    の一つを選択する複数の選択回路と、 該複数の選択回路に供給するための、該複数のリクエス
    タの優先順位に関する、該複数の選択回路に共通に定め
    た優先順位情報を保持する手段と、 該複数のリクエスタのいずれか一つに含まれる該第1の
    信号生成回路から出力された優先順位切り替え信号に応
    答して、そのリクエスタに関する優先順位を切り替えす
    るように、該保持手段に保持された優先順位情報を切り
    替える切り替え回路とを含むコンピュータシステム。
  2. 【請求項2】各リクエスタの該信号生成回路は、そのリ
    クエスタの優先順位を低下することを要求する優先順位
    切り替え信号を生成する回路である請求項1記載のコン
    ピュータシステム。
  3. 【請求項3】各リクエスタに含まれた該信号生成回路
    は、そのリクエスタが属するプロセッサで実行されたメ
    モりアクセス命令に応答して、そのリクエスタに関する
    優先順位切り替え信号を生成手段を有する請求項1記載
    のコンピュータシステム。
  4. 【請求項4】該優先順位切り替え信号は、そのリクエス
    タの優先順位を低下することを要求する信号である請求
    項3記載のコンピュータシステム。
  5. 【請求項5】各リクエスタに含まれた該信号生成回路
    は、そのリクエスタが属するプロセッサで実行されたメ
    モりアクセス命令に応答して、その命令が要求する複数
    のアクセス要求の処理の終了時に、そのリクエスタの優
    先順位を切り替えするための優先順位切り替え信号を生
    成する回路である請求項1記載のコンピュータシステ
    ム。
  6. 【請求項6】該優先順位切り替え信号は、そのリクエス
    タの優先順位を低下することを要求する信号である請求
    項5記載のコンピュータシステム。
  7. 【請求項7】各リクエスタに含まれた該信号生成回路
    は、そのリクエスタが属するプロセッサで実行されたメ
    モりアクセス命令に応答して、その命令が要求する複数
    のメモりアクセス要求の処理の途中で、そのリクエスタ
    の優先順位を切り替えするための優先順位切り替え信号
    を生成する回路である請求項1記載のコンピュータシス
    テム。
  8. 【請求項8】該優先順位切り替え信号は、そのリクエス
    タの優先順位を低下することを要求する信号である請求
    項7記載のコンピュータシステム。
  9. 【請求項9】各リクエスタに含まれた該信号生成回路
    は、そのリクエスタが属するプロセッサで実行中のメモ
    りアクセス命令が要求する、複数の記憶位置に対する複
    数のアクセス要求の内の最終の要求を該リクエスタが送
    出したのと同期して、優先順位切り替え信号を出力する
    第1の手段を有する請求項2記載のコンピュータシステ
    ム。
  10. 【請求項10】該優先順位切り替え信号は、そのリクエ
    スタの優先順位を低下することを要求する信号である請
    求項9記載のコンピュータシステム。
  11. 【請求項11】該第1の手段は、該最終のアクセス要求
    を該リクエスタが送出したときに、該出力した複数のア
    クセス要求の数が所定値以上であるという条件下で該優
    先順位切り替え信号を生成する第2の手段を有する請求
    項9記載のコンピュータシステム。
  12. 【請求項12】各リクエスタに含まれた該信号生成回路
    は、そのリクエスタが属するプロセッサで実行中のメモ
    りアクセス命令が要求する、複数の記憶位置に対する複
    数のアクセス要求の最終の要求を該リクエスタが出力す
    る前に、該複数のアクセス要求を所定数該リクエスタが
    送出するごとに、優先順位切り替え信号を出力する第2
    の手段を有する請求項2記載のコンピュータシステム。
  13. 【請求項13】該優先順位切り替え信号は、そのリクエ
    スタの優先順位を低下することを要求する信号である請
    求項12記載のコンピュータシステム。
  14. 【請求項14】該第2の手段は、該メモりアクセス命令
    が、それが要求する複数の記憶位置のアドレスを、リス
    トベクトルデータで間接的に指定する命令であるとき
    に、該複数のアクセス要求を該所定数該リクエスタが送
    出するごとに、優先順位切り替え信号を出力する手段を
    有する請求項12記載のコンピュータシステム。
  15. 【請求項15】該第2の手段は、該メモりアクセス命令
    が要求する複数の記憶位置のアドレスが、同一のアドレ
    ス間隔づつ隔たり、かつ、そのアドレス間隔が予め定め
    た特定の値のときに、該複数のアクセス要求を該所定数
    該リクエスタが送出するごとに、優先順位切り替え信号
    を出力する手段を有する請求項12記載のコンピュータ
    システム。
  16. 【請求項16】該特定の値は、該複数の記憶位置が、該
    複数の部分記憶装置のうちの特定の一つに属する可能性
    を高くする予め定めた値である請求項15記載のコンピ
    ュータシステム。
  17. 【請求項17】各リクエスタは、そこに含まれる該信号
    生成回路により生成された優先順位切り替え信号を転送
    するための、そのリクエスタから複数の要求を該複数の
    選択回路に転送するための第1の経路と異なる、第2の
    経路を介して、該切り替え回路に接続されている請求項
    2記載のコンピュータシステム。
  18. 【請求項18】各リクエスタと該切り替え回路を接続す
    る該第2の経路上には、そのリクエスタに含まれる該信
    号生成回路により生成された優先順位切り替え信号を所
    定時間遅延する遅延回路をさらに有する請求項17記載
    のコンピュータシステム。
  19. 【請求項19】該所定の時間は、アクセス要求が該リク
    エスタから出力されてから、該複数の選択回路のいずれ
    かで選択されるまでの最短時間以上の時間である請求項
    18記載のコンピュータシステム。
  20. 【請求項20】該保持手段は、それぞれ該複数の選択回
    路の一つに対応して設けられ、それぞれ対応する選択回
    路の近傍に設けられた、該優先順位情報を保持する複数
    の保持手段からなり、 該切り替え手段は、該複数の保持手段のそれぞれに保持
    された優先順位情報を切り替えする手段を有する請求項
    17記載のコンピュータシステム。
  21. 【請求項21】該保持手段は、それぞれ該複数の選択回
    路の一つに対応して設けられ、それぞれ対応する選択回
    路の近傍に設けられた、該優先順位情報を保持する複数
    の保持手段からなり、 各リクエスタは、そこに含まれる該信号生成回路により
    生成された優先順位切り替え信号を、そのリクエスタか
    らのアクセス要求を該複数の選択回路に転送するための
    第1の経路にそって、該複数の選択回路に同時に転送す
    る手段を有し、 該切り替え回路は、それぞれ該複数の選択回路の一つに
    対応して設けられた複数の切り替え回路からなり、各切
    り替え回路は、対応する選択回路により何れかのリクエ
    スタから出力された優先順位切り替え信号が選択された
    ことに応答して、その対応する選択回路に対応して設け
    られた保持手段に保持された優先順位情報を切り替えす
    る請求項2記載のコンピュータシステム。
  22. 【請求項22】各リクエスタは、そこに含まれる該信号
    生成回路により生成された優先順位切り替え信号を、そ
    のリクエスタから出力するアクセス要求に付随して該複
    数の選択回路に転送する手段を有する請求項21記載の
    コンピュータシステム。
  23. 【請求項23】各リクエスタは、 該複数の選択回路が、そのリクエスタから優先順位切り
    替え信号を受信可能な状態にあるか否かを検出する手段
    と、 該複数の選択回路のいずれかが、そのリクエストを受信
    不可能な状態にあることが検出されたとき、そのリクエ
    スタから該優先順位切り替え信号をマージされたアクセ
    ス要求を該複数の選択回路に転送することを延期する手
    段とをさらに有する請求項22記載のコンピュータシス
    テム。
  24. 【請求項24】複数のプロセッサと、 互いに並列にアクセス可能な複数の部分記憶装置に分割
    された記憶装置と、 該複数のプロセッサから並列に出力される、該記憶装置
    に対するメモりアクセス要求を、並列に該複数の部分記
    憶装置へ転送する記憶制御回路とを有し、 該複数のプロセッサは、それぞれ複数のリクエスタの一
    つを含み、各リクエスタは、それが属するプロセッサで
    実行中の、該記憶装置内の記憶位置に対するアクセスを
    要求する命令(メモりアクセス命令)に応答して、該記
    憶位置へのアクセスを要求する複数のアクセス要求を順
    次発行し、 該記憶制御回路に、優先順位を固定すべき特定のプロセ
    ッサを指定する手段とを有し、 該記憶制御装置は、 それぞれ該複数の部分記憶装置の一つに対応して設けら
    れ、それぞれ該複数のプロセッサから供給された、対応
    する部分記憶装置に転送されるべき複数のアクセス要求
    の一つを選択する複数の選択回路と、 該複数の選択回路に供給するための、該複数のリクエス
    タの優先順位に関する、優先順位情報を保持する手段
    と、 該保持された優先順位を動的に切り替えする回路と、 該指定されたプロセッサに属するリクエスタの優先順位
    を該切り替え回路が切り替えすることを禁止する手段と
    を有するコンピュータシステム。
  25. 【請求項25】プロセッサと、 該プロセッサで実行されたメモりアクセス命令に応答し
    て、外部に設けられたメモリへ複数のアクセス要求を発
    行する第1の回路と、 該発行回路で発行されたアクセス要求の数をカウント
    し、該カウンタの値が一定値になったときに、外部に供
    給すべき所定の信号を出力する第2の回路とを持つこと
    を特徴とする集積回路。
  26. 【請求項26】該信号は、そのプロセッサの優先順位を
    切り替えすることを要求する信号である請求項25記載
    の集積回路。
  27. 【請求項27】該信号は、そのプロセッサの優先順位を
    低下することを要求する信号である請求項25記載の集
    積回路。
  28. 【請求項28】該信号を、該第1の回路で発行する何れ
    かのアクセス要求に付加して出力する手段を有する請求
    項25記載の集積回路。
  29. 【請求項29】それぞれ外部から入力されるリクエスト
    を受け付ける複数のリクエスト入力手段と、それぞれ一
    つのリクエスト入力手段に対応して設けられ、それぞれ
    対応するリクエスト入力手段で受け取ったリクエストを
    一旦保持する、複数のリクエストキューと、 それぞれ一つのリクエスト入力手段に対応して設けら
    れ、それぞれ対応するリクエスト入力手段に関連する優
    先順位切り替え信号を受け付ける複数の優先順位切り替
    え信号入力手段と、 それぞれ該複数のリクエスト入力手段の数より少ないリ
    クエストを該複数のリクエストの中から選択し、選択さ
    れたリクエストを外部に出力する複数のプライオリティ
    回路と、 それぞれ該複数のプライオリティ回路の一つの中にあっ
    て、該複数のリクエスト入力手段の間の優先順位を記憶
    する複数の記憶手段と、 該複数の優先順位切り替え信号入力手段の内の、優先順
    位切り替え信号が入力され一つに対応するリクエスト入
    力手段の優先順位を、該入力された優先順位切り替え信
    号に従って切り替えるように、該複数の記憶手段に記憶
    された優先順位を切り替えする優先順位制御手段とを持
    つ競合調停回路が形成された集積回路。
  30. 【請求項30】それぞれ外部から入力されるリクエスト
    を受け付ける複数のリクエスト入力手段と、 それぞれ一つのリクエスト入力手段に対応して設けら
    れ、それぞれ対応するリクエスト入力手段で受け取った
    リクエストを一旦保持する、複数のリクエストキュー
    と、 それぞれ該複数のリクエスト入力手段の数より少ないリ
    クエストを該複数のリクエストの中から選択し、選択さ
    れたリクエストを外部に出力する複数のプライオリティ
    回路と、 該複数のプライオリティ回路の中にあって、該複数のリ
    クエスト入力手段の間の優先順位を記憶する複数の記憶
    手段と、 それぞれ該複数のリクエストキューの一つの中にあっ
    て、そこに保持されたリクエストをデコードし、そのリ
    クエストに付加された優先順位切り替え信号を分離し、
    該優先順位切り替え信号が優先順位の切り替えを要求す
    るとき、該複数のプライオリティ回路に対して、該優先
    順位切り替え信号を発行する複数のリクエストデコード
    手段と、 それぞれ該複数のプライオリティ回路の一つに対応して
    設けられ、優先順位切り替え信号を発行したリクエスト
    キューに対応するリクエスト入力手段の優先順位を、該
    優先順位切り替え信号に従って切り替えるように、該対
    応するプライオリティ回路に対応して設けられた該記憶
    手段に記憶された優先順位を切り替えする複数の優先順
    位制御手段とを持つ競合調停回路が形成された集積回
    路。
  31. 【請求項31】それぞれ複数の要求を順次出力する複数
    のリクエスタと、 該複数のリクエスタの優先順位に関するを優先順位情報
    を保持する手段と、 該複数のリクエスタから出力された複数の要求の一つ
    を、該保持手段に保持された優先順位情報に従って選択
    する選択回路と、 各リクエスタから出力された要求の数に依存して、他の
    リクエスタに対する、そのリクエスタの相対的な優先順
    位を切り替えするように、該保持手段に保持された優先
    順位情報を切り替えする回路とを有する要求選択回路。
  32. 【請求項32】該切り替え回路は、各リクエスタから出
    力された要求の数が一定数に達する毎に、そのリクエス
    タの優先順位を切り替えするように該優先順位情報を切
    り替えする回路からなる請求項31記載の要求選択回
    路。
  33. 【請求項33】各リクエスタは、それぞれ予め定めた数
    の要求からなるグループに分けて複数の要求を出力する
    手段を有し、該一定数は、その予め定めた数に等しい請
    求項32記載の要求選択回路。
  34. 【請求項34】該切り替え回路は、各リクエスタから出
    力された要求の数に依存して、他のリクエスタに対す
    る、そのリクエスタの相対的な優先順位を低下するよう
    に、該保持手段に保持された優先順位情報を切り替えす
    る回路とを有する請求項31記載の要求選択回路。
  35. 【請求項35】該切り替え回路は、各リクエスタから出
    力された要求の数が一定数に達する毎に、他のリクエス
    タに対する、そのリクエスタの相対的な優先順位を低下
    するように、該保持手段に保持された優先順位情報を切
    り替えする回路とを有する請求項34記載の要求選択回
    路。
  36. 【請求項36】各リクエスタは、それぞれ予め定めた数
    の要求からなるグループに分けて複数の要求を出力する
    手段を有し、該一定数は、その予め定めた数に等しい請
    求項35記載の要求選択回路。
  37. 【請求項37】それぞれ複数の要求を順次出力する複数
    のリクエスタと、 該複数のリクエスタの優先順位に関する優先順位情報を
    保持する手段と、 該複数のリクエスタから出力された複数の要求の一つ
    を、該保持手段に保持された優先順位情報に従って選択
    する選択回路と、 各リクエスタから出力され、かつ、該選択回路により選
    択された要求の数に依存して、他のリクエスタに対す
    る、そのリクエスタの相対的な優先順位を切り替えする
    ように、該保持手段に保持された優先順位情報を切り替
    えする回路とを有する要求選択回路。
  38. 【請求項38】該切り替え回路は、各リクエスから出力
    された要求の数が一定数に達し、かつ、該選択回路によ
    り該一定数の要求が選択される毎に、他のリクエスタに
    対する、そのリクエスタの相対的な優先順位を切り替え
    するように、該保持手段に保持された優先順位情報を切
    り替えする回路とを有する請求項37記載の要求選択回
    路。
  39. 【請求項39】各リクエスタは、それぞれ予め定めた数
    の要求からなるグループに分けて複数の要求を出力する
    手段を有し、該一定数は、その予め定めた数に等しい3
    8記載の要求選択回路。
  40. 【請求項40】該切り替え回路は、各リクエスタから出
    力された要求の数が一定数に達し、かつ、該一定数の要
    求が該選択回路により選択される毎に、他のリクエスタ
    に対する、そのリクエスタの相対的な優先順位を低下す
    るように該優先順位情報を切り替えする回路からなる請
    求項39記載の要求選択回路。
  41. 【請求項41】それぞれ複数の要求を順次出力する複数
    のリクエスタと、 該複数のリクエスタの優先順位に関する優先順位情報を
    保持する手段と、 該複数のリクエスタから出力された複数の要求の一つ
    を、該保持手段に保持された優先順位情報に従って選択
    する選択回路と、 それぞれ一つのリクエスタに対応して設けられ、それぞ
    れ、対応するリクエスタにより出力された要求の数によ
    り定まるタイミングで優先順位切り替え信号を出力する
    複数の信号出力手段と、 それぞれ該複数の信号出力手段の一つに対応して設けら
    れた、それぞれ対応する信号出力手段から出力された優
    先順位切り替え信号を、所定の時間遅延するための複数
    の信号遅延手段と、 該複数の信号遅延手段のいずれから出力された優先順位
    切り替え信号に応答して、その優先順位切り替え信号を
    出力した一つの信号出力手段に対応するリクエスタの、
    他のリクエスタに対する相対的優先順位を切り替えする
    ように、該保持手段に保持された優先順位情報を切り替
    えする回路からなる要求選択回路。
  42. 【請求項42】該複数の信号出力手段は、それぞれ対応
    するリクエスタが出力した要求の数が一定数に達する毎
    に、優先順位切り替え信号を出力する手段からなる請求
    項41記載の要求選択回路。
  43. 【請求項43】該切り替え回路は、該複数の信号遅延手
    段のいずれから出力された優先順位切り替え信号に応答
    して、その優先順位切り替え信号を出力した一つの信号
    出力手段に対応するリクエスタの、他のリクエスタに対
    する相対的優先順位を低下するように、該保持手段に保
    持された優先順位情報を切り替えする回路からなる請求
    項42記載の要求選択回路。
  44. 【請求項44】該所定の時間は、該一定数の要求を該選
    択回路が選択するのに最小限必要とする時間以上の時間
    である請求項41記載の要求選択回路。
  45. 【請求項45】各リクエスタは、それぞれ予め定めた数
    の要求からなる複数のグループに分けて複数の要求を出
    力する手段を有し、 該一定数は、その予め定めた数に等しい請求項42記載
    の要求選択回路。
  46. 【請求項46】それぞれ複数の要求を順次出力する複数
    のリクエスタと、 該複数のリクエスタの優先順位に関する優先順位情報を
    保持する手段と、 該複数のリクエスタから出力された複数の要求の一つ
    を、該保持手段に保持された優先順位情報に従って選択
    する選択回路と、 それぞれ一つのリクエスタに設けられ、それぞれ、対応
    するリクエスタにより出力された要求の数により定まる
    タイミングで優先順位切り替え要求を該選択回路に出力
    する複数の要求出力手段と、 該選択回路により、該複数の要求出力手段のいずれから
    出力された優先順位切り替え要求が選択されたことに応
    答して、その優先順位切り替え要求を出力した一つの要
    求出力手段が含まれるリクエスタの、他のリクエスタに
    対する相対的優先順位を切り替えするように、該保持手
    段に保持された優先順位情報を切り替えする回路からな
    る要求選択回路。
  47. 【請求項47】該複数の要求出力手段は、それぞれが含
    まれるリクエスタが出力した要求の数が一定数に達する
    毎に、優先順位切り替え要求を出力する手段からなる請
    求項46記載の要求選択回路。
  48. 【請求項48】該切り替え回路は、該複数の要求出力手
    段のいずれから出力された優先順位切り替え要求に応答
    して、その優先順位切り替え要求を出力した一つの要求
    出力手段が含まれるリクエスタの、他のリクエスタに対
    する相対的優先順位を低下するように、該保持手段に保
    持された優先順位情報を切り替えする回路からなる請求
    項47記載の要求選択回路。
  49. 【請求項49】該所定の時間は、該一定数の要求を該選
    択回路が選択するのに最小限必要とする時間以上の時間
    である請求項46記載の要求選択回路。
  50. 【請求項50】各リクエスタは、それぞれ予め定めた数
    の要求からなる複数のグループに分けて複数の要求を出
    力する手段を有し、 該一定数は、その予め定めた数に等しい請求項48記載
    の要求選択回路。
  51. 【請求項51】それぞれ複数の要求を発生する複数のリ
    クエスタであって、該複数の要求を、それぞれ一定の複
    数の要求からなる複数のグループに分けて出力するもの
    と、 それぞれ特定の種類のリクエストを処理する複数の処理
    回路に対応して設けられ、それぞれ該複数のリクエスタ
    から出力された複数のリクエストの内、それぞれに対応
    する処理回路で処理すべき一つの要求を選択し、それぞ
    れに対応する処理回路に供給する複数の選択回路と、 該複数の選択回路に与えるための、該複数の選択回路に
    共通の優先順位情報として、該複数のリクエスタの優先
    順位に関する優先順位情報を保持する手段と、 該複数のリクエスタのいずれか一つから該一定数に等し
    い数の要求が出力されるごとに、そのリクエスタの優先
    順位を切り替えするように、該保持手段に保持された優
    先順位情報を切り替えする回路とを有する要求選択回
    路。
  52. 【請求項52】該切り替え回路は、該複数のリクエスタ
    のいずれか一つから該一定数に等しい数の要求が出力さ
    れるごとに、そのリクエスタの、他のリクエスタに対す
    る相対的優先順位を低下するように、該保持手段に保持
    された優先順位情報を切り替えする回路を有する請求項
    51記載の要求選択回路。
  53. 【請求項53】該保持手段は、それぞれ該複数の選択回
    路の一つに対応して、かつ、その対応する選択回路の近
    傍に設けられ、それぞれ対応する選択回路による与える
    優先順位情報として、該切り替え回路により切り替えさ
    れる優先順位情報を保持する複数の保持手段からなる請
    求項51記載の要求選択回路。
  54. 【請求項54】該切り替え回路は、 それぞれ該複数のリクエスタの一つに設けられ、それぞ
    れ対応するリクエスタが順次出力した一連の要求が該一
    定数に達する毎に、それぞれに対応するリクエスタに関
    する優先順位切り替え信号を出力する複数の第1の手段
    と、 それぞれ該複数の第1の手段に対応して設けられ、対応
    する第1の手段から出力された優先順位切り替え信号を
    所定時間遅延する複数の第2の手段と、 該複数の第2の手段のいずれか一つからの優先順位切り
    替え信号が出力されたときにその優先順位切り替え信号
    を出力した第1の手段が属するリクエスタの、他のリク
    エスタに対する相対的優先順位を切り替えするように、
    該保持手段に保持された優先順位情報を切り替えする第
    3の手段とを有する請求項51記載の要求選択回路。
  55. 【請求項55】該切り替え回路は、 それぞれ該複数のリクエスタの一つに設けられ、それぞ
    れ対応するリクエスタが順次出力した一連の要求が該一
    定数に達する毎に、優先順位切り替え要求を該複数の選
    択回路に送付する複数の第1の手段と、 該複数の選択回路の各々に接続され、何れか一つの第1
    の手段から送付された優先順位切り替え要求が該複数の
    選択回路により選択されたときに、該保持手段に保持さ
    れた優先順位情報を、その優先順位切り替え信号を出力
    した該一つの第1手段が含まれるリクエスタに関して切
    り替えする第2の手段とからなる請求項51記載の要求
    選択回路。
  56. 【請求項56】該保持手段は、それぞれ該複数の選択回
    路の一つに対応して設けられた複数の保持手段からな
    り、 該複数の選択回路は、それぞれ、それぞれのリクエスタ
    からの要求を受付可能かをそれぞれのリクエスタに通知
    する手段を有し、 該複数のリクエスタに含まれる該複数の第1の手段は、
    それぞれ、それぞれが含まれるリクエスタからの要求
    を、該複数の選択回路がいずれも受け付け可能になって
    いることを該複数の選択回路が通知しているという条件
    下で、優先順位切り替え要求を、該複数の選択回路に送
    付する手段を有し、 該複数の選択回路は、該複数のリクエスタから送付され
    た複数の要求の中に、優先順位切り替え要求が含まれて
    いるときには、その優先順位切り替え要求を優先的に選
    択する手段を有し、 該切り替え回路は、それぞれ、該複数の選択回路の一つ
    に対応し、かつ、その対応する選択回路の近傍に設けら
    れた複数の部分切り替え回路からなり、各部分切り替え
    回路は、それが対応する一つの選択回路により優先順位
    切り替え要求が選択されたときに、その要求を出力した
    リクエスタの優先順位を切り替えするように、その選択
    回路に対応して、設けられた一つの保持手段に保持され
    た優先順位情報を切り替えする手段からなる請求項55
    記載の要求選択回路。
JP34590092A 1991-03-19 1992-12-25 コンピュータシステムおよびそれに適した集積回路並びに要求選択回路 Expired - Fee Related JP3260456B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP34590092A JP3260456B2 (ja) 1992-12-25 1992-12-25 コンピュータシステムおよびそれに適した集積回路並びに要求選択回路
US08/170,743 US5617575A (en) 1991-03-19 1993-12-21 Interprocessor priority control system for multivector processor
US08/760,525 US5857110A (en) 1991-03-19 1996-12-05 Priority control with concurrent switching of priorities of vector processors, for plural priority circuits for memory modules shared by the vector processors

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP34590092A JP3260456B2 (ja) 1992-12-25 1992-12-25 コンピュータシステムおよびそれに適した集積回路並びに要求選択回路

Publications (2)

Publication Number Publication Date
JPH06195313A true JPH06195313A (ja) 1994-07-15
JP3260456B2 JP3260456B2 (ja) 2002-02-25

Family

ID=18379759

Family Applications (1)

Application Number Title Priority Date Filing Date
JP34590092A Expired - Fee Related JP3260456B2 (ja) 1991-03-19 1992-12-25 コンピュータシステムおよびそれに適した集積回路並びに要求選択回路

Country Status (1)

Country Link
JP (1) JP3260456B2 (ja)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0962617A (ja) * 1995-08-29 1997-03-07 Kofu Nippon Denki Kk 競合調停装置
US6523077B1 (en) 1999-01-14 2003-02-18 Nec Corporation Data processing apparatus and data processing method accessing a plurality of memories in parallel
JP2009519524A (ja) * 2005-12-14 2009-05-14 トムソン ライセンシング データ伝送バスにアクセスする方法、対応する装置およびシステム
JP2010055246A (ja) * 2008-08-27 2010-03-11 Seiko Epson Corp リクエスト調停装置及びリクエスト調停方法
JP2010134628A (ja) * 2008-12-03 2010-06-17 Renesas Technology Corp メモリコントローラおよびデータ処理装置
JP2012198621A (ja) * 2011-03-18 2012-10-18 Nec Corp メモリアクセス制御装置、プロセッサ及びメモリアクセス制御方法
CN116820344A (zh) * 2023-07-03 2023-09-29 摩尔线程智能科技(北京)有限责任公司 存储器访问电路及存储器访问方法、集成电路和电子设备
US11914538B2 (en) 2020-09-15 2024-02-27 Fujitsu Limited Semiconductor apparatus and transfer method

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0962617A (ja) * 1995-08-29 1997-03-07 Kofu Nippon Denki Kk 競合調停装置
US6523077B1 (en) 1999-01-14 2003-02-18 Nec Corporation Data processing apparatus and data processing method accessing a plurality of memories in parallel
JP2009519524A (ja) * 2005-12-14 2009-05-14 トムソン ライセンシング データ伝送バスにアクセスする方法、対応する装置およびシステム
JP2010055246A (ja) * 2008-08-27 2010-03-11 Seiko Epson Corp リクエスト調停装置及びリクエスト調停方法
JP2010134628A (ja) * 2008-12-03 2010-06-17 Renesas Technology Corp メモリコントローラおよびデータ処理装置
JP2012198621A (ja) * 2011-03-18 2012-10-18 Nec Corp メモリアクセス制御装置、プロセッサ及びメモリアクセス制御方法
US11914538B2 (en) 2020-09-15 2024-02-27 Fujitsu Limited Semiconductor apparatus and transfer method
CN116820344A (zh) * 2023-07-03 2023-09-29 摩尔线程智能科技(北京)有限责任公司 存储器访问电路及存储器访问方法、集成电路和电子设备
CN116820344B (zh) * 2023-07-03 2024-04-26 摩尔线程智能科技(北京)有限责任公司 存储器访问电路及存储器访问方法、集成电路和电子设备

Also Published As

Publication number Publication date
JP3260456B2 (ja) 2002-02-25

Similar Documents

Publication Publication Date Title
US5857110A (en) Priority control with concurrent switching of priorities of vector processors, for plural priority circuits for memory modules shared by the vector processors
US4449183A (en) Arbitration scheme for a multiported shared functional device for use in multiprocessing systems
US6671761B2 (en) Bus system
JP4472186B2 (ja) 外部デバイスへのアクセスを優先順序付けるための方法および装置
US6732242B2 (en) External bus transaction scheduling system
JP4695761B2 (ja) コマンド再順序付けシステム
US7051133B2 (en) Arbitration circuit and data processing system
EP0625753B1 (en) Dynamically programmable bus arbiter with provisions for historical feedback
US20070136545A1 (en) Memory access request arbitration
JPH0728786A (ja) ベクトルプロセッサ
JPH0219945A (ja) 主記憶制御装置
US20080147944A1 (en) Arbiter device and arbitration method
WO2003001388A1 (en) System and method for controlling bus arbitration during cache memory burst cycles
US4991084A (en) N×M round robin order arbitrating switching matrix system
US7366854B2 (en) Systems and methods for scheduling memory requests utilizing multi-level arbitration
JP2002530743A (ja) ページタグレジスタを使用して、メモリデバイス内の物理ページの状態を追跡すること
US5907688A (en) Smart arbitration for non-symmetric data streams
EP0901080B1 (en) Arbitration system
US6317813B1 (en) Method for arbitrating multiple memory access requests in a unified memory architecture via a non unified memory controller
JP3260456B2 (ja) コンピュータシステムおよびそれに適した集積回路並びに要求選択回路
US9697118B1 (en) Memory controller with interleaving and arbitration scheme
JPH0628247A (ja) 動的に再配置されるメモリバンク待ち行列
JP5382113B2 (ja) 記憶制御装置及びその制御方法
US8452920B1 (en) System and method for controlling a dynamic random access memory
JPH1011964A (ja) メモリ制御装置およびメモリ制御方法

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees