コンテンツにスキップ

英文维基 | 中文维基 | 日文维基 | 草榴社区

「演算装置」の版間の差分

出典: フリー百科事典『ウィキペディア(Wikipedia)』
削除された内容 追加された内容
簡素化。
口語的な編集、HTMLコメントの改ざんのため取り消し Narmas-Tomo (会話) による ID:91816715 の版を取り消し
タグ: 取り消し
1行目: 1行目:
{{出典の明記|date=2013年12月29日 (日) 10:54 (UTC)}}
{{出典の明記|date=2013年12月29日 (日) 10:54 (UTC)}}
'''演算装置'''(えんざんそうち)は、[[コンピュータ]]([[プロセッサ]])の構成要素の1[[論理演算]]や[[四則演算]]などの演算をする装置。
'''演算装置'''(えんざんそうち)は、[[コンピュータ]]([[プロセッサ]])の構成要素のひとで、[[論理演算]]や[[四則演算]]などの演算をおこなう装置である


== Arithmetic Logic Unit ==
== ALU ==
[[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'''('''A'''rithmetic '''L'''ogic '''U'''nit、漢字をあてて算術論理演算装置とも)代表的な演算装置で、[[論理演算]][[加算]]および[[減算]]をおこなう。
<!--↓これは加算器またはコンピュータ全体の方式の話--><!--
<!--↓これは加算器の話、ないしコンピュータ全体の方式の話--><!--
現在のコンピュータのALUは[[2の補数]]表現を使(初期のコンピュータには[[符号付数値表現|1の補数]]を使ったり[[符号付数値表現|符号-仮数部]]形式を使った)。
現在のコンピュータのALUは[[2の補数]]表現を使っている(初期のコンピュータには[[符号付数値表現|1の補数]]を使ったり[[符号付数値表現|符号-仮数部]]形式を使ったりした)。
-->
-->
=== ALUの動作 ===
=== ALUの動作 ===
以下、[[74181]]を例にALUの動作を説明する。
以下、[[74181]]を例にALUの動作を説明する。


コンピュータでは、コンピュータを使う目的の計算以外に、アドレスの計算などの目的で加算が多用される。そのため、速[[加算器]]が重要で、桁上げ先読み加算器が使われる。この時、桁上げ先読みのため入力の全桁のそれぞれについて論理和と論理積のゲートが必要であり、出力の全桁について排他的論理和が必要である。
コンピュータでは、コンピュータの利用目的としての計算以外に、アドレスの計算などの目的で加算が多用されるため、[[加算器]]が重要であり、桁上げ先読み加算器が使われる。この時、桁上げ先読みのためには入力の全桁のそれぞれについて論理和と論理積のゲートが必要であり、出力の全桁について排他的論理和が必要である。


そのため回路を工夫、速加算器と任意の論理演算のための装置を上手くまとめられる。それがALUである。
そのため回路を工夫することで加算器と任意の論理演算のための装置をうまひとつにまとめることができる。それがALUである。


74181の場合、2個の4ビットの処理すべきデータ([[被演算子|オペランド]]と呼ぶ)とキャリー入力を受け取り、[[オペコード]]に基づく[[制御装置]]あるいは[[実行ユニット]]からの5ビットの入力に従って望む演算がれ、1個の4ビットの出力と、キャリー出力、高速桁上げのためのキャリー生成とキャリー伝播の出力が生成される(詳細は回路図があるデータシートを参照のこと)。加算器で減算できることについては[[加算器]]の記事を参照。
74181の場合、2個の4ビットの処理すべきデータ([[被演算子|オペランド]]と呼ぶ)とキャリー入力を受け取り、[[オペコード]]に基づく[[制御装置]]あるいは[[実行ユニット]]からの5ビットの入力に従って望む演算が行われ、1個の4ビットの出力と、キャリー出力、高速桁上げのためのキャリー生成とキャリー伝播の出力が生成される(詳細は回路図があるデータシートを参照のこと)。加算器で減算できることについては[[加算器]]の記事を参照。


一般に、キャリーの状態などは、専用のレジスタ([[ステータスレジスタ]])または汎用レジスタの特定のビットとして、演算装置に入出力されるプロセッサが多い。
一般に、キャリーの状態などは、専用のレジスタ([[ステータスレジスタ]])または汎用レジスタの特定のビットとして、演算装置に入出力されるプロセッサが多い。

2022年10月7日 (金) 03:19時点における版

演算装置(えんざんそうち)は、コンピュータプロセッサ)の構成要素のひとつで、論理演算四則演算などの演算をおこなう装置である。

ALU

ALUを表す記号。AとBは入力(オペランド)でRが演算結果。Fは制御部からの入力で、Dは出力ステータス。

ALU(Arithmetic Logic Unit、漢字をあてて算術論理演算装置とも)は代表的な演算装置で、論理演算加算および減算をおこなう。

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年)において生物のようなはたらきを機械で実現するものとしてフィードバックを扱ったように、またノイマンの死後出版された著書『自己増殖するオートマトンの理論』に見られるような、生物の働きは機械で模倣できるのではないか、といった気勢からのものである。

関連項目