JP2009110353A - マイクロコントローラ及び制御システム - Google Patents

マイクロコントローラ及び制御システム Download PDF

Info

Publication number
JP2009110353A
JP2009110353A JP2007282959A JP2007282959A JP2009110353A JP 2009110353 A JP2009110353 A JP 2009110353A JP 2007282959 A JP2007282959 A JP 2007282959A JP 2007282959 A JP2007282959 A JP 2007282959A JP 2009110353 A JP2009110353 A JP 2009110353A
Authority
JP
Japan
Prior art keywords
data
point
floating
microcontroller
converter
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
JP2007282959A
Other languages
English (en)
Inventor
Naoki Kato
直樹 加藤
Tetsuya Yamada
哲也 山田
Fumio Arakawa
文男 荒川
Hiromichi Yamada
弘道 山田
Shigeru Obo
茂 於保
Makoto Ishikawa
誠 石川
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.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2007282959A priority Critical patent/JP2009110353A/ja
Priority to US12/262,173 priority patent/US20090113186A1/en
Publication of JP2009110353A publication Critical patent/JP2009110353A/ja
Pending legal-status Critical Current

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/30003Arrangements for executing specific machine instructions
    • G06F9/30007Arrangements for executing specific machine instructions to perform operations on data operands
    • G06F9/30025Format conversion instructions, e.g. Floating-Point to Integer, decimal conversion
    • 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/30003Arrangements for executing specific machine instructions
    • G06F9/30007Arrangements for executing specific machine instructions to perform operations on data operands
    • G06F9/3001Arithmetic instructions
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/14Conversion to or from non-weighted codes
    • H03M7/24Conversion to or from floating-point codes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/483Computations with numbers represented by a non-linear combination of denominational numbers, e.g. rational numbers, logarithmic number system or floating-point numbers

Abstract

【課題】浮動小数点演算を行うためのプログラムコード、特にその変数によるコード量の増加を抑制し、また、固定小数点データを浮動小数点データに変換するための処理オーバヘッドを軽減する。
【解決手段】制御システムに、固定小数点データとして整数データとそれに対する小数点位置データとを入力し、入力データから浮動小数点型の仮数部、指数部及び符号を求めて浮動小数点型データに変換する浮動小数点変換器(32)と、前記浮動小数点変換器の出力を受け浮動小数点データの演算を行う浮動小数点演算器(38)と、を有するマイクロコントローラ(1)を採用する。前記浮動小数点変換器は、前記整数データに対する仮数部のシフト量と前記小数点位置データ(EXP2)との加減算により指数部を取得する。
【選択図】図1

Description

