JPH09505428A - ページアドレスモードを有するマイクロコントローラ - Google Patents

ページアドレスモードを有するマイクロコントローラ

Info

Publication number
JPH09505428A
JPH09505428A JP8510023A JP51002396A JPH09505428A JP H09505428 A JPH09505428 A JP H09505428A JP 8510023 A JP8510023 A JP 8510023A JP 51002396 A JP51002396 A JP 51002396A JP H09505428 A JPH09505428 A JP H09505428A
Authority
JP
Japan
Prior art keywords
address
memory
microcontroller
page
mode
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
JP8510023A
Other languages
English (en)
Inventor
ネイル バーンズ
オリ ミズラヒ−シャロム
Original Assignee
フィリップス エレクトロニクス ネムローゼ フェンノートシャップ
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 フィリップス エレクトロニクス ネムローゼ フェンノートシャップ filed Critical フィリップス エレクトロニクス ネムローゼ フェンノートシャップ
Publication of JPH09505428A publication Critical patent/JPH09505428A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/34Addressing or accessing the instruction operand or the result ; Formation of operand address; Addressing modes
    • G06F9/342Extension of operand address space
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • 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
    • G06F12/0615Address space extension
    • G06F12/0623Address space extension for memory modules
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline, look ahead
    • G06F9/3861Recovery, e.g. branch miss-prediction, exception handling

Abstract

(57)【要約】 メモリアドレス空間を多重ページアドレス空間の1ページに制限して、性能の改善を図るページゼロモードを有するマイクロコントローラ。アドレスマッピングロジック及びメモリセグメント選択ロジックはアドレスを或る可能な24ビットアドレスの最下位16ビットに限定する。除外される高次のアドレスクロックサイクルを有する異なる又は代替マイクロコードプログラム制御の命令シーケンスはページゼロモードで用いられる。

Description

