【目的】コンピュータのハードウェア体系の基礎をCPU ・メモリ・ I/O装置の主要構成要素の構造や装置相互関係を実際のマイコンのデータフローに基づいて修得する。さらに、アーキテクチャ上のトレードオフ、分散・並列システム、実用システム、ハードウェア記述言語による設計やシミュレーションなどによりCADの使用法の基本も学ぶ。
【到達目標】1)コンピュータの主要な構成要素の動作原理と特性をデータの流れに基づいて説明できる。2)トレードオフ、分散・並列システム、実用システム基礎を理解した上で、コンピュータの主要な構成要素の簡単な動作分析ができる。3)CADの使用方法の基本(ハードウェア記述言語による設計やシミュレーションなど)を実際のマイコンのデータフローと関連付けて理解し、Field programmable gate-array (FPGA) を用いて要求に基づいた簡単な回路設計ができる。この他、授業内で復習を行う教育方法等記載の前提項目、関連するコンピュータシステムやシステム設計で触れる内容についても説明できる。
概要:
プログラムの実行やコンピュータの主な構成要素の並列動作、さらに、Computer Aided Design (CAD) やハードウェア記述言語を用いた設計の基礎を修得する。論理回路Ⅰ・Ⅱ、計算機工学を前提とするため、数の体系や論理回路などの復習も適宜行う。
ユニットⅠ(1週~)では、マイクロコンピュータの制御構造の基礎に関して、各種の構成要素の機能と構成要素間の関係を把握した上で、機械語(アッセンブリ言語)による処理実験を通して用いられている基本技術を理解する。ユニットⅡ(3週~)では、CPU・メモリ・I/O装置等のマイクロコンピュータの主要構成要素に関して、各種サイクル、アドレッシングモード、割込みやタスク制御等の処理を含む基本技術を実際のマイコンのデータフロー等と関連づけて理解する。並行して、機械語(アッセンブリ言語)や測定装置によるCPUの動作実験を通して、基本的な動作分析方法を修得する。ユニットⅢ(10週~)では、CADを用いた回路設計の基礎として、ハードウェア記述言語の学習、及び、実際の使用状況をもとにした要求条件から装置の動作を求め、実際のマイコンのデータフロー等と関連づけてField Programmable Gate Array (FPGA)による基礎的回路設計やシミュレーショ ンによる検証を行う。関連するコンピュータシステム(複数プロセッサの形態/ネットワークで結合された利用形態)、システム設計(要求される機能とコンピュータの関係/設計管理の必要性や手法/待ちキュー)やメモリ構造等も適宜補足する。
授業の進め方・方法:
教室での座学と、実験室(マイコン)及び電算室(FPGA)での実験付き授業形式で行う。ユニットを区切りとして進めるため毎回の授業ではある程度順序等が前後する場合がある。座学と実験とは互いの進度により内容が前後する場合があるが、トータルでは互いに対応した内容となる。
適宜配布する課題シートを使って、演習或いは授業内容の整理に、各自及びグループで取り組む。レポート等に関わる事項について指名による回答を求める場合があるので、各自で考えて答える。基本及び応用情報処理技術者試験(主としてコンピュータシステムに関わる技術・プログラム言語など)にも触れる。原則的に毎回の授業の冒頭は復習に充てるので、前回授業を思い出して当該回の授業に備える。
この科目は学修単位科目のため、事前・事後学習としてレポートやオンラインテストを実施し、実験については機器の取り扱いは座学時間で行うが原則として自学自習に割り当てられた時間等に実験室や電算室を使用して各自(各グループ)で行う。
また、この科目は企業で通信・分散プロセッシングを担当していた教員が、その経験を活かしコンピュータシステムに関わる設計手法などについて実験付き講義形式で授業を行うものである。
注意点:
授業の予習・復習及び演習については自学自習により取り組み学習する。
板書とスライド(パワーポイント)を併用するが、時間は確保するので各自でノートをとり復習等に役立てる。
授業で配布する課題シートは、特に指示しない限り当該回の授業内に提出する。その他のレポート等も必ず指定期日までに提出する。
授業全体を通し、a)グループ内で役割を持って実験ができ、b)CPUとI/O等の並列動作するコンピュータのハードウェアとソフトウェアの関係を理解し、c)マイクロコンピュータ及びCADを用いたシステム設計実験と知識習得を相補的に取り組むことが望まれる。
定期試験だけでなく予習・復習の自学自習も含めて評価されるので、自学自習の習慣を身につけることが必要。HB鉛筆、消しゴムと消えない赤ボールペンを持参する。
|
|
週 |
授業内容 |
週ごとの到達目標 |
後期 |
3rdQ |
1週 |
マイクロコンピュータの制御構造(1) |
マイクロコンピュータを構成する装置の相互関係が理解できる(1)。
|
2週 |
マイクロコンピュータの制御構造(2) |
マイクロコンピュータを構成する装置の相互関係を理解し説明できる(1)。機械語/アッセンブラ実験が行える(1)。
|
3週 |
マイクロコンピュータの主要構成要素(1) |
CPU概略、バス、I/O装置(1):各種サイクルを理解し説明できる。機械語/アッセンブラ実験が行える(2)。
|
4週 |
マイクロコンピュータの主要構成要素(2) |
CPU概略、バス、I/O装置(2):各種サイクルが実際のマイコンのデータフロー等と関連づけて理解できる。機械語/アッセンブラ実験が行える(3)。
|
5週 |
マイクロコンピュータの主要構成要素(3) |
CPU概略、バス、I/O装置(3):入出力を実際のマイコンのデータフロー等と関連づけて理解し説明できる。機械語/アッセンブラ実験が行える(4)。 6週マイクロコンピュータの主要構成要素(4) 割込みと各種装置を実際のマイコンのデータフロー等と関連づけて理解し説明できる(2)。演習とチェックを行う。割込み、各種装置を理解し説明できる(1)。演習(提出)を行う。CPU処理測定と分析実験が行える(1)。
|
6週 |
マイクロコンピュータの主要構成要素(4) |
割込みと各種装置を実際のマイコンのデータフロー等と関連づけて理解し説明できる(2)。演習とチェックを行う。割込み、各種装置を理解し説明できる(1)。演習(提出)を行う。CPU処理測定と分析実験が行える(1)。
|
7週 |
マイクロコンピュータの主要構成要素(5) |
割込みと各種装置を実際のマイコンのデータフロー等と関連づけて理解し説明できる(2)。演習とチェックを行う。メモリとCPU(1):メモリ空間が理解できる。CPU処理測定と分析実験が行える(2)。
|
8週 |
前期中間試験 |
マイクロコンピュータを構成する装置とその関係データフローに基づき理解し説明できる。
|
4thQ |
9週 |
マイクロコンピュータの主要構成要素(6) |
メモリとCPU(2):アドレッシングモード、実用システム、分散処理の導入を実際のマイコンのデータフロー等と関連づけて理解し説明できる。CPU処理測定と分析実験が行える(3)。演習の続き(提出)を行う。
|
10週 |
CADとFPGA導入 |
メモリとCPU(3):インタフェースを実際のマイコンのデータフロー等と関連づけて理解し説明できる。FPGAとハードウェア記述言語概略を理解し説明できる。FPGA導入実験が行える。
|
11週 |
CADとFPGA(1) |
CADとハードウェア記述言語を実際のマイコンのデータフロー等と関連づけて理解し説明できる(1)。FPGA実験が行える(1)。
|
12週 |
CADとFPGA(2) |
CADとハードウェア記述言語を実際のマイコンのデータフロー等理解し説明できる(2)。シミュレーションが行える。FPGA実験が行える(2)。演習(提出)を行う。
|
13週 |
CADとFPGA(3) |
"CADとハードウェア記述言語を実際のマイコンのデータフロー等理解し説明できる(3)。要求分析が行える(1)。FPGA実験が行える(3)。演習(提出)を行う。"
|
14週 |
CADとFPGA(4) |
CADとハードウェア記述言語を実際のマイコンのデータフロー等理解し説明できる(4)。要求分析が行える(2)。FPGA実験が行える(4)。演習とチェックを行う。
|
15週 |
前期末試験 |
マイクロコンピュータの構成をデータフローに基づき理解し説明できる。CAD、ハードウェア記述言語、FPGAの基本と設計方法を理解し説明できる。
|
16週 |
CADとFPGA(5)、復習 |
FPGA実験が行える(5)。復習演習の続き(提出)を行う。
|
分類 | 分野 | 学習内容 | 学習内容の到達目標 | 到達レベル | 授業週 |
専門的能力 | 分野別の専門工学 | 情報系分野 | プログラミング | プロシージャ(または、関数、サブルーチンなど)の概念を理解し、これらを含むプログラムを記述できる。 | 1 | |
与えられた問題に対して、それを解決するためのソースプログラムを記述できる。 | 1 | |
ソフトウェア生成に必要なツールを使い、ソースプログラムをロードモジュールに変換して実行できる。 | 1 | |
要求仕様に従って、標準的な手法により実行効率を考慮したプログラムを設計できる。 | 2 | |
ソフトウェア | アルゴリズムの概念を説明できる。 | 2 | |
与えられたアルゴリズムが問題を解決していく過程を説明できる。 | 2 | |
同一の問題に対し、それを解決できる複数のアルゴリズムが存在しうることを説明できる。 | 1 | |
整列、探索など、基本的なアルゴリズムについて説明できる。 | 1 | |
コンピュータ内部でデータを表現する方法(データ構造)にはバリエーションがあることを説明できる。 | 2 | |
リスト構造、スタック、キュー、木構造などの基本的なデータ構造の概念と操作を説明できる。 | 2 | |
計算機工学 | 整数・小数をコンピュータのメモリ上でディジタル表現する方法を説明できる。 | 4 | |
基数が異なる数の間で相互に変換できる。 | 4 | |
整数を2進数、10進数、16進数で表現できる。 | 4 | |
小数を2進数、10進数、16進数で表現できる。 | 4 | |
基本的な論理演算を行うことができる。 | 4 | |
基本的な論理演算を組合わせて、論理関数を論理式として表現できる。 | 4 | |
論理式の簡単化の概念を説明できる。 | 4 | |
簡単化の手法を用いて、与えられた論理関数を簡単化することができる。 | 4 | |
論理ゲートを用いて論理式を組合せ論理回路として表現することができる。 | 4 | |
与えられた組合せ論理回路の機能を説明することができる。 | 4 | |
組合せ論理回路を設計することができる。 | 4 | |
フリップフロップなどの順序回路の基本素子について、その動作と特性を説明することができる。 | 4 | |
レジスタやカウンタなどの基本的な順序回路の動作について説明できる。 | 4 | |
与えられた順序回路の機能を説明することができる。 | 4 | |
順序回路を設計することができる。 | 4 | |
コンピュータを構成する基本的な要素の役割とこれらの間でのデータの流れを説明できる。 | 4 | |
プロセッサを実現するために考案された主要な技術を説明できる。 | 4 | |
メモリシステムを実現するために考案された主要な技術を説明できる。 | 4 | |
入出力を実現するために考案された主要な技術を説明できる。 | 4 | |
コンピュータアーキテクチャにおけるトレードオフについて説明できる。 | 4 | |
ハードウェア記述言語など標準的な手法を用いてハードウェアの設計、検証を行うことができる。 | 4 | |
要求仕様に従って、標準的なプログラマブルデバイスやマイコンを用いたシステムを構成することができる。 | 4 | |
コンピュータシステム | ネットワークコンピューティングや組込みシステムなど、実用に供せられているコンピュータシステムの利用形態について説明できる。 | 4 | |
デュアルシステムやマルチプロセッサシステムなど、コンピュータシステムの信頼性や機能を向上させるための代表的なシステム構成について説明できる。 | 4 | |
集中処理システムについて、それぞれの特徴と代表的な例を説明できる。 | 4 | |
分散処理システムについて、特徴と代表的な例を説明できる。 | 4 | |
システム設計には、要求される機能をハードウェアとソフトウェアでどのように実現するかなどの要求の振り分けやシステム構成の決定が含まれることを説明できる。 | 4 | |
ユーザの要求に従ってシステム設計を行うプロセスを説明することができる。 | 4 | |
プロジェクト管理の必要性について説明できる。 | 4 | |
WBSやPERT図など、プロジェクト管理手法の少なくとも一つについて説明できる。 | 4 | |
ER図やDFD、待ち行列モデルなど、ビジネスフロー分析手法の少なくとも一つについて説明できる。 | 4 | |
システムプログラム | コンピュータシステムにおけるオペレーティングシステムの位置づけを説明できる。 | 1 | |
情報数学・情報理論 | 集合に関する基本的な概念を理解し、集合演算を実行できる。 | 2 | |
集合の間の関係(関数)に関する基本的な概念を説明できる。 | 2 | |
ブール代数に関する基本的な概念を説明できる。 | 2 | |
論理代数と述語論理に関する基本的な概念を説明できる。 | 2 | |
分野別の工学実験・実習能力 | 情報系分野【実験・実習能力】 | 情報系【実験・実習】 | 与えられた問題に対してそれを解決するためのソースプログラムを、標準的な開発ツールや開発環境を利用して記述できる。 | 3 | |
ソフトウェア生成に利用される標準的なツールや環境を使い、ソースプログラムをロードモジュールに変換して実行できる。 | 1 | |
ソフトウェア開発の現場において標準的とされるツールを使い、生成したロードモジュールの動作を確認できる。 | 1 | |
与えられた仕様に合致した組合せ論理回路や順序回路を設計できる。 | 3 | |