JPH11175396A - メモリアクセス制御装置及び記憶媒体 - Google Patents

メモリアクセス制御装置及び記憶媒体

Info

Publication number
JPH11175396A
JPH11175396A JP9335772A JP33577297A JPH11175396A JP H11175396 A JPH11175396 A JP H11175396A JP 9335772 A JP9335772 A JP 9335772A JP 33577297 A JP33577297 A JP 33577297A JP H11175396 A JPH11175396 A JP H11175396A
Authority
JP
Japan
Prior art keywords
address
memory
data bus
bus width
cpu
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP9335772A
Other languages
English (en)
Inventor
Morio Yamauchi
労雄 山内
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.)
Casio Computer Co Ltd
Original Assignee
Casio Computer Co 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 Casio Computer Co Ltd filed Critical Casio Computer Co Ltd
Priority to JP9335772A priority Critical patent/JPH11175396A/ja
Publication of JPH11175396A publication Critical patent/JPH11175396A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Memory System (AREA)

Abstract

(57)【要約】 (修正有) 【課題】 スタートROMのスタートアドレスから必要
最小限のメモリ領域を、システム全体の中で最も少ない
データバス幅のものに固定し、スタートROM内の他の
メモリ領域をプログラマブルにデータバス幅を変更設定
可能として、ステータス入力端子を不要にする。 【解決手段】 スタートROM4内のメモリ領域の一部
をデータバス幅16ビット固定とし、その他のメモリ領
域を16あるいは32ビットのデータバス幅でアクセス
可能なプログラマブル領域とし、そのデータバス幅を固
定したメモリ領域内の一部には、ROM4内あるいはそ
の他のROM5内にアクセスする際のデータバス幅をプ
ログラマブルに切り換えるための容量の少ないプログラ
ムを格納することにより、ROM全体から見れば僅かな
メモリ容量を消費するだけで、ROM4内にはデータバ
ス幅設定用の専用端子を用意する必要がなくなる。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、CPUからデータ
バス幅の異なる複数のメモリに対して兼用でアクセスを
可能とするメモリアクセス制御装置、及びその処理プロ
グラムを格納する記憶媒体に関する。
【0002】
【従来の技術】従来、コンピュータシステム等の情報処
理機器内で利用される主な電子デバイスとしては、CP
U(Central Processing Unit )、ROM(Read Only
Memory)やRAM(Random Access Memory)等がある
が、これらの電子デバイスでは、内部処理と外部のデバ
イスとの間で処理されるデータのビット数が、例えば、
8ビット(バイト)、16ビット(ワード)、あるいは
32ビット(ダブルワード)に設定されている。
【0003】そして、これらの電子デバイスにおいて処
理されるデータのビット数に応じて電子デバイス間を接
続するバス幅が設計されている。例えば、バス幅が32
ビットである場合は、8ビット、16ビット、32ビッ
トの各データを処理する電子デバイスが接続可能であ
り、これら処理するデータビット数が異なる複数種類の
電子デバイスを混在して接続可能である。
【0004】また、その情報処理機器内で利用される電
子デバイスのうちスタートROMは、自己の処理可能な
データビット数であるデータバス幅をCPUに指示する
ため、ステータス入力端子を用意し、例えば、データバ
ス幅が16ビットならステータス入力端子をプルダウ
ン、データバス幅が32ビットならステータス入力端子
をプルアップ等して、CPUがデータ処理の始めにアク
セスするスタートROM内のデータバス幅を指定してい
る。更に、スタートROMが、32ビットと16ビット
に対応し、8ビットにも対応する場合は、その3種類の
データバス幅を指示するためのステータス入力端子が設
けられる。
【0005】
【発明が解決しようとする課題】しかしながら、このよ
うな従来の情報処理機器内で利用されるスタートROM
にあっては、自己の処理可能なデータビット数であるデ
ータバス幅をCPUに指示するためにステータス入力端
子を用意するようになっていたため、スタートROMに
設けられる端子のうち実際の処理機能に使用できる端子
数を減らしてしまうという問題があった。
【0006】本発明の課題は、スタートROMのスター
トアドレスから必要最小限のメモリ領域を、そのメモリ
マネージメントシステムが搭載された電子デバイスが利
用されるデータ処理システム全体の中で最も少ないデー
タバス幅のものに固定し、そのスタートROM内の他の
メモリ領域をソフトウエアによりプログラマブルにデー
タバス幅を変更設定可能として、ステータス入力端子を
不要にすることである。
【0007】
【課題を解決するための手段】請求項1記載の発明は、
CPUからアクセスされるメモリデバイス内を、当該C
PUからアクセスされるスタートアドレスを含み、当該
CPUからアクセスされるデータバス幅を固定した第1
のメモリ領域と、当該CPUからアクセスされるデータ
バス幅をプログラマブルに可変可能とした第2のメモリ
領域と、に区分し、前記CPUからのアクセス要求内容
に応じて前記第2のメモリ領域にアクセスする際のデー
タバス幅を設定するバス幅設定手段と、このバス幅設定
手段により設定されたデータバス幅に応じて、前記CP
Uからアクセス要求されるメモリアドレスを、当該デー
タバス幅でアクセスするように変換して前記メモリデバ
イスに出力するアドレス変換手段と、前記CPUからア
クセス要求されるメモリアドレスを、前記第1、第2の
メモリ領域内のどの領域になるかを示すアドレスにデコ
ードして出力するアドレスデコード手段と、このアドレ
スデコード手段によりデコードされたデコードアドレス
と、前記バス幅設定手段により設定されたデータバス幅
と、に基づいて前記第1、第2のメモリ領域内のアドレ
ス領域を指定するアドレス領域指定手段と、このアドレ
ス領域指定手段により指定されたアドレス領域と、前記
アドレスデコード手段によりデコードされたデコードア
ドレスと、に基づいて前記第1、第2のメモリ領域にア
クセスするタイミングを設定するアクセスタイミング設
定手段と、を備えたことを特徴としている。
【0008】この請求項1記載の発明のメモリアクセス
制御装置によれば、CPUからアクセスされるメモリデ
バイス内を、当該CPUからアクセスされるスタートア
ドレスを含み、当該CPUからアクセスされるデータバ
ス幅を固定した第1のメモリ領域と、当該CPUからア
クセスされるデータバス幅をプログラマブルに可変可能
とした第2のメモリ領域と、に区分し、前記CPUから
のアクセス要求内容に応じて前記第2のメモリ領域にア
クセスする際のデータバス幅をバス幅設定手段により設
定し、この設定されたデータバス幅に応じて、前記CP
Uからアクセス要求されるメモリアドレスを、アドレス
変換手段により、当該データバス幅でアクセスするよう
に変換して前記メモリデバイスに出力し、前記CPUか
らアクセス要求されるメモリアドレスを、アドレスデコ
ード手段により、前記第1、第2のメモリ領域内のどの
領域になるかを示すアドレスにデコードして出力し、こ
のデコードされたデコードアドレスと、前記バス幅設定
手段により設定されたデータバス幅と、に基づいて、ア
ドレス領域指定手段により前記第1、第2のメモリ領域
内のアドレス領域を指定すると、この指定されたアドレ
ス領域と、前記アドレスデコード手段によりデコードさ
れたデコードアドレスと、に基づいて、アクセスタイミ
ング設定手段により前記第1、第2のメモリ領域にアク
セスするタイミングを設定する。
【0009】したがって、ROM等のメモリデバイス内
にはデータバス幅設定用の専用端子を用意する必要がな
くなり、そのメモリデバイス内のデータバス幅よりも広
いメモリを使用するシステムにおいて、そのメモリデバ
イスへのアクセス処理速度を損なうことなく高いスルー
プットを得ることができる。
【0010】
【発明の実施の形態】以下、図を参照して本発明の実施
の形態を詳細に説明する。
【0011】図1〜図7は、本発明を適用したコンピュ
ータシステムの一実施の形態を示す図である。
【0012】まず、構成を説明する。
【0013】図1は、本実施の形態のコンピュータシス
テム1の要部構成を示すブロック図である。この図1に
おいて、コンピュータシステム1は、CPU2、メモリ
マネージメントユニット3、スタートROM4、ROM
5、RAM6、及び記憶媒体7により構成されており、
CPU2とメモリマネージメントユニット3との間はア
ドレスバス11とデータバス12により接続され、メモ
リマネージメントユニット3、スタートROM4、RO
M5、及びRAM6間は、システムバス8により接続さ
れている。
【0014】CPU2は、記憶媒体7内に格納されてい
るシステムプログラム及び当該システムに対応する各種
アプリケーションプログラムの中から指定されたアプリ
ケーションプログラムをRAM6内の図示しないプログ
ラム格納領域に展開するようにメモリマネージメントユ
ニット3に指示し、外部の入力装置から入力される各種
指示あるいはデータをRAM6内に一時的に格納させ、
この入力指示及び入力データに応じて記憶媒体7内に格
納されたアプリケーションプログラムに従って各種処理
を実行し、その処理結果をRAM6内に格納させるとと
もに、外部の表示装置等に出力させる。そして、RAM
6に格納させた処理結果を外部の入力装置から入力指示
される記憶媒体7内の保存先に保存させる。
【0015】また、CPU2は、32本のデータバス
(ここではD[31:0]とする)と、4本のバイトイ
ネーブルライン(ここではバイトイネーブル信号をBE
B[3:0]とし、ロウアクティブ信号とする)と、番
号が“2”から始まるアドレスバス(ここではA[2
3:2]とする)と、を有する。バイトイネーブル信号
は、BEB[0]がロウのときデータバスD[7:0]
が有効(アクセス可能)であり、BEB[1]がロウの
ときデータバスD[15:8]が有効であり、BEB
[2]がロウのときデータバスD[23:16]が有効
であり、BEB[3]がロウのときデータバスD[3
1:24]が有効であることを示す。
【0016】すなわち、バイトイネーブル信号BEB
[3:0]は、4ビット分のバイトネーブルラインを利
用して、CPU2から外部メモリであるスタートROM
4にアクセスする際に、CPU2側のアクセス可能なデ
ータバスD[31:0]の位置と、スタートROM4側
のアクセス可能なメモリアドレスの位置と、をバイト単
位で指定するものである。
【0017】そして、CPU2は、当該コンピュータシ
ステム1の起動時に、リセットされて始めにアクセスす
るメモリであるスタートROM4にアクセスする際に
は、そのスタートROM4内で処理されるデータバス幅
が“16ビット”であれば、上記バイトイネーブル信号
BEB[3:0]を利用して、メモリマネージメントユ
ニット3により32ビットのデータバスD[31:0]
のうちアクセス可能とする位置をバイト単位で指定し
て、スタートROM4内のメモリアドレスに対してバイ
ト単位でスワップしてアクセスする。この時CPU2
が、メモリマネージメントユニット3を介してスタート
ROM4内のメモリ領域41(図3参照)に、16ビッ
トのデータバス幅でアクセスする際には、メモリマネー
ジメントユニット3を介してスタートROM4との間で
バイトイネーブルラインと、アドレスラインと、データ
バスとをインターフェイスする方法を「aのインターフ
ェイス方法」として後述する。
【0018】また、スタートROM4内で処理されるデ
ータバス幅が“32ビット”であれば、上記バイトイネ
ーブル信号BEB[3:0]はその4ビット分の信号状
態を固定(例えば、ハイとして)して、32ビットのデ
ータバスD[31:0]をアクセス可能とする位置を3
2ビットのダブルワード単位で指定して、スタートRO
M4に対してダブルワード単位でアクセスする。この時
CPU2が、メモリマネージメントユニット3を介して
スタートROM4内のメモリ領域42(図3参照)に、
32ビットのデータバス幅でアクセスする際には、メモ
リマネージメントユニット3を介してスタートROM4
との間でバイトイネーブルラインと、アドレスライン
と、データバスとをインターフェイスする方法を「bの
インターフェイス方法」として後述する。
【0019】上記「aのインターフェイス方法」では、
以下に示す対応関係でCPU2とスタートROM4との
間のバイトイネーブルラインと、アドレスラインと、デ
ータバスが、メモリマネージメントユニット3を介して
インターフェイスされる。 BEB[1:0]・・・・・・・・・・・・・・・ROMアドレス0 CPUアドレス2・・・・・・・・・・・・・・・ROMアドレス1 CPUアドレス3・・・・・・・・・・・・・・・ROMアドレス2 ・ ・ CPUアドレス18・・・・・・・・・・・・・・ROMアドレス17 CPUデータ31−0・・・バイトスワップ・・・ROMデータ15−0 また、「bのインターフェイス方法」では、以下に示す対応関係でCPU2と スタートROM4との間のバイトイネーブルラインと、アドレスラインと、デー タバスが、メモリマネージメントユニット3を介してインターフェイスされる。 CPUアドレス2・・・・・・・・・・・・・・・ROMアドレス0 CPUアドレス3・・・・・・・・・・・・・・・ROMアドレス1 CPUアドレス4・・・・・・・・・・・・・・・ROMアドレス2 ・ ・ CPUアドレス19・・・・・・・・・・・・・・ROMアドレス17 CPUデータ0・・・・・・・・・・・・・・・・ROMデータ0 ・ ・ CPUデータ31・・・・・・・・・・・・・・・ROMデータ31 なお、スタートROM4内のデータバス幅が8ビットの
場合は、上記16ビットの場合と同様に上記バイトスワ
ップ処理を実行することにより、CPU2からデータバ
ス幅が8ビットのスタートROM4に対してもインター
フェイスが可能となる。
【0020】本実施の形態のCPU2は、リセットされ
た後、始めにスタートROM4にアクセスする後述する
スタートROMアクセス処理を実行する際には、まず、
そのメモリアドレス“FFFFF0”にアクセスし、メ
モリアドレス“FFFFF0〜FFFFFF”に格納さ
れたジャンプ命令に従って、スタートROM4内のメモ
リアドレス“FFFFC0”にジャンプする処理を実行
する。この時、CPU2は、メモリマネージメントユニ
ット3を介して上記「aのインターフェイス方法」によ
りスタートROM4内の図3に示すメモリ領域41に対
するアクセスを実行している。
【0021】すなわち、スタートROM4内は、図3に
示すように、当該スタートROM4へのアクセス処理に
係る命令として、上記ジャンプ命令や、当該スタートR
OM4、及びROM5にアクセスするための上記各イン
ターフェイス方法等をメモリマネージメントユニット3
にセットするためのプログラムを格納するとともに、C
PU2からそのプログラムに対するアクセス幅を16ビ
ットに固定するメモリアクセス禁止領域であるメモリ領
域41(メモリアドレス“FFFFC0〜FFFFF
F”)と、32ビットのデータバス幅でメモリアクセス
可能領域であるメモリ領域42(メモリアドレス“FF
FFBF〜F00000”)と、に区分されている。
【0022】したがって、CPU2は、そのスタートR
OM4内のメモリ領域41に格納された命令に従って、
アドレスバス11を介してメモリマネージメントユニッ
ト3に32ビット幅のメモリアドレスを出力しても、上
記バイトイネーブル信号BEB[3:0]でバイトスワ
ップを指定してメモリマネージメントユニット3に出力
することにより、そのメモリドレスがメモリマネージメ
ントユニット3によりバイト単位でスワップするROM
アドレスに変換されることにより、スタートROM4内
で処理されるデータバス幅が16ビットあるいは32ビ
ットに係わらず、スタートROM4内のメモリ領域41
に対しては16ビット単位でアクセス動作が開始され
る。
【0023】次いで、CPU2は、スタートROM4内
のメモリ領域41のメモリアドレス“FFFFC0〜F
FFFEF”に格納された命令に従って、スタートRO
M4内のメモリ領域42に、32ビットのデータバス幅
でメモリアクセスするようにインターフェイス方法を切
り換えるためのバス幅の切換指示を上記バイトイネーブ
ル信号BEB[3:0](全ビットをハイに固定)に設
定してメモリマネージメントユニット3に出力すること
により、そのメモリアドレスがメモリマネージメントユ
ニット3により16ビットのデータバス幅のアクセスか
ら32ビットのデータバス幅のメモリアクセスへの切り
換え処理を実行させる。この時、CPU2は、メモリマ
ネージメントユニット3を介して上記「aのインターフ
ェイス方法」によりスタートROM4内のメモリ領域4
1に対するアクセスを実行している。
【0024】さらに、CPU2は、上記16ビットから
32ビットへのデータバス幅のアクセス切り換え処理が
終了すると、スタートROM4内のメモリ領域41のメ
モリアドレス“FFFFC0〜FFFFEF”に格納さ
れたジャンプ命令に従って、スタートROM4内のメモ
リ領域42にアクセスするためのメインフローが格納さ
れたスタートROM4内のメモリアドレス“00000
0〜FFFFBF”にジャンプする。この時、CPU2
は、メモリマネージメントユニット3を介して上記「a
のインターフェイス方法」によりスタートROM4内の
メモリ領域41に対するアクセスを実行している。
【0025】次いで、CPU2は、上記メインフローが
格納されたメモリアドレス“000000〜FFFFB
F”へのジャンプ処理が終了すると、そのメモリアドレ
スに格納されたメインプログラムに従ってスタートRO
M4内のメモリ領域42、及びその他のROM5内のメ
モリ領域51(図3参照)に32ビットのデータバス幅
でメモリアクセスする動作を開始する。この時、CPU
2は、メモリマネージメントユニット3を介して上記
「bのインターフェイス方法」によりスタートROM
4、及びその他のROM5に対するメモリアクセスを実
行している。
【0026】メモリマネージメントユニット3は、図2
に示すように、アドレスデコーダ31、タイミング回路
32、バスサイジング回路33、スタートROMバス幅
設定部34、及びアドレス変換回路35により構成され
ている。
【0027】アドレスデコーダ31は、CPU2からア
ドレスバス11を介して入力されるスタートROM4内
あるいはROM5内の32ビット単位のメモリアドレス
をデコードし、そのデコードアドレスをタイミング回路
32とバスサイジング回路33に出力する。
【0028】タイミング回路32は、アドレスデコーダ
31から入力されるデコードアドレスと、バスサイジン
グ回路33から入力されるバス変更タイミング制御信号
とに基づいてスタートROM4内あるいはROM5内
に、指定されたデータバス幅である16ビットあるいは
32ビットでアクセスするためのアクセスタイミングを
制御するメモリ制御信号を生成し、そのメモリ制御信号
をシステムバス8を介してスタートROM4あるいはR
OM5に出力する。
【0029】例えば、スタートROM4が16ビットの
データバス幅でデータを処理する機能を有する場合に、
CPU2から32ビット幅で入力されるメモリアドレス
をタイミング回路32では、16ビット幅で2回に分け
てメモリアドレスでアクセスするようにメモリ制御信号
が生成される。また、スタートROM4が32ビットの
データバス幅でデータを処理する機能を有する場合に、
CPU2から32ビット幅で入力されるメモリアドレス
をタイミング回路32では、1回で当該メモリアドレス
にアクセスするようにメモリ制御信号が生成される。
【0030】バスサイジング回路33は、アドレスデコ
ーダ31から入力されるデコードアドレスと、スタート
ROMバス幅設定部34から入力されるビットシフト信
号(1ビットシフト→16ビット幅、2ビットシフト→
32ビット幅)とに基づいて、そのビットシフト信号に
より示されるデータバス幅に応じてスタートROM4内
にアクセスするデータバス幅とタイミングを制御するバ
ス変更タイミング制御信号を生成してタイミング回路3
2に出力するとともに、当該メモリマネージメントユニ
ット3からスタートROM4へのアクセス中にCPU2
に対してウエイトをかけるウエイト信号を生成してCP
U2に出力する。
【0031】スタートROMバス幅設定部34は、2ビ
ットのシフトレジスタにより構成され、CPU2からデ
ータバス12を介して入力されるバス幅の切換指示が設
定された上記バイトイネーブル信号BEBに応じて、そ
のシフトレジスタのビットをシフトさせてビットシフト
信号をバスサイジング回路33に出力する。すなわち、
16ビット幅への切り換え指示の場合は、そのシフトレ
ジスタを1ビットシフトさせたビットシフト信号をバス
サイジング回路33に出力し、32ビット幅への切り換
え指示の場合は、そのシフトレジスタを2ビットシフト
させたビットシフト信号をバスサイジング回路33に出
力する。
【0032】アドレス変換回路35は、CPU2からア
ドレスバス11を介して入力されるスタートROM4内
あるいはROM5内のメモリアドレスを、アクセスする
データバス幅である16ビットあるいは32ビット、及
び上記「aのインターフェイス方法」あるいは「bのイ
ンターフェイス方法」を考慮して、スタートROM4内
あるいはROM5内の各ROMアドレスに変換し、その
ROMアドレスをシステムバス8を介してスタートRO
M4内あるいはROM5内の各メモリ領域にアクセスす
る。
【0033】また、図1においてスタートROM4は、
上記図3に示したように、当該スタートROM4へのア
クセス処理に係る命令として、上記ジャンプ命令を格納
するとともに、当該スタートROM4にアクセスするた
めのインターフェイス方法、及びその他のROM5にア
クセスするためのインターフェイス方法等をメモリマネ
ージメントユニット3にセットするためのプログラムを
格納するアクセス禁止領域であるメモリ領域41(メモ
リアドレス“FFFFC0〜FFFFFF”)と、32
ビット幅のアクセス可能領域であるメモリ領域42(メ
モリアドレス“FFFFBF〜F00000”)と、に
区分されている。
【0034】ROM5は、その内部が16ビット幅のデ
ータ、あるいは32ビット幅のデータを格納するように
メモリアドレスが設定されており、上記図3に示したよ
うにメモリ領域51を形成して上記CPU2が実行する
各種処理プログラム等を格納する。
【0035】RAM6は、CPU2により実行される各
種処理に際して処理される各種データ等を一時的に格納
するメモリ領域を形成する。また、RAM6は、プログ
ラムやデータ等が予め記憶されている記憶媒体7を有し
ており、この記憶媒体7は磁気的、光学的記録媒体、若
しくは半導体メモリで構成されている。この記憶媒体7
はRAM6に固定的に設けたもの、若しくは着脱自在に
装着するものであり、この記憶媒体7には上記各種処理
プログラム、及び各処理プログラムで処理されたデータ
等を記憶する。
【0036】また、この記憶媒体7に記憶するプログラ
ム、データ等は、通信回線等を介して接続された他の機
器から受信して記憶する構成にしてもよく、更に、通信
回線等を介して接続された他の機器側に上記記憶媒体を
備えた記憶装置を設け、この記憶媒体7に記憶されてい
るプログラム、データを通信回線を介して使用する構成
にしてもよい。
【0037】次に、本実施の形態の動作を説明する。
【0038】CPU2は、コンピュータシステム1がリ
セットされた後、始めにスタートROM4にアクセスす
るスタートROMアクセス処理を実行する。このCPU
2により実行されるスタートROMアクセス処理につい
て図4に示すフローチャートに基づいて説明する。
【0039】なお、図1においてスタートROM4に
は、そのデータバス幅が16ビットのものが接続されて
いるものとする。
【0040】CPU2は、コンピュータシステム1がリ
セットされた後、本スタートROMアクセス処理を開始
し、まず、そのスタートROM4内のメモリ領域41の
メモリアドレス“FFFFF0”にアクセスし、メモリ
アドレス“FFFFF0〜FFFFFF”に格納された
ジャンプ命令に従って、スタートROM4内のメモリア
ドレス“FFFFC0”にジャンプする処理を実行する
(ステップS1)。この時、CPU2及びメモリマネー
ジメントユニット3では、上記「aのインターフェイス
方法」によりスタートROM4内のメモリ領域41に対
するアクセス動作ず実行されている。
【0041】この時、CPU2からメモリマネージメン
トユニット3に対しては、16ビットのデータバス幅で
スタートROM4内のメモリ領域41にアクセスするよ
うにデータバス幅の切換指示を設定したバイトイネーブ
ル信号BEBがデータバス12を介して出力されるとと
もに、メモリアドレス“FFFFF0”がアドレスバス
11を介して出力される。そして、メモリマネージメン
トユニット3では、そのCPU2から入力されるバイト
イネーブル信号BEBがスタートROMバス幅設定部3
4に入力されると、そのシフトレジスタを16ビットの
データバス幅の設定に合わせて1ビットシフトさせたビ
ットシフト信号がバスサイジング回路33に出力され
る。
【0042】また、アドレスデコーダ31では、CPU
2から入力されたメモリアドレス“FFFFF0”がデ
コードされてデコードアドレスとしてバスサイジング回
路33に出力されると、バスサイジング回路33では、
このデコードアドレスとスタートROMバス幅設定部3
4から入力されるビットシフト信号とから16ビットの
データバス幅でアクセスするためのバス変更タイミング
制御信号が生成されてタイミング回路32に出力され
る。タイミング回路32では、アドレスデコーダ31か
ら入力されるデコードアドレスと、バスサイジング回路
33から入力されるバス変更タイミング制御信号とから
指定された16ビットのデータバス幅でアクセスするた
めのアクセスタイミングを制御するメモリ制御信号が生
成され、そのメモリ制御信号がシステムバス8を介して
スタートROM4に出力される。
【0043】また、アドレス変換回路35では、CPU
2から入力されたメモリアドレス“FFFFF0”が、
アクセスするデータバス幅である16ビット、及び上記
「aのインターフェイス方法」を考慮して、スタートR
OM4内の各ROMアドレスに変換され、そのROMア
ドレスによりシステムバス8を介してスタートROM4
内あるいはメモリ領域41にアクセスされる。
【0044】以上がCPU2とメモリマネージメントユ
ニット3によりスタートROM4内のメモリ領域41に
対して16ビットのデータバス幅で実行されるアクセス
動作である。
【0045】次いで、CPU2は、スタートROM4内
のメモリ領域41のメモリアドレス“FFFFC0〜F
FFFEF”に格納された命令に従って、スタートRO
M4内のメモリ領域42は、32ビットのデータバス幅
でメモリアクセスするようにインターフェイス方法を切
り換えるためのデータバス幅の切換指示をバイトイネー
ブル信号BEBに設定してメモリマネージメントユニッ
ト3に出力して、メモリマネージメントユニット3によ
り16ビットのデータバス幅のアクセス動作から32ビ
ットのデータバス幅のアクセス動作への切り換え処理を
実行させる(ステップS2)。この時、CPU2及びメ
モリマネージメントユニット3では、上記「aのインタ
ーフェイス方法」によりスタートROM4内のメモリ領
域41に対するアクセス動作が実行されている。
【0046】メモリマネージメントユニット3では、C
PU2から入力されるバス幅切り換え指示が設定された
バイトイネーブル信号BEBがスタートROMバス幅設
定部34に入力されると、スタートROMバス幅設定部
34では、32ビットのデータバス幅への切り換え指示
であるため、そのシフトレジスタを2ビットシフトさせ
たビットシフト信号がバスサイジング回路33に出力さ
れる。
【0047】そして、バスサイジング回路33では、ス
タートROMバス幅設定部34から入力されるビットシ
フト信号が2ビットシフトである場合は、そのビットシ
フト信号により示されるデータバス幅は32ビットであ
るため、アドレスデコーダ31から入力されるデコード
アドレスが、32ビットのアクセス幅とタイミングでス
タートROM4内のメモリ領域42にアクセスするよう
にバス変更タイミング制御信号が生成されてタイミング
回路32に出力される。
【0048】タイミング回路32では、アドレスデコー
ダ31から入力されるデコードアドレスと、バスサイジ
ング回路33から入力されるバス変更タイミング制御信
号とから指定された32ビットのデータバス幅でアクセ
スするためのアクセスタイミングを制御するメモリ制御
信号が生成され、そのメモリ制御信号がシステムバス8
を介してスタートROM4に出力される。
【0049】また、アドレス変換回路35では、CPU
2から入力されたメモリアドレス“FFFFC0〜FF
FFEF”が、アクセスするデータバス幅である32ビ
ット、及び上記「aのインターフェイス方法」を考慮し
て、スタートROM4内の各ROMアドレスに変換さ
れ、そのROMアドレスによりシステムバス8を介して
スタートROM4内のメモリ領域42(メモリアドレス
“FFFFBF〜F00000”)にアクセスされる。
【0050】以上のCPU2とメモリマネジメントユニ
ット3とのデータバス幅の切り換え処理によりスタート
ROM4内のメモリ領域42に対して32ビットのデー
タバス幅でアクセス動作を実行するためのインターフェ
イス処理が終了する。
【0051】さらに、CPU2は、上記16ビットから
32ビットへのデータバス幅のアクセス切り換え処理が
終了すると、スタートROM4内のメモリ領域41のメ
モリアドレス“FFFFC0〜FFFFEF”に格納さ
れたジャンプ命令に従って、スタートROM4内のメモ
リ領域42にアクセスするためのメインフローが格納さ
れたスタートROM4内のメモリアドレス“00000
0〜FFFFBF”にジャンプする(ステップS3)。
この時、CPU2は、メモリマネージメントユニット3
を介して上記「aのインターフェイス方法」によりスタ
ートROM4内のメモリ領域41に対するアクセスを実
行している。
【0052】次いで、CPU2は、上記メインフローが
格納されたメモリアドレス“000000〜FFFFB
F”へのジャンプ処理が終了すると、そのメモリアドレ
スに格納されたメインプログラムに従ってスタートRO
M4内のメモリ領域42、及びその他のROM5内のメ
モリ領域51(図3参照)に32ビットのデータバス幅
でメモリアクセスする動作を開始して(ステップS
4)、本スタートROMアクセス処理を終了する。この
時、CPU2は、メモリマネージメントユニット3を介
して上記「bのインターフェイス方法」によりスタート
ROM4、及びその他のROM5に対するメモリアクセ
スを実行している。
【0053】すなわち、スタートROM4が16ビット
のデータバス幅でデータを処理する機能を有する場合
に、CPU2から32ビット幅で入力されるメモリアド
レスをタイミング回路32では、16ビット幅で2回に
分けてメモリアドレスでアクセスするようにメモリ制御
信号が生成される。
【0054】また、この時タイミング回路32では、当
該メモリマネージメントユニット3からスタートROM
4内のメモリ領域32へのアクセス中に、CPU2に対
してウエイトをかけるウエイト信号が生成されてCPU
2に出力されることにより、CPU2では、メモリアク
セス中のメモリアクセス要求が待機される。
【0055】以上のCPU2により実行されたスタート
ROMアクセス処理によりデータバス幅が16ビットの
スタートROM4にアクセスされた場合、そのスタート
ROM4内では、CPU2によってどのようにアクセス
されているかを、そのメモリ領域42と周辺のメモリ領
域42について図5に示す。
【0056】この図5において図中の左側は、CPU2
からアクセス要求されるスタートROM4内のダブルワ
ードアドレスを示し、スタートROM4内の英数字はC
PU2がその英数字で示されるメモリアドレスでアクセ
スされると、その英数字で示す位置にアクセスされるこ
とを示している。例えば、CPU2がメモリアドレス
“FFFF79”にアクセスすると、ROMアドレス
“3FFDE”のデータビット“D8〜D15”にアク
セスされ、CPU2がメモリアドレス“FFFFA”に
アクセスすると、ROMアドレス“3FFFD”のデー
タビット“D0〜D7”にアクセスされることを示して
いる。図5に示すスタートROM4の場合、ROMアド
レス“3FFE0〜3FFEF”の下位ワードアドレス
は、CPU2から2種類のCPUアドレスでアクセス可
能であるが、これは図3に示したメモリ領域41とメモ
リ領域42とで、メモリアドレスをワードアドレス(1
6ビット)とダブルワード(32ビット)に区別してア
クセスさせるようにしたためである。
【0057】また、図5に示すスタートROM4内のR
OMアドレス“3FFF0〜3FFFF”の上位アドレ
ス“D16〜D31”は、メモリアクセス不可領域であ
るが、これは図3に示したメモリ領域41内でデータバ
ス幅の切換プログラムが格納されたメモリ領域であるか
らである。また、図3に示したメモリ領域41内は、ワ
ードアドレス(16ビットのデータバス幅)でアクセス
するメモリ領域としているため、メモリ領域42内のC
PUアドレス“FFFF80〜FFFFBF”は使用禁
止領域としている。
【0058】また、図6に示すように、スタートROM
4が32ビットのデータバス幅のものが接続された場合
は、CPU2がリセットされて、始めにスタートROM
4にアクセスする後述するスタートROMアクセス処理
を実行する際には、まず、そのメモリアドレス“FFF
FF0”にアクセスした後、スタートROM41内のメ
モリ領域41以外のメモリ領域42あるいはメモリ領域
51にアクセスする前に、メモリ領域41以外のデータ
バス幅である32ビットを設定するために、メモリ領域
41にはそのデータバス幅を切り換えるバス幅切換設定
命令を格納しておく。
【0059】この場合、CPU2は、メモリ領域41に
格納されたバス幅切換設定命令により、その32ビット
のデータバス幅への切換指示を上記バイトイネーブル信
号BEBに設定してメモリマネージメントユニット3に
出力し、メモリマネージメントユニット3により、CP
U2から32ビット幅で入力されるメモリアドレスをタ
イミング回路32では、1回で当該メモリアドレスにア
クセスするようにメモリ制御信号を生成させるととも
に、アドレス返還回路35により、CPU2から入力さ
れたダブルワードアドレスが、データバス幅が32ビッ
ト、及び上記「bのインターフェイス方法」を考慮し
て、スタートROM4内の各ROMアドレスに変換さ
れ、そのROMアドレスによりシステムバス8を介して
スタートROM4内のメモリ領域42(メモリアドレス
“FFFFBF〜F00000”)にアクセスされる。
このためCPU2は、スタートROM4内のメモリ領域
42に対して32ビットのデータバス幅で高速にアクセ
ス可能である。
【0060】また、図示しないがCPU2とスタートR
OM4の各データバス幅が共に16ビットである場合
は、そのCPU2から入力されたワードアドレスが、デ
ータバス幅が16ビット、及び上記「bのインターフェ
イス方法」を考慮して、スタートROM4内の各ROM
アドレスに変換され、そのROMアドレスによりシステ
ムバス8を介して、図7に示すように、そのスタートR
OM4内のメモリ領域41、42を区別せずに、そのメ
モリアドレス“FFFFFF〜F00000”にアクセ
スされる。
【0061】したがって、本実施の形態のコンピュータ
システム1では、スタートROM4内のメモリ領域41
の一部をデータバス幅16ビット固定とし、その他のメ
モリ領域を16ビットあるいは32ビットのデータバス
幅でアクセス可能なプログラマブル領域とし、そのデー
タバス幅を固定したメモリ領域41内の一部には、スタ
ートROM4内あるいはその他のROM5内にアクセス
する際のデータバス幅をプログラマブルに切り換えるた
めの容量の少ないプログラムを格納することにより、R
OM全体から見れば僅かなメモリ容量(ROMアドレス
“3FFE0〜3FFFF”の上位ワード、CPUアド
レス“FFFF80〜FFFFBF”)を消費するだけ
で、スタートROM4内にはデータバス幅設定用の専用
端子を用意する必要がなくなり、スタートROM4内の
データバス幅よりも広いメモリを使用するシステムにお
いて、そのROMへのアクセス処理速度を損なうことな
く高いスループットを得ることができる。
【0062】なお、上記実施の形態では、16ビットあ
るいは32ビットのデータバス幅を有するスタートRO
M4に対応するメモリアクセス処理の場合を示したが、
その他の8ビット等のデータバス幅との組み合わせでも
上記メモリアクセス処理の構成を適用可能であり、また
3種類以上のデータバス幅を利用するシステムの場合で
も適用可能である。これらの場合は、CPU2のスター
トアドレスを含む上記スタートROM4内のメモリ領域
41のような小容量のメモリ領域を用意して、そのメモ
リ領域は対応させるデータバス幅の中で最も小さいデー
タバス幅のメモリ領域と見なしてアクセスすればよい。
【0063】
【発明の効果】請求項1記載の発明のメモリアクセス制
御装置によれば、ROM等のメモリデバイス内にはデー
タバス幅設定用の専用端子を用意する必要がなくなり、
そのメモリデバイス内のデータバス幅よりも広いメモリ
を使用するシステムにおいて、そのメモリデバイスへの
アクセス処理速度を損なうことなく高いスループットを
得ることができる。
【0064】請求項2記載の発明のメモリアクセス制御
装置によれば、データバス幅を固定したメモリ領域内に
は、メモリデバイス内にアクセスする際のデータバス幅
をプログラマブルに切り換えるためのプログラムを格納
することにより、メモリデバイス全体から見れば僅かな
メモリ容量を消費するだけで、メモリデバイス内にはデ
ータバス幅設定用の専用端子を用意する必要がなくな
る。
【0065】請求項3記載の発明の記憶媒体によれば、
ROM等のメモリデバイス内にはデータバス幅設定用の
専用端子を用意する必要がなくなり、そのメモリデバイ
ス内のデータバス幅よりも広いメモリを使用するシステ
ムにおいて、そのメモリデバイスへのアクセス処理速度
を損なうことなく高いスループットを得ることができる
プログラムをコンピュータで実行することができる。
【図面の簡単な説明】
【図1】本発明を適用した一実施の形態のコンピュータ
システム1の要部構成を示すブロック図である。
【図2】図1におけるメモリマネージメントユニット3
内の内部構成を示すブロック図である。
【図3】図1におけるスタートROM4、及びその他の
ROM5内のメモリ構成を示す図である。
【図4】図1のCPU2により実行されるスタートRO
Mアクセス処理を示すフローチャートである。
【図5】図4のスタートROMアクセス処理によりCP
U2から16ビットのデータバス幅でアクセスされるス
タートROM4内のメモリアクセスの状態を示す図であ
る。
【図6】32ビットのデータバス幅のスタートROM4
が接続されたコンピュータシステム1の要部構成を示す
ブロック図である。
【図7】図6のCPU2から32ビットのデータバス幅
でアクセスされるスタートROM4内のメモリアクセス
の状態を示す図である。
【符号の説明】
1 コンピュータシステム 2 CPU 3 メモリマネージメントユニット 4 スタートROM 41、42 メモリ領域 5 ROM 6 RAM 7 記憶媒体 8 システムバス 11 アドレスバス 12 データバス

