JP3734072B2 - ローカルバス制御装置 - Google Patents
ローカルバス制御装置 Download PDFInfo
- Publication number
- JP3734072B2 JP3734072B2 JP27288498A JP27288498A JP3734072B2 JP 3734072 B2 JP3734072 B2 JP 3734072B2 JP 27288498 A JP27288498 A JP 27288498A JP 27288498 A JP27288498 A JP 27288498A JP 3734072 B2 JP3734072 B2 JP 3734072B2
- Authority
- JP
- Japan
- Prior art keywords
- value
- register
- local bus
- write
- bus control
- 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
Landscapes
- Bus Control (AREA)
- Information Transfer Systems (AREA)
Description
【発明の属する技術分野】
本発明は、CPUによる複数のデバイスのデータ入,出力制御に関し、特に、CPUと複数のデバイスとの間にあって、CPUが出力するアドレスおよびコマンドに応じてデバイスに対し、データ入,出力すなわちREAD/WRITEアクセス、のための制御信号を与えるローカルバス制御装置に関する。
【0002】
【従来の技術】
ローカルバス制御装置は、CPUが出力するアドレスを、ローカルバスアドレスおよびチップセレクト信号CSにデコ−ドして、アドレスはローカルバスに、チップセレクト信号CSは該当デバイスに与える。デバイスの代表的なものは、ROM,RAMなど、いわゆるメモリであるが、本書においては、一般に言うメモリ装置に限らず、データ入,出力の少くとも一方を行なうバッファメモリ又はラッチもしくは内部メモリを有する電気回路,電気装置あるいは回路素子も前記「デバイス」なる表現に含む。また、本書において READ/WRITEの「READ」は、いわゆるメモリからのデータの読出しに限らず、上述の電気回路,電気装置あるいは回路素子からのデータの読取りをも含み、「WRITE」は、いわゆるメモリへのデータの書込みに限らず、上述の電気回路,電気装置あるいは回路素子へのデータの供給(転送)も含む。
【0003】
CPUと、それがREAD/WRITEアクセスする複数のデバイスとの間を結ぶローカルバス制御装置の設計においては、使用予定の各デバイスの READ/WRITE特性および使用予定のクロック周波数(クロック周期)に合わせて、ローカルバス制御装置の各デバイスに対するREAD/WRITEアクセスの設計を行う。この設計の中に、各デバイスに対するアクセスタイム又はアクセスタイミングの設定がある。
【0004】
【発明が解決しようとする課題】
ところで、ローカルバス制御装置が完成した時に、デバイスメーカーの都合により、使用予定デバイスが製造中止になってしまったり、コストアップしてしまったりした場合に、別仕様のデバイスを採用し、それに合せて設計をし直さなければならず、設計期間の延長,コストアップなどという問題がおこった。また、上記のようなローカルバス制御装置をASIC(Application Specific Integrated Circuit)として設計したような場合に、設計時にターゲットとしたシステムにはそのASICが使えても、システムクロックの周波数が異なるシステムや、周辺デバイスが異なるシステムには、同じASICが使えず、少々の変更しかないのに、新しくASICを改定しなければならなくなり、高い開発費と、長い開発日数がかかってしまうという問題点もあった。
【0005】
本発明は、デバイスあるいはシステムクロック周波数の変更に比較的に容易に対応しうるローカルバス制御装置を提供することを目的とする。具体的には、システムクロック周波数が変わっても、効率よくREAD/WRITEアクセスを行なうように設定しうるローカルバス制御装置を提供することを1つの目的とし、デバイスの変更により、デバイス指定を受けてから READ/WRITE可となるまでの遅延時間すなわちアクセスタイム、が変わったりしても、効率よくアクセスを行なうように設定しうるローカルバス制御装置を提供することを1つの目的とする。
【0006】
【課題を解決するための手段】
(A1)CPUと、それが READ/WRITEアクセスを行う複数のデバイスとの間に介挿されたローカルバス制御装置において、
前記複数のデバイスのそれぞれの、デバイス指定を受けてからREAD/WRITE可となるまでの遅延時間≦使用するクロックの周期×n、なる整数nを表わすためのデータをそれぞれが格納するためのデバイス宛ての複数のレジスタであって、使用可能性があるクロック周期の範囲と、使用可能性があるデバイスの前記遅延時間の範囲とから定める整数nの最大値より、設定値を引いた差値を表わすに必要かつ可及的に少いビット数のレジスタ、を有し、前記CPUが与えるアドレスからデバイス指定信号を生成して該当デバイスに与えるとともに、該当デバイスに宛てた差値をレジスタからを読み出して前記設定値を加えて得られる整数n分のクロックの発生の後に前記CPUが与えるコマンドに対応するREAD/WRITEさせる信号を該当デバイスに与える、ことを特徴とするローカルバス制御装置。
【0007】
これによれば、ターゲットとするシステム(CPU+ローカルバス制御装置+デバイス群)のクロックの周波数が変わっても、あるいは、デバイスの製造中止やコストアップにより別仕様のデバイスを使用せざるを得ずデバイスのアクセスタイムが変わっても、レジスタに書込む値を変えることにより対応できるため、デバイスの製造中止やコストアップに振り回されることなく、設計が一度ですみ、また同じ回路を何度も使えるので、あたらしく設計を行う必要がなくなるので、結果的に設計期間が短くなり、システムのコストダウンにもつながる。デバイスの選択範囲もひろがり、コストダウン,システムの速度アップなども容易になる。レジスタのビット数が少いので、メモリコストの低減,回路の縮小,コストダウンをはかれる。
【0008】
【発明の実施の形態】
(A2)前記設定値は、前記使用可能性があるクロック周期の範囲と、使用可能性があるデバイスの前記遅延時間の範囲とから定める整数nの最小値である。レジスタのビット数が更に少いので、更なるメモリコストの低減,回路の縮小,コストダウンをはかれる。
(A3)前記複数のデバイスはページアクセスモードを持つメモリを含み、前記複数のレジスタは、該メモリの各ワードのアクセスのための各ワード宛ての各レジスタを含む。デバイスにページアクセスモードがある場合でも、効率よくアクセスが行える。デバイスでページアクセスモードを持つものでも、持たないものでも、レジスタに書込む値を変えるだけで対応できるので、デバイスの選択範囲がさらに広がり、さらなる速度アップがはかれる。
【0009】
本発明の他の目的および特徴は、図面を参照した以下の実施例の説明より明らかになろう。
【0010】
【実施例】
図1に、一実施例の、CPU1がローカルバス制御装置(LBC)3を介して、ROM4,5,RAM7やIC Card6などの周辺デバイス4〜8のデータ入,出力を行なうシステム構成の一例を示す。ローカルバス制御装置3は、CPU1と直接アクセスをするCPUインターフェース(CPUIF)2を介してCPU1からアドレスをはじめとする各種の信号を受ける。
【0011】
図2に、図1に示す周辺デバイス4〜8の、READ/WRITEアクセスタイミングの一例を示す。ローカルバス制御装置3は、CPUIF2からのアドレスSADからローカルバスアドレスLAをつくり、周辺デバイス4〜8のアドレスバスに出力する。またアドレスSADをデコードして、アドレスSADで指定されるデバイスに対して Chip Select信号CS(デバイス指定信号)を出力し、コマンドをデコードして、READだったら Output Enable信号OE(READさせる信号)を、WRITEだったら Write Enable信号WE(WRITEさせる信号)を、それぞれのデバイスの応答特性(AC特性)すなわち Chip Select信号CSを受けてからREAD/WRITE可となるまでの遅延時間に合わせて出力する。すなわち、Chip Select信号CSを発生してから、システムで使用するクロックCLKをカウントして、カウント値が該遅延時間相当値以上になったときに、Output Enable信号OE又は Write Enable信号WEを発生する。
【0012】
仮に従来のように、上記 Enable信号OE/WEを発生するタイミングを定めるカウント比較値nが固定値で、カウント値がnに達したときに Enable信号OE/WEを発生すると、使用クロック周波数が変わると、Enable信号OE/WEを発生するタイミングが変わる。クロック周波数(周期)が高く(短く)変更されると、タイミングが早過ぎることになり、低く(長く)変更されると遅過ぎることになる。また、周辺デバイスに製品仕様の変更があってAC特性が、当初予定のものより長いデバイスが使用されると、 Enable信号OE/WEが早過ぎることになってしまう。
【0013】
そこで本実施例では、ローカルバス制御装置3に、周辺デバイス4〜8のそれぞれ宛てのレジスタを備えて、それぞれに、デバイス4〜8それぞれのAC特性と使用CLKの周波数(周期)に対応して、デバイスのAC特性を満すn値を書込んでいる。ローカルバス制御装置3は、CPUIF2からのアドレスSADからローカルバスアドレスLAをつくり、周辺デバイス4〜8のアドレスバスに出力する。またアドレスSADをデコードして、アドレスSADで指定されるデバイスに対して Chip Select信号CS(デバイス指定信号)を出力し、アドレスSADで指定されるデバイスに宛てられたレジスタよりn値を読み出して、Chip Select信号CSを出力してからクロックCLKをカウントしてn個のクロックCLKが発生したときに、コマンドがREADだったら Output Enable信号OE(READさせる信号)を、WRITEだったら Write Enable信号WE(WRITEさせる信号)を、アドレスSADで指定されるデバイスに与える。
【0014】
例えば、図2の(a)例は、CSアサート(CSの出力)からOEアサート(OEの出力)までのCLK数を、レジスタの書込値Nによって4(n=4)にしている。なお、レジスタの、数値表現のための所要ビット数を少くするために、使用可能性があるクロック周期の範囲と、使用可能性があるデバイスのAC特性とから定める整数nの最小値nminおよび最大値nmaxに従って、該最大値より該最小値を減算した差値(nmax−nmin)を表わすに必要なビット数に前記レジスタのビット数を定めている。上述の例では、最小値 n min=2であるのでこれを設定値(デフォルト値)とし、レジスタに、N=2を書込んだ例であり、n=N+2(設定値)=4と算出する。
【0015】
仮にレジスタにN=0を書込むと、CSアサートからOEアサートまでのCLK数nは2(=N+設定値2)となる。図2の(a)の上部のR2が3回繰り返されているのは、レジスタの書込値Nが0の場合は1回だがレジスタの書込値Nが2なので3回繰り返されている。このようにして、使用するCLK周波数の周期やデバイスのAC特性(遅延時間)により、各デバイス宛ての各レジスタに適切な値(n又はN)を書込むことにより、ローカルバス制御装置3のハ−ドウェア回路を変更せずに、さまざまな使用周波数,デバイス(AC特性)のシステムに対応可能となる。
【0016】
図3に、上述のレジスタを例示する。ここで、図1に示すNVRAM7やDUART8などのIOデバイスを例に説明する。IOデバイスのAC特性が、
(1)CSアサートからOEアサートまでがMIN(最短時間):40ns,
(2)OEアサート時間がMIN:225ns,
(3)OEネゲートから次のOEアサートまでがMIN:200ns、
である場合に、例えばCLK周波数が44MHzのとき、(1)〜(3)を満足するには、(1)が4CLK,(2)が11CLKとなる。CLK周波数が66MHzのときは、(1)が9CLK,(2)が16CLKとなる。この場合には、
(CLK周期ns×レジスタ書込み値n+各信号の遅延値)≧AC特性の値
となるように、レジスタに書込むべき値nを算出する。例えば上記の44MHzの(2)の場合だと、OEのCLKからの遅延値がMIN:6ns,MAX(最長時間):15nsとすると、
(22.73×レジスタ書込み値n−15+6)≧225
となるので計算すると、n=11となる。
【0017】
例えば、システム(図1の1〜8)のCLK周波数が44〜66MHzに限られているとすると、(1)は4〜9を設定できれば良いので4ビットのレジスタとし、(2)は11から16が設定できれば良いので5ビットのレジスタとし、同様にすべてのデバイスを考慮し、それぞれのレジスタを配置する。(1)のレジスタをIOEn,(2)のレジスタをIOTimとした場合の一例が、図3に示すレジスタ例である。
【0018】
ローカルバス制御装置3に接続されるデバイスがROMなどのように多種のアクセスタイムがあり、バーストリードのある場合を例に説明する。例えばアクセスタイムが120nsのデバイスを考えたときに、アドレス確定時間(ns)は、
{(CSの遅延値+アクセスタイム+データのセットアップタイム)÷CLK周期(ns)}+1
で求められる。システムクロックが66MHz,CSのCLKからの遅延値がMIN:4ns,MAX:15ns,データのセットアップタイムがMIN:8nsとすると(15+120+8)÷15.15+1なので、計算値は10.4となりこれを繰り上げてレジスタに書込むべき値nは11となる。アクセスタイム60nsの場合は同様にして計算するとレジスタに書込むべき値nは7となる。システムクロックが44MHz,アクセスタイム60nsの場合はレジスタに書込むべき値nは5となる。このように、CLK周波数(周期ns),CSの遅延値,アクセスタイム,データセットアップタイムを考慮して算出する。このようにしてアドレスの確定時間を書込みできるようにレジスタのBit数を決める。
【0019】
図4に、ROMのREADアクセスタイミングの一例を示す。これは、システムクロック44MHz,ROMのアクセスタイム120ns,の場合のREADアクセスタイミングで、バーストで2ワードREADの例を示している。このときアドレス確定時間のレジスタ書込値は8である。ターゲットとするシステムのCLKが44〜66MHzで、使用する可能性のあるROMのアクセスタイムが60〜120nsであるとすると、アドレス確定レジスタは5〜11が設定できればよいので、4Bit必要となり、このレジスタをCoTimとすると、図3に示すようになる。
【0020】
ROMデバイスがページアクセスモードをもつ場合に、ページアクセスモードに対応するためには、1ワード目と2ワード目以降でのアクセスタイムを変えることができるようにしなければならない。そのために1ワード目のアドレス確定時間を設定するレジスタ(CoTim)と2ワード目のアドレス確定時間を設定するレジスタ(CoPTim)の2種類のレジスタを用意する(図5)。例えば、システムクロックが66MHz,ROMの1ワード目のアクセスタイムが70ns,2ワード目のアクセスタイムが25ns,CSのCLKからの遅延値がMIN:4ns,MAX:15ns,アドレスのCLKからの遅延値がMIN:8ns,MAX:28ns,データのセットアップタイムがMIN:8nsとすると、
(15+70+8)÷15.15+1
が8、
(28+25+8)÷15.15+1
が6となるので、CoTimに8を書込み、CoPTimに6を書込むことにより、このROMのページアクセスモードに対応することができる。
【0021】
図6に、ページアクセスモード時のROMのアクセスタイミングの一実施例を示す。ここでは、システムクロックが44MHz,ROMの1ワード目のアクセスタイムが120ns,2ワード目のアクセスタイムが50ns,CSのCLKからの遅延値がMIN:4ns,MAX:15ns,アドレスのCLKからの遅延値がMIN:8ns,MAX:28ns,データのセットアップタイムがMIN:8nsの場合で、
(15+120+8)÷22.73+1
が8,
(28+ 50+8)÷22.73+1
が5となるので、CoTimに8を書込み、CoPTimに5を書込んでいる。
レジスタは、計算した取りうる値をすべて書込み(設定)できるようなビット数分をとっている。例えば上記のIOデバイスの例だと、(1)は4(最小値)〜9(最大値)を設定できれば良いので4ビットのレジスタであればよく、(2)は11(最小値)から16(最大値)が設定できれば良いので5ビットのレジスタであればよいが、レジスタの所要ビット数が少いのが好ましい。上記(1)は4〜9まで設定できれば良いので、デフォルトを4CLK(最小値)として、4CLKにプラスいくつ(N)をすれば良いかのNをレジスタ設定することにする。すると(1)は0〜5を設定できれば良いので3ビットのレジスタでよい。レジスタよりNを読出すと、n=N+最小値 を、アドレス確定時間を定めるためのCLK数とする。(2)も同様にすると、デフォルトが11CLKとなり、0〜5が設定できれば良いので3ビットレジスタとする。これだけでも1ビット+2ビットで計3ビットのレジスタを削減できる。これを同様にすべてのデバイスについて行うことにより、レジスタ数を大幅に削減することが可能となる。
【図面の簡単な説明】
【図1】 本発明の一実施例のシステム構成の概要を示すブロック図である。
【図2】 図1に示す周辺デバイス4〜8の中のI/Oデバイスの、READ/WRITEアクセスタイミングの一例を示すタイムチャ−トであり、(a)はデバイスへのデータ書込み時のものを、(b)データ読出し時のものを示す。
【図3】 図1に示すNVRAM7やDUART8などのIOデバイスに宛てるレジスタのビット構成の一例を示す平面図である。
【図4】 図1に示すROM4,5等の、ROMのREADアクセスタイミングの一例を示すタイムチャ−トである。
【図5】 図1に示す周辺デバイス4〜8の中の、ページアクセスモードをもつROMデバイスに宛てるレジスタのビット構成を示す平面図である。
【図6】 ページアクセスモードをもつROMデバイスのアクセスタイミングの一例を示すタイムチャ−トである。
【符号の説明】
2:CPUインタ−フェ−ス
3:ローカルバス制御装置
Claims (3)
- CPUと、それがREAD/WRITEアクセスを行う複数のデバイスとの間に介挿されたローカルバス制御装置において、
前記複数のデバイスのそれぞれの、デバイス指定を受けてからREAD/WRITE可となるまでの遅延時間≦使用するクロックの周期×n、なる整数nを表わすためのデータをそれぞれが格納するためのデバイス宛ての複数のレジスタであって、使用可能性があるクロック周期の範囲と、使用可能性があるデバイスの前記遅延時間の範囲とから定める整数nの最大値より、設定値を引いた差値を表わすに必要かつ可及的に少いビット数のレジスタ、を有し、前記CPUが与えるアドレスからデバイス指定信号を生成して該当デバイスに与えるとともに、該当デバイスに宛てたレジスタからデータを読み出して前記設定値を加えて得られる整数n分のクロックの発生の後に前記CPUが与えるコマンドに対応するREAD/WRITEさせる信号を該当デバイスに与える、ことを特徴とするローカルバス制御装置。 - 前記設定値は、前記使用可能性があるクロック周期の範囲と、使用可能性があるデバイスの前記遅延時間の範囲とから定める整数nの最小値である、請求項1記載のローカルバス制御装置。
- 前記複数のデバイスはページアクセスモードを持つメモリを含み、前記複数のレジスタは、該メモリの各ワードのアクセスのための各ワード宛ての各レジスタを含む、請求項1記載のローカルバス制御装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP27288498A JP3734072B2 (ja) | 1998-09-28 | 1998-09-28 | ローカルバス制御装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP27288498A JP3734072B2 (ja) | 1998-09-28 | 1998-09-28 | ローカルバス制御装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2000099457A JP2000099457A (ja) | 2000-04-07 |
JP3734072B2 true JP3734072B2 (ja) | 2006-01-11 |
Family
ID=17520110
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP27288498A Expired - Lifetime JP3734072B2 (ja) | 1998-09-28 | 1998-09-28 | ローカルバス制御装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3734072B2 (ja) |
-
1998
- 1998-09-28 JP JP27288498A patent/JP3734072B2/ja not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
JP2000099457A (ja) | 2000-04-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3532932B2 (ja) | 時間重複メモリ・アクセスを有するランダムにアクセス可能なメモリ | |
US6272583B1 (en) | Microprocessor having built-in DRAM and internal data transfer paths wider and faster than independent external transfer paths | |
US6545942B2 (en) | Semiconductor memory device and information processing unit | |
JPH10161868A (ja) | マクロ命令機能を有する同期式半導体メモリ装置とマクロ命令の格納及び実行方法 | |
JP3734072B2 (ja) | ローカルバス制御装置 | |
JPH05197619A (ja) | マルチcpu用メモリ制御回路 | |
JP3583844B2 (ja) | キャッシュメモリ方式 | |
US7395399B2 (en) | Control circuit to enable high data rate access to a DRAM with a plurality of areas | |
JPH06266614A (ja) | メモリ制御方法 | |
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 | |
JP4549073B2 (ja) | メモリ制御回路 | |
JP3959137B2 (ja) | データプロセッサ | |
US6880055B2 (en) | Semiconductor memory device | |
JP3070454B2 (ja) | メモリアクセス制御回路 | |
JPH05307519A (ja) | データ処理装置 | |
JPH1124989A (ja) | 語長可変メモリアクセス方式 | |
JP3565603B2 (ja) | マイクロコントローラシステム及びマイクロコントローラ | |
JPH05324539A (ja) | 半導体装置 | |
JP2912090B2 (ja) | タイムスロットインタチェンジ回路 | |
US5943492A (en) | Apparatus and method for generating external interface signals in a microprocessor | |
JP3563340B2 (ja) | メモリコントローラ | |
JP2716284B2 (ja) | 半導体集積回路 | |
JP3242474B2 (ja) | データ処理装置 | |
JP2000035914A (ja) | メモリコントロ−ラ | |
JPH06243049A (ja) | パリティ制御回路 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20041012 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20041015 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20041214 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20050126 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050328 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20050602 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050803 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20050808 |
|
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: 20051012 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20051012 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20081028 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091028 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101028 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111028 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121028 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131028 Year of fee payment: 8 |
|
EXPY | Cancellation because of completion of term |