Class#0001 小学生から高校生まで (大学生は知ってて当然)

確認テスト 問1 半導体は不完全なスイッチである.完全なスイッチにできる仕組みは?(CMOSの理解)
問2 コンピュータの主要構成要素を3つ挙げよ(基本の基本)
問3 昔はCISC,今はRISCを指向する背景は?(メモリコストの理解)
問4 ビッグエンディアンとリトルエンディアン,ネットワークに流して良いのはどっち? Intel,ARMはどっち?(形式の理解)
問5 getname(){char buf[80]; gets(buf);...} このプログラムが乗っ取られる仕組みは?(脆弱性の理解)
問6 あなたのプログラムは無駄がなく結果も正しい.でも同僚のプログラムより100倍遅い.気付くべき点は?(記憶階層の理解)
問7 実用的省エネコンピュータの正しい評価式はどれ? A.Watt数x計算時間, B.Watt数x計算時間の2乗. C.Watt数x計算時間の3乗(評価の理解)
問8 コンピュータは,50億+1を正しく計算できるか?(計算の理解)
問9 コンピュータが32bitで表現できる円周率の精度は?(精度の理解)
問10CPU/GPUはAIやBCに最適?(新計算原理の理解)
全滅の人 悔しい人は情報理工学序論のビデオを見る.何も感じない人は,勉強やめて,人のプログラム買って使う
1問以上正解 頑張ればプロになれる.インターンシップへgo! Youtube
全問正解者 次世代計算へgo! 今日からはじめるCGRA Youtube

Class#2001 Introduction to Information Science and Engineering
Haizoku Eduport2023 Video Youtube Edusys (new)Eduport (old)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-0301
CE-CAO-0303
CE-CAO-0702
Chap.3,6,7 Basic structure of commercial computers and programming Eng report Youtube Mechanism how programs are executed on computers, buffer overflow attack, and the importance of cache memory
プログラムが動く仕組み,スタックの脆弱性,キャッシュメモリの重要性を理解する.
2 CE-CAO-04
CE-CAO-2001
CE-CAO-0502
Chap.5,7 New principles of emerging power efficient computing platforms Eng report Youtube Metrics, comparison of new principles, and the precision of floating-point operations
性能指標,今後重要になる省エネコンピュータの選択肢,浮動小数点演算精度
自習 CE-CAO-0302 Chap.5 High-performance media processing and VLIW Eng Jpn How can we use multimedia instructions?
マルチメディア命令はどう使うのか
自習 CE-CAO-0501 Chap.1 Expression of information Jpn Circuit
回路の話
自習 CE-CAO-0601 Chap.2 The basics of calculation unit Jpn Youtube Structure of Calculation unit
演算器の構造
自習 CE-CAO-0701 Chap.2 Memory Jpn Circuit
回路の話
自習 CE-CAO-0703 Chap.12 Memory hierarchy and virtualization Jpn Memory
記憶階層と仮想化
自習 CE-CAO-08 Chap.13 I/O device and interruption Jpn OS
自習 CE-CAO-09 Chap.10 I/O device and file system Jpn OS
自習 APDX01 -- Boolean algebra and basic logic circuits Jpn Circuit
自習 APDX02 -- Sequential logic circuit Jpn Circuit
自習 APDX03 Chap.11 Process control and inter-process communication Jpn OS
自習 APDX04 Chap.11 Deadlock and avoidance Jpn OS

Class#4092 High Performance Computing Platforms
Haizoku Eduport2023 Video Youtube Edusys (new)Eduport (old)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), RECONF(FPGA and CGRA) TLP(Thread Level Parallelism), approximate computing units(Analog Calculation Unit, Stochastic Computing Unit), and Implementation on Machine Learning are provided step by step.
ILP(スーパスカラ,VLIW), DLP(ベクトル演算機構,GPU), リコンフ(FPGA, CGRA), TLP(共有メモリ,分散メモリ), 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-0602
CE-CAO-0604 ILP Nakashima
Chap.4,8 Pipeline, Superscalar and VLIW Eng report Youtube Computrers have tradeoffs between compatibility and complexity.
互換性と複雑さはトレードオフの関係にある
2 CE-CAO-1001 DLP Nakashima Chap.9 Vector accelerator and GPU Eng report Youtube How can we get ultimate performance in large-scale computations?
さらに並列度を向上させる大規模計算の仕組み
3 CE-CAO-1002
CE-CAO-1003 RECONF Nakashima
Chap.9 Reconfigurable Architecture FPGA and CGRA Eng report Youtube How can we manage huge number of calclation?
大量の演算器を制御する方法とは
4 CE-CAO-11 TLP Nakashima Chap.15 Multicores and Distributed memory system Eng report Youtube The pros and cons of distributed-memory systems and shared-memory systems
主記憶共有型と分散型の長所と短所
5 CE-CAO-2005 ALU and Models Zhang Chap.2 High Performance ALU and Models Eng report Circuit
高性能演算器
6 CE-CAO-2006 ACU Zhang -- Analog Implementation Eng report What is analog computing?
アナログ計算とは
7 CE-CAO-2007 SCU Zhang -- Stochastic Implementation Eng report What is stochastic computing?
Stochastic Computingとは
8 CE-CAO-2008 ML Zhang -- Neuromorphic Computation and Machine Learning Eng report How to implement for ML
機械学習向け実装
自習 CE-CAO-02 -- Simulation and emulation Eng report Youtube How can we validate architecture?
アーキテクチャの妥当性はどのように検証するのか
自習 CE-CAO-0603 Chap.7 Prediction and speculation Eng report Computations can be predicted and then speculated.
計算は予測できる.予測できれば投機できる
自習 APDX05 Chap.14 Structure of virtual machines Jpn Youtube The magic of virtual machines: why many OS can run on single hardware?
たくさんのOSが走る仮想計算機の不思議
発展 APDX06 -- Region-reuse and speculation Jpn Youtube Advanced speculation
発展 APDX07 -- High performance JAVA-VM Jpn Advanced speculation
発展 APDX08 -- Tiny emulation Jpn Youtube New material CPU
発展 APDX09 -- Heterogenious Multithreading Jpn Youtube OROCHI

Class#5001 PBL A1-1 Digital Accelerators by Nakashima

Title AI acceleration by 3'rd generation CGRA
CGRAの基礎と高性能化,AI学習および汎用計算への応用 -狭メモリバンド幅でも高性能を出す知恵と開発事例-
Activities The students can get the practical knowledge of 3'rd generarion CGRA related to the lecture "High-performance computing platforms".
講義「高性能計算基盤」で取り上げる次世代計算基盤「第3世代シストリックアレイ」 の実機を使用して,機械学習を含む高効率計算基盤の実際を体験し,理解を深める.
Tools 高校生向け 社会人向け Youtube
IMAX2 … 3'rd generation CGRA (256 core 10240 parallel instructions)
SSIM … AI program on CGRA
misc. … String search, lightfield image processing, and so on.
Limitation Only for students who finished "High-performance computing platforms".
高性能計算基盤単位取得者のみ受け入れる

Class#5002 PBL A1-2 FPGAによる画像処理(video0/bktr0からの入力とGP600M/GP5V330による画像処理)

Title Ultra speed image processing by large scale FPGAs.
大規模FPGAを使った毎秒600コマ画像処理 (7月)
Activities The students can get the practical knowledge of CAMERA+FPGA system related to the lecture "High-performance computing platforms".
講義「高性能計算基盤」で取り上げる計算基盤「FPGA」を使用して,高速画像処理の 実際を体験し,理解を深める.
Tools Textbook GP600Mマニュアル GP600M仕様 Youtube
GP5V330MF … PCI-e FPGA system (Virtex5)
capture … Stereo camera + frontend + FPGA control software
Limitation Only for students who finished "High-performance computing platforms".
高性能計算基盤単位取得者のみ受け入れる

Class#5003 PBL A1-3 FPGAによる画像処理(スレテオマッチング)

Title Ultra speed stereo matching by large scale FPGAs.
大規模FPGAを使った毎秒600コマ・スレテオマッチング
Activities The students can get the practical knowledge of CAMERA+FPGA system related to the lecture "High-performance computing platforms".
講義「高性能計算基盤」で取り上げる計算基盤「FPGA」を使用して,高速画像処理の 実際を体験し,理解を深める.
Tools Textbook Youtube
GP5V330MF … PCI-e FPGA system (Virtex5)
stereo2 … Stereo camera + frontend + FPGA control software
Limitation Only for students who finished "High-performance computing platforms".
高性能計算基盤単位取得者のみ受け入れる

Class#5004 PBL A1-4 RISC-V32IシミュレータにCGRAをくっつける

Title Attaching CGRA to RISC-V
RISC-VにCGRAをくっつける
Tools RISC-V32IシミュレータにCGRAをくっつける方法 RISC-V32IシミュレータにCGRAをくっつける方法 Youtube
IMAX2 … 3'rd generation CGRA (256 core 10240 parallel instructions)

Class#5005 PBL A1-5 CPU設計とプログラム走行

Title Designing of CPU
CPU設計とプログラム走行
Tools 高校生がRISC-V32IをFPGAで動かす.その1 高校生がRISC-V32IをFPGAで動かす.その2 高校生がRISC-V32IをFPGAで動かす.その3

Class#5006 PBL A1-6 YoloとFPGAによる高速画像認識

Title Image recognition by yolo + FPGA
YoloとFPGAの協調による後続画像認識
Tools ひみつの道具たくさん

Class#5007 PBL A1-7 Openposeによる関節点推定

Title Building openpose system
Openposeシステムの構築
Tools ひみつの道具たくさん

Class#5008A PBL A1-8A STARC実習1 eXCiteを用いた画像アルゴリズム実習(高位合成)

Class#5008B PBL A1-8B STARC実習2 制御アルゴリズムから組込みソフトウェア実装までの体験(ロボット制御)

昔の講義

Class#5000 PBL A1-X アーキテクチャ策定法・シミュレータ設計法

2.1 アーキテクチャとシミュレータとOS
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.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)

Class#0003 情報処理入門 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#0004 基礎情報処理論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 導入
2Windowsの基本操作とメール 0章
3UNIXの基本操作とメール 1章課題に必要なファイル(data01)
4X/プロセス/システム 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#0005 基礎情報処理論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#0006 データベース構築論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データ設計(一貫性・更新変則性・多値従属性・第四正規形)
8SQL
9演習の準備 ★ユーザ登録
10演習の準備
11PostgreSQL(基本)
12PostgreSQL(発展) ★レポート課題

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