JPH0154729B2 - - Google Patents

Info

Publication number
JPH0154729B2
JPH0154729B2 JP19805383A JP19805383A JPH0154729B2 JP H0154729 B2 JPH0154729 B2 JP H0154729B2 JP 19805383 A JP19805383 A JP 19805383A JP 19805383 A JP19805383 A JP 19805383A JP H0154729 B2 JPH0154729 B2 JP H0154729B2
Authority
JP
Japan
Prior art keywords
instruction
extended
address
code
undefined
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
JP19805383A
Other languages
English (en)
Other versions
JPS6091461A (ja
Inventor
Hiroshige Ishikawa
Takaaki Uno
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.)
Sharp Corp
Original Assignee
Sharp 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 Sharp Corp filed Critical Sharp Corp
Priority to JP19805383A priority Critical patent/JPS6091461A/ja
Publication of JPS6091461A publication Critical patent/JPS6091461A/ja
Publication of JPH0154729B2 publication Critical patent/JPH0154729B2/ja
Granted legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication

Description

【発明の詳細な説明】 〈技術分野〉 本発明は、マイクロコンピユータの中央処理装
置(以下CPUと呼ぶ)のデータアドレス空間を
拡張するための装置(以下EAPと呼ぶ)に関す
るものである。
〈従来技術〉 第1図は、従来のマイクロコンピユータシステ
ムにおけるCPU1とメモリ2の結線関係を概念
的に示したものである。ある種のCPUたとえば
Z80では、メモリは物理的にコード、データ、ス
タツクの3つのメモリに分離されているわけでは
ないが、論理的には一般にこのように分離できる
と考えてよい。データ信号線3上には、コードメ
モリ2aからの命令コードや、データメモリ2b
やスタツクメモリ2cとCPU1間で送受される
データが乗せられる。アドレス信号線4上には、
メモリ2をアドレス指定するためのアドレスが乗
せられる。ある種のCPU例えばZ8001では、アド
レス信号線4とデータ信号線3を共用し、時分割
的に使用しているものもあるが、これも概念的に
は第1図によつて表わすものとする。制御信号線
5上にはメモリ2をアクセスするための信号、例
えばZ80では、、が乗せられる。
この方式では、アドレス信号線4のビツト数と
命令のアドレシングモードによつて、アドレス指
定可能なメモリ2の範囲、いわゆるメモリアドレ
ス空間の大きさが固定化してしまい、マイクロコ
ンピユータの応用分野によつては使いにくいとい
う欠点が出てくる。例えばZ8001 CPUでは、ア
ドレス指定の方法にセグメントアドレスという考
え方を採用したため、セグメント境界において、
メモリアドレスの連続性が保たれず多量の連続ア
ドレスを必要とするような応用には不向きであ
る。
Z8001 CPU1では、メモリアドレスの指定に
第2図に示すように、セグメントアドレスSN0
〜SN6とオフセツトアドレスA0〜A15の合
計23本のアドレス信号線4を用いている。しか
し、オフセツトアドレスとセグメントアドレスの
間には、オフセツトアドレスがその最大値65535
番地を越えると、セグメントアドレスが桁上げさ
れるという算術的関係を設けていない。従つて、
セグメント境界を越えてメモリをアクセスする場
合には、常にプログラムでセグメントアドレスを
変える操作をしなければならない。これは処理速
度の低下を招く原因となる。
1データ単位が65536バイトを越え、複数のセ
グメントにわたつてのデータを扱う例として、例
えばマトリツクス演算におけるマトリツクス情報
や、ワードプロセシングにおけるテキスト情報、
データ集録装置における計測データなどがある。
これらのデータの処理においては一般に次の事項
が要求される。
可変長データの取扱い データのランダムアクセス 第2図のセグメントアドレス方式では、や
に際して通常プログラムによるセグメントアドレ
スの書き換え操作を必要とする。
上述のように1データ単位が65536バイトを越
す応用は多いが、プログラムつまりコードメモリ
2aが65536バイトを越す応用は一般に少ない。
また65536バイトを越える応用があつたとしても、
プログラムの記述は論理的なものであり、複数の
セグメントに渡つてプログラム(コード)が配置
されるのは事前に知ることができるので、セグメ
ント通過時のみセグメントアドレス書き換えの命
令を置けばよく、プログラム全体に占めるこの部
分のメモリ占有の比率もプログラム実行時間の比
率も問題にならない。従つて、プログラムに関す
る限り、複数セグメント使用による実行処理速度
の低下は問題にならない。
〈発明の目的〉 本発明は、マイクロプロセツサのこのようなデ
ータアドレス指定上の欠点を補うために考案され
たものである。
〈実施例〉 第3図は、本発明によるデータアドレス空間拡
張装置(EAP)6をマイクロコンピユータシス
テムに組み込んだ場合の、CPU1、メモリ2と
の結線図を概念的に示したものである。アドレス
信号線4、データ信号線3、制御信号線5のもつ
意味は第1図の説明と同じである。第3図におい
て、データメモリ2bは、CPU1の命令セツト
中のデータメモリ参照命令によつてアクセスさ
れ、拡張アドレスデータメモリ2dは、CPU1
にとつては未定義命令である拡張命令によつてア
クセスされる。拡張アドレスデータメモリ2dが
兼用できる場合、データメモリ2bは省略しても
よい。
CPU1が定義命令を実行している期間、EAP
6のIIとIO、及びAIとAOはそれぞれ論理的に結
線され、第3図は第1図と同じ動作をする。
CPU1が未定義命令をフエツチすると、この
未定義コードはIIからEAP6に取り込まれるが、
CPU1には未定義コードの代わりに、あらかじ
め未定義コードに対応してEAP6内部に用意さ
れている定義命令列がIOを経由して供給される。
CPU1はこのIOから与えられる定義命令列を実
行することにより、拡張アドレスデータメモリ2
dをアクセスするために必要な制御信号を出力す
る。
EAP6は取り込んだ上述の未定義コードを拡
張命令と解釈し、拡張命令のソースsrc、または
デステイネーシヨンdstとなる拡張アドレスデー
タメモリ2dのアドレスを出力する。またEAP
6はこの間、メモリ2に拡張アドレス出力通知信
号EXAENBを出力する。
拡張命令には次の機能をもつ命令が含まれる。
LD R、src…Load into Register LD dst、R…Load into Memory (store) 第1の命令は、EAP6のもつアドレシングモ
ードによつて決められる拡張アドレスデータメモ
リ2d内のメモリアドレスの内容をCPU1の内
部レジスタへロードする命令であり、第2の命令
は、CPU1の内部レジスタの内容をEAP6のも
つアドレシングモードによつて決められる拡張ア
ドレスデータメモリ2d内のメモリアドレスヘス
トアする命令である。
拡張命令は、拡張アドレスデータメモリ2dの
アクセス制御信号として、上述のようにCPU1
の定義命令列実行に伴なつて発生する制御信号を
用いているので、EAP6側にハードウエアを用
意すれば、拡張命令にも定義命令のアドレシング
モードはすべてもたせることができる。
既述のような大容量のデータメモリを扱う応用
では、次のアドレシングモードは特に有効であ
る。
イデツクスアドレシング ベースアドレシング 間接アドレシング 第4図はEAP6内のブロツク図である。1例
としてCPU1をZ8001とした場合の本装置につい
て説明する。
レジスタ演算ユニツトRALU15は、インデ
ツクスレジスタ、ベースレジスタ、間接レジスタ
となることできるレジスタをもつ。これらのレジ
スタは、双方向バスとなつている命令出力IOと
制御入力CIを動作させることにより、CPUの入
力命令IN、出力命令OUTによつて参照される。
レジスタアクセス制御回路RAC20は上記レ
ジスタ演算ユニツトRALU15中のレジスタや
後述するプログラムカウンタPC16の値をCPU
1から参照可能とする。
CPU1が定義命令を実行している期間、命令
マルチプレクサIM11は、論理的に命令入力II
と命令出力IOを結線し、アドレスマルチプレク
サAM17は、論理的にアドレス入力AIとアド
レス出力AOを結線し、タイミング発生回路TG
14は、拡張命令実行通知信号EXIENBを非ア
クテイブにする。
CPU1が未定義命令すなわち拡張命令をフエ
ツチすると、このEAP6はこの命令コードに代
えて命令ROM18中の定義命令列を出力する。
定義命令列は、CPU1の定義命令の組み合せか
ら構成され、CPU1による定義命令列の実行は、
未定義命令の前後でCPU1の内部状態に影響を
及ぼさないようになつている。
EAP6は、取り込んだ拡張命令コードを命令
レジスタIR12にラツチし、命令レコーダID1
3で解読する。解読の結果、次の事項が決定し、
必要なタイミング信号がタイミング発生回路TG
14において作成される。
(i) 機能 (ii) アドレシングモード (iii) ソースレジスタ、デステイネーシヨンレジス
タ (i)はロード命令とストア命令の区別であり、(ii)
はインデツクス、ベース、間接の指定である。(iii)
はソース又はデステイネーシヨンとなるCPUレ
ジスタR0〜R15の指定である。
第5図は拡張命令のフオーマツトの例である。
命令語長は、レジスタ間接アドレシングは1語、
インデツクスとベースアドレシングモードは3語
になつている。
定義命令列は各拡張命令に対して用意されたプ
ログラムブロツクより構成されている。各拡張命
令のデコードに従つて、命令アクセス制御回路
IAC19が動作し、対応するプログラムブロツク
がシーケンシヤルにアクセスされ、命令マルチプ
レクサTM11を経由して命令出力IOへ出力す
る。定義命令列は次のために用意されている。
1 拡張命令の第2語、第3語のアクセスタイミ
ングCPU1に発生させる 2 拡張命令の各アドレシングモードを擬似的に
CPU1に発生させる 3 拡張命令実行毎にCPU1内のソースレジス
タからデータを出力させる 4 拡張命令実行毎にCPU1内のソースレジス
タにデータを取り込む 拡張アドレスの計算はアドレシングモードによ
つて異なる。レジスタ間接アドレシングの場合、
レジスタ演算ユニツトRALU15内の特定レジ
スタを間接レジスタとし、その内容をプログラム
カウンタPC16にロードする。インデツクスア
ドレシングモードの場合、レジスタ演算ユニツト
RALU15内の特定レジスタをインデツクスレ
ジスタとする。インデツクスレジスタの内容と
EAP6に取り込まれた命令の第2語を基準アド
レス(上位)、第3語基準アドレス(下位)とす
る値をレジスタ演算ユニツトRALU15で加算
し、結果をプログラムカウンタPC16にロード
する。ベースアドレシングモードの場合、レジス
タ演算ユニツトRALU15内の特定レジスタを
ベースレジスタとし、この内容とEAPに取り込
まれた命令の第2語を上位、第3語を下位とする
偏移値をレジスタ演算ユニツトRALUで加算し、
結果をプログラムカウンタPC16にロードする。
いずれのアドレシングモードの場合も、ロード
されたプログラムカウンタPC16の内容は、拡
張アドレスの出力タイミングの期間、アドレスマ
ルチプレクサAM17を経由してアドレス出力
AOに出力する。拡張アドレス出力通知信号
EXAENBは拡張アドレスの出力に同期してアク
テイブになる。またプログラムカウンタPC16
の内容は、拡張アドレス出力後インクリメント又
はデクリメントされる。
第6図は、インデツクスアドレシングモードを
もつ拡張命令のタイミングの一例である。この命
令は、ソースレジスタR4の内容を拡張アドレス
へ書き込む機能をもち、コードメモリ(第3図2
a)上でアドレスm―2番地の定義命令#1とア
ドレスm+6番地の定義命令#2にはさまれて置
かれているとする。この3語からなる定義命令の
フエツチは定義命令#1によつて起動される。起
動された拡張命令のコードはEAP6の命令レジ
スタIR12に取り込まれ、CPU1にはこのコー
ドに代えて、LD R2、R2の命令コードが与えら
れる。拡張命令の第2語の取り込みは、上述の
LD R2、R2命令によつて起動される。同様の動
作繰返しにより、拡張命令の第2語、第3語のレ
ジスタ演算ユニツトRALU15への取り込みと
次命令の起動が行なわれる。この場合、命令
ROM18に置かれる定義命令コード列は次のよ
うになる。
LD R2、R2 LD R2、R2 LD R6、R4 第3の命令は、メモリ読込みとメモリ書込みの
二つのCPUマシン状態をもつ命令である。メモ
リ読み込みサイクルで拡張命令の第3語をレジス
タ演算ユニツトRALU15に取り込み、メモリ
書き込みサイクルでソースレジスタR4の内容を
上記レジスタ演算ユニツトRALU15でアドレ
ス計算された拡張アドレスへ書込む。
なお上述のアドレス計算が拡張アドレスの出力
タイミングまでに完了しない場合、CPUタイミ
ング調整信号TCをアクテイブにし、CPU1をウ
エイト又はストツプさせる。
〈発明の効果〉 以上のように本発明は、処理速度の低下を招く
ことなく、拡張命令によつて指定されるメモリア
ドレス(拡張アドレス)を算出できるものであ
り、かつ拡張命令は、拡張アドレスメモリのアク
セス制御信号として、CPUの定義命令列実行に
伴つて発生する制御信号を用いるので、簡単な構
成で、拡張命令にも定義命令のすべてのアドレシ
ングモードをもたせることができ、有用なデータ
アドレス空間拡張装置が提供できる。
【図面の簡単な説明】
第1図は従来のマイクロコンピユータシステム
におけるCPUとメモリの結線関係を概念的に示
す図、第2図は従来のセグメントアドレス方式を
説明する図、第3図は本発明装置を組み込んだ場
合の結線関係を概念的に示す図、第4図は本発明
装置の一実施例を示す内部ブロツク図、第5図は
拡張フオーマツトの例を示す図、第6図は拡張命
令のタイミングの一例を示す図である。 1…CPU、2…メモリ、2d…拡張アドレス
データメモリ、6…データアドレス空間拡張装
置、11…命令マルチプレクサ、15…レジスタ
演算ユニツト、16…プログラムカウンタ、17
…アドレスマルチプレクサ、18…命令ROM。

