JP4507888B2 - マイクロコンピュータ - Google Patents

マイクロコンピュータ Download PDF

Info

Publication number
JP4507888B2
JP4507888B2 JP2005009413A JP2005009413A JP4507888B2 JP 4507888 B2 JP4507888 B2 JP 4507888B2 JP 2005009413 A JP2005009413 A JP 2005009413A JP 2005009413 A JP2005009413 A JP 2005009413A JP 4507888 B2 JP4507888 B2 JP 4507888B2
Authority
JP
Japan
Prior art keywords
instruction
general
compare
purpose register
value
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 - Fee Related
Application number
JP2005009413A
Other languages
English (en)
Other versions
JP2006195910A (ja
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.)
Denso Corp
Original Assignee
Denso 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 Denso Corp filed Critical Denso Corp
Priority to JP2005009413A priority Critical patent/JP4507888B2/ja
Priority to US11/330,237 priority patent/US7664933B2/en
Publication of JP2006195910A publication Critical patent/JP2006195910A/ja
Priority to US12/585,781 priority patent/US7991982B2/en
Application granted granted Critical
Publication of JP4507888B2 publication Critical patent/JP4507888B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3836Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
    • G06F9/3851Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution from multiple instruction streams, e.g. multistreaming
    • 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/30181Instruction operation extension or modification

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Microcomputers (AREA)
  • Executing Machine-Instructions (AREA)

Description