【発明の詳細な説明】 ページアドレスモードを有するマイクロコントローラ 発明の背景発明の分野 本発明は各々が64キロバイトの256ページに分けられる16メガバイトを 含むデータ及び命令メモリに対するアドレスレンジを有し、且つプログラムコー ド及びデータのアドレスを命令及びデータメモリの第1ページに限定するページ ゼロモードを有しているマイクロコントローラに関するものであり、特に全ての 命令及びデータのアドレスを或る可能な24ビットアドレスの最下位16ビット に限定して、性能を改善し、且つ使用スタック空間を減らすシステムに関するも のである。関連する従来技術の説明 命令及びデータメモリの容量を16メガバイトのような大容量とすることがで き、しかも24ビットの如き大きなアドレスを使用するマイクロプログラム制御 のマイクロコントローラでは、プログラムをメモリの小さめのセグメント、例え ば64キロバイト(Kb)に限定する場合に、命令アドレス及びデータアドレス のビット16〜23は変わらず、フェッチ(読取り)又はプレース(書込み)操 作中にこれらのビットを更新する命令クロックサイクルが浪費されることになり 、このような状況では命令が有効に実行されることにならない。マイクロコント ローラを64Kbの如き限定量の命令及びデータメモリだけで構成する場合には 、クロックサイクルの同様な浪費が生じ得る。この命令クロックサイクルの浪費 は特に、ジャンプ、呼出し及び復帰並びに他のプログラムフロー変更形式の命令 を実行する場合に明らかとなる。斯かる浪費は、割込みや例外及びこれらの操作 からの復帰を実行する場合に、これらの操作がプログラムカウンタの内容をスタ ックへと及びスタックから転送するから一層明らかとなる。 そこで、必要なことはシステムが斯様な状況にてフェッチ及びプレース、即ち 書込み操作中アドレスの最上位ビットを更新しないで、無視するようにすること である。 発明の概要 本発明の目的は、コンピュータメモリのアクセス操作がメモリの1つのページ に限定されるページモードを有するマイクロコントローラを提供することにある 。 本発明の他の目的は、高次アドレスビットを更新する命令クロックサイクルが 実行されないようにするモードを提供することにある。 本発明の目的はアドレスがビットサイズに限定されるモードを提供することに もある。 本発明のさらに他の目的はスタックの利用率を低減させることにある。 上記諸目的はメモリのアクセス能率を改善するために、メモリのアドレス空間 を全アドレス空間よりも小さく制限し得るページゼロモードを有するマイクロコ ントローラによって達成することができる。各データ又は命令メモリをアクセス するアドレスは、各々64キロバイトから成る例えば256ページ、即ち総計1 6メガバイトのうちの第1、即ちゼロページだけをアドレス指定すべくマイクロ コントローラを条件付けることが可能なアドレスの最下位ビットに制限する。ア ドレスマッピング兼リミットロジックはアドレスを或る可能な24ビットアドレ スの最下位16ビットに限定する。ページゼロモードに対する種々の、又は代替 マイクロコードプログラム制御命令シーケンスは全アドレス空間を普通にアドレ スする命令に対する命令クロックサイクルの数を少なくする。 以下図面を参照して本発明を説明するに、同様な部分には同じような番号を付 して示してある。 図面の簡単な説明 図1は本発明によるマイクロコントローラを示し; 図2及び図3はメモリ編成を示し; 図4はページゼロのアドレス回路を示し; 図5はマイクロコードプログラムのアドレス指定を示し; 図6は呼出し割込み(CALLI)命令のステップを示す。 好適実施例の説明 本発明は、好ましくは16メガバイト(Mb)のアドレス空間を含むと共に6 4キロバイト(Kb)の第1、即ちゼロ番ページのみをアドレスするページゼロ モードを含む16ビットのマイクロコントローラシステムに関するものである。 マイクロコントローラを64Kb又はそれ以下の別個の命令及びデータメモリ( これらのメモリの幾つか、又は全てはオン−チップとし得る)で構成するか、又 は実行するプログラムを各々64Kb又はそれ以下の命令及びデータとする場合 、24ビットアドレスの上位8ビットを発生すための操作は、マイクロコントロ ーラをページゼロモードとすることにより除外することができ、これによりアク セス効率を改善し、しかも割込みサービスルーチンを得るのに必要とされる時間 である割込み待ち時間を短くすることができる。マイクロコントローラの諸相は 一般的なものであるため、これらについては簡単に説明するだけとした。 本発明によるマイクロコントローラシステムの構成を図1に示してある。この システムは、16ビットの算術演算を行なうと共に好ましくは8Kb〜64Kb で構成される内部命令及びデータの記憶を含むシングルチップのマイクロコント ローラ12を具えている。このマイクロコントローラ12は外部装置14及び1 6を支援し、且つ24ビットの外部アドレス能力によって16メガバイトの外部 命令記憶18及び16メガバイトの外部データ記憶20を支援する。マイクロコ ントローラ12は、双方向の外部アドレス兼データバス24により外部メモリ1 8及び20と通信すると共に実行ユニット70及びフェッチユニット78からの 要求に応答する全ての外部通信を処理するバスインタフェースユニット22を具 えている。マイクロコントローラ12は特殊機能レジスタ(SFR)40として アドレス可能なI/Oポート24〜26を経て外部装置14及び16と通信する 。ポート24〜26並びに他の特殊機能レジスタはバスインタフェースユニット 22を経て内部周辺バス42によってアドレスすることができる。データメモリ 20も、図面の簡略化のために図示してはないが、I/Oポート24〜26を経 てオフ−チップメモリマップI/Oとしてアクセスすることができる。オン−チ ップ特殊機能レジスタ40(このうちの幾つかのものはビットアドレス可能であ る)は、外部装置並びにALU72と通信する割込み制御ユニット84と、実行 ユニット70と、フラグ及び汎用制御用のデコードユニット74とに結合される プログラム状態ワード(PSW)レジスタ44も具えている。特殊機能レジスタ 40 は、割込みレジスタ46、タイマレジスタ50及びページゼロモードを示す特殊 なビットを含むシステム構成ビットを包含するシステム構成レジスタ(SCR) 54も具えている。プログラム状態ワードレジスタ44は汎用レジスタ操作用の 周辺バス42を通じてアドレスすることができ、また他の関連する実行操作用の 、明確には図示してない内部バス86への接続線によりアドレスすることもでき る。バスインタフェースユニット22は周辺の特殊機能レジスタ40とマイクロ コントローラのコア60とを隔離する。コア60はALU72及び他のユニット による命令の実行を制御するマイクロコードプログラマブル実行ユニット70を 具えている。デコードユニット74によって復号化される命令は、命令メモリ空 間の一部である内部EPROM76からか、又は外部命令メモリ18からフェッ チユニット78によってフェッチされる。データメモリ空間の一部である静的R AM80並びにレジスタファイル82の汎用レジスタも命令及びデータの記憶用 に利用することができる。プログラム状態ワードレジスタ44は、手続き呼出し (例外及び割込みを含む)中にスタックにプッシュされると共にそれからホップ され、且つ復帰する16ビットのプログラム状態ワードを含む。PSWレジスタ 44はビットアドレス可能な特殊機能レジスタ空間40におけるワードレジスタ である。このレジスタPSWの高位バイトは、システム/スーパーバイザのレベ ルフラグを包含している保護される半部である。第2バイトは全てのユーザレベ ルフラグを包含し、下記に説明するように機能する。システム構成レジスタ(S CR)54はシステム構成フラグを包含するバイトレジスタである。このレジス タ54は一旦リセットした後にはプログラムされるようにして、その後はそのま まにしておくフラグを包含する。従って、これらのフラグは割込み又は他の処理 手順中セーブする必要がない。これらのフラグの1つであるPZ、即ちページゼ ロフラグは好適実施例にとって重要なものである。レジスタ54がセットされる と、PZフラグは、後に詳述するマイクロコード制御兼ターゲットアドレス検出 ロジックの選択により、小規模構成のメモリアプリケーション用の16ビットの データ及びプログラムメモリアドレスだけを発生させ、他のフラグは場合により 高位アドレスバイトを出力するポート用に用いる。このモードがアクティブ状態 にあるとき、割込みはスタックに16ビットの復帰アドレスだけをセーブする。 マイクロコントローラ12のメモリ編成は図2及び図3に示すようにするのが 好適であり、ここに図2はページへの編成を示し、図3は単一ページの編成をも っと詳しく図示したものである。前述したように、マイクロコントローラ12は 命令メモリ及びデータメモリ用の別個のアドレス空間を有している。プログラム 及びデータメモリを理論的に分けることによってデータメモリのアクセスを速く することができる。なお、“データメモリ”とは、オン−チップのRAM80、 オフ−チップのRAM18又はオフ−チップのメモリマップI/Oのことを云う 。図2で、データメモリ空間118は、間接アドレス指定モードによりアクセス される64Kbのページ120(各ページの最初の1Kブロックは直接アドレス することもできる)に分割される。好ましくは512バイトのデータメモリをオ ン−チップRAM80として作製するが、オン−チップとし得る最小又は最大デ ータメモリに構造上の制約はない。マイクロコントローラ12のアーキテクチャ は、1ページ当りのデータメモリに対する直接アドレス指定空間122を1Kま でとする。SFR空間40は直接アドレスフィールドにおける上位1Kのアドレ スを使用するが、この空間はデータメモリマップの一部ではない。オン−チップ RAMにおける(レジスタファイル82における)アドレス0にて開始し、アド レス1Fの16進数まで進むレジスタRO−R7(図3参照)の4つのバンクが ある。これら4つのバンクの1つはPSWにおける2ビットによりアクティブバ ンクとして選択される。この選択されたバンクは汎用レジスタとして出現する。 オフ−チップRAM20をマイクロコードプログラム及びアドレスロジック制御 のもとでオン−チップRAM80のレンジ外にマップすると、このアドレス空間 へのアクセスは自動的にアクセスオフ−チップデータ位置となり、マイクロコン トローラ12に0−16メガバイトの線形アドレス空間を与えることになる。マ イクロコードのプログラムコード及びアドレス論理制御のもとで同じアドレス可 能空間にてオン−チップメモリにオーバラップするページ0のオフ−チップデー タメモリは間接アドレス指定によってしかアクセスすることができない。各デー タメモリページ120の下部1Kバイト122はマイクロコード及びアドレス論 理制御のもとでデータ空間を直接アドレスすることができる。このアドレス指定 モードは命令内にデータアドレスの下位16ビットを包含する。24ビットアド レスの 上位バイトを形成する直接アドレス空間に関連するセグメントレジスタ(SR) はデータセグメント(DS)レジスタである。SCR54を含む特殊機能レジス タ40はアドレス400から7FFの16進値までの1Kの直接アドレスブロッ ク内にある。このブロックの第1半部がオン−チップSFR空間である。SFR のこの領域はSCR54の如きSFRマップレジスタ及びオン−チップ周辺装置 やI/O用の制御及びデータレジスタをアクセスするのに用いられる。 前述したように、マイクロコントローラのアーキテクチャはRAM空間を各々 64Kの大きさの256ページにセグメント化することにある。直接アドレスは セグメント化したメモリの1Kの各ページに限定される。24ビットの直接アド レスはDS(上位8ビット)と、命令内に形成される斯かる1Kの直接空間のア ドレスとにより形成される。命令に応じてアドレス値の大きさは4ビット、8ビ ット又は16ビットとすることができる。間接アドレスは8ビットのデータセグ メントレジスタ(DS)又はエキストラセグメントレジスタ(ES)に追加され る(汎用レジスタファイル82からの)16ビットのポイタレジスタを使用する ことにより形成される。このセグメンテーションによってメモリアクセス命令の 符号化及び実行を能率化すると共に多重タスキングシステムのもとで実行する処 理を簡単に分離することができる。このアドレス指定モードはセグメントレジス タの内容に応じて、16MBのアドレス空間内におけるどこでもかまわない全て 64Kのデータページをアドレスすることができる。ワードレジスタR0−R7 は間接及び間接オフセットアドレス指定モード中アドレスポインタとしても用い られる。ワードレジスタR7はスタックポインタであり、これはマイクロコント ローラ12がシステムモードにあるか、ユーザモードにあるかどうかに応じてシ ステムスタックポインタか、ユーザスタックポインタのいずれかとなる。SFR アドレス指定モードは1KのSFR空間をアドレスする。上述した直接アドレス 指定と同じ命令フィールド内で符号化するけれども、これは実際には別個の空間 である。間接オフセットアドレス指定モードを用意し、これはアドレスレジスタ の値と即時オフセットの値との和をオペランドの有効アドレスとして用いる。オ フセットは8ビットの符号付きの値とするか、16ビットの符号付きの値とする ことができる。このことは潜在的に斯かるモードで全データページもアクセスす ることである。 図1のシステムにおけるメモリはバイト単位でアドレスされ、各バイトは8ビ ットで構成される。1ワードは16ビットであり、これは2つの連続バイトで構 成される。マイクロコントローラ12におけるデータの記憶順序は、ワードの低 位バイトが低位アドレスに記憶され、高位バイトが隣りの高位アドレスに記憶さ れるようにする。外部バス24はチップのリセット中に選択される8ビット又は 16ビットモードに構成することができる。選択される操作モードに応じて、1 6ビットの全外部データアクセスはワードそのもの(16ビットモード)か、連 続メモリ位置からのバイト(8ビットモード)とすることができる。8ビットモ ードでの外部ワードのフェッチは、2通りの別個のバイトアクセスとなる(結果 は、データがオン−チップにある場合には単一ワードアクセスにおけると同じで ある)。 マイクロコントローラ12においては、呼出し及び復帰操作中に用いられるス タックは高位から低位アドレスへと下方へ発展する。マイクロコントローラ12 のアーキテクチャはLIFO(後入れ先出し法)を支援する。任意所定時間には 、レジスタR7にて見つけたスタックポインタ(SP)がスタックにプッシュさ れた最終ワードをポイントする。新規データがプッシュされると、スタックポイ ンタはメモリに書込む前にディクリメントされる。データがスタックからポップ されると、スタックポインタはそのデータがメモリから読取られた後にインクリ メントされる。スタック操作は2つのスタックポインタ、即ちレジスタファイル 82のレジスタ内に位置するユーザスタックポインタ(USP)と、システムス タックポインタとにより促進される。16ビットのスタックポインタはプッシュ ダウンスタックにおける最上位データをアドレス指定する通例のトップ−オブ− スタックポインタとする。これは暗にPUSH兼POP操作、サブルーテンの呼 出し及び割込み操作が行われることを意味する。或る特定のアプリケーション用 のユーザスタックがオン−チップRAM80にて利用できる空間以上となるか、 又はオン−チップRAM80が他のタイムクリティカル目的を必要とする(オン −チップRAM80がオフ−チップメモリ20よりも迅速にアクセスされるから )場合には、ユーザスタックをオフ−チップに置くことができ、(システムスタ ッ クポインタSSPを用いる)割込みスタックをオン−チップRAM80に置くこ とができる。システムスタックは常にデータメモリセグメント0(データメモリ の最初の64Kバイト又はページ)に押しやられ、又ユーザスタックはDS(デ ータセグメント)レジスタによって選定されるセグメント上に位置付けられる。 完全なプログラムは一般に多数の種々のモジュール又はセグメントで構成する 。しかし、プログラム実行中の任意所定時間においては、通常実際に使用される のはプログラムセグメントのごく僅かなサブセットに過ぎない。作業データセグ メントのアドレスは16ビットのアドレス(ポインタ)及び8ビットのセグメン トアドレスを含む。SFRの8ビットセグメントレジスタ、特にデータセグメン ト(DS)またはエキストラセグメント(ES)レジスタはこの現行セグメント を識別するのに用いられるオフセットを保有する。これらのセグメントレジスタ は16ビットのポインタレジスタ及びスタックポインタに拡張用として用いられ 、データを全部で16メガバイトのアドレスレンジにわたってアクセスできるよ うにする。SFR空間40は7つの各汎用ポインタレジスタ(即ちSPではない )に関連するビットを包含するバイトレジスタを含み、且つDSか、ESを24 ビットのアドレスに対する最上位8ビット用のソースとして選択する。このレジ スタをセグメント選択レジスタ、即ちSSELと称する。これらのセグメントレ ジスタは、これらに関連するポインタレジスタと一緒に自動的にインクリメント されたり、又はディクリメントされたりしないようにし、命令により確実に変更 する必要がある。 例外及び割込みは正規の命令処理を横取りする事象である。例外及び割込み処 理は、正規命令の実行から例外又は割込みを処理するルーチンの実行への遷移を 制御する。各例外及び割込みは関連するハンドラルーチンをポイントする割当て ベクトルを有する。例外及び割込み処理はハンドラルーチンに制御を転送するの に必要とされる全ての操作を含むが、ハンドラルーチンそのものの実行操作は含 まない。例外/割込みベクトルはコードメモリの最初の256バイト、即ちペー ジ0に位置付けられるベクトル表と称するデータ構造内に含める。これら全ての ベクトルは(i)当該実行ハンドラのアドレスと、(ii)このハンドラに対する 初期のPSWの内容との2つのワードから成る。RESET以外の全ての例外及 び割込みは、現プログラムカウンタ(PC)及びPSWの値をスタックに格納さ せると共に現行命令の完了後に使える状態に戻るようにする。例外又は割込み中 には、24ビットの復帰アドレス又はページゼロモードにおける際の16ビット のアドレス及び現行PSWワードがスタックにプッシュされる。スタックされる (高位バイト及び低位ワードの)値を24ビットのアドレスとするか、或いはま た、スタックされる低位ワードの値を現命令ストリームにおける次の命令の16 ビットのアドレスとする。スタックのプッシュ後、プログラムカウンタ(PC) にはベクトル表から対応するハンドラルーチンのアドレスがロードされ、この場 合にPSWレジスタ44には対応するベクトルの上位ワード内にある格納済みの 新規の値がロードされる。 マイクロコントローラ12にて命令を実行させるためにコードアドレス又は命 令アドレスを形成し得る方法は幾つかある。プログラムフローの変更は簡単な相 対ブランチ、長い相対ブランチ、24ビットのジャンプ兼呼出し、16ビットの ジャンプ兼呼出し及び復帰操作で行われる。簡単な相対ブランチは新規のコード アドレスを生成するためにプログラムカウンタ(PC)に加えられる8ビットの 符号付き変位を用いる。計算は、8ビットの相対変位を1ビットだけ左にずらし (この相対変位はワードアドレスに対する変位であるから)、その結果を24ビ ットに符号拡張し、それをプログラムカウンタの内容に加え、且つその結果の最 下位ビットを0にすることにより行われる。長い相対的に無条件のブランチ(J MP)及び16ビットの相対変位を有する呼出しは同じシーケンスを用いる。遠 端のジャンプ及び呼出しは命令中に24ビットの絶対アドレスを含み、プログラ ムカウンタの内容全てを単に新規の値と置き代える。マイクロコントローラ12 のアドレスレンジは16Mbの完全なアドレス空間である。復帰命令はスタック からアドレスを得、このアドレスの長さは復帰の形式及びSCRレジスタにおけ るページゼロモードの設定に応じて、16ビットか、又は24ビットとすること ができる。24ビットアドレスは全プログラムカウンタ値を簡単に置き換える。 16ビットの復帰アドレスはPCの下位16ビットだけを置き換える。 全アドレス空間モード及びページゼロモードの操作におけるアドレス指定操作 中には、コア60(図1参照)内の幾つかの種々のユニットを必要とする。図4 に示したような実行ユニット70は、プログラム状態レジスタ(PSW)44か らユーザモードか、システムモードかを示すシステムモード(SM)ビットを受 取ると共にシステム構成レジスタ(SCR)54からページゼロ(PZ)モード ビットを受取るセグメント選択ロジック200を具えている。セグメント選択ロ ジック200は、PZビットからマイクロコントローラ12がページゼロモード にあるのか、又は全アドレス空間モードにあるのかどうかを決定する。セグメン ト選択ロジック200はバスインタフェースユニット(BIU)22の8ビット マルチプレクサ202及び204に2ビットのセグメント選択信号を与える。全 アドレス空間モードにある場合に、マルチプレクサ202及び204はデータセ グメント(DS)レジスタ206又はエキストラセグメント(ES)レジスタ2 08からアドレス値を選択して、そのアドレスを適切なアドレスとして外部アド レスバス24に供給する。ページゼロモードの期間中には、マルチプレクサ20 2及び204は図示のようにバス24に“0”値のアドレスを供給する。 前述したように、マイクロコントローラ12は種々のビット量のオン−チップ 及び命令メモリで構成することができる。この特殊なオン−チップの命令及びデ ータメモリ構成をハードワイヤードメモリ構成のビット(MCB)として示して あり、これはオン−チップ命令メモリ及びデータメモリの許容構成サイズをそれ ぞれ4Kb、8Kb、16Kb、32Kb及び64Kbと;256バイト、51 2バイト、1Kb及び2Kbとすることを示している。これらのビットはメモリ マッピングロジック、即ちターゲットアドレスデコーダ212に供給され、この デコーダは物理メモリデバイス(レジスタファイル82、静的RAM80及び外 部メモリ18又は20とSFR空間40用のBIU22)がターゲットアドレス レジスタ214及びセグメントレジスタ206と208に格納済みのターゲット アドレスから何をアドレスしているのかを決定する。ターゲットアドレスレジス タ214の内容は内部バス86を経てBIU22及びオン−チップの全てのメモ リデバイスのメモリアドレスレジスタにも供給される。アドレスされているこの 特殊のメモリデバイスも、マイクロコントローラがセグメント選択ロジック20 0によりデコーダ212に指示したページゼロモードにあるかどうかに依存する 。デコーダ212はBIU22のゼロ検出回路(多重ビットANDゲート)21 6及び218からのゼロ検出信号も受信し、この信号はDS及び/又はESレジ スタの全てのビットがゼロであるかどうかを示す。DS又はESレジスタのいず れのビットもゼロでない場合には、ターゲットのDS又はESのアドレスを64 Kbよりも大きくしなければならない。この情報からターゲットアドレスデコー ダ212はイネーブル信号を適当なオン−チップデバイス、即ちBIU22に供 給する。BIU22がイネーブル状態になる場合に、デコーダ212はSFR空 間40又は外部メモリがアドレスされているかどうかも指示する。この特別なデ バイス、即ちBIU22は要求されている特定タイプのメモリアクセス(読み取 り又は書き込み)を行なう。セグメント選択ロジック200をアドレスデコーダ 212と組合わせて用いることにより、メモリアクセスの上位、即ち最上位ビッ トをページゼロモードの操作中無視して、アクセスを単一の64Kbのページ( 第1ページ、即ちページ0)に限定してアクセスを速くする。 前述したように、マイクロコントローラ12は、呼出し及び復帰命令や、他の ブランチタイプの命令を、全アドレス空間がアドレス可能なモードで実行する場 合に、24ビットの命令又はプログラムカウンタのアドレスで作動する。ページ ゼロモードでは16ビットしか使用されず、これによりこのタイプの命令のクロ ックサイクルの一部を除外することができる。このようにするために、デコード ユニット74は図5に示すようにSCR54からページゼロ(PZ)ビットを受 け取る。このビットが正規の、即ち全アドレスモードを示す場合に、デコードユ ニット74は通例のステージングレジスタ230を経てマイクロコードプログラ ムのマイクロコードプログラムスタートアドレスを、24ビットのアドレス操作 を行なう命令用の実行ユニット70のマイクロコードROM232に供給する。 ページゼロモードが指示される場合には、デコードユニット74が、同じ命令の 操作を実行するも、16ビットのアドレスを用いるだけで、1つ以上のクロック サイクルを除外する異なるマイクロコードプログラムのスタートアドレスを供給 する。 複数ステップを除外するマイクロコードプログラムの一例として、特に呼出し 割り込み(CALLI)命令を図6につき説明する。同じ原理はプログラムフロ ータイプの命令の復帰及び他のブランチにも当てはまることは勿論である。正規 の呼出し割り込み命令の実行中の第1ステップはスタックポインタレジスタ(R 7)の内容をフェッチして、ALU72にロードしてから、そこでスタックポイ ンタ(SP)をディクリメントして(250)、メモリアドレスレジスタ(MA R)に供給すると共に、ALU72にロードバックすることにある。この場合に 、プログラムカウンタ(PC)の低次、即ち最下位ビット(LSB)がMARに おけるアドレスにてメモリに書き込まれる(252)。ALU72は再びディク リメントされて(254)、MARに格納され、且つALU72にロードバック される。この場合には、PCの高次、即ち最上位ビット(MSB)がメモリに格 納される(256)。PCのMSBを格納するこのステップは、ステップ256 を迂回するPZによって示すようにCALLI命令用のページゼロ(PZ)マイ クロコードプログラムでは実行されない。ALU72は再びディクリメントされ (258)、MARに与えられ、ポインタレジスタ(R7)にも格納される。プ ログラムステップ258のページゼロモードではPZバイパス径路によって示す ようにはならず、ステップ254はアドレスをMARに与える以外にR7への点 線で示すようにレジスタR7におけるポインタSPにアドレスを格納する。次い でPSWはMAR内容の位置に格納される(260)。次に、全ての割り込みル ーチンがメモリの第1ページで開始するから、ゼロ値はプログラムカウンタの上 位、即ちMSBに格納される(262)。このゼロ強制操作はページゼロモード では行なわれない。割り込みで指定されたベクトル表アドレスはALU72及び MARにロードされ(264)、このアドレスは次にPSWレジスタ44にロー ドされるPSWをフェッチするのに用いられる。ALU72はインクリメントさ れ、その値がMARにロードされ、PCの低次、即ちLSBがフェッチされて( 268)、ロードされる。これによりこの命令を終了する。図から明らかなよう に、命令がページゼロモードで実行される場合に、正規のマイクロコード命令の 幾つかのステップがスキップされる。さらに、ページゼロモードのマイクロコー ドプログラム中のアドレス操作は、ページゼロ(最初の64Kb)の制限された 、即ち限定アドレス空間に限定される。即ち、マイクロコードステップは低次ア ドレスを用いることに限定される。 本発明は上述した例のみに限定されるものではなく、幾多の変更を加え得るこ と勿論である。