Claims (1)

  1. 【特許請求の範囲】 1 少なくとも次の各項構成、 (a) 命令入力からの命令コード列を読み込み、こ
    の命令コード列の中から、外部に接続された
    CPUの定義された命令セツトのコード(定義
    命令コードと呼ぶ)以外のコード(未定義命令
    コードと呼ぶ)を検出する能力を有し、命令入
    力が定義命令コードの場合には該定義命令コー
    ドを命令出力に直接出力し、未定義命令コード
    の場合には命令ROMからの命令列を前記未定
    義コードに代えて命令出力に出力する命令マル
    チプレクサと、 (b) 前記未定義コードに代えて、1語または複数
    語からなる拡張命令の命令語を読み込むために
    必要な制御信号と、上記拡張命令のアドレシン
    グモードに伴なうメモリアクセスに必要な制御
    信号を前記CPUのメモリアクセス制御信号か
    ら得るため、及び前記拡張命令のソースレジス
    タ又はデステイネーシヨンレジスタとして
    CPU内部レジスタの一つを指定するため、複
    数の定義命令より構成された定義命令コード列
    を前記命令マルチプレクサに出力する命令
    ROMと、 (c) 前記拡張命令によつて指定されるメモリアド
    レス(拡張アドレスと呼ぶ)を算出する機能を
    有するレジスタ演算ユニツトと、 (d) 前記拡張アドレスをアドレスマルチプレクサ
    に出力後、上記拡張命令コードに従つて該拡張
    アドレス値をインクリメントまたはデクリメン
    トすることによつて更新し、更新された拡張ア
    ドレス値を保持する機能を有するプログラムカ
    ウンタと、 (e) 前記命令マルチプレクサの命令入力が定義命
    令コードの場合には、アドレス入力の値をアド
    レス出力に直接出力し、未定義命令すなわち拡
    張命令の場合には上記プログラムカウンタから
    出力する更新前の拡張アドレス値をアドレス出
    力に出力するアドレスマルチプレクサと、 を備えてなることを特徴とするマイクロプロセツ
    サのデータアドレス空間拡張装置。
