4 実験方法 本章では具体的な実験方法を説明します 本章をよく読んで作業を進めてください 4.3 章以降はキャッシュの構造や動作について既に十分に理解していることが前提となっ ています キャッシュの理解に自信がない学生は 4.3 章に進む前に まずはキャッシュの 構造と動作を理解した方がよいでしょう

Size: px
Start display at page:

Download "4 実験方法 本章では具体的な実験方法を説明します 本章をよく読んで作業を進めてください 4.3 章以降はキャッシュの構造や動作について既に十分に理解していることが前提となっ ています キャッシュの理解に自信がない学生は 4.3 章に進む前に まずはキャッシュの 構造と動作を理解した方がよいでしょう"

Transcription

1 情報数理工学/コンピュータサイエンス実験第二 A/B キャッシュシミュレーション 担当 三輪忍 本書は 電気通信大学 I 類授業科目 情報数理工学実験第二 A/B および コンピュー タサイエンス実験第二 A/B における課題名 キャッシュシミュレーション の手引書で す 本課題を履修する学生は 本書をよく読んだ上で授業に臨んでください 1 本実験の目的 本実験の目的は 多くの CPU に搭載されており 性能への影響が大きなハードウェアで あるキャッシュについて シミュレーションとエントリ置換アルゴリズムの開発を通して その理解を深めることにあります エントリ置換アルゴリズムの開発を通して コンピュー タアーキテクチャ研究の面白さを知ってください 2 評価基準 本実験の成績はラウンド終了後に提出するレポートの内容により評価します 評価は 開 発したアルゴリズムの独自性と有用性 および レポートの読みやすさの 3 つの観点から 行います 独自性に関しては 単にどこかの文献に記載されているアルゴリズムを実装した 場合よりも 各自が工夫して編み出したアルゴリズムを実装した場合の方が評点は高くな ります また 有用性に関しては 開発アルゴリズムのシミュレーション結果がよい程 具 体的には IPC (Instruction Per Cycle) とキャッシュヒット率が高い程 評点は高くなりま す 皆さん 有用でオリジナリティに溢れるアルゴリズムを頑張って開発してください 3 実験スケジュール 本実験は明確な中間目標を設けていません 全 7 回の授業時間を自由に使って実験を進 めてください 実験終了までの時間配分の一例を以下に挙げますので参考にしてください 授業日 内容 第1回 実験概要とキャッシュの理解 および 実験環境のセットアップ 第2回 実装するアルゴリズムの検討 第3回 第4回 第5回 第6回 第7回 アルゴリズムの実装とデバッグ作業 実装したアルゴリズムの初期評価と改良作業 最終評価 報告用データの取得 とレポートの執筆 1

2 4 実験方法 本章では具体的な実験方法を説明します 本章をよく読んで作業を進めてください 4.3 章以降はキャッシュの構造や動作について既に十分に理解していることが前提となっ ています キャッシュの理解に自信がない学生は 4.3 章に進む前に まずはキャッシュの 構造と動作を理解した方がよいでしょう キャッシュの勉強には文献[1]の 5.3 章と 5.4 章 を熟読することを強く勧めますが 本書の 5 章の内容を理解すればレポート作成に必要な 最低限の成果を得ることは可能だと思います 実験が思うように進まない学生へのヒントが本書の 6 章に記載されています 実験に行 き詰まりを感じた場合は 6 章を読んでください 4 1 環境設定 始めにシミュレーション環境の設定を行います CED の端末 OS は Ubuntu を選択 に 自分のアカウントでログインし 以下の手順に従って環境設定を行ってください (1) ChampSim のダウンロード 実験に使用するシミュレータ (ChampSim) を GitHub のレポジトリ[2]からダウ ンロードします ChampSim のダウンロード手順は以下の通りです I. ターミナルを起動 II. ターミナル上で以下を入力 git clone 上記の操作により git clone を実行したディレクトリの下に ChampSim とい う名前のディレクトリが生成されます 以後 後者のディレクトリをルートディレク トリと呼びます (2) 実行/解析用スクリプトのコピー 次に 実験に使用する実行用/解析用プログラムを取得します ルートディレクト リに移動し 以下のコマンドを実行してください cp r /home3/staff/ma002344/.ced_centos/mics2/champsim/myscript. myscript というディレクトリが生成されます.sh や.py などの拡張子を 持ついくつかのファイルが myscript の中に存在することを確認してください 2

3 4 2 ChampSim と実行/解析用スクリプトの動作確認 続いて ChampSim と実行/解析用スクリプトの動作確認を行います ChampSim は 命令の実行トレース 以後トレースと呼びます を入力として与えること により キャッシュなどの CPU 内ハードウェアの挙動をシミュレートします トレースと はプログラムを実行した際の命令の実行系列のことです トレースの例を図 1 に示します 1: set r1 = 0; 1: set r1 = 0; 2: set r2 = 1; 2: set r2 = 1; 3: set r3 = 11; 3: set r3 = 11; 4: LOOP: 4: beq r2 == r3, EXIT; 5: beq r2 == r3, EXIT; 5: add r1 = r1 + r2; 6: add r1 = r1 + r2; 6: add r2 = r2 + 1; 7: add r2 = r2 + 1; 7: b LOOP; 8: b LOOP; 8: beq r2 == r3, EXIT; 9: EXIT: 図 1. プログラム 左 とトレース 右 図 1 左は 1 から 10 までの数の総和を計算するプログラムの機械語を表しています 5 行 目の命令 beq r2==r3, EXIT から 8 行目の命令 b LOOP がループになっており これ ら 4 つの命令が 10 回ずつ実行されることによって 総和 レジスタ r1 の値 が計算され ます このプログラムの命令を実行順に並べると右のようになります 右図では 4 行目か ら 7 行目がループの 1 周目に対応しており 8 行目からループの 2 周目が開始しています これがトレースです トレースは自分で作成することもできますが 代表的なトレースを共有ディレクトリに 用意してありますので 本実験ではこれらのトレースを使用してください トレース作成を 試してみたい人は ルートディレクトリにある README.md の How to create traces と いう箇所を読んでください ChampSim には キャッシュの代表的なエントリ置換アルゴリズムが既にいくつか実装 されています 具体的には LRU (Least Recently Used), SRRIP (Static ReReference Interval Prediction), DRRIP (Dynamic ReReference Interval Prediction), SHIP (Signaturebased Hit Predictor) の 4 つのアルゴリズムが利用可能です 以下では これらのアルゴリズムを使用した場合のキャッシュヒット率と CPU 性能を計 測してみます ここでは各アルゴリズムの詳細を理解する必要はありません 各アルゴリズ ムの詳細を知りたい人は文献[1,34]を読んでください 計測手順を以下に示します 3

4 (1) ChampSim のビルド まずは各アルゴリズムに対応したシミュレータをビルドします ルートディレク トリで以下のコマンドを実行してください./build_champsim.sh perceptron no no lru 1./build_champsim.sh perceptron no no srrip 1./build_champsim.sh perceptron no no drrip 1./build_champsim.sh perceptron no no ship 1 build_champsim.sh はシミュレータの実行バイナリを生成するスクリプトです 同スクリプトの第 4 引数がキャッシュのエントリ置換アルゴリズムを表しています ルートディレクトリの bin/ の下に 4 つの実行バイナリが生成されていることを確 認してください (2) 実行 (1)で作成したシミュレータを用いてキャッシュのシミュレーションを行います ルートディレクトリで以下のコマンドを実行してください./myscript/run_all_models.sh 5 top コマンドを使って 4 つのシミュレータの実行が開始されたことを確認し てみてください 図 2 のように (1)で生成した 4 つのバイナリファイルの名前が表 示されており これらのプロセスの CPU 使用率 %CPU の項 が 100%に近い値 を示していれば シミュレータは正常に動作していると思って構いません 図 2. シミュレータの実行を top コマンドで確認しているようす 4

5 上記の 4 つのプロセスがすべて終了すれば top コマンドを実行した時に上記のプ ロセス名の表示がなくなれば シミュレーションは完了です ルートディレクトリ 内の result_100m という名前のディレクトリに シミュレーション結果のテキス トファイルが生成されていることを確認してください テキストファイルは計 20 個 シミュレータ数 (4) トレース数 (5) 生成されます シミュレーションの完了までには 1 時間程度を見込んでください (3) 実行結果の描画 最後に シミュレーション結果をグラフにしてみましょう ルートディレクトリで 以下のコマンドを実行してください./myscript/mk_sample_graphs.sh 上記コマンドにより ルートディレクトリの graphs/ に ipc.pdf llc.pdf と いう 2 つのファイルが作成されますので これらを Acrobat Reader などで表示して みてください 4 つのエントリ置換アルゴリズムを 5 つのトレースに対してシミュレ ーションした結果が棒グラフで表示されているはずです ipc.pdf は IPC を表した グラフです IPC は 1 サイクルあたりに実行された命令数のことで CPU 性能を表 す指標として用いられます llc.pdf はラストレベルキャッシュ 一番メモリに近 い層のキャッシュ のヒット率を表したグラフです これで実験の準備は完了です 4 3 エントリ置換アルゴリズムの考え方 次は シミュレータに実装するエントリ置換アルゴリズムを考えてみましょう 開発する アルゴリズムは 有限のハードウェアで実現可能ならばどのようなアルゴリズムでも構い ません 自分なりの工夫を凝らして 高性能なアルゴリズムを開発してみてください どのようにアルゴリズムを考えたらよいかわからない人は まずは LRU の問題点を改良 することを目標にアルゴリズムを考えてみるとよいと思います 一般的によく知られてい る LRU の問題点はスキャンアクセスに弱いことです スキャンアクセスとは以下のような メモリアクセスパターンのことを言います ただし 下の例において などの文字列 はメモリアドレスを表すものとし 各アドレスは左から右に向かって順にアクセスが行わ れるものとします,,,, 0x10, 0x14, 5

