JPH09505922A - 多数のマイクロ制御器の演算を実行するマイクロ制御器システム - Google Patents

多数のマイクロ制御器の演算を実行するマイクロ制御器システム

Info

Publication number
JPH09505922A
JPH09505922A JP8510719A JP51071996A JPH09505922A JP H09505922 A JPH09505922 A JP H09505922A JP 8510719 A JP8510719 A JP 8510719A JP 51071996 A JP51071996 A JP 51071996A JP H09505922 A JPH09505922 A JP H09505922A
Authority
JP
Japan
Prior art keywords
register
microcontroller
execution means
independent
address
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
JP8510719A
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 JPH09505922A publication Critical patent/JPH09505922A/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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • G06F9/5016Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
    • 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/46Multiprogramming arrangements
    • 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/46Multiprogramming arrangements
    • G06F9/461Saving or restoring of program or task context
    • G06F9/462Saving or restoring of program or task context with multiple register sets

Abstract

(57)【要約】 実行に必要な独立のレジスタ、状態及びデータ空間を持つ数個の前世代又は低エンド世代のマシーン上で走らせるよう開発された処理を走らせる環境を提供するマイクロ制御器、すなわちマイクロ制御器の資源は前世代マシーンの資源のスーパーセットである。1つの処理がもう1つの独立の処理のデータ空間にアクセスすることを制限する能力は、上記独立の処理によりアクセスできない上位の順序のアドレスビットにより制御されるデータ空間区分によって与えられる。別々の作業空間が前世代又は低エンド世代のマシーンの作業空間とほぼ同様に構築され、それによりマイクロ制御器が、一斉に働く数個の独立の前世代又は低エンド世代のマシーンのタスクを実行することを許容する。

Description

