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

抽象機械

索引 抽象機械

抽象機械(抽象コンピュータとも呼ばれる)は、オートマトンで利用される、コンピュータハードウェアやソフトウェアシステムの理論上モデルである。 計算処理の抽象化は、計算機科学と計算機工学の両方の分野で行われ、通常は離散時間パラダイムを仮定している。.

25 関係: ABC (プログラミング言語)仮想機械仕様及び記述言語ノイマン型マイクロプロセッサチューリング完全チューリングマシンハーバード・アーキテクチャレジスタ (コンピュータ)レジスタマシンパラダイム命令セットインタプリタオートマトンキャッシュメモリコンピュータ神託機械計算複雑性理論MMIXPrologSECDマシン抽象化 (計算機科学)有限オートマトン文脈自由文法思考実験

ABC (プログラミング言語)

ABC は、オランダのCWI(Centrum Wiskunde & Informatica)で開発された命令型汎用プログラミング言語およびその統合開発環境である。主な開発者は、Leo Geurts, Lambert Meertens, Steven Pemberton。対話型で構造化された高級言語であり、習得と利用が容易にできるように、またBASIC, Pascal, AWKなどの代替となることを意図して設計された。システムの記述用というよりは、プログラミング教育用やプロトタイピングでの利用に焦点を当てて設計されている。ABCは、Pythonの設計に強い影響を与えた。.

新しい!!: 抽象機械とABC (プログラミング言語) · 続きを見る »

仮想機械

仮想機械(かそうきかい、仮想マシン、バーチャルマシン、virtual machine、VM)とは、コンピュータの動作をエミュレートするソフトウェアやフレームワークである。また、エミュレートされた仮想のコンピュータそのものも仮想機械という。仮想機械によって、1つのコンピュータ上で複数のコンピュータやOSを動作させたり、別のアーキテクチャ用のソフトウェアを動作させることができる。.

新しい!!: 抽象機械と仮想機械 · 続きを見る »

仕様及び記述言語

仕様及び記述言語(しようおよびきじゅつげんご、SDL: Specification and Description Language)は、システムの仕様を記述するための言語であり、曖昧さのない仕様記述を実現するために作られた。主な対象は受動的な分散システムである。.

新しい!!: 抽象機械と仕様及び記述言語 · 続きを見る »

ノイマン型

ノイマン型(-がた、von Neumann architecture)は、コンピュータの基本的な構成法のひとつである。今日では基本的なコンピュータ・アーキテクチャのひとつとされるが、そもそもコンピュータの要件とされることもあり、このあたりの定義は循環的である。 プログラム内蔵方式のディジタルコンピュータで、CPU(中心となるプロセッサ、今日では一つの部品としてまとめて考えることが多いが、オリジナルの報告書では制御装置と演算装置に分けている)とアドレス付けされた記憶装置とそれらをつなぐバスを要素に構成され、命令(プログラム)とデータを区別せず記憶装置に記憶する。 プログラムカウンタを構成要素に含め、またより抽象的なモデルにおける命令スケジューラの実装とみることがある。また、今日では、演算などの命令の実行は演算装置を含む実行ユニットで行われる、というように考えられることもある。 オリジナルの報告書では、入出力について特別に扱っているが、今日の視点からではメモリマップドI/Oを考えれば特に必要ない。また、バスは、報告書では明示的に数え上げてはいないが(言及はある)、今日ではフォン・ノイマン・ボトルネックのように明確に認識される存在である。 ノイマン型の名は、最初にこれを広めたEDVACに関する報告書 w:First Draft of a Report on the EDVAC(1945)の著者がジョン・フォン・ノイマン(ひとり)になっていることに由来する。誰がなんのためにそうしたかについては諸説ある。このアイディア、特にプログラム内蔵方式のアイディアは、ジョン・モークリーとジョン・エッカートによるENIACのプロジェクト中の検討にその芽があった。ノイマンは(理論的な、とされる)助言役として加わり、執筆者はノイマンであった。誰にどのような功績があったかは諸説ある。 この方式について、以後のコンピュータ研究開発に大きな影響を与えた1946年夏のムーアスクールで講義したのは、ノイマンではなくモークリーとエッカートであったし、ノイマン型という用語は不当だとして、使わない者もいる。一方で、EDSACの設計・建造者であるモーリス・ウィルクスは、ENIACが軍事機密の下にあった時に、ノイマンの草稿がその保護に入らず、多くの人がノイマンを発明者だとみなしたことは不公平な結果だったとし、ノイマンの参加以前に本質的な先進があった、としながらも、数値データと命令を同じ記憶装置の中に置くのは不自然である、とか、そのために必要な遅延記憶装置は信頼性に欠ける、といった、新規技術への疑念に対し、物理学者として、また数学者(計算理論)として、ノイマンが計算機の潜在能力を見抜き、信望と影響力を行使したことは重要だった、とも述べている。.

