JP2003108435A - ユーザによりプログラム可能なアドレス指定モードを有するシステム及びその方法 - Google Patents

ユーザによりプログラム可能なアドレス指定モードを有するシステム及びその方法

Info

Publication number
JP2003108435A
JP2003108435A JP2002277789A JP2002277789A JP2003108435A JP 2003108435 A JP2003108435 A JP 2003108435A JP 2002277789 A JP2002277789 A JP 2002277789A JP 2002277789 A JP2002277789 A JP 2002277789A JP 2003108435 A JP2003108435 A JP 2003108435A
Authority
JP
Japan
Prior art keywords
address
bit
replacement
memory
bits
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.)
Granted
Application number
JP2002277789A
Other languages
English (en)
Other versions
JP2003108435A5 (ja
JP4267282B2 (ja
Inventor
Joseph C Circello
シー.サーチェロ ジョセフ
Daniel M Mccarthy
エム.マッカーシー ダニエル
Henri Cloetens
クロエテンス ヘンリ
Nancy H Woo
エイチ.ウー ナンシー
Bridget C Hooser
シー.フーザー ブリジッド
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.)
Motorola Solutions Inc
Original Assignee
Motorola Inc
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 Motorola Inc filed Critical Motorola Inc
Publication of JP2003108435A publication Critical patent/JP2003108435A/ja
Publication of JP2003108435A5 publication Critical patent/JP2003108435A5/ja
Application granted granted Critical
Publication of JP4267282B2 publication Critical patent/JP4267282B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related 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
    • G06F12/02Addressing or allocation; Relocation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/34Addressing or accessing the instruction operand or the result ; Formation of operand address; Addressing modes

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Memory System (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

(57)【要約】 【課題】 情報処理において、システムにおけるメモリ
アドレス指定を最適化する。 【解決手段】 システム(10)は、入力アドレスに含
まれる制御情報に応じて、ユーザにより設定可能なアド
レス指定モードを実現する。複数のユーザにより設定さ
れたアドレス置換制御レジスタ(70乃至72)に記憶
された符号化制御情報を用いて、入力アドレスの所定の
ビットを入れ替えて、対応する置換アドレスを選択的に
生成するためにどのビット値を用いるか判断する。プロ
セッサのパイプラインを変更する必要がないことから、
様々な置換アドレス指定モードは、ユーザ定義でき、ま
た汎用プロセッサ又は専用プロセッサのいずれかを用い
て実行し得る。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、情報処理に関し、
特に、システムにおけるメモリアドレス指定の最適化に
関する。
【0002】
【従来の技術】通常、信号プロセッサは、共通の信号処
理アルゴリズムにカスタマイズされたアドレス指定モー
ドをサポートする。例えば、通常、デジタル信号プロセ
ッサには、高速フーリエ変換(FFT)の性能を最適化
する機能が含まれる。通常、高速フーリエ変換は、桁上
げ反転又はビット反転アドレス指定が含まれる複数のア
ドレス指定モードを用いる。他の信号処理アルゴリズム
は、配列データや係数に簡単にアクセスするためのモジ
ュロ・アドレス指定を広範に用いる。これらのアドレス
指定モードは、より汎用性のあるプロセッサでサポート
されるモードとは異なる場合が多い。往々にして、汎用
プロセッサ用のアドレス指定モードは、C、C++やF
ORTRANの様な高級言語を効率的にサポートするこ
とに基礎を置き、必ずしも信号処理アルゴリズムに見ら
れるオペランド基準パターンに最適化されていない。多
くの場合、プロセッサのパイプラインの全体構成は、こ
れらの基本アドレス指定モードの要求を核として構築さ
れている。その結果、汎用プロセッサの多くが、これら
高機能アドレス指定モードをサポートしない。通常、プ
ロセッサのアーキテクチャは、DSP専用の又は汎用の
機能を実現するが、両方を実現しないよう特別に設計さ
れている。汎用プロセッサは、2種類以上の通常タイプ
のアドレス指定モードを実現するが、このようなプロセ
ッサのアドレス指定モードは、或る音声処理機能を含む
デジタル信号処理等の専用用途に対して最適化されてい
ない。
【0003】なお、本件出願の優先権主張の基礎となる
米国特許出願シリアル番号第09/957,780号の
ための情報開示陳述書として米国特許商標庁に提出され
た先行技術文献を参考として以下に記す。
【特許文献1】米国特許第6,081,821号明細書
【特許文献2】米国特許第5,133,061号明細書
【特許文献3】米国特許第4,506,364号明細書
【非特許文献1】モトローラのジョー・サーチェロ著、
“68K ColdFIRE(R) マイクロプロセッサ”、dCF
4/dt−The First Derivatives of the Version
4.ColdFire(R)Integrated
Core,マイクロプロセッサ フォーラム 2000
年10月11日の2頁
【0004】
【発明が解決しようとする課題】処理機能が同化するに
つれて、汎用プロセッサは更に専用の機能を実現する必
要があるが、ほとんどの汎用プロセッサは、高機能なメ
モリアドレス指定モードをサポートできない。通常、汎
用プロセッサ内に高機能なメモリアドレス指定モードを
実現するには、このような高機能なアドレス指定モード
を実現する前に、パイプライン・アーキテクチャを再構
築する必要がある。
【0005】
【課題を解決するための手段】本発明の第1の特徴によ
れば、メモリアドレス指定を有するシステムが提供され
る。このシステムには、第1ビットフィールドを有する
アドレス置換制御レジスタと、未置換アドレスを受信
し、また、前記アドレス置換制御レジスタから第1ビッ
トフィールドを受信するための制御回路であって、置換
アドレスを生成するために第1ビットフィールドの指示
の下で未置換アドレスを置換する前記制御回路と、前記
制御回路から置換アドレスを受信するためのメモリアレ
イであって、前記メモリアレイにアクセスするために置
換アドレスを用いる前記メモリアレイと、が含まれる。
本発明の第2の特徴によれば、メモリアドレス指定を提
供する方法であって、未置換アドレスを受信する段階
と、第1ビットフィールドを有するアドレス置換制御レ
ジスタを提供する段階と、置換アドレスを生成するため
に第1ビットフィールドの指示の下で未置換アドレスを
修正する段階と、置換アドレスをメモリアドレス指定に
提供する段階と、を備えることを特徴とする方法が提供
される。
【0006】
【発明の実施の形態】図1は、アドレスが選択的に修正
又は置換されるシステムであって、ユーザにより設定可
能なアドレス指定モードを備えるシステム10を示す。
システム10は、バス14に接続された第1入力/出力
端末を備えるシステムバス制御装置12を有する。シス
テムバス制御装置12は、スレーブバス16に接続され
た第2入力/出力端末を有する。バス16には、一般的
にモジュール18やモジュール20として示す複数のス
レーブ装置が接続される。モジュール18及びモジュー
ル20は、タイマ、汎用非同期受信送信器(UAR
T)、パラレルポート、メモリ、シリアル通信装置、デ
ータ変換器等、任意の数の装置でよい。システムバス制
御装置12の第3の入力/出力端末は、内部バス22に
接続される。内部バス22には、処理コア部26とバス
マスタモジュール24が接続される。バスマスタモジュ
ール24は、処理コア部26と同様の方法でバス転送を
開始し得る。バスマスタモジュール24と処理コア部2
6は、各々双方向装置であり、また、各々、内部バス2
2との間で情報の受信や提供を行う。バスマスタモジュ
ール24は、直接メモリアクセス(DMA)装置、他の
処理コア部等、任意の数の装置でよい。システムバス制
御装置12内には、処理コア部26、バスマスタモジュ
ール24及び内部バス22に接続された他のあらゆる装
置(図示せず)間でのバストラフィックを調停する機能
を有する論理回路がある。処理コア部26は一部のみを
示す。処理コア部26は、バス32を介してメモリユニ
ット30に接続された処理ユニット28を有する。メモ
リユニット30は、制御バス35、データバス37、及
びアドレスバス38を介してメモリアレイ36に接続さ
れたメモリ制御装置34を有する。
【0007】動作中、システム10を実行すると、ユー
ザは、メモリ36をアドレス指定するために複数のメモ
リアドレス指定モードの内1つを定義し選択し得る。汎
用アルゴリズム及び専用のデータ処理アドレス指定のサ
ポートは、処理ユニット28から特定のパイプラインの
サポートを必要とせずに実行し得る。メモリ制御装置3
4は、メモリアレイ36と処理ユニット28との間のイ
ンタフェースとして機能する。特に、メモリ制御装置3
4は、制御及びアドレス情報の生成と、メモリアレイ3
6間でのデータアクセスとを行う。更に、後述するよう
に、メモリ制御装置34は、メモリアレイ36へのアク
セスに用いる特定のメモリアドレス指定モードを制御す
るように機能する。このようなメモリアドレス指定モー
ドは、ソフトウェアプログラミング、又は集積回路のピ
ン入力等、他の制御手段を介してユーザ定義される。メ
モリアドレス指定モード間で変換を行う場合、入力アド
レスは、所望のメモリアドレス指定モードを実行するた
めに、他の所定のフォーマットに置換又は変更される。
アドレス置換機能は、処理ユニット28からのメモリユ
ニット30のメモリアクセス、及びバスマスタモジュー
ル24からのメモリアクセス又は内部バス22に接続さ
れメモリユニット30を参照する他のあらゆる装置(図
示せず)からのメモリアクセスに利用可能であることに
留意されたい。
【0008】図2には、メモリ制御装置34の一部を詳
細に示す。ビット[19:0](ここで、ビット19は
最上位ビットであり、ビット0は最下位ビット)を有す
る20ビットアドレスの一部は、バイパス論理回路42
の入力部に接続される。20ビットアドレスのビット0
乃至15が、バイパス論理回路42の入力部に接続され
る。バイパス論理回路42からの16ビット出力は、各
16:1マルチプレクサ50の入力部に接続される。1
6:1マルチプレクサ50は、マルチプレクサ51乃至
66を有する。各マルチプレクサ51乃至66には、単
一ビットを出力して、マルチプレクサ77の第1入力部
に接続される16ビットアドレスを形成するための出力
部がある。バイパス論理回路42の第2出力は、マルチ
プレクサ77の第2入力部に接続される。バイパス論理
回路42の第3の出力部からは、マルチプレクサ77の
制御入力部に接続され、また(バイパス又は置換され
た)どのアドレス38がメモリアレイ36に送信される
かを周期毎に判断する制御信号80が供給される。マル
チプレクサ77の出力部は、メモリアレイ36に16ビ
ットアドレス38を供給する。マルチプレクサ68は、
各マルチプレクサ51乃至66の制御入力部に制御信号
を供給する。20ビット入力アドレスの2つのビット、
すなわち、ビット18及びビット19は、選択ビットと
して機能し、マルチプレクサ68の制御入力部に接続さ
れ、どのアドレス置換制御レジスタをアドレスビット処
理に用いるかを選択するために、3つの入力信号の内1
つを選択する。また、20ビット入力アドレスの同じ2
つのビット、すなわち、ビット18及びビット19は、
バイパス論理回路42の制御入力部にも接続され、現在
の入力アドレスが置換実行を必要とするか否かを判断す
る。必要でない場合、メモリアレイ36にアドレスバス
38を介して送信される入力アドレスが、バイパス論理
回路42から送信される。マルチプレクサ68の第1入
力部は、64ビット制御フィールドを提供するアドレス
置換制御レジスタ70に接続される。マルチプレクサ6
8の第2入力部は、第264ビット制御フィールドを提
供するアドレス置換制御レジスタ71に接続される。マ
ルチプレクサ68の第3の入力部は、第3の64ビット
制御フィールドを提供するアドレス置換制御レジスタ7
2に接続される。マルチプレクサ68の64ビット制御
フィールド出力部は、マルチプレクサ51乃至66の制
御端末に接続される。特に、64ビットの内、所定の4
ビットは、それぞれマルチプレクサ51乃至66の所定
の1つに接続される。一般的に、バイパス論理回路4
2、マルチプレクサ51乃至66、マルチプレクサ68
及びマルチプレクサ77が、制御回路40を形成する。
【0009】動作中、20ビットの未置換入力アドレス
が受信され、下位16ビットは、バイパス論理回路42
によって用いられる。下位16ビットは、アドレス置換
中、制御回路40が選択可能に変更する修正可能なアド
レス部分を形成する。ビット16乃至19は、アドレス
置換中、制御回路40が決して修正しない修正不可能な
アドレス部分を形成する。ビット16及び17は、符号
化され、また、保護ビットとして用いられが、これにつ
いては後述する。保護ビットが存在する場合、少なくと
も1つの保護ビットが用いられ、受信未置換アドレスの
修正可能なアドレス部分[15:0]よりも上位のビッ
ト位置付近に配置される。また、ビット18及び19も
符号化して、マルチプレクサ68の制御に用いる。バイ
パス論理回路42は、制御情報として符号化ビット18
及び19を用いて、置換機能を入力アドレスに適用する
か否か判断する回路として機能する。ビット18及び1
9がゼロでない場合、置換機能が適用される。そうでな
い場合、入力アドレスは、置換回路をバイパスし、アド
レス38としてマルチプレクサ77によって接続され
る。例えば、ビット18及び19中の制御情報は、置換
バイパスのオプションを提供して、ビット18及び19
が、値“00”をとる場合、アドレス置換を回避する。
ビット18及び19が、値“01” をとる場合、アド
レス置換制御レジスタ70で定義される置換機能が、1
6:1マルチプレクサ50に対する制御信号として入力
アドレスに適用される。ビット18及び19が、値“1
0”をとる場合、アドレス置換制御レジスタ71で定義
される置換機能が、16:1マルチプレクサ50に対す
る制御信号として入力アドレスに適用される。ビット1
8及び19が、値“11” をとる場合、アドレス置換
制御レジスタ72で定義される置換機能が、入力アドレ
スに適用される。
【0010】図3には、アドレス置換制御レジスタ70
乃至72が提供する64ビットのビットフィールド割当
てを示す。ビットフィールド割当ては、システム10の
ユーザに提供され、ユーザは、適用されるアドレス置換
機能を定義するビット値を、レジスタ70乃至72に設
定するか又はロードされるようにしてよい。図3は、置
換制御レジスタ70専用のビットフィールド割当てを示
すが、同一の又は他のビットフィールド割当てが、置換
制御レジスタ71及び72に対してなされることを理解
されたい。図示の如く、アドレス中の各ビットの置換
は、置換制御レジスタ70内において4ビットフィール
ド毎に制御される。例えば、第1ビットフィールドは、
ビット[3:0]を含む。16ビットの置換アドレスに
おける任意のアドレスビットをiとした場合、対応する
4ビットの指定子は、64ビット置換制御レジスタのビ
ット位置4i乃至(4i+3)の間に配置される。例え
ば、第3の4ビットフィールド[11:8]は、未置換
アドレスのビット2の置換を制御又は指示して、置換ア
ドレスのビット2(i=2)を形成する。同じことが、
第14ビットフィールドを除き、図3に示す他の全ての
4ビット割当てに当てはまる。ビット[3:0]は、未
置換アドレスにおけるビット0及び1の両方の置換を制
御して、置換アドレスのビット0及び1を形成する。ビ
ットフィールドは、未置換アドレスの置換を指示するた
めに、制御回路40が同時に用いてよい。
【0011】図4には、メモリアレイ36のメモリ区分
マッピングの図を示す。図示の形態において、メモリア
レイ36が、4つのグループのメモリアドレス領域に分
割される。分割によって、多重マッピングのメモリ空間
が生成される。ページ0乃至3の第1領域は、メモリア
ドレス置換が実行されないアドレスの領域を示す。言い
換えれば、そのアドレス領域に割当てられる情報がアク
セスされる場合、メモリアドレス置換は行われない。第
2アドレス領域は、ページ4乃至7で示すが、アドレス
置換制御レジスタ70が制御するアドレス置換を受け
る。第3のアドレス領域は、ページ8乃至11で示す
が、アドレス置換制御レジスタ71が制御するアドレス
置換を受ける。第4のアドレス領域は、ページ12乃至
15で示すが、アドレス置換制御レジスタ72が制御す
るアドレス置換を受ける。3つの異なるアドレス置換及
びパススルー機能を示したが、あらゆる様々なサイズの
メモリ区分を任意の数だけ実現し得ることが理解されよ
う。
【0012】図5は、メモリアレイ36のメモリサイズ
を変更するための未置換形態での入力アドレスにおける
アドレスのビットフィールド割当てを示す。2Kバイト
乃至64Kバイトの特定のメモリアレイサイズを示す。
他のメモリサイズも選択してよい。各メモリサイズに要
求される所定のメモリ基底アドレスは、図5の表の第2
列に示すが、ここで、これを実行する場合、図4に示す
16の同サイズのメモリページが、物理メモリサイズの
16倍の合計メモリ空間を必要とする。例えば、8Kバ
イトメモリの場合、基底アドレスは、基底アドレスが1
28Kの偶数倍でなければならないことを意味する0モ
ジュロ128Kでなければならない。図5の表の第3列
は、どの置換機能を入力アドレスに適用するかを選択す
るために用いる2つの置換選択ビットを示す。図2に示
す如く、ビット18及び19を置換選択ビットとして用
いる場合、メモリアレイ36のサイズは、64Kバイト
でなければならない。図5の表の第4列は、入力アドレ
スのどの2つのビットを保護ビットとして用いるかを示
す。保護ビットは、置換選択ビットを含む上位の2ビッ
トと、ポストインクリメント・アドレス・モード等、従
来のアドレス生成により生じ得るあらゆる潜在的な繰上
り又は繰下げとの間のバッファとして機能する。図5の
表の第5列は、メモリアレイ36の物理サイズに基づく
入力アドレスのビット幅を示す。メモリアレイ36の物
理サイズが大きくなると、入力アドレスのサイズも大き
くなる。これによって、保護ビット及び置換選択ビット
のビット位置は、更に上位のビット位置にシフトする。
【0013】図6には、置換アドレスのビット2乃至1
5のビットフィールド符号化を示す。ビット0及び1の
ビットフィールド符号化については、図7を参照して後
述する。図6の第1列は、マルチプレクサ51乃至66
の制御に用いる置換制御レジスタフィールドを示す。符
号化は、ビット指定子と見なし得るが、これは、ビット
指定子の値が、置換アドレスの各ビットにどんな最終値
を用いるか決定するためである。図6の第2列は、各マ
ルチプレクサ51乃至66がビット指定子に基づき出力
する実際のビット値を指定する。
【0014】次のアルゴリズムは、16ビット置換アド
レスのビット2乃至15ビットのビット符号化を指定
し、iが、置換アドレスにおけるビット位置を示す場
合、置換制御レジスタから置換アドレスのi番目のビッ
トに対するビット指定子を抽出する。ビット指定子が0
である場合、置換アドレスのi番目のビットを0に設定
する。ビット指定子が1であり且つ置換制御レジスタの
ビット3が0である場合、置換アドレスのi番目のビッ
トを1に設定する。ビット指定子が1であり且つ置換制
御レジスタのビット3が1である場合、置換アドレスの
i番目のビットを未置換アドレスのビット1と同じに設
定する。他の全ての場合、置換アドレスのi番目のビッ
トは、ビット指定子で指定されたビット位置の未置換ア
ドレスにおける値をとる。
【0015】従って、置換制御レジスタのビット3(図
6の左列において一番左側のビット位置に示す5番目の
追加ビット)は、ビット指定子が値1をとる場合にのみ
意味を持つことに留意されたい。他の全ての場合、置換
制御レジスタのビット3は、図6の“X”で示す値決定
においては用いない。
【0016】図6の符号化について、幾つかの例を用い
て更に説明する。iが5であり、対応するビット指定子
が値0111を持つと仮定する。ビット指定子が011
1であることから、置換アドレスのビット5は、未置換
アドレスのビット7(0111)に含まれる値をとる。
第2例として、iが6であり、対応するビット指定子が
値0001を持ち、置換制御レジスタのビット3が値1
を持つと仮定する。これらの条件は、図6の表の第3行
に対応する。従って、置換アドレスのビット6は、未置
換アドレスのビット1の値をとる。
【0017】システム10において、処理コア部26及
びバスマスタモジュール24は、様々なオペランドサイ
ズを有するメモリにアクセスし得る。例えば、全てのメ
モリアドレスが、バイトレベルのアドレスとして処理さ
れる場合、8、16、及び32ビットアクセスが可能で
ある。従って、オペランド基準のサイズに基づきメモリ
アレイ36のアドレスを正確に生成するには、置換アド
レスビット[1:0]の特別な処理が必要である。図7
には、置換アドレスのビット0及び1のビットフィール
ド符号化を示す。一番左の列に、ビット[3:0]がと
り得る所定の値を示す。記載した実施形態では用いない
値があるため、全ての可能な値を示してはいない。一番
右の2列は、ビット1及びビット0の場合に存在する対
応する置換アドレスビットを示す。例えば、置換制御レ
ジスタ[3:0]が、値0100を持つとすると、置換
アドレスのビット1は、未置換アドレスのビット1の値
をとり、置換アドレスのビット0は、値0をとる。
【0018】他の例として、置換制御レジスタ[3:
0]が、値1010を持つと仮定する。ビット指定子1
は、図7において、置換制御レジスタ[7:4]の値に
対応する。置換アドレスのビット1は、未置換アドレス
のビット指定子1が指定するビット位置に含まれる値を
とる。置換アドレスのビット0は、未置換アドレスのビ
ット位置0に含まれる値をとる。
【0019】2つの一般的なタイプのユーザ定義による
アドレス指定モードを生成するアドレス置換機能の用途
を完全に実証する以下の例について考える。まず、モジ
ュロ−2k の表の生成について考える。2のべき乗に対
する置換アドレスの表は、上位ビットが任意のメモリア
ドレスに固定されている入力アドレスの低次のkビット
を用いることで、容易に作成される。アドレス0x10
00(ここで、接頭部0xによって、基数16、すなわ
ち16進数値が識別される)を底として、32ビットオ
ペランドの1024項目の表(合計サイズが4096バ
イト)を考える。入力アドレス・ストリームは、0から
始まり、アクセス当たりのデータバイト数である4づつ
単純にインクリメントされる。入力アドレス・ストリー
ムと置換アドレス出力との間の所望のマッピングは、以
下のように与えられる。
【0020】
【表1】 表1に示す如く、入力アドレスは、連続的に増加し、一
方、置換アドレス出力は、固定アドレスから始まるモジ
ュロ4096の表に順番に従う。この機能を生成する場
合、64ビットアドレスの置換制御レジスタは、値0x
0001_BA98_7654_32x0で設定される
が、ここで、xは不定(ドントケア)値を示す。表中の
点は、他に介在するアドレスシーケンスが存在すること
を示すが、便宜上、全て列挙しない。
【0021】第2に、FFT処理に必要なことが多いビ
ット反転の表について考える。256バイト、すなわ
ち、アドレス0を底とする16ビットデータ構造の場
合、以下の表によって、必要なビット反転機能が定義さ
れる。
【0022】
【表2】 表2に示す如く、入力アドレスは、連続的に増加し、一
方、置換アドレス出力は、ビット反転されたパターンに
従う。この機能を生成する場合、64ビットアドレスの
置換制御レジスタは、値0x0000_0000_12
34_5678で設定される。ここでも、点線は、便宜
上示さないが、介在するアドレスのシーケンスを示す。
【0023】アドレス置換を行う場合、様々なタイミン
グの実行方法を用い得ることを理解されたい。また、様
々なバッファ手法を実行してもよい。この結果、アドレ
ス置換の実行に対応するタイミングは、実行方法に固有
のものである。
【0024】この時点で、メモリアドレス置換の仕組み
と、ユーザがメモリアドレスを修正又は置換して、それ
によって様々なタイプのメモリ置換モードの実行を可能
にするための方法と、が提供されたことが理解されたで
あろう。本発明は、汎用プロセッサに用いて、プロセッ
サが、プロセッサのパイプライン・アーキテクチャに影
響を及ぼすことなく又変更することなく、高機能なアド
レスモードの実行を可能にする。メモリアドレス置換モ
ードは、アドレス位置(すなわち、アドレスマッピン
グ)によって選択又は決定し得る。また、様々なメモリ
アドレス置換方式が、アドレス置換制御レジスタ70乃
至72で符号化され、アドレス置換間で透過的に切替え
を行う際、高い自由度が可能になる。
【0025】本発明の様々な実際の具体例は、容易に利
用し得る。例えば、様々なアーキテクチャが、処理ユニ
ット28に用い得る。本発明は、チップ上のシステムと
して単一の集積回路チップ上に実現してもよく、又は複
数の個別処理システムを用いて実現してもよい。図に示
す特定の論理ブロックのいずれかを実行するために、実
際の具体例を数多く創出し得る。例えば、メモリアレイ
は、DRAM、SRAM、フラッシュメモリ、及び様々
な物理サイズを有するものとして実現してもよい。上述
したビット幅は、具体例に固有のものであり、ビット指
定子値等、上述した以外のビット幅を用いてもよい。シ
ステム10は、複数のバスマスタを有するシステムとし
て実現してもよい。例えば、コプロセッサ又はDMAを
処理ユニット28に用いてもよい。本発明は、MOS、
バイポーラ、SOI、GaAs、又は他の種類の半導体
処理で実現してもよい。メモリアドレス置換の実行に用
いる回路は、システム10内の様々な場所に実装しても
よく、メモリ制御装置内での実装に制限されない。従っ
て、本発明は、添付の請求項の範囲内に入るこのような
変更及び修正を全て含むものとする。
【0026】
【発明の効果】以上説明したように、システムにおける
メモリアドレス指定が最適化される。システムは、入力
アドレスに含まれる制御情報に応じて、ユーザにより設
定可能なアドレス指定モードを実現する。複数のユーザ
により設定されたアドレス置換制御レジスタに記憶され
た符号化制御情報を用いて、入力アドレスの所定のビッ
トを入れ替えて、対応する置換アドレスを選択的に生成
するためにどのビット値を用いるか判断する。プロセッ
サのパイプラインを変更する必要がないことから、様々
な置換アドレス指定モードは、ユーザ定義でき、また汎
用プロセッサ又は専用プロセッサのいずれかを用いて実
行し得る。
【図面の簡単な説明】
【図1】 本発明に用いる代表的なシステムを示すブロ
ック図。
【図2】 ユーザにより設定可能なメモリアドレス指定
モードを実現するための図1のメモリ制御回路を示すブ
ロック図。
【図3】 図2における置換制御レジスタの内の1つに
あるビットフィールド割当て表を示す図。
【図4】 図1のメモリアレイにおけるメモリパーティ
ションマッピングを示すブロック図。
【図5】 メモリサイズを変更するための未置換形態に
よるアドレスのビットフィールド割当てを表形式で示す
図。
【図6】 本発明に基づく置換アドレスに含まれるビッ
トの一部のビットフィールド符号化を表形式で示す図。
【図7】 本発明に基づく、置換アドレスに含まれるビ
ットにおける他の部分のビットフィールド符号化を表形
式で示す図。
【符号の説明】
12・・・システムバス制御装置、16・・・バス、1
8・・・モジュール、20・・・モジュール、26・・
・処理コア部、28・・・処理ユニット、34・・・メ
モリ制御装置、38・・・アドレス、37・・・デー
タ、35・・・制御、36・・・メモリアレイ、30・
・・メモリユニット、22・・・バス、24・・・バス
マスタモジュール。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 ダニエル エム.マッカーシー アメリカ合衆国 85022 アリゾナ州 フ ェニックス イースト キャスリーン ロ ード 7 (72)発明者 ヘンリ クロエテンス ベルギー国 1800 フィルフォルデ エッ センダラーン 15 (72)発明者 ナンシー エイチ.ウー アメリカ合衆国 78737 テキサス州 オ ースチン エル ドラド ドライブ 7824 (72)発明者 ブリジッド シー.フーザー ドイツ連邦共和国 81669 ミュンヘン フランツィスカーナシュトラーセ 49 Fターム(参考) 5B060 AB25

Claims (4)

    【特許請求の範囲】
  1. 【請求項1】 メモリアドレス指定を有するシステムで
    あって、 第1ビットフィールドを有するアドレス置換制御レジス
    タと、 未置換アドレスを受信し、また、前記アドレス置換制御
    レジスタから第1ビットフィールドを受信するための制
    御回路であって、置換アドレスを生成するために第1ビ
    ットフィールドの指示の下で未置換アドレスを置換する
    前記制御回路と、 前記制御回路から置換アドレスを受信するためのメモリ
    アレイであって、前記メモリアレイにアクセスするため
    に置換アドレスを用いる前記メモリアレイと、を備える
    ことを特徴とするシステム。
  2. 【請求項2】 請求項1に記載のシステムであって、 未置換アドレスには、置換の間、前記制御回路によって
    決して修正されない修正不可能なアドレス部分と、置換
    の間、前記制御回路によって選択的に修正される修正可
    能なアドレス部分と、が含まれることを特徴とするシス
    テム。
  3. 【請求項3】 請求項1に記載のシステムであって、 前記アドレス置換制御レジスタは、未置換アドレスの置
    換を指示するために前記制御回路によって用いられる第
    2ビットフィールドを有することを特徴とするシステ
    ム。
  4. 【請求項4】 メモリアドレス指定を提供する方法であ
    って、 未置換アドレスを受信する段階と、 第1ビットフィールドを有するアドレス置換制御レジス
    タを提供する段階と、 置換アドレスを生成するために第1ビットフィールドの
    指示の下で未置換アドレスを修正する段階と、 置換アドレスをメモリアドレス指定に提供する段階と、
    を備えることを特徴とする方法。
JP2002277789A 2001-09-21 2002-09-24 ユーザによりプログラム可能なアドレス指定モードを有するシステム及びその方法 Expired - Fee Related JP4267282B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/957,780 2001-09-21
US09/957,780 US6766433B2 (en) 2001-09-21 2001-09-21 System having user programmable addressing modes and method therefor

Publications (3)

Publication Number Publication Date
JP2003108435A true JP2003108435A (ja) 2003-04-11
JP2003108435A5 JP2003108435A5 (ja) 2006-03-23
JP4267282B2 JP4267282B2 (ja) 2009-05-27

Family

ID=25500121

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002277789A Expired - Fee Related JP4267282B2 (ja) 2001-09-21 2002-09-24 ユーザによりプログラム可能なアドレス指定モードを有するシステム及びその方法

Country Status (2)

Country Link
US (1) US6766433B2 (ja)
JP (1) JP4267282B2 (ja)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6904504B2 (en) * 2001-11-14 2005-06-07 Intel Corporation Method and apparatus for software selection of protected register settings
US6751113B2 (en) * 2002-03-07 2004-06-15 Netlist, Inc. Arrangement of integrated circuits in a memory module
US6865659B2 (en) * 2002-06-07 2005-03-08 Sun Microsystems, Inc. Using short references to access program elements in a large address space
JP2004102799A (ja) * 2002-09-11 2004-04-02 Nec Electronics Corp レジスタファイル及びレジスタファイルの設計方法
US20050018495A1 (en) * 2004-01-29 2005-01-27 Netlist, Inc. Arrangement of integrated circuits in a memory module
US20070266225A1 (en) * 2006-05-09 2007-11-15 Ko Tak K V Microcontroller unit
US8898439B2 (en) * 2009-07-17 2014-11-25 Macronix International Co., Ltd. Serial flash memory and address transmission method thereof
US8677100B2 (en) * 2009-07-17 2014-03-18 Macronix International Co., Ltd. Serial memory interface for extended address space
US9323654B2 (en) * 2013-07-17 2016-04-26 Infineon Technologies Ag Memory access using address bit permutation
US9760446B2 (en) * 2014-06-11 2017-09-12 Micron Technology, Inc. Conveying value of implementing an integrated data management and protection system
US9858201B2 (en) 2015-02-20 2018-01-02 Qualcomm Incorporated Selective translation lookaside buffer search and page fault
US9658793B2 (en) * 2015-02-20 2017-05-23 Qualcomm Incorporated Adaptive mode translation lookaside buffer search and access fault

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4489403A (en) * 1982-05-24 1984-12-18 International Business Machines Corporation Fault alignment control system and circuits
US4506364A (en) * 1982-09-30 1985-03-19 International Business Machines Corporation Memory address permutation apparatus
US5133061A (en) 1987-10-29 1992-07-21 International Business Machines Corporation Mechanism for improving the randomization of cache accesses utilizing abit-matrix multiplication permutation of cache addresses
US6081821A (en) 1993-08-05 2000-06-27 The Mitre Corporation Pipelined, high-precision fast fourier transform processor
JPH11184674A (ja) * 1997-12-24 1999-07-09 Fujitsu Ltd レジスタファイル
US6289430B1 (en) * 1999-02-18 2001-09-11 International Business Machines Corporation Method and apparatus for target addressing and translation in a non-uniform memory environment with user defined target tags
US6313773B1 (en) * 2000-01-26 2001-11-06 Sonic Innovations, Inc. Multiplierless interpolator for a delta-sigma digital to analog converter
JP2002366425A (ja) * 2001-06-05 2002-12-20 Hitachi Ltd アドレス変換回路を有するデータ処理装置

Also Published As

Publication number Publication date
JP4267282B2 (ja) 2009-05-27
US6766433B2 (en) 2004-07-20
US20030061461A1 (en) 2003-03-27

Similar Documents

Publication Publication Date Title
US5765216A (en) Data processor with an efficient bit move capability and method therefor
US7975080B2 (en) Methods and apparatus for providing bit-reversal and multicast functions utilizing DMA controller
JPH10254696A (ja) プロセッサ及び情報処理装置
JP2003108435A (ja) ユーザによりプログラム可能なアドレス指定モードを有するシステム及びその方法
JP2504206B2 (ja) バスコントロ―ラ
JP2845433B2 (ja) 集積回路装置
US5666510A (en) Data processing device having an expandable address space
US6463518B1 (en) Generation of memory addresses for accessing a memory utilizing scheme registers
US5771363A (en) Single-chip microcomputer having an expandable address area
JP4106097B2 (ja) マスク発生器
JP2008046771A (ja) ダイレクトメモリアクセスコントローラ
KR20050110006A (ko) 데이터 프로세싱 시스템의 메모리 관리
EP0766181A2 (en) Bust mode data transfer in a data processing system
KR940000221B1 (ko) 래더명령 처리장치
CN113721979A (zh) 可配置位宽的寄存器电路及方法、解码电路和芯片
JP2008003867A (ja) マイクロコンピュータ
JPH08106403A (ja) 半導体試験装置のdma転送制御回路
JPH11120114A (ja) データ受渡装置
JP2000066892A (ja) プログラム可能1ビットデ―タ処理装置
KR20030039185A (ko) 직접 메모리 접근 컨트롤러
JP2000137698A (ja) マイクロコンピュータ
JPH0855477A (ja) メモリ装置
JPH11203194A (ja) メモリ制御回路
JPH0944474A (ja) 高速フーリエ変換演算用アドレス生成回路
JPH1074190A (ja) 並列プロセッサ

Legal Events

Date Code Title Description
RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20030604

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20030604

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20040927

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050926

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060118

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060118

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080701

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20081001

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20081006

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20081222

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20090120

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20090218

R150 Certificate of patent or registration of utility model

Ref document number: 4267282

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120227

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130227

Year of fee payment: 4

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130227

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140227

Year of fee payment: 5

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees