開講学期/Course Start | 2024年度/Academic Year 後期/Second |
---|---|
開講曜限/Class period | 金/Fri 5 , 金/Fri 6 |
授業区分/Regular or Intensive | 週間授業 |
対象学科/Department | システム理化学科数理情報システムコース |
対象学年/Year | 2年 , 3年 , 4年 |
授業科目区分/Category | 教育課程 システム理化学科 |
必修・選択/Mandatory or Elective | 選択 |
授業方法/Lecture or Seminar | 講義科目 |
授業科目名/Course Title | マイクロプロセッサ/Microprocessor |
単位数/Number of Credits | 2 |
担当教員名/Lecturer | 小林 洋介 (システム理化学科数理情報システムコース) |
時間割コード/Registration Code | J4177 |
連絡先/Contact |
小林 洋介(V612 0143-46-5440 ykobayashi(at)muroran-it.ac.jp スパム対策のため@を(at)で表記しています。 緊急時を除き,極力E-mailで連絡ください)) |
オフィスアワー/Office hours | 小林 洋介(水曜日16:00-17:00) |
実務経験/Work experience |
更新日/Date of renewal | 2024/08/19 |
---|---|
授業のねらい /Learning Objectives |
ソフトウェアを動作させるハードウェアにおいて最も重要な部品がCPUに代表されるマイクロプロセッサです。この授業では,プログラマーが効率的なソフトウェアをコーディングする際に必要なCPUに関する技術を学びます。特にハードウェア開発者向けの「回路や構造」ではなく,ソフトウェアエンジニアが考慮する必要がある「命令の流れ」や「クロックサイクルごとの動作」といったミクロな視点からCPUの仕組みを理解することを狙います。 |
到達度目標 /Outcomes Measured By: |
本授業最大の目的は「CPUの仕組みを理解する」ことです。この目標を達成するために以下の小目標を設定します。 1. CPUの命令処理に関して命令密度向上や分岐命令を理解する。 2. キャッシュメモリと仮想記憶の処理を理解する。 3. システムコール,例外,割り込みといったイレギュラー処理を理解する。 4. マルチプロセッサによる並列処理を理解する。 5. メモリアクセスについて理解する。 |
授業計画 /Course Schedule |
1週目: ガイダンス,CPUと命令流 2週目: 命令密度向上のための工夫 3週目: データ依存関係 4週目: 分岐命令 5週目: ここまでのまとめ1 6週目: キャッシュメモリ 7週目: 仮想記憶 8週目: I/Oアクセス 9週目: システムコール,例外,割り込み 10週目:ここまでのまとめ2 11週目:マルチプロセッサ 12週目:キャッシュコヒーレンス制御 13週目:メモリ順序付け 14週目:不可分操作 15週目:ここまでのまとめ3, 全体のまとめ 16週目:期末試験 総授業時間数: 22時間30分(15回×90分) 各回の講義終了後に,講義で使用した資料をMoodleで公開しますので,積極的に復習に取り組んでください。 各回の学修時間の目安は,事前・事後合わせて4時間です。 |
教科書 /Required Text |
プログラマーのためのCPU入門 : CPUは如何にしてソフトウェアを高速に実行するか Takenobu Tani著 ラムダノート 2023(ISBN:9784908686160) |
参考書等 /Required Materials |
ヘネシー・パターソンコンピュータアーキテクチャ : 定量的アプローチ ジョン・L・ヘネシー, デイビッド・A・パターソン著 ; 中條拓伯, 天野英晴, 鈴木貢訳 エスアイビー・アクセス 2019(ISBN:9784434264009)
コンピュータの構成と設計 : ハードウエアとソフトウエアのインタフェース David A. Patterson, John L. Hennessy著 ; 成田光彰訳 日経BP 2021(ISBN:9784296070091) コンピュータの構成と設計 : ハードウエアとソフトウエアのインタフェース David A. Patterson, John L. Hennessy著 ; 成田光彰訳 日経BP 2021(ISBN:9784296070107) |
教科書・参考書に関する備考 | 教科書は電子書籍版も販売されています。授業中の閲覧端末を各自で用意できる場合は電子書籍版を利用を強く推奨します。 |
成績評価方法 /Grading Guidelines |
期末試験と,各回でmoodleに提出する課題小レポートを課します。課題小レポートについてはガイダンスで説明します。 小レポート 3点 * 14回 = 42点 期末試験 58点 合計100点満点とし,100点満点中60点以上を合格とします。 ※何らかの事情で課題小レポートの実施回数が14回未満だった場合,未実施分の点数は期末試験の配点に加算します(例:小レポート13回だった場合の期末試験は61点となります)。 |
履修上の注意 /Notices |
再試験は行いませんので,不合格者は再履修してください。 |
教員メッセージ /Message from Lecturer |
ソフトウェアエンジニア(プログラマー)はソフトウェア開発ができればハードウェアの知識は不要でしょうか?半導体素子や電子回路レベルの知識が必要になることはないかもしれません。しかし,近年のAIブームを支えているGPGPUは,並列演算に特化した画像処理のためのマイクロプロセッサであるGPUを数値計算に利用できるようにして高速化を実現しています。 このように効率的な計算ができるプログラムを書こうとする際には,そのプログラムが動作するマイクロプロセッサの仕組みや特性を知っている必要があります。言い換えればCPUに代表されるマイクロプロセッサの知識はソフトウェアエンジニアに必須の知識と言えます。 本講義では,マイクロプロセッサの代表としてCPUの仕組みと特性を学ぶことでプログラムのソースコードと計算機の処理の両方に対してイメージを持てる技術者になることを目指します。 また,本科目は専門の技術書を教科書指定しました。このため多数の専門用語が出てきます。しかし,大事なのは用語を覚えることではなく,全体的なCPUの処理フローのイメージを持つことです。このため,教科書の図表の意味解釈に注力して取り組んでください。 |
学習・教育目標との対応 /Learning and Educational Policy |
学生便覧「学習目標と授業科目との関係表」参照 |
関連科目 /Related course |
情報システム概論,プログラミング演習,プログラミングA |
No. | 回(日時) /Time (date and time) |
主題と位置付け(担当) /Subjects and instructor's position |
学習方法と内容 /Methods and contents |
備考 /Notes |
---|---|---|---|---|
該当するデータはありません |
Active learning 1-1 /主体的学修(反転授業,小テスト,振り返り 等) |
毎週提出の小レポート課題は十分記述されていない場合や提出遅れの場合は減点や零点とする場合があります。 |
---|---|
Active learning 1-2 /上記項目に係るALの度合い |
15%未満 |
Active learning 2-1 /対話的学修(グループ学習,協働,調査体験 等) |
|
Active learning 2-2 /上記項目に係るALの度合い |
該当なし |
Active learning 3-1 /深い学修(複数科目の知識の総合化や問題解決型学修 等) |
この科目を深く理解するには「情報システム概論」で学んだ基礎的なコンピュータアーキテクチャの知識と「プログラミングA」で学ぶコンピュータのメモリに関わるプログラミングの知識を組み合わせることが非常に有効です。これらの科目の教科書や参考資料も必要に応じて復習してください。 |
Active learning 3-2 /上記項目に係るALの度合い |
15%~50% |