6 このようなメモリアクセスパターンを有するプログラムを 4 エントリのキャッシュ キ ャッシュブロックの大きさは 4B と仮定します からなるプロセッサ上で実行する場合を考 えます キャッシュのエントリを LRU で置換した場合 各メモリアクセス時のキャッシュ のヒット/ミスとエントリの状態は以下のようになります Address 0x10 0x14 Hit/miss Entry 0 0x10 0x10 Entry 1 0x14 Entry 2 Entry 3 このように すべてのメモリアクセスでキャッシュミスが発生し キャッシュのエントリ が古いものから順に置き換えられた結果 最終的にはすべてのエントリが置き換えられて しまいます これは 次のような キャッシュにヒットしやすいアクセスとスキャンアクセ スが混在するプログラムで問題となります,,,,,,,,, このプログラムに対してエントリを LRU で置換した場合 キャッシュの状態は以下のよ うに推移します Address Hit/miss Hit Hit Entry 0 Entry 1 Entry 2 Entry 3 この例では キャッシュにヒットしやすいアクセス と に対するアクセス の 間にスキャンアクセス 5 番目から 8 番目までのアクセス が入ったことによって キャッ シュのエントリがすべて置き換えられてしまいます その結果 本来はキャッシュにヒット しやすいはずのエントリ と が一旦キャッシュから追い出されてしまい スキ 6

7 ャンアクセス後の と へのアクセス 9 番目と 10 番目のアクセス に対してキャ ッシュミスが発生します 上記の例では スキャンアクセスに対してエントリ 0 と 1 を置換しなければ 9 番目と 10 番目のアクセスはキャッシュにヒットします つまり スキャンアクセスに対して置換 対象のエントリを制限できれば キャッシュのヒット率は向上します そのようなアルゴリ ズムを考えてみてください 4 4 エントリ置換アルゴリズムの実装と動作確認 エントリ置換アルゴリズムを決めたら シミュレータへの実装を行います (1) コーディングの準備 ルートディレクトリにおいて以下のコマンドを実行してください cp replacement/llc_replacement.cc replacement/myrep.llc_repl コピー元のファイルである llc_replacement.cc には エントリ置換アルゴリズムの 関数のひな形が用意されています このファイルをコピーして 自身のエントリ置換 アルゴリズムを実装していきます コピー先のファイル名は 拡張子が.llc_repl であれば何でも構いませんが ここでは myrep とします (2) コーディング myrep.llc_repl にアルゴリズムを実装します 同ファイルをテキストエディタ で開いてください ファイルの中には 4 つの関数 ChampSim は C++で記述されて いるため 正確には CACHE クラスの 4 つのメンバ関数ですが この実験ではメン バ関数と通常の関数の違いを意識する必要はないため 以後は関数と呼びます が存 在します これらの関数の中に 実現したいアルゴリズムを記述していきます 各関数の意味は以下の通りです void CACHE::llc_initialize_replacement() 置換アルゴリズムで使用する状態 例えば各キャッシュブロックの優先度情報 を初期化する関数 シミュレーションの開始時に呼び出される uint32_t CACHE::llc_find_victim(uint32_t cpu, uint64_t instr_id, uint32_t set, const BLOCK *current_set, uint64_t ip, uint64_t full_addr, uint32_t type) 置換対象のブロックを探す関数 キャッシュミス時に呼び出される 返り値は置 換対象のブロックのウェイ番号 各引数の意味は以下の通り 7

8 変数名 説明 cpu コア番号. この実験では使用しない (1 コアの CPU のシミュレ ーションを行うので, 常に 0 となる ). instr_id キャッシュミスした命令の ID( 命令アドレス ). set 上記命令がアクセスしたセットの番号. current_set 上記命令がアクセスしたセットに格納されているキャッシュブ ロック. ip プリフェッチに使用. この実験では使用しない. full_addr アクセスしたブロックのアドレス. type アクセスのタイプ. アクセスのタイプに応じて値がセットされ るが, この実験に関係するのはライトバックのみ (WRITEBACK という列挙型の値がセットされる ). void CACHE::llc_update_replacement_state(uint32_t cpu, uint32_t set, uint32_t way, uint64_t full_addr, uint64_t ip, uint64_t victim_addr, uint32_t type, uint8_t hit) 置換アルゴリズムで使用する状態を更新する関数. キャッシュアクセスが行わ れる度に呼び出される. 各引数の意味は以下の通り. 変数名 説明 cpu llc_find_victim() と同様. set llc_find_victim() と同様. way アクセスした way の番号. full_addr llc_find_victim() と同様. ip llc_find_victim() と同様. victim_addr 置換対象のブロックのアドレス. type llc_find_victim() と同様. hit キャッシュにヒットした場合は 1, ミスした場合は 0. void CACHE::llc_replacement_final_stats() 置換アルゴリズムで使用する状態の後処理をする関数. シミュレーションの終 了時に呼び出される. (3) ビルド ルートディレクトリで以下のコマンドを実行することにより, 実装した置換アル ゴリズムに対応したシミュレータをビルドします. 8

9 ./build_champsim.sh perceptron no no myrep 1 ビルドに失敗した場合は エラーメッセージの内容を確認し 自分が作成したプログ ラムのデバッグ作業を行ってください (4) 実行 4.2 章で実行したトレースに対して 実装した置換アルゴリズムのシミュレーショ ンを行います 以下のコマンドをルートディレクトリで実行してください./myscript/run_5apps.sh perceptronnonomyrep1core 実行が完了すると result_100m ディレクトリに実行結果 *myrep1core.txt と いう名前の 5 つのファイル が生成されます (5) 実行結果の描画 結果をグラフに描画します 以下のコマンドをルートディレクトリで実行してく ださい./myscript/mk_your_graphs.sh myrep graphs ディレクトリに your_ipc.pdf と your_llc.pdf という名前の 2 つのフ ァイルが生成されます 4 5 報告用データの取得 レポートには 必ず 次の 10 本のトレース cactusadm_734b, calculix_2655b, lbm_94b, leslie3d_94b, libquantum_964b, mcf_46b, milc_360b, soplex_66b, sphinx3_883b, xalancbmk_99b に対する評価結果を載せてください 開発したアルゴリズムの有用性は この 10 本のトレースに対する評価結果から判断します 10 本のトレースの実行には 2 時間程度必要です 各自 報告用データの取得に必要な時 間を考慮して実験を進めてください 10 本のトレースに対するシミュレーションは 以下のコマンドにより実行できます./myscript/final_run.sh myrep 9

10 また 報告用データのグラフ化には以下のコマンドを使用してください./myscript/mk_final_graphs.sh myrep ルートディレクトリの graphs/ に final_ipc.pdf final_llc.pdf というファイルが生 成されますので この結果をレポートに掲載してください 5 キャッシュの構造と動作 本章ではキャッシュについて簡単に説明します 5 1 概要 キャッシュは CPU 内に存在するハードウェアであり メインメモリに対するアクセス を高速化するために用いられます 最近のハイエンド CPU ではメインメモリへのアクセス に数百クロックサイクル程度の時間が必要であり 実行中のプログラムがメインメモリへ のアクセスを開始すると CPU 性能は大幅に低下してしまいます そこで CPU は キャ ッシュと呼ばれる高速かつ小容量のメモリを内部に搭載し メインメモリの代わりにキャ ッシュにアクセスすることによってメモリアクセス速度を改善しています キャッシュに はメインメモリ上のデータの一部が保持されており 所望のデータがキャッシュに存在す れば キャッシュのアクセス速度 13 クロックサイクル程度 で当該データにアクセスす ることが可能です データがキャッシュに存在しない場合は下位のメモリから当該データ を取得しなければならず メモリアクセス速度は改善されません 1 3 cycle 演算装置 10 cycle L1Dキャッシュ 数十 cycle L2キャッシュ 100 cycle ラストレベルキャッシュ メインメモリ 図 3. コンピュータのメモリ階層 また キャッシュは 多くの CPU において階層化されています 図 3 つまり 異なる 速度と容量のキャッシュを演算装置とメインメモリの間に階層的に配置し 各階層のキャ ッシュに順にアクセスすることによってメモリアクセス速度を改善します ちなみに 本実 験で使用するシミュレータは 3 階層のキャッシュを有しており 皆さんがエントリ置換ア ルゴリズムを実装するのはメインメモリに最も近い階層のキャッシュ ラストレベルキャ ッシュ です キャッシュの容量は限られており メインメモリ上のデータの一部しか保持することが できません そのため 新しいデータをキャッシュに 1 つ配置するには 代わりのデータを キャッシュから 1 つ追い出す必要があります これを決定するのが置換アルゴリズムです 10

