JP2010079841A - マイクロコンピュータ及びその命令実行方法 - Google Patents
マイクロコンピュータ及びその命令実行方法 Download PDFInfo
- Publication number
- JP2010079841A JP2010079841A JP2008250485A JP2008250485A JP2010079841A JP 2010079841 A JP2010079841 A JP 2010079841A JP 2008250485 A JP2008250485 A JP 2008250485A JP 2008250485 A JP2008250485 A JP 2008250485A JP 2010079841 A JP2010079841 A JP 2010079841A
- Authority
- JP
- Japan
- Prior art keywords
- instruction
- branch
- satisfied
- executed
- calculation
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/32—Address formation of the next instruction, e.g. by incrementing the instruction counter
- G06F9/322—Address formation of the next instruction, e.g. by incrementing the instruction counter for non-sequential address
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/3005—Arrangements for executing specific machine instructions to perform operations for flow control
- G06F9/30058—Conditional branch instructions
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Advance Control (AREA)
- Executing Machine-Instructions (AREA)
Abstract
【解決手段】本発明にかかるマイクロコンピュータは、第1の実行ステージにおいて実行される条件分岐命令と第2の実行ステージにおいて実行される第1の演算命令とを含む分岐複合命令と、第2の実行ステージにおいて実行される第2の演算命令を含む順次演算命令と、をデコードして演算情報を出力する命令デコーダ14と、第1の演算命令に対応した第1の演算情報を格納する演算情報格納回路15、16と、条件分岐命令に基づき、分岐条件の成立/不成立を判断して判定結果信号J1を出力する分岐条件判定回路18と、判定結果信号J1が分岐条件の成立又は不成立の一方の状態を示す場合に演算情報格納回路15、16に格納された第1の演算情報を出力するセレクタ17と、セレクタが出力した演算情報に基づき演算を行う演算器21と、を有する。
【選択図】図1
Description
以下、図面を参照して本発明の実施の形態について説明する。図1に本実施の形態にかかるマイクロコンピュータ1のブロック図を示す。なお、以下の説明では、マイクロコンピュータ1は、第1の実行ステージにおいて実行される条件分岐命令と第2の実行ステージにおいて実行される第1の演算命令とを含む分岐複合命令と、第2の実行ステージにおいて実行される第2の演算命令を含む順次演算命令とを順次フェッチし、条件分岐命令の成立/不成立に応じて前記第2の実行ステージにおいて実行する命令を切り替えるものとする。また、第2の実行ステージにおいて実行される演算命令は一つに限られないものとする。
10 命令フェッチアドレスレジスタ
11、17 セレクタ
12、21 加算器
13 命令格納部
14 命令デコーダ
15、16 演算情報保持回路
18 分岐条件判定回路
19 入力制御回路
20 プログラムカウンタ
21 演算器
22 演算結果保持回路
FA1 第1のフェッチアドレス
FA2 第2のフェッチアドレス
FA3 分岐先フェッチアドレス
FA4 実行フェッチアドレス
J1 判定結果信号
J2 セレクタ制御信号
Claims (11)
- パイプライン処理により演算を実行するマイクロコンピュータであって、
第1の実行ステージにおいて実行される条件分岐命令と第2の実行ステージにおいて実行される第1の演算命令とを含む分岐複合命令と、前記第2の実行ステージにおいて実行される第2の演算命令を含む順次演算命令と、をフェッチした順にデコードし、デコードした命令に応じた演算情報を出力する命令デコーダと、
前記分岐複合命令のデコードにより得られる演算情報のうち前記第1の演算命令に対応した第1の演算情報を格納する演算情報格納回路と、
前記分岐複合命令のデコードにより得られる演算情報のうち前記条件分岐命令に対応した条件分岐演算情報に基づき、分岐条件の成立/不成立を判断し、判定結果信号を出力する分岐条件判定回路と、
前記判定結果信号が分岐条件の成立又は不成立の一方の状態を示す場合に前記演算情報格納回路に格納された前記第1の演算情報を出力し、前記判定結果信号が分岐条件の成立又は不成立の他方の状態を示す場合に前記第2の演算命令に対応した第2の演算情報を出力するセレクタと、
前記セレクタが出力した演算情報に基づき演算を行い、演算結果信号を出力する演算器と、
を有するマイクロコンピュータ。 - 前記セレクタは、前記命令デコーダの出力を受ける第1の入力端子と、前記演算情報格納回路の出力を受ける第2の入力端子とを有し、
前記セレクタは、前記判定結果信号が分岐条件の成立又は不成立の一方の状態を示す場合において選択する入力端子を前記第1の入力端子から前記第2の入力端子へと所定のタイミングで切り替える請求項1に記載のマイクロコンピュータ。 - 前記所定のタイミングを制御する入力制御回路を有する請求項2に記載のマイクロコンピュータ。
- 前記演算器の演算結果を保持する演算結果保持回路を有し、
前記分岐条件判定回路は、前記演算結果保持回路に保持されているすでに演算された演算結果を参照して、前記分岐条件の成立/不成立を判定する請求項1に記載のマイクロコンピュータ。 - 予め決められた順序で第1のフェッチアドレスを出力する命令フェッチアドレスレジスタと、
前記第1のフェッチアドレスを遅延させ、前記演算回路において実行中の命令に対応する第2のフェッチアドレスを出力するプログラムカウンタと、
前記第1のフェッチアドレスと、前記演算回路が前記第2のフェッチアドレスに基づき演算する分岐先フェッチアドレスと、を前記判定結果信号に基づき選択し、選択したフェッチアドレスを前記実行フェッチアドレスとして出力するセレクタと、
前記実行フェッチアドレスに関連付けて前記分岐複合命令及び前記順次演算命令を格納し、入力される前記実行フェッチアドレスに関連付けられた命令を出力する命令格納部と、
を有する請求項1に記載のマイクロコンピュータ。 - 前記第2のフェッチアドレスと前記分岐演算情報に基づき演算された演算結果とを加算し、前記分岐先フェッチアドレスを生成する加算器を有する請求項5に記載のマイクロコンピュータ。
- 前記演算情報格納回路は、前記第2の実行ステージが複数の実行ステージを含む場合、前記複数の実行ステージの数に応じた数が設けられる請求項1に記載のマイクロコンピュータ。
- 前記第1の演算命令は、前記条件分岐命令において分岐条件が成立又は不成立の一方の状態した場合に実行されるべき演算命令であり、
前記第2の演算命令は、前記条件分岐命令において分岐条件が成立又は不成立の他方の状態であった場合に実行されるべき演算命令である請求項1に記載のマイクロコンピュータ - パイプライン処理により演算を実行するマイクロコンピュータにおける命令実行方法であって、
第1の実行ステージにおいて実行される条件分岐命令と第2の実行ステージにおいて実行される第1の演算命令とを含む分岐複合命令をデコードして前記条件分岐命令に応じた条件分岐演算情報と前記第1の演算命令に応じた第1の演算情報とを生成し、
前記第1の演算情報を演算情報格納回路に格納し、
前記条件分岐演算情報に基づき分岐条件の成立/不成立を判断すると共に、前記第2の実行ステージにおいて実行される第2の演算命令を含む順次演算命令をデコードして前記第2の演算命令に応じた第2の演算情報とを生成し、
前記分岐条件が成立又は不成立の一方の状態となった場合は前記演算情報格納回路に格納された前記第1の演算情報に基づき演算を行い、前記分岐条件の成立又は不成立の他方の状態となった場合は前記第2の演算情報に基づき演算を行うマイクロコンピュータにおける命令実行方法。 - 前記分岐条件が成立したと判断された場合は、前記条件分岐演算情報に基づき分岐先の演算命令をフェッチし、前記分岐条件が不成立であると判断された場合は、命令のフェッチアドレスのジャンプを行わずに演算命令をフェッチする請求項9に記載のマイクロコンピュータにおける命令実行方法。
- 前記分岐条件が成立しているか否かの判定は、前記条件分岐演算情報を処理する以前に演算されている演算結果を参照して行われる請求項9に記載のマイクロコンピュータにおける命令実行方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008250485A JP4383496B1 (ja) | 2008-09-29 | 2008-09-29 | マイクロコンピュータ及びその命令実行方法 |
US12/318,210 US20100082946A1 (en) | 2008-09-29 | 2008-12-23 | Microcomputer and its instruction execution method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008250485A JP4383496B1 (ja) | 2008-09-29 | 2008-09-29 | マイクロコンピュータ及びその命令実行方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP4383496B1 JP4383496B1 (ja) | 2009-12-16 |
JP2010079841A true JP2010079841A (ja) | 2010-04-08 |
Family
ID=41549767
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008250485A Expired - Fee Related JP4383496B1 (ja) | 2008-09-29 | 2008-09-29 | マイクロコンピュータ及びその命令実行方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20100082946A1 (ja) |
JP (1) | JP4383496B1 (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103377034A (zh) * | 2012-04-12 | 2013-10-30 | 无锡江南计算技术研究所 | 指令预送方法及装置、指令管理系统、运算核心 |
CN103473030A (zh) * | 2013-09-03 | 2013-12-25 | 小米科技有限责任公司 | 一种处理指令的方法、装置和终端设备 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20200109467A (ko) * | 2019-03-13 | 2020-09-23 | 삼성전자주식회사 | 전자 장치 및 그 제어 방법 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6026488A (en) * | 1998-02-20 | 2000-02-15 | International Business Machines Corporation | Method for conditional hedge fetching into cache storage |
US7134004B1 (en) * | 1999-09-29 | 2006-11-07 | Fujitsu Limited | Processing device for buffering sequential and target sequences and target address information for multiple branch instructions |
US7162619B2 (en) * | 2001-07-03 | 2007-01-09 | Ip-First, Llc | Apparatus and method for densely packing a branch instruction predicted by a branch target address cache and associated target instructions into a byte-wide instruction buffer |
US7010675B2 (en) * | 2001-07-27 | 2006-03-07 | Stmicroelectronics, Inc. | Fetch branch architecture for reducing branch penalty without branch prediction |
US7437543B2 (en) * | 2005-04-19 | 2008-10-14 | International Business Machines Corporation | Reducing the fetch time of target instructions of a predicted taken branch instruction |
TWI328771B (en) * | 2005-07-15 | 2010-08-11 | Nvidia Corp | Pipelined central processing unit structure and method of processing a sequence of instructions |
-
2008
- 2008-09-29 JP JP2008250485A patent/JP4383496B1/ja not_active Expired - Fee Related
- 2008-12-23 US US12/318,210 patent/US20100082946A1/en not_active Abandoned
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103377034A (zh) * | 2012-04-12 | 2013-10-30 | 无锡江南计算技术研究所 | 指令预送方法及装置、指令管理系统、运算核心 |
CN103473030A (zh) * | 2013-09-03 | 2013-12-25 | 小米科技有限责任公司 | 一种处理指令的方法、装置和终端设备 |
Also Published As
Publication number | Publication date |
---|---|
JP4383496B1 (ja) | 2009-12-16 |
US20100082946A1 (en) | 2010-04-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI529618B (zh) | 用於極早分支預測之包含影子快取的單一循環多分支預測 | |
US10664280B2 (en) | Fetch ahead branch target buffer | |
JPS633337B2 (ja) | ||
JP2010271818A (ja) | 命令融合演算装置および命令融合演算方法 | |
JP4383496B1 (ja) | マイクロコンピュータ及びその命令実行方法 | |
US9639370B1 (en) | Software instructed dynamic branch history pattern adjustment | |
EP2972786B1 (en) | Add-compare-select instruction | |
KR100980076B1 (ko) | 저전력 분기 예측 시스템 및 분기 예측 방법 | |
JP3802038B2 (ja) | 情報処理装置 | |
JP2006053830A (ja) | 分岐予測装置および分岐予測方法 | |
KR100677207B1 (ko) | Simd 디지탈 신호 처리기 및 연산방법 | |
KR100528208B1 (ko) | 프로그램제어방법 | |
JP5696210B2 (ja) | プロセッサ及びその命令処理方法 | |
JP4728877B2 (ja) | マイクロプロセッサおよびパイプライン制御方法 | |
JP2015185076A (ja) | Vliwプロセッサ | |
JP2006285721A (ja) | 演算処理装置および演算処理方法 | |
JP2014160393A (ja) | マイクロプロセッサ及び演算処理方法 | |
US20060294345A1 (en) | Methods and apparatus for implementing branching instructions within a processor | |
JP4735507B2 (ja) | プログラマブルコントローラの演算方式 | |
JP2010140398A (ja) | データ処理装置及びデータ処理方法 | |
JP5505083B2 (ja) | 情報処理装置 | |
JP5013966B2 (ja) | 演算処理装置 | |
JP3967363B2 (ja) | 分岐予測装置および分岐予測方法 | |
JP2000132392A (ja) | 分岐予測システムおよび分岐予測方法 | |
JP2008009473A (ja) | データ処理装置及びプログラム実行方式 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
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 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20090918 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121002 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121002 Year of fee payment: 3 |
|
S533 | Written request for registration of change of name |
Free format text: JAPANESE INTERMEDIATE CODE: R313533 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121002 Year of fee payment: 3 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131002 Year of fee payment: 4 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
LAPS | Cancellation because of no payment of annual fees |