【発明の詳細な説明】 多数のマイクロ制御器の演算を実行するマイクロ制御器システム本発明の背景 〔本発明の属する分野〕 本発明は一斉に働く数個の前世代マシーンのタスクを実行することのできるマ イクロ制御器システムを提供することを指向し、更に詳しくいえば、一斉に働く プログラムを持つ前世代又は低エンド世代のマシーンの数個の異なる独立のプロ グラムを多重タスクで実行でき、あたかも物理的に異なる前世代マシーン上を走 るかのようにできる単一のマイクロ制御器を指向する。 〔関連技術の説明〕 今日のマイクロ制御器の市場の競争に生き残るために、設計者達は、より高速 で、より複雑で、より大きなメモリ空間を持つマイクロ制御器を創り出すよう求 められている。しかし顧客達は、より小さく、複雑さがより少なく、より低速な 前世代のマイクロ制御器用に書かれたプログラムに相当の投資をしている。その 結果、より新しい又は高エンドの世代のマイクロ制御器が前世代のプログラムを 実行することができ、なおかつ現世代のマシーンの改善された能力を無駄にしな いようにしたいという要求がある。本発明の概要 求められているのは、幾つかの前世代又は低エンド世代のマシーン上で走るプ ログラムを、プログラムのパフォーマンスを劣化させることなく実行し、あたか もそれらが物理的に別々のマシーン上を走っているかのようであり、一方でプロ グラムの独立した完全性を防護することのできるマイクロ制御器である。 本発明の目的は、低エンド世代又は前世代のマシーンの様々なプログラムの1 つにその各々が割り当てられることのできる完全で独立な作業空間を持つマイク ロ制御器アーキテクチャを提供することである。 前世代マシーンのハードウェア資源をもつ前世代マシーン上で走る幾つかの前 世代プログラムの各々を提供することも本発明の目的である。 本発明のもう1つの目的は、幾つかの前世代マシーンのプログラムを低エンド 世代又は前世代のマシーンよりも高速に走らせる環境を与えるマイクロ制御器を 提供することである。 本発明の更にもう1つの目的は、幾つかの低エンド世代のプログラムにより一 斉に使われる単一のオンチップレジスタ空間を許容することである。 上記の目的は、実行に必要なすべての独立のレジスタ、状態フラグ及びデータ 空間をもつ幾つかの独立な処理を与える単一のマイクロ制御器によって達成でき る。マイクロ制御器はデータ空間又は作業空間の区分を設けることにより1つの 処理の能力がもう1つの独立な処理のデータ空間にアクセスできないように限定 する。別々の作業空間が前世代マシーンの作業空間とほぼ同じように構築され、 それにより一斉に働く幾つかの独立の前世代マシーンのタスクを実行することを マイクロ制御器に許容する。 これらの目的及びその他の目的並びに利点が添付の図面を引用して以下に詳し く述べる記述及び請求項で明らかにされる構成及び動作の中で逐次明確になる。 全図面を通して同じ部分には同じ番号が付されている。図面の簡単な説明 図1は本発明によるマイクロ制御器を示す図であり、 図2は本発明によるプログラム状態語を描いた図であり、 図3ないし図6は本発明によるメモリの構成を描いた図であり、 図7はアドレスマッピング論理を描いた図である。好適実施例の説明 米国のカリフォルニア州サニーベール(Sunnyvale,California)所在のPhilips Semiconductors社は、80C51族(family)と称するマシーンのマイクロ制御器族を 生産する。これはオンチップ・レジスタ,オンチップ・データ記憶部,オンチッ プ・プログラム記憶部,外部I/Oライン及び64キロバイト(Kb)の別個のデータ並 びにプログラム・メモリ・アドレス空間を含む8ビットマイクロ制御器のファミ リーである。本発明は図1に示すように、幾つかの80C51プログラムが単一のマ イクロ制御器12内で独立に且つ一斉に動作できる多重タスキングを実行するよう 設計されている。この能力を具えるためにマイクロ制御器はメモリアドレス空間 を64Kbのページに分割して、各ページごとに、汎用レジスタ,特別目的のレジス タ,及び単一の80C51マシーンのアプリケーションや手順又はプログラムにより 必要とされる80C51マシーンのフォーマット中の個別プログラム状態語(PSW)を 設ける。80C51手順の独立性は、アプリケーション・プログラムが該アプリケー ションのページ以外のデータメモリにアクセスを得ることを妨げることにより、 与えられている。複数の80C51プログラムを走らせるこの能力は、80C51 PSWよ り大きく80C51 PSWフォーマットとは異なる単一の物理的プログラム状態語レジ スタが設けられている間にのみ、そして物理的レジスタの限定されたサイズのバ ンクが設けられている間にのみ設けられる。 本発明のマイクロ制御器システム10のアーキテクチャが図1に示される。シス テム10は、16ビットの算術演算を行う16ビットの単一チップ・マイクロ制御器12 を含み、また内部命令及びデータ記憶部を含む。マイクロ制御器12は、外部デバ イス14及び16をサポートし、また24ビット外部アドレス機能を通して外部命令記 憶部18の16メガバイト(Mb)及び外部データ記憶部20の16メガバイトをサポートす る。マイクロ制御器12は、外部双方向アドレス及びデータバス24上で外部メモリ 18及び20と交信するバス・インタフェース・ユニット22を含む。マイクロ制御器 12は、外部デバイス14及び16と、特別機能レジスタ(SFR)40としてアドレス可能 なI/Oポート26-28を通して交信する。ポート26-28は他の特別機能レジスタと同 様にバス・インタフェース・ユニット22を通して内部周辺バス上でアドレス可能 である。データメモリ20もまた、オフチップ(off-chip)のメモリ・マップI/Oと してI/Oポート26-28を通してアクセスできる。そのうちの幾つかはビット・アド レス可能なオンチップ特別機能レジスタ40はまた、フラグ及び一般制御のための ALUや実行ユニット70や復号器ユニット74と同様に外部デバイスと交信する割り 込み制御ユニット84に結合するプログラム状態語(PSW)レジスタ44をも含む。割 り込みレジスタ44及びタイマー・レジスタ50も設けられる。マイクロ制御器12が 80C51演算とコンパチブルな互換モード(CM=1)に在るか否かを示すシステム構築 ビットを含むシステム構築レジスタ(SCR)54も設けられる。プログラム状態語レ ジスタは、一般レジスタ演算のために周辺バス42上でアドレス可能であり 、また他の実行関連演算のために内部バス86への接続上でアドレス可能である。 バス・インタフェース・ユニット22は、周辺特別機能レジスタ40をマイクロ制御 器のコア(core)60から隔離する。コア60は、マイクロ符号プログラム可能実行ユ ニット70を含み、該ユニット70はALU 72及びその他のユニットによる命令の実行 を制御する。復号ユニット74により復号された命令は命令メモリ空間の一部であ る内部EPROM 76からフェッチされ、或いはフェッチ・ユニット78により外部命令 メモリ18からフェッチされる。レジスタファイル82の汎用レジスタの4つのバン クと同様にデータメモリ空間の一部であるスタティックRAM 80もまた、命令及び データの記憶に用いることができる。各バンクは80C51プログラムのうちのそれ ぞれ別のものに対し専用とすることができ、正しいバンクへのアクセス経路は各 80C51プログラムのために自動的に再構築できる。4つのバンクは、レジスタの 内容をデータメモリへ移したり又はデータメモリから移したりすることなく、4 つの80C51手順を同時に実行することを許容する。 プログラム状態語レジスタ44は、図2に示すように、プログラム状態語(PSW)1 00を含む。PSWレジスタ44は、ビット・アドレス可能なSFR空間40内の語レジスタ である。高い方のバイト102はシステム/管理者レベルのフラグを含む防護され た半分である。2番目のバイト104はすべてのユーザ・レベルのフラグを含み、 後記の機能を有する。またPSWの特別バイト106が設けられ、80C51と同一であり 、互換モードで使われる。世代間のビットフォーマットの非互換性により必要と されるときは、前に触れた再構築可能なプログラム状態語アプリケーションに更 に詳細に記述されているビットルーティング回路網(bit routing circuitry)が ビットを再マップするのに使われることもできる。 図2に見られる通り、PSW 100のC,AC,F0,F1,RS0,RS1,V及びPビットもまた、80 C51プログラムにより使われる再構築されたバイト106中に見出される。Cはキ ャリーフラグ(carry flag)であって、このフラグの主な機能は算術演算の最上位 ビットのキャリーアウトを記憶することである。ACはALU 72の最小位ニブルのキ ャリーアウトにより算術命令の間に更新される補助キャリーフラグである。F0及 びF1はユーザの定義できるフラグであり、ユーザプログラムにより読み出し及び 書き込みができる。RS0及びRS1は、所与の時に能動化するレジスタファイル 82中のR7を通してレジスタR0の4つのグループ又はバンクの1つを同定するレジ スタバンク選択ビットである。4つのレジスタバンクは、データメモリの一番下 の32バイトとして直接に又は間接にアドレス可能である。現在のPSWを特定の80 C51プログラムに関連するPSWに置き換えることにより、レジスタバンク・アク セスは自動的に且つ急速に80C51プログラム用に再構築される。Vは溢れフラグ であり、算術命令中の2の補数の算術的溢れ(twos complement arithmetic over flow)条件により設定される。Pはパリティフラグであり、レジスタR8(80C51 マイクロ制御器のAレジスタとの互換性のために使われるレジスタ)の現在の内 容に対する偶数パリティを示す。 次に記載のフラグは80C51プログラムによって使われない。SMはシステムモー ドビットフラグである。システムモードはPSWが復帰に際しベクトルからロード されると選択され、割り込み処理中に変更することができ、PSWをポップするこ とによって割り込み(RETI)からの復帰により書き込まれる。これは多重タスキン グへの援助として企画され、マイクロ制御器12がシステムモード(SM=1)に在るの でないならば高順序(high order)のデータアクセスビットの変更を妨げることに より、80C51プログラムが高順序のデータアクセスビットを変えるのを妨げるた めに使用する。TMはトレースモード(trace-mode)ビットであり、命令ごとにトレ ースすることを許容するプログラム開発の援助として使用される。Zはゼロ欠陥 ビットフラグであり、POP,PUSH,又はXCH以外のデータ演算の後で、演算が0の 結果に戻ったらZフラグは1と設定され、そうでなければZフラグは0にクリア される。Nは負演算指示器フラグであり、POP,PUSH,又はXCH以外のデータ演算 の後で、演算がサイン(sign)ビット(MSB)のセットを伴う結果に戻ったらNフラ グは1と設定され、そうでなければNフラグは0にクリアされる。IM3-IM0は実 行優先度割り込みマスクビットであり、そこでこれらのビットが当面実行中のコ ードの実行優先度を同定する。割り込みの場合は、これらのビットは進行中の割 り込みの割り込み優先度に設定されよう。これらのビットはまた、割り込み処理 中に変えられることもできる。マイクロ制御器12は、トラップ,割り込み,及び 割り込みからの復帰の間にこれらのビットを保存し復元することをサポートし、 またそれと同時に、これらのビットから割り込み制御ユニット84を通してコア の外にある任意の割り込み制御モジュールに、ラインを設けることをサポートす る。マイクロ符号プログラム及びアドレス論理制御の下にIMビットへの書き込み はシステム符号モードに限定され、80C51アプリケーションにより実行すること はできない。マイクロ制御器12には、PSWに反映しない或いは走っているプログ ラムには直接可視でないところのフラグが更にもう1つ存在する。これがアキュ ムレータ・ゼロフラグ(AZ)である。これは80C51マイクロ制御器JZ及びJNZ命令 を実行するのに使われる。80C51コードはA(R8)レジスタの内容を直接試験して これらの命令を実行する。マイクロ制御器12は、80C51マイクロ制御器アキュム レータを真似る(mimic)のに使われるレジスタであるR8を変える任意の演算の間 に、埋め込まれたAZフラグを更新する。 システム構築レジスタ(SCR)54は、システム構築フラグを含むバイトレジスタ である。このレジスタ54は、一旦復帰してそれ以後は唯1つだけ残された後でプ ログラムされることを意図するフラグである。従ってこれらのフラグは割り込み 又はその他の手順の間に保存される必要はない。CMフラグはこの好適実施例にと って重要であって、これは互換モードフラグである。マイクロ制御器12のアーキ テクチャの幾つかの本来の(native)特徴は、翻訳された80C51コードに対し完全 互換性を与えるために、若干改変しなければならない。それらは: 1)80C51レジスタR0及びR1に対するバイト間接モード。本来のモード(CM=0)で ポインタレジスタR0及びR1を使う間接メモリアクセスは通常は他のすべてのポイ ンタと同様に語アドレスを使うだろう。CM制御ビットが1(CM=1)に設定されてい るとき、R0又はR1をポインタとして使うよう符号化されている間接アクセス命令 は、バイトレジスタR0L又はR0H(80C51のR0及びR1と等価のもの)からの単一バ イトアドレスのみを使って、翻訳された80C51コードが実行されることを許容す るように、改変される。この改変はマイクロ符号プログラム内で生じ、当業者の 技術の範囲内である。このモードでは、R1を通して間接にアドレスすることはで きない。 2)レジスタファイルのメモリへの重複。翻訳された80C51コードは、場合によ っては間接及び直接アドレスのために4つのレジスタバンクが低い側のメモリ中 に現れることを要求するかも知れない。マイクロ制御器12は通常はこの重複に対 応しないが、互換モードによって可能化される。互換モードが可能化されるとき は、この同じ重複が各データメモリ・セグメント上に生起し、各データセグメン ト上に(各セグメントがデータセグメント(DS)レジスタのないようにより同定さ れるとき)80C51コンパチブル・メモリマップが創成される。 マイクロ制御器12は、図3、図4、図5、及び図6に示すようなメモリの構成 を持っている。図3はページに分解した構成を示すものであり、図4は1ページ の構成を更に詳細に描いたものであり、図5はレジスタファイルを更に詳細に描 いたものであり、また図6は特別機能レジスタ40のアドレス範囲を描いたもので ある。 前に論じたように、マイクロ制御器12は、命令メモリとデータメモリとに別々 のアドレス空間を持っている。プログラムとデータメモリとが論理的に分離して いることは、データメモリの更に速やかなアクセスを許容する。すべてのレジス タ及びオンチップ・メモリは、バイトや語としてアクセス可能(アドレス可能) である。専用(dedicated)データメモリ領域の或るもの(SFR40,RAM80,及びレジ スタファイル82)はビットとしてアクセスされることもできる(図3参照)。用 語「データメモリ」は、オンチップ(on-chip)RAM 80,オフチップ(off-chip)RAM 18,又はオフチップのメモリ・マップ(off-chip memory mapped)I/Oを指す。マ イクロ制御器12は、(24ビットのアドレスを持つ)別々のデータ及びプログラム メモリを16メガバイトまでサポートする。データメモリ空間118は、80C51デー タ記憶用に適する64Kバイトのページ120に区分(segmented)され、間接的にアド レスするモードを介してアクセスされる。512バイトのデータメモリがオンチッ プRAM 80として構築されているが、オンチップ化するデータメモリの最大又は最 小に関しアーキテクチャとしての制限はない。マイクロ制御器12のアーキテクチ ャは、1ページ当たりのデータメモリに対し直接的にアドレスする空間122を1K まで許容する。互換モード(CM=1)で80C51マイクロ制御器アーキテクチャとの 逆向き互換性を維持するために、オンチップ・データメモリの一番下の256バイ トは標準80C51と同じやり方で構成される。80C51内のRAMと共存するSFR 40の みがマイクロ制御器12内の専用オンチップSFRメモリ領域にシフトされている( 図6参照)。このSFR空間40は、直接アドレスフィールド内の、但しデータメ モリ・マップの一部でないアドレスの上側の1Kを使用する。レジスタR0からレジ スタR7までの4つのバンクがあり(図4参照)、それらは(レジスタファイル82 内の)オンチップRAM内のアドレス0から始まって16進数のアドレス1Fに至るも のである。4つのバンクのうちの1つが、80C51中でと同じように、PSWレジス タ100中の2ビットRS0及びRS1により能動バンクとして選定される。レジスタの バンクは、レジスタとしてアドレスでき、又は直近の直接又は間接アドレスモー ドでのメモリ(RAM)アドレスを使ってアドレスできる。SFR空間40にアドレスする ときのように、アドレスの最上位ビットは無視され、それにより各ページはその 中にマップされた汎用レジスタを持つ。オフチップRAM 20がオンチップRAM 80の 範囲外でマップされるときは、マイクロ符号プログラム制御の下に、このアドレ ス空間への任意のアクセスは自動的にオフチップのデータをフェッチして、マイ クロ制御器12に0から16メガバイトまでの線形アドレス空間を与える。マイクロ 符号プログラム制御の下にある同じアドレス可能空間内でオンチップ・メモリと 重複するページ0上のオフチップ・データメモリは、間接にアドレスすることに よってのみアクセスできる。 マイクロ符号制御の下にある各データメモリ・セグメント・ページの一番下の 1Kバイト122は、直接的にアドレス可能なデータ空間である。このアドレスする モードは、命令の内部で低い方の16ビットのデータアドレスを含んでいる。直接 アドレス空間に付随するところの、24ビットアドレスの上の方のバイトを形成す るセグメント・レジスタ(SR)は、常にデータ・セグメント(DS)レジスタである。 この内蔵された防護メカニズムは、80C51アプリケーションのようなユーザ・レ ベルの符号が、異なるセグメント内の直接アドレス空間の間で切り替わるのを防 止する。16進数のアドレス20から3Fまでにあるこの空間の32バイト124は標準的 ビットアドレス可能なRAM空間(256ビット)を形成する。80C51互換モード(CM=1 )においてのみ、この直接アドレス空間の32バイト126が80C51の32レジスタ・バ イトと重複する(図5参照)。このレジスタ・ブロックはすべてのページで同一 である。マイクロ制御器12の自然(native)モードでは、すべてのレジスタはレジ スタファイル82のみに限定され、いかなるメモリ提携(memory association)も持 たない。従って自然モードでの直接アドレス空間はデータメモリ中のアドレ ス0からスタートする。レジスタファイルの任意のレジスタからの間接アドレス は、8ビットセグメント・レジスタ(DS)又はエキストラ・セグメント・レジスタ (ES)に付帯する。この区分は、80C51アプリケーションのような間接的にアドレ スする間の多重タスキングシステムで走行する処理の実行の単純な分離を行うと 同時に符号化及びメモリ間接アクセス命令を合理化することを許容する。このモ ードはセグメント・レジスタの内容に依存して16MBアドレス空間の任意の場所に ある全64Kデータ・セグメントにアドレスできる。80C51互換性のために、もし システム構築レジスタ中にCMフラグが設定されているならば、R0及びR1(レジス タR0L及びR0H)を通して間接にアドレスすることは間接アドレスの僅か8ビット で実行される。語レジスタR0-R7もまた、間接及び間接オフセットのアドレスす るモードの間におけるアドレスポインタとして使われる。語レジスタR7はスタッ クポインタであり、それはマイクロ制御器12がシステムモードにあるかユーザモ ードにあるかに依存してシステムスタックポインタか又はユーザスタックポイン タかのいずれかである。80C51互換モードにあるときは、(R6H及びR6Lとしてバ イトアドレス可能な)語レジスタR6が、データポインタ・レジスタ(DPTR)として 使われる。バイトレジスタR4L及びR4Hは互換モードにあるとき、アキュムレータ 及びPレジスタとしてそれぞれ使われる。間接にアドレスするモードでは、アド レスの低順位の16ビットがレジスタファイル82内の任意の語レジスタから取り出 される。上の8ビットはデータセグメント(DS)又はエキストラセグメント(ES)SF Rのいずれかから取り出される。マイクロ符号プログラム制御の下では、間接に アドレスすることを伴う多くの命令がメモリアクセスの後で特定のアドレスレジ スタを自動的にインクリメントするというオプションを許容する。レジスタはデ ータのサイズにインクリメントされるであろう:すなわち、バイト・オペランド (byte operand)に対しては1つインクリメントし、語オペランド(word operand) に対しては2つインクリメントする。間接オフセットのアドレスするモードが設 けられ、オペランドの有効アドレスとしてアドレスレジスタと直近のオフセット 値との和を用いる。オフセットは、+127から-128バイトまでの範囲を持つ正負の 符号の付いた8ビットの値であるか、或いは+32767から-32768バイトまでの範囲 を持つ正負の符号の付いた16ビットの値である。これはこのモードを持つデー タセグメントの全部へのアクセスを潜在的に提供する。直近のアドレスするモー ドでは、命令の内部に1つの定数値が記憶され、アドレスとして使用される。命 令に依存してその値はサイズが4ビットか8ビットか又は16ビットかである。 特別機能レジスタ110は、1K直接アドレスブロック139中で16進数のアドレス40 0から7FFまでにある(図6参照)。このブロックの前半140はオンチップのSFR空 間である。このSFRの領域はSFRマップ・レジスタ、及びオンチップ周辺装置及び I/O用の制御及びデータレジスタにアクセスするのに使われる。残りの部分142は オフチップSFR用に保留される。このことはオフチップ・メモリマップI/Oデバイ スへの更に速やかなアクセスを、各アクセスに対するポインタを創立する必要な しに許容する。SFR 139空間は80C51におけると同様、直接にアドレスされる。S FR 139の空間は1Kの直接にアドレスされたデータ空間と同じアドレスモードを使 うが、それは論理的には別の空間であり、間接データ空間と重複するものと考え てはならない(図5及び図6参照)。SFRアドレス空間中の一番下の64バイトは 唯一のビットアドレス可能なSFR位置である。ビットアドレス可能なSFR空間は、 80C51で各8番目のアドレスに割り当てられるのとは反対に、マイクロ制御器12 では単一ブロックに割り当てられる。このことが、ビットアドレス可能であり、 また語アドレス可能でもあるSFRの割当てを許容する。単一のSFR空間40しか存在 せず、すべての80C51プログラムはSFR空間40にアクセスが与えられていなけれ ばならないのだから、任意のページの16進数の400から7FFまでへの任意の直接ア ドレスは、単一の物理的SFR空間40に仮想的にマップする。その結果RAMメモリは この範囲には直接にアドレスされることができないで、間接にアドレスされなけ ればならない。従ってSFR空間40はページ独立であり、データメモリのすべての ページにマップされる。またその結果として、このアドレスのマッピングの重複 のために、マイクロ制御器の全アドレス空間は16Mbを超えることになる。 アーキテクチャはRAM空間区分を、各64Kサイズの256ページ120へと当面サポー トする。システム10中のメモリはバイトの単位でアドレスされ、各バイトは8ビ ットから成る。1つの語は2つの隣接するバイトから成る16ビット値である。マ イクロ制御器12中のデータの記憶順序は、下側のアドレスに1語の下側のバ イトが記憶され、その1つ上のアドレスに上側のバイトが記憶される「リトル・ エンディアン(“Little Endian”)」である。外部バス24は復帰中に選択された 8ビットモード又は16ビットモードで構築できる。8ビットモードは80C51アプ リケーションで走るときに使われる。選択された演算のモードに依存してすべて の16ビット外部データアクセスは厳密に連続しているメモリ位置(8ビットモー ド)からの語(16ビットモード)又はバイトであり得よう。8ビットモードでの 外部語フェッチは結果として2つの別個のバイトアクセスである(もしデータが オンチップであるならば結果は単一語アクセス中では同一である)。 前に述べたように、マイクロ制御器12は16メガバイトのアドレス可能な空間を 持つプログラムメモリ18をサポートする。その一組の命令は飛び越しと呼び出し を含み、そのうちの或るものは局所符号ページ(80C51互換性に対しては64K)上 でのみ動作するものであり、そのうちの或るものは全プログラムメモリ空間にア クセスすることができ、またそのうちの或るものは間接レジスタである。80C51 プログラムのサイズは64Kbに限定されるものではなく、プログラムは16Mb空間の どの場所にも存在できる。マイクロ符号プログラムの制御下で、飛び越し,呼び 出し,分枝,トラップ,及び割り込みと名付けられたプログラムメモリ目標アド レスが語整列(word aligned)される。しかしサブルーチン又は割り込みハンドラ ーからの復帰アドレスは、前に言及したAligned Branch Targetアプリケーショ ンで説明したように奇数境界か偶数境界かのどちらかであり得る。相対分枝のア ドレス範囲は、+255,-256バイト(語整列目標アドレスを持つ8ビットとして符 号化された9ビットの2の補数置換)に拡張されている。このことは、翻訳され た80C51コードが、翻訳されて一般には分枝目標が範囲内にある機会が増えてい るときに、間に介在して拡大する傾向のある符号の上に、分枝を延長させること を許容する。 マイクロ制御器には2レベルのユーザ/管理者(user/supervisor)防護メカニ ズムが設けられる。ユーザモード又はアプリケーションモードというものと、シ ステムモード又は管理者モードというものがある。多重タスキング環境では、管 理者レベルでのタスクはアプリケーションレベルでのタスクからは防護されてい る。マイクロ制御器は(レジスタファイル82中に)2つのスタックポインタを持 ち、それらはシステムスタックポインタ(SSP)及びユーザスタックポインタ(USP) と呼ばれる。多重タスキング・システムでは1つのスタックポインタが管理シス テム用に使われ、もう1つが80C51アプリケーションのような当面の能動タスク 用に使われる。防護メカニズムではシステムソフトウェアをユーザアプリケーシ ョンから隔離することによりこれが役に立つ。この2つのスタックポインタは割 り込みの達成を改善するのにも役に立つ。ある特定のアプリケーション用のユー ザスタックがオンチップRAM 80内で使用可能な空間を超えているならば、或いは オンチップRAM 80が時間的に厳しい他の目的に必要とされる(オンチップRAM 80 はオフチップメモリ20より速やかにアクセスできるから)ならば、ユーザスタッ クはオフチップに置くことができ、割り込みスタック(システムSPを使う)はオ ンチップRAM 80内に置くことができる。システムスタックは常にメモリセグメン ト0(データメモリの最初の64Kバイト)にあることを強いられ、一方、ユーザ スタックはデータセグメント(DS)レジスタにより選ばれたセグメント上に位置す る。2つのスタックポインタは同じレジスタアドレスを共有する。任意の所与の 時に使われるであろうところの、そしてレジスタファイル82内に「現れる」であ ろうところのスタックポインタは、プログラム状態語(PSW)レジスタ44中のシス テムモードビット(SM)により定められる。マイクロ制御器12スタックはマイクロ 符号プログラム及びアドレス論理制御を介して、符号がユーザ又はアプリケーシ ョンモードで実行されるときは常にユーザスタックポインタ(USP)を使うように 自動的に設定され、また符号がシステムモードで実行されるときはシステムスタ ックポインタ(SSP)を使うように自動的に設定される。マイクロ制御器12は、プ ッシュ,ポップ,サブルーチン復帰アドレス,及び割り込み復帰アドレスのため にシステムスタックを使ってシステムモードに復帰(reset)した後、演算を始め る。翻訳された80C51を含む多くのアプリケーションがいつでもこのモードで簡 単に動作する。システムモードでは、プログラムがUSPを設立してそのモードで ルーチンを起動させる。ユーザモードでは、プッシュ、ポップ、サブルーチン復 帰アドレスはすべてアプリケーション又はユーザスタックを使用する。しかし、 割り込みは常にシステムスタックを使用するであろう。ユーザモードプログラム はシステムスタックポインタ(SSP)及びデータセグメント(DS)レジスタを変形 することはできないが、それらを読み出すことだけはできる。しかし、エキスト ラセグメントレジスタ(ES)上に読み出し及び書き込みをすることは共にユーザモ ードで許容される。異なるスタック又はデータセグメントの使用を要請するには 、80C51アプリケーションのようなユーザモードプログラムは、TRAP命令を介し てシステムモードルーチンを呼び出すか、又は他の何等かのやり方でシステムコ ードを信号するかしなければならない。システムモードルーチンはセグメントレ ジスタを巧く操作することができる(或いは、もしそれが、アプリケーション・ コードはその領域にアクセスをしてはならないと決めているならば、できない) 、そしてアプリケーションコードに戻ることができる。このやり方でアプリケー ション・コード・タスクが全データ空間の或る領域を使用するよう限定すること は容易にできよう。システムモード・コードは、ユーザスタックポインタ(USP) を他のポインタレジスタにコピイすることによりユーザスタックを使用し、デー タセグメントレジスタ(DS)を通してユーザスタックにアクセスすることができる 。これらのメカニズムを使って、システムモニターはタスク用のユーザスタック を準備することができ、又は何らかのシステムサービス用にトラップ命令により 呼び出されるときユーザスタック上のパラメタに容易にアクセスすることができ る。 一般的にプログラムの全体は多数のモジュール又はセグメントから成る。しか し、プログラム実行中の任意の時にプログラムのセグメントのごく小さいサブセ ットのみが実際に使用中である。一般的に、このサブセットは符号(code)とデー タとを含む。マイクロ制御器12アーキテクチャは、プログラムの実行環境の運営 中のセットに直接アクセスし、また要求によってそれ以外のセグメントにアクセ スすることをサポートするメカニズムを設けてこれを利用する。任意の所与の瞬 間に、2つのメモリのセグメントが実行プログラムに直ちにアクセス可能である 。これらは、スタック及び局所変数がそこに在るデータセグメントであり、また 遠隔データ構造を読み出すのに使うことのできるエキストラセグメントである。 ソフトェア・モジュールにアドレスできる可能性を制限することは、多重タスキ ング環境での効率的で信頼性のある演算用のためのシステム資源の完全な制御を 得るのに役立つ。マイクロ制御器中の現在運用中のデータセグメントは、16ビッ トアドレス(ポインタ)及び8ビットセグメントから成る。8ビットセグメント レジスタDS又はESは、この当座のセグメントを同定するのに使われるオフセット を保持する。これらのセグメントレジスタは、16メガバイトアドレス範囲の全体 を通してデータがアクセスされるのを許容するために、16ビットポインタレジス タ及びスタックポインタの拡張として使われる。SFR空間内の「バイト」レジス タは、24ビットアクセス用の最上位8ビットのためのソース(source)としてDS又 はESのいずれかを選定するところの7個の汎用ポインタレジスタ(すなわちSPで ないもの)に関連するビットを含む。このレジスタは、セグメント選択レジスタ 166又はSSELと呼ばれる。SSELビットの電源オンの状態は初期化される、すなわ ちそれはDSレジスタにデフォールト(default)される。セグメントレジスタは関 連のあるポインタレジスタに伴って自動的にインクリメント又はディクリメント するものではないが、命令によって明白に変わらなければならない。データセグ メントレジスタへの書き込み(DS内のオフセットを操作して)及びエキストラセ グメントレジスタを通しての書き込み(ES:Rnにより指定されたメモリを操作して )は、システム・レベルの符号語のみに制限して、幾つかの80C51プログラムを 走らせるときのような、プログラムの独立性を与える。しかしユーザモード又は アプリケーションモードでは、DSを通して又はDSを使っての書き込み、ESへの書 き込み、及びESを通してのの読み出しは許容される。 例外及び割り込みは正常の命令処理を先取り(pre-empt)する事象(events)であ る。例外及び割り込み処理は、通常の命令実行から例外を取り扱うルーチンの実 行に移行するものである。例外/割り込みベクトルは例外を取り扱うルーチンの アドレスを含んでいる。例外/割り込みベクトルは、符号メモリページ0の一番 始めの256バイト中に所在するベクトル・テーブルと呼ばれるデータ構造中に含 まれている。すべてのベクトルは2語から成り、その2語とは:(i)例外ハンドラ ーのアドレス;(ii)ハンドラーに対する初期のPSWの内容;である。各例外/割 り込みハンドラーの一番始めの命令はプログラムメモリのページ0中になければ ならない、その理由はベクトル・テーブル中のハンドラーのアドレスは16ビット (ページ0)のみだからである。RESET以外のすべての例外及び割り込みは、現 在のプログラムカウンタ(PC)及びPSW値をスタック上に記憶させて、現在の命令 の完了後にサービスされる。例外又は割り込みの間は、24ビット復帰アドレス及 びPSW語がスタック上にプッシュされる。スタックされたPC(高いバイト)とPC (低い語)との比の値が、現在の命令の流れの中の次の命令の24ビットアドレス である。次いでプログラムカウンタ(PC)にベクトル・テーブルからの対応するハ ンドラー・ルーチンのアドレスが搭載され、それからPSWに対応するベクトルの 上側の語の中に記憶されている新しい値が搭載される。例外又は割り込みハンド ラーの実行は、割り込み(RETI)命令からの復帰に遭遇するまで又は別の例外又は 更に優先度の高い割り込みがくるまで進行する。RETI命令は各ハンドラー・ルー チンを終了させる。マイクロ符号プログラム制御の下で、このことが復帰アドレ スをスタックからPCへポップし、スタックから始めのPSWを再搭載し、プロセッ サに割り込みルーチンの実行を再開させる。 マイクロ制御器12上で命令を実行するため符号又は命令アドレスが形成される のに幾つかのやり方がある。プログラムの流れの変更は、単純相対分枝、長い相 対分枝、24ビット飛び越し及び呼び出し、16ビット飛び越し及び呼び出し、並び に復帰でなされる。符号アドレスも計算されてテーブル・ルックアップ及び類似 符号MOVC機能を実行する。単純相対(relative)分枝はプログラムカウンタ(PC)に 加えられた8ビットの正負の符号の付いた(signed)置換を使い、新しい符号アド レスを生成する。計算は、1ビットだけ残された8ビット相対置換(それは語ア ドレスへの置換だから)をシフトし、結果を24ビットヘ正負の符号を延長(signe xtending)し、それをプログラムカウンタの内容に加え、その結果の最下位ビッ トを無理に0とすることにより完成する。長い相対無条件分枝(JMP)及び16ビッ ト相対置換を持つ呼び出しも、同じシーケンスを用いる。分枝の範囲は、8ビッ ト相対については+255から-256までであり、長い飛び越し及び呼び出しについて は+65535から-65536までである。遠い飛び越し及び呼び出しは命令中に24ビット 絶対アドレスを含み、単にプログラムカウンタの内容の全部を新しい値に置き換 える。アドレスの範囲は、マイクロ制御器12については16Mアドレス空間の任意 の場所である。復帰命令は、長さが復帰のタイプによって決まる16ビット又は24 ビットのいずれかのアドレスを、スタックから得る。24ビットアドレスは単にプ ログラムカウンタの内容の全部を置き換える。16ビット復帰アドレスはPXの一番 下の16ビットのみを置き換える。符号アドレスは幾つかの異なるやり方で生成さ れることができる。標準的な形は、プログラムカウンタ(PC)の一番上の8ビット か又は符号セグメント(CS)レジスタかのいずれかに付帯するポインタレジスタか らの16ビット値を使って24ビット符号アドレスを形成する。上側の8アドレスビ ットに対するソース(source)は、使われるポインタレジスタに対応するSSELレジ スタ中のセグメント選択ビットの設定(0=PC及び1=CS)によって定められる。CS はDS及びESと類似の8ビットSFRであることに留意されたい。それはSFR読み出し 及び書き込みによってのみ変形されることができ、PCの上側の8ビットとは何の 関係も持たない。更にもう2つの変形が80C51互換性のために設けられている。 1つの演算は、完全な24ビットアドレスを作るのにPCの上側の8ビットを使い、 80C51互換性レジスタAの内容及びDPTRを加えて16ビット値を形成する。 互換性モードにあるアプリケーション間でレジスタバンクを交換(swap)して、 前に論じたページアドレス・マッピングを設けることを許容するために、図7に 示すように、目標アドレス論理すなわち復号器200が、レジスタバンク・指示器 ビット(R0及びR1)及びシステムモードビット(SM)を、プログラム状態語レジス タ44から受け取る。復号器200はまた、セグメント選択レジスタ202から、セグメ ントレジスタのうちデータ204か又はエキストラ206かのどちらがアドレス延長の ために使われるのかに関する指定をも受け取る。復号器200は更にまた、レジス タ204及び206の内容、特にその内容が0かどうかについての指定をも受け取る。 SCRレジスタ54は互換性モードビットを復号器200に供給する。復号器200は、復 号ユニット74の段階設定レジスタ208から、実行されようとしている命令のタイ プ(隣接/直接/間接)を指定するインディケータを受け取り、また、もしあれ ば、どのレジスタが例えばスタック命令のような1つの命令によって引用されて いるかの指示も受け取る。目標アドレス復号器200は、チップ上の全ユニットに 内部バス86を通って供給される目標アドレスレジスタ210からの目標アドレスと ,その他の上述のレジスタ及びユニットからの情報とを使って、割り当てられた レジスタファイル82のレジスタバンク,SFRレジスタ空間40,及び80C51手順に 関連する特定の64Kbセグメントの内部及び外側に対するマッピングを定め、適切 なイネーブル信号を発出する。 80C51プログラムを使う多重タスキングは、多数の様々なやり方で開始され、 制御される。例えば80C51アプリケーションは、適切なレジスタに搭載するシス テムモードプログラムで開始されることができ、次いで前に述べたFast Context Switchingアプリケーションに記載したRETI命令を実行する。システムモードプ ログラムによる制御への復帰はタイマー制御の割り込みを介して行うことができ る。 マイクロ制御器12用の命令セットは、80C51命令セットのスーパーセットであ るのを好適とする、すなわち80C51の命令による1つのマッピングのためのもの を持つ命令がマイクロ制御器のセットの中にあることを好適とする。通常の手腕 をもつ当業者は、茲に述べたマイクロ制御器上の80C51命令を実行するのに適し た適切なマイクロ符号プログラムを供給することができる。命令の翻訳を適正に 実行することを保証するために、翻訳はSFR空間が正確にアドレスされることを 保証する必要がある。翻訳はレジスタR8を80C51符号のA及びACCレジスタとし て使用しなければならず、またレジスタR9を80C51Bレジスタとして使用しなけ ればならない。80C51内のスタックはバイトスタックであり、また一方で、マイ クロ制御器12のスタックは語スタックであって、スタック長に依存する任意の演 算はユーザに対し正確さを保証するためにチェックされフラグを付されなければ ならない。同じことがスタック方向を使用する演算にも適用される。飛び越しテ ーブルを使う飛び越しはマイクロ制御器12及び80C51それぞれの語対バイト適応 に対しても責任を負わなければならない。割り込みはページ0内の割り込みベク トルテーブルを必要とするから、この位置に在る80C51符号は移動しなければな らず、ベクトルはこの新しいアドレスを指さなければならない。80C51バイトス タックポインタの引用はマイクロ制御器12の語ポインタレジスタを引用するよう に翻訳されなければならない。スタックポインタ上で直接に実行される演算では 、ユーザは符号の正確さについてチェックするためフラグを立てる必要がある。 適切な翻訳機が当業者により供給されることもできる。 本発明の多くの特徴及び利点が以上の詳細な説明から明らかになり、従って、 茲に付属する請求項によって本発明の真の精神及び範囲内に入るそのような本発 明の特徴及び利点がすべてカバーされることが意図される。更に、多数の変形及 び改変が当業者にとっては容易に生じるであろうから、本発明を茲に説明し記述 した正確な構成及び動作に限定するのは望ましいことではなく、それ故にすべて の適切な変形及び等価のものは本発明の範囲内に入るものとされよう。

