情報科学部Faculty of Computer and Information Sciences
COT211KA-CS-212(計算基盤 / Computing technologies 200)コンピュータ構成と設計Computer Organization and Design
李 亜民Yamin LI
授業コードなどClass code etc
学部・研究科Faculty/Graduate school | 情報科学部Faculty of Computer and Information Sciences |
添付ファイル名Attached documents | |
年度Year | 2022 |
授業コードClass code | J0523 |
旧授業コードPrevious Class code | |
旧科目名Previous Class title | |
開講時期Term | 秋学期授業/Fall |
曜日・時限Day/Period | 月1/Mon.1 |
科目種別Class Type | |
キャンパスCampus | 小金井 / Koganei |
教室名称Classroom name | 各学部・研究科等の時間割等で確認 |
配当年次Grade | |
単位数Credit(s) | 2 |
備考(履修条件等)Notes | |
他学部公開科目Open Program | |
他学部公開(履修条件等)Open Program (Notes) | |
グローバル・オープン科目Global Open Program | |
成績優秀者の他学部科目履修制度対象Interdepartmental class taking system for Academic Achievers | ○ |
成績優秀者の他学部科目履修(履修条件等)Interdepartmental class taking system for Academic Achievers (Notes) |
(1) 受講希望者 (受講検討中の者も含む) は、情報科学部学部Googleフォーム(https://forms.gle/ECvwxVe2NcxmrbTK9)で初回講義前までに希望申請をしてください。(※以下URLのご案内があるGoogleフォームとは異なるのでご注意ください。) (2) 以下のURLと教育開発支援機構事務局の案内に従って、履修希望の申請を行ってください。 https://www.hoseikyoiku.jp/risyu/index.html (3) 履修取消については、ご自身の所属学部の履修取消期間内に必ず同時に履修削除を行ってください。 |
実務経験のある教員による授業科目Class taught by instructors with practical experience | |
SDGsCPSDGs CP | |
アーバンデザインCPUrban Design CP | |
ダイバーシティCPDiversity CP | |
未来教室CPLearning for the Future CP | |
カーボンニュートラルCPCarbon Neutral CP | |
千代田コンソ単位互換提供(他大学向け)Chiyoda Campus Consortium | |
選択・必修Optional/Compulsory | |
カテゴリー(2022年度以降入学者)Category (2022~) | |
カテゴリー(2021年度以前入学者)Category (~2021) | |
カテゴリーCategory |
専門教育科目 専門科目 |
すべて開くShow all
すべて閉じるHide All
Outline (in English)
The objective of this lecture is to understand the fundamentals of the computer system and its design method. The contents of the lecture contain RISC-V instruction set architecture, assembly language programming, datapath and control unit design of single-cycle and multiple-cycle CPUs, design of pipelined CPU with internal forwarding and pipeline stall mechanism, memory, caches, virtual memory management, TLB (Translation lookaside buffer), input/output interface controller, interrupt, computer performance evaluation, superscalar, multithreading, multicore, interconnection network, and supercomputers. The CPUs will be designed in schematic and/or Verilog HDL and simulated with EDA tools. The MIPS ISA and MIPS CPUs design will be also taught in this lecture. Students will be expected to spend more than four hours to study each theme per week. Grading will be decided based on the homework (70%) and a project (30%).
授業で使用する言語Default language used in class
日本語 / Japanese
授業の概要と目的(何を学ぶか)Outline and objectives
本授業では RISC-V 命令セットアーキテクチャ、アセンブリ言語プログラム、シングル・マルチサイクル CPU のデータパスと制御ユニット設計、パイプライン CPU のデータパスと制御ユニット設計(内部フォワーディングとパイプラインストール)、整数乗除回路、浮動小数点演算装置FPU、メモリ、キャッシュ、仮想メモリ、TLB、入出力システム、コンピュータの性能評価と高性能コンピューティング(スーパースカラ、マルチスレッド、マルチコア、インターコネクションネットワーク、スーパーコンピュータ)について学びます。この講義では、MIPS ISA と MIPS CPU の設計についても説明します。
到達目標Goal
コンピュータの物理的な仕組みと設計方法の理解。ハードウェアレベルのプログラミング言語であるアセンブラプログラミングについても学び、プロセッサの基本動作を理解します。さらに、シングルサイクル CPU、マルチサイクル CPU、パイプライン CPU、FPU、キャッシュ、TLB、マルチスレッド CPU、マルチコア CPU などを設計します。そして、現代のコンピュータにおいて高速化の鍵となっている記憶階層についての理解、外部記憶その他の周辺装置や高性能コンピュータ構成と設計についても理解することを目標とします。
この授業を履修することで学部等のディプロマポリシーに示されたどの能力を習得することができるか(該当授業科目と学位授与方針に明示された学習成果との関連)Which item of the diploma policy will be obtained by taking this class?
ディプロマポリシーのうち「DP2」と「DP4-1」に関連
授業で使用する言語Default language used in class
日本語 / Japanese
授業の進め方と方法Method(s)(学期の途中で変更になる場合には、別途提示します。 /If the Method(s) is changed, we will announce the details of any changes. )
RISC-V シミュレータ Rivasm ( https://yamin.cis.k.hosei.ac.jp/rivasm/ ) と MIPS シミュレータ AsmSim ( https://yamin.cis.k.hosei.ac.jp/asm/ ) を使用して、アセンブリプログラムを開発します。コンピュータを構成するプロセッサ内部のデータの流れ(データパス)とその制御ユニットに関して,具体的な構成方法と設計の原理を理解します。さらに Intel Altera Quartus II と ModelSim という実際のハードウェア設計にも使われている EDA ツールを使用して RISC-V および MIPS プロセッサを設計し動作検証シミュレーションを行います。講義の冒頭で、前回の課題について説明・フィードバックします。
アクティブラーニング(グループディスカッション、ディベート等)の実施Active learning in class (Group discussion, Debate.etc.)
なし / No
フィールドワーク(学外での実習等)の実施Fieldwork in class
なし / No
授業計画Schedule
授業形態/methods of teaching:対面/face to face
※各回の授業形態は予定です。教員の指示に従ってください。
1[対面/face to face]:RISC-V 命令セットアーキテクチャ(1)
RISC-V 命令セットアーキテクチャとアセンブリ言語(算術、論理、シフト演算命令)及び Rivasm シミュレーターの使い方
2[対面/face to face]:RISC-V 命令セットアーキテクチャ(2)
RISC-V 命令セットアーキテクチャとアセンブリ言語(関数の呼び出し、条件分岐、無条件ジャンプ、メモリ load、store 命令)
3[対面/face to face]:コンピュータの基本的な回路設計
回路図とVerilog HDLを用いた基本的な回路(バレルシフタやALUなど)設計
4[対面/face to face]:RISC-V シングルサイクルCPU設計(1)
RISC-V シングルサイクル CPU の構成とレジスタファイルの設計とシミュレーション
5[対面/face to face]:RISC-V シングルサイクルCPU設計(2)
RISC-V シングルサイクル CPU のデータパスと制御ユニットの設計とシミュレーション
6[対面/face to face]:RISC-V シングルサイクルCPU設計(3)
RISC-V シングルサイクル CPU + メモリ + テストプログラム、整数乗除/剰余回路 (RV32M)
7[対面/face to face]:RISC-V マルチサイクルCPU設計(1)
RISC-V マルチサイクル CPU のデータパスの設計とシミュレーション
8[対面/face to face]:RISC-V マルチサイクルCPU設計(2)
RISC-V マルチサイクル CPU の制御構造とコンピュータの設計とシミュレーション
9[対面/face to face]:RISC-V パイプラインCPU設計
RISC-V パイプライン CPU(内部フォワーディングとパイプラインストール)の設計とシミュレーション
10[対面/face to face]:浮動小数点数と FPU 設計
IEEE 754 浮動小数点数と FPU の設計とシミュレーション
11[未定/undecided]:メモリ階層とその管理
メモリ階層(SRAM、DRAM、キャッシュ、仮想記憶、MMU、TLB)の設計とシミュレーション
12[対面/face to face]:入出力システム
入出力システム(入出力割込み、キーボードと VGA のインターフェースコントローラ)の設計とシミュレーション
13[対面/face to face]:性能評価と高性能コンピューティング
性能評価と高性能コンピューティング(スーパースカラ、マルチスレッド、マルチコア、インターコネクションネットワーク、スーパーコンピュータ)
14[対面/face to face]:MIPS CPU 設計とまとめ
MIPS 命令セットアーキテクチャ及び AsmSim シミュレーターの使い方と MIPS CPUs 設計とまとめ
授業時間外の学習(準備学習・復習・宿題等)Work to be done outside of class (preparation, etc.)
本授業の準備・復習時間は、計4時間を標準とします。講義資料を事前に目を通すこと。また、レポート(宿題)を完成させて提出すること。
テキスト(教科書)Textbooks
担当教員 Website に掲載
参考書References
1. コンピュータの構成と設計 : ハードウエアとソフトウエアのインタフェースRISC-V版, Morgan Kaufmann. 2017.
2. Computer Principles and Design in Verilog HDL, Wiley, 2015.
成績評価の方法と基準Grading criteria
課題レポート70%+プロジェクトレポート30%
学生の意見等からの気づきChanges following student comments
課題の難易度を調整します。
設計サンプルを追加します。
学生が準備すべき機器他Equipment student needs to prepare
ノートPCをクラスに持参してください。