Claims (1)

  1. 【特許請求の範囲】 1.第1アドレス空間を有するメモリ;及び 前記メモリに結合され、且つ: 前記メモリの第1アドレス空間よりも小さい第2アドレス空間にアドレスを 制限するアドレス手段と; 前記第2アドレス空間に限定されたアドレスの操作を行なうための実行手段 と; を有するコンピュータ: を具えているマイクロコントローラ。 2.前記アドレス手段がページゼロモードで高次のアドレスビットをゼロにセッ トするようにしたことを特徴とする請求項1に記載のマイクロコントローラ。 3.前記実行手段がプログラムフロー変更命令マイクロコードプログラムを、正 規モードでは所定数のクロックサイクルで実行し、且つページゼロモードでは前 記所定数よりも少ない多数のクロックサイクルで実行するようにしたことを特徴 とする請求項2に記載のマイクロコントローラ。 4.前記実行手段が第1及び第2組のマイクロコードプログラムを含み、該第2 組のマイクロコードプログラムをページゼロモードでは低次のアドレス操作に限 定するようにしたことを特徴とする請求項2に記載のマイクロコントローラ。 5.第1アドレス空間を有するメモリ;及び 前記メモリに結合され、且つ: 第2アドレス空間の高次アドレスビットに対するスタック位置をページゼロ モードでゼロ値に保持すると共に制限することにより、前記メモリの第1アドレ ス空間よりも小さい前記第2アドレス空間アドレスを制限するアドレス手段と; 前記第2アドレス空間に限定されたアドレスの操作を行ない、プログラムフ ロー変更命令マイクロコードプログラムを正規モードでは所定数のクロックサイ クルで実行すると共にページゼロモードでは前記所定数よりも少ない多数のクロ ックサイクルで実行し、且つ第1及び第2組のマイクロコードプログラム を含み、該第2組のマイクロプログラムがページゼロモードで低次のアドレス操 作に限定されるようにする実行手段と; を有するコンピュータ; を具えているマイクロコントローラ。 6.ページゼロモードが有効であるかどうかを決定するステップ; ページゼロモードにあるとき、コンピュータプログラムのアドレスをページ ゼロに制限するステップ;及び ページゼロモードにあるとき、低減クロックサイクル命令を実行するステッ プ; を含むコンピュータプログラム実行方法。 7.前記低減クロックサイクル命令がフロー転送命令のマイクロコードプログラ ムの実行中、高次アドレス操作を除外することを特徴とする請求項6に記載の方 法。
