プログラムってなんで動くの?

プログラムってなんで動くの?

記事画像
1: 以下、名無しにかわりましてVIPがお送りします 2013/12/11 22:55:38 ID:ok44i40T0
プログラムを動かすためのプログラムが必要なんだよね?
そのプログラムを動かすためのプログラムを動かすためのプログラムはどうやって動いてんの?

2: 以下、名無しにかわりましてVIPがお送りします 2013/12/11 22:56:36 ID:3VlalT4M0
プログラムおじさんが動かしてるって死んだじっちゃんが言ってた

3: 以下、名無しにかわりましてVIPがお送りします 2013/12/11 22:56:59 ID:ok44i40T0
プログラムおじさんが死んだらどうなるの?

4: 以下、名無しにかわりましてVIPがお送りします 2013/12/11 22:57:18 ID:yIC4TUBw0
>>1
お前プログラムおじさん知らねーのかよ

5: 以下、名無しにかわりましてVIPがお送りします 2013/12/11 22:57:22 ID:Nvl/mjNF0
電気回路でスイッチ入れたり切ったりして

20: 以下、名無しにかわりましてVIPがお送りします 2013/12/11 23:10:24 ID:sip+fRGT0
究極的には>>5らしいがどうも腑に落ちないんだよな
各パーツの中に何億もの物理的なスイッチが設置されてるわけじゃないんでしょ?

26: 以下、名無しにかわりましてVIPがお送りします 2013/12/11 23:14:47 ID:01Ko1dZhi
>>20
電気的なスイッチ、電子回路ともいう
論理的な回路で、否定と肯定により成り立つ
全ての論理回路はNAND理論で表示可能

7: 以下、名無しにかわりましてVIPがお送りします 2013/12/11 22:58:48 ID:BGiqRoji0
プログラムはコンパイラーというプログラムで機械語に翻訳される
機械語となったプログラムはローダーというプログラムでメモリーにロードされ、命令コードを元にCPUが仕事をする

つまりコンパイラとローダーを作った人間は神

13: 以下、名無しにかわりましてVIPがお送りします 2013/12/11 23:03:22 ID:ok44i40T0
>>7
機械語って人間が作ったもんだよね?
コンピュータが機械語を理解するためのプログラムも必要なんじゃないか?
コンピュータが機械語を理解するためのプログラムも機械語で書かれてるのか??

16: 以下、名無しにかわりましてVIPがお送りします 2013/12/11 23:07:21 ID:BGiqRoji0
>>13
コンピューターが機械語を理解する必要はない
コンピューターは機械語の命令、
たとえばメモリーのどの場所を参照するかなどの命令を読んで、
それに従って動くのみ

10: 以下、名無しにかわりましてVIPがお送りします 2013/12/11 22:59:00 ID:9QWJkNyOi
俺も全然わからん

14: 以下、名無しにかわりましてVIPがお送りします 2013/12/11 23:03:56 ID:k1FDxJBli
夢と希望で動いてます

21: 忍法帖【Lv=24,xxxPT】(1+0:15) 2013/12/11 23:10:55 ID:hYWI2oVx0
cpuの創りかた読め
解決する

137: 以下、名無しにかわりましてVIPがお送りします 2013/12/12 01:03:35 ID:Ug0R+UBQ0
>>21
これ持ってるわ
パーツとか買うの面倒で挫折したけど

22: 以下、名無しにかわりましてVIPがお送りします 2013/12/11 23:11:33 ID:EueOYECy0
疑問は機械語をどうコンピュータが実行するかに
帰着されたわけね

23: 以下、名無しにかわりましてVIPがお送りします 2013/12/11 23:12:32 ID:ok44i40T0
ピタゴラスイッチみたいな感じなのだろうか

27: 以下、名無しにかわりましてVIPがお送りします 2013/12/11 23:16:07 ID:TUXpAM4w0
そもそもなんで機械が動くんだろ
一番最初にコンピュータ作った奴ってどういう理論で作り始めたの?

28: 以下、名無しにかわりましてVIPがお送りします 2013/12/11 23:16:46 ID:01Ko1dZhi
>>27
電子計算機の歴史 でググればわかる

30: 以下、名無しにかわりましてVIPがお送りします 2013/12/11 23:18:06 ID:eo6M1aIjI
マシン語やら機械語やらはじつはあれべつに「言葉」じゃないでしょ
テレビでいうと「電源を入れろ」とか「チャンネルを変えろ」とかのいろんな個別機能のスイッチを入れたり切ったりしてるだけでしょ

32: 以下、名無しにかわりましてVIPがお送りします 2013/12/11 23:19:50 ID:ok44i40T0
>>30
それはわかるんだけど、なぜそれをコンピュータが理解できるのかがわからない。

