JPS61288243A - コンペアアンドスワツプ命令処理方式 - Google Patents
コンペアアンドスワツプ命令処理方式Info
- Publication number
- JPS61288243A JPS61288243A JP13101785A JP13101785A JPS61288243A JP S61288243 A JPS61288243 A JP S61288243A JP 13101785 A JP13101785 A JP 13101785A JP 13101785 A JP13101785 A JP 13101785A JP S61288243 A JPS61288243 A JP S61288243A
- Authority
- JP
- Japan
- Prior art keywords
- memory
- circuit
- data
- read
- compare
- 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
- Detection And Correction Of Errors (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
〔概要〕
メモリへのアクセス手段、例えばCPUにECC回路(
Error Checking And Correc
Lion)を設け、アクセス手段からメモリへアクセス
するコンペアアンドスワップ命令(以下、C8命令と略
称する)となったとき、ECC回路のリードモディファ
イライ) (RMW)機能を用いて前記CS命令の機能
を実現する。この技法により、CS命令の処理時間の短
縮化、メモリの使用効率の向上、制御回路の簡易化を達
成する。
Error Checking And Correc
Lion)を設け、アクセス手段からメモリへアクセス
するコンペアアンドスワップ命令(以下、C8命令と略
称する)となったとき、ECC回路のリードモディファ
イライ) (RMW)機能を用いて前記CS命令の機能
を実現する。この技法により、CS命令の処理時間の短
縮化、メモリの使用効率の向上、制御回路の簡易化を達
成する。
本発明はコンペアアンドスワップ方式に関し、更に詳し
く言えば、従来ソフト的処理によって遂行していたコン
ペアアンドスワップ機能をハード的に遂行し得るように
したコンベアアンドスワンプ命令処理方式に関する。
く言えば、従来ソフト的処理によって遂行していたコン
ペアアンドスワップ機能をハード的に遂行し得るように
したコンベアアンドスワンプ命令処理方式に関する。
電子計算機等のプログラム貯蔵形ディジタル処理装置は
そこへ予め与えられたプログラムの各命令を順次に実行
することによって、その装置に所望の処理を行なう□よ
うに構成されている。このようにプログラムは予め順序
立てられて組み合わされた一連の命令群から成るが、そ
の1つ1つの命令を実行する時間が短いことが装置性能
を決める大きな要素となるから、命令実行時間の短縮化
が望まれることになる。
そこへ予め与えられたプログラムの各命令を順次に実行
することによって、その装置に所望の処理を行なう□よ
うに構成されている。このようにプログラムは予め順序
立てられて組み合わされた一連の命令群から成るが、そ
の1つ1つの命令を実行する時間が短いことが装置性能
を決める大きな要素となるから、命令実行時間の短縮化
が望まれることになる。
又、上述のような命令の実行を行なうハードウェア乃至
ファームウェア形式の構成如何によってそのハード的難
易が生じ、これが又命令実行時間を左右するようになる
。
ファームウェア形式の構成如何によってそのハード的難
易が生じ、これが又命令実行時間を左右するようになる
。
従って、命令の実行形態としては、その実行時間の短縮
化を図りつつそのハードウェア乃至ファームウェア形式
の簡易化が求められる。
化を図りつつそのハードウェア乃至ファームウェア形式
の簡易化が求められる。
〔従来の技術〕
従来のディジタル計算機等には各種の命令が用意されて
いる。それら命令のうちにはコンペアアンドスワップ命
令(C3命令)がある。この命令は第5図の命令処理フ
ローに示す如き処理を行なうものである。即ち、第6図
のタイミングチャートに示すように、この命令がメモリ
をアクセスしている間、Lock信号を発生して他のア
クセスユニットによるメモリへのアクセスを禁止しつつ
メモリよりデータを読み出し■、その読み出し内容Sと
レジスタREG (A)の内容とを比較し■、その比較
結果に従ってつまりYesの場合にはレジスタREG
(B)の内容をメモリに書き込むがN。
いる。それら命令のうちにはコンペアアンドスワップ命
令(C3命令)がある。この命令は第5図の命令処理フ
ローに示す如き処理を行なうものである。即ち、第6図
のタイミングチャートに示すように、この命令がメモリ
をアクセスしている間、Lock信号を発生して他のア
クセスユニットによるメモリへのアクセスを禁止しつつ
メモリよりデータを読み出し■、その読み出し内容Sと
レジスタREG (A)の内容とを比較し■、その比較
結果に従ってつまりYesの場合にはレジスタREG
(B)の内容をメモリに書き込むがN。
ならば読み出し内容SをレジスタREG (A)にセッ
トする■如き処理を行なう。
トする■如き処理を行なう。
上述のように、C8命令の実行においては順次の3つの
ステップを要するため時間がかかる上、その時間の間他
のアクセスユニットによるアクセスはできず、待機又は
その他の処理を強いられる結果となり、性能低下となる
。又、上述のようなLock信号を発生しなければなら
ないから、その制御回路も複雑化せざるを得ない。
ステップを要するため時間がかかる上、その時間の間他
のアクセスユニットによるアクセスはできず、待機又は
その他の処理を強いられる結果となり、性能低下となる
。又、上述のようなLock信号を発生しなければなら
ないから、その制御回路も複雑化せざるを得ない。
本発明は上述のような問題点に鑑みて創作されたもので
、命令実行時間を短縮化し得て制御回路の簡易化に寄与
するコンペアアンドスワップ命令処理方式を提供するこ
とをその目的とする。
、命令実行時間を短縮化し得て制御回路の簡易化に寄与
するコンペアアンドスワップ命令処理方式を提供するこ
とをその目的とする。
第1図は本発明の原理ブロック図を示す。この図におい
て、lはメモリへのアクセス手段を有するシステムのア
クセス手段に設けられるECC回路で、この回路はリー
ドモディファイライト機能を有する。2はECC回路の
出力に接続されてセットされる内容を比較回路3に送る
第1のレジスタである。4はアクセス手段に接続されて
セットされる内容をECCCC回路縁してメモリへ送る
第2のレジスタである。5はメモリへのアクセスがコン
ペアアンドスワップ命令C3MDによって行なわれてお
り比較回路3からの出力があったことをECC回路1へ
示ずアンドゲートである。6゜7は比較回路3からは出
力がなかったが、メモリへのアクセスがコンペアアンド
スワップ命令C8MDによって行なわれていることをE
CC回路1へ示すインバータ、アンドゲートから成る回
路である。
て、lはメモリへのアクセス手段を有するシステムのア
クセス手段に設けられるECC回路で、この回路はリー
ドモディファイライト機能を有する。2はECC回路の
出力に接続されてセットされる内容を比較回路3に送る
第1のレジスタである。4はアクセス手段に接続されて
セットされる内容をECCCC回路縁してメモリへ送る
第2のレジスタである。5はメモリへのアクセスがコン
ペアアンドスワップ命令C3MDによって行なわれてお
り比較回路3からの出力があったことをECC回路1へ
示ずアンドゲートである。6゜7は比較回路3からは出
力がなかったが、メモリへのアクセスがコンペアアンド
スワップ命令C8MDによって行なわれていることをE
CC回路1へ示すインバータ、アンドゲートから成る回
路である。
アクセス手段によるメモリへのアクセスがコンペアアン
ドスワップ命令である場合に、比較回路3から出力があ
るつまりメモリから読み出された内容と第1のレジスタ
(REG (A))2の内容とが一致していると、その
ことを示す信号がECC回路1に与えられてこの信号の
制御の下に第2のレジスタ(REG (B))4の内容
がECCCC回路縁てメモリへ書き込まれる。
ドスワップ命令である場合に、比較回路3から出力があ
るつまりメモリから読み出された内容と第1のレジスタ
(REG (A))2の内容とが一致していると、その
ことを示す信号がECC回路1に与えられてこの信号の
制御の下に第2のレジスタ(REG (B))4の内容
がECCCC回路縁てメモリへ書き込まれる。
コンペアアンドスワップ命令によるアクセスが生じてい
るが、比較回路3から出力が生じていない場合には、メ
モリから読み出された内容をECC回路1を介して第1
のレジスタ2及びメモリに書き込む。
るが、比較回路3から出力が生じていない場合には、メ
モリから読み出された内容をECC回路1を介して第1
のレジスタ2及びメモリに書き込む。
このように、従来のCS命令処理の如く段階を追って順
次に行なうのではなくハード的遅れのみを許容して一挙
的に行なうので、その処理を極めて短い時間内に行ない
得る。又、そのために従来の如きLock信号は必要と
しないから、制御回路の簡易化ともなる。
次に行なうのではなくハード的遅れのみを許容して一挙
的に行なうので、その処理を極めて短い時間内に行ない
得る。又、そのために従来の如きLock信号は必要と
しないから、制御回路の簡易化ともなる。
第2図は本発明の一実施例を示し、この実施例はアドレ
スバス、データバスを共通にしてリードモディファイラ
イト機能を構成しているECC回路10を利用した場合
のコンペアアンドスワップ方式を示す。ECC回路(1
0)は公知の形式のもので、ラッチ10A、読み出しデ
ータ訂正回路10B、アライナ10C,チェックピット
生成回路10Dから成る。ラッチIOAはドライバ21
を介してメモリ (SS)20へ接続されると共に、ア
ライナ10C及びチェックビット生成回路10Dはドラ
イバ22を介してメモリ20へ接続される。読み出しデ
ータ訂正回路10Bはドライバ23、バス24を介して
CPU25へ接続される。
スバス、データバスを共通にしてリードモディファイラ
イト機能を構成しているECC回路10を利用した場合
のコンペアアンドスワップ方式を示す。ECC回路(1
0)は公知の形式のもので、ラッチ10A、読み出しデ
ータ訂正回路10B、アライナ10C,チェックピット
生成回路10Dから成る。ラッチIOAはドライバ21
を介してメモリ (SS)20へ接続されると共に、ア
ライナ10C及びチェックビット生成回路10Dはドラ
イバ22を介してメモリ20へ接続される。読み出しデ
ータ訂正回路10Bはドライバ23、バス24を介して
CPU25へ接続される。
バス24には、又比較回路26の一方の入力が接続され
、比較回路26の他方の入力は制御信号RGAWEの制
御の下にバス24に接続されるレジスタREG (A)
27の出力に接続される。又、バス24には制御信号R
GBWEの制御の下にレジスタREG (B)2Bが接
続され、その出力はバス24に接続されるドライバ29
の出力と共にマルチプレクサ30を介してアライナIO
Cへ接続される。アライナ10Cへの制御信号5ELE
CTI、5ELECT2、マルチプレクサ30への制御
信号5ELECT2、及び制御信号RGAWE、RGB
WEは第3図に示される回路から発生される。
、比較回路26の他方の入力は制御信号RGAWEの制
御の下にバス24に接続されるレジスタREG (A)
27の出力に接続される。又、バス24には制御信号R
GBWEの制御の下にレジスタREG (B)2Bが接
続され、その出力はバス24に接続されるドライバ29
の出力と共にマルチプレクサ30を介してアライナIO
Cへ接続される。アライナ10Cへの制御信号5ELE
CTI、5ELECT2、マルチプレクサ30への制御
信号5ELECT2、及び制御信号RGAWE、RGB
WEは第3図に示される回路から発生される。
第3図におけるCSMDはメモリ22へのアクセスがコ
ンペアアンドスワップ命令によって行なわれていること
を示す信号、EQAULは比較回路26からの一致出力
信号、*EQUALは比較回路26からの不一致出力信
号、RGASLはREG (A)選択信号、RGBSL
はREG (B)選択信号、RASG (REG A
CCESS 5TAGE)信号はこの信号の間にRE
Gのリード。
ンペアアンドスワップ命令によって行なわれていること
を示す信号、EQAULは比較回路26からの一致出力
信号、*EQUALは比較回路26からの不一致出力信
号、RGASLはREG (A)選択信号、RGBSL
はREG (B)選択信号、RASG (REG A
CCESS 5TAGE)信号はこの信号の間にRE
Gのリード。
ライトを行ない、5TG5信号は第4図に示すリードモ
ディファイライト制御態様(アドレスバス。
ディファイライト制御態様(アドレスバス。
データバスを共通にしたリードモディファイライト制御
態様)でのステージ5TG5を示す信号、CLKはクロ
ック信号である。
態様)でのステージ5TG5を示す信号、CLKはクロ
ック信号である。
上述のような構成の下におけるコンペアアンドスワップ
方式の動作態様を以下に説明する。説明の便宜上、アド
レスバス、データバスを共通にした場合のリードモディ
ファイライトの場合を例にとる。
方式の動作態様を以下に説明する。説明の便宜上、アド
レスバス、データバスを共通にした場合のリードモディ
ファイライトの場合を例にとる。
リードモディファイライトの期間中のステージ5TGI
、5TG2の間にアドレスα(第4図参照)がメモリ2
0に供給されてそのアドレスαに対応するデータβ(第
2図のA点)がステージ5TG3に読み出され、そのス
テージ5TG3の後半にラッチIOAのイネーブル信号
が有効にされてランチIOAにセットされる。そして、
そのデータにエラーがなければそのデータがUeみ出し
データ訂正回路10’B、 ドライバ23を介して第
2図のB点に現れるが、データに1ビツトエラーがあれ
ばそれが読み出しデータ訂正回路10Bにて訂正されて
第2図のB点に現れる。そのB点のデータがレジスタR
EG (A)27のデータと比較回路26においてリー
ドモディファイライト期間のステージ5TG4で比較さ
れる。
、5TG2の間にアドレスα(第4図参照)がメモリ2
0に供給されてそのアドレスαに対応するデータβ(第
2図のA点)がステージ5TG3に読み出され、そのス
テージ5TG3の後半にラッチIOAのイネーブル信号
が有効にされてランチIOAにセットされる。そして、
そのデータにエラーがなければそのデータがUeみ出し
データ訂正回路10’B、 ドライバ23を介して第
2図のB点に現れるが、データに1ビツトエラーがあれ
ばそれが読み出しデータ訂正回路10Bにて訂正されて
第2図のB点に現れる。そのB点のデータがレジスタR
EG (A)27のデータと比較回路26においてリー
ドモディファイライト期間のステージ5TG4で比較さ
れる。
その比較結果が一致している即ち双方が同じであるなら
ば、第3図のアンドゲート50から信号5ELECT2
が発生され、これにより、第2図のレジスタREG (
B)の内容がマルチプレクサ(MPX30)、そしてア
ライナIOCでモディファイされ、そのデータがライト
データ(第4図のγ)としてリードモディファイライト
期間中のステージ5TG5でメモリ20に書き込まれる
。
ば、第3図のアンドゲート50から信号5ELECT2
が発生され、これにより、第2図のレジスタREG (
B)の内容がマルチプレクサ(MPX30)、そしてア
ライナIOCでモディファイされ、そのデータがライト
データ(第4図のγ)としてリードモディファイライト
期間中のステージ5TG5でメモリ20に書き込まれる
。
逆に、比較結果が一致していないならば、メモリ20か
ら読み出されたデータすべてがラッチ10A、読み出し
データ訂正回路10Bを経て、制御信号5ELECTI
(第3図のアンドゲート51から発生)によって制
御されるアライナ10Cで選択されてドライバ22を介
してメモリ20に書き込まれると共に、第3図のアンド
ゲート52から信号RGAWEが発生され、この信号に
よって読み出されたデータすべてがレジスタ(REG(
A))27にセットされる。
ら読み出されたデータすべてがラッチ10A、読み出し
データ訂正回路10Bを経て、制御信号5ELECTI
(第3図のアンドゲート51から発生)によって制
御されるアライナ10Cで選択されてドライバ22を介
してメモリ20に書き込まれると共に、第3図のアンド
ゲート52から信号RGAWEが発生され、この信号に
よって読み出されたデータすべてがレジスタ(REG(
A))27にセットされる。
なお、上記実施例はアクセス手段をCPUとする場合に
ついて説明したが、アクセス手段は他の手段例えばIl
oであってもよい。
ついて説明したが、アクセス手段は他の手段例えばIl
oであってもよい。
以上説明したように、本発明によれば従来のC8命令処
理の如く処理ステップ数が多くないから、その処理時間
を短縮化し得るし、制御回路も簡易化し得る。
理の如く処理ステップ数が多くないから、その処理時間
を短縮化し得るし、制御回路も簡易化し得る。
第1図は本発明の原理ブロック図、
第2図は本発明の一実施例を示す図、
第3図は制御信号発生回路、
第4図はリードモディファイライトのタイミング例を示
す図、 第5図は従来のコンペアアンドスワップ命令の処理フロ
ーを示す図、 第6図は従来のコンペアアンドスワップ命令のタイミン
グチャートである。 第1図において、 1はECC回路、 2.4はレジスタ、 3は比較回路、 5.7はアンドゲート、 6はインバータである。 本奮明の屑U里ブロック図 第1図 第3図 リードモチにファイライトのタイミングf列第 4図 第5図 1のC3Qffのタイミングチャート 第6図
す図、 第5図は従来のコンペアアンドスワップ命令の処理フロ
ーを示す図、 第6図は従来のコンペアアンドスワップ命令のタイミン
グチャートである。 第1図において、 1はECC回路、 2.4はレジスタ、 3は比較回路、 5.7はアンドゲート、 6はインバータである。 本奮明の屑U里ブロック図 第1図 第3図 リードモチにファイライトのタイミングf列第 4図 第5図 1のC3Qffのタイミングチャート 第6図
Claims (1)
- メモリをアクセスする複数のアクセスユニットの各々に
ECC回路を備えたデータ処理システムにおいて、前記
メモリから読み出したデータの一部の誤りを正しい値の
データに置き換え前記メモリに書くという一連のデータ
処理を一回のアクセスで実現可能な機能を有するECC
回路(1)と、第1及び第2のレジスタ(2)、(4)
と、前記ECC回路を経た前記メモリの内容と前記第1
のレジスタの内容とを比較する比較回路(3)とを設け
、前記メモリへのアクセスがコンペアアンドスワップ命
令であり前記比較回路から出力信号があるとき前記EC
C回路を介して前記第2のレジスタの内容を前記メモリ
へ書き込み、前記メモリへのアクセスがコンペアアンド
スワップ命令であり且つ前記比較回路から出力信号がな
いとき前記メモリから読み出された内容を前記ECC回
路を介して前記第1のレジスタ及び前記メモリに書き込
むことを特徴とするコンペアアンドスワップ命令処理方
式。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP13101785A JPS61288243A (ja) | 1985-06-17 | 1985-06-17 | コンペアアンドスワツプ命令処理方式 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP13101785A JPS61288243A (ja) | 1985-06-17 | 1985-06-17 | コンペアアンドスワツプ命令処理方式 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPS61288243A true JPS61288243A (ja) | 1986-12-18 |
Family
ID=15048044
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP13101785A Pending JPS61288243A (ja) | 1985-06-17 | 1985-06-17 | コンペアアンドスワツプ命令処理方式 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPS61288243A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5708800A (en) * | 1994-09-27 | 1998-01-13 | Mitsubishi Denki Kabushiki Kaisha | High speed microprocessor for processing and transferring N-bits of M-bit data |
CN105094749A (zh) * | 2009-12-22 | 2015-11-25 | 英特尔公司 | Simd向量的同步化 |
-
1985
- 1985-06-17 JP JP13101785A patent/JPS61288243A/ja active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5708800A (en) * | 1994-09-27 | 1998-01-13 | Mitsubishi Denki Kabushiki Kaisha | High speed microprocessor for processing and transferring N-bits of M-bit data |
CN105094749A (zh) * | 2009-12-22 | 2015-11-25 | 英特尔公司 | Simd向量的同步化 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7206891B2 (en) | Multi-port memory controller having independent ECC encoders | |
US5377338A (en) | Apparatus and methods for reducing numbers of read-modify-write cycles to a memory, and for improving DMA efficiency | |
JPS6324428A (ja) | キヤツシユメモリ | |
US20080034132A1 (en) | Memory interface for controlling burst memory access, and method for controlling the same | |
US6874117B2 (en) | Memory control device and method | |
JPS61288243A (ja) | コンペアアンドスワツプ命令処理方式 | |
JPS60214043A (ja) | パイプライン制御回路 | |
KR20040047543A (ko) | 마이크로컴퓨터 | |
JPS5834856B2 (ja) | キオクセイギヨソウチ | |
JPH10312307A (ja) | コンピュータシステムに適用するエミュレータ | |
CN113836050A (zh) | 访存控制方法、装置、设备及可读存储介质 | |
JP2659886B2 (ja) | プロセッサシステム | |
JPH08314797A (ja) | メモリアクセス方式 | |
JPH01297746A (ja) | メモリ診断方式 | |
JPH0474254A (ja) | マイクロプロセッサ診断方式 | |
JPH0332823B2 (ja) | ||
JPH04245346A (ja) | マイクロコンピュータシステム | |
JPH01166144A (ja) | ファームウェア・プログラムのデバッグ方式 | |
JPS60118961A (ja) | メモリの共通領域アクセス制御方式 | |
JPH06259334A (ja) | メモリ書き込みデータチェック方式 | |
JPH03116353A (ja) | パーソナルコンピュータ | |
JPS59211149A (ja) | コンペアストツプ方式 | |
JPH1055289A (ja) | デバッグ情報生成回路、およびそれを用いた情報処理装置 | |
JPS60238933A (ja) | 制御記憶装置のエラ−処理方式 | |
JPH01137346A (ja) | メモリ選択切換装置 |