プロが教えるわが家の防犯対策術!

質問させていただきます。

CPUの構造の正確で詳しい理解がなくても、プログラミングはできると聞きました(これは、間違っていますか?)プログラミングの言語の文法を習得すればプログラムは組めると聞きました。

しかし、プログラミングの技術に加え、CPUの構造を非常に詳しく知っている人もいるはずです。そういう、CPUの詳しい構造を独学するには、どういう方法がありますか?

CPUの構造を解説する本も少なからず出版されていることは確認済みなのですが、人によっては、CPUは謎の世界で、専門家集団だけが理解できるものだ、とも言います。

皆様のお考えは、いかがですか?

CPUというのは読書というかたちで、教育されれば、なんとか理解できるものですか?

よろしくお教え下さい。

A 回答 (7件)

えっと、CPUの構造の話まで行きますと、CPU設計や製造の技術屋さんが把握するレベルだと私は思います。


ちなみに設計屋さんや製造屋さんは物理屋さんですよ(笑
ソフト屋さんレベルであれば、レジスタ構造まで知っていたとすれば知りすぎでしょう。
というか、そういうことを考えずにプログラミングはできるようにコンパイラは設計されていますからね。
私が学生の頃はZ80とか6809のマシン語プログラムをダイレクトで組みました。
なぜかって?それは必要だったからです。
そうなるとレジスタ構造まで知らないとプログラミングはできません。

そんなわけで、何をやりたいかで知るべき内容は大きく変わってきます。
あなたは何をやりたいのですか?
そのために何が必要なのですか?
そこをもう一度考えてください。

30年前のように64Kのメモリーしかなくて四苦八苦する時代は過ぎています。
今ではギガ単位のメモリーを潤沢に使えます。
ですから、私個人としてはCPUの構造を理解する必要性は感じません。

……うらやましい限りです……
    • good
    • 0
この回答へのお礼

御回答ありがとうございます。
やはり私は興味本位です。好奇心かもしれません。
ただ、CPUの動きは目で確認はできませんね。

お礼日時:2017/02/11 00:15

CPU の構造と動作や、プログラミングについては、読書である程度は理解できるでしょう。

ただ、どのレベルの CPU を理解したいのか、4bit、8bit、16bit、32bit、64bit など多彩です。複雑な 32bit や 64bit CPU のハードウェア的な内容をすべて理解することは難しいように思います。

昔は、TK-80 や TK-85 等のワンボード・マイコン(8bit)で、機械語の勉強をしていましたが、今はそれも流行りません。下記のような、チップが何種類も出ています。その中の一例で、PIC のマイコンを使って勉強してみるのはどうでしょう。
http://www.marutsu.co.jp/pc/static/large_order/b … ← 開発の流れ。
http://startelc.com/PIC/Pic_start.html ← PIC を始めるにあたって。

秋月電子通商は、マイコン関係の各種キットを安価に出していますので、色々楽しめます。下記は、PIC 関連です。
http://akizukidenshi.com/catalog/goods/search.as … ← PIC マイコンキット各種。

下記は、高等専門学校用に作成されたキットで、回路の動作説明とソースファイルがCDで付属しています。半田付けが必要。
http://akizukidenshi.com/catalog/g/gK-07502/ ← 新居浜高専PICマイコン学習キット Ver.2 アダプタ付き。

これらは、どちらかと言うと機械制御用の仕組みを学ぶのに適しています。機械制御には、64bit CPU に高級言語を使う場合もありますが、コンパクトなシステムにするために、このようなワンチップ CPU を使うことも多いのです。これらは、対極にある感じがするので、プログラミングを勉強する際に、どの方向に進むのかを調べる際に役に立つと思います。
    • good
    • 0
この回答へのお礼

詳しい回答ありがとうございます。くりかえし回答を読ませていただきます。

お礼日時:2017/02/11 00:13

プログラミングと一口に言っても千差万別です。



VBA を使ったマクロ言語で 4th party を組む人もいれば、C# などの高級言語でアプリを作る人、perl や java script で web アプリを作る人、SQL でデーターベースをいじる人、FORTRAN で科学技術計算をする人、COBOL で統計処理をする人。

ここまでは CPU の構造なんて知らなくても困りません。

C言語で OS を作る人、アセンブラでデバイスドライバを作る人、ICE で組込みシステムを作る人。

CPU の構造を知らなければお話にもなりません。

さて、貴方はどんなプログラミングをしたいのですか?
    • good
    • 0
この回答へのお礼

→ さて、貴方はどんなプログラミングをしたいのですか?

 幼稚なプログラムを作って自己満足できるタイプではありません。プログラミングを出来ることで鼻高々になれるタイプでもありません。IT関連業界の人材の役割分担に興味を感じています。

お礼日時:2017/02/07 05:46

プログラミングはプログラミング言語の理解だけがが有ればできます。


CPU設計者でも、物理設計と機能設計に分けられます。
お互いを知ると、おのずと設計条件に制約がかかるからです。
プログラム言語からCPU入出力言語(1/0のマシン語)の変換は、また別な仕事です。
これらは多くの技術分野に分かれ、介在する人も数え切れないほどです。
全ての理解は無理でしょう。
    • good
    • 0
この回答へのお礼

宇宙ロケットの構造も一定の人数が集まらないと理解できないとききました。PCもおなじなのですね。ありあとうございました。感謝申し上げます。

お礼日時:2017/02/07 05:41

細かい動きをさせようとするとマシン語になるんでしょうが、


75年頃でしたっけ、マイコンキットが売り出された当時のように、
128バイトのメモリーがうん千円なんて時代ではないですからね。
メモリが100万倍になって、速度も上がっても、当時のメモリ1個の
値段ですから、みんな高級言語を使って翻訳をさせ動かしています。
ロジックでコンピュータを組んだらどんな構成になるか理解すれば
するほど、今やる話ではないということになると思います。
もう、みんなわからないまま、ここまでは動いていたんだからと、
それの実績に上乗せしているだけなので、実際は、無駄というか、
ごみ満載でしょうね。それが突然生命を持ち出したらと思うと、
夜も寝られなくなるかもです。
    • good
    • 0
この回答へのお礼

御回答ありがとうございました。感謝いたします。

お礼日時:2017/02/07 05:38

教育何てされていないし、ほとんどの人が理解していません


そんな知識は必要ないから

>(これは、間違っていますか?

間違っていません

>CPUの詳しい構造を独学するには、どういう方法がありますか?

ネットで調べる


CPUの構造の知識なんて必要ですか?
    • good
    • 0
この回答へのお礼

CCPUの構造に関する関心の有無

→ 人それぞれの好みの問題です。蛇の生態に興味のある人間もいれば、微分方程式に関心のある人間もいる、ヤクザの世界の礼儀作法を知りたい人間もいれば、全国のソープランドが行っている脱税を明らかにしたい人間もいれば、気象予報の原理を知りたい人間もいる、なぜ中国で漢字が簡略されたかに興味を覚える人間がいれば、財務省のエリート官僚の出身大学を知りたい人間がいれば、原住民がどうやって避妊をしているかを知り人間もいる、どうして「空が青く見えるのか」に関心を覚える人間もいれば、なにゆえ人間の手足の指が五本なのかを知りたい人間もいる。「教えて!goo」に性格のいい回答者がいる一方で、ねじまがった人間もいるのはナゼかに興味のある人間もいる・・・

人間は、いろいろなことに関心を覚えるものです。<CPUの構造の知識なんて必要ですか?>と書いておられる意味が分かりかねます。

お礼日時:2017/02/07 05:35

どこまで学習したいかにもよるけど



一般的にCPUはどういう動作をするのか、とかそういう教養的なことは本で十分に学べるとはいえ思いますよ

プログラミングとCPUに関してですが
CPUのことを意識してプログラミングすることなどほとんど無いでしょうね

組込み系のプログラミングならばCPUのことも考えながらプログラミングしますが

趣味程度のプログラミングであれば考えてもバイトオーダーとかそういった部分だけじゃ無いでしょうか

技術者として高みを目指すのであれば必要な知識ですが、普通ならそこまで意識することも無いと思います
    • good
    • 0
この回答へのお礼

ありがとうごございます。
大変参考になりました。

お礼日時:2017/02/07 05:18

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