JP2002334068A - Data processor - Google Patents

Data processor

Info

Publication number
JP2002334068A
JP2002334068A JP2001137111A JP2001137111A JP2002334068A JP 2002334068 A JP2002334068 A JP 2002334068A JP 2001137111 A JP2001137111 A JP 2001137111A JP 2001137111 A JP2001137111 A JP 2001137111A JP 2002334068 A JP2002334068 A JP 2002334068A
Authority
JP
Japan
Prior art keywords
access
variable
shared
semaphore
data
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.)
Pending
Application number
JP2001137111A
Other languages
Japanese (ja)
Inventor
Yoshimichi Sato
美道 佐藤
Chikao Tomiyoshi
力生 冨吉
Masaaki Ando
公明 安藤
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 JP2001137111A priority Critical patent/JP2002334068A/en
Publication of JP2002334068A publication Critical patent/JP2002334068A/en
Pending legal-status Critical Current

Links

Landscapes

  • Multi Processors (AREA)

Abstract

PROBLEM TO BE SOLVED: To improve the exclusiveness guarantee and availability of I/O access by a multiprocessor or multi-computer system. SOLUTION: Processors A and B and a common I/O 3 are connected by a common bus and the common I/O is provided with a semaphore variable 16 for access to data of the common I/O by the processor 5 or 6; when the semaphore variable is 0 (initial state), it is considered that neither of the processors 5 and 6 accesses the common I/O, so the data buffer access in this state is inhibited. Further, access violating access restrictions is monitored through access monitoring 20 and error information is written in an error register 19.

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【発明の属する技術分野】本発明は、コンピュータシス
テムに係り、特にI/Oリソースの排他処理方式に関す
る。また、上記I/Oを用いた電子線描画装置に関す
る。
[0001] 1. Field of the Invention [0002] The present invention relates to a computer system, and more particularly to an exclusive processing method for I / O resources. Further, the present invention relates to an electron beam lithography apparatus using the I / O.

【0002】[0002]

【従来の技術】コンピュータシステムにおいて、大量の
データの演算処理や高速化を実現するには、複数のプロ
セッサや複数のコンピュータにより並列処理を行う、い
わゆるマルチプロセッサシステムやマルチコンピュータ
システムが有効である。また、システムの構成要素の冗
長化によって、故障した構成要素を正常な構成要素に容
易に置き換えることができればシステムの可用性(Avai
lability)が向上する。
2. Description of the Related Art In a computer system, a so-called multiprocessor system or multicomputer system in which a plurality of processors and a plurality of computers perform parallel processing, that is, a parallel processing by a plurality of processors and a plurality of computers, is effective in realizing arithmetic processing and high speed processing of a large amount of data. In addition, if a redundant component can be easily replaced with a normal component by making the system component redundant, system availability (Avai
lability) is improved.

【0003】マルチプロセッサシステムにおける問題の
一つは、複数のプロセッサが共通に用いるハードウェア
リソースにアクセスする(データを読取り入力する、ま
たは書込み出力する)ときに生じる。ここで問題となる
共通ハードウェアリソースとは入出力データのやり取り
を行うI/Oである。一般に、各プロセッサの入出力デ
ータは、一定の規則に従い順序づけやデータ量の区切り
を持たせなければ外部とのやり取りは不可能である。こ
の問題の解決のために、共通のメモリ上にセマフォ(Se
maphore)と呼ばれる変数を用意する手法がコンピュー
タソフトウェア技法として知られている。このセマフォ
変数によって各プロセッサのI/Oアクセスの排他性を
保証するのである。
One of the problems in a multiprocessor system arises when multiple processors access hardware resources commonly used (read, input, or write data). Here, the problematic common hardware resource is an I / O for exchanging input / output data. Generally, the input / output data of each processor cannot be exchanged with the outside unless the order and the amount of data are separated according to a certain rule. To solve this problem, semaphores (Se
A technique for preparing variables called maphore is known as computer software technique. The semaphore variables guarantee the exclusiveness of the I / O access of each processor.

【0004】図12に、従来のデータ処理装置を示す。
データ処理装置(コンピュータシステム)は2つのプロ
セッサ202,203と、メモリ204と、共有I/O
205からなり、夫々、共通のバス207に接続してデ
ータのやり取りを行う。プロセッサ202とプロセッサ
203が共通I/O205にアクセスする場合には、メ
モリ上に用意したセマフォ変数206を用いて排他性を
保証する。
FIG. 12 shows a conventional data processing apparatus.
The data processing device (computer system) includes two processors 202 and 203, a memory 204, and a shared I / O.
205, each of which is connected to a common bus 207 to exchange data. When the processor 202 and the processor 203 access the common I / O 205, the semaphore variable 206 prepared on the memory is used to guarantee the exclusiveness.

【0005】ここで、例えば0をセマフォ変数の初期値
とし、0を読み出したプロセッサはI/Oアクセスを許
可されたものとみなし、0でない値を読み出したプロセ
ッサはI/Oアクセスを許可されないものとみなす。
[0005] Here, for example, 0 is set as the initial value of the semaphore variable, the processor that reads 0 is regarded as being permitted the I / O access, and the processor that reads a value other than 0 is not permitted the I / O access. Is considered.

【0006】図2に、セマフォ変数を用いて排他性保証
を行なう一般的な手順(セマフォ手順)を示す。プロセ
ッサ202が共通I/O205にアクセスしようとする
とき、アクセスする以前にセマフォ変数を読み出し(S1
01)、その値によりアクセス可能かを知る。0を読み出
していたら(S102)、即時にセマフォの値を1に書き換
える(S103)。そして、共通I/Oへの必要なデータバ
ッファアクセスを行う(S104)。アクセス終了後、プロ
セッサ202はセマフォの値を0に書き戻す(S105)。
FIG. 2 shows a general procedure (semaphore procedure) for assuring exclusivity using semaphore variables. When the processor 202 attempts to access the common I / O 205, the semaphore variable is read before the access (S1).
01), it is determined whether the value can be accessed. If 0 has been read (S102), the value of the semaphore is immediately rewritten to 1 (S103). Then, necessary data buffer access to the common I / O is performed (S104). After the access is completed, the processor 202 writes the value of the semaphore back to 0 (S105).

