JP2011158930A - Microprocessor - Google Patents

Microprocessor Download PDF

Info

Publication number
JP2011158930A
JP2011158930A JP2010017621A JP2010017621A JP2011158930A JP 2011158930 A JP2011158930 A JP 2011158930A JP 2010017621 A JP2010017621 A JP 2010017621A JP 2010017621 A JP2010017621 A JP 2010017621A JP 2011158930 A JP2011158930 A JP 2011158930A
Authority
JP
Japan
Prior art keywords
instruction
unit
decode
decoding
microprocessor
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
JP2010017621A
Other languages
Japanese (ja)
Inventor
Keisuke Inada
圭介 稲田
Tomoyuki Nonaka
智之 野中
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 Consumer Electronics Co Ltd
Original Assignee
Hitachi Consumer Electronics Co 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 Consumer Electronics Co Ltd filed Critical Hitachi Consumer Electronics Co Ltd
Priority to JP2010017621A priority Critical patent/JP2011158930A/en
Publication of JP2011158930A publication Critical patent/JP2011158930A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Executing Machine-Instructions (AREA)
  • Microcomputers (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To solve the problem that a maximum operation frequency to be regulated by instruction decoding and instruction execution, etc., is restricted when using the same microprocessor according to application. <P>SOLUTION: The microprocessor invalidates a part of an instruction or an instruction set in order to vary the maximum operation frequency according to application, for example. As one example, the microprocessor includes an instruction fetching part for reading and fetching an instruction from a memory, an instruction decoding part for performing decoding processing with respect to the instruction fetched by the instruction fetching part, and an instruction execution part for executing the processing with respect to the decoded instruction. The instruction decoding part adopts an external setting value as an input to exclude a part of the instructions from decoding targets or reduce the speed through the use of the external setting value. <P>COPYRIGHT: (C)2011,JPO&INPIT

Description

本発明は、マイクロプロセッサに関する。例えば、命令または命令セットの一部を無効化または低速化させることにより、最大動作周波数を可変にすることが出来るマイクロプロセッサに関するものである。   The present invention relates to a microprocessor. For example, the present invention relates to a microprocessor that can change the maximum operating frequency by invalidating or slowing down a part of an instruction or an instruction set.

本技術分野の背景技術として、例えば、特開2007−172285号公報(特許文献1)がある。該公報には、「[課題]回路規模の縮小化と処理時間の短縮化等に貢献するリコンフィギュラブル回路を提供する。[解決手段]それぞれが複数の算術論理演算機能を選択的に実行可能な複数の論理回路2から構成される演算部と、複数の論理回路2の間の接続関係を保持する接続部と、を備えるリコンフィギュラブル回路において、少なくとも1つの論理回路2は、その論理回路2の演算で使用する入力4bを、その論理回路2の演算の次の演算を実行する論理回路2に入力する専用の入力伝播線6を有する入力伝播回路5を備える。さらに、入力伝播回路5は、入力伝播回路5を備える第1の論理回路2で使用するデータを、第1の論理回路2の演算の次の演算を実行する第2の論理回路2に入力する際、第1の論理回路2での演算実行時間の間、データを保持し、第2の論理回路2で演算を実行するときに、第2の論理回路2に入力できるようにするデータ保持機構7を備える。」と記載されている(要約参照)。   As background art in this technical field, for example, there is JP-A-2007-172285 (Patent Document 1). In this publication, “[Problem] To provide a reconfigurable circuit that contributes to a reduction in circuit scale, a reduction in processing time, etc. [Solution] Each can selectively execute a plurality of arithmetic logic operation functions. In a reconfigurable circuit comprising an arithmetic unit composed of a plurality of logic circuits 2 and a connection unit for maintaining a connection relationship between the plurality of logic circuits 2, at least one logic circuit 2 includes the logic circuit 2 includes an input propagation circuit 5 having a dedicated input propagation line 6 for inputting the input 4b used in the operation 2 to the logic circuit 2 that executes the next operation of the operation of the logic circuit 2. Further, the input propagation circuit 5 is provided. When the data used in the first logic circuit 2 including the input propagation circuit 5 is input to the second logic circuit 2 that executes the next operation after the operation of the first logic circuit 2, the first logic circuit 2 Calculation execution in circuit 2 In the meantime, the data holding mechanism 7 is provided so that data can be held and input to the second logic circuit 2 when the second logic circuit 2 executes an operation ”(summary). reference).

