JP4702004B2 - マイクロコンピュータ - Google Patents
マイクロコンピュータ Download PDFInfo
- Publication number
- JP4702004B2 JP4702004B2 JP2005331739A JP2005331739A JP4702004B2 JP 4702004 B2 JP4702004 B2 JP 4702004B2 JP 2005331739 A JP2005331739 A JP 2005331739A JP 2005331739 A JP2005331739 A JP 2005331739A JP 4702004 B2 JP4702004 B2 JP 4702004B2
- Authority
- JP
- Japan
- Prior art keywords
- instruction
- cpu
- address
- executed
- data
- 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
Links
Images
Landscapes
- Advance Control (AREA)
- Executing Machine-Instructions (AREA)
Description
上記CPU11は、例えば、2種類のタスク(Lタスク,Aタスク)を時分割で並行にパイプライン処理するため2つのアドレスレジスタ19,20と2つの演算レジスタ21,22を備え、これらアドレスレジスタ19,20と演算レジスタ21,22をCPU切替信号により交互に切り替えることで、見掛上、2つのCPUを交互に切り替えて動作させるように機能する。
また、CPU11内には、プログラムメモリ12から読み込まれた命令の属するタスクの種類を判別してそのエラーを検出するエラー検出回路24と、このエラー検出回路24を通過した命令をデコード(解読)する命令デコーダ・命令シーケンサ25が設けられ、この命令デコーダ・命令シーケンサ25によりデコードした命令の内容に応じて、演算器26(ALU)で演算レジスタ21,22を用いて演算したり、リード信号又はライト信号をコントロールバス17,18に出力するようになっている。
一方、Aタスクは、Lタスクで禁止されている分岐命令も許容されており、例えば複雑な解析処理・数値処理に適している。このAタスクについても、Lタスクと同じく、命令が全て1ワード命令に固定されている。このAタスクとLタスクは、1ワード内にオペコードとオペランド(アドレス)の両方が割り付けられている。
更に、CPU1がAタスクのプログラムに含まれる分岐命令をフェッチしたときには、当該分岐命令が含まれるAタスクの次の命令フェッチステージで分岐先アドレスの命令をフェッチするために、命令デコードステージで分岐先アドレスをセットするように構成されている。図6では、パイプライン処理中において、CPU1の(Y+1)番地の命令がYY番地への分岐命令(JMP)である場合の処理タイミングが示されている。
しかしながら、Lタスク側には、分岐命令の禁止という制約が加えられているため分岐処理が実行できず、例えば、所定の条件判断を行った結果に応じて所定の演算処理の実行可否を選択するような条件付制御フローを実現することができないという問題があった。
従って、条件判断命令の判断結果によらず、命令アドレスの増分値は一定になると共に命令の実行時間も同一となるので、特定タスクにおいても、処理時間の等時性を維持した上で条件分岐処理が可能となり、プログラムをより多様に記述することができる。
そして、CPUは、実行が不要となる命令がロード命令である場合は、当該ロード命令を実行して読み出したデータを内部レジスタに対して書込む際に、前記データを前記内部レジスタのデータ値に変換して当該内部レジスタに上書きする。従って、ロード命令の実行結果がCPUに反映されることはなく、実質的にロード命令を実行しない場合と同じ状態を維持することができる。
請求項2記載のマイクロコンピュータによれば、CPUは、実行が不要となる命令が演算命令である場合は、当該演算命令を実行した結果であるデータを内部レジスタに対して書込む際に、前記データを前記内部レジスタのデータ値に変換して当該内部レジスタに上書きする。従って、演算命令の実行結果がCPUに反映されることはなく、実質的に演算命令を実行しない場合と同じ状態を維持することができる。
また、命令デコーダ25は、デコードした命令がロード命令又は演算命令である場合はロード/ストア信号をロウレベルに変化させ、デコードした命令がストア命令である場合はロード/ストア信号をハイレベルに変化させるようになっている(それ以外の命令の場合は、信号レベルを維持する)。
レジスタ35は、書込み禁止信号がアクティブである期間は、ロード命令が実行された結果ロードストアユニット36を介して周辺回路より得られたデータが格納されないように構成されている。また、演算器26が演算命令を実行した結果得られたデータについても、同様に格納が禁止される。
尚、CPU32が周辺回路38,39にアクセスを行う場合にBSC40がウエイトサイクルを挿入すれば、CPU32のパイプライン処理における命令実行ステージが遅延することになる。しかし、そのような情報はプログラムの記述時に予め把握することができるので、CPU32がLタスク中で実行に遅延が生じるアクセスを行う場合には、プログラムカウンタ23の増分値に遅延分の重みを持たせるように計算処理を行う。
例えば、図3(b)は従来のLタスクの処理の流れを示しており、分岐命令の実行は禁止され、処理ステップ(1)から処理ステップ(5)までを順次実行してプログラムカウンタ23がオーバーフローすると、プログラムカウンタ23は初期値の「0」番地に戻り、また、処理ステップ(1)から(5)までを繰り返し実行するように固定ループ化されている。尚、これらはCPUによって実行される多数の命令を例示的に示したものであるから、処理ステップ数と命令アドレスの増分とは一致していない。
ただし、Lタスクにおいては、プログラムカウンタ23の増分値が一定であることと、処理時間の等時性とが保証される必要がある。即ち、これらが「判定」ステップの結果に応じて変動することがあってはならない。そこで、本実施例では、処理ステップ(2),(3)に替わるスキップ処理A,Bを、図4に示すように実行する。
尚、処理(2)における命令が演算命令であった場合もロード命令のケースと同様に処理され、CPU32は演算器26において演算命令を実行するが、その実行結果がレジスタ35に書き込まれることはない。
従って、分岐命令を実行した場合と同様の結果が得られることになる。そして、条件判断命令の判断結果によらず、命令アドレスの増分値は一定になると共に命令の実行時間も同一となるので、Lタスクにおいても、処理時間の等時性を維持した上で条件分岐処理が可能となり、プログラムをより多様に記述することができる。
また、CPU32は、実行不要となる命令がストア命令である場合は、そのストア命令のオペランドアドレスを、実際にはデータの書き込み対象が存在しないダミーアドレスに変換して出力し、BSC40は、そのアクセスに対してアクノリッジ信号を返すので、バスエラーが発生することはなく、ストア命令の実行結果が周辺回路38,39に反映されることはない。従って、実質的にストア命令を実行しない場合と同じ状態を維持することができる。
CPU32がオペランドアドレスをダミーアドレスに変換する場合には、オペランドアドレスに所定のアドレス値を加算するように構成しても良い。また、ダミーアドレスは、アクセス対象毎に設定する必要はなく、1つの共通領域を設定しても良い。
BSC40は、必要に応じて設ければ良い。
CPUが並行処理するタスクの数は、「3」以上であっても良い。
特定タスクにおける命令アドレスの増分値は「1」又は「4」などでも良い。
上記実施例では、書込み禁止信号がアクティブである期間にロード命令又は演算命令が実行されると、その実行結果データをレジスタ35に格納することを禁止したが、格納を禁止することに替えて、命令の実行結果として得られたデータを、その時点でレジスタ35に格納されているデータ値に変換して上書きするようにしても良い。斯様に構成した場合も、命令の実行結果がCPU32に反映されることはないので、実質的にロード命令,演算命令を実行しない場合と同じ状態を維持することができる。
命令長については、例えば1ワード長と2ワード長というように、2種類以上あっても良い。
Claims (7)
- 複数のタスクを時分割並行的に実施可能であると共に、それらの内少なくとも1つのタスクは、命令アドレスの増分が一定となるようにして固定ループ化されたプログラムが記述されている特定タスクであり、
CPUが前記特定タスクに記述されている条件判断命令を実行した結果、当該命令以降に記述されている命令の実行が不要となる場合は、前記命令の実行結果を前記CPU又はその周辺回路に反映させることを禁止するように構成され、
前記CPUは、前記実行が不要となる命令がロード命令である場合は、当該ロード命令を実行して読み出したデータを内部レジスタに対して書込む際に、前記データを前記内部レジスタのデータ値に変換して当該内部レジスタに上書きすることを特徴とするマイクロコンピュータ。 - 複数のタスクを時分割並行的に実施可能であると共に、それらの内少なくとも1つのタスクは、命令アドレスの増分が一定となるようにして固定ループ化されたプログラムが記述されている特定タスクであり、
CPUが前記特定タスクに記述されている条件判断命令を実行した結果、当該命令以降に記述されている命令の実行が不要となる場合は、前記命令の実行結果を前記CPU又はその周辺回路に反映させることを禁止するように構成され、
前記CPUは、前記実行が不要となる命令が演算命令である場合は、当該演算命令を実行した結果であるデータを内部レジスタに対して書込む際に、前記データを前記内部レジスタのデータ値に変換して当該内部レジスタに上書きすることを特徴とするマイクロコンピュータ。 - 前記CPUは、前記実行が不要となる命令がロード命令である場合は、当該ロード命令を実行して読み出したデータの内部レジスタに対する書込みを禁止することを特徴とする請求項1又は2記載のマイクロコンピュータ。
- 前記CPUは、前記実行が不要となる命令が演算命令である場合は、当該演算命令を実行した結果であるデータの内部レジスタに対する書込みを禁止することを特徴とする請求項1乃至3の何れかに記載のマイクロコンピュータ。
- 前記CPUは、前記実行が不要となる命令がストア命令である場合は、当該ストア命令のオペランドアドレスを、実際にはデータの書き込み対象が存在しないダミーアドレスに変換して出力し、
前記CPUの外部回路は、前記ダミーアドレスによるアクセスに対してアクノリッジ信号を返すように構成されていることを特徴とする請求項1乃至4の何れかに記載のマイクロコンピュータ。 - 前記CPUは、前記ストア命令のオペランドアドレスを前記ダミーアドレスに変換する場合には、前記オペランドアドレスの下位ビット側を所定ビット数だけ全て「1」に変換することを特徴とする請求項5記載のマイクロコンピュータ。
- 前記CPUは、前記ストア命令のオペランドアドレスを前記ダミーアドレスに変換する場合には、前記オペランドアドレスに所定のアドレス値を加算することを特徴とする請求項5記載のマイクロコンピュータ。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005331739A JP4702004B2 (ja) | 2004-12-21 | 2005-11-16 | マイクロコンピュータ |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004368777 | 2004-12-21 | ||
JP2004368777 | 2004-12-21 | ||
JP2005331739A JP4702004B2 (ja) | 2004-12-21 | 2005-11-16 | マイクロコンピュータ |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2006202265A JP2006202265A (ja) | 2006-08-03 |
JP4702004B2 true JP4702004B2 (ja) | 2011-06-15 |
Family
ID=36960180
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005331739A Expired - Fee Related JP4702004B2 (ja) | 2004-12-21 | 2005-11-16 | マイクロコンピュータ |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4702004B2 (ja) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH06250857A (ja) * | 1993-02-26 | 1994-09-09 | Nippondenso Co Ltd | マイクロコンピュータ |
JPH07123094A (ja) * | 1993-10-21 | 1995-05-12 | Hitachi Ltd | バッファ制御回路 |
JPH07175650A (ja) * | 1993-12-17 | 1995-07-14 | Toshiba Corp | 演算処理装置 |
WO2004053685A1 (en) * | 2002-12-12 | 2004-06-24 | Arm Limited | Instruction timing control within a data processing system |
-
2005
- 2005-11-16 JP JP2005331739A patent/JP4702004B2/ja not_active Expired - Fee Related
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH06250857A (ja) * | 1993-02-26 | 1994-09-09 | Nippondenso Co Ltd | マイクロコンピュータ |
JPH07123094A (ja) * | 1993-10-21 | 1995-05-12 | Hitachi Ltd | バッファ制御回路 |
JPH07175650A (ja) * | 1993-12-17 | 1995-07-14 | Toshiba Corp | 演算処理装置 |
WO2004053685A1 (en) * | 2002-12-12 | 2004-06-24 | Arm Limited | Instruction timing control within a data processing system |
JP2006510127A (ja) * | 2002-12-12 | 2006-03-23 | エイアールエム リミテッド | データ処理装置内の命令タイミング制御 |
Also Published As
Publication number | Publication date |
---|---|
JP2006202265A (ja) | 2006-08-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2810068B2 (ja) | プロセッサシステム、コンピュータシステム及び命令処理方法 | |
JP2834837B2 (ja) | プログラマブルコントローラ | |
US6000029A (en) | Method and apparatus for affecting subsequent instruction processing in a data processor | |
JP2003510682A5 (ja) | ||
JP3242508B2 (ja) | マイクロコンピュータ | |
US6401197B1 (en) | Microprocessor and multiprocessor system | |
JP2620511B2 (ja) | データ・プロセッサ | |
JP2773471B2 (ja) | 情報処理装置 | |
EP1770507A2 (en) | Pipeline processing based on RISC architecture | |
US20060095746A1 (en) | Branch predictor, processor and branch prediction method | |
JPH07120284B2 (ja) | データ処理装置 | |
US20050149931A1 (en) | Multithread processor architecture for triggered thread switching without any cycle time loss, and without any switching program command | |
KR100206350B1 (ko) | 중앙처리장치 | |
US5237664A (en) | Pipeline circuit | |
JP4702004B2 (ja) | マイクロコンピュータ | |
JP4889235B2 (ja) | プログラム制御プロセッサ | |
US6425047B1 (en) | Process containing address decoders suited to improvements in clock speed | |
EP0573071A2 (en) | A microprocessor | |
JP5012562B2 (ja) | マイクロコンピュータ | |
JP2636821B2 (ja) | 並列処理装置 | |
JP3102399B2 (ja) | データ処理装置及び方法 | |
JP3147884B2 (ja) | 記憶装置及び情報処理装置 | |
JP2503223B2 (ja) | 先行制御方式 | |
JP2927281B2 (ja) | 並列処理装置 | |
JP2785820B2 (ja) | 並列処理装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20080109 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20101013 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20101019 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20101126 |
|
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: 20110208 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20110221 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 4702004 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
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 |