本発明は、複数のタスクを時分割並行処理可能であると共に、それらの内少なくとも1つのタスクは、命令アドレスを指し示すプログラムカウンタの増分が一定となるよう、分岐命令が禁止され固定ループ化されたプログラムが記述された特定タスクとなっているマイクロコンピュータに関する。
CPUにROM,RAMやその他の周辺機能などを加えて構成されるマイクロコンピュータを様々なユーザアプリケーションに適用する場合は、一般に、夫々のアプリケーションで要求される機能に応じてハードウエアを変更する必要があり、製品のバリエーションが多くなってしまうという問題がある。
そこで、周辺機能としての動作をソフトウエアによって実現する構成が考えられている。例えば、特許文献1には、1つのCPUにおいて2つのタスク(A,L)を時分割並行的に処理し、Lタスクでは分岐命令の実行を禁止して固定ループ化することで、プログラムカウンタの値をタイマとして使用したり、Aタスクの暴走監視処理を行なわせるようにしたマイクロコンピュータが開示されている。
しかしながら、特許文献1のマイコンにおいて、例えば、特定の入力端子のレベル変化に応じてタイマ値を取得する、所謂「インプットキャプチャ」機能や、シリアル通信といったようなより複雑な周辺機能を実現しようとすると、プログラムサイズが非常に大きくなってしまうという問題がある。
また、特許文献2には、マイクロコンピュータが実行する命令機能を拡張するため、プログラムに記述されているターゲット命令の直前にプリフィックス命令を配置するようにして、そのプリフィックス命令にセットするフラグの状態に応じて前記ターゲット命令の機能を拡張するようにした構成が開示されている。
特開平6−250857号公報 特開2004−38521号公報
しかしながら、特許文献2の技術では、命令機能を拡張するためには必ずプリフィックス命令を挿入する必要があるため、やはりプログラムサイズが増加してしまう。
本発明は上記事情に鑑みてなされたものであり、その目的は、プログラムサイズの増加を極力抑制した上で、多様な周辺機能をソフトウエアによって実現することができるマイクロコンピュータを提供することにある。
請求項1記載のマイクロコンピュータによれば、CPUは、特定タスクに記述されている周辺機能命令を1命令として実行処理可能に構成されている。そして、オペランドで指定されている汎用レジスタより周辺機能命令の実行に要する情報を取得する共に、当該命令の実行結果に関する情報を汎用レジスタに格納する。具体的には、周辺機能命令は、プログラムカウンタのカウンタ値を、タイマカウンタのカウンタ値として汎用レジスタに格納するか、又は汎用レジスタに格納されている値と比較するか、又は汎用レジスタに格納されている値に加算する何れかの命令である。従って、周辺機能をソフトウエアによって実現するためのプログラムの記述が極めて簡単になり、プログラムサイズを小さくすることができる。また、汎用レジスタのビットは、CPUに通常用意されている命令によって操作可能であるから、周辺機能命令を実行させるために、プリフィックス命令のような特殊な命令を別途用意する必要がない。尚、ここで言う「周辺機能をソフトウエアによって実現する」とは、本発明のマイクロコンピュータにおけるCPUの内部構成であるハードウエアと、当該CPUが実行するプログラムとの協働によって周辺機能を実現することを示す。
請求項2記載のマイクロコンピュータによれば、CPUは、インプットキャプチャ命令を実行する場合、タイマ値を取得する条件となる入力端子のエッジ指定情報を汎用レジスタより取得する。そして、汎用レジスタに格納される、前回サンプリングした入力端子のレベルと、当該入力端子の現在のレベルとを比較すれば取得条件(エッジの立上がり,立下りなど)の成立を判定することができ、条件成立時に取得したタイマカウンタの値をキャプチャ値として格納すると共に、インプットキャプチャが成立したことを示すフラグを格納する。従って、予め通常命令によって汎用レジスタにエッジ指定情報をセットした後、インプットキャプチャ命令を実行することで、ソフトウエアによってインプットキャプチャ機能を実現することができる。
請求項3記載のマイクロコンピュータによれば、CPUは、サンプリングコンペア命令を実行する場合、汎用レジスタにセットされるコンペア周期値を取得する。また、汎用レジスタには、サンプリングタイミング毎にコンペア周期値を累積加算したデータをコンペア値として格納し、そのコンペア値とタイマカウンタ値とが一致した場合に、サンプリング結果及び成立フラグを汎用レジスタに格納する。従って、予め通常命令によって汎用レジスタにコンペア周期値をセットした後サンプリングコンペア命令を実行することで、ソフトウエアによってサンプリングコンペア機能を実現できる。
請求項4記載のマイクロコンピュータによれば、CPUは、インプットコンペアセット命令を実行する場合、汎用レジスタにセットされるコンペア周期値及びコンペアセット条件となる入力端子のエッジ指定情報を取得する。そして、コンペアセット条件が成立すると、その時点のタイマカウンタの値にコンペア周期値を加算した値をコンペア値として汎用レジスタに格納すると共に成立フラグを格納する。従って、予め通常命令によって汎用レジスタにコンペア周期値及びエッジ指定情報をセットした後インプットコンペアセット命令を実行することで、ソフトウエアによってインプットコンペアセット機能を実現できる。
請求項5記載のマイクロコンピュータによれば、CPUは、条件付サンプリング命令を実行する場合、汎用レジスタに条件フラグがセットされたか否か判断する。そして、条件フラグのセットを認識すると、汎用レジスタにサンプリング結果及び成立フラグを格納する。従って、特定タスクを実行している間に所定の条件が成立した場合に、通常命令によって汎用レジスタに条件フラグをセットすることで、ソフトウエアによって条件付サンプリング機能を実現できる。
請求項6記載のマイクロコンピュータによれば、CPUは、入力処理系の命令を実行する場合、汎用レジスタに前回の入力端子の状態と今回の入力端子の状態とを格納して、両者の値が一致した場合に、前記入力処理系命令の実行を許可する2度一致フィルタ機能を備える。ここで言う「入力処理系の命令」とは、請求項2乃至5における「インプットキャプチャ命令」,「サンプリングコンペア命令」,「インプットコンペアセット命令」,「条件付サンプリング命令」を示す。従って、入力信号又はデータの状態が安定したことを確認した段階で、入力処理系命令を実行することができる。
請求項7記載のマイクロコンピュータによれば、CPUは、汎用レジスタにおけるビットの設定に応じて2度一致フィルタ機能の実行可否を選択可能に構成されるので、当該フィル多機能の要否を、ユーザのアプリケーションに応じて選択することができる。
請求項8記載のマイクロコンピュータによれば、CPUは、アウトプットコンペア命令を実行する場合、汎用レジスタにセットされるコンペア周期値及び出力レベル指定条件を取得する。また、汎用レジスタには、サンプリングコンペア命令の場合と同様に、コンペア周期値が累積加算されたデータをコンペア値として格納し、そのコンペア値とタイマカウンタ値とが一致すれば、指定されたレベルを出力端子より出力すると共に成立フラグを汎用レジスタに格納する。従って、予め通常命令によって汎用レジスタにコンペア周期値をセットした後アウトプットコンペア命令を実行することで、ソフトウエアによってアウトプットコンペア機能を実現できる。
請求項9記載のマイクロコンピュータによれば、CPUは、条件付アウトプット命令を実行する場合、汎用レジスタにセットされる出力レベル指定条件を取得する。また、汎用レジスタに条件フラグがセットされたか否かを判断する。そして、条件フラグのセットを認識すると、前記指定条件に応じたレベルを出力端子に出力させると共に汎用レジスタに成立フラグを格納する。従って、予め通常命令によって汎用レジスタに出力レベル指定条件をセットした後、特定タスクを実行している間に所定の条件が成立した場合、通常命令によって汎用レジスタに条件フラグをセットすれば、ソフトウエアによって条件付アウトプット機能を実現できる。
以下、本発明の一実施例について図面を参照して説明する。図1は、マイクロコンピュータ10の構成を示す機能ブロック図である。マイクロコンピュータ10は、CPU11と、ROMにより構成されたプログラムメモリ12と、RAMにより構成されたデータメモリ13と、I/Oブロック14(入出力ピン)と、後述するCPU切替信号(クロック信号)を発生するタイミングジェネレータ(図示せず)と、データを送受信するデータバス15と、アドレス信号を送受信するアドレスバス16と、リード信号とライト信号をそれぞれ送受信するコントロールバス17,18とを備えている。
上記CPU11は、例えば、2種類のタスク(Lタスク,Aタスク)を時分割で並行にパイプライン処理するため2つのアドレスレジスタ19,20と2つの演算レジスタ21,22を備え、これらアドレスレジスタ19,20と演算レジスタ21,22をCPU切替信号により交互に切り替えることで、見掛上、2つのCPUを交互に切り替えて動作させるように機能する。
この場合、一方のアドレスレジスタ19と演算レジスタ21がCPU0用(Lタスク用)のレジスタとなり、他方のアドレスレジスタ20と演算レジスタ22がCPU1用(Aタスク用)のレジスタとなる。これらアドレスレジスタ19,20の切替えに応じてプログラムカウンタ23の値(次にフェッチする命令のアドレス)が更新され、このプログラムカウンタ23からCPU0用(Lタスク用)とCPU1用(Aタスク用)のアドレス信号が交互にプログラムメモリ12に出力される。
また、CPU11内には、プログラムメモリ12から読み込まれた命令の属するタスクの種類を判別してそのエラーを検出するエラー検出手段たるエラー検出回路24と、このエラー検出回路24を通過した命令をデコード(解読)する命令デコーダ・命令シーケンサ25が設けられ、この命令デコーダ・命令シーケンサ(以下、単に命令デコーダと称す)25によりデコードした命令の内容に応じて、演算器26(ALU)で演算レジスタ21,22を用いて演算したり、リード信号又はライト信号をコントロールバス17,18に出力するようになっている。
一方、プログラムメモリ12内には、CPU0用(Lタスク用)のプログラム領域27と、CPU1用(Aタスク用)のプログラム領域28と、テーブル即値データ領域29とが設けられている。この場合、CPU0用のプログラム領域27に格納されたLタスクは、プログラム暴走に至る危険性のある分岐命令が禁止された固定ループ化されたプログラムで構成されている。これにより、Lタスクのプログラムの実行時には0番地から2バイト命令アクセスで実行を開始し、2番地,4番地,6番地,…と順々に命令を実行していき、その後、所定番地まで行くと、プログラムカウンタ23がオーバーフローして0番地に戻り、以後、上述した番地順の命令実行を繰り返すようになる。また、このLタスクは、命令が全て1ワード(2バイト)命令に固定されている。
Lタスク(特定タスク)は、シーケンス制御の処理を行うのに適し、そのプログラム中に、Aタスクの暴走監視用のルーチンと、システムのフェイルセーフを成立させるためのバックアップシーケンス用のルーチンが含まれている。更に、このLタスクは、固定ループ動作によるタイマとしての機能も備え、例えばインクリメント命令又はデクリメント命令を実行させてそのカウント値が所定の設定値に達したときに、Aタスクの処理に割込みを発生させることでタイマ割込みと等価な定時間処理が可能となっている。
一方、Aタスクは、Lタスクで禁止されている分岐命令も許容されており、例えば複雑な解析処理・数値処理に適している。このAタスクについても、Lタスクと同じく、命令が全て1ワード命令に固定されている。このAタスクとLタスクは、1ワード内にオペコードとオペランド(アドレス)の両方が割り付けられている。
次に、上記構成のマイクロコンピュータ採用しているパイプライン制御方式について図2に基づいて説明する。このパイプラインは、例えば、命令フェッチ,命令デコード,命令実行の各ステージからなる3段のパイプラインとして構成され、全命令がこの3段のパイプラインで遅滞なく処理できるように設計されている。各ステージはそれぞれ1サイクルで実行され、3サイクルで1命令を実行するようになっているが、3段のパイプラインにより3つの命令を並行処理することで、見掛上、1命令を1サイクルで実行するのと等価となっている。
1サイクル(各ステージ)の時間は、CPU切替信号(クロック信号)により規定されている。このCPU切替信号は、ローレベルの時間TLoとハイレベルの時間THiとが同一であり、ローレベル期間でCPU0(Lタスク)の命令フェッチを行い、ハイレベル期間でCPU1(Aタスク)の命令フェッチを行うことにより、CPU0(Lタスク)とCPU1(Aタスク)の両プログラムを1:1の時分割比で並行にパイプライン処理するようになっている。
更に、CPU1がAタスクのプログラムに含まれる分岐命令をフェッチしたときには、当該分岐命令が含まれるAタスクの次の命令フェッチステージで分岐先アドレスの命令をフェッチするために、命令デコードステージで分岐先アドレスをセットするように構成されている。また、図2では、パイプライン処理中に、CPU1のY+1番地の命令が分岐命令(JMP)である場合の処理タイミングが示されている。
CPU11は、プログラムカウンタ23に異なる命令アドレスを順次セットするための複数のアドレスレジスタと19,20と、命令デコーダ25によってデコードされた命令を、演算器26に順次セットするための複数の演算レジスタ(命令レジスタ)21,22とを備え、前記複数のアドレスレジスタ19,20及び複数の演算レジスタ21,22を順次切替えることで、プログラムメモリ12に記憶されている複数のプログラム27,28をパイプライン処理可能に構成されている。
また、CPU11の命令セットとして、後述する「周辺機能命令」が用意されている。この「周辺機能命令」とは、従来はCPU11の外部に構成されたハードウエアを利用して実現していた処理を、CPU11がLタスクにおいてソフトウエア的に処理するために用意された命令である。そして、命令デコーダ25及び演算器26は、周辺機能命令を、パイプライン処理の実行ステージにおいて1サイクルで実行するように構成されている。
汎用レジスタ30は、通常は例えばCPU11の周辺回路に対してロード命令が実行された場合に、データバス15を介して読み出されたデータが格納されるものである。本実施例の汎用レジスタ30は、命令デコーダ25が命令のデコード動作を行なった結果、当該命令が「周辺機能命令」であった場合、一部のビットに入力端子31の入力信号レベルが格納されたり、或いは、一部のビットに設定されたデータに応じた信号を、出力端子32を介して出力することが可能となるように構成されている。また、汎用レジスタ30とプログラムカウンタ23との間で、データの転送も可能となっている。尚、実際には、汎用レジスタ30,入力端子31,出力端子32は夫々複数存在するが、図示の都合上図1では夫々1つだけ示している。
次に、本実施例の作用について図3乃至図15も参照して説明する。以降に示す図3乃至図8は、何れもCPU11が周辺機能命令を実行した場合における(a)汎用レジスタ30における各ビットの設定状態、(b)命令デコーダ25又は演算器26において、パイプライン処理の実行ステージにおいて1サイクルで(ハードウエアにより)実行される処理の内容をC言語で表現したもの、(c)実行形態の一例を示すタイミングチャート、である。
<インプットキャプチャ命令>
図3はインプットキャプチャ命令に関する内容を示す。インプットキャプチャ機能は、特定のトリガ信号が与えられたタイミングでフリーランカウンタのカウント値を読み込むものである。例えば、入力端子の信号エッジ間の時間を計測する際や、単なるエッジ検出にも使用される。本実施例では、CPU11がLタスクにおいて記述されたインプットキャプチャ命令を実行する場合は、プログラムカウンタ23のカウント値をタイマカウンタとして使用することで、CPU11の内部でソフトウエア的に処理する。
尚、ここで「ソフトウエア的に処理する」とは、CPU11の外部に設けられたハードウエアを利用して行う処理に対して、CPU11の内部において完結する処理を意味する。即ち、CPU11の内部ロジックなどが動作する部分も含めて「ソフトウエア的」と称している。
図3(a)に示すように、インプットキャプチャ命令が実行される場合、汎用レジスタ30の1つであるレジスタRmの各ビットは、以下のように割り当てが行なわれる。
ビット
15 :現在の入力端子の状態(レベル)
14 :前回の入力端子の状態(レベル)
13 :入力端子のサンプリング値(レベル)
11 :2度一致フィルタ許可/禁止
10,9:入力端子の信号エッジ指定
8 :インプットキャプチャ成立フラグ
7〜0:キャプチャ値
尚、これらのうち、ビット11における2度一致フィルタの許可/禁止や、ビット10,9における入力端子の信号エッジ指定は、Aタスク側に記述されているロード命令によって予めレジスタRmにセットされ、インプットキャプチャ命令では、オペランドでレジスタRmを指定する。
そして、インプットキャプチャ命令は、実行ステージにおいて図3(b)に示すような処理内容が実行される。尚、図3(b)に示す手順がプログラム的に1ステップずつ実行されるわけではなく、インプットキャプチャ命令が実行される場合に、これらの処理が命令デコーダ25または演算器26のロジックにより1サイクルで実行される。
即ち、ビット13で2度一致フィルタ許可が設定されている場合、ビット15,14の排他的論理和が成立し両者が不一致であれば、ビット15の内容がビット14に転送される。両者が一致した場合も、同様にその時点のビット15の内容がビット14に転送される。また、フィルタ禁止が設定されている場合は、最初の不一致判定を行うことなくビット15の内容がビット14に転送される。それから、入力端子31のエッジ判定を行う。
エッジ判定は、現時点の入力端子31のレベルであるビット15と、前回同じ命令が実行された場合の入力端子31のレベルがサンプリング値として格納されているビット13とが比較され、両者が一致していれば入力レベルの変化がなくエッジは検出されず、ビット15の内容をビット13に転送して終了する。
一方、ビット15,13が不一致であれば入力端子31のレベルが変化してエッジが検出されたことになる。この場合、ビット10,9で指定されたエッジの条件(立上がり,立下り,何れかのエッジ)が成立しているかどうかを判断し、当該条件が成立していればプログラムカウンタ23の値をレジスタRmのビット7:0に格納すると共に、ビット8に成立フラグを立てて処理を終了する。尚、各入力端子31の指定は、デフォルトで固定であっても、例えば、他の汎用命令を使用して指定可能としても良い。
ここで、上記のインプットキャプチャ機能を、CPU11の外部に回路を設けて実現することを想定すると、一般に、以下のような回路が必要となる。
(1)フリーランタイマ
(2)フリーランタイマのカウント値を格納するキャプチャレジスタ
(3)トリガとするエッジの指定や、2度一致フィルタの有無を選択するため
のコントロールレジスタ
これに対して、本実施例では、(1)はプログラムカウンタ23が対応し、(2)及び(3)はレジスタRmが対応することで、ハードウエアとしてはCPU11単体でインプットキャプチャ機能を実現している。
<サンプリングコンペア命令>
図4はサンプリングコンペア命令に関する内容を示す。サンプリングコンペア機能は、指定されたサンプリング周期が経過する毎に入力端子31のレベルをサンプリングするものである。この場合も、プログラムカウンタ23のカウント値をタイマカウンタとして使用する。
図4(a)に示すように、サンプリングコンペア命令が実行される場合、汎用レジスタ30におけるレジスタRm,Rnの各ビットは、以下のように割り当てが行なわれる。
レジスタRm ビット
15 :現在の入力端子の状態(レベル)
14 :前回の入力端子の状態(レベル)
13 :入力端子のサンプリング値(レベル)
12 :サンプリング結果(1ビットの場合)
11 :2度一致フィルタ許可/禁止
10,9:サンプリングの指定
8 :サンプリングコンペア成立フラグ
7〜0:コンペア値
レジスタRn ビット
15〜8 :サンプリング結果(1バイトの場合)
7〜0 :コンペア周期
そして、サンプリングコンペア命令は、図4(b)に示すような処理内容が実行される。2度一致フィルタに関する処理は、ビット15,14が不一致であれば、ビット15の内容をビット14に転送する。両者が一致した場合、若しくはフィルタ禁止が設定されている場合は、ビット15の内容がビット14,13に夫々転送される。それから、プログラムカウンタ23のカウント値がレジスタRmのビット7:0以上となった場合、即ちコンペア周期Δtが経過すると、レジスタRnのビット7:0がレジスタRmのビット7:0に加算されて次回のコンペア値がセットされる。そして、ビット8に成立フラグを立てると、レジスタRmのビット10,9で指定された態様に応じてサンプリングを行う。サンプリング指定は、例えば以下のように設定される。
ビット10,9 サンプリング態様
00 1ビット
01 不履行
10 1バイト(左シフト)
11 1バイト(右シフト)
尚、左シフトはMSBファーストに対応し、レジスタRnを1ビットずつ左シフトさせながら、レジスタRmのビット13をレジスタRnのビット8側から格納する。また、右シフトはLSBファーストに対応しており、レジスタRnを1ビットずつ右シフトさせながら、レジスタRmのビット13をレジスタRnのビット15側から格納する。
<アウトプットコンペア命令>
図5はアウトプットコンペア命令に関する内容を示す。アウトプットコンペア機能は、指定されたコンペア周期が経過する毎に出力端子より出力を行うものである。例えば、PWM信号の出力や、マイクロコンピュータ10がスリープモードに移行した場合に、その移行している時間を計測するためのスリープタイマに連動して信号の出力を行う場合などに使用される。この場合も、プログラムカウンタ23のカウント値をタイマカウンタとして使用する。
図5(a)に示すように、アウトプットコンペア命令が実行される場合、汎用レジスタ30におけるレジスタRm,Rnの各ビットは、以下のように割り当てが行なわれる。
レジスタRm ビット
15 :出力端子のレベル設定
11〜9:出力レベルの指定
8 :アウトプットコンペア成立フラグ
7〜0:コンペア値
レジスタRn ビット
15〜8 :出力データ(1バイトの場合)
7〜0 :コンペア周期
尚、出力指定及びコンペア周期は、アウトプットコンペア命令の実行前に他の命令によりセットされる。そして、アウトプットコンペア命令は、以下のように実行される。まず、プログラムカウンタ23のカウント値がレジスタRmのビット7:0以上となった場合、即ちコンペア周期Δtが経過すると、レジスタRnのビット7:0がレジスタRmのビット7:0に加算されて次回のコンペア値がセットされる。それから、ビット8に成立フラグを立てると、レジスタRmのビット11〜9で指定された態様に応じて出力を行う。出力レベル指定は、例えば以下のように設定される。
ビット11〜9 サンプリング態様
000 出力なし
001 「L」出力
010 「H」出力
011 現在のレベルの反転
100 出力なし
101 出力なし
110 1バイト出力(右シフト)
111 1バイト出力(左シフト)
尚、1バイト出力の右シフトはLSBファーストに対応し、レジスタRnのビット8をレジスタRmのビット15に格納すると、レジスタRnのビット15〜8を1ビット右シフトさせる。また、1バイト出力の左シフトはMSBファーストに対応しており、レジスタRnのビット15をレジスタRmのビット15に格納すると、レジスタRnのビット15〜8を1ビット左シフトさせる。
<インプットコンペアセット命令>
図6はインプットコンペアセット命令に関する内容を示す。インプットコンペアセット機能は、入力端子31の指定されたエッジを検出した場合に、コンペア値をセットするものである。この場合も、プログラムカウンタ23のカウント値をタイマカウンタとして使用する。尚、2度一致フィルタに関する処理は、インプットキャプチャ命令の場合と同様である。
図6(a)に示すように、インプットコンペアセット命令が実行される場合、汎用レジスタ30におけるレジスタRm,Rnの各ビットは以下のように割り当てが行なわれる。
レジスタRm ビット
15 :現在の入力端子の状態(レベル)
14 :前回の入力端子の状態(レベル)
13 :入力端子のサンプリング値(レベル)
11 :2度一致フィルタ許可/禁止
10,9:エッジの指定
8 :インプットコンペアセット成立フラグ
7〜0:コンペアセット値
レジスタRn ビット
7〜0:コンペア値
尚、エッジの指定及びコンペアセット値は、インプットコンペアセット命令の実行前に他の通常命令によりセットされる。そして、インプットコンペアセット命令は、以下のように実行される。尚、2度一致フィルタに関する処理はインプットキャプチャ命令等と同様であるから省略する。まず、ビット15の内容がビット14に夫々転送される。それから、インプットキャプチャ命令の場合と同様に入力端子31についてエッジ判定が行われ、エッジが検出され且つエッジ条件が成立すると、プログラムカウンタ23のカウント値にレジスタRmのビット7:0を加算した値をレジスタRnのビット7:0にセットする。そして、ビット8に成立フラグを立てる。このインプットコンペアセット命令は、図6(c)に示すように、例えば信号の立下りエッジを検出した時点にコンペアセット値Δtをセットする場合などに使用する。
<条件付サンプリング命令>
図7は条件付サンプリング命令に関する内容を示す。条件付サンプリング機能は、何らかの処理の結果により条件フラグがセットされた場合に入力端子31のレベルをサンプリングするものである。図7(a)に示すように、条件付サンプリング命令が実行される場合、レジスタRmの各ビットには、以下のように割り当てが行なわれる。
ビット
15 :現在の入力端子の状態(レベル)
14 :前回の入力端子の状態
13 :入力端子のサンプリング値(レベル)
12 :サンプリング結果(1ビット)
11 :2度一致フィルタ許可/禁止
10,9:サンプリング指定
8 :条件付サンプリング成立フラグ
7〜0:サンプリング結果(1ビット)
また、レジスタRnのビット8には条件フラグが格納される。そして、図7(b)に示すように、条件フラグがセットされると2度一致フィルタ処理と共にサンプリング処理を行ない、条件フラグがセットされていなければ2度一致フィルタ処理だけを実行する。尚、何れの場合も、フィルタ処理はフィルタ許可フラグがセットされている場合に行われることは上述と同様である。
サンプリング処理については、レジスタRmのビット8に成立フラグを立てると、サンプリングコンペア命令と同様のサンプリング指定に応じてサンプリングを行う。但し、1バイトサンプリングの場合、サンプリング結果はレジスタRmのビット7〜0に格納される。図7(c)は、例えばある入力端子31の立下がりエッジが検出されたことを条件としてサンプリングを行なう場合を示している。
<条件付アウトプット命令>
図8は条件付アウトプット命令に関する内容を示す。条件付アウトプット機能は、何らかの処理の結果により条件フラグがセットされた場合に、指定されたレベルを出力端子より出力するものである。図8(a)に示すように、条件付アウトプット命令が実行される場合、レジスタRmの各ビットには、以下のように割り当てが行なわれる。
レジスタRm ビット
15 :出力端子のレベル設定
11〜9:出力レベルの指定
8 :アウトプットコンペア成立フラグ
7〜0:出力値(1バイト)
また、レジスタRnのビット8には条件フラグが格納される。そして、条件付アウトプット命令は、レジスタRnのビット8に条件フラグがセットされると、図8(b)に示すような処理内容として実行される。まず、レジスタRmのビット8に成立フラグを立てると、アウトプットコンペア命令と同様のアウトプット指定に応じて出力端子32より出力を行う。但し、1バイト出力の場合、レジスタRmのビット15にはビット7〜0にセットされたデータが1ビットずつシフトされながら与えられる。図8(c)は、例えばある入力端子31の立上がりエッジが検出されたことを条件として反転出力,出力無し,反転出力を行なう場合を示している。
[ケーススタディ:CSMA/CD,受信]
次に、図9乃至図15は、以上に説明した周辺機能命令(ペリフェラル命令)を使用してより具体的な機能の実現を図る例を示す。図9はLANにおいて利用される通信方式の1つであるCSMA/CD方式について、受信側の機能を実現する場合を示す。実現する機能は、以下のようになる。
(1)受信データRxの立下りを検出すると、
その時点からΔt2後に受信データRxをサンプリング
(2)(1)のサンプリング結果においてエッジが検出されなければ、更にΔt1(1ビット周期)後に受信データRxをサンプリングし、エッジが検出されれば(衝突検出)更にΔt2後に受信データRxをサンプリング(ビット同期)
ビット同期は、以下のように行なう。
前回の受信データ :0 → 立下りエッジで同期
前回の受信データ :1 → 立上りエッジで同期
ドミナント「0」送信中 → 立下りエッジで同期
ドミナント「1」送信中 → 立上りエッジで同期
上記機能は、
<インプットコンペアセット命令>
(1)受信データRxのエッジが検出されるとサンプリングタイミングをΔt2に変更
<サンプリングコンペア命令>
(2)Δt1毎に受信データRxをサンプリング
によって実現することができる。
[ケーススタディ:CSMA/CD,送信]
図10はCSMA/CD方式における送信側の機能を実現するものである。機能の内容は、以下のようになる。
(1)一定周期(Δt1)毎に送信データを出力
(2)受信データレベルが変化してエッジを検出すると送信データを出力
これらの機能は、
<アウトプットコンペア命令>
(1)一定周期(Δt1)毎に送信データを出力端子より出力。
<インプットコンペアセット命令>
(2a)受信データRxのエッジを検出
この場合、当該命令の実行結果によりレジスタRmのビット8に成立フラグがセットされると、そのビット8の内容をレジスタRnのビット8に転送する。
<条件付アウトプット命令>
(2b)上記エッジの検出により、送信データを出力端子より出力
これらの周辺機能命令によって実現することができる。
[ケーススタディ:イベントタイマ]
図11は、イベントタイマ機能を実現するものである。この機能は、
(1)入力端子31において信号エッジを検出
(2)エッジ検出からΔt後に入力端子31のレベルをサンプリング
であり、周辺機能命令によっては、
<インプットコンペアセット命令>
(1)入力端子31の信号エッジを検出してコンペア周期Δtを設定
<サンプリングコンペア命令>
(2)コンペア周期Δt経過時に入力端子31のレベルをサンプリング
で実現できる。
[ケーススタディ:ポートサンプリング]
図12は、ポートサンプリング機能である。この機能は、
(1)任意のタイミングで、出力端子より信号を出力
(2)上記出力端子の信号エッジを検出すると、Δt後に入力端子31をサンプリング
である。また、サンプリングポートは、例えば「32」の内から選択可能である。これらの機能は、
<アウトプットコンペア命令>
(1)所定のカウント値にプログラムカウンタ23が一致すると、出力端子32(PSMOUT)より信号出力
<インプットコンペアセット命令>
(2a)上記出力端子32のエッジ検出により、コンペア周期を設定
(2b)上記コンペア周期にプログラムカウンタ23が一致すると、入力端子31をサンプリング
で実現することができる。
[ケーススタディ:クロック同期シリアル]
図13は、クロック同期シリアル通信機能を実現する場合を示す。この通信機能は、以下のようになる。
(1)シリアルクロックSCLKの立下りエッジ検出で出力端子32(SOUT)より信号出力(送信)
(2)SCLKの立上りエッジ検出で入力端子31(SIN)をサンプリング(受信)
また、その他の機能として、外部クロック/内部クロック,LSB/MSBファースト,クロック極性の選択や、オーバーランエラーの検出などがある。
上記(1),(2)の機能は、周辺機能命令によって以下のように実現される。
<インプットキャプチャ命令>
(1a)SCLKのエッジ(立下り,立上がり)を検出
<条件付アウトプット命令>
(1b)上記エッジ(立下り)の検出により、送信データを出力端子32より出力
<条件付サンプリング命令>
(2)上記エッジ(立上がり)の検出により、入力端子31をサンプリング
[ケーススタディ:UART]
図14は、UART通信機能を実現する場合である。この通信機能は
(1)エッジ検出(立下り,スタートビット検出)からΔt後に入力端子31をサンプリング
(2)その後、(Δt×2)毎に入力端子31をサンプリング(受信)
(3)または(Δt×2)毎に出力端子32よりデータ出力(送信)
その他、オーバーランエラー、フレーミングエラー、パリティエラーの検出などを行なう。
上記(1)〜(3)の機能は、周辺機能命令によって以下のように実現される。
<インプットコンペアセット命令>
(1)端子の信号エッジ(立上がり)を検出し、コンペア周期Δtを設定
<サンプリングコンペア命令>
(2)プログラムカウンタが一致した場合に、入力端子31をサンプリング
<アウトプットコンペア命令>
(3)プログラムカウンタが一致した場合に(周期:Δt×2)、出力端子32よりデータ出力
[ケーススタディ:LIN]
図15は、車内LANの一種であるLINにおいて、通信開始時に行うビット同期機能を実現する場合を示す。この機能は、以下のようになる。
(1)SYNCH BREAKのロウレベル期間がΔt1に達したことを計測すると、通信開始を認識
(2)SYNCH FIELDにおいて、送信されるクロック周期(立下りエッジ間)Δt2を計測し、ビットレートを調整(4周期分計測し、「8」で除す)
上記(1),(2)の機能は、周辺機能命令によって以下のように実現される。
<インプットキャプチャ命令>
入力端子31のエッジを検出してプログラムカウンタ23のカウント値を取得する。その他の処理は、通常命令で実現可能である。
即ち、以上のように、複数の方式が異なる通信機能をソフトウエアによって実現することができるので、マイクロコンピュータ10は、夫々の通信機能を実現する場合に対応して通信インターフェイス用のLSIを搭載する必要がなくなる。従って、マイクロコンピュータ10の汎用性を高めることが可能となる。
以上のように本実施例によれば、マイクロコンピュータ10のCPU11を、Lタスクに記述されている周辺機能命令を1命令として実行処理可能に構成する。そして、CPU11は、オペランドで指定されている汎用レジスタ30より周辺機能命令の実行に要する情報を取得する共に、当該命令の実行結果に関する情報を汎用レジスタ30に格納するようにした。従って、周辺機能をソフトウエアによって実現するためのプログラムの記述が極めて簡単になり、プログラムサイズを小さくすることができる。また、汎用レジスタ30のビットはCPU11に通常用意されている命令によって操作可能であるから、周辺機能命令を実行させるために、プリフィックス命令のような特殊な命令を別途用意する必要がない。
また、CPU11は、インプットキャプチャ命令を実行する場合、タイマ値の取得条件となる入力端子31のエッジ指定情報を汎用レジスタ30より取得し、汎用レジスタ30に格納される入力端子31の状態から取得条件の成立を判定し、その条件成立時に取得したプログラムカウンタ23の値をキャプチャ値として格納すると共に成立フラグを格納する。従って、予め通常命令によって汎用レジスタ30にエッジ指定情報をセットした後、インプットキャプチャ命令を実行することで、ソフトウエアによってインプットキャプチャ機能を実現することができる。
また、CPU11は、サンプリングコンペア命令を実行する場合、汎用レジスタ30にセットされるコンペア周期値を取得し、また、汎用レジスタ30に、サンプリングタイミング毎にコンペア周期値を累積加算したデータをコンペア値として格納する。そして、コンペア値とプログラムカウンタ23の値とが一致した場合に、サンプリング結果及び成立フラグを汎用レジスタ30に格納する。従って、予め通常命令によって汎用レジスタ30にコンペア周期値をセットした後サンプリングコンペア命令を実行することで、ソフトウエアによってサンプリングコンペア機能を実現できる。
また、CPU11は、インプットコンペアセット命令を実行する場合、汎用レジスタ30にセットされるコンペア周期値及びコンペアセット条件となる入力端子31のエッジ指定情報を取得し、その条件が成立すると、その時点のプログラムカウンタ23の値にコンペア周期値を加算した値をコンペア値として汎用レジスタ30に格納すると共に成立フラグを格納する。従って、予め通常命令によって汎用レジスタ30にコンペア周期値及びエッジ指定情報をセットした後インプットコンペアセット命令を実行することで、ソフトウエアによってインプットコンペアセット機能を実現できる。
また、CPU11は、条件付サンプリング命令を実行する場合、汎用レジスタ30に条件フラグがセットされたか否か判断し、条件フラグのセットを認識すると、汎用レジスタ30にサンプリング結果及び成立フラグを格納する。従って、Lタスクを実行している間に所定の条件が成立した場合に、通常命令によって汎用レジスタ30に条件フラグをセットすることで、ソフトウエアによって条件付サンプリング機能を実現できる。
また、CPU11は、入力処理系の命令であるインプットキャプチャ命令,サンプリングコンペア命令,インプットコンペアセット命令,条件付サンプリング命令を実行する場合、汎用レジスタ30に前回と今回の入力端子31の状態を格納して、両者の値が一致した場合に入力処理系命令の実行を許可する2度一致フィルタ機能を備えるので、入力信号又はデータの状態が安定したことを確認した段階で、入力処理系命令を実行することができる。そして、CPU11は、汎用レジスタ30におけるビットの設定に応じて2度一致フィルタ機能の実行可否を選択可能に構成されるので、当該フィル多機能の要否を、ユーザのアプリケーションに応じて選択することができる。
また、CPU11は、アウトプットコンペア命令を実行する場合、汎用レジスタ30にセットされるコンペア周期値及び出力レベル指定条件を取得し、また、汎用レジスタ30には、サンプリングコンペア命令の場合と同様のコンペア値を格納し、そのコンペア値とプログラムカウンタ23値とが一致すれば指定されたレベルを出力端子より出力すると共に成立フラグを汎用レジスタ30に格納するようにした。従って、予め通常命令によって汎用レジスタ30にコンペア周期値をセットした後アウトプットコンペア命令を実行することで、ソフトウエアによってアウトプットコンペア機能を実現できる。
また、CPU11は、条件付アウトプット命令を実行する場合、汎用レジスタ30にセットされる出力レベル指定条件を取得し、汎用レジスタ30に条件フラグがセットされたか否かを判断する。そして、条件フラグのセットを認識すると、前記指定条件に応じたレベルを出力端子に出力させると共に汎用レジスタ30に成立フラグを格納する。従って、予め通常命令によって汎用レジスタ30に出力レベル指定条件をセットした後、特定タスクを実行している間に所定の条件が成立した場合に、通常命令によって汎用レジスタ30に条件フラグをセットすれば、ソフトウエアによって条件付アウトプット機能を実現できる。
本発明は上記し又は図面に記載した実施例にのみ限定されるものではなく、以下のような変形が可能である。
2度一致フィルタの実行可否を設定する機能は必要に応じて設ければ良く、また、2度一致フィルタ自体の機能も必要に応じて設ければ良い。
CPUが時分割並行的に処理するタスクの数は、3つ以上あっても良い。
周辺機能命令は、マイクロコンピュータの仕様に応じて必要なものを適宜選択して実現すれば良い。
本発明の一実施例であり、マイクロコンピュータの構成を示す機能ブロック図 マイクロコンピュータがAタスク,Lタスクを時分割並行処理する状態を示すタイミングチャート インプットキャプチャ命令について、(a)汎用レジスタにおける各ビットの設定状態、(b)パイプライン処理の実行ステージにおいて実行される処理の内容をC言語で表現したもの、(c)実行形態の一例を示すタイミングチャート サンプリングコンペア命令についての図3相当図 アウトプットコンペア命令についての図3相当図 インプットコンペアセット命令についての図3相当図 条件付サンプリング命令についての図3相当図 条件付アウトプット命令についての図3相当図 CSMA/CD通信方式について、受信側の機能を周辺機能命令によって実現する場合を示す図 同送信側の機能についての図9相当図 イベントタイマ機能についての図9相当図 ポートサンプリング機能についての図9相当図 クロック同期シリアル通信機能についての図9相当図 UART通信機能についての図9相当図 LINの通信開始時に行うビット同期機能を実現する場合の図9相当図
符号の説明
図面中、10はマイクロコンピュータ、11はCPU、23はプログラムカウンタ、30は汎用レジスタ、31は入力端子、32は出力端子を示す。