特開2007−172285号公報JP 2007-172285 A

一般的なマイクロプロセッサは、メモリから命令を読み出し、一度フェッチした後、命令デコードを行い、デコード結果に従い、処理を実行する。   A general microprocessor reads an instruction from a memory, fetches it once, performs instruction decoding, and executes processing according to the decoding result.

マイクロプロセッサの最大動作周波数は、対応する命令と、処理内容によるハードウェアの遅延制約によって決まるため、基本構成が同一であっても、対応する命令と、処理内容の違いにより、個別のマイクロプロセッサを設計する必要がある。これらのマイクロプロセッサを様々な用途に適用する場合、その用途に応じて、例えば、動作周波数、必要な命令、必要な処理や処理パフォーマンスなどの条件が異なるため、異なるマイクロプロセッサとして設計する必要があった。   Since the maximum operating frequency of a microprocessor is determined by the hardware delay constraint depending on the corresponding instruction and processing contents, even if the basic configuration is the same, individual microprocessors can be changed depending on the difference between the corresponding instruction and processing contents. Need to design. When these microprocessors are applied to various applications, it is necessary to design them as different microprocessors because the conditions such as operating frequency, required instructions, required processing and processing performance differ depending on the application. It was.

この改善策として、例えば、動作周波数、必要な命令、必要な処理や処理パフォーマンスなどをパラメータとして定義し、パラメータに応じてマイクロプロセッサを自動的に生成する方法がある。   As an improvement measure, for example, there is a method in which an operating frequency, necessary instructions, necessary processing and processing performance are defined as parameters, and a microprocessor is automatically generated according to the parameters.

また、同一のマイクロプロセッサを異なる用途で使用する場合、最も論理回路遅延時間の長い処理で決められる動作周波数が、動作周波数の上限、すなわち最大動作周波数となるため、最も論理回路遅延時間の長い処理が不要である用途に対しても、最大動作周波数の制約上、マイクロプロセッサの処理パフォーマンスが制限されるという課題がある。   When the same microprocessor is used in different applications, the operation frequency determined by the processing with the longest logic circuit delay time is the upper limit of the operation frequency, that is, the maximum operation frequency. However, there is a problem that the processing performance of the microprocessor is limited due to the restriction on the maximum operating frequency even for applications where the above is unnecessary.

前記マイクロプロセッサの自動生成の方法では、生成されるマイクロプロセッサはパラメータに応じて決められた性能のみ満足するものであり、このように用途に応じて同一マイクロプロセッサを使い分ける場合に、最大動作周波数など動作上の制約が発生するという課題が残る。   In the method of automatically generating the microprocessor, the generated microprocessor satisfies only the performance determined according to the parameters. Thus, when the same microprocessor is used depending on the application, the maximum operating frequency, etc. The problem that operation restrictions occur will remain.

解決しようとする問題点は、用途に応じて同一マイクロプロセッサを使い分ける場合に、命令デコード、命令実行などにより規定される最大動作周波数の制約が発生する点である。   The problem to be solved is that when the same microprocessor is used depending on the application, there is a restriction on the maximum operating frequency defined by instruction decoding, instruction execution, and the like.

本発明は、一例として、用途に応じて、最大動作周波数を可変にするために、命令または命令セットの一部を無効化させることを特徴とする。   As an example, the present invention is characterized in that a part of an instruction or an instruction set is invalidated in order to make the maximum operating frequency variable according to the application.