【0007】一方、プロセッサ202はセマフォ変数を
読み出して、値が1であったら(S102)、0の値になる
までデータバッファアクセスは行わない。
On the other hand, the processor 202 reads the semaphore variable, and if the value is 1 (S102), the data buffer access is not performed until the value becomes 0.

【0008】以上のセマフォ手順を、他方のプロセッサ
203も行うことによって、データ入出力の適正な排他
性を保つことができる。
[0008] By performing the above semaphore procedure also by the other processor 203, appropriate exclusiveness of data input / output can be maintained.

【0009】しかしながら、この方法にはいくつか問題
がある。第一に、セマフォの値を1に書き換える動作
(S103)と、それに先んじるセマフォ読み出しの動作
(S101)の間に、他方のプロセッサがセマフォ読み出し
を行ってはならない(不可分なセマフォアクセス)。こ
の保証のために、コンピュータシステムは特殊動作を提
供しなくてはならない。
However, this method has some problems. First, between the operation of rewriting the semaphore value to 1 (S103) and the operation of semaphore read ahead (S101), the other processor must not perform semaphore read (inseparable semaphore access). For this guarantee, the computer system must provide special operation.

【0010】第二に、各プロセッサは共有するセマフォ
変数をアクセスすることになるが、通常、メモリは領域
ごとに排他的保護、つまり非共有とすることでシステム
の信頼性を高めることを基本とすることが多く、管理上
の問題が生じてしまう。
Second, each processor accesses a shared semaphore variable. Usually, however, the memory is exclusively protected on a region-by-region basis, that is, the memory is not shared and the reliability of the system is generally improved. Often cause management problems.

【0011】従来技術の他の例として特開平11−161625
号公報がある。ここでは、これらの問題を解決する方法
の一つとして、I/Oデバイスにセマフォ書き換えロジ
ックを有する構成が示されている。
Another example of the prior art is disclosed in Japanese Patent Laid-Open No. 11-161625.
There is an official gazette. Here, as one of the methods for solving these problems, a configuration having a semaphore rewrite logic in an I / O device is shown.

【0012】[0012]

【発明が解決しようとする課題】しかし、上記問題を解
決する上で従来技術は充分ではない。プログラムの誤り
やプロセッサの熱暴走などでセマフォ手順が無視されて
しまえば、容易に排他性が破壊されてしまう。また、そ
のような異常動作を検出しないかぎり、冗長化による可
用性向上もあり得ない。
However, the prior art is not enough to solve the above problems. If the semaphore procedure is ignored due to a program error or a thermal runaway of the processor, the exclusivity is easily destroyed. Unless such abnormal operation is detected, the availability cannot be improved by redundancy.

【0013】本発明の目的は、上記従来技術が解決でき
ていない問題点を克服し、データ入出力の排他的保護と
異常動作検出を実現できるデータ処理装置、また共有I
/Oを提供することに有る。さらに、本発明を適用した
電子線描画装置を提供することに有る。
An object of the present invention is to provide a data processing apparatus capable of overcoming the above-mentioned problems which cannot be solved by the prior art, realizing exclusive protection of data input / output and detecting abnormal operation, and a shared I / O device.
/ O. Another object of the present invention is to provide an electron beam drawing apparatus to which the present invention is applied.

【0014】[0014]

【課題を解決するための手段】上記目的を達成する本発
明は、複数のプロセッサと共有I/Oを備えるデータ処
理装置において、前記共有I/Oは変数を有し、前記複
数のプロセッサは前記変数をセマフォ変数としてアクセ
スし、前記共有I/Oは少なくとも前記セマフォ変数の
値により入出力データの不適正なアクセスを抑止するこ
とを特徴とする。また、前記共有I/Oは少なくとも前
記セマフォ変数の値により決定されるアクセス制限に違
反する共有I/Oアクセスが行われていないか監視し、
違反するアクセスを異常として検出することを特徴とす
る。
In order to achieve the above object, the present invention provides a data processing apparatus having a plurality of processors and a shared I / O, wherein the shared I / O has a variable, and the plurality of processors are A variable is accessed as a semaphore variable, and the shared I / O suppresses improper access to input / output data by at least the value of the semaphore variable. The shared I / O monitors whether a shared I / O access violating at least an access restriction determined by a value of the semaphore variable is performed,
Violating access is detected as abnormal.

【0015】あるいは、前記共有I/Oは初期値が所定
値、変化値が前記プロセッサ毎に割り当てられた変数を
有し、前記複数のプロセッサは前記変数をセマフォ変数
としてアクセスし、前記共有I/Oは少なくとも前記セ
マフォ変数の値により決定されるアクセス制限に違反す
る共有I/Oアクセスが行われていないか監視し、違反
するアクセスがあればその変化値から該当するプロセッ
サを異常として検出することを特徴とする。
Alternatively, the shared I / O has a variable in which an initial value is assigned a predetermined value and a change value is assigned to each processor, and the plurality of processors access the variable as a semaphore variable, and O monitors whether a shared I / O access violating the access restriction determined by at least the value of the semaphore variable is performed, and if there is a violating access, detects the corresponding processor as abnormal from the change value. It is characterized by.

【0016】なお、前記共有I/Oは前記プロセッサか
らのアクセスがセマフォ変数アクセスの場合に変数書込
みかを判定し、変数読出しの場合はそのままセマフォ変
数アクセスを実行し、変数書込みの場合で正規の手順で
行なわれていないとみなせる場合は前記セマフォアクセ
スを実行せず、エラー情報をエラーレジスタに書き込む
ことを特徴とする。
The shared I / O determines whether the access from the processor is a semaphore variable access if the access is a semaphore variable access. If the access is a variable read, the shared I / O executes the semaphore variable access as it is. When it can be considered that the semaphore access is not performed in the procedure, the semaphore access is not executed, and the error information is written in an error register.

