「演算装置」の版間の差分
m link: 74181 |
Narmas-Tomo (会話 | 投稿記録) 簡素化。 タグ: 差し戻し済み ビジュアルエディター |
||
1行目: | 1行目: | ||
{{出典の明記|date=2013年12月29日 (日) 10:54 (UTC)}} |
{{出典の明記|date=2013年12月29日 (日) 10:54 (UTC)}} |
||
'''演算装置'''(えんざんそうち)は、[[コンピュータ]]([[プロセッサ]])の構成要素の |
'''演算装置'''(えんざんそうち)は、[[コンピュータ]]([[プロセッサ]])の構成要素の1つ。[[論理演算]]や[[四則演算]]などの演算をする装置。 |
||
== |
== Arithmetic Logic Unit == |
||
[[Image:ALU symbol.svg|thumb|right|200px|ALUを表す記号。AとBは入力(オペランド)でRが演算結果。Fは[[制御装置|制御部]]からの入力で、Dは出力ステータス。]] |
[[Image:ALU symbol.svg|thumb|right|200px|ALUを表す記号。AとBは入力(オペランド)でRが演算結果。Fは[[制御装置|制御部]]からの入力で、Dは出力ステータス。]] |
||
''' |
'''Arithmetic''' '''Logic''' '''Unit'''は、主な演算装置の1つ。[[論理演算]]・[[加算]]・[[減算]]をする。漢字を当て'''算術論理演算装置'''(さんじゅつろんりえんざんそうち)とも言う。略称は'''ALU'''。 |
||
<!--↓これは加算器 |
<!--↓これは加算器またはコンピュータ全体の方式の話--><!-- |
||
現在のコンピュータのALUは[[2の補数]]表現を使 |
現在のコンピュータのALUは[[2の補数]]表現を使う(初期のコンピュータには[[符号付数値表現|1の補数]]を使ったり、[[符号付数値表現|符号-仮数部]]形式を使った)。 |
||
--> |
--> |
||
=== ALUの動作 === |
=== ALUの動作 === |
||
以下、[[74181]]を例にALUの動作を説明する。 |
以下、[[74181]]を例にALUの動作を説明する。 |
||
コンピュータでは、コンピュータ |
コンピュータでは、コンピュータを使う目的の計算以外に、アドレスの計算などの目的で加算が多用される。そのため、速い[[加算器]]が重要で、桁上げ先読み加算器が使われる。この時、桁上げ先読みのため、入力の全桁のそれぞれについて論理和と論理積のゲートが必要であり、出力の全桁について排他的論理和が必要である。 |
||
そのため |
そのため回路を工夫し、速い加算器と、任意の論理演算のための装置を上手くまとめられる。それがALUである。 |
||
74181の場合、2個の4ビットの処理すべきデータ([[被演算子|オペランド]]と呼ぶ)とキャリー入力を受け取り、[[オペコード]]に基づく[[制御装置]]あるいは[[実行ユニット]]からの5ビットの入力に従って望む演算が |
74181の場合、2個の4ビットの処理すべきデータ([[被演算子|オペランド]]と呼ぶ)とキャリー入力を受け取り、[[オペコード]]に基づく[[制御装置]]あるいは[[実行ユニット]]からの5ビットの入力に従って望む演算がされ、1個の4ビットの出力と、キャリー出力、高速桁上げのためのキャリー生成とキャリー伝播の出力が生成される(詳細は回路図があるデータシートを参照のこと)。加算器で減算できることについては[[加算器]]の記事を参照。 |
||
一般に、キャリーの状態などは、専用のレジスタ([[ステータスレジスタ]])または汎用レジスタの特定のビットとして、演算装置に入出力されるプロセッサが多い。 |
一般に、キャリーの状態などは、専用のレジスタ([[ステータスレジスタ]])または汎用レジスタの特定のビットとして、演算装置に入出力されるプロセッサが多い。 |
2022年10月7日 (金) 02:31時点における版
演算装置(えんざんそうち)は、コンピュータ(プロセッサ)の構成要素の1つ。論理演算や四則演算などの演算をする装置。
Arithmetic Logic Unit
Arithmetic Logic Unitは、主な演算装置の1つ。論理演算・加算・減算をする。漢字を当て算術論理演算装置(さんじゅつろんりえんざんそうち)とも言う。略称はALU。
ALUの動作
以下、74181を例にALUの動作を説明する。
コンピュータでは、コンピュータを使う目的の計算以外に、アドレスの計算などの目的で加算が多用される。そのため、速い加算器が重要で、桁上げ先読み加算器が使われる。この時、桁上げ先読みのため、入力の全桁のそれぞれについて論理和と論理積のゲートが必要であり、出力の全桁について排他的論理和が必要である。
そのため回路を工夫し、速い加算器と、任意の論理演算のための装置を上手くまとめられる。それがALUである。
74181の場合、2個の4ビットの処理すべきデータ(オペランドと呼ぶ)とキャリー入力を受け取り、オペコードに基づく制御装置あるいは実行ユニットからの5ビットの入力に従って望む演算がされ、1個の4ビットの出力と、キャリー出力、高速桁上げのためのキャリー生成とキャリー伝播の出力が生成される(詳細は回路図があるデータシートを参照のこと)。加算器で減算できることについては加算器の記事を参照。
一般に、キャリーの状態などは、専用のレジスタ(ステータスレジスタ)または汎用レジスタの特定のビットとして、演算装置に入出力されるプロセッサが多い。
その他の演算装置
など
除算や浮動小数点数の演算など、複雑な処理の実装には、直接ハードウェアで実装するには資源が多く必要なので、以下のような代替手段が取られることがある。機械語命令のエミュレートといった形で実装されることもある。
歴史
いわゆるノイマン型とされる計算機の構成についてジョン・フォン・ノイマンが書いた1945年の報告書『EDVACに関する報告書の第一草稿』(First Draft of a Report on the EDVAC)で、システムの各部分について述べた2章の§2.2において、第一に(primarily)計算機械(computer)であるから、加減乗除をはじめとする演算(operation)に特化した器官(organs)が必要である、と述べられている。また、文献中には the arithmetical and the logical control procedures of the device といった表現も見られる。
ここで「器官(organ)」という言葉が使われていることについては、当時、マカロックとピッツによるニューロンの形式化(1943年)や、(まだ発表前であったが)ノーバート・ウィーナーが『サイバネティックス』(1948年)において生物のようなはたらきを機械で実現するものとしてフィードバックを扱ったように、またノイマンの死後出版された著書『自己増殖するオートマトンの理論』に見られるような、生物の働きは機械で模倣できるのではないか、といった気勢からのものである。