到達目標
1.真理値表が与えられたとき、論理式を求めて論理回路を設計できる。
2.C言語で書かれたプログラムをアセンブラ言語で表現できる。
3.アセンブラ言語で書かれたプログラムを実現するプロセッサの回路動作を説明できる。
4.CPUのアーキテクチャに基づいて、高速に機器を制御するときのC言語でのコーディング方法を説明できる。
ルーブリック
| 理想的な到達レベルの目安 | 標準的な到達レベルの目安 | 未到達レベルの目安 |
ブール代数、論理回路の基礎知識を修得 | 制御目的に関する真理値表を作成し、論理式を求めて論理回路を設計できる。さらに、ハザードの問題などを解決できる。 | 制御目的に関する真理値表を作成し、論理式を求めて論理回路を設計できる。 | 制御目的に関する真理値表を作成し、論理式を求めて論理回路を設計できない。 |
プログラムとプロセッサの回路との関係を修得 | アセンブラ言語で書かれたプログラムを実現するプロセッサの回路動作を説明できる。逐次型とパイプライン型のプロセッサでの実行時間を見積もることができる。 | アセンブラ言語で書かれたプログラムを実現するプロセッサの回路動作を説明できる。 | アセンブラ言語で書かれたプログラムを実現するプロセッサの回路動作を説明できない。 |
高速演算の手法を修得 | CPUのアーキテクチャに基づいて、高速に機器を制御するときのC言語での注意点を説明できる。さらに、注意点に基づいてプログラムを作成することができる。 | CPUのアーキテクチャに基づいて、高速に機器を制御するときのC言語での注意点を説明できる。 | CPUのアーキテクチャに基づいて、高速に機器を制御するときのC言語でのコーディング方法を説明できない。 |
学科の到達目標項目との関係
【本校学習・教育目標(本科のみ)】 3
説明
閉じる
教育方法等
概要:
マイクロプロセッサは機器の動作を制御するために広く利用されている。前期は、コンピュータハードウェアの基礎となるブール代数、ならびに静的な論理回路、動的なフリップフロップについて講義する。後期は、C言語とマシン語を結ぶアセンブラ言語を通して、マイクロプロセッサの論理回路と動作原理、ならびにプロセッサとバスシステムやメモリの関係について講義する。
授業の進め方・方法:
前期は、2進数の加算・減算、補数表現、ブール代数の計算、論理回路、加算・減算器、フリップ・フロップなど、CPUを理解する上での基本構成要素について座学で講義する。後期は、C言語で書かれた命令をMIPSアセンブラで表現する方法を講義し、アセンブラで記述された命令をHWで実現する方法について座学で講義し、C言語で記述されたプログラムが逐次型やパイプラインプロセッサでどのように実現されるのかを講義する。理解度を深めるために、適宜に練習問題を行う。
注意点:
授業計画
|
|
週 |
授業内容 |
週ごとの到達目標 |
前期 |
1stQ |
1週 |
ガイダンス |
コンピュータ入門(歴史,原理)、基本的な用語につて理解する。
|
2週 |
数値表現 |
数の表現、補数表現を使った和・差の演算について理解する。
|
3週 |
論理表現1 |
AND,ORなどの論理代数、演算方法、真理値表について理解する。
|
4週 |
論理表現2 |
論理式の簡単化についてブール代数の規則から理解する。
|
5週 |
論理表現3 |
論理式の簡単化について、カルノー図,回路図の変換を使って理解する。
|
6週 |
静的論理回路1 |
AND、ORの回路表現方法、真理値表から回路へ、回路から真理値表への書換えを理解する。
|
7週 |
静的論理回路2 |
組合せ論理回路(基本回路,加算・減算回路,ゲート回路)について理解する。
|
8週 |
静的論理回路3 |
組合せ論理回路(デコーダ,マルチプレクサ,セレクタ)について理解する。
|
2ndQ |
9週 |
静的論理回路4 |
順序回路(状態遷移図,状態遷移表,状態割当て)につて理解する。
|
10週 |
動的論理回路の基礎 |
順序回路(順序回路の簡単化,順序回路の実現方法)について理解する。
|
11週 |
動的論理回路1 |
SRフリップフロップを例として動的回路の基礎原理を理解する。
|
12週 |
動的論理回路2 |
フリップフロップの種類とタイミングチャートについて理解する。
|
13週 |
動的論理回路3 |
フリップ・フロップを使ったカウンタについて理解する。
|
14週 |
動的論理回路4 |
シフトレジスタについて理解する。
|
15週 |
まとめ |
2進数とブール代数について理解し、真理値表に基づいて、静的論理回路、動的論理回路の設計ができる。
|
16週 |
|
|
後期 |
3rdQ |
1週 |
C言語とアセンブラ |
C言語をコンパイルしたときに、中間言語のアセンブラを介して、マシン語に変換される過程を理解する。
|
2週 |
アセンブラ言語1 |
コンピュータ言語は、変数・配列定義、演算、ループ、条件判定、関数定義が必要となることを理解する。
|
3週 |
アセンブラ言語2 |
メモリ内での変数・配列の表現について理解する。加減算のアセンブラ言語での表現について理解する。
|
4週 |
アセンブラ言語3 |
ループ、条件分岐に関するアセンブラ言語での表現について理解する。
|
5週 |
アセンブラ言語4 |
関数呼び出し時におけるスタック方式とプッシュ/ポップを実現するアセンブラでの表現について理解する。
|
6週 |
アセンブラ言語5 |
CPUによるアドレッシング方式について、アセンブラ言語で理解する。
|
7週 |
数値表現 |
IEEE754の浮動小数点表示、浮動小数点表示の加減算方法を理解する。
|
8週 |
プロセッサの構成と処理手順 |
プロセッサによるアセンブラ言語の実現方法についてHW構成を理解する。プロセッサの処理手順は、5段階あることを理解する。
|
4thQ |
9週 |
プロセッサの命令処理方法1 |
命令フェチ過程と命令デコード過程についてプロセッサのHW構成について理解する。
|
10週 |
プロセッサの命令処理方法2 |
レジスタアクセス過程、演算過程、データ書き込み過程についてプロセッサのHW構成について理解する。
|
11週 |
プロセッサの命令処理方法3 |
R形式のアセンブラ言語のプロセッサでの処理手順を理解する。命令ごとの制御線信号について理解する。
|
12週 |
プロセッサの命令処理方法4 |
I形式、J形式のアセンブラ言語のプロセッサでの処理手順を理解する。命令ごとの制御線信号について理解する。
|
13週 |
プロセッサの命令処理方法5 |
シングル方式のマイクロプロセッサの動作原理を理解する。
|
14週 |
プロセッサの命令処理方法6 |
パイプライン方式のマイクロプロセッサの動作原理を理解する。
|
15週 |
まとめ |
アーキテクチャに依存した計算速度が見積もれる。C言語で高速に機器を制御するときに注意すべきコーディング方法を理解する。
|
16週 |
|
|
モデルコアカリキュラムの学習内容と到達目標
分類 | 分野 | 学習内容 | 学習内容の到達目標 | 到達レベル | 授業週 |
評価割合
| 試験 | 発表 | 相互評価 | 態度 | ポートフォリオ | その他 | 合計 |
総合評価割合 | 100 | 0 | 0 | 0 | 0 | 0 | 100 |
基礎的能力 | 50 | 0 | 0 | 0 | 0 | 0 | 50 |
専門的能力 | 50 | 0 | 0 | 0 | 0 | 0 | 50 |
分野横断的能力 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |