ロゴ
ユニオンペディア
コミュニケーション
Google Play で手に入れよう
新しい! あなたのAndroid™デバイスでユニオンペディアをダウンロードしてください!
無料
ブラウザよりも高速アクセス!
 

分岐命令

索引 分岐命令

分岐命令(ぶんきめいれい)は、プロセッサの命令の一種である。ジャンプ命令ともいう。条件ジャンプ命令と無条件ジャンプ命令があり、厳密には「分岐」するのは条件ジャンプであって無条件ジャンプは「分岐」と言えないかもしれないが、特に区別しないことが多い。サブルーチン呼出や戻りの命令も分岐命令の一種とすることもある。 一般的なプロセッサでは、機械語の命令列はアドレスの昇順に逐次実行されるが、分岐命令が実行されると次に実行される命令が切り替わる。高水準言語のコンパイラは、条件文・Goto文・サブルーチンなどの制御構造から分岐命令を生成する。 分岐命令は引数として少なくともターゲットアドレスを持つ。ターゲットアドレスは、分岐命令の実行により、プログラムカウンタに代入される。 命令パイプラインが深い一方で、先読みが浅いプロセッサでは、ジャンプによりパイプラインにバブルが発生しペナルティとなる設計にならざるをえないことがある。そのペナルティを軽減するため、分岐命令の直後を「遅延スロット」と称し、そこにある命令は分岐処理の直前に実行されるものとする、遅延分岐という方式がある。MIPS、SH、SPARCなど、初期のいわゆるRISCに採用例が多いが、1986年にNECから発表されたμPD77230、1988年にTIから発表されたTMS320C30、デジタルシグナルプロセッサにも(その前から)多い。ディレイスロット(にある命令)の数は、μPD77320の場合で 1 、TMS320C30の場合で 3 であった。大多数のRISCのディレイスロットは 1 である。 パイプライン処理では命令のフェッチが重要であり、分岐予測が用いられることがある。分岐予測は失敗時のコストが大きいので、これを減らすために投機的実行などの技術が用いられる。 ARMやIA-64では、全ての命令を条件実行命令として、分岐命令の必要性を低減しパイプラインストールの可能性を低くする工夫をしている。.

25 関係: ARMアーキテクチャメモリアドレスレジスタ (コンピュータ)プロセッサテーブルジャンプテキサス・インスツルメンツデジタルシグナルプロセッサ制御構造分岐予測命令 (コンピュータ)命令パイプラインコンパイラサブルーチン遅延スロット高水準言語Goto文IA-64If文MIPSアーキテクチャRISCSPARCSuperH投機的実行機械語日本電気

ARMアーキテクチャ

ARMアーキテクチャ とは、ARMホールディングスの事業部門であるARM Ltdにより設計・ライセンスされている、組み込み機器や低電力アプリケーション向けに広く用いられている、プロセッサコアのアーキテクチャである。.

新しい!!: 分岐命令とARMアーキテクチャ · 続きを見る »

メモリアドレス

メモリアドレス(memory address)は、コンピュータの主記憶装置にアクセスするためにソフトウェアおよびハードウェアによって様々なレベルで使用されるデータ概念である。通常、メモリアドレスは、整数として表示・処理される固定長の数字の列である。メモリアドレスの数値の意味は、CPUの機能(やなど)や様々なプログラミング言語で採用されている配列のようなメモリの使用法に基づいている。.

新しい!!: 分岐命令とメモリアドレス · 続きを見る »

レジスタ (コンピュータ)

レジスタ(register)はコンピュータのプロセッサなどが内蔵する記憶回路で、制御装置や演算装置や実行ユニットに直結した、操作に要する速度が最速の、比較的少量のものを指す。.

新しい!!: 分岐命令とレジスタ (コンピュータ) · 続きを見る »

プロセッサ

