質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
CPU

CPUは、コンピュータの中心となる処理装置(プロセッサ)で中央処理装置とも呼ばれています。プログラム演算や数値計算、その他の演算ユニットをコントロール。スマホやPCによって内蔵されているCPUは異なりますが、処理性能が早いほど良いとされています。

OS

OS(オペレーティングシステム)は、システムソフトウェアの一種であり、一般的に、ハードウェアを直接的に管理・操作する最も中心的な機能を有するソフトウェアがオペレーティングシステムとして呼ばれます。

アーキテクチャ

アーキテクチャとは、情報システム(ハードウェア、OS、アプリケーション、ネットワーク等)の設計方法、設計思想、設計思想に基づいて構築されたシステム構造をアーキテクチャと呼びます

Q&A

解決済

7回答

877閲覧

CPU/OSはどのようにトランジスタを制御しているのでしょうか

yuta.k

総合スコア23

CPU

CPUは、コンピュータの中心となる処理装置(プロセッサ)で中央処理装置とも呼ばれています。プログラム演算や数値計算、その他の演算ユニットをコントロール。スマホやPCによって内蔵されているCPUは異なりますが、処理性能が早いほど良いとされています。

OS

OS(オペレーティングシステム)は、システムソフトウェアの一種であり、一般的に、ハードウェアを直接的に管理・操作する最も中心的な機能を有するソフトウェアがオペレーティングシステムとして呼ばれます。

アーキテクチャ

アーキテクチャとは、情報システム(ハードウェア、OS、アプリケーション、ネットワーク等)の設計方法、設計思想、設計思想に基づいて構築されたシステム構造をアーキテクチャと呼びます

0グッド

1クリップ

投稿2019/09/01 10:43

前提

・プログラミングではなく、コンピュータの根本的な仕組みに関する質問です。

詳細

■分かっていること
・メモリや加算器などコンピュータを構成する多くのコンポーネントは論理ゲートで構成されている
・論理ゲートはトランジスタで構成されている
・トランジスタは電流によってon/offを切り替えられるスイッチとして論理値を制御する

■分からないこと
1)トランジスタの電流制御とは、具体的にどのように為されているのか?
-ソフトウェアが物理的な電流値をどのように制御することができるのか、というところがピンときていません

2)トランジスタ制御の主体はOSでしょうか、それともCPUでしょうか。
-答えはおそらくどちらもだと思いますが、OSとCPUがそれぞれどのような役割分担をしているのかがわかりません

■備考
teratail初利用です。
質問の仕方など不適切な点があればご指摘いただけますと嬉しいです。
どうぞよろしくお願いいたします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答7

0

(推敲していたら解決してしまいましたがせっかく書いたので)

・前提について。

・メモリや加算器などコンピュータを構成する多くのコンポーネントは論理ゲートで構成されている

まあOK。ただしメモリは論理ゲートでない素のトランジスタやトランジスタ以外のコンデンサなども使います。

・論理ゲートはトランジスタで構成されている

現代の一般的なコンピュータに限ってのことであれば、OK。

・トランジスタは電流によってon/offを切り替えられるスイッチとして論理値を制御する

違います。現代のCPUに使われているCMOS FETは電流ではなく電圧で制御します。
が、本質ではないのでそこまで間違ってはいません。

・質問について。
設問の立て方に違和感があります。
「(OSを含む)ソフトウェアがCPU上で動いている」こと = 「トランジスタのON/OFFを切り替えること」です。
トランジスタ制御とはCPU上のソフトウェアの動作そのものであり、何かがトランジスタを制御するという考え方は変です。
人間の脳に例えるなら、「脳の電気信号を制御しているのは意識か、神経細胞か」というのと同様に感じます。

たぶん、あなたが分かっていないのは「プログラムが動くとは、具体的に論理回路がどう動いていることなのか」です。
「組み合わせ回路・順序回路の区別」や、「プログラムカウンタ」「命令のフェッチ・デコード・実行」がどのように論理回路で実現されるか、あたりがポイントですかね。

投稿2019/09/02 00:32

ikadzuchi

総合スコア3047

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

yuta.k

2019/09/02 13:30

「電気信号が意識を作り出しており、電気信号は意識そのものとも言える」という文言は(正否は別として)共感しうるものですが、「トランジスタ制御がOSを作り出しており、トランジスタ制御がOSそのものと言える」とは言えません。 「意識がなくとも電気信号は発生しうる」(例えば虫に意識があるかはわかりませんが、電気信号は発生してる気がします) 「OSが無ければトランジスタ制御は出来ない」 というのが、現在の私の知識レベルでの考えです。 「機械語の1が、フリップフロップの1に変わる時、何が起きているのか?」ということが知りたいです。 おそらく的外れな部分も多々あるはずですが、私の疑問はソフトウェアがハードウェアと接する点でのメカニズムにあると思っています。 丁寧にご回答いただき、ありがとうございました。
guest

