電子書籍の厳選無料作品が豊富!

コンピュータには論理回路というものがあって直列と並列で「AND」と「OR」を表現できるということは理解できたのですが、

外部からの入力(キーボード入力やファイルのダウンロードや何かのインストール)というのは全て、この論理回路のスイッチのオンオフを切り替えるためにやってるんですか?

回路の形自体を変える(たとえば直列の部分を並列にしたりそれまでと全然違う部分同士をつなげたり)のは、物理的に分解して手を加えないとできないんですか?

(だとしたら最初に回路の形を決定した時点で、そのコンピュータでできることがある程度決まってしまうような気がするのですがそんなことはないのでしょうか)

A 回答 (3件)

基礎的なコンピュータではCPUとメモリの間がアドレスバスという複数の電線でつながっています。


例えば16桁なら16本の電線で65536通りの場所(番地=アドレス)を示すことができます。
CPU内部にPC(プログラムカウンタ)というレジスタがあり、このPCの値がアドレスバスの電線の状態に反映し、メモリから命令を読み出し、それに従ってCPUは命令に沿った動作をします。

PCは、通常プラス1加算され次の命令を読みに行きます。
命令が100番地に飛べという内容なら、PCの内容が100になり次は100番地から命令を読んでいきます。

これが基本的なコンピューターの動作です。
    • good
    • 0

> 外部からの入力(キーボード入力やファイルのダウンロードや何かのインストール)というのは全て、


> この論理回路のスイッチのオンオフを切り替えるためにやってるんですか?

ある意味ではそうです。

> 回路の形自体を変える(たとえば直列の部分を並列にしたりそれまでと全然違う部分同士をつなげたり
> )のは、物理的に分解して手を加えないとできないんですか?

そうです。ただし、現代のコンピュータはAND/OR等の基本的な論理回路を多数使ったLSIで構成されており、個々の論理回路を組み替えたりすることはありません。

> (だとしたら最初に回路の形を決定した時点で、そのコンピュータでできることがある程度決まってし
> まうような気がするのですがそんなことはないのでしょうか)

そんなことはありません。
コンピュータには、CPUやメモリがあるというのをお聞きになったことはありませんか?
CPUが計算を行う部分で、メモリはプログラムやデータを格納する部分です。
メモリが書換え可能なので、好きなプログラムをコンピュータに実行させることができます。

CPUもメモリも、ANDやORなどの基本的な論理回路を組み合わせてできたものだと思っていただいて結構です。

ちなみに、フリップフロップという1ビットの記憶を行うことのできる論理回路があります。
パソコンなどに搭載されているメモリは、これと同じようなものが多数集まってできている訳です。

https://ja.wikipedia.org/wiki/フリップフロップ
    • good
    • 0

>外部からの入力(キーボード入力やファイルのダウンロードや何かのインストール)というのは


>全て、この論理回路のスイッチのオンオフを切り替えるためにやってるんですか?
うーん合ってる場合もなくもないですが大部分は違います。

キーボードからの信号入力、ファイルのダウンロードというのは
ハードウェアの範疇から外れ、ソフトウェア、ファームウェアという範疇のことです。

>回路の形自体を変えるのは、物理的に分解して手を加えないとできないんですか?
ほぼその通りです。

世の中、進歩していて
「プログラミング可能なハードウェアデバイス」というモノが存在します。
LSI化され、内部には「いろいろ実現できるハードウェア」が作りこまれていて
それらの結線を外部からプログラミングすることで色々なハードウェアを実現するものです。

(技術が進歩しすぎていて、かつての「ハードウェア」vs「ソフトウェア」に二分されていたのに
部分的に融合する技術が発達してきてその仕切りが曖昧になってるのが現状です。

デバイス名で言えば
PLA(プログラマブルロジックデバイス)
PGA(プログラマブルゲートアレイ)
製造時にプログラミングされ、以後はそのままです。

更に
FPGA(フィールドプログラマブルゲートアレイ)
という
現場から機器を移動させずに変更可能(それなりの設備やインフラは必要)
スグレモノなデバイスもあります。

十数年前のハナシなので現在は更に発達してるでしょう。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!