計算機工学 II 授業ノート 第 1 回 ( ) 担当 : 寺田
|
|
|
- みさき やがい
- 6 years ago
- Views:
Transcription
1 計算機工学 II 授業ノート 第 1 回 ( ) 担当 : 寺田 担当教員 : 寺田努 ( 工学研究科電気電子工学専攻准教授 ) [email protected] ( 質問等はメールでお願いします ) TEL: 居室 : B-401 授業日程 :4/10, 4/17, 4/24, 5/1, 5/22, 5/29, 6/5, 6/12 6/19, 6/26, 7/3, 7/10, 7/17 の 13 回程度を予定教科書 : コンピュータアーキテクチャ ( 中島康彦著 ) 成績評価 : 期末試験 + 授業内小テスト & レポートの合計点数 (1 : 1) 計算機工学とは何か? ディジタル計算機の心臓部である中央処理装置 (CPU) を中心に, ハードウェとの接点である計算機アーキテクチャについて習得する ( シラバスより ) コンピュータにおけるさまざまな要素 ( どのようなデータ形式を採用するか? どのようなデータ蓄積方法を採るか? どのようにプログラムを実行するか? など ) において, 優れた実現手法や必須の項目に関して, 基本的で共通的な事項を開発の歴史や考え方も交えて, 詳しく説明する. 低コストで要求を満たすためにはどのような工夫がいるのか? その時代のコンピュータシステムに対する要求に対して, どのように仕様が決まったのか? どのようなライバルアーキテクチャが存在し, なぜそれを蹴落として今のアーキテクチャがあるのか? ハードウェアとソフトウェアの機能分担は? 開発者たちは, 少しでも性能のよいコンピュータを作るために日々新しいアイデアを考え出す努力を重ねている. 複数の CPU を使って計算を速く行うためにはどのようなプログラムの書き方が望ましいか, キャッシュメモリの内容の整合性を保つにはどのような実装がよいか, など. 多くのアイデアを出すことができるのは人間の創造的な思考能力である. 複数の選択肢があるときに, さまざまな条件を考慮して最適なものを選ぶ力 新しいものが出てきたときに, なぜそれが必要なのかを判断する力
2 計算機の誕生と発展初期のコンピュータのプログラム供給方式は, 紙テープ読み取りや配線盤に直接配線を行う形. デメリット 紙テープ : 紙テープの読み取り速度に限界がある 配線盤 : プログラムの変更に多大な労力と時間を要する ノイマン型計算機 ( プログラム内蔵方式 )1945 年 プログラム もデータと一緒に計算機の中に格納. 中央処理装置 主 記憶装置 という計算機の基本構成を確立 計算機アーキテクチャとは プログラマから見たシステムの属性および外部仕様 それを効率的に実現する内部仕様ハードウェアの物理的な違いやメーカの違いにかかわらず, 同一のプログラムが実行できるといった恩恵が受けられる.
3 授業内レポート第 1 回学籍番号名前 (1) 下記の単語のうち, 簡単に説明できるものに を, 説明はできないが聞いたことがあるものに をつけよ. 2 進数 10 進数機械語ギガバイトテラバイトスタック パイプライン再起呼出し浮動小数点 2 の補数仮想記憶排他的論理和 分岐予測コンパイラ投機実行 C# java android (2) 下記のサービスのうち, 実際に登録して利用しているものに を, 内容を知っているものに をつけよ. mixi GREE Gmail モバゲータウングルーポン食べログ facebook Twitter instagram Google Calendar Flicker LINE note はてな (3) 計算機アーキテクチャによって, ハードウェアの物理的な違いやメーカの違いにかかわらず, 同一のプロ グラムが実行できると何がうれしいかを 1 つ述べよ. なお, 新規ソフトウェアの開発 応用ソフトウェアの 開発 価格性能比 コンピュータファミリー といった言葉を 1 つ以上含めて記述すること (4) 授業に関して, 希望や質問等があれば記述してください.
4 計算機工学 II 授業ノート Vol.2( ) 担当 : 寺田 1. 基本素子と情報の表現計算機における情報の表現方法計算機内部では 1 と 0 しか用いることができないため,0 と 1 で符号化したものを文字や数字として用いる. 特に数字は 0 と 1 のみで表現可能な 2 進数を用いるのが普通. 計算機で数や文字を処理する際の 1 まとまりの処理単位をと呼ぶ. これを長くすると.. メリット : デメリット : 大多数の用途に対して効率的かつ経済的に利用できる仕様を追求することが必要. データの種類と語長表現したいもの : 整数, 有理数, 実数, 複素数, ベクトル, 行列, グラフ, 図形, 品番, 品名, 人名, 住所, 単価, 売上高, 利率 必須だと考えられるのは?: 文字,2 進整数,2 進浮動小数点数,10 進整数 それぞれの語長は? 2 進整数 :32 ビットあればだいたい OK( 理論上は 4GByte まで扱える ), 最近は 64 ビットも 文字 :1 文字,8 ビット?16 ビット? 2 進整数の表現正の整数のみを扱う場合 : 各ビットで表現される 2 値系列に対し, そのまま左端を最上位桁, 右端を最下位桁とみた 2 進数に対応付ければよい. 249(10 進 ) (2 進 ) 正負の整数を扱う場合 : いくつかの対応付けの方法がある. 考慮すべきことは [1] 正負の判定が容易なこと [2] 一意的に表されること [3] 数 M の表現から-M の表現が簡単に求まり, 加算が容易であること (1) 符号付絶対値系 最上位ビットで正負を表す.0 の表現にが生じる. 加減算が複雑になる. 1
5 数 符号付絶対値系 1の補数系 2の補数系 (2) 1 の補数系 ** 補数とは ** N 進法において, ある数 a に足して全体の桁が1つ上がるような最小の自然数を N 進法における a に対する という. N 進法において, ある数 a に足しても桁が上がらない最大の自然数を N 進法における a に対する という. ** 補数の説明終 ** 2 進数において,1 の補数とは 0 と 1 を単純に入れ替えたものである. 1 の補数系では, 正の数 M はその 2 進数で, 負の数 -M は M の 1 の補数で表す. 結果的に最上位ビットが正 負を表すことになる.0 の表現に +0 と -0 の 2 通りが生じる. 2
6 加算の手順 ( 減算は補数をとってから加算 ) [1] そのまま足す [2] [3] (3) 2 の補数系 正の数 M はその 2 進数で, 負の数 -M は M の 2 の補数で表す. 結果的に最上位ビットが正負を表すことに なる.0 の表現は一意. 加算の手順 [1] そのまま足す [2] 算術シフト 論理シフト : 算術シフト : 算術シフトにおけるシフト方式 2の補数系で数を表す 2 値系列 X=(xn-1, xn-2,, x0) において, 左シフトした数 XL と右シフトした数 XR は次のように表現できる XL= XR= 符号拡張 ビット数の異なる数を加減算したい場合には長さをそろえる処理が必要. ビット長の短い数をビット長の長い数に合わせるには, 上位桁に よい. を挿入していけば 3
7 授業内レポート第二回学籍番号名前 (1) 2 の歩数系で数を表す 2 値系列 X=(xn-1, xn-2, xn-3,, x0) において, 左算術シフトを XL, 右算術シフトし た数 XR を示せ. その際, オーバフローおよびアンダーフローの条件を示すこと. また, なぜその条件に なるのかを考えよ. (2) ( )2=154 に (1010)2C=-6 を加算せよ. 計算の途中経過も記すこと. 添え字の 2 や 2C はそれ ぞれ, 正しかない 2 進数系,2 の補数系を表す. (3) コメントや質問があれば書いてください. 4
8 計算機工学 II 授業ノート Vol. 3 担当 : 寺田 コンピュータにおいて小数の表現を行う場合,10 進数の場合と同様に固定小数点と浮動小数点がある. ここ では特に浮動小数点について説明する. 浮動小数点数 実数は, 一般には有限の桁数では表現できない. 実際の応用では何桁かの有効数字が得られれば問題ない. そこで実数のによる表現を用いる. ただし, m を仮数,e を指数,β を底,p を精度と呼ぶ. d 0 0 のとき, されているという. このとき表現は一意に定まる. 表せる数 浮動小数点で表せる数は, の間に等間隔で並んでいる. 間隔は正規化された浮動小数点数の最下位桁の 1 の値. 実際の数値は点在する表現可能な数の一番近いところに近似されるため, その最大誤差は間隔の半分となる. 値域 正の正規化浮動小数点数で表せる最大値 F max 最小値 F min F max F min = つまり, 浮動小数点数の値域は z, z -F min < z < F min のとき z < -F max および F max < z のとき IEEE 標準の浮動小数点数形式 IEEE754 と IEEE854 の 2 つが 1980 年代に検討 制定された.IEEE754 は底を 2 のみ許容. 単精度 拡張単精度 倍精度 拡張倍精度 p e max e min 指数のビット数 語長
9 指数部の割当て可能数を 2 減らし, 特殊な値の表現を用意している. 指数部 仮数部 意味 e=e min -1 f=0 ±0 e=e min -1 f 0 0. f 2 e min e min e e max f 1. f 2 e e=e max +1 f=0 ± e=e max +1 f 0 NaN 3-2
10 授業レポート第三回学籍番号名前 (1) 1 語 32 ビットで浮動小数点数 m β e を表現する.m と e の絶対値に割り当てられるビット数が 30 ビット ( つ まり m と e はそれぞれ符号付絶対値系であり, 符号に 2 ビット消費する ) であるとき,β=2,m が 24 ビット, e が 6 ビットのときを例に,β の大きさ, および m と e のビット数という 3 つの値の関係を説明せよ. (2) IEEE754 の倍精度の方式と 符号ビットが 1 ビット, 整数部分が 16 ビット, 小数部分が 47 ビット の固 定小数点形式について, 表現できる数の絶対値の最大値を比較せよ. (3) リクエストや質問等があれば書いてください. 3-3
11 計算機工学 II 授業ノート Vol.4 担当 : 寺田 算術演算回路の構成法 32 ビットで表された 2 数の加減乗除を行う演算回路は, 入力数, 出力数 の組合せ論理 回路で構成可能 現実的には無理 ( 真理値表さえ作れない ). したがって, 人間が筆算を行うのと同様の工夫が必要. 加減算回路 2 の補数系では減算は補数を加算すればよい を構成すればよい. n ビットの加算器は,3 入力の 1 ビット加算器 ( 全加算器 :full adder) を基本回路として構成. 加算する 2 数 :a i,b i, 下位桁からの桁上げ :c i とし, 和 :s i, 上位桁への桁上げ :c i+1 とすると s i = c i+1 = g i :,p i : 順次桁上げ加算器 桁上げを各段で待つ必要があるため遅い パラレルプリフィックスアダー 各桁の桁上げ信号は, を使わなくても計算可能. これを利用して桁上 げ情報を先に伝播する加算器をと呼ぶ. 4-1
12 左図のように加算器を修正すると, 右図のような桁上げ先見加算器が構成できる. c i+2 = L をという. L を多段化 (P65 図 3.3) したり,L を 4 ビットに拡張することでさらなる高速化が可能. 乗算回路 A=(a n-1, a n-2, a 0 ),B=(b n-1, b n-2, b 0 ) (2 の補数系 ) のとき A B= A が正の時と負の時に分けて考えれば証明は容易 逐次型乗算機 乗数 A と部分和 P を 1 ビットずつシフトしながら部分積 a i B を部分和 P に加算していくことで計算する. 加算が 1 クロックとすると,n ビットの乗算に n クロックかかる 4-2
13 並列乗算器 逐次型乗算器の加算を並列加算器で行う. 1 ビットずつの乗算を何ビットかまとめて行うことで高速化が可能. 2 ビットの場合, を求めて部分和に加える. カッコ内は を とるが, を作成するのはコストが高い. ブースのアルゴリズム 乗数の中に連続した 1 が含まれる場合, 計算回数を減少させられる. 一般に, ブースのアルゴリズムは下記のように表現される. a i a i-1 加数 2 ビットずつにした場合は下記のとおり a i+1 a i (a i-1 ) 加数 4-3
14 除算回路 除数 D, 被除数 X が n ビットの符号なし正小数であるとする. このとき除算は が成立する Q と R を求めること. 筆算と同様に考え, 商を (Q=0.q 1 q 2 q n ), 各段の計算結果を r i とすると 引き戻し法による除算 となる. (1) R と Q を連結して左に 1 ビットシフトする (2) とし,R が負なら (3) へ, 正ならば (4) へ進む (3) として (1) に戻る (4) として (1) に戻る 最悪の場合回の加減算が必要になる. 引き放し法による除算引き戻し法 (3) における元に戻す作業をせずに次のステップで補償する方法 (1) R と Q を連結して左に 1 ビットシフトし, 負ならば (2) へ, 正ならば (3) へ (2) として (1) に戻る (3) として (1) に戻る 加減算回数は n 回. 商の -1 は 0 で表しておき, 最後に正しい 2 進数に変換する方法がポピュラー. 浮動小数点演算回路整数演算とシフトの組合せ整数演算 : 乗除算は加減算にくらべてはるかに複雑浮動小数点演算 : 加減算では逐次的に行う処理が多いため, 乗算が加減算と同程度か高速. 4-4
15 浮動小数点の加減算手順 (1) 加数と被加数の指数の差を求める (2) 大きいほうの指数を, 答の仮の指数とする (3) 指数が小さいほうの仮数を, 指数の差だけ右にシフトする (4) 仮数の加減算を行う (5) 答の正負の符号を定める (6) 演算結果の仮数の正規化に必要なシフト桁数を求める (7) 仮数を左にシフトするとともに丸めを行う (8) シフト数だけ仮の指数を補正する 丸めの処理には, が用いられることが多い. 浮動小数点の乗除算 (1) 仮数の乗除算を行う (2) 指数の加減算を行う (3) 答の正負の符号を定める (4) 結果に応じて仮数を 1 ビットシフトするとともに丸めを行う (5) 結果に応じて指数を 1 だけ補正する 4-5
16 授業内レポート第四回学籍番号名前 (1) を, ブースのアルゴリズムを使って解く様子を記述せよ. アルゴリズム動作がわかるように書 かれていれば形式は問わない. (2) を引き戻し法と引き放し法それぞれで計算せよ (3) 授業に関するリクエストやその他質問等があれば書いてください. 4-6
17 計算機工学 II 授業ノート Vol. 5 ( 担当 : 寺田 ) 3. プログラミングコンピュータは 2 進数の並びでないと命令を理解できないが, 人間は 2 進数命令を直接理解するのが困難なので,C 言語,Java など人間に理解しやすいを用いてコンピュータに処理を実行させる. 命令語の構成命令とオペランド計算機命令の基本形 : 実行すべき と を指定すること a = b + c,a = b c など 演算を指定する部分 を, 演算の対象となるデータを と呼ぶ. a = b op c (2 つのオペランド b,c に演算 op を施し, 結果を a とする ) アドレスで書くと,A [B] op [C] (A:, B, C: ) 命令数 :EDSAC では 18 個, 最近の CISC では 200 以上, 最近の RISC では 100 程度 計算機の構成方法 (1) アキュムレータ型計算機 A [B] op [C] において,A = B = 例えば a = b + c を計算するには,load B,add C,store A の 3 命令が必要 このような形を と呼ぶ 4-1
18 n アドレス命令 :1 つの命令に n 個のアドレスをもたせる命令 n が大きい : 処理が. あらゆる命令を用意するため. n が小さい : 命令数が. 処理ステップ数が. 例えば 3 アドレス命令だと,a = b + c は add A, B, C といった形で 1 命令による表現が可能 (2) レジスタ型計算機 アキュムレータ型におけるアキュムレータを汎用にし, 複数用意したもの. A [B] op [C] における A,B,C が. そのため, 命令あたり のオペランド数は. (3) スタック型計算機 4-2
19 レジスタの代わりに オペランドが を用いたもの. スタックの上 2 つで演算を行うため, 演算命令には 命令の種類 : レジスタ 主記憶の間でデータを移動する命令. : 加減乗除の四則演算を行う命令. 演算結果の正 負 0 オーバフローの有無によりを設定するものもある.2 進整数と 10 進整数, 浮動小数点数などの変換命令も含まれる. :2 変数の論理関数 (AND,OR,EOR),1 変数関数 NOT 等の命令. : 算術シフトや論理シフトを行う命令. : 命令の実行番地を変える命令. その他 : 入出力やシステム制御に関するもの. オペランドの指定方法主記憶アドレス : アドレスを指定する ( 指定方法は後述 ). 汎用レジスタ : レジスタ番号を指定する. 特殊レジスタ ( プログラムカウンタ, プログラム状態語, 制御レジスタなど ): 専用の命令が用意されていてことが多い. 値 ( レジスタの一定値の増減や, シフトの桁数指定など ): 直接指定するため高速に処理可能. 即値形式. 4-3
20 授業内レポート第 5 回学籍番号名前 (1) アキュムレータ型計算機, レジスタ型計算機, スタック型計算機の特徴を簡単にまとめよ. また, 現在レ ジスタ型計算機が主流である理由を説明せよ. (2) 授業に関するリクエスト等があれば書いてください. 4-4
21 計算機工学 II 授業ノート Vol.6 ( 担当 : 寺田 ) 命令の実行制御演算処理部と実行制御部演算処理部 : 演算回路 ( 前回説明したもの ) や, 汎用レジスタ, プログラムカウンタ等の専用レジスタがバスに接続されたもの. S,D : バスを表し, 共有される.S1,S2 は演算回路入力用,D は演算回路出力用 ALU :Arithmetic Logic Unit. 演算回路 Rn : 汎用レジスタ PC : プログラムカウンタ MAR :Memory Address Register. オペランドの実アドレスが格納される MDR :Memory Data Register. 読み出したオペランドが格納される :. これを開閉してデータの流れを指定する. 例えば a, b, c, d が開いているとき には,R0 と R1 の内容を処理 (ALU への命令が加算の場合は加算 ) した結果が R2 に設定される. 6-1
22 実行制御部 : 制御信号の系列を加えることでする. 実行制御部の処理 (1) PC( プログラムカウンタ ) が指すメモリアドレスから命令を読み出し,PC を次命令まで進める. (2) 命令を解釈し, レジスタファイルと呼ぶレジスタの集合体から必要なデータを読み出す. また, 引き続くステージの制御信号を準備する. (3) 演算器において算術 / 論理演算 / シフトなどを行う. ロード / ストア命令の場合はアドレス計算のみを行う. 分岐命令の場合は条件コードに応じて PC に分岐先アドレスを書き込む. (4) 演算命令の場合は何もしない. ロード / ストア命令の場合はアドレス計算結果を用いてメモリを参照しデータを読み書きする. (5) 演算結果やロード結果をレジスタファイルに書き込む. パイプライン実行 命令実行における個々のステップはそれぞれの処理を行う回路ユニットが存在している. : ある命令の処理終了後に次命令を処理する. 下記のようにユニット稼動に無駄が生じる サイクル 命令 1 F D E M W 命令 2 F D E M W : それぞれのステップの独立性を応用して次々に命令を投入 実行する. 高速化の有 力手法. 分割された処理単位のそれぞれを プの多い命令のステップ数. と呼ぶ. ステージ数は, 最も実行ステッ 6-2
23 サイクル 命令 1 F D E M W 命令 2 F D E M W 命令 3 F D E M W 命令 4 F D E M W 命令 5 F D E M W 命令 6 F D E M W 命令 7 F D E M W 命令 8 F D E M W 理想的に動作した場合, パイプライン処理は最大 せず,5 ステージ存在する命令が少ないため, 実際はもう少し差は小さい ) の実行速度 ( 逐次処理では無駄なステージが存在 動作周波数 パイプラインを実現するためには, 各ステージの処理時間を均等にする必要がある. ステージの処理時間を (1 クロック ) と呼び,CPU の動作周波数は 1/ [Hz] である. MIPS:million instructions per second.1 命令あたりの平均命令実行時間 (100 万分の 1 秒 ).CPU の性能表現によ く用いられる. 測定に使用するプログラムやデータに依存する. パイプステージ 詳細な説明は教科書 p.44~52 を読んでおくこと. 6-3
24 授業内レポート第六回学籍番号名前 (1) あるプログラムをシミュレータで実行して測定したところ,4 クロックで実行できる命令が 40%,5 クロ ックで実行できる命令が 60% の頻度で起こっていた. この場合, 逐次実行した場合の 1 命令あたりの平均所 要クロック数はいくつになるか. (2) (1) のプログラムを逐次処理で実行した場合に比べて,5 ステージ (F D E M W) のパイプライン処理を実装 した場合, 何倍の速度で実行できるか. ただし, パイプラインはすべてのステージが命令を実行している定常 状態にあるとし, パイプラインが乱れるようなことはないと仮定してよい. (2) 授業に関するリクエストやその他質問等があれば書いてください. 6-4
25 計算機工学 II 授業ノート Vol.7( 担当 : 寺田 ) キャッシュメモリプロセッサの高速化 (1 サイクル 10ns など ) に対して主記憶のアクセス時間 (DRAM で 100ns 近辺 ) との落差が生じる. 高速で大容量な主記憶を用意することは現時点では困難であるため, を CPU に設ける. キャッシュメモリ : を保持しておく高速なメモリ. ヒットすれば低速な主記憶へアクセスすることなくデータの読み出しが可能. プログラムの時間的 空間的局所性を利用してヒット率 ( アクセスする命令やデータがキャッシュメモリに存在する確率 ) を高める. キャッシュアクセス時間 10ns, 主記憶装置アクセス時間 200ns, ヒット率 95% だとすると, 平均メモリアクセス時間は キャッシュメモリの仕組みを実現するにあたっての検討事項 キャッシュメモリと主記憶の対応付けと検索を行う機構 キャッシュの置き換えの機構 キャッシュへの更新を主記憶に伝播する機構 ブロックとマッピング ブロック : キャッシュメモリに主記憶の写しを作る際の写しの大きさの単位 ブロック枠 : キャッシュメモリにおける, ブロックを格納するための区画 ブロックが大きい 管理が簡単, ヒット率低い, 書き換えコストが高い ブロックが小さい 効率がよい, 主記憶との対応付けが大変 現在は, 通常 16,32,64 バイト程度がブロックの大きさとして採用されている. 8-1
26 ディレクトリ : キャッシュメモリに主記憶のどのブロックが割り当てられているかを高速に検索するための 索引. ディレクトリ内の検索には連想記憶などの高速な機構を採用する. マッピング方式 主記憶ブロックに対してどのブロック枠を割り当てるかを決める方式がいくつかある. ( 以下, ブロックサイズ :64 バイト, キャッシュ容量 :64K バイト, 主記憶容量 :4G バイト ) : 主記憶の任意のブロックをキャッシュの任意のブロック枠にマッピングでき る方式 制約がないためキャッシュメモリの利用効率が高く, ヒット率も高い ディレクトリ検索の効率が悪い. 8-2
27 : 主記憶の各ブロックに対するディレクトリのエントリが一意に決まる方式 下記の例では, 主記憶を 1024 の群に分け, 主記憶ブロックの番号 i に対してブロック枠 j=i mod 1024 を割 り当てる. ディレクトリの検索を必要としない 特定の群の主記憶ブロックにアクセスが集中する可能性が高い : 両方式の中間にあたる方式 キャッシュメモリのブロック枠を n 行 m 列に構成する. 主記憶ブロックも m 個の群にわけ, それぞれを 1 列のブロック枠に割り当てる. ある主記憶ブロックがどの群に属するかは検索しなくてもわかる ディレクトリ検索は群内に限られる 8-3
28 書き込み方式 書き込みたい主記憶アドレスのブロックがキャッシュに存在する場合ライトスルー方式 : データ更新時にキャッシュを更新すると同時に主記憶にも書き込むライトバック方式 : キャッシュのみを更新し, そのキャッシュが破棄されるときに主記憶に書き込む 書き込みたい主記憶アドレスのブロックがキャッシュに存在しない場合 Write allocate 方式 : キャッシュを作ってから書き込む No write allocate 方式 : キャッシュはつくらずに直接主記憶に書き込む 置き換えアルゴリズム キャッシュメモリに必要な写しがなく, キャッシュメモリに空いているブロック枠がない場合にはキャッシュ の置き換えが必要となる. : 写しの使われ方に関係なく古い写しが置き換えられる よく用いられている写しが置き換えられる可能性が高いが, キャッシュが一定期間残るためある程度大きなキャッシュサイズであれば悪い方式ではない. : 各ブロック枠に Usage bit を設け, そのブロック枠にアクセスがあると Usage bit を 1 にし,Usage bit が 0 のものを置き換える : もっとも最後にアクセスされた写しを置き換える 8-4
29 授業内レポート第七回学籍番号名前 (1) キャッシュメモリの容量が 256K バイト, 主記憶の最大容量が 4G バイトのメモリ系 (=アドレス指定に 32 ビット必要 ) において, ブロックの大きさが 32 バイトの 8 ウェイ群連想方式 ( 群におけるブロック枠の数が 8 つ ) を採用したとき, 群番号, および群内ブロック番号の指定に何ビット必要か. また, ディレクトリ全体で何ビット必要か. (2) メモリ系への書き込みにおけるライトスルー方式およびライトバック方式のメリット デメリットについ て簡単に議論せよ. (3) 授業に関するリクエストやその他質問等があれば書いてください. 8-5
30 計算機工学 II 授業ノート (Vol.8) 担当 : 寺田 システム アーキテクチャ ハードウェア アーキテクチャ ( これまで ): 計算機の高性能化技術 システム アーキテクチャ : 計算機の効率的な利用と使いやすさの向上のための技術 (OS の機能 ) : 物理的な資源を論理的な資源に変換することで, 抽象度を上げて物理制約から逃れる. プロセッサの仮想化 初期の計算機ではプログラムは 1 つずつ実行され, キー入力や処理結果の出力時には CPU は入出力装置の動 作終了を待っていた. 多重プログラミング : 入出力処理による待ち時間の際に, 別の実行可能なプログラムを実行する. 事象駆動方式 : 多重プログラミングのように, 入出力要求の発生などの事象に応じてプログラムを切り替える時分割システム :CPU をタイム クオンタムと呼ぶ微小時間ごとに次々とユーザプログラムの実行に割り当てていく方式. 処理中のプログラム数だけがあり, それらがそれぞれのプロセスを処理する. プロセスの基本状態 : 実プロセッサが割り当てられてプログラムが実行されている状態 : 入出力装置や補助記憶装置の動作の終了を待っている状態 : 実行可能であるが実プロセッサが割り当てられていない状態 9-1
31 割込み 入出力動作の終了やタイム クオンタムの終了などをハードウェア的に監視し,CPU に知らせる機構. オー バフローの検知機構が最初の割込み機構.IBM System 370 では下記の 7 レベルが存在する. (1) 緊急ハードウェア障害割込み : ハードウェア障害の重篤なもの (2) Supervisor call 割込み : ユーザプロセスが高レベルの処理実行を依頼するために起こす割込み (3) プログラム割込み : 桁あふれや 0 除算などプログラム実行中のトラブルにより起こる割込み (4) 抑制可能ハードウェア障害割込み : ハードウェア障害のうち, 復帰できたもの (5) 外部割込み : タイマ割込みや他の CPU からの信号受信など (6) 入出力割込み : 入出力装置の動作完了等によって生じる (7) リスタート割込み : リスタートボタンを押すことによって生じる 割込みは命令の実行と非同期に生じるため, 実行中の命令を継続できるよう方法を採る必要がある. 排他制御 複数のプロセスが共有データにアクセスする際に必要となる機能. 同じデータを複数のプロセスが好きに書き換えると問題が起こる. : 共有データにアクセスする操作 TS 命令による排他制御 : 下図のように, ロックをかけることでクリティカル リージョン処理中の共有デー タアクセスを排除する. ロックが解除されるのを待つ間, プロセスは待機状態となる. 9-2
32 主記憶の仮想化実記憶 : 主記憶, 実際の記憶装置 : 実記憶よりはるかに大きい主記憶が実現できる. その一部が実記憶に配置され, その他は補助記憶に配置される.OS が管理する. ページとセグメント ページ方式 : 機械的に一定の大きさのページを単位として主記憶と補助記憶との入れ替えを行う. セグメント方式 : プログラムやデータを意味のあるまとまり ( セグメント ) に分割して用いる. ページ方式 CPU キャッシュメモリの考え方と同様だが下記の相違点がある. サイズが増大 転送量も増大 低速 ストア スルー方式は現実的でない. 書込みの行われていないページを優先的に追い出す 効率を考え完全連想方式をとるが, ディレクトリ方式でアドレス対応付けを行うと連想記憶が大きくなりすぎるため, を用いる. 検索回数が 1 回であるため連想記憶を用いる必要がない ( 主記憶に置ける ) 仮想空間 4G バイト ( アドレス指定 32 ビット ), 実空間 64M バイト (26 ビット ), ページの大きさ 4K バイト (12 ビット ) の場合, 仮想空間は 1M ページ (20 ビット ), 実空間は 16K ページ枠 (14 ビット ) ディレクトリ方式 : ページ方式 :4 バイト 1M で が必要 が必要 9-3
33 単一仮想記憶と多重仮想記憶 単一仮想記憶方式 : 全プロセスが同じページ表を利用する方式 多重仮想記憶方式 : プロセスごとにページ表をもたせる方式 ページ表の多段構成多重仮想記憶方式で多重度を 10 にすればページ表のサイズは 10 倍にもなる. 一方, ページ表の中のほとんどの部分は利用されていない 多段構成の利用. 仮想アドレス 32 ビット, ページの大きさ 4K バイト ( ページ番号は 20 ビット ),2 段のページ表に 10 ビットずつ割り当てると, 各段のページ表のエントリ数は 1K. あるプロセスが,0 ページ目から数ページのプロセスと,2K ページ目から数ページのデータ領域からなっている場合,1 段目のページ表 1 つと 2 段目のページ表 2 つがあればよく, ページ表全体の容量は (1 エントリ 4 バイトの場合 ) でよい. 9-4
34 授業内レポート第八回学籍番号名前 (1) キャッシングと主記憶の仮想化の, 類似点および相違点をまとめよ (2) プロセスの基本状態において, 待ち の状態が存在する意味を説明せよ. (3) 授業に関するリクエストやその他質問等があれば書いてください. 9-5
35 計算機工学 II 授業ノート Vol.9( 担当 : 寺田 ) 6. プログラムとメモリ これまでの前提知識 - プログラムは, ロード / ストア命令, 演算命令, 分岐命令などを組み合わせて実行される. - プログラムや, 処理するデータは, メモリ ( 主記憶 ) に格納されている. - プログラムカウンタ (PC) と呼ばれる変数が, 現在のプログラム実行番地を格納している. サブルーチン繰り返し行われるような命令を別に切り出して関数化し, 再利用できる形にしておくこと. プログラムの化や見やすさの向上に貢献する. 関数は多段で呼び出されたり, 再帰呼び出しがあり得るので, 使用している変数値と, 飛び先関数終了時の復帰先アドレスをどこかに確保しておく必要がある. スタックの利用 9-1
36 サブルーチン呼び出し時の処理サブルーチン呼び出し時にスタックには, - サブルーチン終了時の復帰先アドレス - サブルーチン呼び出し時の引数 - サブルーチンのローカル変数が格納される. 割り込みの実現 割り込み処理はサブルーチンと同様の処理で実現可能. ただし, 優先度の処理や CPU 状態の復元などいくつ かの追加処理が含まれる. コールスタックの危険性スタックにローカル変数と復帰先アドレスを格納していく場合, 適切にプログラムを記述しておかないと不正なコードを実行される可能性がある. 例えば下図では, 適切に処理をしていない場合に, 復帰先アドレスが書き換えられる可能性を示している ( バッファオーバーフロー攻撃 ). 対策として, 例えば java 仮想マシンはメモリをヒープ領域とスタック領域に分割した上で, 入出力が可能なデータ構造はヒープ領域のみに配置し, 復帰先アドレスの破壊を困難にしている. この場合, 関数処理が終了しても, ヒープ領域のデータは解放できないため, そのための処理 ( ガベージコレクション ) を定期的に行ってメモリを解放する必要がある. 9-2
37 授業内レポート第九回学籍番号名前 (1) サブルーチンの呼び出し時に, 復帰先アドレスの格納にスタックを用いるメリットを述べよ. (2) 命令の分岐予測に関して, 静的予測と飽和カウンタの予測精度に差が出る場合を例を挙げて示せ. (3) 授業に関するリクエストやその他質問等があれば書いてください. 9-3
38 計算機工学 II 授業ノート Vol.10( 担当 : 寺田 ) 8. スーパースカラと VLIW パイプラインの高速化キャッシング技術や仮想化技術の進歩とともにメモリは高速化されつつあるので, 対応して CPU もさらなる高速化を狙うが, 動作周波数の向上は頭打ちである. ひとつの方針として,CPU における命令のパイプライン実行を高速化する. パイプラインの細分化による見た目の周波数向上 パイプラインの段数増加に対する速度向上への障害 上図 (d): 依存関係の存在 上図 (e): 分岐予測の失敗 パイプラインの同時実行と命令の依存関係 : パイプラインの 1 つのステージで複数の命令を実行するようにしたもの. 演算ユニット等が冗長化されている. 命令を同時に実行してもよいかを判断するための が重要になる. 依存関係調査 10-1
39 (a) フロー依存 : 先行命令の書き込み先を後続命令が読み出す. (b) 逆依存 : 先行命令の読み出しレジスタに後続命令を書き込む. (c) 出力依存 : 複数命令を同一レジスタに書き込む. 本質的データ依存以外は, レジスタリネーミングにより解消可能. インオーダ実行とアウトオブオーダ実行 10-2
40 インオーダ実行 : 命令の順序関係を崩さずに実行する : 命令の実行順序をを崩してもよい.Rename ステージでレジスタリネーミングを行い,Rerite ステージで順序関係を回復する. 分岐予測と投機的実行パイプラインとスーパースカラにより, 命令を次々と実行できるため, 分岐命令の実行結果を待たずに分岐がどうなるかを予測して次命令の実行を始めることになる ( 投機的実行 ). この場合, 分岐予測の精度が性能に大きく影響する. 静的予測 : 必ず分岐する ( 分岐しない ) とする. 飽和カウンタ : 予測の成否に応じて状態変更. 適応型予測 : 命令ごとの過去の分岐パターンを使う 次命令で参照する主記憶アドレスや値についても予測できれば効率がよい. Last value Stride based Context based Hybrid : 最後に利用した値をそのまま使う : 直近に使用したアドレスやロード結果の差分を使って予測 : 過去の履歴と現在の状況を比較 : 複数の機構を同時に装備して使い分ける ソフトウェアパイプライニング 実行時に命令の入れ替えを行うのではなく, プログラムをコンパイルするときにコンパイラが命令の実行順序 を変更したり, ループを展開するなどの処理を行い, 効率的に実行できるようにしておく. 10-3
41 計算機工学 II 授業ノート Vol.11( ) 担当 : 寺田 13. I/O 装置 キーボードやディスプレイ, プリンタ, センサ, アクチュエータなどの入出力装置や, 磁気ディスク, 磁気テ ープなどの補助記憶装置,CPU やメモリとの間でどのようにデータをやり取りするかを規定する. 昔 :CPU の命令セットの中に, CPU はハードウェア処理が終わるまで次の処理に移らない 命令の数の増加や接続機器の増加に対処できない を組み込む 現在 :CPU から周辺装置へのコマンドをデータとして送信する手法 : メモリアドレスの一部を, 指令レジスタ, データレジスタ, 状態レジスタ等に割り当てることで, メモリへの読み書きと同様の命令を使って周辺機器を制御する方式 : 周辺機器への I/O を行う専用命令を利用する方式 ポーリングや割り込みを利用して周辺装置の動作終了を検出する 実際のデータ送受信の際には, メモリアクセスの高速化や CPU 負荷の軽減のために,CPU を介さずに直接デ ータのやり取りを行うが採られることが多い. 小型計算機の入出力系の構成 CPU とメモリの間は高速バス ( メモリバス ), 周辺機器は入出力バスにつなぎ, アダプタを介してメモリバス に接続される. バス :1 組の伝送線に機器ごとに一組の伝送線をつなげたもの. 回路構成が単純 機器数の増減への対処が容易 伝送線を共用するために種々の制御が必要, 性能面でもネックとなる同期バス : バスにつながる機器や回路がバスから供給されるクロックに同期してデータを送受信する非同期バス : クロックはもたずに, 応答確認 (Ack) を使って通信を行う 11-1
42 非同期バスの応答確認方式 (1) 送信側はデータと共にデータ送信信号を送る (2) データ送信信号を受け取った受信側は, 確認信号を返信すると同時にデータを格納 (3) 送信側は確認信号によりデータが届いたことを知り, データ送信信号を停止する (4) 受信側はデータ送信信号の停止検出により, 確認信号が届いたことを知り, 確認信号を停止 (5) 送信側は, 確認信号停止によりデータ送信が完了したことを知り, 次のデータ伝送に移る この場合のデータ転送速度 T c = 信号線上での伝播遅延時間.RDY(s) と RDY(r), または ACC(s) と ACC(r) の時間差. T m =マスター内部の論理回路での遅延時間.ACC(r) の立上りと RDY(s) の立下り, または ACC(r) の立下りと DAT(s) の立上りの時間差 T s =スレーブ内部の論理回路での遅延時間.RDY(r) と ACC(s) の間の時間差. T d =データ線の信号伝播時間のばらつきの補償時間.DAT(s) の立上りと RDY(s) の立上りの間の時間差. この場合のデータ転送速度は, データ線を n バイトとすると, n / (4T c +2T m +2T s +T d ) [ バイト /s] となる. 改良方式 ( 高速応答方式 ) n / (2T c +T m +T s +T d ) [ バイト /s] 11-2
43 バスの使用権の制御 バスには複数の機器が接続されているため, バスの使用権を獲得する必要がある. 方式 接続順にバス使用の優先度が決まるシンプルな方式. 11-3
Microsoft Word - レポート回答集.docx
授業内レポート第 1 回学籍番号名前 (1) 下記の単語のうち, 簡単に説明できるものに を, 説明はできないが聞いたことがあるものに をつけよ. 2 進数 10 進数機械語ギガバイトテラバイトスタック パイプライン再起呼出し浮動小数点 2 の補数仮想記憶排他的論理和 分岐予測コンパイラ投機実行 C# java android (2) 下記のサービスのうち, 実際に登録して利用しているものに を,
計算機アーキテクチャ
計算機アーキテクチャ 第 11 回命令実行の流れ 2014 年 6 月 20 日 電気情報工学科 田島孝治 1 授業スケジュール ( 前期 ) 2 回日付タイトル 1 4/7 コンピュータ技術の歴史と コンピュータアーキテクチャ 2 4/14 ノイマン型コンピュータ 3 4/21 コンピュータのハードウェア 4 4/28 数と文字の表現 5 5/12 固定小数点数と浮動小数点表現 6 5/19 計算アーキテクチャ
PowerPoint プレゼンテーション
コンピュータアーキテクチャ 第 13 週 割込みアーキテクチャ 2013 年 12 月 18 日 金岡晃 授業計画 第 1 週 (9/25) 第 2 週 (10/2) 第 3 週 (10/9) 第 4 週 (10/16) 第 5 週 (10/23) 第 6 週 (10/30) 第 7 週 (11/6) 授業概要 2 進数表現 論理回路の復習 2 進演算 ( 数の表現 ) 演算アーキテクチャ ( 演算アルゴリズムと回路
ソフトウェア基礎技術研修
算術論理演算ユニットの設計 ( 教科書 4.5 節 ) yi = fi (x, x2, x3,..., xm) (for i n) 基本的な組合せ論理回路 : インバータ,AND ゲート,OR ゲート, y n 組合せ論理回路 ( 復習 ) 組合せ論理回路 : 出力値が入力値のみの関数となっている論理回路. 論理関数 f: {, } m {, } n を実現.( フィードバック ループや記憶回路を含まない
Microsoft PowerPoint - 7.Arithmetic.ppt
第 7 章デジタル演算回路 1 デジタル信号処理音声, 音楽, 通信信号 信号 = 符号付き 2 進データ 負の数値の表現方法 2 2 進数 n ビット n-1 =Σb i 2 i 0 2 の補数 +=2 n n-1 n-1 2 n =1+Σb i 2 i +Σb i 2 i 0 0 n-1 =2 n ー =1+Σb i 2 i 0 3 2 進数の補数 2 の補数 各桁のビットを反転した後で最下位に
Microsoft PowerPoint - OS07.pptx
この資料は 情報工学レクチャーシリーズ松尾啓志著 ( 森北出版株式会社 ) を用いて授業を行うために 名古屋工業大学松尾啓志 津邑公暁が作成しました 主記憶管理 主記憶管理基礎 パワーポイント 27 で最終版として保存しているため 変更はできませんが 授業でお使いなる場合は松尾 ([email protected]) まで連絡いただければ 編集可能なバージョンをお渡しする事も可能です 復習 OS
PowerPoint プレゼンテーション
コンピュータアーキテクチャ 第 6 週演算アーキテクチャ ( 続き ) ノイマン型コンピュータ 命令とは 命令の使い方 2013 年 10 月 30 日 金岡晃 授業計画 第 1 週 (9/25) 第 2 週 (10/2) 第 3 週 (10/9) 第 4 週 (10/16) 第 5 週 (10/23) 第 6 週 (10/30) 第 7 週 (11/6) 授業概要 2 進数表現 論理回路の復習 2
Microsoft PowerPoint - No6note.ppt
前回 : 管理 管理の目的 : の効率的利用 ( 固定区画方式 可変区画方式 ) しかし, いかに効率よく使ったとしても, 実行可能なプログラムサイズや同時に実行できるプロセス数は実装されているの大きさ ( 容量 ) に制限される 256kB の上で,28kB のプロセスを同時に 4 個実行させることはできないか? 2 256kB の上で,52kB のプロセスを実行させることはできないか? 方策 :
プログラミング実習I
プログラミング実習 I 03 変数と式 人間システム工学科井村誠孝 [email protected] 3.1 変数と型 変数とは p.60 C 言語のプログラム中で, 入力あるいは計算された数や文字を保持するには, 変数を使用する. 名前がついていて値を入れられる箱, というイメージ. 変数定義 : 変数は変数定義 ( 宣言 ) してからでないと使うことはできない. 代入 : 変数には値を代入できる.
計算機アーキテクチャ
計算機アーキテクチャ 第 18 回ハザードとその解決法 2014 年 10 月 17 日 電気情報工学科 田島孝治 1 授業スケジュール ( 後期 ) 2 回 日付 タイトル 17 10/7 パイプライン処理 18 10/17 ハザードの解決法 19 10/21 並列処理 20 11/11 マルチプロセッサ 21 11/18 入出力装置の分類と特徴 22 11/25 割り込み 23 12/2 ネットワークアーキテクチャ
-2 外からみたプロセッサ GND VCC CLK A0 A1 A2 A3 A4 A A6 A7 A8 A9 A10 A11 A12 A13 A14 A1 A16 A17 A18 A19 D0 D1 D2 D3 D4 D D6 D7 D8 D9 D10 D11 D12 D13 D14 D1 MEMR
第 回マイクロプロセッサのしくみ マイクロプロセッサの基本的なしくみについて解説する. -1 マイクロプロセッサと周辺回路の接続 制御バス プロセッサ データ バス アドレス バス メモリ 周辺インタフェース バスの基本構成 Fig.-1 バスによる相互接続は, 現在のコンピュータシステムのハードウェアを特徴づけている. バス (Bus): 複数のユニットで共有される信号線システム内の データの通り道
020105.メモリの高機能化
速化記憶階層の活用 5. メモリの高機能化 メモリインタリーブ メモリインタリーブとは 0 2 3 5 バンク番号 0 2 3 5 8 9 0 2 3 5 8 9 20 並列アクセス 主記憶装置をいくつかのバンクに分割し 各バンク毎にアクセスパスを設定する あるバンクの情報に対するアクセスがある時は それに続く全てのバンクの情報を同時にそれぞれのアクセスパスを経由して読み出す バンク数をウェイといい
コンピュータ工学Ⅰ
コンピュータ工学 Ⅰ 中央処理装置 Rev. 2019.01.16 コンピュータの基本構成と CPU 内容 ➊ CPUの構成要素 ➋ 命令サイクル ➌ アセンブリ言語 ➍ アドレッシング方式 ➎ CPUの高速化 ➏ CPUの性能評価 コンピュータの構成装置 中央処理装置 (CPU) 主記憶装置から命令を読み込み 実行を行う 主記憶装置 CPU で実行するプログラム ( 命令の集合 ) やデータを記憶する
Microsoft PowerPoint - os ppt [互換モード]
4. メモリ管理 (1) 概要メモリ管理の必要性静的メモリ管理と動的メモリ管理スワッピング, 仮想記憶ページングとセグメンテーション 2008/5/ 20 メモリ管理 (1) 1 メモリはコンピュータの 5 大構成要素 装置 ( キーボード, マウス ) CPU ( 中央演算装置 ) 出 装置 ( モニタ, プリンタ ) 主記憶装置 ( メインメモリ ) 外部記憶装置 (HDD) 2008/5/ 20
PowerPoint プレゼンテーション
コンピュータアーキテクチャ 第 7 週命令セットアーキテクチャ ( 命令の表現 命令の実行の仕組 ) 2013 年 11 月 6 日 金岡晃 授業計画 第 1 週 (9/25) 第 2 週 (10/2) 第 3 週 (10/9) 第 4 週 (10/16) 第 5 週 (10/23) 第 6 週 (10/30) 第 7 週 (11/6) 授業概要 2 進数表現 論理回路の復習 2 進演算 ( 数の表現
PowerPoint プレゼンテーション
電気 電子計測 第 3 回 第 8 章ディジタル計測制御システムの基礎 http://cobayasi.com/keisoku/3th/3th.pdf 今日の学習の要点 ( テキスト P85~P94). 計算機の基本的なしくみを学ぼう 2. 外部機器とのデータのやりとりについて知ろう 3. 計算機によるディジタル計測制御システムの構成法 物理量. 計算機の基本的なしくみを学ぼう ディジタル計測制御システムセンサから得た情報を
Microsoft PowerPoint - kougi7.ppt
到達目標 スーパバイザモード, 特権命令, 割り込み CPU の割り込みメカニズム 割り込みの種類ごとに, 所定の例外処理が呼び出される スーパーバイザモードに, 自動的に切り替わる 割り込み終了後に 元のモード に戻る ハードウエア割り込みについて 割り込み禁止 割り込み発生時の CPU の挙動 現在の処理を中断 例外処理用のプログラム ( ハンドラともいう ) が起動される プログラム実行の流れ
MIPSのマイクロアーキテクチャ
今回はパイプラインの動作を妨げるハザードとその対処法をやります 1 前回紹介した構造ハザードは 資源の競合により起こるハザードで回避は簡単 ( というか複製しか手がない ) でした 今回はハザードの中のハザード データハザードを紹介します 2 パイプライン処理では 直前の命令の結果がレジスタファイルに書き込まれないうちに 後続の命令が読み出しを行うため この命令間にデータの依存性があると 誤って更新前の値を読み出してしまいます
書式に示すように表示したい文字列をダブルクォーテーション (") の間に書けば良い ダブルクォーテーションで囲まれた文字列は 文字列リテラル と呼ばれる プログラム中では以下のように用いる プログラム例 1 printf(" 情報処理基礎 "); printf("c 言語の練習 "); printf
情報処理基礎 C 言語についてプログラミング言語は 1950 年以前の機械語 アセンブリ言語 ( アセンブラ ) の開発を始めとして 現在までに非常に多くの言語が開発 発表された 情報処理基礎で習う C 言語は 1972 年にアメリカの AT&T ベル研究所でオペレーションシステムである UNIX を作成するために開発された C 言語は現在使われている多数のプログラミング言語に大きな影響を与えている
COMET II のプログラミング ここでは機械語レベルプログラミングを学びます 1
COMET II のプログラミング ここでは機械語レベルプログラミングを学びます 1 ここでは機械命令レベルプログラミングを学びます 機械命令の形式は学びましたね機械命令を並べたプログラムを作ります 2 その前に プログラミング言語について 4 プログラミング言語について 高級言語 (Java とか C とか ) と機械命令レベルの言語 ( アセンブリ言語 ) があります 5 プログラミング言語について
また RLF 命令は 図 2 示す様に RRF 命令とは逆に 各ビットを一つずつ 左方向に回転 ( ローテイト ) する命令である 8 ビット変数のアドレスを A とし C フラグに 0 を代入してから RLF A,1 を実行すると 変数の内容が 左に 1 ビットシフトし 最下位ビット (LSB)
コンピュータ工学講義プリント (12 月 11 日 ) 今回は ローテイト命令を用いて 前回よりも高度な LED の制御を行う 光が流れるプログラム 片道バージョン( 教科書 P.119 参照 ) 0.5 秒ごとに 教科書 P.119 の図 5.23 の様に LED の点灯パターンが変化するプログラムを作成する事を考える この様にすれば 光っている点が 徐々に右に動いているように見え 右端まで移動したら
Microsoft PowerPoint - Sol7 [Compatibility Mode]
ミニクイズ 4 E ハザード ( つ前の命令の結果を必要とする状況 ) が発生する条件を つ挙げよ. また それぞれの時に 制御線 ForwardA, ForwardB はどのように設定すれば良いか? ( 回答 ) E/.RegWrite= かつ E/.RegisterRd = ID/.RegisterRs この時,ForwardA = と制御すれば良い. E/.RegWrite= かつ E/.RegisterRd
模擬試験問題(第1章~第3章)
基本情報技術者試験の練習問題 - 第 8 回 この問題は平成 19 年度秋期の問題から抜粋しています 問 1 次のプログラムの説明及びプログラムを読んで, 設問 1,2 に答えよ プログラムの説明 スタックを使って, 実数値を 10 進数字列 ( 文字列 ) に変換する副プログラム FloatFormat である (1) FloatFormat は, 実数 Float の値を 10 進数字列に変換し,
4 月 東京都立蔵前工業高等学校平成 30 年度教科 ( 工業 ) 科目 ( プログラミング技術 ) 年間授業計画 教科 :( 工業 ) 科目 :( プログラミング技術 ) 単位数 : 2 単位 対象学年組 :( 第 3 学年電気科 ) 教科担当者 :( 高橋寛 三枝明夫 ) 使用教科書 :( プロ
4 東京都立蔵前工業高等学校平成 30 年度教科 ( 工業 ) 科目 ( プログラミング技術 ) 年間授業計画 教科 :( 工業 ) 科目 :( プログラミング技術 ) 単位数 : 2 単位 対象学年組 :( 第 3 学年電気科 ) 教科担当者 :( 高橋寛 三枝明夫 ) 使用教科書 :( プログラミング技術 工業 333 実教出版 ) 共通 : 科目 プログラミング技術 のオリエンテーション プログラミング技術は
arduino プログラミング課題集 ( Ver /06/01 ) arduino と各種ボードを組み合わせ 制御するためのプログラミングを学 ぼう! 1 入出力ポートの設定と利用方法 (1) 制御( コントロール ) する とは 外部装置( ペリフェラル ) が必要とする信号をマイ
arduino プログラミング課題集 ( Ver.5.0 2017/06/01 ) arduino と各種ボードを組み合わせ 制御するためのプログラミングを学 ぼう! 1 入出力ポートの設定と利用方法 (1) 制御( コントロール ) する とは 外部装置( ペリフェラル ) が必要とする信号をマイコンから伝える 外部装置の状態をマイコンで確認する 信号の授受は 入出力ポート 経由で行う (2) 入出力ポートとは?
コンピュータの仕組み(1)ハードウェア
Copyright 守屋悦朗 2005 コンピュータの仕組み (1) ハードウェア 2.1 CPU の基本原理 2 つの整数の和を出力するプログラムを考えよう main() { int a, b, c; /* 変数 a,b が整数値をとる変数であることを宣言する */ a = 1; /* a に 1 を代入する */ b = 2; /* b に 2 を代入する */ c = a+b; /* a と
2ALU 以下はデータ幅 4ビットの ALU の例 加算, 減算,AND,OR の4つの演算を実行する 実際のプロセッサの ALU は, もっと多種類の演算が可能 リスト 7-2 ALU の VHDL 記述 M use IEEE.STD_LOGIC_1164.ALL; 00 : 加算 use IEE
差し替え版 第 7 回マイクロプロセッサの VHDL 記述 マイクロプロセッサ全体および主要な内部ユニットの,VHDL 記述の例を示す. 1)MPU(Micro Processor Uit) Module 1MPU のエンティティ記述とコントローラの例以下は, 簡単な MPU の VHDL 記述の例である ただし, アーキテクチャ部分は, 命令読み込みと実行の状態遷移のみを実現したステートマシンである
char int float double の変数型はそれぞれ 文字あるいは小さな整数 整数 実数 より精度の高い ( 数値のより大きい より小さい ) 実数 を扱う時に用いる 備考 : 基本型の説明に示した 浮動小数点 とは数値を指数表現で表す方法である 例えば は指数表現で 3 書く
変数 入出力 演算子ここまでに C 言語プログラミングの様子を知ってもらうため printf 文 変数 scanf 文 if 文を使った簡単なプログラムを紹介した 今回は変数の詳細について習い それに併せて使い方が増える入出力処理の方法を習う また 演算子についての復習と供に新しい演算子を紹介する 変数の宣言プログラムでデータを取り扱う場合には対象となるデータを保存する必要がでてくる このデータを保存する場所のことを
TFTP serverの実装
TFTP サーバーの実装 デジタルビジョンソリューション 佐藤史明 1 1 プレゼンのテーマ組み込みソフトのファイル転送を容易に 2 3 4 5 基礎知識 TFTP とは 実践 1 実際に作ってみよう 実践 2 組み込みソフトでの実装案 最後におさらい 2 プレゼンのテーマ 組み込みソフトのファイル転送を容易に テーマ選択の理由 現在従事しているプロジェクトで お客様からファームウェアなどのファイル転送を独自方式からTFTPに変更したいと要望があった
Microsoft PowerPoint - 3.3タイミング制御.pptx
3.3 タイミング制御 ハザードの回避 同期式回路と非同期式回路 1. 同期式回路 : 回路全体で共通なクロックに合わせてデータの受け渡しをする 通信における例 :I 2 C(1 対 N 通信 ) 2. 非同期式回路 : 同一のクロックを使用せず データを受け渡す回路間の制御信号を用いてデータの受け渡しをす 通信における例 :UART(1 対 1 通信 ) 2 3.3.1 ハザード 3 1 出力回路のハザード
Microsoft PowerPoint - qcomp.ppt [互換モード]
量子計算基礎 東京工業大学 河内亮周 概要 計算って何? 数理科学的に 計算 を扱うには 量子力学を計算に使おう! 量子情報とは? 量子情報に対する演算 = 量子計算 一般的な量子回路の構成方法 計算って何? 計算とは? 計算 = 入力情報から出力情報への変換 入力 計算機構 ( デジタルコンピュータ,etc ) 出力 計算とは? 計算 = 入力情報から出力情報への変換 この関数はどれくらい計算が大変か??
Microsoft PowerPoint - mp11-06.pptx
数理計画法第 6 回 塩浦昭義情報科学研究科准教授 [email protected] http://www.dais.is.tohoku.ac.jp/~shioura/teaching 第 5 章組合せ計画 5.2 分枝限定法 組合せ計画問題 組合せ計画問題とは : 有限個の もの の組合せの中から, 目的関数を最小または最大にする組合せを見つける問題 例 1: 整数計画問題全般
Microsoft PowerPoint - sp ppt [互換モード]
// システムプログラム概論 メモリ管理 () 今日の講義概要 ページ管理方式 ページ置換アルゴリズム 第 5 講 : 平成 年 月 日 ( 月 ) 限 S 教室 中村嘉隆 ( なかむらよしたか ) 奈良先端科学技術大学院大学助教 [email protected] http://narayama.naist.jp/~y-nakamr/ // 第 5 講メモリ管理 () ページング ( 復習
命令セットの構成例 a) 算術 演算命令 例 )ADD dest, source : dest dest + source SUB dest, source : dest dest - source AND dest, source : dest dest AND source SHR reg, c
第 11 回機械語とアーキテクチャ コンピュータは, 記号で組み立てられ, 記号で動く機械 : ソフトウェアソフトウェア としても理解されなければならない ソフトウェアの最も下位レベルのしくみが ( 命令セット ) アーキテクチャ である 講義では命令符号 ( 機械語 ) の構成と種類についてまとめる また, 機械語を効率良く実行するために採用されている技術について紹介する 機械語とアセンブリ言語
ソフトウェア基礎技術研修
マルチサイクルを用いた実現方式 ( 教科書 5. 節 ) マルチサイクル方式 () 2 つのデータパス実現方式 単一クロックサイクル : 命令を クロックサイクルで処理 マルチクロックサイクル : 命令を複数クロックサイクルで処理 単一クロックサイクル方式は処理効率が悪い. CLK 処理時間 命令命令命令命令命令 時間のかかる命令にクロック サイクル時間をあわさなければならない. 余り時間の発生 クロック
Microsoft PowerPoint ppt
仮想マシン () 仮想マシン 復習 仮想マシンの概要 hsm 仮想マシン プログラム言語の処理系 ( コンパイラ ) 原始プログラム (Source program) コンパイラ (Compiler) 目的プログラム (Object code) 原始言語 (Source language) 解析 合成 目的言語 (Object Language) コンパイルする / 翻訳する (to compile
Microsoft Word - 実験4_FPGA実験2_2015
FPGA の実験 Ⅱ 1. 目的 (1)FPGA を用いて組合せ回路や順序回路を設計する方法を理解する (2) スイッチや表示器の動作を理解し 入出力信号を正しく扱う 2. スケジュール項目 FPGAの実験 Ⅱ( その1) FPGAの実験 Ⅱ( その2) FPGAの実験 Ⅱ( その3) FPGAの実験 Ⅱ( その4) FPGAの実験 Ⅱ( その5) FPGAの実験 Ⅱ( その6) FPGAの実験 Ⅱ(
C プログラミング演習 1( 再 ) 2 講義では C プログラミングの基本を学び 演習では やや実践的なプログラミングを通して学ぶ
C プログラミング演習 1( 再 ) 2 講義では C プログラミングの基本を学び 演習では やや実践的なプログラミングを通して学ぶ 今回のプログラミングの課題 次のステップによって 徐々に難易度の高いプログラムを作成する ( 参照用の番号は よくわかる C 言語 のページ番号 ) 1. キーボード入力された整数 10 個の中から最大のものを答える 2. 整数を要素とする配列 (p.57-59) に初期値を与えておき
UNIX 初級講習会 (第一日目)
情報処理概論 工学部物質科学工学科応用化学コース機能物質化学クラス 第 3 回 2005 年 4 月 28 日 計算機に関する基礎知識 Fortranプログラムの基本構造 文字や数値を画面に表示する コンパイル時のエラーへの対処 ハードウェアとソフトウェア ハードウェア 計算, 記憶等を行う機械 ソフトウェア ハードウェアに対する命令 データ ソフトウェア ( 命令 ) がないとハードウェアは動かない
MW100 Modbusプロトコルによるデータ通信の設定について
Modbus プロトコルによるデータ通信の設定について 概要 設定の手順 DAQMASTER の Modbus 通信について 設定の手順を説明します このマニュアルでは イーサネットを使った Modbus 通信 (Modbus/TCP) で 2 台の を接続し データの送受信をするまでの手順を取り上げます なお Modbus クライアント機能を使うには 演算機能 (/M1 オプション ) が必要です
- VHDL 演習 ( 組み合せ論理回路 ) 回路 半加算器 (half adder,fig.-) 全加算器を構成する要素である半加算器を作成する i) リスト - のコードを理解してから, コンパイル, ダウンロードする ii) 実験基板上のスイッチ W, が, の入力,LED, が, の出力とな
第 回 VHDL 演習組み合せ論理回路 VHDL に関する演習を行う 今回は, 組み合せ論理回路の記述について学ぶ - 論理回路の VHDL 記述の基本 同時処理文を並べることで記述できる 部品の接続関係を記述 順番は関係ない process 文の内部では, 順次処理文を使う process 文 つで, つの同時処理文になる順次処理文は, 回路の動作を 逐次処理的 に ( 手続き処理型プログラム言語のように
JavaプログラミングⅠ
Java プログラミング Ⅰ 4 回目演算子 今日の講義で学ぶ内容 演算子とオペランド 式 様々な演算子 代表的な演算子の使用例 演算子とオペランド 演算子 演算の種類です例えば + - * / 掛け算の記号は ではなく *( アスタリスク ) を使います割り算の記号は ではなく /( スラッシュ ) を使います オペランド 演算の対象です例えば 5( 値 ) num( 変数 ) 式 演算子とオペランドの組み合わせにより構成される数式です式は演算結果をもちます
PowerPoint プレゼンテーション
コンパイラとプログラミング言語 第 3 4 週 プログラミング言語の形式的な記述 2014 年 4 月 23 日 金岡晃 授業計画 第 1 週 (4/9) コンパイラの概要 第 8 週 (5/28) 下向き構文解析 / 構文解析プログラム 第 2 週 (4/16) コンパイラの構成 第 9 週 (6/4) 中間表現と意味解析 第 3 週 (4/23) プログラミング言語の形式的な記述 第 10 週
Microsoft PowerPoint - mp13-07.pptx
数理計画法 ( 数理最適化 ) 第 7 回 ネットワーク最適化 最大流問題と増加路アルゴリズム 担当 : 塩浦昭義 ( 情報科学研究科准教授 ) [email protected] ネットワーク最適化問題 ( 無向, 有向 ) グラフ 頂点 (verex, 接点, 点 ) が枝 (edge, 辺, 線 ) で結ばれたもの ネットワーク 頂点や枝に数値データ ( 距離, コストなど ) が付加されたもの
PowerPoint プレゼンテーション
コンピュータアーキテクチャ 第 11 週 制御アーキテクチャ メモリの仕組 2013 年 12 月 4 日 金岡晃 授業計画 第 1 週 (9/25) 第 2 週 (10/2) 第 3 週 (10/9) 第 4 週 (10/16) 第 5 週 (10/23) 第 6 週 (10/30) 第 7 週 (11/6) 授業概要 2 進数表現 論理回路の復習 2 進演算 ( 数の表現 ) 演算アーキテクチャ
PowerPoint プレゼンテーション
多倍長精度演算の性能評価 日時 年 月 日 :3-: 場所工学院大学新宿校舎 8 階第 4 会議室 高エネルギー加速器研究機構 濱口信行 [email protected] // 第 回多倍長精度計算フォーラム . はじめに 計算センター => ユーザプログラムの実行効率は何 % です よく出ています or 改善してください 実行性能 = 演算量 / 実行時間実行効率 = 実行性能 / 理論性能 ユーザ実行時間
04-process_thread_2.ppt
オペレーティングシステム ~ 保護とシステムコール ~ 山田浩史 hiroshiy @ cc.tuat.ac.jp 2015/05/08 復習 : OS の目的 ( 今回の話題 ) 裸のコンピュータを抽象化 (abstraction) し より使いやすく安全なコンピュータとして見せること OS はハードウェアを制御し アプリケーションの効率的な動作や容易な開発を支援する OS がないと 1 つしかプログラムが動作しない
情報科学概論
情報科学概論 映像 1 年前期 選択 担当 : 浦谷則好 http://uratani-n.com/info-science/ [email protected] 前回の課題 コンピュータの歴史について学んだことをできるだけ記せ 将来の PC に備えて欲しい機能, あるいはアプリケーションについて記せ クラウド上に自分の記憶の保存または他の人の記憶のインストール 人間が見た映像や聴いた音を記録し
VLSI工学
25/1/18 計算機論理設計 A.Matsuzawa 1 計算機論理設計 (A) (Computer Logic Design (A)) 東京工業大学大学院理工学研究科電子物理工学専攻 松澤昭 3. フリップフロップ回路とその応用 25/1/18 計算機論理設計 A.Matsuzawa 2 25/1/18 計算機論理設計 A.Matsuzawa 3 注意 この教科書では記憶回路を全てフリップフロップと説明している
3. 回路図面の作図 回路図の作成では 部品など回路要素の図記号を配置し 要素どうしを配線するが それぞれの配線には 線番 などの電気的な情報が存在する 配線も単なる線ではなく 信号の入力や出力など部品どうしを結び付ける接続情報をもたせることで回路としての意味をもつ このように回路図を構成する図面は
汎用 CAD に対する電気設計専用 CAD の優位性 株式会社ワコムソフトウェア営業本部ソフトウェア営業部 1. はじめに弊社は 1984 年に電気設計専用 CAD システムを発売以来 日本のものづくりを担うお客様とともに成長し 電気制御設計の現場で 要求レベルの高いお客様ニーズに応えるために改良に改良を重ね 卓越した製品力を誇るまでに至った しかしながら 電気設計の用途でも汎用 CAD を利用されている企業は多く存在している
次に示す数値の並びを昇順にソートするものとする このソートでは配列の末尾側から操作を行っていく まず 末尾の数値 9 と 8 に着目する 昇順にソートするので この値を交換すると以下の数値の並びになる 次に末尾側から 2 番目と 3 番目の 1
4. ソート ( 教科書 p.205-p.273) 整列すなわちソートは アプリケーションを作成する際には良く使われる基本的な操作であり 今までに数多くのソートのアルゴリズムが考えられてきた 今回はこれらソートのアルゴリズムについて学習していく ソートとはソートとは与えられたデータの集合をキーとなる項目の値の大小関係に基づき 一定の順序で並べ替える操作である ソートには図 1 に示すように キーの値の小さいデータを先頭に並べる