0

ベストアンサー

CPU/OSはどのようにトランジスタを制御している

OSにとって、そんな事はどうでもよい事。既にy_waiwaiさんの回答にあるように、まあ、生物にとっての一つの細胞でしょうか。それと、チップの中身は、トランジスタでななく、FET(電界効果トランジスタ....トランジスタ?) なんで、電流制御でなく、電圧制御です。

トランジスタの電流制御とは、具体的にどのように為されているのか?

これは、CPU設計では大切でしょうが、OSからはどうでもよい事。

トランジスタ制御の主体はOSでしょうか、それともCPUでしょうか。

当然ながら、CPU。ただし、通常使用で考慮すべきことではなく、CPU設計内部と話しと思います。(CPUの設計は詳しくないので、詳細は知らない)

おっと、トランジスタと言うより、FETというべきでしょうが、まあ大差無いでしょうか。 どちらにしても、プログラムとは直接、関係ない話となります。電子工学とか、回路設計レベルの話ではないかと思います。或いは、CPUを極限まで使う場合は、考慮が必要かもしれませんが。

投稿2019/09/01 11:46

pepperleaf

総合スコア6383

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

クルマの運転をするというときに、歯車がどう動かされているのか?
というのと同じように、それは意味のない問いになってます。

まあ、イマドキのCPUはトランジスタといってもほぼ全てMOS-FETになってますが、
MOSFETが集まってスイッチング回路が構成され、それが集まって論理回路が構成され、それが集まってメモリやレジスタやALUやいろんな制御回路が構成されて、それがまとまってCPUとなります。

まあいわば、トランジスタ単体というのは細胞の一つ、と考えればいいんじゃないでしょうか。

投稿2019/09/01 11:23

y_waiwai

総合スコア87719

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

yuta.k

2019/09/01 22:36

ソフトウェアとハードウェアが接続する地点を知りたいと思ってしまいました。 ご回答ありがとうございます。
sage

2019/09/02 08:52

ソフトウェアとハードウェアが接続する地点は機械命令です。
guest

0

ルネサスのページRenesas Engineer Schoolに電子素子レベルの説明があります。

投稿2019/09/02 09:38

sage

総合スコア1216

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

そのようなことが気になるのであれば、「CODE - コードから見たコンピュータのからくり -」のような本を読むことをおすすめします。信号伝達から徐々に進んでいって、いつの間にかコンピューターと呼べる域まで話が進んでいきます。

投稿2019/09/01 11:28

maisumakun

総合スコア145123

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

yuta.k

2019/09/01 22:34

まさにこの本を読んでいての疑問でした。 ありがとうございます。
guest

0

「意識は、どうやって、個々の細胞を制御しているのでしょう?」という質問に似ていますね。

トランジスタ制御の主体はOSでしょうか、それともCPUでしょうか。

かなり的外れなので、コンピューターの仕組みについての本などを読みましょう。

Amazon「CPU 自作」の、「CPUの創りかた」「動かしてわかる CPUの作り方10講」「CPU自作入門 HDLによる論理設計・基板製作・プログラミング」とかを読むとさらにわかると思います。

投稿2019/09/01 11:27

otn

総合スコア84423

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

yuta.k

2019/09/01 22:38

>かなり的外れなので、コンピューターの仕組みについての本などを読みましょう。 的外れなことを言っていると気づけることで、先に進むことが出来ました。 ご指摘いただきありがとうございます。コンピュータの仕組みについての本を読んでみます。
guest

0

すごく雑な説明ですが

トランジスタって電気で操作できるスイッチですね。スイッチがさらに別のスイッチを操作して…とかどんどんやってるとすごく複雑なことできます。

例えば、「電源入ると記憶媒体の特定の位置からデータ読む回路」だって作れます。
この「データを読む」って電気信号の形で回路のどこかしらの入力にぶち込むってことです。

ということは、
「電源が入ったら特定の場所からデータを読み込んで、その読み込んだデータでなにか動く回路」が作れるんですよ

で、「読み込んだデータのパターンによって次何するか分岐してまたデータ読む回路」を作っておけば
記録されているデータによって動作を変えられる機械が作れますね。

はい、CPUとソフトウェアです。

投稿2019/09/02 14:18

ozwk

総合スコア13512

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問