コード密度とは? わかりやすく解説

コード密度

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2022/03/19 08:08 UTC 版)

命令セット」の記事における「コード密度」の解説

初期のコンピュータでは、メモリ高価容量少なかったため、メモリ上のプログラムサイズ削減することが重要な課題であった。そのため、ある作業をするのに要する命令列のサイズを「コード密度; code density」と呼び命令セット重要な特性1つとしていた。コード密度の高い命令セットでは、1つ命令一度いくつも機能実行できるようになっているそのような複雑な命令セットを持つコンピュータ (CISC) では、基本的な操作加算乗算サブルーチンへの分岐など)に加えて、メモリアクセス、レジスタインクリメントといった操作同時に行う。ソフトウェア実装命令セットではさらに複雑な命令存在するRISCは、メモリ低価格化に伴って登場した考え方であり、命令セット単純化することでコード密度は低下するRISCでは、各命令レジスタ同士加算などといった単純な操作しか行わない。 MISC (Minimal Instruction Set Computer) はスタックマシン一種であり、命令数は非常に少なく16から64種)、1ワード複数命令格納可能となっている。MISC実装にはチップ面積はごく小さくて済みFPGAマルチコアでの実装適している。コード密度はRISC同程度である(メモリ当たりの命令密度増加しているが、命令数が少ないため、より多くの命実行を必要とする)。例えば、FORTH言語実装したチップがある。 命令セット分類方法として、最も複雑な命令オペランド数で分類する方法がある(以下で、a、b、c はメモリアドレス、reg1 などはレジスタ意味する)。 0オペランド(ゼロアドレスマシン) - スタックマシンとも呼ばれ全てのオペランドスタックから取り出して使用する2つの数を加算する処理は4命令 (push a, push b, add, pop c) で行われる。 1オペランド - 初期のコンピュータでよく使われモデルで、1つオペランド使って処理をし、結果アキュムレータ格納する2つの数を加算する処理は3命令 (load a, add b, store c) で行われる。 2オペランド - RISCマシンのほとんどはここに分類されるCISCマシンもここに分類されるものが多い。RISC場合2つの数を加算する処理は4命令 (load a,reg1, load b,reg2, add reg1,reg2, store reg2,b) で行われる。 3オペランド - 一部CISCと、RISC の中ではごく一部に過ぎないRISC特徴を最も良く表すとされるRISC I、MIPS、RSIC-Vがここに分類されるCISC場合2つの数を加算する処理は1命令 (add a,b,c) で行われるか、より一般的には(3つのオペランドがあっても、メモリ指定できるのはそのうち2つであることが多いため)2命令 (move a,reg1, add reg1,b,c) で行われるRISC場合オペランド3つであってもメモリアクセスと加算別命令となるため、さらにロード命令ストア命令必要になるレジスタ32本なら、3つのオペランド指定するのに15ビット必要となり、必然的に命令サイズ32ビットそれ以上なければならない。 4以上 - 一部CISCでは3つ上のレジスタ指定してメモリアクセスを行う命令存在する。 コード密度を改善する機構として実行ファイル圧縮研究されてきた。関連する数上の概念としてコルモゴロフ複雑性がある。

※この「コード密度」の解説は、「命令セット」の解説の一部です。
「コード密度」を含む「命令セット」の記事については、「命令セット」の概要を参照ください。

ウィキペディア小見出し辞書の「コード密度」の項目はプログラムで機械的に意味や本文を生成しているため、不適切な項目が含まれていることもあります。ご了承くださいませ。 お問い合わせ



英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「コード密度」の関連用語

コード密度のお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



コード密度のページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
ウィキペディアウィキペディア
Text is available under GNU Free Documentation License (GFDL).
Weblio辞書に掲載されている「ウィキペディア小見出し辞書」の記事は、Wikipediaの命令セット (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。

©2025 GRAS Group, Inc.RSS