本発明のマイクロプロセッサは、例えば、用途に応じて動作周波数を可変に出来るため、用途に応じて複数のマイクロプロセッサを実装したり、最大動作周波数で動作することの出来る必要以上に処理パフォーマンスの高いマイクロプロセッサを実装したりすることなく、単一のマイクロプロセッサを様々な用途で使い分けられるという利点がある。   The microprocessor according to the present invention, for example, can change the operating frequency according to the application, so that a plurality of microprocessors can be mounted according to the application, or the microprocessor can operate at the maximum operating frequency. There is an advantage that a single microprocessor can be used for various purposes without mounting a microprocessor.

上記した以外の課題、構成及び効果は、以下の実施形態の説明により明らかにされる。   Problems, configurations, and effects other than those described above will be clarified by the following description of embodiments.

マイクロプロセッサの一般的な構成を示した説明図である。It is explanatory drawing which showed the general structure of the microprocessor. マイクロプロセッサの実施方法を示した説明図である。(実施例1)It is explanatory drawing which showed the implementation method of a microprocessor. Example 1 図2で示すマイクロプロセッサにおける命令デコード部の構成の一例を示す説明図である。(実施例2)FIG. 3 is an explanatory diagram illustrating an example of a configuration of an instruction decoding unit in the microprocessor illustrated in FIG. 2. (Example 2) 図2で示すマイクロプロセッサにおける命令デコード部の構成の一例を示す説明図である。(実施例3)FIG. 3 is an explanatory diagram illustrating an example of a configuration of an instruction decoding unit in the microprocessor illustrated in FIG. 2. (Example 3) 図2で示すマイクロプロセッサにおける命令デコード部の構成の一例を示す説明図である。(実施例4)FIG. 3 is an explanatory diagram illustrating an example of a configuration of an instruction decoding unit in the microprocessor illustrated in FIG. 2. Example 4

図1に一般的なマイクロプロセッサの構成を示す。   FIG. 1 shows a configuration of a general microprocessor.

メモリ部1は、機械語100を格納するメモリである。   The memory unit 1 is a memory that stores the machine language 100.

命令フェッチ部2は、前記メモリ部1から読み出した機械語100をフェッチするブロックである。   The instruction fetch unit 2 is a block that fetches the machine language 100 read from the memory unit 1.

命令デコード部4は、前記命令フェッチ部2から読み出した機械語101の命令デコード処理を行うブロックである。命令の種類が多いほど、デコード処理に伴うセレクタが多段になり、回路遅延が大きくなる。これは、マイクロプロセッサの最大動作周波数を抑える方向に働く。   The instruction decode unit 4 is a block that performs an instruction decode process of the machine language 101 read from the instruction fetch unit 2. As the number of types of instructions increases, the number of selectors associated with the decoding process increases, and the circuit delay increases. This works to reduce the maximum operating frequency of the microprocessor.

命令実行部3は、前記命令デコード部10でデコードされた命令103に対応する処理を行うブロックである。   The instruction execution unit 3 is a block that performs processing corresponding to the instruction 103 decoded by the instruction decoding unit 10.

図2は、本実施例によるマイクロプロセッサの命令デコード方法の典型的な一例である。以下、図2を用いて説明する。   FIG. 2 is a typical example of a microprocessor instruction decoding method according to this embodiment. Hereinafter, a description will be given with reference to FIG.

図2で示すマイクロプロセッサの命令デコード方式は、N種類の命令、すなわち命令Ni(i=1、2、・・・、n)に対応するものとする。   The microprocessor instruction decoding method shown in FIG. 2 corresponds to N types of instructions, that is, instructions Ni (i = 1, 2,..., N).