【0017】また、前記データ処理装置は、前記共有I
/Oを複数有し、前記複数の処理装置と各共有I/Oを
それぞれ共通バスで接続し、前記共有I/Oへのデータ
の入出力を並列に実行できることを特徴とする。
Further, the data processing device may be configured so that the shared I
A plurality of I / Os are connected, the plurality of processing devices are connected to the respective shared I / Os by respective common buses, and input / output of data to / from the shared I / Os can be executed in parallel.

【0018】また、本発明はI/Oデバイスであって、
変数を有し、前記変数は外部の複数のプロセッサからセ
マフォ変数としてアクセス可能であり、少なくとも前記
セマフォ変数の値により決定されるアクセス制限に違反
するI/Oデータアクセスが行われていないかを監視
し、違反するI/Oデータアクセスを異常として検出す
ることを特徴とする。
The present invention also relates to an I / O device,
A variable, which is accessible as a semaphore variable from a plurality of external processors, and monitors whether an I / O data access that violates at least an access restriction determined by a value of the semaphore variable is performed. Then, the violating I / O data access is detected as abnormal.

【0019】さらに、ホスト計算機と、データ処理装置
と、描画制御部と、電子線描画制御部本体を備え、半導
体集積回路の製造に用いられる電子線描画装置におい
て、前記データ処理装置に、上記に記載のデータ処理装
置の1つを用いることを特徴とする。
Further, in an electron beam drawing apparatus used for manufacturing a semiconductor integrated circuit, comprising a host computer, a data processing device, a drawing control section, and an electron beam drawing control section main body, the data processing apparatus includes: One of the described data processing devices is used.

【0020】[0020]

【発明の実施の形態】以下、本発明の実施の形態につい
て図面を参照して説明する。図1は第1の実施例による
データ処理装置の構成を示す。処理装置(A)1と処理
装置(B)2と共有I/O3が共通バス4によって通信
可能に結ばれている。処理装置1,2はそれぞれ同様の
半導体集積回路による機能部品からなり、プロセッサ
5,6とメモリ7,8とブリッジ9,10を備えてい
る。
Embodiments of the present invention will be described below with reference to the drawings. FIG. 1 shows the configuration of the data processing device according to the first embodiment. The processing device (A) 1, the processing device (B) 2, and the shared I / O 3 are communicably connected by a common bus 4. Each of the processing devices 1 and 2 is composed of functional components of the same semiconductor integrated circuit, and includes processors 5 and 6, memories 7 and 8, and bridges 9 and 10.

【0021】プロセッサ5,6は、一般にマイクロプロ
セッサと呼ばれるものであり、メモリ7,8は、例えば
128メガバイト、256メガバイトなどの容量を持つ
メモリモジュールである。ブリッジ9,10は接続され
た2つのバス11と4、12と4の通信の橋渡しをする
もので、バスブリッジとも呼ばれている。こうして、各
プロセッサは各々のメモリと共有I/Oへのアクセスが
可能である。
The processors 5 and 6 are generally called microprocessors, and the memories 7 and 8 are memory modules having a capacity of, for example, 128 megabytes or 256 megabytes. The bridges 9 and 10 bridge the communication between the two connected buses 11 and 4, and 12 and 4, and are also called bus bridges. Thus, each processor has access to its own memory and shared I / O.

【0022】また、一方の処理装置が共有I/Oアクセ
スを行っている最中でも、他方の処理装置ではメモリの
アクセスが可能であり効率的な並列処理ができる。さら
に、ブリッジ9,10は共有I/O3に対して不可分セ
マフォアクセスの動作を行う機能13、14を有してい
る。
Also, while one of the processing units is performing the shared I / O access, the other processing unit can access the memory and perform efficient parallel processing. Further, the bridges 9 and 10 have functions 13 and 14 for performing an inseparable semaphore access operation on the shared I / O 3.

【0023】共有I/O3はデータバッファ18を有
し、システム外部とのデータのやり取りを行うものであ
る。データバッファ18は共通バス4とアクセス制御部
21を通じて、入出力データをバッファリング(一時的
に保管)する。
The shared I / O 3 has a data buffer 18 for exchanging data with the outside of the system. The data buffer 18 buffers (temporarily stores) input / output data through the common bus 4 and the access control unit 21.

【0024】共有I/O3は、さらにセマフォ変数16
を有している。セマフォ変数16はI/O内部のアクセ
ス制御部21と接続し、共通バス4を介して処理装置
1、2から読み出され、または書き戻し動作により書き
換えられる。アクセス制限17の機能はセマフォ変数の
値に違反するデータバッファ18へのアクセスを制限し
て、実行を抑止する。
The shared I / O 3 further includes a semaphore variable 16
have. The semaphore variable 16 is connected to the access control unit 21 inside the I / O, and is read from the processing devices 1 and 2 via the common bus 4 or rewritten by a write-back operation. The function of the access restriction 17 restricts access to the data buffer 18 that violates the value of the semaphore variable, thereby inhibiting execution.

【0025】本実施例の動作をより詳しく説明する。処
理装置A,Bが共有I/O3に対して行なうセマフォ手
順は従来と同様で、図2に示したとおりである。そし
て、本実施例の共有I/O側はアクセス制御部21によ
り以下のように動作する。
The operation of this embodiment will be described in more detail. The semaphore procedure performed by the processing devices A and B on the shared I / O 3 is the same as the conventional one, as shown in FIG. Then, the shared I / O side of this embodiment is operated by the access control unit 21 as follows.