本発明は、浮動小数点演算器を備えたマイクロコントローラに関し、例えば、外部信号を入力として制御対象機器を制御するために制御信号を内部の浮動小数点演算器を用いて計算し、その結果制御信号を外部に出力するマイクロコントローラ、更には前記したマイクロコントローラを用いた制御システムに適用して有効な技術に関する。
例えば、自動車等の制御システム(ECU)では、センサから入力された情報に基づいて制御信号を生成してアクチュエータに出力し、アクチュエータが前記制御信号に基づいて動作する。制御システムにはマイクロコントローラやドライバICなどが搭載されている。制御システムに搭載されるマイクロコントローラでは、従来、固定小数点型変数を用いてプログラムが記述されることが多かった。固定小数点では整数部分に用いるビット数と小数部分に用いるビット数をあらかじめ固定して表現する。固定小数点は、浮動小数点数に比べて表現できる値の範囲は狭いが、高速に演算できることが利点に挙げられる。マイクロコントローラはセンサからのアナログ信号を取り込み、内臓A/D変換器でデジタル化することが多い。内臓A/D変換器は高々10〜12ビットの精度であるために、内部の変数も、8ビットあるいは16ビットの固定小数点型を用い、高速な演算、メモリ使用量の削減、プログラムコードの削減が可能である。マイクロコントローラ内部のデータ表現としては、明示的に固定小数点を表すデータ型はなく、通常、整数型(16ビットや32ビット)、文字型(8ビット)などが用いられる。プログラマは、各変数はどの位置に小数点を持つかをプログラマ自身が記憶し、小数点位置の異なる固定小数点変数どうしの加減算では、桁位置合わせを行う必要があり、桁合わせのための除算等の演算処理をプログラムに含めなければならず、プログラミングに煩雑な手間を要する。一方、浮動小数点表現の場合は、マイクロコントローラ自身により自動的な桁合わせが行われるため、プログラマの手間は簡略化される。
近年、浮動小数点演算プロセッサを備えたマイクロコントローラが増加し、また、高いデータ精度が要求され、プログラムサイズも巨大化する傾向にあり、更に、プログラミングを容易に行う要求が高まってきたことなどから、浮動小数点による演算を実施することが増えてきた。単精度浮動小数点表現を用いると、32ビットのデータ領域が必要であり、固定小数点に比べてプログラムの変数やデータのビット数が増え、RAMやROMの使用量が増加する。例えば、制御システムにおいて、複数のセンサ値から次の制御量を決定するための表を制御テーブルとしてROMに格納しておくことが行われる。このとき、例えば制御テーブルを8ビットの固定小数点で表現した場合に比べ、単精度浮動小数点で表現した場合には4倍の記憶領域を必要とする。制御装置テーブルを格納するROMとして、マイクロコントローラの外部にプログラムや定数データ格納用のフラッシュメモリを用いる場合や、マイクロコントローラ内部の不揮発ROMを用いる場合があるが、何れの場合もメモリの記憶容量が増大するに従ってマイクロコントローラ更には制御システムの価格が増加する。
特許文献1では、浮動小数点の制御テーブルのためのROM使用量を削減するために、テーブル内に同一の値を持つデータが多数存在することに着目し、浮動小数点データをビット数の少ないインデックスで置き換え、別途インデックスと実際の値の対応表を持つことで、ROM使用量を削減する発明が記載されている。また、特許文献2には、マイクロコントローラ内部で、浮動小数点表現と固定小数点表現を持つ場合に、そのつど変換する計算の手間を省くために、同一のデータに対して、常に両方の表現でデータを保持する発明が記載されている。
特開2005-201181号公報 特開2001-195233号公報
本発明者は、前記制御テーブルを、A/D変換器で取り込む信号と同様の少ないビットで構成し、内部で演算に用いる際に制御テーブルのデータを浮動小数点に変換することについて検討した。この場合には、制御テーブルを読み込む際に、数命令のプログラムコードにより浮動小数点変換を行うため、プログラムコード量の増加と変換にかかる処理時間が増加し、性能が低下するという問題が発生する。例えば、メモリに格納されている整数型の変数を読み込み浮動小数点型に変換するためには、以下のステップ
(1)メモリから整数レジスタへのロード、
(2)整数レジスタから浮動小数点の特殊レジスタへの移動、
(3)特殊レジスタから読み込んで型変換を行い、浮動小数点レジスタに格納、
(4)桁合わせのため、浮動小数点演算器を用いた、小数点位置で割り算(掛け算)、
を要する。命令数にして、4命令、サイクル数で浮動小数点割り算であれば十数サイクル、割り算の代わりに、逆数の掛け算を用いる場合でも合計で8サイクル程度必要となる。大規模の制御テーブルの一要素を読み込むたびに、上記ステップ、特に割り算又は掛け算の処理を必要とするために、プログラムコードの増加と処理サイクルを必要とすることがわかる。命令セットアーキテクチャの種類によっては、上記ステップ(2)(3)を1命令で実行可能なものもあるが、いずれにしても、固定小数点の制御テーブルを用い、演算も固定小数点で実行する場合や、浮動小数点の制御テーブルを用いて、浮動小数点演算するのに比べ、固定小数点の制御テーブルを用いて浮動小数点演算を行う場合には、プログラムコードの増加と処理サイクル増加というオーバヘッドが発生する。
本発明の目的は、浮動小数点演算を行うためのプログラムコード、特にその変数によるコード量の増加を抑制することができるマイクロコントローラを提供することにある。
本発明の別の目的は、固定小数点データを浮動小数点データに変換するための処理オーバヘッドを軽減することができるマイクロコントローラを提供することにある。
本発明更に別の目的は、浮動小数点演算に用いる制御テーブルの容量を抑えることができ、制御テーブルの記憶情報を用いた制御処理のオーバヘッドを軽減することができる制御システムを提供することにある。
本発明の前記並びにその他の目的と新規な特徴は本明細書の記述及び添付図面から明らかになるであろう。
本願において開示される発明のうち代表的なものの概要を簡単に説明すれば下記の通りである。
すなわち、制御システムに、固定小数点データとして整数データとそれに対する小数点位置データとを入力し、入力データから浮動小数点型の仮数部、指数部及び符号を求めて浮動小数点型データに変換する浮動小数点変換器と、前記浮動小数点変換器の出力を受け浮動小数点データの演算を行う浮動小数点演算器と、を有するマイクロコントローラを採用する。前記浮動小数点変換器は、前記整数データに対する仮数部のシフト量と前記小数点位置データとの加減算により指数部を取得する。
本願において開示される発明のうち代表的なものによって得られる効果を簡単に説明すれば下記のとおりである。
すなわち、浮動小数点演算を行うためのプログラムコード、特にその変数によるコード量の増加を抑制することができる。
固定小数点データを浮動小数点データに変換するための処理オーバヘッドを軽減することができる。
浮動小数点演算に用いる制御テーブルの容量を抑えることができ、制御テーブルの記憶情報を用いた制御処理のオーバヘッドを軽減することができる。
1.実施の形態の概要
先ず、本願において開示される発明の代表的な実施の形態について概要を説明する。代表的な実施の形態についての概要説明で括弧を付して参照する図面中の参照符号はそれが付された構成要素の概念に含まれるものを例示するに過ぎない。
〔1〕マイクロコントローラは、命令を実行し、整数演算を行う中央処理装置と、固定小数点データとして整数データとそれに対する小数点位置データとを入力し、入力データから浮動小数点型の仮数部、指数部及び符号を求めて浮動小数点型データに変換する浮動小数点変換器と、前記浮動小数点変換器の出力を受け浮動小数点データの演算を行う浮動小数点演算器と、を有する。
浮動小数点変換器を採用するから、浮動小数点演算器のためのプログラムコードに含まれる変数によるコード量の増加を抑制することができる。浮動小数点変換器は固定小数点データとして整数データとそれに対する小数点位置データとを入力して変換を行うから、変換過程で小数点位置データをもちいることにより、変換後の浮動小数点データに対して桁合わせのための掛け算又は割り算を要せず、変換処理のオーバヘッドを軽減することができる。
〔2〕項1のマイクロコントローラにおいて、前記浮動小数点変換器は、前記整数データ(INTDAT)に対する仮数部のシフト量と前記小数点位置データ(EXP2)との加減算により指数部(EXP)を取得する。加減算により簡単に指数部を取得することができる。
〔3〕項2のマイクロコントローラにおいて、前記整数データは複数バイトのデータであり、前記小数点位置データは前記整数データの桁数を値とする2の階乗値の階乗数のビット数を少なくとも有するデータである。小数点位置データは整数データに対して僅かビット数で済む。
〔4〕項3のマイクロコントローラにおいて、前記浮動小数点データはIEEE754浮動小数点規格に準拠し、前記浮動小数点変換器は、前記整数データに対する指数部の値から前記小数点位置データを加減算して前記浮動小数点データの指数部を取得する。加減算により簡単に指数部を取得することができる。
〔5〕項2のマイクロコントローラにおいて、前記浮動小数点変換器は、中央処理装置による浮動小数点変換命令の実行により起動され、前記固定小数点データの整数データを前記命令の命令オペランドで指定された整数レジスタ(33)から読み込み、変換後の浮動小数点データを、前記命令の命令オペランドで指定された浮動小数点レジスタ(35)に格納する。中央処理装置が浮動小数点変換命令を実行することによって浮動小数点型への変換を行うことができる。
〔6〕項5のマイクロコントローラにおいて、前記整数レジスタと前記浮動小数点変換器が第1バスで接続され、前記浮動小数点変換器と浮動小数点レジスタが第2バス接続される。浮動小数点変換器による変換に際してデータパスの制御が極めて簡単になる。
〔7〕項6のマイクロコントローラにおいて、前記浮動小数点変換器は、前記浮動小数点変換命令の命令オペランドのデコード結果を前記小数点位置データとして入力する。前記浮動小数点変換命令の命令コード長は増えるが小数点位置データの指定に他の命令を必要としない。
〔8〕項6のマイクロコントローラにおいて、前記浮動小数点変換器は、中央処理装置により所定のレジスタ(40)に格納された前記小数点位置データを入力する。前記浮動小数点変換命令の命令コード長を増やすことなく小数点位置データを指定することができる。一群の処理に利用する固定小数点データの小数点位置を一定に揃えておくことが一般的であるから、浮動小数点変換毎に毎回レジスタ設定をやり直すことは必要とされない。
〔9〕項2のマイクロコントローラは、前記中央処理装置がメモリから前記浮動小数点演算器の浮動小数点レジスタへデータを転送するデータ転送命令を実行する場合に用いられる選択可能な第1動作モードと第2動作モードを有する。前記第1動作モードは、前記メモリ内のデータを前記浮動小数点レジスタに直接ロードする動作である。第2動作モードは、前記メモリ内のデータを前記浮動小数点変換器で浮動小数点データに変換し、変換したデータを前記浮動小数点レジスタに格納する動作である。メモリ内に格納した浮動小数点データを直接浮動小数点演算に用いる便に供することができる。
〔10〕項9のマイクロコントローラは、前記第1モードが指定されているときは前記データ転送命令によってメモリから読み出されたデータを前記浮動小数点レジスタに供給する経路を選択し、前記第2モードが指定されているときは前記データ転送命令によってメモリから読み出されたデータを前記浮動小数点変換器に供給する経路を選択するセレクタ(51)を有する。浮動小数点演算にメモリからリードした浮動小数点データを直接用いる場合と、浮動小数点変換器で変換された浮動小数点データを用いる場合とにおけるデータ経路選択を容易化することができる。
〔11〕項9のマイクロコントローラにおいて、前記第1動作モードと第2動作モードはモードレジスタ(50)内の所定のフラグの値によって切換え可能にされる。
〔12〕項9のマイクロコントローラは更に、メモリアドレスに対応して動作モード指定データと必要な小数点位置データとを保有し、前記データ転送命令によるメモリアクセスアドレスを入力して当該メモリアドレスに対応する動作モード指定データと必要な小数点位置データとを出力するデータテーブル(61)を有する。前記データテーブルの出力に基づいて前記第1動作モード又は第2動作モードが選択される。前記浮動小数点変換器は必要な小数点位置データを前記データテーブルの出力ら得る。変換対象とされるデータの取得に併せて自動的に対応する動作モード指定データと必要な小数点位置データを得ることができる。
〔13〕項9のマイクロコントローラにおいて、前記浮動小数点変換器は、中央処理装置により所定のレジスタに格納された小数点位置データを入力する。
〔14〕項1のマイクロコントローラは更に、前記中央処理装置によって条件設定されるダイレクトメモリアクセスコントローラと、前記整数データが格納されたメモリとを有する。前記ダイレクトメモリアクセスコントローラは、転送要求に応答して、前記メモリから前記浮動小数点変換器に整数データを転送する動作が可能にされる。浮動小数点変換は中央処理装置による変換命令の実行によるだけでなく、ダイレクトメモリアクセス転送制御によっても実現することができる。
〔15〕項14のマイクロコントローラにおいて、前記ダイレクトメモリアクセスコントローラは、前記浮動小数点変換器で変換されて浮動小数点レジスタに格納された浮動小数点データを前記メモリに転送する動作が可能にされる。予め複数の変換結果をメモリに蓄えて浮動小数点演算に供する演算形態も選択可能になる。
〔16〕項15のマイクロコントローラにおいて、前記浮動小数点変換器は、中央処理装置により所定のレジスタに格納された小数点位置データを入力する。前記中央処理装置による前記ダイレクトメモリアクセスコントローラへの転送条件の設定に際して小数点位置データを指定することが可能になる。
〔17〕項16のマイクロコントローラにおいて、前記ダイレクトメモリアクセスコントローラは前記所定のレジスタを有する。小数点位置データの指定が容易になる。
〔18〕制御システムは、制御ユニット(70)と、前記制御ユニットが制御量を決定するアクチェータ(71)と、前記アクチェータによる制御対象の状態を検出するセンサ(72)とを有する。前記制御ユニットは、変数が浮動小数点で表現された制御プログラムを有するプログラムメモリ(90)と、整数で表現された固定小数点の制御データが格納された制御テーブルメモリ(91)と、浮動小数点変換器(32)と、浮動小数点演算器(38)とを有する。浮動小数点変換器は、前記センサからの入力に基づいて前記制御テーブルメモリから読み出された制御データをとそれに対する小数点位置データとを入力し、入力データから浮動小数点型の仮数部、指数部及び符号を求めて浮動小数点型データに変換する。浮動小数点演算器は、前記浮動小数点変換器の出力を受け前記制御プログラムに基づいて浮動小数点データの演算を行うとを有する。
浮動小数点変換器を採用するから、浮動小数点演算器のためのプログラムコードに含まれる変数によるコード量の増加を抑制することができる。浮動小数点変換器は固定小数点データとして整数データとそれに対する小数点位置データとを入力して変換を行うから、変換過程で小数点位置データを用いることにより、変換後の浮動小数点データに対して桁合わせのための掛け算又は割り算を要せず、変換処理のオーバヘッドを軽減することができる。制御システムにおける制御量を決定するために用いる制御データを、制御テーブルメモリに前記整数データとして持てばよいから、制御テーブルメモリの記憶容量を抑えることができる。
〔19〕項18の制御システムにおいて、前記浮動小数点変換器は、前記整数データに対する仮数部のシフト量と前記小数点位置データとの加減算により指数部を取得する。加減算により簡単に指数部を取得することができる。
〔20〕項18の制御システムは、前記センサからの入力に基づいて前記制御テーブルメモリから制御データを読み出して前記浮動小数点変換器に与える中央処理装置を有する。
〔21〕項20の制御システムにおいて、前記浮動小数点変換器は、前記中央処理装置が実行する浮動小数点変換命令の命令オペランドのデコード結果を前記小数点位置データとして入力する。
〔22〕項2の制御システムにおいて、前記浮動小数点変換器は、前記中央処理装置により所定のレジスタに格納された前記小数点位置データを入力する。
〔23〕項18の制御システムにおいて、前記プログラムメモリ、前記浮動小数点変換器、及び前記浮動小数点演算器は同一半導体チップ上に形成される。制御システムの小型化に寄与する。
2.実施の形態の詳細
実施の形態について更に詳述する。以下、本発明を実施するための最良の形態を図面に基づいて詳細に説明する。なお、発明を実施するための最良の形態を説明するための全図において、同一の機能を有する部材には同一の符号を付し、その繰り返しの説明は省略する。
図9にはマイクロコントローラの全体的な構成が例示される。同図に示されるマイクロコントローラ1は、特に制限されないが、相補型MOPS集積回路製造技術により、単結晶シリコン等の1個の半導体基板に形成される。
マイクロコントローラ(MCON)1は、特に制限されないが、プロセッサコアとして中央処理装置(CPU)2、浮動小数点処理ユニット(FPU)3、及びキャッシュユニット(CAU)4を有する。CPU2はフェッチした命令を実行して整数演算を行う。FPU3は浮動小数点演算命令を実行して浮動小数点演算を行い、また、浮動小数点演算のために与えられた固定小数点データを浮動小数点データに変換する。キャッシュユニット4はキャッシュメモリ(CACHE)5、アドレス変換バッファ(TLB)6及びキャッシュ・TLB制御回路(CTCNT)7を備える。キャッシュメモリは利用頻度の高い命令やデータを一時的に蓄積する。TLB6は利用頻度の高い論理アドレスと物理アドレスとの変換対を一時的に保有する。CTCNT7はCPU2から出力されるアドレス情報に対するアドレス変換制御、CPU2によるアクセス要求に対する、キャッシュメモリのキャッシュヒット/キャッシュミス等に応ずるキャッシュエントリのリプレースやフィルの制御、TLB6のTLBヒット/TLBミス等に応ずるLTBエントリのリプレースやフィルの制御等を行う。A1はアドレスバス、D1〜D3はデータバスである。特に制限されないが、FPU3が利用するデータに対するアドレシングはCPU2が行う。C1はCPU2からFPU3への制御信号バスである。
CAU5はアドレスバスA10、データバスD10を介してバスステートコントローラ(BSC)10に接続される。BSC10はアドレスバスA12とデータバスD12を介して外部バスインタフェース回路(EXBIF)12に接続する。EXBIF12は外部アドレスバスA20及び外部データバスD20を介して外部メモリ等の外部デバイスに接続する。アドレスバスA12及びデータバスD12にはランダムアクセスメモリ(RAM)15及びリードオンリメモリ(ROM)16が接続される。BSC10は周辺アドレスバスA13と周辺データバスD13を介して周辺回路モジュール20〜24等に接続する。20はMCON内部の同期クロック信号を生成するクロックパルスジェネレータCPG)である。21は割込み制御回路(INTC)でありMCON1ないがいからの割り込み要求信号を受けてCPU2に割込み信号を出力する。22が外部からのアナログ信号をディジタル信号に変換するアナログディジタル変換器(ADC)である。23はタイマカウンタユニット(TMU)、24はシリアルインタフェース回路(SCI)である。BSC10はアドレスバスA10とデータバスD10を介してダイレクトメモリアクセスコントローラ(DMAC)11に接続する。ダイレクトメモリアクセスコントローラ(DMAC)11はCPU2により転送条件が設定され、転送要求を受けることにより、前記転送条件に従ってメモリ・メモリ間のようなデュアルアドレシングモード、又はメモリ・レジスタ間のようなシングルアドレシングモードでデータ転送制御を行う。BSC10はバスA10から与えられるアクセスアドレスに応じてバスサイクル数、データ幅、経路選択等のバス制御を行う。
以下において、FPU3を用いた固定小数点データを浮動小数点データに変換する変換機能について説明する。
図1にはMCON1が備える浮動小数点変換機能の第1の例が示される。CPU2内部の命令デコーダ(IDEC)30は、命令レジスタ(IREG)31にフェッチされた浮動小数点変換命令をデコードすると、その命令の命令オペランドで指定された整数レジスタ(INTREG)33から整数データINTDATが浮動小数点変換器(FCONV)32に渡される。整数レジスタ33内には、例えば8ビット又は16ビットの整数型で表現され、浮動小数点に変換される固定小数点の整数データINTDATが格納されている。また、命令デコーダ30は当該浮動小数点変換命令のオペランドで指定された小数点位置を示す情報(小数点位置データ)EXP2を浮動小数点変換器32に渡す。小数点位置データEXP2は、固定小数点データが8ビット又は16ビットであるために、高々4ビット程度の情報で足りる。浮動小数点変換器32は、整数データINTDATとその整数データの小数点位置データEXP2とによって特定される固定小数点データを、例えば単精度の浮動小数点データFLTDATに変換して浮動小数点レジスタ(FLTREG)35に出力する。
浮動小数点変換器32は、符号および仮数部処理部(PROC)36及び指数部を求める引き算器(SUB)37を有する。整数型表現は通常、負数を2の補数で表現するために、最上位ビットが1か0であるかを調べることで、符号を判別可能であり、符号および仮数部処理部36は1ビットの符号情報SIGNを出力する。さらに、符号および仮数部処理部36は指数部EXP1及び仮数部FRACTIONを求める。符号及び仮数処理部36による、符号SIGN、指数部EXP1、及び仮数部FRACTIONを求める処理は既知の技術であるから、その部分については簡単な説明とする。符号および仮数部処理部36は入力された整数表現から、最上位にある1の場所を求め、そのビットを最上位ビットに来るように左にシフトする。浮動小数点表現では、最上位の1を省略する隠しビットが用いられるので、符号および仮数部処理部36はさらに1ビット左にシフトし、空いた右のビット部分には0を入れる。その結果、最終的な仮数FRACTIONが求められる。最上位ビットが1である負数の場合は、1を引いて補数をとり絶対値を求めて同様に扱う。また、符号および仮数部処理部36は最上位にある1の場所の桁数によって指数部EXP1を求める。引き算器37は求められた指数部EXP1と前記小数点位置データEXP2を入力し指数部EXP1から小数点位置データEXP2を減じ、最終的な浮動小数点表現における指数部EXPを求める。ここで、整数データINTDATに対する少数点位置が右にある場合には小数点位置データは補数とされている。これにより、小数点位置が整数データの最下位の右側にある場合であっても引き算器37により引き算で指数部EXPを取得することができる。それとは逆にすれば引き算器の代わりに足し算器を用いればよい。
上記により求められた符号情報SIGN、指数部EXP、仮数部FRACTIONは一緒に、32ビットとして、浮動小数点レジスタ35に出力される。浮動小数点レジスタ35にロードされた浮動小数点データは浮動小数点演算器(FPALU)38により浮動小数点演算の対象にされる。特に図示はしないが、浮動小数点演算器38は必要に応じて他の浮動小数点レジスタにロードされた浮動小数点データも演算対象とする。浮動小数点演算器38はCPU2から与えられた浮動小数点命令を浮動小数点制御回路(FPCNT)39がデコードして浮動小数点演算器38による演算動作を制御する。
図2には図1で説明した変換動作を具体的に例示する。整数レジスタ(INTREG)33の値00011011が格納されているとする。小数点位置を示す情報EXP2は0011、つまり、下位から3ビット目の左に小数点があることを示している。従って整数レジスタ(INTREG)33の値とEXP2の値によって規定される固定小数点データの値は、2進数で表現するとは、“11.011”となりる。10進数では、“1×2+1×2+0×2−1+1×2−2+1×2−3=3.375”を表現していることになる。符号および仮数部処理部(PROC)36では、最上位判定により符号ビットSIGNとして正である0を出力する。仮数部FRACTIONを求める処理では、まず、下位から5ビット目に最上位の1を発見する。浮動小数点数では、仮数の整数部は必ず1になるので、最上位の1は省略されるため、整数レジスタ33の下位から4ビット分を仮数部FRACTIONに左詰に入れ、仮数部FRACTIONの残りは全て0を入れる。この操作で指数EXP1が0011つまり4であることが同時に求められる。さらに、元の整数表現が、下位から3ビット目の左に小数点がある固定小数点であるために、指数部EXPを“指数部EXP1−小数点位置データEXP2”により求め、これにより指数部EXPが1であることが求められる。
この例では減算として説明したが、補数をとって加算器を用いることでも実現できる。これにより、変換された浮動小数点の値1.1011×21が浮動小数点レジスタ(FLREG)35に出力される。
図2の説明からも理解できるように、指数部EXPを求める処理は高々4ビットの減算、あるいは加算演算、仮数部FRACTIONを求める処理も8〜16ビットの中から最も最上位の1を求める程度の処理なので、浮動小数点変換を行った後に、桁位置合わせのための浮動小数点数の割り算を実行するのに比べ、非常に高速に変換および桁位置合わせを実現することができる。また、桁位置合わせのための割り算命令を要しないので変換に要する命令数も削減することができる。
図3にはMCON1が備える浮動小数点変換機能の第2の例が示される。図1との相違点は、浮動小数点変換命令の命令オペランドによって小数点位置の情報EXP2を浮動小数点変換器32に渡すのではなく、予め、小数点位置情報レジスタ(PNTREG)40に小数点位置データEXP2を格納しておき、浮動小数点変換命令によって変換器32が起動されたとき、レジスタ40を参照することで、小数点位置データEXP2を取得する点が異なっている。尚、図1には記載されていたCPU2内部の命令デコーダ30等は図示が省略されているが、図3の構成においても命令デコーダ等は設けられている。また、図3においては、小数点位置情報レジスタ40をCPU2の内部に配置しているが、必ずしもそれに限定されず、浮動小数点変換器32の内部に配置されていてもよい。浮動小数点変換器32の動作は図1とおなじである。
図3の構成は、浮動小数点変換命令のオペランドに小数点位置データを含める必要がないので命令がコンパクトに表現できる点が利点である。一方、小数点位置情報レジスタ40には事前に小数点位置データを設定しておく必要がある。小数点位置情報レジスタ40に対する設定はCPU2がデータ転送命令等を実行して行えばよい。制御システムでは、何種類かの固定小数点表現の制御テーブルが用いられるが、1つの制御テーブル内では小数点位置を統一することが通常行われる。そのために、1つの制御テーブルをアクセスするような一連の処理単位においては、小数点位置情報40を変更することなく浮動小数点変換命令を実行できることが期待でき、小数点位置情報レジスタ40の設定のための命令の追加によるプログラムコードの増大や処理時間のオーバヘッドは実質的に問題にはならない。
図4にはMCON1が備える浮動小数点変換機能の第3の例が示される。図4において、浮動小数点変換器(FCONV)32は、ROM16から浮動小数点レジスタ35へのデータ転送命令によって動作される。モードレジスタ(MODREG)50の設定値により、ROM16から浮動小数点レジスタ(FLTREG)35へのデータ転送において、浮動小数点変換を行う第2モード又は行わない第1モードを切換えることが可能にされる。そのためのモードレジスタ50は1ビットのフラグで足りる。モードレジスタ50はCPU2の内部レジスタであることに限定されず、FPU3内部のレジスタであってもよい。前記データ転送命令の命令オペランドでアドレスが指定されるROM16のリードデータは、セレクタ(SEL)51を介して直接に浮動小数点レジスタ35に転送される経路、又は浮動小数点変換器32の符号及び仮数処理部36に転送される経路が選択される。セレクタ51による経路選択はモードレジスタ50の設定値により制御される。即ち、ROM16からリードアクセスするデータが浮動小数点に変換すべき固定小数点表現の整数データの場合は、浮動小数点変換器32への経路を選択し、ROM16からリードアクセスするデータが元々浮動小数点データである場合は、直接、浮動小数点レジスタ35に転送する経路を選択するようにされる。尚、図4にはBSC10、CAU4等の図示は省略してある。
図4の構成によれば、1つの固定小数点で表現された制御テーブルをアクセスするような一連の処理単位においては、事前に整数データを浮動小数点に変換してROM16に格納しておき、必要に応じて第2モードを設定して、ROM16から浮動小数点データを直接に浮動小数点レジスタ35に転送するような制御を行うことができる。これにより、モードレジスタ50の設定のためのプログラムコードや処理時間のオーバヘッドが問題にならない。但し、浮動小数点データを格納する分だけROM16の記憶容量は大きくなる。
図5にはMCON1が備える浮動小数点変換機能の第4の例が示される。図5においても図4と同様に、浮動小数点変換器(FCONV)32は、ROM16から浮動小数点レジスタ35へのデータ転送命令によって動作される。図4との相違点はモードレジスタに代えて、モード制御部(MDCNT)60及び変換対象アドレステーブル(ADTLB)61を採用した点が相違される。モード制御部60は、変換対象アドレステーブル61を参照し、転送命令で指定された転送元のアドレスが、変換対象アドレステーブル61に登録されている場合に限って、セレクタ51に浮動小数点変換器32への経路を選択させる。転送命令で指定された転送元のアドレスが、変換対象アドレステーブル61に登録されていない場合は、直接、浮動小数点レジスタ35に転送する経路をセレクタ51に選択させる。変換対象アドレステーブル61は例えばCAU4に連想記憶を用いて形成し、制御線C2(図9には図示を省略)を介してモード制御部60に与えれば良い。特に制限されないが、モード制御部60はFPU3に配置されている。小数点位置データEXP2は変換対象アドレステーブル61に、指定されたアドレス範囲ごとに格納されている。そのため、小数点位置データEXP2は、モード制御部60を経由して、浮動小数点変換器32に渡される。図6には変換対象アドレステーブル61の一例が示される。変換対象アドレステーブル61は、浮動小数点変換対象の開始アドレス(Start address)STRTaddr、終了アドレス(End address)ENDaddr、小数点位置データ(Point Position)EXP2のセットを複数格納できる構造を持ち、アクセスアドレスが記憶されたアドレス範囲に入っているかを判定し、判定結果と共に判定ヒットのアドレス範囲に対応する小数点位置データEXP2を出力する機能を備える。終了アドレスのかわりに変換対象のアドレス範囲に応ずるサイズデータを格納してもよい。尚、図5にはBSC10、CAU4等の図示は省略してある。
図7にはMCON1が備える浮動小数点変換機能の第5の例が示される。図7ではDMAC11によるダイレクトメモリアクセス転送を用いて、ROM16に格納された固定小数点データを浮動小数点変換器32で不動小数点データに変換し、変換したデータを浮動小数点レジスタ35又はRAM15に転送可能にした。DMAC11はCPU2による命令実行によって転送に必要な転送制御情報が設定される。例えば転送元のROM16のメモリアドレス、転送先とされる浮動小数点レジスタ35又はRAM15のメモリアドレス、小数点位置データなどである。小数点位置データは小数点位置情報レジスタ(PNTREG)40にセットされる。転送制御情報がセットされたDMAC11は転送要求が与えられることによって当該転送制御情報に従ってデータ転送制御を開始する。転送制御形態は、特に制限されないが、ROM16からFPU3へのシングルアドレシングモードによる第1形態、FPU3からRAM15へのシングルアドレシングモードによる第2形態とされる。第1形態における転送に際してFPU3はFCONV3を変換動作可能とし、変換結果を浮動小数点レジスタ35にロード可能とし、この状態でDMA転送要求が発行されることにより、ROM16から読み出された整数データをFCONV32がPNTREG40の値を利用して浮動小数点データに変換してFLTREG35にロードする。第2形態における転送に際してFPU3はFLTREG35のデータを出力可能にされ、この状態で例えばFPU3がDMA転送要求を発行してDMAC11からアクノレッジ信号が返されることに応答して、FPU3がFLTREG35の浮動小数点データを出力し、出力されたデータをRAMが記憶する。尚、図7にはBSC10、CAU4等の図示は省略してある。
この例によれば、制御テーブルのあるデータを浮動小数点変換して浮動小数点レジスタに格納することに加え、例えばテーブルの一行をまとめて浮動小数点変換しRAMに格納すると言う動作に対応することができる。テーブルの一列について同様に、まとめて浮動小数点変換しRAMに格納する。あるいは、スキャッタギャザー機能を用い、さらに複雑に、n次元のテーブルの着目点近傍をまとめて浮動小数点変換してRMに格納するなどの変換と転送を実現することができる。
図8には上記マイクロコントローラ1を適用した制御システムが例示される。同図に示される制御システムは、制御ユニット(ECU)70と、前記制御ユニット70が制御量を決定するアクチェータ(ACTOR)71と、前記アクチェータ71による制御対象の状態を検出するセンサ(SNSR)72とを有する。前記制御ユニット70はマイクロコントローラ(MCON)1、信号処理チップ(MSING)80、及び駆動素子(POW)81を有する。ここではその他の搭載回路については図示を省略する。マイクロコントローラ1は複数のセンサ72からの信号を、信号処理チップ80を介して入力する。入力したアナログ量はADC22によってディジタルデータに変換される。信号処理チップ80を介さずに直接MICON1に入力することも可能である。センサ信号とは、例えば自動車制御システムの場合は、エンジン回転数や、吸入空気量、バルブ角度、カムリフト量、空気温度などである。駆動素子81はMCON1の入出力回路(I/O)から駆動データが供給され、その駆動データの大きさ等に従ってアクチェータの動作が制御される。マイクロコントローラ1のROM16は変数が浮動小数点で表現された制御プログラム(PRGM)90を有する。更にROM16には整数で表現された固定小数点の制御データを有する制御テーブル(CNTTBL)91が形成されている。FPU3の浮動小数点変換回路32は、前記センサ72からの入力に基づいて前記ROM16から読み出された制御データとそれに対する小数点位置データとを入力し、入力データから浮動小数点型の仮数部、指数部及び符号を求めて浮動小数点型データに変換する。変換機能については上述の何れの対応であっても採用可能であり、ここではその詳細な説明は省略する。FPU3の浮動小数点演算器38は前記浮動小数点変換器32の出力を受け前記ROM16制御プログラムに基づいて浮動小数点データの演算を行う。
前記ROM16の制御テーブル91は8ビットまたは16ビットの整数表現された固定小数点データで構成されている。制御プログラム90は同様にROMに格納され、センサから求めた制御対象の状態から制御テーブル91を参照して、制御プログラム90に従い制御量を決定し、制御信号として、I/Oから出力する。プログラムの内の変数は浮動小数点で表現され、制御テーブル91の内の8ビットまたは16ビットの整数表現された固定小数点データは、図1乃至図7に基づいて説明したように、浮動小数点変換器32により浮動小数点変換され、制御プログラム90において浮動小数点データとして使用される。
これにより、ROM16のサイズを小さくすることが可能になる。さらに、制御プログラムは変数を浮動小数点数とするから高精度であり、人手によるコーディングを極力少なくでき、その上、変換のためのコードサイズの増加や変換処理のサイクルオーバヘッドも低減可能である。
以上本発明者によってなされた発明を実施形態に基づいて具体的に説明したが、本発明はそれに限定されるものではなく、その要旨を逸脱しない範囲において種々変更可能であることは言うまでもない。
例えば、マイクロコントローラが有する回路モジュールは図9に限定されず適宜変更可能である。キャッシュメモリやアドレス変換バッファは利用しなくてもよい。バスステートコントローラやDMACのバス接続形態は適宜変更可能である。RAMやROMはオンチップでなくてもよい。本発明のマイクロコントローラおよび制御システムは、自動車制御、工場の制御、ロボットの動作の制御などの組み込み制御システム等に広く適用可能である。特に、近年益々制御プログラムが高度化し、制御テーブルが巨大化、制御精度の向上が要求される自動車制御に好適である。
図1は本発明に係るマイクロコントローラが備える浮動小数点変換機能の第1の例を示すブロック図である。 図2は図1で説明した変換動作を具体的に例示する説明図である。 図3は本発明に係るマイクロコントローラが備える浮動小数点変換機能の第2の例を示すブロック図である。 図4は図本発明に係るマイクロコントローラが備える浮動小数点変換機能の第3の例を示すブロック図である。 図5は本発明に係るマイクロコントローラが備える浮動小数点変換機能の第4の例を示すブロック図である。 図6は変換対象アドレステーブルの一例を示す説明図である。 図7は本発明に係るマイクロコントローラが備える浮動小数点変換機能の第5の例を示すブロック図である。 図8はマイクロコントローラを適用した本発明に係る制御システムのブロック図である。 図9はマイクロコントローラの全体的な構成を例示するブロック図である。
符号の説明
1 マイクロコントローラ(MCON)
2 中央処理装置(CPU)
3 浮動小数点処理ユニット(FPU)
4 キャッシュユニット(CAU)
5 キャッシュメモリ(CACHE)
6 アドレス変換バッファ(TLB)
7 キャッシュ・TLB制御回路(CTCNT)
10 バスステートコントローラ(BSC)
11 ダイレクトメモリアクセスコントローラ(DMAC)
12 外部バスインタフェース回路(EXBIF)
15 ランダムアクセスメモリ(RAM)
16 リードオンリメモリ(ROM)
30 命令デコーダ(IDEC)
31 命令レジスタ(IREG)
32 浮動小数点変換器(FCONV)
33 整数レジスタ(INTREG)
INTDAT 固定小数点の整数データ
EXP2 小数点位置データ
FLTDAT 浮動小数点データ
35 浮動小数点レジスタ(FLTREG)
36 符号および仮数部処理部(PROC)
37 引き算器(SUB)
SIGN 符号情報
EXP1 整数データの指数部
EXP 変換後の浮動小数点データの指数部
FRACTION 仮数部
38 浮動小数点演算器(FPALU)
39 浮動小数点制御回路(FPCNT)
40 小数点位置情報レジスタ(PNTREG)
50 モードレジスタ(MODREG)
51 セレクタ(SEL)
60 モード制御部(MDCNT)
61 変換対象アドレステーブル(ADTLB)
70 制御ユニット(ECU)
71 アクチェータ(ACTOR)
72 センサ(SNSR)
80 信号処理チップ(MSING)
81 駆動素子(POW)
90 制御プログラム(PRGM)
91 制御テーブル(CNTTBL)

