WO1992005489A1 - Procede d'acces non synchrone a une memoire partagee - Google Patents
Procede d'acces non synchrone a une memoire partagee Download PDFInfo
- Publication number
- WO1992005489A1 WO1992005489A1 PCT/JP1991/001238 JP9101238W WO9205489A1 WO 1992005489 A1 WO1992005489 A1 WO 1992005489A1 JP 9101238 W JP9101238 W JP 9101238W WO 9205489 A1 WO9205489 A1 WO 9205489A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- shared memory
- access
- state
- instruction
- memory
- 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.)
- Ceased
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/52—Program synchronisation; Mutual exclusion, e.g. by means of semaphores
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0706—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
- G06F11/0721—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment within a central processing unit [CPU]
- G06F11/0724—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment within a central processing unit [CPU] in a multiprocessor or a multi-core unit
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0706—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
- G06F11/073—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a memory management context, e.g. virtual memory or cache management
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0793—Remedial or corrective actions
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operations
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1405—Saving, restoring, recovering or retrying at machine instruction level
- G06F11/141—Saving, restoring, recovering or retrying at machine instruction level for bus or memory accesses
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
- G06F15/163—Interprocessor communication
- G06F15/173—Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
Definitions
- the asynchronous access of shared memory that speeds up access by using the connection module for the system bus of the processor module as a cache memory is used.
- the purpose is to provide access methods.
- Fig. 14 is an explanatory diagram of the implementation of the shared memory module corresponding to the configuration definition in Figs. 12 and 13.
- FIGS. 2OA and 20B are timing diagrams showing the conventional operation
- FIG. 5 is a configuration diagram of an embodiment of the connection unit (SSBC- ⁇ ) 22 installed in the processor module 10 of FIG.
- the connection unit 22 includes a program mode access control circuit 32 and a DMA mode access corresponding to the two access modes of the program mode and the DMA mode. It comprises a control circuit 34, a transmission / reception circuit 36 with the shared system bus 16, and a dual-board RAM 38 functioning as a buffer.
- the program mode access control circuit 32 is provided with an address decoder 40, a timing control circuit 42, and a configuration definition register 44, and a DMA mode access control circuit.
- the 34 includes an address generator 46, a timing control circuit 48, and a DMA control register 50.
- FIG. 6 is a configuration diagram of an embodiment of the connection unit (SSBC-S) 28 provided in the shared memory module 12 shown in FIG.
- SSBC-S connection unit
- a unit ID is assigned to each module, and the unit ID is used as a module identifier on the bus.
- FIG. 9 is a diagram for explaining the operation of a read access (Fujitsu access) for reading data from the shared memory module 12 to the processor module 10.
- the access-source processor module 10 creates a start transfer command SC. That is, the SID indicating its own unit ID, the DID indicating the unit ID of the shared memory module 12 to be accessed, the operand of the memory read access, and the access capacity are stored.
- the transfer start command SC is created by the indicated BCT. Following the transfer start command SC on the shared system bus 16, the access address A on the shared memory module 12 to be accessed is transmitted.
- the shared memory module 12 on the receiving side monitors the shared system bus 16 and compares the unit ID of its own unit with the DID indicating the destination set by the transfer command SC. If it has, the receiving operation is performed.
- the shared memory module 12 that has performed the reception operation accesses the shared memory unit 26 (see FIG.
- the access source processor module 10 monitors the shared system bus 16 and performs the reception operation when the DID indicating the destination in the response transfer command EC matches its own unit ID. And one read access is completed.
- the PM unique space is a space with a hardware source surface for each processor module 10 and exists for each processor module 10 .Multiple addresses for the number of processor modules 10 installed in the system It becomes space.
- the PM eigenspace is 2 GB.
- the connection unit 22 of the processor module 10 is the SSU space access. Then, the corresponding shared memory module 12 is accessed via the shared system bus 16.
- the software since the SSU space and the LSU space are mapped to the physical address space on the port processor module 10, the software does not need to perform space switching or the like. Access to the SSU space and LSI 'space becomes possible.
- the second control register 62-1 and 2 shown in Fig. 13 are used to determine which shared memory module 12 corresponds to the partial SSU space whose implementation is specified in the first control register 60. It specifies the dual configuration and the access order when the dual configuration is specified.
- SSBC-P must cancel the pending retry.
- a control register is provided inside SSBC — P to cancel pending retries. If the interrupt handler determines that the retry cannot be performed, the pending retry is canceled by accessing this register.
- Figure 22C shows the processing of the interrupt handler.
- Instruction string (2) R, R writes data from register to register
- (2) R, SSM transfers data from register to SSM
- (4) LSU LSU is a transfer command for transferring data from LSU to LSU.
- 5 R and SSR are serialization instructions.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Mathematical Physics (AREA)
- Multi Processors (AREA)
- Hardware Redundancy (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
明 細 発 明 の 名 称
共有メ モ リ の 非同期 ァ ク セ ス 方式 技 術 分 野
本発明は、 複数のプロ セ ッ サモ ジュールと共有メ モ リ モ ジュールがシステムバスを介して接続された マルチブロセ ッ サ システムの共有メ モ リ の非同期ァ ク セス方式に関する。
背 景 技 術
マルチブロセ ッ サ システムのブロセ ッ サは共有メ モ リ を物理ァ ド レスで直接ア ク セスする こ とから、 システムバスによるデータ転送は 1 アク セス命令に 同期して 1 ワー ド単位で行われ、 多数のプロセ ッサ を搭載した場合にはシステムバスのア ク セス頻度が 増加する。 そのためプロ セ ッ サのシステム搭載台数 が制限され、 結果と してシステム性能が制限される 。 従って、 共有メ モ リ のア ク セスの高速化と、 シス テムバスのオーバーへ ッ ドの低減によ負荷低減が望 まれる。
従来のマルチプロ セ ッ サ システムは、 複数のプロ セ ッサモジュールと複数の共有メ モ リ モジュールが 、 情報転送のためのシステムバスを介して接続され 、 マルチプロセ ッサシステムと して知られた計箕機 システムを構築している。
このような従来のマルチプロセ ッサシステムにあ つては、 各プロセ ッサモ ジュールの中央処理ュニ ッ トは、 自己の物理ア ドレス空間に存在す共有メ モ リ モ ジュールをシステムバスを介して物理ア ド レスに より直接アクセスする同期ア ク セス方式を採用して いる。
発 明 の 開 示
しかしながら、 同期アクセス方式におけるプロセ ッサモ ジュールによるシステムバスを使用した共有 メ モ リ へのアクセスには、 プロセ ッサモジュール内 のメ ィ ンメ モリ へのアクセスに比べ非常に大きな時 間を必要とするという問題があった。
本発明は、 このような従来の問題点に鑑みてなさ れたもので、 共有メ モリ のアクセスの高速化と、 シ ステムバスのオーバへッ ド低減による負荷の低減を 図るよう にした共有メ モ リ の非同期アクセス方式を 提供することを目的とする。
更に詳し く は、 プロセ ッサモ ジュールの システム バスに対する接続ュニ ッ トをキ ャ ッ シュメ モ リ のよ うに使う ことで、 ア ク セスの高速化を図るよう にし た共有メ モ リ の非同期ア ク セス方式を提供する こと を目的とする。
またプログラムモー ド (同期アクセス) では 1 ァ ク セスにおいてバス上でコ マ ン ド、 ア ド レス、 デー タ、 ステータス ( C , A , D , S ) の 4 ワー ドが必
要であるが、 たとえばプロ グラ ムモー ドの 4 ァ ク セ ス分の 1 6 ワー ドを 1 ブロ ッ ク にブロ ッ ク化して D
M A形式でアクセスすると、 コマン ド、 ア ド レス、 4 データ、 ステータ ス ( C , A , D , D , D , D , S ) の 7 ワー ドで済み、 プロ グラ ムモー ドに比べ半 分以下のワー ド数で済み、 これによ り オーバヘ ッ ド を低減してシステムバスの効率化を図るこ とのでき る共有メ モ リ の非同期ア ク セス方式を提供する こ と を目的とする。
第 1 A図及び第 1 B図は本発明の原理説明図であ る。
第 1 A図に示すように、 本発明は、 少な く ともメ ィ ンメ モ リ 2 0、 中央処理ュニ ッ ト 1 8及びシステ ムバス 1 6 への接続ュニ ッ ト 2 2を備えた複数の処 理モジュール (プロセ ッ サモ ジュール) 1 0 と、 少 な く とも共有メ モ リ ュニ ッ ト 2 6及びシステムバス 1 6 への接続ュニ ッ ト 2 8を備えた複数の共有メ モ リ モ ジュール 1 2 とを備えた計算機システムを対象 とする。
このような計算機システムを対象とした共有メ モ リ の非同期アクセス方式として本発明は第 1 B図に 示すよ う に、 処理モ ジュール 1 0 の接続ュニ ッ ト 2 2 が中央処理ニニ ッ ト 1 8 によ る共有メ モ リ モ ジュ ール 1 2 への書込命令まは読出命令のア ク セスア ド レスの連続を認識した際に、 システムバス ( 1 6 )
を介して共有メ モ リ モジュール 1 2 にブロ ッ クァク セスを要求することを特徴とする。
処理モジュール 1 0からのブロ ック読出要求に対 し共有メ モ リ モジュール 1 2 の接続ュニッ ト 2 8 は 、 共有メ モ リ ュニ ッ ト 2 6 からアク セスァ ドレスに 続く所定ワード数でなる 1 ブロ ック分のデータを読 出して処理モジュール 1 0 へ送信する。
共有メ モ リ モジュール 1 2からのブロ ッ ク読出要 求の応答は、 処理モジュール 1 0 の接続ュニッ ト 2 2 で受信され、 接続ュニッ ト 2 2 の内部バッ ファ に プロ ック読出による所定ヮー ド数でなる 1 プロ ック 分のデータを格納し、 格納後に中央処理ュニッ ト 1
8からの次の読出命令に対し内部バッファに格納し た対応する読出データを送出する。
また処理モジュール 1 0 の接続ュニッ ト 2 2が、 中央処理ュニッ ト 1 8からのアクセスァ ド レスの連 続する書込命令を受けた際には、 中央処理ュニツ ト 1 8からの書込データを内部バッ ファ に格納し、 格 納データが所定ワード数でなる 1 ブロ ック分に達し たバッファ フル時に共有メ モ リ モジュール 1 2 に対 しブロ ック書込要求を ί亍ぅ。
一方、 本発明の共有メ モ リ の非同期アクセス方式 は、 処理モジュール 1 0 の接続ュニッ ト 2 2 により アクセス対象となった共有メ モ リ モジュール 1 2を 示す相手先 I Dコー ド ( D I D ) 、 発信元を示す発
信元 I Dコー ド ( S I D ) 、 ア ク セスの種類を示す オペラ ン ド、 及びアク セスデータ容量 ( B C T) で 構成される起動転送コ マ ン ド ( S C ) を作成し、 こ の起動転送コ マ ン ド ( S C ) を相手先共有メ モ リ モ ジュール 1 2のア ク セスア ド レス ( A ) と共に前記 システムバス 1 6に送信する。
すなわち、 読出ア ク セス時に接続ュニッ ト 2 2は 起動転送コ マ ン ド ( S C ) 及びア ク セ スア ド レス ( A ) を送信し、 書込ア ク セス時には起動転送コマン ド ( S C ) 、 ア ク セスア ド レス ( A ) 及び書込デー タ ( D ) を送信する。
これに対し共有メ モ リ モ ジュール 1 2の接続ュニ ッ ト 2 8は、 ア ク セスバス 1 6を監視して前記起動 転送コ マ ン ド ( S C ) の相手先 I Dコ ー ド と 自己の ユニッ ト I Dとの一致を判別した時に該起動転送コ マ ン ド ( S C ) の受信動作を行う。
続いて共有メ モ リ モジュール 1 2の接続ュニ ッ ト 2 8は、 受信動作により取り込んだ起動転送コマン ド ( S C ) に基づいて共有メ モ リ ユニ ッ ト 2 6のァ クセスを終了した時には、 相手先処理モジュール 1 0を示す I Dコー ド ( D I D ) 、 発信元を示す発信 元 I Dコー ド ( S I D ) および終結コー ドを舍む応 答転送コマ ン ド ( E C ) を作成してシステムバス 1 6に送信する。
こ の応答送信に対し処理モ ジユール 1 0の接続ュ
ニ ッ ト 2 2 は、 システムバス 1 6を監視し、 応答転 送コ マ ン ド ( E C ) の相手先 I D コ ー ド ( D I D ) と自己のュニッ ト I Dとの一致を判別した時に、 該 応答転送コ マ ン ド ( E C ) の受信動作を行う。
このような構成を備えた本発明による共有メ モ リ の非同期ア ク セス方式によれば、 同期ア ク セスによ るアク セスァ ド レスの連続するア ク セス命令につい ては、 一命令に対し所定ヮー ド数となるブロ ッ ク単 位でのデータ転送をシステムバス上で行う ことから 、 このブロ ック化により システムバスに対するァク セスの高速化と、 システムバスのオーバーへ ッ ドの 低減により負荷を低減し、 システムバスを高能率化 して システム性能を向上する こ とができ る。
図面 の 簡単 な 説 明
第 1 A図及び第 1 B図は本発明の原理説明図、 第 2図は本発明のマルチプロセ ッ サ システム構成 図、
第 3図は本発明のプロセ ッ サモ ジユール構成図、 第 4図は本発明の共有メ モリ モ ジュール構成図、 第 5図は本発明のプロセ ッ サモ ジュール内蔵の接 続ュニッ ト構成図、
第 6図は本発明の共有メ モ リ モ ジュール内蔵の接 続ュニ ッ ト構成図、
第 7図は本発明の システムバス上の転送コマ ン ド 説明図、
第 8図は本発明の書込転送動作説明図、
第 9図は本発明の読出転送動作説明図、
第 1 0図は本発明のア ド レス空間マ ップ説明図、 第 1 1 図は本発明の拡張 S S U空間説明図、 第 1 2図は本発明の第 1 制御レジスタ によ る S S Μ構成定義の説明図、
第 1 3図は本発明の第 2制御レ ジスタによ る S S Μ構成定義の説明図、
第 1 4図は第 1 2図及び第 1 3図の構成定義に対 応する共有メ モ リ モ ジュールの実装説明図、
第 1 5 Α図及び第 1 5 B図は本発明のプロ グラム モー ドア ク セスのフ ローチヤ一ト、
第 1 6 A図及び第 1 6 B図は本発明の D M Aモー ドア ク セスのフ ローチヤ一ト、
第 1 7図は本発明の D M Aモー ドア ク セスで用い るディ スク リ プタ説明図、
第 1 8図は本発明の非同期プログラムモー ドにお ける S S M読出動作説明図、
第 1 9図は本発明の非同期プロ グラ ムモー ドにお ける S S M書込動作説明図、
第 2 O A図及び第 2 0 B図は従来の動作を示すタ ィ ミ ング図、
第 2 1 A図は本発明において、 シ リ ア ラ イ ズ命令 を受信して状態制御を行うプロセ ッ サ側の接続ュニ ッ ト の構成図、
第 2 I B図は前記接続ュニッ ト内の钛態制御部の 状態遷移図、
第 2 1 C図は状態遷移回路の回路図、
第 2 2 A図及び第 2 2' B図は本発明の動作を示す タ イ ミ ング図、
第 2 2 C図はシリ アライ ズ命令に対する割込みハ ン ドラの処理を説明する図である。
発明を実施するための最良の形態
[装置の構成]
第 2図は本発明の共有メ モリ構成方式が適用され るマルチプロセ ッサシステムの一部を示したシステ ム構成図である。
第 2図において、 マルチプロセ ッサシステムは、 複数個のプロセ ッサモジュール ( Ρ Μ ) 1 0 と、 複 数個の共有メ モ リ モジュール ( S S M ) 1 2を有し 、 各プロセ ッサモジュール 1 0 と各共有メ モ リ モジ ユール 1 2 は、 スブリ ッ トバスである共有システム バス ( S S— B U S ) 1 6 に接続ュニ ッ ト ( S S Β C一 Ρ ) 2 2を通して接続される。 共有システムバ ス 1 6 は共有システムバスハン ドラ ( S S Β Η ) 1 4 により制御され、 共有システムバス 1 6 のァービ ト レーショ ンは共有システムバスハン ドラ 1 4が集 中管理する。
# 0〜 2 のプロセ ッサモジュール 1 0 には、 それ ぞれユニッ ト I D と して、
P M# 0 ; U I D = 1 0 0 0 0 0 0
P M# 1 ; U I D = 1 0 0 0 0 0 1
P M# 2 ; U I D = 1 0 0 0 0 1 0
が付けられ、 また # 0〜 # 2 の共有メ モ リ モ ジユ ー ル 1 2 には、 それぞれュニッ ト I Dとして
S S M# 0 ; U I D = 0 0 0 0 0 0 0
S S M# 1 ; U I D = 0 0 0 0 0 0 1
S S M # 2 ; U I D = 0 0 0 0 0 1 0
が付けられる。
各々 のプロセ ッ サモ ジュール 1 0および共有メ モ リ モ ジュール 1 2 は、 フ ォール ト ト レラ ン トを目的 として二重化した # 0及び # 1 の共有システムバス 1 6による制御されている力く、 より多く の共有シス テムバス 1 6 に接続しても良い。
第 3図は第 2図に示したプロセ ッサモ ジュール 1 0の実施例構成図である。
第 3図において、 プロセ ッサモ ジュール 1 0内に は、 中央処理ユニッ ト ( / P ) 1 8、 ローカルなメ イ ンメ モ リ ユニ ッ ト ( L S U ) 2 0、 および 2本の 共有システムバス 1 6 に対する 2つの接続ユニ ッ ト ( S S B C - P ) 2 2が内部バス 2 4を介して設け られる。
こ のプロ セ ッ サモ ジュール 1 0内には、 中央処理 ュニッ ト 1 8及びメ ィ ンメ モ リ 2 0上で雲力作する ソ フ トウユア ( 0 S ) が走行し、 第 2図に示した各プ
口セ ッサモジュール 1 0 内のソフ ト ウ エアは、 相互 に協調して一連の動作を行う分散 0 Sを構成する。 またプロセ ッサモ ジュール 1 0内の中央処理ュニッ ト 1 8 は、 自己のプロセ ッサモジュール 1 0内のメ ィ ンメ モ リ 2 0からのみ命令コー ドをフェ ッチする ようにしている。
第 4図は第 2図に示した共有メ モ リ モジュール 1 2の実施例構成図である。
第 4図において、 共有メ モ リ モジュール 1 2内に は、 共有メ モ リユニッ ト ( S S U ) 2 4及び 2本の 共有システムバス 1 6に対する 2つの接続ュニッ ト ( S S B C - S ) 2 8が内部バス 3 0を介して設け られる。 共有メ モ リュニッ ト 2 6には第 2図に示し た複数のプ口セ ッサモジュール 1 0で共有化が必要 なデータが格納される。
第 5図は第 3図のプロセ ッサモ ジュール 1 0に設 けた接続ュニッ ト ( S S B C— Ρ ) 2 2 の実施例構 成図である。
第 5図において、 接続ュニッ ト 2 2 は共有システ ムバス 1 6を介して第 2図の共有メ モ リ モ ジュール 1 2に対し、
①プログラムモ一 ド
② D Μ Αモー ド
の 2 モー ドによるアクセスを行う。 更に、 プロダラ ムモー ドは 1 アクセス命令につき 1 ワー ド単位で行
う同期ア ク セス方式と、 1 ア ク セス命令につき複数 ワー ドでなるブロ ッ ク単位で行う非同期ア ク セス方 式とに分かれる。
接続ュニ ッ ト 2 2 は、 これらプログラムモー ドと D M Aモー ドとの 2 つのア ク セスモー ドに対応して プロ グラ ムモー ド · ァ ク セス制御回路 3 2及び D M Aモー ド · ア ク セ ス制御回路 3 4、 共有システムバ ス 1 6 との送受信回路 3 6及びバ ッ フ ァ と して機能 するデュアルボー ト R A M 3 8 によって構成される 。 こ こでプログラムモー ド ' アクセス制御回路 3 2 には、 ア ド レスデコーダ 4 0 、 タ イ ミ ング制御回路 4 2、 構成定義レジスタ 4 4が設けられ、 また D M Aモー ド · ア ク セス制御回路 3 4 には、 ァ ド レス発 生器 4 6、 タイ ミ ング制御回路 4 8及び D M A制御 レジスタ 5 0 が設けられる。
第 6図は第 4図に示した共有メ モ リ モ ジュール 1 2 に設けた接続ユニ ッ ト ( S S B C— S ) 2 8 の実 施例構成図である。
第 6図において、 接続ュニッ ト 2 8には、 内部バ ス 3 0を制御する内部バス制御回路 7 4 , ア ド レス 発生器 7 0及びタ ィ ミ ング制御回路 7 2を備えた D M A制御回路 5 2、 第 4図のように共有メ モ リ モ ジ ユール 1 2 に複数の接続ュニッ ト 2 8が搭載された 場合に内部バス 3 0 のァービ ト レーシ ョ ンを行う内 部バスアービタ回路 δ 4 , 共有システムバス 1 6 に
対する送受信回路 5 6、 及びバ ッ フ ァ機能を有する デュアルポー ト R A M 5 8 によって構成される。 第 3図及び第 4図に示したプロセ ッサモ ジュール 1 0 と共有メ モ リ モ ジュール 1 2間を共有システム バス 1 6を介して接続する接続ユニッ ト 2 2 , 2 8 は、 1 回のア ク セ スを起動転送、 応答転送に分離し て行うスプリ ッ ト転送方式を採用している。
このスプリ ッ ト転送方式のバス制御においては、 各モ ジュールごとにュニ ッ ト I Dを割り付け、 ュニ ッ ト I Dをバス上のモ ジュール識別子とする。
第 7図に接続ユニッ ト 2 2 , 2 8で使用する起動 転送コ マ ン ド S Cと応答転送コ マ ン ド E Cの例を示 す。
第 7図の起動転送コ マ ン ド S Cにおいて、 D I D (Destination ID) は受信先モ ジュールのュニッ ト I Dであり、 S I D (Source ID)は送信元モジユ ー ルユニ ッ ト I Dである。 またオペラ ン ドはア ク セス 種類を示す。 ア ク セ ス種類としては、 共有メ モ リ モ ジュール 1 2 に対するメ モ リ ア ク セ スの他に、 共有 メ モ リ モ ジュール 1 2 や他のプロ セ ッ サモ ジュール 1 0 に対するホル ト指示、 或いはリ セ ッ ト指示など の制御レジスタ のア ク セス等がある。 更に B C T ( Byte Count) は、 共有メ モ リ モ ジュール 1 2 のァ ク セスにおけるデータ容量を示す。
一方、 応答転送コマ ン ド E Cにおける D I D、 S
I Dは起動転送コ マ ン ド S Cと同じであるが、 終結 コ 一 ドはア ク セス先における終結状態、 即ち正常終 結と異常終結をコー ド化したものである。
第 8図は共有システムバス 1 6 によ り プロ セ ッ サ モ ジュ ール 1 0力、ら共有メ モ リ モ ジュール 1 2 にデ ータを転送して書き込む書込ア ク セス (ス ト アァク セス) の動作説明図である。
まずア ク セス元のプロ セ ッ サモ ジュール 1 0 は、 起動転送コ マ ン ド S Cを作成する。 即ち、 自己のュ ニッ ト I Dを示す S I D、 ァクセス先の共有メ モ リ モ ジュール 1 2 のュニッ ト I Dを示す D I D、 メ モ リ書込ア ク セスを示すオペラ ン ド、 アク セス容量を 示す B C Tによ って転送起動コ マ ン ド S Cを作成す る。 共有システムバス 1 6 上には転送起動コ マ ン ド S Cに続いて、 ア ク セス先の共有メ モ リ モ ジュール 1 2上のア ク セスア ド レス A及び書き込むべきデー タ Dを送信する。
受信側の共有システムモ ジュール 1 2 は共有シス テムバス 1 6 上を監視し、 起動転送コ マ ン ド S Cに 舍まれる受信先を示す D I Dと自己のュニッ ト I D を比較し、 両者一致した場合に受信動作を行う。 受 信動作を行った共有メ モ リ モ ジュール 1 2 は、 共有 メ モ リ モ ジュール 1 2内に設けた共有メ モ リ ュニッ ト 2 6 (第 4図参照) に書込ア ク セ スを行い、 書込 ァ ク セ スの終結コ一 ドを舍め、 転送方向が起動転送
と応答転送では逆のため D I Dと S I Dを交換した 応答転送コマ ン ド E Cを作成してァク セス元のプロ セ ッ サモ ジュール 1 0 に対して送信する。
ア ク セス元のプロセ ッ サモ ジュール 1 0 は、 共有 システムバス 1 6上を監視し、 応答転送コ マ ン ド E C中の相手先を示す D I Dが自己のュニッ 卜 I Dと —致した場合に受信動作を行い、 1 回のア ク セスを 終了する。
この起動転送コ マ ン ド S Cの送信終了後から応答 転送コ マ ン ド E Cの送信の開始までの間の空き時間 については、 他のア ク セスにおける起動転送コマン ド S Cあるいは応答転送コマン ド E Cの転送に共有 システムバス 1 6を使用しても良い。
第 9図は共有メ モ リ モジュール 1 2 からプロセ ッ サモ ジュール 1 0 にデータを読み出す読出ァク セス (フ ユ ツ チア ク セス) の動作説明図である。
まずアク セス元のプロセ ッ サモ ジュール 1 0 は、 起動転送コ マ ン ド S Cを作成する。 即ち、 自己のュ ニ ッ ト I Dを示す S I D、 アク セス先の共有メ モ リ モ ジュール 1 2 のュニッ ト I Dを示す D I D、 メ モ リ読出ア ク セスのオペラ ン ド、 ア ク セス容量を示す B C Tによつて転送起動コマ ン ド S Cを作成する。 共有システムバス 1 6 上には転送起動コ マ ン ド S C に続いて、 ア ク セス先の共有メ モ リ モジュール 1 2 上のア ク セスア ド レス Aを送信する。
受信側の共有メ モ リ モ ジュール 1 2 は共有システ ムバス 1 6上を監視し、 転送コ マ ン ド S Cに舍まれ る受信先を示す D I Dと自己のュニ ッ ト I Dを比較 し、 一致した場合に受信動作を行う。 受信動作を行 つた共有メ モ リ モ ジュール 1 2 は、 共有メ モ リ モ ジ ユール 1 2内の共有メ モ リ ユニ ッ ト 2 6 (第 4図参 照) に読出アク セスを行い、 読出ア ク セスの終結コ 一ドを舍め、 転送方向が起動転送と応答転送では逆 のため D I Dと S I Dを交換した応答.転送コマン ド E C及び読出データ Dをア ク セス元のプロ セ ッ サモ ジュール 1 0に対して送信する。
ア ク セス元のプロセ ッ サモ ジュール 1 0 は、 共有 システムバス 1 6上を監視し、 応答転送コマ ン ド E C中の相手先を示す D I Dが自己のュニッ ト I Dと 一致した場合に受信動作を行い、 1 回の読出ァ ク セ スが終了する。
こ の読出アク セスには、 プログラ ムモー ド と D M Aモー ドの 2 モー ドがあるが、 いずれのア ク セスに おいても共有システムバス 1 6上での動作は同じで ある。
[ァ ド レス空間
第 1 0図に本発明の実施例におけるァ ドレス空間 のマ ツプ説明図を示す。
第 1 0図において、 各プロ セ ッ サモ ジュール 1 0 の物理ァ ド レス空間は共有メ モ リ モ ジュール空間 (
以下 「 S S U空間」 という ) と、 プロセ ッサモジュ ール固有空間 (以下 「 P M固有空間」 という ) に大 別される。
P M固有空間は各プ口セ ッサモジュール 1 0 のハ 一 ドウユアリ ソース面有の空間であり、 各プロセ ッ サモジュール 1 0 ごとに存在し、 システムにおける プロセ ッサモジュール 1 0 の搭載台数分の多重ァ ド レス空間となる。 この実施例では P M固有空間を 2 G B としている。
一方、 S S U空間は、 全てのプロセ ッサモジユー ル 1 0に共通な空間である。 すなわち、 S S U空間 は複数の共有メ モ リ モジュール 1 2 によって構成さ れ、 システム搭載プロセ ッサモジュール 1 2から見 て共通の空問となり、 しかもプロセ ッサモジュール 1 0 の物理ァ ドレスによつて直接ァクセスするこ と ができる。 従って、 S S U空間には、 全てのプロセ フサモジュール 1 0で共通に必要なデータのみが格 納される。
この実施例では 2 G Bの S S U空間を例にとって おり、 S S U空間は右側に取り出して示すように更 に 2 δ 6 Μ Β単位の 8つの部分 S S U空間 # 0 〜 # 7 に分割される。 この部分 S S U空間 # 0〜# 7 の 1 つ 1 つが本発明の共有メ モ リ モジュール 1 2で構 成される。
更に、 各プロセ ッサモジュール 1 0 の Ρ Μ固有^
間は L S U空間と制御空間に分けられる。 P M固有 空間の一部である L S IJ空間には、 各プロセ ッサモ ジュール 1 0が必要とするオペラ ン ド、 各プロセ ッ サモ ジュール 1 0固有のデータが格納される。 こ の L S U空間の存在により各プロセ ッサモジュール 1 0 は共有メ モ リ モジュール 1 2 で構成される S S U 空間に対するアクセス回数を削減するこ とができ る , また中央処理ュニ ッ ト 1 8 によるアクセスァ ド レ スが L S U空間を指している場合には、 そのプロセ ッサモ ジュール 1 0内での閉じたア ク セスとなる。
一方、 中央処理ュニッ ト 1 8によるアクセスア ド レス (物理ア ド レス) が S S U空間を指している場 合には、 プロセ ッサモジュール 1 0 の接続ュニ ッ ト 2 2が S S U空問アクセスであることを認識し、 該 当する共有メ モ リ モ ジュール 1 2 に対し共有システ ムバス 1 6を介してアクセスを行う。
このように、 S S U空間及び L S U空間がプ口セ ッサモジュール 1 0上の物理ァ ド レス空間にマ ッ ピ ングされている こ とにより、 ソフ ト ウヱァは空間切 り替え等を行う必要なしに、 S S U空間及び L S I' 空間のァクセスが可能となる。
複数の共有メ モ リ モ ジュール 1 2 で構成される S s i;空間へのアクセス法と しては、 第 1 0図のよう に S S U空間が各プロセ ッサモジュール 1 0 の物理 ァ ドレ ス空間に直接マ ップされていることから、
①ソフ ト ゥヱァに基づく 中央処理ユニッ ト 1 8 の命 令により物理ァ ド レスで直接アクセスするプログラ ムモー ドと、
②アクセスすべき共有メ モ リ モジュール 1 2を選択 し、 アクセスア ド レスと転送長を指定してプロセ ッ サモジュール 1 0 と共有メ モ リ モジュール 1 2間の データ転送を起動する D M Aモー ド
の 2種類のアクセスモー ドがある。
この 2種類のアクセスモー ドによって、 アクセス 可能な S S U空間は異なる。 この実施例においては 、 プログラムモー ドによってアクセス可能な S S U 空間は、 各プロセ ッサモジュール 1 0 の物理ア ドレ ス空間に直接マ ップされた 2 G Bのみである。 しか し、 D M Aモー ドにおいてはアクセス先の共有メ モ リ モジュール 1 2をュニッ ト I Dで指定するこ とに より、 さらに大きな S S U空間、 すなわち拡張 S S U空間に対するァクセスが可能である。
D M Aモー ドアクセスでは、 第 8 , 9図に示した 起動転送コマン ド S C中の D I D I によってァクセ ス先の共有メ モリ モジュール 1 0のユニッ ト 1 Dを 指定し、 続く ア ドレス Aで共有メ モ リ モジュール 1 0内のア ドレスを指定する。 従って、 理論上は、 拡張 S S U空間容量 = 2 "
(但し、 nは中央処理ユニッ ト 1 8 のア ド レスピ ソ ト幅にュニッ ト I Dのヒ ッ ト幅を加える)
となる拡張 S S U空間に対してアクセス可能となる 。 即ち、 拡張 S S U空間は、 ュニッ ト I Dを識別子 として区別される拡張空間となる。
第 1 1図はプロセ ッサモ ジュール 1 0 の物理ア ド レス空間にマ ッ ピ ングされた S S U空間と、 D M A モー ドでのみア ク セ ス可能な拡張 S S U空間を示し たマッブ説明図である。
第 1 1図において、 拡張 S S U空間を構成する複 数の共有メ モ リ モ ジュール 1 2のュニ ッ ト I Dのビ ッ ト数は 7 ビ ッ トであり、 0 0 0 0 0 0 0 〜 0 1 1 1 1 1 1 の 6 4個のュニ ッ ト I Dを共有メ モ リ モジ ユール 1 2に割り当てる。
ここでュニッ ト I Dの内の 0 0 0 0 0 0 0〜 0 0
0 0 1 1 1 までの 8個のュニ ッ ト I Dは、 プロダラ ムモー ド及び D M Aモー ドの両方によるアクセスが 可能であり、 更に後述する二重化共有メ モ リ を構成 する共有メ モ リ モ ジュール 1 2 の構成定義用に使用 するため、 物理ア ド レス空間の 2 G Bに割り 当てる 。 また、 残り の 5 6個のュニ ッ ト I Dを 4 G B単位 に割りつける。 その結果、 合計 2 2 6 G Bの拡張 S S U空間に対して D M Aモー ドによるアクセスが可 能である。
勿論、 ュニッ ト I Dは第 1 1図の 8つのュニ ッ ト
1 Dに限定されず、 全二重化の共有メ モ リ空間 (拡 張でない 2 G Bの空間) を 1 6 の共有メ モ リ モ ジュ
ール 1 2を使って例えば 0 0 0 0 0 0 0〜 0 0 0 1 1 1 1 で作ることも可能である。
また、 第 1 1図に限定されず、 更にュニッ ト I D のビッ ト数の增加、 あるいはュニ ッ ト I Dの共有メ モ リ モジュール 1 2 に対する割り 当て率の増加によ つて、 D MAモー ドアク セスによる拡張 S S U空問 は拡大可能である。
物理ァ ドレスでアクセスできる本発明の S S I;空 間は、 複数の共有メ モ リ モジュール 1 2によって構 成される力 S S U空間分の全てのメ モ リを実装す る必要はな く、 未実装領域があってもかまわない。 また、 フォール ト ト レラ ン トを目的として S S U空 問の一部分を二重構成とするこが可能である。
これらの未実装領域や二重構成は、 第 1 0図のプ 口セ ッサモジュール 1 0の S S U空間に示すよう に 、 プロセ ッサモジュール 1 0 の S S U空間を複数個 の部分 S S U空間に分割し、 その分割された部分 S S U空間ごとに共有メ モ リ モジュール 1 2 との関係 、 即ち、 第 1 1図に示した拡張 S S U空間を構成す るユニ ッ ト I D = 0 0 0 0 0 0 0〜 0 0 0 0 1 1 1 をもつ共有メ モ リ モジュール 1 2 との関係を定義す る構成制御 つ 実現される。
第 1 0図の実施例では、 2 8の 3 3 1;空間を 2 5 6単位に 8空間に分割し、 それぞれの分割された 部分 S S じ空間 # 0〜 #了 ごとに共有メ モリ モジュ
ール 1 2 との対応関係を示す構成定義をしている。 こ の共有メ モ リ モ ジュール 1 2 の構成定義は、 各 プロセ ッサモ ジュール 1 0 に搭載された第 5図に示 した接続ュニッ ト 2 2内の構成定義レ ジスタ 4 4 を 操作することにより実現される。 この構成定義レジ スタ 4 4 は、 第 1 2図に示す第 1 レジスタ 6 0 と第 1 3図に示す第 2制御レジスタ 6 2 — 1 , 6 2 - 2 で構成される。
第 1 2図の第 1 制御レジスタ 6 0 は、 第 1 0図の ように 2 5 6 M B単位に 8分割された S S じ空間に 対応する共有メ モ リ モ ジュール 1 2 の存在の有無、 すなわち共有メ モ リ モ ジュール 1 2が実装されてい るか、 未実装て 'あるかを指定する。 こ の実施例では 第 i 2図は第 1 制御レジスタ 6 0 のビッ ト 1 で示す 1 0 , I I , 1 2 , 1 4 , 1 7 に対応した部分 S S U空間 # 0 , # 1 , # 2 , # 4 , # 7 の 5つが実装 されており、 ビッ ト 0で示す I 3 , 1 5 , I 6 に対 応した部分 S S U空間 # 3 , # 5 , # 6 の 3つが未 実装であることを示している。
第 1 3図に示す第 2制御レジスタ 6 2 — 1 , 2 は 、 第 1 制御レジス タ 6 0 において実装が指定された 部分 S S U空間にどの共有メ モリ モ ジュール 1 2 か 対応するか、 一重/二重構成の指定、 及び二重構成 が指定された場合のア ク セス順序を指定している。
この実施例で 、 部分 S S じ空問 # 0 , # 1 : #
2 , # 4 , # 7 に対するビッ ト D O , D 1 , D 2 , D 4 , D 7 のみ有効であり、 対応する共有メ モ リ モ ジュール 1 2の構成及びア ク セス形態を指定してい る。 即ち、 ビッ ト D 0 , D 1 , D 7 は 0であり、 部 分 S S 空間 # 0 , # 1 , # 7がー重構成であるこ とを指定している。 この一重構成の部分 S S U空間 # 0 , # 1 , # 7 に対してア ク セスが行われた場合 、 ユニッ ト 1 D = 0 , 1 , 7 で指定された共有メ モ リ モ ジュール 1 2に対するア ク セスを行う。
一方、 ビッ ト D 2 , D 4 は 1 となつて二重構成を 指定している。 この二重構成の部分 S S U空間 # 2 , # 4 に対しア ク セ スが行われると、 ュニ ッ ト I D 2 , ユニッ ト I D 4で指定された片方の共有メ モ リ モ ジュール 1 2から読み出しを行う。
これに対し二重構成の共有メ モ リ モジュー ル 1 2 への書き込みは、 1回目は第 2制御レジスタ 6 2 — 1 , 2 のユニッ ト I Dで指定された共有メ モ リ モ ジ ユ ー ル 1 2 に対して書き込みを行った後、 2回目は 最初のュニ ッ ト I Dの特定ビ ッ ト、 例えば最下位ビ ッ トを反転したュニ ッ ト I Dをもつ他の共有メ モ リ モ ジュ ール 1 2に対して書き込みを行う。
この第 2制御レジスタ 6 2 — 1 , 2て二重構成を指 定でき る共有メ モ リ モ ジュール 1 2のペアは、 例え ば
ユニッ ト I D = 0 0 0 0 1 0 0
ユニッ ト I D = 0 0 0 0 1 0 1
のように最下位ビッ トのみが反転しているュニッ ト I Dを有する共有メ モ リ モ ジュール 1 2 となる。 第 1 3図の実施例では、 部分 S S U空間 # 2 と # 4 の 2つがビッ ト D 2 , D 4 = l により二重構成の 指定を受けており、 部分 S S U空間 # 2 については [部分 S S U空間〗 〖ユニッ ト I D ]
# 2 0 0 0 0 0 1 0
# 3 0 0 0 0 0 1 1
となるペアか設定され、 また部分 S S U空間 # 4 に ついては、
[部分 S S U空間] [ユニッ ト I D ]
# 4 0 0 0 0 1 0 0
# 5 0 0 0 0 1 0 1
となるペアが設定される。
第 1 4図は、 第 1 2図, 第 1 3図の制御レジスタ の指定に基づく共有メ モ リ モ ジュール 1 2 の実装状 態及び構成定義を示した説明図である。
第 1 4図において、 プロセ ッサモ ジュール 1 0 の S S U空間 # 0〜 # 7 に対応して 8つの共有メ モ リ モ ジュール 1 2が設けられるか、 S S じ空間 # 6 に 対応した共有メ モ リ モ ジュールは未実装である。 ま た S S U空間 # 3 と # 5 については、 二重構成によ り S S U空間 # 2 と # 4 の共有メ モ リ モ ジュール 1 2に対し二重化されるため、 S S じ空間 # 3 , # 5
に対応する共有メ モ リ モジュール 〗 2 は存在しない こ とになる。 残り の # 0 , # 1 , # 7 の S S じ空間 についはて一重構成であることから 1対 1 に共有メ モ リ モ ジュール 1 2が対応している。
こ のよ う にプロ セ ッ サモ ジュール 1 0 の物理ア ド レスでア ク セ スでき る S S U空間を分割して構成定 義を行う こ とによ り 、 システム運用中においても、 分割された S S U空間単位に共有メ モ リ モ ジユール の有効ノ無効あるいは、 一重/二重構成の指定が可 能となる。
この実施例にあっては、 ソ フ ト ウ ユアに基づき中 央処理ュニッ ト 1 8 の命令により物理ア ド レス空間 で直接 S S U空間をアクセスするプロ グラムモー ド においては、 3 2 ビ ッ ト の S S U空間ア ド レスのビ ッ ト b 0 〜 b 3 の 4 ビ ッ トが共有メ モ リ モ ジュール 1 2 の選択子として機能し、 残り ビ ッ ト b 4 〜 b 3 1 の 2 8 ビ ッ トが共有メ モ リ モ ジュール 1 2内のァ ド レス と して機能する。
共有メ モ リ モ ジュール 1 2 に搭載される メ モ リ容 量が 2 5 6 M Bを越える場合、 共有メ モ リ モ ジユー ノレ 1 2 を選択する選択子の意味に変わり はない力;、 共有メ モ リ モ ジュール 1 2 の內部ァ ドレスは、 共有 メ モ リ モ ジュール 1 2 に搭載される メ モ リ容量に ¾ 応させる。 例えばメ モ リ容量が 2倍の 5 1 2 M B 場合、 ァ ド レ ス情報のビッ ト b 3 〜 b S 1 の 2 9
ッ トが共有メ モ リ モ ジュール 1 2 の内部ァ ド レスの 指定に使用される。 また 1 G Bの場合は、 ビッ ト b 2〜 b 3 1 の 3 0 ビ ッ トが共有メ モ リ モ ジュール 1 2 の内部ア ド レスの指定に使用され、 さらに 2 G B まで拡張された場合は、 3 1 ビ ッ ト全てが共有メ モ リ モ ジュール 1 2 の内部ア ド レスに使用される。 こ のよ う に共有メ モ リ モ ジュール 1 2 のメ モ リ容量が 2 δ 6 Μ Βを越える場合には、 共有メ モ リ モ ジユー ルを選択する選択子のビ ッ ト数が減少することから 、 2 5 6 M B単位に分割された複数の部分 S S U空 間に対して実装容量に対応した同一のュニッ ト I D を指定することになる。
[アク セ スモー ド ]
本発明において、 プログラムモー ドによるァクセ スは第 1 5 A図, 第 1 5 B図のフ ローチャー ト に示 す手順となる。
第 1 5 A図において、 まずステップ S 1 (以下 「 ステ ッ プ」 は省略) でソ フ ト ウ ユアが中央処理ュニ ッ ト 1 8 の命令として S S U空間をァ ド レ ッ シ ング するア ク セスを行う と、 S 2に進んで接続ユニッ ト 2 2 は中央処理ュニッ ト 1 8からのア ド レスビッ ト b 0〜 b 3 の 4 ビ ッ ト と共有メ モ リ モ ジュール 1 2 の構成定義を行う第 2制御レ ジスタ 6 2 — 1 , 2 の 内容から、 どのュニッ ト I Dを持つ共有メ モ リ モ ジ ユ ール 1 2がァ ドレ ツ シ ングされた S S TJ空間を有
するかを判断する。 更に第 1制御レジスタ 6 0 の内 容から指定された共有メ モ リ モジユール 1 2が未実 装か否かを判定し、 未実装であれば S 4 に進んで異 常終了とする。
S 3で実装が判別されると S 5に進んで接続ュニ ッ ト 2 2 は中央処理ュニッ ト 1 8 に対して リ ト ラ イ 信号を返し、 中央処理ュニッ ト 1 8をゥユイ ト状態 とする。
次に S 6に進んで中央処理ュニッ ト 1 8からの命 令が共有メ モ リ モ ジュール 1 2からデータを読み出 すフ ヱ ツ チ命令か、 共有メ モ リ モ ジュール 1 2 にデ ータを書き込むス トァ命令かを判別する。
中央処理ュニッ ト 1 8の命令がフユ ツチ命令であ れば、 S 7 に進んで第 2制御レジスタ 6 2 — 1 , 2 の内容から相手先の共有メ モ リ モ ジュールのュ ニ ン ト I Dを D I Dとして起動転送コマ ン ド S Cを作成 し、 S 8 で共有システムバス 1 6 のバス権を獲得し た後、 起動転送コ マ ン ド S C及びア ド レス Αを共有 システムバス 1 6 に送信する。
一方、 S 3でス トア命令が判別されると S 1 4 に 進んで、 同様に第 2制御レジスタ 6 2 — 1 , 2 の内 容から相手先の共有メ モ リ モ ジュールのュニッ ト I Dを D I Dとして起動転送コ マ ン ド S Cを作成し、 S 1 4 で共有システムバス 1 6 のバス権を獲得した 後、 起動転送コ マ ン ド S C、 ア ド レス A、 更に書;入
用のデータ Dを共有システムバス 1 6 に送信する。 二れに対し共有メ モ リ モ ジュール 1 2側にあって は第 1 5 B図のフ ローチ ャー ト に示すよ う に、 接続 ュニッ ト 2 8が S 1 で共有システムバス 1 6を監視 し、 S 2で起動転送コマン ド中の D I Dと自己のュ ニッ ト I Dとの一致を判別すると、 S 3に進んで内 蔵したデュアルポー ト R A M 5 6 に受信データを書 き込む。
続いて S 4 でフユ ツチ命令かス トァ命令かを判別 する。
S 4でフユ ツチ命令が判別された場合には、 S 5 で接続ュニッ ト 2 8 は内部バス 3 0に対するバス権 を獲得した後に、 内部バス制御回路 6 4 の制御のも とにデュアルボー ト R A M 5 6 と共有メ モ リ ュニ ッ ト 2 6 の間でデータ転送を行う。 S 5で共有メ モ リ モ ジュール 1 2 内でのデータ転送終了後、 接続ュニ ッ ト 2 8 はア ク セス元のプロセ ッ サモ ジュール 1 0 に対し応答を行う。
即ち、 S 6 に進んで終結コー ドを含んだ応答転送 コ マ ン ド E Cを作成し、 続いて S 7 で共有システム バス 1 6 に対するバス権を獲得し、 最終的に S 8て 応答転送コマン ド E C、 読み出されたデータ Dを共 有システムバス 1 6 に送信する。
一方、 S 4 でス ト ア命令が判別された場合には、 S 9で接続ュニ ッ ト 2 8 は内部バス 3 0 :こ対する
ス権を獲得した後に、 内部バス制御回路 6 4 の制御 のも とにデュアルポー ト R A M 5 6 と共有メ モ リ ュ ニッ ト 2 6 との間のデータ転送によりデータ書込を 行う。 S 9で共有メ モリ モジュール 1 2内でのデー タ転送 (データ書込) が終了すると、 接続ュ ニ ソ ト 2 8 はア ク セ ス元のプロセ ッ サモ ジュール 1 0 に対 し応答を行う。
即ち、 S 1 0 に進んで終結コー ドを含んだ応答転 送コマ ン ド E Cを作成し、 続いて S 1 1で共有シス テムバス 1 6に対するバス権を獲得し、 最終的に S 1 2 で応答転送コ マ ン ド E Cを共有システムバス 1 6 に送信する。
再び第 1 5 A図のプロセ ッ サモ ジュール 1 0側を 説明する と、 プロセ ッ サモジュール 1 0 の接続ュニ ソ ト 2 2 は、 S 9又は. S 1 6 に示すように共有シス テムバス 1 6を監視しており、 応答転送コマ ン ド E Cの D I D と 自己のュニ ッ ト I D との一致を S 1 0 , S 1 7で判別すると、 フユ ッチ命令の際には S 1 1 に進んで応答転送コマ ン ド E Cとデータ Dを受信 し、 ス ト ア命令の場合は S 1 8に進んで応答転送コ マン ド E Cを受信する。
続いて S 1 2 , S 2 0に示すように、 中央処理二 ニッ ト 1 8に対し発行している リ トライ信号を取り 下げ、 中央処理ュニッ ト 1 8のゥユイ ト状態を解除 する。 そしてフヱ ッチ命令であれば S 1 3で中央^
理ュニ ッ ト 1 8に内部バス 2 4 の終結信号 D Cを受 信したデータ Dと共に返し、 またス トア命令であれ ば S 2 0で中央処理ュニッ ト 1 8 に内部バス 2 4 の 終結信号 D Cを返す。
以上でプログラムモー ドによる 1 アクセスが終了 する。
尚、 第 1 5 Α図の S 1 9及び S 2 2〜S 2 8 の二 重書込処理については後の説明で明らかにする。
次に第 1 6 A、 1 6 B図のフローチャー トを参照 して本発明における D M Aモー ドによるアクセスを 説明する。
D MAモー ドによるアクセスに際して中央処理ュ ニッ ト 1 8 は、 まず S 1 で予めプロセ ッサモジユー ル 1 0 のメ イ ンメ モ リ 2 0上に第 1 7図に示す相手 先の共有メ モリ モジュール 1 2 のユニッ ト Γ D、 ァ クセスア ド レス、 転送長等の制御内容を舎んだディ スク リ ブタを配置する。
即ち、 第 1 7図のディ スクプリ タにおいて、 B C
T (Byte Count) は転送バイ ト数を指定し、 バッ フ ァア ドレス B U F Aはメ イ ンメ モ リ 2 0上に置かれ るデータバッ フ ァ の先頭物理ァ ド レスを指定し、 D
I Dはアクセス対象となる共有メ モ リ モジュール 1 2 のユニッ ト I Dを指定する。 更に S S U Aはァク セス対象となった共有メ モ リ モジュール 1 2内の相 対ア ド レス ( D I Dで指定された共有メ モ リ モジュ
—ル 1 2内の内部ア ド レス ) を指定するもので、 プ ログラムモー ドにおける S S U空間の物理ァ ドレス とは異なる。
S 1 でディ スクブリ タを配置した後、 S 2 に進ん で接続ュニッ ト 2 2 に設けた D M Αモ一 ド制御回路 3 4内の D M A制御レジスタ 5 0 に転送方向、 共有 メ モ リ モジュール 1 2 への二重化書込指定、 メ イ ン メ モ リ 2 0上のディ スクプリ タのァ ドレス等の制御 指示を行い、 D M Aモー ドアクセスを起動する。
S 2で D M Aモー ドアクセスが起動されると、 接 続ュニッ ト 2 2がプロセ ッサモジュール 1 0 の内部 バス 2 4 のバス権を獲得してバスマスタ となり、 D M A制御回路 3 4 の制御もとにメ イ ンメ モ リ 2 0を 直接アクセスし、 メ イ ンメ モ リ 2 0上のディ スク リ プタを読み出し、 メ イ ンメ モ リ 2 0から接続ュニッ ト 2 2内のデュアルポー ト R A M 3 8へのデータ転 送を ΐ丁つ。
接続ュニッ ト 2 2内のデュアルポー ト R A M 3 8 へのデータ転送終了後、 S 4でデータの転送方向を 判別する。 共有メ モ リ モジュール 1 2からメ イ ンメ モ リ 2 0 へ読出データを転送する転送方向 (以下 ― S S U→ L S U ) 方向」' という ) であれば S 5 に進 んで送受信回路 3 6で第 7図に示した共有メ モ リ モ ジュール 1 2 のュニッ ト I D、 転送長を含んだ起動 転送コマ ン ド S Cを作成する。 一方、 メ イ ンメ モ リ
2 0から共有メ モ リ モ ジュール 1 2へ書込データを 転送する転送方向 (以下 「 S S U→ L S U ) 方向」 という ) であれば S 1 3 に進んで送受信回路 3 6で 同様に転送起動コマ ン ド S Cを作成する。
続いて S 6 , S 1 4 に進んで送受信画路 3 6 は共 有システムバス 1 6 のバス権を獲得する。
転送方向が ( S S U→ L S U ) 方向の場合には S 6から S 7 に進み、 起動転送コ マ ン ド S C、 ァ ド レ ス Aを共有システムバス 1 6 に送信する。 また ( L S U - S S U ) 方向の場合には S 1 5から S 1 6 に 進み、 起動転送コ マ ン ド S C、 ア ド レス A及びデー タ Dを共有システムバス 1 6 に送信する。
一方、 共有メ モ リ モ ジュール 1 2側の接続ュニ ッ ト 2 8 は、 第 1 6 B図の S 1 で共有システムバス 1 6を監視しており、 起動転送コ マ ン ド S C中の D I Dと自己のュニッ ト I Dとの一致を S 2で判別する と S 3 に進み、 接続ュニッ ト 2 8内のデュアルポー ト R AM 5 6に受信データを書き込む。
次に S 4で転送方向が ( L S U→ S S U ) 方向か ( S S U→ L S U ) 方向かを判別し、 ( L S U→ S S U ) 方向であれば S 5に進み、 また ( S S じ— L S U ) 方向であれば S 9 に進む。 S 5 , S 9では、 接続ュニ ッ ト 2 8 に設けた D M A制御回路 5 2 の内 部バス制御回路 6 4が内部バス 3 0 のバス権を獲得 し、 デュ アルポー ト R A M 5 6 と共有メ モ リ ュニ ッ
ト 2 6 との間でデータ転送を行い、 S 5では共有メ モリユニッ ト 2 6からのデータ読み出しを行い、 ま た S 9では共有メ モ リュニッ ト 2 6に対するデータ 書込を行う。
S 5または S 9で D MAによる メ モ リ ア ク セス力く 終了すると、 S 6 , S 1 0で第 7図に示した終結コ ー ドを舎んだ応答転送コ マ ン ド E Cを作成し、 S 7 , S 1 1 で共有システムバス 1 6 のバス権利を獲得 して S 8 , S 1 2に進む。 即ち、 ( L S U— S S U ) 方向となる S 8では、 応答転送コマン ド E Cに読 み出したデータ Dを付加して共有システムバス 1 6 に送信する。 また ( S S U— L S U ) となる S 1 2 では応答転送コ マ ン ド E Cを共有システムバス 1 6 に送信する。
再び第 1 6 A図のプロセ ッサモジュール Γ 0側を 説明する と、 プロセ ッ サモ ジュール 1 0の接続ュニ ッ ト 2 2 は、 S 8または S 1 7 に示すように共有シ ステムバス 1 6を監視しており、 応答転送コ マ ン ド の D I Dと自己のュニッ ト I Dとの一致を S 9 , S 1 8で判別すると、 S 1 0 , S 1 9 に進んで受信動 作を行い、 受信データを接続ニニッ ト 2 2内のデュ アルボー ト R A M 3 8に格納する。
続いて ( S S U— L S U ) 方向の場合には S 1 1 に進んで内部バス 2 4 のバス権を獲得し、 D M A制 御によりデュアルボー ト R A M 3 8の受信データ D
をメ イ ンメ モ リ 2 0 に転送し、 最終的に S 1 2で D M A制御レジスタ 5 0 に終結コー ドをセ ッ ト し、 中 央処理ュニッ ト 1 8 に割り込み上げて終了を通知す る。
また ( L S U→ S S U ) 方向の場合には S 2 0を 介して S 2 1 に進み、 D M A制御レジスタ 5 0 に終 結コー ドをセ ッ ト し、 中央処理ュニッ ト 1 8 に割り 込みを上げて終了を通知する。
以上で D MAモー ドによる 1 アクセスが終了する 尚、 第 1 6 A図の S 2 0及び S 2 2〜S 2 7 の二 重書込処理については後の説明で明らかにする。
[二重化ア ク セス ]
本発明の S S U空間を構成する複数の共有メ モリ モ ジュール 1 2 は、 フ ォール ト ト レラ ン トを目的と して二重化することが可能である。 二重化された共 有メ モリ モ ジュール 1 2をアクセスした際の書込動 作は、 二重化された両方の共有メ モ リ モ ジュール 1 2に行われ、 一方、 読出動作は片方の共有メ モ リ モ ジュール 1 2より行われる。
二重化された共有メ モ リ モ ジュール 1 2 の書き込 みは、 ソ フ トウユアに基づく 中央処理ュニッ ト 1 8 からの 1 回のアク セス指示で、 接続ュニッ ト 2 2 の ハー ドゥュァ制御によつて二重化された共有メ モリ モ ジュール 1 2へのア ク セスが実行される。 こ のハ 一ドゥユア制御による二重化された共有メ モ リ モジ
ユール 1 2 への書込ア ク セスは、 ハー ドゥ ヱァ制御 上、 同時に行われるのではな く、 まず片方の共有メ モ リ モジュール 1 2 へ書き込みを行い、 その動作が 完了すれば、 もう一方の共有メ モ リ モ ジュール 1 2 への書込動作に入る。 具体的な二重化ア ク セス方法 は、 プロ グラ ムモー ドと D M Aモー ドのア ク セスに よ って異なる。
プログラ ムモー ドの二重化ア ク セス方法は第 1 5 A図の S 1 9 , S 2 2〜 S 2 8 の処理となる。
即ち、 1 回目のス トアアク セスについては一重構 成の場合と同じに処理され、 S 1 8で 1回目の共有 メ モ リ モ ジュール 1 2に対する書込ァクセスが終了 して正常終了を示す応答確認コマン ド E Cを受領す ると、 S 1 9に進んで共有メ モリ モジュール 1 2の 構成を定義している第 1 3図に示した第 2制御レジ スタ 6 2 — 1 , 2を参照する。
第 2制御レジスタ 6 2 — 1 , 2 には、 共有メ モ リ モジュール 1 2の二重化構成の指定、 二重構成を指 定した時の読出し側の共有メ モ リ モジュールのュニ ッ ト I D、 更に先に書き込む共有メ モ リ モジュール のュニ ッ ト I Dが指定されている。
第 2制御レジスタ 6 2 — 1 , 2を参照した時に、 アク セスァ ド レスに対応する共有メ モ リ モ ジュール 1 2がー重構成の指定であれば、 S 2 0に進んで接 続ユニッ ト 2 2はア ク セス対象となった共有メ モ リ
モ ジュール 1 2 に対する 1 画の書込ア ク セスで終了 する。
これに対し二重構成が指定されていた場合には S
2 2に進み、 既にアクセスが終了した第 2制御レジ スタ 6 2 — 1 , 2で最初に指定された共有メ モ リ モ ジュール 1 2のュニ ッ ト I Dの最下位ビ ッ トを反転 したユニッ ト I Dを D I Dとするス トァ用の転送起 動コ マ ン ド S Cを作成する。 次に S 2 3で共有シス テムバス 1 6のバス権を獲得して起動転送コ マ ン ド S C、 ア ド レス A及び 1 回目と同じデータ Dを共有 システムバス 1 6 に送信し、 二重化された他方の共 有メモリ モ ジュール 1 2に対してアクセスを行う。
この 2回目のアクセスに対しても 1 回目と同様、 第 1 5 B図の S 1 〜 S 4 , S 9〜 S 1 2の処理が共 有メ モ リ モ ジュール 1 2側で行われ、 最終的に終結 コー ドを舍む応答転送コマン ド E Cを共有システム バス 1 6に送信して く る。
そこで第 1 5 A図の S 2 4で共有システムモジュ ール 1 2からの転送データを監視し、 S 2 5で D I Dと自己のユニ ッ ト I Dの一致を判別すると S 2 6 で応答転送コマン ド E Cの受信動作を行い、 S 1 2 , S 1 3の場合と同様にして二重構成の共有メ モ リ モジユールに対する一連のス トァァクセスを終了す る。
こ のよ う に第 2制御レジスタ 6 2 — 1 , 2 によ つ
て共有メ モ リ モ ジュール 1 2 の構成定義を行ってお けば、 ソフ トウユアに基づき中央処理ュニッ ト 1 8 でプロ グラ ムモー ドで共有メ モ リ モ ジュール 1 2 の 物理ア ド レスをア ク セス した際 ( S S U空間のァ ク セス) に、 プロ セ ッ サモ ジュール 1 0 側の接続ュニ ッ ト 2 2がハー ドゥヱァ制御によって共有メ モ リュ ニ ッ ト 1 2が一重構成か二重構成か判断し、 二重構 成であれば、 1 回目のア ク セ ス終了で自動的にュニ ッ ト I Dを変えて 2面目のアクセスを行う ことがで きる。
またアク セスァ ド レスに対応する第 2制御レジス タ 6 2 — 1 > 2 で指定された共有メ モ リ モジュール 1 2の構成定義が二重構成であっても、 二重化され た片方の共有メ モリ モジュール 1 2が障害により 7 ク セスが不可能となる場合があり得る。 このような 一時的に縮退運転を行わざるを得ない扰況において は、 アク セス終了で得られた応答確認コマ ン ド E C の異常終結コードを判別した際に、 第 2制御レジス タ 6 2 — 1 , 2の動作モードを二重化モー ドから一 重化モー ドへ変更するこ とによって対応可能となる, 更に二重化モー ドのア ク セス時に、 共有メ モ リ モ ジュール 1 2 へのアク セスが異常終結した場合は、 異常が検出された共有メ モ リ モ ジュール 1 2 のュニ ッ ト I D と、 第 2制御レジスタ 6 2 — 1 > 2 の内容 によるア ク セス順序と合わせて、 二重化されている
2つの共有メ モ リ モ ジュールの内容の等価性の有無 の判定も可能である。 特に、 プログラムモー ドにお いては、 基本的にアク セスの成功、 失敗がワー ド単 位で認識できるので、 二重化された共有メ モ リ モ ジ ユール 1 2間でデータ等価性が失われた場合も、 不 —致が生じたヮー ドとア ク セスに失敗した共有メ モ リ モ ジュール 1 2側を考慮して リ カバリ処理を行え ば良い。
次に D Μ Αモー ドの二重化アクセス方法は第 1 6 A図の S 2 0 S 2 2 〜 S 2 7 の処理となる。
即ち、 データの転送方向が ( L S U— S S U ) 方 向となる 1 回目の D M Aア ク セスについては一重構 成の場合と同じに処理され、 S 1 9 で 1 回目の共有 メ モ リ モ ジュール 1 2 に対する書込ア ク セスが終了 して正常終了を示す応答確認コマ ン ド E Cを受領す る と、 S 2 0 に進んで二重化書込みの有無を判定す る。
D M Aモー ドのア ク セスは、 目的とする共有メ モ リ モ ジュール 1 2 を選択し、 共有メ モ リ モ ジュール 1 2上のア ク セスァ ド レス と転送長を指定して起動 する力く、 その転送方向、 共有メ モ リ モ ジュール 1 2 への書込み時の一重ノ二重構成の指定等の動作モ一 ドは、 起動する単位で接続ュニ ッ ト 2 2 の D A制 御レジスタ 5 0 で指定されている。
二 のため S 2 0 ては共有メ モ リ モ ジュール 1 2 の
構成を定義している D M A制御レジスタ 5 0を参照 して二重化書込みの有無を判定する。
D M A制御レジスタ 5 0を参照した時に、 ァ ク セ スァ ド レスに対応する共有メ モ リ モ ジュール 丄 2力、: 一重構成の指定であれば、 S 2 1 に進んで接続ュニ ッ ト 2 2 はア ク セス対象となっ た共有メ モ リ モ ジュ ール 1 2に対する 1 回目の書込ァクセスで終了する。
これに対し二重構成が指定されていた場合には S 2 2に進み、 既にアク セスが終了した D M A制御レ ジスタ 5 0で最初に指定された共有メ モ リ モ ジユ ー ル 1 2 のュニ ッ ト I Dの最下位ビ ッ トを反転したュ ニッ ト I Dを D I Dとする書込用の転送起動コマン ド S Cを作成する。 次に S 2 3で共有システムバス 1 6のバス権を獲得して起動転送コ マ ン ド S C、 ァ ド レス A及び 1 回目と同じデータ Dを共有システム バス 1 6に送信し、 二重化された他方の共有メ モ リ モジュール 1 2に対して D M Aア ク セスによる書き 込み ¾行う。
この 2回目の D MAア ク セスに対して も 1 回目 と 同様、 第 1 6 B図の S 1 〜 S 4, S 9〜 S 1 2の処 理が共有メ モ リ モ ジュール 1 2側で行われ、 最終的 に終結コ ー ドを舍む応答転送コ マ ン ド E Cを共有シ ステムバス 1 6 に送信して く る。
そ こで第 1 6 A図の S 2 4で共有メ モ リ モ ジユ ー ル 1 2からの転送データを監視し、 S 2 5で D I D
と自己のユニッ ト I Dの一致を判別すると S 2 6 で 応答転送コマン ド E Cの受信動作を行い、 S 1 1 , S 1 2 の場合と同様にして S 2 6 , S 2 7 を経て二 重構成の共有メ モ リ モジュール 1 2 に対する D M A アクセスによる書き込みを終了する。
このように D M Aモー ドにおいても、 プログラム モー ドにおける二重化書込同様、 動作モー ドを指定 しておけば、 ハー ドゥヱァによる二重化書込が自動 S に ί亍ゎれる。
また二重化された共有メ モ リ モジュール 1 2 の D Μ Αアクセス中に異常終結した場合、 アクセス中の ュニッ ト I Dと、 1 回目のアクセス時に指定された 共有メ モ リ モジュール 1 2 のュニッ ト I Dの最下位 ビッ トによるアクセス順序と合わせて、 二重化され た 2 つの共有メ モ リ モジュール 1 2間のデータ等価 性の有無も判定可能である。
尚、 第 2図の実施例では複数のプロセ ッサモジュ ール 1 0 を示している力く、 プロセ ッサモジュール 1 0を 1 台としたシステム構成でもよい。
〖プログラムモー ドの非同期化]
本発明の S S U空間に対しアク セスを行うプログ ラムモー ドにあっては、 第 1 5 Α図に示したよう に 、 書込み/読出しの完了が命令の実行完了と同期す る同期型アクセスとなっている。 そこでアクセスを ブロ ッ ク化することで、 アクセスに対する応答を高
速化することができる。 また、 共有システムバス 1 6 の使用率の低減も可能であり、 システム性能を向 上できる。 S S U空間に対するア ク セスをブロ ック 化した場合、 書込みの完了は命令の実行完了と非同 期となる。
第 1 8図はブロ ッ ク アク セス と しての非同期プロ グラムモー ドによる共有メ モ リ モ ジュール 1 2の読 み出し動作を行った場合の動作説明図である。
第 1 8図において、 ソフ トウェアに基づいてプロ セ ッ サモ ジュール 1 0 の中央処理ュニ ッ ト ( Ρ ) 1 8より発行された 1 ワー ドの共有メ モ リ モジ
1 2 に対する読出要求 ( a — R ) に対して、 接続 ユニッ ト 2 2 は、 ア ド レス nを先頭とするブロ ック 読出要求 ( B 1 k - R ) を共有システムバス 1 6を 介して共有メ モ リ ユニ ッ ト 1 2に発行する の実 施例では、 ア ド レス n , n ÷ 1 , n + 2 , n ^ Sで なる 4 ワー ドのブロ ック読み出し要求 ( B 1 k一 R ) を発行している。
共有メ モ リ ユニ ッ ト 1 2側の接続ュニッ ト 2 8 は 、 共有システムバス 1 6 に送信されたブロ ック読み 出し要求 ( B 1 k - R ) を受信し、 プロセ ッ サモ ジ ユール 1 0 の接続ュニ ッ ト 2 2に対し共有メ モ リ ュ ニッ ト 2 6力、ら読み出したア ドレス n , n十 1 , n — 2 , n 3の 4 ワー ドのデータ ( B l k— D ) を 送信する。
プロ セ ッ サモ ジュール 1 0 の接続ュニ ッ ト 2 2 は、 データ ( B 1 k 一 D ) を受信して接続ュニ ソ ト 2 2 内のバ ッ フ ァ (デュア ルボー ト R A M 3 8 ) に格納 し、 中央処理ュニ ッ ト 1 8 へは共有メ モ リ モ ジユー ル 1 2 の読み出しア ド レ ス nに対応したデータ ( a - D ) を返す。
引き続く ァ ク セ ス要求が連続領域 ( b — R ) , ( c - R ) , ( d — R ) である場合は、 先のブロ ッ ク アクセスにより既に接続ュニ ッ ト 2 2 内のバッ ファ 内に得られているため、 接続ュニ ッ ト 2 2 のパ ッ フ ァ よりデータ ( b — D ) , ( c - D ) 及び ( d — D ) の高速応答を行う こ とができる。
接続ュニッ ト 2 2 内のバ ッ フ ァ に格納してあるデ ータの無効化は、 物理ア ド レス n + 4 に示すよう に 、 次のア ク セス要求がバ ッ フ ァ内に格納されていな い領域である場合 ( INV- 0V) 力、、 或いは物理ア ド レ ス n + 6 に示すよ う に、 連続ア ド レスでない場合 ( INV - NG)に行う。 これらの場合は 1 ヮー ド単位のプ ロ グラ ムモー ドによ っ て共有メ モ リ モ ジュール 1 2 に対しプロア ク セスを行い、 読み出されたブロ ン ク データの中の対応するァ ド レスのデータのみを中央 処理ュニ ッ ト 1 8 に返す。
第 1 9図は本発明のプロ ツ ク ア ク セス と しての非 同期プログラムモー ドによる S S U書込動作を示す。 第 1 9図において、 ブコグラムモジュール ( P M )
1 0 の中央処理ユニッ ト (:〃 P ) 1 9からソ フ ト ゥ エアに基づいて発行された共有メ モ リ モジュール 1 2に対する物理ァ ドレス IIの書き込み要求 ( a - W ) 及びデータは、 接続ュニッ ト 2 2内のバッ ファ ( デュアルポー ト R AM 3 8 ) へ格納される。 接続ュ ニッ ト 2 2内のバッファに対しては物理ア ドレス n 卞 1 , n 十 2 , n 十 3 に示すよう に、 4 ワー ドの連 続したァ ドレスの書込要求 ( b — W ) , ( c - W ) , ( d - W ) が続き、 バッファがフルになれば、 接 続ュニ ッ ト 2 2 は共有システムバス 1 6を介して共 有メ モリモジュール 1 2 に対してブロ ック書き込み 要求 ( B 1 k - W) を発行し、 ブロ ック書き込みが 行われる。
また、 物理ア ドレス n + 4 に示すように、 ァクセ スア ド レスが連続でないという書込要求 ( e — W) の条件が検出された場合には、 共有メ モ リ モジユ ー ル 1 2 に対し、 ワー ド単位のプログラムモー ドによ る書込要求 ( E— W) を癸行してワー ド単位の書き 込み ¾:行う。
本発明のブ π ノク書き込みは命令非同期動作とな るので、 命令終結後に検出される例外 (例えば S S Mの非実装領域へアクセス したとか、 システムバス 上でハ一 ドヱラーが発生した) の処理が問題となる 。 こ こで、 命令非同期動作とは、 書き込み命令実行 完了と実際の書き込み完了とが非同期に行われるこ
とである。 命令同期動作の場合に例外が検出さると 、 該命令に同期して例外割り込みを発生させれば、 ソフ トゥヱァはどの命令が失敗したかが、 スタ ッ ク に格納される情報から従来のように簡単に認識でき る。 しかし本発明では、 例えばブコ ック書き込みの よう に命令非同期動作を採用しているのでどの命令 が失敗したかは一般には認識できない。 そこで、 例 外すなわちハー ドゥヱァによる実際の書き込みが失 敗した場合に、 命令非同期動作すなわち書き込み突 き離しにおける リ カバリ処理が必要となる。
そこで、 本発明においてはソフ ト ウェアのリ カバ リ処理を簡易に実現する為に、 書き込み完了を保証 する書き込みシリ アライ ズ命令を用意し、 書き込み 命令の後続に付加する。 書き込みシリ アラ イ ズ命令 が発行れると、 ハードウヱァはその時点でバッファ に格納されている書き込み要求を実行した後に、 該 シリ アライ ズ命令の実行を完了する。 シリ アライ ズ 命令は書き込み完了をもって終結し、 書き込み中に 例外が発生すると、 該命令に同期して例外割り込み を発生させる。 従って特定の書き込み単位 (極端に は書き込み命令単位) に対して必ず後続にシリ アラ ィ ズ命令を付加すれば、 ハー ドウヱァの書き込みと 、 命令実行の同期を確立するこ とができる。 すなわ ち、 シリ ァラ イ ズ命令が実行されるという ことは、 ハ一 ドウ ヱァによる実際の書き込みが完了したこと
になる。
書き込みには、 アクセスア ドレスが連続していな い、 つまり 1 ワー ド書き込みの場合とアクセスァ ド レスが連続しているブ口 ッ ク書き込みとがある。 第 1 9図の物理ア ドレス n + 4に继続して n— 6 のアク セスが実行され、 ア ク セスア ド レスが連続で ないという書き込み要求 ( e — w ) の条件が検出さ れた場合か、 あるいは上記シリ アライ ズ命令が発行 されると、 共有メ モ リ モ ジュール 1 2 に対し、 書き 込み要求を ( E— W ) 発行してその時点でバッ フ ァ に格納されているデータ の書き込みを行う。
共有メ モ リ に対するブロ ック転送を行った場合、 読出し動作については読出しデータが C P Uに到達 する時点に同期して、 命令の実行が完了するので特 に問題は無いが、 書き込み動作については C P Uの 命令実行完了後、 メ モ リ への書き込みが行われる為 、 メ モ リ書き込み時の例外 (バス上で検出されるパ リ ティ エラ一等ゃプログラム例外) 発生時の処理が 問題となる。
従来は、 第 2 0 A図及び第 2 0 B図のタイ ミ ング 図に示すように、 S S M書き込み命令に同期してメ モ リ への書き込みを行う場合は、 S S M書き込み命 令のみが、 C P じ命令として発行されると、 S S B C — Pからコ マ ン ド ( S C ) 、 ア ド レス ( A ) 及び 書き込みデータ ( D ) が S S Mに出力され、 書き込
みが正常であると、 第 2 O A図に示すように、 正常 であることを示す終結コマン ド ( E C ) が S S B C — Pを介して C P U側に返される。 しかし、 書き込 みが異常である場合には、 第 2 0 B図に示すように 、 異常を示す終結コマ ン ド ( E C ) が S S B C — P を介して C P U側に返される。 C P Uの具備する命 令同期割り込み機構を使用して、 該書き込み命令に 同期して上記同期割り込みを発生させる。 そして、 C P Uはスタ ッ ク等にア ク セスァ ド レスゃス ト アデ ータを格納した後に、 割り込み処理ルーチ ンへの分 岐を行う。 割り込みハ ン ド ラは、 リ ト ライ等の適切 なリ 力バリ処理に必要な情報は全てスタ ック情報か ら取得することができる。 そして、 S S M書き込み に対する リ ト ライが実行され、 正常であればその E Cをかえす。 このような同期書き込みによる従来法 では、 S S M書き込みの実行中に、 C P Uは他の命 令を実行できず、 命令の実行を全体として考えた時 に、 時間がかかるという問題があった。
一方、 本発明の動作 (書き込みの突き放し) を行 つた場合は C P Uの命令自体は先に進んでおり、 書 き込みの高速化がはかれる。 ところが、 例外が検出 された時点では、 書き込みア ドレスやス トアデータ 等はその後の命令によって更新されていることもあ り、 従って C P Uが具備する従来型の同期割り込み 機能だけではリ カバリ処理が実施できない。 すなわ
ち、 本発明のように書き込み突き離しを行い、 そし て従来の機能のみを使った場合の問題点は、 ①例外 の検出時点が C P U命令と非同期であり、 単純な命 令同期割り込みを使用することはできない- ②例外 の検出時点では、 リ カバリ処理に必要な情報が残存 しておらずリ 力バリ処理ができない。
上述の問題点を解決する為に、 本発明では、 以下 のよ う なァーキテク チャを構築した。
( 1 ) 書き込み用シ リ ア ラ イ ズ命令
共有メ モ リ書き込み用のシ リ ア ラ イ ズ命令を新設 した。 本命令は P M固有空間への特定ア ド レスへの ア ク セスとて実行される。 本命令の実行完了は、 そ の時点で滞留している共有メ モリへの書き込み実行 完了に同期する。
(2) C P Uへの例外通知
C P Uへの例外通知は命令同期割り込み機構を使 用するが、 割り込み契機は共有メ モ リ へのア ク セス かあるいは( 1) の書き込み用シリ アライ ズ命令の実 行に同期させる。 シ リ ア ラ イ ズ命令の実行に同期し て割り込みが発生した場合、 直前の書き込みに失敗 したこ とを意味する。 一方共有メ モ リ へのア ク セス に同期して割り込みが発生した場合、 該割り込みが 発生した原因は、 直接割り込みを発生させた共有メ モ リ へのア ク セ ス命令か、 すなわち書き込み或いは 読み出し命令の後に続く シリ アライ ズ命令か或いは
1 つ前の共有メ モ リ への書き込み命令かが不明であ るが、 S S B C— P内の制御レジスタに、 直前の書 き込みを発生させたアクセス命令か、 あるいは 1 つ 前の割り込みを発生させた書き込み命令かを判別す る為のフラグを用意し、 該フラグを S S B C — P内 部の制御レジスタ と して読み出すことにより判定可 能とする。
(3) リ 力バリ処理
( 1 ) , (2) によりアクセスに失敗した命令を限定す ることができるが、 依然としてリ カバリ処理 (リ ト ライ処理) に必要な情報は不完全である。 本問題を 解決する為、 S S B C— P はアクセスに失敗したブ ロ ック書き込みの情報を全て保留しておく。 更に C P Uより保留しているアクセスの再試行指示があれ ば、 該保留アクセスの再試行を行う機能を設けた。 本機構により割り込みハン ドラは何ら例外発生の情 報を取得 · 解折することな く リ カバリ処理を実行す ることができる。
(4) 再試行のキャ ンセル
例外発生の原因が純粋にソフ ト ゥュァの問題であ つた場合、 上記機構を使用して何回再試行を行って も例外発生を繰り返すだけである。 このような場合 の対策として S S B C— Pが保留している再試行を キャ ンセルする必要がある。 保留中の再試行をキ "^ ンセルする制御レジスタが S S B C — P内部に設け
られ、 割り込みハ ン ドラは再試行不能と判定した場 合、 本レジスタをアクセスする ことで保留中の再試 行はキ ヤ ンセルされる。
第 2 1 A図はプロセ ッサ側の接続ュニッ ト 2 2 ( S S B C - P ) の構成を示す。 接続ュニッ ト 2 2 は書き込み用バッ ファ 3 8 1 と読み出し用バソ フ ァ 3 8 2 と S S— B U S制御を行う送受信回路 3 6 と からなり、 更に書き込み用シリアライ ズ命令に対応 して状態の制御を行う状態制御部 8 0を有する。 状 態制御部 8 0 は共有メ モ リ へのァ ク セスが失敗して 、 例外が検出された場合には、 例外検出信号を入力 し再試行を行う (リ カバリ処理) 、 さらには C P U に対して同期割込み要求を行う。
上記アーキテクチャを実現する為に、 共有メ モ リ への書き込み制御を行う接続ユニッ ト 2 2 ( S S B C - P ) 内に設けられた状態制御部 8 0内にある第 2 1 C図に示す状態遷移回路の動作状態の遷移を第 2 1 B図を参照して説明する。 下記説明において、 ①〜⑦は状態遷移図 (第 2 1 B図) と状態遷移画路 (第 2 1 C図) における各番号に対応している。 そ して、 状態としては次のものがある。
A状態(Ava i l ab l e) : 何ら保留状態を持たず、 新た なァクセスの受付けが可能な 伏態。
B状態 ( Busy) : 共有メ モ リ へのア ク セスを開
始してから、 アクセスが終了 する迄の状態。
EP状態 (Exception Pendi ngj
: 共有メ モ リ へのアクセスが異 常終了し、 例外発生 (割り込 み発生) の保留状態。
RP状態(Retry Pending)
: 直前に失敗した共有メ モリ へ のァクセスの再試行の保留状 次に各状態の遷移を、 ①乃至⑦の番号を参照して 説明する。
① P Mの初期化により遷移する。 すなわち、 フリ ップフ口 ップ 8 0 1 と 8 0 2 の R S T (リ セ ッ ト信 号) を 0 にしてフ リ ップフロ ップ 8 0 1 と 8 0 2 の 出力 Q, "Q をそれぞれ 0 , 1 にする。 このときァ ン ド回路 8 1 2 , 8 1 3 , 8 1 4 , 8 1 5 の出力で ある A, B , E P , 1¾ ?の状態は (八, B , E P , R P ) = ( 1 , 0 , 0 , 0 ) となり、 状態 Aとなる , ② 共有メ モ リ への書き込みの受付け開始に'より遷 移する。 すなわち A = 1 でライ トアクセプ ト ( WRI T E ACCEPT) 信号 (WT ACPT)が 1 となると、 アン ド回 路 8 0 6 の出力②が 1 となりオア回路 8 1 0を介し てフ リ ップフロ ップ 8 0 2 のセ ッ ト入力 Sを 1 にし. B = 0 , R T = 0でア ン ド回路 8 0 3 , 8 0 7 , 8
0 8 の出力が 0 であるからオア回路 8 1 1 の出力は 0である。 従って、 S = i , R = 0 となってフ リ ツ プフロ ップ 8 0 2 は、 リ セ ッ トカ、らセ ッ 卜に移行す る。 すなわち出力 Q = l > = 0 となる。 このとき フ リ ップフロ ップ 8 0 1 はまだリ セ ッ ト状態である から、 その" ^は 1 であるのでア ン ド回路 8 1 3 の出 力が 0から 1 となり、 すなわち B = 1 となる。 また フ リ ップフロ ップ 8 0 2 の"^ = 0 によって Aは 1力、 ら 0 となる。 フ リ ッブフロ ッブ 8 0 1 の出力 Qはま だ Q = 0であるから、 ア ン ド回路 8 1 4 , 8 1 5の 出力 E P と R Pはまだ 0である。 従って、 ( A, B , E P , R P ) = ( 0 , 1 , 0 , 0 ) となり、 状態 Bとなる。
③ 共有メ モ リ への書き込みが正常終了すると遷移 する。 すなわち A = 0 , E P = 0であるから、 アン ド回路 8 0 6及び 8 0 7 の出力及びオア回路 8 1 0 の出力が 1 になる と、 ア ン ド回路 8 0 8 の出力が 1 となり、 オア回路 8 1 1 の出力が 1 となってフ リ ッ プフ ロ ッ プ 8 0 2 の祅態はリ セ ッ ト状態に戻る。 従 つて、 フ リ ップフロ ップ 8 0 1 と 8 0 2 も リ セ ン ト 状態であるので ( A, B , E P , R P ) = ( 1 , 0 , 0 , 0 ) となり、 状態 Aに戻る。
④ 共有メ モ リ へのア ク セスに例外が検出された場 合に遷移する。 すなわちア ク セスェクセプシ ヨ ン ( A C C E S S E X C E P T I O N ) 信号 ( A C E
X C ) を受けると、 B = l であるから、 ア ン ド回路 8 0 3 の出力が 1 で、 この時 R P - 0 であるから、 ア ン ド回路 8 0 4、 8 0 5 そしてオア回路 8 0 6 の 出力は 0であるので、 フ リ ップフコ ップ 8 0 1 のセ ッ ト端子 S と リ セ ッ ト端子 Rはそれぞれ 1 , 0 とな つてセ ッ ト状態となる。 フ リ ップフ ロ ップ 8 0 1 は セ ッ ト状態すなわち Q = であり、 フ リ ップフロ ッ プ 8 0 2 はリ セ ッ ト状態すなわち Q = 0、 Q =丁で あるので、 ( A , B , E P , R P ) = ( 0 , 0 , 1 , 0 ) となって E P状態となる。
⑤ E P状態において新たな共有メ モ リ へのァクセ スかシ リ アライ ズ命令が実行される と、 C P Uに同 期割り込みを発生させる と同時に R P状態へ遷移し 、 再試行保留状態となる。 すなわち、 E P = 1 のと きニューアクセス ( N E W A C C E S S ) 信号 ( E W · A C C S ) 力く 1 である とア ン ド回路 8 0 7 の出力が 1 となり、 オア回路 8 1 0 と 8 1 1 の出力 はそれぞれ 1 , 0 となる。 こ こでオア回路 8 1 1 を 0 にする条件は B = 0、 従ってア ン ド回路 8 0 3 と ア ン ド回路 8 0 8 の出力は 0および R P = 0すなわ ちア ン ド回路 8 0 5の出力は 0である。 従ってフ リ ップフロ ップ 8 0 2 もセ ッ ト状態となる。 すなわち フ リ ップフロ ップ 8 0 1 も 8 0 2 もセ ッ ト状態とな る。 このとき ( A, B , E P , R P ) = ( 0 , 0 , 0 , 1 ) となる。 なお、 第 2 1 Α図において、 状態
制御部 8 0への例外検出信号の入力は④に相当し、 同期割込要求の出力は⑤に相当する。
⑥ R P状態において新たな共有メ モリへのァクセ スかシリ アライ ズ命令が実行されると、 新たなァク セスは待機させ、 保留している再試行を実行する為 に B状態へ遷移する。 すなわち R P = 1で、 ニ ュ ー アクセス ( N EW A C C E S S ) 信号が 1である と、 アン ド回路 8 0 6 の出力が 1 となって、 A= 0 , B = 0 , R P = 1であるからア ン ド面路 8 0 3が 0なので、 フ リ ップフロ ップ 8 0 1がリ セ ッ ト状態 となり、 またア ン ド回路 8 0 3 , 8 0 5 , 8 0 8は 0であるからフ リ ップフロ ップ 8 0 2 はリ セ ッ 卜 さ れず、 フ リ ップフロ ップ 8 0 2はセ ッ ト状態を保持 する。 すなわちフ リ ップフロ ップ 8 0 1 はリ セ ッ ト 、 フリ ップフロ ップ 8 0 2 はセ ッ トである力、ら ( A , B , E P , R P ) = ( 0 , 1 , 0 , 0 ) となる。
⑦ 保留中の再試行の取消し指示を受領すると、 再 試行をキャ ンセルし A状態に復帰する。 すなわち R P = l でキャ ンセルアクセプ ト ( C A N C E L A C C E P T ) 信号 ( C A N · A C P T信号) が 1で あると、 ア ン ド回路 8 0 5 の出力が 1 となり、 オア 回路 8 0 9 , 8 1 1 の出力が 0 となりフ リ ップフ口 ップ 8 0 1 と 8 0 2 は共にリセ ッ ト状態となり、 ( A , B , E P , R P ) = ( 1 , 0 , 0 , 0 ) となる, 第 2 2 A図, 第 2 2 B図は本発明の書き込み制御
のタイ ミ ング図である。 第 2 2 A図において C P U から S S M書き込み命令が発行されると本発明では 書き込み突き離しとなるので、 C P Uの命令とは非 同期にコマン ド ( S C ) とア ド レス ( A ) および書 き込みデータ ( D ) はバッ ファを介して、 S S — B U Sに出力される。 この時書き込み状態を制御する 状態遷移画路は、 状態 Aから状態 Bに移っている。 そして C P Uでは書き込み命令に続いてシリ アライ ズ命令が究行されている。 共有メ モ リ への書き込み が正常終了すると、 正常を示す終結コマン ド ( E C ) を C P Uに返し、 状態遷移回路は状態 Bから Aに 遷移する。 次に S S M書き込みがあれば、 同じ動作 を行う こ ととなる。 C P Uは書き込み命令の後に、 他の命令を実行することができる。
ところが、 第 2 2 B図に示すように、 書き込みに 対して共有メ モリへのアクセスに例外が検出される と、 Bの状態から E P状態となり、 異常を示す同期 割り込みが C P Uに発せられて状態遷移回路は更に R P状態となる。 この状態で C P Uはその割り込み 処理ルーチンが実行される。 状態遷移回路は、 R P 状態において新たな共有メ モ リ へのアクセスのため 、 リ ト ラ イ と してのシ リ ア ラ イ ズ命令が実行される と、 再度 S S — B U Sにバッファに既に保持されて いる前回と同じコ マ ン ド ( S C ) ア ド レス ( A ) 及びデータ ( D ) が伝送され、 共有メ モ リ側にわた
される。 この時新たなアクセスは待機させ、 そ 0保 留している再試行 (リ ト ライ ) を実行するため、 状 態遷移画路は R Pから B伏態遷移する。 このリ ト ラ ィが正常に実行されれば、 正常を示す終結コー ド E Cがかえされ、 状態遷移回路は再び A状態になる。 そして、 次の書き込みが同様に実行される。
第 2 2 C図は割り込みハン ドラの処理を示す。 命 令列① R , Rはレジスタから レジスタへのデータ書 き込み、 ② R , S S Mはレジスタから S S Mへのデ —タ転送、 ③ R , L S Uレジスタから L S Uへのデ —タ転送、 ④ L S U, L S Uは L S Uから L S Uへ のデータ転送を行う転送命令である。 ⑤ R, S S R はシリ アライ ズ命令である。
まず、 ②の命令により S S Mへの書き込み受付け を ί亍ぅ。
S S Μへの書き込みで例外発生すれば、 動作状態 は Ε Ρ状態へ遷移する。 ⑤でシリ ァラ イ ズ命令 (あ るいは新たな S S Μアクセス命令) の発行の際に書 き込みが失敗し、 例外検出信号が伏態制御都 8 0に 入力すると、 C P Uへ同期割り込みを発生させると 同時に Ε Ρ状態は R Ρ状態へ遷移する。 そして、 割 り込みハン ドラはリ トライ の可否を判定する。 リ ト ライ可なら再試行の為に元のプログラムに復帰する
。 リ ト ライ不可なら再試行取消し命令を発行して動 作状態を Α状態に戻した後復帰する。 ⑤が再実行さ
れ、 R P状態であれば保留中の再試行を行った後、 ⑤の命令を実行する。 A状態てあれば直ちに⑤の命 令を実行する。
産業上の利用可能性
以上説明したように本発明によれば、 ア ク セスァ ド レスが連続する場合には複数ヮ一 ドを 1 ブロ ッ ク としたプロ 'ン ク ア ク セスによるデータ転送が行われ 、 システムバスのアク セス高速化とオーバへ ソ ドの 低減による負荷低減を実現し、 システムバスの高効 率化によってシステム性能を向上することができる 。 また、 ブロ ック転送で書き込みを突き離しで行う ことにより動作を高速化した場合において、 各書き 込み命令のあとにシリアライ ズ命令を付加して、 そ の書き込み動作が正し く行われるか否かチュ ック し 、 書き込み異常のときに C P Uに同期割り込みをか けて、 書き込みの再試行を行う ことにより、 プロ ン. ク転送においても書き込み異常のリ 力バリ処理を可 能とし、 システムの信頼性を高めるという効果を有 する。
Claims
1. 少なく ともメ イ ンメ モ リ ( 2 0 ) 、 中央処理 ュニ ッ ト ( 1 8 ) 及びシステムバス ( 1 6 ) への接 続ユニ ッ ト ( 2 2 ) を備えた 1又は複数の処理モ ジ ユール ( 1 0 ) と、 少な く とも共有メ モ リュニッ ト ( 2 6 ) 及び前記システムバス ( 1 6 ) への接続ュ ニッ ト ( 2 8 ) を備えた 1又は複数の共有メ モリ モ ジュール ( 1 2 ) とを備えた計算機システムに於い て、
前記処理モジュール ( 1 0 ) の接続ュニ ッ ト ( 2 2 ) が前記中央処理ュニ ッ ト ( 1 8 ) による共有メ モ リ モジュール ( 1 2 ) への書込命令または読出命 令のア ク セスア ド レスの連続を認識した際に、 前記 システムバス ( 1 6 ) を介して前記共有メ モリモジ ユール ( 1 2 ) にブロ ッ ク ァク セスを要求する こ と を特徴とする共有メ モ リ の非同期アク セス方式。
2. 請求項 1記載の共有メ モリ の非同期ァクセス 方式に於いて、
前記共有メ モリ モ ジュール ( 1 2 ) の接続ュニッ ト ( 2 8 ) が前記処理モジュール ( 1 0 ) からプロ ック読出要求を受けた際には、 前記共有メ モ リュニ ッ ト ( 2 6 ) からアク セスァ ド レスに統く所定ヮー ド数でなる 1 ブロ ック分のデータを読み出して前記 処理モ ジュール ( 1 0 ) へ送信する こ とを特徴とす
る共有メ モ リ の非同期ア ク セス方式。
3 . 請求項 1 記載の共有メ モ リ の非同期ァ ク セス 方式に於いて、
前記処理モ ジュール ( 1 0 ) の接続ュニ ッ ト ( 2 2 ) は、 前記共有メ モ リ モ ジュール ( 1 2 ) からブ ロ ック読出による所定ワー ド数でなる 1 ブロ ッ ク分 のデータを受信して内部バッファに格納し、 前記中 央処理ュニッ ト ( 1 8 ) からの次の読出命令に対し 内部バッファに格納した対応する読出データを送出 するこ とを特徴とする共有メ モ リ の非同期ア ク セス 方式。
4 . 請求項 1記載の共有メ モリ の非同期ァク セス 方式に於いて、
前記処理モジユール ( 1 0 ) の接続ュニ ッ ト ( 2 2 ) は、 前記中央処理ュニッ ト ( 1 8 ) からァクセ スア ド レスの連続する書込命令を受けた際には、 中 央処理ュニッ ト ( 1 8 ) からの書込データを内部バ ッファに格納し、 格納データが所定ワー ド数である 1 ブロ ック分に達したバッファ フル時に前記共有メ モ リ モ ジュール ( 1 2 ) に対しブロ ック書込要求を 行う ことを特徴とする共有メ モリ の非同期アクセス 方式。
5 . 請求項 1記載の共有メ モ リ の非同期ア ク セス 方式に於いて、
前記処理モ ジュール ( 1 0 ) の接続ュニ ッ ト ( 2
2 ) は、 アク セス対象となった共有メ モ リ モ ジユ ー ル ( 1 2 ) を示す相手先 I Dコー ド ( D I D ) 、 発 信元を示す発信元 I Dコード ( S I D ) 、 ア ク セス の種類を示すオペラ ン ド、 及びア ク セスデータ容量 ( B C T) で構成される起動転送コ マ ン ド (E C) を作成し、 該起動転送コ マ ン ド ( E C ) を相手先共 有メ モ リ モジュール ( 1 2 ) のア ク セスア ド レス ( A ) と共に前記システムバス ( 1 6 ) に送信するこ とを特徴とする共有メ モ リ の非同期ァ ク セス方式。
6. 請求項 5記載の共有メ モ リ の非同期アク セス 方式に於いて、
前記処理モ ジュール ( 1 0 ) の接続ュニッ ト ( 2 2 ) は、 読出ァクセス時に前記起動転送コマン ド ( S C ) 及びア ク セスア ドレス (A) を送信し、 書込 ァクセス時には前記起動転送コマ ン ド ( S C ) 、 ァ ク セスア ド レス (A) 及び書込データ ( D ) を送信 するこ とを特徴とする共有メ モ リ の非同期ア ク セス 方式。
7. 請求項 6記載の共有メ モ リ の非同期ア ク セス 方式に於いて、
前記共有メ モ リ モ ジュール ( 1 2 ) の接続ュニッ ト ( 2 8 ) は、 前記ァ ドレスバス ( 1 6 ) を監視し て前記起動転送コマ ン ド ( S C ) の相手先 I D s— ドと自己のュニッ ト I Dとの一致を判別した時に該 起動転送コ マ ン ド ( S C ) の受信動作を行う こ とを
特徴とする共有メ モ リ の非同期ア ク セス方式。
8. 請求項 Ί記載の共有メ モリ の非同期ァ ク セス 方式に於いて
前記共有メ モ リ モ ジュール ( 1 2 ) の接続ュニッ ト ( 2 8 ) は、 受信動作により取り込んだ前記起動 転送コ マ ン ド ( S C ) に基づいて前記共有メ モ リュ ニッ ト ( 2 6 ) のアク セスを終了した時には、 相手 先処理モ ジュール ( 1 0 ) を示す I Dコー ド ( D I D ) 、 発信元を示す発信元 I Dコー ド ( S I D ) 及 び終結コー ドを舍む応答転送コマン ド ( E C ) を作 成して前記システムバス ( 1 6 ) に送信することを 特徴とする共有メ モ リ の非同期ァクセス方式。
9. 請求項 8記載の共有メ モ リ の非同期ア クセス 方式に於いて、
前記処理モ ジュール ( 1 0 ) の接続ュニッ ト ( 2 2 ) は、 前記システムバス ( 1 6 ) を監視し、 前記 応答転送コ マ ン ド ( E C ) の相手先 I Dコー ド ( D I D ) と 自己のュニ ッ ト I Dとの一致を判別した時 に、 該応答転送コマン ド ( E C ) の受信動作を行う こ とを特徴とする共有メ モ リ の非同期ァクセス方式。
10. 請求項 1記載の共有メ モ リ の非同期ァ ク セス 方式において、
前記接続ュニッ ト ( 2 2 ) に書込制御手段 ( 8 0 ) を設け、 該書き込み制御手段 ( 8 0 ) は、 書き込 み命令の後に書き込み命令完了を示すシ リ ア ラ イ ズ
命令を付加する手段と、
書き込み中に例外が発生するとシリアライ ズ命令 に同期して例外割込み要求を発生する手段とを具備 し、 実際の書き込みと書き込み命令実行との同期を 確立する共有メ モ リ の非同期アク セス方式。
11. 請求項 1 0記載の共有メ モ リ の非同期ァ ク セ ス方式において、
前記書き込み制御手段 ( 8 0 ) は新たな割り込み が可能な A状態と、 共有メ モ リ へのアク セスを開始 してから、 アクセスが終了するまでの B状態と、 共 有メ モ リ へのアク セスが異常終了し、 例外発生の保 留を行っている E P伏態と、 直前に失敗した共有メ モ リ へのアク セスの再試行の保留を行っている R P 状態とを有し、
共有メ モ リ へのア ク セスに例外が検出された時に B状態から E P状態に遷移し、 E P状態において新 たな共有メ モ リ へのアクセスがシリ ァライ ズ命令が 実行されると、 C P Uに同期割込みを発生させると 共に再試行保留状態となることを特徴とするの共有 メ モ リ の非同期アク セス方式。
12. 請求項 1 1記載の共有メモリ の非同期ァクセ ス方式において、
前記書き込み制御手段 ( 8 0 ) は、 さらに、 中央 処理ユニッ トの初期化により A祅態に遷移し、 また 共有メ モ リ への書き込み受け付けによ り B状態に遷
移し、 共有メ モ リ への書き込みが正常終了すると A 状態に遷移し、 R P状態において新たな共有メ モ リ へのアクセスがシリ ァライ ズ命令が実行されると、 新たなアクセスは待機させ、 保留している再試行を 実行するため B状態に遷移し、 保留中の再試行の取 消し指示を受領すると、 再試行をキ ャ ンセルして A 状態に遷移することを特徴とするメ モ リ非同期ァ ク セス方式。
13. 中央処理ュニッ ト ( 1 8 ) と、 該中央処理ュ ニ ッ ト ( 1 8 ) による書き替え可能なメ モ リ ( 1 2
) と、 前記中央処理ュニ ッ ト ( 1 8 ) とメ モ リ ( 1 2 ) 間に設けられ、 該メ モ リ ( 1 2 ) の書き込み制 御する手段 ( 8 0 ) とからなり、
書き込み命令実行と実際の書き込み動作とを非同 期に行う手段と、
書き込み命令の後に書き込み命令完了を示すシリ ァラ イ ズ命令を付加する手段と、
書き込み中に例外が発生するとシリ アライ ズ命令 に同期して例外割込み要求を発生する手段とを具備 し、 実際の書き込みと書き込み命令実行との同期を 確立する メ モ リ非同期ア ク セス方式。
14. 前記中央処理ュニ ッ トは複数個設けられ、 前 記メ モリ は前記中央処理ュニッ トによりアクセスさ れる共有メ モ リ であることを特徴とする請求項 1 3 記載のメ モ リ非同期ア ク セス方式。
15. 前記書き込み制御手段 ( 8 0 ) は、 新たな受 付が可能な A状態と、
メ モ リ へのア ク セスを開始してから、 ア ク セスが 終了するまでの B状態と、 メ モ リ へのアク セスが異 常終了し、 例外発生の保留を行っている E P状態と
、 直前に失敗したメ モ リ へのアク セスの再試行の保 留を行っている R P状態とを有し、
メ モ リ へのア ク セスに例外が検出された時に B状 態から E P伏態に遷移し、 E P状態において新たな メ モ リ へのアク セスがシ リ ア ラ イ ズ命令が実行され ると、 C P Uに同期割込みを発生させると同時に再 試行保留状態となる こ とを特徴とする請求項 1 3記 載のメ モ リ非同期ァクセス方式。
16. 前記書き込み制御手段 ( 8 0 ) は、 さらに中 央処理ユニッ トの初期化により A状態に遷移し、 ま たメ モ リ への書き込み受け付けにより B状態に遷移 し、 メ モ リ への書き込みが正常終了すると A状態に 遷移し、 R P状態において新たなメ モ リ へのァク セ スがシリ アライ ズ命令が実行されると、 新たなァク セスは待機させ、 保留している再試行を実行するた め B状態に遷移し、 保留中の再試行の取消し指示を 受領する と、 再試行をキャ ンセルして A状態に遷移 することを特徴とする請求項 1 5記載のメ モ リ非同 期ァク セ ス方式。
17. 前記メ モ リ は共有メ モリであることを特徴と
する請求項 1 6記載のメ モ リ非同期ァクセス方式,
Priority Applications (4)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| DE69132670T DE69132670T2 (de) | 1990-09-18 | 1991-09-18 | Verfahren zum asynchronen zugriff zu einem gemeinsamen speicher |
| EP91916224A EP0500967B1 (en) | 1990-09-18 | 1991-09-18 | Method of nonsynchronous access to shared memory |
| JP03515017A JP3141948B2 (ja) | 1990-09-18 | 1991-09-18 | 計算機システム |
| US07/856,916 US6108755A (en) | 1990-09-18 | 1992-05-18 | Asynchronous access system to a shared storage |
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2/248205 | 1990-09-18 | ||
| JP24820590 | 1990-09-18 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO1992005489A1 true WO1992005489A1 (fr) | 1992-04-02 |
Family
ID=17174757
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/JP1991/001238 Ceased WO1992005489A1 (fr) | 1990-09-18 | 1991-09-18 | Procede d'acces non synchrone a une memoire partagee |
Country Status (4)
| Country | Link |
|---|---|
| EP (1) | EP0500967B1 (ja) |
| JP (1) | JP3141948B2 (ja) |
| DE (1) | DE69132670T2 (ja) |
| WO (1) | WO1992005489A1 (ja) |
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPWO2006030650A1 (ja) * | 2004-09-16 | 2008-05-15 | 日本電気株式会社 | 複数の処理ユニットでリソースを共有する情報処理装置 |
| WO2010032433A1 (ja) * | 2008-09-18 | 2010-03-25 | パナソニック株式会社 | バッファメモリ装置、メモリシステム及びデータ読出方法 |
| WO2010035426A1 (ja) * | 2008-09-25 | 2010-04-01 | パナソニック株式会社 | バッファメモリ装置、メモリシステム及びデータ転送方法 |
Citations (8)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS53135232A (en) * | 1977-04-30 | 1978-11-25 | Hitachi Ltd | Main memory control system |
| JPS56156978A (en) * | 1980-04-30 | 1981-12-03 | Toshiba Corp | Memory control system |
| JPS5725053A (en) * | 1980-07-22 | 1982-02-09 | Nec Corp | Memory device |
| JPS57211628A (en) * | 1981-06-22 | 1982-12-25 | Hitachi Ltd | Controller for shared input and output loop bus of multicomputer system |
| JPS59116866A (ja) * | 1982-12-23 | 1984-07-05 | Toshiba Corp | 計算機システムの記憶装置 |
| JPS5941215B2 (ja) * | 1979-10-09 | 1984-10-05 | 富士通株式会社 | 主記憶装置書込み制御方式 |
| JPS61165170A (ja) * | 1984-12-19 | 1986-07-25 | Fujitsu Ltd | バス制御方式 |
| JPS6252663A (ja) * | 1985-09-02 | 1987-03-07 | Hitachi Ltd | 情報処理方法及び装置 |
Family Cites Families (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US4539637A (en) * | 1982-08-26 | 1985-09-03 | At&T Bell Laboratories | Method and apparatus for handling interprocessor calls in a multiprocessor system |
| JPH02103656A (ja) * | 1988-10-12 | 1990-04-16 | Fujitsu Ltd | 主記憶参照の遂次化制御方式 |
-
1991
- 1991-09-18 JP JP03515017A patent/JP3141948B2/ja not_active Expired - Lifetime
- 1991-09-18 EP EP91916224A patent/EP0500967B1/en not_active Expired - Lifetime
- 1991-09-18 WO PCT/JP1991/001238 patent/WO1992005489A1/ja not_active Ceased
- 1991-09-18 DE DE69132670T patent/DE69132670T2/de not_active Expired - Fee Related
Patent Citations (8)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS53135232A (en) * | 1977-04-30 | 1978-11-25 | Hitachi Ltd | Main memory control system |
| JPS5941215B2 (ja) * | 1979-10-09 | 1984-10-05 | 富士通株式会社 | 主記憶装置書込み制御方式 |
| JPS56156978A (en) * | 1980-04-30 | 1981-12-03 | Toshiba Corp | Memory control system |
| JPS5725053A (en) * | 1980-07-22 | 1982-02-09 | Nec Corp | Memory device |
| JPS57211628A (en) * | 1981-06-22 | 1982-12-25 | Hitachi Ltd | Controller for shared input and output loop bus of multicomputer system |
| JPS59116866A (ja) * | 1982-12-23 | 1984-07-05 | Toshiba Corp | 計算機システムの記憶装置 |
| JPS61165170A (ja) * | 1984-12-19 | 1986-07-25 | Fujitsu Ltd | バス制御方式 |
| JPS6252663A (ja) * | 1985-09-02 | 1987-03-07 | Hitachi Ltd | 情報処理方法及び装置 |
Non-Patent Citations (1)
| Title |
|---|
| See also references of EP0500967A4 * |
Cited By (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPWO2006030650A1 (ja) * | 2004-09-16 | 2008-05-15 | 日本電気株式会社 | 複数の処理ユニットでリソースを共有する情報処理装置 |
| JP4737438B2 (ja) * | 2004-09-16 | 2011-08-03 | 日本電気株式会社 | 複数の処理ユニットでリソースを共有する情報処理装置 |
| WO2010032433A1 (ja) * | 2008-09-18 | 2010-03-25 | パナソニック株式会社 | バッファメモリ装置、メモリシステム及びデータ読出方法 |
| WO2010035426A1 (ja) * | 2008-09-25 | 2010-04-01 | パナソニック株式会社 | バッファメモリ装置、メモリシステム及びデータ転送方法 |
| JP5536658B2 (ja) * | 2008-09-25 | 2014-07-02 | パナソニック株式会社 | バッファメモリ装置、メモリシステム及びデータ転送方法 |
Also Published As
| Publication number | Publication date |
|---|---|
| EP0500967A4 (ja) | 1995-04-26 |
| DE69132670T2 (de) | 2001-11-15 |
| EP0500967A1 (en) | 1992-09-02 |
| JP3141948B2 (ja) | 2001-03-07 |
| EP0500967B1 (en) | 2001-07-25 |
| DE69132670D1 (de) | 2001-08-30 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP2802043B2 (ja) | クロック故障検出回路 | |
| US5963976A (en) | System for configuring a duplex shared storage | |
| WO1988008584A1 (en) | Method and apparatus for implementing multiple lock indicators in a multiprocessor computer system | |
| US5210828A (en) | Multiprocessing system with interprocessor communications facility | |
| JPH07311751A (ja) | 共用メモリを有するマルチプロセッサ・システム | |
| US5410650A (en) | Message control system for data communication system | |
| US7441150B2 (en) | Fault tolerant computer system and interrupt control method for the same | |
| WO1992005490A1 (fr) | Procede de commande exclusive pour memoire partagee | |
| US5727151A (en) | Message control system specifying message storage buffer for data communication system with general purpose and arbitrary form buffers | |
| US6108755A (en) | Asynchronous access system to a shared storage | |
| JPH06131244A (ja) | 共有メモリの非同期アクセス方式 | |
| US6381663B1 (en) | Mechanism for implementing bus locking with a mixed architecture | |
| KR0153487B1 (ko) | 장치간의 통신 수행 방법 및 통신 수행 시스템 | |
| WO1992005489A1 (fr) | Procede d'acces non synchrone a une memoire partagee | |
| EP0502215A1 (en) | Message control system in a data communication system | |
| US20020174282A1 (en) | Multiprocessor system | |
| EP0376003A2 (en) | Multiprocessing system with interprocessor communications facility | |
| JP3112280B2 (ja) | 計算機システム | |
| JPWO1992005489A1 (ja) | 計算機システム | |
| JP2504552B2 (ja) | マルチプロセッサコンピュ―タシステムにおいてシステムリソ―スへの充分なアクセスを確保するコマンダノ―ド方法及び装置 | |
| JP2512848B2 (ja) | デ―タ通信システムのメッセ―ジ制御方式 | |
| JP3246736B2 (ja) | 計算機システム | |
| JP2512849B2 (ja) | デ―タ通信システムのメッセ―ジ制御方式 | |
| JPH06124242A (ja) | 二重化共有メモリ等価性保証方式 | |
| JPH0659923A (ja) | Cpuを用いた二重化システム |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| AK | Designated states |
Kind code of ref document: A1 Designated state(s): JP US |
|
| AL | Designated countries for regional patents |
Kind code of ref document: A1 Designated state(s): AT BE CH DE DK ES FR GB GR IT LU NL SE |
|
| WWE | Wipo information: entry into national phase |
Ref document number: 1991916224 Country of ref document: EP |
|
| WWP | Wipo information: published in national office |
Ref document number: 1991916224 Country of ref document: EP |
|
| WWG | Wipo information: grant in national office |
Ref document number: 1991916224 Country of ref document: EP |