レポート集計(教官用)

シラバス/Syllabus

目的 プログラム実行方法に関する、様々な技術と、速度、電力、互換性などのトレードオフについて学ぶ。ハードウェア技術者/研究者になりたい学生はもちろん、ソフトウェア技術者/研究者としてより高性能なプロダクトの開発を目指す学生が、様々な角度からプログラム実行方式を検討できるようになることを目的とする。
This lecture gives variety of efficient techniques and tradeoffs including speed, power, compatibility, and so on for executing programs. The wide and profound knowledge is helpful for students that have main interest in not only hardware but also software.
指導方針 プロセッサの基本パイプライン構造、高速化のための投機実行、スーパスカラ、VLIW、ベクトル演算機構、GPU、FPGA、CGRA、シミュレータ、エミュレータ、主記憶分散システム、主記憶共有システムについて、順に学ぶ。
The knowledge on pipelining, speculative execution, superscalar, VLIW, vector processor, GPU, FPGA, CGRA, simulator, emulator, distributed memory system, and shared memory system are provided step by step.
教科書 (1) Computer Architecture A Quantitative Approach ISBN:978-0-12-383872-8 (第1回 Chap. C, 第4回 Chap. 4, 第7回 Chap. 5, 6)
(2) Computer Organization and Design ISBN:978-0-12-407726-3 (第1回 Chap. 4)
(3) Speculative Execution in High Performance Computer Architecture ISBN1-58488-447-9 (第2回 Chap. 5, 6, 7, 8, 9)
(4) Embedded Computing A VLIW Approach to Architecture, Compilers, and Tools ISBN1-55860-766-8 (第3回 Chap. 2, 3, 4, 5, 8, 第6回 Chap. 6)
(5) Design of Low-Power Coarse-Grained Reconfigurable Architectures ISBN-13: 978-1138113527 (第5回 Chap. 2)
(6) Design for Embedded Image Processing on FPGAs ISBN: 9780470828496 (第5回 Chap. 8)
参考書 OHM大学テキストシリーズ コンピュータアーキテクチャ ISBN:978-4-274-21253-6(電子版あり)
PDF版はこちら
The Microarchitecture of Pipelined and Superscalar Computers ISBN 978-0-7923-8463-2
Speculative Execution in High Performance Computer Architectures ISBN 9781584884477
前提知識 None
評価 Minitest+Exam
オフィスアワー None (make an appointment by e-mail)

情報理工学序論/Introduction to Information Science and Engineering

(2018-)
情報理工学序論
Introduction to Information Science and Engineering
教科書
Text Book
CE-CAO2016標準カリキュラム
CE-CAO2016 Curriculum index
Description
1.中島 Chap.3,5 CA01_0502_0302:コンピュータのトレンド,基本構造とプログラミング
CA01_0502_0302:Trends of computers, basic structure of computers and programming
コンピュータのトレンドおよびプログラムが動く仕組みを理解する.また,浮動小数点演算の精度やマルチメディア命令による効率化手法を習得する.
The trends of computers, and mechanism how programs are executed on computers are provided. Also, the precision of floating-point operations, and efficient execution with multimedia instruction are provided.
2.中島 Chap.6,7 CA04_0303_0702:メモリ階層と性能指標のトレンド
CA04_0303_0702:Memory hierarchy and trends of performance metrics
バッファオーバフロー問題,メモリ階層と性能の関係,性能指標(電力遅延積)を理解する.
The mechanism of buffer overflow problem, relationship between memory hierarchy and performance, and performance metrics such as power-delay product are provided.

高性能計算基盤/High Performance Computing Platforms