【0026】共有I/Oが処理装置からアクセス要求を
受けると、セマフォ変数の値が0であるとき、プロセッ
サから共有I/Oへのアクセスは行なわれないはずであ
るから、アクセス制限17の機能によりデータバッファ
18へのアクセスを禁止する。より具体的には、アクセ
ス要求があってもデータバッファ18の内容を変化させ
ないということである。あるいはデータ転送機能(DM
A:Direct Memory Access)を持っており、データ転送
の起動がプロセッサからのコマンドで行われるような場
合は、その起動を抑止すればよい。
When the shared I / O receives an access request from the processing device, if the value of the semaphore variable is 0, the processor should not access the shared I / O. Access to the data buffer 18 is prohibited. More specifically, even if there is an access request, the contents of the data buffer 18 are not changed. Or data transfer function (DM
A: Direct Memory Access), and when data transfer is activated by a command from the processor, the activation may be suppressed.

【0027】また、共有I/O3はエラーレジスタ19
を有する。アクセス制御部21のアクセス監視20の機
能は、セマフォ変数の値に違反するデータバッファ18
へのアクセスを検出し、そのエラー情報をエラーレジス
タ19に書き込むものである。違反の判定方法はアクセ
ス制限17の機能に含まれるものと同様であり、兼用で
きる。
The shared I / O 3 is provided in the error register 19
Having. The function of the access monitor 20 of the access control unit 21 is that the data buffer 18 violates the value of the semaphore variable.
Is detected, and the error information is written into the error register 19. The method of judging a violation is the same as that included in the function of the access restriction 17 and can be used in common.

【0028】エラーレジスタ19は、I/O内部のアク
セス制御部21と共通バス4を介して処理装置1,2に
読み出されることで、異常の発生を知ることができる。
なお、いずれかのプロセッサに対して割り込み通知手段
を設けて、異常を知らせても良い。
The error register 19 is read out to the processing units 1 and 2 via the access control unit 21 in the I / O and the common bus 4 so that it is possible to know the occurrence of an abnormality.
Note that an interrupt notification unit may be provided for any of the processors to notify an abnormality.

【0029】以下、図3、図4のフローチャートを用い
て、共有I/O内部のアクセス制御部21が行なう詳細
処理手順を説明する。共有I/O3へのアクセス要求を
検出したら(S201)、セマフォ変数のアクセスであれば
(S202)、セマフォ変数アクセス(読み出し、または書
き込み)を実行する(S207)。また、データバッファア
クセスであれば(S203)、データバッファアクセス応答
動作を行う(S206)。また、エラーレジスタアクセスで
あれば(S204)、エラーレジスタアクセス(読み出し、
または書き込み)を実行する(S205)。
The detailed processing procedure performed by the access control unit 21 in the shared I / O will be described below with reference to the flowcharts of FIGS. When an access request to the shared I / O 3 is detected (S201), if the access is to a semaphore variable (S202), a semaphore variable access (read or write) is executed (S207). If it is a data buffer access (S203), a data buffer access response operation is performed (S206). In the case of error register access (S204), error register access (read,
Or writing) (S205).

【0030】図4にデータバッファアクセス応答動作の
詳細を示す。データバッファアクセスにおいて、セマフ
ォ変数が0でないなら(S302)、データバッファアクセ
スを実行する(S303)。一方、セマフォ変数が0なら
(S302)、データバッファアクセスを実行せず、セマフ
ォ手順の誤りを検出したものとして、エラーレジスタ1
9にエラー情報を書き込む(S304)。
FIG. 4 shows details of the data buffer access response operation. In the data buffer access, if the semaphore variable is not 0 (S302), the data buffer access is executed (S303). On the other hand, if the semaphore variable is 0 (S302), the data buffer access is not executed, and it is determined that an error in the semaphore procedure has been detected.
The error information is written in No. 9 (S304).

【0031】本実施例によれば、データバッファアクセ
スの際に行なうべきセマフォ手順を、いずれのプロセッ
サも行わないままで、データバッファアクセスが実行さ
れることは無くなる。
According to this embodiment, the data buffer access is not executed without any processor performing the semaphore procedure to be performed at the time of data buffer access.

【0032】次に、本発明の第2の実施例を図5から図
7を用いて説明する。第2の実施例では、セマフォ変数
の値として0と1を用いるのではなく、0とプロセッサ
毎に固有の値(装置情報)を用いて、より詳細な手順誤
りの検出を行うものである。
Next, a second embodiment of the present invention will be described with reference to FIGS. In the second embodiment, a more detailed procedure error is detected by using 0 and a value (device information) unique to each processor, instead of using 0 and 1 as the values of the semaphore variables.

【0033】図5にデータ処理装置の構成を示す。図1
と異なる点はセマフォ変数として装置情報901を用いる
ことである。装置情報とは、初期値として0、プロセッ
サ毎に固有の値として例えば処理装置Aのプロセッサ5
には値「1」を、処理装置Bのプロセッサ6には値
「2」をあらかじめ割り当てる。
FIG. 5 shows the configuration of the data processing device. FIG.
The difference is that the device information 901 is used as a semaphore variable. The device information is 0 as an initial value and a value unique to each processor, for example, the processor 5 of the processing device A.
Is assigned a value “1” in advance, and a value “2” is assigned in advance to the processor 6 of the processing device B.

【0034】図6に各プロセッサが行うセマフォ手順を
示す。図2と異なるところは、セマフォ変数の書き換え
の値として、各プロセッサはあらかじめ割り当てた装置
情報を用いる(S103−1)点にある。共有I/O内部の
処理手順は図3と同様であるが、データバッファアクセ
ス応答動作(S301)は、図7に詳しい手順を示す。
FIG. 6 shows a semaphore procedure performed by each processor. The difference from FIG. 2 is that each processor uses device information assigned in advance as a value for rewriting a semaphore variable (S103-1). The processing procedure inside the shared I / O is the same as that of FIG. 3, but the data buffer access response operation (S301) shows the detailed procedure in FIG.