Claims (3)

    【特許請求の範囲】
  1. 【請求項1】CPUからアクセスされるメモリデバイス
    内を、当該CPUからアクセスされるスタートアドレス
    を含み、当該CPUからアクセスされるデータバス幅を
    固定した第1のメモリ領域と、当該CPUからアクセス
    されるデータバス幅をプログラマブルに可変可能とした
    第2のメモリ領域と、に区分し、 前記CPUからのアクセス要求内容に応じて前記第2の
    メモリ領域にアクセスする際のデータバス幅を設定する
    バス幅設定手段と、 このバス幅設定手段により設定されたデータバス幅に応
    じて、前記CPUからアクセス要求されるメモリアドレ
    スを、当該データバス幅でアクセスするように変換して
    前記メモリデバイスに出力するアドレス変換手段と、 前記CPUからアクセス要求されるメモリアドレスを、
    前記第1、第2のメモリ領域内のどの領域になるかを示
    すアドレスにデコードして出力するアドレスデコード手
    段と、 このアドレスデコード手段によりデコードされたデコー
    ドアドレスと、前記バス幅設定手段により設定されたデ
    ータバス幅と、に基づいて前記第1、第2のメモリ領域
    内のアドレス領域を指定するアドレス領域指定手段と、 このアドレス領域指定手段により指定されたアドレス領
    域と、前記アドレスデコード手段によりデコードされた
    デコードアドレスと、に基づいて前記第1、第2のメモ
    リ領域にアクセスするタイミングを設定するアクセスタ
    イミング設定手段と、 を備えたことを特徴とするメモリアクセス制御装置。
  2. 【請求項2】前記第1のメモリ領域には、前記CPUか
    らのアクセス要求内容に応じたデータバス幅の設定に係
    る処理命令を格納したことを特徴とする請求項1記載の
    メモリアクセス制御装置。
  3. 【請求項3】コンピュータが実行可能なプログラムを格
    納した記憶媒体であって、 CPUからアクセスされるメモリデバイス内を、当該C
    PUからアクセスされるスタートアドレスを含み、当該
    CPUからアクセスされるデータバス幅を固定した第1
    のメモリ領域と、当該CPUからアクセスされるデータ
    バス幅をプログラマブルに可変可能とした第2のメモリ
    領域と、に区分し、 前記CPUからのアクセス要求内容に応じて前記第2の
    メモリ領域にアクセスする際のデータバス幅を設定する
    ためのコンピュータが実行可能なプログラムコードと、 このバス幅設定手段により設定されたデータバス幅に応
    じて、前記CPUからアクセス要求されるメモリアドレ
    スを、当該データバス幅でアクセスするように変換して
    前記メモリデバイスに出力するためのコンピュータが実
    行可能なプログラムコードと、 前記CPUからアクセス要求されるメモリアドレスを、
    前記第1、第2のメモリ領域内のどの領域になるかを示
    すアドレスにデコードして出力するためのコンピュータ
    が実行可能なプログラムコードと、 このアドレスデコード手段によりデコードされたデコー
    ドアドレスと、前記バス幅設定手段により設定されたデ
    ータバス幅と、に基づいて前記第1、第2のメモリ領域
    内のアドレス領域を指定するためのコンピュータが実行
    可能なプログラムコードと、 このアドレス領域指定手段により指定されたアドレス領
    域と、前記アドレスデコード手段によりデコードされた
    デコードアドレスと、に基づいて前記第1、第2のメモ
    リ領域にアクセスするためのコンピュータが実行可能な
    プログラムコードと、 を含むプログラムを格納したことを特徴とする記憶媒
    体。
