計算機工学 II 授業ノート 第 1 回 ( ) 担当 : 寺田

Size: px
Start display at page:

Download "計算機工学 II 授業ノート 第 1 回 ( ) 担当 : 寺田"

Transcription

1 計算機工学 II 授業ノート 第 1 回 ( ) 担当 : 寺田 担当教員 : 寺田努 ( 工学研究科電気電子工学専攻准教授 ) tsutomu@eedept.kobe-u.ac.jp ( 質問等はメールでお願いします ) 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

Microsoft Word - レポート回答集.docx 授業内レポート第 1 回学籍番号名前 (1) 下記の単語のうち, 簡単に説明できるものに を, 説明はできないが聞いたことがあるものに をつけよ. 2 進数 10 進数機械語ギガバイトテラバイトスタック パイプライン再起呼出し浮動小数点 2 の補数仮想記憶排他的論理和 分岐予測コンパイラ投機実行 C# java android (2) 下記のサービスのうち, 実際に登録して利用しているものに を,

More information

計算機アーキテクチャ

計算機アーキテクチャ 計算機アーキテクチャ 第 11 回命令実行の流れ 2014 年 6 月 20 日 電気情報工学科 田島孝治 1 授業スケジュール ( 前期 ) 2 回日付タイトル 1 4/7 コンピュータ技術の歴史と コンピュータアーキテクチャ 2 4/14 ノイマン型コンピュータ 3 4/21 コンピュータのハードウェア 4 4/28 数と文字の表現 5 5/12 固定小数点数と浮動小数点表現 6 5/19 計算アーキテクチャ

More information