【0035】図7は図4と異なり、装置情報と一致する
プロセッサからのアクセスであるか、その整合を検査す
る(S302−1)。装置情報と一致するプロセッサからの
アクセスであれば、許可状態のプロセッサであるから、
データバッファアクセスを実行する(S303)。そうでな
ければ実行せず、エラーレジスタにエラー情報を書き込
む(S304)。
FIG. 7 differs from FIG. 4 in that it checks whether the access is from a processor that matches the device information or not (S302-1). If the access is from a processor that matches the device information, the processor is in a permitted state.
The data buffer access is executed (S303). Otherwise, execution is not performed, and error information is written to the error register (S304).

【0036】つまり、例えばセマフォ変数の値が1であ
るとき、処理装置Aのプロセッサ5からのデータバッフ
ァアクセスは実行するが、処理装置Bのプロセッサ6か
らのデータバッファアクセスは実行しない。また、例え
ばセマフォ変数の値が0であるときは、いずれのプロセ
ッサ5,6からのデータバッファアクセスも実行しな
い。
That is, for example, when the value of the semaphore variable is 1, the data buffer access from the processor 5 of the processing device A is executed, but the data buffer access from the processor 6 of the processing device B is not executed. Further, for example, when the value of the semaphore variable is 0, no data buffer access from any of the processors 5 and 6 is executed.

【0037】このように、データバッファのアクセスの
際に行なうべきセマフォ手順を、いずれのプロセッサも
行わないまま、データバッファアクセスが実行されるこ
とは無くなるのは第1の実施例と同様である。さらに、
第2の実施例では、プロセッサ毎の手順誤りを識別して
制限、検出することができる。
As described above, the semaphore procedure to be performed at the time of accessing the data buffer is not executed by any processor without performing any semaphore procedure, as in the first embodiment. further,
In the second embodiment, it is possible to identify, limit, and detect a procedure error for each processor.

【0038】次に第3の実施例を説明する。第2の実施
例の変形であり、セマフォ変数の書き換え手順(不可分
なセマフォアクセスの処理)の誤りを制限、検出する方
法を説明する。ここでは、セマフォ変数アクセス実行
(S207)のような単純な読み出し/書き込みの単一動作
ではなく、手順を踏まえたセマフォアクセス応答動作を
実行する。
Next, a third embodiment will be described. A method of limiting and detecting an error in a semaphore variable rewriting procedure (inseparable semaphore access processing), which is a modification of the second embodiment, will be described. Here, a semaphore access response operation based on the procedure is executed instead of a simple read / write single operation as in the semaphore variable access execution (S207).

【0039】図8に、セマフォアクセス応答動作の手順
を示す。まず、セマフォ変数の書き込み(書き換え)で
あるか判別する(S402)。読み出し動作であれば、その
ままセマフォ変数アクセス(読み出し)を実行してよい
(S407)。一方、書き込みであれば、正規の手順で行わ
れているとみなせる場合と、そうでないときに判断が分
かれる。
FIG. 8 shows the procedure of the semaphore access response operation. First, it is determined whether a semaphore variable is written (rewritten) (S402). If it is a read operation, semaphore variable access (read) may be executed as it is (S407). On the other hand, in the case of writing, the judgment is divided into a case where it can be regarded as being performed in a regular procedure and a judgment when it is not.

【0040】正規の手順で行われているとみなせる場合
とは、セマフォ変数が0になっているときに(S403)、
0でない値を書き込もうとするときと(S404:No)、セ
マフォ変数が0でないとき0の値を書き込もうとすると
き(S406:Yes)であり、セマフォ変数アクセス(書込
み)を実行する(S407)。
When the semaphore variable is set to 0 (S403),
A semaphore variable access (write) is executed (S407) when a non-zero value is to be written (S404: No), and when a semaphore variable is not 0 and a zero value is to be written (S406: Yes).

【0041】正規の手順で行われていないとみなせる場
合とは、セマフォ変数が0になっているとき0の値を書
き込もうとするときと(S404:Yes)、セマフォ変数が
0でないとき0でない値を書き込もうとするとき(S40
6:No)であり、セマフォ変数アクセスを制限して実行
せず、監視結果としてエラーレジスタにエラー情報を書
き込む(S405)。
When the semaphore variable is 0, the value of 0 is to be written (S404: Yes), and when the semaphore variable is not 0, the value is not 0. When trying to write (S40
6: No), the semaphore variable access is not restricted and executed, and error information is written to the error register as a monitoring result (S405).

【0042】第3の実施例によれば、セマフォ変数の書
き換え手順における書き換え制限、誤りの監視検出をす
ることができる。
According to the third embodiment, it is possible to limit the rewriting in the semaphore variable rewriting procedure and to monitor and detect errors.

【0043】次に、第4の実施例を図9に示す。3つの
処理装置301,302,303と2つの共有I/O304,305か
らなるシステムである。
Next, a fourth embodiment is shown in FIG. This is a system including three processing devices 301, 302, 303 and two shared I / Os 304, 305.

【0044】共通バス350は各処理装置301,302,303と
共有I/O−A304を接続し、各処理装置からの共有I
/O−A304へのアクセスを可能にする。共通バス351は
各処理装置301,302,303と共有I/O−B305を接続
し、各処理装置からの共有I/O−B305へのアクセス
を可能にする。例えば、処理装置a(301)が共有I/O
−A304へのアクセスをしながら、処理装置b(302)が共
有I/O−B305へのアクセスをすることができる。つ
まり、このような構成では、データの入出力を並行にで
き、高速な処理スループットを実現できる。
A common bus 350 connects each of the processing units 301, 302, and 303 to the shared I / O-A 304, and the shared bus from each of the processing units.
/ O-A 304 is enabled. The common bus 351 connects each of the processing devices 301, 302, and 303 to the shared I / O-B 305, and enables each processing device to access the shared I / O-B 305. For example, if the processing device a (301) has shared I / O
-While accessing the A 304, the processing device b (302) can access the shared I / O-B 305. That is, in such a configuration, data input / output can be performed in parallel, and high-speed processing throughput can be realized.

