JP2015135538A - プロセッサ - Google Patents
プロセッサ Download PDFInfo
- Publication number
- JP2015135538A JP2015135538A JP2014005659A JP2014005659A JP2015135538A JP 2015135538 A JP2015135538 A JP 2015135538A JP 2014005659 A JP2014005659 A JP 2014005659A JP 2014005659 A JP2014005659 A JP 2014005659A JP 2015135538 A JP2015135538 A JP 2015135538A
- Authority
- JP
- Japan
- Prior art keywords
- nop
- processor
- instruction
- processor core
- specific
- 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
Links
Images
Landscapes
- Executing Machine-Instructions (AREA)
Abstract
【解決手段】NOP挿入数記憶素子3は、NOP命令の挿入数を記憶する。NOP挿入器2は、NOP挿入数記憶素子3に記憶されている挿入数分のNOP命令を、プロセッサコア4に出力する。NOP挿入数記憶素子は、オペコードごとにNOP命令の挿入数を記憶しており、プロセッサコアが実行しようとする命令のオペコード又はプロセッサコアが実行した命令のオペコードを受信し、受信したオペコードに対応する挿入数をNOP挿入器に通知し、NOP挿入器は、通知された挿入数分のNOP命令を、プロセッサコアに通知する。
【選択図】図1
Description
より具体的には、現行プロセッサ(所望のプロセッサ)と命令互換を持つプロセッサをFPGA(Field−Programmable Gate Array)やASIC(Application Specific Integrated Circuit)上で実現する際にサイクル数を調整する技術に関する。
サイクル互換性を維持するためには、アーキテクチャ変更などサイクル数調整を行う必要がある。
また、特許文献1及び特許文献2で開示されている様々な技術でサイクル数調整を行う必要がある。
しかし、この方法では、プロセッサにウエイト信号が入力できることが前提となる。
しかし、この方法では、NOP命令の追加をソフトウェアで実現しているため、NOP命令追加によるプログラムメモリ容量の増加、プログラムを変更する度に実行時間を再計算し、NOP命令を再追加しなければならないという課題がある。
プロセッサコアと、
NOP(No OPeration)命令の挿入数を記憶するNOP挿入数記憶素子と、
前記NOP挿入数記憶素子に記憶されている挿入数分のNOP命令を、前記プロセッサコアに出力するNOP挿入器とを有することを特徴とする。
本実施の形態では、プロセッサが命令を実行する際、必要サイクル数だけNOP命令をハードウェアで自動挿入し、サイクル数を調整する構成を説明する。
本実施の形態に係る構成により、プログラムメモリ容量の増加、プログラム変更時のNOP命令再追加が不要なプロセッサのサイクル数の調整が可能である。
本実施の形態に係るプロセッサ12は、サイクル数調整可能なプロセッサであり、NOP挿入器2と、NOP挿入数記憶素子3と、プロセッサコア4で構成される。
プロセッサコア4は、プログラムカウンタ5、命令メモリ6、デコーダ7、演算やメモリライト/リード等の命令実行を行う命令実行部8の4つで構成されている。
本実施の形態に係るプロセッサ12では、プロセッサコア4に対して、NOP挿入器2と、NOP挿入数記憶素子3を付加することで、命令実行サイクル数を調整する。
その上で、プロセッサ12を実行させる。
プロセッサ生成後の命令実行サイクル数の調整は、下記のフローで行われる。
デコーダのオペコード出力10は、プロセッサコア4が実行しようとする命令のオペコード又はプロセッサコア4が実行した命令のオペコードである。
NOP挿入数記憶素子3は、プロセッサコア4が実行する複数のオペコードに対して、オペコードごとに、NOP命令の挿入数を記憶している。
そして、デコーダのオペコード出力10に対応するNOP命令の挿入数を、NOP挿入数11として出力する。
(イ)NOP挿入器2が、NOP挿入数11のサイクル数分、プロセッサコア4に対して実行する命令の直前(あるいは直後)に、NOPを挿入する。
つまり、NOP挿入器2は、NOP挿入数11分のNOP命令を、プロセッサコア4に出力する。
(ウ)NOP挿入時は、プログラムカウンタ5の値を保持して更新させない。
(エ)NOP挿入器2が所定のサイクル数分だけNOP命令を挿入した後、プログラムカウンタ5を次の値に更新する。
(オ)デコーダ7が発行した次の命令9を、NOP挿入器2を介して命令実行部8に対して発行した後、(ア)に戻る。
これにより、現行プロセッサで使用していたソフトウェアに修正を加えること無く、現行プロセッサと同じ実行サイクルで命令を実行できるプロセッサを実現する。
つまり、ハードウェアであるNOP挿入数記憶素子及びNOP挿入器によりNOP命令を追加するため、プログラムメモリ容量の増加、プログラム変更時のNOP命令再追加を伴うことなくプロセッサのサイクル数を調整することができる。
以下、実施の形態2を図2に基づいて説明する。
図2は、実施の形態2に係るプロセッサのNOP挿入数を算出する手順を示す。
その後、NOP挿入数記憶素子3に、算出結果を書き込む。
まず、NOP挿入数演算装置15は、ステップS2で、配列Aに現行プロセッサの各命令実行サイクル数を格納する。
次に、NOP挿入数演算装置15は、ステップS3で、配列Bにプロセッサコアの各命令の実行サイクルを格納する。
その後、ステップS4で配列番号を0に初期化し、ステップS5で配列A、配列Bに格納した実行サイクル数の差分を求め、結果を配列Cに格納後、ステップS6で配列番号を+1する。
前記ステップS5からステップS7までのフローを繰り返し、各命令の実行サイクル数を求める。
その後、NOP挿入数演算装置15は、ステップS8で演算結果を出力し、NOP挿入数14のNOP挿入数記憶素子3への書き込みを行う。
これにより、NOP挿入数演算装置15を利用し、NOP挿入数14を算出することで、自動でNOP挿入数14を計算し、プロセッサのサイクル数を調整することが可能となる。
以下、実施の形態3を図4に基づいて説明する。
図4は、実施の形態3に係る現行プロセッサの命令実行サイクルの計測手順を示す図である。
命令実行サイクル数収集装置41は、前記4つの入力から、現行プロセッサの各命令実行サイクル40を出力する。
まず、命令実行サイクル数収集装置41は、ステップS11で、命令の開始信号の有意を判断し、有意となった後、ステップS12で命令の実行サイクル数の計測を開始するためにカウント値を初期化して、ステップS13でカウントを開始する。
カウントは1クロックおきに行い、ステップS15で命令の終了信号が有意となるまで、ステップS13からS15を繰り返す。
命令の終了信号が有意となった後、ステップS16でカウント値を計測中命令の実行サイクルとする。
ステップS11からS17を繰り返し全命令のサイクル数の計測を行う。
これにより、現行プロセッサの実行命令サイクル数を自動計測することで、プロセッサのサイクル数が調整可能となる。
以下、実施の形態4を図6に基づいて説明する。
図6は、実施の形態4に係るNOP挿入数の算出手順を示す図である。
本実施の形態では、プロセッサ12の動作周波数は、現行プロセッサの動作周波数とは異なるものとする。
(ア)現行プロセッサの動作クロック55と、サイクル数調整可能なプロセッサの動作クロック54を、追加NOP数計算機56に与え、動作周波数が異なっていた場合に、追加NOP数計算機56は、追加/削減する必要のある調整用NOP数57を出力する。
(イ)調整用NOP数57と、現行プロセッサの動作クロック55でサイクル数調整可能なプロセッサ12を動作させた際のNOP挿入数58を、演算器59に与える。
(ウ)演算器59から出力された調整されたNOP挿入数60を、NOP挿入数記憶素子51に設定もしくは予め記憶させておき、その上でプロセッサ12を実行させる。
これにより、現行プロセッサの動作クロックと、異なる動作周波数のクロックでサイクル数調整可能なプロセッサ12を動作させる際に、現行プロセッサと同一の時間で命令を実行させることができる。
Claims (6)
- プロセッサコアと、
NOP(No OPeration)命令の挿入数を記憶するNOP挿入数記憶素子と、
前記NOP挿入数記憶素子に記憶されている挿入数分のNOP命令を、前記プロセッサコアに出力するNOP挿入器とを有することを特徴とするプロセッサ。 - 前記NOP挿入数記憶素子は、
オペコードごとに、NOP命令の挿入数を記憶しており、
前記プロセッサコアが実行しようとする命令のオペコード又は前記プロセッサコアが実行した命令のオペコードを受信し、受信したオペコードに対応する挿入数を前記NOP挿入器に通知し、
前記NOP挿入器は、
前記NOP挿入数記憶素子から通知された挿入数分のNOP命令を、前記プロセッサコアに出力することを特徴とする請求項1に記載のプロセッサ。 - 前記プロセッサコアは、
プログラムカウンタを有し、
前記NOP挿入器は、
NOP命令を前記プロセッサコアに出力している間は、前記プログラムカウンタの値を更新させないことを特徴とする請求項1に記載のプロセッサ。 - 前記プロセッサコアは、
特定のプロセッサを代替して特定の命令を実行するプロセッサコアであり、
前記NOP挿入数記憶素子は、
前記特定のプロセッサによる前記特定の命令の実行サイクルと前記プロセッサコアによる前記特定の命令の実行サイクルとの比較によって算出されたNOP命令の挿入数を記憶していることを特徴とする請求項1に記載のプロセッサ。 - 前記NOP挿入数記憶素子は、
前記特定の命令と、前記特定のプロセッサによる前記特定の命令の実行時の開始信号及び終了信号と、前記特定のプロセッサの動作クロックとに基づき算出された前記特定のプロセッサによる前記特定の命令の実行サイクルと、前記プロセッサコアによる前記特定の命令の実行サイクルとの比較によって算出されたNOP命令の挿入数を記憶していることを特徴とする請求項4に記載のプロセッサ。 - 前記プロセッサコアの動作クロックは、
前記特定のプロセッサの動作クロックと異なっており、
前記特定のプロセッサによる前記特定の命令の実行サイクルと前記プロセッサコアによる前記特定の命令の実行サイクルとの比較によって算出されたNOP命令の挿入数と、前記特定のプロセッサの動作クロックと前記プロセッサコアの動作クロックとの差異とに基づいて算出されたNOP命令の挿入数を記憶していることを特徴とする請求項4に記載のプロセッサ装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014005659A JP2015135538A (ja) | 2014-01-16 | 2014-01-16 | プロセッサ |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014005659A JP2015135538A (ja) | 2014-01-16 | 2014-01-16 | プロセッサ |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2015135538A true JP2015135538A (ja) | 2015-07-27 |
Family
ID=53767343
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014005659A Pending JP2015135538A (ja) | 2014-01-16 | 2014-01-16 | プロセッサ |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2015135538A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2019020931A (ja) * | 2017-07-13 | 2019-02-07 | ラピスセミコンダクタ株式会社 | 処理速度整合回路およびマイクロプロセッサ |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS595354A (ja) * | 1982-06-30 | 1984-01-12 | Fujitsu Ltd | デ−タ処理装置 |
JPS62174832A (ja) * | 1985-12-25 | 1987-07-31 | Nec Corp | 情報処理装置 |
JPH0635432A (ja) * | 1992-07-15 | 1994-02-10 | Hitachi Software Eng Co Ltd | 表示出力方式 |
JPH0749781A (ja) * | 1993-05-06 | 1995-02-21 | Hewlett Packard Co <Hp> | インタロックハードウェアの単純化方法及び装置 |
JPH0793151A (ja) * | 1993-09-21 | 1995-04-07 | Oki Electric Ind Co Ltd | 命令供給装置 |
US5911083A (en) * | 1996-12-27 | 1999-06-08 | Unisys Corporation | Programmable processor execution rate controller |
JPH11306016A (ja) * | 1998-04-16 | 1999-11-05 | Japan Radio Co Ltd | レジスタ間接分岐命令及び条件付き分岐命令実行方法 |
JP2000029696A (ja) * | 1998-07-08 | 2000-01-28 | Sony Corp | プロセッサおよびパイプライン処理制御方法 |
JP2002123423A (ja) * | 1993-10-15 | 2002-04-26 | Hitachi Ltd | データ処理システム |
JP2004030765A (ja) * | 2002-06-25 | 2004-01-29 | Fujitsu Ltd | 自己診断機能内蔵の半導体記憶装置 |
JP2009110209A (ja) * | 2007-10-29 | 2009-05-21 | Panasonic Corp | 演算処理装置、プロセッサ、プログラム変換装置およびプログラム |
-
2014
- 2014-01-16 JP JP2014005659A patent/JP2015135538A/ja active Pending
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS595354A (ja) * | 1982-06-30 | 1984-01-12 | Fujitsu Ltd | デ−タ処理装置 |
JPS62174832A (ja) * | 1985-12-25 | 1987-07-31 | Nec Corp | 情報処理装置 |
JPH0635432A (ja) * | 1992-07-15 | 1994-02-10 | Hitachi Software Eng Co Ltd | 表示出力方式 |
JPH0749781A (ja) * | 1993-05-06 | 1995-02-21 | Hewlett Packard Co <Hp> | インタロックハードウェアの単純化方法及び装置 |
JPH0793151A (ja) * | 1993-09-21 | 1995-04-07 | Oki Electric Ind Co Ltd | 命令供給装置 |
JP2002123423A (ja) * | 1993-10-15 | 2002-04-26 | Hitachi Ltd | データ処理システム |
US5911083A (en) * | 1996-12-27 | 1999-06-08 | Unisys Corporation | Programmable processor execution rate controller |
JPH11306016A (ja) * | 1998-04-16 | 1999-11-05 | Japan Radio Co Ltd | レジスタ間接分岐命令及び条件付き分岐命令実行方法 |
JP2000029696A (ja) * | 1998-07-08 | 2000-01-28 | Sony Corp | プロセッサおよびパイプライン処理制御方法 |
JP2004030765A (ja) * | 2002-06-25 | 2004-01-29 | Fujitsu Ltd | 自己診断機能内蔵の半導体記憶装置 |
JP2009110209A (ja) * | 2007-10-29 | 2009-05-21 | Panasonic Corp | 演算処理装置、プロセッサ、プログラム変換装置およびプログラム |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2019020931A (ja) * | 2017-07-13 | 2019-02-07 | ラピスセミコンダクタ株式会社 | 処理速度整合回路およびマイクロプロセッサ |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8140901B2 (en) | Validation of processors using a self-generating test case framework | |
CN108139885B (zh) | 浮点数舍入 | |
KR20190045316A (ko) | 벡터 곱셈 덧셈 명령 | |
JP2013254484A5 (ja) | ||
TW201030607A (en) | Instruction and logic for performing range detection | |
KR102560424B1 (ko) | 와이드 데이터 타입들의 비교 | |
JP2009271598A (ja) | プロセッサ | |
JP2008176453A (ja) | シミュレーション装置 | |
CN113342671B (zh) | 对运算模块进行验证的方法、装置、电子设备和介质 | |
WO2017012351A1 (zh) | 一种并行计算的方法及终端 | |
JP2015135538A (ja) | プロセッサ | |
JP2007207145A (ja) | ループ制御回路及びループ制御方法 | |
IL256403A (en) | Array query length instruction | |
CN107665169B (zh) | 处理器程序的测试方法和装置 | |
JP2011253253A (ja) | コンピュータ試験方法、コンピュータ試験装置およびコンピュータ試験プログラム | |
JP6227196B2 (ja) | クロック診断装置及びクロック診断方法 | |
US10635395B2 (en) | Architecture and instruction set to support interruptible floating point division | |
KR20140122564A (ko) | 프로세서에서 레지스터의 물리 주소 산출 장치 및 방법 | |
JP2020061124A (ja) | 並列処理装置及び演算処理方法 | |
JP2015219823A (ja) | プロセッサ | |
US20190384687A1 (en) | Information processing device, information processing method, and computer readable medium | |
US10296315B2 (en) | Multiple-thread processing methods and apparatuses | |
KR20150041541A (ko) | 프로세서의 디코더 검증을 위한 테스트 벤치 생성 방법 및 이를 위한 장치 | |
KR102531567B1 (ko) | 데드락 회피 방법 및 시스템 | |
CN113031914B (zh) | 浮点舍入模式的控制方法、装置、设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20161110 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20171030 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20171121 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20180116 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20180605 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20181204 |