PowerPoint プレゼンテーション

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 進演算 ( 数の表現 ) 演算アーキテクチャ ( 演算アルゴリズムと回路

More information

ソフトウェア基礎技術研修

ソフトウェア基礎技術研修 算術論理演算ユニットの設計 ( 教科書 4.5 節 ) yi = fi (x, x2, x3,..., xm) (for i n) 基本的な組合せ論理回路 : インバータ,AND ゲート,OR ゲート, y n 組合せ論理回路 ( 復習 ) 組合せ論理回路 : 出力値が入力値のみの関数となっている論理回路. 論理関数 f: {, } m {, } n を実現.( フィードバック ループや記憶回路を含まない

More information

この方法では, 複数のアドレスが同じインデックスに対応づけられる可能性があるため, キャッシュラインのコピーと書き戻しが交互に起きる性のミスが発生する可能性がある. これを回避するために考案されたのが, 連想メモリアクセスができる形キャッシュである. この方式は, キャッシュに余裕がある限り主記憶の

この方法では, 複数のアドレスが同じインデックスに対応づけられる可能性があるため, キャッシュラインのコピーと書き戻しが交互に起きる性のミスが発生する可能性がある. これを回避するために考案されたのが, 連想メモリアクセスができる形キャッシュである. この方式は, キャッシュに余裕がある限り主記憶の 計算機システム Ⅱ 演習問題学科学籍番号氏名 1. 以下の分の空白を埋めなさい. CPUは, 命令フェッチ (F), 命令デコード (D), 実行 (E), 計算結果の書き戻し (W), の異なるステージの処理を反復実行するが, ある命令の計算結果の書き戻しをするまで, 次の命令のフェッチをしない場合, ( 単位時間当たりに実行できる命令数 ) が低くなる. これを解決するために考案されたのがパイプライン処理である.

More information

Microsoft PowerPoint - 7.Arithmetic.ppt

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 の補数 各桁のビットを反転した後で最下位に

More information

< B8CDD8AB B83685D>

< B8CDD8AB B83685D> () 坂井 修一 東京大学大学院情報理工学系研究科電子情報学専攻東京大学工学部電子情報工学科 / 電気電子工学科 はじめに アウトオブオーダ処理 工学部講義 はじめに 本講義の目的 の基本を学ぶ 場所 火曜日 8:40-0:0 工学部 号館 4 ホームページ ( ダウンロード可能 ) url: http://www.mtl.t.u-tokyo.ac.jp/~sakai/hard/ 教科書 坂井修一

More information

スライド 1

スライド 1 東北大学工学部機械知能 航空工学科 2018 年度クラス C3 D1 D2 D3 情報科学基礎 I 10. 組合せ回路 ( 教科書 3.4~3.5 節 ) 大学院情報科学研究科 鏡慎吾 http://www.ic.is.tohoku.ac.jp/~swk/lecture/ 組合せ論理回路 x1 x2 xn 組合せ論理回路 y1 y2 ym y i = f i (x 1, x 2,, x n ), i

More information

Microsoft PowerPoint - OS07.pptx

Microsoft PowerPoint - OS07.pptx この資料は 情報工学レクチャーシリーズ松尾啓志著 ( 森北出版株式会社 ) を用いて授業を行うために 名古屋工業大学松尾啓志 津邑公暁が作成しました 主記憶管理 主記憶管理基礎 パワーポイント 27 で最終版として保存しているため 変更はできませんが 授業でお使いなる場合は松尾 (matsuo@nitech.ac.jp) まで連絡いただければ 編集可能なバージョンをお渡しする事も可能です 復習 OS

More information

Microsoft PowerPoint - 11Web.pptx

Microsoft PowerPoint - 11Web.pptx 計算機システムの基礎 ( 第 10 回配布 ) 第 7 章 2 節コンピュータの性能の推移 (1) コンピュータの歴史 (2) コンピュータの性能 (3) 集積回路の進歩 (4) アーキテクチャ 第 4 章プロセッサ (1) プロセッサの基本機能 (2) プロセッサの構成回路 (3) コンピュータアーキテクチャ 第 5 章メモリアーキテクチャ 1. コンピュータの世代 計算する機械 解析機関 by

More information

スライド 1

スライド 1 東北大学工学部機械知能 航空工学科 2016 年度 5 セメスター クラス C3 D1 D2 D3 計算機工学 10. 組合せ回路 ( 教科書 3.4~3.5 節 ) 大学院情報科学研究科 鏡慎吾 http://www.ic.is.tohoku.ac.jp/~swk/lecture/ 組合せ論理回路 x1 x2 xn 組合せ論理回路 y1 y2 ym y i = f i (x 1, x 2,, x

More information

スライド 1

スライド 1 知能制御システム学 画像処理の高速化 OpenCV による基礎的な例 東北大学大学院情報科学研究科鏡慎吾 swk(at)ic.is.tohoku.ac.jp 2007.07.03 リアルタイム処理と高速化 リアルタイム = 高速 ではない 目標となる時間制約が定められているのがリアルタイム処理である.34 ms かかった処理が 33 ms に縮んだだけでも, それによって与えられた時間制約が満たされるのであれば,

More information

PowerPoint プレゼンテーション

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

More information

出 アーキテクチャ 誰が 出 装置を制御するのか 1

出 アーキテクチャ 誰が 出 装置を制御するのか 1 出 アーキテクチャ 誰が 出 装置を制御するのか 1 が 出 装置を制御する メモリ ( 主記憶 ) 命令データ 出 装置 2 が 出 装置を制御する 命令 実 入出力装置を制御する命令を実行する メモリ ( 主記憶 ) 命令データ 制御 出 装置 3 が 出 装置を制御する メモリ ( 主記憶 ) 命令 実 制御 命令データ データを出力せよ 出 装置 4 が 出 装置を制御する メモリ ( 主記憶

More information

Microsoft PowerPoint - No6note.ppt

Microsoft PowerPoint - No6note.ppt 前回 : 管理 管理の目的 : の効率的利用 ( 固定区画方式 可変区画方式 ) しかし, いかに効率よく使ったとしても, 実行可能なプログラムサイズや同時に実行できるプロセス数は実装されているの大きさ ( 容量 ) に制限される 256kB の上で,28kB のプロセスを同時に 4 個実行させることはできないか? 2 256kB の上で,52kB のプロセスを実行させることはできないか? 方策 :

More information

Microsoft Word - 19-d代 試é¨fi 解ç�fl.docx

Microsoft Word - 19-d代 試é¨fi 解ç�fl.docx 2019 年度ディジタル代数期末試験解答例 再評価試験は期末試験と同程度の難しさである. しっかり準備して受けるように. 1. アドレスが 4 バイトで表わされた画像処理専用プロセッサが幾つかのデータを吐き出して停まってしまった. そのデータの 1 つはレジスタ R0 の中身で,16 進表示すると (BD80) 16 であった. このデータに関して, 以下の問に対する回答を対応する箱内に書け. (1)

More information

プログラミング実習I

プログラミング実習I プログラミング実習 I 03 変数と式 人間システム工学科井村誠孝 m.imura@kwansei.ac.jp 3.1 変数と型 変数とは p.60 C 言語のプログラム中で, 入力あるいは計算された数や文字を保持するには, 変数を使用する. 名前がついていて値を入れられる箱, というイメージ. 変数定義 : 変数は変数定義 ( 宣言 ) してからでないと使うことはできない. 代入 : 変数には値を代入できる.

More information

講義計画 1. コンピュータの歴史 1 2. コンピュータの歴史 2 3. コンピュータの歴史 3 4. 論理回路と記憶, 計算 : レジスタとALU 5. 主記憶装置とALU, レジスタの制御 6. 命令セットアーキテクチャ 7. 演習問題 8. パイプライン処理 9. メモリ階層 : キャッシュ

講義計画 1. コンピュータの歴史 1 2. コンピュータの歴史 2 3. コンピュータの歴史 3 4. 論理回路と記憶, 計算 : レジスタとALU 5. 主記憶装置とALU, レジスタの制御 6. 命令セットアーキテクチャ 7. 演習問題 8. パイプライン処理 9. メモリ階層 : キャッシュ 計算機システム Ⅱ キャッシュと仮想記憶 和田俊和 講義計画 1. コンピュータの歴史 1 2. コンピュータの歴史 2 3. コンピュータの歴史 3 4. 論理回路と記憶, 計算 : レジスタとALU 5. 主記憶装置とALU, レジスタの制御 6. 命令セットアーキテクチャ 7. 演習問題 8. パイプライン処理 9. メモリ階層 : キャッシュと仮想記憶 ( 本日 ) 10. 命令レベル並列処理

More information

計算機アーキテクチャ

計算機アーキテクチャ 計算機アーキテクチャ 第 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 ネットワークアーキテクチャ

More information

コンピュータ工学Ⅰ

コンピュータ工学Ⅰ コンピュータ工学 Ⅰ Rev. 2018.01.20 コンピュータの基本構成と CPU 内容 ➊ CPUの構成要素 ➋ 命令サイクル ➌ アセンブリ言語 ➍ アドレッシング方式 ➎ CPUの高速化 ➏ CPUの性能評価 コンピュータの構成装置 中央処理装置 (CPU) 主記憶装置から命令を読み込み 実行を行う 主記憶装置 CPU で実行するプログラム ( 命令の集合 ) やデータを記憶する 補助記憶装置

More information

Operating System 仮想記憶

Operating System 仮想記憶 Operating System 仮想記憶 2018-12 記憶階層 高速 & 小容量 ( 高価 ) レジスタ アクセスタイム 数ナノ秒 容量 ~1KB CPU 内キャッシュ (SRAM) 数ナノ秒 1MB 程度 ランダムアクセス 主記憶 (DRAM) 数十ナノ秒 数 GB 程度 ランダムアクセス フラッシュメモリ (SSD) 約 100 万倍 シーケンシャルアクセス 磁気ディスク (HDD) 数十ミリ秒

More information

-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

-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): 複数のユニットで共有される信号線システム内の データの通り道

More information

スライド 1

スライド 1 Dispatch 0 年後学期 計算機アーキテクチャ第二 (O) アウトオブオーダ実行プロセッサとバックエンド フロントエンド 命令ウィンドウ : 命令を格納するバッファ ALU Dispatch 命令フェッチ, デコード, リネーミング バックエンド ディスパッチ (dispatch) : 命令ウィンドウに命令を格納する動作 発行 (issue, fire) : 命令ウィンドウから, データ依存が解消された命令を機能ユニットに送り出す動作

More information

020105.メモリの高機能化

020105.メモリの高機能化 速化記憶階層の活用 5. メモリの高機能化 メモリインタリーブ メモリインタリーブとは 0 2 3 5 バンク番号 0 2 3 5 8 9 0 2 3 5 8 9 20 並列アクセス 主記憶装置をいくつかのバンクに分割し 各バンク毎にアクセスパスを設定する あるバンクの情報に対するアクセスがある時は それに続く全てのバンクの情報を同時にそれぞれのアクセスパスを経由して読み出す バンク数をウェイといい

More information

コンピュータ工学Ⅰ

コンピュータ工学Ⅰ コンピュータ工学 Ⅰ 中央処理装置 Rev. 2019.01.16 コンピュータの基本構成と CPU 内容 ➊ CPUの構成要素 ➋ 命令サイクル ➌ アセンブリ言語 ➍ アドレッシング方式 ➎ CPUの高速化 ➏ CPUの性能評価 コンピュータの構成装置 中央処理装置 (CPU) 主記憶装置から命令を読み込み 実行を行う 主記憶装置 CPU で実行するプログラム ( 命令の集合 ) やデータを記憶する

More information

C に必要なコンピュータ知識 C はコンピュータの力を引き出せるように設計 コンピュータの知識が必要

C に必要なコンピュータ知識 C はコンピュータの力を引き出せるように設計 コンピュータの知識が必要 C プログラミング 1( 再 ) 第 5 回 講義では C プログラミングの基本を学び演習では やや実践的なプログラミングを通して学ぶ C に必要なコンピュータ知識 C はコンピュータの力を引き出せるように設計 コンピュータの知識が必要 1 コンピュータの構造 1.1 パーソナルコンピュータの構造 自分の ( 目の前にある ) コンピュータの仕様を調べてみよう パソコン本体 = CPU( 中央処理装置

More information

Microsoft PowerPoint - No7note.ppt

Microsoft PowerPoint - No7note.ppt 仮想記憶 (2) 実際に存在する主記憶 ( 物理メモリ ) の容量に制限されない 仮想的な記憶空間 をユーザに提供する 仮想記憶の基本アイディア 主記憶に入りきらない大きなプログラムでも, ある時点で実行されているのはプログラムの一部のみ, 必要となるデータも一時には一部のデータのみ ( 参照の局所性 ) プログラム全体はディスク装置に入れておき, 実行時に必要な部分を主記憶にもってくればよい 主記憶容量

More information

Microsoft PowerPoint - os ppt [互換モード]

Microsoft PowerPoint - os ppt [互換モード] 4. メモリ管理 (1) 概要メモリ管理の必要性静的メモリ管理と動的メモリ管理スワッピング, 仮想記憶ページングとセグメンテーション 2008/5/ 20 メモリ管理 (1) 1 メモリはコンピュータの 5 大構成要素 装置 ( キーボード, マウス ) CPU ( 中央演算装置 ) 出 装置 ( モニタ, プリンタ ) 主記憶装置 ( メインメモリ ) 外部記憶装置 (HDD) 2008/5/ 20

More information

スライド 1

スライド 1 東北大学工学部機械知能 航空工学科 2016 年度 5 セメスター クラス C3 D1 D2 D3 計算機工学 14. さらに勉強するために 大学院情報科学研究科 鏡慎吾 http://www.ic.is.tohoku.ac.jp/~swk/lecture/ 0 と 1 の世界 これまで何を学んだか 2 進数, 算術演算, 論理演算 計算機はどのように動くのか プロセッサとメモリ 演算命令, ロード

More information

PowerPoint プレゼンテーション

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 進演算 ( 数の表現

More information

PowerPoint プレゼンテーション

PowerPoint プレゼンテーション 電気 電子計測 第 3 回 第 8 章ディジタル計測制御システムの基礎 http://cobayasi.com/keisoku/3th/3th.pdf 今日の学習の要点 ( テキスト P85~P94). 計算機の基本的なしくみを学ぼう 2. 外部機器とのデータのやりとりについて知ろう 3. 計算機によるディジタル計測制御システムの構成法 物理量. 計算機の基本的なしくみを学ぼう ディジタル計測制御システムセンサから得た情報を

More information

Microsoft PowerPoint - kougi7.ppt

Microsoft PowerPoint - kougi7.ppt 到達目標 スーパバイザモード, 特権命令, 割り込み CPU の割り込みメカニズム 割り込みの種類ごとに, 所定の例外処理が呼び出される スーパーバイザモードに, 自動的に切り替わる 割り込み終了後に 元のモード に戻る ハードウエア割り込みについて 割り込み禁止 割り込み発生時の CPU の挙動 現在の処理を中断 例外処理用のプログラム ( ハンドラともいう ) が起動される プログラム実行の流れ

More information

Microsoft PowerPoint - sp ppt [互換モード]

Microsoft PowerPoint - sp ppt [互換モード] システムプログラム概論 メモリ管理 (1) 第 x 講 : 平成 20 年 10 月 15 日 ( 水 ) 2 限 S1 教室 今日の講義概要 メモリ管理の必要性 静的メモリ管理と動的メモリ管理 スワッピング, 仮想記憶 ページングとセグメンテーション 中村嘉隆 ( なかむらよしたか ) 奈良先端科学技術大学院大学助教 y-nakamr@is.naist.jp http://narayama.naist.jp/~y-nakamr/

More information

スライド 1

スライド 1 東北大学工学部機械知能 航空工学科 2015 年度 5 セメスター クラス D 計算機工学 6. MIPS の命令と動作 演算 ロード ストア ( 教科書 6.3 節,6.4 節 ) 大学院情報科学研究科鏡慎吾 http://www.ic.is.tohoku.ac.jp/~swk/lecture/ レジスタ間の演算命令 (C 言語 ) c = a + b; ( 疑似的な MIPS アセンブリ言語 )

More information

スライド 1

スライド 1 東北大学工学部機械知能 航空工学科 2019 年度クラス C D 情報科学基礎 I 14. さらに勉強するために 大学院情報科学研究科 鏡慎吾 http://www.ic.is.tohoku.ac.jp/~swk/lecture/ 0 と 1 の世界 これまで何を学んだか 2 進数, 算術演算, 論理演算 計算機はどのように動くのか プロセッサとメモリ 演算命令, ロード ストア命令, 分岐命令 計算機はどのように構成されているのか

More information

OS

OS Operatig System 仮想記憶 2017-12 記憶階層 高速 & 小容量 ( 高価 ) レジスタ アクセスタイム 数ナノ秒 容量 ~1KB ランダムアクセス ランダムアクセス CPU 内キャッシュ (SRAM) 主記憶 (DRAM) フラッシュメモリ 数ナノ秒 数十ナノ秒 1MB 程度 数 GB 程度 シーケンシャルアクセス 磁気ディスク (HDD) 光磁気ディスク (CD-R DVD-RW

More information

10-vm1.ppt

10-vm1.ppt オペレーティングシステム ~ 仮想記憶 (1) ~ 山田浩史 hiroshiy @ cc.tuat.ac.jp 2015/06/19 OS の目的 裸のコンピュータを抽象化 (abstraction) し より使いやすく安全なコンピュータとして見せること OS はハードウェアを制御し アプリケーションの効率的な動作や容易な開発を支援する OS がないと メモリをアプリケーション自身が管理しなければならない

More information

MIPSのマイクロアーキテクチャ

MIPSのマイクロアーキテクチャ 今回はパイプラインの動作を妨げるハザードとその対処法をやります 1 前回紹介した構造ハザードは 資源の競合により起こるハザードで回避は簡単 ( というか複製しか手がない ) でした 今回はハザードの中のハザード データハザードを紹介します 2 パイプライン処理では 直前の命令の結果がレジスタファイルに書き込まれないうちに 後続の命令が読み出しを行うため この命令間にデータの依存性があると 誤って更新前の値を読み出してしまいます

More information

C プログラミング 1( 再 ) 第 5 回 講義では C プログラミングの基本を学び演習では やや実践的なプログラミングを通して学ぶ

C プログラミング 1( 再 ) 第 5 回 講義では C プログラミングの基本を学び演習では やや実践的なプログラミングを通して学ぶ C プログラミング 1( 再 ) 第 5 回 講義では C プログラミングの基本を学び演習では やや実践的なプログラミングを通して学ぶ C に必要なコンピュータ知識 C はコンピュータの力を引き出せるように設計 コンピュータの知識が必要 コンピュータの構造 1. パーソナルコンピュータの構造 自分の ( 目の前にある ) コンピュータの仕様を調べてみよう パソコン本体 = CPU( 中央処理装置 ):

More information

OS

OS Operatig Systems カーネルとデバイスドライバ 2019-03 1 OS の構成要素 シェル ワープロ ブラウザ さまざまなソフトウェア ] ^ _ Z ` a b c d e ` f Y Z [ \ プロセス管理通信制御ファイルシステム メモリ管理割込み制御タイマ管理 デバイスドライバ 管理プログラム 基本ライブラリ デバイスドライバ CPU メモリ ストレージ さまざまなハードウェア

More information

Microsoft PowerPoint - No15›¼‚z‰L›¯.ppt

Microsoft PowerPoint - No15›¼‚z‰L›¯.ppt メモリ アーキテクチャ 3 仮想記憶 計算機アーキテクチャ ( 第 15 回目 ) 今井慈郎 (imai@eng.kagawa-u.ac.jp) 仮想記憶とは コンピュータ上に実装されている主記憶よりも大きな記憶領域を仮想的に提供する仕組み メモリ空間の一部をハードディスク装置等の大容量外部記憶にマッピングし実装したメモリ量以上のメモリ空間を利用できる環境をユーザに提供 実装したメモリ : 実記憶

More information

スライド 1

スライド 1 東北大学工学部機械知能 航空工学科 2018 年度クラス C3 1 2 3 情報科学基礎 I 11. 順序回路の基礎 ( 教科書 4 章 ) 大学院情報科学研究科 鏡慎吾 http://www.ic.is.tohoku.ac.jp/~swk/lecture/ 組合せ回路と順序回路 x1 x2 xn 組合せ回路 y1 y2 ym 組合せ回路 : 出力は, その時点の入力の組合せのみで決まる x1 x2

More information

書式に示すように表示したい文字列をダブルクォーテーション (") の間に書けば良い ダブルクォーテーションで囲まれた文字列は 文字列リテラル と呼ばれる プログラム中では以下のように用いる プログラム例 1 printf(" 情報処理基礎 "); printf("c 言語の練習 "); printf

書式に示すように表示したい文字列をダブルクォーテーション () の間に書けば良い ダブルクォーテーションで囲まれた文字列は 文字列リテラル と呼ばれる プログラム中では以下のように用いる プログラム例 1 printf( 情報処理基礎 ); printf(c 言語の練習 ); printf 情報処理基礎 C 言語についてプログラミング言語は 1950 年以前の機械語 アセンブリ言語 ( アセンブラ ) の開発を始めとして 現在までに非常に多くの言語が開発 発表された 情報処理基礎で習う C 言語は 1972 年にアメリカの AT&T ベル研究所でオペレーションシステムである UNIX を作成するために開発された C 言語は現在使われている多数のプログラミング言語に大きな影響を与えている

More information

Microsoft PowerPoint - OS09.pptx

Microsoft PowerPoint - OS09.pptx この資料は 情報工学レクチャーシリーズ松尾啓志著 ( 森北出版株式会社 ) を用いて授業を行うために 名古屋工業大学松尾啓志 津邑公暁が作成しました 主記憶管理 ページング パワーポイント 7 で最終版として保存しているため 変更はできませんが 授業でお使いなる場合は松尾 (matsuo@nitech.ac.jp) まで連絡いただければ 編集可能なバージョンをお渡しする事も可能です 復習 復習 主記憶管理

More information

Microsoft PowerPoint - No3.ppt

Microsoft PowerPoint - No3.ppt OS を支援するプロセッサ機能 プロセッサの動作モード 割込み (Interrupt)/ 例外 (Exception) 入出力装置との並列動作 マルチプログラミング (multi-programming) OS の機能 : ユーザプログラムの実行制御の管理 コンピュータ資源の管理 管理するためには 特権 が必要 プロセッサの動作モード 特権モード = OS の実行モード ( カーネルモード, スーハ

More information

COMET II のプログラミング ここでは機械語レベルプログラミングを学びます 1

COMET II のプログラミング ここでは機械語レベルプログラミングを学びます 1 COMET II のプログラミング ここでは機械語レベルプログラミングを学びます 1 ここでは機械命令レベルプログラミングを学びます 機械命令の形式は学びましたね機械命令を並べたプログラムを作ります 2 その前に プログラミング言語について 4 プログラミング言語について 高級言語 (Java とか C とか ) と機械命令レベルの言語 ( アセンブリ言語 ) があります 5 プログラミング言語について

More information

また RLF 命令は 図 2 示す様に RRF 命令とは逆に 各ビットを一つずつ 左方向に回転 ( ローテイト ) する命令である 8 ビット変数のアドレスを A とし C フラグに 0 を代入してから RLF A,1 を実行すると 変数の内容が 左に 1 ビットシフトし 最下位ビット (LSB)

また RLF 命令は 図 2 示す様に RRF 命令とは逆に 各ビットを一つずつ 左方向に回転 ( ローテイト ) する命令である 8 ビット変数のアドレスを A とし C フラグに 0 を代入してから RLF A,1 を実行すると 変数の内容が 左に 1 ビットシフトし 最下位ビット (LSB) コンピュータ工学講義プリント (12 月 11 日 ) 今回は ローテイト命令を用いて 前回よりも高度な LED の制御を行う 光が流れるプログラム 片道バージョン( 教科書 P.119 参照 ) 0.5 秒ごとに 教科書 P.119 の図 5.23 の様に LED の点灯パターンが変化するプログラムを作成する事を考える この様にすれば 光っている点が 徐々に右に動いているように見え 右端まで移動したら

More information

ComputerArchitecture.ppt

ComputerArchitecture.ppt 1 人間とコンピュータの違い コンピュータ 複雑な科学計算や膨大な量のデータの処理, さまざまな装置の制御, 通信などを定められた手順に従って間違いなく高速に実行する 人間 誰かに命令されなくても自発的に処理したり, 条件が変化しても臨機応変に対処できる 多くの問題解決を経験することで, より高度な問題解決法を考え出す 数値では表しにくい情報の処理ができる 2 コンピュータの構成要素 構成要素 ハードウェア

More information

PowerPoint プレゼンテーション

PowerPoint プレゼンテーション コンパイラとプログラミング言語 第 11 週 条件分岐文と繰り返し文のコード生成 2014 年 6 月 18 日 金岡晃 授業計画 第 1 週 (4/9) コンパイラの概要 第 8 週 (5/28) 下向き構文解析 / 構文解析プログラム 第 2 週 (4/16) コンパイラの構成 第 9 週 (6/4) 中間表現と意味解析 第 3 週 (4/23) プログラミング言語の形式的な記述 第 10 週

More information

Microsoft PowerPoint - os ppt [互換モード]

Microsoft PowerPoint - os ppt [互換モード] 5. メモリ管理 (2) 概要ページ管理 式ページ置換アルゴリズム 28/5/23 メモリ管理 (2) 1 ページング ( 復習 ) 仮想アドレス空間, 主記憶 ( 実アドレス空間 ) を固定サイズのページに分割 仮想アドレス空間のページを主記憶 ( メモリ ) のページに対応させる ページテーブル ( 変換表 ) を実メモリ上に保持 ページを単位としたアドレス変換 ( 仮想ページ番号, オフセット

More information

Microsoft PowerPoint - Lec ppt [互換モード]

Microsoft PowerPoint - Lec ppt [互換モード] 0 年後学期 アウトオブオーダ実行プロセッサの構成 計算機アーキテクチャ第二 (O) アウトオブオーダ実行プロセッサとバックエンド フロントエンド 命令ウィンドウ : 命令を格納するバッファ 命令ウィンドウ ALU レジスタファイル ALU スケジューラ等 Register Dispatch 命令フェッチ, デコード, リネーミング バックエンド アウトオブオーダ実行プロセッサの構成 ディスパッチ

More information

Microsoft PowerPoint - Sol7 [Compatibility Mode]

Microsoft PowerPoint - Sol7 [Compatibility Mode] ミニクイズ 4 E ハザード ( つ前の命令の結果を必要とする状況 ) が発生する条件を つ挙げよ. また それぞれの時に 制御線 ForwardA, ForwardB はどのように設定すれば良いか? ( 回答 ) E/.RegWrite= かつ E/.RegisterRd = ID/.RegisterRs この時,ForwardA = と制御すれば良い. E/.RegWrite= かつ E/.RegisterRd

More information

Microsoft PowerPoint - OS11.pptx

Microsoft PowerPoint - OS11.pptx この資料は 情報工学レクチャーシリーズ松尾啓志著 ( 森北出版株式会社 ) を用いて授業を行うために 名古屋工業大学松尾啓志 津邑公暁が作成しました パワーポイント 27 で最終版として保存しているため 変更はできませんが 授業でお使いなる場合は松尾 (matsuo@nitech.ac.jp) まで連絡いただければ 編集可能なバージョンをお渡しする事も可能です 主記憶管理 : 仮想記憶 復習 : 主記憶管理

More information

模擬試験問題(第1章~第3章)

模擬試験問題(第1章~第3章) 基本情報技術者試験の練習問題 - 第 8 回 この問題は平成 19 年度秋期の問題から抜粋しています 問 1 次のプログラムの説明及びプログラムを読んで, 設問 1,2 に答えよ プログラムの説明 スタックを使って, 実数値を 10 進数字列 ( 文字列 ) に変換する副プログラム FloatFormat である (1) FloatFormat は, 実数 Float の値を 10 進数字列に変換し,

More information

4 月 東京都立蔵前工業高等学校平成 30 年度教科 ( 工業 ) 科目 ( プログラミング技術 ) 年間授業計画 教科 :( 工業 ) 科目 :( プログラミング技術 ) 単位数 : 2 単位 対象学年組 :( 第 3 学年電気科 ) 教科担当者 :( 高橋寛 三枝明夫 ) 使用教科書 :( プロ

4 月 東京都立蔵前工業高等学校平成 30 年度教科 ( 工業 ) 科目 ( プログラミング技術 ) 年間授業計画 教科 :( 工業 ) 科目 :( プログラミング技術 ) 単位数 : 2 単位 対象学年組 :( 第 3 学年電気科 ) 教科担当者 :( 高橋寛 三枝明夫 ) 使用教科書 :( プロ 4 東京都立蔵前工業高等学校平成 30 年度教科 ( 工業 ) 科目 ( プログラミング技術 ) 年間授業計画 教科 :( 工業 ) 科目 :( プログラミング技術 ) 単位数 : 2 単位 対象学年組 :( 第 3 学年電気科 ) 教科担当者 :( 高橋寛 三枝明夫 ) 使用教科書 :( プログラミング技術 工業 333 実教出版 ) 共通 : 科目 プログラミング技術 のオリエンテーション プログラミング技術は

More information

arduino プログラミング課題集 ( Ver /06/01 ) arduino と各種ボードを組み合わせ 制御するためのプログラミングを学 ぼう! 1 入出力ポートの設定と利用方法 (1) 制御( コントロール ) する とは 外部装置( ペリフェラル ) が必要とする信号をマイ

arduino プログラミング課題集 ( Ver /06/01 ) arduino と各種ボードを組み合わせ 制御するためのプログラミングを学 ぼう! 1 入出力ポートの設定と利用方法 (1) 制御( コントロール ) する とは 外部装置( ペリフェラル ) が必要とする信号をマイ arduino プログラミング課題集 ( Ver.5.0 2017/06/01 ) arduino と各種ボードを組み合わせ 制御するためのプログラミングを学 ぼう! 1 入出力ポートの設定と利用方法 (1) 制御( コントロール ) する とは 外部装置( ペリフェラル ) が必要とする信号をマイコンから伝える 外部装置の状態をマイコンで確認する 信号の授受は 入出力ポート 経由で行う (2) 入出力ポートとは?

More information

コンピュータの仕組み(1)ハードウェア

コンピュータの仕組み(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 と

More information

PowerPoint Presentation

PowerPoint Presentation コンピュータ科学 II 担当 : 武田敦志 http://takeda.cs.tohoku gakuin.ac.jp/ 今日の話 オペレーティングシステム コンピュータを利用するための基本ソフト オペレーティングシステムの役割 プロセスの管理主記憶の管理出入力の管理ファイルの管理 タイムシェアリングシステム仮想記憶排他制御ディレクトリ構造

More information

スライド 1

スライド 1 順序回路 (2) 1 順序回路の設計 組合せ論理回路の設計法 構造や規則性に着目した手設計 ( 先人の知恵を使う ) 入力 出力の関係に基づく自動合成 ( カルノー図など ) 順序回路の設計法 構造や規則性に着目した手設計 ( 前回の各例 ) 入力 出力 状態の関係に基づく自動合成 2 同期式順序回路の入力 出力 状態の関係 x 1 x 2 組合せ回路 y 1 y 2 x n q 2 q p q 1

More information

問 2. タイミングチャート以下に示す VHDL コードで記述されている回路に関するタイミングチャートを完成させよ ) レジスタの動作 use IEEE.std_logic_64.all; entity RegN is generic (N : integer := 8 port ( CLK, EN

問 2. タイミングチャート以下に示す VHDL コードで記述されている回路に関するタイミングチャートを完成させよ ) レジスタの動作 use IEEE.std_logic_64.all; entity RegN is generic (N : integer := 8 port ( CLK, EN 第 8 回中間試験前の演習 問.VHDL ソースコードを読む () 次の VHDL のソースコードが記述しているゲート回路の回路図を示せ. use IEEE.STD_LOGIC_64.ALL; use IEEE.STD_LOGIC_ARITH.ALL; use IEEE.STD_LOGIC_UNSIGNED.ALL; entity Logic is port ( A : in std_logic_vector(3

More information

2ALU 以下はデータ幅 4ビットの ALU の例 加算, 減算,AND,OR の4つの演算を実行する 実際のプロセッサの ALU は, もっと多種類の演算が可能 リスト 7-2 ALU の VHDL 記述 M use IEEE.STD_LOGIC_1164.ALL; 00 : 加算 use IEE

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 記述の例である ただし, アーキテクチャ部分は, 命令読み込みと実行の状態遷移のみを実現したステートマシンである

More information

char int float double の変数型はそれぞれ 文字あるいは小さな整数 整数 実数 より精度の高い ( 数値のより大きい より小さい ) 実数 を扱う時に用いる 備考 : 基本型の説明に示した 浮動小数点 とは数値を指数表現で表す方法である 例えば は指数表現で 3 書く

char int float double の変数型はそれぞれ 文字あるいは小さな整数 整数 実数 より精度の高い ( 数値のより大きい より小さい ) 実数 を扱う時に用いる 備考 : 基本型の説明に示した 浮動小数点 とは数値を指数表現で表す方法である 例えば は指数表現で 3 書く 変数 入出力 演算子ここまでに C 言語プログラミングの様子を知ってもらうため printf 文 変数 scanf 文 if 文を使った簡単なプログラムを紹介した 今回は変数の詳細について習い それに併せて使い方が増える入出力処理の方法を習う また 演算子についての復習と供に新しい演算子を紹介する 変数の宣言プログラムでデータを取り扱う場合には対象となるデータを保存する必要がでてくる このデータを保存する場所のことを

More information

TFTP serverの実装

TFTP serverの実装 TFTP サーバーの実装 デジタルビジョンソリューション 佐藤史明 1 1 プレゼンのテーマ組み込みソフトのファイル転送を容易に 2 3 4 5 基礎知識 TFTP とは 実践 1 実際に作ってみよう 実践 2 組み込みソフトでの実装案 最後におさらい 2 プレゼンのテーマ 組み込みソフトのファイル転送を容易に テーマ選択の理由 現在従事しているプロジェクトで お客様からファームウェアなどのファイル転送を独自方式からTFTPに変更したいと要望があった

More information

Microsoft PowerPoint - sp ppt [互換モード]

Microsoft PowerPoint - sp ppt [互換モード] システムプログラム概論 入出力 (I/O) 制御 今日の講義概要 入出力デバイスのハードウェア 入出力デバイスの制御 入出力デバイスのソフトウェア 第 6 講 : 平成 20 年 10 月 22 日 ( 水 ) 2 限 S1 教室 中村嘉隆 ( なかむらよしたか ) 奈良先端科学技術大学院大学助教 y-nakamr@is.naist.jp http://narayama.naist.jp/~y-nakamr/

More information

Microsoft PowerPoint - 3.3タイミング制御.pptx

Microsoft PowerPoint - 3.3タイミング制御.pptx 3.3 タイミング制御 ハザードの回避 同期式回路と非同期式回路 1. 同期式回路 : 回路全体で共通なクロックに合わせてデータの受け渡しをする 通信における例 :I 2 C(1 対 N 通信 ) 2. 非同期式回路 : 同一のクロックを使用せず データを受け渡す回路間の制御信号を用いてデータの受け渡しをす 通信における例 :UART(1 対 1 通信 ) 2 3.3.1 ハザード 3 1 出力回路のハザード

More information

Microsoft PowerPoint ppt

Microsoft PowerPoint ppt 仮想マシン (2), コード生成 http://cis.k.hosei.ac.jp/~asasaki /lect/compiler/2007-1204.pdf ( 訂正版 ) 1 概要 仮想マシン 概要 ( 復習 ) 制御命令 出力命令 コード生成 式のコード生成 文 文の列のコード生成 記号表 2 演習で作るコンパイラの例 test.hcc Int main() { int i j; i = 3;

More information

Microsoft PowerPoint - qcomp.ppt [互換モード]

Microsoft PowerPoint - qcomp.ppt [互換モード] 量子計算基礎 東京工業大学 河内亮周 概要 計算って何? 数理科学的に 計算 を扱うには 量子力学を計算に使おう! 量子情報とは? 量子情報に対する演算 = 量子計算 一般的な量子回路の構成方法 計算って何? 計算とは? 計算 = 入力情報から出力情報への変換 入力 計算機構 ( デジタルコンピュータ,etc ) 出力 計算とは? 計算 = 入力情報から出力情報への変換 この関数はどれくらい計算が大変か??

More information

Microsoft PowerPoint - mp11-06.pptx

Microsoft PowerPoint - mp11-06.pptx 数理計画法第 6 回 塩浦昭義情報科学研究科准教授 shioura@dais.is.tohoku.ac.jp http://www.dais.is.tohoku.ac.jp/~shioura/teaching 第 5 章組合せ計画 5.2 分枝限定法 組合せ計画問題 組合せ計画問題とは : 有限個の もの の組合せの中から, 目的関数を最小または最大にする組合せを見つける問題 例 1: 整数計画問題全般

More information

第 1 回 C 言語講座 1. コンピュータって? だいたいは 演算装置 制御装置 記憶装置 入出力装置から構成されている 演算装置 CPU の一部で実際に計算を行う装置 制御装置 CPU の一部で演算装置や入出力装置 記憶装置の読み書きなどを制御する装置 記憶装置プログラムや情報 データを一時的

第 1 回 C 言語講座 1. コンピュータって? だいたいは 演算装置 制御装置 記憶装置 入出力装置から構成されている 演算装置 CPU の一部で実際に計算を行う装置 制御装置 CPU の一部で演算装置や入出力装置 記憶装置の読み書きなどを制御する装置 記憶装置プログラムや情報 データを一時的 第 1 回 C 言語講座 1. コンピュータって? だいたいは 演算装置 制御装置 記憶装置 入出力装置から構成されている 演算装置 CPU の一部で実際に計算を行う装置 制御装置 CPU の一部で演算装置や入出力装置 記憶装置の読み書きなどを制御する装置 記憶装置プログラムや情報 データを一時的 あるいは半永久的に保存する装置 CPU が直接読み書きできる主記憶装置 ( メモリ ) と データの保管などに使われる補助記憶装置

More information

Microsoft PowerPoint - sp ppt [互換モード]

Microsoft PowerPoint - sp ppt [互換モード] // システムプログラム概論 メモリ管理 () 今日の講義概要 ページ管理方式 ページ置換アルゴリズム 第 5 講 : 平成 年 月 日 ( 月 ) 限 S 教室 中村嘉隆 ( なかむらよしたか ) 奈良先端科学技術大学院大学助教 y-nakamr@is.naist.jp http://narayama.naist.jp/~y-nakamr/ // 第 5 講メモリ管理 () ページング ( 復習

More information

命令セットの構成例 a) 算術 演算命令 例 )ADD dest, source : dest dest + source SUB dest, source : dest dest - source AND dest, source : dest dest AND source SHR reg, c

命令セットの構成例 a) 算術 演算命令 例 )ADD dest, source : dest dest + source SUB dest, source : dest dest - source AND dest, source : dest dest AND source SHR reg, c 第 11 回機械語とアーキテクチャ コンピュータは, 記号で組み立てられ, 記号で動く機械 : ソフトウェアソフトウェア としても理解されなければならない ソフトウェアの最も下位レベルのしくみが ( 命令セット ) アーキテクチャ である 講義では命令符号 ( 機械語 ) の構成と種類についてまとめる また, 機械語を効率良く実行するために採用されている技術について紹介する 機械語とアセンブリ言語

More information

020204.入出力制御割込解説

020204.入出力制御割込解説 入出力制御と割込解説 問 1 エチャネル制御に関する問題である チャネルは 処理装置に代わって入出力を担当するコンピュータである 汎用コンピュータでは処理装置と入出力装置の完全な平行動作を行うために 入出力専用のチャネルを設けている 処理装置から指示されたCCWからなるチャネルプログラムによって 処理装置から独立して動作する 入出力動作が完了すると入出力割込みによって制御装置に完了を通知する アのチャネルの制御は入出力の両者を制御する

More information

ソフトウェア基礎技術研修

ソフトウェア基礎技術研修 マルチサイクルを用いた実現方式 ( 教科書 5. 節 ) マルチサイクル方式 () 2 つのデータパス実現方式 単一クロックサイクル : 命令を クロックサイクルで処理 マルチクロックサイクル : 命令を複数クロックサイクルで処理 単一クロックサイクル方式は処理効率が悪い. CLK 処理時間 命令命令命令命令命令 時間のかかる命令にクロック サイクル時間をあわさなければならない. 余り時間の発生 クロック

More information

Microsoft PowerPoint ppt

Microsoft PowerPoint ppt 仮想マシン () 仮想マシン 復習 仮想マシンの概要 hsm 仮想マシン プログラム言語の処理系 ( コンパイラ ) 原始プログラム (Source program) コンパイラ (Compiler) 目的プログラム (Object code) 原始言語 (Source language) 解析 合成 目的言語 (Object Language) コンパイルする / 翻訳する (to compile

More information

PowerPoint プレゼンテーション

PowerPoint プレゼンテーション 計算機基礎第 7 回 ノイマン型計算機 (2) 1 スタックの練習問題 逆ポーランド表記 ( 後置記法 : postfix notation) に変換してみよ 1+2*3+4 1 2 3 * + 4 + (1+2)*3+4 1 2 + 3 * 4 + 1+2*(3+4) 下の 3 番目と同じ 中置記法 (infix notation) に変換してみよ 1 2 + 3 * 4 + (1 + 2) *

More information

Microsoft Word - 実験4_FPGA実験2_2015

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の実験 Ⅱ(

More information

ポインタ変数

ポインタ変数 プログラミング及び実習 5 馬青 1 文字処理 数値処理 : 整数 浮動小数点数 単一の文字は と ( シングルクォーテーション ) で囲んで表現される 文字のデータ型は char または int である int を用いたほうが ライブラリの関数の引数の型と一致する 以下は全部 int の使用に統一する 従って int ch; で文字変数を宣言しておくと ch= A ; のように ch に文字 A

More information

Microsoft PowerPoint - OS12.pptx

Microsoft PowerPoint - OS12.pptx # # この資料は 情報工学レクチャーシリーズ松尾啓志著 ( 森北出版株式会社 ) を用いて授業を行うために 名古屋工業大学松尾啓志 津邑公暁が作成しました パワーポイント 7 で最終版として保存しているため 変更はできませんが 授業でお使いなる場合は松尾 (matsuo@nitech.ac.jp) まで連絡いただければ 編集可能なバージョンをお渡しする事も可能です # 主記憶管理 : ページ置き換え方式

More information

C プログラミング演習 1( 再 ) 2 講義では C プログラミングの基本を学び 演習では やや実践的なプログラミングを通して学ぶ

C プログラミング演習 1( 再 ) 2 講義では C プログラミングの基本を学び 演習では やや実践的なプログラミングを通して学ぶ C プログラミング演習 1( 再 ) 2 講義では C プログラミングの基本を学び 演習では やや実践的なプログラミングを通して学ぶ 今回のプログラミングの課題 次のステップによって 徐々に難易度の高いプログラムを作成する ( 参照用の番号は よくわかる C 言語 のページ番号 ) 1. キーボード入力された整数 10 個の中から最大のものを答える 2. 整数を要素とする配列 (p.57-59) に初期値を与えておき

More information

UNIX 初級講習会 (第一日目)

UNIX 初級講習会 (第一日目) 情報処理概論 工学部物質科学工学科応用化学コース機能物質化学クラス 第 3 回 2005 年 4 月 28 日 計算機に関する基礎知識 Fortranプログラムの基本構造 文字や数値を画面に表示する コンパイル時のエラーへの対処 ハードウェアとソフトウェア ハードウェア 計算, 記憶等を行う機械 ソフトウェア ハードウェアに対する命令 データ ソフトウェア ( 命令 ) がないとハードウェアは動かない

More information

Microsoft Word - no02.doc

Microsoft Word - no02.doc 使い方 1ソースプログラムの入力今回の講義では C++ 言語用の統合環境ソフトといわれるプログラムを利用します デスクトップにある CPad for C++ のアイコン ( 右参照 ) をダブルクリ ックしましょう ( 同じアイコンで Java_pad とかい エディタ部 てあるものもありますので気をつけてください ) これで 起 動します 統合環境を立ち上げると エディタ部とメッセージ部をもった画面が出てきます

More information

MW100 Modbusプロトコルによるデータ通信の設定について

MW100 Modbusプロトコルによるデータ通信の設定について Modbus プロトコルによるデータ通信の設定について 概要 設定の手順 DAQMASTER の Modbus 通信について 設定の手順を説明します このマニュアルでは イーサネットを使った Modbus 通信 (Modbus/TCP) で 2 台の を接続し データの送受信をするまでの手順を取り上げます なお Modbus クライアント機能を使うには 演算機能 (/M1 オプション ) が必要です

More information

- VHDL 演習 ( 組み合せ論理回路 ) 回路 半加算器 (half adder,fig.-) 全加算器を構成する要素である半加算器を作成する i) リスト - のコードを理解してから, コンパイル, ダウンロードする ii) 実験基板上のスイッチ W, が, の入力,LED, が, の出力とな

- VHDL 演習 ( 組み合せ論理回路 ) 回路 半加算器 (half adder,fig.-) 全加算器を構成する要素である半加算器を作成する i) リスト - のコードを理解してから, コンパイル, ダウンロードする ii) 実験基板上のスイッチ W, が, の入力,LED, が, の出力とな 第 回 VHDL 演習組み合せ論理回路 VHDL に関する演習を行う 今回は, 組み合せ論理回路の記述について学ぶ - 論理回路の VHDL 記述の基本 同時処理文を並べることで記述できる 部品の接続関係を記述 順番は関係ない process 文の内部では, 順次処理文を使う process 文 つで, つの同時処理文になる順次処理文は, 回路の動作を 逐次処理的 に ( 手続き処理型プログラム言語のように

More information

JavaプログラミングⅠ

JavaプログラミングⅠ Java プログラミング Ⅰ 4 回目演算子 今日の講義で学ぶ内容 演算子とオペランド 式 様々な演算子 代表的な演算子の使用例 演算子とオペランド 演算子 演算の種類です例えば + - * / 掛け算の記号は ではなく *( アスタリスク ) を使います割り算の記号は ではなく /( スラッシュ ) を使います オペランド 演算の対象です例えば 5( 値 ) num( 変数 ) 式 演算子とオペランドの組み合わせにより構成される数式です式は演算結果をもちます

More information

Microsoft PowerPoint - ICD2011TakadaSlides.pptx

Microsoft PowerPoint - ICD2011TakadaSlides.pptx キャッシュウェイ割り当てと コード配置の同時最適化による メモリアクセスエネルギーの削減 九州大学 高田純司井上弘士京都大学石原亨 2012/8/9 1 目次 研究背景 組込みプロセッサにおけるエネルギー削減の必要性 キャッシュウェイ割り当て 提案手法 キャッシュウェイ割り当てとコード配置の組み合わせ 同時最適化 評価実験 まとめ 2012/8/9 2 組込みプロセッサの課題 研究背景 低消費エネルギー化,

More information

PowerPoint プレゼンテーション

PowerPoint プレゼンテーション コンパイラとプログラミング言語 第 3 4 週 プログラミング言語の形式的な記述 2014 年 4 月 23 日 金岡晃 授業計画 第 1 週 (4/9) コンパイラの概要 第 8 週 (5/28) 下向き構文解析 / 構文解析プログラム 第 2 週 (4/16) コンパイラの構成 第 9 週 (6/4) 中間表現と意味解析 第 3 週 (4/23) プログラミング言語の形式的な記述 第 10 週

More information

Microsoft PowerPoint - mp13-07.pptx

Microsoft PowerPoint - mp13-07.pptx 数理計画法 ( 数理最適化 ) 第 7 回 ネットワーク最適化 最大流問題と増加路アルゴリズム 担当 : 塩浦昭義 ( 情報科学研究科准教授 ) hiour@di.i.ohoku.c.jp ネットワーク最適化問題 ( 無向, 有向 ) グラフ 頂点 (verex, 接点, 点 ) が枝 (edge, 辺, 線 ) で結ばれたもの ネットワーク 頂点や枝に数値データ ( 距離, コストなど ) が付加されたもの

More information

計算機概論

計算機概論 計算機概論 第 8 回 : ファイルとファイルシステム ファイルシステム ディスクファイルシステム は 直接的か間接的かに関わらずコンピュータシステムに接続された補助記憶装置 特にハードディスク上にファイルを格納するためのものである ディスクファイルシステムとしては FAT NTFS HFS ext2 ext3 ext4 などがある オペレーティングシステム (OS) はファイルシステムを提供している

More information

05-scheduling.ppt

05-scheduling.ppt オペレーティングシステム ~ スケジューリング ~ 山田浩史 hiroshiy @ cc.tuat.ac.jp 2014/06/01 復習 : プロセス 実行状態にあるプログラムのこと プログラムの実行に必要なものをひっくるめて指す テキスト領域 データ領域 スタック領域 CPU のレジスタ値 プログラムカウンタ など OS はプロセス単位で管理する メモリ Hard Disk CPU プロセス execute

More information

CPUスケジューリング

CPUスケジューリング 5-6 プロセス管理と CPU スケジューリング 1 多重プログラミングの概念 CPU を無駄なく使いたい ジョブ A ジョブ B 開始遊休状態 : 入力 開始遊休状態 : 入力 遊休状態 : 入力 遊休状態 : 入力 停止 停止 図 4.1 二つの上部 A,B の実行 2 多重プログラミングの概念 ジョブ A 開始遊休状態 : 入力 遊休状態 : 入力 停止 ジョブ B 待ち 開始遊休状態 : 入力

More information

PowerPoint プレゼンテーション

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 進演算 ( 数の表現 ) 演算アーキテクチャ

More information

ex04_2012.ppt

ex04_2012.ppt 2012 年度計算機システム演習第 4 回 2012.05.07 第 2 回課題の補足 } TSUBAMEへのログイン } TSUBAMEは学内からのログインはパスワードで可能 } } } } しかし 演習室ではパスワードでログインできない設定 } 公開鍵認証でログイン 公開鍵, 秘密鍵の生成 } ターミナルを開く } $ ssh-keygen } Enter file in which to save