Claims (9)

  1. 複数のタスクを時分割並行処理可能であると共に、それらの内少なくとも1つのタスクは、命令アドレスを指し示すプログラムカウンタの増分が一定となるよう、分岐命令が禁止され固定ループ化されたプログラムが記述された特定タスクとなっているマイクロコンピュータにおいて、
    前記特定タスクは、前記プログラムカウンタがオーバーフローすると、当該プログラムカウンタがリセットされて前記プログラムの冒頭から実行が開始され、前記プログラムカウンタをタイマカウンタとして利用可能であり、
    前記特定タスクには、周辺機能を1命令で実行するための周辺機能命令が記述されており、
    前記周辺機能命令は、オペランドとして汎用レジスタを1つ以上指定するように設定され、前記プログラムカウンタのカウンタ値を、タイマカウンタのカウンタ値として前記汎用レジスタに格納するか、又は前記汎用レジスタに格納されている値と比較するか、又は前記汎用レジスタに格納されている値に加算する何れかの命令であり、
    前記CPUは、前記周辺機能命令を1命令として実行処理可能に構成され、汎用レジスタより当該命令の実行に要する情報を取得する共に、当該命令の実行結果に関する情報を汎用レジスタに格納することを特徴とするマイクロコンピュータ。
  2. 前記CPUは、前記周辺機能命令としてインプットキャプチャ命令を実行する場合、汎用レジスタよりタイマ値を取得する条件となる入力端子のエッジ指定情報を取得し、
    汎用レジスタに、前回にサンプリングした前記入力端子のレベルと、前記入力端子の現在のレベルとを格納し、
    前回と現在の入力端子の状態に基づいて前記取得条件が成立したと判断するとタイマカウンタの値を取得し、キャプチャ値として汎用レジスタに格納することを特徴とする請求項1記載のマイクロコンピュータ。
  3. 前記CPUは、前記周辺機能命令としてサンプリングコンペア命令を実行する場合、汎用レジスタにセットされるコンペア周期値を取得し、
    汎用レジスタに、サンプリングタイミング毎に前記コンペア周期値を累算したコンペア値をセットし、
    前記コンペア値と前記タイマカウンタの値とを比較して一致判断を行い、両者の一致時に入力端子の状態をサンプリングして、成立フラグと共に汎用レジスタに格納することを特徴とする請求項1又は2記載のマイクロコンピュータ。
  4. 前記CPUは、前記周辺機能命令としてインプットコンペアセット命令を実行する場合、汎用レジスタにセットされるコンペアセット値及びコンペアセット条件となる入力端子のエッジ指定情報を取得し、
    前記コンペアセット条件が成立すると、汎用レジスタに、前記コンペアセット値にその時点のタイマカウンタの値を加えたコンペア値と共に、成立フラグを格納することを特徴とする請求項1乃至3の何れかに記載のマイクロコンピュータ。
  5. 前記CPUは、前記周辺機能命令として条件付サンプリング命令を実行する場合、汎用レジスタに条件フラグがセットされたことを認識すると入力端子のサンプリングを行ない、
    汎用レジスタに、前記サンプリング結果及び成立フラグを格納することを特徴とする請求項1乃至4の何れかに記載のマイクロコンピュータ。
  6. 前記CPUは、前記周辺機能命令として入力処理系の命令を実行する場合、汎用レジスタに、前回の入力端子の状態と今回の入力端子の状態とを格納し、
    両者の値が一致した場合に、前記入力処理系命令の実行を許可する2度一致フィルタ機能を備えていることを特徴とする請求項2乃至5の何れかに記載のマイクロコンピュータ。
  7. 前記CPUは、前記汎用レジスタにおけるビットの設定に応じて、前記2度一致フィルタ機能の実行可否を選択可能に構成されていることを特徴とする請求項6記載のマイクロコンピュータ。
  8. 前記CPUは、前記周辺機能命令としてアウトプットコンペア命令を実行する場合、汎用レジスタにセットされるコンペア周期値及び出力レベル指定条件を取得し、
    汎用レジスタに、アウトプット条件の成立毎に前記コンペア周期値を累算したコンペア値をセットし、
    前記コンペア値と前記タイマカウンタの値とを比較して一致判断を行い、両者が一致すると(アウトプット条件成立)、前記指定条件に応じたレベルを出力端子より出力させると共に、成立フラグを汎用レジスタに格納することを特徴とする請求項1乃至7の何れかに記載のマイクロコンピュータ。
  9. 前記CPUは、前記周辺機能命令として条件付アウトプット命令を実行する場合、汎用レジスタにセットされる出力レベル指定条件及び条件フラグを取得し、
    前記条件フラグがセットされたことを認識すると、前記指定条件に応じたレベルを出力端子より出力させると共に、成立フラグを汎用レジスタに格納することを特徴とする請求項1乃至8の何れかに記載のマイクロコンピュータ。