プロセッサ は、コンピュータシステムの中で、ソフトウェアプログラムに記述された命令セット(データの転送、計算、加工、制御、管理など)を実行する(=プロセス)ためのハードウェアであり、演算装置、命令や情報を格納するレジスタ、周辺回路などから構成される。内蔵されるある程度の規模の記憶装置までを含めることもある。プロセッサー、プロセサ、プロセッシングユニット、処理装置(しょりそうち)ともいう。「プロセッサ」は処理装置の総称で、システムの中心的な処理を担うものを「CPU()」(この呼称はマイクロプロセッサより古くからある)、集積回路に実装したものをマイクロプロセッサ、またメーカーによっては(モトローラなど)「MPU()」と呼んでいる。 プロセッサの構成要素の分類として、比較的古い分類としては、演算装置と制御装置に分けることがある。また、理論的な議論では、厳密には記憶装置であるレジスタすなわち論理回路の用語で言うところの順序回路の部分を除いた、組み合わせ論理の部分のみを指すことがある(状態機械モデルと相性が悪い)。の分類としては、実行すべき命令を決め、全体を制御するユニットと、命令を実行する実行ユニットとに分けることがある。.

新しい!!: 分岐命令とプロセッサ · 続きを見る »

テーブルジャンプ

テーブルジャンプは計算機プログラムの制御方式の一つである。テーブルジャンプに使用するテーブルをジャンプテーブルと呼ぶ。 ジャンプ命令を実行する際、ジャンプ先の番地(アドレス)を予め表の形でメモリに記憶させておき、それを参照してジャンプする方式。自己書き換えなどのテクニックと併用して使われる。複数の分岐先がある場合でも、短時間でジャンプが可能となる。 高級言語にもジャンプテーブルによる実装を考慮したものがあった。Pascalのcase文が変数に順序型のみを許容しているのが一例である。 UNIX系オペレーティングシステムのダイナミックリンクライブラリは、ロードされるアドレスが固定されていない。このため一種のテーブルジャンプでライブラリ内のサブルーチンにジャンプするようになっている。実行プログラムをロードした当初、そのジャンプテーブルは全てローダー(loader)にジャンプするように設定されている。ローダーはジャンプに使用されたテーブルのエントリに対応するライブラリルーチンにジャンプするのだが、その際にジャンプテーブル自身を書き換えて次回のコールからは直接ライブラリルーチンにジャンプするように変更する。 カーネルモードで実行されるデバイスドライバやファイルシステムもテーブルジャンプを使用してカーネル本体とのインターフェイスを実装していることが多い。open()、close()、read()、write()といったシステムコールの処理は最終的に個別のドライバやファイルシステムのコードを呼び出す。しかし、いずれも種類が豊富であるし、カーネルにリンクして構成されない場合もあるため、直接呼び出すことはできず、テーブルジャンプで呼び出すようになっている。例えば、UNIX系では仮想ファイルシステムが個別のファイルシステムのサブルーチンを登録するジャンプテーブルを管理する。ただし、この種の実装では単なる配列にアドレスを登録するのではなく、ドライバやファイルシステムの管理データ構造にジャンプテーブルが格納されている。従って、これはオブジェクト指向でいうカプセル化やポリモーフィズムに近い。.

新しい!!: 分岐命令とテーブルジャンプ · 続きを見る »

テキサス・インスツルメンツ

テキサス・インスツルメンツのカリフォルニア支店 テキサス・インスツルメンツ(Texas Instruments Inc.、)は、世界的な半導体開発・製造企業。本社はアメリカ・テキサス州ダラス。略称は「TI」。.

新しい!!: 分岐命令とテキサス・インスツルメンツ · 続きを見る »

デジタルシグナルプロセッサ

デジタルシグナルプロセッサ(digital signal processor、DSP)は、デジタル信号処理に特化したマイクロプロセッサであり、一般にリアルタイムコンピューティングで使われる。.

新しい!!: 分岐命令とデジタルシグナルプロセッサ · 続きを見る »

制御構造

制御構造(せいぎょこうぞう)は、コンピュータ・プログラミング言語、特に手続き型プログラミングや命令型プログラミングにおいて、ループや飛び越しなどといった、手続き(プロシージャ)中の実行順を順次実行から変化させたり、サブルーチン呼出しやその戻り、などといった制御を行う「文 (プログラミング) 」などの構造(言語の構成要素)である。 制御構造の種類は言語によって様々だが、典型的には以下のようなものがある(用語「ブロック」については、ブロック (プログラミング) の記事を参照)。.

新しい!!: 分岐命令と制御構造 · 続きを見る »

分岐予測

ンピュータ・アーキテクチャにおける分岐予測(ぶんきよそく、Branch Prediction、ブランチプレディクション)とは、プログラム実行の流れの中で条件分岐命令が分岐するかしないかを予測することにより、命令パイプラインの効果を可能な限り維持し、性能を高めるためのCPU内の機能である。.