JP8510023A 1994-09-16 1995-08-21 ページアドレスモードを有するマイクロコントローラ Pending JPH09505428A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US30805294A 1994-09-16 1994-09-16
US08/308,052 1994-09-16
PCT/IB1995/000671 WO1996008766A1 (en) 1994-09-16 1995-08-21 Microcontroller having a page address mode

Publications (1)

Publication Number Publication Date
JPH09505428A true JPH09505428A (ja) 1997-05-27

Family

ID=23192336

Family Applications (1)

Application Number Title Priority Date Filing Date
JP8510023A Pending JPH09505428A (ja) 1994-09-16 1995-08-21 ページアドレスモードを有するマイクロコントローラ

Country Status (5)

Country Link
US (1) US6012128A (ja)
EP (1) EP0729612A1 (ja)
JP (1) JPH09505428A (ja)
KR (1) KR960706130A (ja)
WO (1) WO1996008766A1 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0934866A (ja) * 1995-07-18 1997-02-07 Nec Corp マイクロコンピュータ
US6105120A (en) * 1997-01-28 2000-08-15 U.S. Philips Corporation Method for implementing multiple format addressing in an embedded microcontroller, a compiler being arranged for implementing the method, and a microcontroller being arranged for using the method and compiler
JP2001523861A (ja) 1997-11-17 2001-11-27 シーゲイト テクノロジー エルエルシー フレーム受信のための方法及び専用のフレームバッファ
JP3681590B2 (ja) * 1999-10-28 2005-08-10 株式会社ルネサステクノロジ データ処理装置及びデータ処理システム
US7003638B2 (en) * 2002-12-11 2006-02-21 Standard Microsystems Corporation Memory bus interface for use in a peripheral device

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4937820A (en) * 1989-04-04 1990-06-26 Rockwell International Corporation Method and apparatus for combining direct and indirect addressing schemes to multiplex further data with traffic data
US5483646A (en) * 1989-09-29 1996-01-09 Kabushiki Kaisha Toshiba Memory access control method and system for realizing the same
CA2027799A1 (en) * 1989-11-03 1991-05-04 David A. Miller Method and apparatus for independently resetting processors and cache controllers in multiple processor systems
DE69133251T2 (de) * 1990-06-07 2004-01-15 Lg Electronics Inc Verfahren und gerät zur verwaltung von speicherzugriffen auf seite null in einem mehrprozessorsystem
US5274786A (en) * 1990-11-28 1993-12-28 Hewlett-Packard Company Microprocessor memory bus interface for inhibiting relatching of row address portions upon subsequent accesses including a same row address portion
US5659713A (en) * 1992-04-24 1997-08-19 Digital Equipment Corporation Memory stream buffer with variable-size prefetch depending on memory interleaving configuration
US5446898A (en) * 1992-06-22 1995-08-29 International Business Machines Corporation Method and apparatus for configuring and installing a loadable ABIOS device support layer in a computer system
US5392406A (en) * 1992-09-18 1995-02-21 3Com Corporation DMA data path aligner and network adaptor utilizing same
US5479641A (en) * 1993-03-24 1995-12-26 Intel Corporation Method and apparatus for overlapped timing of cache operations including reading and writing with parity checking
US5642491A (en) * 1994-09-21 1997-06-24 International Business Machines Corporation Method for expanding addressable memory range in real-mode processing to facilitate loading of large programs into high memory
JPH08147173A (ja) * 1994-11-18 1996-06-07 Seiko Epson Corp エミュレーション装置