命令デコード部5は、機械語101を入力とし、命令群選択信号105で指定される命令群に対して、機械語101のデコード処理を行い、デコードして得られた命令103を命令実行部3に供給するブロックである。ここで、命令群とは、機械語101に対してデコード処理する命令のセットである。   The instruction decoding unit 5 receives the machine language 101 as input, performs a decoding process of the machine language 101 on the instruction group specified by the instruction group selection signal 105, and outputs the instruction 103 obtained by decoding to the instruction execution unit 3 It is a block to supply to. Here, the instruction group is a set of instructions for decoding the machine language 101.

例えば、2種類の命令群A及び命令群Bについて考える。命令群Aは命令Ni(i=1、2・・・、m ただしm<n)、命令群Bは命令Ni(i=m+1、m+2・・・、n)で構成されるものとする。命令群選択信号105は、命令群Aまたは、全ての命令群(命令群A及び命令群B)の選択をすることが出きる値をとるものとする。命令群選択信号105の値が、命令群Aを選択している場合、命令デコード部5は、機械語101に対して、命令群Aのいずれであるかでコード処理をし、命令群Aに含まれる命令であった場合、命令実行部3に命令103を供給する。一方、機械語101のデコード処理した結果、命令群Aに含まれる命令でない場合、命令実行部3に対して、命令103を発行しない。従って、命令群選択信号105の値が、命令群Aを選択している場合、命令デコード部5におけるデコード処理において、命令群Bに対するデコード処理を省くことが出来、論理回路の遅延量も削減することが出来きるため、命令デコード部5における最大動作周波数を上げることが可能となる。   For example, consider two types of instruction group A and instruction group B. It is assumed that the instruction group A is composed of instructions Ni (i = 1, 2,..., M where m <n), and the instruction group B is composed of instructions Ni (i = m + 1, m + 2..., N). The instruction group selection signal 105 takes a value that allows selection of the instruction group A or all instruction groups (instruction group A and instruction group B). When the value of the instruction group selection signal 105 selects the instruction group A, the instruction decoding unit 5 performs code processing on the machine language 101 to determine which of the instruction group A is, and If the instruction is included, the instruction 103 is supplied to the instruction execution unit 3. On the other hand, if the instruction is not included in the instruction group A as a result of decoding the machine language 101, the instruction 103 is not issued to the instruction execution unit 3. Accordingly, when the value of the instruction group selection signal 105 selects the instruction group A, the decoding process for the instruction group B can be omitted in the decoding process in the instruction decoding unit 5, and the delay amount of the logic circuit is also reduced. Therefore, the maximum operating frequency in the instruction decode unit 5 can be increased.

図3は、図2で示す命令デコード部5の典型的な一例である。以下、図3を用いて説明する。   FIG. 3 is a typical example of the instruction decoding unit 5 shown in FIG. Hereinafter, a description will be given with reference to FIG.

この例では、命令デコード部5は、命令デコード選択部11と、命令デコード実行部A12と、命令デコード実行部B13とで構成される。   In this example, the instruction decode unit 5 includes an instruction decode selection unit 11, an instruction decode execution unit A12, and an instruction decode execution unit B13.

また、命令群選択信号105は、命令群Aまたは、全ての命令群(命令群A及び命令群B)の選択をすることが出きる値をとるものとする。   The instruction group selection signal 105 takes a value that allows the instruction group A or all instruction groups (instruction group A and instruction group B) to be selected.

命令デコード実行部A12は、全ての命令群に対するデコード処理を行うブロックである。また、命令デコード実行部B13は、命令群Aに対するデコード処理を行うブロックである。従って、デコード処理に対する論理回路の遅延量は、命令デコード実行部A12に比べて、命令デコード実行部B13の方が少なくなる。   The instruction decode execution unit A12 is a block that performs decoding processing for all instruction groups. The instruction decode execution unit B13 is a block that performs a decoding process on the instruction group A. Therefore, the delay amount of the logic circuit for the decoding process is smaller in the instruction decode execution unit B13 than in the instruction decode execution unit A12.