11 5 2 基本的な構成と動作 キャッシュの構成を図 4 に示します キャッシュは複数 数十から数十万 エントリから なる表であり 各エントリはタグ部とデータ部という 2 つのフィールドから構成されてい ます キャッシュは 参照の空間的局所性を利用するため メインメモリ上の連続するアド レスを持つデータ 図では 4B のデータ 4 つ を 1 つのまとまりとして管理しています こ れをキャッシュブロックと言います キャッシュのデータ部はキャッシュブロックを格納 するためのフィールドです データ部 タグ部 キャッシュブロック 0x100 0x1000のデータ 0x1004のデータ 0x1008のデータ 0x100Cのデータ 図 4. キャッシュの構成 一方 タグ部はキャッシュブロックのアドレスを格納します キャッシュブロックのアド レスは キャッシュブロックの先頭のデータのアドレスからオフセット部分を除いたもの です 図の例はオフセットが 16 ですので 先頭のデータのアドレス 0x1000 から下位 4 ビットを除いた 0x100 がブロックアドレスとしてタグ部に格納されます キャッシュに対するアクセスは次のように行われます まず 参照するデータのブロック アドレスを計算します 次に 上記のブロックアドレスとキャッシュのタグ部を比較し 一 致するエントリを探します 一致するエントリが見つかった場合はキャッシュヒットです キャッシュにヒットした場合は 同エントリのデータ部を読みだすことにより 該当するデ ータを参照することができます 一致するエントリが見つからない場合はキャッシュミス となり 下位のメモリへアクセスを行います 5 3 セットアソシアティブ方式 前章で説明したキャッシュは キャッシュミスを判定するために 参照するブロックアド レスを キャッシュに格納された全ブロックアドレスと比較する必要がありました 前述の ように 容量の大きなキャッシュではエントリ数が数十万にも達するため キャッシュアク セスの度に全エントリのタグ部との一致比較を行うと この比較処理が性能上のボトルネ ックとなってしまいます この問題を緩和するため 多くのキャッシュはセットアソシアティブ方式を採用してい ます セットアソシアティブキャッシュの構成を図 5 に示します セットアソシアティブ キャッシュでは各ブロックの配置場所がある程度決まっており これをセットと呼びます 11

12 一方 セット内ではブロックを自由に配置することができ この場所をウェイと呼びます 図は 2 ウェイからなるセットアソシアティブキャッシュの構成例です セットアソシアテ ィブキャッシュではブロックの格納位置がセットにより決まるため キャッシュアクセス 時は対応するセットの各ウェイに対してのみ検索を行えばよく 図 4 のキャッシュと比べ てアクセスに必要な検索処理のコストを大幅に削減することができます 参照するアドレス 0x データ部 タグ部 セット0 0x10 0x1000のデータ 0x1004のデータ 0x1008のデータ 0x100Cのデータ セット1 0x31 0x3110のデータ 0x3114のデータ 0x3118のデータ 0x311Cのデータ セット インデクス セット0 0x26 0x2600のデータ 0x2604のデータ 0x2608のデータ 0x260Cのデータ セット1 0x79 0x7910のデータ 0x7914のデータ 0x7918のデータ 0x791Cのデータ 0x1000のデータ 0x1004のデータ 0x1008のデータ 0x100Cのデータ ウェイ0 タグ ウェイ1 オフセット 0x1004のデータ 図 5. セットアソシアティブキャッシュ セットアソシアティブキャッシュでは 参照するアドレスを 3 つの部分に分割します 下位部分がオフセットとして使用されるのは図 4 のキャッシュと同じです オフセットに 続く数ビットがセットインデクスとなります 残りの部分はタグと呼ばれ キャッシュのタ グ部との一致比較に使用されます セットアソシアティブキャッシュへのアクセスは 具体的には次のような手順で行われ ます まず セットインデクス 図の例では 0 を用いて キャッシュから該当するセット の全ウェイのタグ部 図の例では 0x10 と 0x26 を読み出します 続いて タグとキャッシ ュから読み出したタグ部を比較します 一致するタグが存在した場合はキャッシュヒット です 該当するウェイに当該データが存在することがわかります そこで データ部からキ ャッシュブロックを読み出し この処理はタグ部の読み出しと並列に行われることもあり ます オフセットを用いて読み出したブロックから該当データを取り出します ちなみに ChampSim のラストレベルキャッシュは 2,048 セット 16 ウェイのセットアソ シアティブキャッシュです 12

13 5 4 LRU アルゴリズム 多くの CPU のキャッシュでは 置換アルゴリズムとして LRU が採用されています LRU は最も過去に参照されたエントリを置換対象とするアルゴリズムです 具体的なアルゴリズムを 4.3 章の例 以下に再掲します を用いて説明します,,,,,,,,, 今 CPU のキャッシュは 2 エントリのみとし LRU によってエントリを置換するものと します また ブロックサイズは 4B と仮定します さて 5 番目のメモリアクセス へのアクセス が行われた時のキャッシュの状態 を考えます この時 キャッシュには のブロックと のブロックが格納されてい ます 一方 アクセスされたブロックは なので のブロックを格納するために は 上記 2 つのブロックのどちらか一方をキャッシュから追い出さなくてはなりません ここで のブロックと のブロックでは のブロックの方が過去に参照さ れています に対する最後のアクセスは 4 番目のアクセスなのに対し に対する 最後のアクセスは 3 番目のアクセス そこで のブロックを置換対象とするのが LRU 方式です 6 実験が思うように進まない学生に向けて 実験が進まない学生は まずは練習として LFU (Least Frequently Used) アルゴリズム を ChampSim に実装してみるとよいでしょう LFU は 最も参照回数の少ないエントリを 置換対象とするアルゴリズムです サンプル置換アルゴリズム LRU, DRRIP, SRRIP, SHIP と LFU の比較評価結果がレポートに記載されていれば 成績は少なくとも不可にはなりま せん 本書の末尾に LFU の実装例を示します 参考文献 [1] パターソン ヘネシー コンピュータの構成と設計 ハードウェアとソフトウェアの インターフェース 第 5 版下巻 日経 BP 社 2014 [2] ChampSim, [3] Aamer Jaleel, Kevin B. Theobald, Simon C. Steely, Jr., Joel Emer, High Performance Cache Replacement Using ReReference Interval Prediction (RRIP), in Proceedings of the 37th Annual International Symposium on Computer Architecture, pp , 2010 [4] CaroleJean Wu, Aamer Jaleel, Will Hasenplaugh, Margaret Martonosi, Simon C. Steely, Joel Emer, SHiP: Signaturebased Hit Predictor for High Performance Caching, in Proceedings of the 44th Annual IEEE/ACM Microarchitecture, pp , International Symposium on

14 #include "cache.h" uint32_t refcount[llc_set][llc_way]; // initialize replacement state void CACHE::llc_initialize_replacement() { for (int i = 0 ; i < LLC_SET ; ++i) for (int j = 0 ; j < LLC_WAY ; ++j) refcount[i][j] = 0; } // find replacement victim uint32_t CACHE::llc_find_victim(uint32_t cpu, uint64_t instr_id, uint32_t set, const BLOCK *current_set, uint64_t ip, uint64_t full_addr, uint32_t type) { uint32_t mincount = UINT_MAX; int v = 0; for (int j = 0 ; j < LLC_WAY ; ++j) { if (refcount[set][j] < mincount) { mincount = refcount[set][j]; v = j; } } } return v; // called on every cache hit and cache fill void CACHE::llc_update_replacement_state(uint32_t cpu, uint32_t set, uint32_t way, uint64_t full_addr, uint64_t ip, uint64_t victim_addr, uint32_t type, uint8_t hit) { string TYPE_NAME; if (type == LOAD) TYPE_NAME = "LOAD"; else if (type == RFO) TYPE_NAME = "RFO"; else if (type == PREFETCH) TYPE_NAME = "PF"; else if (type == WRITEBACK) TYPE_NAME = "WB"; else assert(0); if (hit) TYPE_NAME += "_HIT"; else TYPE_NAME += "_MISS"; if ((type == WRITEBACK) && ip) assert(0); if (hit && (type == WRITEBACK)) // writeback hit does not update refcount return; if (hit && (refcount[set][way] < UINT_MAX 1)) refcount[set][way]++; else if (!hit) refcount[set][way] = 1; } return; void CACHE::llc_replacement_final_stats() { } 図 6. LFU の実装例 14

15 よくある質問 Q. シミュレーション時間を短くするにはどうすればいいの A. ルートディレクトリの myscript 以下にある実行スクリプトは 複数のトレースや置 換アルゴリズムに対してシミュレーションを行うため すべてのシミュレーションが 完了するまでには 12 時間程度必要です 一方 開発した置換アルゴリズムのテスト実 行を行うだけならば すべてのトレースに対するシミュレーションは必要ありません ので 1 トレースに対するシミュレーション 10 分程度で終了します を行ってくだ さい 1 トレースに対するシミュレーションは以下のコマンドにより実行可能です./myscript/run_champsim.sh 実行バイナリ名 トレース名 実行バイナリ名 はシミュレータの実行バイナリ名 perceptronnonomyrep1core など を指定します 実行バイナリは ルートディレクトリで ls bin/ を行 うと確認できます トレース名 は cactusadm_734b mcf_46b soplex_66b sphinx3_883b xalancbmk_99b などが選択できますが テスト実行には 置換 アルゴリズムによる CPU 性能差が大きい sphinx3_883b がお薦めです 15

スライド 1

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

More information

Microsoft PowerPoint - ARC2009HashiguchiSlides.pptx

