JP2007065999A - 命令コードの符号化方式及びcpu - Google Patents
命令コードの符号化方式及びcpu Download PDFInfo
- Publication number
- JP2007065999A JP2007065999A JP2005251317A JP2005251317A JP2007065999A JP 2007065999 A JP2007065999 A JP 2007065999A JP 2005251317 A JP2005251317 A JP 2005251317A JP 2005251317 A JP2005251317 A JP 2005251317A JP 2007065999 A JP2007065999 A JP 2007065999A
- Authority
- JP
- Japan
- Prior art keywords
- instruction
- bit
- code
- cpu
- register
- 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
- 238000012545 processing Methods 0.000 claims abstract description 7
- 238000000034 method Methods 0.000 claims description 17
- 238000010586 diagram Methods 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000000295 complement effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
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/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3836—Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
- G06F9/3851—Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution from multiple instruction streams, e.g. multistreaming
-
- 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
-
- 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
-
- 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
-
- 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/30072—Arrangements for executing specific machine instructions to perform conditional operations, e.g. using predicates or guards
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Executing Machine-Instructions (AREA)
Abstract
【解決手段】 CPUのデコーダは、指定した汎用レジスタrn内でソースビットの内容をデスティネーションビットに転送するbmov命令を実行する際に、双方が同じビットに指定されている場合は、コンディションコードレジスタ内に配置されるキャリーフラグ[C]の内容を、レジスタrnのデスティネーションビットに転送する処理を実行する。
【選択図】 図1
Description
本発明は上記事情に鑑みてなされたものであり、その目的は、オペコード以外のオペランドが全てパラメータとして設定される命令コードについても、複数の命令を割り当てることを可能とする命令コードの符号化方式、及びその符号化方式を採用する命令デコーダを備えるCPUを提供することにある。
従って、命令コードにおける複数のオペランドについての指定が上記の結果を招くような態様となっている場合は、実用的には使われない組み合わせのため、本来の命令とは実行形態が異なる命令を実行しても性能が劣らず問題がないから、オペコード以外のフィールドが全てパラメータとして設定される命令コードについても複数の命令を割り当てることができる。
即ち、本来は、2つのオペランドで夫々指定された対象について演算を行なう命令には、それらが同じ対象であるとすれば実行結果は変化しないものがある。従って、そのような命令において2つのオペランドの指定を同一対象とした場合は、別の命令を割り当てることが可能となる。
尚、このCPU1の構成は、外見的には一般的なCPUの構成と異なるところはないが、デコーダ5がフェッチした命令をデコードする場合の処理に特徴を有している。そのデコード処理の内容を図2にフローチャートとして示すが、このフローチャートは、あくまでもデコーダ5が内部のハードウエアロジックによって実行する内容である。
ビット 内容
15〜12 オペコード :ope
11〜 8 オペランドソースビット :bit_s(演算対象)
7〜 4 オペランドレジスタ :rn
3〜 0 オペランドデスティネーションビット:bit_q(演算対象)
従って、このbmov命令においてソースビットとデスティネーションビットとを同一に設定すれば(bit_s=bit_qである場合)、上記の演算処理を実行すると同じビットに同じデータを上書きすることになるので実行結果は変化しない。即ち、NOP命令を実行した場合と同様の結果となる。
即ち、図1(c)では、ソースビットとデスティネーションビットとを何れも第3ビットに指定している。この場合、デコーダ5は、レジスタ部4のコンディションコードレジスタ(CCレジスタ,ステータスレジスタの一部として構成される場合もある)内に配置されるキャリーフラグ[C](演算結果にキャリー又はボローがある,他の演算対象)の内容を、レジスタrnのデスティネーションビットに転送する、という処理を実行する。このデコード動作は、図2のフローチャートでは、ステップS1→S2→S3に対応する。また、デコード対象の命令がbmov命令以外である場合は、ステップS1→S6となる。
この場合、先ず、btbeq命令を実行することで、汎用レジスタrmの第5ビットの内容をCCレジスタのキャリーフラグに転送し、続いてbmov命令(bit_s=bit_q=3)を図1と同様の指定で実行させれば、キャリーフラグの内容をレジスタrnの第3ビットに転送させることができる。
従って、オペコード以外のオペランドが全てパラメータとして設定される命令コードについても複数の命令を割り当てることができる。そして、CPU1は、予め用意される命令セット数を増加させることなく、より多様な命令を実行させることができる。
(bit_s=bit_q)である場合に本来の1ビット操作命令に替えて実行する命令の内容は、上記の実施例に限ることなく、個別のアプリケーションに必要となる命令を適宜選択して割り当てれば良い。
bmov命令に限ることなく、その他の命令について同様の符号化方式を適用しても良い。例えば、命令コードにオペランドレジスタを指定するためのオペランドは必ずしも必要ではなく、命令とオペランドレジスタとが1対1の関係となっていても良い。
命令コードのサイズは、16ビットに限ることはない。
Claims (3)
- 命令コード中に、少なくともオペコードと、命令の演算対象を指定する複数のオペランドとを有し、前記演算対象について前記オペコードで指定される命令を行なうものについて、
前記複数のオペランドで指定されている演算対象が、前記命令を実行した結果が変化しない組み合わせとなっている場合は、前記命令とは異なる命令に相当する処理を行なうように定められていることを特徴とする命令コードの符号化方式。 - 前記命令コードは、2つのオペランドを有し、
前記オペコードで指定される命令は、前記2つのオペランドで指定される演算対象について演算を行なうものである場合、
前記2つのオペランドによって指定される演算対象が同一であり、且つ、それらについて前記演算を行なうと実行結果が変化しないものについては、前記演算対象と、予め指定されている他の演算対象との間で演算を行なうことを特徴とする請求項1記載の命令コードの符号化方式。 - 請求項1又は2記載の命令コードの符号化方式を採用して構成される命令デコーダを備えることを特徴とするCPU。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005251317A JP4645369B2 (ja) | 2005-08-31 | 2005-08-31 | Cpu |
US11/330,237 US7664933B2 (en) | 2005-01-17 | 2006-01-12 | Microcomputer and encoding system for instruction code and CPU |
US12/585,781 US7991982B2 (en) | 2005-01-17 | 2009-09-24 | Microcomputer and encoding system for executing peripheral function instructions |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005251317A JP4645369B2 (ja) | 2005-08-31 | 2005-08-31 | Cpu |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2007065999A true JP2007065999A (ja) | 2007-03-15 |
JP4645369B2 JP4645369B2 (ja) | 2011-03-09 |
Family
ID=37928132
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005251317A Expired - Fee Related JP4645369B2 (ja) | 2005-01-17 | 2005-08-31 | Cpu |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4645369B2 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111027103A (zh) * | 2019-01-31 | 2020-04-17 | 哈尔滨安天科技集团股份有限公司 | 基于寄存器模糊配置的芯片检测方法、装置及存储设备 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5559551A (en) * | 1978-10-30 | 1980-05-06 | Nec Corp | Information processor |
-
2005
- 2005-08-31 JP JP2005251317A patent/JP4645369B2/ja not_active Expired - Fee Related
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5559551A (en) * | 1978-10-30 | 1980-05-06 | Nec Corp | Information processor |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111027103A (zh) * | 2019-01-31 | 2020-04-17 | 哈尔滨安天科技集团股份有限公司 | 基于寄存器模糊配置的芯片检测方法、装置及存储设备 |
CN111027103B (zh) * | 2019-01-31 | 2023-11-10 | 安天科技集团股份有限公司 | 基于寄存器模糊配置的芯片检测方法、装置及存储设备 |
Also Published As
Publication number | Publication date |
---|---|
JP4645369B2 (ja) | 2011-03-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6351682B2 (ja) | 装置および方法 | |
JP6227621B2 (ja) | 複数の試験ソースに対するor試験及びand試験機能を提供するために命令をフュージングする方法及び装置 | |
CN107729048B (zh) | 提供向量压缩和旋转功能的指令和逻辑 | |
JP5918287B2 (ja) | 演算マスクのマスクされていない要素をコンソリデートする命令処理装置、方法、システム、及びプログラム | |
CN104115115B (zh) | 用于多精度算术的simd整数乘法累加指令 | |
CN107430508B (zh) | 用于提供原子范围操作的指令和逻辑 | |
CN107918546B (zh) | 利用经掩码的全寄存器访问实现部分寄存器访问的处理器、方法和系统 | |
EP1102163A2 (en) | Microprocessor with improved instruction set architecture | |
CN108885551B (zh) | 存储器复制指令、处理器、方法和系统 | |
JP2018500657A5 (ja) | ||
CN107533460B (zh) | 紧缩有限冲激响应(fir)滤波处理器、方法、系统和指令 | |
JP6419205B2 (ja) | プロセッサ、方法、システム、コンピュータシステム、およびコンピュータ可読記憶媒体 | |
US7546442B1 (en) | Fixed length memory to memory arithmetic and architecture for direct memory access using fixed length instructions | |
CN105765522B (zh) | 用于立即数处置和旗标处置的处理器和方法 | |
US20030037085A1 (en) | Field processing unit | |
JPH07120278B2 (ja) | データ処理装置 | |
JP4645369B2 (ja) | Cpu | |
JP2002073325A (ja) | データ処理装置及び方法 | |
JP5732139B2 (ja) | データ要素の条件付き選択 | |
JPS623332A (ja) | 情報処理装置 | |
EP4300293A1 (en) | Add with rotation instruction and support | |
JP2006302324A (ja) | データ処理装置 | |
JP5263497B2 (ja) | 信号処理プロセッサ及び半導体装置 | |
CN116339683A (zh) | 零周期存储器初始化 | |
CN112579168A (zh) | 指令执行单元、处理器以及信号处理方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20071003 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20091215 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100202 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100312 |
|
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: 20101109 |
|
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: 20101122 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131217 Year of fee payment: 3 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 4645369 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131217 Year of fee payment: 3 |
|
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 |