More information

PowerPoint プレゼンテーション

PowerPoint プレゼンテーション 多倍長精度演算の性能評価 日時 年 月 日 :3-: 場所工学院大学新宿校舎 8 階第 4 会議室 高エネルギー加速器研究機構 濱口信行 hgu@post.kek.jp // 第 回多倍長精度計算フォーラム . はじめに 計算センター => ユーザプログラムの実行効率は何 % です よく出ています or 改善してください 実行性能 = 演算量 / 実行時間実行効率 = 実行性能 / 理論性能 ユーザ実行時間

More information

04-process_thread_2.ppt

04-process_thread_2.ppt オペレーティングシステム ~ 保護とシステムコール ~ 山田浩史 hiroshiy @ cc.tuat.ac.jp 2015/05/08 復習 : OS の目的 ( 今回の話題 ) 裸のコンピュータを抽象化 (abstraction) し より使いやすく安全なコンピュータとして見せること OS はハードウェアを制御し アプリケーションの効率的な動作や容易な開発を支援する OS がないと 1 つしかプログラムが動作しない

More information

about MPI

about MPI 本日 (4/16) の内容 1 並列計算の概要 並列化計算の目的 並列コンピュータ環境 並列プログラミングの方法 MPI を用いた並列プログラミング 並列化効率 2 並列計算の実行方法 Hello world モンテカルロ法による円周率計算 並列計算のはじまり 並列計算の最初の構想を イギリスの科学者リチャードソンが 1922 年に発表 < リチャードソンの夢 > 64000 人を円形の劇場に集めて