34: 以下、名無しにかわりましてVIPがお送りします 2013/12/11 23:22:49 ID:2KuzgTTd0
>>32
「理解」なんぞしてない
ピアノの鍵盤を叩くと決まった音が出るように
ある電気信号を流すと決まった電気信号が出てくるだけ

ピアノは曲を「理解」なんてしてないだろ?

38: 以下、名無しにかわりましてVIPがお送りします 2013/12/11 23:27:46 ID:sip+fRGT0
もうちょっと原理を教えて
専門用語を使わずに

41: 以下、名無しにかわりましてVIPがお送りします 2013/12/11 23:30:18 ID:2KuzgTTd0
>>38
まず、電気信号で足し算できることまではわかるか?

43: 以下、名無しにかわりましてVIPがお送りします 2013/12/11 23:31:01 ID:sip+fRGT0
>>41
わかんない

60: 以下、名無しにかわりましてVIPがお送りします 2013/12/11 23:41:42 ID:2KuzgTTd0
>>43
電線を考えてみた時に、

2つのスイッチが直列に繋がっていると
両方のスイッチを入れた時だけ電気が通る(AND回路)

2つのスイッチが並列に繋がっていると、
片方のスイッチを入れれば電気が通る(OR回路)

の2つを考える。んで、まず(1+1, 1+0, 0+1, 0+0)の4つの足し算だけ
考え、入力をスイッチだと思って両方の回路につないでみる

AND の出力があるときは答えは 2
OR の出力があって、AND の出力がないときは答えは 1
AND も OR も出力がないときは答えは 0

というルールにすれば、スイッチの On Off で足し算ができることになる

46: 以下、名無しにかわりましてVIPがお送りします 2013/12/11 23:33:58 ID:ok44i40T0
少し解ってきた。

例えば水車があって、川の水をせき止める板があって、板を設置するか外すかみたいな感じか?

49: 以下、名無しにかわりましてVIPがお送りします 2013/12/11 23:36:12 ID:2KuzgTTd0
>>46
そそ

電子回路の場合は、MOSFET という素子がまさにその仕事をしている
三本足で、真ん中に電圧をかけていない状態では仕切りが入っていて、
電圧をかけると仕切りが外れる

そういう回路が数億と入っているのが CPU

55: 以下、名無しにかわりましてVIPがお送りします 2013/12/11 23:39:35 ID:hz6gHSLv0
>>46
そう
そしてその板を差したり抜いたりするのを別の水車でやることにすれば、全て水だけで制御できるわけだ
同じようなことを電流に置き換えればいいだけ

47: 以下、名無しにかわりましてVIPがお送りします 2013/12/11 23:34:33 ID:BGiqRoji0
分かりやすい説明できる人ってすごいな

70: 以下、名無しにかわりましてVIPがお送りします 2013/12/11 23:46:36 ID:AsfEP5CT0
CPUの中にはON/OFFできる回路が一億ぐらいあるんだっけ?
それ以上あったよね?
1GHzで一秒間に1億回処理できるんだから

72: 以下、名無しにかわりましてVIPがお送りします 2013/12/11 23:47:54 ID:01Ko1dZhi
>>70
その処理速度はFLOPSとかいう単位らしいぞ

88: 以下、名無しにかわりましてVIPがお送りします 2013/12/12 00:02:02 ID:BzR+12sM0
>>72
?そーだっけ?浮動小数点の計算回数じゃなかったっけ。
マシン語の処理速度とは違うのでは。

89: 以下、名無しにかわりましてVIPがお送りします 2013/12/12 00:04:25 ID:cmn1O1AB0
>>88
MIPSだな
一秒間で処理できる命令数

74: 以下、名無しにかわりましてVIPがお送りします 2013/12/11 23:49:28 ID:v2OvKTv0O
すげえなお前ら何もんだ…
なるほどなー、こういうの読むと勉強したくなる

92: 以下、名無しにかわりましてVIPがお送りします 2013/12/12 00:07:21 ID:j6ybD4GV0
毎日0の信号送る仕事に疲れてきたわ

136: 以下、名無しにかわりましてVIPがお送りします 2013/12/12 01:02:24 ID:35suUPOqP
>>92
0レジスタさんおつかれさまです

114: 以下、名無しにかわりましてVIPがお送りします 2013/12/12 00:34:57 ID:jsrq9IbA0
そうだ、是非聞きたい事がある、最初のハード、例えば京のOSってどうやって作るの?
OS作るよー>コンパイラ無いよー>コンパイラ作るよー>OS無いよ、ってなって作れない気がするんだけど。
最初の開発ってどうやるの?