命令デコード選択部11は、命令群選択信号105を入力とし、命令群選択信号105の値に従い、機械語101を命令デコード実行部A12と、命令デコード実行部B13のいずれか片方に出力するブロックである。   The instruction decode selection unit 11 is a block that receives the instruction group selection signal 105 and outputs the machine language 101 to either the instruction decode execution unit A12 or the instruction decode execution unit B13 according to the value of the instruction group selection signal 105. is there.

命令群選択信号105が、命令群Aに対するデコード処理を選択している場合、入力される機械語101は、命令デコード実行部B13でデコード処理される。デコードした結果得られる命令103が、命令群Aに含まれる場合、命令103を命令実行部3に供給する。   When the instruction group selection signal 105 selects the decoding process for the instruction group A, the input machine language 101 is decoded by the instruction decode execution unit B13. When the instruction 103 obtained as a result of decoding is included in the instruction group A, the instruction 103 is supplied to the instruction execution unit 3.

以上より、マイクロプロセッサの命令群Aのみを使用したい場合に、命令群選択信号105によって、命令群Aに対するデコード処理を選択することによって、命令デコード処理の回路遅延量を短くし、最大動作周波数を向上させることが出来る。   As described above, when only the instruction group A of the microprocessor is to be used, by selecting the decoding process for the instruction group A by the instruction group selection signal 105, the circuit delay amount of the instruction decoding process is shortened, and the maximum operating frequency is increased. Can be improved.

図4は、図2で示す命令デコード部5の典型的な別の一例である。以下、図4を用いて説明する。   FIG. 4 shows another typical example of the instruction decoding unit 5 shown in FIG. Hereinafter, a description will be given with reference to FIG.

この例では、命令デコード部5は、命令デコード選択部23と、命令デコード実行部A21と、命令デコード実行部B22とで構成される。   In this example, the instruction decode unit 5 includes an instruction decode selection unit 23, an instruction decode execution unit A21, and an instruction decode execution unit B22.

また、命令群選択信号105は、命令群Aまたは、全ての命令群(命令群A及び命令群B)の選択をすることが出きる値をとるものとする。   The instruction group selection signal 105 takes a value that allows the instruction group A or all instruction groups (instruction group A and instruction group B) to be selected.

命令デコード実行部A21は、入力される機械語101に対して、全ての命令群に対するデコード処理を行うブロックである。また、命令デコード実行部B22は、入力される機械語101に対して、命令群Aに対するデコード処理を行うブロックである。従って、入力される機械語101に対するデコード処理に対する論理回路の遅延量は、命令デコード実行部A21に比べて、命令デコード実行部B22の方が少なくなる。   The instruction decode execution unit A21 is a block that performs a decoding process on all instruction groups with respect to the input machine language 101. The instruction decode execution unit B22 is a block that performs a decoding process on the instruction group A for the input machine language 101. Accordingly, the delay amount of the logic circuit with respect to the decoding process for the input machine language 101 is smaller in the instruction decode execution unit B22 than in the instruction decode execution unit A21.

命令デコード選択部23は、命令群選択信号105と、命令デコード実行部A21がデコードした結果得られる命令120と、命令デコード実行部B22がデコードした結果得られる命令121を入力とし、命令群選択信号105の値に従い、命令120と命令121のいずれか片方を、命令実行部3に供給するブロックである。   The instruction decode selection unit 23 receives an instruction group selection signal 105, an instruction 120 obtained as a result of decoding by the instruction decode execution unit A21, and an instruction 121 obtained as a result of decoding by the instruction decode execution unit B22. This block supplies one of the instruction 120 and the instruction 121 to the instruction execution unit 3 according to the value of 105.

以上より、マイクロプロセッサの命令群Aのみを使用したい場合に、命令群選択信号105によって、命令群Aに対するデコード処理を選択することによって、命令デコード処理の回路遅延量を短くし、最大動作周波数を向上させることが出来る。   As described above, when only the instruction group A of the microprocessor is to be used, by selecting the decoding process for the instruction group A by the instruction group selection signal 105, the circuit delay amount of the instruction decoding process is shortened, and the maximum operating frequency is increased. Can be improved.