Claims (1)

  1. 【特許請求の範囲】 1.幾つかの独立の処理を行う命令を実行するための実行手段と; 上記実行手段に結合し、上記独立の処理のうちの1つの専用に各バンクが供 せられる汎用レジスタのバンクと; 上記実行手段に結合し、上記独立の処理に共通の特別機能レジスタと; 上記実行手段に結合し、上記独立の処理用に構築可能な状態の内容を持つ単 一プログラム状態語レジスタと; 上記実行手段に結合し、上記独立の処理に対応するデータセグメントに分割 されているデータメモリと; を有して成ることを特徴とするマイクロ制御器。 2.請求項1に記載のマイクロ制御器において、上記実行手段に結合し、上記デ ータセグメントのうちのどれが上記実行手段によってアドレスされているかを示 すセグメントアドレスビットを含み、上記独立の処理によってはアクセスできな いセグメントアドレスレジスタを更に有することを特徴とするマイクロ制御器。 3.請求項2に記載のマイクロ制御器において、上記プログラム状態語レジスタ はレジスタバンク選択ビットを含み、プログラム状態語は独立の処理の各々に対 してプログラム状態語レジスタに搭載されていることを特徴とするマイクロ制御 器。 4.請求項3に記載のマイクロ制御器において、上記プログラム状態語はシステ ムレベル又はユーザレベルの実行を指定するモードビットを含むことを特徴とす るマイクロ制御器。 5.請求項4に記載のマイクロ制御器において、上記実行手段に結合し、上記実 行手段が独立の処理と共に実行しているか否かを示すシステム構築レジスタを更 に有することを特徴とするマイクロ制御器。 6.請求項5に記載のマイクロ制御器において、上記データメモリのアドレス空 間と上記特別機能レジスタとは重複しており、重複のある上記データメモリは上 記実行手段の直接にアドレスする動作によりアドレスされることを特徴とす るマイクロ制御器。 7.請求項6に記載のマイクロ制御器において、上記実行手段は単一の実行ユニ ットを含み、上記特別機能レジスタは単一メモリ空間に位置することを特徴とす るマイクロ制御器。 8.請求項7に記載のマイクロ制御器において、上記プログラム状態語レジスタ 内に、ページの外部にデータアクセスが許容されるか否かを示すシステムモード ビットを更に有することを特徴とするマイクロ制御器。 9.幾つかの独立の処理を行う命令を実行する単一の実行ユニットと; 実行手段に結合し、上記独立の処理のうちの1つの専用に各バンクが供せら れる汎用レジスタのバンクと; 単一のメモリ空間内に位置して上記実行手段に結合し、上記独立の処理に共 通の特別機能レジスタと; 上記実行手段に結合し、上記独立の処理用に構築可能な状態の内容を持つ単 一プログラム状態語レジスタと;を有して成り、 上記プログラム状態レジスタは: レジスタバンク選択ビットを含み、プログラム状態語は独立の処理の各々に 対してプログラム状態語レジスタに搭載されており、上記プログラム状態語はシ ステムレベル又はユーザレベルの実行を指定するモードビットを含み、ページの 外部にデータアクセスが許容されるか否かを示し; 上記実行手段に結合し、上記独立の処理に対応するデータセグメントに分割 されているデータメモリを含み、上記データメモリのアドレス空間と上記特別機 能レジスタとは重複しており、重複のある上記データメモリは上記実行手段の直 接にアドレスする動作によりアドレスされ; 上記実行手段に結合し、上記データセグメントのうちのどれが上記実行手段 によってアドレスされているかを示すセグメントアドレスビットを持ち、上記独 立の処理によってはアクセスできないセグメントアドレスレジスタを含み; 上記実行手段に結合し、上記実行手段が独立の処理と共に実行しているか否 かを示すシステム構築レジスタを含む ことを特徴とするマイクロ制御器。 10.幾つかの独立の処理を行う命令を実行するための実行手段と; 上記実行手段に結合し、上記独立の処理のうちの1つの専用に各バンクが供 せられる汎用レジスタのバンクと; 上記実行手段に結合し、上記独立の処理に共通の特別機能レジスタと; 上記実行手段に結合し、上記独立の処理用に構築可能な状態の内容を持つ単 一プログラム状態語レジスタと; 上記実行手段に結合し、上記独立の処理に対応するデータセグメントに分割 されているデータメモリと; を有して成ることを特徴とするマイクロ制御器。 11.複数の処理を走らせるのに適するマイクロ制御器において、上記複数の処理 の各々はそれぞれ、アドレスのセットのそれぞれを通してアクセス可能な作業空 間の複数のセグメントのそれぞれに割り当てられ、上記アドレスのセットのそれ ぞれは互いに素(disjoint)であることを特徴とするマイクロ制御器。
JP8510719A 1994-09-19 1995-08-29 多数のマイクロ制御器の演算を実行するマイクロ制御器システム Pending JPH09505922A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US30877494A 1994-09-19 1994-09-19
US08/308,774 1994-09-19
PCT/IB1995/000711 WO1996009584A2 (en) 1994-09-19 1995-08-29 A microcontroller system for performing operations of multiple microcontrollers

Publications (1)

Publication Number Publication Date
JPH09505922A true JPH09505922A (ja) 1997-06-10

Family

ID=23195345

Family Applications (1)

Application Number Title Priority Date Filing Date
JP8510719A Pending JPH09505922A (ja) 1994-09-19 1995-08-29 多数のマイクロ制御器の演算を実行するマイクロ制御器システム

Country Status (5)

Country Link
US (1) US5887189A (ja)
EP (1) EP0729609A1 (ja)
JP (1) JPH09505922A (ja)
KR (1) KR960706125A (ja)
WO (1) WO1996009584A2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012507080A (ja) * 2008-10-28 2012-03-22 インテル・コーポレーション コンピュータシステムにおける割り込み通信技術
WO2017002939A1 (ja) * 2015-07-01 2017-01-05 日立オートモティブシステムズ株式会社 電子制御装置及びスタック使用方法

Families Citing this family (47)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6047347A (en) * 1997-02-04 2000-04-04 Advanced Micro Devices, Inc. Computer system with programmable bus size
US6055211A (en) * 1997-07-03 2000-04-25 Microchip Technology Incorporated Force page zero paging scheme for microcontrollers using data random access memory
US6526463B1 (en) * 2000-04-14 2003-02-25 Koninklijke Philips Electronics N.V. Dynamically selectable stack frame size for processor interrupts
US8160864B1 (en) 2000-10-26 2012-04-17 Cypress Semiconductor Corporation In-circuit emulator and pod synchronized boot
US8103496B1 (en) 2000-10-26 2012-01-24 Cypress Semicondutor Corporation Breakpoint control in an in-circuit emulation system
US6724220B1 (en) 2000-10-26 2004-04-20 Cyress Semiconductor Corporation Programmable microcontroller architecture (mixed analog/digital)
US8176296B2 (en) 2000-10-26 2012-05-08 Cypress Semiconductor Corporation Programmable microcontroller architecture
US8149048B1 (en) 2000-10-26 2012-04-03 Cypress Semiconductor Corporation Apparatus and method for programmable power management in a programmable analog circuit block
US7406674B1 (en) 2001-10-24 2008-07-29 Cypress Semiconductor Corporation Method and apparatus for generating microcontroller configuration information
US8078970B1 (en) 2001-11-09 2011-12-13 Cypress Semiconductor Corporation Graphical user interface with user-selectable list-box
US8042093B1 (en) 2001-11-15 2011-10-18 Cypress Semiconductor Corporation System providing automatic source code generation for personalization and parameterization of user modules
US6971004B1 (en) 2001-11-19 2005-11-29 Cypress Semiconductor Corp. System and method of dynamically reconfiguring a programmable integrated circuit
US6701508B1 (en) * 2001-11-19 2004-03-02 Cypress Semiconductor Corporation Method and system for using a graphics user interface for programming an electronic device
US7844437B1 (en) 2001-11-19 2010-11-30 Cypress Semiconductor Corporation System and method for performing next placements and pruning of disallowed placements for programming an integrated circuit
US8103497B1 (en) 2002-03-28 2012-01-24 Cypress Semiconductor Corporation External interface for event architecture
US7308608B1 (en) 2002-05-01 2007-12-11 Cypress Semiconductor Corporation Reconfigurable testing system and method
WO2005001689A1 (ja) * 2003-06-25 2005-01-06 Nec Corporation 電子計算機、半導体集積回路、制御方法、プログラムの生成方法、及びプログラム
US7295049B1 (en) 2004-03-25 2007-11-13 Cypress Semiconductor Corporation Method and circuit for rapid alignment of signals
US7332976B1 (en) * 2005-02-04 2008-02-19 Cypress Semiconductor Corporation Poly-phase frequency synthesis oscillator
US7400183B1 (en) 2005-05-05 2008-07-15 Cypress Semiconductor Corporation Voltage controlled oscillator delay cell and method
US20060277396A1 (en) * 2005-06-06 2006-12-07 Renno Erik K Memory operations in microprocessors with multiple execution modes and register files
US8085067B1 (en) 2005-12-21 2011-12-27 Cypress Semiconductor Corporation Differential-to-single ended signal converter circuit and method
US8067948B2 (en) 2006-03-27 2011-11-29 Cypress Semiconductor Corporation Input/output multiplexer bus
US8040266B2 (en) * 2007-04-17 2011-10-18 Cypress Semiconductor Corporation Programmable sigma-delta analog-to-digital converter
US8092083B2 (en) * 2007-04-17 2012-01-10 Cypress Semiconductor Corporation Temperature sensor with digital bandgap
US8026739B2 (en) 2007-04-17 2011-09-27 Cypress Semiconductor Corporation System level interconnect with programmable switching
US8130025B2 (en) 2007-04-17 2012-03-06 Cypress Semiconductor Corporation Numerical band gap
US7737724B2 (en) 2007-04-17 2010-06-15 Cypress Semiconductor Corporation Universal digital block interconnection and channel routing
US8065653B1 (en) 2007-04-25 2011-11-22 Cypress Semiconductor Corporation Configuration of programmable IC design elements
US8266575B1 (en) 2007-04-25 2012-09-11 Cypress Semiconductor Corporation Systems and methods for dynamically reconfiguring a programmable system on a chip
US9720805B1 (en) 2007-04-25 2017-08-01 Cypress Semiconductor Corporation System and method for controlling a target device
US8049569B1 (en) 2007-09-05 2011-11-01 Cypress Semiconductor Corporation Circuit and method for improving the accuracy of a crystal-less oscillator having dual-frequency modes
US20100199118A1 (en) * 2009-02-03 2010-08-05 Atmel Corporation Microcontroller with compatibility mode
US9448964B2 (en) 2009-05-04 2016-09-20 Cypress Semiconductor Corporation Autonomous control in a programmable system
FR2960989B1 (fr) * 2010-06-08 2013-03-15 Thales Sa Processeur sur puce electronique comportanr un moniteur temps reel materiel
US9483268B2 (en) 2012-03-16 2016-11-01 International Business Machines Corporation Hardware based run-time instrumentation facility for managed run-times
US9442824B2 (en) 2012-03-16 2016-09-13 International Business Machines Corporation Transformation of a program-event-recording event into a run-time instrumentation event
US9430238B2 (en) 2012-03-16 2016-08-30 International Business Machines Corporation Run-time-instrumentation controls emit instruction
US9454462B2 (en) 2012-03-16 2016-09-27 International Business Machines Corporation Run-time instrumentation monitoring for processor characteristic changes
US9405541B2 (en) 2012-03-16 2016-08-02 International Business Machines Corporation Run-time instrumentation indirect sampling by address
US9367316B2 (en) 2012-03-16 2016-06-14 International Business Machines Corporation Run-time instrumentation indirect sampling by instruction operation code
US9411591B2 (en) 2012-03-16 2016-08-09 International Business Machines Corporation Run-time instrumentation sampling in transactional-execution mode
US9465716B2 (en) 2012-03-16 2016-10-11 International Business Machines Corporation Run-time instrumentation directed sampling
US9471315B2 (en) * 2012-03-16 2016-10-18 International Business Machines Corporation Run-time instrumentation reporting
US9280447B2 (en) 2012-03-16 2016-03-08 International Business Machines Corporation Modifying run-time-instrumentation controls from a lesser-privileged state
US9830469B1 (en) * 2016-10-31 2017-11-28 International Business Machines Corporation Automated mechanism to secure customer data
US10650156B2 (en) 2017-04-26 2020-05-12 International Business Machines Corporation Environmental security controls to prevent unauthorized access to files, programs, and objects

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4495571A (en) * 1979-01-31 1985-01-22 Honeywell Information Systems Inc. Data processing system having synchronous bus wait/retry cycle
US4484274A (en) * 1982-09-07 1984-11-20 At&T Bell Laboratories Computer system with improved process switch routine
EP0153764B1 (en) * 1984-03-02 1993-11-03 Nec Corporation Information processor having an interruption operating function
NL8602849A (nl) * 1986-11-11 1988-06-01 Philips Nv Inrichting voor het emuleren van een microcontroller, middels gebruik maken van een moedermicrocontroller en een dochtermicrocontroller, moedermicrocontroller, respektievelijk dochtermicrocontroller voor gebruik in zo een inrichting, geintegreerde schakeling voor gebruik in zo een dochtermicrocontroller en microcontroller bevattende zo een geintegreerde schakeling.
JPS63156236A (ja) * 1986-12-19 1988-06-29 Toshiba Corp レジスタ装置
US4901233A (en) * 1987-07-20 1990-02-13 International Business Machines Corporation Computer system with logic for writing instruction identifying data into array control lists for precise post-branch recoveries
US5050067A (en) * 1987-08-20 1991-09-17 Davin Computer Corporation Multiple sliding register stacks in a computer
US4985848A (en) * 1987-09-14 1991-01-15 Visual Information Technologies, Inc. High speed image processing system using separate data processor and address generator
US5680600A (en) * 1989-10-13 1997-10-21 Texas Instruments Incorporated Electronic circuit for reducing controller memory requirements
US5179702A (en) * 1989-12-29 1993-01-12 Supercomputer Systems Limited Partnership System and method for controlling a highly parallel multiprocessor using an anarchy based scheduler for parallel execution thread scheduling
JP2767990B2 (ja) * 1990-07-30 1998-06-25 松下電器産業株式会社 マイクロプロセッサの制御方法
US5507030A (en) * 1991-03-07 1996-04-09 Digitial Equipment Corporation Successive translation, execution and interpretation of computer program having code at unknown locations due to execution transfer instructions having computed destination addresses
JP3539984B2 (ja) * 1991-10-21 2004-07-07 株式会社東芝 プロセッサ
JPH05127903A (ja) * 1991-10-31 1993-05-25 Toshiba Corp 並列処理マイクロプロセツサ
DK0627100T3 (da) * 1992-12-23 2000-06-26 Ebauchesfabrik Eta Ag Laveffekt-multitaskkontroller
KR970008188B1 (ko) * 1993-04-08 1997-05-21 가부시끼가이샤 히다찌세이사꾸쇼 플래시메모리의 제어방법 및 그것을 사용한 정보처리장치
US5392434A (en) * 1993-09-03 1995-02-21 Motorola, Inc. Arbitration protocol system granting use of a shared resource to one of a plurality of resource users

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012507080A (ja) * 2008-10-28 2012-03-22 インテル・コーポレーション コンピュータシステムにおける割り込み通信技術
WO2017002939A1 (ja) * 2015-07-01 2017-01-05 日立オートモティブシステムズ株式会社 電子制御装置及びスタック使用方法
JP2017016409A (ja) * 2015-07-01 2017-01-19 日立オートモティブシステムズ株式会社 電子制御装置及びスタック使用方法

