Comments
Description
Transcript
第 13 回 - 情報メディア学科演習室
本日の内容 コンピュータアーキテクチャと 機械語演習 z 入出力制御 RAIDによるディスクの高速化・高信頼化 機器アドレス,データ転送,制御と同期 z 浮動小数点数 3年次前期 (第13回) 表現範囲,IEEE754準拠,単精度と倍精度 z 情報処理技術者試験 基本情報技術者試験とその問題 中島 克人 情報メディア学科 [email protected] 1 入出力制御(ディスクの高速化) z RAIDによるディスクの高速化・高信頼化 ディスクキャッシュ z – ディスクの内容の一部を主記憶上にキャッシュ z 2 RAID 0 – ブロック単位のストライピング – 冗長ディスクなし(故障検出不可) ディスクアレイ – RAID(Redundant Array of Inexpensive Disks)によるデータ・ストライピ ングでバンド幅を増強(信頼性も向上) 項目 ストライピング z RAID 1 – ミラーリング(単純二重化) 制御装置 制御装置 RAID 0 RAID 1 RAID 2 RAID 3 RAID 4 RAID 5 RAID 6 有 ストライピング単位 ブロック 無 - 有 有 ビット ビット (バイト) 有 有 data 0 data 1 data 2 data 3 data 4 data 5 data 6 data 7 data 8 data 9 data 10 data 11 パリティ +別コード data 12 data 13 data 14 data 15 Disk 1 Disk 2 Disk 3 Disk 4 有 ブロック ブロック ブロック データ復元 - ミラー ハミング パリティ パリティ パリティ 冗長ディスク - 固定 固定 固定 固定 分散 分散 故障検出 - 固有 ハミング 固有 固有 固有 固有 一般的 → ○ ○ ○ ○ △ RAIDの種類 RAID 0 3 data 0 data 1 data 0 data 1 Disk 1 Disk 2 Disk 3 Disk 4 RAID 1 4 RAIDによるディスクの高速化・高信頼化 z RAID 0+RAID1 z – RAID 0 同士をミラーリング RAID 1+RAID0 制御装置 RAID 1 (ミラーリング) RAID 0 (ストライピング) 制御装置 制御装置 data 0 data 1 data 0 data 0 data 1 data 1 data 2 data 3 data 2 data 3 data 2 data 2 data 3 data 3 data 4 data 5 data 4 data 5 data 4 data 4 data 5 data 5 data 6 data 7 data 6 data 7 data 6 data 6 data 7 data 7 Disk 1 Disk 2 Disk 3 Disk 4 Disk 1 Disk 2 Disk 3 Disk 4 RAID 1 (ミラーリング) – ビット(バイト)単位のストライピ ング – 固定のパリティディスク 制御装置 data 1 RAID 0 (ストライピング) RAID 5 z – ブロック単位のストライピング – パリティは複数ディスクに分散 制御装置 data 0 RAID 0 (ストライピング) RAID 3 z – RAID 1 同士をストライピング 制御装置 制御装置 RAIDによるディスクの高速化・高信頼化 制御装置 bit 0 bit 4 bit 8 bit 12 bit 1 bit 5 bit 9 bit 13 bit 2 bit 6 bit 10 bit 14 bit 3 bit 7 bit 11 bit 15 parity parity parity parity bit 0 bit 4 bit 1 bit 5 bit 2 bit 6 bit 3 bit 7 parity parity Disk 1 Disk 2 Disk 3 Disk 4 Disk 5 parity 0 data 0 data 1 data 2 data 3 parity 1 data 4 data 5 data 6 data 7 parity 3 data 8 data 9 data 10 data 11 parity 4 Disk 1 Disk 2 Disk 3 Disk 4 RAID 3 RAID 5 RAID 1 (ミラーリング) 5 入出力制御 RAIDによるディスクの高速化・高信頼化 z RAID 6 z – ブロック単位のストライピング – 複数の冗長コード(パリティとそ れ以外)を複数ディスクに分散 し,2台の耐故障性 制御装置 data 0 data 1 data 2 p0 q0 data 3 data 4 p1 q1 data 5 data 6 p2 q2 data 7 data 8 p3 q3 data 9 data 10 data 11 6 その他の組合せ z RAID 5/6 + RAID 0 (高速化) RAID 0 + RAID 5/6 (高速化) RAID 5/6 + RAID 1 (高信頼化) RAID 1 + RAID 5/6 (高信頼化) RAID 5 + RAID 6 (高信頼化) RAID 6 + RAID 5 (高信頼化) ... 入出力機器のアドレッシング – ポートマップドI/O vs. メモリマップドI/O z 動作の指示 – リード(I/O機器から)、ライト、 コントロール(CPU→機器)、センス(機器→CPU) z データ転送制御 – CPU vs. 専用プロセッサ(チャネル) z 同期 – polling vs. 割込み vs. DMA(Direct Memory Access) Disk 1 Disk 2 Disk 3 Disk 4 Disk 5 RAID 6 7 8 入出力制御(機器アドレス) 入出力制御(データ転送) 入出力機器 z ポートマップドI/O – それぞれのバス上で一意に決まる機 器アドレスを付与して区別 – IN命令,OUT命令でI/Oを行う – x86 等 z 入出力機器 入出力機器 制御装置 制御装置 z ポートマップドI/O バス – 簡便なシステム向き – MIPS, POWER 等 入出力バス ② ③ 入出力機器 入出力機器 MDR 通常の 主記憶 (メモリ) プロセッサ z 主記憶 プロセッサ • アドレス指定 主記憶 ①:入力動作(ハードウェア) ②:データ移動命令 • 上記①~④(プログラム制御)を代行するコプロセッサ チャネル制御と称する 10 入出力制御(例) z InfiniBand – – – – – – USB HUB z 高信頼性・高速のサーバ/クラスタ用高速入出力バス 低遅延(1μs~)のpoint-to-point 双方向シリアル接続 RDMA (Remote Direct Memory Access) をサポート プロセッサ間やHDD等の接続に利用 複数束ねてバンド幅を向上できる 2 ~168 Gbps (将来~9Tbps) コネクタ ネットワークのトポロジ プロセッサ 論理的トポロジ プロセッサ ホスト 主記憶 論理デバイス 論理デバイス 主記憶 11 HCA HCA スイッチ TCA 論理デバイス 論理デバイス 論理デバイス HCA プロセッサ デバイス デバイス デバイス プロセッサ チャネル・コントローラ アドレス空間 ハブ デバイス 主記憶 ①:入力動作(ハードウェア) ②:入力命令 ③, ④:データ移動命令 メモリ・入出力 I/Oアドレス ホスト・ コントローラ ルート・ハブ ④ 制御装置 制御装置 共通バス USBのバス・トポロジ ハブ メモリ・入出力 レジスタ – 特長:バスパワー(ホストからの電源供給), USBコネクタ(A端子とB端子) プラグ&プレイ(繋ぐだけで動作する) – 最大127台まで – HSモード ~480Mbps(USB2.0) – SSモード ~5Gbps(USB3.0) ハブ ② 入出力バス メモリバス USB(Universal Serial Bus) デバイス 制御装置 共通バス メモリバス 入出力制御(例) 物理的トポロジ データバッファレジスタ 制御装置 9 z ① データバッファレジスタ プロセッサ – (少なくとも論理的に)入出力機器 がメモリバスに接続される – アドレス空間の一部をI/O用とし、 そこへの読み書きで入出力の動 作を指示 – 通常のメモリアクセス命令( load/storeなど)でI/Oができる z 入出力機器 ① 主記憶 メモリマップドI/O メモリマップドI/O 入出力機器 チャネル 入出力バス z (プログラム制御の場合) 制御装置 HDD スイッチ 主記憶 ルータ TCA HDD InfiniBand Ethernet 大規模クラスタ (Harvard大学 ) HCA:Host Channel Adapter TCA:Target Channel Adapter 12 入出力制御(制御と同期) z 浮動小数点数 プログラム制御 vs. チャネル制御 – CPUが逐一指示するか、チャネルプロセッサに任すか z z 限られたビット数で大きな値域を表現 polling vs. 割込み vs. DMA – pollingは低コストだが、高速処理に向かず多重処理も不可 – 割込みベースのプログラム制御は低コストだが 100KB/s 程度までの低 速入出力向け z z 単精度浮動小数点数(32ビット)と 倍精度浮動小数点数(64ビット) DMA(直接メモリアクセス)入出力 – 入出力機器と主記憶とのデータ受け渡しはDMAコントローラに任せる → 終了時のみ CPUに割込み – 主記憶アクセスは CPUを優先させるため、DMAコントローラ内にバッフ ァを設ける z RDMA(遠隔直接メモリアクセス)入出力 – ネットワーク経由で他のプロセッサの主記憶と直接データ受け渡し 13 データの計算機内部表現 2進数整数の表現可能範囲 z 2の補数表現時のNビット整数の表現範囲と 演算結果のoverflow範囲 - 2N - 1 0 14 z 少ないビット数で大きな数を表現したい 例: 8ビット符号なし整数 → 0 ~ 255 では不十分なとき → 浮動小数点数 (=実数表現) 2N - 1 -1 N overflow 左4ビットをN,右4ビットをK として N × 2 K → 0 ~ 15×2 15 overflow N ビット での表現可能範囲 z K 32ビット計算機(N=32)でも,整数は -4G~+4G 2012年度国家予算(一般会計) 総額90兆円 = 90,000G円 が表現できない! 15 (正確に)表現出来ない数がある 例:31 (10進数) = 11111 (2進数) 即ち,精度を犠牲にして表現範囲を広げた 16 演習:浮動小数点数の表現範囲 浮動小数点数 z COMET Ⅱには無いが,大抵のプロセッサには有る z 左4ビットを N,右4ビットを K として N × 2 K 仮数部 ×2 N z z K 指数部 符号 仮数部 S N 符号 仮数部 12 ビット S N → 0 ~ 15×215 K z 指数部 ×2 15 → -7×2 ~ 7×2 符号 仮数部 12 ビット S N 15 演習:小数点数の2進数表現 解答: 0.510=1/2 =1×2 z → -4095×27-4 z 指数部 「ゲタ」 ~ +4095×27-4 18 次の形式の16ビットの浮動小数点数の10進数値は? 符号 仮数部 12 ビット 0 000000000001×2 =( 0.1 )2 ( 000 - 4 ) 指数部 「ゲタ」 解答: =+1×20-4 = 1/16 = 0.0625 10進数の6.75は(小数点付き)2進数ではどう表す? 解答: 6.7510=6 +1/2 +1/4 z =6 +1×2-1 +1×2-2 =(110)2 +(0.1)2 +( 0.01 ×2 ( K -4) 演習:浮動小数点数の表現範囲 10進数の4は2進数では 410=1×22 なので(100)2 と 表す.では,10進数の0.5は(小数点付き)2進数では どう表す? -1 ×2 指数部 3 ビット 同じビット数で小数点数を表現するには? 17 z K → - 4095 ×27 ~ + 4095 ×27 ⇒ Nの左端ビットをS(符号)に 負数の表現は? 次の形式を持つ16ビットの浮動小数点数の表現範囲 は? 16ビットで表現すると, 符号 指数部 )2 =( 110.11 )2 仮数部 0000000000000001 19 20 浮動小数点数の表現範囲 z 浮動小数点数の表現範囲 (IEEE754準拠浮動小数点数) 同形式の下で,下記は全て同じ値である 符号 指数部 z 単精度(32ビット) 仮数部 0111000000101100 符号 指数部 仮数部を2倍し, 指数部を-1する 仮数部 1 8 bits 23 bits S 指数部 仮数部 隠しビット 小数点以下 値=(-1)S×(1+仮数部)×2(指数部-ゲタ) (ゲタ=127→指数値=-127~+128) 0110000001011000 符号 指数部 z 倍精度(64ビット) 仮数部を32倍し, 指数部を-5する 仮数部 0001101100001100 実際にはもう1ビット左に寄せて 1.X…X の形にする 仮数部の最上位の 1を左端に寄せる事を 正規化という 1 21 22 浮動小数点数の加減算 z 手順 (1)指数部の差に応じて仮数部を(シフトして)合せる (2)符号に応じて仮数部を加減算する (3)結果を正規化し、仮数部を丸める (4)overflow/underflowを判定する z 例: 0.10002×24 - 0.10102×23 ハードウェア 次の記述中の に入れる正しい答えを、解答群の中から選べ。 10進数の45.625を2進数で表すと、(101101.101)2となる。これを正規 化した指数表現にすると、(1.01101101)2×25となるので、IEEE 754の 形式で表すと、下記のとおり符号部は(0)2,指数部は指数の5に127を 加えて(10000100)2となり、仮数部は整数部分を省略するので、 (011011010…0)2となる。 符号 指数部 指数部 (ゲタ=1023→指数値=-1023~+1024) 基本情報技術者試験問題(午後)から 52 bits 仮数部 値=(-1)S×(1+仮数部)×2(指数部-ゲタ) S 浮動小数点数 z 11 bits 仮数部 0.1000 ×24 - 0.1010 ×23 010000100011011010 ・・・ 0 同様の手順で、10進数の-0.75をIEEE 754の形式で表すと、符号部 は( a )2,指数部は ( b )2、仮数部の上位8けたは( c )2 となる。 解答群: ア 0 イ 1 ウ 01111110 エ 01111111 オ 10000000 カ 11000000 解答:a= ,b= ,c= 桁合せ 4 0.1000 ×2 - 0.0101 ×24 0.0011 ×24 overflow :指数値が指数部の最大表現範囲を超えた時 underflow :指数値が指数部の最小表現範囲を超えた時 23 正規化 0.1100 ×22 24 情報処理技術者試験 z 情報処理技術者試験 情報処理技術者試験 とは 試験区分 z – 「情報処理の促進に関する法律」 に基づき経済産業省が、情報処 理技術者としての「知識・技能」が一定以上の水準であることを認 定している国家試験 – 情報システムを構築・運用する「技術者」から情報システムを利用 する「エンドユーザ(利用者)」まで、ITに関係するすべての人に活 用できる試験として実施 – 情報技術の背景として知るべき原理や基礎となる技能について、 幅広い知識を総合的に評価 cf. Microsoft や Oracle(オラクル)の試験は特定の製品やソフトウ ェアに関するもの 対象:職業人が共通に備え ておくべき情報技術に関する 基礎的な知識をもち、情報 技術に携わる業務に就くか、 担当業務に対して情報技術 を活用していこうとする者 対象:高度IT人材となるため に必要な基本的知識・技能 をもち、実践的な活用能力を 身に付けた者 対象:高度IT人材となるため に必要な応用的知識・技能 をもち、高度IT人材としての 方向性を確立した者 http://www.jitec.jp/1_08gaiyou/_index_gaiyou.html 情報処理技術者試験 z http://www.jitec.jp/1_11seido/seido_gaiyo.html 25 26 情報処理技術者試験 レベル z 基本情報技術者試験 実施時期: 春期試験(4月第3日曜日)、秋期試験(10月第3日曜日) 実施要領: 採用活動時に 優位性を主張できる レベル 配点と合格基準: 情報系学科卒として 最低限求められる レベル http://www.jitec.jp/1_11seido/seido_gaiyo.html 午前と午後の両方でそれぞれ100点満点中60点以上で合格 27 http://www.jitec.jp/1_13download/youkou_ver1_7.pdf 28 基本情報技術者試験 z 基本情報技術者試験 出題範囲(午前) … 四肢択一,80問中80問解答/150分 , z : プロセッサと機械語,論理回路, コンピュータアーキテクチャ関連 http://www.jitec.jp/1_13download/youkou_ver1_7.pdf 29 基本情報技術者試験 z 出題範囲(午前) … 四肢択一,80問中80問解答/150分 30 基本情報技術者試験 出題範囲(午前) … 四肢択一,80問中80問解答/150分 http://www.jitec.jp/1_13download/youkou_ver1_7.pdf http://www.jitec.jp/1_13download/youkou_ver1_7.pdf z 31 出題範囲(午後) … 多肢択一,13問中7問解答/150分 http://www.jitec.jp/1_13download/youkou_ver1_7.pdf 32 基本情報技術者試験 z 基本情報技術者試験 出題範囲(午後) … 多肢択一,13問中7問解答/150分 z zハードウェア プロセッサ 全ての命令が5サイクルで完了するように設計されたパイプライン制 数値・文字・画像・音声の表現,処理装置,記憶装置 と媒体,入出力装置,命令実行方式,アドレス方式, システム構成 など 御のコンピュータがある。20命令を実行するには何サイクル必要とな るか。ここで、すべての命令は途中で停止することなく実行できるも のとする。 ア 20 イ 21 ウ 24 エ 25 解答: zソフトウェア開発に関すること プログラミング(C,COBOL,Java,アセンブラ言語, 表計算ソフト),テスト,デバッグ など http://www.jitec.jp/1_13download/youkou_ver1_7.pdf 平均命令実行時間が20ナノ秒のコンピュータがある。このコンピュー タの性能は何MIPSか。 ア 5 イ 10 ウ 20 解答: 34 基本情報技術者試験 問題例(午前) … 四肢択一,80問中80問解答/150分 z メモリ エ 50 33 基本情報技術者試験 z 問題例(午前) … 四肢択一,80問中80問解答/150分 問題例(午前) … 四肢択一,80問中80問解答/150分 システム構成要素 図に示す構成で、表に示すようにキャッシュメモリと主記憶のアクセ ス時間だけが異なり、ほかの条件が同じ2種類のCPU XとYがある。 あるプログラムをCPU XとYでそれぞれ実行したところ、両者の処理 時間が等しかった。このとき、キャッシュメモリのヒット率は幾らか。 ここで、CPU処理以外の影響はないものとする。 CPU キャッシュ メモリ 256kバイト 図 構成 ア 0.75 イ 0.90 ウ 0.95 ア 少なくとも2台の磁気ディスク装置を一体化してバックアップの自動 化を実現する装置である。 イ 半導体メモリを使って高速アクセス可能な磁気ディスク装置を仮想 的に実現する技術である。 表 アクセス時間 主記憶 256Mバイト RAIDに関する記述として、適切なものはどれか。 CPU X CPU Y キャッシュメモリ 40 20 主記憶 400 580 エ 0.96 ウ 複数の磁気ディスク装置を使うことによって、記憶装置の高信頼性 や高速化を実現する技術である。 エ ランダムアクセス機能をもつ磁気ディスク装置を実現する技術であ る。 解答: 解答: 35 36