図5は、図2で示す命令デコード部5の典型的な一例である。以下、図5を用いて説明する。   FIG. 5 is a typical example of the instruction decoding unit 5 shown in FIG. Hereinafter, a description will be given with reference to FIG.

この例では、命令デコード部5は、プリ命令デコード部41と、サブ命令デコード部A42と、サブ命令デコード部B43とで構成される。   In this example, the instruction decoding unit 5 includes a pre-instruction decoding unit 41, a sub-instruction decoding unit A42, and a sub-instruction decoding unit B43.

また、命令群選択信号105は、命令群Aまたは、全ての命令群(命令群A及び命令群B)の選択をすることが出来る値をとるものとする。   The instruction group selection signal 105 takes a value that can select the instruction group A or all instruction groups (instruction group A and instruction group B).

プリ命令デコード部41は、機械語101の一部領域に対してデコード処理を行い、その結果得られる命令が命令群Aに含まれる場合には、機械語または機械語の一部(例えば、機械語101からプリでコード処理で使用した領域を削除したもの)140を、サブ命令デコード部A42に供給し、それ以外の場合には、前記機械語または機械語の一部140を、サブ命令デコード部A43に供給するブロックである。   The pre-instruction decoding unit 41 performs a decoding process on a partial region of the machine language 101, and when an instruction obtained as a result is included in the instruction group A, the pre-instruction decoding unit 41 (for example, a machine language) 140, which is obtained by deleting the area used for code processing in the pre-code from the word 101), is supplied to the sub-instruction decoding unit A42. In other cases, the machine language or part 140 of the machine language is sub-instruction decoded. It is a block supplied to part A43.

サブ命令デコード部A42は、命令群選択信号105が全ての命令群(命令群A及び命令群B)を選択している場合、前記機械語または機械語の一部140を入力とし、全ての命令群(命令群A及び命令群B)に対する命令デコード処理を行い、命令実行部3に対して、命令103を供給するブロックである。   When the instruction group selection signal 105 selects all instruction groups (instruction group A and instruction group B), the sub-instruction decode unit A42 receives the machine language or a part 140 of the machine language as an input, It is a block that performs instruction decoding processing on a group (instruction group A and instruction group B) and supplies an instruction 103 to the instruction execution unit 3.

サブ命令デコード部B43は、命令群選択信号105が命令群Aを選択している場合、前記機械語または機械語の一部140を入力とし、命令群Aに対する命令デコード処理を行い、命令実行部3に対して、命令103を供給するブロックである。   When the instruction group selection signal 105 selects the instruction group A, the sub-instruction decoding unit B43 receives the machine language or part 140 of the machine language as input, performs instruction decoding processing on the instruction group A, and executes the instruction execution unit 3 is a block for supplying an instruction 103 to the user.

図3、図4、及び図5で示す実施例では、命令群Aと、全ての命令群のいずれか、すなわち、2種類の命令群に対する選択をしたが、N種類(nは正の数)の命令群に対する選択が出来る構成としても良い。   In the embodiment shown in FIG. 3, FIG. 4, and FIG. 5, the instruction group A and one of all instruction groups, that is, two types of instruction groups are selected, but N types (n is a positive number). It is good also as a structure which can select with respect to these instruction groups.

また、各命令群が有する命令の一部または全ては重複しても良い。   Further, some or all of the instructions included in each instruction group may overlap.