新しい!!: 抽象機械とノイマン型 · 続きを見る »

マイクロプロセッサ

マイクロプロセッサ(Microprocessor)とは、コンピュータなどに搭載される、プロセッサを集積回路で実装したものである。 マイクロプロセッサは小型・低価格で大量生産が容易であり、コンピュータのCPUの他、ビデオカード上のGPUなどにも使われている。また用途により入出力などの周辺回路やメモリを内蔵するものもあり、一つのLSIでコンピュータシステムとして動作するものを特にワンチップマイコンと呼ぶ。マイクロプロセッサは一つのLSIチップで機能を完結したものが多いが、複数のLSIから構成されるものもある(チップセットもしくはビットスライスを参照)。 「CPU」、「プロセッサ」、「マイクロプロセッサ」、「MPU」は、ほぼ同義語として使われる場合も多い。本来は「プロセッサ」は処理装置の総称、「CPU」はシステム上で中心的なプロセッサ、「マイクロプロセッサ」および「MPU(Micro-processing unit)」はマイクロチップに実装されたプロセッサである。本項では、主にCPU用のマイクロプロセッサについて述べる。 当初のコンピュータにおいて、CPUは真空管やトランジスタなどの単独素子を大量に使用して構成されたり、集積回路が開発されてからも、たくさんの集積回路の組み合わせとして構成されてきた。製造技術の発達、設計ルールの微細化が進むにつれてチップ上に集積できる素子の数が増え、一つの大規模集積回路にCPU機能を納めることが出来るようになった。汎用のマイクロプロセッサとして最初のものは、1971年にインテルが開発したIntel 4004である。このマイクロプロセッサは当初電卓用に開発された、性能が非常に限られたものであったが、生産や利用が大幅に容易となったため大量に使われるようになり、その後に性能は著しく向上し、価格も低下していった。この過程でパーソナルコンピュータやRISCプロセッサも誕生した。ムーアの法則に従い、集積される素子数は増加し続けている。現在ではマイクロプロセッサは、大きなメインフレームから小さな携帯電話や家電まで、さまざまなコンピュータや情報機器に搭載されている。.

新しい!!: 抽象機械とマイクロプロセッサ · 続きを見る »

チューリング完全

計算理論において、ある計算のメカニズムが万能チューリングマシンと同じ計算能力をもつとき、その計算モデルはチューリング完全(チューリングかんぜん、Turing-complete)あるいは計算完備であるという。 チャーチ=チューリングのテーゼによれば「計算可能関数」は、それを計算しようとする計算モデルがチューリング完全であれば計算できる。 一般的なプログラミング言語の背景にある計算モデルの多くはチューリング完全である。一見単純な機能しか持たない言語がチューリング完全な例としては、Lazy K、Brainfuckなどがある。究極的に単純な計算モデルとしては「がチューリング完全であると証明されている。 チューリング完全かどうかという事は、計算可能性理論の問題である。計算複雑性の分野の問題である時間や記憶容量の消費量については考えない。表計算における数式の処理などで、繰り返し処理を「どうやっても実現できなければ」それはチューリング完全ではない。 コンピュータ言語のうち、少なくともチューリング完全でなければプログラミング言語とは呼ばれない。逆にチューリング完全であるにも関わらず慣例的にプログラミング言語とは呼ばれないものもある。.