Claims (23)

  1. 命令を実行し、整数演算を行う中央処理装置と、
    固定小数点データとして整数データとそれに対する小数点位置データとを入力し、入力データから浮動小数点型の仮数部、指数部及び符号を求めて浮動小数点型データに変換する浮動小数点変換器と、
    前記浮動小数点変換器の出力を受け浮動小数点データの演算を行う浮動小数点演算器と、を有するマイクロコントローラ。
  2. 請求項1記載のマイクロコントローラであって、
    前記浮動小数点変換器は、前記整数データに対する仮数部のシフト量と前記小数点位置データとの加減算により指数部を取得する、マイクロコントローラ。
  3. 請求項2記載のマイクロコントローラであって、
    前記整数データは複数バイトのデータであり、前記小数点位置データは前記整数データの桁数を値とする2の階乗値の階乗数のビット数を少なくとも有するデータである、マイクロコントローラ。
  4. 請求項3記載のマイクロコントローラであって、
    前記浮動小数点データはIEEE754浮動小数点規格に準拠し、前記浮動小数点変換器は、前記整数データに対する指数部の値から前記小数点位置データを加減算して前記浮動小数点データの指数部を取得する、マイクロコントローラ。
  5. 請求項2記載のマイクロコントローラであって、
    前記浮動小数点変換器は、中央処理装置による浮動小数点変換命令の実行により起動され、前記固定小数点データの整数データを前記命令の命令オペランドで指定された整数レジスタから読み込み、変換後の浮動小数点データを、前記命令の命令オペランドで指定された浮動小数点レジスタに格納する、マイクロコントローラ。
  6. 請求項5記載のマイクロコントローラであって、
    前記整数レジスタと前記浮動小数点変換器が第1バスで接続され、前記浮動小数点変換器と浮動小数点レジスタが第2バス接続される、マイクロコントローラ。
  7. 請求項6記載のマイクロコントローラであって、
    前記浮動小数点変換器は、前記浮動小数点変換命令の命令オペランドのデコード結果を前記小数点位置データとして入力する、マイクロコントローラ。
  8. 請求項6記載のマイクロコントローラであって、
    前記浮動小数点変換器は、中央処理装置により所定のレジスタに格納された前記小数点位置データを入力する、マイクロコントローラ。
  9. 請求項2記載のマイクロコントローラであって、
    前記中央処理装置がメモリから前記浮動小数点演算器の浮動小数点レジスタへデータを転送するデータ転送命令を実行する場合に用いられる選択可能な第1動作モードと第2動作モードを有し、
    前記第1動作モードは、前記メモリ内のデータを前記浮動小数点レジスタに直接ロードする動作であり、
    第2動作モードは、前記メモリ内のデータを前記浮動小数点変換器で浮動小数点データに変換し、変換したデータを前記浮動小数点レジスタに格納する動作である、マイクロコントローラ。
  10. 請求項9記載のマイクロコントローラであって、
    前記第1モードが指定されているときは前記データ転送命令によってメモリから読み出されたデータを前記浮動小数点レジスタに供給する経路を選択し、前記第2モードが指定されているときは前記データ転送命令によってメモリから読み出されたデータを前記浮動小数点変換器に供給する経路を選択するセレクタを有する、マイクロコントローラ。
  11. 請求項9記載のマイクロコントローラであって、
    前記第1動作モードと第2動作モードはモードレジスタ内の所定のフラグの値によって切換え可能にされる、マイクロコントローラ。
  12. 請求項9記載のマイクロコントローラであって、
    メモリアドレスに対応して動作モード指定データと必要な小数点位置データとを保有し、前記データ転送命令によるメモリアクセスアドレスを入力して当該メモリアドレスに対応する動作モード指定データと必要な小数点位置データとを出力するデータテーブルを有し、
    前記データテーブルの出力に基づいて前記第1動作モード又は第2動作モードが選択され、
    前記浮動小数点変換器は必要な小数点位置データを前記データテーブルの出力ら得る、マイクロコントローラ。
  13. 請求項9記載のマイクロコントローラであって、
    前記浮動小数点変換器は、中央処理装置により所定のレジスタに格納された小数点位置データを入力する、マイクロコントローラ。
  14. 請求項1記載のマイクロコントローラであって、
    前記中央処理装置によって条件設定されるダイレクトメモリアクセスコントローラと、
    前記整数データが格納されたメモリと、を更に有し、
    前記ダイレクトメモリアクセスコントローラは、転送要求に応答して、前記メモリから前記浮動小数点変換器に整数データを転送する動作が可能にされる、マイクロコントローラ。
  15. 請求項14記載のマイクロコントローラであって、
    前記ダイレクトメモリアクセスコントローラは、前記浮動小数点変換器で変換されて浮動小数点レジスタに格納された浮動小数点データを前記メモリに転送する動作が可能にされる、マイクロコントローラ。
  16. 請求項15記載のマイクロコントローラであって、
    前記浮動小数点変換器は、中央処理装置により所定のレジスタに格納された小数点位置データを入力する、マイクロコントローラ。
  17. 請求項16記載のマイクロコントローラであって、
    前記ダイレクトメモリアクセスコントローラは前記所定のレジスタを有する、マイクロコントローラ。
  18. 制御ユニットと、前記制御ユニットが制御量を決定するアクチェータと、前記アクチェータによる制御対象の状態を検出するセンサとを有する制御システムであって、
    前記制御ユニットは、
    変数が浮動小数点で表現された制御プログラムを有するプログラムメモリと、
    整数で表現された固定小数点の制御データが格納された制御テーブルメモリと、
    前記センサからの入力に基づいて前記制御テーブルメモリから読み出された制御データをとそれに対する小数点位置データとを入力し、入力データから浮動小数点型の仮数部、指数部及び符号を求めて浮動小数点型データに変換する浮動小数点変換器と、
    前記浮動小数点変換器の出力を受け前記制御プログラムに基づいて浮動小数点データの演算を行う浮動小数点演算器とを有する、制御システム。
  19. 請求項18記載の制御システムであって、
    前記浮動小数点変換器は、前記整数データに対する仮数部のシフト量と前記小数点位置データとの加減算により指数部を取得する、制御システム。
  20. 請求項18記載の制御システムであって、
    前記センサからの入力に基づいて前記制御テーブルメモリから制御データを読み出して前記浮動小数点変換器に与える中央処理装置を有する、制御システム。
  21. 請求項20記載の制御システムであって、
    前記浮動小数点変換器は、前記中央処理装置が実行する浮動小数点変換命令の命令オペランドのデコード結果を前記小数点位置データとして入力する、制御システム。
  22. 請求項20記載の制御システムであって、
    前記浮動小数点変換器は、前記中央処理装置により所定のレジスタに格納された前記小数点位置データを入力する、制御システム。
  23. 請求項18記載の制御システムであって、
    前記プログラムメモリ、前記浮動小数点変換器、及び前記浮動小数点演算器は同一半導体チップ上に形成された、制御システム。