【0045】共有I/O−A304と共有I/O−B305は
異なる目的や異なるデータの入出力を行うもので、例え
ば高速通信機器、工業用制御機器とのI/Oである。し
かし、図1に示した共有I/O3と等しい特徴を持ち、
入出力データのデータバッファ339,340と、セマフォ変
数335,336と、アクセス制限337,338の機能と、アクセ
ス監視343,344の機能と、エラーレジスタ341,342を有
して、本発明によるデータ入出力の排他的保護と異常動
作検出を実現する。
The shared I / O-A 304 and the shared I / O-B 305 perform different purposes and input / output different data, and are, for example, I / O with high-speed communication equipment and industrial control equipment. However, it has the same characteristics as the shared I / O3 shown in FIG.
It has data buffers 339 and 340 for input / output data, semaphore variables 335 and 336, functions of access restrictions 337 and 338, functions of access monitors 343 and 344, and error registers 341 and 342, and stores data according to the present invention. Exclusive input / output protection and abnormal operation detection are realized.

【0046】各処理装置301,302,303の内部は,2つ
のプロセッサ307と308、309と310、311と312と、メモリ
313,314,315と、2つのブリッジ316と323、317と32
4、318と325と、ローカルI/O319,320,321を有す
る。内部バス326、327、328は2つのプロセッサとブリ
ッジ316,317,318を接続し、もう一つの内部バス329,
330,331は2つのブリッジ316と323,317と324,318と3
25とローカルI/O319,320,321を接続する。メモリ3
13,314,315とブリッジ316,317,318は一対一で接続
し、電気的負荷を抑える構成である。ローカルI/O31
9,320,321は、例えば各処理装置ごとにメンテナンス
を行うための端末装置とのシリアル通信インタフェイス
や、システムプログラムを有するストレージ装置とのイ
ンタフェイスである。
Each processor 301, 302, 303 has two processors 307 and 308, 309 and 310, 311 and 312, and a memory.
313, 314, 315, two bridges 316 and 323, 317 and 32
4, 318 and 325, and local I / Os 319, 320 and 321. Internal buses 326, 327, 328 connect the two processors and bridges 316, 317, 318, and another internal bus 329,
330 and 331 are two bridges 316 and 323, 317 and 324, 318 and 3
25 and local I / Os 319, 320, 321 are connected. Memory 3
13, 314, 315 and bridges 316, 317, 318 are connected in a one-to-one manner, so that the electrical load is suppressed. Local I / O31
Reference numerals 9, 320 and 321 denote serial communication interfaces with a terminal device for performing maintenance for each processing device and interfaces with a storage device having a system program.

【0047】このように、処理装置の内部構成が異なっ
ていたり、処理装置が3つ以上であったり、共有I/O
が2つ以上であった場合でも、本発明は適用可能である
ことを示している。各々の共有I/Oに対して個々にデ
ータ入出力の排他性の保護と異常動作の検出を実現する
ことができる。
As described above, the internal configuration of the processing device is different, the number of the processing devices is three or more, the shared I / O
This indicates that the present invention is applicable even when there are two or more. It is possible to individually protect the exclusiveness of data input / output and detect an abnormal operation for each shared I / O.

【0048】次に、本発明の適用例を説明する。図10
は、本発明のデータ処理装置を電子線描画装置へ適用し
たシステム構成を示す。電子線描画装置は半導体集積回
路の製造に用いられるもので、設計ルールの微細化やシ
リコンチップのサイズ拡大により、将来の描画データは
さらに膨大になると考えられるだけでなく、描画時間の
短縮化のため、データ処理の高速化が切望されている。
電子線描画装置におけるデータ処理とは、圧縮されてい
る描画データを復元したり、描画装置に特有の制御に使
用できる個々のデータへ変換して出力するものである。
Next, an application example of the present invention will be described. FIG.
1 shows a system configuration in which the data processing apparatus of the present invention is applied to an electron beam drawing apparatus. Electron beam lithography systems are used in the manufacture of semiconductor integrated circuits. With the miniaturization of design rules and the increase in the size of silicon chips, future drawing data will not only be enormous, but will also reduce the drawing time. Therefore, high-speed data processing has been desired.
The data processing in the electron beam drawing apparatus is to restore the compressed drawing data or to convert the data into individual data that can be used for control unique to the drawing apparatus and output the converted data.

【0049】本実施例の電子線描画システムはホスト計
算機401と、データ処理装置402と、描画制御部403と、
電子線描画装置本体404からなる。データ処理装置402は
図9に示した装置と同じで、ホスト計算機401から描画
データを受け取り、データ処理して特有の制御データに
変換して描画制御部403に出力する。描画制御部403は受
け取った制御データに基づいて電子線描画装置本体404
の描画制御を行う。
The electron beam drawing system according to the present embodiment includes a host computer 401, a data processing device 402, a drawing control unit 403,
It comprises an electron beam lithography apparatus main body 404. The data processing device 402 is the same as the device shown in FIG. 9, receives drawing data from the host computer 401, converts the drawing data into unique control data, and outputs it to the drawing control unit 403. The drawing control unit 403 is based on the received control data, and
Is performed.

【0050】本発明の適用によって、例えば共有I/O
−B305へのアクセスに異常が検出されたときは、処理
装置301,302,303のいずれかがホスト計算機401に通知
する。また、2つの処理装置が共有I/OA、Bを並列
処理できるので、処理スループットを向上できる。
By applying the present invention, for example, shared I / O
When an abnormality is detected in the access to the B 305, one of the processing devices 301, 302, and 303 notifies the host computer 401. Further, since the two processing devices can process the shared I / OA and B in parallel, the processing throughput can be improved.

【0051】図11に、異常を検出したときのホスト計
算機上の表示例を示す。違反するアクセスを行おうとし
たのは、処理装置b(302)であった場合である。デー
タ処理を処理装置a(301)と処理装置b(302)が並列
実行していて、処理装置c(303)が冗長な待機系であ
った場合、その後のデータ処理は処理装置a(301)と
処理装置c(303)に並列実行させてみることができ
る。
FIG. 11 shows a display example on the host computer when an abnormality is detected. An attempt to make a violating access is made by the processing device b (302). If the processing device a (301) and the processing device b (302) are executing data processing in parallel and the processing device c (303) is a redundant standby system, the subsequent data processing is performed by the processing device a (301). And the processing device c (303) can execute them in parallel.