新しい!!: 分岐命令と分岐予測 · 続きを見る »

命令 (コンピュータ)

ンピュータにおいて、命令(めいれい)とはCPUが処理する操作のこと。通常、命令操作部と複数のオペランドからなる。あるいは操作者がコンピュータに入力する簡易な書式による指示の総称として用いられることもある。.

新しい!!: 分岐命令と命令 (コンピュータ) · 続きを見る »

命令パイプライン

命令パイプライン(Instruction pipeline)は、コンピュータなどのデジタル電子機器で命令スループット(単位時間当たりに実行できる命令数)を向上させる設計技法の1つで、命令レベルの並列性を高める1技法。 命令パイプラインのあるプロセッサは、命令の処理を独立して実行できる工程(ステージ)に分割する。各工程は、前の工程の出力を自身の入力とし、自身の出力を次の工程の入力とするように相互接続されている。このような構成で各工程を並列化し、全体としての処理時間を大幅に削減する。.

新しい!!: 分岐命令と命令パイプライン · 続きを見る »

コンパイラ

ンパイラ(英:compiler)とは、コンピュータ・プログラミング言語の処理系(言語処理系)の一種で、高水準言語によるソースコードから、機械語に(あるいは、元のプログラムよりも低い水準のコードに)変換するプログラムである。.

新しい!!: 分岐命令とコンパイラ · 続きを見る »

サブルーチン

ブルーチン(subroutine)は、コンピュータプログラミングにおいて、プログラム中で意味や内容がまとまっている作業をひとつの手続きとしたものである。繰り返し利用されるルーチン作業をモジュールとしてまとめたもので、呼び出す側の「主」となるもの(メインルーチン)と対比して「サブルーチン」と呼ばれる。サブプログラム (subprogram) と呼ばれることもある。また、「サブ」をつけずに「ルーチン」と呼ぶこともある。 プログラムのソース中で、繰り返し現れる作業をサブルーチン化することで、可読性や保守性を高く保つことができる。繰り返し現れる作業でなくても、意味的なまとまりを示すためにサブルーチン化することもある。また、キャッシュのような階層的メモリの設計を持つコンピュータ(現在のパソコンやワークステーションなどほぼすべて)では、よく使われるサブルーチンがキャッシュに格納されることで高速な動作を期待できる。.

新しい!!: 分岐命令とサブルーチン · 続きを見る »

遅延スロット

遅延スロット(ちえんスロット)またはディレイスロット(Delay slot)は、直前の命令が効力を発揮する前に実行される命令のスロット(位置)を指す。最も典型的な形態としては、RISCやDSPアーキテクチャでの分岐命令の直後の位置の命令がある。この命令は分岐が実際に行われる前に実行される。従って、その命令は(その場所が遅延スロットであることを理解していないと)無意味な位置にあるように見える。アセンブラは一般に自動的な命令の並べ替えを行い、コンパイラやプログラマが遅延スロットを気にせずにコードを書けるようにしている。.

新しい!!: 分岐命令と遅延スロット · 続きを見る »

高水準言語

水準言語(high-level programming language: こうすいじゅんげんご、高級言語とも)とは、記述の抽象度が高いプログラミング言語のことである。対義語は機械語やアセンブリ言語を指す「低水準言語」である。「高級言語」の対は「低級言語」である。.

新しい!!: 分岐命令と高水準言語 · 続きを見る »

Goto文

プログラミング言語におけるgoto文(ゴートゥぶん、goto statement)とは、手続き列中の指定された場所(専らラベルで指定される)に無条件にジャンプ(移動)する、という制御構造のひとつである「文 (プログラミング) 」である。古い文献などで "go to" と離していることもあるのは、英語の go to どこそこ、といったような言い回しとの類似のためでもあり、FORTRANではプログラム中の空白は基本的に無視されるので、goto でも go to でも同じだったからという理由もある(BASICにも、どちらも使えるようにしているものもある)。.

新しい!!: 分岐命令とGoto文 · 続きを見る »

IA-64