新しい!!: 抽象機械とチューリング完全 · 続きを見る »

チューリングマシン

チューリングマシン (Turing Machine) は計算模型のひとつで、計算機を数学的に議論するための単純化・理想化された仮想機械である。.

新しい!!: 抽象機械とチューリングマシン · 続きを見る »

ハーバード・アーキテクチャ

ハーバード・アーキテクチャの図 ハーバード・アーキテクチャとは、命令用とデータ用に物理的に分割された記憶装置と信号通路を持ち、命令用とデータ用で主記憶のアドレス空間が分かれているコンピュータ・アーキテクチャのことで、ノイマン型アーキテクチャと対比される。.

新しい!!: 抽象機械とハーバード・アーキテクチャ · 続きを見る »

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

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

新しい!!: 抽象機械とレジスタ (コンピュータ) · 続きを見る »

レジスタマシン

レジスタマシン(英: Register machine)とは、数理論理学や理論計算機科学で使われる汎用計算模型の一種であり、チューリングマシンと似たような使われ方をされる。レジスタマシンのモデルは全てチューリング等価である。 また、スタックマシンの対として、オペランドがレジスタである機械を指してもレジスタマシンと言う。実機ではほとんどにあてはまるのでわざわざ言わないが、仮想機械では、たとえばLua 5の仮想機械を指して使われる。.

新しい!!: 抽象機械とレジスタマシン · 続きを見る »

パラダイム

パラダイム (paradigm) とは、科学史家・科学哲学者のトーマス・クーンによって提唱された、科学史及び科学哲学上の概念。一般には「模範」「範」を意味する語だが、1962年に刊行されたクーンの『科学革命の構造(The structure of scientific revolutions)』で科学史の特別な用語として用いられたことで有名になった。しかし、同時に多くの誤解釈や誤解に基づく非難に直面したこと、また、概念の曖昧さなどの問題があったために、8年後の1970年に公刊された改訂版では撤回が宣言され、別の用語で問題意識を再定式化することが目指された。 本記事では、撤回の宣言を踏まえつつも、クーン本来の問題関心を明らかにするため、再定式化に用いられた専門図式(disciplinary matrix)の概念も含めて記述する。.

新しい!!: 抽象機械とパラダイム · 続きを見る »

命令セット

命令セット(めいれいせっと、instruction set)は、コンピュータのハードウェアに対して命令を伝えるための言葉の語彙。.

新しい!!: 抽象機械と命令セット · 続きを見る »

インタプリタ

インタプリタ(interpreter)とは、プログラミング言語で書かれたソースコードないし中間表現を逐次解釈しながらするプログラムのこと。.

新しい!!: 抽象機械とインタプリタ · 続きを見る »

オートマトン

ートマトン (単数形: automaton, 複数形: オートマタ(automata )) とは、自動人形などとも呼ばれる「オートマタ」と同じ語であるが、計算理論において、計算モデルに関して有限オートマトンなどの総称として使われる。また特に「オートマトン理論」と呼ばれる分野では、計算機械のうち計算可能性の点でチューリングマシンよりも制限されているものを特に指して言うこともある。.

新しい!!: 抽象機械とオートマトン · 続きを見る »

キャッシュメモリ

ャッシュメモリ は、CPUなど処理装置がデータや命令などの情報を取得/更新する際に主記憶装置やバスなどの遅延/低帯域を隠蔽し、処理装置と記憶装置の性能差を埋めるために用いる高速小容量メモリのことである。略してキャッシュとも呼ぶ。コンピュータは以前から記憶装置や伝送路の性能が処理装置の性能に追いつけず、この差が全体性能に対するボトルネックとされてきた(ノイマンズ・ボトルネック)。そしてムーアの法則に基づく処理装置の加速度的な高性能化により現在ではますますこの差が拡大されている。キャッシュメモリは、記憶階層の観点からこれを解消しようとするものである。 主に、主記憶装置とCPUなど処理装置との間に構成される。この場合、処理装置がアクセスしたいデータやそのアドレス、状態、設定など属性情報をコピーし保持することで、本来アクセスすべき記憶装置に代わってデータを入出力する。通常はキャッシュメモリが自動的にデータ保存や主記憶装置の代替を行うため、基本的にCPUのプログラムなど処理装置側がキャッシュメモリを意識する必要はない。 キャッシュの一般的な概念はキャッシュ (コンピュータシステム)を参照のこと。.

