マイクロコンピュータ

科目基礎情報

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

到達目標

前期:
1. データをディジタル表現する原理とディジタル表現されたデータを処理する原理を理解し、データを処理するための簡単な回路を設計できること。
2. ディジタルコンピュータの構成や実際に用いられる構成要素の機能を理解し、その中で利用されている主要な技術を理解していること。
後期:
1.プログラム記憶方式コンピュータの基本構成を理解する
2.マイクロプロセッサの構成と基本的な動作を理解する
3.パソコンとクロスアセンブラにより,小規模なプログラム開発ができる

ルーブリック

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

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

学習・教育到達度目標 2 情報システムを支えるハードウェアやネットワーク等の基盤技術の修得
学習・教育到達度目標 3 実習を通した、情報システムの設計、開発、提供に必要なコミュニケーション能力の育成

教育方法等

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

評価割合

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