計算機アーキテクチャ基礎

科目基礎情報

学校 沼津工業高等専門学校 開講年度 令和04年度 (2022年度)
授業科目 計算機アーキテクチャ基礎
科目番号 2022-525 科目区分 専門 / 必修
授業形態 授業 単位の種別と単位数 履修単位: 2
開設学科 制御情報工学科 対象学年 2
開設期 通年 週時間数 2
教科書/教材 自作の講義ノートを使用する
担当教員 宮下 真信

到達目標

1.真理値表が与えられたとき、論理式を求めて論理回路を設計できる。                                                
2.C言語で書かれたプログラムをアセンブラ言語で表現できる。                                                   
3.アセンブラ言語で書かれたプログラムを実現するプロセッサの回路動作を説明できる。
4.CPUのアーキテクチャに基づいて、高速に機器を制御するときのC言語でのコーディング方法を説明できる。

ルーブリック

理想的な到達レベルの目安標準的な到達レベルの目安未到達レベルの目安
ブール代数、論理回路の基礎知識を修得制御目的に関する真理値表を作成し、論理式を求めて論理回路を設計できる。さらに、ハザードの問題などを解決できる。制御目的に関する真理値表を作成し、論理式を求めて論理回路を設計できる。制御目的に関する真理値表を作成し、論理式を求めて論理回路を設計できない。
プログラムとプロセッサの回路との関係を修得アセンブラ言語で書かれたプログラムを実現するプロセッサの回路動作を説明できる。逐次型とパイプライン型のプロセッサでの実行時間を見積もることができる。アセンブラ言語で書かれたプログラムを実現するプロセッサの回路動作を説明できる。アセンブラ言語で書かれたプログラムを実現するプロセッサの回路動作を説明できない。
高速演算の手法を修得CPUのアーキテクチャに基づいて、高速に機器を制御するときのC言語での注意点を説明できる。さらに、注意点に基づいてプログラムを作成することができる。CPUのアーキテクチャに基づいて、高速に機器を制御するときのC言語での注意点を説明できる。CPUのアーキテクチャに基づいて、高速に機器を制御するときのC言語でのコーディング方法を説明できない。

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

【本校学習・教育目標(本科のみ)】 3 説明 閉じる

教育方法等

概要:
マイクロプロセッサは機器の動作を制御するために広く利用されている。前期は、コンピュータハードウェアの基礎となるブール代数、ならびに静的な論理回路、動的なフリップフロップについて講義する。後期は、C言語とマシン語を結ぶアセンブラ言語を通して、マイクロプロセッサの論理回路と動作原理、ならびにプロセッサとバスシステムやメモリの関係について講義する。
授業の進め方・方法:
前期は、2進数の加算・減算、補数表現、ブール代数の計算、論理回路、加算・減算器、フリップ・フロップなど、CPUを理解する上での基本構成要素について座学で講義する。後期は、C言語で書かれた命令をMIPSアセンブラで表現する方法を講義し、アセンブラで記述された命令をHWで実現する方法について座学で講義し、C言語で記述されたプログラムが逐次型やパイプラインプロセッサでどのように実現されるのかを講義する。理解度を深めるために、適宜に練習問題を行う。
注意点:
評価については、評価割合に従って行います。ただし、適宜再試や追加課題を課し、加点することがあります。
中間試験を授業時間内に実施することがあります。

授業の属性・履修上の区分

アクティブラーニング
ICT 利用
遠隔授業対応
実務経験のある教員による授業

授業計画

授業内容 週ごとの到達目標
前期
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週

モデルコアカリキュラムの学習内容と到達目標

分類分野学習内容学習内容の到達目標到達レベル授業週
基礎的能力工学基礎情報リテラシー情報リテラシー論理演算と進数変換の仕組みを用いて基本的な演算ができる。3前15
コンピュータのハードウェアに関する基礎的な知識を活用できる。3後15
情報伝達システムやインターネットの基本的な仕組みを把握している。3前1
同一の問題に対し、それを解決できる複数のアルゴリズムが存在しうることを知っている。3後15
与えられた基本的な問題を解くための適切なアルゴリズムを構築することができる。3後15
任意のプログラミング言語を用いて、構築したアルゴリズムを実装できる。3後15
専門的能力分野別の専門工学機械系分野情報処理プログラムを実行するための手順を理解し、操作できる。3後1
定数と変数を説明できる。3後2,後3
整数型、実数型、文字型などのデータ型を説明できる。3後3,後7
演算子の種類と優先順位を理解し、適用できる。3前2
算術演算および比較演算のプログラムを作成できる。3後2
条件判断プログラムを作成できる。3後4
繰り返し処理プログラムを作成できる。3後4
一次元配列を使ったプログラムを作成できる。3
情報系分野ソフトウェアアルゴリズムの概念を説明できる。3後2
与えられたアルゴリズムが問題を解決していく過程を説明できる。3後2
同一の問題に対し、それを解決できる複数のアルゴリズムが存在しうることを説明できる。3後2
整列、探索など、基本的なアルゴリズムについて説明できる。3後2
時間計算量によってアルゴリズムを比較・評価できることを説明できる。3後15
領域計算量などによってアルゴリズムを比較・評価できることを説明できる。3後15
コンピュータ内部でデータを表現する方法(データ構造)にはバリエーションがあることを説明できる。3後3
ソースプログラムを解析することにより、計算量等のさまざまな観点から評価できる。3後15
同じ問題を解決する複数のプログラムを計算量等の観点から比較できる。3後15
計算機工学整数・小数をコンピュータのメモリ上でディジタル表現する方法を説明できる。4前2,前15
基数が異なる数の間で相互に変換できる。4前2
整数を2進数、10進数、16進数で表現できる。4前2
小数を2進数、10進数、16進数で表現できる。4前2
基本的な論理演算を行うことができる。4前3,前15
基本的な論理演算を組合わせて、論理関数を論理式として表現できる。3前3
論理式の簡単化の概念を説明できる。4前4,前5
簡単化の手法を用いて、与えられた論理関数を簡単化することができる。3前4,前5
論理ゲートを用いて論理式を組合せ論理回路として表現することができる。4前6
与えられた組合せ論理回路の機能を説明することができる。4前7,前8
組合せ論理回路を設計することができる。3前8
フリップフロップなどの順序回路の基本素子について、その動作と特性を説明することができる。3前9,前10,前11,前12,前15
レジスタやカウンタなどの基本的な順序回路の動作について説明できる。3前13
与えられた順序回路の機能を説明することができる。4前12,前14
順序回路を設計することができる。4前12,前13,前14
コンピュータを構成する基本的な要素の役割とこれらの間でのデータの流れを説明できる。3前1,後15
プロセッサを実現するために考案された主要な技術を説明できる。3前1,後6,後8,後9,後10,後11,後12,後13,後14
メモリシステムを実現するために考案された主要な技術を説明できる。3前1
入出力を実現するために考案された主要な技術を説明できる。3前1
コンピュータアーキテクチャにおけるトレードオフについて説明できる。3後15
ハードウェア記述言語など標準的な手法を用いてハードウェアの設計、検証を行うことができる。3前15
システムプログラムコンピュータシステムにおけるオペレーティングシステムの位置づけを説明できる。3後1,後5
コンパイラの役割と仕組みについて説明できる。3後1

評価割合

試験発表相互評価態度ポートフォリオその他合計
総合評価割合10000000100
基礎的能力500000050
専門的能力500000050
分野横断的能力0000000