区分
環境情報科目
ディプロマ・ポリシーとの関係
カリキュラム・ポリシーとの関係
カリキュラム全体の中でのこの科目の位置づけ
科目の目的
この科目の目的は、コンピュータアーキテクチャに関する基礎知識を体系的に養うことである。具体的には、2進数・補数・論理演算などの数値表現、CPU の構造と命令実行、メモリ階層とキャッシュ、バスと入出力制御、OS による資源管理、システム構成と性能評価を通じて、コンピュータシステムの動作原理を段階的に理解する力を身に付けることを目的とする。さらに、継続的な演習を通して、基本情報技術者試験において頻出となる計算問題、用語理解問題、システム構成に関する判断問題に対応できる力を養成する。これにより、単に用語を暗記するのではなく、コンピュータの構造と挙動を論理的に説明し、システムの性能や信頼性を踏まえて適切に判断できる技術の修得を目指す。
到達目標
コンピュータアーキテクチャは、ソフトウェア開発、システム運用、ネットワーク管理、情報処理技術者試験対策など、情報技術分野の幅広い基盤となる知識である。この科目では、履修者がコンピュータシステムの内部構造と動作原理に関する基礎知識から、基本情報技術者試験に対応できる実践的な理解力までを段階的に修得することを目指す。
本科目の学修を通じて、「2進数・16進数の変換、補数表現、論理演算、シフト演算などの基礎計算を正しく行い、コンピュータ内部における情報表現を説明できること」が期待される(数値表現・基礎理論)。また、「CPU の構成要素、命令実行サイクル、アドレッシング方式、割込み、性能指標を理解し、命令実行の流れと高速化技術を説明できる力の修得」も目標である(プロセッサ)。さらに、「記憶階層、キャッシュメモリ、実効アクセス時間、主記憶と補助記憶の違いを理解し、メモリシステムの役割と性能への影響を説明できること」を到達目標とする(メモリ)。その上で、「バスの種類と役割、入出力制御、DMA、OS によるプロセス管理・記憶管理・仮想記憶を説明し、ハードウェアとソフトウェアの連携を理解できること」を目標とする(システム制御)。さらに、「RAID、冗長化、仮想化、システムの性能評価、基本的なネットワーク・セキュリティの要点を理解し、基本情報技術者試験レベルの総合問題に対応できること」を到達目標とする(システム構成・総合)。
この科目に関連する資格は、「基本情報技術者試験」であり、本科目で学ぶ内容はその中核的な範囲を構成する。これらの知識を修得することで、IT 技術者として必要な基礎的素養を身に付けることに繋がる。
科目の概要
本科目では、「数値表現・基礎理論」「プロセッサ」「メモリ・入出力」「システム構成・総合」の大きく4つに分けて到達目標を達成する。
一つ目(数値表現・基礎理論)は、コンピュータ内部で扱われる情報の表現方法を理解するための基礎を固める。2進数・16進数・補数・論理演算・シフト演算・浮動小数点表現を学び、後続の CPU やメモリの理解に必要な土台を形成する。二つ目(プロセッサ)は、CPU の内部構造と命令処理の仕組みを学ぶ。演算装置、制御装置、レジスタ、命令実行サイクル、アドレッシング方式、性能指標、パイプラインやマルチコアなどの高速化技術を扱い、計算機の中心的機能を理解する。三つ目(メモリ・入出力)は、記憶階層、キャッシュメモリ、主記憶、補助記憶、バス、入出力制御を学ぶことで、CPU を支える周辺構造の役割を理解する。四つ目(システム構成・総合)は、OS の基本機能、仮想記憶、プロセス管理、RAID、仮想化、信頼性、ネットワーク・セキュリティ、アルゴリズム読解を扱い、基本情報技術者試験を見据えた総合的理解を定着させる。
全15回の授業は、上述の四つの到達目標に対応するように4部構成で展開する。第1部の第1回から第3回が数値表現・基礎理論、第2部の第4回から第6回がプロセッサ、第3部の第7回から第9回がメモリ・入出力、第4部の第10回から第15回がシステム構成・総合、の四つで構成する。
第1部は、コンピュータ内部における情報表現の基礎力を養うことを主なテーマとする。第1回で授業全体の導入と基本情報技術者試験との関係を確認し、第2~3回で基数変換、補数、論理演算、シフト演算、浮動小数点表現を扱う。
第2部は、CPU の構造と命令処理の理解を深めることを主なテーマとする。第4回で CPU の基本構造、第5回で命令とアドレッシング、第6回で性能評価と高速化技術を学ぶ。
第3部は、記憶装置と入出力の仕組みを理解することを主なテーマとする。第7回でメモリ階層と主記憶、第8回でキャッシュメモリと実効アクセス時間、第9回でバスと入出力制御を扱う。
第4部は、システム全体の管理・構成・応用理解を主なテーマとする。第10~11回で OS と記憶管理・仮想化を学び、第12回でシステム構成と信頼性、第13回でネットワーク・セキュリティの基礎、第14回でアルゴリズムと基本情報技術者試験科目Bを見据えた読解演習を行い、第15回で総合演習により全体の定着を図る。
科目のキーワード
数値表現・基礎理論(2進数、16進数、補数、論理演算、シフト演算、浮動小数点) ― 第1回~第3回、プロセッサ(CPU、レジスタ、命令実行サイクル、アドレッシング方式、割込み、CPI、MIPS、パイプライン、マルチコア) ― 第4回~第6回、メモリ・入出力(記憶階層、キャッシュメモリ、実効アクセス時間、バス、DMA、入出力制御) ― 第7回~第9回、システム構成・総合(OS、プロセス、仮想記憶、RAID、冗長化、仮想化、性能評価、ネットワーク、セキュリティ、アルゴリズム、総合演習) ― 第10回~第15回
授業の展開方法
本科目では、コンピュータアーキテクチャに関する基礎知識と基本情報技術者試験に対応する基礎力を養うことを目的としている。毎回、Word で作成したオリジナルテキスト(PDF版)を配布し、その内容に沿って授業を進める。授業ではまず用語や概念の役割、動作の仕組み、計算方法を説明し、その後に例題や演習を行い、学生が自ら考えながら理解を深める。総合演習回では、それまでに学修した知識を用いて、基本情報技術者試験形式の問題や、コンピュータシステムの構造を問う問題に取り組み、総合的な理解を育成する。授業では、各自が持参するノートパソコンを使用することを求める。授業や演習終了後、その内容に関する小テストを実施する。最後に小テストの解答・解説を行い終了する。
授業1コマの基本構成は、授業の最初に復習を5~7分行い、その後、3から4個ある各コマ主題細目について20分程度で解説し、合計約70分の授業を行う。その後、10分で小テストおよび解説を行い、最後に予復習の説明を3分程度行って授業を終わる。
授業終了後は、次回授業までに復習を行っておくことが求められる。テキストの解説や練習問題を見直すだけでなく、ChatGPT を活用し、テキストの内容を読みこませて20問程度の練習問題を作成し、自分で解いて理解を深める。さらに、その解答・解説を確認することで、より確実に知識を定着させる。また、授業で扱った計算問題や基本情報技術者試験形式の問題を繰り返し解くことで、知識の定着と応用力の向上を図る。
オフィス・アワー
渡辺謙:【前期】
環境データベース概論
環境データベースⅡ
環境プログラミングⅣ(永続化技法)
全科目:木曜5限
【後期】
環境データベースⅠ
環境データベースⅢ
コンピュータ・アーキテクチャ論
全科目:木曜5限
山浦恒央:【前期】
サステナブル・ソフトウェア論Ⅰ(ソフトウェア品質)木曜5限
環境プログラミングⅢ(標準API)月曜4限、水曜4限
【後期】木曜5限
科目コード
UC4050
学年・期
2年・後期
科目名
コンピューター・アーキテクチャ論
単位数
2
授業形態
講義
必修・選択
選択
学習時間
前提とする科目
展開科目
関連資格
担当教員名
渡辺謙・山浦恒央
回
主題
コマシラバス項目
内容
教材・教具
1
コンピュータアーキテクチャの概要
科目の中での位置付け
本科目では、コンピュータが情報を表現し、命令を実行して処理結果を得る仕組みを、ハードウェアとソフトウェアの関係から学修する。全15回の授業では、数値表現、CPU、メモリ、入出力を基礎として、OSによる資源管理、システムの信頼性、ネットワークとセキュリティ、アルゴリズムへと学習を進める。構成図の読み取り、計算、処理手順の追跡を通して各要素の働きを関連付け、性能や安全性に関わる条件を根拠に基づいて説明できる力を養う。
第1回は、本科目で扱う構成要素と学習の見通しを確認する導入の回である。身近な情報処理を五大機能と対応付け、プログラムが装置を動かす仕組みを捉える。第2回以降の数値表現とCPUの学習に必要な共通の用語を身に付ける。
コマ主題細目
① コンピュータの五大機能と構成 ② プログラム内蔵方式と処理の流れ ③ ハードウェアとソフトウェアの関係
細目レベル
① コンピュータの基本構成を、入力、出力、記憶、演算、制御の五つの機能から理解する。キーボードやセンサで得た情報を保存し、計算して画面へ表示する例を用い、装置の名前と担う機能を対応付ける。CPUが主に演算と制御を担うこと、記憶には処理中の情報を置く主記憶と長期保存を担う補助記憶があることを確認する。演習では、簡単な観測値の集計を構成図に表し、入力した値、計算途中の値、出力結果がどこにあるかを矢印で示す。一つの装置が複数の機能を担う場合もあるため、外見だけで分類せず、情報処理の中での働きから説明する。機能を並べるだけでなく、装置間の受け渡しが処理の成立に必要であることを捉える。本細目で理解すべき範囲は、五大機能を身近な装置に対応付け、基本的な情報の流れを構成図で説明できる範囲まで。
② プログラム内蔵方式では、処理手順を表す命令を記憶装置に格納し、CPUが読み出して実行する考え方を学ぶ。人が毎回装置をつなぎ替えることと、記憶された命令を変更して処理を変えることの違いを理解する。命令と処理対象のデータがいずれもビット列で表現され、同じ記憶空間に置かれる基本モデルを確認する。演習では、二つの数を読み取り、加算し、結果を保存する短い命令列を順に追跡する。命令を取り出す場所とデータを読み書きする場所を区別し、通常の順次実行と条件による実行順序の変更を図にする。実際のCPUには多様な実装があることを踏まえ、最初は逐次的なモデルで動作を捉え、後の高速化技術を学ぶ基準とする。本細目で理解すべき範囲は、記憶された命令に従って読み出し・演算・保存が進む基本的な仕組みを説明できる範囲まで。
③ ハードウェアは物理的な装置、ソフトウェアは装置に処理を行わせるプログラムや関連情報として整理する。アプリケーション、OS、ハードウェアという層を用いて、利用者の操作が装置の動作につながる関係を理解する。例えばファイルを開く操作について、アプリケーションの要求、OSの管理、記憶装置からの読み出しを分けて考える。演習では、同じ装置で異なる処理を実行できる理由と、同じアプリケーションでも環境に条件がある理由を説明する。CPUやメモリの性能だけで使いやすさが決まるわけではなく、処理内容やソフトウェアの働きも影響することを確認する。以後の授業で学ぶ数値表現、資源管理、通信をこの全体図に位置付け、各回の知識を結び付ける。本細目で理解すべき範囲は、ハードウェア・OS・アプリケーションの役割と相互関係を基本的な利用例で説明できる範囲まで。
キーワード
① 五大機能 ② プログラム内蔵方式 ③ CPU ④ 主記憶 ⑤ OS
コマの展開方法
社会人講師
AL
ICT
PowerPoint・Keynote
教科書
コマ用オリジナル配布資料
コマ用プリント配布資料
その他
該当なし
小テスト
復習・予習課題
〖復習〗身近なコンピュータの利用場面を一つ選び、入力、記憶、演算、制御、出力に相当する働きを図と文章で整理すること。処理対象のデータがどこから来て、どこに保存され、何が結果として示されるかを明らかにすること。さらに、アプリケーション、OS、ハードウェアの担当を区別し、プログラムを変えると同じ装置で別の処理ができる理由を説明すること。用語の定義を書き写すだけでなく、装置間の受け渡しを自分の選んだ例に即して説明し、不明な箇所を質問として記録すること。
〖予習〗第2回の数値表現に向けて、10進数の各桁が何を表すかを、百、十、一、小数第一位の重みを使って説明すること。2進数と16進数で使う数字を調べ、0から15までを対応表にまとめること。ビットとバイトの違いを確認し、8個の0と1の並びで表せる組合せの数を考えること。計算機で変換結果を確かめる場合も、どの桁にどの重みを掛けるかという途中の考え方を残すこと。整数と小数の表し方について疑問を一つ用意し、情報を有限の桁で表す意味を予想しておくこと。
2
数値表現:N進数
科目の中での位置付け
本科目では、コンピュータが情報を表現し、命令を実行して処理結果を得る仕組みを、ハードウェアとソフトウェアの関係から学修する。全15回の授業では、数値表現、CPU、メモリ、入出力を基礎として、OSによる資源管理、システムの信頼性、ネットワークとセキュリティ、アルゴリズムへと学習を進める。構成図の読み取り、計算、処理手順の追跡を通して各要素の働きを関連付け、性能や安全性に関わる条件を根拠に基づいて説明できる力を養う。
第2回は、第1回で扱った情報の流れを、コンピュータ内部の数値表現として具体化する回である。基数変換、ビット幅、整数の符号を学び、第3回の論理演算と浮動小数点、第5回のアドレスの理解に必要な基礎を固める。
コマ主題細目
① 位取り記数法と基数変換 ② ビット幅と表現可能な範囲 ③ 符号付き整数と2の補数
細目レベル
① N進数は、基数Nに対する各桁の重みを使って数を表す位取り記数法として理解する。2進数、10進数、16進数を中心に、整数部と小数部の重みを区別し、表記が変わっても表す値は同じであることを確認する。10進整数を繰り返し割る方法、2進数を桁の重みで足し合わせる方法、2進数を4桁ずつまとめて16進数にする方法を扱う。演習では、変換過程を記録し、逆変換によって答えを確かめる。小数については有限桁で表せる例を用い、基数が変わると有限桁で表せない場合があることにも触れる。数字だけでは基数を判断できないため、説明や解答では何進数かを明記する。暗記した対応表に頼らず、桁の位置と重みから値を求める習慣を身に付ける。本細目で理解すべき範囲は、基本的な整数と簡単な小数を2進数・10進数・16進数の間で変換し、過程を説明できる範囲まで。
② ビット幅は、数や情報を表すために使用するビット数であり、有限の幅が表現可能な範囲を制限することを学ぶ。nビットには2のn乗通りの並びがあり、符号なし整数では0から2のn乗より1小さい値までを表せることを確認する。ビットとバイトの関係、容量の単位、桁数と最大値の関係を整理し、単位の接頭語では10の累乗と2の累乗の区別に注意する。演習では、4ビットや8ビットで値を表し、最大値に1を足したときに必要となる桁を調べる。桁あふれを単なる計算間違いと捉えず、数学上の結果が用意された幅に収まらない状況として説明する。値を保存する前に必要な範囲を見積もり、表示された数と内部のビット列を区別する視点を養う。本細目で理解すべき範囲は、ビット幅から符号なし整数の範囲を求め、単位と桁あふれの意味を説明できる範囲まで。
③ 符号付き整数では、同じビット列でも解釈の規則によって値が変わることを、2の補数表現を中心に学ぶ。固定したビット幅で正数のビットを反転して1を加え、対応する負数を得る手順を確認する。最上位ビットの重みと表現範囲を用い、正側と負側で表せる最大の大きさが異なる理由を理解する。演習では、8ビットの正負の整数を相互に変換し、加算結果を10進数でも検証する。符号なしの桁上がりと符号付きのオーバーフローを同じものとして扱わず、入力と結果の符号から範囲外の可能性を判断する。幅を省略して補数を求めないことを徹底し、後の算術シフトや機械語のデータ解釈へつなげる。数値の意味はビット列だけでなく、その型と幅によって決まることを押さえる。本細目で理解すべき範囲は、指定されたビット幅で2の補数を読み書きし、基本的な加算と表現範囲を確認できる範囲まで。
キーワード
① 基数変換 ② 2進数 ③ 16進数 ④ ビット幅 ⑤ 2の補数
コマの展開方法
社会人講師
AL
ICT
PowerPoint・Keynote
教科書
コマ用オリジナル配布資料
コマ用プリント配布資料
その他
該当なし
小テスト
復習・予習課題
〖復習〗2進数、10進数、16進数の相互変換を整数と簡単な小数で行い、各桁の重みまたは除算の途中過程を示すこと。8ビットの符号なし整数と2の補数による符号付き整数について、最小値と最大値を比較すること。正数と負数を含む加算例を作り、数学上の結果が指定の幅に収まるか確認すること。誤答した場合は、基数の読み違い、補数を求める幅、桁上がりとオーバーフローの混同のどれが原因かを説明すること。変換ツールを使った確認結果だけでなく、自分の解法を残すこと。
〖予習〗第3回に向けて、AND、OR、NOT、XORという論理演算の名前と入力・出力の関係を調べること。二つの1ビット入力について、考えられる組合せをすべて書き出し、真理値表の空欄を用意すること。8ビットの数を左右に一つずらしたとき、空いた位置と外へ出たビットをどう扱うかを予想すること。また、10進数の0.1を2進数で表そうとした場合に有限桁で終わるか考え、有限のビット数で小数を保存する際にどのような問題が起こり得るかを文章にまとめること。
3
数値表現:論理演算・シフト演算・浮動小数点
科目の中での位置付け
本科目では、コンピュータが情報を表現し、命令を実行して処理結果を得る仕組みを、ハードウェアとソフトウェアの関係から学修する。全15回の授業では、数値表現、CPU、メモリ、入出力を基礎として、OSによる資源管理、システムの信頼性、ネットワークとセキュリティ、アルゴリズムへと学習を進める。構成図の読み取り、計算、処理手順の追跡を通して各要素の働きを関連付け、性能や安全性に関わる条件を根拠に基づいて説明できる力を養う。
第3回は、第2回のビット列の読み書きを発展させ、値を操作する方法と小数表現の限界を学ぶ回である。論理演算とシフトをCPUの演算につなげ、浮動小数点の誤差を数値処理の結果を判断する基礎として位置付ける。
コマ主題細目
① 論理演算とビット操作 ② 論理シフトと算術シフト ③ 浮動小数点表現と誤差
細目レベル
① 論理演算では、AND、OR、NOT、XORを真理値表で整理し、複数のビットからなるデータに各桁ごとに適用する方法を学ぶ。条件が成立するかを扱う論理値と、整数の各ビットを操作する処理を区別し、表記や型によって意味が異なることを確認する。演習では、8ビットのデータとマスクを用い、特定のビットの取り出し、設定、反転を行う。入力とマスクと結果を上下に並べ、なぜその結果になるかを各桁の規則に戻って説明する。例えば複数の状態をビットで記録する場合、調べたい状態だけを取り出す仕組みとしてANDを位置付ける。計算結果を10進数に直す前にビット列で確かめ、数値の加算と論理和を混同しないようにする。CPUの演算回路の基礎となる規則として理解する。本細目で理解すべき範囲は、基本的な真理値表を作成し、指定されたマスクによるビット操作を追跡できる範囲まで。
② シフト演算では、固定したビット幅の中でビット列を左右へ移動させる操作を学ぶ。論理シフトは空いた位置を0で埋める操作として整理し、算術右シフトでは2の補数表現の符号を保つために上位側を符号ビットで埋めることを確認する。演習では、同じ負数のビット列に論理右シフトと算術右シフトを適用し、結果の違いを説明する。左シフトを乗算、右シフトを除算と関連付けるときは、桁あふれ、符号、切捨ての規則に注意し、無条件に同じ結果になると考えない。特に負数の算術右シフトでは、言語の整数除算の丸め方との違いがあり得ることを例で確かめる。言語ごとの演算子仕様の暗記よりも、与えられた規則と幅に従って結果を追跡する力を重視する。本細目で理解すべき範囲は、指定された幅と埋め方に基づいて論理シフトと算術右シフトを行い、数値への影響を説明できる範囲まで。
③ 浮動小数点では、数を符号、指数、仮数に分けて表す考え方を学び、広い範囲の値を限られたビット数で扱う仕組みを理解する。IEEE 754の単精度を例に各部分の役割を確認し、通常の正規化数と、0や無限大などの特別な値を区別する。演習では、小さな2進数の例を正規化し、指数と有効桁の変化を追跡する。表せる数の間隔が値の大きさによって変わること、10進小数が厳密に保存されない場合があることを確認する。丸め誤差、近い値の減算による桁落ち、大きさが大きく異なる値の加算による情報落ちを基本例で比較する。表示桁数を増やすことと内部の精���を増やすことを区別し、計算結果の一致を判断する際に誤差を考慮する必要性を捉える。本細目で理解すべき範囲は、浮動小数点の構成と代表的な誤差の原因を理解し、簡単な表現例を説明できる範囲まで。
キーワード
① 論理演算 ② ビットマスク ③ シフト演算 ④ 浮動小数点 ⑤ 丸め誤差
コマの展開方法
社会人講師
AL
ICT
PowerPoint・Keynote
教科書
コマ用オリジナル配布資料
コマ用プリント配布資料
その他
該当なし
小テスト
復習・予習課題
〖復習〗AND、OR、XOR、NOTの結果を8ビットの例で求め、使用した真理値表と対応付けて説明すること。正数と負数について、論理右シフトと算術右シフトの結果を比較し、空いた位置を埋める規則を明記すること。さらに、浮動小数点の符号、指数、仮数の役割をまとめ、丸め誤差、桁落ち、情報落ちをそれぞれ簡単な状況と結び付けること。整数の桁あふれと小数の誤差を混同せず、結果の違いが表現範囲によるのか、有効桁数によるのかを考えて説明すること。
〖予習〗第4回のCPUの基本構造に向けて、演算装置、制御装置、レジスタ、主記憶の役割を調べ、相互の関係を簡単な図にすること。二つの数を加算する処理で、命令そのものと加算されるデータがそれぞれどこに置かれるかを予想すること。プログラムカウンタと命令レジスタについて名前から役割を考え、実際の説明と照合して疑問を整理すること。第1回の五大機能と今回の論理演算を振り返り、ビット単位の演算が装置全体の動作のどの部分に当たるか説明できるようにしておくこと。
4
CPUの基本構造
科目の中での位置付け
本科目では、コンピュータが情報を表現し、命令を実行して処理結果を得る仕組みを、ハードウェアとソフトウェアの関係から学修する。全15回の授業では、数値表現、CPU、メモリ、入出力を基礎として、OSによる資源管理、システムの信頼性、ネットワークとセキュリティ、アルゴリズムへと学習を進める。構成図の読み取り、計算、処理手順の追跡を通して各要素の働きを関連付け、性能や安全性に関わる条件を根拠に基づいて説明できる力を養う。
第4回は、第1回の全体構成と第2・3回の数値表現を、CPU内部の具体的な動作として結び付ける回である。命令サイクルとデータの移動を学び、第5回の命令形式・アドレッシング方式、第6回の高速化技術の土台とする。
コマ主題細目
① 演算装置・制御装置・レジスタ ② 命令サイクルと命令の実行 ③ データパスと制御信号
細目レベル
① CPUの内部を、算術論理演算を行うALU、処理を進める制御装置、値を一時的に保持するレジスタに分けて理解する。汎用レジスタに加え、プログラムカウンタ、命令レジスタ、状態を表すフラグの役割を基本モデルで確認する。主記憶とレジスタはどちらも情報を保持するが、用途やCPUからの使われ方が異なることを整理する。演習では、二つの値を読み込んで加算する処理を取り上げ、入力値、実行する命令、結果、次に実行する位置をどこに保持するかを示す。レジスタの名称や数はCPUによって異なるため、特定製品の暗記よりも役割の区別を重視する。ALUだけでは処理が進まず、保持する部分と制御する部分が連携することで一連の動作が成立することを捉える。本細目で理解すべき範囲は、CPUの主要な内部要素の役割を区別し、簡単な演算における情報の保持場所を説明できる範囲まで。
② 命令サイクルは、命令の取り出し、解読、実行、結果の格納という基本的な流れとして学ぶ。プログラムカウンタが次の命令の位置を示し、読み出された命令に応じて必要なデータや演算が選ばれることを確認する。演習では、ロード、加算、ストア、分岐からなる短い命令列を用い、各命令の実行前後でレジスタと主記憶の値がどう変わるかを表にする。分岐が成立した場合としなかった場合を比較し、プログラムカウンタの更新が実行順序を決めることを理解する。ここでは順に一命令ずつ処理するモデルを用い、後で学ぶパイプラインとの違いを説明する基準とする。命令の取り出しとデータの読み出しを混同せず、何を目的に主記憶へアクセスしているかを明らかにする。本細目で理解すべき範囲は、基本的な命令サイクルを説明し、短い命令列によるレジスタ・主記憶・実行位置の変化を追跡できる範囲まで。
③ データパスは、レジスタ、ALU、主記憶などの間をデータが移動する経路として理解し、制御信号はその時点で行う操作や転送を指定するものとして整理する。構成図の矢印を読む際に、データを運ぶ線、場所を示すアドレス、読み書きを指示する信号を区別する。演習では、レジスタ間の加算と主記憶からの読み出しについて、どの値がどこへ移動し、どの部分が動作するかを順番に書き込む。クロックは状態更新のタイミングをそろえる基準として扱い、一つの命令が必ず一クロックで完了するとは限らないことを確認する。詳細な回路設計に進む前に、必要な入力、処理、出力、保持という関係を図から読み取る力を養う。構成要素の名前だけでなく、連携の理由を説明することを重視する。本細目で理解すべき範囲は、基本的な構成図上でデータの経路と制御の役割を区別し、代表的な命令の動きを説明できる範囲まで。
キーワード
① ALU ② レジスタ ③ プログラムカウンタ ④ 命令サイクル ⑤ データパス
コマの展開方法
社会人講師
AL
ICT
PowerPoint・Keynote
教科書
コマ用オリジナル配布資料
コマ用プリント配布資料
その他
該当なし
小テスト
復習・予習課題
〖復習〗CPU内部の構成図を作り、ALU、制御装置、汎用レジスタ、プログラムカウンタ、命令レジスタの役割を記入すること。授業で扱った短い命令列について、実行前後の値を追跡し、命令の取り出しとデータの読み出しを区別すること。条件分岐の成立・不成立で次の実行位置がどう変わるかを説明すること。さらに、同じ加算でも値の保持と転送が必要である理由をまとめ、誤った追跡結果があれば、読み出す位置、更新する時点、書き戻す場所のどこを取り違えたかを記録すること。
〖予習〗第5回に向けて、命令が操作の種類と操作対象の指定からなることを調べること。値そのものを命令に書く場合、レジスタの名前を書く場合、主記憶のアドレスを書く場合を、簡単な例で区別すること。アドレスを番地に例える際も、番地とそこに保存された値は別であることを確認すること。2進数と16進数の変換を復習し、連続する記憶領域の位置を16進数で読み取る練習を行うこと。配列の先頭から複数の要素へアクセスするには何が必要かを考え、質問を準備しておくこと。
5
命令とアドレッシング方式
科目の中での位置付け
本科目では、コンピュータが情報を表現し、命令を実行して処理結果を得る仕組みを、ハードウェアとソフトウェアの関係から学修する。全15回の授業では、数値表現、CPU、メモリ、入出力を基礎として、OSによる資源管理、システムの信頼性、ネットワークとセキュリティ、アルゴリズムへと学習を進める。構成図の読み取り、計算、処理手順の追跡を通して各要素の働きを関連付け、性能や安全性に関わる条件を根拠に基づいて説明できる力を養う。
第5回は、第4回の命令サイクルを踏まえ、命令が何を指定し、どのように処理対象を見付けるかを学ぶ回である。命令セットと実効アドレスを理解し、第6回の命令数・実行時間の評価や、後のメモリ管理の学習へつなげる。
コマ主題細目
① 命令形式と命令セット ② アドレッシング方式と実効アドレス ③ 命令列の追跡とデータ参照
細目レベル
① 命令形式では、命令が実行する操作を指定する部分と、対象となるデータやその位置を指定する部分から構成されることを学ぶ。データ転送、算術・論理演算、比較、分岐の代表的な命令を分類し、CPUが理解できる命令の集合を命令セットとして整理する。機械語のビット列、アセンブリ表記、高水準言語の処理が異なる抽象度にあることを確認する。演習では、説明用に単純化した命令形式から操作とオペランドを読み取り、一つの高水準の式が複数の命令になる例を追跡する。命令の長さやオペランド数がCPUによって異なることにも触れ、ある例の書き方をすべてのCPUに共通するものと考えない。命令セットの違いがプログラムの互換性に関わる理由を、動作を解釈する側の規則として理解する。本細目で理解すべき範囲は、基本的な命令の分類と形式を理解し、提示された命令から操作と対象を読み取れる範囲まで。
② アドレッシング方式は、命令が操作対象を指定する方法として学び、即値、レジスタ、直接、間接、ベースと変位を用いる方式を基本例で比較する。命令中の数値がデータそのものなのか、場所を表す値なのかを区別し、主記憶上の対象の位置を実効アドレスとして求める。演習では、レジスタと主記憶の内容を示した表を使い、方式ごとに参照する順序を矢印で追う。間接指定ではアドレスを得るための参照とデータを得るための参照を分け、加算によるアドレス計算では単位や要素の大きさを確認する。配列の連続した要素を参照する例を用い、基準位置とずれを分けて指定する利点を捉える。実効アドレスとその場所に保存された値を混同せず、計算の途中過程を残す習慣を身に付ける。本細目で理解すべき範囲は、代表的な指定方式の違いを説明し、与えられた条件から実効アドレスと参照値を求められる範囲まで。
③ 命令列の追跡では、操作の種類とアドレッシング方式を組み合わせ、実行に伴う状態の変化を系統的に記録する。演習では、配列の値を読み出し、加算し、条件に応じて繰り返し、結果を書き戻す短い例を扱う。命令を一つ実行するごとに、参照先、使用する値、変更されるレジスタ、次の命令位置を確認する。読み出しが元の値を変更するとは限らないことと、書き込みによって保存内容が変わることを区別する。計算に使う値とアドレス計算に使う値を色分けするなどして、誤りが起きた時点を特定する。実行結果だけを求めるのではなく、どの命令が何回実行されるかにも着目し、次回の性能評価で必要となる動的な命令数の考え方へつなげる。本細目で理解すべき範囲は、簡単な転送・演算・分岐の命令列を追跡し、参照先と状態変化の根拠を説明できる範囲まで。
キーワード
① 命令セット ② オペランド ③ アドレッシング ④ 実効アドレス ⑤ 分岐
コマの展開方法
社会人講師
AL
ICT
PowerPoint・Keynote
教科書
コマ用オリジナル配布資料
コマ用プリント配布資料
その他
該当なし
小テスト
復習・予習課題
〖復習〗授業で扱ったアドレッシング方式について、命令に書かれる内容、実効アドレスの求め方、最終的に使われる値を比較表にまとめること。同じ数値が即値として使われる場合とアドレスとして使われる場合の違いを例で説明すること。短い命令列を一命令ずつ追跡し、変更前後のレジスタと主記憶の内容を残すこと。繰返しを含む場合は各命令の実行回数も数え、命令が並んでいる数との違いを確認すること。誤りを修正した場合は、参照順序やアドレス計算のどこに原因があったかを記すこと。
〖予習〗第6回の性能評価に向けて、時間、周波数、クロック周期の関係を確認し、GHz、MHz、nsなどの単位を整理すること。ある処理で実行される命令数と、一命令に平均して必要なクロック数が分かれば、全体の実行時間をどう求められるかを考えること。同じ周波数のCPUでも処理時間が異なる理由を、第4・5回の内容から予想すること。また、流れ作業で複数の仕事を重ねる例を用い、一件が完了するまでの時間と単位時間当たりの完了件数が異なる指標であることを説明できるようにしておくこと。
6
CPU性能評価と高速化技術
科目の中での位置付け
本科目では、コンピュータが情報を表現し、命令を実行して処理結果を得る仕組みを、ハードウェアとソフトウェアの関係から学修する。全15回の授業では、数値表現、CPU、メモリ、入出力を基礎として、OSによる資源管理、システムの信頼性、ネットワークとセキュリティ、アルゴリズムへと学習を進める。構成図の読み取り、計算、処理手順の追跡を通して各要素の働きを関連付け、性能や安全性に関わる条件を根拠に基づいて説明できる力を養う。
第6回は、第4・5回で学んだ命令実行を、処理時間と処理能力の観点から評価する回である。性能の指標、パイプライン、並列処理を学び、CPUだけでは性能が決まらないことを第7・8回の記憶階層とキャッシュの学習へつなげる。
コマ主題細目
① CPU性能の指標と実行時間 ② パイプラインとハザード ③ 並列処理と高速化の限界
細目レベル
① CPU性能の評価では、ある処理が完了するまでの応答時間と、単位時間に処理できる量であるスループットを区別する。CPU実行時間を、実行命令数、平均CPI、クロック周期の積として捉え、周波数だけでは速さを比較できない理由を学ぶ。演習では、条件が与えられた二つの構成について単位をそろえて時間を求め、改善率を比較する。平均CPIは命令の種類と実行割合によって変わることを確認し、単純な算術平均を使ってよい場合と重み付けが必要な場合を区別する。測定時には処理内容、入力、コンパイラなどの条件をそろえる必要があり、指標の数値だけで万能な順位を付けない。CPUを使う時間と入出力などを含む経過時間を分け、評価対象に適した指標を選ぶ。本細目で理解すべき範囲は、基本的な条件からCPU実行時間を計算し、指標と比較条件を明示して性能を説明できる範囲まで。
② パイプラインは、命令の処理を複数の段階に分け、異なる命令の段階を重ねて進める方式として理解する。単一命令の遅延と連続する命令列のスループットを区別し、段数を増やせば一命令が必ず早く終わるわけではないことを確認する。演習では、単純化した段階図に複数の命令を配置し、重なりがある場合とない場合の完了時刻を比較する。データ依存、分岐、資源の競合によって処理が滞る状況をハザードとして整理し、待機や転送、分岐予測が何を改善しようとするかを学ぶ。具体的なCPUの複雑な回路には立ち入らず、どの命令が何を待っているかを図から説明する。理想的な処理能力と実際の処理能力に差が生じる理由を、命令間の関係から捉える。本細目で理解すべき範囲は、基本的なパイプラインの時系列図を読み、代表的なハザードと性能への影響を説明できる範囲まで。
③ 並列処理では、複数の命令やデータを同時に処理する考え方を学び、スーパースカラ、SIMD、マルチコアの違いを処理の単位から整理する。コア数を増やしても、順番に実行する必要のある部分や同期・通信の負担が残ることを確認する。演習では、処理時間の一部だけを高速化する簡単な例を用い、全体の改善がどこで制限されるかを計算する。アムダールの法則では並列化できる割合と高速化倍率を区別し、理想化した条件の計算結果と現実の測定値を同一視しない。CPU以外の記憶や入出力が待ち時間を生む場合にも触れ、最も遅い部分を特定して改善する視点を養う。性能だけでなく、消費電力や実装の複雑さとの関係も考え、用途に応じた構成の選択へつなげる。本細目で理解すべき範囲は、代表的な並列化の違いと全体性能の制約を理解し、単純な高速化倍率を計算できる範囲まで。
キーワード
① CPI ② クロック周波数 ③ パイプライン ④ 並列処理 ⑤ アムダールの法則
コマの展開方法
社会人講師
AL
ICT
PowerPoint・Keynote
教科書
コマ用オリジナル配布資料
コマ用プリント配布資料
その他
該当なし
小テスト
復習・予習課題
〖復習〗実行命令数、平均CPI、クロック周波数を用いた実行時間の計算を行い、式に代入する前に各値の単位を確認すること。二つのCPUを比較する例では、周波数だけで判断した場合と計算結果を比較し、違いの理由を説明すること。簡単なパイプライン図を作成して待機が生じる箇所を示し、原因を分類すること。さらに、処理の一部だけを高速化したときの全体の改善率を求め、並列化できない部分が残る意味を文章にすること。計算の前提と実測では変わり得る条件も書き添えること。
〖予習〗第7回に向けて、レジスタ、キャッシュ、主記憶、SSD、HDDについて、用途、容量、アクセスの速さ、電源を切った後の保持という観点を調べること。すべてを最も速い記憶装置に置くことが難しい理由を、費用と容量から考えること。第4回で追跡した命令の実行を振り返り、主記憶の読み出しに時間がかかるとCPUがどの場面で待つかを説明すること。同じデータや近い位置のデータを続けて使う処理の例を挙げ、記憶装置を複数の段階に分けるとどのような利点がありそうか予想すること。
7
メモリの基礎と記憶階層
科目の中での位置付け
本科目では、コンピュータが情報を表現し、命令を実行して処理結果を得る仕組みを、ハードウェアとソフトウェアの関係から学修する。全15回の授業では、数値表現、CPU、メモリ、入出力を基礎として、OSによる資源管理、システムの信頼性、ネットワークとセキュリティ、アルゴリズムへと学習を進める。構成図の読み取り、計算、処理手順の追跡を通して各要素の働きを関連付け、性能や安全性に関わる条件を根拠に基づいて説明できる力を養う。
第7回は、第6回で扱った性能上の待ち時間に着目し、情報を保持する装置の特性と配置を学ぶ回である。主記憶の構造、記憶階層、局所性を理解し、第8回のキャッシュの動作と実効アクセス時間を考えるための基礎を整える。
コマ主題細目
① 記憶装置の種類と特性 ② 主記憶のアドレスと容量 ③ 記憶階層と参照の局所性
細目レベル
① 記憶装置の種類を、レジスタ、キャッシュ、主記憶、補助記憶として整理し、速度、容量、価格、揮発性の観点から比較する。主記憶に広く使われるDRAMとキャッシュに用いられるSRAMについて、情報の保持方法の違いが更新動作や特性に関わることを学ぶ。SSDとHDDは長期保存を担う装置として扱い、主記憶と同じ意味で容量だけを比較しない。演習では、アプリケーションの起動中、実行中、終了後に必要な情報がどこに置かれるかを図にする。電源を切ったときに保持されるかという性質と、処理中に読み書きできるかという性質を区別する。製品の最新性能値の暗記よりも、用途と制約に応じて異なる種類の記憶装置を組み合わせる理由を理解する。本細目で理解すべき範囲は、主な記憶装置の特性を比較し、処理中の保持と長期保存における役割を説明できる範囲まで。
② 主記憶は、アドレスによって読み書きする位置を指定する領域として理解する。アドレスのビット数から指定できる場所の数を求める際には、一つのアドレスが何バイトを指すかという単位を確認する。演習では、バイトアドレス方式の小さな記憶空間を図示し、連続するデータの先頭位置、要素の大きさ、占有する範囲を求める。アドレス幅、データの幅、装置として搭載された容量を混同せず、理論上指定できる範囲と実際に利用できる範囲が異なり得ることを学ぶ。複数バイトの値を保存するときは配置順序にも規則があることに触れ、読み出す側と書き込む側で解釈をそろえる必要性を確認する。桁数の計算だけで終わらず、単位と保存範囲を図で確かめる習慣を身に付ける。本細目で理解すべき範囲は、単純なアドレス空間の容量とデータの占有範囲を、アクセス単位を明示して求められる範囲まで。
③ 記憶階層は、高速で小容量の記憶と低速で大容量の記憶を段階的に組み合わせる考え方として学ぶ。CPUに近い場所へ必要な情報を置くことで、全体として容量と速度の両立を目指すことを理解する。時間的局所性は最近使った情報を再び使う傾向、空間的局所性は近い位置の情報を続けて使う傾向として区別する。演習では、配列を順番に読む処理と同じ変数を繰り返し使う処理を追い、どちらの局所性が現れるかを説明する。すべての処理で同じ効果が得られるわけではなく、アクセスの仕方によって効率が変わることを確認する。保存されている場所と実際に参照する場所の関係を整理し、次回のヒット・ミスの意味を理解する準備とする。本細目で理解すべき範囲は、記憶階層の目的を説明し、簡単なアクセス列から時間的局所性と空間的局所性を見分けられる範囲まで。
キーワード
① DRAM ② SRAM ③ アドレス空間 ④ 記憶階層 ⑤ 局所性
コマの展開方法
社会人講師
AL
ICT
PowerPoint・Keynote
教科書
コマ用オリジナル配布資料
コマ用プリント配布資料
その他
該当なし
小テスト
復習・予習課題
〖復習〗レジスタ、キャッシュ、主記憶、SSD、HDDを比較表にまとめ、速度、容量、揮発性、主な用途の関係を説明すること。アドレスのビット数とアクセス単位が与えられた例で容量を計算し、単位を変えて結果を確かめること。配列の連続した要素が占める記憶範囲を図にし、位置を表す値と保存される値を区別すること。さらに、時間的局所性と空間的局所性の例をそれぞれ作り、記憶階層が有効に働く理由を述べること。単なる速度の順位ではなく、用途に応じて組み合わせる理由をまとめること。
〖予習〗第8回に向けて、キャッシュのヒットとミス、ヒット率とミス率の意味を調べること。10回の参照のうち何回が高速な記憶で処理できたかという簡単な記録を作り、割合を求める練習をすること。主記憶へのアクセスに時間がかかる場合でも、すべての参照が同じ時間になるとは限らない理由を考えること。データを一つずつではなく、近接したまとまりで読み込むことの利点を第7回の局所性と関連付けて予想すること。平均の時間を計算するときに必要な値と前提を自分の言葉で列挙しておくこと。
8
キャッシュメモリと実効アクセス時間
科目の中での位置付け
本科目では、コンピュータが情報を表現し、命令を実行して処理結果を得る仕組みを、ハードウェアとソフトウェアの関係から学修する。全15回の授業では、数値表現、CPU、メモリ、入出力を基礎として、OSによる資源管理、システムの信頼性、ネットワークとセキュリティ、アルゴリズムへと学習を進める。構成図の読み取り、計算、処理手順の追跡を通して各要素の働きを関連付け、性能や安全性に関わる条件を根拠に基づいて説明できる力を養う。
第8回は、第7回の記憶階層と局所性を、キャッシュの動作と性能の計算に具体化する回である。配置、置換、書込みの基本を学び、ヒット率だけでなくアクセス時間も含めて効果を評価する。第6回のCPU性能評価との関係も確認する。
コマ主題細目
① キャッシュの基本動作と配置方式 ② 置換方式と書込み方式 ③ ヒット率と実効アクセス時間
細目レベル
① キャッシュは、主記憶の内容の一部をCPUに近い高速な領域に保持し、必要な情報があればそこから利用する仕組みとして学ぶ。データをまとめて扱う単位をブロックまたはラインとし、ヒットとミスの違いを参照先の有無で確認する。ダイレクトマップ、フルアソシアティブ、セットアソシアティブについて、主記憶のブロックをどこへ置けるかという規則から比較する。演習では、小さなキャッシュとアクセス列を用い、各参照の後に何が保存されるかを表にする。タグは保存されたブロックを識別する情報として理解し、位置が同じでも別のデータを誤って使わない仕組みを確認する。容量が十分に見える場合でも、配置先の競合によってミスが生じることを例で捉え、局所性との関係を考える。本細目で理解すべき範囲は、基本的な配置規則に従って小規模なアクセス列を追跡し、ヒットとミスを判定できる範囲まで。
② 置換方式は、新しいブロックを入れる場所が埋まっているとき、どの内容を取り除くかを決める規則として理解する。LRUとFIFOを例に、最近使ったかどうかと、先に入ったかどうかが異なる基準であることを確認する。書込み方式では、キャッシュへの書込みを主記憶にも反映するライトスルーと、変更を保持して後で反映するライトバックを比較する。演習では、読み書きが混在した短い参照列を用い、置換される内容と主記憶へ反映される時点を追う。ライトバックでは変更の有無を管理する必要があることを理解し、キャッシュと主記憶の値が常に同時に変わるとは考えない。性能と制御の複雑さの関係を整理し、書込みミス時の動作は問題で指定された規則を確認してから判断する。本細目で理解すべき範囲は、代表的な置換方式と書込み方式の違いを理解し、指定された規則に基づく状態変化を説明できる範囲まで。
③ 実効アクセス時間は、ヒットとミスが混在する参照を平均した時間として学ぶ。ヒット率とミス率が補い合う関係を確認し、時間の定義に応じて重み付き平均を立てる。ミス時の追加時間が与えられた場合は、ヒット時間にミス率と追加時間の積を加える形で考える。演習では、ミス時の総時間が与えられる場合と追加時間が与えられる場合を比較し、同じ待ち時間を二重に加えないようにする。ヒット率、ヒット時間、ミスペナルティを一つずつ変え、平均時間がどう変わるかを計算する。高いヒット率だけで最良の構成を決めず、各値の単位と参照条件をそろえて判断する。ここでは単純化した一段のキャッシュを中心に扱い、測定結果を解釈するための基本的な見積り方を身に付ける。本細目で理解すべき範囲は、時間の定義を明示した一段キャッシュの実効アクセス時間を計算し、構成の違いを比較できる範囲まで。
キーワード
① キャッシュライン ② ヒット率 ③ 配置方式 ④ ライトバック ⑤ 実効アクセス時間
コマの展開方法
社会人講師
AL
ICT
PowerPoint・Keynote
教科書
コマ用オリジナル配布資料
コマ用プリント配布資料
その他
該当なし
小テスト
復習・予習課題
〖復習〗小さなキャッシュの配置方式と参照列を設定し、各参照のヒット・ミスと保存内容を表にまとめること。置換が生じたときは、選ばれたブロックと判断規則を示すこと。ライトスルーとライトバックについて主記憶へ値が反映される時点を比較すること。さらに、ヒット時間とミス時の追加時間を用いて実効アクセス時間を計算し、ミス時の総時間を使う式でも同じ結果になるかを確かめること。ヒット率だけを見て判断できない理由を述べ、使用した単位と計算上の仮定を必ず記録すること。
〖予習〗第9回に向けて、CPU、主記憶、入出力装置を結ぶバスの役割を調べること。データ、アドレス、制御の信号がそれぞれ何を伝えるかを第4回の構成図に追記すること。周辺装置の処理が終わるまでCPUが繰り返し確認する方法と、装置から完了を知らせる方法の違いを予想すること。大きなデータを転送する際、CPUが一つずつ運ぶ場合にはどのような負担が生じるか考えること。転送速度の単位を確認し、一定量のデータを移す時間を求めるために必要な条件を整理しておくこと。
9
バスと入出力制御
科目の中での位置付け
本科目では、コンピュータが情報を表現し、命令を実行して処理結果を得る仕組みを、ハードウェアとソフトウェアの関係から学修する。全15回の授業では、数値表現、CPU、メモリ、入出力を基礎として、OSによる資源管理、システムの信頼性、ネットワークとセキュリティ、アルゴリズムへと学習を進める。構成図の読み取り、計算、処理手順の追跡を通して各要素の働きを関連付け、性能や安全性に関わる条件を根拠に基づいて説明できる力を養う。
第9回は、CPUと記憶装置の学習を入出力装置との連携へ広げる回である。バス、割込み、DMAを理解し、装置ごとの速度差を調整して処理を進める仕組みを学ぶ。第10回のOSによるプロセス管理と資源の利用につなげる。
コマ主題細目
① バスの役割とデータ転送 ② ポーリングと割込み ③ DMAと入出力の連携
細目レベル
① バスは、CPU、主記憶、周辺装置の間で情報をやり取りするための接続の仕組みとして学ぶ。基本モデルでは、データを運ぶ情報、対象の位置を示すアドレス、読み書きやタイミングを指定する制御を区別する。バス幅や転送回数と理論的な転送量の関係を確認し、実際には制御のための時間や装置側の待ち時間があることを理解する。演習では、主記憶の読み出しと周辺装置への書込みを図にし、要求から完了までに誰が何を伝えるかを示す。複数の装置が接続される場合には利用の調整が必要であり、単に線でつながっているだけでは同時に自由な転送ができないことを確認する。個別の接続規格の最新仕様よりも、帯域幅、遅延、共有という基本的な観点から転送を説明する力を養う。本細目で理解すべき範囲は、基本的な転送におけるデータ・アドレス・制御の役割と、転送量を制約する条件を説明できる範囲まで。
② ポーリングはCPUが装置の状態を繰り返し確認する方法、割込みは装置などからの通知によって必要な処理へ移る仕組みとして学ぶ。短い待ち時間を積極的に確認する場合と、待っている間に別の仕事を進めたい場合を比較し、用途によって適した方法が異なることを理解する。演習では、入出力を開始してから完了を認識するまでの時系列を二つの方式で作り、CPUがどの時間に何をしているかを示す。割込みの処理では、実行中の状態を必要に応じて保存し、処理後に元の実行へ戻るという基本的な流れを確認する。通知そのものと実際のデータ転送を同一視せず、割込みの頻度が高い場合には処理の負担も生じることを考える。次回のOSによる実行の切替えに必要な基礎として位置付ける。本細目で理解すべき範囲は、ポーリングと割込みの動作を時系列で比較し、待ち時間とCPUの利用に対する影響を説明できる範囲まで。
③ DMAは、CPUが転送の条件を設定した後、専用の制御機構が主記憶と入出力装置の間の転送を進める仕組みとして理解する。CPUがすべてのデータを一つずつ移す方法と比較し、大量の転送における負担の違いを確認する。演習では、転送元、転送先、転送量の設定、転送の実行、完了通知という段階を図にして担当を分ける。CPUが関与しなくなるという意味ではなく、開始の準備や終了後の処理は必要であることを押さえる。主記憶や接続経路をほかの処理と共有するため、転送中の競合やデータの整合にも配慮が必要となることに触れる。割込みは完了を知らせる手段、DMAは転送を担う仕組みとして関係を整理し、両者を排他的な選択肢と考えないようにする。本細目で理解すべき範囲は、DMAの基本的な役割分担を説明し、CPU・主記憶・装置・完了通知の関係を図示できる範囲まで。
キーワード
① バス ② 帯域幅 ③ ポーリング ④ 割込み ⑤ DMA
コマの展開方法
社会人講師
AL
ICT
PowerPoint・Keynote
教科書
コマ用オリジナル配布資料
コマ用プリント配布資料
その他
該当なし
小テスト
復習・予習課題
〖復習〗CPU、主記憶、入出力装置の構成図を作り、読み出しまたは書込みの一例について、データ、アドレス、制御の流れを示すこと。ポーリングと割込みの時系列図を比較し、CPUが待っている時間と別の処理を進められる時間を説明すること。DMAについては開始時、転送中、完了時の担当を区別し、割込みとの関係をまとめること。転送量と速度から時間を求める計算では、理論値に含めた条件と含めていない待ち時間を明記すること。装置の速度差を調整する必要性を一つの例で説明すること。
〖予習〗第10回に向けて、OSが管理する資源としてCPU、主記憶、ファイル、入出力装置を挙げ、それぞれ複数のアプリケーションが使う場合の問題を考えること。プログラムを保存したファイルと、実行中のプログラムとしてのプロセスの違いを調べること。一つのCPUで複数の処理が進んでいるように見える理由を、割込みと実行の切替えから予想すること。実行可能な状態と入出力の完了を待つ状態を区別し、待っている処理へCPUを割り当て続けることの意味を考えて疑問をまとめること。
10
OSの基礎とプロセス管理
科目の中での位置付け
本科目では、コンピュータが情報を表現し、命令を実行して処理結果を得る仕組みを、ハードウェアとソフトウェアの関係から学修する。全15回の授業では、数値表現、CPU、メモリ、入出力を基礎として、OSによる資源管理、システムの信頼性、ネットワークとセキュリティ、アルゴリズムへと学習を進める。構成図の読み取り、計算、処理手順の追跡を通して各要素の働きを関連付け、性能や安全性に関わる条件を根拠に基づいて説明できる力を養う。
第10回は、第9回までに学んだ装置を複数の処理が利用できるようにするOSの働きを学ぶ回である。プロセスの状態とスケジューリングを中心に、実行の切替えと資源管理を理解する。第11回の記憶管理・ファイル管理へ学習を広げる。
コマ主題細目
① OSの役割とシステムコール ② プロセス・スレッドと状態遷移 ③ CPUスケジューリングと同期の基礎
細目レベル
① OSは、CPU、記憶、ファイル、入出力などの資源を管理し、アプリケーションへ利用のための基本的な機能を提供するものとして理解する。利用者の操作画面だけをOSと捉えず、装置の違いを吸収することや処理同士を保護することも役割として整理する。システムコールは、アプリケーションがOSに処理を依頼するための仕組みとして学び、通常の計算と管理機能を必要とする処理を区別する。演習では、ファイルを開いて読み込む場面について、アプリケーション、OS、装置の担当を図にする。ユーザモードとカーネルモードは、実行できる操作の権限を分ける基本的な考え方として確認する。個別OSの操作手順ではなく、安全に共有しながら処理を進めるための共通した仕組みを理解する。本細目で理解すべき範囲は、OSによる資源管理と保護の役割を理解し、基本的なシステムコールの利用場面を説明できる範囲まで。
② プロセスは実行中のプログラムを管理する単位として学び、命令の列だけでなく、実行位置、レジスタ、記憶領域などの状態を伴うことを理解する。スレッドはプロセス内で実行を進める単位として整理し、共有する資源と個別に保持する実行状態があることを確認する。実行可能、実行中、待機という基本的な状態を用い、CPUの割当てや入出力の完了に伴う遷移を図示する。演習では、二つの処理がCPUと入出力を使う時系列を追い、動けるのに順番を待つ場合と、条件が整うまで動けない場合を区別する。コンテキストスイッチでは状態の保存と復元が必要であり、切替えにも時間がかかることを学ぶ。複数の処理が存在することと、物理的に同時実行していることを混同しないようにする。本細目で理解すべき範囲は、プロセスとスレッドの基本的な違いを理解し、代表的な状態遷移と切替えを説明できる範囲まで。
③ CPUスケジューリングは、実行可能な処理のうち次にどれへCPUを割り当てるかを決める仕組みとして学ぶ。到着順とラウンドロビンを基本例に、待ち時間、応答、処理完了までの時間を比較し、評価する目的によって望ましい方法が変わることを理解する。演習では、到着時刻と必要な処理時間が与えられた少数のプロセスについて実行順序を図にし、タイムクォンタムの影響を確認する。また、複数の処理が同じデータを更新する例を用い、実行の順序によって結果が変わる競合状態と、排他制御の必要性を学ぶ。待ち合わせの方法を誤ると進行できない場合があることにも触れる。詳細な同期機構の実装には立ち入らず、共有資源を扱う際に順序と保護を考える基礎を身に付ける。本細目で理解すべき範囲は、基本的なスケジューリングを追跡し、共有データに対する同期と排他制御の必要性を説明できる範囲まで。
キーワード
① システムコール ② プロセス ③ スレッド ④ スケジューリング ⑤ 排他制御
コマの展開方法
社会人講師
AL
ICT
PowerPoint・Keynote
教科書
コマ用オリジナル配布資料
コマ用プリント配布資料
その他
該当なし
小テスト
復習・予習課題
〖復習〗OSの役割を資源管理、利用機能の提供、保護の観点から整理し、ファイルを読み込む例に対応付けること。プロセスの状態遷移図を作成して各矢印のきっかけを書き、実行可能状態と待機状態の違いを説明すること。到着順とラウンドロビンで同じ処理群を実行した場合の時系列を比較し、待ち時間や応答への影響をまとめること。共有変数を二つの処理が更新する例では、操作を細かく分けて誤った結果に至る順序を示し、排他制御が必要な箇所を根拠とともに特定すること。
〖予習〗第11回に向けて、複数のプロセスが同じ主記憶を使うときに、互いの領域を保護する必要がある理由を考えること。仮想アドレスと物理アドレス、ページ、ファイルとディレクトリの用語を調べ、関係を簡単な図にすること。保存したファイルと実行中の主記憶の内容の違いを第7回と関連付けて整理すること。また、一台の物理的なコンピュータで複数のOS環境を動かす場面を想定し、どの資源を分けたり共有したりする必要があるかを列挙すること。似た名称の仮想記憶と仮想マシンの違いも予想しておくこと。
11
記憶管理・ファイル管理・仮想化
科目の中での位置付け
本科目では、コンピュータが情報を表現し、命令を実行して処理結果を得る仕組みを、ハードウェアとソフトウェアの関係から学修する。全15回の授業では、数値表現、CPU、メモリ、入出力を基礎として、OSによる資源管理、システムの信頼性、ネットワークとセキュリティ、アルゴリズムへと学習を進める。構成図の読み取り、計算、処理手順の追跡を通して各要素の働きを関連付け、性能や安全性に関わる条件を根拠に基づいて説明できる力を養う。
第11回は、第10回のプロセス管理を記憶領域と永続的な保存の管理へ広げる回である。仮想記憶、ファイル、仮想マシンを区別し、OSが資源を抽象化する仕組みを学ぶ。第12回のシステム構成と可用性を検討する基礎とする。
コマ主題細目
① 仮想記憶とページング ② ファイルとディレクトリの管理 ③ 仮想マシンと資源の分離
細目レベル
① 仮想記憶では、プロセスから見えるアドレス空間と物理的な主記憶を区別し、対応付けによって記憶領域を管理する仕組みを学ぶ。ページングでは一定の大きさの単位を用い、ページテーブルが仮想ページと物理フレームの対応を保持することを理解する。演習では、ページ番号とページ内の位置に分けた小さなアドレスを、対応表に従って物理アドレスへ変換する。必要なページが主記憶にない場合のページフォールトでは、OSによる対応が必要となることを確認する。TLBはアドレス変換を速めるための情報を保持するもので、通常のデータキャッシュと役割が異なることも整理する。主記憶の不足を無制限に解消する仕組みと考えず、補助記憶との移動が増えると性能が低下する理由を捉える。本細目で理解すべき範囲は、基本的なページングによるアドレス変換と、ページフォールト・保護の役割を説明できる範囲まで。
② ファイル管理は、データを名前と属性を持つまとまりとして永続的に保存し、利用するための仕組みとして学ぶ。ディレクトリによる階層構造、絶対パスと相対パス、作成・読出し・書込み・削除といった基本操作を整理する。利用者が見るファイルと、記憶装置上の領域の割当てを区別し、OSが両者を対応付けることを理解する。演習では、簡単なディレクトリ図から同じファイルを異なる基準位置で指定し、読取りや書込みの権限が必要となる場面を確認する。ファイルを開くこと、内容を主記憶へ読み込むこと、変更を保存することが別の段階である点にも注意する。障害時の整合性やバックアップの必要性に触れ、通常の保存操作だけであらゆるデータ消失を防げるわけではないことを学ぶ。本細目で理解すべき範囲は、ファイルの階層的な管理、基本操作、アクセス権の役割を理解し、保存と読込みの流れを説明できる範囲まで。
③ 仮想マシンは、一台の物理的なコンピュータ上で、複数の独立した実行環境を構成する仕組みとして学ぶ。ハイパーバイザがCPU、主記憶、記憶装置、入出力の利用を調整し、各ゲストOSへ仮想的な資源を提示する関係を確認する。演習では、物理装置、仮想化の管理層、複数のゲストOS、アプリケーションを階層図にまとめる。環境の分離、構成の集約、試験環境の準備などの利点と、物理資源の競合や管理の負担という制約を比較する。仮想記憶はアドレス空間の管理、仮想マシンは計算環境の提供という違いを説明する。コンテナについてはOSのカーネルを共有する方式として基本的な相違に触れ、どの層を分け、どの資源を共有するかを確認する視点を身に付ける。本細目で理解すべき範囲は、仮想マシンの構成と役割分担を理解し、仮想記憶およびコンテナとの基本的な違いを説明できる範囲まで。
キーワード
① ページング ② ページフォールト ③ ファイルシステム ④ アクセス権 ⑤ 仮想マシン
コマの展開方法
社会人講師
AL
ICT
PowerPoint・Keynote
教科書
コマ用オリジナル配布資料
コマ用プリント配布資料
その他
該当なし
小テスト
復習・予習課題
〖復習〗小さなページテーブルを用いて仮想アドレスから物理アドレスを求め、ページ番号とページ内の位置を区別すること。必要なページが主記憶にない場合に生じる処理と待ち時間を説明すること。ディレクトリ図から絶対パスと相対パスを記述し、ファイルの読込みと保存に必要な権限を整理すること。さらに、仮想記憶、仮想マシン、コンテナについて何を仮想化または分離するかを比較すること。仮想化しても共通の物理装置に依存する部分が残る理由を図に示し、性能と障害の観点から考察すること。
〖予習〗第12回に向けて、システムが停止したときに困るサービスを一つ選び、CPU、記憶装置、電源、通信経路など、停止の原因になり得る要素を挙げること。故障しにくいことと、故障後に短時間で復旧できることが異なる意味を持つ理由を考えること。MTBF、MTTR、稼働率の用語を調べ、時間の長さがそれぞれ何を表すかを確認すること。また、同じ機器を二台用意した場合でも防げない障害を予想し、冗長化とバックアップに期待する役割の違いを自分の言葉でまとめておくこと。
12
システム構成と信頼性
科目の中での位置付け
本科目では、コンピュータが情報を表現し、命令を実行して処理結果を得る仕組みを、ハードウェアとソフトウェアの関係から学修する。全15回の授業では、数値表現、CPU、メモリ、入出力を基礎として、OSによる資源管理、システムの信頼性、ネットワークとセキュリティ、アルゴリズムへと学習を進める。構成図の読み取り、計算、処理手順の追跡を通して各要素の働きを関連付け、性能や安全性に関わる条件を根拠に基づいて説明できる力を養う。
第12回は、CPU・記憶・OSの知識をシステム全体の構成と運用の観点から統合する回である。性能に加えて信頼性、可用性、復旧を評価し、利用目的に合う構成を考える。第13回の通信とセキュリティにも共通する、条件に応じた対策選択の基礎を養う。
コマ主題細目
① システム構成と役割分担 ② 信頼性指標と稼働率 ③ 冗長化・バックアップと障害対策
細目レベル
① システム構成では、単体で処理する形、クライアントとサーバで役割を分ける形、複数の装置で処理を分担する形を比較する。利用者からの要求、計算、データの保存、結果の返却をどの装置が担うかを構成図で確認する。演習では、小規模な情報提供サービスを例に、利用者が増えた場合や一部の装置が停止した場合の影響を考える。集中して管理する利点と、一箇所への依存が生じる点を整理し、分散すれば自動的に高速で安全になるとは考えない。処理能力、応答、容量、管理のしやすさなどの要求を先に明らかにし、その条件に合う役割分担を選ぶ。第11回の仮想化との関係を確認し、論理的に分かれた環境が物理的にも独立しているとは限らないことを図から読み取る。本細目で理解すべき範囲は、基本的なシステム構成の役割分担と依存関係を説明し、要求に応じた特徴を比較できる範囲まで。
② 信頼性の評価では、故障までの平均的な稼働時間を表すMTBFと、復旧に要する平均時間を表すMTTRを区別する。修理を繰り返す単純化したモデルで、稼働率をMTBFとMTTRの関係から求め、故障の頻度と復旧の速さの両方が影響することを学ぶ。演習では、同じMTBFでも復旧時間が違う構成を比較し、停止時間を短くする方法を考える。複数要素の直列構成と並列構成の基本計算では、何が動いていればサービスを提供できるかを先に確認する。要素の独立性などの仮定を明示し、共通電源の故障などがある場合に単純な掛算だけでは評価できないことを理解する。信頼性、可用性、保守のしやすさを関連付け、数値の大小だけでなく計算の条件を説明する姿勢を養う。本細目で理解すべき範囲は、基本的な稼働率と単純な構成の計算を行い、指標の意味および独立性などの前提を説明できる範囲まで。
③ 障害対策では、予備の要素を用意してサービスを継続する冗長化と、保存した複製からデータを戻すバックアップの役割を区別する。ディスクの冗長化、予備サーバへの切替え、電源や通信経路の二重化を例に、何の故障を想定した対策かを確認する。RAIDについては代表的な方式の容量と耐障害性の違いを概観し、RAIDだけでは誤削除やすべての破損に備えられないことを理解する。演習では、一つのサービスについて故障箇所、影響、検知、切替え、復旧の流れを表にする。装置を増やすだけでなく、共通の原因で同時に停止しない構成や、バックアップから戻せることの確認が必要となる点を押さえる。許容できる停止時間とデータ損失の範囲を要求として整理し、費用や運用負担との関係を考える。本細目で理解すべき範囲は、代表的な障害対策の目的と限界を理解し、想定する障害に応じた継続・復旧の方法を説明できる範囲まで。
キーワード
① クライアントサーバ ② MTBF ③ MTTR ④ 稼働率 ⑤ 冗長化
コマの展開方法
社会人講師
AL
ICT
PowerPoint・Keynote
教科書
コマ用オリジナル配布資料
コマ用プリント配布資料
その他
該当なし
小テスト
復習・予習課題
〖復習〗一つのサービスの構成図を作成し、利用者の要求から結果が返るまでの役割分担と依存関係を示すこと。MTBFとMTTRが与えられた場合の稼働率を求め、どちらを改善すると何が変わるかを説明すること。直列構成と並列構成の比較では、動作を継続できる条件と独立性の仮定を明記すること。さらに、冗長化とバックアップについて対処できる障害を比較し、誤削除や共通電源の停止に対して何が必要かを考えること。対策を列挙するだけでなく、守る対象と復旧の手順を対応付けてまとめること。
〖予習〗第13回に向けて、Webページを閲覧するときに端末、ネットワーク機器、サーバがどのようにつながるかを簡単な図にすること。IPアドレス、ポート番号、DNSの役割を調べ、相手を指定する情報とサービスを指定する情報を区別すること。通信ができることと、安全に利用できることが異なる理由を考え、盗聴、改ざん、なりすましが起こるとどのような問題になるかを一つずつ書くこと。第12回の可用性を振り返り、セキュリティの対策にもサービスの継続という観点が必要な理由を整理しておくこと。
13
ネットワーク・セキュリティの基礎
科目の中での位置付け
本科目では、コンピュータが情報を表現し、命令を実行して処理結果を得る仕組みを、ハードウェアとソフトウェアの関係から学修する。全15回の授業では、数値表現、CPU、メモリ、入出力を基礎として、OSによる資源管理、システムの信頼性、ネットワークとセキュリティ、アルゴリズムへと学習を進める。構成図の読み取り、計算、処理手順の追跡を通して各要素の働きを関連付け、性能や安全性に関わる条件を根拠に基づいて説明できる力を養う。
第13回は、単体のコンピュータから複数の装置を結ぶ仕組みへ視点を広げる回である。通信の階層と情報の宛先を理解し、機密性・完全性・可用性を守る基本的な対策を学ぶ。第12回の信頼性と併せて、総合演習で構成を評価する観点を整える。
コマ主題細目
① ネットワークの階層と通信の流れ ② アドレス・名前解決と通信方式 ③ セキュリティの基本と対策
細目レベル
① ネットワークは、複数の装置が決められた規則に従って情報を交換する仕組みとして理解する。送る内容を一定の単位に分け、宛先などの情報を付けて転送する基本的な考え方を学ぶ。階層化は通信に必要な仕事を役割ごとに分ける方法として整理し、アプリケーション、トランスポート、ネットワーク、リンクの各層の役割を基本モデルで確認する。演習では、端末からWebサーバへ要求を送り、応答を受け取る流れを図にし、各層で何を担当するかを示す。スイッチとルータについては、接続先への転送と異なるネットワーク間の転送という観点から区別する。個々の機器の設定手順の暗記よりも、通信の途中で役割が分担され、規則がそろって初めて相互に情報を解釈できることを理解する。本細目で理解すべき範囲は、基本的な通信の流れと階層ごとの役割を理解し、端末・ネットワーク機器・サーバの関係を説明できる範囲まで。
② 通信相手の指定では、IPアドレスがネットワーク上の宛先を示し、ポート番号が通信を受けるサービスや処理の識別に使われることを学ぶ。DNSは名前をアドレスなどの情報へ対応付ける仕組みとして理解し、名前を知っていることと通信経路が利用できることを区別する。TCPとUDPは、信頼性のための制御や通信の進め方が異なる方式として比較する。演習では、名前解決、接続または送信、応答という流れを追い、失敗したときに確認する段階を整理する。TCPでも相手のアプリケーションが要求どおり処理したことまで自動的に保証するわけではない点を確認する。速度や信頼性という一語で優劣を決めず、必要な遅延、欠損への対応、アプリケーション側の仕組みと組み合わせて用途を考える。本細目で理解すべき範囲は、IPアドレス・ポート・DNSの役割とTCP・UDPの基本的な違いを、通信の例に沿って説明できる範囲まで。
③ セキュリティでは、許可された相手だけが情報を利用できる機密性、情報が不正に変えられない完全性、必要なときに利用できる可用性を基本的な目標として学ぶ。盗聴、改ざん、なりすまし、不正アクセスなどの脅威を、守りたい対象と対応付ける。暗号化は内容を保護する手段、認証は相手を確認する手段、認可は許される操作を決める仕組みとして区別する。演習では、ネットワーク上のサービス利用を例に、通信の保護、多要素認証、権限の制限、更新、バックアップがそれぞれ何に備えるかを整理する。一つの対策であらゆる脅威がなくなるとは考えず、端末、通信、サーバ、利用者の行動を含めて確認する。具体的な攻撃手順ではなく、問題を見分け、基本的な予防策を選ぶ判断力を養う。本細目で理解すべき範囲は、主要な保護目標と脅威を区別し、暗号化・認証・権限制御などの基本対策を目的と結び付けて説明できる範囲まで。
キーワード
① TCP/IP ② DNS ③ ポート番号 ④ 機密性・完全性・可用性 ⑤ 認証と認可
コマの展開方法
社会人講師
AL
ICT
PowerPoint・Keynote
教科書
コマ用オリジナル配布資料
コマ用プリント配布資料
その他
該当なし
小テスト
復習・予習課題
〖復習〗Webサービスを利用する流れを図示し、名前解決、通信相手の指定、データの転送、アプリケーションの処理を区別すること。IPアドレスとポート番号の役割、TCPとUDPの基本的な違いを用途の例とともに説明すること。機密性、完全性、可用性のそれぞれが損なわれる状況を一つずつ挙げ、適した対策を対応付けること。暗号化、認証、認可を混同せず、何を保護し何を保証しないかを書き添えること。通信障害とアクセス権の問題を見分けるために、どの段階から確認するかも整理すること。
〖予習〗第14回に向けて、複数の数から最大値を求める手順を、特定のプログラミング言語を使わずに文章や図で表すこと。入力する値、途中で保持する値、繰り返す操作、終了する条件、出力する結果を明示すること。目的の値を探す場合、先頭から順番に調べる方法と、並べ替えたデータの中央を使う方法で必要な条件がどう違うかを考えること。データの件数が増えたときに処理回数がどう変わるかを予想し、第6回のハードウェア性能だけでなく手順そのものも実行時間に関わる理由をまとめておくこと。
14
アルゴリズム
科目の中での位置付け
本科目では、コンピュータが情報を表現し、命令を実行して処理結果を得る仕組みを、ハードウェアとソフトウェアの関係から学修する。全15回の授業では、数値表現、CPU、メモリ、入出力を基礎として、OSによる資源管理、システムの信頼性、ネットワークとセキュリティ、アルゴリズムへと学習を進める。構成図の読み取り、計算、処理手順の追跡を通して各要素の働きを関連付け、性能や安全性に関わる条件を根拠に基づいて説明できる力を養う。
第14回は、これまで学んだ装置と実行環境の上で動く処理手順に着目する回である。基本構造、探索・整列、計算量を学び、アルゴリズムによって性能が変わることを理解する。第15回の総合演習では、手順と実行環境の両面から問題を検討する。
コマ主題細目
① アルゴリズムの表現と基本構造 ② 探索・整列の基本アルゴリズム ③ 計算量と正しさの確認
細目レベル
① アルゴリズムは、目的の結果を得るために実行する明確な処理手順として理解する。入力、出力、途中で保持する値、終了条件を先に整理し、順次、分岐、反復の基本構造で表現する方法を学ぶ。演習では、最大値や合計を求める処理を擬似コードとフローチャートで記述し、少数のデータを使って一段階ずつ追跡する。変数の初期値、比較の条件、更新の順序によって結果が変わることを確認し、文章として分かったつもりの手順を実行可能な形に具体化する。特定のプログラミング言語の文法に依存しすぎず、同じ手順を異なる表現へ移せることを重視する。入力が一件の場合などの境界条件も確認し、反復がいつ終わり、どの時点の値を出力するかを明確にする。本細目で理解すべき範囲は、基本構造を使って簡単な処理手順を表し、変数の変化と終了条件を追跡できる範囲まで。
② 探索では、線形探索と二分探索を取り上げ、データを調べる順序と利用できる前提条件を比較する。二分探索には整列されたデータなどの条件が必要であり、どの入力にもそのまま適用できるわけではないことを確認する。整列では、選択ソートや挿入ソートの基本的な手順を学び、値の比較と移動を区別して追跡する。演習では、少数の値を表に並べ、探索範囲や確定した位置が段階ごとにどう変わるかを記録する。重複する値、目的の値が存在しない場合、すでに整列された場合などを用い、手順が前提どおりに動くかを検証する。答えの位置だけでなく、どの比較によって候補を除外したかを説明し、誤りがあった場合に途中の状態から原因を特定する力を養う。本細目で理解すべき範囲は、基本的な探索と整列の手順を小規模なデータで追跡し、適用条件と結果を説明できる範囲まで。
③ 計算量では、入力の大きさが増えたときに必要な処理回数や記憶量がどう変わるかを捉える。定数時間、対数時間、線形時間、二次時間の基本的な増え方を比較し、実測した秒数とは異なる観点であることを理解する。演習では、線形探索や単純な二重ループの比較回数を数え、件数を増やした場合の傾向を見積もる。最良、平均、最悪のどの条件を考えているかを明示し、記号だけでどの入力でも同じ時間になると判断しない。また、速い手順でも結果が誤っていれば目的を達成できないため、通常例と境界例による正しさの確認を行う。計算量、実装上の負担、使える記憶、ハードウェアの条件を分けて考え、要求に応じて手順を選ぶための基礎を身に付ける。本細目で理解すべき範囲は、基本的な処理回数の増え方を比較し、入力条件と正しさを確認してアルゴリズムを評価できる範囲まで。
キーワード
① 擬似コード ② 反復 ③ 二分探索 ④ 整列 ⑤ 計算量
コマの展開方法
社会人講師
AL
ICT
PowerPoint・Keynote
教科書
コマ用オリジナル配布資料
コマ用プリント配布資料
その他
該当なし
小テスト
復習・予習課題
〖復習〗最大値を求める処理を擬似コードで記述し、初期値、比較、更新、終了条件を明確にすること。線形探索と二分探索を同じデータで追跡し、二分探索に必要な前提条件を説明すること。授業で扱った整列の一方式について、各段階の配列と比較・移動の内容を記録すること。さらに、入力件数を増やしたときの処理回数を見積もり、最良と最悪などの条件を区別すること。正しい答えが出た一例だけで判断せず、値が一つ、目的の値がない、重複がある場合も確認して結果をまとめること。
〖予習〗第15回の総合演習に向けて、第1回から第14回の学習内容を、数値表現、CPUと記憶、OSと入出力、システムと通信、処理手順の五つの観点で整理すること。各分野から説明できる事項と計算できる事項を一つずつ選び、単位や前提を含めて確認すること。観測値を受け取り、処理し、保存して表示するような一連の例を考え、どの装置とソフトウェアが関わるかを図にすること。自分が誤りやすかった問題を解き直し、どの情報を確認すれば原因を切り分けられるかを質問として準備すること。
15
総合演習
科目の中での位置付け
本科目では、コンピュータが情報を表現し、命令を実行して処理結果を得る仕組みを、ハードウェアとソフトウェアの関係から学修する。全15回の授業では、数値表現、CPU、メモリ、入出力を基礎として、OSによる資源管理、システムの信頼性、ネットワークとセキュリティ、アルゴリズムへと学習を進める。構成図の読み取り、計算、処理手順の追跡を通して各要素の働きを関連付け、性能や安全性に関わる条件を根拠に基づいて説明できる力を養う。
第15回は、全14回の内容を結び付け、情報が入力されてから結果が利用されるまでを総合的に説明する回である。数値と性能の計算、構成と障害の検討、アルゴリズムの追跡を通して理解を確認し、今後の実装やシステム利用につながる学習課題を明確にする。
コマ主題細目
① 数値表現・CPU・メモリの総合問題 ② OS・システム・通信の事例検討 ③ アルゴリズムの検証と学修の振り返り
細目レベル
① 数値表現、CPU、メモリの総合問題では、入力値がビット列となり、命令に従って読み出され、演算され、結果として保存される流れを一つの例で確認する。基数変換や符号付き整数の解釈、簡単な命令列の追跡、実行時間や実効アクセス時間の計算を関連付けて行う。演習では、必要な情報を問題文から抽出し、ビット幅、アドレスの単位、CPI、ヒット率などを何のために使うかを明示する。異なる種類の数値を式へ無条件に代入せず、求めたい量と単位を先に確認する。結果が予想と違う場合には、表現の誤り、参照先の誤り、計算条件の読み違いを分けて調べる。個別の公式を覚えているだけでなく、装置の働きと計算の意味を対応付けて説明することで、基礎理解の定着を確認する。本細目で理解すべき範囲は、基本的な表現・命令実行・性能計算を組み合わせ、前提と単位を示して解答を説明できる範囲まで。
② システムの事例検討では、端末がデータを受け取り、OSの管理下で処理し、ファイルへ保存し、ネットワーク越しに提供する状況を扱う。CPU、主記憶、入出力、ファイル、通信の各段階で必要な役割を整理し、遅い、保存できない、通信できないなどの症状から確認する項目を考える。演習では、構成図と与えられた状況を基に、資源不足、権限、故障、名前解決などの可能性を区別する。原因を一つに決めつけず、確認できる事実と追加で必要な情報を分けて記録する。改善策を提案する場合は、性能、可用性、機密性、完全性のどの目的に対応するかを明示する。冗長化や暗号化を加えるだけで問題がすべて解消するとは考えず、構成の依存関係と運用の条件を含めて理由を説明する。本細目で理解すべき範囲は、基本的な構成と症状から確認事項を整理し、学習した範囲の対策を目的と根拠に結び付けて説明できる範囲まで。
③ アルゴリズムの検証と振り返りでは、少数のデータを処理する手順を追跡し、正しさと処理量を実行環境の知識と併せて評価する。演習では、探索や集計を含む擬似コードについて、入力、途中の状態、出力、終了条件を確認し、通常例と境界例を使って結果を検証する。件数が増えた場合にどの処理が負担になるかを考え、CPUの高速化、記憶の使い方、アルゴリズムの変更を別々の改善策として比較する。学修の振り返りでは、説明できた内容と根拠が曖昧だった内容を分け、誤りの原因と再確認する方法を記録する。用語を列挙して終わるのではなく、一つの処理を装置、OS、通信、手順の関係から説明する。今後のプログラミングやシステム利用で基礎知識を使う場面を具体的に考える。本細目で理解すべき範囲は、簡単な手順の正しさと処理量を検証し、システム全体との関係および自分の学習課題を説明できる範囲まで。
キーワード
① 総合演習 ② 状態の追跡 ③ 性能評価 ④ 原因の切り分け ⑤ アルゴリズム検証
コマの展開方法
社会人講師
AL
ICT
PowerPoint・Keynote
教科書
コマ用オリジナル配布資料
コマ用プリント配布資料
その他
該当なし
小テスト
復習・予習課題
〖復習〗総合演習の解答を見直し、数値表現、命令の追跡、性能計算、システムの事例、アルゴリズムの各問題について判断の根拠を補うこと。誤答した問題は正解だけを書き直さず、単位、前提、状態の変化、用語の意味のどこを誤ったかを説明すること。一連の情報処理を構成図と文章にまとめ、CPU、記憶、OS、通信、処理手順の関係を示すこと。学修前には説明できなかった事項と、さらに確認が必要な事項を具体的に挙げ、授業資料の該当部分と自分で確かめる方法を対応付けて記録すること。
〖予習〗本科目の終了後に取り組む発展学習として、身近な処理を一つ選び、入力から保存・表示までに使う装置とソフトウェアを調べる計画を立てること。数値の型、主記憶の使い方、処理回数、通信の必要性など、授業内容と結び付く観点を二つ以上選ぶこと。性能を測る場合は比較条件と単位をそろえ、安全性を考える場合は守る情報と必要な権限を明確にすること。分からない用語を調べるだけでなく、小さな例で動作を確かめる方法と期待する結果を記し、次のプログラミングや情報システムの学習につなげること。
履修判定指標
履修指標
履修指標の水準
キーワード
配点
関連回
基本構成・数値表現・ビット演算
【★初級】
・五大機能、プログラム内蔵方式、ハードウェア・OS・アプリケーションの関係を理解している。
・2進数・10進数・16進数の位取り、ビット幅、符号なし整数と2の補数の基本を理解している。
・論理演算、ビットマスク、論理シフトと算術右シフトの役割を理解している。
・浮動小数点の符号・指数・仮数と、丸め誤差・桁落ち・情報落ちの基本を理解している。
【★★中級】
・五大機能に沿って情報の流れを図示し、基本的な基数変換、2の補数の読み書き、論理演算・シフト演算を、指定されたビット幅と規則に従って行える。また、簡単な浮動小数点表現を説明できる。
【★★★上級】
・同じビット列でも型や幅によって解釈が変わることを説明し、桁あふれ、符号、シフト時の埋め方、有限精度による誤差を区別して計算結果を検証できる。
五大機能,プログラム内蔵方式,基数変換,ビット幅,2の補数,論理演算,ビットマスク,シフト演算,浮動小数点,丸め誤差
20
1-3,15
CPUの構造・命令実行・性能評価
【★初級】
・ALU、制御装置、レジスタ、プログラムカウンタ、命令サイクルの役割を理解している。
・データパスと制御信号、命令形式・命令セット、代表的なアドレッシング方式を理解している。
・実行命令数、CPI、クロック周期・周波数とCPU実行時間の関係を理解している。
・パイプライン、ハザード、代表的な並列処理方式、高速化の限界の基本を理解している。
【★★中級】
・短い命令列について実効アドレス、参照値、レジスタ・主記憶・実行位置の変化を追跡できる。また、CPU実行時間と単純な高速化倍率を計算し、基本的なパイプラインの時系列図を読み取れる。
【★★★上級】
・命令数、CPI、クロック、命令間の依存、並列化できない部分を関連付け、前提と単位を明示して性能を比較できる。応答時間とスループットを区別し、周波数やコア数だけでは性能が決まらない理由を説明できる。
ALU,レジスタ,プログラムカウンタ,命令サイクル,データパス,命令セット,実効アドレス,CPI,クロック,パイプライン,ハザード,並列処理,アムダールの法則
25
4-6,15
記憶階層・キャッシュ・入出力制御
【★初級】
・レジスタ、SRAM、DRAM、補助記憶の特性と、アドレス空間・記憶容量の関係を理解している。
・記憶階層、時間的・空間的局所性、キャッシュの配置・置換・書込み方式を理解している。
・ヒット率、ミス率、ヒット時間、ミスペナルティと実効アクセス時間の関係を理解している。
・バスの役割と、ポーリング、割込み、DMAの基本的な動作を理解している。
【★★中級】
・アクセス単位を確認して記憶容量を求め、指定されたキャッシュの規則に沿ってヒット・ミスと保存内容を追跡できる。実効アクセス時間を計算し、入出力時のCPU・主記憶・装置の役割分担を図示できる。
【★★★上級】
・参照の局所性、配置の競合、書込み時の反映、転送中の待ち時間を根拠に、記憶・入出力方式の効果と制約を説明できる。ミス時の総時間と追加時間を区別して性能を検証し、割込みとDMAの関係を説明できる。
記憶階層,SRAM,DRAM,アドレス空間,局所性,キャッシュ,配置方式,置換方式,ライトバック,ヒット率,実効アクセス時間,バス,ポーリング,割込み,DMA
20
7-9,15
OS・システム構成・信頼性・通信と安全性
【★初級】
・OSの資源管理・保護、システムコール、プロセス・スレッド、スケジューリングと排他制御の基本を理解している。
・仮想記憶、ページング、ファイル・アクセス権、仮想マシンとコンテナの基本を理解している。
・システムの役割分担、MTBF・MTTR・稼働率、冗長化とバックアップの役割を理解している。
・通信の階層、IPアドレス・ポート・DNS、TCPとUDPの基本的な違いを理解している。
・機密性・完全性・可用性と、暗号化・認証・認可などの基本対策を理解している。
【★★中級】
・基本的な状態遷移とスケジューリングを追跡し、ページテーブルによるアドレス変換、ファイルのパス指定、稼働率の計算を行える。また、通信の流れを図示し、脅威と基本対策を対応付けられる。
【★★★上級】
・システムの構成と症状から、資源、権限、故障、通信の各観点で確認事項を整理できる。独立性などの計算条件、共有資源への依存、冗長化とバックアップの違いを踏まえ、継続・復旧・保護の対策とその限界を説明できる。
OS,システムコール,プロセス,スケジューリング,排他制御,ページング,ファイル管理,仮想化,MTBF/MTTR,稼働率,冗長化,TCP/IP,DNS,機密性・完全性・可用性,認証・認可
25
10-13,15
アルゴリズムの表現・追跡・検証
【★初級】
・入力・出力・初期値・終了条件と、順次・分岐・反復の基本構造を理解している。
・擬似コードとフローチャートによる処理手順の表現方法を理解している。
・線形探索・二分探索、基本的な整列の手順と適用条件を理解している。
・入力件数に対する処理回数の増え方と、最良・平均・最悪の場合の違いを理解している。
【★★中級】
・最大値や合計を求める手順を表現し、小規模なデータで変数の変化と終了条件を追跡できる。探索・整列の結果と比較回数を確認し、通常例と境界例を用いて正しさを検証できる。
【★★★上級】
・データの整列状態、重複、目的値の有無などの前提を確認し、処理量と記憶量の観点から基本的なアルゴリズムを比較できる。総合演習では、手順の改善とCPU・記憶など実行環境の改善を区別し、選択の根拠を説明できる。
アルゴリズム,擬似コード,フローチャート,順次・分岐・反復,線形探索,二分探索,選択ソート,挿入ソート,計算量,境界条件,総合演習
10
14-15
評価方法
評価基準
評語
学習目標をほぼ完全に達成している・・・・・・・・・・・・・
S (100~90点)
学習目標を相応に達成している・・・・・・・・・・・・・・・
A (89~80点)
学習目標を相応に達成しているが不十分な点がある・・・・・・
B (79~70点)
学習目標の最低限は満たしている・・・・・・・・・・・・・・
C (69~60点)
学習目標の最低限を満たしていない・・・・・・・・・・・・・
D (60点未満)
教科書
参考文献
実験・実習・教材費