コンピュータシステム実験(Computer Engineering Laboratory)
本科選択・必修開設時期単位数授業形態担 当
情報電子必修4年4実験新田貴之(通年) 柳澤秀明(通年) 守川和夫(前期)
【授業の概要】
半期単位の大実験方式で、もの作りを通してコンピュータシステムの動きを体得させる。後期実験については、実験で利用するボードマイコンを変更する可能性があり、システム変更については、後期のガイダンスで説明する。
【授業の進め方】
前期:各テーマの前半は十分な講義を行い、実現に必要な技術を解説する。テーマの中盤は各自が実現方法を考えシステムの設計を行う。
後期:実験のはじめに設計方法の解説を行い、実装できた時点で動作確認する。
各回の実験は240分で行う。ただし、時間割で実施日の最終時間に割り振りができなかった場合は、別に授業を行い時間を確保する。
【授業計画】 【授業項目】 【内 容】
1 回 ガイダンス 前期の実験内容について、ガイダンスをする。
2 回 FPGAとVHDLによる回路設計 FPGAの仕組みについて解説し、VHDLを使用したFPGAの回路設計の概要を講義する。
3 回 VHDLの記述 VHDLの基本的な記述方法について講義する。
4 回 開発システムの使用方法 開発システムの使用方法を講義した後、実際に簡単なVHDL記述から回路を作成する演習を行う。
5 回 回路設計(1) マルチプレクサ、デコーダ、エンコーダを実装する。
6 回 回路設計(2) 各種のカウンタを実装する。
7 回 回路設計(3) 7セグメントデコーダを実装する。
8 回 回路設計(4) 60秒時計を実装する。
9 回 回路設計(5) ALUを実装する。
10 回 回路設計(6) ステートマシンを実装する。
11 回 プロセッサの設計(1) プロセッサの仕様にもとづいて回路構成図、評価プログラムを作成する。
12 回 プロセッサの設計(2) 命令フェッチサイクルを実装する。
13 回 プロセッサの設計(3) 命令実行サイクルを設計し、基本機能を持ったプロセッサを実装する。
14 回 プロセッサの設計(4) 命令と機能を追加したプロセッサを実装する。
15 回 発表会 実装したプロセッサのデモを行う。
16 回 ガイダンス 後期の実験で作成するデジタル時計と、時計の核になるH8マイコンを紹介する。
17 回 マイコンのアーキテクチャ H8マイコンの命令セットアーキテクチャについて学習する。
18 回 アセンブリ言語(1) アセンブリ言語の文法とクロス開発環境について学習した後、ランプを点滅させる例題プログラムを作成する。
19 回 アセンブリ言語(2) スイッチとランプを使用した例題プログラムを作成する。
20 回 アセンブリ言語(3) プログラムでスイッチのチャタリングを防止する方法を考えてアセンブリ言語でプログラムする。
21 回 割込み処理(1) 割り込みの動きを確認する簡単なプログラムを作成する。
22 回 割込み処理(2) ランプの点滅やチャタリングの防止を、タイマー割込みを用いたプログラムで実現する。
23 回 クロスコンパイラ クロスコンパイラの使用方法を学習した後、コンパイラの出力する機械語を確認しスタートアップルーチンを作成する。
24 回 サポートルーチン(1) 教員が作成したサポートルーチンの機能を学習し、これを使用する簡単なプログラムを作成する。
25 回 サポートルーチン(2) 教員が作成したサポートルーチンを使用して、スピーカとLCDを制御してみる。その後、次回から作成するデジタル時計の仕様を決定する。
26 回 プログラム作成(1) 前回、自分が決めた仕様に従いプログラムを作成する。
27 回 プログラム作成(2) 同上
28 回 プログラム作成(3) 同上
29 回 発表会準備 作成した時計プログラムについて発表の準備をする。
30 回 発表会 作成した時計プログラムについて発表する。
【到達目標】ハードウエアとソフトウエアの関連を的確に理解し、実装上のトレードオフを考えることができるようになる。
【徳山高専学習・教育目標】B1【JABEE基準1(1)】d-2b
【評価法】学年末評価=(前期評価+後期評価)/2
前期評価=テーマ実験(動作確認・レポート;60点)+プロセッサの設計(デモ・レポート;40点)
後期評価=発表評価点(25点満点)+作品提出点(25点満点)+作品評価点(50点満点)
【テキスト】コンピュータシステム実験指導書
【関連科目】電子工学実験(3年)、情報システム実験(5年)