概要:
コンピュータの仕組みとそれを利用するための知識と技術の習得に向けて,マイクロプロセッサの基本構成と動作原理を理解する。
前期では主に、AVRによる実習ボードを用いて,マイクロプロセッサの基本的な動作を理解するためのC言語(アセンブリ言語)によるプログラミング実習を行う。
後期では主に、MIPSアーキテクチャのCPU実習ボードを用いて、CPU内部のアーキテクチャや、命令レベルおよびクロックレベルでのCPUの動作を理解するために、機械語とアセンブリ言語によるプログラミング実習を行う
授業の進め方・方法:
1. Blackboard上の参考文献を実験・実習指針として用いて,自律的に学習を進める。
2. 各自報告書を提出することにより,各課題に関する検討考察および学習内容などについて,指導教員に報告する。
3. 学生同士,あるいは教員を交えてのディスカッションを積極的に展開し,それらの内容もノートに学習記録として残す。
注意点:
本科目は,ディジタル技術基礎,プログラミング基礎,ディジタル技術,プログラミング,ディジタルシステムA及びB,組み込みシステム,コンピュータアーキテクチャと関連する。
|
|
週 |
授業内容 |
週ごとの到達目標 |
前期 |
1stQ |
1週 |
ガイダンス |
マイクロプロセッサが世の中でどのように使われているか、また、マイクロプロセッサで何ができるかを説明できる
|
2週 |
数の表現、算術演算、論理演算
|
コンピュータで用いられる(固定ビット長の)2進数での数の表現を説明できる。2 2つの数の間での算術演算、論理演算(ビット演算)を説明できる。
|
3週 |
CPUの構成 |
ノイマン型コンピュータの構成について,概要を説明できる
|
4週 |
AVR実習ボードによる実習のガイダンス |
AVR実習ボードおよび開発ツールの利用の仕方を学び、実習を実行できるようになる。
|
5週 |
C言語によるマイクロプロセッサプログラミング |
C言語によるマイクロプロセッサプログラミングの流れを理解し、AVR実習ボードでC言語による開発を行えるようになる
|
6週 |
I/O、算術演算、論理演算 |
I/Oおよび算術・論理演算を扱うプログラムを実装し、実習ボードで実行することができる。また、そのプログラムの動作を説明できる
|
7週 |
I/O、算術演算、論理演算 |
I/Oおよび算術・論理演算を扱うプログラムを実装し、実習ボードで実行することができる。また、そのプログラムの動作を説明できる
|
8週 |
チャタリング サブルーチン |
入力デバイスでのチャタリングについて説明ができる。プログラムでチャタリング対策をおこなうことができる サブルーチンを適切に用いて可読性、保守性の高いプログラムを作成できる
|
2ndQ |
9週 |
割込み処理 |
割り込みの概念を説明できる。外部割込み処理によるプログラミングができる。
|
10週 |
割込み処理
|
割り込みの概念を説明できる。外部割込み処理によるプログラミングができる。
|
11週 |
割り込み処理 |
割り込みの概念を説明できる。外部割込み処理によるプログラミングができる。
|
12週 |
タイマ・カウンタ |
タイマ及びカウンタの動作を説明できる。タイマ・カウンタを利用したプログラミングができる。
|
13週 |
タイマ・カウンタ |
タイマ及びカウンタの動作を説明できる。タイマ・カウンタを利用したプログラミングができる。
|
14週 |
タイマ・カウンタ |
タイマ及びカウンタの動作を説明できる。タイマ・カウンタを利用したプログラミングができる。
|
15週 |
振り返り |
今学期を振り返り,達成目標について自己評価を行う.
|
16週 |
予備 |
|
後期 |
3rdQ |
1週 |
機械語、アセンブリ言語
|
機械語、アセンブリ言語とは何かを説明できる。コンパイラ、アセンブラの働きの概要を説明できる。機械語が格納され、実行されることを理解する。
|
2週 |
MIPSアーキテクチャ(ハードウェア) |
MIPSアーキテクチャのハードウェア的な仕様の概略を説明できる。
|
3週 |
MIPSアーキテクチャ(ソフトウェア) |
MIPSアーキテクチャのソフトウェア的仕様(命令セット)の概略を説明できる。 簡単なハンドアセンブルを行うことができる。
|
4週 |
MIPS CPU実習ボードによる実習のガイダンス |
MIPS CPU実習ボードおよびその開発環境の使い方を学び実習を行えるようになる。
|
5週 |
アセンブリ言語によるマイクロプロセッサプログラミング |
アセンブリ言語を用いたプログラミングの流れを理解し、実習ボード上でプログラムを実行できるようになる。
|
6週 |
データ転送(I/O)、算術演算、論理演算 |
レジスタ間での算術論理演算命令、メモリとのデータ転送命令の動作を理解し説明できる
|
7週 |
データ転送(I/O)、算術演算、論理演算 |
レジスタ間での算術論理演算命令、メモリとのデータ転送命令の動作を理解し説明できる
|
8週 |
データ転送(I/O)、算術演算、論理演算 |
レジスタ間での算術論理演算命令、メモリとのデータ転送命令の動作を理解し説明できる
|
4thQ |
9週 |
分岐、条件分岐 |
分岐、条件分岐命令の動作を理解し説明できる。
|
10週 |
分岐、条件分岐 |
分岐、条件分岐命令の動作を理解し説明できる。
|
11週 |
分岐、条件分岐 |
分岐、条件分岐命令の動作を理解し説明できる。
|
12週 |
サブルーチン、スタック |
サブルーチン呼出しを行うプログラミング方法を理解し、実装することができる サブルーチン呼出しが行われたときメモリ空間の内容がどの様に変化するかを説明できる。
|
13週 |
サブルーチン、スタック |
サブルーチン呼出しを行うプログラミング方法を理解し、実装することができる サブルーチン呼出しが行われたときメモリ空間の内容がどの様に変化するかを説明できる。
|
14週 |
サブルーチン、スタック |
サブルーチン呼出しを行うプログラミング方法を理解し、実装することができる サブルーチン呼出しが行われたときメモリ空間の内容がどの様に変化するかを説明できる。
|
15週 |
ふりかえり |
今学期を振り返り,達成目標について自己評価を行う.
|
16週 |
予備 |
|
分類 | 分野 | 学習内容 | 学習内容の到達目標 | 到達レベル | 授業週 |
基礎的能力 | 工学基礎 | 工学実験技術(各種測定方法、データ処理、考察方法) | 工学実験技術(各種測定方法、データ処理、考察方法) | 実験テーマの目的に沿って実験・測定結果の妥当性など実験データについて論理的な考察ができる。 | 1 | 前7,前11,前14,後8,後11,後14 |
実験ノートや実験レポートの記載方法に沿ってレポート作成を実践できる。 | 1 | 前7,前11,前14,後8,後11,後14 |
情報リテラシー | 情報リテラシー | コンピュータのハードウェアに関する基礎的な知識を活用できる。 | 2 | 前1,前3,前7,前8,前11,前14,後5,後11,後14 |
数値計算の基礎が理解できる | 2 | |
コンピュータにおける初歩的な演算の仕組みを理解できる。 | 3 | 前2,前3,前6,前7,後8 |
データの型とデータ構造が理解できる | 1 | |
専門的能力 | 分野別の専門工学 | 電気・電子系分野 | 情報 | 基本的なアルゴリズムを理解し、図式表現できる。 | 2 | 前5,前8,後11 |
プログラミング言語を用いて基本的なプログラミングができる。 | 2 | 前8 |
整数、小数を2進数、10進数、16進数で表現できる。 | 3 | 前2 |
基数が異なる数の間で相互に変換できる。 | 3 | 前2 |
情報系分野 | プログラミング | 変数とデータ型の概念を説明できる。 | 3 | |
代入や演算子の概念を理解し、式を記述できる。 | 2 | |
制御構造の概念を理解し、条件分岐や反復処理を記述できる。 | 3 | 前11,前14,後11,後14 |
プロシージャ(または、関数、サブルーチンなど)の概念を理解し、これらを含むプログラムを記述できる。 | 3 | 前8,前11,前14,後14 |
与えられた問題に対して、それを解決するためのソースプログラムを記述できる。 | 3 | 前5,前6,前7 |
ソフトウェア生成に必要なツールを使い、ソースプログラムをロードモジュールに変換して実行できる。 | 2 | 前5 |
主要な言語処理プロセッサの種類と特徴を説明できる。 | 2 | 前1 |
ソフトウェア | コンピュータ内部でデータを表現する方法(データ構造)にはバリエーションがあることを説明できる。 | 2 | 後1,後2,後3,後11,後14 |
リスト構造、スタック、キュー、木構造などの基本的なデータ構造の概念と操作を説明できる。 | 2 | 後14 |
計算機工学 | 整数・小数を2進数、10進数、16進数で表現できる。 | 2 | 前2,後1,後3 |
整数・小数をコンピュータのメモリ上でディジタル表現する方法を説明できる。 | 1 | 前2,前6,前7 |
基数が異なる数の間で相互に変換できる。 | 2 | 前2 |
コンピュータを構成する基本的な要素の役割とこれらの間でのデータの流れを説明できる。 | 2 | 前3,前6,前7,後1,後2,後3,後11,後14 |
プロセッサを実現するために考案された主要な技術を説明できる。 | 2 | 前3,後2,後3,後11,後14 |
メモリシステムを実現するために考案された主要な技術を説明できる。 | 2 | 後2,後8,後14 |
入出力を実現するために考案された主要な技術を説明できる。 | 2 | 前6,前7,前8,後2,後3,後8 |
情報数学・情報理論 | コンピュータ上での数値の表現方法が誤差に関係することを説明できる。 | 2 | |
分野別の工学実験・実習能力 | 情報系分野【実験・実習能力】 | 情報系【実験・実習】 | 与えられた問題に対してそれを解決するためのソースプログラムを、標準的な開発ツールや開発環境を利用して記述できる。 | 2 | 前4,前6,前7,前9,前10,前11,後4,後5 |
ソフトウェア生成に利用される標準的なツールや環境を使い、ソースプログラムをロードモジュールに変換して実行できる。 | 2 | 前6,前7,後4,後5 |
与えられた数値を別の基数を使った数値に変換できる。 | 2 | |