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