Microsoft PowerPoint - ARC2009HashiguchiSlides.pptx 3 次元 DRAM プロセッサ積層実装を 対象としたオンチップ メモリ アーキテクチャの提案と評価 橋口慎哉 小野貴継 ( 現 ) 井上弘士 村上和彰 九州大学大学院システム情報科学府 九州大学大学院システム情報科学研究院 発表手順 研究背景 研究目的 ハイブリッド キャッシュ アーキテクチャ 評価実験 まとめと今後の課題 2 3 次元実装技術 研究背景 グローバル配線長の削減 チップ面積縮小 異なるプロセスを経て製造されたダイ同士の積層

More information

DRAM SRAM SDRAM (Synchronous DRAM) DDR SDRAM (Double Data Rate SDRAM) DRAM 4 C Wikipedia 1.8 SRAM DRAM DRAM SRAM DRAM SRAM (256M 1G bit) (32 64M bit)

DRAM SRAM SDRAM (Synchronous DRAM) DDR SDRAM (Double Data Rate SDRAM) DRAM 4 C Wikipedia 1.8 SRAM DRAM DRAM SRAM DRAM SRAM (256M 1G bit) (32 64M bit) 2016.4.1 II ( ) 1 1.1 DRAM RAM DRAM DRAM SRAM RAM SRAM SRAM SRAM SRAM DRAM SRAM SRAM DRAM SRAM 1.2 (DRAM, Dynamic RAM) (SRAM, Static RAM) (RAM Random Access Memory ) DRAM 1 1 1 1 SRAM 4 1 2 DRAM 4 DRAM

More information

Microsoft PowerPoint - ARC-SWoPP2011OkaSlides.pptx

Microsoft PowerPoint - ARC-SWoPP2011OkaSlides.pptx データ値の局所性を利用した ライン共有キャッシュの提案 九州大学大学院 岡慶太郎 福本尚人 井上弘士 村上和彰 1 キャッシュメモリの大容量化 マルチコア プロセッサが主流 メモリウォール問題の深刻化 メモリアクセス要求増加 IOピンの制限 大容量の LL(Last Level) キャッシュを搭載 8MB の L3 キャッシュを搭載 Core i7 のチップ写真 * * http://www.atmarkit.co.jp/fsys/zunouhoudan/102zunou/corei7.html

More information

昨年度までの研究紹介 および 研究計画

昨年度までの研究紹介 および 研究計画 第 12 回 ICN 研究会ワークショップ Cefore で キャッシュプラグイン開発 2018 年 8 月 30 日 ( 木 ) キャッシュプラグイン csmgrd は起動時に使用するキャッシュプラグインを指定 Cache plugin: キャッシュデータ保存方式 Cache algorithm: キャッシュ選択 / 置換アルゴリズム Cache Plugin Cache algorithm csmgrd

More information

020105.メモリの高機能化

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

More information

Microsoft PowerPoint - ARCICD07FukumotoSlides.pptx

Microsoft PowerPoint - ARCICD07FukumotoSlides.pptx チップマルチプロセッサにおける データ プリフェッチ効果の分析 福本尚人, 三原智伸九州大学大学院システム情報科学府情報理学専攻 井上弘士, 村上和彰九州大学大学院システム情報科学研究院情報理学部門 2007/6/1 1 発表手順 研究の背景 目的 効果に基づくプリフェッチの分類法 マルチプロセッサ チップマルチプロセッサ 性能モデル式による定性的評価 定量的評価 まとめ 2007/6/1 2 研究の背景

More information

Microsoft PowerPoint - ICD2011TakadaSlides.pptx

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

More information

Microsoft Word - CygwinでPython.docx

Microsoft Word - CygwinでPython.docx Cygwin でプログラミング 2018/4/9 千葉 数値計算は計算プログラムを書いて行うわけですが プログラムには様々な 言語 があるので そのうちどれかを選択する必要があります プログラム言語には 人間が書いたプログラムを一度計算機用に翻訳したのち計算を実行するものと 人間が書いたプログラムを計算機が読んでそのまま実行するものとがあります ( 若干不正確な説明ですが ) 前者を システム言語

More information

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

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

More information

Microsoft PowerPoint - No7note.ppt

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

More information

Prog1_10th

Prog1_10th 2012 年 6 月 20 日 ( 木 ) 実施ポインタ変数と文字列前回は, ポインタ演算が用いられる典型的な例として, ポインタ変数が 1 次元配列を指す場合を挙げたが, 特に,char 型の配列に格納された文字列に対し, ポインタ変数に配列の 0 番の要素の先頭アドレスを代入して文字列を指すことで, 配列そのものを操作するよりも便利な利用法が存在する なお, 文字列リテラルは, その文字列が格納されている領域の先頭アドレスを表すので,

More information

Microsoft Word - 3new.doc

Microsoft Word - 3new.doc プログラミング演習 II 講義資料 3 ポインタ I - ポインタの基礎 1 ポインタとは ポインタとはポインタは, アドレス ( データが格納されている場所 ) を扱うデータ型です つまり, アドレスを通してデータを間接的に処理します ポインタを使用する場合の, 処理の手順は以下のようになります 1 ポインタ変数を宣言する 2 ポインタ変数へアドレスを割り当てる 3 ポインタ変数を用いて処理 (

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 プレゼンテーション 高性能計算基盤 第 7 回 CA1003: 主記憶共有型システム http://arch.naist.jp/htdocs-arch3/ppt/ca1003/ca1003j.pdf Copyright 2019 奈良先端大中島康彦 1 2 3 4 マルチスレッディングとマルチコア 5 6 7 主記憶空間の数が 複数 か 1 つ か 8 ただしプログラムは容易 9 1 つの主記憶空間を共有する場合 10

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

プログラミング実習I

プログラミング実習I プログラミング実習 I 05 関数 (1) 人間システム工学科井村誠孝 m.imura@kwansei.ac.jp 関数とは p.162 数学的には入力に対して出力が決まるもの C 言語では入出力が定まったひとまとまりの処理 入力や出力はあるときもないときもある main() も関数の一種 何かの仕事をこなしてくれる魔法のブラックボックス 例 : printf() 関数中で行われている処理の詳細を使う側は知らないが,

More information

OS

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

More information

Microsoft PowerPoint - OS12.pptx

Microsoft PowerPoint - OS12.pptx 主記憶と 次記憶 オペレーティングシステム 第 回仮想記憶管理 () htt://www.info.kindai.ac.j/os 8 号館 階 N- 内線 559 takasi-i@info.kindai.ac.j プロセッサ 主記憶 プログラム データ 次記憶 プログラム データ -7 秒 倍 - 秒 プロセッサは 次記憶を直接読むことはできない 使用するプログラム, データは主記憶上にコピー メモリ管理技法

More information

Operating System 仮想記憶

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

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

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

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

More information

Microsoft PowerPoint - OS12.pptx

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

More information

LUNA活用ハンドブック_CS5.5.indd

LUNA活用ハンドブック_CS5.5.indd 01 02 03 04 05 06 07 08 09 10 11 12 13 01 02 03 04 05 06 07 08 09 10 11 12 13 01 01 02 03 04 05 06 07 08 09 10 11 12 13 02 01 02 03 04 05 06 07 08 09 10 11 12 13 03 04 01 02 03 04 05 06 07 08 09 10 11

More information

slide5.pptx

slide5.pptx ソフトウェア工学入門 第 5 回コマンド作成 1 head コマンド作成 1 早速ですが 次のプログラムを head.c という名前で作成してください #include #include static void do_head(file *f, long nlines); int main(int argc, char *argv[]) { if (argc!=

More information

Microsoft PowerPoint - kougi7.ppt

Microsoft PowerPoint - kougi7.ppt C プログラミング演習 第 7 回メモリ内でのデータの配置 例題 1. 棒グラフを描く 整数の配列から, その棒グラフを表示する ループの入れ子で, 棒グラフの表示を行う ( 参考 : 第 6 回授業の例題 3) 棒グラフの1 本の棒を画面に表示する機能を持った関数を補助関数として作る #include "stdafx.h" #include void draw_bar( int

More information

プログラミング入門1

プログラミング入門1 プログラミング入門 1 第 9 回 メソッド (3) 授業の前に自己点検 以下の質問に答えられますか? メソッドの宣言とは 起動とは何ですか メソッドの宣言はどのように書きますか メソッドの宣言はどこに置きますか メソッドの起動はどのようにしますか メソッドの仮引数 実引数 戻り値とは何ですか メソッドの起動にあたって実引数はどのようにして仮引数に渡されますか 戻り値はどのように利用しますか 変数のスコープとは何ですか

More information

Windows GPO のスクリプトと Cisco NAC 相互運用性

Windows GPO のスクリプトと Cisco NAC 相互運用性 Windows GPO のスクリプトと Cisco NAC 相互運用性 目次 概要前提条件要件使用するコンポーネント表記法背景説明 GPO スクリプトに関する一般的な推奨事項 NAC セットアップに関する一般的な推奨事項設定シナリオ 1 シナリオ 2 トラブルシューティング関連情報 概要 このドキュメントでは PC の起動時 およびドメインへのユーザのログイン時の Windows GPO の設定例について説明します

More information

Microsoft PowerPoint - OS11.pptx

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

More information

Microsoft Word - A04 - Configuring Launch In Context_jp-ReviewedandCorrected a.doc

Microsoft Word - A04 - Configuring Launch In Context_jp-ReviewedandCorrected a.doc Launch in Context ( コンテキスト起動 ) の構成 執筆 :Leandro Cassa 本書では Tivoli プロセス自動化エンジンをベースにした製品において Launch In Context (LIC: コンテキスト起動 ) を構成する方法について説明します コンテキスト起動とは コンテキストが割り当てられた外部 Web サイトを起動するアクション サービスを指します 本書では

More information

情報処理演習 B8クラス

情報処理演習 B8クラス 予定スケジュール ( 全 15 回 ) 1 1. 終了 プログラミング言語の基礎 2. 終了 演算と型 3. 終了 プログラムの流れの分岐 (if 文,switch 文など ) 4. 終了 プログラムの流れの繰返し (do, while, for 文など ) 5. 終了 中間レポート1 6. 終了 配列 7. 終了 関数 8. 終了 文字列 ( 文字列の配列, 文字列の操作 ) 9. 終了 ポインタ

More information

DBMSリポジトリへの移行マニュアル

DBMSリポジトリへの移行マニュアル DBMS Repository Guide by SparxSystems Japan Enterprise Architect 日本語版 (2018/05/16 最終更新 ) 1 1. はじめに Enterprise Architect コーポレート版では 外部のデータベース管理ソフトウェア ( 以下 DBMS) 上にプロジェクトを配置することができます これにより DBMS が持つ堅牢性 安定性

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 知能制御システム学 画像処理の高速化 東北大学大学院情報科学研究科鏡慎吾 swk(at)ic.is.tohoku.ac.jp 2008.07.22 今日の内容 ビジュアルサーボのようなリアルタイム応用を考える場合, 画像処理を高速に実装することも重要となる いくつかの基本的な知識を押さえておかないと, 同じアルゴリズムを実行しているのに性能が上がらないということがしばしば生じる 今日は, あくまで普通の

More information

< B8CDD8AB B83685D>

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

More information

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

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

More information

Microsoft PowerPoint - No6note.ppt

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

More information

インテル(R) Visual Fortran コンパイラ 10.0

インテル(R) Visual Fortran コンパイラ 10.0 インテル (R) Visual Fortran コンパイラー 10.0 日本語版スペシャル エディション 入門ガイド 目次 概要インテル (R) Visual Fortran コンパイラーの設定はじめに検証用ソースファイル適切なインストールの確認コンパイラーの起動 ( コマンドライン ) コンパイル ( 最適化オプションなし ) 実行 / プログラムの検証コンパイル ( 最適化オプションあり ) 実行

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) プログラムの開始場所はいつでも main( ) メソッドから始まる 順番に実行され add( a,b) が実行される これは メソッドを呼び出す ともいう (2)add( ) メソッドに実行が移る この際 add( ) メソッド呼び出し時の a と b の値がそれぞれ add( ) メソッド

