x 86 ISACPU Pentium MMX 486 Pentium VI

  • Slides: 28
Download presentation

様々x 86 ISAのCPU Pentium MMX 486 Pentium VI Pentium III AMD Opteron 11

様々x 86 ISAのCPU Pentium MMX 486 Pentium VI Pentium III AMD Opteron 11

今後の予定 • • 性能の役割 Performance issues (2) 命令: マシンの言葉 A specific instruction set architecture

今後の予定 • • 性能の役割 Performance issues (2) 命令: マシンの言葉 A specific instruction set architecture (3) コンピュータにおける演算とALU Arithmetic and how to build an ALU (4) 命令をいかに実行する? プロセッサ Constructing a processor to execute our instructions (5) パイプラインを用いた性能向上 Pipelining to improve performance (6) メモリ: キャッシュと仮想メモリ Memory: caches and virtual memory (7) 入出力 I/O (8) 参考書 Patterson and Hennesy Computer Organization and Design: The Hardware/Software Interface Morgan Kaufmann Publishers, 1997 (コンピュータの構成と設計(上下)第二版、成田(訳)、日経BP社) 12

最初の例 • どのようにコードが対応するか? swap(int v[], int k); { int temp; temp = v[k] =

最初の例 • どのようにコードが対応するか? swap(int v[], int k); { int temp; temp = v[k] = v[k+1]; v[k+1] = temp; } k → $5 v → $4 temp → $15 $2は? swap: muli $2, $5, 4 add $2, $4, $2 lw $15, 0($2) lw $16, 4($2) sw $16, 0($2) sw $15, 4($2) jr $31 20

Control (続き) • MIPS 無条件分岐命令: j label • 例 if--then--else: if (i!=j) h=i+j; else

Control (続き) • MIPS 無条件分岐命令: j label • 例 if--then--else: if (i!=j) h=i+j; else h=i-j; • Q: While文はどのように? while (i!=j) i=i+j; beq $s 4, $s 5, Lab 1 add $s 3, $s 4, $s 5 j Lab 2 Lab 1: sub $s 3, $s 4, $s 5 Lab 2: . . . Lab 1: beq $s 4, $s 5, Lab 2 add $s 4, $s 5 j Lab 1 Lab 2: . . . 26

今まで学んだこと: • • Instruction Meaning add $s 1, $s 2, $s 3 sub $s

今まで学んだこと: • • Instruction Meaning add $s 1, $s 2, $s 3 sub $s 1, $s 2, $s 3 lw $s 1, 100($s 2) sw $s 1, 100($s 2) bne $s 4, $s 5, L beq $s 4, $s 5, L j Label $s 1 = $s 2 + $s 3 $s 1 = $s 2 – $s 3 $s 1 = Memory[$s 2+100] = $s 1 もし $s 4 != $s 5ならば次の命令は Label もし $s 4 = $s 5ならば次の命令は Label 命令形式: R op rs rt rd I op rs rt 16 bit address J op shamt funct 26 bit address 28