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で表現できる円周率の精度は?(精度の理解) | |
問10 | CPU/GPUはAIやBCに最適?(新計算原理の理解) | |
全滅の人 | 悔しい人は情報理工学序論のビデオを見る.何も感じない人は,勉強やめて,人のプログラム買って小作人になる | |
1問以上正解 | 頑張ればプロになれる.インターンシップへgo! Youtube | |
全問正解者 | 次世代計算へgo! 今日からはじめるCGLA(non-CGRA) Youtube |
Class#2001 Introduction to Information Science and Engineering
Haizoku
Eduport2024
Video
Youtube
Edusys
(new)Eduport
(old)Scoring
Objectives | "Dive Deep into the Heart of Computer Systems: Unlocking Digital Creativity" In a world where merely riding the wave of sophisticated overseas platforms as passive digital participants leads to stagnating innovation, creating energy-efficient, sustainable, and groundbreaking computer systems remains a distant dream. This course embarks on a journey to explore the core elements of computer systems: hardware, compilers, operating systems, programming languages, data structures, and algorithms. Participants will delve into the fundamentals and emerging trends, fostering a comprehensive understanding. By the end of this course, students will grasp the importance of foundational knowledge in areas such as program execution principles, memory management, execution time, power efficiency, and computational complexity. 重層的海外プラットフォームをブラックボックスとして利用し、ただ乗っかるだけのデジタル小作人に甘んじるようでは、例えばエネルギー効率の高い、持続的・革新的コンピュータシステムを生み出すことなど到底できない。本講義では、コンピュータシステムの根幹を成す、ハードウェア、コンパイラ、オペレーティングシステム、プログラミング言語、データ構造、アルゴリズムについて、各々の基本、および、最近のトレンドを学ぶ。履修の結果、プログラムが動く原理、メモリ空間、実行時間、電力効率、計算量などに関する基礎知識がいかに重要であるかを理解できるようになる。 |
Activities | This course delves into various aspects of computer science, covering hardware (computation, memory, new computing principles), operating systems (virtualization, processes, I/O), programming languages (procedural, object-oriented), data structures (arrays, lists, trees, graphs), algorithms, and computational complexity (sorting), as well as graph algorithms (searching). The evaluation will be based on submitting reports (8 total), with one report to be submitted after each session. この講義では、ハードウェア(演算、記憶、新計算原理)、オペレーティングシステム(仮想化、プロセス、I/O)、プログラミング言語(手続き型、オブジェクト指向)、データ構造(配列、リスト、木構造、グラフ)、アルゴリズムと計算量(整列)、グラフアルゴリズム(探索)について扱う。単位認定は、毎回提出のレポート(計8回)による。 |
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 |
0 | CE-CAO-00 CE-CAO-0301 CE-CAO-0303 CE-CAO-0702 |
Chap.0 | Computer Architecture | Eng report | Mechanism how programs are executed on computers and the importance of cache memory プログラムが動く仕組み,キャッシュメモリの重要性を理解する. |
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 | 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 | 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 | Expression 情報の表現 |
自習 | 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#4136 Green Computing Platforms
Haizoku
Eduport2024
Video
Youtube
Edusys
(new)Eduport
(old)Scoring
Objectives | While the social implementation of AI is rapidly spreading, the miniaturization of semiconductors, essential for reducing the power consumption of computer systems, has reached its physical limit, and the energy problems of AI systems are becoming more serious. First, understand how the CPU/GPU "simulates" programming languages using machine language instructions. Next, learn about high-speed and low-power technologies that are promising in the future. In the second half, you will learn about computer systems specializing in AI and security. Not only students who want to become hardware engineers/researchers but also students who need a more power-efficient computing platform as software engineers/researchers will be able to consider program execution methods from various angles. AIの社会実装が急速に広まる一方で、コンピュータシステムの低電力化に必須の半導体微細化は物理限界に達しており、AIシステムのエネルギー問題が深刻化している。まず、プログラミング言語を機械語命令により「シミュレート」するCPU/GPUの仕組みを理解する。次に、今後有望な高速化・低電力化技術について学ぶ。後半は、AIやセキュリティに特化したコンピュータシステムについて学ぶ。ハードウェア技術者/研究者になりたい学生に限らず,ソフトウェア技術者/研究者としてより電力効率の高い計算基盤を必要とする学生が、様々な角度からプログラム実行方式を検討できるようになることを目的とする. |
Activities | ILP (Pipeline, Superscalar, VLIW), DLP (Vector processor, GPU), DSA (FPGA, CGRA), TLP (Shared memory, Distributed memory), and Special Purpose Computing Platforms (Neural net accelerator, Hyperdimensional computation, Blockchain, Cryptographic accelerators). ILP(パイプライン,スーパスカラ,VLIW),DLP(ベクトル演算機構,GPU),DSA(FPGA,CGRA),TLP(共有メモリ,分散メモリ),専用計算基盤(ニューラルネット・アクセラレータ,超次元計算,ブロックチェイン・アクセラレータ,暗号アクセラレータ)について、順に学ぶ。 |
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 | Computrers have tradeoffs between compatibility and complexity. 互換性と複雑さはトレードオフの関係にある |
2 | CE-CAO-1001 DLP Nakashima | Chap.9 | Vector accelerator and GPU | Eng report | 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 | How can we manage huge number of calclation? 大量の演算器を制御する方法とは |
4 | CE-CAO-11 TLP Nakashima | Chap.15 | Multicores and Distributed memory system | Eng report | The pros and cons of distributed-memory systems and shared-memory systems 主記憶共有型と分散型の長所と短所 |
5 | CE-CAO-2005 CiM Kan | -- | Analog Computing in Memory for Neural Networks | Eng report | Analog Computing in Memory for Neural Networks アナログ・アクセラレータ |
6 | CE-CAO-2006 PiM Kan | -- | Digital Unconventional Computing | Eng report | Digital Unconventional Computing デジタル新原理計算 |
7 | CE-CAO-2007 BC Luan | -- | Blockchain Accelerators | Eng report | Blockchain Accelerators ブロックチェイン・アクセラレータ |
8 | CE-CAO-2008 CRYPTO Duong | -- | Cryptographic Accelerators | Eng report | Cryptographic Accelerators 暗号アクセラレータ |
自習 | CE-CAO-02 | -- | Simulation and emulation | Eng report | How can we validate architecture? アーキテクチャの妥当性はどのように検証するのか |
自習 | CE-CAO-0601 | Chap.2 | The basics of calculation unit | Jpn | Structure of Calculation unit 演算器の構造 |
自習 | 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 | The magic of virtual machines: why many OS can run on single hardware? たくさんのOSが走る仮想計算機の不思議 |
発展 | APDX06 | -- | Region-reuse and speculation | Jpn | Advanced speculation |
発展 | APDX07 | -- | High performance JAVA-VM | Jpn | Advanced speculation |
発展 | APDX08 | -- | Tiny emulation | Jpn | New material CPU |
発展 | APDX09 | -- | Heterogenious Multithreading | Jpn | OROCHI |
Class#5001 PBL A1 Digital Accelerators
Title |
AI acceleration by 3'rd generation CGLA(non-CGRA)
CGLA(non-CGRA)の基礎と高性能化,AI学習および汎用計算への応用 -狭メモリバンド幅でも高性能を出す知恵と開発事例- |
Activities |
The students can get the practical knowledge of 3'rd generarion CGLA(non-CGRA) related to the lecture "Green Computing Platforms".
講義「グリーンコンピューティング基盤」で取り上げる次世代計算基盤「第3世代シストリックアレイ」 の実機を使用して,機械学習を含む高効率計算基盤の実際を体験し,理解を深める. |
Tools |
高校生向け
社会人向け
Youtube IMAX2 … 3'rd generation CGLA(non-CGRA) (256 core 10240 parallel instructions) SSIM … AI program on CGLA(non-CGRA) misc. … String search, lightfield image processing, and so on. |
Limitation |
Only for students who finished "Green Computing Platforms".
グリーンコンピューティング基盤単位取得者のみ受け入れる |
Class#5002 PBL A2 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 "Green 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 "Green Computing Platforms".
グリーンコンピューティング基盤単位取得者のみ受け入れる |
Class#5003 PBL A3 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 "Green 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 "Green Computing Platforms".
グリーンコンピューティング基盤単位取得者のみ受け入れる |
Class#5005 PBL A4 CPU(RISC-V)設計とプログラム走行
Class#5004 PBL A5 RISC-V32IシミュレータにCGLA(non-CGRA)をくっつける
Title |
Attaching CGLA(non-CGRA) to RISC-V
RISC-VにCGLA(non-CGRA)をくっつける |
Tools |
RISC-V32IシミュレータにCGLA(non-CGRA)をくっつける方法
RISC-V32IシミュレータにCGLA(non-CGRA)をくっつける方法
Youtube IMAX2 … 3'rd generation CGLA(non-CGRA) (256 core 10240 parallel instructions) |
昔の講義
Class#5000 PBL AX アーキテクチャ策定法・シミュレータ設計法
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) |
並列EMAX6/ARM64シミュレータ(proj-arm64/src/csim) |
並列RISCV32シミュレータ(proj-riscv32/src/dsim) |
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) |
(再掲)並列EMAX6/ARM64シミュレータ(proj-arm64/src/csim) |
(再掲)並列RISCV32シミュレータ(proj-riscv32/src/dsim) |
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) |
Text | Description | ||
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) |
Text | Data | ||
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#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) |
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) |
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) |