リコンフィギャラブルコンピューティング (130003) Reconfigurable Computing (130003)
 
◇ 担当教員 Instructor : 高前田 伸也(Shinya Takamaeda / たかまえだ しんや)、 Tran Thi Hong
◇ 単位数 Credits : 1単位 ◇ 選択・必修 Required/Elective : 選択 ◇ 講義室 Room : L1
◇ 講義スタイル Style : 講義/公開
◇ 開講時期 Quarter : Ⅱ期 火曜1限

◇ 授業目的 Course goals : 近年のコンピュータシステムは、CPUに加えて、GPU (Graphic Processing Unit) やFPGA (Field Programmable Gate Array) などのアクセラレータを用いるヘテロジニアス(異種混合)構成が一般的になりつつある。特にFPGAは、ユーザが自由に回路を構成することができる柔らかいハードウェアであり、組み込みシステムからデータセンターに至るあらゆる応用において、性能や電力効率の向上のために用いられている。本講義は、コンピュータ性能を最大限活用するために必要な知識と技術と、ハードウェア設計の基本的な知識と技術の習得を目的とする。具体的には、高速なソフトウェアを実現するためのコンピュータアーキテクチャに関する知識とプログラミング技術、ハードウェア上でのデータの表現方法と問題の処理方法、および、FPGA上に用途に特化した回路を実現するためのハードウェア設計技術を習得する。

Most modern computer systems employ the heterogeneous structure consisting of several kinds of accelerators, such as GPU (Graphic Processing Unit) and FPGA (Field Programmable Gate Array), in addition to the standard CPU. FPGA is a reconfigurable hardware that enables users to customize the circuit structure according to their purposes. FPGA is now utilized in various applications from embedded systems and data centers for achieving high performance and energy efficiency. The purpose of this lecture is to provide students the knowledge and skills for maximally utilizing computer performance, as well as the basic knowledge about hardware circuit design. Students will obtain the knowledge of computer architecture and programming techniques for developing a high speed software. They will then understand how a hardware circuit represents data and solves a problem and the design methodology of a custom circuit on an FPGA.
◇ 授業内容 Course description : 第1回 コンピュータ構成と性能評価指標:なぜCPUだけではなくGPUやFPGAが必要なのか?(高前田)
第2回 プロセッサアーキテクチャとメモリシステム:CPUが高速に計算をする仕組み(高前田)
第3回 論理回路の基礎:組み合わせ回路と順序回路(Tran)
第4回 数値表現:ハードウェアによる数値の表現方法とその重要性(Tran)
第5回 HDLによるハードウェア設計:回路をハードウェア記述言語で細かく設計する(Tran)
第6回 並列プログラミング:命令レベル並列性・スレッドレベル並列性・データレベル並列性(高前田)
第7回 高位合成によるハードウェア設計:プログラミング言語を用いた効率的なハードウェア設計(高前田)
第8回 コンピュータシステムの設計と応用:結局、CPU・GPU・FPGAをどう使いこなせば良いか?応用事例を交えて(高前田)

Lecture 1: Computer organization and performance evaluation metrics: Why GPU and FPGA should be utilized in addition to CPU (Takamaeda)
Lecture 2: Processor architecture and memory system: Mechanism of high speed CPU (Takamaeda)
Lecture 3: Logic circuit: Combinational circuit and sequential circuit (Takamaeda)
Lecture 4: Number system: How a hardware expresses a number and its importance (Tran)
Lecture 5: Hardware design by HDL: Fine-grain hardware design by using hardware description language (Tran)
Lecture 6: Parallel programming: Instruction parallelism, thread-level parallelism, and data-level parallelism (Takamaeda)
Lecture 7: Hardware design by high-level synthesis: Efficient hardware design by using a standard programming language (Takamaeda)
Lecture 8: Computer system design and its applications: How to combine CPU, GPU, and FPGA, by example (Takamaeda)

◇ 教科書 Textbook : 講義スライドを下記ウェブページに掲載する。
Lecture slides will be uploaded on the following web page.

http://arch.naist.jp/~shinya/lecture.html
◇ 参考書 Reference materials : ヘネシー&パターソン コンピュータアーキテクチャ 定量的アプローチ 第5版
その他、必要な資料は随時配布する。

John L. Hennessy, David A. Patterson, Computer Architecture: A Quantitative Approach 5th Edition
If needed, supplemental materials will be provided.
◇ 履修条件 Prerequisites : 特にないが、以下の内容を理解していると理解がスムーズに進むと思われる。

- C言語等による低抽象度なプログラミングの基礎
- 論理回路
- コンピュータの構成

There is no requirement for this lecture. However, having fundamental knowledge of the following topics helps your understanding.

- Programming by C or other low-level languages
- Logic circuit
- Computer organization
◇ 成績評価 Grading : 講義中に行う小テストと宿題により評価する。

Your final score will be calculated based on the scores of mini-tests in courses and homeworks.
◇ オフィスアワー Office Hours : B405号室に在室時はいつでもよい。あらかじめメールや電話 (5302) などで予約することを推奨する。

You are welcomed to visit us at B405 (Phone 5302). Please check via email or internal phone line.
◇ 講義関連URL URL :
Lecture
◇ 配布資料 Handouts : 現在、配布資料はありません。