【0052】[0052]

【発明の効果】本発明によれば、入出力データの不適正
なアクセスを抑止し、また、アクセス制限に違反するア
クセスが行われようとしたら異常として検出するので、
I/Oアクセスは排他的に保護されて異常なデータ入出
力を抑制し、冗長化による可用性向上に役立つ効果があ
る。
According to the present invention, improper access to input / output data is suppressed, and if an access that violates the access restriction is attempted, it is detected as abnormal.
The I / O access is exclusively protected, suppressing abnormal data input / output, and has the effect of improving availability through redundancy.

【図面の簡単な説明】[Brief description of the drawings]

【図1】本発明の第1の実施例によるデータ処理装置の
構成を示すブロック図。
FIG. 1 is a block diagram showing a configuration of a data processing device according to a first embodiment of the present invention.

【図2】セマフォ手順を示すフローチャート。FIG. 2 is a flowchart showing a semaphore procedure.

【図3】第1の実施例による共有I/Oアクセスの手順
を示すフローチャート。
FIG. 3 is a flowchart showing a procedure of shared I / O access according to the first embodiment.

【図4】第1の実施例によるデータバッファアクセス応
答動作を示すフローチャート。
FIG. 4 is a flowchart showing a data buffer access response operation according to the first embodiment;

【図5】第2の実施例によるデータ処理装置の構成を示
すブロック図。
FIG. 5 is a block diagram showing a configuration of a data processing device according to a second embodiment.

【図6】第2の実施例によるセマフォ手順を示すフロー
チャート。
FIG. 6 is a flowchart showing a semaphore procedure according to the second embodiment.

【図7】第2の実施例によるデータバッファアクセス応
答動作を示すフローチャート。
FIG. 7 is a flowchart showing a data buffer access response operation according to the second embodiment.

【図8】第3の実施例によるセマフォ変数アクセス応答
動作を示すフローチャート。
FIG. 8 is a flowchart showing a semaphore variable access response operation according to the third embodiment.

【図9】第4の実施例によるデータ処理装置の構成を示
すブロック図。
FIG. 9 is a block diagram showing a configuration of a data processing device according to a fourth embodiment.

【図10】本発明のデータ処理装置の適用例を示す電子
線描画装置のシステム構成を示す概略図。
FIG. 10 is a schematic diagram showing a system configuration of an electron beam drawing apparatus showing an application example of the data processing apparatus of the present invention.

【図11】異常検出時のモニタ画面上のエラー表示の例
示図。
FIG. 11 is an exemplary view showing an error display on a monitor screen when an abnormality is detected.

【図12】従来技術を示すデータ処理装置のブロック
図。
FIG. 12 is a block diagram of a data processing device showing a conventional technique.

【符号の説明】[Explanation of symbols]

1,2…処理装置、3…共有I/O、4…共通バス、
5,6…プロセッサ、7,8…メモリ、9,10…ブリ
ッジ、16…セマフォ変数、17…アクセス制限、18
…データバッファ、19…エラーレジスタ、20…アク
セス監視、21…アクセス制御部。
1, 2 ... processing device, 3 ... shared I / O, 4 ... common bus,
5, 6 processor, 7, 8 memory, 9, 10 bridge, 16 semaphore variable, 17 access restriction, 18
... data buffer, 19 ... error register, 20 ... access monitoring, 21 ... access control unit.

───────────────────────────────────────────────────── フロントページの続き (72)発明者 安藤 公明 茨城県ひたちなか市大字市毛882番地 株 式会社日立製作所計測器グループ内 Fターム(参考) 5B045 BB12 BB30 EE08 EE19 JJ02 JJ07 JJ09  ────────────────────────────────────────────────── ─── Continuing on the front page (72) Inventor Kimiaki Ando 882, Ichimo, Hitachinaka-shi, Ibaraki F-term in the measuring instrument group of Hitachi, Ltd. (Reference) 5B045 BB12 BB30 EE08 EE19 JJ02 JJ07 JJ09

Claims (7)