Also Published As

Publication number Publication date
EP0729609A1 (en) 1996-09-04
US5887189A (en) 1999-03-23
WO1996009584A2 (en) 1996-03-28
WO1996009584A3 (en) 1996-05-23
KR960706125A (ko) 1996-11-08

Similar Documents

Publication Publication Date Title
JPH09505922A (ja) 多数のマイクロ制御器の演算を実行するマイクロ制御器システム
US5574873A (en) Decoding guest instruction to directly access emulation routines that emulate the guest instructions
US5157777A (en) Synchronous communication between execution environments in a data processing system employing an object-oriented memory protection mechanism
US5095526A (en) Microprocessor with improved interrupt response with interrupt data saving dependent upon processor status
CA1304166C (en) Software emulation of bank-switched memory using a virtual dos monitorand paged memory management
US5623617A (en) Method for decoding sequences of guest instructions for a host computer
US4586130A (en) Central processing unit for a digital computer
US6317822B1 (en) Instruction encoding techniques for microcontroller architecture
WO2006012007A1 (en) A system and method for simulating real-mode memory access with access to extended memory
JPH03225455A (ja) データ処理システム
KR20010043826A (ko) 마이크로 컨트롤러 명령어 집합
US5187791A (en) Microprocessor with improved interrupt response with data saving dependent upon processor status using status flag
EP0729605B1 (en) Processing system with word-aligned branch target
US11119778B2 (en) Apparatus and method for controlling execution of instructions
KR100261527B1 (ko) 프로세서 상태의 선택적 제초기화용 전기핀을 구비한 다중모드 마이크로프로세서
US4893235A (en) Central processing unit for a digital computer
JPH03240134A (ja) オブジエクト指向メモリ保護メカニズムを採用するデータ処理システムで実行環境間の同期通信を実行する方法
US6012128A (en) Microcontroller having a page address mode
KR100960095B1 (ko) 마이크로컨트롤러 명령어 셋트
KR100897857B1 (ko) 마이크로컨트롤러 명령어 셋트
JPH0666052B2 (ja) メモリ内容を機械レジスタに自動的に写像する計算機
CA1250666A (en) Central processing unit for a digital computer
JPH04302329A (ja) マイクロ処理システム
US7689403B2 (en) Instructions providing new functionality for utilization by a target system program of host system container words during computer system emulation with host word size larger than that of the emulated machine
WO1996008763A2 (en) Method, apparatus and instruction for performing a double jump register indirect operation transfer in a microcontroller

Legal Events

Date Code Title Description
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080507

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090507

Year of fee payment: 10

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100507

Year of fee payment: 11

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100507

Year of fee payment: 11

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110507

Year of fee payment: 12

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120507

Year of fee payment: 13

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120507

Year of fee payment: 13

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130507

Year of fee payment: 14

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130507

Year of fee payment: 14