パスワードを忘れた? アカウント作成
16728097 journal
日記

jizouの日記: むずかしいなぁ... 20

日記 by jizou

今の人はどうやってCPUについて学ぶんだろう、
とふと思って調べてみたんだけどよくわからないなぁ...
なにかいい資料はないものか。

この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。
  • by Anonymous Coward on 2023年08月20日 15時51分 (#4513774)

    CPUの何について学ぶか明らかにすると、Webの資料とか書籍にたどり着きやすくなるのでは。
    アセンブリ、ハードのアーキテクチャレベル、RTLレベル、ゲートレベル、究極的にはMOS素子や電子レベル。
    別の切り口では商業的なお話とか、歴史、もしかしたら製造工程についてかもしれないですね。

    • by Anonymous Coward

      一般プログラマとして理解しておいて絶対に損しないCPUの知識はキャッシュまわりかな。
      キャッシュを意識したプログラミングをすることでより高速なコードが書けるようになるかも。

  • 私が読んでいないものもたくさんありましたので、
    調べてみます。

    ありがとうございました。

  • by Anonymous Coward on 2023年08月20日 13時11分 (#4513744)

    「コンピュータの構成と設計 第6版」あたりとちゃうの?
    https://www.amazon.co.jp/dp/B0BLTQS81T/ [amazon.co.jp]

    「入門書」となると分からんなあ。

    • CPUを創るレベルまで知識を深めたいならヘネパタ本(「コンピュータアーキテクチャ」ヘネシー&パターソン [amazon.co.jp])も。

      通常パタヘネ本こと、「コンピュータの構成と設計」パターソン&ヘネシーとは
      「ヘネパタ」と「パタヘネ」で紛らわしいですが別の本。
      この2冊は鉄板だと思います。
      パタヘネが上流(システム寄り)でヘネパタが下流(CPU実装より)寄りなので、まずパタヘネ読んでからヘネパタかなぁ。

      CPUとはなんぞや、ってレベルの知識ですませるなら、パタヘネだけでいいかも

      でも、どちらにせよ、入門書としては厳しいと思うので、
      その前段階の何かがほしいけど、何がいいかと問われると…ちょうどいいものが思い浮かばないですねぇ…

      親コメント
      • by Anonymous Coward

        昔だったら、とりあえず入門書として「はじめて読む8086」とか読んでから、
        アセンブラやCを囓ったあとくらいにヘネパタやって、それでもキツいなあ
        という感じだったんですよね。
        いまさら8086じゃあさすがにねえ。

        いまamazonでぐぐったら、「はじめて読む486」がKindle化されてるのを
        初めて知った。意外とまだ需要があるってことか?やはり入門書として?
        https://www.amazon.co.jp/dp/B00OCF5YUA/ [amazon.co.jp]

        • by Anonymous Coward

          手元にあるはじめて読むシリーズ。機械語とアセンブラはPC-8001、6809はFM7を使って演習するという古さ。

          はじめて読む機械語
          はじめて読むアセンブラ
          はじめて読む6809
          はじめて読むMASM
          はじめて読む8086
          はじめて読む486
          はじめて読むC言語
          はじめて読むPentium

          CPUって何ってレベルからの入門書なら以下の順に読んでからパタヘネとヘネパタに進むといいと思います。

          マンガでわかるCPU
          CPUの創りかた
          作って学ぶコンピュータアーキテクチャ

      • by Anonymous Coward

        それらの本を読むのと並行して、OpencoresなんかでオープンソースCPUコアのRTL読むのもおすすめです。
        簡単な物なら1ファイル数百行しかないですし。
        環境があればFPGAのシミュレータで動作させてみるとより理解できます。

        ここまでできると、中国の沿岸部では高年収で引く手数多なんですが…
        日本だと中々生かせる場所が無いですね。

        • by Anonymous Coward

          RTLってどの時点で教えるのがいいのか、というのもありますね。

          自分は先に回路図(ロジック)ベースでASICやFPGAの設計をやってたので
          RTLは比較的すんなり理解出来た(ただしemacsのvhdl-modeがないと
          今でもほとんど書けないという話はある)けど、そういう経験の無い
          人だと下手にRTLやるよりHSLをやったほうがいいのかも。
          最近だとフィルタ設計なんかだとmatlabから一気に合成まで
          進めるところも多いですし。

          # CPUの話を全然してないなあorz

  • by Anonymous Coward on 2023年08月20日 13時31分 (#4513751)

    汎用ロジックICでCPUを作るとか
    https://userweb.alles.or.jp/chunichidenko/mycputop.html [alles.or.jp]

  • by Anonymous Coward on 2023年08月20日 16時34分 (#4513787)

    8BITの時代は、BASICの次がマシン語だったので、自分はガキの頃にこれで学びましたがw。
    https://www.amazon.co.jp/dp/B000J77GSS [amazon.co.jp]

    自分LinuxのOSサポートをしてますが、確かに若い人にCPUを学ばせる方法がわからない。
    ソフト面に限って言えばCASL&COMETとかなんですかねぇ。

    • by taka2 (14791) on 2023年08月20日 17時51分 (#4513813) ホームページ 日記

      「マシン語を学ぶ」と「CPUを学ぶ」って、似てるようでちょっと違うように思います。
      私が最初に(BASICの次に)マシン語をやった頃は、
      CPUを完全にブラックボックスとして扱ってたし。

      CPUというものの理解へ進んだのは、「Z-80の使い方」 [amazon.co.jp]って本を読んでからかな。

      親コメント
      • by Furutanian (18527) on 2023年08月20日 20時45分 (#4513884)

        元の「CPUを学ぶ」の趣旨が明確でないので、なんとも言えませんが、このネタ盛り上がりますねw。
        taka2さん、自分の境遇にちょっと(だいぶ)近いかも。自分も最初はマシン語から入って、
        趣味でPICマイコンやハンダ付けやり始めてそっち側に広げてきた感じです。ちなアラフィフ。

        だからこそ、GUIから入る最近の若い人をどう誘導したものか想像がつかないという…。

        親コメント
        • by Anonymous Coward

          GUIから入るんだから回路図をエクセルで引くとこから誘導すればいいを

          • by Anonymous Coward

            エクセルはともかく、マイクラからとかはアリかもしれない。

      • by Anonymous Coward

        自分も同じ本を当時読んでました。(なんか自分のドッペル君見てるみたいな)
        マシン語を理解した(腑に落ちた)ときの「ユーレカ感」には、
        あれ以来出会っていない気がします。
        ずっとこの業界にいますが。
        # 最近の抽象化/複雑化には必死こいてついていっ・・・けてるのか疑問。

    • by Anonymous Coward

      CASLは今年の4月から廃止されました。
      https://www.arcanum.work/index.cgi/contents?id=10#1-1 [arcanum.work]
      代わって導入された擬似言語は高級言語の記述レベルなので、CPUについて学ぶ目的には適さないでしょう。

  • by Anonymous Coward on 2023年08月20日 17時51分 (#4513814)

    # といっても既に4年も前のものですが…

    Raspberry Piで学ぶコンピュータアーキテクチャ [oreilly.co.jp]がよかった。
    小~中校生がコンピュータの中身を知りたいという時は結構わかりやすくていいかな、と。
    理系の大学生とかエンジニアだとこの内容じゃ暇つぶしぐらいにしかならないんだけど…。
    それでも8~16bit時代のCPUでハードウェア的な構成の知識が止まってる人にはいいかも。

    ただこの本を読んでCPUが作れるか、と言われると多分無理。あくまで理解するための本。
    これを理解した上でRISC-Vの本でも読むと先に進むのが多少は楽かな、ぐらいかな?

    • by Anonymous Coward

      それでも8~16bit時代のCPUでハードウェア的な構成の知識が止まってる人にはいいかも。

      私ですね。参考になります。

      「CPUを学ぶ」とは違うかもしれませんが、やっぱり保護モードが悪いんですよ。いきなり、ラズパイでLinuxカーネルは難しい。

      DOSでアプリから割り込みコントローラ制御してデータブック見ながらハードウェアレジスタいじって……という経験なしに、保護モード下のプリエンプティブなマルチタスクOSではドライバ作るのさえ難しいような。

  • by Anonymous Coward on 2023年08月21日 9時47分 (#4513994)

    ソフトウェアで仮想的にやれちゃうから山本五十六的にリモートでやってみせでやれなくもない
    まずはチープな回路からはじめてでいいんじゃない?

    # オレはようやくのぼりはじめたばかりだからな このはてしなく遠いCPU坂をよ

typodupeerror

一つのことを行い、またそれをうまくやるプログラムを書け -- Malcolm Douglas McIlroy

読み込み中...