(-2017)
計算機システム
Computer System
高性能計算基盤
High Performance Computing Platforms
教科書
Text Book
CE-CAO2016標準カリキュラム
CE-CAO2016 Curriculum index
Description
(自習) Chap.1 CA0501:情報の表現
CA0501:Expression of information
Circuit
(自習) -- APDX01:ブール代数と基本論理素子
APDX01:Boolean algebra and basic logic circuits
(自習) Chap.2 CA0601:演算器
CA0601:ALU
(自習) Chap.2 CA0701:記憶機構
CA0701:Memory
(自習) -- APDX02:順序回路の設計
APDX02:Sequential logic circuit
1.中島 Chap.3 CA01:コンピュータの基本構造とプログラミング
CA01:Basic structure of computers and programming
プログラムが動くとは,そもそもどういう仕掛けなのか
How do computers execute programs?
(自習) Chap.3 CA0301:プログラミング言語と命令セット
CA0301:Programing language and instruction sets
Instruction set architecture
1.中田 6/6 Chap.4 CA0602:パイプライン実行の基礎
CA0602:The basics of pipelined execution
情報理工学序論で学んだ機械語命令はどうすれば毎サイクル実行できるのか
Why computers can execute instructions every cycle?
2.中島 Chap.5 CA0502:浮動小数点演算
CA0502:Floating-point operations
浮動小数点演算の落し穴を知っていますか
Do you know pitfalls in floating-point operations?
2.中島 Chap.5 CA0302:マルチメディア命令とVLIW
CA0302:High-performance media processing and VLIW
マルチメディア命令はどう使うのか
How can we use multimedia instructions?
2.中島 Chap.7 CA04:性能指標
CA04:Performance evaluation
電力遅延積(EDP)という評価尺度
What is Energy-Delay-Product(EDP)?
3.中島 Chap.6 CA0303:メモリとスタックとバッファオーバフロー
CA0303:Memory-space, stack and buffer overflow
コンピュータがやられる仕組み
Why your computers are easily hacked?
4.中島 Chap.7 CA0702:キャッシュメモリとプログラムの実行速度
CA0702:Cache memory and execution speed of programs
あなたのプログラムは,なぜそんなに遅いのか
Why your programs run so slow?
2.中田 6/13 Chap.7 CA0603:計算の予測と投機実行
CA0603:Prediction and speculation
計算は予測できる.予測できれば投機できる
Computations can be predicted and then speculated.
(発展) -- APDX05:区間再利用と事前実行
APDX05:Region-reuse and speculation
Advanst speculation
3.中島 6/20 Chap.8 CA0604:スーパスカラとVLIW
CA0604:Superscalars and VLIW
互換性と複雑さはトレードオフの関係にある
Computrers have tradeoffs between compatibility and complexity.
4.中島 6/27 Chap.9 CA1001:ベクトル型アクセラレータとGPU
CA1001:Vector accelerators and GPU
さらに並列度を向上させる大規模計算の仕組み
How can we get ultimate performance in large-scale computations?
5.中島 7/4 Chap.9 CA1002:FPGAとCGRA
CA1002:FPGA and CGRA
大量の演算器を制御する方法とは
How can we manage huge number of calclation?
6.中島 7/11 -- CA02:アーキテクチャ検証ツールと模倣ツール
CA02:Simulation and emulation
アーキテクチャの妥当性はどのように検証するのか
How can we validate architecture?
(後半) Chap.10 CA09:I/O装置とファイルシステム
CA09:I/O device and file system
OS
(後半) Chap.11 APDX03:プロセス管理とプロセス間通信
APDX03:Process control and inter-process communication
(後半) Chap.11 APDX04:デッドロックと回避
APDX04:Deadlock and avoidance
(後半) Chap.12 CA0703:記憶階層とメモリの仮想化
CA0703:Memory hierarchy and virtualization
(後半) Chap.13 CA08:I/O装置と割り込み
CA08:I/O device and interruption
(自習) Chap.14 APDX06:バーチャルマシンの仕組み
APDX06:Structure of virtual machines
たくさんのOSが走る仮想計算機の不思議
The magic of virtual machines: why many OS can run on single hardware?
(発展) -- APDX07:高性能JAVA-VM
APDX07:High performance JAVA-VM
Advanst speculation
7.中田 7/18 Chap.15 CA1003:主記憶共有型システム
CA1003:Multicores
主記憶共有型と分散型の長所と短所
The pros and cons of distributed-memory systems and shared-memory systems
7.中田 7/18 Chap.15 CA11:主記憶分散型システム
CA11:Distributed memory system
主記憶共有型と分散型の長所と短所
The pros and cons of distributed-memory systems and shared-memory systems
4.中島 8.中田 7/25 Summarization + Final Exam