IA-64(Intel Architecture 64、アイエーろくじゅうよん)はインテルとヒューレット・パッカードが共同で開発した、64ビットマイクロプロセッサの命令セットアーキテクチャ(ISA)であり、Itaniumで採用されている。 特徴としてEPICアーキテクチャを採用し、多数のレジスタを持つ。インテルの従来の32ビットであるIA-32(x86)とは、命令セットの互換性は無いが、IA-32のエミュレーションモードを持つ。IA-64は当初はIA-32の後継ともされたが、実際にはx86を64ビットに拡張したx64の普及もあり、特定用途に留まっている。.

新しい!!: 分岐命令とIA-64 · 続きを見る »

If文

if文(イフぶん)はプログラミング言語において、真理値に従って「もしXならば、Yせよ、さもなくばZせよ」というような条件実行の「文 (プログラミング) 」で、制御構造のひとつである。if else文と呼ばれることもある。 具体的な構文はプログラミング言語によって異なるが一般的に、条件式と、条件式の評価結果の値が「真として扱うべき値」の場合に実行される「then節」と呼ばれる部分があり、「偽として扱うべき値」の場合に実行されるelse節と呼ばれる部分が付く場合もある。 then節とelse節が式になる「条件演算子」がある言語も多い。言語によってはifが文ではなく、条件演算子と同様の「if式」である言語もある。.

新しい!!: 分岐命令とIf文 · 続きを見る »

MIPSアーキテクチャ

MIPSアーキテクチャは、ミップス・コンピュータシステムズ(現ミップス・テクノロジーズ)が開発したRISCマイクロプロセッサの命令セット・アーキテクチャ (ISA) である。.

新しい!!: 分岐命令とMIPSアーキテクチャ · 続きを見る »

RISC

RISC(りすく、Reduced Instruction Set Computer、縮小命令セットコンピュータ)は、コンピュータの命令セットアーキテクチャ(ISA)の設計手法の一つで、命令の種類を減らし、回路を単純化して演算速度の向上を図るものである。なお、RISCが提唱されたときに、従来の設計手法に基づくアーキテクチャは対義語としてCISCと呼ばれるようになった。 RISCを採用したプロセッサ (CPU) をRISCプロセッサと呼ぶ。RISCプロセッサの例として、ARM、MIPS、POWER、SPARCなどが知られる。.

新しい!!: 分岐命令とRISC · 続きを見る »

SPARC

UltraSPARC IIマイクロプロセッサ SuperSPARC TMX390Z50GF H359403658C SPARC(スパーク、Scalable Processor Architecture)は、サン・マイクロシステムズが開発・製造したRISCベースのマイクロプロセッサであり、その命令セットアーキテクチャの名称である。 現在はSPARCインターナショナルの登録商標であり、複数のメーカーがこのアーキテクチャに基づいたプロセッサを製造している。.

新しい!!: 分岐命令とSPARC · 続きを見る »

SuperH

SuperH(スーパーエイチ)は、日立製作所(後のルネサスエレクトロニクス)が開発した組み込み機器用32ビットRISCマイクロコンピュータである。.

新しい!!: 分岐命令とSuperH · 続きを見る »

投機的実行

投機的実行(とうきてきじっこう、)とは、コンピュータに必要としないかもしれない仕事をさせることである。この性能最適化技法は、パイプライン化されたプロセッサなどのシステムで使われている Butler Lampson Microsoft Research OPODIS, Bordeaux, France 12 December 2006。.

新しい!!: 分岐命令と投機的実行 · 続きを見る »

機械語

機械語(きかいご)またはマシン語(Machine code、machine language)とは、コンピュータのプロセッサが直接解釈実行可能な一連の命令群のデータそのもの(を、コンピュータ・プログラミング言語とみなしたもの)である。.

新しい!!: 分岐命令と機械語 · 続きを見る »

日本電気

日本電気株式会社(にっぽんでんき、NEC Corporation、略称:NEC(エヌ・イー・シー)、旧英社名 の略)は、東京都港区芝五丁目(元・東京都港区芝三田四国町)に本社を置く住友グループの電機メーカー。 日電(にちでん)と略されることも稀にあるが、一般的には略称の『NEC』が使われ、ロゴマークや関連会社の名前などにも「NEC」が用いられている。 住友電気工業と兄弟会社で、同社及び住友商事とともに住友新御三家の一角であるが、住友の象徴である井桁マークは使用していない。.

新しい!!: 分岐命令と日本電気 · 続きを見る »

ここにリダイレクトされます:

ジャンプ命令条件付分岐条件分岐

出ていきます入ってきます
ヘイ!私たちは今、Facebook上です! »