JPS607301B2 - コンピュ−タ・システム - Google Patents

コンピュ−タ・システム

Info

Publication number
JPS607301B2
JPS607301B2 JP56203786A JP20378681A JPS607301B2 JP S607301 B2 JPS607301 B2 JP S607301B2 JP 56203786 A JP56203786 A JP 56203786A JP 20378681 A JP20378681 A JP 20378681A JP S607301 B2 JPS607301 B2 JP S607301B2
Authority
JP
Japan
Prior art keywords
page
signal
register
address
memory
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
Application number
JP56203786A
Other languages
English (en)
Other versions
JPS57130159A (en
Inventor
デ−ビツド・ジヨン・ブラツドレイ
ルイス・クラ−ク・エジブレヒト
デニス・ダレル・ギブス
ドナルド・ジエ−ムズ・カスタツチ
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.)
International Business Machines Corp
Original Assignee
International Business Machines 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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of JPS57130159A publication Critical patent/JPS57130159A/ja
Publication of JPS607301B2 publication Critical patent/JPS607301B2/ja
Expired legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Executing Machine-Instructions (AREA)
  • Memory System (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Description

【発明の詳細な説明】 本発明はメモリ・アドレシングに関し、具体的には所与
の大きさのアドレス・バスを使用して通常アクセスする
ことのできるメモリ容量よりも大きさいメモリ容量をア
クセスする装置に関する。
先行技術において、ページング手法を用いることにより
、Nビットの情報を搬送するアドレス・バスによってア
ドレスされるメモリの大きさを、通常の2N個のロケー
ションからその何倍かへ増大させ得ることは周知である
。このページング手法は、一般的には2N個のアドレス
可能なセグメントへ分割されたページを有する大容量の
メモリを設け、更にそのページの1つを選択する所定の
コードを与えるため、処理ユニットによってセットされ
る外部レジス夕を設ける。このシステムの例は、米国特
許第4037211号(特関昭51一71648)に示
される。先行技術において、メモ川こあるいくつかのペ
ージの1つを能動化するため、単一のレジスタが設けら
れる。
新しいページに対するメモリ動作が起る度に、この1つ
のレジスタをリセットする必要が生じる。例えば、メモ
リの1つのページから情報を議出し、それをメモリの他
のページへ記憶したい場合、ページ・レジスタはそれぞ
れの講出しの前にセットされ、且つそれぞれの書込みの
前にセットされなければならない。かくて、通常2つの
命令で済むような、1つのロケーションから読出し他の
ロケーションへ書込むという単純なシーケンスが、4つ
の命令を必要とする。具体的に説明すれば、ページ・レ
ジスタをセットし、情報を読出し、ページ・レジスタを
セットし、情報を書込むという4ステップが必要となる
。メモリ中の1つ又はそれ以上のページがプログラム命
令を記憶するために割当てられ(例えば読出専用メモリ
)、メモリ中の他のページが汎用のランダム・アクセス
・メモリとして割当てられるようなシステムでは、先行
技術のページング手法は更に煩雑になる。その場合、ま
ず命令を得るためにべ−ジ・レジスタをセットし、次い
でランダム・アクセス・メモリから情報を謙出すために
2回目としてページ・レジス夕をセットし、ランダム・
アクセス・メモリの異なった部分へ情報を書込むために
第3回目としてページリレジス夕をセットしなければな
らない。本発明の実施例に従えば、コンピュータ・シス
テムは、アドレス可能なべージへ分割されたメモリ手段
と、実行されるべきメモリ動作の種類を表示する制御信
号を与える処理ユニットとを含む。
更に、コンピュータ・システムはメモリ手段をアドレス
するためのアドレシング手段を含み、このアドレシング
手段はメモリ手段のページをアドレスすることができる
アドレス・バスを含む。更に、コンピュータ・システム
はアドレス・/ゞスによってアドレスされるべきメモリ
手段の1ページを選択するページ信号を与えるページ手
段を含む。上記ページ手段の新規な点は複数のレジスタ
手段を含むことであり、各レジスタ手段は、上記ページ
信号として選択的に与えられることができるデータを記
憶するため、処理ユニットによって個別的にプログラム
可能である。更に、各レジスタ手段は1種類のメモリ動
作に関連している。更に新規なデコード手段が設けられ
、この手段は制御信号に応答して能動化されるべきレジ
スタ手段の1つを選択し、ページ信号を与える。選択さ
れたレジスタ手段は、その時点で与えられた制御信号に
よってその時生じているメモリ動作に関連しているレジ
スタ手段である。これまで説明した装置を使用すること
によって、例えば命令フェッチ、メモリ議出し、メモリ
書込み等のメモリ動作のために別個のレジスタ手段を設
けることができる。
これら3つのレジスタ手段の各々へ1度にデータを記憶
することによって、コンピュータはメモリの1つのペー
ジからプログラム命令をフェッチし、次いでその命令に
従ってメモリの第2のページから情報を講出し、それを
メモリの第3のページへ書込むことができる。その場合
、各動作の間に、ページ・レジスタに記憶されたコード
を変更する必要はない。これは処理ユニットのパフオー
マンスを顕著に改善する。ここで第1図を参照すると、
そこには中央処理装置(CPU)14から与えられる信
号に応答してページ・メモリー2をアドレスするために
使用されるアドレシング装置10が示される。
中央処理装置14はインテル社から市販されているイン
テル8085マイクロプロセッサ及びそれに関連した他
の回路、例えば8257直接メモリ・アクセス(DMA
)コントローラより構成されてよい。中央処理装置14
はアドレス・バス16、データ・バス18、制御バス2
0へ信号を与える。アドレス・バス16は16本の線を
含み、従って中央処理装置14はメモリ中の65536
(64K)個のロケーションを直接にアドレスすること
ができる。各ロケーションは8個の2進デイジツト(ビ
ット)又は1バイトの情に等しいものと考えてよい。デ
ータ・バス18は8本の線を含む。これらの線は、中央
処理装置14とメモリー2との間、及び中央処理装置1
4とアドレシング装置の他の部分との間で8ビット又は
1バイトの情報を転送するために使用される。制御バス
2川ま複数の線を含む。これらの線は中央処理装置14
によって実行されるべき種々の動作を指定する。例えば
「もしメモリー2が読出されるべきであれば、1組の信
号が制御バス20上に現われる。もしデータ・バス18
上の情報がメモリ12へ書込まれるべきであれば、他の
1組の信号が制御バス20上に現われる。制御バス20
上に現われる各種の信号は、第2図を参照して中央処理
装置14を具体的に説明する時に、詳細に説明すること
にする。メモリー.2は読取専用メモリ(ROM)及び
ランダム・アクセス・メモリ(RAM)より構成される
これらのメモリはアドレス・バス16の64Kアドレス
空間内でアドレス可能である。最初の3狐アドレス空間
は読取専用メモリのために使用され、そこには各種のプ
ログラム・モジュールが記憶される。更に読取専用メモ
リは、最初の1弧はアドレス・ロケーションに含まれる
ページされていない(ベースの)ROM22と、1弧か
ら3弧までのアドレス・ロケーション内に含まれるペー
ジされたROM24とに分割される。べ−ジROM24
はゼロ・ページからNページまでに分割され、各ページ
は1磯バイトを含む。所与の1時点では、ゼロ・ページ
からNページまでの1ページのみが、ROMアドレス・
デコード回路26からページROMへ印加されたチップ
選択信号によって能動化される。ランダム・アクセス・
メモリは読取専用メモリと同じように組織される。
即ち、ページされないベースのRAM2 8は32Kか
ら4母Kまでのアドレス・ロケーションに存在し、ペー
ジされたRAM30のゼロ・ページからNページまでは
ロケーション4細から64Kまでに存在する。ページR
AM30‘こ関して言えば、所与の1時点で1ページの
みが選択されてよい。この選択されたページは、アドレ
ス・バス1 6上の48Kから64Kまでのアドレス信
号に応答する。ここで注意すべきは、3次から4雛まで
のアドレス信号はベースRAM28を自動的にアドレス
することである。ページROM24又はページRAM3
0から選択される特定のページは、ページ・レジスタ3
2の出力における信号によって決定される。
この信号(ページ。ビット0〜M)は、ページ・レジス
タ32の中にある複数のページ・レジスタの選択された
1つからページ・ビット・バス34を介して与えられる
。ページ・レジスタ32から与えられるページ・ビット
の数(M+1)は、ページROM24及びページRAM
30の各々で利用可能なべージの数を決定する。例えば
、もしM=7であれば、8個のページ・ビットが存在し
、ページ数は256となる。もしM=3であれば、4個
のページ・ビットが存在し、ページROM24又はペー
ジRAM30のページ数は16となる。第2図乃至第4
図で説明される実施例では、M=3の場合である。ペー
ジ・レジスタ32は複数のレジスタで構成されてよい。
これらレジスタの各々は中央処理装置14によって実行
される異つた機能へ割当てられる。例えば、もしオペレ
ーション・フヱツチ機能が中央処理装置14により実行
され、プログラム命令がページROM24から読取られ
る場合、ページ・レジスタ32中のレジスタの1つが能
動化され、ページ・ビットがバス34上へ与えられる。
更にページRAM30からの読出動作、ページRAM3
0への書込動作、ページRAM30‘こ対する議出し又
は書込みのためにDMAを使用するDMN動作のために
、ページ・レジスタ32内の別個のレジスタが割当てら
れる。勿論、ページ・レジスタ32は、中央処理装置1
4によって実行されることが望まれる他の機能のために
、他の造加的レジスタを含んでいてよい。ページ・レジ
スタ32は、データ・バス18から与えられる信号、及
びCPU14によって与えられるページ・レジスタ書込
信号に応答する。
更に、ページ・レジス夕・デコード回路36からしジス
タ選択信号が与えられて、ページ・レジスタ32にある
複数のレジス夕の1つを選択する。ページ・レジス夕・
デコード回路36からの選択信号は、データをページ・
ビット・バス34へ与えるため、ページ・レジスタ32
内のレジスタの1つを選択する。もしCPU14から出
るページ・レジスタ書込信号がアクチブであれば、デー
タ・バス18上に現われるデータは、ページ・レジスタ
32内の選択されたレジスタへ書込まれる。更にCPU
14は、ページ・レジスタ読出信号を与えてページ・レ
ジスタ謙出ゲートを能動化することによって、ページ・
レジスタ32によつて与えられた信号を読取ることがで
きる。ページ・レジスタ読出ゲート38は、その中にあ
るゲートがCPU14から来るページ・レジスタ謙出信
号によって能動化される時、ページ・ビット・バス34
上のページ・ビット信号に応答し、それら信号をデータ
・バス18へ戻す。ページROM22又はページROM
24の1ページの選択は、ROMアドレス・デコード回
路26によって制御される。
ROMアドレス・デコード回路26はアドレス・バス1
6上の信号及びページ・ビット・バス34上のページ・
ビットに応答し、チップ選択バス40上に1つのアクチ
ブなチップ選択信号を与え、ベースROM22又はペー
ジROM24の少なくとも1部をしてアドレス・バス1
6上のアドレス信号に応答せしめる。この動作は、後に
第3図を参照して詳細に説明する。ベースRAM28と
ページRAM30との間の選択は、RAMコントローラ
42と列アドレス・ストロープ(CAS)デコード回路
44によって制御される。RAMコントローラ42はア
ドレス・バス16及び制御バス20上の信号に応答し、
CAS信号、2つの行アドレス・ストロープ(RAS)
信号(RASO及びRASI)及びRAMアドレス・バ
ス46上に7つのRAMアドレス信号(RAMAO〜A
6)を与える。CAS信号及びページ・ビット・バス3
4上のページ信号はCASデコード回路44へ印加され
、回路44はCAS/ゞス48へCASO〜CASN信
号を与える。CAS,RAS0,RASI及びRAMア
ドレス・バス46の信号はベースRAM28へ印加され
、RAS1,CASバス48及びRAMアドレス・バス
46の信号はページRAM30へ印加されて、RAMペ
ージの1つの少なくとも1部が選択され、そのページ内
の1つのロケーションがアドレスされる。RAMのアド
レシング方式の詳細が第4図に記載されている。ここで
第2図を参照すると、そこにはCPU14、ページ・レ
ジス夕・デコード回路36、ページ・レジスタ32、及
びページ・レジス夕読出ゲート38の詳細が示される。
CPU14はインテル8085マイクロプロセッサのよ
うなマイクロプロセシング・ユニット、及びインテル8
257のようなDMべ装置を含む。これらの装置はイン
テル社から市販されている。マイクロプロセッサはアキ
ユームレータ(Aレジスタ)及び6個の一時的記憶レジ
スタ(B、C、D、E、日、及びLの各レジスタ)を含
む。
これらのレジスタは個別的に、又は2個ずつのグループ
として(例えばBとC、DとE、日とL)使用すること
ができる。更に、マイクロプロセッサ中には、プログラ
ム・カウンタ、スタツク・ポインタ、通常のコンピュー
タ・ロジックが含まれる。これらの詳細な説明について
は、インテル社から1978年に出版されたマニュアル
「MCS−85ユーザース・マニュアル」(MCS一8
5UsersNにn肌1」を参照されたい。CPU14
のマイクロプロセッサ部分はアドレス・バス16へ16
ビットのアドレス信号を与える。
これらのアドレス信号はそれぞれAO〜AI5としーベ
ルを付されている。更に、8ビットのデータ信号がデー
タ。バス18上に与えられる。これらのデータ・ビット
はDO〜○7としーベルを付されている。CPU14か
ら出る制御バス20は、少なくともSI、10/M「
ALE信号を含む。これらの全ては周知であり、前記の
「MCS−85ユーザース・マニュアル」に詳細に説明
されている。具体的には、SI信号はデータ・バス状況
であり、それが論理「0」状態にある時、停止又は書込
機能が生じていることを示し、それが論理「1」状態に
ある時、読出し又はフェッチ機能が生じていることを示
す。同様に、10/M信号は、詠出/書込機能がメモリ
又は入出力(1/○)装置へなされているかどうかを示
す。10/M信号が論理「1」である時、データ・バス
上の情報は1/0装置に関連しており、10/M信号が
論理「0」である時、データ・バス上の情報はメモリに
関連している。
ここで注意すべきは、停止又は保持命令の間、10/M
信号は高インピーダンス状態にあることである。ALE
信号はマシン・サイクルの第1クロック・サイクルに起
るアドレス・ラッチ能動信号であって、アドレスをラッ
チさせる。
本発明で使用されるように、ALE信号はアドレス・バ
ス1 6上の1針固のビットが全て有効であることを示
すために使用される。更に、CPU14のマイクロプロ
セッサ部分は通常の読出しRD及び書込みWR制御信号
を与える。RD及びWR号に応答してページ・レジスタ
読出信号及びページ・レジスタ書込信号を与えるため、
CPU14内に入出力装置アドレシング回路を設けるこ
とができる。CPU14のDMA部分からの出力はAE
N信号であって、これはDMA転送が起っていることを
示す。通常、この信号は論理「0」であるが、DMA動
作の間に論理「1」になり、DMA動作の間にデータ・
バス及び制御バスを無能化するために使用される。ペー
ジ・レジスタ・デコード回路36はテキサス・インスツ
ルメンツ社から市販されているSN74SI53回路モ
ジュールのような重複4一1デコーダである。
この回路モジュールは197洋三テキサス・インスツル
メンツ社から出版された「設計技術者のためのTTLデ
ータ・ブック」(TheTTL Data恥okfor
Desi劉 En亀nee岱)という本に解説されて
いる。具体的に説明すると、2個の4一1デコード回路
の各々は、そのCO〜C3入力へ4つの信号を印加され
、G入力におけるストローブ信号が論理「0」である限
り、上記4つの信号を1つをY出力に与える。入力信号
のいずれか出力に与えられるかは、選択入力(A,B)
に印加される信号の状態に依存する。具体的に説明する
と、A及びB入力へ印加された2つの信号が共に論理「
0」であれば、CO入力信号がY出力信号として印加さ
れる。もしA及びB入力へ印加された信号がそれぞれ論
理「1」及び論理「0」であれば、CI入力信号がY出
力信号になる。もしA及びB入力へ印加された信号がそ
れぞれ論理「0」及び論理「1」であれば、C2入力信
号がY出力信号となり、A及びB信号の双方が論理「1
」であれば、C3入力信号がY出力信号になる。
ページ・レジスタ・デコード回路36として接続されて
いるように、2個の4一1デコード回路は単一のSN7
山SI53モジュールとして与えられる。上部にある4
−1デコード回路のICO〜IC3入力はそれぞれ論理
「1」信号、AI5信号、A切屑号、及びA山信号へ接
続される。下部の4入力2CO〜2C3はそれぞれAI
5信号、論理「1」信号、AI信号及びAI信号へ後続
される。2つの部分のためのストローブ信号IG及び2
Gは、CPU14のDMA部分から釆るAEN信号へ接
続され、A及びB選択信号はそれぞれCPU14のマイ
クロプロセッサ部分から来るSI及びの/M信号へ接続
される。
上部の4−1デコード回路のY出力は出力Aとしーベル
を付され、下部の4−1デコード回路のY出力は出力B
としーベルを付される。ページ・レジスタ32は4×4
レジスタ・フアィルより構成される。
これはテキサス・インスツルメンツ社から市販されてい
るSN74S670モジュールの如きものであって、前
記の本「設計技術者のためのTTLデータ・ブック」に
解説されている。簡単に説明すれば、ページ・レジスタ
32は16ビットのレジス夕・ファイルより成り、1ワ
ードが4ビットを含んでいる4ワードとして構成される
。更に、それはオンチッブ・デコーダを含み、これは書
込モード又は読出モードで4つのワード・ロケーション
をアドレスするために使用される。この構成は、所望の
場合、1つのロケーションへ書込動作を行うと共に他の
ロケーションから同時に謙出動作を行うことを可能にす
る。データ・バス18の4個の低順位ビットDO〜○3
が、ページ・レジスタ32のデータ入力へ印加される。
更に6個の制御信号がWB,WA,RB,RんGW及び
GRとしーベルを付された入力へ印加される。WA及び
WB入力へ印加された信号は、アクチブな論理「0」信
号がGW入力へ印加されている間、4個のワードのいず
れに新しいデータを書込むかを制御する。RA及びRB
入力へ印加される信号は、アクチブな論理「0」信号が
GR入力へ印加されている時、4個のワードのいずれか
ら読出すかを制御する。第2図に示されるように、GR
入力は接地することによって論理「0」状態へ置かれ、
従って所与の1時点で、4ビットより成る1ワードが常
に読出されて、ページ・ビット・バス34上にページ・
ビット0〜4信号として印加される。動作において、論
理「0」信号がWA及びWB入力の双方へ印加され、か
つGW入力が論理「0」にある時「ページ・レジスタ3
2の4×4ファイル中にあるワード0が、データリゞス
18の線DO〜D3へ印加されたデータを書込される。
第2図に示されるように「 ワード川ま最左方のワード
であり、後述するように、DMAページ・レジスタであ
る。同様に、WAが論理「1」あり、WBが論理「0」
であれば、ワード1がデータを書込まれる。もしWAが
論理「0」でありWBが論理「1」であれば、ワード2
がデータを書込まれる。WA及びWBの双方が論理「1
」であればワード3がデータを書込まれる。後に詳細に
説明するように、ワード川まRAMページ書込レジスタ
であり、ワード2はRAMページ議出しジスタであり、
ワード3はROMページ。レジスタである。注意すべき
は、書込みにおいて、GW入力へ常に論理「OJ信号を
印加することが必要であり、さもなければWA及びWB
入力へ印加された信号が無視されることである。GR入
力は大地(又は論理「0」)へ接続されているから、R
A及びRB入力へ印加された信号はページ・レジスタ3
2の4×4ファイルに含まれる4個の4ビット・ワード
の1つを常に謙出させる。
従って「 4ビット信号が常にバス34上のページ・ビ
ット0〜3信号として与えられる。もしRA入力及びR
B入力の双方が論理「0」であれば、ワード0(DMA
ページ・レジスタ)が読出される。RA入力が論理「1
」でありRB入力が論理「0」であれば、ワードー(R
AMページ書込レジスタ)が読出される。RA入力が論
理「0」でありRB入力が論理「1」であれば、ワード
2(RAMページレジスタ)が読出される。RA入力及
びRB入力の双方が論理「1」であれば、ワ−ド3(R
OMページ・レジスタ)が読出される。ページ・レジス
夕32に含まれる4×4ファイルの4個のワードの1か
ら得られた4個のべ−ジ・ビットは、ページ・ビット4
バス34へページ・ビット0〜3信号として印加される
。バス34のそれぞれの線は、ページ・レジスタ謙出ゲ
−ト38にある4個のゲートへ1つの入力として印加さ
れる。各ゲートの他の入力はCPU14からページ・レ
ジスタ読出信号を印加され、各ゲートはデータ・バス1
8へページ・ビット0〜3信号を与えるようにされる。
従って、ページ・レジス夕読出ゲート38は、CPU1
4がページ・レジスタ32から謙出されたページ信号情
報を読取ることを可能にする。ページ’レジスタ32へ
のRA及びWA入力は、共にページ・レジスタ・デコー
ド回路36から来る出力A信号へ接続される。
ページ・レジスタ32のRB及びWB入力は、共にペー
ジ・レジスタ。デコード回路36から来る出力B信号へ
接続される。このように接続されているので、ページ。
レジス夕‘デコード回路36の出力にある信号は、ペー
ジ・レジスタ32から読出されたページ・ビット・バス
34へページ・ビット0〜3信号として印加される特定
のワードを制御する。ページ。レジスタ。デコード回路
36から出る出力A及び出力B信号の各々は、A及びB
入力へ印加されるSI及び10/M信号、又はIG及び
幻入力へ印加されるAEN信号の状態に従って〜ページ
・レジス夕。デコード回路36の2つの部分にあるC止
CI、C2、C3へ印加される信号の1つである。DM
A動作の場合、AEN信号は論理「1」になり、それに
よって出力A及び出力B信号を共に論理「0」にする。
これらの信号がページ・レジスタ32のRA及びRB入
力へ印加される時、DMAページ・レジスタ(ワード0
)の議出しが生じ、そこに記憶されていたビットはペー
ジ・ビット・バス34へ印加されるページ‘ビット0〜
3信号となる。ランダム・アクセス。メモリへ情報を書
込むことが望まれる場合、SI信号は論理「0」になり
、10/M信号は論理「0」になる。この場合、4−1
1デコード回路の2つの部分におけるCO入力は、ペー
ジ・レジスタ・デコード回路36の出力A及び出力B信
号となる。換言すれば、出力A信号は論理「1」となり
、出力B信号は信号AI5の値となる。AI5はアドレ
ス線15上の信号の橘である。ランダム・アクセス・メ
モリの場合、それがアクセスされる時、AI劫居号が論
理「0」になるように構成されている。従って、出力B
信号はRAMメモリへの書込動作について論理「0」に
なる。これはRA信号を論理1にし、RB信号を論理「
0」にし、よってワード1(RAMページ書込レジスタ
)が論出しのために選択されてページ・ビット0〜3が
ページ・ビット・バス34へ与えられる。〆モリ読出動
作の場合、SI信号は論理「1」であり、10/M信号
は論理「0」である。
この場合、ページ・レジスタ・デコード回路36内の重
複4一1デコード回路の2つの部分に対するCI入力が
選択され、出力A信号はAI5信号となり、出力B信号
は論理「1」となる。もし議出しがランダム・アクセス
・メモリから起るものであれば、AI5は論理「0」で
あり、ページ・レジスタ32のワード2(RAMページ
読出しジスタ)が選択される。他方、議出しがメモリの
ROM部分から起るものであれば、AI封旨号は論理「
1」であり、ワード3(ROMページ・レジスタ)が選
択される。上記の接続から次のことが分る。
即ち、ROMからプログラム命令を論出し、続いてRA
Mの1ページからデータを論出し、続いてRAMの異つ
たページヘデータを書込むような一連の命令は、それぞ
れの命令の間でページ・レジスタを設定する必要ないこ
、自動的に行われることである。換言すれば、ROMペ
ージ・レジスタ、RAMページ議出しジスタ、及びRA
Mページ書込レジスタは全て初期設定され、上記の一連
の命令は自動的に造通なページ・ビットを所望の機能の
ために与えるようにする。このようにして、DMA動作
が含まれる場合、ページ・ビットの別個の組をDMAペ
ージ・レジスタへ与えることができ、それによって、D
MA動作が起る度に、ページ・レジスタをリセットする
必要性を除くことができる。新しい情報をページ・レジ
スタ32へ書込むか、ページ・レジスタ32によって記
憶された情報をCPU14が読取ることが望まれる場合
、ページ・レジスタ32は入出力(1/0)装置として
取扱われる。この場合、10/M信号は論理「1」にな
り、情報がページ・レジスタ32へ書込まれようとして
いるか、またはそこから謙出されようとしているかによ
って、SI信号は論理「0」又は論理「IJになる。い
ずれの場合にも、出力A信号はAOアドレス信号となり
、出力B信号はAIアドレス信号となる。AO及びAI
アドレス信号でページ・レジスタ32を適当にアドレス
することにより、またCPU14からページ・レジスタ
書込信号又はページ・レジスタ論出信号を与えることに
よって、4個のワードのいずれかが読出され又は書込ま
れる。ここで第3A図及び第3B図を参照すると、そこ
にはROMアドレス・デコード回路26がメモリー2の
ベースROM22及びページROM24と関連させて詳
細に図示される。
ROMアドレス・デコード回路26は、1対の2一4デ
コード回路50及び52、及び1対の3一8デコード論
理回路54及び56とを含む。第3A図及び第3B図に
は、ページROM24のページ0,1,4,5,6,7
のみが示されているが、16までの任意数のページを使
用できることに注意されたい。第1図に関連して説明し
たように、ベースROM22はアドレス空間0〜16K
に1舷バイトを含み、ページROM24の各ページはア
ドレス空間16K〜32Kに1舷バイトを含む。しかし
、実際にシステムを構成する場合、ベースROM22及
びページROM24の各ページのために、舷バイトより
成る2個の回路モジュールを使用してよい。従って、ベ
ースROM22は第1セクション58及び第2セクショ
ン60を含み、各セクションは雛バイトのサイズである
。同機にページROM24のページ0はセクション62
及びセクション64を含む。他のページの場合も同様で
ある。即ち、ページ1はセクション66及び68を含み
、ページ4はセクション70及び72を含み、ページ5
はセクション74及び76を含み、ページ6はセクショ
ン78及び80を含み、ページ7はセクション82及び
84を含む。2一4デコード回路52は、ベースROM
22の2つのセクション58又は60のうちいずれがA
O〜AI2アドレス信号によってアドレスされるべきか
を決定するために使用される。
3一8デコード回路は、ページ0及び1の4つのセクシ
ョン62,64,66,68のいずれが、アドレス・バ
ス16上のアドレス信号AO〜AI2によってアドレス
されるべきかを決定するために使用される。
3一8ヂコード回路56は、ページ4,5,6,7のセ
クション70,72,74,76,78,80,82,
84のいずれがアドレス・バス16上のアドレス信号A
O〜AI2によってアドレスされるべきかを決定するた
めに使用される。
2−4デコード回路50は、ベースROM22又はペー
ジROM24のいずれがアドレスされるべきかを決定す
るために使用される。
2一4デコード回路50及び2−4デコード回路52は
、テキサス・インスツルメンツ社によって市販されてい
る回路モジュール74LSI39であってよく、3−8
デコード回路54及び56は、テキサス・インスツルメ
ンツ社によって市販されている通常の74SI38回路
モジュールであってよい。
デコード回路50へのA及びB入力は、それぞれアドレ
スリゞス16上に与えられるAI4及びA断眉号へ接続
される。デコード回路50へのG(能動)入力は、CP
U14の各動作サイクルの始めにCPU1 4から与え
られるALE信号へ接続される。AIQ皮びAI封居号
の双方が論理「0」である時、デコード回路50から出
るYO出力は論理「0」になる。その他の場合、それは
論理「1」である。AI4信号が論理「1」でAI見目
旨号が論理「0」である場合、デコード回路50から出
るYI出力は論理「0」になる。その他の場合、それは
論理「1」である。デコード回路50から出るY2及び
Y3出力は接続されない。デコード回路50から出るY
O出力は、2−4デコード回路52のG(能動)入力へ
接続される。デコード回路50からのYO信号が論理「
0」である時、2一4デコード回路52が能動化される
。デコード回路52のA及びB入力は、それぞれAI3
アドレス信号及び論理「1」信号へ接続される。デコー
ド回路52が能動化され、A入力へ印加されたAI3信
号が論理「0」である時、デコード回路52からのY2
出力は論理「0」になる。もしAI針信号が論理「1」
であれば、デコード回路52からのY3出力は論理「0
」になる。回路52からのY2信号は、ベースROM2
2のセクション58のチップ選択(CS)入力へ与えら
れ、回路52から出るY3出力は、ベースROM22の
セクション60のチップ選択(CS)入力へ印加される
。ROMセクション58,60の1つのチップ選択入力
へ論理「0」信号が印加される時、そのセクションは能
動化されて、アドレス・バス16上のアドレス信号AO
〜AI2に応答する。これらのアドレス信号及びチップ
選択能動信号に応答して、アドレスされたロケーション
に含まれるデータの8ビットが、能動化されたセクショ
ンの出力に与えられる。回路50のYI出力は、3一8
デコード回路54及び56のG泌入力へ接続される。
更に、回路54及び56の各々へのA、B、C入力は、
それぞれAI3アドレス信号、及びページ・レジス夕3
2から釆るページ。ビット0及びページ・ビット1信号
へ接続される。回路54へのGI入力はページ・ビット
2信号へ接続され、回路54へのG波入力はページ・ビ
ット3信号へ接続される。回路56へのGI入力はペー
ジ・ビット3信号へ接続され、回路56へのG妃入力は
ページ・ビット2信号へ接続される。回路54からのY
O〜Y3出力は、それぞれページ0及びページ1のセク
ション62,64,66,68のチップ選択(CS)入
力へ接続される。
回路54のY4〜Y7出力は接続されない。回路56の
YO〜Y7出力は「それぞれページ4,5,6,7のセ
クション70,72,74,76,78,80,82,
84のチップ選択(CS)入力へ接続される。
ページROMセクションの各々は、アドレスリゞス16
を介してそこへ印加されたアドレス・ビットAO〜AI
2に応答し、そのセクションが回路54又は56から来
る適当な論理「0」信号によって選択された時、アドレ
スされたデータを含む8ビットの出力信号を与える。R
OMセクション58,60,62,64,66,68の
各々から出るデータ出力は相互に結合され、バス駆動回
路86のデータ入力へ印加される。
同様に、セクション70,72,74,76,78,8
0,82,84の各々から出るデータ出力は相互に結合
され、バス駆動回路88のデータ入力へ印加される。バ
ス駆動回路86及び88はテキサス・インスツルメンツ
社から市販されている通常の74S244駆動回路であ
ってよい。所与の時点で、これら回路86又は88の1
つのみが1対の2−4デコーダ90及び92、並びにG
Rゲート94の動作によって能動化されてよい。2−4
デコーダ90及び92は通常の 7虹SI39回路であり、ORゲート94は反転論理入
力及び反転論理出力を有する74S08回路であつてよ
い。
デコーダ90へのA及びB入力はそれぞれAI4及びA
I5信号へ接続され、その能動(G)入力は〆モリ読出
信号へ接続される。メモリ読出信号は、メモリから情報
を謙出すことが望まれる時、CPU14から出るRD及
び10/M信号の双方に応答する手段(図示せず)によ
って発生されてよい。デコーダ90からのYO出力はO
Rゲート94の1つの入力へ接続され、デコーダ90か
らのYI出力は2一4デコーダ92の能動(G)入力へ
接続される。デコーダ92へのA及びB入力は、それぞ
れページ・レジスタ32から出るページ・ビット2及び
ページ・ビット3信号へ接続される。デコーダ92から
のYO出力はORゲート94の第2入力へ接続され、デ
コーダ92からのYi出力はバス駆動回路88のチップ
選択(CS)入力へ接続される。ORゲート94の出力
はバス駆動回路86のチップ選択(CS)入力へ接続さ
れる。上記のように接続されているので、ROMセクシ
ョン5 8,6 0,6 2,6 4,66,68の1
つから情報が鈴出される時、常にバス駆動回路86が能
動化され、ROMセクション70,72,74,76,
78,80,82,84の1つから情報が読出される時
、常にバス駆動回路88が能動化される。バス駆動回路
86及び88の各々の出力はデータ・バス18へ接続さ
れる。データ・バス18はDO〜D7データ信号を搬送
する。ここで第4図を参照すると、そこにはRAMコン
トローラ42、CAS(列アドレス・ストローブ)デコ
ード回路44、ベースRAM28及びページRAM30
の詳細が示される。
RAMコントローラ42は、例えばインテル社から市販
されているインテル8202ランダム・アクセス・メモ
リ・コントローラのような通常のRAMメモリ・コント
ローラであってよい。RAMコントローラ 4 2は、
バス駆動回路86からそのチップ選択(CS)入力へ印
加される論理「0」信号によって能動化される。
この信号は、後に詳細に説明するように、AI5アドレ
ス信号が論理「1一あり、ページ・ビット3信号が論理
「0」である時、換言すれば、RAM28及び30が選
択される時に与えられる。18KRAMのページされな
い1ブロックと、1細RAMのページされた7ブロック
が存在する(ページ2〜5は第4図から省略)。
従つて、ページ。レジスタ32から与えられるページ・
ビット0〜3中のページ・ビット0〜2のみが必要であ
る。通常の動作では、ページ・ビット3は常に論理「0
」に維持される。RAMコントローラ42はアドレス・
バス入力を含み、その入力へAO〜AI3アドレス信号
が印加される。
更に、16.432メガヘルツのシステム・クロツクが
印加されるクロツク入力、メモリ書込信号が印力0され
る書込(WT)入力、メモリ謙出信号が印加される読出
(RD)入力、AI4アドレス信号が印加されるBO入
力及び回路86の出力印加されるチップ選択(CS)入
力が存在する。CPU14から出るWR及び10/M信
号がメモリ書込動作が起るべきことを示す時、メモリ書
込信号はこれら信号に応答するロジック(図示されず)
によって与えられる。RAMコントローラ42の出力は
RAMアドレスリゞス46を含み、そこへRAMAO〜
A6アドレス信号が与えられる。
更に、出力はRAS0、煎句、敦騒動(WE)及びCA
S信号を含む。RASO及びRASI信号は行アドレス
・ストロープ信号として与えられ、そのいずれが与えら
れるかは、BO入力へ印加されたAI4信号の値によっ
て決定される。AI4が論理「0」であれば、RASO
信号がアクチブとなり、AI4が論理「1」であれば、
RASI信号がアクチブになる。CAS信号は列アドレ
ス・ストローブ信号であり、CASデコード回路44へ
印加される。デコード回路44はテキサス・インスツル
メンツ社によって市販されている7山SI38回路の如
き3−8デコーダであってよい。デコード回路44のA
、B、C入力はそれぞれページ・レジスタ32から与え
られるページ・ビット0、ページ・ビット1及びページ
・ビット2信号へ接続される。
デコード回路44のGI入力は論理「1」信号であり、
G波信号は論理「0」である。RAMコントローラ42
からのCAS信号はG2A入力へ印加される。デコード
回路44の7個の低位出力YO〜Y6が使用され、それ
ぞれCASバス48上にCASI〜CAS7信号を与え
る。RAM28及び30の構成は、第3図のROM22
及び24の構成と細部の点で異なる。RAM28及び3
0のメモリ・モジュール96〜130の各々は、3狐X
Iビット・モジュールであり、2っの1舷xlビット回
路より成る。各回路はRAMAO〜A6アドレス信号、
WE信号、CASX.及びRASX2信号に応答する(
ここでX,は1〜7、X2は0〜1である)。RAMメ
モリのページされた又はページされない各ブロックにお
いて、9つのモジュール(例えば96〜112)の各々
に関連して1つの回路が設けられ、この回路はDO〜D
7信号及びパリティ・ビット信号DPを与える。パリテ
ィ・ビット信号DPは、RAM28又は30との間で転
送されるデータのパリティを決定するために、通常の方
式で、図示されない回路によって使用される。第4図に
は12級バイトのランダム・アクセス・メモリが示れる
このメモリは18Kバイトより成る1つのページされな
いベースRAM28と、7ページより成り各ページが1
舷バイトを含むページRAM30へ分けられる。メモリ
・モジュール96〜130の各々は半分に分割され、そ
の1つの1腿回路はベース又は1つのページ部分を占め
、他の1狐回路は異つたページの部分を占める。前述し
たように、メモリの各1服部分はアドレス線RAMAO
〜A6、RASX2、WE、及びCASX,信号に応答
する。例えばベースとしてRAM28はモジュール96
〜1 1 2の上半分として示され、RAS○、WE、
CAS、RAMAO〜A6信号に応答する。モジュール
96〜112の下半分はページRAM3 0のページ
1を含み、、RAS1、WE、CASI及びRAMO〜
A釘信号に応答する。ページ6はモジュール114〜1
30の上半分として示され、RAS1、WE及びCAS
針言号がモジュール114〜130の9個の1弧×1ビ
ット回路の各々へ印加される。同じように、RAS1、
WE及びCAS7信号がページ7へ印加される。それぞ
れの場合、RAMアドレス・バス46上のRAMアドレ
ス信号RAMO〜A6が各回路へ印加される。概略的に
説明すれば、ベースRAM28については、RASO及
びCAS信号が印加され、ページ部分については、RA
SI信号が各ページへ印加され、CASデコード回路4
4から出るCASI〜CAS7の1つが各ページ1〜7
へ印加される。従って、RASO及びRASI信号はR
AM28又はページRAM30のいずれかへのアクセス
を決定するために使用され、CAS及びCASI〜CA
S7信号はどのページにアクセスするかを決定するため
に使用される。回路86は、前述したように、RAMコ
ントローラ42へチップ選択信号を与える。
回路86はNANDゲート1 3 4、ANDゲート1
3 6,1 38及び1 40、NORゲート1 4
2より成る。NANDゲート1 34への2つの入力は
、CPU14のDMA部分から来るAEN信号及びCP
U1 4から来る10/M信号である。NANDゲート
134の出力はANDゲート136の1つの入力へ印加
される。ANDゲート136の他の入力はAI5アドレ
ス信号である。ANDゲート136の出力はAND1
38及び1 40の各々の1つの入力へ印加される。A
NDゲート138への他の入力はAI4信号であり、A
NDゲート1 40への他の2つの入力はAI4アドレ
ス信号とべ‐ジ・ビット3信号である。ANDゲート1
38及び140の各々の出力は2つの入力としてNOR
ゲート142へ印加され、NORゲート142はRAM
コントローフ42のチップ選択入力へ信号を与える。上
記のように接続されているので、NORゲート142の
出力は、AI5アドレス信号が論理「1」であり、ペー
ジ・ビット3信号が論理「0」である時、論理「0」に
なる。ここで第5図〜第10図を参照して、第1図〜第
4図に示されるページ構造を利用する1つの手法を説明
する。
第6図及び第6図はページROM24の各セクション及
びベースROM22のセクション2に存在するページ・
テーブルを理解するのに有用な図である。第7図は転移
ベクトル・テーブルの構成を理解するのに有用な図であ
る。転移ベクトル・テーブルはROM22及び24の各
セクションのページ・テーブルに記憶された情報から構
築され、かつベースRAM28の1部に存在する。第5
図は、ページ・テーブルのェントリィを示す。
各ページ・テーブルのェントリイは3バイト(24ビッ
ト)の情報より成っている。24ビットの中の11ビッ
トは転移ベクトル・テーフル(TVT)インデックスと
呼ばれるコードを含む。
TVTインデックスは各プログラム・モジュールについ
て独特の番号を有する。ページ・テーフル中の残りの1
3ビットの情報は、TVTインデックスによって表わさ
れるプログラム・モジュールのロケーションを限定する
ページ・セクションへのオフセット値である番号を含む
。具体的構成としては、TVTインデックスの高位8ビ
ットがバイト01こ含まれ、低位3ビットがバイト1の
ビット5,6,7に含まれている。上記オフセット値の
高位5ビットはバイト1のビット0〜4に含まれ、下位
8ビットはバイト2に含まれている。第6図はページ・
テーブルの構成を示す。セクション中の最初の2バイト
はアドレスXOOO及びXOOIにおかれている。ここ
でX=2、4、6であり、セクション・コード‘こ対応
する。これらのバイトはセクションの最初のアドレスの
高順位値及びセクションの最後のアドレス+1の高順位
層を含む。これらの値は、メモリが正しく動作するかど
うかを確めるため、メモリ上で或る検査を実行する初期
手順中で使用される。従って、それらは本発明の1部を
構成しない。最初のページ・テーフル・ェントリイは、
16隼数のロケーションXO02で始まる。第2のペー
ジ・テーブル・ェントリィはロケーションXO05で始
まり以下同様である。ROMセクションに含まれた各プ
ログラム・モジュールについて、1つのェントリィが存
在する。最後のページ・テーフル・ヱントリイに続いた
ロケーションには、ページ・テーブルの終りをマークす
るため16進数「FF」が入れられる。「FF」の直後
に続いたロケーションには「最初のプログラム・モジュ
ールの最初のプログラム命令コードが存在する。ここで
第7図を参照すると、転移ベクトル・テーブル中のェン
トリィが示される。
転移ベクトル・テーブルはベースRAM28に置かれて
いる。例えば、そのロケーションは8AOOから始まり
、各ページ・テーフル・ェントリイのために2バイトの
ェントリィを含む。転移ベクトル・テーブルのェントリ
ィはTVTインデックスに対応するメモリ・ロケーショ
ンに置かれている。そのロケーションはTVTインデッ
クスの2倍を16隻数8AOOに加えたところである。
各ェントリイにおいてバイト1のビット0〜3はページ
番号(又はベースROMの番号)を含み、ビット4〜5
はそのページのためにセクション・コードを含む。ビッ
ト4〜5のコード「00」は使用されない。コード「0
1」は2000セクション(ベースROM22の第2部
分)を指示し、コード「10」はページの中の4000
セクション(各ページの低位の半分)を指示し、コード
「11」はページ中の6000セクション(各ページの
高位の半分)を指示する。バイト1のビット6は常に「
0」へセットされ、ビット7はバッチ・インデイケータ
として使用される。即ち、もしそれが論理「1」であれ
ば、バッチが指示されている。バッチが起るのは、RO
M中の所与のプログラム・モジュールがRAM中に記憶
された代替プログラムによって置換される場合である。
これは、通常、プログラムがROMへ入れられた後にプ
ログラム・モジュールへの変更が望まれ、それが容易に
変更できない時に起る。例えば、それはエラーがROM
プログラム・モジュール中に存在する時に生じる。転移
ベクトル・テーブル・ェントリィのバイト2は、バイト
1で指定されたページ及びセクションのために、ページ
・テーフル・ェントリィの第3バイトのロケーションに
対するオフセット値を含む。
第8図及び第9図は、ページ・テーブルに含まれた情報
から転移ベクトル・テーブルを構築するのに使用してよ
いコンピュータ・プログラムの流れ図を示す。
第8図及び第9図に示される2つのプログラムは、それ
ぞれTVTBLD及びPGSCANとしーベルを付され
ている。CPU14の中心として使用される8085マ
イクロプロセッサのための実際のソース・コーディング
は、第8図及び第9図を参照して容易に作成することが
できよう。これら2つのプログラムは、パワーアップ・
シーケンス中に初期手順の1部として実行される。従っ
て、パワーがシステムへ印加される度に、転移ベクトル
・テーブルがTVTBLDプログラムに従って構築され
る。TVTBLD及びPGSCANプログラムは、物理
的にはセクション58(第3A図)に置かれている。こ
こで第8図を参照すると、ブロック150で先ず起るこ
とは、転移ベクトル・テーフル(TVT)の最初のロケ
ーションのアドレスがCPU14内の8085マイクロ
プロセッサのHLレジスタに記憶されることである。
前述したように、このアドレスはla隼数8AOOであ
ってよい。次にTVTェントリイ中の最初のバイトがゼ
ロヘセツトされ、TRAPPプログラム・モジュールの
アドレスが各TVTェントリィの第2バイトに記憶され
る。これは、TVTインデックスが存在しない時その存
在しないインデックスに対するロケーションヘジャンプ
が誤ってなされた場合にエラールーチンへのジャンプを
可能にするためである。TRAPPプログラム・モジュ
ールはベースROM22のセクション58に置かれてお
り、従って、第2バイトはベースROM22のセクショ
ン58へのオフセット値を含むことになる。次にブロッ
ク152に従って、16進数2002がHLレジスタへ
転送され、プログラムPOSCANが呼出される。
PGSCANプログラムは第9図に示され、後に詳細に
説明される。簡単に言えばトPGSCANプログラムは
HLレジスタによつてアドレスされたセクションにおけ
るページ・テーフルを走査し、走査されたェントリイを
ページ・テーブルからベースRAM28中のTVTテー
ブルへ入れる。次に、フロツク154に従って、アキュ
ムレー夕(Aレジスタ)がクリアされる。ブロック15
6へ行くと、Aレジス外こ記憶されたページ番号がデー
タ。
バス18を介してべ−ジ・レジスタ32中のROMペー
ジ・レジスタ(ワード3)に記憶される。これはCPU
14から出るページ・レジスタ書込信号と結合されて起
る。このページ番号は、TVTBLDプログラムの残り
の部分によって動作されるページを制御する。次に、フ
ロック158に従って、ページ・レジスタ32へ送られ
たページ番号の4000セクションが存在するかどうか
が決定され、もし存在すれば、巡回サイクル冗長チェッ
ク(CRC)がなされて、そのセクションが正確である
かどうかが決定される。もしCRCが失敗すれば、エラ
ーが記憶される。次にブロック1601こ従って、la
隼数アドレス4002がHLレジスタへ転送され、PG
SCANプログラムが呼出される。
それは、ブロック156で変更されたページ・レジスタ
により指定されるところに従って、ページの4000セ
クションにあるページ・テーブルを走査するためである
。次にブロック162及び164に従って、ブロック1
58及び160‘こ関して説明した手順と同じ手順が、
ブロック156で出力されたページ番号のために600
0セクションについて実行される。
次に、フロツク166で、ページ・レジスタ32中に記
憶された値が謙出され、1だけ増加され、アキュムレー
タに記憶される。次に4個の高順位ビットが0へセット
され、ブロック167に従って、アキュムレータ中に記
憶された値がゼロに等しいかどうかが決定される。もし
等しくなければ、ブ。ック156へ戻り、ブロック16
6で決定された新しいページ番号について、同様の処理
が行われる。ブロック167で、Aレジスタがゼロに等
しいと決定されると、それはページの全てが処理された
ことを意味し、初期プログラムの残りの部分への続行が
生じる。ここで第9図を参照すると、そこには PGSCANプログラムが記載される。
第8図のブロック152,160,164から想起され
るように、PGSCANプログラムはROM22又は2
4のセクションにあるページ・テーブル全対を走査する
ために呼出される。このルーチンが呼出されるのは、H
Lレジスタがページ・テーブルの最初のェントリイのア
ドレスを含む時である。そのアドレスはベースROM2
2の第2セクション60については2002であり、ペ
ージROM24の第1セクション62,66,70,7
4,了8,82については4002であり、ページRO
M24の第2セクション64768,72,76,80
,84については6002である。先ずブロック1 6
8に従って、HLレジスタ中のアドレス・コードがDE
レジスタに記憶される。
従って、Dレジスタはページ。セクション。コードを含
み、Eレジス外まそのセクション内の現在のページ・テ
ーフル・ェソトリィに対するオフセット値を含む。次に
、フロック1701こ従って、ページ・テーブルのェン
トリイが16進数「FF」に等しいかどうかの決定がな
される。「FF」は第6図に示されるようにテーブル終
了マークである。もし「FF」に等しければ、呼出プロ
グラムへのIJターンが起る。そうでなければ、TVT
インデックスが2倍にされ、HLレジス夕に記憶される
。TVTインデックスはDEレジスタによってアドレス
されたページ・テーブル中のバイト0及びバイト1にあ
る高順位ビットから得られる。次にブロック1 72に
従って、TVTテーフルのベース・アドレス(16隻数
松00)がHLレジスタに記憶されている2倍にされた
TVTインデックスへ加えられる。この時点で、HLレ
ジス夕は走査されているページ・テーフル・ェントリィ
についてTVTテーブル中の正しいアドレスを合む。次
に、ブロック174に従って、ページ・レジスタ32中
のROMページ・レジスタが謙出され、データがBレジ
スタのビット位置0〜3に記憶される。
更に、Dレジスタから得られるべ−ジ・セクション・コ
ードが、Bレジスタのビット位置4〜5に記憶される。
ビット位置6〜7は0へセットされる。従って、TVT
テーブル・ェントリィのバィトーはBレジスタに含まれ
る。次にフロック176に従って、Bレジスタの内容が
HLレジスタに含まれるアドレスに従い「TVTテーブ
ル中に記憶される。次にHLレジスタの値が1だけ増加
され、Eレジスタの内容(現在のページ・テーフル・ェ
ントリィに対するオフセット値)が、HLレジスタに含
まれるアドレスに従いTVTテーブルに記憶される。次
にDEレジスタの内容が1だけ増加され、ブロック17
0への戻りが生じる。それによって次のページ・テーブ
ルのェントリィが走査され、TVTテーフルへ転送され
る。この手順は、テーブル終了マークがブロック170
で検出される。第10図を参照すると、そこにはプログ
ラム・ルーチンRSTIが流れ図形式で示される。
このプログラム・ルーチンは、1つのフ。ログラム・モ
ジュールから他のプログラム・モジュールへ転移が起る
時に使用される。RSTIプログラムの8085ソース
・コ−ドGま、この流れ図から容易に作成できるであろ
う。8085マイクロプロセッサにおいて、RST命令
はリスタート命令として使用され、自動的にベースRO
M中のアドレス(RSTロケーション)をプログラム・
カウンタに置き、スタック中に或る種の情報を保存する
次のマシン・サイクルでRSTロケーションに置かれた
命令が実行される。第10図に示されるRSTIプログ
ラムは8085マイクロプロセッサのこの能力を利用す
る。その場合、例えば通常の呼出命令又はジヤンプによ
って、1つのプログラム・モジュールから他のプログラ
ム・モジュールへの転移を生じさせたい時、RST命令
の次に2バイトの名称コードが置かれる。この名称コー
ドは呼出されるプログラム・モジュールを指定し、かつ
TVTにおけるそのプログラム・モジュールに関するェ
ントリィのアドレスを含む。先ずブロック18川こ従っ
て、通常はRSTI命令の直後に続くアドレスである保
存されたりターン・アドレスが名称コードに続くアドレ
スへ調整される。次に、ブロック182に従って、名称
コードのバイト1及び2がHLレジスタに記憶される。
従って、HLレジスタは呼出されたプログラムの所望の
TVTェントリィをアドレスする。次にブロック184
に従って、アキユムレータ(Aレジスタ)がクリアされ
、その時ページ・レジスタ32中のROMべ−ジ・レジ
ス外こある情報が読出されスタック中に保存される。次
にブロック186に従って、最初のTVTバイト(HL
レジスタによってアドレスされる)がランダム・アクセ
ス・メモリから読出され、Aレジスタに記憶される。
次にAレジス夕にある情報は、呼出されたプログラムの
ためにTVTのバイトーで指定されたページへROMペ
ージ‘レジスタをセットするため、ページ・レジスタ3
2へ転送される。次にHLレジスタが1だけ増進され、
第汀VTバイト(HLレジス外こよってアドレスされる
)が謙出されLレジス外こ記憶される。次にブロック1
88‘こ従って、第のVTバイトが1ポジションだけ左
方へシフトされ、ブロック190でパッチ・インデイケ
ータがセットされているかどうかの決定がなされる。も
しセットされていれば、パッチが指示されている。そし
てブロック192で示されているように、パッチ領域ア
ドレスがHLレジスタへ転送され、プログラム・フェッ
チ・オペレーションをRAMのパッチ領域へ転送するこ
とによって処理が続行する。フロツク190でパッチ・
インデイケータがセットされていないと仮定すると、ブ
ロック194に従って、Aレジスタのビット5,6,7
(Aレジス夕は左方へ1ポジションだけシフトされたペ
ージ・セクション・ビットを含む)がHレジスタへ転送
される。
この時点で、Hレジスタは1抗隻数20、40、60の
コードを含み、Lレジスタは呼出されたプログラム・モ
ジュールに対するページ・テーフル・ェントリィのバイ
ト2へのオフセット値を含む。フロツク196では、上
記ページ・テーフル・ェントリイのバイト2及びバイト
1のビット0〜4に含まれるページ・セクションへのオ
フセット値がHLレジスタへ転送される。
ここで注意すべきは、Hレジスタ中に含まれるページ・
セクション・ビットが、この転移動作の間維持されるこ
とである。従って、この時点におけるHLレジスタは呼
出されたプログラム・モジュールのアドレスを含む。次
にブロック1 98に従って、HLレジスタ中に含まれ
るアドレスがCPU14中のプログラム・カウンタ(P
C)へ転送される。ブロック200では、上記アドレス
に従って命令がフェッチされ、呼出されたプログラム・
モジュールの実行が開始されることによって動作が継続
する。従って、第10図に関連して説明した簡単なルー
チンを使用することによって、ページ間で命令実行の転
移を容易に行うことができることが分る。この手法はプ
ログラミングを簡単にする。なぜならば、ソフトウェア
の開発中、開発されているプログラム・モジュールのR
OMにおける正確なロケーションを知る必要はないから
である。換言すればプログラム・モジュールがプログラ
ムされている時、そのプログラム・モジュールへ独特の
インデックス・コードを割当てるだけでよい。次にその
プログラム・モジュールは余裕のある特定のページへ格
納されるので、メモリの最大利用効率が達成される。更
に、このルーチンはパッチ方法を用いてプログラム・モ
ジュールを訂正することを可能にする。所望ならば、プ
ログラム・モジュールは、全ての変更されたプログラム
・モジュールをROMの高順位セクションに入れること
によって、プログラム・モジュールを変更することがで
きる。高順位セクションのページ・テーブルは最後に走
査され、該当するTVTインデックス番号が存在すれば
、前にTVTテーブルに存在した情報は高順位セクショ
ンにある情報によって置換される。これまで説明したペ
ージング手法に対していくつかの変更がなされてよい。
3バイトのTVTェントリィを使用して、新しいプログ
ラム・モジュールの実際のアドレスをバイト2及び3に
記憶することができる。
この場合、ページ・テーフル・ェントリィへのオフセッ
ト値を使用しないで、新しいプログラム・モジュールを
直接にアドレシングすることができる。他の変更例とし
て、頻繁に呼出されたプログラム・モジュールのTVT
インデックスをTVTテーブルの特別の部分に入れてお
くことができる。
そのような特別の部分は、例えばロケーション8C00
〜80FFの間であり、IG隼数256〜511の間の
TVTインデックスを含む。これらのプログラム・モジ
ュールについては、異つたリスタート命令が使用され、
名称コード‘ま単一バイトとすることがでる。この単一
の名称バイトはLレジス外こ置かれ、16進数46がH
レジスタに置かれる。次に、HLレジスタ中の値が2倍
にされ(各TVTテーブル・ェントリイの長さが2バイ
トであるため)、次いで処理は前述したようにブロック
184から200へ続行する。この手順は、頻繁に使用
されるモジュールが呼出される度に、1バイトの記憶容
量を節減する。ここで注意すべきは、ベースROM22
に置かれたプログラム・モジュールへ転移する時、通常
の呼出命令及びジャンプ命令を使用してよいことである
従って、非常に頻繁に呼出されるプログラム・モジュー
ルは、スペースが利用可能である限り、ベースROM2
2に置かれるべきである。これにより、処理時間が節約
される。それはTVTテーブルを参照する必要がないか
らである。
【図面の簡単な説明】
第1図はページ・メモリアドレスするためのアドレシン
グ装置を示すブロック図、第2図はCPU及び第1図に
示されるアドレシング装置のページ・ビット発生手段を
詳細に示す図、第3図は第3A図と第3B図の配置状態
を表わす図、第3A図及び第3B図は第1図に示される
謙出専用メモリ及びそのアドレス・デコード回路の詳細
を示す図、第4図は第1図に示されるランダム・アクセ
ス・メモリ及びそのコントローラ及びデコード回路の詳
細を示す図、第5図はページ・テーフルのェントリィを
示す図、第6図は1つのべ−ジ・セクション内のページ
・テーブルの構成を示す図、第7図は転送ベクトル・テ
ーブルのェントリィを示す図、第8図は転送ベクトル・
テーフルを構築するために使用される一連のプログラム
命令を表わす流れ図、第9図はプログラム記憶メモリの
各ページ・セクションにおけるページ・テーブルを走査
するために使用される一連のプログラム命令を表わす流
れ図、第10図は1つのプログラム・モジュールから他
のプログラム・モジュールへの転移を許す一連のプログ
ラム命令を表わす流れ図である。 10・・・・・・アドレシング装置、12・・・・・・
ページ・メモリ、14・・・・・・中央処理装置、16
・・・・・・アドレス・バス、18・・・・・・データ
・バス、20・・・・・・制御バス、2 2・・・・・
・ベースROM、2 4......ページROM、2
6・・…・ROMアドレス・デコード回路、28..・
…ベースRAM、3 0・・・…ページRAM、32…
・・・ページ・レジスタ、34……ページ・ビツト・バ
ス、36……ページ・レジスタ・デコード回路、38…
…ページ・レジスタ読出ゲート、40……チップ選択バ
ス、42……RAMコントローラ、44・・・・・・C
ASデコード回路、46・・・・・・RAMアドレス・
バス、48・・・・・・列アドレス・ストローブ(CA
S)バス。 FIG.I FIG.2 FIG.3A FIG.38 FIG.3 FIG.4 FIG.5 FIG.6 FIG.7 FIG.8 FIG.9 FIG.10

Claims (1)

  1. 【特許請求の範囲】 1 下記構成要素(イ)ないし(ニ)を備えたことを特
    徴とする、コンピユータ・システム。 (イ) 制御信号及びアドレス信号を供給する処理装置
    。 該制御信号は遂行すべきメモリ動作の各々を表わし、該
    アドレス信号はその長さによつて制限された予定のアド
    レス空間におけるアドレスを指定する。(ロ) 前記予
    定のアドレス空間でアドレス可能なメモリ装置。 該メモリ装置は、前記予定のアドレス空間の第1部分で
    アドレス可能な読取専用メモリ及び前記予定のアドレス
    空間の第2部分でアドレス可能なランダム・アクセス・
    メモリを含む。該読取専用メモリ及び前記ランダム・ア
    クセス・メモリの各々は非ページ部分及び複数のページ
    部分へそれぞれ分割され、該非ページ部分の各々は前記
    アドレス信号によつて直接的にアドレスされ、所与の前
    記ページ部分はページ信号によつて能動化されるとき前
    記アドレス信号によつてアドレスされるように構成され
    てい。(ハ) 前記ページ部分をそれぞれ記憶する選択
    可能な第1ないし第3のページ・レジスタ。 (ニ) 前記制御信号及び前記予定のアドレス空間の第
    1部分又は第2部分を指定する選択された前記アドレス
    信号に応答して前記第1ないし第3のページ・レジスタ
    のうち1つを選択するページ・レジスタ選択装置。 該ページ・レジスタ選択装置は、前記読取専用メモリの
    ページ部分で読取動作が行われるときは前記第1のペー
    ジ・レジスタを選択して該レジスタから前記ページ信号
    を供給させ、前記ランダム・アクセス・メモリのページ
    部分で読出動作が行われるときは前記第2のページ・レ
    ジスタを選択して該レジスタから前記ページ信号を供給
    させ、前記ランダム・アクセス・メモリのページ部分で
    書込動作が行われるときは前記第3のページ・レジスタ
    を選択して該レジスタから前記ページ信号を供給させる
    ように構成されている。
JP56203786A 1981-02-05 1981-12-18 コンピュ−タ・システム Expired JPS607301B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US231653 1981-02-05
US06/231,653 US4443847A (en) 1981-02-05 1981-02-05 Page addressing mechanism

Publications (2)

Publication Number Publication Date
JPS57130159A JPS57130159A (en) 1982-08-12
JPS607301B2 true JPS607301B2 (ja) 1985-02-23

Family

ID=22870133

Family Applications (1)

Application Number Title Priority Date Filing Date
JP56203786A Expired JPS607301B2 (ja) 1981-02-05 1981-12-18 コンピュ−タ・システム

Country Status (2)

Country Link
US (1) US4443847A (ja)
JP (1) JPS607301B2 (ja)

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3176950D1 (en) * 1981-08-12 1989-01-12 Ibm Extended addressing apparatus and method for direct storage access devices
US4803655A (en) * 1981-12-04 1989-02-07 Unisys Corp. Data processing system employing a plurality of rapidly switchable pages for providing data transfer between modules
IT1183808B (it) * 1985-04-30 1987-10-22 Olivetti & Co Spa Circuito elettronico per collegare un microprocessore ad una memoria ad elevata capacita
EP0205692B1 (en) * 1985-06-18 1991-10-16 International Business Machines Corporation Improvements in microprocessors
DE3532812A1 (de) * 1985-09-13 1987-03-26 Siemens Ag Verfahren zur adressbereichserweiterung eines mikrocomputers und anordnung zur durchfuehrung des verfahrens
US4761736A (en) * 1986-01-02 1988-08-02 Commodore Business Machines, Inc. Memory management unit for addressing an expanded memory in groups of non-contiguous blocks
US5724540A (en) * 1988-03-28 1998-03-03 Hitachi, Ltd. Memory system having a column address counter and a page address counter
GB8825764D0 (en) * 1988-11-03 1988-12-07 Lucas Ind Plc Computer memory addressing system
US5155826A (en) * 1988-12-05 1992-10-13 Fadem Richard J Memory paging method and apparatus
US4979148A (en) * 1988-12-09 1990-12-18 International Business Machines Corporation Increasing options in mapping ROM in computer memory space
JPH02242355A (ja) * 1989-03-16 1990-09-26 Fujitsu Ltd 拡張アドレス空間を持つマイクロプロセシングシステム
US5301327A (en) * 1989-06-30 1994-04-05 Digital Equipment Corporation Virtual memory management for source-code development system
IT1254937B (it) * 1991-05-06 1995-10-11 Aggiornamento dinamico di memoria non volatile in un sistema informatico
DE4215063C2 (de) * 1991-05-10 1999-11-25 Intel Corp Einrichtung und Verfahren zum Seitenwechsel bei einem nicht-flüchtigen Speicher
US5603011A (en) * 1992-12-11 1997-02-11 International Business Machines Corporation Selective shadowing and paging in computer memory systems
US5822784A (en) * 1993-03-19 1998-10-13 Intel Corporation Mechanism supporting execute in place read only memory applications located on removable computer cards
US5555510A (en) * 1994-08-02 1996-09-10 Intel Corporation Automatic computer card insertion and removal algorithm
DE4443326A1 (de) * 1994-12-06 1996-06-13 Merk Gmbh Telefonbau Fried Speicheranordnung einer Steuereinrichtung mit einem Mikroprozessor
US5822581A (en) * 1995-09-29 1998-10-13 Intel Corporation Method for CMOS configuration information storage and retrieval in flash
US5930504A (en) * 1996-07-22 1999-07-27 Intel Corporation Dynamic nonvolatile memory update in a computer system
US5940345A (en) * 1997-12-12 1999-08-17 Cypress Semiconductor Corp. Combinational logic feedback circuit to ensure correct power-on-reset of a four-bit synchronous shift register
EP3283796B1 (en) * 2015-04-13 2024-12-25 Oceaneering International, Inc. Composite circular connector seal and method of use

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR111574A (ja) * 1973-12-13 1900-01-01
US4158227A (en) * 1977-10-12 1979-06-12 Bunker Ramo Corporation Paged memory mapping with elimination of recurrent decoding
US4218741A (en) * 1978-06-23 1980-08-19 International Business Machines Corporation Paging mechanism

Also Published As

Publication number Publication date
US4443847A (en) 1984-04-17
JPS57130159A (en) 1982-08-12

Similar Documents

Publication Publication Date Title
JPS607301B2 (ja) コンピュ−タ・システム
JP3670041B2 (ja) 不揮発性メモリチップイネーブル符号化方法、コンピュータシステム、およびメモリコントローラ
EP0192202B1 (en) Memory system including simplified high-speed data cache
US5307320A (en) High integration DRAM controller
US3979726A (en) Apparatus for selectively clearing a cache store in a processor having segmentation and paging
US4374417A (en) Method for using page addressing mechanism
US5341494A (en) Memory accessing system with an interface and memory selection unit utilizing write protect and strobe signals
US6141739A (en) Memory Interface supporting access to memories using different data lengths
JPS6226726B2 (ja)
JP3605205B2 (ja) データ処理装置および処理方法
KR920006615B1 (ko) 다이렉트 맵핑 방식과 뱅크 맵핑 방식으로 동작이 가능한 정보처리장치 및 맵핑 전환방법
US5535349A (en) Data processing system and method for providing chip selects to peripheral devices
EP0057815B1 (en) Page addressing mechanism and method for using the same
US6023750A (en) Microcontroller having dedicated hardware for memory address space expansion via auxilliary address signal generation
US5751998A (en) Memory accessing system with portions of memory being selectively write protectable and relocatable based on predefined register bits and memory selection RAM outputs
JPH0326864B2 (ja)
JP2005222519A (ja) メモリに記憶されたデータワード内のビット値へのアクセス
JP2954988B2 (ja) 情報処理装置
JP3449749B2 (ja) 情報処理装置
EP0373594B1 (en) Computer memory having its output lines selected for connection to a data bus by the memory address
JP3345050B2 (ja) 二次元配列型メモリシステム
JPS58179977A (ja) メモリ制御装置
JP2002318779A (ja) デバイス装置とそのレジスタのアクセス方法
JPH08221322A (ja) メモリの制御装置およびメモリの制御方法
JPS623353A (ja) アドレス空間拡張装置