More information

情報科学概論

情報科学概論 情報科学概論 映像 1 年前期 選択 担当 : 浦谷則好 http://uratani-n.com/info-science/ uratani@cs.t-kougei.ac.jp 前回の課題 コンピュータの歴史について学んだことをできるだけ記せ 将来の PC に備えて欲しい機能, あるいはアプリケーションについて記せ クラウド上に自分の記憶の保存または他の人の記憶のインストール 人間が見た映像や聴いた音を記録し

More information

VLSI工学

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 注意 この教科書では記憶回路を全てフリップフロップと説明している

More information

3. 回路図面の作図 回路図の作成では 部品など回路要素の図記号を配置し 要素どうしを配線するが それぞれの配線には 線番 などの電気的な情報が存在する 配線も単なる線ではなく 信号の入力や出力など部品どうしを結び付ける接続情報をもたせることで回路としての意味をもつ このように回路図を構成する図面は

3. 回路図面の作図 回路図の作成では 部品など回路要素の図記号を配置し 要素どうしを配線するが それぞれの配線には 線番 などの電気的な情報が存在する 配線も単なる線ではなく 信号の入力や出力など部品どうしを結び付ける接続情報をもたせることで回路としての意味をもつ このように回路図を構成する図面は 汎用 CAD に対する電気設計専用 CAD の優位性 株式会社ワコムソフトウェア営業本部ソフトウェア営業部 1. はじめに弊社は 1984 年に電気設計専用 CAD システムを発売以来 日本のものづくりを担うお客様とともに成長し 電気制御設計の現場で 要求レベルの高いお客様ニーズに応えるために改良に改良を重ね 卓越した製品力を誇るまでに至った しかしながら 電気設計の用途でも汎用 CAD を利用されている企業は多く存在している

