JPH0293842A - プログラムメモリバンク切替方式 - Google Patents

プログラムメモリバンク切替方式

Info

Publication number
JPH0293842A
JPH0293842A JP63245913A JP24591388A JPH0293842A JP H0293842 A JPH0293842 A JP H0293842A JP 63245913 A JP63245913 A JP 63245913A JP 24591388 A JP24591388 A JP 24591388A JP H0293842 A JPH0293842 A JP H0293842A
Authority
JP
Japan
Prior art keywords
bank
memory
address
program
memory bank
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
JP63245913A
Other languages
English (en)
Inventor
Hiroshi Asada
浅田 弘
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.)
Toshiba Corp
Original Assignee
Toshiba Corp
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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP63245913A priority Critical patent/JPH0293842A/ja
Publication of JPH0293842A publication Critical patent/JPH0293842A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Memory System (AREA)
  • Executing Machine-Instructions (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 [発明の目的] (産業上の利用分野) 本発明は成る種のマイクロプロセッサにおけるメモリバ
ンクの直接分岐を実現するプログラムメモリバンク切替
方式に関する。
(従来の技術) 例えばZ80系のマイクロプロセッサにあっては、メモ
リバンクのI/Oポートに対して設定されるバンクアド
レスにより、上記メモリバンクに対するアクセスアドレ
スの切替が行われるようになっている。具体的には第7
図に示すように1/Oポートから設定入力されるアドレ
スデータをラッチ回路(セグメントラッチ)1にてラッ
チし、そのラッチデータを直接的にメモリバンクに対す
る上位アドレス(メモリバンクの選択アドレス)として
用いるものとなっている。
ところでこの種のマイクロプロセッサでは、第8図に示
すようなメモリマツプ構成で、そのアドレス領域を共通
メモリ部とバンクメモリ部とに分け、アドレス領域を同
じくする複数のバンクメモリ部にそれぞれプログラムコ
ードを格納している。
このようなメモリマツプ構成で、別のバンクメモリのプ
ログラムへその制御を移行する場合に、旦、共通メモリ
部にプログラム制御を移し、この共通メモリ部にてメモ
リバンクの切替が行なわれている。ちなみに成るメモリ
バンクのプログラム実行中に直接的に別のメモリバンク
のプログラムへ移行すると(メモリバンクの直接分岐)
、そのプログラム管理が乱されて実行プログラムの暴走
が生じると云う不具合が生じる。
このように従来のマイクロプロセッサにあっては、メモ
リバンク間でプログラムの制御移行を行なう場合には、
その都度、そのプログラム制御を共通メモリ部に移し換
える必要があった。この為、共通メモリ部にメモリバン
ク間制御移行用のプログラムを常駐させる必要があり、
限られたメモリ容量を不本意に使用しなければならない
と云う不具合があった。しかもメモリバンク間でのプロ
グラム移行の手続きがその都度、共通メモリ部を介して
行われるのでその制御手続きが非常に面倒であり、また
メモリバンク間での制御移行が頻繁に行われるとシステ
ムのスループットが大幅に低下すると云う不具合が生じ
た。
(発明が解決しようとする課題) このように従来のマイクロプロセッサにあっては、I/
Oポートに書込まれたアドレスデ〜りをバンクメモリ部
に対する上位アドレス(バンクアドレス)としてそのま
ま用いているので、メモリバンク間でのプログラム制御
の移行を行なう場合には、−旦そのプロゲラ制御を共通
メモリ部に移す必要があった。この為、そのプログラム
制御移行の手続きが面倒で繁雑であり、また共通メモリ
部へのプログラム制御の移行手続きによってシステムの
スルーブツトが低下すると云う問題があった。
本発明はこのような事情を考慮してなされたもので、そ
の目的とするところは、メモリバンク間でのプログラム
制御の移行を直接的に行なうことを可能とし、上述した
不具合を解消することのできるプログラムメモリバンク
切替方式を提供することにある。
[発明の構成] (問題点を解決するための手段) 本発明に係るプログラムメモリバンク切替方式は、例え
ばZ80系のマイクロプロセッサにおいて、メモリバン
クのアドレスI/Oポートに対して設定される移行先の
バンクアドレスを一時記憶し、その後のプログラムの実
行中に無条件ジャンプ命令が最初に出現したとき、その
次のオペレーションコードのフェッチサイクルの開始段
階で上記一時記憶された移行先のバンクアドレスにて実
際にメモリに供給されるアト°レスを更新するようにし
たことを特徴とするもので、これによってメモリバンク
間でのプログラム制御の直接分岐を実現したものである
(作用) 本発明によれば、メモリバンクのアドレスI/Oポート
に対して移行先のバンクアドレスが設定されたとき、こ
の移行先のバンクアドレスを用いて実際にメモリバンク
に供給されるバンクアドレスを直接更新することなく、
これを一時記憶する。そしてその後のプログラム実行中
に無条件ジャンプ命令が出現したとき、上記一時記憶し
た移行先のバンクアドレスを前記メモリバンクに対して
実際にアドレスを供給するラッチ部に供給し、上記無条
件ジャンプ命令の後にくるオペレーションコードのフェ
ッチサイクルの開始段階で上記一時記憶された移行先の
バンクアドレスをラッチし、この時点でメモリバンクに
対して供給されるアドレスの更新が行われる。
この結果、メモリバンク間でのプログラム制御ノ移行が
、その移行先のバンクアドレスが設定された後の無条件
ジャンプ命令の出現により直接制御されることになるの
で、そのプログラム制御を共通メモリ部に一旦戻すこと
なく、メモリバンク間で直接的に移行(分岐)させるこ
とが可能となる。換言すれば共通メモリ部にバンク間制
御移行用のプログラムを準備することなく、無条件ジャ
ンプ命令が出現するタイミングでメモリバンク間での制
御移行を行なうことが可能となる。
(実施例) 以下、図面を参照して本発明の一実施例に係るプログラ
ムメモリバンク切替方式につき説明する。
第1図は実施例方式を実現する制御機能のブロック構成
図であり、第2図は制御対象とするメモリバンクのマツ
プ構造を示す図である。
先ず、メモリバンクのマツプ構造について簡単に説明す
ると、ここではプロセッサが制御対象とするメモリアド
レス空間[0000]  〜[目’FFI、、の上位ア
ドレス空間[0000]  〜[7pppl、、を共通
メモリ部とし、[0000]  〜0PPF]、、をI
PL等を格納す1す る8にバイトのROM領域、[20Of]コI(〜r7
FPPコ11を共通サブルーチンやオペレーションシス
テム(O8)等を格納した24にバイトのRAM領域と
している。
またメモリアドレス空間[0000] 、、〜[PFP
P]Hにおける下位アドレス空間[8000111〜[
FPPP]、、をバンクメモリ部とし、例えば[80口
0]11〜[BPPP]、をアプリケーションソフト等
を格納する為の16K(X 16)バイトのRAM領域
、また[C00O] 、、 〜[Pl’l’F]、、を
16K(XlG)バイトのRAM領域からなるデータエ
リアとしている。
尚、このようなバンクメモリ部は、例えば上記メモリア
ドレスの上位アドレス値として付加されるバンクアドレ
スを [0]  〜 [F]、、として複数のI メモリバンクとして準備され、バンクアドレスの指定に
より選択的に使用される。そしてこれらの各メモリバン
クは、例えばcgoooコ 〜[13FFF]、、を1
MバイトのRAM領域からなるプログラムコードエリア
、また[C000]11〜[FI’PF’l、、を1M
バイトのRAM領域からなるデータエリアとして、それ
ぞれ用いられるものとなっている。
マイクロプロセッサはこのようなマツプ構成のメモリ領
域に対し、上記バンクアドレスを指定しながらバンクメ
モリを選択し、そこに格納されているプログラムを実行
する。そして必要に応じてバンクメモリの切替を行なう
ことになる。
ここで上記バンクメモリを9j換える為の制御機能部は
、第1図にその概略構成を示すようにI/Oポートから
設定人力されるバンクアドレスを一時記憶するセグメン
ト用のラッチ回路11、」二紀1/Oポートから検出さ
れる無条件ジャンプ命令(JP;OPコード[C3]n
 )を検出する命令デコード回路12、およびセグメン
ト切換えタイミングffi制御回路13やこのセグメン
ト切換えタイミング制御回路13の制御を受けて上記ラ
ッチ回路11に一時記憶されたバンクアドレスをメモリ
バンクに対して実際に出力する為の分岐コマンド時用お
よび上位アドレス出力用の2段のラッチ回路14.15
等によって構成される。
第3図はこの回路機能部の具体的構成例を示すもので、
[7411C273]からなる直列接続された3段のラ
ッチ回路は上述したラッチ回路11.および分岐コマン
ド時用および上位アドレス出力用のラッチ回路14.1
5のそれぞれに対応する。これらの3段のラッチ回路1
1.14.15により、前記I/Oポートから設定人力
されたバンクアドレスが後述するタイミングでバンクメ
モリに対して出力される。
また前述した命令デコード回路12は、例えば[741
1C574]と[7411C573]とからなる2段の
デコーダ12a、12b 、  および[7411C1
1]、  [7411C32コからなるゲート12c、
12dと、[7411C13B]からなるデコーダ・デ
マルチプレクサ12eによって構成される。このように
構成された命令デコード回路12により前述した無条件
ジャンプ命令の出現が検出される。
またセグメント切換えタイミング制御回路13は、上記
命令デコード回路12の出力を受けて起動されるもので
、例えば第3図に示すように[7411C74]からな
る2つのフリップフロップ回路13a、13bと、[7
411C08]、 [74,11C32]からなるゲー
h13ei3dによって構成される。このセグメント切
換えタイミング制御回路13は、[7411CO81か
らなるゲート回路1Gを介して入力される前記命令デコ
ード回路12の出力、およびI/Oセグメントラッチ信
号を受けて動作制御さる。
このように構成された制御機能部の動作について第4図
に示すタイミング巣を参照して説明すると、先ずI/O
ポートを介してバンクアドレスを設定入力すると、その
情報はDo−D7からなるデータバスを介してセグメン
ト用のラッチ回路11に入力され、I/Oセグメント・
セット信号(1/。
SEG 5ET)を受けてラッチされる。この結果、上
記バンクアドレスがラッチ回路IIに一時記憶され、そ
の出力eに移行先のバンクアドレスが得られる。
そしてこのとき、上記(Ilo SEC5ET)により
セグメント切換えタイミング制御回路13のフリップフ
ロッゾ13aがセットされ、そのQ出力が”L’にセッ
トされる。
このようにしてバンクアドレスの設定入力と、ラッチ回
路11によるその一時記憶(ラッチ)が行われた後、プ
ログラムの実行に伴って無条件ジャンプ命令がマシンサ
イクルでフェッチされると、Ml信号が“H“となった
後のRFSH信号が“L″となった期間、つまりバンク
アドレスの設定後に最初に無条件バンク命令が出現した
とき、そのときに前記データバスを介して与えられてい
るOPコード(上記無条件ジャンプ命令)が命令デコー
ド回路12により検出される。そして上記RFSH信号
が“Loとなっている期間に亙って無条件ジャンプ命令
検出信号Cが出力される。
しかしてこの無条件ジャンプ命令検出信号Cはゲート回
路1Gを介してセグメント切換えタイミング制御回路1
3のゲート回路13dに印加され、前記フリップフロッ
プ回路13aのQ出力とゲーティングされる。この結果
、セグメント切換えタイミング制御回路13から前記分
岐コマンド時用のラッチ回路14に対して前記無条件ジ
ャンプ命令検出信号Cと同じタイミングでクロックが出
力され、前記ラッチ回路11に一時記憶されていたバン
クアドレスが2段目のラッチ回路14にラッチされる。
従ってこのタイミングでラッチ回路14の出力fが移行
先のバンクアドレスに更新されることになる。
一方、前記セグメント切換えタイミング制御回路13の
前記フリップフロップ回路13aは、上記ラッチ回路1
4に印加するクロックによりセットされるフリップフロ
ップ回路tabの出力dを受けてリセットされる。そし
てこのフリップフロップ回路13aのリセットにより、
上記フリップフロップ回路13bもまたリセットされる
しかしてこのような状態で次のOPコードのフェッチサ
イクルが始まると、前記M1信号の立下りにより、前述
した上位アドレス出力用のラッチ回路I5にクロックが
印加され、前記2段1]のラッチ回路14に保持されて
いたバンクアドレスがラッチ回路15にラッチされる。
この結果、このラッチ回路15にラッチされたバンクア
ドレスがメモリに対して実際に出力される移行先のバン
クアドレスgとして更新され、これによりバンクメモリ
の切替が行われることになる。
このように本方式によれば、プログラム制御の実行中に
バンクアドレスを書替えたとき、この移行先のバンクア
ドレスによってそのままメモリバンクを切換えることな
く、−旦上記バンクアドレスを一時記憶したのち、無条
件ジャンプ命令が出現した時点でメモリバンクの切替手
続きを実行するものとなっている。プログラムの実行動
作中に1/Oボートからバンクアドレスを入力し、移行
先のメモリバンクを指定した場合であっても、その実行
プログラムを中断してメモリバンク切替が行われること
がなく、無条件ジャンプ命令が出現した時点でのみその
メモリバンク切替が行われることになる。この結果、プ
ログラム暴走等の障害を招くことなくメモリバンクの直
接切替を実現することが可能となる。
またこのような制御方式によれば、従来〜のようにメモ
リバンクの切替の都度、そのプログラム制御を共通メモ
リ部に戻す必要がないので、その移行手続きが非常に簡
単であり、また共通メモリ部にメモリバンク切替の為の
プログラムを常駐させておく必要がなくなる。この結果
、限られたメモリ容量の共有メモリ部を有効に活用する
ことが可能となり、また−々共有メモリ部にプログラム
制御を戻してメモリバンクの切替を行なう必要がない分
だけ、システムにおけるスルーブツトを向上させること
が可能となる。
第5図は上述した制御方式の下でメモリバンク切替を実
行するプログラム例を示している。ここに示す4つのプ
ログラムは、メモリバンク[0] 、〜[3]にそれぞ
れ格納されるものであり、具体的には第6図(a)〜(
d)にそれぞれ示すプログラムリストのように各メモリ
バンクの[8000]Hがら格納されるプログラムとし
て与えられる。
このようなプログラム例によれば、メモリバンク[0]
に格納された第6図(a)に示すプログラムの実行によ
って1番目のLEDの点灯が行われた後、メモリバンク
I/Oボートへのバンクアドレス[01]の設定と、そ
の次の無条件ジャンプ命令によってメモリバンク[1コ
への切替が行われる。そしてメモリバンク[1]に格納
された第6図(b)に示すプログラムの実行によって2
番目のLEDの点灯が行われた後、メモリバンクI/O
ポートへのバンクアドレス[02]の設定と、その次の
無条件ジャンプ命令によってメモリバンク[2]への切
替が行われる。このようなメモリバンクの切替と、その
プログラムの実行がメモリバンク[0]、〜[3]の切
替、および第6図(a)〜(d)に示す各プログラムの
処理により巡回的に繰返し行われる。つまりメモリバン
ク間でプログラムの直接移行制御が行われてそのプログ
ラムが実行されることになる。
このように本方式によれば、共有メモリ部を介すること
なしにメモリバンク間でのプログラムの直接移行制御を
行なうことが可能なので、複数のメモリバンクを使用し
た犬山りなプログラムを作成することが非常に容易とな
る。しかも共通メモリ部にメモリバンク分岐用のプログ
ラムを準備する必要がないので、共通メモリ部のメモリ
領域の節約を図ることができ、更にはシステムのスルプ
ツトの大幅な向」二を図り、処理速度の向上を図り得る
等の実用上多大なる効果が奏せられる。
尚、本発明は上述した実施例に限定されるものではない
。例えばメモリバンクの数は、システム仕様に応じて定
めればよいものであり、どのメモリバンクへ切換えるか
もそのプログラム仕様に応じて定めれば良いものである
。その為、本発明はその要旨を逸脱しない範囲で種々変
形して実施することができる。
[発明の効果] 以上説明したように本発明によれば、例えばZ80系の
マイクロプロセッサにおいて、メモリバンクの直接切替
を実現することができ、共通メモリ部にバンク切替用の
プログラムを準備することを不要としてメモリエリアの
節約を図り、またそのスループットを向上させて処理ス
ピードを高めることができる等の実用上多大なる効果が
奏せられる。
【図面の簡単な説明】
第1図は本発明の一実施例に係るプログラムメモリバン
ク切替方式を実現する機能ブロック図、第2図は制御対
象とするメモリバンクのマツプ構成を示す図、第3図は
第1図に示す機能ブロックの具体的な構成例を示す図、
第4図はメモリバンク切替の動作タイミングを示す図、
第5図は実施例方式を適用したプログラムの例を示す図
、第6図は第5図に示すプログラムの具体的なプログラ
ムリストを示す図、第7図および第8図は従来のメモリ
バンク切替を説明する為の図である。 11、14.15・・・ラッチ回路、12・・・命令デ
コーダ回路(無条件ジャンプ命令検出)、13・・・セ
グメント切替タイミング制御回路。 出願人代理人  弁理士 鈴圧式彦 雷 4 図 第 図 第 図 τ 図

Claims (1)

    【特許請求の範囲】
  1. メモリバンクのアドレスI/Oポートに対して設定され
    る移行先のバンクアドレスを一時記憶した後、最初に出
    現する無条件ジャンプ命令により上記一時記憶された移
    行先のバンクアドレスにて実際にメモリに供給されるア
    ドレスを更新することで、メモリバンク間でのプログラ
    ムの直接分岐を行なうようにしたことを特徴とするプロ
    グラムメモリバンク切替方式。
JP63245913A 1988-09-30 1988-09-30 プログラムメモリバンク切替方式 Pending JPH0293842A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP63245913A JPH0293842A (ja) 1988-09-30 1988-09-30 プログラムメモリバンク切替方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP63245913A JPH0293842A (ja) 1988-09-30 1988-09-30 プログラムメモリバンク切替方式

Publications (1)

Publication Number Publication Date
JPH0293842A true JPH0293842A (ja) 1990-04-04

Family

ID=17140697

Family Applications (1)

Application Number Title Priority Date Filing Date
JP63245913A Pending JPH0293842A (ja) 1988-09-30 1988-09-30 プログラムメモリバンク切替方式

Country Status (1)

Country Link
JP (1) JPH0293842A (ja)

Similar Documents

Publication Publication Date Title
KR910017256A (ko) 프로그램 가능한 제어기
JPH0772864B2 (ja) ディジタル信号プロセッサ
JPH0293842A (ja) プログラムメモリバンク切替方式
JP2002152020A (ja) パルス信号生成装置
JPH0512751B2 (ja)
JPH0612253A (ja) マイクロコンピュータ
JP2721610B2 (ja) プログラマブルコントローラ
JP3100705B2 (ja) マイクロプロセッサ内の命令準備のための装置
JPS6398735A (ja) マイクロ制御装置
JPS61161509A (ja) 高速シ−ケンス演算方式及びその装置
JPS59105148A (ja) マイクロプログラム制御方式の中央処理装置
JPS62194545A (ja) デ−タフロ−型計算機のプログラム書換装置
JPS61213928A (ja) プログラム変更方式
JPH05189015A (ja) プログラマブルコントローラ
JPS62248043A (ja) マイクロコンピユ−タ・インストラクシヨン・フエツチ用メモリ切換回路
JPS62224817A (ja) デ−タ処理装置
JPH0243626A (ja) コンピュータ・プロセッサの実行速度を制御する装置
JPH0287254A (ja) 外部メモリアクセスシステム
JP2001067335A (ja) マイクロコンピュータ
JPH0311423A (ja) ストリングデータ処理機構
JPS6033632A (ja) マイクロコンピュ−タ制御方式
JPH03263127A (ja) 命令実行制御方式
JPS61272856A (ja) プロセツサ制御方式
JPS60205785A (ja) サブプロセッサシステムへのプログラムロード方法
JPS6198444A (ja) 制御記憶システム