JP2007282959A 2007-10-31 2007-10-31 マイクロコントローラ及び制御システム Pending JP2009110353A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2007282959A JP2009110353A (ja) 2007-10-31 2007-10-31 マイクロコントローラ及び制御システム
US12/262,173 US20090113186A1 (en) 2007-10-31 2008-10-30 Microcontroller and controlling system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007282959A JP2009110353A (ja) 2007-10-31 2007-10-31 マイクロコントローラ及び制御システム

Publications (1)

Publication Number Publication Date
JP2009110353A true JP2009110353A (ja) 2009-05-21

Family

ID=40584422

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007282959A Pending JP2009110353A (ja) 2007-10-31 2007-10-31 マイクロコントローラ及び制御システム

Country Status (2)

Country Link
US (1) US20090113186A1 (ja)
JP (1) JP2009110353A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020522032A (ja) * 2018-02-13 2020-07-27 シャンハイ カンブリコン インフォメーション テクノロジー カンパニー リミテッドShanghai Cambricon Information Technology Co.,Ltd. 計算装置と計算方法

Families Citing this family (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7812628B2 (en) * 2006-12-13 2010-10-12 Renesas Electronics Corporation Method of on-chip current measurement and semiconductor IC
US8650231B1 (en) 2007-01-22 2014-02-11 Altera Corporation Configuring floating point operations in a programmable device
US8959137B1 (en) 2008-02-20 2015-02-17 Altera Corporation Implementing large multipliers in a programmable integrated circuit device
US8645449B1 (en) 2009-03-03 2014-02-04 Altera Corporation Combined floating point adder and subtractor
US8706790B1 (en) * 2009-03-03 2014-04-22 Altera Corporation Implementing mixed-precision floating-point operations in a programmable integrated circuit device
US8412756B1 (en) 2009-09-11 2013-04-02 Altera Corporation Multi-operand floating point operations in a programmable integrated circuit device
US10089278B2 (en) * 2011-01-21 2018-10-02 Nxp Usa, Inc. Device and method for computing a function value of a function
US9600278B1 (en) 2011-05-09 2017-03-21 Altera Corporation Programmable device using fixed and configurable logic to implement recursive trees
US8949298B1 (en) 2011-09-16 2015-02-03 Altera Corporation Computing floating-point polynomials in an integrated circuit device
US9053045B1 (en) 2011-09-16 2015-06-09 Altera Corporation Computing floating-point polynomials in an integrated circuit device
US9098332B1 (en) 2012-06-01 2015-08-04 Altera Corporation Specialized processing block with fixed- and floating-point structures
US9207909B1 (en) 2012-11-26 2015-12-08 Altera Corporation Polynomial calculations optimized for programmable integrated circuit device structures
US9189200B1 (en) 2013-03-14 2015-11-17 Altera Corporation Multiple-precision processing block in a programmable integrated circuit device
US9348795B1 (en) 2013-07-03 2016-05-24 Altera Corporation Programmable device using fixed and configurable logic to implement floating-point rounding
US9264066B2 (en) 2013-07-30 2016-02-16 Apple Inc. Type conversion using floating-point unit
JP6266308B2 (ja) * 2013-11-07 2018-01-24 ルネサスエレクトロニクス株式会社 半導体装置
US9916130B2 (en) 2014-11-03 2018-03-13 Arm Limited Apparatus and method for vector processing
US9684488B2 (en) 2015-03-26 2017-06-20 Altera Corporation Combined adder and pre-adder for high-radix multiplier circuit
MX2018001207A (es) * 2015-07-28 2018-04-24 Crown Equip Corp Modulo de control de vehiculo con tablero de señal y tablas de salida.
JP2017199167A (ja) * 2016-04-27 2017-11-02 ルネサスエレクトロニクス株式会社 半導体装置
US10175946B2 (en) 2016-09-30 2019-01-08 International Business Machines Corporation Perform sign operation decimal instruction
WO2018117222A1 (ja) * 2016-12-22 2018-06-28 日本電産株式会社 マルチモータシステム
US11437032B2 (en) 2017-09-29 2022-09-06 Shanghai Cambricon Information Technology Co., Ltd Image processing apparatus and method
US11507370B2 (en) 2018-02-13 2022-11-22 Cambricon (Xi'an) Semiconductor Co., Ltd. Method and device for dynamically adjusting decimal point positions in neural network computations
US11630666B2 (en) 2018-02-13 2023-04-18 Shanghai Cambricon Information Technology Co., Ltd Computing device and method
CN110162162B (zh) 2018-02-14 2023-08-18 上海寒武纪信息科技有限公司 处理器的控制装置、方法及设备
WO2019218896A1 (zh) 2018-05-18 2019-11-21 上海寒武纪信息科技有限公司 计算方法以及相关产品
WO2020001438A1 (zh) 2018-06-27 2020-01-02 上海寒武纪信息科技有限公司 片上代码断点调试方法、片上处理器及芯片断点调试系统
EP3859488A4 (en) 2018-09-28 2022-06-29 Shanghai Cambricon Information Technology Co., Ltd Signal processing device, signal processing method and related product
CN111367567B (zh) * 2018-12-25 2023-03-07 上海寒武纪信息科技有限公司 一种神经网络计算装置和方法
CN111385462A (zh) 2018-12-28 2020-07-07 上海寒武纪信息科技有限公司 信号处理装置、信号处理方法及相关产品
CN111832737B (zh) 2019-04-18 2024-01-09 中科寒武纪科技股份有限公司 一种数据处理方法及相关产品
US20200334522A1 (en) 2019-04-18 2020-10-22 Cambricon Technologies Corporation Limited Data processing method and related products
CN112085186B (zh) 2019-06-12 2024-03-05 上海寒武纪信息科技有限公司 一种神经网络的量化参数确定方法及相关产品
US11676029B2 (en) 2019-06-12 2023-06-13 Shanghai Cambricon Information Technology Co., Ltd Neural network quantization parameter determination method and related products
CN110825323B (zh) * 2019-10-25 2023-04-11 上海钒钛智能科技有限公司 浮点数数据的存储、读取方法和计算机可读存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6395535A (ja) * 1986-10-09 1988-04-26 Nec Corp 演算処理方式
JPH07121369A (ja) * 1993-10-25 1995-05-12 Hitachi Ltd 半導体装置
JP2001195233A (ja) * 2000-01-11 2001-07-19 Denso Corp 浮動小数点演算機能を有した電子制御装置
JP2004213622A (ja) * 2002-12-27 2004-07-29 Arm Ltd 固定小数点表示と浮動小数点表示との間で数を変換するデータ処理装置および方法
JP2006161645A (ja) * 2004-12-06 2006-06-22 Denso Corp パワートレイン制御用センサ信号処理装置

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6601079B1 (en) * 1997-12-29 2003-07-29 Intel Corporation Converting between different floating point exponent representations
JP4228706B2 (ja) * 2003-01-27 2009-02-25 株式会社デンソー 電子制御装置及び該電子制御装置の記憶装置
US7546328B2 (en) * 2004-08-31 2009-06-09 Wisconsin Alumni Research Foundation Decimal floating-point adder

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6395535A (ja) * 1986-10-09 1988-04-26 Nec Corp 演算処理方式
JPH07121369A (ja) * 1993-10-25 1995-05-12 Hitachi Ltd 半導体装置
JP2001195233A (ja) * 2000-01-11 2001-07-19 Denso Corp 浮動小数点演算機能を有した電子制御装置
JP2004213622A (ja) * 2002-12-27 2004-07-29 Arm Ltd 固定小数点表示と浮動小数点表示との間で数を変換するデータ処理装置および方法
JP2006161645A (ja) * 2004-12-06 2006-06-22 Denso Corp パワートレイン制御用センサ信号処理装置

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020522032A (ja) * 2018-02-13 2020-07-27 シャンハイ カンブリコン インフォメーション テクノロジー カンパニー リミテッドShanghai Cambricon Information Technology Co.,Ltd. 計算装置と計算方法
JP2020126595A (ja) * 2018-02-13 2020-08-20 シャンハイ カンブリコン インフォメーション テクノロジー カンパニー リミテッドShanghai Cambricon Information Technology Co.,Ltd. 計算装置と計算方法
JP2020126594A (ja) * 2018-02-13 2020-08-20 シャンハイ カンブリコン インフォメーション テクノロジー カンパニー リミテッドShanghai Cambricon Information Technology Co.,Ltd. 計算装置と計算方法

Also Published As

Publication number Publication date
US20090113186A1 (en) 2009-04-30

Similar Documents

Publication Publication Date Title
JP2009110353A (ja) マイクロコントローラ及び制御システム
US9524237B2 (en) Data processing device and semiconductor intergrated circuit device for a bi-endian system
US20090138685A1 (en) Processor for processing instruction set of plurality of instructions packed into single code
US20080072011A1 (en) SIMD type microprocessor
US20020019841A1 (en) Data processing device having a central processing unit and digital signal processing unit
JPH05197546A (ja) マイクロコンピュータ及び除算回路
JPH1091443A (ja) 情報処理回路、マイクロコンピュータ及び電子機器
US20050223055A1 (en) Method and apparatus to correct leading one prediction
US20080162903A1 (en) Information processing apparatus
JP2669158B2 (ja) データ処理装置
US5613143A (en) Programmable controller for high-speed arithmetic operations
US8578135B2 (en) Apparatus for calculating and prefetching a branch target address
US8145889B2 (en) Data processing system with branch target addressing using upper and lower bit permutation
JPS6027030A (ja) マイクロプロセツサ
US20080307029A1 (en) Arithmetic device and arithmetic method
US20130212362A1 (en) Image processing device and data processor
JP2504312B2 (ja) プライオリティエンコ―ダ及びそれを備えたデ―タ処理装置
JP4873546B2 (ja) データ処理装置、データ処理方法
JP2001216136A (ja) 加算回路およびプロセッサ
JP2646855B2 (ja) データ処理装置
JP3539914B2 (ja) マイクロコンピュータ
JP2008071037A (ja) Simd型マイクロプロセッサ
WO2012077516A1 (ja) プログラマブルコントローラ
US20050188183A1 (en) Digital signal processor having data address generator with speculative register file
JP2006059085A (ja) データプロセッサ、データ処理方法及び演算処理プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20101012

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120223

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20120628