Also Published As

Publication number Publication date
EP0729612A1 (en) 1996-09-04
KR960706130A (ko) 1996-11-08
WO1996008766A1 (en) 1996-03-21
US6012128A (en) 2000-01-04

Similar Documents

Publication Publication Date Title
US10514922B1 (en) Transfer triggered microcontroller with orthogonal instruction set
US5887189A (en) Microcontroller system for performing operations of multiple microcontrollers
US4586130A (en) Central processing unit for a digital computer
JP3683230B2 (ja) データ処理装置、命令セット切換方法、データ処理アーキテクチャおよびデータ処理装置作動方法
KR100309615B1 (ko) 고속프로그램가능로직컨트롤러(plc)
US6317822B1 (en) Instruction encoding techniques for microcontroller architecture
US5249280A (en) Microcomputer having a memory bank switching apparatus for accessing a selected memory bank in an external memory
US6009509A (en) Method and system for the temporary designation and utilization of a plurality of physical registers as a stack
US6338134B1 (en) Method and system in a superscalar data processing system for the efficient processing of an instruction by moving only pointers to data
KR100385495B1 (ko) 워드정렬브랜치타겟을가지는처리시스템
US6687808B2 (en) Data processor using indirect register addressing
US6578139B1 (en) Processor architecture scheme which uses virtual address registers to implement different addressing modes and method therefor
WO1996008769A1 (en) Computer instruction prefetch system
US4812971A (en) Central processing unit for a digital computer
US5987583A (en) Processor architecture scheme and instruction set for maximizing available opcodes and address selection modes
US4893235A (en) Central processing unit for a digital computer
JPH09505428A (ja) ページアドレスモードを有するマイクロコントローラ
US6223275B1 (en) Microprocessor with reduced instruction set limiting the address space to upper 2 Mbytes and executing a long type register branch instruction in three intermediate instructions
US6321319B2 (en) Computer system for allowing a two word jump instruction to be executed in the same number of cycles as a single word jump instruction
WO1996008767A2 (en) Microcontroller system with a multiple-register stacking instruction
JPH0666052B2 (ja) メモリ内容を機械レジスタに自動的に写像する計算機
WO1996008763A2 (en) Method, apparatus and instruction for performing a double jump register indirect operation transfer in a microcontroller
CA1250666A (en) Central processing unit for a digital computer
JP2696578B2 (ja) データ処理装置
JPH0516610B2 (ja)