JP19805383A 1983-10-21 1983-10-21 マイクロプロセツサのデ−タアドレス空間拡張装置 Granted JPS6091461A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP19805383A JPS6091461A (ja) 1983-10-21 1983-10-21 マイクロプロセツサのデ−タアドレス空間拡張装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP19805383A JPS6091461A (ja) 1983-10-21 1983-10-21 マイクロプロセツサのデ−タアドレス空間拡張装置

Publications (2)

Publication Number Publication Date
JPS6091461A JPS6091461A (ja) 1985-05-22
JPH0154729B2 true JPH0154729B2 (ja) 1989-11-21

Family

ID=16384744

Family Applications (1)

Application Number Title Priority Date Filing Date
JP19805383A Granted JPS6091461A (ja) 1983-10-21 1983-10-21 マイクロプロセツサのデ−タアドレス空間拡張装置

Country Status (1)

Country Link
JP (1) JPS6091461A (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS623353A (ja) * 1985-06-28 1987-01-09 Toshiba Corp アドレス空間拡張装置

Also Published As

Publication number Publication date
JPS6091461A (ja) 1985-05-22

Similar Documents

Publication Publication Date Title
US4937738A (en) Data processing system which selectively bypasses a cache memory in fetching information based upon bit information of an instruction
US4047245A (en) Indirect memory addressing
JPH0154729B2 (ja)
JPS6055911B2 (ja) 主記憶装置
JPH04181454A (ja) データアクセス制御装置
JPS60193046A (ja) 命令例外検出方式
JPH0250495B2 (ja)
JPH04128961A (ja) マルチプロセッサ制御方式
JPS6252334B2 (ja)
JP2000029508A (ja) プログラマブルコントローラ
JPS63120336A (ja) メモリアクセスモ−ド切替え方式
JPH09106347A (ja) 情報処理装置及び情報処理装置のスタック記憶方法
JPH05334074A (ja) マイクロプロセッサ
JPS626341A (ja) 情報処理装置
JPH0795288B2 (ja) マイクロコンピュータ
JPS6126701B2 (ja)
JPS63317857A (ja) メモリアクセス回路
JPH024011B2 (ja)
JPS62166449A (ja) 論理装置の履歴記憶装置
JPH0412855B2 (ja)
JPH02100149A (ja) マイクロコンピュータ
JPS6159552A (ja) 主記憶状態情報制御方式
JPH01258169A (ja) 共有メモリアドレス指定方式
JPH0378845A (ja) 主記憶キー制御方式
JPH0567975B2 (ja)