プログラムってなんで動くの?
(3ページ目) 最初から読む >>
\ シェアする /
118 :以下、名無しにかわりましてVIPがお送りします:2013/12/12(木) 00:39:22.68 ID:jsrq9IbA0
>>110
すごく初心者向けだと思うよ。
117 :以下、名無しにかわりましてVIPがお送りします:2013/12/12(木) 00:39:22.73 ID:v8L5JsYs0
コンパイルってよくわからんけど必要な言語と必要ない言語があるじゃん?
あれなんでなの?
必要ない言語は優秀なの?
120 :以下、名無しにかわりましてVIPがお送りします:2013/12/12(木) 00:40:35.22 ID:UxydwCby0
>>117
機械語以外のコンピュータ言語である以上コンパイルは必ず必要で 実行しながらコンパイルするか、実行する前にコンパイルするかの違い
Ruby とか Perl のインタプリタ言語は前者
121 :以下、名無しにかわりましてVIPがお送りします:2013/12/12(木) 00:40:36.88 ID:k8ihlZ/p0
>>117
必要ない言語は実行時にコンパイルしてる
いわゆるインタプリタと呼ばれるやつ
JITとは違う
124 :以下、名無しにかわりましてVIPがお送りします:2013/12/12(木) 00:42:58.24 ID:v8L5JsYs0
>>120-121
なるほど、見かけ上必要ないだけで実際には勝手にやってくれてるのか
ありがとう
129 :以下、名無しにかわりましてVIPがお送りします:2013/12/12(木) 00:54:13.88 ID:+owZ8Gmq0
CPUに与える情報というのはどこかに保存してあるわけだがそれがメモリってやつだ
お前らのPCにも2Gとか4Gとか ちょっといいやつは8Gとか積んであるだろう それだ
そこに必要な情報を一時保存しているわけだ
例えるならお前らが2桁の足し算をする時に繰り上がりとかを一瞬覚えておくためのような場所だ
で そのメモリ上には1と0が延々並んでいるわけだがそのすべてに住所のようなものが決められていて
例えば3番の場所 といえば必ず1つの場所を指し その内容が1か0かわかるわけだ
この住所を使って ほしい情報がどこにあるのかをCPUに教えてやることができる
この住所が指す場所から情報を読み出せば ほしい情報が手に入るってわけだな
これが >>126 の読みだすデータの場所ってことだ
ここまでおk?
133 :以下、名無しにかわりましてVIPがお送りします:2013/12/12(木) 00:59:46.62 ID:+owZ8Gmq0
保存場所も同様にメモリ上の住所で指定してやればいいから簡単だな
これら3つ (・計算方法 ・読み出すデータの住所 ・保存する住所) をCPUに与えてやれば
あとはCPUが 予め知ってる手順に従って CPUの中の回路を決められた手順で使って計算してくれる
そして計算結果を 指定の場所に保存してくれるわけだ
それが終わると CPUは次の命令をメモリ上から自動的に読み込んでまた同じように実行する
以上でCPUの動きの説明は終了
質問あれば分かる範囲で答える
134 :以下、名無しにかわりましてVIPがお送りします:2013/12/12(木) 01:01:33.61 ID:brn/ZTBs0
ほうほう
135 :以下、名無しにかわりましてVIPがお送りします:2013/12/12(木) 01:01:46.58 ID:/j4IrpsuI
>>ID:+owZ8Gmq0
読んでるぞー
こうしてみると、コンピーターってのはすごい単純な仕組みの膨大な集大成なんだなあというのがらわかるね
139 :以下、名無しにかわりましてVIPがお送りします:2013/12/12(木) 01:06:30.78 ID:+owZ8Gmq0
あと 実際は>>96のいうように
すべての回路はNAND(=NOT (A AND B) )素子だけで作れて
NANDは小さくて安いという理由(だっけ?)でほぼNANDのみで構成されている
ただし回路図はめちゃくちゃ見難くなる
142 :以下、名無しにかわりましてVIPがお送りします:2013/12/12(木) 01:09:18.36 ID:0FCkzEIm0
仕事でJavaのプログラミングしてた時これ気になったな
でも「そういうもんだ」ということですぐに納得した
143 :以下、名無しにかわりましてVIPがお送りします:2013/12/12(木) 01:09:45.10 ID:DH4VtYlO0
素子とボードある人はnビット加減算機つくってごらん
コンピュータの本質がわかるから
まずは簡単なn=4ぐらいから始めてみると良い
145 :以下、名無しにかわりましてVIPがお送りします:2013/12/12(木) 01:14:25.86 ID:+owZ8Gmq0
読み返してみると 半加算器の説明が雑だったかな
半加算器の回路図は下のようになる
ただし
http://web-mondai.com/upload/00617/00617_1278466610_20a_17_02.png
これが OR を計算する素子
http://web-mondai.com/upload/00617/00617_1278466580_20a_17_01.png
これが AND を計算する素子だ
そして
http://2.bp.blogspot.com/-R39vZtYmYkc/TryMGPAYLjI/AAAAAAAAAM8/zKroMLo2IUg/s320/not.png
これが NOT を表す素子だ
http://upload.wikimedia.org/wikipedia/ja/6/64/Half_adder.png
この図のように素子を組み合わせると半加算器ができる
式で書くと
S = ¬A・B + A・¬B
C = A・B
150 :以下、名無しにかわりましてVIPがお送りします:2013/12/12(木) 01:28:33.18 ID:vuqw8sfj0
自分でZ80買ってきて一本一本配線してマイコン作ってコンピューターがどうやって動くのか実感したもんだけど今の子たちはそういう経験しようったって無理だもんな
151 :以下、名無しにかわりましてVIPがお送りします:2013/12/12(木) 01:29:40.30 ID:+owZ8Gmq0
>>150
やろうと思えば出来なくはないけどな
153 :以下、名無しにかわりましてVIPがお送りします:2013/12/12(木) 01:35:01.32 ID:jsrq9IbA0
>>150
秋月辺りでマイコン買ってきてアセンブラで作れば同じだと思うよ、バイナリなんてどうでもいいことだし。
154 :以下、名無しにかわりましてVIPがお送りします:2013/12/12(木) 01:55:32.57 ID:Hd9a1Xxx0
プログラム書いてて裏で動いてる論理回路の事気にすることはなかったけどもゲーム内で回路組んだり配線したりしてるうちに気になるようになってきたなあ
>>110
すごく初心者向けだと思うよ。
117 :以下、名無しにかわりましてVIPがお送りします:2013/12/12(木) 00:39:22.73 ID:v8L5JsYs0
コンパイルってよくわからんけど必要な言語と必要ない言語があるじゃん?
あれなんでなの?
必要ない言語は優秀なの?
120 :以下、名無しにかわりましてVIPがお送りします:2013/12/12(木) 00:40:35.22 ID:UxydwCby0
>>117
機械語以外のコンピュータ言語である以上コンパイルは必ず必要で 実行しながらコンパイルするか、実行する前にコンパイルするかの違い
Ruby とか Perl のインタプリタ言語は前者
121 :以下、名無しにかわりましてVIPがお送りします:2013/12/12(木) 00:40:36.88 ID:k8ihlZ/p0
>>117
必要ない言語は実行時にコンパイルしてる
いわゆるインタプリタと呼ばれるやつ
JITとは違う
124 :以下、名無しにかわりましてVIPがお送りします:2013/12/12(木) 00:42:58.24 ID:v8L5JsYs0
>>120-121
なるほど、見かけ上必要ないだけで実際には勝手にやってくれてるのか
ありがとう
129 :以下、名無しにかわりましてVIPがお送りします:2013/12/12(木) 00:54:13.88 ID:+owZ8Gmq0
CPUに与える情報というのはどこかに保存してあるわけだがそれがメモリってやつだ
お前らのPCにも2Gとか4Gとか ちょっといいやつは8Gとか積んであるだろう それだ
そこに必要な情報を一時保存しているわけだ
例えるならお前らが2桁の足し算をする時に繰り上がりとかを一瞬覚えておくためのような場所だ
で そのメモリ上には1と0が延々並んでいるわけだがそのすべてに住所のようなものが決められていて
例えば3番の場所 といえば必ず1つの場所を指し その内容が1か0かわかるわけだ
この住所を使って ほしい情報がどこにあるのかをCPUに教えてやることができる
この住所が指す場所から情報を読み出せば ほしい情報が手に入るってわけだな
これが >>126 の読みだすデータの場所ってことだ
ここまでおk?
133 :以下、名無しにかわりましてVIPがお送りします:2013/12/12(木) 00:59:46.62 ID:+owZ8Gmq0
保存場所も同様にメモリ上の住所で指定してやればいいから簡単だな
これら3つ (・計算方法 ・読み出すデータの住所 ・保存する住所) をCPUに与えてやれば
あとはCPUが 予め知ってる手順に従って CPUの中の回路を決められた手順で使って計算してくれる
そして計算結果を 指定の場所に保存してくれるわけだ
それが終わると CPUは次の命令をメモリ上から自動的に読み込んでまた同じように実行する
以上でCPUの動きの説明は終了
質問あれば分かる範囲で答える
134 :以下、名無しにかわりましてVIPがお送りします:2013/12/12(木) 01:01:33.61 ID:brn/ZTBs0
ほうほう
135 :以下、名無しにかわりましてVIPがお送りします:2013/12/12(木) 01:01:46.58 ID:/j4IrpsuI
>>ID:+owZ8Gmq0
読んでるぞー
こうしてみると、コンピーターってのはすごい単純な仕組みの膨大な集大成なんだなあというのがらわかるね
139 :以下、名無しにかわりましてVIPがお送りします:2013/12/12(木) 01:06:30.78 ID:+owZ8Gmq0
あと 実際は>>96のいうように
すべての回路はNAND(=NOT (A AND B) )素子だけで作れて
NANDは小さくて安いという理由(だっけ?)でほぼNANDのみで構成されている
ただし回路図はめちゃくちゃ見難くなる
142 :以下、名無しにかわりましてVIPがお送りします:2013/12/12(木) 01:09:18.36 ID:0FCkzEIm0
仕事でJavaのプログラミングしてた時これ気になったな
でも「そういうもんだ」ということですぐに納得した
143 :以下、名無しにかわりましてVIPがお送りします:2013/12/12(木) 01:09:45.10 ID:DH4VtYlO0
素子とボードある人はnビット加減算機つくってごらん
コンピュータの本質がわかるから
まずは簡単なn=4ぐらいから始めてみると良い
145 :以下、名無しにかわりましてVIPがお送りします:2013/12/12(木) 01:14:25.86 ID:+owZ8Gmq0
読み返してみると 半加算器の説明が雑だったかな
半加算器の回路図は下のようになる
ただし
http://web-mondai.com/upload/00617/00617_1278466610_20a_17_02.png
これが OR を計算する素子
http://web-mondai.com/upload/00617/00617_1278466580_20a_17_01.png
これが AND を計算する素子だ
そして
http://2.bp.blogspot.com/-R39vZtYmYkc/TryMGPAYLjI/AAAAAAAAAM8/zKroMLo2IUg/s320/not.png
これが NOT を表す素子だ
http://upload.wikimedia.org/wikipedia/ja/6/64/Half_adder.png
この図のように素子を組み合わせると半加算器ができる
式で書くと
S = ¬A・B + A・¬B
C = A・B
150 :以下、名無しにかわりましてVIPがお送りします:2013/12/12(木) 01:28:33.18 ID:vuqw8sfj0
自分でZ80買ってきて一本一本配線してマイコン作ってコンピューターがどうやって動くのか実感したもんだけど今の子たちはそういう経験しようったって無理だもんな
151 :以下、名無しにかわりましてVIPがお送りします:2013/12/12(木) 01:29:40.30 ID:+owZ8Gmq0
>>150
やろうと思えば出来なくはないけどな
153 :以下、名無しにかわりましてVIPがお送りします:2013/12/12(木) 01:35:01.32 ID:jsrq9IbA0
>>150
秋月辺りでマイコン買ってきてアセンブラで作れば同じだと思うよ、バイナリなんてどうでもいいことだし。
154 :以下、名無しにかわりましてVIPがお送りします:2013/12/12(木) 01:55:32.57 ID:Hd9a1Xxx0
プログラム書いてて裏で動いてる論理回路の事気にすることはなかったけどもゲーム内で回路組んだり配線したりしてるうちに気になるようになってきたなあ
\ シェアする /
関連記事
- プログラマの俺が色々紹介するスレ
- プログラムってなんで動くの?
- 回顧厨が昔やったゲームの思い出をたれ流すスレ
- 悪質出会い系サイトからの料金請求に困ってるんだけど
- インターネット副業の詐欺に合ったかもしれないんだが
- Linuxの魅力
- ウェブサイトを作りたいのだが、java scriptとかphpとかわけ分からん
- Web業界に興味ある人、質問に答えるよ
- Linux 捗り過ぎワロタwwwwww
- マジのプログラマーにしかわからないこと
- facebook見てたら死にたくなったんだが
- Linux歴15年の俺がオススメソフトを紹介して普及を目指すスレ
- Ubuntuに興味あるおまいらにMacBookにUbuntuをインストールする方法教える
- 【画像】中華のおもしろそうなゲーム機買ってみたww
- 外付けssdとhddならどっちのが長期保存に向いてる?
- WindowsからLinuxにほぼ完全に乗り換えたけどイマドキってLinuxで困る事全く無いな
- Chromebookのデメリットってある?
- お前らってパソコン最高で何年間使用した?
- プログラミングで副業したい俺にオススメ言語を
- 趣味プログラミングに使ってる言語何?
- ゲームプログラミングを15年ほど独学で学んできたんだが語っていい?
-