More information

次に示す数値の並びを昇順にソートするものとする このソートでは配列の末尾側から操作を行っていく まず 末尾の数値 9 と 8 に着目する 昇順にソートするので この値を交換すると以下の数値の並びになる 次に末尾側から 2 番目と 3 番目の 1

次に示す数値の並びを昇順にソートするものとする このソートでは配列の末尾側から操作を行っていく まず 末尾の数値 9 と 8 に着目する 昇順にソートするので この値を交換すると以下の数値の並びになる 次に末尾側から 2 番目と 3 番目の 1 4. ソート ( 教科書 p.205-p.273) 整列すなわちソートは アプリケーションを作成する際には良く使われる基本的な操作であり 今までに数多くのソートのアルゴリズムが考えられてきた 今回はこれらソートのアルゴリズムについて学習していく ソートとはソートとは与えられたデータの集合をキーとなる項目の値の大小関係に基づき 一定の順序で並べ替える操作である ソートには図 1 に示すように キーの値の小さいデータを先頭に並べる

More information

Microsoft PowerPoint - 11.pptx

Microsoft PowerPoint - 11.pptx ポインタと配列 ポインタと配列 配列を関数に渡す 法 課題 : 配列によるスタックの実現 ポインタと配列 (1/2) a が配列であるとき, 変数の場合と同様に, &a[0] [] の値は配列要素 a[0] のアドレス. C 言語では, 配列は主記憶上の連続領域に割り当てられるようになっていて, 配列名 a はその配列に割り当てられた領域の先頭番地となる. したがって,&a[0] と a は同じ値.

More information