JP9335772A 1997-12-05 1997-12-05 メモリアクセス制御装置及び記憶媒体 Pending JPH11175396A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP9335772A JPH11175396A (ja) 1997-12-05 1997-12-05 メモリアクセス制御装置及び記憶媒体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP9335772A JPH11175396A (ja) 1997-12-05 1997-12-05 メモリアクセス制御装置及び記憶媒体

Publications (1)

Publication Number Publication Date
JPH11175396A true JPH11175396A (ja) 1999-07-02

Family

ID=18292287

Family Applications (1)

Application Number Title Priority Date Filing Date
JP9335772A Pending JPH11175396A (ja) 1997-12-05 1997-12-05 メモリアクセス制御装置及び記憶媒体

Country Status (1)

Country Link
JP (1) JPH11175396A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018093894A (ja) * 2016-12-07 2018-06-21 株式会社平和 遊技機
JP2021003655A (ja) * 2020-10-19 2021-01-14 株式会社平和 遊技機
JP2021040891A (ja) * 2019-09-10 2021-03-18 株式会社藤商事 遊技機

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018093894A (ja) * 2016-12-07 2018-06-21 株式会社平和 遊技機
JP2021040891A (ja) * 2019-09-10 2021-03-18 株式会社藤商事 遊技機
JP2021003655A (ja) * 2020-10-19 2021-01-14 株式会社平和 遊技機

