JPS62151970A - Lock byte access system - Google Patents
Lock byte access systemInfo
- Publication number
- JPS62151970A JPS62151970A JP29433085A JP29433085A JPS62151970A JP S62151970 A JPS62151970 A JP S62151970A JP 29433085 A JP29433085 A JP 29433085A JP 29433085 A JP29433085 A JP 29433085A JP S62151970 A JPS62151970 A JP S62151970A
- Authority
- JP
- Japan
- Prior art keywords
- lock
- memory
- request
- address
- byte
- 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
Links
Landscapes
- Multi Processors (AREA)
Abstract
Description
【発明の詳細な説明】 〔産業上の利用分野〕 本発明はロックバイトアクセス方式に関する。[Detailed description of the invention] [Industrial application field] The present invention relates to a lock byte access method.
複数の処理装置(中央処理装置や入出力処理装置等)で
構成されるコンピュータシステムにおいては、周知のよ
うに、各処理装置による処理の順序性が重要となる。た
とえば、第1の処理装置が作成したメツセージを第2の
処理装置が引取るような場合に、第2の処理装置はメツ
セージの作成完了を待ってからこれを引取るだめの動作
を開始する必要がある。As is well known, in a computer system configured with a plurality of processing units (such as a central processing unit and an input/output processing unit), the order of processing by each processing unit is important. For example, when a second processing device receives a message created by a first processing device, the second processing device needs to wait for the creation of the message to be completed before starting the operation of receiving the message. There is.
このような処理の順序を守るために、メモリの所定エリ
アに設定されたロックバイトを読出し、このロックバイ
トの内容を判別することにより、処理未了か処理終了か
を表現するようにしている。In order to maintain the order of such processing, a lock byte set in a predetermined area of the memory is read out, and the content of this lock byte is determined to indicate whether processing is incomplete or completed.
従来のこの種のロックバイトアクセス方式は、主記憶装
置やキャシェメモリにロックエリアを設けてそこに所定
のロックバイトを予め書込んでおき、処理装置は通常デ
ータをアクセスするためのメモリリクエストと同様にし
てロックバイトエリアをアクセスするためのロックリク
エストをメモリ制御装置へ適時に出力し、ロック動作あ
るいはアンロック動作を実行するようにしている。In the conventional lock byte access method of this type, a lock area is provided in the main memory or cache memory, a predetermined lock byte is written there in advance, and the processing unit handles the same memory requests as normal data accesses. A lock request for accessing the lock byte area is outputted to the memory control device in a timely manner, and a locking or unlocking operation is executed.
メモリ制御装置にキャシュメモリを備えている場合には
、主記憶装置上に定義されたロックバイトを初めて読出
すときは、通常、主記憶装置のロックバイトエリアを読
出し、その読出処理の過程でキャシュメモリのロックバ
イトエリアに当該ロックバイトの写しを書込み、次回か
らのこのロックバイトの読出はキャシュメモリを読出す
ことによりロックバイト読出時間の削減を図っている。When the memory control unit is equipped with a cache memory, when reading the lock byte defined on the main memory for the first time, the lock byte area of the main memory is usually read and the cache is saved in the process of reading. A copy of the lock byte is written in the lock byte area of the memory, and the lock byte is read from the cache memory the next time, thereby reducing the lock byte reading time.
。
〔発明が解決しようとする問題点〕
ところで、ロックを取りに来たロックリクエストに対し
ロックバイトがロック状態を表わしているときには、メ
モリ制御装置はロックリクエスト元の処理装置にロック
不成功であることを通知する必要があり、またロックリ
クエスト元は、通常、ロックが成功するまでロックリク
エストを出し続けるが、前述のような従来方式において
は、ロックバイトエリアが主記憶装置やキャシュメモリ
に備えられているため、ロックリクエストに対する応答
時間が長くなるので、ロック不成功となり、したがって
実質的に無意味なロックリクエストで主記憶アクセスパ
スあるいはキャシュメモリを無駄に占有するとと如なシ
、メモリ制御装置のトータルスループットを低下させる
という問題点がある。. [Problem to be Solved by the Invention] By the way, when the lock byte indicates a locked state in response to a lock request that has come to acquire a lock, the memory control device informs the processing device that issued the lock request that the lock was unsuccessful. In addition, the lock request source usually continues to issue lock requests until the lock is successful, but in the conventional method described above, the lock byte area is provided in main storage or cache memory. As a result, the response time to a lock request becomes longer, resulting in a lock failure.Therefore, if the main memory access path or cache memory is wasted with a substantially meaningless lock request, the total cost of the memory control device will be reduced. There is a problem that throughput is reduced.
本発明の方式は、複数処理装置に共用されるメモリ制御
装置内に備えられかつ処理装置からのメモリアクセスに
伴う実メモリアドレスを物理メモリアドレスに変換する
テーブルに、
物理メモリアドレス対応の少なくとも1つのロックバイ
トエリアを設けて、
メモリ制御装置によ多制御される主記憶装置上に定義さ
れたロックバイトのうちの所定のロックバイトをロック
バイトエリアに予め登録しておき、処理装置はロックリ
クエスト時にロックバイトエリアをアクセスしてロック
動作あるいはアンロック動作を実行するようにしたこと
を特徴とする。The method of the present invention includes at least one table corresponding to a physical memory address that is provided in a memory control device shared by a plurality of processing devices and that converts a real memory address accompanying a memory access from a processing device into a physical memory address. A lock byte area is provided, and a predetermined lock byte among lock bytes defined on the main memory that is controlled by the memory control device is registered in advance in the lock byte area, and the processing device The present invention is characterized in that a locking operation or an unlocking operation is executed by accessing a lock byte area.
次に本発明の実施例について図面を参照して説明する。 Next, embodiments of the present invention will be described with reference to the drawings.
第1図は本発明の一実施例および第2図は本実施例のハ
ードウェア環境をそれぞれ示すブロック図である。FIG. 1 is a block diagram showing an embodiment of the present invention, and FIG. 2 is a block diagram showing the hardware environment of this embodiment.
先ず第2図を参照すると、本ハードウェア環境は2つの
中央処理装置(以下CPUと記す)100および200
と、2つの入出力処理装置(以下工OPと記す)300
および400と、これらの処理装置群に共用されるメモ
リ制御装置(以下MCUと記す)500と、MCU30
0によ多制御される主記憶装置(MMU)600とから
成る。First, referring to FIG. 2, this hardware environment consists of two central processing units (hereinafter referred to as CPUs) 100 and 200.
and two input/output processing devices (hereinafter referred to as OP) 300
and 400, a memory control unit (hereinafter referred to as MCU) 500 shared by these processing device groups, and MCU 30.
0 and a main memory unit (MMU) 600 that is controlled by the computer.
処理装置群は、MCU300に対してMMU 600や
MCU300に含まれるキャシュメモリに対する読出動
作や書込動作を要求するメモリリクエストあるいはロッ
ク動作やアンロック動作を要求するロックリクエストを
アドレスや書込データと共にMCU300に送出する。The processing device group sends a memory request requesting a read operation or write operation to the MMU 600 or a cache memory included in the MCU 300 or a lock request requesting a lock operation or unlock operation to the MCU 300 together with an address and write data. Send to.
MCU300はキャシュメモリ(図示省略する)を内蔵
しているが、各処理装置からキャシュメモリあるいはM
MU600をアクセスするためのメモリパスは1つしか
ない。The MCU 300 has a built-in cache memory (not shown);
There is only one memory path to access the MU 600.
このため、複数個のメモリリクエストやロックリクエス
トが重畳して出力されたときには、MCU300は予め
定めた優先順位に基づき1つのメモリリクエストあるい
はロックリクエストのみを受付けるようKなっている。Therefore, when multiple memory requests or lock requests are output in a superimposed manner, the MCU 300 is designed to accept only one memory request or lock request based on a predetermined priority order.
MCU300は受付はメモリリクエストあるいはロック
リクエストに付帯する、それぞれ実メモリアドレスある
いはロックバイトアドレスとリクエストコードとに基づ
き、キャシュメモリまたはMMU600をアクセスして
、その結果をリプライ信号と共にメモリリクエストある
いはロックリクエストの要求元装置へ送出する。The MCU 300 accesses the cache memory or MMU 600 based on the real memory address or lock byte address and request code attached to the memory request or lock request, respectively, and sends the result along with a reply signal to the memory request or lock request. Send to the source device.
次に、MCU300の詳細を示す第1図を参照すると、
第1図にはフローティングアドレスレジスタ(FLOA
TING ADDRES8 REGISTER。Next, referring to FIG. 1 showing details of the MCU 300,
Figure 1 shows the floating address register (FLOA).
TING ADDRES8 REGISTER.
以下FAR,と記す)テーブル10を中心にして、リク
エストアドレスレジスタ20.リクエストコ−ドレジス
タ30.ロックバイトアドレスレジスタ40.ロックデ
ータレジスタ50.ロック・アンロック制御回路60お
よびセレクタ70が示されている。MCU300は、も
ちろん、これら以外の多数の回路を含んでいるが、図面
の繁雑化を回避しまた説明を単純化するために、本発明
の特徴となる部分のみを図示した。(hereinafter referred to as FAR) table 10, request address register 20. Request code register 30. Lock byte address register 40. Lock data register 50. A lock/unlock control circuit 60 and a selector 70 are shown. Of course, the MCU 300 includes many other circuits, but in order to avoid complicating the drawings and simplify the explanation, only the portions that are characteristic of the present invention are illustrated.
リクエストアドレスレジスタ20.リクエストコードレ
ジスタ30.ロックバイトアドレスレジスタ40および
ロックデータレジスタ50は、処理装置群100〜40
0からのメモリリクエストやロックリクエスト受付は時
に、それぞれのリクエストに付随するリクエストアドレ
ス、リクエストコード、ロックバイトアドレスおよびロ
ックデータが入る。これらの入力は、処理装置群100
〜400からのメモリリクエストやロックリクエストが
重畳した場合には予め定められた優先順位に基づいて一
つのみが選択されて行なわれる。Request address register 20. Request code register 30. The lock byte address register 40 and the lock data register 50 are connected to the processing device groups 100 to 40.
When accepting a memory request or a lock request from 0, the request address, request code, lock byte address, and lock data that accompany each request are sometimes included. These inputs are sent to the processing device group 100.
When memory requests and lock requests from 400 to 400 overlap, only one is selected and executed based on a predetermined priority order.
FARテーブル10は、リクエストアドレスのうちの上
位ビットによって定まる実メモリアドレス対応にエント
リを有し、各エントリは実メモリアドレスと1対1対応
の物理メモリアドレス13゜実メモリアドレスと1対N
(N≧1)対応のロックバイト14.物理メモリアドレ
ス13の有効とット11およびロックバイト14の有効
ビット12を保持する各欄から構成される。The FAR table 10 has entries corresponding to real memory addresses determined by the upper bits of the request address, and each entry has a 1:1 physical memory address with a 1:1 correspondence with the real memory address and a 1:N correspondence with the real memory address.
(N≧1) corresponding lock bite 14. It consists of columns that hold valid bits 11 of physical memory addresses 13 and valid bits 12 of lock bytes 14.
リクエストアドレスレジスタ20は、また、FAR,テ
ーブル10に物理メモリアドレス13とその有効ビット
11やロックバイト14に対する有効ビット12をロー
ドするときに使用される。すなわち、システム立上げ時
には処理装置群のうちでホストとなるCPU100また
は200が、実メモリアドレス対応の物理メモリアドレ
ス13を有効ビット11(論理111となっている)と
共にリクエストアドレスレジスタ20を介してFARテ
ーブル10に書込み、更に、MMU600に格納されて
いるロックバイトのうちで頻繁に使用されるものをMM
U 600またはキャシュメモリからセレクタ70を介
し、また、その有効ビット12をリクエストアドレスレ
ジスタ20を介してそれぞれFARテーブル10に書込
む。このときのFARテーブル10に対する書込みアド
レスはリクエストアドレスレジスタ20により、また、
ロックバイト14の書込みアドレスはロックバイトアド
レスレジスタ40によりそれぞれ与えられる。The request address register 20 is also used to load the physical memory address 13 and its valid bit 11 and valid bit 12 for the lock byte 14 into the FAR table 10. That is, at system start-up, the CPU 100 or 200, which is the host among the processing units, sends the physical memory address 13 corresponding to the real memory address to the FAR along with the valid bit 11 (logical 111) via the request address register 20. Write to table 10, and write frequently used lock bytes stored in MMU 600 to MM
Writes the valid bit 12 from the U 600 or cache memory to the FAR table 10 via the selector 70 and the request address register 20, respectively. At this time, the write address for the FAR table 10 is determined by the request address register 20, and
The write addresses of lock bytes 14 are provided by lock byte address registers 40, respectively.
さて、以上のようにしてFARテーブル10に物理メモ
リアドレス13とロックバイト14とがロードされると
、本コンピュータシステムを稼動させることができるよ
うになる。処理装置群は実行すべきプログラムに基づい
てメモリリクエストやロックリクエストをMCU300
に出力する。Now, when the physical memory address 13 and lock byte 14 are loaded into the FAR table 10 as described above, the present computer system can be operated. The processing units send memory requests and lock requests to the MCU 300 based on the program to be executed.
Output to.
リクエストコードレジスタ30に入力するリクエストコ
ードがメモリリクエストであるときには、リクエストア
ドレスレジスタ20に入力している実メモリアドレスに
よってFARテーブル10から物理メモリアドレス13
がその有効とット11と共に読出される。有効ビット1
1が論理111であれば、対応する物理メモリアドレス
13は有効であり、メモリリクエスト元の処理装置はそ
の物理メモリアドレスに対して読出動作または書込−9
、−
に\
動作を行なう。MMU600を構成するメモリモジュー
ル等が故障している場合には、対応する物理メモリアド
レス13の有効ビット11は論理10′になっており、
その物理メモリアドレス13対応の実メモリアドレス1
1がメモリリクエストされるとエラーとなる。When the request code input to the request code register 30 is a memory request, the physical memory address 13 is retrieved from the FAR table 10 according to the real memory address input to the request address register 20.
is read out along with its valid bit 11. Valid bit 1
If 1 is logical 111, then the corresponding physical memory address 13 is valid and the processing device requesting the memory cannot perform a read operation or a write operation on that physical memory address.
, − \ Perform the action. If a memory module or the like constituting the MMU 600 is out of order, the valid bit 11 of the corresponding physical memory address 13 becomes logic 10'.
Real memory address 1 corresponding to physical memory address 13
If 1 is requested for memory, an error will occur.
次に、リクエストコードレジスタ30に入力するリクエ
ストコードがロックリクエストであ如かつロック動作を
指示している場合には、リクエストアドレスレジスタ2
0とロックバイトアドレスレジスタ40とで指定される
ロックバイト14がFARテーブル10からロック・ア
ンロック制御回路60に読出される。ロック・アンロッ
ク制御回路60は、この読出し内容に基づいてロックが
成功したか不成功であるかを判断する。Next, if the request code input to the request code register 30 is a lock request and instructs a lock operation, the request address register 30
0 and the lock byte 14 specified by the lock byte address register 40 is read out from the FAR table 10 to the lock/unlock control circuit 60. The lock/unlock control circuit 60 determines whether the lock is successful or unsuccessful based on the read contents.
ロック成功、すなわち、当該ロックバイトがアンロック
状態を表示しかつ有効ビット12が論理111のときK
は、ロック拳アンロック制御回路60はロックデータレ
ジスタ50の保持内容をセレクタ70を介してFARテ
ーブル10のロックバイ−10=
ト14に有効ビット12と共に書込んでロック済みの表
示を行なうと共に、ロック成功の旨をロックリクエスト
元である処理装置に通知する。有効ビット12が論理1
01のときにはエラーとする。If the lock is successful, that is, the lock byte indicates an unlocked state and the valid bit 12 is logic 111, then K
In this case, the lock fist unlock control circuit 60 writes the contents held in the lock data register 50 to the lock byte 14 of the FAR table 10 through the selector 70 together with the valid bit 12 to indicate that the lock has been completed. Notify the processing device that made the lock request of success. Valid bit 12 is logic 1
If it is 01, it is considered an error.
また、ロック不成功、すなわち、当該ロックバイトがロ
ック状態を表示しているときには、ロック・アンロック
制御回路60はロック不成功の旨をロックリクエスト元
の処理装置に通知する。Further, when the lock is unsuccessful, that is, the lock byte indicates a locked state, the lock/unlock control circuit 60 notifies the lock requesting processing device of the lock failure.
リクエストコードがロックリクエストでありかつアンロ
ック動作を指示している場合には、ロック・アンロック
制御回路60は、リクエストアドレスレジスタ20とロ
ックバイトアドレスレジスタ40とで指定されるロック
バイトに、ロックデータレジスタ50で与えられるアン
ロック表示のデータを有効ビット12と共に書込む。When the request code is a lock request and instructs an unlock operation, the lock/unlock control circuit 60 stores the lock data in the lock byte specified by the request address register 20 and the lock byte address register 40. The unlock indication data given by the register 50 is written together with the valid bit 12.
ロック成功やアンロック動作指示によってロックバイト
14が更新された場合には、MCU300の制御部(図
示省略)は、後処理としてFARテーブル10の当該ロ
ックバイト14を読出し、MCU300またはキャシュ
メモリの対応するアドレスに書込んでおき、FARテー
ブル10の1写し1を保存するようにしている。When the lock byte 14 is updated due to a successful lock or an unlock operation instruction, the control unit (not shown) of the MCU 300 reads the lock byte 14 from the FAR table 10 as post-processing, and updates the corresponding lock byte 14 from the MCU 300 or cache memory. It is written in the address and one copy 1 of the FAR table 10 is saved.
〔発明の効果〕
本発明によれば、以上に説明したように、メモリアドレ
ス変換テーブルにロックバイトを保持させておくだめの
エリアを設けることにより、このエリアをアクセスする
ことでロック動作やアンロック動作を行なうことができ
るようになるため、複数個の処理装置に共用されるキャ
シュメモリや主記憶装置をアクセスする必要が無くなり
、メモリ制御装置のトータルスループットの低下を阻止
することができるという効果がある。[Effects of the Invention] According to the present invention, as explained above, by providing an area in the memory address conversion table to hold lock bytes, locking and unlocking can be performed by accessing this area. This eliminates the need to access the cache memory and main memory that are shared by multiple processing units, and has the effect of preventing a decline in the total throughput of the memory control unit. be.
第1図は本発明の一実施例および第2図は本実施例のハ
ードウェア環境をそれぞれ示す。
10・・・・−・70−ティングアドレスレジスタ(F
AH)テーブル、20・・・・・・リクエストアドレス
レジスタ、30・・・・・・リクエストコードレジスタ
、40・・・・・・ロックハイドアドレスレジスタ、5
0・・・・・・ロックデータレジスタ、60・・・・・
・ロック・アンロック制御回路、70・・・・−・セレ
クタ、100,200・・・・・・中央処理装置(CP
U)、300,400・・・・・・入出力処理装置(I
OP)、500・・・・・−メモリ制御装置(MCU)
、600・・・・・・主記憶装置。
第2図
第1図FIG. 1 shows an embodiment of the present invention, and FIG. 2 shows the hardware environment of this embodiment. 10...70-Ting address register (F
AH) Table, 20...Request address register, 30...Request code register, 40...Lockhide address register, 5
0...Lock data register, 60...
・Lock/unlock control circuit, 70...--Selector, 100, 200... Central processing unit (CP
U), 300, 400... Input/output processing device (I
OP), 500...-Memory control unit (MCU)
, 600... Main storage device. Figure 2 Figure 1
Claims (1)
かつ前記処理装置からのメモリアクセスに伴う実メモリ
アドレスを物理メモリアドレスに変換するテーブルに、 前記物理メモリアドレス対応の少なくとも1つのロック
バイトエリアを設けて、 前記メモリ制御装置により制御される主記憶装置上に定
義されたロックバイトのうちの所定のロックバイトを前
記ロックバイトエリアに予め登録しておき、 前記処理装置はロックリクエスト時に前記ロックバイト
エリアをアクセスしてロック動作あるいはアンロック動
作を実行するようにしたことを特徴とするロックバイト
アクセス方式。[Scope of Claims] A table that is provided in a memory control device shared by a plurality of processing devices and that converts a real memory address accompanying a memory access from the processing device into a physical memory address, includes at least one table corresponding to the physical memory address. one lock byte area is provided, a predetermined lock byte among lock bytes defined on a main storage device controlled by the memory control device is registered in advance in the lock byte area, and the processing device A lock byte access method characterized in that the lock byte area is accessed to execute a lock operation or an unlock operation at the time of a lock request.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP29433085A JPS62151970A (en) | 1985-12-25 | 1985-12-25 | Lock byte access system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP29433085A JPS62151970A (en) | 1985-12-25 | 1985-12-25 | Lock byte access system |
Publications (1)
Publication Number | Publication Date |
---|---|
JPS62151970A true JPS62151970A (en) | 1987-07-06 |
Family
ID=17806302
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP29433085A Pending JPS62151970A (en) | 1985-12-25 | 1985-12-25 | Lock byte access system |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPS62151970A (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0256663A (en) * | 1988-08-23 | 1990-02-26 | Hitachi Ltd | Lock data setting device |
-
1985
- 1985-12-25 JP JP29433085A patent/JPS62151970A/en active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0256663A (en) * | 1988-08-23 | 1990-02-26 | Hitachi Ltd | Lock data setting device |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US4733352A (en) | Lock control for a shared storage in a data processing system | |
US5721870A (en) | Lock control for a shared main storage data processing system | |
EP0258559B1 (en) | Cache memory coherency control provided with a read in progress indicating memory | |
EP0303661B1 (en) | Central processor unit for digital data processing system including write buffer management mechanism | |
US4831581A (en) | Central processor unit for digital data processing system including cache management mechanism | |
JPS59180767A (en) | Serializer | |
JPH0576060B2 (en) | ||
US4930106A (en) | Dual cache RAM for rapid invalidation | |
US5339397A (en) | Hardware primary directory lock | |
US4658356A (en) | Control system for updating a change bit | |
US6490662B1 (en) | System and method for enhancing the reliability of a computer system by combining a cache sync-flush engine with a replicated memory module | |
US5537609A (en) | Mini cache operational module for enhancement to general cache | |
US5557622A (en) | Method and apparatus for parity generation | |
JP2776759B2 (en) | Lock request control device | |
JP2813182B2 (en) | Multiprocessor computer multifunction device | |
JPS62151970A (en) | Lock byte access system | |
US5276892A (en) | Destination control logic for arithmetic and logic unit for digital data processor | |
JPS6153747B2 (en) | ||
JP3239935B2 (en) | Tightly-coupled multiprocessor system control method, tightly-coupled multiprocessor system, and recording medium therefor | |
JP2848437B2 (en) | Multi-cluster exclusive control unit | |
JPS62147560A (en) | Lock byte access system | |
JPS5858666A (en) | Data processor | |
EP0302926B1 (en) | Control signal generation circuit for arithmetic and logic unit for digital processor | |
JP2742246B2 (en) | Lock request control mechanism | |
JP2736352B2 (en) | Cache memory control method in multiprocessor system |