新しい!!: 抽象機械とキャッシュメモリ · 続きを見る »

コンピュータ

ンピュータ(Computer)とは、自動計算機、とくに計算開始後は人手を介さずに計算終了まで動作する電子式汎用計算機。実際の対象は文字の置き換えなど数値計算に限らず、情報処理やコンピューティングと呼ばれる幅広い分野で応用される。現代ではプログラム内蔵方式のディジタルコンピュータを指す場合が多く、特にパーソナルコンピュータやメインフレーム、スーパーコンピュータなどを含めた汎用的なシステムを指すことが多いが、ディジタルコンピュータは特定の機能を実現するために機械や装置等に組み込まれる組み込みシステムとしても広く用いられる。電卓・機械式計算機・アナログ計算機については各項を参照。.

新しい!!: 抽象機械とコンピュータ · 続きを見る »

神託機械

託機械(しんたくきかい、oracle machine)または預言機械(よげんきかい)は、計算複雑性理論や計算可能性理論における抽象機械の一種であり、決定問題の研究で使われる。チューリングマシンに神託(oracle)と呼ばれるブラックボックスが付加されたものであり、そのブラックボックスは特定の決定問題を1ステップで決定可能である。チューリングマシンの停止問題のような決定不能な問題にも神託機械を想定することができる。.

新しい!!: 抽象機械と神託機械 · 続きを見る »

計算複雑性理論

計算複雑性理論(けいさんふくざつせいりろん、computational complexity theory)とは、計算機科学における計算理論の一分野であり、アルゴリズムのスケーラビリティや、特定の計算問題の解法の複雑性(計算問題の困難さ)などを数学的に扱う。計算量理論、計算の複雑さの理論、計算複雑度の理論ともいう。.

新しい!!: 抽象機械と計算複雑性理論 · 続きを見る »

MMIX

MMIX(エムミックス)は、ドナルド・クヌースがジョン・ヘネシー(MIPSプロセッサ設計者)や Dick Sites(Alphaプロセッサ設計者)の協力を得て設計した命令セット(命令セットアーキテクチャ、ISA)である。コンピュータプログラミングの「Art」を記している大著The Art of Computer Programming (TAoCP) において使用していた「MIX」の代替となるべく設計され、現代的な特徴を持つ。当命令セットを設計した後に執筆・改訂の TAoCP にて既に使用されている。 "MMIX" という綴りはローマ数字として解釈すると2009であり、前任のMIXの頭にMを付けたものであると同時に、2000年代のコンピュータ(プロセッサ)という意味を掛けているものと思われる(とはいえ、MIXの時の「実在のコンピュータ 16 種の型番から取って平均した」値の1009である、という主張にはかなりこじつけの気配があったのと同様、特に意味があるものではない)。.

新しい!!: 抽象機械とMMIX · 続きを見る »

Prolog

Prolog(プロログ)は、非手続き型プログラミング言語の一つ。論理型言語に分類される。名称は、「論理を使ったプログラミング」を意味するフランス語「programmation en logique」に由来しているRobert Kowalski.

新しい!!: 抽象機械とProlog · 続きを見る »

SECDマシン