Similar Documents

Publication Publication Date Title
US5796413A (en) Graphics controller utilizing video memory to provide macro command capability and enhanched command buffering
US5905911A (en) Data transfer system which determines a size of data being transferred between a memory and an input/output device
JP2001142842A (ja) Dmaハンドシェークプロトコル
JP3619532B2 (ja) 半導体集積回路装置
JP2845433B2 (ja) 集積回路装置
JPH0792782B2 (ja) 処理実行システム
CN114785748B (zh) 用于图像传输的dma控制系统与方法
JPH0142415B2 (ja)
US5127096A (en) Information processor operative both in direct mapping and in bank mapping, and the method of switching the mapping schemes
JPH11175396A (ja) メモリアクセス制御装置及び記憶媒体
JPH11259417A (ja) バスアクセス方式およびバスアクセス制御装置
JPH02311050A (ja) データ転送制御装置
JP4793798B2 (ja) マイクロコンピュータ
JP2546574B2 (ja) グラフィック情報処理システム
JP3704927B2 (ja) プログラマブルコントローラ
US5793991A (en) Method of equalizing loads on a computer bus
JPH06131294A (ja) データ転送装置
US4969090A (en) Program routine vectoring circuit for selectively using either stored interupt instructions or incoming interupt handling instructions
JP2003186666A (ja) マイクロコンピュータおよびdma制御回路
JP2704134B2 (ja) マイクロプログラム制御装置
JPH1040165A (ja) データ読み出し方法およびリードバッファ
JP4534288B2 (ja) 信号処理システム、信号処理回路および復調装置
JP4017050B2 (ja) データ転送システム
JPH09160786A (ja) マイクロプロセッサ
JPH09244988A (ja) データ変換制御装置