(1) プログラムの開始場所はいつでも main( ) メソッドから始まる 順番に実行され add( a,b) が実行される これは メソッドを呼び出す ともいう (2)add( ) メソッドに実行が移る この際 add( ) メソッド呼び出し時の a と b の値がそれぞれ add( ) メソッド メソッド ( 教科書第 7 章 p.221~p.239) ここまでには文字列を表示する System.out.print() やキーボードから整数を入力する stdin.nextint() などを用いてプログラムを作成してきた これらはメソッドと呼ばれるプログラムを構成する部品である メソッドとは Java や C++ などのオブジェクト指向プログラミング言語で利用されている概念であり 他の言語での関数やサブルーチンに相当するが

More information

Microsoft PowerPoint - kougi6.ppt

Microsoft PowerPoint - kougi6.ppt C プログラミング演習 第 6 回ファイル処理と配列 1 ファイル処理 2 ファイル読み込み ファイル プログラム ファイルの中身は変わらない 3 ファイル書き出し ファイル プログラム ファイルの中身が変わる ファイルは伸び縮みすることがある 4 例題 1. テキストファイル形式の ファイルからのデータ読み込み 次のような名簿ファイル ( テキストファイル形式 ) を読み込んで,1 列目の氏名と,3

More information

Prog1_10th

