[go: up one dir, main page]

JP2522248B2 - 記憶装置アクセス機構 - Google Patents

記憶装置アクセス機構

Info

Publication number
JP2522248B2
JP2522248B2 JP61119803A JP11980386A JP2522248B2 JP 2522248 B2 JP2522248 B2 JP 2522248B2 JP 61119803 A JP61119803 A JP 61119803A JP 11980386 A JP11980386 A JP 11980386A JP 2522248 B2 JP2522248 B2 JP 2522248B2
Authority
JP
Japan
Prior art keywords
pointer
bits
storage device
value
designated
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.)
Expired - Lifetime
Application number
JP61119803A
Other languages
English (en)
Other versions
JPS62276633A (ja
Inventor
徹 野尻
俊平 河崎
坦 渡辺
行介 迫田
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 JP61119803A priority Critical patent/JP2522248B2/ja
Priority to GB8712079A priority patent/GB2191317B/en
Priority to KR1019870005090A priority patent/KR930009666B1/ko
Publication of JPS62276633A publication Critical patent/JPS62276633A/ja
Priority to US07/503,626 priority patent/US5293594A/en
Application granted granted Critical
Publication of JP2522248B2 publication Critical patent/JP2522248B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/0292User address space allocation, e.g. contiguous or non contiguous base addressing using tables or multilevel address translation means

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Executing Machine-Instructions (AREA)
  • Memory System (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は大容量レジスタファイル等の記憶装置に対
し、ポインタを用いてアクセスする記憶装置アクセス機
構に関し、特にポインタ生成回路の簡素化,高速化,お
よびアクセス方式の汎用化に好適な記憶装置アクセス機
構に関するものである。
〔従来の技術〕
従来、Sword32の如き装置は、プロシーディングス
オブ インターナショナル コンファレンス オン フ
ィフス ジェネレーション コンピュータ システムズ
(Proceeding of the International Conference on Fi
fth Generation Computer Systems),(1984年)第389
頁から第397頁に記載されている如く、アクセス頻度の
高いデータであるアクティベーションレコード(コンテ
クスト)を、高速アクセス可能なレジスタファイルに割
付けている。
ところで、通常のソフトウェアによるアクティベーシ
ョンレコードの保持法では、一つのスタック上にそれら
をリニアに割付けて、ポインタ相対によってアクティベ
ーションレコードのすべてのデータをアクセスしてい
た。しかし、アクティベーションレコードは、各々が同
じ大きさで持つ内部状態保持用変数領域と、大きさが必
ずしも一定ではないスタック領域とから成っている。
上述のSword32においては、レジスタファイルの一部
をバンクレジスタとしての使用を可能とする機能を持
ち、各バンクにアクティベーションレコード毎の内部状
態保持用変数領域を割付け、現在活性化しているアクテ
ィベーションレコードに対応するその変数を、バンク内
アドレスでのアクセスを可能とするハードウェアを備
え、高速化を図っている。
また、上記Sword32は、Smalltalk-80言語で書かれた
プログラムを特に効率良く実行する如く設計されてい
る。ところが、このSmalltalk-80言語のプログラムは、
単にスタックをプッシュまたはポップする限りにおいて
は、スタックオーバーフローは生じないことが、コンパ
イラによって保障されている。そのため、上記Sword32
はスタックオーバーフローをチェックするハードウェア
を、特別には備えていない。
〔発明が解決しようとする問題点〕 上述の従来技術においては、レジスタファイルに割付
けられるアクティベーションレコードの数と、それら各
々が持つ特殊レジスタの数とが固定されているため、こ
れらのデータがレジスタファイルを占める最適な数の比
は、適用プログラミング言語やアプリケーションプログ
ラムによって異なる点について配慮がなされておらず、
マイクロプロセッサの汎用性について問題があった。
また、通常のプログラミング言語で書かれたプログラ
ムは、アクティベーションレコードを保持するスタック
の操作に関して、そのオーバーフローは実行時に検出し
なくてはならないため、その検出機構がないマイクロプ
ロセッサにおいてはその検出をソフトウェアで実現しな
くてはならず、これによって実行効率の低下が起こると
いう問題があった。
更に、上述の従来技術においては、複数のスタックを
効率良く処理するための機構が用意されていないため、
タスクスイッチの度に大容量レジスタファイルの全内容
の退避,復帰の処理が必要となるため、実行効率が更に
低下するという問題もあった。
また、一方、アプリケーションプログラムによって
は、高速アクセス可能な内部のレジスタファイルを用い
て、独立にデータの出し入れを管理する複数のスタック
またはキューを実現することにより高速実行を達成でき
るものが多い。しかし、上記従来技術では、一次元的に
番地付けられたレジスタファイル等の記憶装置を用い
て、大きさをソフトウェアで指定できる自由度を有し、
かつ、オーバーフローの検出機構を効率良く実現した、
スタック等のポインタによりデータの出し入れを管理さ
れる記憶装置を複数実現する方法は存在しなかった。
本発明は上記事情に鑑みてなされたもので、その目的
とするところは、従来技術における上述の如き問題を解
消し、レジスタファイル等の一次元的に番地付けられた
記憶装置を幾つかの記憶領域に分けて管理することを可
能とする記憶装置のアクセス機構を提供することにあ
り、また、上記記憶領域の大きさと数とをソフトウェア
により指定することを可能とし、しかも、各々の領域を
用いてオーバーフロー検出機構を持つスタック等の、ポ
インタによりデータの出し入れが独立に管理される複数
の記憶装置を効率良く実現し、更に、複数のタスクを効
率良く処理するために、タスク対応の記憶領域群の管理
を効率良く実現することを可能とする記憶装置のアクセ
ス機構を提供することにある。
〔問題点を解決するための手段〕
本発明の上述の目的は、一次元的に番地付けられた記
憶領域を複数の領域に分け、該複数の領域に分けた記憶
領域を指定する第一の指定ポインタの値と、前記記憶領
域内の相対番地を指定する第二の指定ポインタの値とを
用いて、アクセスする記憶領域の番地を指定するアクセ
スポインタの値を定めるポインタ生成手段を有する記憶
装置アクセス機構であって、前記第一の指定ポインタを
Nビット幅とし、該Nビット幅の第一の指定ポインタの
上位nビットを有効ビットとし、前記第二の指定ポイン
タをNビット幅とし、該Nビット幅の第二の指定ポイン
タの下位N−nビットを有効ビットとするか、前記Nビ
ット幅の第一の指定ポインタの下位nビットを有効ビッ
トとし、前記Nビット幅の第二の指定ポインタの上位N
−nビットを有効ビットとし、前記各有効ビット以外の
ビットを“0"とする如く、ソフトウェアにより管理する
ことを特徴とする記憶装置アクセス機構、または、記憶
装置を構成する、命令処理装置に含まれる一次元的に番
地付けられたレジスタ群を複数のレジスタバンクに分
け、該複数のレジスタバンクに分けたレジスタ群を指定
する第一の指定ポインタの値と、前記レジスタ群内の相
対番地を指定する第二の指定ポインタの値とを用いて、
アクセスするレジスタの番地を指定するアクセスポイン
タの値を定めるポインタ生成手段を有する記憶装置アク
セス機構であって、前記第一の指定ポインタをNビット
幅とし、該Nビット幅の第一の指定ポインタの上位nビ
ットを有効ビットとし、前記第二の指定ポインタをNビ
ット幅とし、該Nビット幅の第二の指定ポインタの下位
N−nビットを有効ビットとするか、前記Nビット幅の
第一の指定ポインタの下位nビットを有効ビットとし、
前記Nビット幅の第二の指定ポインタの上位N−nビッ
トを有効ビットとし、前記各有効ビット以外のビットを
“0"とする如く、ソフトウェアにより管理することを特
徴とする記憶装置アクセス機構によって達成される。
更に、スタックポインタ等のデータの出し入れを管理
するためのポインタのオーバーフローの検出は、そのポ
インタ操作に対応する、演算の実行におけるキャリーの
伝播をチェックし、キャリーの伝播が生じた場合に割込
みを発生させる回路を付加することによって達成され
る。
〔作用〕
2Nワードから成る記憶装置を用いて、2N-nワードから
成る第0バンクから第2N-1バンクまでの2n個の記憶領域
を管理する記憶装置アクセス機構において、アクセスす
る番地を指定するのに用いる2つの、Nビット幅のポイ
ンタのうち、一方をバンク指定ポインタ、他方をオフセ
ット指定ポインタとする。
この場合、バンク指定ポインタの下位N−nビット
を、無効ビットとして常に“0"とし、上位nビットを有
効ビットとしてアクセスするバンクの順序番号を指定
し、一方、オフセット指定ポインタの上位nビットを無
効ビットとして、常に“0"とし、下位N−nビットを有
効ビットとしてアクセスするワードのバンク内における
オフセットを指定するようにする。
従って、バンク指定ポインタの値は、第aバンクを指
定する場合は、a×2N-nとなり、オフセット指定ポイン
タの値は、そのまま、アクセスするワードのバンク内の
オフセット値となる。
このように、2つのポインタの値を管理し、それぞれ
の対応するビット毎に論理和することで、記憶装置の中
で実際にアクセスする番地を指定するアクセスポインタ
の値が生成される。
ここで、アクセスポインタの下位N−nビットは、オ
フセット指定ポインタの下位N−nビットつまり、バン
ク内オフセットの値となり、上位nビットは、バンク指
定ポインタの上位nビット、つまり、バンクの順序番号
となるため、上記2つのポインタの組合せた値と、アク
セスポインタの値とは、一対一の関係にあることにな
り、誤動作することはない。
上述の動作を実現する2Nワードの記憶装置を用いて、
スタックやキュー等の、ポインタによってデータの出し
入れを管理する2N-nワードの記憶領域を2n個実現するた
めに、バンク指定ポインタは複数の独立した記憶領域の
中からアクセスする1つの領域を選択する作用を果た
し、オフセット指定ポインタはその記憶領域のデータの
出し入れを管理するポインタとして動作する。
従って、オフセット指定ポインタの有効ビットが下位
N−nビットの場合は、データの出し入れを管理するポ
インタの値の更新操作は、1毎のインクリメントまたは
デクリメントであるが、有効ビットが上位N−nビット
の場合は、2n毎のインクリントまたはデクリメントを行
うことによって誤動作を防ぐことが可能である。
また、スタック等の、ポインタによってデータの出し
入れを管理する記憶装置のオーバーフローは、オフセッ
ト指定ポインタの有効ビットが上位N−nビットである
場合は、データの出し入れを管理するポインタが“0"の
ときにデクリメント、または、(2N-n−1)×2nのとき
にインクリメントしたときに発生し、一方、オフセット
指定ポインタの有効ビットが下位N−nビットである場
合は、データの出し入れを管理するポインタが“0"のと
きにデクリメント、または、2N-n−1のときにインクリ
メントしたときに発生する。
従って、前者の場合には、ポインタの更新を行うNビ
ットの演算器の最上位ビットからのキャリー信号を、後
者の場合には、LSBを第0ビットとしたときの第N−n
ビットからのキャリー信号により、異常を検出すること
で誤動作がない。
〔実施例〕
以下、本発明の実施例を図面に基づいて詳細に説明す
る。
第1図は一次元的に番地付けられた2Nワードの記憶装
置1のアクセス機構に関する概念図である。第1図にお
いては、記憶装置を用いて2N-nワードの記憶領域から成
るバンク2を2n個実現している。図中、Nビット幅の2
つのポインタ、つまり、バンク指定ポインタ3とオフセ
ット指定ポインタ4は、記憶装置1中のアクセスする番
地を指定するためのものである。
ポインタ生成回路5は、OR回路により構成されてお
り、バンク指定ポインタ3とオフセット指定ポインタ4
との組合せから、それらを対応するビット毎に論理和す
ることで、記憶装置1中のアクセスするワードの番地を
示すアクセスポインタ6を生成する。
バンク指定ポインタ3の上位nビットは、有効ビット
として、アクセスするバンク2の順序番号を表わし、下
位N−nビットは、無効ビットとして、常に“0"となる
ようにソフトウェアで管理される。オフセット指定ポイ
ンタ4の下位N−nビットは、バンク指定ポインタが指
定したバンク2内で、実際にアクセスするワードの位置
するオフセット値を表わし、上位nビットは、無効ビッ
トとして、常に“0"となるようにソフトウェアで管理さ
れる。
従って、バンク指定ポインタ3とオフセット指定ポイ
ンタ4を入力とする、ポインタ生成回路5が出力するア
クセスポインタ6は、その上位nビットはバンク指定ポ
インタ3の上位nビット、その下位N−nビットはオフ
セット指定ポインタ4の下位N−nビットを、それぞ
れ、値として持つことになる。
もちろん、バンク指定ポインタ3の有効ビットを下位
N−nビット、オフセット指定ポインタ4の有効ビット
を上位nビットとすることも可能である。この場合に
は、1つのバンク2に含まれるワードの番地は、2N-n
になる。
また、バンク指定ポインタ3またはオフセット指定ポ
インタ4の代りに、本実施例における記憶装置1をアク
セスする命令処理装置の命令に含まれる値によって、ア
クセスするバンク2の順序番号、または、バンク内のア
クセスするワードのオフセット値を指定することも可能
である。
更に、本実施例の特殊な場合として、記憶装置1と命
令処理装置とを1つのLSIチップとして構成したマイク
ロプロセッサを実現することも可能である。
上記実施例によれば、ソフトウェアがバンク指定ポイ
ンタ3とオフセット指定ポインタ4との無効ビットを指
定し、管理することで、実際に実行するプログラムの特
性に応じて、バンク2のワード数を動的に決定できると
いう効果がある。
また、バンク指定ポインタ3とオフセット指定ポイン
タ4とが指定する、ワードの位置を示すアクセスポイン
タ6を生成するポインタ生成回路5は、簡単なOR回路の
みで構成できるという効果もある。
第2図は、第1図に示した以外のポインタ生成回路の
機構に関する概念を示すものである。第2図(a)にお
いて、バンク指定ポインタ3Aのビット幅はn+m、オフ
セット指定ポインタ4Aのビット幅はmであり、これらは
m+nビットのアクセスポインタ6Aを生成するために用
いられる。
アクセスポインタ6Aの上位nビットの値は、バンク指
定ポインタ3Aの上位nビットの値を直接とり、また、下
位mビットの値は、バンク指定ポインタ3Aの下位mビッ
トとオフセット指定ポインタ4Aとを、OR回路で構成され
るポインタ生成回路5により、ビット毎に論理和をとっ
た値になっている。
ここで、バンク指定ポインタ3Aとオフセット指定ポイ
ンタ4Aとを入替えても、支障なく動作することは容易に
類推できることである。
第2図(b)において、バンク指定ポインタ3Bのビッ
ト幅はn、オフセット指定ポインタ4Bのビット幅はm+
nであり、これらは、m+nビットのアクセスポインタ
6Bを生成するのに用いられる。アクセスポインタ6Bの下
位mビットの値は、オフセット指定ポインタ4Bの下位m
ビットの値を直接とり、また、上位nビットの値は、バ
ンク指定ポインタ3Bとオフセット指定ポインタ4Bの上位
nビットとを、OR回路で構成されるポインタ生成回路5
により、ビット毎に論理和をとった値になっている。
ここで、バンク指定ポインタ3Bとオフセット指定ポイ
ンタ4Bとを入替えても、支障なく動作することは容易に
類推できることである。
第2図(c)において、バンク指定ポインタ3Cのビッ
ト幅はn1+m、オフセット指定ポインタ4Cのビット幅は
m+n2であり、これらはn1+m+n2ビットのアクセスポ
インタ6Cを生成するのに用いられる。アクセスポインタ
6Cの上位n1ビットは、バンク指定ポインタ3Cの上位n1
ットの値を直接とり、また、下位n2ビットは、オフセッ
ト指定ポインタ4Cの下位n2ビットの値を直接とる。アク
セスポインタ6Cの残りのmビットは、バンク指定ポイン
タ3Cの下位mビットと、オフセット指定ポインタ4Cの上
位mビットとを、ビット毎にOR回路で構成されるポイン
タ生成回路5で論理和した値をとる。
ここで、バンク指定ポインタ3Cとオフセット指定ポイ
ンタ4Cとを入替えても、支障なく動作することは容易に
類推できることである。
第3図は、上で説明した本発明の概念を利用して、2N
ワードの記憶装置1を用いて、スタックやキューに代表
される2N-n−1ワードの記憶装置2Aで、それぞれが独立
に管理されるものを、2n個実現した実施例を示す図であ
る。
記憶装置指定ポインタ3Dは、2N-n個の記憶装置の中か
ら1つを選択するものであり、その下位nビットの値
が、指定する記憶装置の順序番号を表わし、その上位N
−nビットは、無効ビットとして、常に“0"となるよ
う、ソフトウェアにより管理される。
ポインタレジスタ群4Dは、ポインタによってデータの
出し入れが管理される2N-n個の記憶装置の、それぞれに
対応するポインタの集まりである。上記ポインタレジス
タ群4D内のそれぞれのポインタは、対応する記憶装置1
のデータの入力またはそれからの出力またはそれらの両
方を管理する。そのポインタの上位N−nビットの値
は、対応する記憶装置内のワード番号を示し、その下位
nビットは、無効ビットとして、常に“0"となるよう
に、ソフトウェアによって管理される。
従って、ポインタレジスタ群4D内のすべてのポインタ
は、常に2nの倍数の値をとる。記憶装置1の中から、実
際にアクセスするワードを選択するアクセスポインタ6D
は、記憶装置指定ポインタ3Dと、それによって指定され
た記憶装置1に対して行う処理に対応するポインタレジ
スタ群4D内のポインタを入力とする、ポインタ生成回路
5によって生成される。
上述のアクセスポインタ6Dの下位nビットの値は、記
憶装置指定ポインタ3Dの下位nビットの値に、アクセス
ポインタ6Dの上位N−nビットの値は、ポインタレジス
タ群4D内のポインタで、そのときポインタ生成回路5に
入力されたものの上位N−nビットの値となっている。
また、すべての記憶装置の第i番目のワードは、第i番
目のフィールド群2Aに割付けられている。
加算器7は、データの出し入れを管理するポインタの
値を更新する働きを持つものである。定数入力9は、加
算器7がポインタの値をインクリメントまたはデクリメ
ントする際に、その増減幅を指定するものである。
通常、定数入力9には、2nが値として入力される。キ
ャリー8は、Nビットの加算器7の最上位ビットである
第N−1ビットからのキャリーの伝播で、スタックオー
バーフロー,スタックアンダーフロー,リングバッファ
のラップアラウンド等の検出に用いる。
本実施例によれば、ソフトウェアが記憶装置指定ポイ
ンタ3Dと、ポインタレジスタ群4Dのそれぞれの無効ビッ
トを決めることで、独立に、データの出し入れが管理さ
れる記憶装置の数と、それらの各々が持つフィールド数
の比を、実行するプログラムの特性に応じて決定できる
という効果がある。
また、記憶装置に対して行うデータの出し入れの際生
じる可能性のあるオーバーフローは、すべての記憶装置
に対して一元的にポインタ演算の最上位ビットからのキ
ャリーの伝播によって検知できるという効果もある。
第4図は、前記バンク指定ポインタ3Eとオフセット指
定ポインタ4Eとの無効ビットの管理を支援するハードウ
ェアの概念図である。
12はマスク回路であり、バンク指定ポインタ3E,オフ
セット指定ポインタ4Eを、予めポインタフィールド指定
10により指定されたマスクパターンに従って、強制的に
“0"にする。
バンク指定ポインタ3Eは、選択するバンクの順序番号
そのままの値を保持している。シフタ回路11は、バンク
指定ポインタ3Eの値を、ポインタフィールド指定10がN
ビット幅のうち、上位nビットが有効ビットであること
指示している場合、シフタ回路11は、バンク指定ポイン
タ3Eの値をMSB方向にN−nビットシフトする。
ここで、バンク指定ポインタ3Eとオフセット指定ポイ
ンタ4Eとを入替えても、支障なく動作することは、容易
に類推できる。
本実施例によれば、マスク回路12を付加することで、
バンク指定ポインタ3Eとオフセット指定ポインタ4Eの無
効ビットを、常に“0"にするよう、ソフトウェアで管理
する必要がなく、また、無効ビットを用いて他の情報を
表現することが可能になるという効果がある。
一方、シフタ回路11を付加することにより、ポインタ
フィールド指定10を変更するだけで、バンクの数と、バ
ンクを構成するレジスタの数との比が、様々な場合に対
して、1つのプログラムによって対処できるように、プ
ログラムのモジュラリティの向上の効果がある。
第5図は、複数のバンク指定ポインタを用い、アクセ
スする記憶領域を指定する方式の一実施例として、2つ
のバンク指定ポインタを設け、一方をタスク専用バンク
群指定ポインタ13,他方をタスク内バンク指定ポインタ1
4として用いたものの概念図である。
上記タスク専用バンク群指定ポインタ13,タスク内バ
ンク指定ポインタ14およびオフセット指定ポインタ4F,
アクセスポインタ6Fの各々のビット幅は、n1+n2+n3
ある。上記アクセスポインタ6Fは、タスク専用バンク群
指定ポインタ13,タスク内バンク指定ポインタ14および
オフセット指定ポインタ4Fの各々を用いて、3入力OR回
路によって構成されるポインタ生成回路5Aが、これらの
各々の対応するビット毎に論理和することにより生成さ
れる。
上記タスク専用バンク群指定ポインタ13は、上位n1
ットを有効ビットとして、タスク毎に専用に割当てられ
たバンク群の順序番号を示し、他のビットは無効ビット
として、常に“0"となるよう、ソフトウェアで管理され
る。
また、タスク内バンク指定ポインタ14は、上位n1ビッ
トの次のn2ビットを有効ビットとして、タスク専用に割
当てられたバンク群の中での、アクセスするバンクの順
序番号を示し、他のビットは無効ビットとして、常に
“0"となるよう、ソフトウェアで管理される。
オフセット指定ポインタ4Fは、下位n3ビットを有効ビ
ットとして、アクセスするワードのバンク内におけるオ
フセット値を示し、他のビットは無効ビットとして、常
に“0"となるよう、ソフトウェアで管理される。
以上述べた如く、アクセスポインタ6Fの上位n1ビット
は、タスク専用バンク群指定ポインタ13の有効ビットの
値が、アクセスポインタ6Fの次のn2ビットはタスク内バ
ンク指定ポインタ14の有効ビットの値が、アクセスポイ
ンタ6Fの下位n3ビットは、オフセット指定ポインタ4Fの
有効ビットの値が、それぞれ、示されている。
本実施例によれば、複数のタスクの実行を同時に管理
する場合、タスクスイッチの際に必要となるレジスタの
退避,復帰の処理を行う代りに、タスク専用バンク群指
定ポインタ13の値を変更だけで良いので、実行効率を高
める効果がある。
本発明の好ましい実施態様としては、以下に述べる如
き態様が挙げられる。
(1) 一次元的に番地付けられた記憶装置を、複数の
記憶領域に分けた記憶装置のアクセス機構において、前
記複数の領域に分けた記憶領域を指定するバンク指定ポ
インタの値と、当該記憶領域内の相対番地を指定するオ
フセット指定ポインタの値とを用いて、アクセスする記
憶領域の番地を指定するアクセスポインタの値を定める
ポインタ生成回路を設けたことを特徴とする記憶装置ア
クセス機構。
(2) 第(1)項記載の記憶装置アクセス機構におい
て、バンク指定ポインタの値を2進表現したビットフィ
ールドの一部または全部と、オフセット指定ポインタの
値を2進表現したビットフィールドの一部または全部と
を、前記ポインタ生成回路に入力し、その出力をアクセ
スポインタの値とすることを特徴とする記憶装置アクセ
ス機構。
(3) 第(2)項記載の記憶装置アクセス機構におい
て、アクセスポインタの2進表現したビットフィールド
を、前記ポインタ生成回路の出力とする部分と、バンク
指定ポインタのビットフィールドの一部または全部の値
とする部分、または、オフセット指定ポインタのビット
フィールドの一部または全部の値とする部分とに分けた
ことを特徴とする記憶装置アクセス機構。
(4) 第(3)項記載の記憶装置アクセス機構におい
て、アクセスポインタのビットフィールドを、前記ポイ
ンタ生成回路の出力とする部分と、オフセット指定ポイ
ンタのビットフィールドの一部または全部の値とする部
分、および、バンク指定ポインタのビットフィールドの
一部または全部とする部分とに分けたことを特徴とする
記憶装置アクセス機構。
(5) 第(1)項から第(4)項までに記載の記憶装
置アクセス機構において、アクセスする記憶領域を複数
のバンク指定ポインタを用いて指定し、それらのポイン
タの値と、オフセット指定ポインタの値とを用いて、ア
クセスする記憶装置の番地を指定するアクセスポインタ
の値を定め、該アクセスポインタの値を生成するポイン
タ生成回路を、多入力OR回路によった構成したことを特
徴とする記憶装置アクセス機構。
(6) 第(5)項記載の記憶装置アクセス機構におい
て、2つのバンク指定ポインタを設け、1つをタスク専
用バンク群指定ポインタとし、1つをタスク内バンク指
定用ポインタとし、前記ポインタ生成回路を、3入力OR
回路によって構成したことを特徴とする記憶装置アクセ
ス機構。
(7) 第(1)項から第(6)項までに記載の記憶装
置アクセス機構において、各ポインタの出力段をオープ
ンコレクタ出力とすることで、ポインタ生成回路を、複
数の入力線を1本の出力線に接続したワイヤードOR回路
として実現したことを特徴とする記憶装置アクセス機
構。
(8) 第(1)項から第(7)項までに記載の記憶装
置アクセス機構において、バンク指定ポインタを複数設
けて、その中から実際にアクセスする記憶装置を指定す
るのに用いるバンク指定ポインタを選択する機能、また
は、オフセット指定ポインタを複数設けて、その中から
実際にアクセスする記憶装置の番地を指定するのに用い
るオフセット指定ポインタを選択する機能、を有する
か、または、これらの両機能を有することを特徴とする
記憶装置アクセス機構。
(9) 第(1)項から第(8)項までに記載の記憶装
置アクセス機構において、前記記憶装置を命令処理装置
に含まれるレジスタ群とし、前記バンク指定ポインタを
レジスタバンク指定ポインタ、オフセット指定ポインタ
をレジスタオフセット指定ポインタ、アクセスポインタ
をレジスタアクセスポインタとして実現したことを特徴
とする記憶装置アクセス機構。
(10) 第(1)項から第(9)項までに記載の記憶装
置アクセス機構において、Nビット幅のレジスタバンク
指定ポインタの、上位nビットを有効ビットとして、レ
ジスタ群上のバンクを指定し、Nビット幅のレジスタオ
フセット指定ポインタの、下位N−nビットを有効ビッ
トとして、レジスタバンク内のオフセットを指定し、上
記有効ビット以外を“0"とするようにソフトウェアで管
理し、2つのポインタを論理和した値をレジスタアクセ
スポインタの値とすることを特徴とする記憶装置アクセ
ス機構。
(11) 第(10)項記載の記憶装置アクセス機構におい
て、レジスタバンク指定ポインタの有効ビットを下位n
ビットとし、レジスタオフセット指定ポインタの有効ビ
ットを上位N−nビットとすることを特徴とする記憶装
置アクセス機構。
(12) 第(10)項および第(11)項記載の記憶装置ア
クセス機構を用いて、各レジスタバンク毎にスタック等
の、ポインタによってデータの出し入れを管理する記憶
領域を実現し、それぞれの記憶領域に対してデータの出
し入れを管理するポインタを設け、前記レジスタバンク
指定ポインタの値に従って、アクセスされる記憶領域に
対応するポインタを選択し、該ポインタを、レジスタオ
フセット指定ポインタとして、前記レジスタバンク指定
ポインタとともに、前記ポインタ生成回路に入力するこ
とを特徴とする記憶装置アクセス機構。
(13) 第(12)項記載の記憶装置アクセス機構におい
て、ポインタによってデータの出し入れを管理する各々
の記憶領域のオーバーフローを、バンク内オヌセットと
してポインタ生成回路に入力される前記ポインタの演算
の際におけるキャリーの伝播によって検出することを特
徴とする記憶装置アクセス機構。
〔発明の効果〕
以上述べた如く、本発明によれば、一次元的に番地付
けられた記憶領域を、複数の領域に分けた記憶装置のア
クセス機構において、上記複数の領域に分けた記憶領域
を指定する第一の指定ポインタの値と、上記記憶領域内
の相対番地を指定する第二の指定ポインタの値とを用い
て、アクセスする記憶領域の番地を指定するアクセスポ
インタの値を定めるアクセスポインタ生成手段を設けた
ので、上記複数の領域に分けられた記憶領域のアクセス
に有効なアクセス機構を実現できるという効果を奏する
ものである。
また、上記記憶領域の大きさと数とをソフトウェアに
より指定することを可能とし、しかも、各々の領域を用
いて、オーバーフロー検出機構を持つスタック等の、ポ
インタによりデータの出し入れが管理される複数の記憶
装置を効率良く実現できるという顕著な効果を奏するも
のである。
【図面の簡単な説明】
第1図は本発明の概念を示す図、第2図(a)〜(c)
はポインタ生成回路の他の構成方法を示す概念図、第3
図は本発明の実施例としての記憶装置の構成図、第4図
は本発明の他の実施例の要部を示す構成図、第5図は本
発明の更に他の実施例の要部を示す構成図である。 1:記憶装置、2,2A:バンク、3,3A〜3E:バンク指定ポイン
タ、4,4A〜4F:オフセット指定ポインタ、5,5A:ポインタ
生成回路、6〜6F:アクセスポインタ、7:加算器、8:キ
ャリー、11:シフタ回路、12:マスク回路、13:タスク専
用バンク群指定ポインタ、14:タスク内バンク指定ポイ
ンタ。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 迫田 行介 川崎市麻生区王禅寺1099番地 株式会社 日立製作所システム開発研究所内 (56)参考文献 特開 昭61−58043(JP,A)

Claims (3)

    (57)【特許請求の範囲】
  1. 【請求項1】一次元的に番地付けられた記憶領域を複数
    の領域に分け、該複数の領域に分けた記憶領域を指定す
    る第一の指定ポインタの値と、前記記憶領域内の相対番
    地を指定する第二の指定ポインタの値とを用いて、アク
    セスする記憶領域の番地を指定するアクセスポインタの
    値を定めるポインタ生成手段を有する記憶装置アクセス
    機構であって、前記第一の指定ポインタをNビット幅と
    し、該Nビット幅の第一の指定ポインタの上位nビット
    を有効ビットとし、前記第二の指定ポインタをNビット
    幅とし、該Nビット幅の第二の指定ポインタの下位N−
    nビットを有効ビットとするか、前記Nビット幅の第一
    の指定ポインタの下位nビットを有効ビットとし、前記
    Nビット幅の第二の指定ポインタの上位N−nビットを
    有効ビットとし、前記各有効ビット以外のビットを“0"
    とする如く、ソフトウェアにより管理することを特徴と
    する記憶装置アクセス機構。
  2. 【請求項2】記憶装置を構成する、命令処理装置に含ま
    れる一次元的に番地付けられたレジスタ群を複数のレジ
    スタバンクに分け、該複数のレジスタバンクに分けたレ
    ジスタ群を指定する第一の指定ポインタの値と、前記レ
    ジスタ群内の相対番地を指定する第二の指定ポインタの
    値とを用いて、アクセスするレジスタの番地を指定する
    アクセスポインタの値を定めるポインタ生成手段を有す
    る記憶装置アクセス機構であって、前記第一の指定ポイ
    ンタをNビット幅とし、該Nビット幅の第一の指定ポイ
    ンタの上位nビットを有効ビットとし、前記第二の指定
    ポインタをNビット幅とし、該Nビット幅の第二の指定
    ポインタの下位N−nビットを有効ビットとするか、前
    記Nビット幅の第一の指定ポインタの下位nビットを有
    効ビットとし、前記Nビット幅の第二の指定ポインタの
    上位N−nビットを有効ビットとし、前記各有効ビット
    以外のビットを“0"とする如く、ソフトウェアにより管
    理することを特徴とする記憶装置アクセス機構。
  3. 【請求項3】前記複数のレジスタバンクに対応して設け
    られたデータ管理領域におけるデータのオーバーフロー
    を、前記レジスタバンク内オフセットとして前記ポイン
    タ生成手段に入力されるポインタの演算の際におけるキ
    ャリーの伝播によって検出することを特徴とする特許請
    求の範囲第2項記載の記憶装置アクセス機構。
JP61119803A 1986-05-24 1986-05-24 記憶装置アクセス機構 Expired - Lifetime JP2522248B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP61119803A JP2522248B2 (ja) 1986-05-24 1986-05-24 記憶装置アクセス機構
GB8712079A GB2191317B (en) 1986-05-24 1987-05-21 A register access mechanism for a data processing system
KR1019870005090A KR930009666B1 (ko) 1986-05-24 1987-05-22 기억장치 액세스기구
US07/503,626 US5293594A (en) 1986-05-24 1990-04-03 Data processing system having a plurality of register groups and a logical or circuit for addressing one register of one of the register groups

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP61119803A JP2522248B2 (ja) 1986-05-24 1986-05-24 記憶装置アクセス機構

Publications (2)

Publication Number Publication Date
JPS62276633A JPS62276633A (ja) 1987-12-01
JP2522248B2 true JP2522248B2 (ja) 1996-08-07

Family

ID=14770609

Family Applications (1)

Application Number Title Priority Date Filing Date
JP61119803A Expired - Lifetime JP2522248B2 (ja) 1986-05-24 1986-05-24 記憶装置アクセス機構

Country Status (3)

Country Link
JP (1) JP2522248B2 (ja)
KR (1) KR930009666B1 (ja)
GB (1) GB2191317B (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2488980B (en) 2011-03-07 2020-02-19 Advanced Risc Mach Ltd Address generation in a data processing apparatus

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3389380A (en) * 1965-10-05 1968-06-18 Sperry Rand Corp Signal responsive apparatus
US3461434A (en) * 1967-10-02 1969-08-12 Burroughs Corp Stack mechanism having multiple display registers
US3833889A (en) * 1973-03-08 1974-09-03 Control Data Corp Multi-mode data processing system
GB2008821B (en) * 1977-11-04 1982-01-13 Sperry Rand Corp Digital computers
GB2127994B (en) * 1982-09-29 1987-01-21 Apple Computer Memory management unit for digital computer
JPS6158043A (ja) * 1984-07-28 1986-03-25 Fujitsu Ltd レジスタアドレス変換回路
US4704679A (en) * 1985-06-11 1987-11-03 Burroughs Corporation Addressing environment storage for accessing a stack-oriented memory

Also Published As

Publication number Publication date
GB2191317A (en) 1987-12-09
KR930009666B1 (ko) 1993-10-08
JPS62276633A (ja) 1987-12-01
GB2191317B (en) 1990-05-16
GB8712079D0 (en) 1987-06-24
KR870011535A (ko) 1987-12-24

Similar Documents

Publication Publication Date Title
US6226710B1 (en) Content addressable memory (CAM) engine
JP5869009B2 (ja) スタックド・レジスタ・ファイルのレジスタ・セーブ・エンジンのためのバッキング記憶装置バッファ
JPS6027964A (ja) メモリアクセス制御回路
US6138210A (en) Multi-stack memory architecture
EP0149900B1 (en) Data storage apparatus
US5537576A (en) Expandable memory for a digital signal processor including mapped first and second memory banks forming a continuous and contiguous address space
US5293594A (en) Data processing system having a plurality of register groups and a logical or circuit for addressing one register of one of the register groups
JP2522248B2 (ja) 記憶装置アクセス機構
US5179682A (en) Method and apparatus for improved current window cache with switchable address in, out, and local cache registers
US6067602A (en) Multi-stack-caching memory architecture
US6092152A (en) Method for stack-caching method frames
JP4088763B2 (ja) コンピュータシステム及び該コンピュータシステムに適したハードウェア/ソフトウェアロジック並びにキャッシュ方法
EP0787326B1 (en) System and method for processing of memory data and communication system comprising such system
JP2742245B2 (ja) 並列計算機
JP2874221B2 (ja) 演算制御回路
JPS6269321A (ja) プロセススイツチ方式
JPH01241642A (ja) 共通メモリの動的配置方法
JPS61193244A (ja) 仮想記憶方式のウインドウ経由デ−タアクセス方法
JPH02226447A (ja) コンピユータ・システムおよびその記憶装置アクセス方法
JPH04307650A (ja) データ転送方式
JPS63155338A (ja) プログラム実行履歴記録制御方式
JPH06230980A (ja) 割込み回路
JPH02287732A (ja) レジスタアドレス生成装置
JPH0313616B2 (ja)
JPH0724025B2 (ja) マルチレジスタセツト方式のマイクロコンピユ−タ