JP3600830B2 - Processor - Google Patents
Processor Download PDFInfo
- Publication number
- JP3600830B2 JP3600830B2 JP2003027742A JP2003027742A JP3600830B2 JP 3600830 B2 JP3600830 B2 JP 3600830B2 JP 2003027742 A JP2003027742 A JP 2003027742A JP 2003027742 A JP2003027742 A JP 2003027742A JP 3600830 B2 JP3600830 B2 JP 3600830B2
- Authority
- JP
- Japan
- Prior art keywords
- address
- processor
- bank
- access
- row
- 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
Links
Images
Description
【0001】
【発明の属する技術分野】
本発明はデータ処理システムに関し、特にマイクロプロセッサLSI、およびマイクロプロセッサ周辺回路のうちメモリを制御する部分に関するものである。
【0002】
【従来の技術】
ダイナミックメモリは一般にはDRAM (Dynamic Random Access Memory)と呼ばれる。典型的なダイナミックメモリLSIの仕様は「日立ICメモリデータブック3 (DRAM, DRAMモジュール, 第445ページから第464ページ」に記載されている。該文献のダイナミックメモリはA0−A9なる10本のアドレス入力端子を備えるが、その入力端子を経由して与えるアドレスはロー/カラムと多重化されている(第448ページ)。また該文献のリード/ライトアクセスではロー、カラムの順にアドレスをダイナミックメモリLSIに与える必要があり(第454ページ)、その時の外部アドレス確定からのリードアクセス時間は70ナノ秒である(1ナノ秒=10の(−9)乗秒)。それとは別に、高速ページモード(第461ページ)を用いると第1回目のロー、カラムアドレス転送の後、第2回目以降のアクセスが同一ローアクセスに行われる限りはローアドレスの転送を省略でき、該第2回目以降の外部アドレス確定からのリードアクセス時間は20ナノ秒と小さく抑さえられる。
【0003】
従来のマイクロプロセッサ(以下単にプロセッサとよぶ)の有するDRAM制御機能の一例は非特許文献1に記載されている。該講演資料集の第4.2.3ページにはプロセッサLSIと2バンクのDRAMチップが直接接続されている図が記載されている。また非特許文献1の第4.2.8ページのタイミング図には”Check fast page cache−hit”(高速ページのキャッシュヒット)なる記述があり、プロセッサ内部の何らかのヒット条件でダイナミックメモリの高速ページモードを使用すると推測できる。この動作は例えば前回のダイナミックメモリをアクセスした際のローアドレスを記憶しておけば可能である。しかし、2バンクのDRAMの用いられ方、また高速ページのキャッシュヒットと2バンクのDRAMの関係については全く述べられていない。
【非特許文献1】
「第4回ホットチップス講演資料集, 第4.2.1ページから第4.2.12ページ, 1992年8月」(Hot Chips IV, pp. 4.2.1−4.2.12, Aug. 1992, held in Stanford Univ.)
【0004】
従来のプロセッサLSIでプロセッサの端子のうちにダイナミックメモリのためのロー/カラムと多重化されたアドレスを備えるものを想定する。そのプロセッサLSIで行われたアクセスの例を図2に示す。ただし図2で横方向は時間軸であるとし、201はプロセッサのアクセス要求を、202はプロセッサのダイナミックアドレス端子A0−9を、203はダイナミックメモリのロー・アドレス・ストローブ(RAS−n)信号を、204はダイナミックメモリのカラム・アドレス・ストローブ(CAS−n)信号を示すものとする。また信号線の最後に付した”−n”は負極性信号を示す。本アクセスは、例えばブロックコピー、すなわちある領域のメモリの内容を、別の領域のメモリに複写する時に起こる。図2ではA000番地から始まる領域を、7040番地から始まる領域に複写する。ただし本願内、番地は16進数で表示する。また205は32ビットの物理アドレスの用いられ方を示す説明図である。物理アドレスのビット(30〜31)がワード内アドレスに、ビット(21〜29)がダイナミックメモリのカラムアドレスに、ビット(11〜20)がダイナックメモリのローアドレスに割り当てられている。ビット(i)は左端をビット0とした場合の第iビットを示す。その時に時間順に動作を追っていくと、下記のようになる。
動作1:A000番地にリード。ローアドレス/カラムアドレスをダイナミックメモリに転送する。ローアドレスはアドレスのビット(11〜20)なので14となる。カラムアドレスははアドレスのビット(21〜29)なので0となる。
動作2:A004番地にリード。ローアドレスは前回のローアドレスと等しいのでダイナミックメモリへの転送を省略する。カラムアドレスをダイナミックメモリに転送する。
動作3:7040番地にライト。ローアドレス/カラムアドレスをダイナミックメモリに転送する。
動作4:7044番地にリード。ローアドレスは前回のローアドレスと等しいのでダイナミックメモリへの転送を省略する。カラムアドレスをダイナミックメモリに転送する。
続く4回のアクセスは同様の動作をするので省略する。
【発明が解決しようとする課題】
本例で示されたように、従来の技術例ではブロックコピー処理でリード(ソース)側、ライト(デスティネーション)側のローアドレスが異なる時には、アクセスのソースとデスティネーションが切り替わるたびにダイナミックメモリのローアドレスを省略する高速モードの使用ができなくなるという問題点がある。
【0005】
本発明の目的はそのダイナミックメモリのローアドレスを省略する高速モードの使用ができなくなるという問題点を解決することにある。
【0006】
本発明の他の目的はダイナミックメモリ用の多重化されたアドレス端子をもたないプロセッサにおいてダイナミックメモリのローアドレスを省略する高速モードの使用を可能とし、同時にプロセッサLSIの外部の論理量を最小にするためのプロセッサLSIの信号線インターフェースを提供することにある。
【0007】
本発明の他の目的は同期型ダイナミックメモリの動作モードに関する情報をプロセッサLSIから設定でき、かつプロセッサLSIの外部の論理量を最小にするためのプロセッサLSIの信号線インターフェースを提供することにある。
【0008】
【課題を解決するための手段】
メモリにアクセスするためにアクセスアドレスを出力するプロセッサであって、上記アクセスアドレスは、ローアドレス、カラムアドレス及びバンクアドレスを有し、上記プロセッサは、上記アクセスアドレスのうち上記バンクアドレスの位置を指定するため制御回路を有するように構成する。
【0009】
【発明の実施の形態】
本発明を用いた情報処理装置のアクセスパタンを図3に示す。301,114,117,116,305はそれぞれ図2での201−205に相当するものであり、説明は
省略する。205に示すように本例では32ビットの物理アドレスのうちビット(30〜31)が最下位2ビットがワード内アドレスに、ビット(21〜29)がダイナミックメモリのカラムアドレスに、ビット(20)がダイナミックメモリのバンクアドレスに、ビット(9〜19)がダイナミックメモリのローアドレスに割り当てられている。115はバンクビットを示すプロセッサLSI端子である。1回のアクセスではバンクビットによって指定されるダイナミックメモリLSIだけがアクセスされる。
ダイナミックメモリは1回のアクセスではバンクビットによって分けられた部分のみがアクセスされる。そのメモリの構成の具体例については、その他の実施例で詳細に説明する。A000,A004番地のアクセス期間中はバンク0に相当するダイナミックメモリLSIがアクセスされる。7040,7044番地のアクセス期間中はバンク1に相当するダイナミックメモリLSIがアクセスされるが、バンク0に相当するダイナミックメモリLSIはアクセスされない。その後A008番地にリードする時、バンク0に相当するダイナミックメモリLSIに関して前回とローアドレスは等しいので、
ローアドレスの転送が省略できる。またその期間バンク1に相当するダイナミックメモリLSIはアクセスされない。その後7048番地にリードする時、バンク1に相当するダイナミックメモリLSIに関して前回とローアドレスは等しいので、ローアドレスの転送が省略できる。
図3と図2を比較するとA008,7048番地へのアクセスの時のローアドレス転送が省略できる。そのケースでのアクセス時間は先に述べたように短くてすみ、結果として処理速度の向上に役立つものである。
このブロックコピー処理がさらに続く場合、ソース/デスティネーションとも同一ローへのアクセスが続く限りは、高速ページモードを使用し、ローアドレスの転送を省略できる。
本発明のその他の目的に対する効果は、以下の実施例を通じて説明する。
【0010】
本発明の実施例による情報処理装置のプロセッサの例を図1に示す。100はプロセッサである。101、102はローアドレスレジスタ(レジスタ=記憶部)である。103、104はそれぞれ101、102の有効性を示すビットでありバリッド・ビット(Valid Bit)とよぶ。105、106は選択回路である。105は103と104の出力のいずれか1つを選択し、選択結果を制御回路108に伝達する。106は101と102の出力のいずれか1つを選択し、信号線112に出力する。107はアクセス要求アドレス110のうちローアドレスと選択回路106によって選択されたローアドレスレジスタ101、102の一方のローアドレスとを比較する一致比較器である。108は制御回路である。109は選択回路である。
プロセッサ100は外部のダイナミックメモリにアクセスを起こすときにはアクセス要求アドレス110のうちローアドレス、カラムアドレス部のいずれかを選択回路109を用いて選択しダイナミックメモリ用アドレス端子A(0:10) (114)に出力する。制御回路108には、選択回路105のバリッド・ビットの出力と、一致比較器107のローアドレスの比較の出力信号113を入力する。また制御回路108には、アドレスバス110のバンクビットの部分を入力する。また制御回路108はBANK(115)、 RAS−n (117) (−nは負極性の信号を示す)、 CAS−n (116)の3つの外部端子の信号値を出力する。
32ビットの物理アドレスは図3に記載したようにローアドレス、カラムアドレス、バンクアドレスが割り当てられている。
プロセッサ100がアクセス要求を起こしたときの処理の流れは、次のようになる。
まず第1にプロセッサ内部の命令処理部とオペランド処理部とからなるデータ処理部(関係は薄いので記載しない)よりのアクセス要求信号が信号線111を経由して制御回路108に伝えられる。同時にアドレスバスPA(0〜31) (110)を経由して要求アクセスアドレスが伝えられる。制御回路108は要求アドレスのうちバンクアドレス(ビット20)を用いてローアドレスレジスタ101、 102の出力の一方を選択回路106で選択する。またバンクアドレスを用いてバリッド・ビット103、 104の一方も選択回路105で選択する。選択回路106で選択されたローアドレスが要求アドレスのロー部分と等しく、バリッド・ビットが1であることをヒットすると称する。
もしヒットならば該バンクに関して前回のアクセスと同一のローアドレスでアクセスすることになるので、そのときにはダイナミックメモリのローアドレスの送出を省略する動作モードでダイナミックメモリをアクセスする。
もしヒットでないならば、第1にダイナミックメモリのローとカラムの両方のアドレスを転送する動作モードでダイナミックメモリをアクセスする。第2に要求アドレスのロー部分を101、 102のうちバンクアドレスで選択される側に登録し、同じ側のバリッド・ビット(103または104)を1に書き換える。
なお、バリッド・ビット103、 104は電源投入後の初期状態では値0となっていて、電源投入後の第1回目のアクセスで偶然ローアドレスが一致する場合に誤ってヒットさせない機能を持つ。
【0011】
図4にプロセッサ100を含むシステム図を示す。401、 402は同期型ダイナミックメモリLSIである。プロセッサLSI 100の制御信号A(0:10) (114)、 BANK (115)、 RAS−n (117)、 CAS−n (116)は401、 402に接続されている。ただし同期型ダイナミックメモリLSI401の内部のメモリは403、 404と2バンク構成に分けられており、メモリ404はBANK (115)=0のとき、メモリ403はBANK (115)=1のときアクセスされる。ただし信号線の0は電位ローを、信号線の1は電位ハイを意味するものとする。
BANK (115)信号が0のときにはインバータ (論理反転器)407の出力に論理値1が発生し、バンク0メモリ制御回路406に伝えられる。このことはバンク0メモリをアクセスすることの指示に変換される。BANK (115)信号が1のときにはバンク0メモリ制御回路405に論理値1が伝えられる。このことはバンク1メモリをアクセスすることの指示に変換される。
その他にダイナミックメモリは次の端子を有する。i/O0−7(409、410)は8ビットのデータ入出力信号である。WE−n(411、412)は負極性の書き込み指示信号であり、書き込み時に論理値0になる。CLK(413、414)はクロック入力端子である。CKE(415、 416)はクロックイネーブル信号であり、クロックを内部に伝達するかしないかを制御する。DQM(407)はアクセスマスク信号であり、リードアクセス時にはデータ入出力信号i/O0−7の出力イネーブルとして、ライトアクセス時には
クロック単位のライトイネーブル信号として機能する。
またダイナミックメモリ401、402には同期動作する場合のいくつかの動作モードがある。それらはRAS遅延(RASからデータアクセスまでのクロックサイクル数)、CAS遅延(CASからデータアクセスまでのクロックサイクル数)、バースト長(アドレスのカウントアップが一周してもとに戻るまでの周期)である。これらのモード情報はRAS−n(117)、 CAS−n(116)、 WE−n(411)の3つがともに電位Lのときにアドレス端子A0−10を経由して書かれる。
【0012】
図5にプロセッサ100を含む別のシステム図の中のダイナミックメモリとその制御回路を示す。501、 503内のそれぞれはインバータ (論理反転器)である。502内のそれぞれは2入力AND回路であり、入力値の両方が1のときにのみ、出力値が1になる。504はバンク0のダイナミックメモリであり、505はバンク1のダイナミックメモリである。506、 507はそれぞれバンク0のダイナミックメモリ504の負極性のローアドレスストローブ、カラムアドレスストローブ信号である。508、 509はそれぞれバンク1のダイナミックメモリ505の負極性のローアドレスストローブ、カラムアドレスストローブ信号である。
信号BANK (115)が0のときにはRAS−n(117)、 CAS−n(116) 上に現れる負極性のパルス(図3の303、 304を参照されたい)は、それぞれ506、 507に伝えられ、508、 509には伝えられない。結果としてバンク0のダイナミックメモリ504がアクセスされる。BANK (115)が1のときにはRAS−n(117)、 CAS−n(116) 上に現れる負極性のパルスは、それぞれ508、 509に伝えられ、506、 507には伝えられない。結果としてバンク1のダイナミックメモリ505がアクセスされる。
【0013】
本発明を用いた別のプロセッサの例を図6に示す。600はプロセッサである。601−608、 610、 611−613は図1の101−108、 110、 111−113と同様のものでできているので、説明は省略する。プロセッサ600はダイナミックメモリ用にロー/
カラムが多重化されたアドレス端子を有せず、ローアドレスとカラムアドレスとを含む32ビットのアドレス端子A(0:31) (614)を有する。
615は2入力選択器でありアクセス要求アドレス610かレジスタ617のいずれかを選択してアドレス端子A(0:31) (614)に出力する。616はLSIの出力バッファであり、その入力と出力の論理値は同一である。
2入力選択器615がアクセス要求アドレス610を選択する場合は、図1で説明した動作と類似している。以下アクセス要求アドレス610を選択する場合について説明する。
プロセッサ600がアクセス要求を起こしたときの処理の流れは次のようになる。まず第1にプロセッサ内部の命令処理部とオペランド処理部とを含む処理部よりアクセス要求信号が信号線611を経由して制御回路608に伝えられる。同時にアドレスバスPA(0:31) (610)を経由してアクセスアドレスが伝えられる。制御論理608は要求アドレスのうちバンクアドレスを用いてローアドレスレジスタ601、 602の出力の一方を選択する。またバンクアドレスを用いてバリッド・ビット603、 604の一方を選択回路605により選択する。
もしヒットならば制御回路608は出力端子SAR (609)を1にする。SARは同一ロー領域へのアクセスを意味する出力信号である。またヒットの定義は図1の説明での定義と同じである。
もしヒットでないならば制御回路608はSAR (609)を0にする。また601、 602、603、 604への情報の登録をプロセッサ100の例と同様に行う。
プロセッサLSI600の外部回路ではSAR (609)が1なることを検出して、ダイナミックメモリのローアドレスの送出を省略する高速動作モードを使用することができる。
【0014】
プロセッサLSI600ではプロセッサLSI100と異なりバンクビットの位置が固定されていない。バンクビットの選択方法に関する部分の構成図を図7に示す。図7の中で601、 602、 606、 608、 612はすでに説明済みであるので新たな説明は省略する。図7の2入力選択器606はバンクビット制御信号703によって制御される。702は21入力選択器であり、入力信号704、 705、 …、 706、 707のうちの1つを制御論理608からの制御信号701に従いバンクビット制御信号703に出力する。なお、704、 705、 706、 707は図6のアドレスバス610の要求アドレスPA(0:31)の個別のアドレス信号である。プロセッサ600では特定の命令を使用することによって制御信号701を任意に設定することができる。以上を総合すると要求アドレスのうちのビット位置0から20の間の任意のビットをバンクアドレスとして使用することが可能となる。
次いで、図6の2入力選択器615がレジスタ617を選択する場合について説明する。レジスタ617には同期型ダイナミックメモリの動作モード(RAS遅延、CAS遅延、バースト長)の情報が設定される。プロセッサ600で特定の命令を実行することによって2入力選択器615はレジスタ617を選択し、アドレス端子A(0: 31) (614)に出力する。適切な外部回路と組み合わせることによってプロセッサ600の外部に接続された同期型ダイナミックメモリの動作モード設定動作が達成される。
【0015】
図8にプロセッサLSI600を用いた情報処理装置の構成図を示す。図8を大別するとプロセッサLSI600、外部回路コントロールLSI801、同期型ダイナミックメモリを用いる主記憶LSI402からなる。
まずプロセッサLSI600のアドレス信号614の伝達経路について説明する。アドレス信号614は外部回路コントロールLSI801に入力して、まずアドレスレジスタ802に格納される。805はアドレスのうち主記憶LSI402のローアドレス、806は主記憶LSI402カラムアドレスである。2入力選択器803で805、806のいずれかが選択されシステムアドレスバス811に送られる。システムアドレスバス811のアドレスはさらに主記憶LSI402のアドレス端子へ転送される。
また、アドレスレジスタ802のアドレスのうち上位アドレス807はアドレスデコ−ダ814でデコードされ、デコードの結果は主記憶LSI402のチップセレクト端子813へ伝達される。
812は32ビットのシステムデータバスであり、プロセッサLSI600と主記憶LSI402のデータ授受は812を介して行われる。なお、LSI402のデータ端子は8ビット幅なので32ビットのデータ授受を行うために本装置は最小で4つのLSI402を含む。外部回路コントロールLSI801の中にアクセス要求管理論理804がある。804はアクセスに関する状態を管理するものである。プロセッサLSI600からアクセス要求管理論理804にアクセス要求信号808と、同一アドレス指示信号609、ダイナミックメモリの動作モード設定要求信号815が伝達される。
信号815が論理値0のときのアクセス要求管理論理804の動作は次のようになる。第1にアクセス要求が信号808にあり、同一アドレス指示信号609が論理値0のときには、RAS−n(809)を主記憶LSI402に対して発行し、同時にローアドレス805をシステムアドレスバス811に与える。続いてCAS−n(809)を主記憶LSI402に対して発行し、同時にカラムアドレス805をシステムアドレスバス811に与える。
第2にアクセス要求が信号808にあり、同一アドレス指示信号が論理値1のときには、第1のケ−スと比較してRAS−n(809)とローアドレス805の発行を省略する。プロセッサ600で先に述べた特定の命令(レジスタ617の説明のところで述べた命令)を実行すると動作モード設定要求信号815が論理値1になる。信号815が論理値0のとき、アクセス要求管理論理804ではRAS−n(809)、CAS−n(810)、WE−n(816)をみな電位Lに設定する。またそれと同時に動作モードレジスタ617の値がシステムアドレスバス811を経由して主記憶LSI402に伝達される。こうして主記憶LSI402の動作モードの設定処理が達成される。この処理は電源オンの初期処理、またリセット時に行われる。プロセッサ600が動作モード設定要求信号815を備えるため主記憶LSI402の動作モードの設定処理起動信号を生成する信号を作成するため従来必要とされる論理、例えばアドレスデコード論理が不要となる。
【0016】
本発明は上記の具体的な実施例に限定されるものではなく、その技術思想の範囲内で種々の変形が可能である。
例えば、ローアドレスレジスタの数とダイナミックメモリのバンク数は2であるが、このレジスタの数とバンク数を4、 8、 ... と増加させることもできる。またローアドレスレジスタ、一致比較器は必ずしもプロセッサLSIの中に存在する必要はなく、プロセッサLSI外部で、例えば外部回路コントロールLSI801で本実施例と同等の処理を行うことも可能である。
【0017】
本発明の実施例によれば、ブロックコピー処理のような場合、ソース/デスティネーションのそれぞれについてローアドレスレジスタに保持することにより、ローアドレスの転送を省略するダイナミックメモリの高速動作モードの使用ができる。
また、本発明の実施例では、ローアドレスのヒット情報609をプロセッサLSI600の出力信号として備えることにより、ダイナミックメモリのために多重化されていないアドレス端子をもつプロセッサで、かつプロセッサLSIの外部論理量を最小にしてローアドレスの転送を省略するダイナミックメモリの高速動作モードの使用を可能にしている。
また、本発明の実施例では、プロセッサ600が動作モード設定要求信号815を備えることにより、主記憶LSI402の動作モードの設定処理起動信号を生成する信号を作成するため従来必要とされる論理、例えばアドレスデコード論理が不要とすることができる。
【0018】
【発明の効果】
同期型ダイナミックメモリの動作モードに関する情報をプロセッサLSIから設定できる。
【図面の簡単な説明】
【図1】本発明を用いた情報処理装置のプロセッサLSIの構成図である。
【図2】従来の情報処理装置でのアクセスのパタン(時間変化)である。
【図3】本発明を用いた情報処理装置でのアクセスのパタン(時間変化)である。
【図4】2バンク構成の同期型ダイナミックメモリを含むシステム図である。
【図5】本発明を用いた情報処理装置でのダイナミックメモリとその制御回路である。
【図6】本発明を用いた別の情報処理装置のプロセッサLSIの構成図である。
【図7】図6に示したプロセッサのバンク選択回路およびバンクビット選択回路である。
【図8】図6に示したプロセッサを用いた情報処理装置の構成図である。
【符号の説明】
100…プロセッサLSI、101、102…ローアドレスレジスタ(記憶部)、103、104…バリッド・ビット、105、106…選択回路、107…一致比較器、108…制御回路、109…選択回路、110…アドレスバス、111…アクセス要求信号、112…選択されたローアドレス、113…比較結果、114…ダイナミックメモリ用アドレス端子、115…バンク制御信号、116…ロー・アドレス・ストローブ信号、117…カラム・アドレス・ストローブ信号、
201…プロセッサのアクセス要求、202…ダイナミックメモリ用アドレス信号、
203…ロー・アドレス・ストローブ信号、204…カラム・アドレス・ストローブ信号、205…物理アドレスのアドレス割り当て図、
301…プロセッサのアクセス要求、302…ダイナミックメモリ用アドレス信号、303…ロー・アドレス・ストローブ信号、304…カラム・アドレス・ストローブ信号、305…物理アドレスのアドレス割り当て図、306…バンク制御信号、
401、402…2バンク構成の同期型ダイナミックメモリ、403、404…メモリ、405、406…メモリのアクセス制御回路、407…インバータ(論理反転器)、408…入出力データマスク制御信号、409、410…データ端子、411、412…ライト(書き込み)イネーブル信号、413、414…クロック信号、415、416…クロックイネーブル信号、
501、503…インバータ(論理反転器)、502…2入力ANDゲート、504、505…ダイナミックメモリ、506、508…ロー・アドレス・ストローブ信号、507、509…カラム・アドレス・ストローブ信号、
600…プロセッサLSI、601、602…ローアドレスレジスタ、603、604…バリッド・ビット、605、606、615…選択回路、607…一致比較器、608…制御回路、609…同一ロー領域指示信号、610…アドレスバス、611…アクセス要求信号、612…選択されたローアドレス、613…比較結果、614…アドレス端子、616…出力バッファ、617…ダイナミックメモリの動作モードレジスタ、
701…バンクビットのビット位置選択信号、702…選択回路、703…バンクビット信号、704、705、706、707…要求アドレスの個別ビット信号線、
801…外部回路コントロールLSI、802…アドレスレジスタ、803…選択回路、804…アクセス要求管理論理、805…ローアドレス、806…カラムアドレス、807…上位アドレス、808…アクセス要求信号、809…ローアドレスストローブ信号、810…カラムアドレスストローブ信号、811…システムアドレスバス、812…システムデータバス、813…チップセレクト信号、814…アドレスデコ…ダ、815…同期型ダイナミックメモリの動作モード設定要求信号、816…ライト(書き込み)イネーブル信号。[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention relates to a data processing system, and more particularly to a microprocessor LSI and a part of a peripheral circuit for controlling a memory.
[0002]
[Prior art]
The dynamic memory is generally called a DRAM (Dynamic Random Access Memory). A typical dynamic memory LSI specification is described in “Hitachi IC Memory Data Book 3 (DRAM, DRAM module, pages 445 to 464).” The dynamic memory of this document has ten addresses A0 to A9. Although an input terminal is provided, an address given via the input terminal is multiplexed with a row / column (see page 448), and in the read / write access of this document, an address is assigned to a dynamic memory LSI in the order of row and column. (Page 454), and the read access time from the determination of the external address at that time is 70 nanoseconds (1 nanosecond = 10 to the power of (-9) seconds). Page 461), after the first row and column address transfer, the second and subsequent access Scan as long as performed in the same row access can omit the transmission of the row address, the read access time from the external address determination of said second and subsequent is even suppressed as small as 20 nanoseconds.
[0003]
An example of a DRAM control function of a conventional microprocessor (hereinafter simply referred to as a processor) is described in Non-Patent
[Non-patent document 1]
"4th Hot Chips Lecture Materials, pages 4.2.1 to 4.2.12, August 1992" (Hot Chips IV, pp. 4.2.1-4.2.12). Aug. 1992, held in Stanford Univ.)
[0004]
It is assumed that a conventional processor LSI includes a row / column for a dynamic memory and a multiplexed address among terminals of the processor. FIG. 2 shows an example of access performed by the processor LSI. In FIG. 2, it is assumed that the horizontal direction is the time axis, 201 is a processor access request, 202 is a processor dynamic address terminal A0-9, and 203 is a dynamic memory row address strobe (RAS-n) signal. , 204 indicate a column address strobe (CAS-n) signal of the dynamic memory. "-N" added to the end of the signal line indicates a negative polarity signal. This access occurs, for example, when a block copy is performed, that is, when the contents of the memory in one area are copied to the memory in another area. In FIG. 2, the area starting from address A000 is copied to the area starting from
Operation 1: Read to address A000. Transfer the row address / column address to the dynamic memory. The row address is 14 because of the address bits (11 to 20). Since the column address is the address bits (21 to 29), it is 0.
Operation 2: Read to address A004. Since the row address is equal to the previous row address, the transfer to the dynamic memory is omitted. Transfer column addresses to dynamic memory.
Operation 3: Write at
Step 4: Read to address 7044. Since the row address is equal to the previous row address, the transfer to the dynamic memory is omitted. Transfer column addresses to dynamic memory.
The subsequent four accesses perform the same operation, and thus will not be described.
[Problems to be solved by the invention]
As shown in this example, in the prior art example, when the row address on the read (source) side and the row address on the write (destination) side are different in block copy processing, each time the access source and destination are switched, the dynamic memory There is a problem that the high-speed mode in which row addresses are omitted cannot be used.
[0005]
An object of the present invention is to solve the problem that the high-speed mode in which the row address of the dynamic memory is omitted cannot be used.
[0006]
Another object of the present invention is to enable the use of a high-speed mode in which a row address of a dynamic memory is omitted in a processor without a multiplexed address terminal for a dynamic memory, and at the same time, minimize the amount of logic outside the processor LSI To provide a signal line interface of a processor LSI for performing the operation.
[0007]
It is another object of the present invention to provide a signal line interface of a processor LSI for setting information on an operation mode of a synchronous dynamic memory from a processor LSI and minimizing an external logic amount of the processor LSI.
[0008]
[Means for Solving the Problems]
A processor for outputting an access address to access a memory, wherein the access address has a row address, a column address, and a bank address, and the processor specifies a position of the bank address among the access addresses. Therefore, it is configured to have a control circuit.
[0009]
BEST MODE FOR CARRYING OUT THE INVENTION
FIG. 3 shows an access pattern of an information processing apparatus using the present invention.
Omitted. As shown in 205, in the present example, bits (30 to 31) of the 32-bit physical address are the least significant two bits in the word address, bits (21 to 29) are the column address of the dynamic memory, and bit (20). Are allocated to the bank address of the dynamic memory, and the bits (9 to 19) are allocated to the row address of the dynamic memory.
In the dynamic memory, only one portion divided by the bank bit is accessed in one access. Specific examples of the configuration of the memory will be described in detail in other embodiments. During the access period of addresses A000 and A004, the dynamic memory LSI corresponding to
Row address transfer can be omitted. During that period, the dynamic memory LSI corresponding to
Comparing FIG. 3 with FIG. 2, row address transfer at the time of accessing addresses A008 and 7048 can be omitted. In such a case, the access time can be short as described above, and as a result, the processing speed can be improved.
When this block copy process continues, the high-speed page mode can be used and the transfer of the row address can be omitted as long as access to the same row continues at both the source and the destination.
The effects of the present invention on other objects will be described through the following examples.
[0010]
FIG. 1 shows an example of a processor of an information processing apparatus according to an embodiment of the present invention. 100 is a processor. 101 and 102 are row address registers (register = storage unit). 103 and 104 are bits indicating the validity of 101 and 102, respectively, and are called valid bits. 105 and 106 are selection circuits. 105 selects one of the outputs of 103 and 104 and transmits the selection result to the
When an access is made to the external dynamic memory, the
As shown in FIG. 3, a row address, a column address, and a bank address are assigned to the 32-bit physical address.
The flow of processing when the
First, an access request signal from a data processing unit (not shown because the relationship is thin) consisting of an instruction processing unit and an operand processing unit inside the processor is transmitted to the
If a hit occurs, the bank is accessed at the same row address as the previous access. At that time, the dynamic memory is accessed in an operation mode in which the transmission of the row address of the dynamic memory is omitted.
If it is not a hit, the dynamic memory is first accessed in an operating mode that transfers both row and column addresses of the dynamic memory. Second, the row portion of the request address is registered in the side selected by the bank address out of 101 and 102, and the valid bit (103 or 104) on the same side is rewritten to 1.
The
[0011]
FIG. 4 shows a system diagram including the
When the BANK (115) signal is 0, a logical 1 is generated at the output of the inverter (logical inverter) 407 and transmitted to the
In addition, the dynamic memory has the following terminals. i / O0-7 (409, 410) is an 8-bit data input / output signal. WE-n (411, 412) is a write instruction signal of negative polarity, and becomes a
Functions as a write enable signal in clock units.
Further, the
[0012]
FIG. 5 shows a dynamic memory in another system diagram including the
When the signal BANK (115) is 0, the negative pulses (see 303 and 304 in FIG. 3) appearing on RAS-n (117) and CAS-n (116) are transmitted to 506 and 507, respectively. , 508, 509 are not communicated. As a result, the
[0013]
An example of another processor using the present invention is shown in FIG. 600 is a processor. 601 to 608, 610, and 611 to 613 are the same as 101 to 108, 110, and 111 to 113 in FIG.
The column does not have a multiplexed address terminal, but has a 32-bit address terminal A (0:31) (614) containing a row address and a column address.
A two-
The case where the two-
The flow of processing when the
If a hit occurs, the
If it is not a hit, the
The external circuit of the
[0014]
Unlike the
Next, a case where the two-
[0015]
FIG. 8 shows a configuration diagram of an information processing apparatus using the processor LSI600. FIG. 8 is roughly divided into a
First, the transmission path of the
The
The operation of the access
Second, when the access request is in the
[0016]
The present invention is not limited to the specific embodiments described above, and various modifications are possible within the scope of the technical idea.
For example, the number of row address registers and the number of banks of dynamic memory are two, but the number of registers and the number of banks are 4, 8,. . . Can also be increased. Further, the row address register and the match comparator do not necessarily need to be present in the processor LSI, and the same processing as that of the present embodiment can be performed outside the processor LSI, for example, by the external
[0017]
According to the embodiment of the present invention, in the case of a block copy process, the high-speed operation mode of the dynamic memory can be used in which the transfer of the row address is omitted by holding the source / destination in the row address register. .
Further, in the embodiment of the present invention, by providing the row address hit
In the embodiment of the present invention, since the
[0018]
【The invention's effect】
Information on the operation mode of the synchronous dynamic memory can be set from the processor LSI.
[Brief description of the drawings]
FIG. 1 is a configuration diagram of a processor LSI of an information processing apparatus using the present invention.
FIG. 2 shows an access pattern (time change) in a conventional information processing apparatus.
FIG. 3 is an access pattern (time change) in an information processing apparatus using the present invention.
FIG. 4 is a system diagram including a synchronous dynamic memory having a two-bank configuration.
FIG. 5 shows a dynamic memory and a control circuit thereof in an information processing apparatus using the present invention.
FIG. 6 is a configuration diagram of a processor LSI of another information processing apparatus using the present invention.
FIG. 7 shows a bank selection circuit and a bank bit selection circuit of the processor shown in FIG. 6;
8 is a configuration diagram of an information processing apparatus using the processor shown in FIG.
[Explanation of symbols]
100: Processor LSI, 101, 102: Row address register (storage unit), 103, 104: Valid bit, 105, 106: Select circuit, 107: Match comparator, 108: Control circuit, 109: Select circuit, 110: Address bus, 111 access request signal, 112 selected row address, 113 comparison result, 114 dynamic memory address terminal, 115 bank control signal, 116 row address strobe signal, 117 column address・ Strobe signal,
201: Processor access request, 202: Dynamic memory address signal,
203: row address strobe signal, 204: column address strobe signal, 205: address assignment diagram of physical addresses,
301: Processor access request, 302: Dynamic memory address signal, 303: Row address strobe signal, 304: Column address strobe signal, 305: Address assignment diagram of physical addresses, 306: Bank control signal,
501, 503: inverter (logic inverter), 502: 2-input AND gate, 504, 505: dynamic memory, 506, 508: row address strobe signal, 507, 509: column address strobe signal,
600: Processor LSI, 601, 602: Row address register, 603, 604: Valid bit, 605, 606, 615: Selection circuit, 607: Match comparator, 608: Control circuit, 609: Same row area instruction signal, 610 .., An address bus, 611, an access request signal, 612, a selected row address, 613, a comparison result, 614, an address terminal, 616, an output buffer, 617, an operation mode register of a dynamic memory,
701: bit position selection signal of bank bit, 702: selection circuit, 703: bank bit signal, 704, 705, 706, 707: individual bit signal line of request address,
801, an external circuit control LSI, 802, an address register, 803, a selection circuit, 804, an access request management logic, 805, a row address, 806, a column address, 807, an upper address, 808, an access request signal, 809, a row address strobe Signal, 810: column address strobe signal, 811: system address bus, 812: system data bus, 813: chip select signal, 814: address decoder, 815: operation mode setting request signal of synchronous dynamic memory, 816: write (Write) enable signal.
Claims (7)
上記プロセッサは、上記アクセスアドレスを含む物理アドレスを有し、
上記アクセスアドレスは、ローアドレス、カラムアドレス及びバンクアドレスを有し、
上記プロセッサは、上記物理アドレスの一部のビットに上記カラムアドレスを割り当て、上記カラムアドレスに対応したビットより上位の上記物理アドレスの全てのビットの中から上記バンクアドレスの位置を指定するため制御回路を有することを特徴とするプロセッサ。A processor that outputs an access address to access a memory,
The processor has a physical address including the access address,
The access address has a row address, a column address and a bank address,
A control circuit for allocating the column address to some bits of the physical address and specifying a position of the bank address among all bits of the physical address higher than a bit corresponding to the column address; A processor comprising:
前記プロセッサは、前記アクセスアドレスが入力される第1選択器を更に有し、
前記第1選択器は、上記制御回路が出力する制御信号を受けて、前記アクセスアドレスのうち前記バンクアドレスに対応するバンクビット制御信号を出力することを特徴とするプロセッサ。In claim 1,
The processor further includes a first selector to which the access address is input,
The processor according to claim 1, wherein the first selector receives a control signal output from the control circuit and outputs a bank bit control signal corresponding to the bank address among the access addresses.
前記メモリは、複数バンクを有し、
前記プロセッサは、前記複数バンクに対応して設けられる複数のアドレスレジスタと、前記複数のアドレスレジスタに接続される第2選択器とを更に有し、
前記第2選択器は、前記バンクビット制御信号により前記複数のアドレスレジスタのうち一つを選択することを特徴とするプロセッサ。In claim 2,
The memory has a plurality of banks,
The processor further includes a plurality of address registers provided corresponding to the plurality of banks, and a second selector connected to the plurality of address registers,
The processor according to claim 2, wherein the second selector selects one of the plurality of address registers according to the bank bit control signal.
前記複数のアドレスレジスタは、対応する前記複数バンクに対して発行されたアクセスアドレスのローアドレスを保持し、
前記第1選択器は、前記メモリに対して発行された現在のアクセスアドレスのバンクアドレスに対応するバンクビット制御信号を出力し、
前記プロセッサは、前記バンクビット制御信号に基づいて前記第2選択器により選択されたアドレスレジスタに保持されるローアドレスと現在のアクセスアドレスのローアドレスとを比較するための比較器を更に具備することを特徴とするプロセッサ。In claim 3,
The plurality of address registers hold a row address of an access address issued to the corresponding plurality of banks,
The first selector outputs a bank bit control signal corresponding to a bank address of a current access address issued to the memory,
The processor further includes a comparator for comparing a row address held in an address register selected by the second selector based on the bank bit control signal with a row address of a current access address. A processor characterized by the above-mentioned.
前記プロセッサは、前記第2選択器により選択されたアドレスレジスタに保持されるローアドレスと現在のアクセスアドレスのローアドレスとが一致した場合に、現在のアクセスアドレスのローアドレスを出力しない動作モードを有することを特徴とするプロセッサ。In claim 3 or 4,
The processor has an operation mode in which the row address of the current access address is not output when the row address held in the address register selected by the second selector matches the row address of the current access address. A processor, characterized in that:
前記プロセッサは、特定の命令により前記バンクアドレスの位置を設定可能であることを特徴とするプロセッサ。In any one of claims 1 to 5,
The processor, wherein the position of the bank address can be set by a specific instruction.
前記プロセッサは、前記アクセスアドレスのローアドレス及びカラムアドレスを並列して出力することを特徴とするプロセッサ。In any one of claims 1 to 6,
The processor outputs the row address and the column address of the access address in parallel.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003027742A JP3600830B2 (en) | 2003-02-05 | 2003-02-05 | Processor |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003027742A JP3600830B2 (en) | 2003-02-05 | 2003-02-05 | Processor |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP5223079A Division JPH0778106A (en) | 1993-09-08 | 1993-09-08 | Data processing system |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2003203009A JP2003203009A (en) | 2003-07-18 |
JP3600830B2 true JP3600830B2 (en) | 2004-12-15 |
Family
ID=27656178
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003027742A Expired - Lifetime JP3600830B2 (en) | 2003-02-05 | 2003-02-05 | Processor |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3600830B2 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2010001622A1 (en) * | 2008-07-03 | 2010-01-07 | 株式会社バッファロー | Memory module and auxiliary module for memory |
-
2003
- 2003-02-05 JP JP2003027742A patent/JP3600830B2/en not_active Expired - Lifetime
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2010001622A1 (en) * | 2008-07-03 | 2010-01-07 | 株式会社バッファロー | Memory module and auxiliary module for memory |
CN102077180A (en) * | 2008-07-03 | 2011-05-25 | 巴比禄股份有限公司 | Memory module and auxiliary module for memory |
CN102077180B (en) * | 2008-07-03 | 2013-07-31 | 巴法络股份有限公司 | Memory module and auxiliary module for memory |
Also Published As
Publication number | Publication date |
---|---|
JP2003203009A (en) | 2003-07-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100575137B1 (en) | Semiconductor integrated circuit and data processing system | |
US6381190B1 (en) | Semiconductor memory device in which use of cache can be selected | |
KR920010950B1 (en) | Device and method of accessing information | |
US6466511B2 (en) | Semiconductor memory having double data rate transfer technique | |
KR100868393B1 (en) | Shared interface for cmponents in an embedded system | |
KR930004426B1 (en) | Dual-port memory and its fabrication method | |
US6981100B2 (en) | Synchronous DRAM with selectable internal prefetch size | |
JP2017220237A (en) | Memory module, system including the same, and method for operating the same | |
US20050235099A1 (en) | Memory device interface | |
JPH04230544A (en) | Data processing apparatus for dynamically setting timing of dynamic memory system | |
KR100679370B1 (en) | Memory device having different burst order addressing for read and write operations | |
CN107257964B (en) | DRAM circuit, computer system and method for accessing DRAM circuit | |
JP2000501536A (en) | Memory controller unit that optimizes the timing of the memory control sequence between various memory segments | |
US7398362B1 (en) | Programmable interleaving in multiple-bank memories | |
JP2011081553A (en) | Information processing system and control method thereof | |
KR100298955B1 (en) | Data processing system | |
US6205514B1 (en) | Synchronous SRAM having global write enable | |
JP3600830B2 (en) | Processor | |
US5740382A (en) | Method and apparatus for accessing a chip-selectable device in a data processing system | |
JP3583844B2 (en) | Cache memory method | |
US20020188771A1 (en) | Direct memory access controller for carrying out data transfer by determining whether or not burst access can be utilized in an external bus and access control method thereof | |
US20020016886A1 (en) | Method and apparatus for simultaneously accessing the tag and data arrays of a memory device | |
JPH1097788A (en) | Information processor | |
JP2822913B2 (en) | Semiconductor storage device | |
JP3563340B2 (en) | Memory controller |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20040308 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20040608 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20040805 |
|
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: 20040914 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20040917 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080924 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080924 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090924 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090924 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100924 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100924 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130924 Year of fee payment: 9 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130924 Year of fee payment: 9 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313111 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130924 Year of fee payment: 9 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |