マイクロコンピュータ基礎

科目基礎情報

学校 仙台高等専門学校 開講年度 平成29年度 (2017年度)
授業科目 マイクロコンピュータ基礎
科目番号 0216 科目区分 専門 / 必修
授業形態 授業 単位の種別と単位数 履修単位: 2
開設学科 情報システム工学科 対象学年 3
開設期 通年 週時間数 2
教科書/教材 ディジタル技術
担当教員 力武 克彰,小林 秀幸

目的・到達目標

1.プログラム記憶方式コンピュータの基本構成を理解する
2.マイクロプロセッサの構成と基本的な動作を理解する
3.マイクロプロセッサの命令形式およびアドレス方式を理解する
4.ハンドアセンブルによる簡単なプログラミングおよびデバッグができる
5.パソコンとクロスアセンブラにより,小規模なプログラム開発ができる

ルーブリック

理想的な到達レベルの目安標準的な到達レベルの目安未到達レベルの目安
レポートレポートの構成(目的、手法、結果、考察)が整っている。 各項目において、必要十分な内容が記載されており、追試可能な抽象度(具象度)で書かれている。 手法、結果と考察の間に十分な対応がとられている。 考察では、実習内容に加え、発展的な内容についても記述されているレポートの構成(目的、手法、結果、考察)が整っている。 各項目において、必要な内容が記載されている。 手法、結果と考察の間に一部対応がとられている。レポートの構成(目的、手法、結果、考察)が整っておらず、一部かけている。 各項目において、必要な内容が記載されていない。 手法、結果と考察の間に一部対応が取られていない。
内容理解課題で与えられた動作仕様を十分に満たすプログラムを実装できている。 実装したプログラムの動作をPAD図などを用いて説明できる。 保守性・可読性・拡張性に優れたプログラムを実装できる与えらえたサンプルプログラムの動作を説明できる。 課題で与えられた動作仕様を(ほぼ)満たすプログラムを実装できている。 実装したプログラムの動作を一部説明できる。与えられたサンプルプログラムの動作を説明できない。 課題で与えられた動作仕様を満たすプログラムを実装できていない。

学科の到達目標項目との関係

教育方法等

概要:
コンピュータの仕組みとそれを利用するための知識と技術の習得に向けて,マイクロプロセッサの基本構成と動作原理を理解する。
前期では主に、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週 予備

評価割合

試験レポート合計
総合評価割合4060100
基礎的能力152035
専門的能力152035
分野横断的能力102030