SECDマシンとは、関数型言語のコンパイラのターゲット(目的機械)を意図し、後に大きな影響を与えた抽象機械である。SECD は Stack(スタック)、Environment(環境)、Code(コード)、Dump(ダンプ)の略であり、それぞれ仮想機械にあるレジスタの名称となっている。これらのレジスタはメモリ上の連結リストを指している。 Peter J. Landinの考案によるもので、1964年のComputer Journal誌が初出である。ラムダ計算式を評価するものだが、Landin の発表した説明は非常に抽象的で、(操作的意味論のように)実装にかなりの自由度が与えられていた。SECDマシンはより詳細化された形態で説明されることが多く、例えば Peter Henderson の Lispkit Lisp コンパイラは SECDマシンをベースとして1980年に登場している。以降、いくつかの実験的コンパイラが SECDマシンをターゲットとして使用してきた。また、ISWIMを提案した "The Next 700 Programming Languages" でも参考文献として挙げられている。 1989年、カルガリー大学の研究者がSECDマシンをハードウェアで実装する研究を行った。.

新しい!!: 抽象機械とSECDマシン · 続きを見る »

抽象化 (計算機科学)

抽象化(ちゅうしょうか、Abstraction)は、計算機科学において詳細を捨象し、一度に注目すべき概念を減らすことおよびその仕組みである。 この概念は数学における「抽象化」からのアナロジーである。数学での抽象化技法の起源は数学的定義である。例えば、コンピュータでも数学でも、数はプログラミング言語上の概念であり、数学上の概念でもある。数の計算概念は数学の概念に基づいているため、実装の詳細はハードウェアとソフトウェアに依存したとしても、それが制約とはならない。 大まかに言えば、抽象化は制御抽象化とデータ抽象化に分けられる。制御抽象化は動作の抽象化であり、データ抽象化はデータ構造の抽象化である。例えば、構造化プログラミングでの制御抽象化とは、サブプログラムや定式化された制御フローの使用を意味する。データ抽象化とは、本来ビット列であるデータを意味のある方法で扱うことを意味する。例えば、データ型の背景にある動機は抽象化である。オブジェクト指向プログラミングはデータとコードを同時に抽象化する試みと見ることもできる。.

新しい!!: 抽象機械と抽象化 (計算機科学) · 続きを見る »

有限オートマトン

有限オートマトン(finite automaton)または有限状態機械(finite state machine, FSM)とは、有限個の状態と遷移と動作の組み合わせからなる数学的に抽象化された「ふるまいのモデル」である。デジタル回路やプログラムの設計で使われることがあり、ある一連の状態をとったときどのように論理が流れるかを調べることができる。有限個の「状態」のうち1つの状態をとる。ある時点では1つの状態しかとらず、それをその時点の「現在状態」と呼ぶ。何らかのイベントや条件によってある状態から別の状態へと移行し、それを「遷移」と呼ぶ。それぞれの現在状態から遷移しうる状態と、遷移のきっかけとなる条件を列挙することで定義される。 有限オートマトンは様々な問題に応用でき、半導体設計の自動化、通信プロトコル設計、構文解析などの工学面での応用がある。生物学や人工知能研究では状態機械(群)を使って神経系をモデル化し、言語学では自然言語の文法をモデル化したりする。.

新しい!!: 抽象機械と有限オートマトン · 続きを見る »

文脈自由文法

文脈自由文法(ぶんみゃくじゆうぶんぽう、Context-free Grammar、CFG)は、形式言語の理論(特に、生成文法)において全生成規則が以下のようである形式文法である。 ここで V は非終端記号であり、w は終端記号と非終端記号の(0個を含む)任意個の並びである。「文脈自由」という用語は前後関係に依存せずに非終端記号 V を w に置換できる、という所から来ている(「文脈無用」という訳の提案もある)。文脈自由文法によって生成される形式言語を文脈自由言語という。.

新しい!!: 抽象機械と文脈自由文法 · 続きを見る »

思考実験

思考実験 (しこうじっけん、英 thought experiment、独 Gedankenexperiment)とは、頭の中で想像するだけの実験。科学の基礎原理に反しない限りで、極度に単純・理想化された前提(例えば摩擦のない運動、収差のないレンズなど)により遂行される。.

新しい!!: 抽象機械と思考実験 · 続きを見る »

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