Class#2001 Introduction to Information Science and Engineering Submit report Scoring

Objectives We learn, from a higher viewpoint, how the world's state-of-the-art technologies are making progress or integrating in information science and engineering, and what new scientific technologies are expected to emerge, etc.
コンピュータシステムにおいてプログラムが動作する仕組みに関連する基本構成要素について理解を深める。対象とする基本構成要素は、ハードウェア、オペレーティングシステム、プログラミング言語、データ構造、アルゴリズムである。履修の結果、プログラムは、単に動けばよいのではなく、機能的には同一のプログラムであっても、利用環境やスキルによって、プログラミングの容易さ、移植性、脆弱性、所要メモリ量、実行時間、消費電力、効率(電力あたり性能)などの評価指標が大きく変動することが理解できるようになる。また制約条件に応じて様々な最適化を行う余地が存在することを理解できるようになる。
Activities We teach students so that they master the higher viewpoint concerning information sicence and engineering as above and thereby obtain material for considering what should be chosen from 7 educational programs.
この講義では、ハードウェア(演算、記憶、性能指標)、オペレーティングシステム(仮想化、プロセス、I/O)、プログラミング言語(手続き型、オブジェクト指向)、データ構造(配列、リスト、木構造、グラフ)、アルゴリズムと計算量(整列)、グラフアルゴリズム(探索)について扱う。
Textbook Computer Architecture A Quantitative Approach 6th Ed. ISBN:978-0128119068
Introduction to Algorithms (Third Edition) ISBN:978-0262033848
Python Tutorial(https://docs.python.org/3/tutorial/)
OHM大学テキスト コンピュータアーキテクチャ ISBN:978-4-274-21253-6(電子版ここ)
アルゴリズムイントロダクション第3版総合版 ISBN:978-4-7649-0408-8
Pythonチュートリアル(https://docs.python.org/ja/3/tutorial/)
Prerequisites None
Grading Minitest(12.5pt*8=100pt)
Office hour None (make an appointment by e-mail)

No. CE-CAO2016 Standard JPN textbook Title Download Description
1 CE-CAO-01
CE-CAO-0502
CE-CAO-0302
Chap.3,5 Trends of computers, basic structure of computers and programming Eng Jpn script report The trends of computers, mechanism how programs are executed on computers, the precision of floating-point operations, and efficient execution with multimedia instruction are provided.
コンピュータのトレンドおよびプログラムが動く仕組みを理解する.また,浮動小数点演算の精度やマルチメディア命令による効率化手法を習得する.
2 CE-CAO-04
CE-CAO-0303
CE-CAO-0702
Chap.6,7 Memory hierarchy and trends of performance metrics Eng Jpn script report The mechanism of buffer overflow problem, relationship between memory hierarchy and performance, and performance metrics such as power-delay product are provided.
バッファオーバフロー問題,メモリ階層と性能の関係,性能指標(電力遅延積)を理解する
3-8 The rest of the lectures Visit Syllabus in NAIST
自習 CE-CAO-01 Chap.3 Basic structure of computers and programming Eng Jpn How do computers execute programs?
プログラムが動くとは,そもそもどういう仕掛けなのか
自習 CE-CAO-0301 Chap.3 Programing language and instruction sets Eng Jpn Instruction set architecture
命令セットアーキテクチャとは
自習 CE-CAO-0302 Chap.5 High-performance media processing and VLIW Eng Jpn How can we use multimedia instructions?
マルチメディア命令はどう使うのか
自習 CE-CAO-0303 Chap.6 Memory-space, stack and buffer overflow Eng Jpn Why your computers are easily hacked?
コンピュータがやられる仕組み
自習 CE-CAO-04 Chap.7 Performance evaluation Eng Jpn What is Energy-Delay-Product(EDP)?
電力遅延積(EDP)という評価尺度
自習 CE-CAO-0501 Chap.1 Expression of information Eng Jpn Circuit
回路の話
自習 CE-CAO-0502 Chap.5 Floating-point operations Eng Jpn Do you know pitfalls in floating-point operations?
浮動小数点演算の落し穴を知っていますか
自習 CE-CAO-0701 Chap.2 Memory Eng Jpn Circuit
回路の話
自習 CE-CAO-0702 Chap.7 Cache memory and execution speed of programs Eng Jpn Why your programs run so slow?
あなたのプログラムは,なぜそんなに遅いのか
自習 CE-CAO-0703 Chap.12 Memory hierarchy and virtualization Eng Jpn Memory
記憶階層と仮想化
自習 CE-CAO-08 Chap.13 I/O device and interruption Eng Jpn OS
自習 CE-CAO-09 Chap.10 I/O device and file system Eng Jpn OS
自習 APDX03 Chap.11 Process control and inter-process communication Jpn OS
自習 APDX04 Chap.11 Deadlock and avoidance Jpn OS
発展 APDX06 Chap.14 Structure of virtual machines Jpn The magic of virtual machines: why many OS can run on single hardware?
たくさんのOSが走る仮想計算機の不思議

Class#4092 High Performance Computing Platforms Submit report Scoring

Objectives Now, semiconductor miniaturization has been stopped. It is difficult to expect further performance improvements and power efficiency on CPUs / GPUs that "simulate" programming languages with machine language instructions. You can learn promising high-speed technologies and low-power technologies while learning conventional high-speed technologies. Not only students who want to become hardware engineers / researchers, but also students who want to become software engineer / researcher aiming at higher performance and low power computing infrastructures can study program execution methods from various view points.
半導体微細化が止まった今,プログラミング言語を機械語命令により「シミュレート」するCPU/GPUには,さらなる性能向上や省電力化を期待することは難しい.従来の高速化技術を学びつつ,今後有望な高速化技術や低電力化技術について学ぶ.ハードウェア技術者/研究者になりたい学生に限らず,ソフトウェア技術者/研究者としてより高性能かつ社会実装可能な低電力計算基盤を必要とする学生が、様々な角度からプログラム実行方式を検討できるようになることを目的とする.
Activities The knowledge on ILP(Instruction Level Parallelism), DLP(Data Level Parallelism), TLP(Thread Level Parallelism), DSA(Domain Specific Architecture), approximate computing units(Analog Calculation Unit, Stochastic Computing Unit), and Implementation on Machine Learning are provided step by step.
ILP(スーパスカラ,VLIW),DLP(ベクトル演算機構,GPU),TLP(共有メモリ,分散メモリ),DSA(FPGA,Systolic Array),approximate computing units(Analog Calculation Unit, Stochastic Computing Unit),機械学習向け実装方法について順に学ぶ。
Textbook Computer Architecture A Quantitative Approach ISBN:978-0128119051
Computer Organization and Design ISBN:978-0-12-407726-3
Embedded Computing A VLIW Approach to Architecture, Compilers, and Tools ISBN1-55860-766-8
Design for Embedded Image Processing on FPGAs ISBN: 9780470828496
OHM大学テキスト コンピュータアーキテクチャ ISBN:978-4-274-21253-6(電子版ここ)
Prerequisites None
Grading Minitest(12.5pt*8=100pt)
Office hour None (make an appointment by e-mail)

No. CE-CAO2016 Standard JPN textbook Title Download Description
1 CE-CAO-0604 ILP Nakashima Chap.8 Superscalar and VLIW Eng Jpn report Computrers have tradeoffs between compatibility and complexity.
互換性と複雑さはトレードオフの関係にある
2 CE-CAO-1001 DLP Nakashima Chap.9 Vector accelerator and GPU Eng Jpn report How can we get ultimate performance in large-scale computations?
さらに並列度を向上させる大規模計算の仕組み
3 CE-CAO-1002 FPGA Nakashima Chap.9 FPGA Eng Jpn report How can we manage huge number of calclation?
大量の演算器を制御する方法とは
4 CE-CAO-1003 DSA Nakashima Chap.9 DSA Eng Jpn report Systolic Array Applications
Systolic Arrayアプリケーション
5 CE-CAO-11 TLP Nakashima Chap.15 Multicores and Distributed memory system Eng Jpn report The pros and cons of distributed-memory systems and shared-memory systems
主記憶共有型と分散型の長所と短所
6 CE-CAO-xx ACU Zhang -- Analog Computing Eng report
What is analog cmoputing?
アナログ計算とは
7 CE-CAO-xx SCU Zhang -- Stochastic Computing Eng report
What is stochastic computing?
Stochastic Computingとは
8 CE-CAO-xx ML Zhang -- Analog Computing Implementations in Machine Learning Eng report
How to implement for ML
機械学習向け実装
自習 CE-CAO-02 -- Simulation and emulation Eng Jpn How can we validate architecture?
アーキテクチャの妥当性はどのように検証するのか
自習 CE-CAO-0601 Chap.2 ALU Jpn Circuit
自習 CE-CAO-0602 Chap.4 The basics of pipelined execution Eng Jpn Why computers can execute instructions every cycle?
機械語命令はどうすれば毎サイクル実行できるのか
自習 CE-CAO-0603 Chap.7 Prediction and speculation Eng Jpn Computations can be predicted and then speculated.
計算は予測できる.予測できれば投機できる
自習 APDX01 -- Boolean algebra and basic logic circuits Eng Jpn Circuit
自習 APDX02 -- Sequential logic circuit Jpn Circuit
発展 APDX05 -- Region-reuse and speculation Jpn Advanced speculation
発展 APDX07 -- High performance JAVA-VM Jpn Advanced speculation

Class#5001 PBL A1-1 Digital Accelerators by Nakashima

Title Understanding the internal operation of the V1+CNN+FC model and mapping on super-efficient architecture
V1+CNN+FCモデルの内部動作理解と超効率アーキテクチャ写像
Activities The students can understand the internal operation of the image recognition model written in C language, and perform mapping and implementation on the Domain Specific Architecture (DSA) which is becoming one of computing platforms beyond CPU and GPGPU. The principle of operation of DSA including non-Neumann computers will help combining algorithms and special hardwares with no von Neumann bottleneck.
全てC言語により記述された画像認識モデルの内部動作を理解し,進化が止まったCPU やGPGPUの先を目指す計算基盤として広まりつつあるDomain Specific Architecture (DSA)への写像と実装を行う.GPGPUを凌駕する効率を得られる動作原理を理解し,様々な非ノイマン型計算機によりアプリケーションを実装していく明確なイメージを獲得 する.
Tools RSIM … V1+CNN+FC model simulator
IMAX … DSA with 40x64x4=10240 parallelism and compiler
ALVEO … XILINX high-level synthesis accelerator
Textbook PBL1.ppsx

Class#5002 PBL A1-2 Analog Accelerators by Zhang

Title Design and Evaluation of Re-configurable Analog Approximate Computing Units
再構成できるアナログ近似計算回路の設計と評価
Activities This project aims at developing novel computing architectures on the basis of single-wire-driving data representations. As a promising candidate of next generation for high performance computing, analog approximate computing units are implemented. At the end of semiconductor scaling-down, the efforts from this project are expected to achieve high efficiency for general purpose. Escaping from the conventional binary presentations and deductive computations, the hardware implementing approximate computations is developed through machine learning technologies such as regression and statistics, which are powered by some novel algorithms and circuit elements.
本課題では、一本のデータ線で多くの情報を表現する計算方式を創出し、次世代計算機構の候補としてアナログ近似演算回路を開発します。半導体微細化の恩恵がない状況下でも汎用計算機構の高速化と高効率化を目指します。従来のバイナリ表現に基づく演繹的計算方式に代わる、機械学習に基づく回帰や統計解析などの近似計算方式をハードウェアにより実装し、基礎から独自開発した高効率回帰アルゴリズムにより回帰モデル生成とそれのアナログ回路実装までを一通り模索する。
Tools HSPICE, C++, necessary technology libraries
Textbook will be provided

Class#0001 情報処理入門 Submit report Scoring

Objectives 情報の取り扱い、ネットワークの仕組み、ソフトウェアとハードウェアの仕組みなど、情報処理に関する代表的な話題を網羅的に概観する。情報機器を用いる演習は行わない。なお、以下を履修予定の場合、本講義は1回生での履修を推奨する。
Textbook 「大学生の新教養科目情報社会とコンピュータ」昭晃堂
Prerequisites None
Grading Minitest(12.5pt*8=100pt)
Office hour None (make an appointment by e-mail)

PDF TextDescription
1回 導入 3章 教育における情報化の流れ
2回社会のディジタル化と情報倫理1-2章 インターネットにおける諸問題
3回ネットワークアーキテクチャ 13章 インターネットの仕組み
4回通信ネットワーク 13章 通信の仕組み
5回圧縮,エラー訂正,暗号 7,14章 通信量削減や信頼性・機密性向上の仕組み
6回情報の表現 8章 情報をコンピュータに伝えるには
7回データ構造とアルゴリズム 9章 情報処理をコンピュータにさせるには
8回プログラムとソフトウェア 10,12章 オペレーティングシステムの仕組み
9回アーキテクチャ 11章 CPUの動作原理と高性能化の歴史
10回エミュレーション 11章発展異機種用ソフトウェアが何故動くのか
11回スーパーコンピュータ 11章発展並列ベクトル型スーパーコンピュータとは何か
12回論理設計 11章発展回路素子はどのように計算するのか
13回メモリ技術 11章発展回路素子はどのように記憶するのか

Class#0002 基礎情報処理論A(前期UNIX編) Submit report Scoring

Textbook 「UNIXでやりたいことをできるにかえる基本の12章」メディアテック
Prerequisites None
Grading Minitest(12.5pt*8=100pt)
Office hour None (make an appointment by e-mail)

PDF TextData
1回 導入
2回Windowsの基本操作とメール 0章
3回UNIXの基本操作とメール 1章課題に必要なファイル(data01)
4回X/プロセス/システム 2章
5回ファイルシステム 3章
6回標準入出力/パイプ/フィルタ 4章
7回ファイル編集/版数管理/印刷 5章
8回スクリプト 6章
9回ファイル検索/ソート/比較 7章課題に必要なファイル(data07)
10回アーカイブ/圧縮/エンコード 8章課題に必要なファイル(data08)
11回グラフ作成/作図 9章課題に必要なファイル(data09)
12回文書作成 10章課題に必要なファイル(data10)
13回プレゼンテーション 11章課題に必要なファイル(data11)

Class#0003 基礎情報処理論B(後期C言語編) Submit report Scoring

Textbook 「C言語でやりたいことをできるにかえる基本の12章」メディアテック
Prerequisites None
Grading Minitest(12.5pt*8=100pt)
Office hour None (make an appointment by e-mail)

PDF TextData
1回 導入
2回プログラムによる問題解決 0章
3回最大/最小/平均 1章課題に必要なファイル(data13)
4回日付/曜日計算(Fairfield公式) 2章課題に必要なファイル(data14)
5回整列と計算量(バブルソートとクイックソート) 3章課題に必要なファイル(data15)
6回二次方程式と演算精度 4章課題に必要なファイル(data16)
7回連立一次方程式(Gauss消去法) 5章課題に必要なファイル(data17)
8回積分(数値積分,Monte Carlo法) 6章課題に必要なファイル(data18)
9回待ち行列シミュレーション 7章課題に必要なファイル(data19)
10回回帰分析(最小自乗法) 8章課題に必要なファイル(data20)
11回時系列分析(移動平均法) 9章課題に必要なファイル(data21)
12回最短経路探索(Dijkstra法) 10章課題に必要なファイル(data22)
13回最大流問題(多層ネットワークとKarzanov法) 11章課題に必要なファイル(data23)

Class#0004 データベース構築論1 Submit report Scoring

Textbook 「情報の表現」岩波講座マルチメディア情報学3
Prerequisites None
Grading Minitest(12.5pt*8=100pt)
Office hour None (make an appointment by e-mail)

PDF
1回 導入
2回データベースの現状
3回データベースとは
4回データ型(数値・文字・エンディアン・文字コード)
5回データ構造(配列・つなぎ・抽象データ型・木・ハッシュ)
6回データモデルとデータ設計(三層スキーマ・第一正規形・関数従属・キー・第三正規形)
7回データ設計(一貫性・更新変則性・多値従属性・第四正規形)
8回SQL
9回演習の準備 ★ユーザ登録
10回演習の準備
11回PostgreSQL(基本)
12回PostgreSQL(発展) ★レポート課題

Class#0005 データベース構築論2 Submit report Scoring

Textbook 「Perlで作るCGI入門(基礎編/応用編)」ソフトバンク
「Namazuシステムの構築と活用」ソフトバンク
Prerequisites None
Grading Minitest(12.5pt*8=100pt)
Office hour None (make an appointment by e-mail)

PDF
1回 導入
2回WEBの仕組み(httpd,index.shtml)
3回BASIC認証(.htaccess,htpasswd)
4回CGI,SSI,FORM
5回PERL
6回WEB-Perl-PostgreSQLの連携
7回メーリングリストの仕組み(majordomo,sequencer2)
8回メールの一覧表示と検索
9回画像ファイルのデータベース化
10回全文検索の高速化(Namazu)
11回メールと検索可PDF/WORDを使った文書HP

Class#0006 アーキテクチャ策定法・シミュレータ設計法 Submit report Scoring

2.0 CPUの歴史
XEONの歴史
パソコン解体新書
並列分散の技術史

2.1 アーキテクチャとシミュレータとOS
アーキテクチャ階層の役目
「CPUでやりたいことをできるにかえる基本の12章オンライン版
「OHM大学テキスト コンピュータアーキテクチャ」第10章OSの役割 pp.114-118
VPPシミュレータ(proj-vpp/src/tim-*.tgz)
SPARC-V9-MICシミュレータ(proj-sap/src/ssim9-20131118.tgz)

2.2 C言語による命令レベルシミュレータ(EMIN)
JVMシミュレータ(proj-jvm/src/kaffe-1.0b4.tgz)
IBM370/SPARCエミュレータ(proj-rm/src/msim{8,9}.tgz)
SPARC-V8区間再利用シミュレータ(proj-camp/src/hsim-20081010.tgz)
SH2シミュレータ(proj-sh2/src/ssim-20100620.tgz)
ARM/EMINエミュレータ+OS(proj-emin/src/asim+fsim+femu)
ARM/EMIINエミュレータ+OS(proj-emin/src/asim+tsim+temu)

2.3 C言語によるレジスタトランスファレベルシミュレータ(EMAX)
ARMシミュレータ+OS(proj-arm/src/osim-20080430-armonly.tgz)
ARM+VLIWシミュレータ+OS(proj-frv/src/osim-20080909.tgz)
VLIWアレイシミュレータ(proj-lap/src/nsim-20110701-gp5v.tgz)
高信頼VLIWアレイシミュレータ(proj-lap/src/esim-20110711-gp6v+erela.tgz)
EMAX2/Intel仕様(proj-emax/doc/emax2/emax2.pdf)
EMAX2/Intelシミュレータ(proj-emax/src/xsim)
EMAX2/ARM32,EMAX4/ARM32,EMAX5/ARM64仕様(proj-arm32/doc/emax4/emax4.pdf)
EMAX2/ARM32シミュレータ(proj-arm32/src/asim)
並列EMAX4/ARM32シミュレータ(proj-arm32/src/bsim)
並列EMAX5/ARM64シミュレータ(proj-arm64/src/bsim)

2.4 FPGAとPCI-HOST連携(HOST⇒FPGA内REG一括転送,処理結果⇒HOST一括転送)
GP600Mマニュアル
GP600M仕様
XC2V6000資料
XILINX合成・シミュレーション資料
XILINXゲートレベル資料

2.5 FPGAとPCI-HOST連携(キャッシュミスを契機として,FPGA⇒HOST,HOST⇒FPGAキャッシュフィル)
(再掲)ARM+VLIWシミュレータ+OS(proj-frv/src/osim-20080909.tgz)
(再掲)VLIWアレイシミュレータ(proj-lap/src/nsim-20110701-gp5v.tgz)
(再掲)高信頼VLIWアレイシミュレータ(proj-lap/src/esim-20110711-gp6v+erela.tgz)

2.6 FPGAとPCI-HOST連携(FPGA上SSRAMをmmapによりHOSTにマップ,SSRAM参照が基本動作)
(再掲)ARM/EMINエミュレータ+OS(proj-emin/src/asim+fsim+femu)

2.7 FPGAとPCI-HOST連携(ユーザプログラムによるHOST⇒FPGA内DDR3,処理結果⇒HOST書き戻し)
(再掲)EMAX2/Intelシミュレータ(proj-emax/src/xsim)

2.8 FPGAとPCI-HOST連携(FPGA上DDR3をmmapによりHOSTにマップ,DDR3参照が基本動作)
(再掲)EMAX2/ARM32シミュレータ(proj-arm32/src/asim)
(再掲)並列EMAX4/ARM32シミュレータ(proj-arm32/src/bsim)
(再掲)並列EMAX5/ARM64シミュレータ(proj-arm64/src/bsim)