JPS6045459B2 - メモリバンク制御方式 - Google Patents
メモリバンク制御方式Info
- Publication number
- JPS6045459B2 JPS6045459B2 JP14165077A JP14165077A JPS6045459B2 JP S6045459 B2 JPS6045459 B2 JP S6045459B2 JP 14165077 A JP14165077 A JP 14165077A JP 14165077 A JP14165077 A JP 14165077A JP S6045459 B2 JPS6045459 B2 JP S6045459B2
- Authority
- JP
- Japan
- Prior art keywords
- bank
- instruction
- address
- memory
- output
- 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
Links
Landscapes
- Executing Machine-Instructions (AREA)
Description
【発明の詳細な説明】
この発明は情報処理システムにおけるメモリバンク制
御方式に関するものである。
御方式に関するものである。
従来技術において、プロセッサの持つアドレスビット
で制御できる最大メモリ容量を超えてメモリ増設の要求
があつた場合、バンクアドレスビットを設け、該バンク
アドレスビットをプロセッサの出力命令によつて設定す
れば可能であつた。
で制御できる最大メモリ容量を超えてメモリ増設の要求
があつた場合、バンクアドレスビットを設け、該バンク
アドレスビットをプロセッサの出力命令によつて設定す
れば可能であつた。
例えはプロセッサアドレスが16ビットあり、最大Mキ
ロバイトのメモリ制御できるとき、バンクアドレスビッ
トを1ビット追加することによつて、バンク1のMキロ
バイトとバンク2のMキロバイトの合計128キロバイ
トのメモリを制御できるようになる。 ところが従来技
術では、バンクアドレスビットの制御をプロセッサの出
力命令、(以後出力命令とはバンク切り換え用出力命令
を意味する)で行なつているため、出力命令によつてバ
ンクを切り換えた時、該出力命令の次に実行すべき命令
はアドレスを+α(αは該出力命令の命令長を示すバイ
ト数)したアドレス位置の命令ではなく、切り換えられ
たバンクにあつて、+αされたアドレス位置の命令とな
る。
ロバイトのメモリ制御できるとき、バンクアドレスビッ
トを1ビット追加することによつて、バンク1のMキロ
バイトとバンク2のMキロバイトの合計128キロバイ
トのメモリを制御できるようになる。 ところが従来技
術では、バンクアドレスビットの制御をプロセッサの出
力命令、(以後出力命令とはバンク切り換え用出力命令
を意味する)で行なつているため、出力命令によつてバ
ンクを切り換えた時、該出力命令の次に実行すべき命令
はアドレスを+α(αは該出力命令の命令長を示すバイ
ト数)したアドレス位置の命令ではなく、切り換えられ
たバンクにあつて、+αされたアドレス位置の命令とな
る。
第1図によつて説明する。 第1図は、従来のバンクメ
モリ制御方式における命令の流れ図を示す。第1図にお
いて、バンク1に格納されている命令、例えば1のアド
レスは、バンクアドレスビット ゛o’ とバンク内ア
ドレスビット ’X1’ とを合せて’OXI’で表わ
される。同様に命令2は’0X2’でアドレスが表わさ
れ、命令3′は’OYI’てアドレスが表わされる。バ
ンク2に格納されている命令、例えば3ヨは、バンクア
ドレスビット ’1’ とバンク内アドレスビット ’
X3’ とを合せて’1X3’でアドレス表示され、同
様に、命令4は“1Y2’で表示される。そして、バン
ク2における命令3は、バンクアドレスを除いたバンク
内アドレスにおいて、バ・ンク1における命令2に+1
した相対アドレスを有するようになつている。すなわち
、命令2がバンク内アドレス’X2’をもつのに対し、
命令3は、それに+1した相対アドレYモw3’をパンク
内アドレスとしてもつている。バンク2における命令4
も同様に、バンク1における命令3″のバンク内アドレ
ス6Yrに+1した相対アドレス゜Y2゛をバンク内ア
ドレスとしてもつようになつている。さて、バンク1に
おいてメモリアドレス′0X1の命令1を実行し、メモ
リドレス“0X2゛の命令2によつてバンクアドレスビ
ットを0から1に変えたとき、次に実行する命令はメモ
リアドレス“0X3゛の命令ではなく、バンク2に存在
し、バンクが異なるだけでバンク1のメモリアドレス0
X3゛の命令と同じ相対位置を占めるメモリアドレス゜
1X3゛の命令3となる。
モリ制御方式における命令の流れ図を示す。第1図にお
いて、バンク1に格納されている命令、例えば1のアド
レスは、バンクアドレスビット ゛o’ とバンク内ア
ドレスビット ’X1’ とを合せて’OXI’で表わ
される。同様に命令2は’0X2’でアドレスが表わさ
れ、命令3′は’OYI’てアドレスが表わされる。バ
ンク2に格納されている命令、例えば3ヨは、バンクア
ドレスビット ’1’ とバンク内アドレスビット ’
X3’ とを合せて’1X3’でアドレス表示され、同
様に、命令4は“1Y2’で表示される。そして、バン
ク2における命令3は、バンクアドレスを除いたバンク
内アドレスにおいて、バ・ンク1における命令2に+1
した相対アドレスを有するようになつている。すなわち
、命令2がバンク内アドレス’X2’をもつのに対し、
命令3は、それに+1した相対アドレYモw3’をパンク
内アドレスとしてもつている。バンク2における命令4
も同様に、バンク1における命令3″のバンク内アドレ
ス6Yrに+1した相対アドレス゜Y2゛をバンク内ア
ドレスとしてもつようになつている。さて、バンク1に
おいてメモリアドレス′0X1の命令1を実行し、メモ
リドレス“0X2゛の命令2によつてバンクアドレスビ
ットを0から1に変えたとき、次に実行する命令はメモ
リアドレス“0X3゛の命令ではなく、バンク2に存在
し、バンクが異なるだけでバンク1のメモリアドレス0
X3゛の命令と同じ相対位置を占めるメモリアドレス゜
1X3゛の命令3となる。
従つて、命令3としてジャンプ命令を用いれば命令3を
実行して初めてバンク2のメモリ内を自由にジャンプす
ることができる。しかるに、バンク1の命令1からバン
ク2の命令4に処理を移したい場合、命令2の出力命令
によりバンクをバンク1からバンク2へ移し、命令3の
ジャンプ命令により命令4へジャンプするルート1(図
中Rl,R「)をとるか、バンク1の命令2をジャンプ
命令とし、同バンクのメモリアドレス40Yrの命令3
″へジャンプし、命令3″の出力命令によりバンク2に
移り、バンク1のメモリアドレス“0Y2゛と相対的同
位置を占めるメモリアドレス61Y21の命令4へとジ
ャンプするルート2(図中R2,R2″)をとることに
よつて可能てある。
実行して初めてバンク2のメモリ内を自由にジャンプす
ることができる。しかるに、バンク1の命令1からバン
ク2の命令4に処理を移したい場合、命令2の出力命令
によりバンクをバンク1からバンク2へ移し、命令3の
ジャンプ命令により命令4へジャンプするルート1(図
中Rl,R「)をとるか、バンク1の命令2をジャンプ
命令とし、同バンクのメモリアドレス40Yrの命令3
″へジャンプし、命令3″の出力命令によりバンク2に
移り、バンク1のメモリアドレス“0Y2゛と相対的同
位置を占めるメモリアドレス61Y21の命令4へとジ
ャンプするルート2(図中R2,R2″)をとることに
よつて可能てある。
ところが従来技術のこの方式では、バンクを切り換える
出力命令を実行する時、出力命令の次に一実行する命令
のための領域として切り換え後のバンクにおいて切り換
え前のバンクの出力命令の次のアドレスと相対的に同じ
位置を用意しておかなければならないという制約があつ
た。
出力命令を実行する時、出力命令の次に一実行する命令
のための領域として切り換え後のバンクにおいて切り換
え前のバンクの出力命令の次のアドレスと相対的に同じ
位置を用意しておかなければならないという制約があつ
た。
第1図で説明すると、バンク1の出力命令2を実行する
こと5によりババンク2の命令3のための領域として命
令2の次のアドレス“0X3゛の命令と相対的に同じ位
置にあるバンク2のアドレス゜1X3゛を用意する必要
があることになる。もしこの領域が用意されてなければ
出力命令2を実行するといわゆる・命令の暴走が起り以
後の動作が保証されなくなる。また、前述の制約のため
命令のアドレス割付けが困難であつた。すなわち、アド
レス割付において全てのバンクのアドレス関係を知つて
おく必要があり、新しく出力命令を迫加する場合バンク
切り換え後のバンクでの命令領域を用意しなければなら
なかつた。この発明は、上述のような従来技術の欠点を
克服するためになされたものであり、従つてこの発明の
目的は、メモリバンクのバンク切換を自由におこなうこ
とができ、切り換えた後に実行すべき命令の領域を一々
気にしなくても、命令の暴走などが起る心配のない、極
めて好都合なメモリパン・ク制御方式を堤供することに
ある。
こと5によりババンク2の命令3のための領域として命
令2の次のアドレス“0X3゛の命令と相対的に同じ位
置にあるバンク2のアドレス゜1X3゛を用意する必要
があることになる。もしこの領域が用意されてなければ
出力命令2を実行するといわゆる・命令の暴走が起り以
後の動作が保証されなくなる。また、前述の制約のため
命令のアドレス割付けが困難であつた。すなわち、アド
レス割付において全てのバンクのアドレス関係を知つて
おく必要があり、新しく出力命令を迫加する場合バンク
切り換え後のバンクでの命令領域を用意しなければなら
なかつた。この発明は、上述のような従来技術の欠点を
克服するためになされたものであり、従つてこの発明の
目的は、メモリバンクのバンク切換を自由におこなうこ
とができ、切り換えた後に実行すべき命令の領域を一々
気にしなくても、命令の暴走などが起る心配のない、極
めて好都合なメモリパン・ク制御方式を堤供することに
ある。
この発明の構成の要点は、バンクアドレスを切り換える
出力命令が実行された時点でバンクを切り換えるという
従来の方式ではなく、予めバンクアドレス切換の意志表
示を設定しておき、それ以後初めて或る特定命令、例え
ばジャンプ命令などを実行した時点でバンク切換をおこ
なう方式とした点にある。
出力命令が実行された時点でバンクを切り換えるという
従来の方式ではなく、予めバンクアドレス切換の意志表
示を設定しておき、それ以後初めて或る特定命令、例え
ばジャンプ命令などを実行した時点でバンク切換をおこ
なう方式とした点にある。
次に図を参照してこの発明を詳しく説明する。
第2図は、この発明によるバンクメモリ制御方式におけ
る命令の流れ図を示し、第3図はこの発明の一実施例を
示すブロック図である。これらの図において、100は
プロセッサ、200はメモリ、300は状態保持ラッチ
、400はメモリバンク制御装置、を示す。先すこの発
明の一実施例の構成を第3図を参照して説明する。
る命令の流れ図を示し、第3図はこの発明の一実施例を
示すブロック図である。これらの図において、100は
プロセッサ、200はメモリ、300は状態保持ラッチ
、400はメモリバンク制御装置、を示す。先すこの発
明の一実施例の構成を第3図を参照して説明する。
第3図において、プロセッサ100からアドレス線(A
l5〜AO)がメモリ200に送られている。
l5〜AO)がメモリ200に送られている。
またプロセッサ100からデータ線(D7〜DO)がメ
モリ200とメモリバンク制御装置400とプロセッサ
の一定サイクルの状態を保持する状態保持ラッチ300
に接続されている。さらに命令の中の各処理サイクルの
先頭を示す同期信号(以下SYNCと呼ぶ)が状態保持
ラッチ300とメモリバンク制御装置400に印加され
、データ取り込みを表示するデータ入力信号(以下DB
INと呼ぶ)と命令処理をさらに分割するマシンサイク
ル毎に出る刻時信号(以下φ2と呼ぶ)がメモリバンク
制御装置400に印加されている。状態保持ラッチ30
0からは書込み信号WO、出力命令を示す、″0UT、
命令の第1回目の処理を示す信号M1、メモリリードを
示す信号■休恨がメモリバンク制御装置400に、書込
み信号WO、メモリリード信号MEMRがメモリ200
に印加される。メモリバンク制御装置400からバンク
アドレスを示す信号BANKlがメモリ200に送られ
、メモリ200からは応答信号READYがメモリバン
ク制御装置400に返送されている。第4図は、第3図
におけるメモリバンク制御装置400の具体的な論理回
路図である。
モリ200とメモリバンク制御装置400とプロセッサ
の一定サイクルの状態を保持する状態保持ラッチ300
に接続されている。さらに命令の中の各処理サイクルの
先頭を示す同期信号(以下SYNCと呼ぶ)が状態保持
ラッチ300とメモリバンク制御装置400に印加され
、データ取り込みを表示するデータ入力信号(以下DB
INと呼ぶ)と命令処理をさらに分割するマシンサイク
ル毎に出る刻時信号(以下φ2と呼ぶ)がメモリバンク
制御装置400に印加されている。状態保持ラッチ30
0からは書込み信号WO、出力命令を示す、″0UT、
命令の第1回目の処理を示す信号M1、メモリリードを
示す信号■休恨がメモリバンク制御装置400に、書込
み信号WO、メモリリード信号MEMRがメモリ200
に印加される。メモリバンク制御装置400からバンク
アドレスを示す信号BANKlがメモリ200に送られ
、メモリ200からは応答信号READYがメモリバン
ク制御装置400に返送されている。第4図は、第3図
におけるメモリバンク制御装置400の具体的な論理回
路図である。
第4図において、1乃至7はそれぞれインバータ、8乃
至21はそれぞれアンドゲート、22はデコーダ、23
はカウンタ、24乃至26はそれぞれフリップフロップ
、を示す。第4図の構成を説明すると、アンドゲート8
に、メモリリード信号MEMRと命令の第1回目の処理
信号M1と、それにインバータ1を介して書込み信号W
。
至21はそれぞれアンドゲート、22はデコーダ、23
はカウンタ、24乃至26はそれぞれフリップフロップ
、を示す。第4図の構成を説明すると、アンドゲート8
に、メモリリード信号MEMRと命令の第1回目の処理
信号M1と、それにインバータ1を介して書込み信号W
。
とが印加され、その出力がアンドゲート9に送られてい
る。アンドゲート9にはさらにデータ入力信号DBIN
と応答信号READYが接続され、この出力がデコーダ
22の許可入力端子ENに送られている。デコーダ22
にはデータ線(D7〜0)の8本が入つており、デコー
ダ22の出力Aがアンドゲート12に送られ、アンドゲ
ート12の他の入力側には刻時信号φ2がインバータ2
を介して入り、その出力がフリップフロップ24のセッ
トS入力端子に送られている。フリップフロップ24の
出力間はアンドゲート13とインバータ3を介してアン
ドゲート14に送られている。アンドゲート13には同
期信号SYNCが入つており、その出力がインバータ4
を介してカウンタ23のカウントアップ入力UP端子に
入力されている。同期信号SYNCがアンドゲート14
に接続され、その出力はカウンタ23のリセットRに入
力端子に入つている。カウンタ23の重みO出カー60
がアンドゲート10とインバータ5を介してアンドゲー
ト11に接続され、重み1出力′01がアンドゲー口0
と11に接続されている。アンドゲート10にはデータ
入力信号DBINが入力され、その出力がアンドゲート
15に送られている。アンドゲート11には同期信号S
YNCが入力され、その出力がアンドゲート16に送ら
れている。アンドゲート15と16に刻時信号φ2がイ
ンバータ2を介して接続されており、アンドゲート15
の出力がフリップフロップ24のR入力端子に入つてい
る。アンドゲート17に書込み信号W。と出力命令″0
UTが入り、その出力がアンドゲート18,19に送ら
れ、アンドゲート18でデータ線DOの1ビットとアン
ドをとつてフリップフロップ25のS入力端子に入り、
アンドゲート19でデータ線DOの1ビットがインバー
タ6を介してアンドをとり、フリップフロップ25のR
入力端子に入つている。フリップフロップ25の出力R
がアンドゲート20とインバータ7を介してアンドゲー
ト21に入り、アンドゲート20でアンドゲート16の
出力とアンドがとられ、フリップフロップ26のS入力
端子に入つている。さらにアンドゲート21でアンドゲ
ート16の出力とアンドがとられフリップフロップ26
のR入力端子に入つている。フリップフロップ26の出
力間がバンク信号BANK2として送られている。次に
この発明の動作について説明を行なう。
る。アンドゲート9にはさらにデータ入力信号DBIN
と応答信号READYが接続され、この出力がデコーダ
22の許可入力端子ENに送られている。デコーダ22
にはデータ線(D7〜0)の8本が入つており、デコー
ダ22の出力Aがアンドゲート12に送られ、アンドゲ
ート12の他の入力側には刻時信号φ2がインバータ2
を介して入り、その出力がフリップフロップ24のセッ
トS入力端子に送られている。フリップフロップ24の
出力間はアンドゲート13とインバータ3を介してアン
ドゲート14に送られている。アンドゲート13には同
期信号SYNCが入つており、その出力がインバータ4
を介してカウンタ23のカウントアップ入力UP端子に
入力されている。同期信号SYNCがアンドゲート14
に接続され、その出力はカウンタ23のリセットRに入
力端子に入つている。カウンタ23の重みO出カー60
がアンドゲート10とインバータ5を介してアンドゲー
ト11に接続され、重み1出力′01がアンドゲー口0
と11に接続されている。アンドゲート10にはデータ
入力信号DBINが入力され、その出力がアンドゲート
15に送られている。アンドゲート11には同期信号S
YNCが入力され、その出力がアンドゲート16に送ら
れている。アンドゲート15と16に刻時信号φ2がイ
ンバータ2を介して接続されており、アンドゲート15
の出力がフリップフロップ24のR入力端子に入つてい
る。アンドゲート17に書込み信号W。と出力命令″0
UTが入り、その出力がアンドゲート18,19に送ら
れ、アンドゲート18でデータ線DOの1ビットとアン
ドをとつてフリップフロップ25のS入力端子に入り、
アンドゲート19でデータ線DOの1ビットがインバー
タ6を介してアンドをとり、フリップフロップ25のR
入力端子に入つている。フリップフロップ25の出力R
がアンドゲート20とインバータ7を介してアンドゲー
ト21に入り、アンドゲート20でアンドゲート16の
出力とアンドがとられ、フリップフロップ26のS入力
端子に入つている。さらにアンドゲート21でアンドゲ
ート16の出力とアンドがとられフリップフロップ26
のR入力端子に入つている。フリップフロップ26の出
力間がバンク信号BANK2として送られている。次に
この発明の動作について説明を行なう。
先ず第3図において概略的な動作を説明すると、プロセ
ッサ100から命令の処理サイクルの最初に出る同期信
号SYNCによりデータ線D7〜DO上のデータが状態
保持ラッチ300にセットされると、この内容により書
込み信号W。、出力命令による出力信号6UT、最初の
処理サイクルを示す信号M1、メモリ読出しを示す信号
MEMRが第3図に示すようにメモリバンク制御装置4
00に送られ、書込み信号W。と読出し号MEMRがメ
モリ200に送られる。メモリバンク制御装置400は
状態保持ラッチ300から情報を受取り、命令の最初の
処理の第1サイクル(プロセッサ100がメモリ200
から命令を読出すサイクル)でメ・モリ200から応答
信号READYが返つたとき命令を解読し、それが目的
の命令(例えばジャンプ命令)であると動作を開始する
。命令の処理回数を計数し、それが一定の回数になると
次の命令の読出し時点が分るので(ジャンプ命令ならば
3処・理回数)命令の読出しのためにプロセッサ100
がメモリ200にアドレスAl5〜AOを送出した時点
でメモリバンク制御装置400にてバンクアドレスを現
バンクアドレスから切り換えるべきバンクアドレスに切
り換える。切り換えはメモリノバンク制御装置400か
らメモリ200へ信号BANK2を送ることによつて可
能であり、ジャンプ命令によつて切り返え後のバンク内
の領域へ自由に分岐することができる。従つて、バンク
を切り換えたいとき、出力命令′0UTにより切換アト
レスを設定しておけば、例えばジャンプ命令を検出した
時点で次の命令からバンクが切り換えられることになる
。次に第4図によりメモリバンク制御装置400の、動
作を詳しく説明する。プロセッサ100からの情報を状
態保持ラッチ300からもらい、命令処理の第1サイク
ルを示す信号M1とメモリ動作を示す信号■休恨及び書
込みを示す信号W。の否定信号(インバータ1で反転し
ている)と、プロセッサへのデータ取込み時期を示すデ
ータ入力信号DBINがあるとき、メモリからデータ確
定を示す応答信号READYがあつた時点がアンドゲー
ト8,9で示されると、アンドゲート6の出力が命令解
読デコーダ22の許可入力ENを゛1゛とするのでデコ
ーダ22はデータ線8本からデータD7〜0を取り込み
、例えばジャンプ命令を解読しその出力Aを゜1゛にす
る。デコーダ22の出力Aがアンドゲート12に送れる
と刻時信号φ2がOの時点(インバータ2で反転されて
いる)でアンドゲート12を通してフリップフロップ2
4を“1゛にセットするので、命令の、各処理サイクル
を示す同期信号SYNCが出たときアンドゲート13の
アンドがとれ、インバータ4を通してカウンタ23をカ
ウントアップすることになる。ただし、インバータ4で
反転しているので同記信号SYNCが1から0になる遷
移時点でカウントされる。従つて、フリップフロップ2
4が“1゛の間、同期信号SYNCが出るたびにカウン
タ23がカウントアップされ、その出力i1が“1゛で
間0が゜0゛のときアンドゲート11のアンドがとれる
(出力″00はインバータ5で反一転されている)ので
刻時信号φ2の“0゛のときアンドゲート16でアンド
がとれるとアンドゲート20,21に送られる。アンド
ゲート20,21はフリップフロップ25の出力Oの値
によつてどちらかがアンドがとれるようになつている。
フ3リップフロップ25の出力状態は切り換えたいバン
クアドレスを示している。従つてバンクアドレスが゛1
゛ (フリップフロップ25の出力間が゜rの場合)な
らばアンドゲート20のアンドがとれフリップフロップ
26を1にセットし、パンtクアドレスが603(フリ
ップフロップ25の出力谷が、 “O゛の場合)ならば
アンドゲート21のアンドがとれる(インバータ7によ
つてフリップフロップ25の出力間が反転されている)
のででフリップフロップ26を60′に、セットするこ
とになる。フリップフロップ26は現バンクアドレスを
示しており、その出力Oがバンク2(rのときバンク2
を示し“0゛のときバンク1を示す)によりメモリを選
択している。このようにしてジャンプ命令等を解読し、
同期信号SYNCの回数を数えた後現バンクアドレスを
前もつて設定されたバンクアドレスに切換えることがで
きる。他方、同記信号SYNCさらに1回カウントし)
カウンタ23の出力間0も1になつたとき次の命令読出
し後の命令取り込みを示すデータ入力信号DBINが出
るとアンドゲート10でアンドがとれ、刻時信号φ2の
゜0゛のときアンドゲート15でアンドがとれるので、
フリップフロップ24・が“0゛にセットされ、初期状
態にもどることになる。するとインバータ3により同期
信号SYNCが出た時点でアンドゲート14でのアンド
がとれカウンタ23をカウントしない状態にしてしまう
ので、その出力′01,″00はOにもどり、次にジャ
ンプ命令等が解読されるまでカウントを停止する。また
、ある時期にバンク切り換えの出力命令が出ると、その
処理において出力命令を示す信号()UTが出るので書
込みを示す信号W。が゜1゛になつた時点でアンドゲー
ト17でアンドがとれる。アンドゲート17の出力はア
ンドゲート18,19に送られており、データ線の1ビ
ットが1であればアンドゲート18のアンドがとれフリ
ップフロップ25を6rにセットし、データ線が0であ
ればインバータ6によりアンドゲート19のアンドがと
れるのでフリップフロップ25を0にセットすることに
なる。すなわち、バンクアドレスを切り換えたいときは
、出力命令信号b訂によつてデータ線の1ビットである
バンクアドレスビットを設定し、フリップフロップ25
の出力状態を予め反転させておくことが必要である。こ
の意味で、点線で囲まれた回路部分Sは、バンクアドレ
スの切換を前もつて設定する機能をもつた設定回路と云
うことができる。このように設定がなされた以後、例え
ばジャンプ命令がデコーダ22において解読されると、
先に述べたところに従い、その次の命令の読出し時点で
アンドゲート16より出力が出て、先に設定されていた
フリップフロップ25の状態出力と相まつてフリップフ
ロップ26を反転させ、その状態出力信号によつてバン
クアドレスの切換を実行する。以上述べた如き構成であ
るからこの発明にあつては、次の如き効果を得ることが
できる。
ッサ100から命令の処理サイクルの最初に出る同期信
号SYNCによりデータ線D7〜DO上のデータが状態
保持ラッチ300にセットされると、この内容により書
込み信号W。、出力命令による出力信号6UT、最初の
処理サイクルを示す信号M1、メモリ読出しを示す信号
MEMRが第3図に示すようにメモリバンク制御装置4
00に送られ、書込み信号W。と読出し号MEMRがメ
モリ200に送られる。メモリバンク制御装置400は
状態保持ラッチ300から情報を受取り、命令の最初の
処理の第1サイクル(プロセッサ100がメモリ200
から命令を読出すサイクル)でメ・モリ200から応答
信号READYが返つたとき命令を解読し、それが目的
の命令(例えばジャンプ命令)であると動作を開始する
。命令の処理回数を計数し、それが一定の回数になると
次の命令の読出し時点が分るので(ジャンプ命令ならば
3処・理回数)命令の読出しのためにプロセッサ100
がメモリ200にアドレスAl5〜AOを送出した時点
でメモリバンク制御装置400にてバンクアドレスを現
バンクアドレスから切り換えるべきバンクアドレスに切
り換える。切り換えはメモリノバンク制御装置400か
らメモリ200へ信号BANK2を送ることによつて可
能であり、ジャンプ命令によつて切り返え後のバンク内
の領域へ自由に分岐することができる。従つて、バンク
を切り換えたいとき、出力命令′0UTにより切換アト
レスを設定しておけば、例えばジャンプ命令を検出した
時点で次の命令からバンクが切り換えられることになる
。次に第4図によりメモリバンク制御装置400の、動
作を詳しく説明する。プロセッサ100からの情報を状
態保持ラッチ300からもらい、命令処理の第1サイク
ルを示す信号M1とメモリ動作を示す信号■休恨及び書
込みを示す信号W。の否定信号(インバータ1で反転し
ている)と、プロセッサへのデータ取込み時期を示すデ
ータ入力信号DBINがあるとき、メモリからデータ確
定を示す応答信号READYがあつた時点がアンドゲー
ト8,9で示されると、アンドゲート6の出力が命令解
読デコーダ22の許可入力ENを゛1゛とするのでデコ
ーダ22はデータ線8本からデータD7〜0を取り込み
、例えばジャンプ命令を解読しその出力Aを゜1゛にす
る。デコーダ22の出力Aがアンドゲート12に送れる
と刻時信号φ2がOの時点(インバータ2で反転されて
いる)でアンドゲート12を通してフリップフロップ2
4を“1゛にセットするので、命令の、各処理サイクル
を示す同期信号SYNCが出たときアンドゲート13の
アンドがとれ、インバータ4を通してカウンタ23をカ
ウントアップすることになる。ただし、インバータ4で
反転しているので同記信号SYNCが1から0になる遷
移時点でカウントされる。従つて、フリップフロップ2
4が“1゛の間、同期信号SYNCが出るたびにカウン
タ23がカウントアップされ、その出力i1が“1゛で
間0が゜0゛のときアンドゲート11のアンドがとれる
(出力″00はインバータ5で反一転されている)ので
刻時信号φ2の“0゛のときアンドゲート16でアンド
がとれるとアンドゲート20,21に送られる。アンド
ゲート20,21はフリップフロップ25の出力Oの値
によつてどちらかがアンドがとれるようになつている。
フ3リップフロップ25の出力状態は切り換えたいバン
クアドレスを示している。従つてバンクアドレスが゛1
゛ (フリップフロップ25の出力間が゜rの場合)な
らばアンドゲート20のアンドがとれフリップフロップ
26を1にセットし、パンtクアドレスが603(フリ
ップフロップ25の出力谷が、 “O゛の場合)ならば
アンドゲート21のアンドがとれる(インバータ7によ
つてフリップフロップ25の出力間が反転されている)
のででフリップフロップ26を60′に、セットするこ
とになる。フリップフロップ26は現バンクアドレスを
示しており、その出力Oがバンク2(rのときバンク2
を示し“0゛のときバンク1を示す)によりメモリを選
択している。このようにしてジャンプ命令等を解読し、
同期信号SYNCの回数を数えた後現バンクアドレスを
前もつて設定されたバンクアドレスに切換えることがで
きる。他方、同記信号SYNCさらに1回カウントし)
カウンタ23の出力間0も1になつたとき次の命令読出
し後の命令取り込みを示すデータ入力信号DBINが出
るとアンドゲート10でアンドがとれ、刻時信号φ2の
゜0゛のときアンドゲート15でアンドがとれるので、
フリップフロップ24・が“0゛にセットされ、初期状
態にもどることになる。するとインバータ3により同期
信号SYNCが出た時点でアンドゲート14でのアンド
がとれカウンタ23をカウントしない状態にしてしまう
ので、その出力′01,″00はOにもどり、次にジャ
ンプ命令等が解読されるまでカウントを停止する。また
、ある時期にバンク切り換えの出力命令が出ると、その
処理において出力命令を示す信号()UTが出るので書
込みを示す信号W。が゜1゛になつた時点でアンドゲー
ト17でアンドがとれる。アンドゲート17の出力はア
ンドゲート18,19に送られており、データ線の1ビ
ットが1であればアンドゲート18のアンドがとれフリ
ップフロップ25を6rにセットし、データ線が0であ
ればインバータ6によりアンドゲート19のアンドがと
れるのでフリップフロップ25を0にセットすることに
なる。すなわち、バンクアドレスを切り換えたいときは
、出力命令信号b訂によつてデータ線の1ビットである
バンクアドレスビットを設定し、フリップフロップ25
の出力状態を予め反転させておくことが必要である。こ
の意味で、点線で囲まれた回路部分Sは、バンクアドレ
スの切換を前もつて設定する機能をもつた設定回路と云
うことができる。このように設定がなされた以後、例え
ばジャンプ命令がデコーダ22において解読されると、
先に述べたところに従い、その次の命令の読出し時点で
アンドゲート16より出力が出て、先に設定されていた
フリップフロップ25の状態出力と相まつてフリップフ
ロップ26を反転させ、その状態出力信号によつてバン
クアドレスの切換を実行する。以上述べた如き構成であ
るからこの発明にあつては、次の如き効果を得ることが
できる。
(1)バンク切換の出力命令を出した次の命令からバン
クを切り換えるのではなく、バンク切換の出力命令を出
して以後、初めてのあらかじめ決めておいた命令(例え
(、fジャンプ)があつたその次の命令の段階からしく
ンクを切り換えるのに、バンク間の命令の接続が簡単に
できるようになつた。
クを切り換えるのではなく、バンク切換の出力命令を出
して以後、初めてのあらかじめ決めておいた命令(例え
(、fジャンプ)があつたその次の命令の段階からしく
ンクを切り換えるのに、バンク間の命令の接続が簡単に
できるようになつた。
(2)あらかじめ決めておいたバンク切換時期を示す命
令にジャンプ命令等の分岐命令を使えるので、切り換え
後のバンクの任意の番地へ分岐でき、固定分岐であつた
従来技術に比べ、命令の接続に一ー気をつかわなくても
、命令の暴走を防ぐことができるようになつた。
令にジャンプ命令等の分岐命令を使えるので、切り換え
後のバンクの任意の番地へ分岐でき、固定分岐であつた
従来技術に比べ、命令の接続に一ー気をつかわなくても
、命令の暴走を防ぐことができるようになつた。
この発明の効果を第2図で説明すると、従来技術の第1
図においての命令接続が固定的であつたのに比べ、第2
図ではバンク1の命令1(アドレス0X1)でバンンク
アドレスをバンク2に切り換えるべき設定しておき、命
令2の解読時ジャンプ命令を解読するようにしておけば
、切り換え後のバンクでの次の命令のアドレスが命令2
のアドレス“0X2゛に対し相対的に+1した゜1X3
゛ではなく命令3のようなアドレス1Y2゛にすること
できるようになる(この場合、ジャンプアドレスぱY2
゛に設定しておくのは勿論である)。
図においての命令接続が固定的であつたのに比べ、第2
図ではバンク1の命令1(アドレス0X1)でバンンク
アドレスをバンク2に切り換えるべき設定しておき、命
令2の解読時ジャンプ命令を解読するようにしておけば
、切り換え後のバンクでの次の命令のアドレスが命令2
のアドレス“0X2゛に対し相対的に+1した゜1X3
゛ではなく命令3のようなアドレス1Y2゛にすること
できるようになる(この場合、ジャンプアドレスぱY2
゛に設定しておくのは勿論である)。
従つて、従来技術の、如き中継して命令を接続するので
はなく、直接に命令を接続(ルートR1)できるという
効果がある。
はなく、直接に命令を接続(ルートR1)できるという
効果がある。
第1図は、従来のバンクメモリ制御方式における命令の
流れ図を示す。 第2図は、この発明によるバンクメモリ制御方式におけ
る命令の流れ図を示し、第3図はこの発明の一実施例を
示すブロック図であり、第4図はメモリバンク制御装置
の具体的な論理回路図を示す。図において、100はプ
ロセッサ、200はメモリ、300は状態保持ラッチ、
400はメモリバンク制御装置、l乃至7はそれぞれイ
ンバータ、8乃至21はそれぞれアンドゲート、22は
フデコーダ、23はカウンタ、24乃至26はそれぞれ
フリップフロップ、を示す。
流れ図を示す。 第2図は、この発明によるバンクメモリ制御方式におけ
る命令の流れ図を示し、第3図はこの発明の一実施例を
示すブロック図であり、第4図はメモリバンク制御装置
の具体的な論理回路図を示す。図において、100はプ
ロセッサ、200はメモリ、300は状態保持ラッチ、
400はメモリバンク制御装置、l乃至7はそれぞれイ
ンバータ、8乃至21はそれぞれアンドゲート、22は
フデコーダ、23はカウンタ、24乃至26はそれぞれ
フリップフロップ、を示す。
Claims (1)
- 1 プロセッサと、該プロセッサのもつアドレス選択用
ビットおよびバンクアドレスビットによりアドレス操作
されるバンク構成のメモリと、前記プロセッサかららの
命令により前記メモリのバンク切換を制御するメモリバ
ンク制御装置とから成り、該メモリバンク制御装置は、
現に使用中のメモリバンクから次に切り換えて使用すべ
きメモリバンクのバンク切換を、プロセッサからのバン
ク切換用命令により前もつて設定する手段を有し、その
設定後、プロセッサからの命令中に、該バンク切換用命
令とアドレスが連続することを要せずして配置されたジ
ャンプ命令が初めて検出されると、該ジャンプ命令を実
行し、その実行終了直後の時点でバンク切換を実行する
ようにしたことを特徴とするメモリバンク制御方式。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP14165077A JPS6045459B2 (ja) | 1977-11-28 | 1977-11-28 | メモリバンク制御方式 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP14165077A JPS6045459B2 (ja) | 1977-11-28 | 1977-11-28 | メモリバンク制御方式 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPS5474631A JPS5474631A (en) | 1979-06-14 |
JPS6045459B2 true JPS6045459B2 (ja) | 1985-10-09 |
Family
ID=15296973
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP14165077A Expired JPS6045459B2 (ja) | 1977-11-28 | 1977-11-28 | メモリバンク制御方式 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPS6045459B2 (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5757354A (en) * | 1980-09-24 | 1982-04-06 | Sharp Corp | Cut-off controller for internal memory |
JPS58123142A (ja) * | 1982-01-19 | 1983-07-22 | Nec Corp | 情報処理装置 |
-
1977
- 1977-11-28 JP JP14165077A patent/JPS6045459B2/ja not_active Expired
Also Published As
Publication number | Publication date |
---|---|
JPS5474631A (en) | 1979-06-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPS5914840B2 (ja) | 半導体メモリ試験用パタ−ン発生装置 | |
JPH03139726A (ja) | 命令読出し制御方式 | |
JPH0394303A (ja) | タイミング発生装置 | |
JPS6045459B2 (ja) | メモリバンク制御方式 | |
JPS607529A (ja) | バツフアメモリ装置 | |
JP2847863B2 (ja) | マイクロプロセッサ割込み制御方式 | |
JPS581247A (ja) | 命令先取り制御方法 | |
JPH0370816B2 (ja) | ||
JPS6391756A (ja) | 記憶装置の部分書き込み命令処理方式 | |
JPS60107152A (ja) | メモリ制御装置 | |
JPH0241694Y2 (ja) | ||
JPS598058A (ja) | マイクロプロセツサ | |
JPH0136198B2 (ja) | ||
JPS629926B2 (ja) | ||
JPS6145359A (ja) | 情報処理装置 | |
JPS5882342A (ja) | マイクロプログラム制御装置 | |
JPH0683986A (ja) | シングルチップ・マイクロコンピュータ | |
JPS63263537A (ja) | 情報処理装置 | |
JPS6218933B2 (ja) | ||
JPH0365727A (ja) | マイクロプログラム格納方式 | |
JPS59188757A (ja) | アドレス記憶制御装置 | |
JPH02202659A (ja) | コマンドレジスタ回路 | |
JPH0743689B2 (ja) | メモリアクセスシステム | |
JPH01283635A (ja) | バッファ制御回路 | |
JPH02141851A (ja) | レジスタ読出し回路 |