115: 以下、名無しにかわりましてVIPがお送りします 2013/12/12 00:37:37 ID:k8ihlZ/p0
>>114
ようわからんが01で作るよーが最初じゃない?
今はLinuxとかでCとアセンブリ言語で作ってると

116: 以下、名無しにかわりましてVIPがお送りします 2013/12/12 00:37:51 ID:UxydwCby0
>>114
他の OS 上で動くコンパイラでコンパイルする

マイコン炊飯器も炊飯器の上で動くコンパイラは無いでしょ?
なので他の普通の OS 上で炊飯器用の機械語を吐くコンパイラを動かす

127: 以下、名無しにかわりましてVIPがお送りします 2013/12/12 00:48:06 ID:jsrq9IbA0
>>115、116
なるほど、京の上にコンパイラが有る訳じゃなくて、クロスコンパイラで京のOSを開発するんだ。
確かに、京でコンパイルなんてもったいないね、ほー。

119: 以下、名無しにかわりましてVIPがお送りします 2013/12/12 00:39:27 ID:KLfKFpY20
>>116
たぶん最も最初のコンピュータをどうやって作ったかって事だと思う

それを作るためにそもそもコンピュータがいるんじゃね?っていう

123: 以下、名無しにかわりましてVIPがお送りします 2013/12/12 00:42:45 ID:cmn1O1AB0
>>114
ハード作る(機械語で動く奴)→機械語でアセンブラ作る→アセンブラでコンパイラ作る→OS作る
の流れになるんじゃね?

117: 以下、名無しにかわりましてVIPがお送りします 2013/12/12 00:39:22 ID:v8L5JsYs0
コンパイルってよくわからんけど必要な言語と必要ない言語があるじゃん?
あれなんでなの?
必要ない言語は優秀なの?

120: 以下、名無しにかわりましてVIPがお送りします 2013/12/12 00:40:35 ID:UxydwCby0
>>117
機械語以外のコンピュータ言語である以上コンパイルは必ず必要で
実行しながらコンパイルするか、実行する前にコンパイルするかの違い
Ruby とか Perl のインタプリタ言語は前者

124: 以下、名無しにかわりましてVIPがお送りします 2013/12/12 00:42:58 ID:v8L5JsYs0
>>120
なるほど、見かけ上必要ないだけで実際には勝手にやってくれてるのか
ありがとう

141: 以下、名無しにかわりましてVIPがお送りします 2013/12/12 01:07:22 ID:brn/ZTBs0
頭痒くなってきた

142: 以下、名無しにかわりましてVIPがお送りします 2013/12/12 01:09:18 ID:0FCkzEIm0
仕事でJavaのプログラミングしてた時これ気になったな
でも「そういうもんだ」ということですぐに納得した

150: 以下、名無しにかわりましてVIPがお送りします 2013/12/12 01:28:33 ID:vuqw8sfj0
自分でZ80買ってきて一本一本配線してマイコン作って
コンピューターがどうやって動くのか実感したもんだけど
今の子たちはそういう経験しようったって無理だもんな

151: 以下、名無しにかわりましてVIPがお送りします 2013/12/12 01:29:40 ID:+owZ8Gmq0
>>150
やろうと思えば出来なくはないけどな

154: 以下、名無しにかわりましてVIPがお送りします 2013/12/12 01:55:32 ID:Hd9a1Xxx0
プログラム書いてて裏で動いてる論理回路の事気にすることはなかったけども
ゲーム内で回路組んだり配線したりしてるうちに気になるようになってきたなあ

75: 以下、名無しにかわりましてVIPがお送りします 2013/12/11 23:50:36 ID:qkvfDDiRP
今日一番勉強になるスレ

引用元: http://hayabusa.2ch.net/test/read.cgi/news4vip/1386770138/


ファイナルファンタジー X/X-2 HD Remaster TWIN PACK 初回生産特典PS3ソフト「ライトニング リターンズ ファイナルファンタジーXIII」「スピラの召喚士」ウェア・杖・盾 3点セットのアイテムコード同梱ファイナルファンタジー X/X-2 HD Remaster TWIN PACK 初回生産特典PS3ソフト「ライトニング リターンズ ファイナルファンタジーXIII」「スピラの召喚士」ウェア・杖・盾 3点セットのアイテムコード同梱
PlayStation Vita

スクウェア・エニックス 2013-12-26
売り上げランキング : 15

Amazonで詳しく見る


スポンサードリンク
関連コンテンツ
他サイト様人気記事
最新記事
こちらもオススメ
ソーシャルエリア

この記事が気に入ったら
いいね!しよう

最新情報をお届けします

コメントする

メールアドレスが公開されることはありません。

名前は未入力でもコメントできます。