概要:
本講義では,計算機を動かす五つの仕組みのうち「演算」・「記憶」・「制御」について,処理の高速化・効率化の観点から基礎計算機工学より掘り下げて学びます.
計算機は基本的には演算(計算)をする装置ですが,どのように演算を実現しているのでしょうか.これまでに,加算の仕組みとして半加算器・全加算器を学びましたが,減算・乗算・除算をするにはどんな回路が必要でしょうか.さらに,計算機に演算をさせるには,演算に必要な命令・データを計算機に「記憶」し,命令に従って五つの仕組みを構成する装置を「制御」する必要があります.本講義では,これらを実現する仕組みや設計を中心に,担当教員が企業在職時に培ったソフトウェア開発の経験やその際に得たノウハウを盛り込みながら解説します.なお,本講義で解説しない「入出力」の仕組みについては,J4基礎システムプログラムで学びます.
授業の進め方・方法:
到達目標 (1) ~ (5) を中間試験で,(6) ~ (8)を期末試験で評価する(90%).
また理解度確認の課題(レポート)を行う(10%).
(中間得点*2/3+期末得点*1/3)*0.9 + レポート点10点満点の合計(但し,小数点以下切り上げ)が60点以上(100点満点)を合格とする.
注意点:
・「全てのレポートを期日までに提出した者」のみ,中間試験・期末試験の素点の平均が36点以上の場合に再試験を行う
・学修単位科目であり,1回の講義(90分)あたり180分程度の予習・復習をしているものとして講義・演習を進める(理解度確認のレポートの実施・提出がこれに相当する)
・提出物に関し,不正(他人のコピー等)が発覚した場合は,事情聴取の後,関連するすべての学生の評価を0点とする
オフィスアワー:
・毎週水曜5コマ目を授業の相談時間にします.必要に応じ444教員室に来てください
・ できるだけ居る予定ですが不在もあります.絶対会いたい場合は,事前にメールで予約ください
・相談は,「どこまでがわかり」,「どこからがわからない」のかを説明できるようにしてください
|
|
週 |
授業内容 |
週ごとの到達目標 |
前期 |
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 ページ置き換えアルゴリズム: LRU・FIFO
|
(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 計算機の性能の表し方: CPI・MIPS
|
(8) 計算機の性能の表し方を理解し,説明できる.また,計算で性能を求めるができる.
|
15週 |
期末試験 11-14回までの内容を確認する
|
|
16週 |
まとめ 試験の解答とまとめ
|
|
分類 | 分野 | 学習内容 | 学習内容の到達目標 | 到達レベル | 授業週 |
専門的能力 | 分野別の専門工学 | 情報系分野 | 計算機工学 | 整数を2進数、10進数、16進数で表現できる。 | 3 | |
小数を2進数、10進数、16進数で表現できる。 | 3 | |
整数・小数をコンピュータのメモリ上でディジタル表現する方法を説明できる。 | 3 | |
基数が異なる数の間で相互に変換できる。 | 3 | |
基本的な論理演算を行うことができる。 | 3 | |
基本的な論理演算を組合わせて、論理関数を論理式として表現できる。 | 3 | |
論理式の簡単化の概念を説明できる。 | 3 | |
論理ゲートを用いて論理式を組合せ論理回路として表現することができる。 | 2 | |
与えられた組合せ論理回路の機能を説明することができる。 | 2 | |
組合せ論理回路を設計することができる。 | 2 | |
フリップフロップなどの順序回路の基本素子について、その動作と特性を説明することができる。 | 2 | |
レジスタやカウンタなどの基本的な順序回路の動作について説明できる。 | 2 | |
与えられた順序回路の機能を説明することができる。 | 2 | |
順序回路を設計することができる。 | 2 | |
コンピュータを構成する基本的な要素の役割とこれらの間でのデータの流れを説明できる。 | 3 | |
プロセッサを実現するために考案された主要な技術を説明できる。 | 3 | |
メモリシステムを実現するために考案された主要な技術を説明できる。 | 3 | |
入出力を実現するために考案された主要な技術を説明できる。 | 3 | |
コンピュータアーキテクチャにおけるトレードオフについて説明できる。 | 3 | |
要求仕様に従って、標準的なプログラマブルデバイスやマイコンを用いたシステムを構成することができる。 | 2 | |
ハードウェア記述言語など標準的な手法を用いてハードウェアの設計、検証を行うことができる。 | 3 | |
コンピュータシステム | 集中処理システムについて、それぞれの特徴と代表的な例を説明できる。 | 2 | |
分散処理システムについて、特徴と代表的な例を説明できる。 | 2 | |
ネットワークコンピューティングや組込みシステムなど、実用に供せられているコンピュータシステムの利用形態について説明できる。 | 2 | |
デュアルシステムやマルチプロセッサシステムなど、コンピュータシステムの信頼性や機能を向上させるための代表的なシステム構成について説明できる。 | 2 | |