JP2005009413A 2005-01-17 2005-01-17 マイクロコンピュータ Expired - Fee Related JP4507888B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2005009413A JP4507888B2 (ja) 2005-01-17 2005-01-17 マイクロコンピュータ
US11/330,237 US7664933B2 (en) 2005-01-17 2006-01-12 Microcomputer and encoding system for instruction code and CPU
US12/585,781 US7991982B2 (en) 2005-01-17 2009-09-24 Microcomputer and encoding system for executing peripheral function instructions

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005009413A JP4507888B2 (ja) 2005-01-17 2005-01-17 マイクロコンピュータ

Publications (2)

Publication Number Publication Date
JP2006195910A JP2006195910A (ja) 2006-07-27
JP4507888B2 true JP4507888B2 (ja) 2010-07-21

Family

ID=36801936

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005009413A Expired - Fee Related JP4507888B2 (ja) 2005-01-17 2005-01-17 マイクロコンピュータ

Country Status (1)

Country Link
JP (1) JP4507888B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5862442B2 (ja) * 2012-05-09 2016-02-16 株式会社デンソー 電磁弁駆動制御装置

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS54114687A (en) * 1978-02-27 1979-09-06 Toyoda Mach Works Ltd Sequence controller
JPS54138354A (en) * 1978-04-20 1979-10-26 Oki Electric Ind Co Ltd Microprocessor unit
JPS5617441A (en) * 1979-07-23 1981-02-19 Fujitsu Ltd Program interruption system
JPS61237150A (ja) * 1985-04-15 1986-10-22 Hitachi Ltd 入出力演算のデータ処理方式
JPS6275733A (ja) * 1985-09-30 1987-04-07 Nippon Denso Co Ltd マイクロコンピユ−タ
JPH06250857A (ja) * 1993-02-26 1994-09-09 Nippondenso Co Ltd マイクロコンピュータ
JPH07271408A (ja) * 1994-03-30 1995-10-20 Hitachi Ltd 制御用処理装置
JP2003296292A (ja) * 2002-03-29 2003-10-17 Denso Corp ポートサンプリング回路装置およびマイクロコンピュータ
JP2003308307A (ja) * 2002-02-15 2003-10-31 Denso Corp マイクロコンピュータ及び車両用ecu

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS54114687A (en) * 1978-02-27 1979-09-06 Toyoda Mach Works Ltd Sequence controller
JPS54138354A (en) * 1978-04-20 1979-10-26 Oki Electric Ind Co Ltd Microprocessor unit
JPS5617441A (en) * 1979-07-23 1981-02-19 Fujitsu Ltd Program interruption system
JPS61237150A (ja) * 1985-04-15 1986-10-22 Hitachi Ltd 入出力演算のデータ処理方式
JPS6275733A (ja) * 1985-09-30 1987-04-07 Nippon Denso Co Ltd マイクロコンピユ−タ
JPH06250857A (ja) * 1993-02-26 1994-09-09 Nippondenso Co Ltd マイクロコンピュータ
JPH07271408A (ja) * 1994-03-30 1995-10-20 Hitachi Ltd 制御用処理装置
JP2003308307A (ja) * 2002-02-15 2003-10-31 Denso Corp マイクロコンピュータ及び車両用ecu
JP2003296292A (ja) * 2002-03-29 2003-10-17 Denso Corp ポートサンプリング回路装置およびマイクロコンピュータ

Also Published As

Publication number Publication date
JP2006195910A (ja) 2006-07-27

Similar Documents

Publication Publication Date Title
KR100588790B1 (ko) 데이터처리기에서의후속명령처리에작용하는방법및장치
US6434690B1 (en) Microprocessor having a DSP and a CPU and a decoder discriminating between DSP-type instructions and CUP-type instructions
US6016543A (en) Microprocessor for controlling the conditional execution of instructions
US5091853A (en) Chained addressing mode pipelined processor which merges separately decoded parts of a multiple operation instruction
JP2005317023A (ja) データ処理装置のブレークポイント論理ユニット、デバッグ論理、およびブレークポイントの方法
JP3745039B2 (ja) 遅延命令を有するマイクロプロセッサ
US5313644A (en) System having status update controller for determining which one of parallel operation results of execution units is allowed to set conditions of shared processor status word
US7991982B2 (en) Microcomputer and encoding system for executing peripheral function instructions
EP0287115B1 (en) Coprocessor and method of controlling the same
JP4507888B2 (ja) マイクロコンピュータ
US7010677B2 (en) Data processor speeding up repeat processing by inhibiting remaining instructions after a break in a repeat block
US20010023481A1 (en) Processor that executes control signals included in operand section of control instruction
US5463747A (en) Microprogram data processor processing operand address calculation and instruction execution with common hardware
US5838961A (en) Method of operation and apparatus for optimizing execution of short instruction branches
JP2007004475A (ja) プロセッサ及びプログラム実行方法
JP5012562B2 (ja) マイクロコンピュータ
US20050216704A1 (en) Device and method for managing a microprocessor instruction set
TWI389027B (zh) 中央處理單元及微控制器
JP4702004B2 (ja) マイクロコンピュータ
US8516225B2 (en) Central processing unit and microcontroller
JP2721610B2 (ja) プログラマブルコントローラ
JP2559924B2 (ja) プログラマブルコントローラ
JP3060917B2 (ja) プロセッサ
JPH10207704A (ja) マイクロコンピュータのプログラム変更装置
JPH0991167A (ja) 命令検出装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070905

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20091215

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100209

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100323

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20100413

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100426

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

Free format text: PAYMENT UNTIL: 20130514

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20130514

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20140514

Year of fee payment: 4

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees