JP2015135538A - プロセッサ - Google Patents

プロセッサ Download PDF

Info

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
Application number
JP2014005659A
Other languages
English (en)
Inventor
将大 中嶋
Masahiro Nakajima
将大 中嶋
諭 名女松
Satoshi Namematsu
諭 名女松
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric 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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP2014005659A priority Critical patent/JP2015135538A/ja
Publication of JP2015135538A publication Critical patent/JP2015135538A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Executing Machine-Instructions (AREA)

Abstract

【課題】プログラムメモリ容量の増加、プログラム変更時のNOP命令再追加を生じさせることなくプロセッサのサイクル数を調整するプロセッサを提供する。
【解決手段】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で開示されている様々な技術でサイクル数調整を行う必要がある。
特許文献1では、性能が向上したプロセッサに対して、外部から所定サイクル数ウエイト信号を入力し、サイクル数調整を行う方法が開示されている。
しかし、この方法では、プロセッサにウエイト信号が入力できることが前提となる。
特許文献2では従来技術として、プログラムにNOP(No OPeration)命令を所定数追加することで、サイクル数調整を行う方法が開示されている。
しかし、この方法では、NOP命令の追加をソフトウェアで実現しているため、NOP命令追加によるプログラムメモリ容量の増加、プログラムを変更する度に実行時間を再計算し、NOP命令を再追加しなければならないという課題がある。
特開昭62−174832号公報 特開平05−224917号公報
本発明は、このような課題を解決することを主な目的としており、プログラムメモリ容量の増加、プログラム変更時のNOP命令再追加が不要なプロセッサのサイクル数調整方式を実現することを主な目的とする。
本発明に係るプロセッサは、
プロセッサコアと、
NOP(No OPeration)命令の挿入数を記憶するNOP挿入数記憶素子と、
前記NOP挿入数記憶素子に記憶されている挿入数分のNOP命令を、前記プロセッサコアに出力するNOP挿入器とを有することを特徴とする。
本発明によれば、ハードウェアであるNOP挿入数記憶素子及びNOP挿入器によりNOP命令を追加するため、プログラムメモリ容量の増加、プログラム変更時のNOP命令再追加を生じさせることなくプロセッサのサイクル数を調整することができる。
実施の形態1に係るプロセッサの構成例を示す図。 実施の形態2に係るNOP挿入数の算出手順を示す図。 実施の形態2に係るNOP挿入数の算出手順を示すフローチャート図。 実施の形態3に係る現行プロセッサの命令実行サイクルの計測手順を示す図。 実施の形態3に係る現行プロセッサの命令実行サイクルの計測手順を示すフローチャート図。 実施の形態4に係るNOP挿入数の算出手順を示す図。
実施の形態1.
本実施の形態では、プロセッサが命令を実行する際、必要サイクル数だけNOP命令をハードウェアで自動挿入し、サイクル数を調整する構成を説明する。
本実施の形態に係る構成により、プログラムメモリ容量の増加、プログラム変更時のNOP命令再追加が不要なプロセッサのサイクル数の調整が可能である。
図1は、実施の形態1に係るプロセッサのサイクル数調整方式及び、装置を示す概略図である。
本実施の形態に係るプロセッサ12は、サイクル数調整可能なプロセッサであり、NOP挿入器2と、NOP挿入数記憶素子3と、プロセッサコア4で構成される。
プロセッサコア4は、プログラムカウンタ5、命令メモリ6、デコーダ7、演算やメモリライト/リード等の命令実行を行う命令実行部8の4つで構成されている。
本実施の形態に係るプロセッサ12では、プロセッサコア4に対して、NOP挿入器2と、NOP挿入数記憶素子3を付加することで、命令実行サイクル数を調整する。
NOP挿入数記憶素子3に、各命令に挿入するNOP挿入数1を設定もしくは、予め記憶させておく。
その上で、プロセッサ12を実行させる。
プロセッサ生成後の命令実行サイクル数の調整は、下記のフローで行われる。
(ア)NOP挿入数記憶素子3が、デコーダのオペコード出力10を受信して、NOP挿入器2に対して、NOP挿入数11を出力する。
デコーダのオペコード出力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は、実施の形態2に係るプロセッサのNOP挿入数を算出する手順を示す。
プロセッサの生成前に、プロセッサコアの各命令実行サイクル16と、現行プロセッサの各命令実行サイクル17を入力として、NOP挿入数演算装置15に与え、NOP挿入数演算装置15が、サイクル数の調整に必要なNOP挿入数14を算出する。
その後、NOP挿入数記憶素子3に、算出結果を書き込む。
NOP挿入数演算装置15がNOP挿入数14を求めるフローを、図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.
以下、実施の形態3を図4に基づいて説明する。
図4は、実施の形態3に係る現行プロセッサの命令実行サイクルの計測手順を示す図である。
現行プロセッサに書き込んだ命令42、現行プロセッサ43の動作時の命令の開始信号45、命令の終了信号46、現行プロセッサの動作クロック44の4つを、命令実行サイクル数収集装置41に入力する。
命令実行サイクル数収集装置41は、前記4つの入力から、現行プロセッサの各命令実行サイクル40を出力する。
図5に、命令実行サイクル数収集装置41による、現行プロセッサの命令実行サイクルを計測するフローを示す。
まず、命令実行サイクル数収集装置41は、ステップS11で、命令の開始信号の有意を判断し、有意となった後、ステップS12で命令の実行サイクル数の計測を開始するためにカウント値を初期化して、ステップS13でカウントを開始する。
カウントは1クロックおきに行い、ステップS15で命令の終了信号が有意となるまで、ステップS13からS15を繰り返す。
命令の終了信号が有意となった後、ステップS16でカウント値を計測中命令の実行サイクルとする。
ステップS11からS17を繰り返し全命令のサイクル数の計測を行う。
これにより、現行プロセッサの実行命令サイクル数を自動計測することで、プロセッサのサイクル数が調整可能となる。
実施の形態4.
以下、実施の形態4を図6に基づいて説明する。
図6は、実施の形態4に係るNOP挿入数の算出手順を示す図である。
本実施の形態では、プロセッサ12の動作周波数は、現行プロセッサの動作周波数とは異なるものとする。
サイクル数の調整が可能なプロセッサ12に対して、サイクル数調整可能なプロセッサの動作クロック54、現行プロセッサの動作クロック55、追加NOP数計算機56、演算器を付加し、現行プロセッサとは異なる動作周波数のプロセッサ12を動作させる際にも、同一時間で命令を実行できるように、NOPを挿入し命令実行サイクル数を調整する。
命令実行サイクル数の調整に必要なNOP数の算出は、下記の手順で行われる。
(ア)現行プロセッサの動作クロック55と、サイクル数調整可能なプロセッサの動作クロック54を、追加NOP数計算機56に与え、動作周波数が異なっていた場合に、追加NOP数計算機56は、追加/削減する必要のある調整用NOP数57を出力する。
(イ)調整用NOP数57と、現行プロセッサの動作クロック55でサイクル数調整可能なプロセッサ12を動作させた際のNOP挿入数58を、演算器59に与える。
(ウ)演算器59から出力された調整されたNOP挿入数60を、NOP挿入数記憶素子51に設定もしくは予め記憶させておき、その上でプロセッサ12を実行させる。
これにより、現行プロセッサの動作クロックと、異なる動作周波数のクロックでサイクル数調整可能なプロセッサ12を動作させる際に、現行プロセッサと同一の時間で命令を実行させることができる。
1 NOP挿入数、2 NOP挿入器、3 NOP挿入数記憶素子、4 プロセッサコア、5 プログラムカウンタ、6 命令メモリ、7 デコーダ、8 命令実行部、9 次の命令、10 デコーダのオペコード出力、11 NOP挿入数、12 プロセッサ、14 NOP挿入数、15 NOP挿入数演算装置、16 プロセッサコアの各命令実行サイクル、17 現行プロセッサの各命令実行サイクル、40 現行プロセッサの各命令実行サイクル、41 命令実行サイクル数収集装置、42 現行プロセッサに書き込んだ命令、43 現行プロセッサ、44 現行プロセッサの動作クロック、45 命令の開始信号、46 命令の終了信号、54 サイクル数調整可能なプロセッサの動作クロック、55 現行プロセッサの動作クロック、56 追加NOP数計算機、57 調整用NOP数、58 NOP挿入数、59 演算器、60 調整されたNOP挿入数。

Claims (6)

  1. プロセッサコアと、
    NOP(No OPeration)命令の挿入数を記憶するNOP挿入数記憶素子と、
    前記NOP挿入数記憶素子に記憶されている挿入数分のNOP命令を、前記プロセッサコアに出力するNOP挿入器とを有することを特徴とするプロセッサ。
  2. 前記NOP挿入数記憶素子は、
    オペコードごとに、NOP命令の挿入数を記憶しており、
    前記プロセッサコアが実行しようとする命令のオペコード又は前記プロセッサコアが実行した命令のオペコードを受信し、受信したオペコードに対応する挿入数を前記NOP挿入器に通知し、
    前記NOP挿入器は、
    前記NOP挿入数記憶素子から通知された挿入数分のNOP命令を、前記プロセッサコアに出力することを特徴とする請求項1に記載のプロセッサ。
  3. 前記プロセッサコアは、
    プログラムカウンタを有し、
    前記NOP挿入器は、
    NOP命令を前記プロセッサコアに出力している間は、前記プログラムカウンタの値を更新させないことを特徴とする請求項1に記載のプロセッサ。
  4. 前記プロセッサコアは、
    特定のプロセッサを代替して特定の命令を実行するプロセッサコアであり、
    前記NOP挿入数記憶素子は、
    前記特定のプロセッサによる前記特定の命令の実行サイクルと前記プロセッサコアによる前記特定の命令の実行サイクルとの比較によって算出されたNOP命令の挿入数を記憶していることを特徴とする請求項1に記載のプロセッサ。
  5. 前記NOP挿入数記憶素子は、
    前記特定の命令と、前記特定のプロセッサによる前記特定の命令の実行時の開始信号及び終了信号と、前記特定のプロセッサの動作クロックとに基づき算出された前記特定のプロセッサによる前記特定の命令の実行サイクルと、前記プロセッサコアによる前記特定の命令の実行サイクルとの比較によって算出されたNOP命令の挿入数を記憶していることを特徴とする請求項4に記載のプロセッサ。
  6. 前記プロセッサコアの動作クロックは、
    前記特定のプロセッサの動作クロックと異なっており、
    前記特定のプロセッサによる前記特定の命令の実行サイクルと前記プロセッサコアによる前記特定の命令の実行サイクルとの比較によって算出されたNOP命令の挿入数と、前記特定のプロセッサの動作クロックと前記プロセッサコアの動作クロックとの差異とに基づいて算出されたNOP命令の挿入数を記憶していることを特徴とする請求項4に記載のプロセッサ装置。
JP2014005659A 2014-01-16 2014-01-16 プロセッサ Pending JP2015135538A (ja)

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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019020931A (ja) * 2017-07-13 2019-02-07 ラピスセミコンダクタ株式会社 処理速度整合回路およびマイクロプロセッサ

Citations (11)

* Cited by examiner, † Cited by third party
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 演算処理装置、プロセッサ、プログラム変換装置およびプログラム

Patent Citations (11)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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