概要:
本講義では,計算機を動かす五つの仕組みのうち「演算」・「記憶」・「制御」について,処理の高速化・効率化の観点から基礎計算機工学より掘り下げて学びます.
計算機は基本的には演算(計算)をする装置ですが,どのように演算を実現しているのでしょうか.これまでに,加算の仕組みとして半加算器・全加算器を学びましたが,減算・乗算・除算をするにはどんな回路が必要でしょうか.さらに,計算機に演算をさせるには,演算に必要な命令・データを計算機に「記憶」し,命令に従って五つの仕組みを構成する装置を「制御」する必要があります.本講義では,これらを実現する仕組みや設計を中心に,担当教員が企業在職時に培ったソフトウェア開発の経験やその際に得たノウハウを盛り込みながら解説します.なお,本講義で解説しない「入出力」の仕組みについては,J4基礎システムプログラムで学びます.
授業の進め方・方法:
到達目標 (1) ~ (5) を中間試験で,(6) ~ (8)を期末試験で評価する(80%).
また理解度確認の課題(レポート)を行う(20%).
(中間得点*2/3+期末得点*1/3)*0.8(但し,小数点以下切り上げ)プラスレポート点20点満点の合計が60点以上(100点満点)を合格とする.
注意点:
・講義の進め方が変則的(前半10回+後半5回のため,中間テストは試験期間中に行わない
・「全てのレポートを期日までに提出した者」のみ,定期テストの点数の平均が100点満点換算で36点以上の場合に再試験を行う
・ 学修単位科目であり,1回の講義(90分)あたり180分程度の予習・復習をしているものとして講義・演習を進める(理解度確認のレポートの実施・提出がこれに相当する)
・課題にて,J3情報工学実験3(FPGA)で使用したQualtusを使う予定である.使い方を復習しておくこと
・教科書は指定しないが必要に応じて以下のいずれかの参考書を勧める.講義内では説明が足りない部分の補完にも最適である
(参考書) 小柳滋,内田啓一郎: IT Text コンピュータアーキテクチャ(改訂2版),オーム社(2019)
(参考書) 馬場敬信: コンピュータアーキテクチャ(改訂4版),オーム社(2016)
# 書籍の購入は自分の未来への投資と考えてほしい.良い本を持つことは自分を助ける
|
|
週 |
授業内容 |
週ごとの到達目標 |
前期 |
1stQ |
1週 |
演算アーキテクチャ1 固定小数点算術演算の加減算手法,加減算器の構成や特徴
|
(1) 固定小数点加減算器・乗除算器の原理と構成を理解し,説明できる. (2) 固定小数点加減算器・乗除算器の高速化手法について理解し,説明できる.
|
2週 |
演算アーキテクチャ2 固定小数点算術演算の加減算手法,加減算器の構成や特徴
|
(1) 固定小数点加減算器・乗除算器の原理と構成を理解し,説明できる. (2) 固定小数点加減算器・乗除算器の高速化手法について理解し,説明できる.
|
3週 |
演算アーキテクチャ3 固定小数点算術演算における乗算の手法と乗算器の構成
|
(1) 固定小数点加減算器・乗除算器の原理と構成を理解し,説明できる. (2) 固定小数点加減算器・乗除算器の高速化手法について理解し,説明できる.
|
4週 |
演算アーキテクチャ4 固定小数点算術演算における除算の手法と除算器の構成
|
(1) 固定小数点加減算器・乗除算器の原理と構成を理解し,説明できる. (2) 固定小数点加減算器・乗除算器の高速化手法について理解し,説明できる.
|
5週 |
メモリアーキテクチャ1 仮想記憶方式(仮想メモリ)の意義と役割
|
(3) メモリ階層の考え方を理解し,説明できる. (4) 仮想記憶方式の原理と構成方式について理解し,説明できる.
|
6週 |
メモリアーキテクチャ2 ページング方式の原理
|
(3) メモリ階層の考え方を理解し,説明できる. (4) 仮想記憶方式の原理と構成方式について理解し,説明できる.
|
7週 |
メモリアーキテクチャ3 ページ置き換えアルゴリズム
|
(3) メモリ階層の考え方を理解し,説明できる. (4) 仮想記憶方式の原理と構成方式について理解し,説明できる.
|
8週 |
メモリアーキテクチャ4 キャッシュシステム
|
(3) メモリ階層の考え方を理解し,説明できる. (5) キャッシュシステムの原理と構成方式について理解し,説明できる.
|
2ndQ |
9週 |
メモリアーキテクチャ5 キャッシュシステム
|
(3) メモリ階層の考え方を理解し,説明できる. (5) キャッシュシステムの原理と構成方式について理解し,説明できる.
|
10週 |
中間試験 1-9回までの内容を確認する
|
|
11週 |
制御アーキテクチャ1 制御方式の種類(配線論理制御・マイクロプログラム制御)とその特徴
|
(6) コンピュータの制御アーキテクチャについて理解し,説明できる.
|
12週 |
制御アーキテクチャ2 制御の高速化-パイプライン処理,パイプライン処理の問題点-ハザード
|
(7) パイプライン制御について理解し,説明できる.
|
13週 |
制御アーキテクチャ3 さらなる制御の高速化-スーパーパイプライン,スーパスカラ,VLIW
|
(7) パイプライン制御について理解し,説明できる.
|
14週 |
制御アーキテクチャ4 計算機の性能の表し方
|
(8) 計算機の性能の表し方を理解し,説明できる.また,計算で性能を求めるができる.
|
15週 |
期末試験 11-14回までの内容を確認する
|
|
16週 |
まとめ 試験の解答とまとめ
|
|
分類 | 分野 | 学習内容 | 学習内容の到達目標 | 到達レベル | 授業週 |
専門的能力 | 分野別の専門工学 | 情報系分野 | 計算機工学 | 整数・小数をコンピュータのメモリ上でディジタル表現する方法を説明できる。 | 3 | |
基数が異なる数の間で相互に変換できる。 | 3 | |
整数を2進数、10進数、16進数で表現できる。 | 3 | |
小数を2進数、10進数、16進数で表現できる。 | 3 | |
基本的な論理演算を行うことができる。 | 3 | |
基本的な論理演算を組合わせて、論理関数を論理式として表現できる。 | 3 | |
論理式の簡単化の概念を説明できる。 | 3 | |
論理ゲートを用いて論理式を組合せ論理回路として表現することができる。 | 2 | |
与えられた組合せ論理回路の機能を説明することができる。 | 2 | |
組合せ論理回路を設計することができる。 | 2 | |
フリップフロップなどの順序回路の基本素子について、その動作と特性を説明することができる。 | 2 | |
レジスタやカウンタなどの基本的な順序回路の動作について説明できる。 | 2 | |
与えられた順序回路の機能を説明することができる。 | 2 | |
順序回路を設計することができる。 | 2 | |
コンピュータを構成する基本的な要素の役割とこれらの間でのデータの流れを説明できる。 | 3 | |
プロセッサを実現するために考案された主要な技術を説明できる。 | 3 | |
メモリシステムを実現するために考案された主要な技術を説明できる。 | 3 | |
入出力を実現するために考案された主要な技術を説明できる。 | 3 | |
コンピュータアーキテクチャにおけるトレードオフについて説明できる。 | 3 | |
ハードウェア記述言語など標準的な手法を用いてハードウェアの設計、検証を行うことができる。 | 3 | |
要求仕様に従って、標準的なプログラマブルデバイスやマイコンを用いたシステムを構成することができる。 | 2 | |
コンピュータシステム | ネットワークコンピューティングや組込みシステムなど、実用に供せられているコンピュータシステムの利用形態について説明できる。 | 2 | |
デュアルシステムやマルチプロセッサシステムなど、コンピュータシステムの信頼性や機能を向上させるための代表的なシステム構成について説明できる。 | 2 | |
集中処理システムについて、それぞれの特徴と代表的な例を説明できる。 | 2 | |
分散処理システムについて、特徴と代表的な例を説明できる。 | 2 | |