例えば、対応する命令を命令Ni(i=1、2、3・・・9)とし、命令群Aは命令Ni(i=1、2、3、4、5)、命令群Bは命令Ni(i=3、5、6、7、8、9)、命令群Cは命令Ni(i=5、6)で構成される場合を例に上げることが出来る。この場合、選択できる命令群の一例として、命令群Aまたは、命令群Bまたは、命令群Cがある。選択できる命令群の別の一例として、命令群Aまたは、命令群B及び命令郡Cがある。選択できる命令群の別の一例として、命令群A及び命令群Bまたは、命令群B及び命令郡Cがある。選択できる命令群の別の一例として、全ての命令群または、命令群Aまたは、命令群Cがある。   For example, the corresponding instruction is an instruction Ni (i = 1, 2, 3,... 9), the instruction group A is an instruction Ni (i = 1, 2, 3, 4, 5), and the instruction group B is an instruction Ni ( For example, i = 3, 5, 6, 7, 8, 9) and the instruction group C may be composed of instructions Ni (i = 5, 6). In this case, as an example of an instruction group that can be selected, there is an instruction group A, an instruction group B, or an instruction group C. Another example of the instruction group that can be selected is the instruction group A or the instruction group B and the instruction group C. As another example of the instruction group that can be selected, there are an instruction group A and an instruction group B, or an instruction group B and an instruction group C. As another example of the instruction group that can be selected, there are all the instruction groups, the instruction group A, and the instruction group C.

以上,添付図面を参照しながら本発明にかかる好適な実施形態について説明したが,本発明はかかる例に限定されないことは言うまでもない。当業者であれば,特許請求の範囲に記載された技術的思想の範疇内において,各種の変更例または修正例に想到し得ることは明らかであり,それらについても当然に本発明の技術的範囲に属するものと了解される。   As mentioned above, although preferred embodiment concerning this invention was described referring an accompanying drawing, it cannot be overemphasized that this invention is not limited to this example. It is obvious for those skilled in the art that various changes or modifications can be conceived within the scope of the technical idea described in the claims. It is understood that it belongs to.

例えば、上記した実施例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、2つ以上の実施例を、その全部または一部において同時に採用する構成も可能である。   For example, the above-described embodiments have been described in detail for easy understanding of the present invention, and are not necessarily limited to those having all the configurations described. In addition, a configuration in which two or more embodiments are employed in whole or in part is also possible.

1 メモリ
2 命令フェッチ部
3 命令実行部
5 命令デコード部
105 命令群選択信号
DESCRIPTION OF SYMBOLS 1 Memory 2 Instruction fetch part 3 Instruction execution part 5 Instruction decode part 105 Instruction group selection signal

Claims (4)

命令を、メモリから読み出してフェッチする命令フェッチ部と、命令フェッチ部でフェッチした命令に対するデコード処理を行う命令デコード部と、デコード後の命令に対する処理を実行する命令実行部とを有して構成されるマイクロプロセッサにおいて、
前記命令デコード部が、外部設定値を入力とし、外部設定値によって、一部の命令をデコード対象から除外すること、または低速化させることを特徴とするマイクロプロセッサ。
An instruction fetch unit that reads an instruction from a memory and fetches the instruction, an instruction decode unit that decodes an instruction fetched by the instruction fetch unit, and an instruction execution unit that executes a process on the decoded instruction In the microprocessor
The microprocessor, wherein the instruction decoding unit receives an external set value and excludes some instructions from the decoding target or reduces the speed according to the external set value.
前記命令デコード部が、前記外部設定値によって、デコードする命令群を選択する命令デコード選択部と、選択された命令群に対する命令デコードを行う命令デコード実行部を、2つ以上有することを特徴とする
請求項1に記載のマイクロプロセッサ。
The instruction decode unit includes two or more instruction decode selection units that select an instruction group to be decoded according to the external setting value, and two or more instruction decode execution units that decode an instruction for the selected instruction group. The microprocessor according to claim 1.
前記命令デコード部が、所定の命令群に対する命令デコードを行う命令デコード実行部を2つ以上有し、前記外部設定値によって、前記命令デコード実行部の命令デコード結果のいずれかを選択し、前記命令実行部に出力する命令デコード選択部を有することを特徴とする
請求項2に記載のマイクロプロセッサ。
The instruction decode unit has two or more instruction decode execution units that perform instruction decode for a predetermined instruction group, selects one of the instruction decode results of the instruction decode execution unit according to the external setting value, and the instruction The microprocessor according to claim 2, further comprising an instruction decode selection unit that outputs to the execution unit.
前記命令デコード部が、入力する命令の一部のデコード処理を実行するプリ命令デコード実行部と、残された命令に対するデコード処理を行う2つ以上のサブ命令デコード実行部とを有して構成され、
前記プリ命令デコード実行部が、前記外部設定値によって、前記サブ命令デコード実行部の一つにプリ命令デコードの結果を出力することを特徴とする
請求項2に記載のマイクロプロセッサ。
The instruction decode unit includes a pre-instruction decode execution unit that performs a decoding process on a part of an input instruction, and two or more sub-instruction decode execution units that perform a decoding process on the remaining instructions. ,
The microprocessor according to claim 2, wherein the pre-instruction decode execution unit outputs a pre-instruction decode result to one of the sub-instruction decode execution units according to the external setting value.
JP2010017621A 2010-01-29 2010-01-29 Microprocessor Pending JP2011158930A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010017621A JP2011158930A (en) 2010-01-29 2010-01-29 Microprocessor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010017621A JP2011158930A (en) 2010-01-29 2010-01-29 Microprocessor

Publications (1)

Publication Number Publication Date
JP2011158930A true JP2011158930A (en) 2011-08-18

Family

ID=44590858

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010017621A Pending JP2011158930A (en) 2010-01-29 2010-01-29 Microprocessor

Country Status (1)

Country Link
JP (1) JP2011158930A (en)

Similar Documents

Publication Publication Date Title
KR101703743B1 (en) Accelerated interlane vector reduction instructions
US10664281B2 (en) Apparatuses and methods for dynamic asymmetric scaling of branch predictor tables
US10089075B2 (en) Method and apparatus of instruction that merges and sorts smaller sorted vectors into larger sorted vector
KR20190115408A (en) Hardware accelerators and methods for high-performance authenticated encryption
US20160179542A1 (en) Instruction and logic to perform a fused single cycle increment-compare-jump
KR20170097018A (en) Apparatus and method for vector broadcast and xorand logical instruction
KR101817459B1 (en) Instruction for shifting bits left with pulling ones into less significant bits
CN106681695B (en) Fetching branch target buffer in advance
US20230409732A1 (en) Instruction execution that broadcasts and masks data values at different levels of granularity
KR102310793B1 (en) Vector instruction to compute coordinate of next point in a z-order curve
US20180181398A1 (en) Apparatus and methods of decomposing loops to improve performance and power efficiency
KR20170099873A (en) Method and apparatus for performing a vector bit shuffle
KR20170097011A (en) Method and apparatus for performing a vector bit reversal and crossing
KR20170099869A (en) Method and apparatus for performing a vector permute with an index and an immediate
KR20170099855A (en) Method and apparatus for variably expanding between mask and vector registers
KR20130064797A (en) Method and apparatus for universal logical operations
US20190138305A1 (en) Hardware apparatuses and methods relating to elemental register accesses
KR20170097618A (en) Method and apparatus for performing big-integer arithmetic operations
KR20170097621A (en) Method and apparatus for performing conflict detection
KR20170097015A (en) Method and apparatus for expanding a mask to a vector of mask values
CN106775587B (en) Method for executing computer instructions and device using same
KR20170059478A (en) Machine level instructions to compute a 4d z-curve index from 4d coordinates
KR20170059477A (en) Machine level instructions to compute a 3d z-curve index from 3d coordinates
JP2007200180A (en) Processor system
EP4020114A1 (en) Time and frequency domain side-channel leakage suppression using integrated voltage regulator cascaded with runtime crypto arithmetic transformations