【特許請求の範囲】[Claims] 【請求項1】 複数のプロセッサと共有I/Oを備える
データ処理装置において、 前記共有I/Oは変数を有し、前記複数のプロセッサは
前記変数をセマフォ変数としてアクセスし、前記共有I
/Oは少なくとも前記セマフォ変数の値により入出力デ
ータの不適正なアクセスを抑止することを特徴とするデ
ータ処理装置。
1. A data processing apparatus comprising a plurality of processors and a shared I / O, wherein the shared I / O has a variable, the plurality of processors access the variable as a semaphore variable, and
/ O suppresses inappropriate access to input / output data by at least the value of the semaphore variable.
【請求項2】 複数のプロセッサと共有I/Oを備える
データ処理装置において、 前記共有I/Oは変数を有し、前記複数のプロセッサは
前記変数をセマフォ変数としてアクセスし、前記共有I
/Oは少なくとも前記セマフォ変数の値により決定され
るアクセス制限に違反する共有I/Oアクセスが行われ
ていないか監視し、違反するアクセスを異常として検出
することを特徴とするデータ処理装置。
2. A data processing apparatus comprising a plurality of processors and a shared I / O, wherein the shared I / O has a variable, the plurality of processors access the variable as a semaphore variable, and
/ O monitors whether or not shared I / O access that violates the access restriction determined by at least the value of the semaphore variable is performed, and detects the violating access as abnormal.
【請求項3】 複数のプロセッサと共有I/Oを備える
データ処理装置において、 前記共有I/Oは初期値が所定値、変化値が前記プロセ
ッサ毎に割り当てられた変数を有し、前記複数のプロセ
ッサは前記変数をセマフォ変数としてアクセスし、前記
共有I/Oは少なくとも前記セマフォ変数の値により決
定されるアクセス制限に違反する共有I/Oアクセスが
行われていないか監視し、違反するアクセスがあればそ
の変化値から該当するプロセッサを異常として検出する
ことを特徴とするデータ処理装置。
3. A data processing device comprising a plurality of processors and a shared I / O, wherein the shared I / O has a variable whose initial value is assigned to a predetermined value and whose change value is assigned to each of the processors, The processor accesses the variable as a semaphore variable, and the shared I / O monitors whether at least a shared I / O access that violates an access restriction determined by a value of the semaphore variable is performed. A data processing device characterized by detecting a corresponding processor as an abnormality from the change value, if any.
【請求項4】 請求項3において、 前記共有I/Oは前記プロセッサからのアクセスがセマ
フォ変数アクセスの場合に変数書込みかを判定し、変数
読出しの場合はそのままセマフォ変数アクセスを実行
し、変数書込みの場合で正規の手順で行なわれていない
とみなせる場合は前記セマフォアクセスを実行せず、エ
ラー情報をエラーレジスタに書き込むことを特徴とする
データ処理装置。
4. The shared I / O according to claim 3, wherein the shared I / O determines whether the access from the processor is a variable write if the access is a semaphore variable access, and if the access is a variable read, executes the semaphore variable access as it is, In the case of (1), if it is determined that the semaphore access has not been performed, the semaphore access is not performed, and error information is written in an error register.
【請求項5】 請求項1〜4のいずれかにおいて、 前記共有I/Oを複数有し、前記複数の処理装置と各共
有I/Oをそれぞれ共通バスで接続し、前記共有I/O
へのデータの入出力を並列に実行できることを特徴とす
るデータ処理装置。
5. The shared I / O according to claim 1, wherein the shared I / O includes a plurality of the shared I / Os, and the plurality of processing devices and the respective shared I / Os are respectively connected by a common bus.
A data processing device capable of executing data input / output to / from a computer in parallel.
【請求項6】 変数を有し、前記変数は複数のプロセッ
サからセマフォ変数としてアクセス可能であり、少なく
とも前記セマフォ変数の値により決定されるアクセス制
限に違反するI/Oデータアクセスが行われていないか
を監視し、違反するI/Oデータアクセスを異常として
検出することを特徴とするI/Oデバイス。
6. A semaphore variable having a variable, wherein the variable is accessible from a plurality of processors, and at least I / O data access violating an access restriction determined by a value of the semaphore variable is not performed. An I / O device that monitors whether the I / O data access is in violation and detects the violation as an error.
【請求項7】 ホスト計算機と、データ処理装置と、描
画制御部と、電子線描画制御部本体を備え、半導体集積
回路の製造に用いられる電子線描画装置において、 前記データ処理装置に、請求項1〜5の何れかに記載の
前記データ処理装置を用いることを特徴とする電子線描
画装置。
7. An electron beam drawing apparatus used for manufacturing a semiconductor integrated circuit, comprising a host computer, a data processing device, a drawing control unit, and an electron beam drawing control unit main body. An electron beam drawing apparatus using the data processing apparatus according to any one of claims 1 to 5.
JP2001137111A 2001-05-08 2001-05-08 Data processor Pending JP2002334068A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2001137111A JP2002334068A (en) 2001-05-08 2001-05-08 Data processor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2001137111A JP2002334068A (en) 2001-05-08 2001-05-08 Data processor

Publications (1)

Publication Number Publication Date
JP2002334068A true JP2002334068A (en) 2002-11-22

Family

ID=18984265

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001137111A Pending JP2002334068A (en) 2001-05-08 2001-05-08 Data processor

Country Status (1)

Country Link
JP (1) JP2002334068A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012519316A (en) * 2009-04-06 2012-08-23 株式会社日立製作所 Storage subsystem and control method thereof
JP2017204298A (en) * 2011-10-27 2017-11-16 エヌエックスピー ユーエスエイ インコーポレイテッドNXP USA,Inc. Systems and methods for semaphore-based protection of shared system resources

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012519316A (en) * 2009-04-06 2012-08-23 株式会社日立製作所 Storage subsystem and control method thereof
JP2017204298A (en) * 2011-10-27 2017-11-16 エヌエックスピー ユーエスエイ インコーポレイテッドNXP USA,Inc. Systems and methods for semaphore-based protection of shared system resources

Similar Documents

Publication Publication Date Title
US10983924B2 (en) Information processing device and processor
TWI597953B (en) Pcie network system with failover capability and operation method thereof
JP3807250B2 (en) Cluster system, computer and program
US8286027B2 (en) Input/output device including a mechanism for accelerated error handling in multiple processor and multi-function systems
JP5308629B2 (en) Multiprocessor system and access protection method in multiprocessor system
JP2004054949A (en) Multiple hardware partitions under one input/output hub
JPWO2010097925A1 (en) Information processing device
US6496878B1 (en) Transfer progress alert module
US7852235B1 (en) High integrity computing via input synchronization systems and methods
US8402320B2 (en) Input/output device including a mechanism for error handling in multiple processor and multi-function systems
US8607105B1 (en) Memory test circuit and memory test techniques
JP2002334068A (en) Data processor
US7725761B2 (en) Computer system, fault tolerant system using the same and operation control method and program thereof
US20070150670A1 (en) Semiconductor integrated circuit
CA2498656A1 (en) Method for synchronizing events, particularly for processors of fault-tolerant systems
JP2013164873A (en) Multiprocessor system
JPH03656B2 (en)
JP7449308B2 (en) Lock circuit for contention kernels during hardware acceleration
JP6992295B2 (en) Electronic device
WO2009113571A1 (en) Information processing device and method capable of operating a plurality of basic software programs
JP3340284B2 (en) Redundant system
JP2021166424A (en) Protective relay device
JP2003345515A (en) Disk controller, storage system, and method for controlling the same
JPH02282847A (en) Memory protection system for personal computer
CN116662984A (en) Memory isolation device and multi-core computing system based on same