Prog1_10th 2014 年 6 月 19 日 ( 木 ) 実施 例外処理 Java 言語では, 作成したプログラムを実行する際に, 記述した処理が想定しない事態によって実行できなくなる場合を例外と呼び, その例外への対処, 即ち例外処理が求められる 例外処理を行うための try 文の一般形は次のようになる 例外を発生させる可能性のある処理 catch( 例外のクラス名 1 変数 1 ) 例外に対処する処理 1 catch(

More information

論理と計算(2)

論理と計算(2) 情報科学概論 Ⅰ アルゴリズムと計算量 亀山幸義 http://logic.cs.tsukuba.ac.jp/~kam 亀山担当分の話題 アルゴリズムと計算量 Fibonacci 数列の計算を例にとり アルゴリズムと計算量とは何か 具体的に学ぶ 良いアルゴリズムの設計例として 整列 ( ソーティング ) のアルゴリズムを学ぶ 2 Fibonacci 数 () Fibonacci 数 (2) = if

More information

2006年10月5日(木)実施

2006年10月5日(木)実施 2010 年 7 月 2 日 ( 金 ) 実施 ファイル処理ファイルとはファイル (file) は日常用語では紙などを綴じたものを表すが, コンピュータ用語ではデータの集合体を指す言葉である ファイルは例えば, 文書ファイルやプログラムファイルのように, 用途によって分類されることもあれば, また, テキストファイルやバイナリファイルのように, ファイルの作り方によって分類されることもある なお,

More information

Prog1_12th

Prog1_12th 2013 年 7 月 4 日 ( 木 ) 実施 ファイル処理ファイルとはファイル (file) は日常用語では紙などを綴じたものを表すが, コンピュータ用語ではデータの集合体を指す言葉である ファイルは例えば, 文書ファイルやプログラムファイルのように, 用途によって分類されることもあれば, また, テキストファイルやバイナリファイルのように, ファイルの作り方によって分類されることもある なお,

More information

Sort-of-List-Map(A)

Sort-of-List-Map(A) Java オブジェクト集合のソートとラムダ式の初歩 山本富士男 2016-4-23 この資料は Java での コレクション Coections と ジェネリクス Generics に関してさらに深く学ぶためのものです 以下の事項を学びます レポート課題が 5 ページの末尾にあります 名称のない内部クラスである 匿名クラス を使う 一般のオブジェクトの集合 (List や Map など ) を何らかの基準でソートする

More information

Si 知識情報処理

Si 知識情報処理 242311 Si, 285301 MS 第 12 回 竹平真則 takemasa@auecc.aichi-edu.ac.jp 2015/12/21 1 本日の内容 1. 先週のおさらい 2. PHP のスクリプトを実際に動かしてみる 3. RDB についての説明 2015/12/21 2 資料の URL http://peacenet.info/m2is 2015/12/21 3 注意事項 ( その

More information

メソッドのまとめ

メソッドのまとめ 配列 (2) 2 次元配列, String http://jv2005.cis.k.hosei.c.jp/ 授業の前に自己点検 配列変数に格納される配列の ID と配列の実体の区別ができていますか 配列変数の宣言と配列の実体の生成の区別ができていますか メソッドの引数に配列が渡されるとき 実際に渡されるものは何ですか このことの重要な帰結は何ですか 引数の値渡しと参照渡しということばを例を挙げて説明できますか

More information

本文ALL.indd

本文ALL.indd Intel Xeon プロセッサにおける Cache Coherency 時間の性能測定方法河辺峻田口成美古谷英祐 Intel Xeon プロセッサにおける Cache Coherency 時間の性能測定方法 Performance Measurement Method of Cache Coherency Effects on an Intel Xeon Processor System 河辺峻田口成美古谷英祐

More information

メソッドのまとめ

メソッドのまとめ メソッド (4) 擬似コードテスト技法 http://java.cis.k.hosei.ac.jp/ 授業の前に自己点検以下のことがらを友達に説明できますか? メソッドの宣言とは 起動とは何ですか メソッドの宣言はどのように書きますか メソッドの宣言はどこに置きますか メソッドの起動はどのようにしますか メソッドの仮引数 実引数 戻り値とは何ですか メソッドの起動にあたって実引数はどのようにして仮引数に渡されますか

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

(2) 構造体変数の宣言 文法は次のとおり. struct 構造体タグ名構造体変数名 ; (1) と (2) は同時に行える. struct 構造体タグ名 { データ型変数 1; データ型変数 2;... 構造体変数名 ; 例 : struct STUDENT{ stdata; int id; do

(2) 構造体変数の宣言 文法は次のとおり. struct 構造体タグ名構造体変数名 ; (1) と (2) は同時に行える. struct 構造体タグ名 { データ型変数 1; データ型変数 2;... 構造体変数名 ; 例 : struct STUDENT{ stdata; int id; do 8 構造体と供用体 ( 教科書 P.71) 構造体は様々なデータ型,int 型,float 型や char 型などが混在したデータを一つのまとまり, 単位として扱える.( 配列は一つのデータ型しか扱えない.) 構造体は柔軟なデータ構造を扱えるので, プログラムを効率よく開発できる. つまり構造体を使用すると, コード量を抑え, バグを少なくし, 開発時間を短くし, 簡潔なプログラムが作れる. 共用体は,

More information

Microsoft PowerPoint - arc5

Microsoft PowerPoint - arc5 工学部講義 (5) 坂井 修一 東京大学大学院情報理工学系研究科電子情報学専攻東京大学工学部電子情報工学科 / 電気電子工学科 はじめに キャッシュ はじめに 本講義の目的 の基本を学ぶ 時間場所 火曜日 8:40-10:10 工学部 2 号館 241 ホームページ ( ダウンロード可能 ) url: http://www.mtl.t.u-tokyo.ac.jp/~sakai/hard/ 教科書 坂井修一

More information

hard5.pptx

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

More information

Microsoft PowerPoint - 11_4-4-5pagerepl.pptx

Microsoft PowerPoint - 11_4-4-5pagerepl.pptx オペレーティングシステム 11 4.4 ページ置き換えアルゴリズム 4.5 ページ置き換えアルゴリズムのモデル化 前提 一度でも書き込みがあると修正 (modified,dirty) ビットを 1 にする リセットされない 参照されると参照ビットを 1 にする 定期的に 又はページフォルト時に OS への割込みが起こり 参照ビットは に戻される Operating System 216 4.4 Page

More information

Microsoft PowerPoint Java基本技術PrintOut.ppt [互換モード]

Microsoft PowerPoint Java基本技術PrintOut.ppt [互換モード] 第 3 回 Java 基本技術講義 クラス構造と生成 33 クラスの概念 前回の基本文法でも少し出てきたが, オブジェクト指向プログラミングは という概念をうまく活用した手法である. C 言語で言う関数に似ている オブジェクト指向プログラミングはこれら状態と振る舞いを持つオブジェクトの概念をソフトウェア開発の中に適用し 様々な機能を実現する クラス= = いろんなプログラムで使いまわせる 34 クラスの概念

More information

Microsoft Word - Javacc.docx

Microsoft Word - Javacc.docx JavaCC 実習レポート課題について以下の実習のために コンパイラのページ http://www.info.kindai.ac.jp/compiler/ から javacc.zip をダウンロードしてください javacc.zip は以下のファイルから成ります javacc/ sample0.k, sample1.k, samplell2.k : k 言語の例プログラム sample0.asm,

More information

Microsoft Word MT4-23_インストール公開編).doc

Microsoft Word MT4-23_インストール公開編).doc Movable Type( オープンソース ) と無料テンプレートを利用して作成するホームページ構築方法 2008 年 12 月 25 日版 - 1 -Copyright All rights reserved (C)2008 Teana Consulting ホームページ設定の前提環境 CMS ツール Movable Type 4.23 オープンソース版 テンプレートテンプレートキング ( ファーストサーバの無料テンプレート

More information

ご利用のコンピュータを設定する方法 このラボの作業を行うには 事前設定された dcloud ラボを使用するか 自身のコンピュータをセットアップします 詳細については イベントの事前準備 [ 英語 ] とラボの設定 [ 英語 ] の両方のモジュールを参照してください Python を使用した Spar

ご利用のコンピュータを設定する方法 このラボの作業を行うには 事前設定された dcloud ラボを使用するか 自身のコンピュータをセットアップします 詳細については イベントの事前準備 [ 英語 ] とラボの設定 [ 英語 ] の両方のモジュールを参照してください Python を使用した Spar ご利用のコンピュータを設定する方法 このラボの作業を行うには 事前設定された dcloud ラボを使用するか 自身のコンピュータをセットアップします 詳細については イベントの事前準備 [ 英語 ] とラボの設定 [ 英語 ] の両方のモジュールを参照してください Python を使用した Spark API との通信 このラーニングモジュールでは Python を使用した Spark API とのインターフェイスを扱います

More information

プログラミング基礎

プログラミング基礎 C プログラミング Ⅰ 授業ガイダンス C 言語の概要プログラム作成 実行方法 授業内容について 授業目的 C 言語によるプログラミングの基礎を学ぶこと 学習内容 C 言語の基礎的な文法 入出力, 変数, 演算, 条件分岐, 繰り返し, 配列,( 関数 ) C 言語による簡単な計算処理プログラムの開発 到達目標 C 言語の基礎的な文法を理解する 簡単な計算処理プログラムを作成できるようにする 授業ガイダンス

More information

OpenAM 9.5 インストールガイド オープンソース ソリューション テクノロジ ( 株 ) 更新日 : 2013 年 7 月 19 日 リビジョン : 1.8

OpenAM 9.5 インストールガイド オープンソース ソリューション テクノロジ ( 株 ) 更新日 : 2013 年 7 月 19 日 リビジョン : 1.8 OpenAM 9.5 インストールガイド オープンソース ソリューション テクノロジ ( 株 ) 更新日 : 2013 年 7 月 19 日 リビジョン : 1.8 目次 1. はじめに 1 1.1 本文書の目的... 1 1.2 前提条件... 1 1.3 略語...1 2. 事前準備 2 2.1 ホスト名の名前解決... 2 3. Linix 版パッケージ 3 3.1 システム要件... 3 3.1.1

More information

Microsoft PowerPoint - lec10.ppt

Microsoft PowerPoint - lec10.ppt 今日の内容, とポインタの組み合わせ, 例題 1. 住所録例題 2. と関数とは. を扱う関数. 例題 3. のリスト とポインタの組み合わせ 今日の到達目標 自分で を定義する 自分で定義したについて, 配列やポインタを作成する データ型 基本データ型 char 文字 (1 文字 ) int 整数 double 浮動小数など その他のデータ型配列 データの並び ( 文字列も, 文字の並び ) ポインタ

More information

メモリ管理

メモリ管理 メモリ管理 (2) 思い出そ ~~ う 物理アドレスと論理アドレス 論理アドレス空間 アドレス変換 メモリ管理ユニット (MMU) ページ ページテーブル,TLB 保護違反, ページフォルト ページング APP CPU OS OS が提供するメモリ関連 API (1) 1. 論理アドレス空間生成 = プロセスの生成 プロセスの作成 ( プログラムの起動 ) 2. 論理的なメモリ ( 仮想メモリ )

More information

IPPO - 校内研修支援プログラム - 使用説明書 目次 項 目 ページ 1 プログラム利用の準備 この説明書の記述について プログラムの動作環境等 プログラムファイルのコピー プログラムファイルの起動 4 2 プログラムファイルの利用

IPPO - 校内研修支援プログラム - 使用説明書 目次 項 目 ページ 1 プログラム利用の準備 この説明書の記述について プログラムの動作環境等 プログラムファイルのコピー プログラムファイルの起動 4 2 プログラムファイルの利用 IPPO - 校内研修支援プログラム - 使用説明書 目次 項 目 ページ 1 プログラム利用の準備 1 1-1 この説明書の記述について 1 1-2 プログラムの動作環境等 1 1-3 プログラムファイルのコピー 1 1-4 プログラムファイルの起動 4 2 プログラムファイルの利用 5 2-1 スタート画面 5 2-2 各ボタンの説明 ( 機能概要 ) 6 3 児童 ( 生徒 ) 出席番号 氏名管理の入力

More information

NEC COBOL Enterprise Edition Developer クライアントライセンス V2.0 COBOL Enterprise Edition Developer クライアントライセンス V2.0 (1 年間保守付 ) COBOL Enterprise Edition Develo

NEC COBOL Enterprise Edition Developer クライアントライセンス V2.0 COBOL Enterprise Edition Developer クライアントライセンス V2.0 (1 年間保守付 ) COBOL Enterprise Edition Develo NEC COBOL Enterprise Edition Developer クライアントライセンス V2.0 COBOL Enterprise Edition Developer クライアントライセンス V2.0 (1 年間保守付 ) COBOL Enterprise Edition Developer クライアントライセンス V2.0 (1 年間時間延長保守付 ) セットアップカード ごあいさつ

More information

プログラミングI第10回

プログラミングI第10回 プログラミング 1 第 10 回 構造体 (3) 応用 リスト操作 この資料にあるサンプルプログラムは /home/course/prog1/public_html/2007/hw/lec/sources/ 下に置いてありますから 各自自分のディレクトリにコピーして コンパイル 実行してみてください Prog1 2007 Lec 101 Programming1 Group 19992007 データ構造

More information

PowerPoint Presentation

PowerPoint Presentation 工学部 6 7 8 9 10 組 ( 奇数学籍番号 ) 担当 : 長谷川英之 情報処理演習 第 9 回 2010 年 12 月 2 日 1 今回のメインテーマ : 関数呼び出し main 関数以外に所望の処理を行う関数 ( サブルーチン ) を定義して, その関数を main 関数の中で呼び出して仕事をさせること. これも重要な概念です. 頑張って理解して下さい. 2 #include

More information

演算増幅器

演算増幅器 ファイルこれまでにデータの入力方法として キーボードからの入力を用いてきた 構造体を習った際に実感してもらえたと思うが 入力データ量が多いときにはその作業は大変なものとなり 入力するデータを間違えた場合には最初からやり直しになる そこで今回はこれらの問題を解決するため あらかじめ入力データをテキストエディタなどで編集し ファイルとして保存したものを入力データとして用いる方法を習っていく さらにプログラムで作成したデータをファイルに出力する方法も併せて習っていく

More information

プログラミング入門1

プログラミング入門1 プログラミング入門 1 第 5 回 繰り返し (while ループ ) 授業開始前に ログオン後 不要なファイルを削除し て待機してください Java 1 第 5 回 2 参考書について 参考書は自分にあったものをぜひ手元において自習してください 授業の WEB 教材は勉強の入り口へみなさんを案内するのが目的でつくられている これで十分という訳ではない 第 1 回に紹介した本以外にも良書がたくさんある

More information

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

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

More information

Hphi実行環境導入マニュアル_v1.1.1

Hphi実行環境導入マニュアル_v1.1.1 HΦ の計算環境構築方法マニュアル 2016 年 7 月 25 日 東大物性研ソフトウェア高度化推進チーム 目次 VirtualBox を利用した HΦ の導入... 2 VirtualBox を利用した MateriAppsLive! の導入... 3 MateriAppsLive! への HΦ のインストール... 6 ISSP スパコンシステム B での HΦ の利用方法... 8 各種ファイルの置き場所...

More information

 

  Biz Box ルータ RTX1210 ファームウェアバージョンアップ手順書 - 1 - 1.1 外部メモリを使用して GUI 画面でファームウェアを更新する 市販の外部メモリ (USB メモリ /microsd カード ) に保存したファームウェアをルーターに読み込ませてファームウェアの更新を 行います FAT またはFAT32 形式でフォーマットされていない外部メモリは ルーターで使用できません

More information

FX10利用準備

FX10利用準備 π-computer(fx10) 利用準備 2018 年 3 月 14 日理化学研究所計算科学研究機構八木学 1 KOBE HPC Spring School 2018 2018/3/14 内容 本スクールの実習で利用するスーパーコンピュータ神戸大学 π-computer (FX10) について システム概要 ログイン準備 2 神戸大学 π-computer: システム概要 富士通 PRIMEHPC

More information

ソフトウェア基礎 Ⅰ Report#2 提出日 : 2009 年 8 月 11 日 所属 : 工学部情報工学科 学籍番号 : K 氏名 : 當銘孔太

ソフトウェア基礎 Ⅰ Report#2 提出日 : 2009 年 8 月 11 日 所属 : 工学部情報工学科 学籍番号 : K 氏名 : 當銘孔太 ソフトウェア基礎 Ⅰ Report#2 提出日 : 2009 年 8 月 11 日 所属 : 工学部情報工学科 学籍番号 : 095739 K 氏名 : 當銘孔太 1. UNIX における正規表現とは何か, 使い方の例を挙げて説明しなさい. 1.1 正規表現とは? 正規表現 ( 正則表現ともいう ) とは ある規則に基づいて文字列 ( 記号列 ) の集合を表す方法の 1 つです ファイル名表示で使うワイルドカードも正規表現の兄弟みたいなもの

More information

目次 1. 動作環境チェック 動作必要環境 Java のインストール Java のインストール Firebird のインストール Firebird のインストール Adobe Reader のインストール

目次 1. 動作環境チェック 動作必要環境 Java のインストール Java のインストール Firebird のインストール Firebird のインストール Adobe Reader のインストール ORCA PROJECT Linux 対応版インストールマニュアル (Version 2.0.0 対応 ) Ubuntu 10.04 Lucid 用 2.0.0 版 2013 年 3 月 8 日 目次 1. 動作環境チェック...3 1.1. 動作必要環境...3 2. Java のインストール...3 2.1. Java のインストール...3 3. Firebird のインストール...4 3.1.

More information

7 ポインタ (P.61) ポインタを使うと, メモリ上のデータを直接操作することができる. 例えばデータの変更 やコピーなどが簡単にできる. また処理が高速になる. 7.1 ポインタの概念 変数を次のように宣言すると, int num; メモリにその領域が確保される. 仮にその開始のアドレスを 1

7 ポインタ (P.61) ポインタを使うと, メモリ上のデータを直接操作することができる. 例えばデータの変更 やコピーなどが簡単にできる. また処理が高速になる. 7.1 ポインタの概念 変数を次のように宣言すると, int num; メモリにその領域が確保される. 仮にその開始のアドレスを 1 7 ポインタ (P.61) ポインタを使うと, メモリ上のデータを直接操作することができる. 例えばデータの変更 やコピーなどが簡単にできる. また処理が高速になる. 7.1 ポインタの概念 変数を次のように宣言すると, int num; メモリにその領域が確保される. 仮にその開始のアドレスを 10001 番地とすると, そこから int 型のサイズ, つまり 4 バイト分の領域が確保される.1

More information

Microsoft PowerPoint - Borland C++ Compilerの使用方法(v1.1).ppt [互換モード]

Microsoft PowerPoint - Borland C++ Compilerの使用方法(v1.1).ppt [互換モード] Borland C++ Compiler の 使用方法 解説書 (v1.1) 1 準備 (1/2) 1. スタートメニューから コントロールパネル を開いて その中に デスクトップのカスタマイズ フォルダーオプション があるので開く エクスプローラー内の ツール フォルダーオプション などからも開ける 2. 表示 タブにある 登録されている拡張子は表示しない のチェックを外して OKを押す これでファイルの拡張子が表示されるようになった

More information

改版履歴 版数 日付 内容 担当 V /2/25 初版発行 STS V //9 サポート環境の追加 STS 2

改版履歴 版数 日付 内容 担当 V /2/25 初版発行 STS V //9 サポート環境の追加 STS 2 セコムあんしんログインサービス利用者マニュアル電子証明書 +ID パスワード認証 (Windows OS) 205 年 月 9 日 セコムトラストシステムズ株式会社 改版履歴 版数 日付 内容 担当 V..00 205/2/25 初版発行 STS V..0 205//9 サポート環境の追加 STS 2 目次. はじめに... 4 2. パスワードのご利用について... 5 3. 認証情報登録画面...

More information

RTC_STM32F4 の説明 2013/10/20 STM32F4 内蔵 RTC の日付 時刻の設定および読み込みを行うプログラムです UART2( 非同期シリアル通信ポート 2) を使用して RTC の設定および読み込みを行います 無料の開発ツール Atollic TrueSTUDIO for

RTC_STM32F4 の説明 2013/10/20 STM32F4 内蔵 RTC の日付 時刻の設定および読み込みを行うプログラムです UART2( 非同期シリアル通信ポート 2) を使用して RTC の設定および読み込みを行います 無料の開発ツール Atollic TrueSTUDIO for RTC_STM32F4 の説明 2013/10/20 STM32F4 内蔵 RTC の日付 時刻の設定および読み込みを行うプログラムです UART2( 非同期シリアル通信ポート 2) を使用して RTC の設定および読み込みを行います 無料の開発ツール Atollic TrueSTUDIO for ARM Lite 4.2.0 で作成した STM32F4 Discovery 基板用のプロジェクトです

More information

PowerPoint Presentation

PowerPoint Presentation マイコンシステム 第 12 回 青森大学ソフトウェア情報学部 橋本恭能 haship@aomori-u.ac.jp 目次 講義 内部設計 3 Deviceタブ Actionタブの関数実装 例題 定義した機能を実現する方法を検討する 課題 動作確認 2 講義 内部設計 3 残りの関数を実装 3 組込みシステム開発 週テーマ内容 7 キッチンタイマーの組立キッチンタイマーのハードを製作 確認 8 9 10

More information

SLAMD導入手順

SLAMD導入手順 SLAMD 導入手順 2007 年 5 月 日本 LDAP ユーザ会 関口薫 目次 1 はじめに...1 1.1 目的...1 1.2 SLAMD とは...1 1.3 ソフトウェア環境...2 2 LDAP サーバのインストール 設定...2 2.1 SLAMD の設定...2 2.2 OpenLDAP の設定...3 3 SLAMD サーバのインストール 設定...3 3.1 JDK のインストール...3

More information

ガイダンス

ガイダンス 情報科学 B 第 2 回変数 1 今日やること Java プログラムの書き方 変数とは何か? 2 Java プログラムの書き方 3 作業手順 Java 言語を用いてソースコードを記述する (Cpad エディタを使用 ) コンパイル (Cpad エディタを使用 ) 実行 (Cpad エディタを使用 ) エラーが出たらどうしたらよいか??? 4 書き方 これから作成する Hello.java 命令文 メソッドブロック

More information

システムLSIとアーキテクチャ技術  (part II:オンチップ並列            アーキテクチャ)

システムLSIとアーキテクチャ技術  (part II:オンチップ並列            アーキテクチャ) コンピュータ基礎記憶階層とキャッシュその2 テキスト第 10 章 天野英晴 hunga@am.ics.keio.ac.jp 記憶システム 膨大な容量を持ち アクセス時間 ( 読み出し 書き込み ) が短いメモリが欲しい! しかし 容量の大きい ( ビット単価が安い ) メモリは遅い 高速なメモリは容量が小さいお金にモノを言わせて高速なメモリをたくさん揃えても大容量化の段階で遅くなってしまう そこでアクセスの局所性

More information

論理と計算(2)

論理と計算(2) 情報科学概論 Ⅰ アルゴリズムと計算 亀山幸義 http://logic.cs.tsukuba.ac.jp/~kam 計算とは? コンピュータが計算できることは? 1 2 関数 = 計算? NO 部分関数と計算 入力 1 入力 2 関数 出力 入力 1 入力 2 部分関数 出力 停止しない 入力 1 入力 2 コンピュータ 止まらないことがある出力 3 入力 1 入力 2 コンピュータ 出力 停止しない

More information

定 義 アクセス 要 求 を 発 行 する 機 構 と,その 供 給 に 応 える 機 構 との 中 間 に 位 置 し,すべての 要 求 を 検 知 して 処 理 するよう 構 築 される. キャッシュは 選 択 されたデータの 局 所 的 なコピーを 保 持 し, 可 能 な 場 合 にはアクセ

定 義 アクセス 要 求 を 発 行 する 機 構 と,その 供 給 に 応 える 機 構 との 中 間 に 位 置 し,すべての 要 求 を 検 知 して 処 理 するよう 構 築 される. キャッシュは 選 択 されたデータの 局 所 的 なコピーを 保 持 し, 可 能 な 場 合 にはアクセ キャッシュとキャッシュ 技 術 71 定 義 アクセス 要 求 を 発 行 する 機 構 と,その 供 給 に 応 える 機 構 との 中 間 に 位 置 し,すべての 要 求 を 検 知 して 処 理 するよう 構 築 される. キャッシュは 選 択 されたデータの 局 所 的 なコピーを 保 持 し, 可 能 な 場 合 にはアクセス 要 求 にこたえる. 通 常 のメモリ 機 構 より 高 速

More information

改版履歴 版数 日付 内容 担当 V /3/9 初版発行 STS V /5/4 エラー画面の削除 STS V //3 サポート環境の追加 サポート環境の説明文章の STS 修正 画面修正 V /2/25 サポート環境変更 STS V

改版履歴 版数 日付 内容 担当 V /3/9 初版発行 STS V /5/4 エラー画面の削除 STS V //3 サポート環境の追加 サポート環境の説明文章の STS 修正 画面修正 V /2/25 サポート環境変更 STS V セコムあんしんログインサービス 利用者マニュアル _ ワンタイムパスワード認証 (Windows OS) 205 年 月 9 日 セコムトラストシステムズ株式会社 i 改版履歴 版数 日付 内容 担当 V..00 203/3/9 初版発行 STS V..0 203/5/4 エラー画面の削除 STS V..20 204//3 サポート環境の追加 サポート環境の説明文章の STS 修正 画面修正 V..30

More information

プレポスト【解説】

プレポスト【解説】 コース名 : シェルの機能とプログラミング ~UNIX/Linux の効率的使用を目指して ~ 1 UNIX および Linux の主な構成要素は シェル コマンド カーネルです プロセスとは コマンドやプログラムを実行する単位のことなので プロセスに関する記述は誤りです UNIX および Linux のユーザーインターフェースは シェル です コマンドを解釈するという機能から コマンドインタープリタであるともいえます

More information

ULTRA DRIVE とは インターネット上 ( クラウド ) に大切なデータを保存することができる便利なアプリケ ーション ( オンラインストレージ ) です 本資料について ULTRA DRIVE サービスは マイナーバージョンアップ等もあるため 実際のクライア ントと本資料に差分が発生する場

ULTRA DRIVE とは インターネット上 ( クラウド ) に大切なデータを保存することができる便利なアプリケ ーション ( オンラインストレージ ) です 本資料について ULTRA DRIVE サービスは マイナーバージョンアップ等もあるため 実際のクライア ントと本資料に差分が発生する場 ULTRA DRIVE (Web ブラウザ版 ) ユーザガイド Last update 2017.07.25 Ver.2.0.4 1 ULTRA DRIVE とは インターネット上 ( クラウド ) に大切なデータを保存することができる便利なアプリケ ーション ( オンラインストレージ ) です 本資料について ULTRA DRIVE サービスは マイナーバージョンアップ等もあるため 実際のクライア

More information

NS-Draw Ver

NS-Draw Ver 第 2 章インストール 本章では コンピュータへの NS-Draw のインストール方法について解説します 次の STEP1~3の順番で説明を進めていきます 2.1 インストール 2.2 ライセンスの確認 2.3 回路シミュレーションの実行までの確認 2.1 インストールインストーラのメニューに従って インストール作業を行ってください インストール先を c:\program Files にすると Windows

More information

memo

memo 計数工学プログラミング演習 ( 第 4 回 ) 2016/05/10 DEPARTMENT OF MATHEMATICA INFORMATICS 1 内容 リスト 疎行列 2 連結リスト (inked ists) オブジェクトをある線形順序に並べて格納するデータ構造 単方向連結リスト (signly linked list) の要素 x キーフィールド key ポインタフィールド next x->next:

More information

人工知能入門

人工知能入門 藤田悟 黄潤和 探索とは 探索問題 探索解の性質 探索空間の構造 探索木 探索グラフ 探索順序 深さ優先探索 幅優先探索 探索プログラムの作成 バックトラック 深さ優先探索 幅優先探索 n 個の ueen を n n のマスの中に 縦横斜めに重ならないように配置する 簡単化のために 4-ueen を考える 正解 全状態の探索プログラム 全ての最終状態を生成した後に 最終状態が解であるかどうかを判定する

More information

MMUなしプロセッサ用Linuxの共有ライブラリ機構

MMUなしプロセッサ用Linuxの共有ライブラリ機構 MMU なしプロセッサ用 Linux の共有ライブラリ機構 大谷浩司 高岡正 近藤政雄 臼田尚志株式会社アックス はじめに μclinux には 仮想メモリ機構がないので共有ライブラリ機構が使えない でもメモリ消費抑制 ストレージ消費抑制 保守性の向上のためには 欲しい 幾つかの実装があるが CPU ライセンス 機能の制限のためにそのまま利用できない RidgeRun 社 (Cadenux 社 )

More information

数量的アプローチ 年 6 月 11 日 イントロダクション データ分析をマスターする 12 のレッスン ウェブサポートページ ( 有斐閣 ) 水落研究室 R http:

数量的アプローチ 年 6 月 11 日 イントロダクション データ分析をマスターする 12 のレッスン ウェブサポートページ ( 有斐閣 )   水落研究室 R http: イントロダクション データ分析をマスターする 12 のレッスン ウェブサポートページ ( 有斐閣 ) http://yuhikaku-nibu.txt-nifty.com/blog/2017/09/22103.html 水落研究室 R http://depts.nanzan-u.ac.jp/ugrad/ps/mizuochi/r.html 1 この授業では統計ソフト R を使って分析を行います データを扱うソフトとして

More information

Microsoft PowerPoint - InfPro_I6.pptx

Microsoft PowerPoint - InfPro_I6.pptx 今日の学習内容 ファイルとディレクトリ ( 続 )(pp.34-36) 色々なUNIXのコマンド (pp.203-209) 今日の基礎教養セミナ講演会 Yahooの坂本さん 3コマ (13:10~) A204 ディレクトリ ( 復習 ) UNIXファイルシステムにはファイルとディレクトリがあり ツリー状の階層型構造をしている ツリー構造の頂点 ( ツリー構造の根の部分 ) 一番上の唯一のディレクトリをルートディレクトリと呼ぶ

More information

1. USB の VCP( 仮想 COM ポート ) について USB の VCP( 仮想 COM ポート ) は USB を非同期シリアル通信として使用するための USB のドライバです PC には VCP ドライバをインストールする必要があります USB の VCP( 仮想 COM ポート )

1. USB の VCP( 仮想 COM ポート ) について USB の VCP( 仮想 COM ポート ) は USB を非同期シリアル通信として使用するための USB のドライバです PC には VCP ドライバをインストールする必要があります USB の VCP( 仮想 COM ポート ) TrueSTUDIO 用 F4D_VCP の説明 V001 2014/07/05 USB の VCP( 仮想 COM ポート ) による非同期シリアル通信を行うプログラムです 無料の試用版開発ツール Atollic TrueSTUDIO for ARM Lite で作成したプロジェクトです ビルド可能なプログラムのコードサイズが 32Kbyte 以内の制限があります プログラムの開始番地は 0x08000000

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

プログラム言語及び演習Ⅲ

プログラム言語及び演習Ⅲ 平成 28 年度後期データ構造とアルゴリズム期末テスト 各問題中のアルゴリズムを表すプログラムは, 変数の宣言が省略されているなど, 完全なものではありませんが, 適宜, 常識的な解釈をしてください. 疑問があれば, 挙手をして質問してください. 時間計算量をオーダ記法で表せという問題では, 入力サイズ n を無限大に近づけた場合の漸近的な時間計算量を表せということだと考えてください. 問題 1 入力サイズが

More information

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

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

More information

Microsoft PowerPoint - exp2-02_intro.ppt [互換モード]

Microsoft PowerPoint - exp2-02_intro.ppt [互換モード] 情報工学実験 II 実験 2 アルゴリズム ( リスト構造とハッシュ ) 実験を始める前に... C 言語を復習しよう 0. プログラム書ける? 1. アドレスとポインタ 2. 構造体 3. 構造体とポインタ 0. プログラム書ける? 講義を聴いているだけで OK? 言語の要素技術を覚えれば OK? 目的のプログラム? 要素技術 データ型 配列 文字列 関数 オブジェクト クラス ポインタ 2 0.

More information

Rational Roseモデルの移行 マニュアル

Rational Roseモデルの移行 マニュアル Model conversion from Rational Rose by SparxSystems Japan Rational Rose モデルの移行マニュアル (2012/1/12 最終更新 ) 1. はじめに このガイドでは 既に Rational( 現 IBM) Rose ( 以下 Rose と表記します ) で作成された UML モデルを Enterprise Architect で利用するための作業ガイドです

More information