JPS6375838A - アドレス修飾方式 - Google Patents
アドレス修飾方式Info
- Publication number
- JPS6375838A JPS6375838A JP22006286A JP22006286A JPS6375838A JP S6375838 A JPS6375838 A JP S6375838A JP 22006286 A JP22006286 A JP 22006286A JP 22006286 A JP22006286 A JP 22006286A JP S6375838 A JPS6375838 A JP S6375838A
- Authority
- JP
- Japan
- Prior art keywords
- address
- data
- storage device
- tag
- register
- 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
- 239000003607 modifier Substances 0.000 claims abstract description 15
- 238000002715 modification method Methods 0.000 claims description 3
- 238000012986 modification Methods 0.000 abstract description 14
- 230000004048 modification Effects 0.000 abstract description 13
- 238000010586 diagram Methods 0.000 description 6
- 238000013500 data storage Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000010365 information processing Effects 0.000 description 2
- 238000000034 method Methods 0.000 description 2
- 238000009835 boiling Methods 0.000 description 1
- 230000000873 masking effect Effects 0.000 description 1
Landscapes
- Devices For Executing Special Programs (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
〔概要〕
ポインタとタグからなるデータを、ポインタにしたがっ
て記憶装置から順次読み出す処理において、処理装置で
データからアドレスを生成する際。
て記憶装置から順次読み出す処理において、処理装置で
データからアドレスを生成する際。
データ中のタグ領域を高速で消去するため、ハードウェ
アによるアドレス修飾器を設けたものである。
アによるアドレス修飾器を設けたものである。
本発明は、リストプロセッサ等の記号処理が可能な情報
処理装置におけるアドレス修飾方式に関するものであり
9特にポインタを含むデータがら高速でポインタ部分を
抽出し、アドレスとして出力するためのアドレス修飾方
式に関する。
処理装置におけるアドレス修飾方式に関するものであり
9特にポインタを含むデータがら高速でポインタ部分を
抽出し、アドレスとして出力するためのアドレス修飾方
式に関する。
LISPプログラムの処理機能をもつ情報処理装置では
、記憶装置に格納されている多数のLISPセルをその
リンク順にしたがって高速でアクセスすることが必要と
される。
、記憶装置に格納されている多数のLISPセルをその
リンク順にしたがって高速でアクセスすることが必要と
される。
第4図はLISPセルの記憶構造の例を示したもので、
CAR部とCDR部とからなるLISPセルが、それぞ
れ他のLISPセルに対してポインタを張ることにより
リスト構造が表されている。
CAR部とCDR部とからなるLISPセルが、それぞ
れ他のLISPセルに対してポインタを張ることにより
リスト構造が表されている。
LISPセルのCAR部とCDR部とは、それぞれ、た
とえば32ビツト長のデータとして記憶装置に格納され
る。
とえば32ビツト長のデータとして記憶装置に格納され
る。
第5図は、記憶装置に格納されるLISPセル(CAR
/CDR)のデータ形式の例を示す、この32ビツト長
のデータはポインタであり、そのうち最下位の2ビツト
″TT”は付加的なタグである。このタグは、LISP
セルの対象がアトムか、リストか、空き(NIL)かな
どのデータ型を表す。
/CDR)のデータ形式の例を示す、この32ビツト長
のデータはポインタであり、そのうち最下位の2ビツト
″TT”は付加的なタグである。このタグは、LISP
セルの対象がアトムか、リストか、空き(NIL)かな
どのデータ型を表す。
ここで“TT″が“00“のとき変数、“01″のとき
アトム、“10”のときリスト、と仮定すると、100
()l)番地に格納されているアトムを示すポインタは
、 0000101 (H) と表される。
アトム、“10”のときリスト、と仮定すると、100
()l)番地に格納されているアトムを示すポインタは
、 0000101 (H) と表される。
また2 00 (H)番地に格納されているリストは5
00000202 (I+) と表される。
00000202 (I+) と表される。
これらのポインタは、記憶装置内において、タグを含ん
だ形で記憶されており、またそのままの形で読み出され
る。
だ形で記憶されており、またそのままの形で読み出され
る。
第6図は、記憶装置内のデータ格納形式を示したもので
、記憶装置のデータ幅が1バイトであるため、LISP
セルのデータが4バイト境界で格納されている例である
。この場合、各LISPセルのデータに対するアドレス
、すなわち、先頭バイトのアドレスの最下位2ビツト“
TT”は常に“OO”でなければならず、ポインタ中の
タグを修正しなければ、アドレスとして使用することが
できない。
、記憶装置のデータ幅が1バイトであるため、LISP
セルのデータが4バイト境界で格納されている例である
。この場合、各LISPセルのデータに対するアドレス
、すなわち、先頭バイトのアドレスの最下位2ビツト“
TT”は常に“OO”でなければならず、ポインタ中の
タグを修正しなければ、アドレスとして使用することが
できない。
このため、記憶装置から読み出したデータ(LTSPセ
ル)のポインタに基づいて、記憶装置をアクセスする場
合、そのポインタに付加されているタグを取り除くアド
レス修飾が必要とされた。
ル)のポインタに基づいて、記憶装置をアクセスする場
合、そのポインタに付加されているタグを取り除くアド
レス修飾が必要とされた。
従来、汎用処理装置により、リスト処理あるいは記号処
理等を行うためにタグ付きデータを取り扱う時には、タ
グを取り除くために、ソフトウェアにより、タグのつい
たデータに対しタグを落とすためのマスクとの論理積あ
るいは、算術演算を施していた。このためソフトウェア
の負担が大きく、特にタグ付きデータとタグ無しデータ
とが混在している場合には、マスクの書き替えを頻繁に
行わなければならず、実行速度が低下するという問題が
あった。
理等を行うためにタグ付きデータを取り扱う時には、タ
グを取り除くために、ソフトウェアにより、タグのつい
たデータに対しタグを落とすためのマスクとの論理積あ
るいは、算術演算を施していた。このためソフトウェア
の負担が大きく、特にタグ付きデータとタグ無しデータ
とが混在している場合には、マスクの書き替えを頻繁に
行わなければならず、実行速度が低下するという問題が
あった。
本発明は、処理装置のアドレス生成部に、データ中のタ
グを取り除くための専用ハードウェアによるアドレス修
飾器を設け、ソフトウェアの負担を軽減することにより
、高速化を図るものである。
グを取り除くための専用ハードウェアによるアドレス修
飾器を設け、ソフトウェアの負担を軽減することにより
、高速化を図るものである。
第1図に1本発明の原理的構成を示す。
図において。
11は記憶装置であり、タグが付加されたポインタを表
すデータが格納されている。
すデータが格納されている。
12は処理装置であり、リスト処理機能をもち。
アドレス生成部13をそなえている。
13はアドレス生成部であり、処理に必要なデータをア
クセスするためのアドレスを生成する。
クセスするためのアドレスを生成する。
14はアドレスレジスタであり、生成されたアドレスを
一時的に保持する。
一時的に保持する。
15は本発明に基づいて設けられたアドレス修飾器であ
り、記憶装置11をアクセスするためアドレスレジスタ
14にアドレスが生成されたとき。
り、記憶装置11をアクセスするためアドレスレジスタ
14にアドレスが生成されたとき。
制御にしたがってそのタグ領域を消去するアドレス修飾
を行ってその結果を記憶装置11へ出力する。
を行ってその結果を記憶装置11へ出力する。
第1図に示されている本発明の構成によれば。
処理装置12内のアドレス生成処理ではデータ中のタグ
を意識することなく、データすなわちポインタはそのま
ま次のデータ位置を示すものとして取り扱い、アドレス
レジスタ14に設定すればよく、タグの除去は、その後
アドレス修飾器15によりハードウェア論理に基づいて
実行されるため。
を意識することなく、データすなわちポインタはそのま
ま次のデータ位置を示すものとして取り扱い、アドレス
レジスタ14に設定すればよく、タグの除去は、その後
アドレス修飾器15によりハードウェア論理に基づいて
実行されるため。
ソフトウェアの負担は大幅に軽減される。
第2図に1本発明の1実施例の構成を示す。第2図+a
+はアドレスマスクレジスタを用いたアドレス修飾器の
回路構成の例であり、同図(blは(alの回路におけ
るアドレスおよびマスクデータの例である。
+はアドレスマスクレジスタを用いたアドレス修飾器の
回路構成の例であり、同図(blは(alの回路におけ
るアドレスおよびマスクデータの例である。
21の記憶装置には、ボインクを表すタグ付きのデータ
が格納されており、22のマイクロプロセッサは、この
データを読み出すと、それを次のデータを読み出すため
のアドレスとして523のアドレスレジスタに設定する
。このアドレスレジスタ23に設定されているアドレス
は、修飾前アドレスとして第2図(b)の■に示されて
いる。図示のように、32ビツトの長さをもち、最下位
2ビツトがタグである。
が格納されており、22のマイクロプロセッサは、この
データを読み出すと、それを次のデータを読み出すため
のアドレスとして523のアドレスレジスタに設定する
。このアドレスレジスタ23に設定されているアドレス
は、修飾前アドレスとして第2図(b)の■に示されて
いる。図示のように、32ビツトの長さをもち、最下位
2ビツトがタグである。
24のアドレスマスクレジスタ24には、予めマイクロ
プロセッサ22によって、第2図cb)の■に示すよう
なマスクデータF F F F F F F C(H)
が設定されている。すなわち、最下位の2ピントが“0
0”で、残りの上位ピント部分は“11・・・・・・1
″であるようなマスクデータである。
プロセッサ22によって、第2図cb)の■に示すよう
なマスクデータF F F F F F F C(H)
が設定されている。すなわち、最下位の2ピントが“0
0”で、残りの上位ピント部分は“11・・・・・・1
″であるようなマスクデータである。
25のAND回路は、アドレスレジスタ23の修飾前ア
ドレス■をアドレスマスクレジスタ24のマスクデータ
■でマスクするA N D 論理をビット対応で実行し
、結果を、第2図(blの■に示す修飾後アドレスとし
て、記憶装置21へ出力する。
ドレス■をアドレスマスクレジスタ24のマスクデータ
■でマスクするA N D 論理をビット対応で実行し
、結果を、第2図(blの■に示す修飾後アドレスとし
て、記憶装置21へ出力する。
このようにして、(@飾部アドレス■のタグ領域は、そ
の値の如何にかかわらず消去され、修飾後アドレス■に
おいては“00′″となって目的のデータのアクセスが
可能にされる。タグの長さあるいはその位置が異なる場
合には、それに応じたマスクデータを作成し、アドレス
マスクレジスタ24に設定すればよい。
の値の如何にかかわらず消去され、修飾後アドレス■に
おいては“00′″となって目的のデータのアクセスが
可能にされる。タグの長さあるいはその位置が異なる場
合には、それに応じたマスクデータを作成し、アドレス
マスクレジスタ24に設定すればよい。
第3図に2本発明の他の実施例の構成を示す。
同図(alはアドレス修飾機能(アドレス修飾器)を複
数種類(図では2種!!I)用意しておいて、その中の
1つを選択可能にした場合の回路例であり。
数種類(図では2種!!I)用意しておいて、その中の
1つを選択可能にした場合の回路例であり。
同図(blは適用すべきアドレス修飾機能を指定するた
め、データごとに修飾機能選択ビットを有するものの例
であり9同図(C)は修飾機能を果たすアドレス修飾器
の回路構成例を示したものである。
め、データごとに修飾機能選択ビットを有するものの例
であり9同図(C)は修飾機能を果たすアドレス修飾器
の回路構成例を示したものである。
第3図+a+のアドレスレジスタ23から出力される修
飾前アドレスの最上位ビット(第3図To)中のビット
“S”)は、26の選択器に送られ、27゜28で示さ
れるいずれか一方のアドレス修飾器を選択するために使
用される。
飾前アドレスの最上位ビット(第3図To)中のビット
“S”)は、26の選択器に送られ、27゜28で示さ
れるいずれか一方のアドレス修飾器を選択するために使
用される。
アドレス修飾器27は、たとえばタグがデータの最下位
2ビツトにあって、データが4バイト境界で記憶装置2
1に格納されている場合に適切なアドレス修飾を行うよ
うに構成され、また他方のアドレス修飾器28は、たと
えば何も行わないか。
2ビツトにあって、データが4バイト境界で記憶装置2
1に格納されている場合に適切なアドレス修飾を行うよ
うに構成され、また他方のアドレス修飾器28は、たと
えば何も行わないか。
あるいはタグがデータの最下位3ビツトにあって。
データが8バイト境界で記憶装置21に格納されている
場合に適切なアドレス修飾を行うように構成される。
場合に適切なアドレス修飾を行うように構成される。
アドレス修飾機能の種類をさらに多くする場合には、そ
れに対応して修飾機能選択ビットを増やすことが必要と
される。
れに対応して修飾機能選択ビットを増やすことが必要と
される。
第3図(alにおけるアドレス修飾器27.28は。
それぞれ第2図(alに示されているアドレスマスクレ
ジスタ24とAND回路25とを用いて構成することが
できるが、第3図(C)に示すように。
ジスタ24とAND回路25とを用いて構成することが
できるが、第3図(C)に示すように。
3ステートのバッファゲート29を用い、消去し゛たい
ピントの入力を接地することによっても同じ機能を実現
することができる。
ピントの入力を接地することによっても同じ機能を実現
することができる。
第3図に示す実施例は、記t9装置21にタグ付きデー
タとタグ無しデータとが格納される場合。
タとタグ無しデータとが格納される場合。
それぞれの格納領域をアドレスの先頭ビットSが“0″
か“1”かで切り分けられるようにすることにより、タ
グ付きデータのアクセスの場合のみアドレス修飾機能を
作用させ、タグ無しデータには何もしないように自動的
に制御することができる。
か“1”かで切り分けられるようにすることにより、タ
グ付きデータのアクセスの場合のみアドレス修飾機能を
作用させ、タグ無しデータには何もしないように自動的
に制御することができる。
本発明によれば、タグ付きデータをポインタとして連続
アクセスを行う場合のアドレス修飾に。
アクセスを行う場合のアドレス修飾に。
ソフトウェアの介入が不要となり、大量のデータを対象
とする記号処理等において処理の大幅な高速化が実現さ
れる。
とする記号処理等において処理の大幅な高速化が実現さ
れる。
第1図は本発明の原理的構成図、第2図は本発明の1実
施例の構成図、第3図は本発明の他の実施例の構成図、
第4図はLISPセルの記憶構造の説明図、第5図はL
ISPセルのデータ形式の説明図、第6図は記憶装置内
のデータ格納形式の説明図である。 第1図中。 11:記憶装置 12:処理装置 13ニアドレス生成部 14ニアドレスレジスタ 15ニアドレス修飾器 参すごl111クツ求シを白シ埼lk 躬 1 図 ネ#aR41爽掩例横A゛ $ 2 図 $311
施例の構成図、第3図は本発明の他の実施例の構成図、
第4図はLISPセルの記憶構造の説明図、第5図はL
ISPセルのデータ形式の説明図、第6図は記憶装置内
のデータ格納形式の説明図である。 第1図中。 11:記憶装置 12:処理装置 13ニアドレス生成部 14ニアドレスレジスタ 15ニアドレス修飾器 参すごl111クツ求シを白シ埼lk 躬 1 図 ネ#aR41爽掩例横A゛ $ 2 図 $311
Claims (1)
- 【特許請求の範囲】 処理装置と記憶装置とをそなえ、記憶装置に格納されて
いるデータの一部あるいは全部が付加的タグを有するポ
インタであるとともに、1つのデータが記憶装置の複数
番地にまたがる大きさをもち、処理装置は記憶装置から
読み出したデータのポインタを用いて次のデータを記憶
装置から読み出す処理を連続的に実行する機能をもつシ
ステムにおいて、 処理装置内のアドレス生成部(13)に、生成したアド
レス中のタグ領域を消去するアドレス修飾器(15)を
設け、記憶装置から読み出したデータがタグを有する場
合、上記アドレス修飾器(15)を制御してデータ中の
タグ領域を消去させ、結果をアドレスとして記憶装置へ
出力することを特徴とするアドレス修飾方式。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP22006286A JPS6375838A (ja) | 1986-09-18 | 1986-09-18 | アドレス修飾方式 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP22006286A JPS6375838A (ja) | 1986-09-18 | 1986-09-18 | アドレス修飾方式 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPS6375838A true JPS6375838A (ja) | 1988-04-06 |
Family
ID=16745339
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP22006286A Pending JPS6375838A (ja) | 1986-09-18 | 1986-09-18 | アドレス修飾方式 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPS6375838A (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS641034A (en) * | 1987-06-24 | 1989-01-05 | Toshiba Corp | Computer device |
JPH02129722A (ja) * | 1988-11-09 | 1990-05-17 | Hitachi Software Eng Co Ltd | データ管理方式 |
EP0492971A2 (en) * | 1990-12-21 | 1992-07-01 | Sun Microsystems, Inc. | Mask register for computer processor |
-
1986
- 1986-09-18 JP JP22006286A patent/JPS6375838A/ja active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS641034A (en) * | 1987-06-24 | 1989-01-05 | Toshiba Corp | Computer device |
JPH02129722A (ja) * | 1988-11-09 | 1990-05-17 | Hitachi Software Eng Co Ltd | データ管理方式 |
EP0492971A2 (en) * | 1990-12-21 | 1992-07-01 | Sun Microsystems, Inc. | Mask register for computer processor |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPH0248931B2 (ja) | ||
JP2665081B2 (ja) | マイクロコンピュータのレジスタ間データ転送方式 | |
JP2685245B2 (ja) | プログラマブルコントローラ | |
JPS62237522A (ja) | 情報処理装置 | |
JPS6041769B2 (ja) | アドレス指定方式 | |
JPS6375838A (ja) | アドレス修飾方式 | |
RU2066067C1 (ru) | Центральный процессор для многопроцессорной вычислительной системы | |
JP3043861B2 (ja) | データ処理装置 | |
JPH0452859A (ja) | 文字処理装置 | |
JPS595496A (ja) | メモリプロテクト方式 | |
JPH04100150A (ja) | レジスタ回路 | |
JPH04338802A (ja) | 高速命令処理方式 | |
JPS63241647A (ja) | マイクロプロセツサ | |
JPS60218146A (ja) | 記憶装置アドレス制御方式 | |
JPH03113659A (ja) | キャッシュメモリ試験方法 | |
JPS61201353A (ja) | アドレス変換装置 | |
JPS5831619B2 (ja) | アドレス拡張処理方式 | |
JPS603656B2 (ja) | 計算機のメモリ拡張方式 | |
JPS623294A (ja) | ビツトマツプム−バ− | |
JPS6235151B2 (ja) | ||
JPH0322052A (ja) | メモリマッパ装置 | |
JPH0216665A (ja) | データ転送装置 | |
JPH0154729B2 (ja) | ||
JPS6364141A (ja) | 記憶装置 | |
JPS6160151A (ja) | タグ付計算機 |