没有幻灯片标题

Size: px
Start display at page:

Download "没有幻灯片标题"

Transcription

1 高等计算机系统结构 Tomasulo 算法 ( 第四讲 ) 程旭 2014 年 3 月 31 日

2 上一讲小结 软件或硬件的指令级并行 (ILP) 循环级并行最容易判定 软件并行性取决于程序, 如果硬件不能支持就出现冒险 软件相关性 / 编译器复杂性决定编译中是否能展开循环 存储器相关是最难判定的 硬件开采 ILP 动态调度 (dynamic scheduling) 在编译时有些相关情况不能真正判定, 可以简化编译器 针对某一机器产生的代码可以在另一机器上有效运行 记分板的核心思想 : 允许暂停之后的指令提前处理 ( 译码 => 发射指令 & 读取操作数 ) 允许乱序执行 => 乱序完成 ID 段检测所有的结构冒险

3 相关和冒险 Pipeline CPI = Ideal pipeline CPI + Structural stalls + Data hazard stalls + Control stalls 数据相关和冒险 数据相关 (Data dependences) 名称相关 (Name dependences) 反相关 (antidependence) 输出相关 (output dependence) 数据冒险 RAW 冒险 ( 由数据相关引起 ) WAR 冒险 ( 由反相关引起 ) WAW 冒险 ( 由输出相关引起 ) 存储器 (Memory-included) 相关和冒险 控制相关 Branch Exception and Interruption

4 Registers Functional Units 记分板体系结构 FP Mult FP Mult FP Divide FP Add Integer SCOREBOARD Memory

5 记分板控制的四级 发射 指令译码并检测结构冒险 (ID1) 按照程序的次序发射指令 ( 进行冒险检测 ) 如果存在结构冒险暂停发射 如果带发射的指令与已发射但尚未完成的指令之间存在输出相关, 则暂停发射 ( 无 WAW 冒险 ) 读操作数 等待到没有数据冒险, 再读取操作数 (ID2) 由于将等待未完成指令写回其结果, 因而在该阶段, 可解决所有的真数据相关 (RAW 冒险 ) 在该模型中, 无数据前递!

6 记分板控制的四级 ( 续一 ) 执行 对操作数进行操作 (EX) 接收到操作数之后, 功能部件开始执行 当产生结果之后, 它通报记分板 : 已经完成执行 写结果 完成执行 (WB) 暂停直到与以前的指令没有 WAR 冒险 : 示例 : DIVD F0,F2,F4 ADDD F10,F0,F8 SUBD F8,F8,F14 CDC 6600 的记分板将暂停 SUBD 指令, 直到 ADDD 指令读取了操作数

7 记分板的三个主要组成部分 1. Instruction status which of 4 steps the instruction is in 2. Functional unit status Indicates the state of the functional unit (FU). 9 fields for each functional unit Busy Indicates whether the unit is busy or not Op Operation to perform in the unit (e.g., + or ) Fi Destination register Fj, Fk Source-register numbers Qj, Qk Functional units producing source registers Fj, Fk Rj, Rk Flags indicating when Fj, Fk are ready 3. Register result status Indicates which functional unit will write each register, if one exists. Blank when no pending instructions will write that register

8 CDC 6600 的记分板 来自编译的加速比 1.7; 手编代码的加速比 2.5, 但是由于存储速度慢 ( 没有 Cache) 限制了加速比的提高 6600 记分板的局限性 : 没有前递硬件 指令调度局限于基本块内 ( 指令窗口小 ) 功能部件少 ( 结构冒险 ), 特别是 integer/load store 部件 存在结构冒险, 就暂停发射指令 等待到 WAR 冒险解决 防止 WAW 冒险

9 记分板流水线控制的细节 Instruction status Issue Read operands Execution complete Write result Wait until Not busy (FU) and not result(d) Rj and Rk Functional unit done f((fj( f ) Fi(FU) or Rj( f )=No) & (Fk( f ) Fi(FU) or Rk( f )=No)) Bookkeeping Busy(FU) yes; Op(FU) op; Fi(FU) `D ; Fj(FU) `S1 ; Fk(FU) `S2 ; Qj Result( S1 ); Qk Result(`S2 ); Rj not Qj; Rk not Qk; Result( D ) FU; Rj No; Rk No f(if Qj(f)=FU then Rj(f) Yes); f(if Qk(f)=FU then Rk(f) Yes); Result(Fi(FU)) 0; Busy(FU) No

10 思考 如何使处理器更快 更有效?

11 从算法到程序 算法 C Code example typedef enum {ADD, MULT, MINUS, DIV, MOD, BAD} op_type; char unparse_symbol(op_type op) { switch (op) { case ADD : return '+'; case MULT: return '*'; case MINUS: return '-'; case DIV: return '/'; case MOD: return '%'; case BAD: return '?'; } }

12 C Code example typedef enum {ADD, MULT, MINUS, DIV, MOD, BAD} op_type; 程序在计算机系统上处理 char unparse_symbol(op_type op) { switch (op) { case ADD : return '+'; case MULT: return '*'; case MINUS: return '-'; case DIV: return '/'; case MOD: return '%'; case BAD: return '?'; } } 处理器 控制 数据通路 存储器 输入 输出

13 静态程序流图到动态处理流图

14 计算机系统中的七种序列 提交序列 : 指令退离处理器 完成序列 : 指令操作完成 执行序列 : 指令开始执行 发送序列 : 指令发送到执行部件 译码序列 : 指令开始译码 取指序列 : 处理器访问存储器中的指令 存储序列 : 程序在存储器中的存放地址

15 按序发射的局限性 : 示例 latency 1 LD F2, 34(R2) LD F4, 45(R3) long 3 MULTD F6, F4, F2 3 4 SUBD F8, F2, F2 1 5 DIVD F4, F2, F ADDD F10, F6, F4 1 6 按序 (In-order): 1 (2,1) 按序发射阻止了指令 4 的分发 (dispatched) ( 下划线表明指令回写结果的周期 )

16 乱序发射 (Out-of-Order Issue) ALU Mem IF ID Issue WB Fadd Fmul 发射级的缓冲器中具有多个等待发射的指令 当上述缓冲器中有空位且该指令不会导致 WAR 和 WAW 冒险, 译码后就可将该指令加入到缓冲器中 缓冲器中任何满足 RAW 冒险要求的指令就可以被发射 ( 目前, 还是要求每个周期最多只能分发一条指令 ) 在 WB 级, 可能会多条指令同时抵达

17 按序发射的局限性 : 示例 latency 1 LD F2, 34(R2) LD F4, 45(R3) long 3 MULTD F6, F4, F SUBD F8, F2, F2 1 5 DIVD F4, F2, F ADDD F10, F6, F4 1 6 In-order: 1 (2,1) Out-of-order: 1 (2,1) 乱序执行并没有任何显著改进!

18 在流水线能够有多少指令? 一种指令系统体系结构中的哪些特征限制了流水线中的指令数? 寄存器数量 程序的哪些特征限制了流水线中的指令数? Control transfers 简单地单一应用乱序分发技术并不能为性能的改进提供显著支撑!

19 突破 ISA 中程序可用寄存器数目限制 浮点流水线通常由于寄存器数目少的原因不能满负荷运行 IBM 360 机器只有 4 个浮点寄存器 在保持 ISA 兼容的前提下, 能否通过微体系结构使用比 ISA 中指定寄存器更多的寄存器, 来突破上述限制? 1967 年,IBM 的 Robert Tomasulo 提出了一种通过程序执行时动态寄存器换名 (register renaming) 的独创解决方案

20 Little s Law Throughput (T) = Number in Flight (N) / Latency (L) Issue Execution WB 示例 : 4 floating point registers 8 cycles per floating point operation maximum of ½ issue per cycle!

21 指令级并行与换名技术 latency 1 LD F2, 34(R2) LD F4, 45(R3) long 3 MULTD F6, F4, F2 3 4 SUBD F8, F2, F2 1 4 X 3 5 DIVD F4, F2, F ADDD F10, F6, F4 1 6 In-order: 1 (2,1) Out-of-order: 1 (2,1) (3,5) 任何反相关都可以通过换名来消除 ( 换名技术 额外的存储 ) 硬件能实现吗? 如何用硬件实现?

22 寄存器换名技术 ALU Mem IF ID Issue WB Fadd Fmul Decode does register renaming and adds instructions to the issue stage reorder buffer (ROB) renaming makes WAR or WAW hazards impossible Any instruction in ROB whose RAW hazards have been satisfied can be dispatched. Out-of-order or dataflow execution

23 Renaming Structures Renaming table & regfile Reorder buffer Replacing the tag by its value is an expensive operation Ins# use exec op p1 src1 p2 src2 t 1 t 2.. t n Load Unit FU FU Store Unit < t, result > Instruction template (i.e., tag t) is allocated by the Decode stage, which also associates tag with register in regfile When an instruction completes, its tag is deallocated

24 ptr 2 next to deallocate ptr 1 next available Reorder Buffer Management Instruction slot is candidate for execution when: It holds a valid instruction ( use bit is set) It has not already started execution ( exec bit is clear) Both operands are available (p1 and p2 are set) Ins# use exec op p1 src1 p2 src2 ROB managed circularly exec bit is set when instruction begins execution When an instruction completes its use bit is marked free ptr 2 is incremented only if the use bit is marked free t 1 t 2... t n Destination registers are renamed to the instruction s slot tag

25 另一个动态算法 : Tomasulo 算法 为 IBM 360/91 设计的 在 CDC 6600 三年之后 (1966) 目标 : 即使在没有特殊编译支持的情况下, 也能取得高性能 IBM 360 和 CDC 6600 指令系统体系结构之间的差异 IBM 的每条指令有两个寄存器描述符 (register specifiers), 而 CDC 6600 有三个 ; IBM 有四个浮点寄存器, 而 CDC 6600 有八个 为什么要学习 Tomasulo 算法? 由此产生了 Alpha HP 8000 MIPS Pentium II PowerPC 604,

26 Tomasulo 算法与记分板 控制 & 缓冲器分布于功能部件 (FU) 与集中于记分板 ; 功能部件缓冲器称为 保留站 (reservation stations) ; 存放未决的操作数 指令中的寄存器被数值或者指向保留站的指针代替 ; 这一过程称为寄存器换名 (register renaming) ; 消除 WAR WAW 冒险 保留站比实际寄存器多, 因而可以完成优化编译器所不能完成的一些工作 结果从 RS 直接到 FU, 无需通过寄存器, 而是通过公共数据总线 (Common Data Bus) 把结果广播到所有 FU 装入 (Load) 和存储 (Stores) 也象其他功能部件一样使用保留站

27 Load Buffer Common Data Bus From Memory FP Add Res. Station Tomasulo 的结构图 Operation Bus Adders FP Op Queue From Instruction Unit Reservation Station Multers FP Registers To Memory FP Mul Res. Station Store Buffer Common Data Bus(CDB)

28 IBM 360/91 浮点部件 R. M. Tomasulo, p tag/data p tag/data p tag/data p tag/data p tag/data p tag/data load buffers (from memory) instructions p tag/data p tag/data p tag/data p tag/data Floating-Point Regfile Distribute instruction templates by functional units p tag/data p tag/data p tag/data Adder p tag/data p tag/data p tag/data 1 p tag/data 2 p tag/data < tag, result > Mult p tag/data p tag/data store buffers (to memory) p tag/data p tag/data p tag/data Common bus ensures that data is made available immediately to all the instructions waiting for it. Match tag, if equal, copy value & set presence p.

29 Phases of Instruction Execution PC I-cache Fetch Buffer Decode/Rename Issue Buffer Functional Units Result Buffer Commit Architectural State Fetch: Instruction bits retrieved from instruction cache. Decode: Instructions dispatched to appropriate issue buffer Execute: Instructions and operands issued to functional units. When execution completes, all results and exception flags are available. Commit: Instruction irrevocably updates architectural state (aka graduation ), or takes precise trap/interrupt.

30 Tomasulo 算法的三段 1. Issue 从 FP Op Queue 中取出指令 如果保留站空闲 ( 无结构冒险 ), 控制机制发射指令 & 发送操作数 ( 对寄存器进行换名 ) 2. Execution 对操作数执行操作 (EX) 如果两个操作数都已就绪, 就执行 ; 如果没有就绪, 就观测公共数据总线等待所需结果 3. Write result 完成执行 (WB) 通过公共数据总线将结果写入到所有等待的部件 ; 标记保留站可用 正常的数据总线 : 数据 + 目的 ( 去向 总线 ) 公共数据总线 : 数据 + 源 ( 来源 总线 ) 64 位数据 + 4 位功能部件源地址 如果与期望的功能部件匹配, 就 写 ( 产生结果 ) 进行广播

31 保留站的组成 Op 该部件将完成的具体操作 ( 例如, + or ) Vj, Vk 源操作数的实际数值 存储缓冲器 (Store buffers) 设有 V 域, 存放将存储的结果 Qj, Qk 将产生源寄存器值 ( 将写的值 ) 的保留站 注意 : 没有记分板中的就绪 (READY) 标志 ;Qj,Qk=0 ready 存储缓冲器 (Store buffers) 中只有存放 RS 产生结果的 Qi Busy 指明保留站或 FU 处于忙状态 Register result status 指明哪个功能部件将写到哪个寄存器 (Qi); 如果没有将写入寄存器的未决指令, 该域为空

32 Tomasulo 示例第 0 周期 Instruction status Execution Write Instruction j k Issue complete Result Busy Address LD F6 34+ R2 Load1 No LD F2 45+ R3 Load2 No MUL F0 F2 F4 Load3 No SUBDF8 F6 F2 DIVDF10 F0 F6 ADD F6 F8 F2 Reservation Stations S1 S2 RS for j RS for k Time Name BusyOp Vj Vk Qj Qk LD: 0 Add1 No 0 Add2 No ADD: 0 Add3 No Mult: 0 Mult1 No 0 Mult2 No Divd: Register result status 2 cycles 2 cycles 10 cycles 40 cycles Clock F0 F2 F4 F6 F8 F10 F12... F30 0 FU

33 Tomasulo 示例第 1 周期 Instruction status Execution Write Instruction j k Issue complete Result Busy Address LD F6 34+ R2 1 2 Load1 Yes 34+R2 LD F2 45+ R3 0 Load2 No MUL F0 F2 F4 0 Load3 No SUB F8 F6 F2 DIVDF10 F0 F6 ADD F6 F8 F2 Reservation Stations S1 S2 RS for j RS for k TimeNameBusyOp Vj Vk Qj Qk 0 Add1 No 0 Add2 No Add3 No 0 Mult1 No 0 Mult2 No Register result status Clock F0 F2 F4 F6 F8 F10 F12... F30 1 FU Load1

34 Tomasulo 示例第 2 周期 Instruction status Execution Write Instruction j k Issue complete Result Busy Address LD F6 34+ R2 1 1 Load1 Yes 34+R2 LD F2 45+ R3 2 2 Load2 Yes 45+R3 MUL F0 F2 F4 0 Load3 No SUBDF8 F6 F2 DIVDF10 F0 F6 ADD F6 F8 F2 Reservation Stations S1 S2 RS for j RS for k TimeNameBusyOp Vj Vk Qj Qk 0 Add1 No 0 Add2 No Add3 No 0 Mult1 No 0 Mult2 No Register result status Clock F0 F2 F4 F6 F8 F10 F12... F30 2 FU Load2 Load1 注意 : 与 CDC6600 不同, 可以有多个 loads 被发射 ; 记分板能否改进?

35 Tomasulo 示例第 3 周期 Instruction status Execution Write Instruction j k Issue complete Result Busy Address LD F6 34+ R Load1 Yes 34+R2 LD F2 45+ R3 2 1 Load2 Yes 45+R3 MUL F0 F2 F4 3 0 Load3 No SUBDF8 F6 F2 DIVDF10 F0 F6 ADD F6 F8 F2 Reservation Stations S1 S2 RS for j RS for k TimeNameBusyOp Vj Vk Qj Qk 0 Add1 No 0 Add2 No Add3 No 0 Mult1 Yes MULTD R(F4) Load2 0 Mult2 No Register result status Clock F0 F2 F4 F6 F8 F10 F12... F30 3 FU Mult1 Load2 Load1 注意 : 保留站中寄存器名被 换名 ; MULT 可发射 ( 与记分板比较 ) Load1 完成 ; 哪些指令在等待 Load1?

36 Tomasulo 示例第 4 周期 Instruction status Execution Write Instruction j k Issue complete Result Busy Address LD F6 34+ R Load1 No LD F2 45+ R Load2 Yes 45+R3 MUL F0 F2 F4 3 0 Load3 No SUBDF8 F6 F2 4 DIVDF10 F0 F6 ADD F6 F8 F2 Reservation Stations S1 S2 RS for j RS for k TimeNameBusyOp Vj Vk Qj Qk 0 Add1 Yes SUBDM(34+R2) Load2 0 Add2 No Add3 No 0 Mult1 Yes MULTD R(F4) Load2 0 Mult2 No Register result status Clock F0 F2 F4 F6 F8 F10 F12... F30 4 FU Mult1 Load2 M(34+R2) Add1 Load2 将完成 ; 哪些指令在等待 Load2?

37 Instruction status Tomasulo 示例第 5 周期 Execution Write Instruction j k Issue complete Result Busy Address LD F6 34+ R Load1 No LD F2 45+ R Load2 No MUL F0 F2 F4 3 Load3 No SUBDF8 F6 F2 4 DIVDF10 F0 F6 5 ADD F6 F8 F2 Reservation Stations S1 S2 RS for j RS for k TimeNameBusyOp Vj Vk Qj Qk 2 Add1 Yes SUBDM(34+R2) M(45+R3) 0 Add2 No Add3 No 10 Mult1 Yes MULTM(45+R3) R(F4) 0 Mult2 Yes DIVD M(34+R2) Mult1 Register result status Clock F0 F2 F4 F6 F8 F10 F12... F30 5 FU Mult1 M(45+R3) M(34+R2) Add1 Mult2

38 Instruction status Tomasulo 示例第 6 周期 Execution Write Instruction j k Issue complete Result Busy Address LD F6 34+ R Load1 No LD F2 45+ R Load2 No MUL F0 F2 F4 3 Load3 No SUBDF8 F6 F2 4 DIVDF10 F0 F6 5 ADD F6 F8 F2 6 Reservation Stations S1 S2 RS for j RS for k Time Name BusyOp Vj Vk Qj Qk 1 Add1 Yes SUBDM(34+R2) M(45+R3) 0 Add2 Yes ADDD M(45+R3) Add1 Add3 No 9 Mult1 Yes MULT M(45+R3) R(F4) 0 Mult2 Yes DIVD M(34+R2) Mult1 Register result status Clock F0 F2 F4 F6 F8 F10 F12... F30 6 FU Mult1 M(45+R3) Add2 Add1 Mult2 发射 ADDD

39 Instruction status Tomasulo 示例第 7 周期 Execution Write Instruction j k Issue complete Result Busy Address LD F6 34+ R Load1 No LD F2 45+ R Load2 No MUL F0 F2 F4 3 Load3 No SUBDF8 F6 F2 4 7 DIVDF10 F0 F6 5 ADD F6 F8 F2 6 Reservation Stations S1 S2 RS for j RS for k Time Name BusyOp Vj Vk Qj Qk 0 Add1 Yes SUBDM(34+R2) M(45+R3) 0 Add2 Yes ADDD M(45+R3) Add1 Add3 No 8 Mult1 Yes MULT M(45+R3) R(F4) 0 Mult2 Yes DIVD M(34+R2) Mult1 Register result status Clock F0 F2 F4 F6 F8 F10 F12... F30 7 FU Mult1 M(45+R3) Add2 Add1 Mult2 Add1 完成 ; 哪些指令在等待 Add1?

40 Instruction status Tomasulo 示例第 8 周期 Execution Write Instruction j k Issue complete Result Busy Address LD F6 34+ R Load1 No LD F2 45+ R Load2 No MUL F0 F2 F4 3 Load3 No SUBDF8 F6 F DIVDF10 F0 F6 5 ADD F6 F8 F2 6 Reservation Stations S1 S2 RS for j RS for k TimeNameBusyOp Vj Vk Qj Qk 0 Add1 No 2 Add2 Yes ADDDM()-M() M(45+R3) Add3 No 7 Mult1 Yes MULTM(45+R3) R(F4) 0 Mult2 Yes DIVD M(34+R2) Mult1 Register result status Clock F0 F2 F4 F6 F8 F10 F12... F30 8 FU Mult1 M(45+R3) Add2 M()-M() Mult2

41 Tomasulo 示例第 9 周期 Instruction j k Issue complete Result Busy Address LD F6 34+ R Load1 No LD F2 45+ R Load2 No MUL F0 F2 F4 3 Load3 No SUBDF8 F6 F DIVDF10 F0 F6 5 ADD F6 F8 F2 6 Reservation Stations S1 S2 RS for j RS for k TimeNameBusyOp Vj Vk Qj Qk 0 Add1 No 1 Add2 Yes ADDDM()-M() M(45+R3) Add3 No 6 Mult1 Yes MULTM(45+R3) R(F4) 0 Mult2 Yes DIVD M(34+R2) Mult1 Register result status Clock F0 F2 F4 F6 F8 F10 F12... F30 9 FU Mult1 M(45+R3) Add2 M()-M() Mult2 Button 3 Button 4 Button 5 Button 6

42 Instruction status Tomasulo 示例第 10 周期 Execution Write Instruction j k Issue complete Result Busy Address LD F6 34+ R Load1 No LD F2 45+ R Load2 No MUL F0 F2 F4 3 Load3 No SUBDF8 F6 F DIVDF10 F0 F6 5 ADD F6 F8 F Reservation Stations S1 S2 RS for j RS for k TimeNameBusyOp Vj Vk Qj Qk 0 Add1 No 0 Add2 Yes ADDDM()-M() M(45+R3) Add3 No 5 Mult1 Yes MULTM(45+R3) R(F4) 0 Mult2 Yes DIVD M(34+R2) Mult1 Register result status Clock F0 F2 F4 F6 F8 F10 F12... F30 10 FU Mult1 M(45+R3) Add2 M()-M() Mult2 Add2 完成 ; 哪些指令在等待 Add2?

43 Instruction status Tomasulo 示例第 11 周期 Execution Write Instruction j k Issue complete Result Busy Address LD F6 34+ R Load1 No LD F2 45+ R Load2 No MUL F0 F2 F4 3 Load3 No SUBDF8 F6 F DIVDF10 F0 F6 5 ADD F6 F8 F Reservation Stations S1 S2 RS for j RS for k TimeNameBusyOp Vj Vk Qj Qk 0 Add1 No 0 Add2 No Add3 No 4 Mult1 Yes MULTM(45+R3) R(F4) 0 Mult2 Yes DIVD M(34+R2) Mult1 Register result status Clock F0 F2 F4 F6 F8 F10 F12... F30 11 FU Mult1 M(45+R3) (M-M)+M()M()-M()Mult2 ADDD 在该周期写结果

44 Instruction status Tomasulo 示例第 12 周期 Execution Write Instruction j k Issue complete Result Busy Address LD F6 34+ R Load1 No LD F2 45+ R Load2 No MUL F0 F2 F4 3 Load3 No SUBDF8 F6 F DIVDF10 F0 F6 5 ADD F6 F8 F Reservation Stations S1 S2 RS for j RS for k TimeNameBusyOp Vj Vk Qj Qk 0 Add1 No 0 Add2 No Add3 No 3 Mult1 Yes MULTM(45+R3) R(F4) 0 Mult2 Yes DIVD M(34+R2) Mult1 Register result status Clock F0 F2 F4 F6 F8 F10 F12... F30 12 FU Mult1 M(45+R3) (M-M)+M()M()-M() Mult2 注意 : 所有短周期指令都已经完成

45 Instruction status Tomasulo 示例第 13 周期 Execution Write Instruction j k Issue complete Result Busy Address LD F6 34+ R Load1 No LD F2 45+ R Load2 No MUL F0 F2 F4 3 Load3 No SUBDF8 F6 F DIVDF10 F0 F6 5 ADD F6 F8 F Reservation Stations S1 S2 RS for j RS for k TimeNameBusyOp Vj Vk Qj Qk 0 Add1 No 0 Add2 No Add3 No 2 Mult1 Yes MULTM(45+R3) R(F4) 0 Mult2 Yes DIVD M(34+R2) Mult1 Register result status Clock F0 F2 F4 F6 F8 F10 F12... F30 13 FU Mult1 M(45+R3) (M-M)+M()M()-M() Mult2

46 Instruction status Tomasulo 示例第 14 周期 Execution Write Instruction j k Issue complete Result Busy Address LD F6 34+ R Load1 No LD F2 45+ R Load2 No MUL F0 F2 F4 3 Load3 No SUBDF8 F6 F DIVDF10 F0 F6 5 ADD F6 F8 F Reservation Stations S1 S2 RS for j RS for k TimeNameBusyOp Vj Vk Qj Qk 0 Add1 No 0 Add2 No Add3 No 1 Mult1 Yes MULTM(45+R3) R(F4) 0 Mult2 Yes DIVD M(34+R2) Mult1 Register result status Clock F0 F2 F4 F6 F8 F10 F12... F30 14 FU Mult1 M(45+R3) (M-M)+M()M()-M()Mult2

47 Instruction status Tomasulo 示例第 15 周期 Execution Write Instruction j k Issue complete Result Busy Address LD F6 34+ R Load1 No LD F2 45+ R Load2 No MUL F0 F2 F Load3 No SUBDF8 F6 F DIVDF10 F0 F6 5 ADD F6 F8 F Reservation Stations S1 S2 RS for j RS for k Time Name BusyOp Vj Vk Qj Qk 0 Add1 No 0 Add2 No Add3 No 0 Mult1 Yes MULT M(45+R3) R(F4) 0 Mult2 Yes DIVD M(34+R2) Mult1 Register result status Clock F0 F2 F4 F6 F8 F10 F12... F30 15 FU Mult1 M(45+R3) (M-M)+M()M()-M() Mult2 Mult1 completing; what is waiting for it?

48 Instruction status Tomasulo 示例第 16 周期 Execution Write Instruction j k Issue complete Result Busy Address LD F6 34+ R Load1 No LD F2 45+ R Load2 No MUL F0 F2 F Load3 No SUBDF8 F6 F DIVDF10 F0 F6 5 ADD F6 F8 F Reservation Stations S1 S2 RS for j RS for k Time Name BusyOp Vj Vk Qj Qk 0 Add1 No 0 Add2 No Add3 No 0 Mult1 No 40 Mult2 Yes DIVD M*F4 M(34+R2) Register result status Clock F0 F2 F4 F6 F8 F10 F12... F30 16 FU M*F4 M(45+R3) (M-M)+M()M()-M() Mult2 注意 : 只有除法指令没有完成

49 Instruction status Tomasulo 示例第 55 周期 Execution Write Instruction j k Issue complete Result Busy Address LD F6 34+ R Load1 No LD F2 45+ R Load2 No MUL F0 F2 F Load3 No SUBDF8 F6 F DIVDF10 F0 F6 5 ADD F6 F8 F Reservation Stations S1 S2 RS for j RS for k Time Name BusyOp Vj Vk Qj Qk 0 Add1 No 0 Add2 No Add3 No 0 Mult1 No 1 Mult2 Yes DIVD M*F4 M(34+R2) Register result status Clock F0 F2 F4 F6 F8 F10 F12... F30 55 FU M*F4 M(45+R3) (M-M)+M()M()-M() Mult2

50 Instruction status Tomasulo 示例第 56 周期 Execution Write Instruction j k Issue complete Result Busy Address LD F6 34+ R Load1 No LD F2 45+ R Load2 No MUL F0 F2 F Load3 No SUBDF8 F6 F DIVDF10 F0 F ADD F6 F8 F Reservation Stations S1 S2 RS for j RS for k Time Name BusyOp Vj Vk Qj Qk 0 Add1 No 0 Add2 No Add3 No 0 Mult1 No 0 Mult2 Yes DIVD M*F4 M(34+R2) Register result status Clock F0 F2 F4 F6 F8 F10 F12... F30 56 FU M*F4 M(45+R3) (M-M)+M()M()-M() Mult2 Mult 2 完成

51 Instruction status Tomasulo 示例第 57 周期 Execution Write Instruction j k Issue complete Result Busy Address LD F6 34+ R Load1 No LD F2 45+ R Load2 No MUL F0 F2 F Load3 No SUBDF8 F6 F DIVDF10 F0 F ADD F6 F8 F Reservation Stations S1 S2 RS for j RS for k Time Name BusyOp Vj Vk Qj Qk 0 Add1 No 0 Add2 No Add3 No 0 Mult1 No 0 Mult2 No Register result status Clock F0 F2 F4 F6 F8 F10 F12... F30 57 FU M*F4 M(45+R3) 也是, 按序发送 (M-M)+M()M()-M() M*F4/M 乱序执行 乱序完成

52 与记分板的第 62 周期相比 Instruction status Read Execu Write Instruction j k IssueoperancompleResult LD F6 34+ R LD F2 45+ R MUL F0 F2 F SUBDF8 F6 F DIVDF10 F0 F ADD F6 F8 F Functional unit status dest S1 S2 FU for FU for Fj? Fk? TimeName Busy Op Fi Fj Fk Qj Qk Rj Rk Integer No Mult1 No Mult2 No Add No 0 Divide No Register result status Clock F0 F2 F4 F6 F8 F10 F12... F30 62 FU CDC6600 的记分板为什么需要更长的时间?

53 Tomasulo 与记分板 (IBM 360/91 与 CDC 6600) 流水化的功能部件 (6 load, 3 store, 3 +, 2 x/ ) 窗口大小 : 14 指令结构冒险暂停发射 WAR: 通过换名避免 WAW: 通过换名避免从 FU 广播结果控制 : 保留站 多功能部件 (1 load/store, 1 +, 2 x, 1 ) 5 指令相同暂停完成暂停发射写 / 读寄存器集中控制的记分板

54 Tomasulo 算法的缺点 复杂 360/91 MIPS IBM PPC620 的延迟? 需要大量高速的相联存储 (associative buffer) 公共数据总线将成为制约性能增长的瓶颈 每个 CDB 必须广播到多个功能部件单元 大容量 写操作密集 每个周期可以同时完成的功能部件数量可能由于单总线而受限 ( 最坏情况为 1 )! 多个 CDB => 为完成并行相联存储, 功能部件 FU 需要更复杂的逻辑控制

55 Tomasulo 循环示例 Loop: LD F0 0 R1 MULTD F4 F0 F2 SD F4 0 R1 SUBI R1 R1 #8 BNEZ R1 Loop 假设乘法需 4 个周期 假设第一次 load 需要 8 个周期 (cache 失效 ), 第二次 load 需要 1 个周期 ( 命中 ) 为了简明, 将示意 SUBI BNEZ 的周期数 实际上, 整数指令先行

56 Instruction status 循环示例第 0 周期 Executi Write Instruction j k iteration Issue completresult BusyAddress LD F0 0 R1 1 Load1 No MUL F4 F0 F2 1 Load2 No SD F4 0 R1 1 Load3 No Qi LD F0 0 R1 2 Store1 No MUL F4 F0 F2 2 Store2 No SD F4 0 R1 2 Store3 No Reservation Stations S1 S2 RS forrs for k TimeName BusyOp Vj Vk Qj Qk Code: 0 Add1 No LD F0 0 R1 0 Add2 No MUL F4 F0 F2 0 Add3 No SD F4 0 R1 0 Mult1 No SUBIR1 R1 #8 0 Mult2 No BNEZR1 Loop Register result status Clock R1 F0 F2 F4 F6 F8 F10 F12... F Qi

57 Instruction status 循环示例第 1 周期 Executi Write Instruction j k iteration Issue completresult BusyAddress LD F0 0 R1 1 1 Load1 Yes 80 MUL F4 F0 F2 1 Load2 No SD F4 0 R1 1 Load3 No Qi LD F0 0 R1 2 Store1 No MUL F4 F0 F2 2 Store2 No SD F4 0 R1 2 Store3 No Reservation Stations S1 S2 RS forrs for k TimeName BusyOp Vj Vk Qj Qk Code: 0 Add1 No LD F0 0 R1 0 Add2 No MUL F4 F0 F2 0 Add3 No SD F4 0 R1 0 Mult1 No SUBIR1 R1 #8 0 Mult2 No BNEZR1 Loop Register result status Clock R1 F0 F2 F4 F6 F8 F10 F12... F Qi Load1

58 Instruction status 循环示例第 2 周期 Executi Write Instruction j k iteration Issue completresult BusyAddress LD F0 0 R1 1 1 Load1 Yes 80 MUL F4 F0 F2 1 2 Load2 No SD F4 0 R1 1 Load3 No Qi LD F0 0 R1 2 Store1 No MUL F4 F0 F2 2 Store2 No SD F4 0 R1 2 Store3 No Reservation Stations S1 S2 RS forrs for k TimeName BusyOp Vj Vk Qj Qk Code: 0 Add1 No LD F0 0 R1 0 Add2 No MUL F4 F0 F2 0 Add3 No SD F4 0 R1 0 Mult1 Yes MULTD R(F2) Load1 SUBIR1 R1 #8 0 Mult2 No BNEZR1 Loop Register result status Clock R1 F0 F2 F4 F6 F8 F10 F12... F Qi Load1 Mult1

59 Instruction status 循环示例第 3 周期 Executi Write Instruction j k iteration Issue completresult BusyAddress LD F0 0 R1 1 1 Load1 Yes 80 MUL F4 F0 F2 1 2 Load2 No SD F4 0 R1 1 3 Load3 No Qi LD F0 0 R1 2 Store1 Yes 80 Mult1 MUL F4 F0 F2 2 Store2 No SD F4 0 R1 2 Store3 No Reservation Stations S1 S2 RS forrs for k TimeName BusyOp Vj Vk Qj Qk Code: 0 Add1 No LD F0 0 R1 0 Add2 No MUL F4 F0 F2 0 Add3 No SD F4 0 R1 0 Mult1 Yes MULTD R(F2) Load1 SUBIR1 R1 #8 0 Mult2 No BNEZR1 Loop Register result status Clock R1 F0 F2 F4 F6 F8 F10 F12... F Qi Load1 Mult1 注意 : 隐含的换名功能动态建立起 数据流 图

60 Instruction status 循环示例第 4 周期 Executi Write Instruction j k iteration Issue completresult BusyAddress LD F0 0 R1 1 1 Load1 Yes 80 MUL F4 F0 F2 1 2 Load2 No SD F4 0 R1 1 3 Load3 No Qi LD F0 0 R1 2 Store1 Yes 80 Mult1 MUL F4 F0 F2 2 Store2 No SD F4 0 R1 2 Store3 No Reservation Stations S1 S2 RS forrs for k TimeName BusyOp Vj Vk Qj Qk Code: 0 Add1 No LD F0 0 R1 0 Add2 No MUL F4 F0 F2 0 Add3 No SD F4 0 R1 0 Mult1 Yes MULTD R(F2) Load1 SUBIR1 R1 #8 0 Mult2 No BNEZR1 Loop Register result status Clock R1 F0 F2 F4 F6 F8 F10 F12... F Qi Load1 Mult1 注意 : 发送 SUB 指令

61 Instruction status 循环示例第 5 周期 Executi Write Instruction j k iteration Issue completresult BusyAddress LD F0 0 R1 1 1 Load1 Yes 80 MUL F4 F0 F2 1 2 Load2 No SD F4 0 R1 1 3 Load3 No Qi LD F0 0 R1 2 Store1 Yes 80 Mult1 MUL F4 F0 F2 2 Store2 No SD F4 0 R1 2 Store3 No Reservation Stations S1 S2 RS forrs for k TimeName BusyOp Vj Vk Qj Qk Code: 0 Add1 No LD F0 0 R1 0 Add2 No MUL F4 F0 F2 0 Add3 No SD F4 0 R1 0 Mult1 Yes MULTD R(F2) Load1 SUBIR1 R1 #8 0 Mult2 No BNEZR1 Loop Register result status Clock R1 F0 F2 F4 F6 F8 F10 F12... F Qi Load1 Mult1 注意 : 处理 BNEZ 指令

62 Instruction status 循环示例第 6 周期 Executi Write Instruction j k iteration Issue completresult BusyAddress LD F0 0 R1 1 1 Load1 Yes 80 MUL F4 F0 F2 1 2 Load2 Yes 72 SD F4 0 R1 1 3 Load3 No Qi LD F0 0 R1 2 6 Store1 Yes 80 Mult1 MUL F4 F0 F2 2 Store2 No SD F4 0 R1 2 Store3 No Reservation Stations S1 S2 RS forrs for k TimeName BusyOp Vj Vk Qj Qk Code: 0 Add1 No LD F0 0 R1 0 Add2 No MUL F4 F0 F2 0 Add3 No SD F4 0 R1 0 Mult1 Yes MULTD R(F2) Load1 SUBIR1 R1 #8 0 Mult2 No BNEZR1 Loop Register result status Clock R1 F0 F2 F4 F6 F8 F10 F12... F Qi Load2 Mult1 注意 : F0 一直看不到 Load1 的结果

63 Instruction status 循环示例第 7 周期 Executi Write Instruction j k iteration Issue completresult BusyAddress LD F0 0 R1 1 1 Load1 Yes 80 MUL F4 F0 F2 1 2 Load2 Yes 72 SD F4 0 R1 1 3 Load3 No Qi LD F0 0 R1 2 6 Store1 Yes 80 Mult1 MUL F4 F0 F2 2 7 Store2 No SD F4 0 R1 2 Store3 No Reservation Stations S1 S2 RS forrs for k TimeName BusyOp Vj Vk Qj Qk Code: 0 Add1 No LD F0 0 R1 0 Add2 No MUL F4 F0 F2 0 Add3 No SD F4 0 R1 0 Mult1 Yes MULTD R(F2) Load1 SUBIR1 R1 #8 0 Mult2 Yes MULTD R(F2) Load2 BNEZR1 Loop Register result status Clock R1 F0 F2 F4 F6 F8 F10 F12... F Qi Load2 Mult2 Note: MULT2 has no registers names in RS

64 Instruction status 循环示例第 8 周期 Executi Write Instruction j k iteration Issue completresult BusyAddress LD F0 0 R1 1 1 Load1 Yes 80 MUL F4 F0 F2 1 2 Load2 Yes 72 SD F4 0 R1 1 3 Load3 No Qi LD F0 0 R1 2 6 Store1 Yes 80 Mult1 MUL F4 F0 F2 2 7 Store2 Yes 72 Mult2 SD F4 0 R1 2 8 Store3 No Reservation Stations S1 S2 RS forrs for k TimeName BusyOp Vj Vk Qj Qk Code: 0 Add1 No LD F0 0 R1 0 Add2 No MUL F4 F0 F2 0 Add3 No SD F4 0 R1 0 Mult1 Yes MULTD R(F2) Load1 SUBIR1 R1 #8 0 Mult2 Yes MULTD R(F2) Load2 BNEZR1 Loop Register result status Clock R1 F0 F2 F4 F6 F8 F10 F12... F Qi Load2 Mult2

65 Instruction status 循环示例第 9 周期 Executi Write Instruction j k iteration Issue completresult BusyAddress LD F0 0 R Load1 Yes 80 MUL F4 F0 F2 1 2 Load2 Yes 72 SD F4 0 R1 1 3 Load3 No Qi LD F0 0 R1 2 6 Store1 Yes 80 Mult1 MUL F4 F0 F2 2 7 Store2 Yes 72 Mult2 SD F4 0 R1 2 8 Store3 No Reservation Stations S1 S2 RS forrs for k TimeName BusyOp Vj Vk Qj Qk Code: 0 Add1 No LD F0 0 R1 0 Add2 No MUL F4 F0 F2 0 Add3 No SD F4 0 R1 0 Mult1 Yes MULTD R(F2) Load1 SUBIR1 R1 #8 0 Mult2 Yes MULTD R(F2) Load2 BNEZR1 Loop Register result status Clock R1 F0 F2 F4 F6 F8 F10F12... F Qi Load2 Mult2 Load1 完成, 注意等待其结果的指令! 注意 : 发送 SUB 指令

66 Instruction status 循环示例第 10 周期 Executi Write Instruction j k iteration Issue completresult BusyAddress LD F0 0 R Load1 No MUL F4 F0 F2 1 2 Load2 Yes 72 SD F4 0 R1 1 3 Load3 No Qi LD F0 0 R Store1 Yes 80 Mult1 MUL F4 F0 F2 2 7 Store2 Yes 72 Mult2 SD F4 0 R1 2 8 Store3 No Reservation Stations S1 S2 RS forrs for k TimeName BusyOp Vj Vk Qj Qk Code: 0 Add1 No LD F0 0 R1 0 Add2 No MULTDF4 F0 F2 0 Add3 No SD F4 0 R1 4 Mult1 Yes MULTD M(80)R(F2) SUBI R1 R1 #8 0 Mult2 Yes MULTD R(F2) Load2 BNEZ R1 Loop Register result status Clock R1 F0 F2 F4 F6 F8 F10 F12... F Qi Load2 Mult2 Load2 Load1 完成, 注意等待其结果的指令

67 Instruction status 循环示例第 11 周期 Executi Write Instruction j k iteration Issue completresult BusyAddress LD F0 0 R Load1 No MUL F4 F0 F2 1 2 Load2 No SD F4 0 R1 1 3 Load3 Yes 64 Qi LD F0 0 R Store1 Yes 80 Mult1 MUL F4 F0 F2 2 7 Store2 Yes 72 Mult2 SD F4 0 R1 2 8 Store3 No Reservation Stations S1 S2 RS forrs for k TimeName BusyOp Vj Vk Qj Qk Code: 0 Add1 No LD F0 0 R1 0 Add2 No MULTDF4 F0 F2 0 Add3 No SD F4 0 R1 3 Mult1 Yes MULTD M(80)R(F2) SUBI R1 R1 #8 4 Mult2 Yes MULTD M(72)R(F2) BNEZ R1 Loop Register result status Clock R1 F0 F2 F4 F6 F8 F10 F12... F Qi Load3 Mult2

68 循环示例第 12 周期 Instruction status Executi Write Instruction j k iteration Issue completresult BusyAddress LD F0 0 R Load1 No MUL F4 F0 F2 1 2 Load2 No SD F4 0 R1 1 3 Load3 Yes 64 Qi LD F0 0 R Store1 Yes 80 Mult1 MUL F4 F0 F2 2 7 Store2 Yes 72 Mult2 SD F4 0 R1 2 8 Store3 No Reservation Stations S1 S2 RS forrs for k TimeName BusyOp Vj Vk Qj Qk Code: 0 Add1 No LD F0 0 R1 0 Add2 No 为什么不能发送第三次迭代的乘法? MULTDF4 F0 F2 0 Add3 No SD F4 0 R1 2 Mult1 Yes MULTD M(80)R(F2) SUBI R1 R1 #8 3 Mult2 Yes MULTD M(72)R(F2) BNEZ R1 Loop Register result status Clock R1 F0 F2 F4 F6 F8 F10 F12... F Qi Load3 Mult2

69 Instruction status 循环示例第 13 周期 Executi Write Instruction j k iteration Issue completresult BusyAddress LD F0 0 R Load1 No MUL F4 F0 F2 1 2 Load2 No SD F4 0 R1 1 3 Load3 Yes 64 Qi LD F0 0 R Store1 Yes 80 Mult1 MUL F4 F0 F2 2 7 Store2 Yes 72 Mult2 SD F4 0 R1 2 8 Store3 No Reservation Stations S1 S2 RS forrs for k TimeName BusyOp Vj Vk Qj Qk Code: 0 Add1 No LD F0 0 R1 0 Add2 No MULTDF4 F0 F2 0 Add3 No SD F4 0 R1 1 Mult1 Yes MULTD M(80)R(F2) SUBI R1 R1 #8 2 Mult2 Yes MULTD M(72)R(F2) BNEZ R1 Loop Register result status Clock R1 F0 F2 F4 F6 F8 F10 F12... F Qi Load3 Mult2

70 Instruction status 循环示例第 14 周期 Executi Write Instruction j k iteration Issue completresult BusyAddress LD F0 0 R Load1 No MUL F4 F0 F Load2 No SD F4 0 R1 1 3 Load3 Yes 64 Qi LD F0 0 R Store1 Yes 80 Mult1 MUL F4 F0 F2 2 7 Store2 Yes 72 Mult2 SD F4 0 R1 2 8 Store3 No Reservation Stations S1 S2 RS forrs for k TimeName BusyOp Vj Vk Qj Qk Code: 0 Add1 No LD F0 0 R1 0 Add2 No MULTDF4 F0 F2 0 Add3 No SD F4 0 R1 0 Mult1 Yes MULTD M(80)R(F2) SUBI R1 R1 #8 1 Mult2 Yes MULTD M(72)R(F2) BNEZ R1 Loop Register result status Clock R1 F0 F2 F4 F6 F8 F10 F12... F Qi Load3 Mult2 Mult1 完成

71 Instruction status 循环示例第 15 周期 Executi Write Instruction j k iteration Issue completresult BusyAddress LD F0 0 R Load1 No MUL F4 F0 F Load2 No SD F4 0 R1 1 3 Load3 Yes 64 Qi LD F0 0 R Store1 Yes 80 M(80)*R MUL F4 F0 F Store2 Yes 72 Mult2 SD F4 0 R1 2 8 Store3 No Reservation Stations S1 S2 RS forrs for k TimeName BusyOp Vj Vk Qj Qk Code: 0 Add1 No LD F0 0 R1 0 Add2 No MULTDF4 F0 F2 0 Add3 No SD F4 0 R1 0 Mult1 No SUBI R1 R1 #8 0 Mult2 Yes MULTD M(72)R(F2) BNEZ R1 Loop Register result status Clock R1 F0 F2 F4 F6 F8 F10 F12... F Qi Load3 Mult2 Mult2 完成

72 Instruction status 循环示例第 16 周期 Executi Write Instruction j k iteration Issue completresult BusyAddress LD F0 0 R Load1 No MUL F4 F0 F Load2 No SD F4 0 R1 1 3 Load3 Yes 64 Qi LD F0 0 R Store1 Yes 80 M(80)*R MUL F4 F0 F Store2 Yes 72 M(72)*R SD F4 0 R1 2 8 Store3 No Reservation Stations S1 S2 RS forrs for k TimeName BusyOp Vj Vk Qj Qk Code: 0 Add1 No LD F0 0 R1 0 Add2 No MULTDF4 F0 F2 0 Add3 No SD F4 0 R1 0 Mult1 Yes MULTD R(F2) Load3 SUBI R1 R1 #8 0 Mult2 No BNEZ R1 Loop Register result status Clock R1 F0 F2 F4 F6 F8 F10 F12... F Qi Load3 Mult1

73 Instruction status 循环示例第 17 周期 Executi Write Instruction j k iteration Issue completresult BusyAddress LD F0 0 R Load1 No MUL F4 F0 F Load2 No SD F4 0 R1 1 3 Load3 Yes 64 Qi LD F0 0 R Store1 Yes 80 M(80)*R MUL F4 F0 F Store2 Yes 72 M(72)*R SD F4 0 R1 2 8 Store3 Yes 64 Mult1 Reservation Stations S1 S2 RS forrs for k TimeName BusyOp Vj Vk Qj Qk Code: 0 Add1 No LD F0 0 R1 0 Add2 No MULTDF4 F0 F2 0 Add3 No SD F4 0 R1 0 Mult1 Yes MULTD R(F2) Load3 SUBI R1 R1 #8 0 Mult2 No BNEZ R1 Loop Register result status Clock R1 F0 F2 F4 F6 F8 F10 F12... F Qi Load3 Mult1

74 Instruction status 循环示例第 18 周期 Executi Write Instruction j k iteration Issue completresult BusyAddress LD F0 0 R Load1 No MUL F4 F0 F Load2 No SD F4 0 R Load3 Yes 64 Qi LD F0 0 R Store1 Yes 80 M(80)*R MUL F4 F0 F Store2 Yes 72 M(72)*R SD F4 0 R1 2 8 Store3 Yes 64 Mult1 Reservation Stations S1 S2 RS forrs for k TimeName BusyOp Vj Vk Qj Qk Code: 0 Add1 No LD F0 0 R1 0 Add2 No MULTDF4 F0 F2 0 Add3 No SD F4 0 R1 0 Mult1 Yes MULTD R(F2) Load3 SUBI R1 R1 #8 0 Mult2 No BNEZ R1 Loop Register result status Clock R1 F0 F2 F4 F6 F8 F10 F12... F Qi Load3 Mult1

75 Instruction status 循环示例第 19 周期 Executi Write Instruction j k iteration Issue completresult BusyAddress LD F0 0 R Load1 No MUL F4 F0 F Load2 No SD F4 0 R Load3 Yes 64 Qi LD F0 0 R Store1 No MUL F4 F0 F Store2 Yes 72 M(72)*R SD F4 0 R1 2 8 Store3 Yes 64 Mult1 Reservation Stations S1 S2 RS forrs for k TimeName BusyOp Vj Vk Qj Qk Code: 0 Add1 No LD F0 0 R1 0 Add2 No MULTDF4 F0 F2 0 Add3 No SD F4 0 R1 0 Mult1 Yes MULTD R(F2) Load3 SUBI R1 R1 #8 0 Mult2 No BNEZ R1 Loop Register result status Clock R1 F0 F2 F4 F6 F8 F10 F12... F Qi Load3 Mult1

76 Instruction status 循环示例第 20 周期 Executi Write Instruction j k iteration Issue completresult BusyAddress LD F0 0 R Load1 No MUL F4 F0 F Load2 No SD F4 0 R Load3 Yes 64 Qi LD F0 0 R Store1 No MUL F4 F0 F Store2 Yes 72 M(72)*R SD F4 0 R Store3 Yes 64 Mult1 Reservation Stations S1 S2 RS forrs for k TimeName BusyOp Vj Vk Qj Qk Code: 0 Add1 No LD F0 0 R1 0 Add2 No MULTDF4 F0 F2 0 Add3 No SD F4 0 R1 0 Mult1 Yes MULTD R(F2) Load3 SUBI R1 R1 #8 0 Mult2 No BNEZ R1 Loop Register result status Clock R1 F0 F2 F4 F6 F8 F10 F12... F Qi Load3 Mult1

77 Instruction status 循环示例第 21 周期 Executi Write Instruction j k iteration Issue completresult BusyAddress LD F0 0 R Load1 No MUL F4 F0 F Load2 No SD F4 0 R Load3 Yes 64 Qi LD F0 0 R Store1 No MUL F4 F0 F Store2 No SD F4 0 R Store3 Yes 64 Mult1 Reservation Stations S1 S2 RS forrs for k TimeName BusyOp Vj Vk Qj Qk Code: 0 Add1 No LD F0 0 R1 0 Add2 No MULTDF4 F0 F2 0 Add3 No SD F4 0 R1 0 Mult1 Yes MULTD R(F2) Load3 SUBI R1 R1 #8 0 Mult2 No BNEZ R1 Loop Register result status Clock R1 F0 F2 F4 F6 F8 F10 F12... F Qi Load3 Mult1

78 寄存器换名技术 ALU Mem IF ID Issue WB Fadd Fmul Decode does register renaming and adds instructions to the issue stage reorder buffer (ROB) renaming makes WAR or WAW hazards impossible Any instruction in ROB whose RAW hazards have been satisfied can be dispatched. Out-of-order or dataflow execution

79 数据流 (Dataflow) 执行 Ins# use exec op p1 src1 p2 src2 ptr 2 next to deallocate t 1 t 2... prt 1 next available Reorder buffer Instruction slot is candidate for execution when: It holds a valid instruction ( use bit is set) It has not already started execution ( exec bit is clear) Both operands are available (p1 and p2 are set) t n

80 换名 & 乱序发射 : 示例 v1 Renaming table F1 F2 F3 F4 F5 F6 F7 F8 p data v1 t1 t2 t5 t3 v4 t4 Reorder buffer Ins# use exec op p1 src1 p2 src LD LD MUL 10 v2 t2 1 v SUB 1 v1 1 v DIV 1 v1 01 t4 v4 t 1 t 2 t 3 t 4 t 5.. data / t i 1 LD F2, 34(R2) 2 LD F4, 45(R3) 3 MULTD F6, F4, F2 4 SUBD F8, F2, F2 5 DIVD F4, F2, F8 6 ADDD F10, F6, F4 When are names in sources replaced by data? Whenever an FU produces data When can a name be reused? Whenever an instruction completes

81 数据驱动 (Data-Driven) 执行 Renaming table & reg file Reorder buffer Ins# use exec op p1 src1 p2 src2 t 1 t 2.. t n Replacing the tag by its value is an expensive operation Load Unit FU FU Store Unit Instruction template (i.e., tag t) is allocated by the Decode stage, which also stores the tag in the reg file When an instruction completes, its tag is deallocated < t, result >

82 简化分配 / 回收 Simplifying Allocation/Deallocation Ins# use exec op p1 src1 p2 src2 ptr 2 next to deallocate t 1 t 2... prt 1 next available Reorder buffer Instruction buffer is managed circularly exec bit is set when instruction begins execution When an instruction completes, its use bit is marked free ptr 2 is incremented only if the use bit is marked free t n

83 Tomasulo 算法小结 保留站 : 换名到巨大的寄存器空间 + 缓存源操作数 防止寄存器成为性能瓶颈 防止记分板中的 WAR WAW 冒险 具有硬件动态完成循环展开的功能 不局限在基本块内 ( 整数部件可以先行, 跨越基本块 ) 对于降低 cache 失效开销有利 对后续机型的影响 : 动态调度寄存器换名 Load/store 别名分析 360/91 的后续包括 :Pentium III PowerPC 604 MIPS R10000 HP-PA 8000 Alpha 等等

84 Out-of-Order Fades into Background Out-of-order processing implemented commercially in 1960s, but disappeared again until 1990s as two major problems had to be solved: Precise traps Imprecise traps complicate debugging and OS code Note, precise interrupts are relatively easy to provide Branch prediction Amount of exploitable instruction-level parallelism (ILP) limited by control hazards Also, simpler machine designs in new technology beat complicated machines in old technology Big advantage to fit processor & caches on one chip Microprocessors had era of 1%/week performance scaling 84

85 有效性 (Effectiveness)? Renaming and Out-of-order execution was first implemented in 1969 in IBM 360/91 but did not show up in the subsequent models until mid-nineties. Why? Reasons 1. Effective on a very small class of programs 2. Memory latency a much bigger problem 3. Exceptions not precise! One more problem needed to be solved Control transfers

86 精确中断 (Precise Interrupts) It must appear as if an interrupt is taken between two instructions (say I i and I i+1 ) the effect of all instructions up to and including I i is totally complete no effect of any instruction after I i has taken place The interrupt handler either aborts the program or restarts it at I i+1.

87 中断的影响乱序完成 (Out-of-order Completion) I 1 DIVD f6, f6, f4 I 2 LD f2, 45(r3) I 3 MULTD f0, f2, f4 I 4 DIVD f8, f6, f2 I 5 SUBD f10, f0, f6 I 6 ADDD f6, f8, f2 out-of-order comp restore f2 restore f10 Consider interrupts Precise interrupts are difficult to implement at high speed - want to start execution of later instructions before exception checks finished on earlier instructions

88 精确中断与推测式之间的关系 Speculation is a form of guessing Branch prediction, data prediction If we speculate and are wrong, need to back up and restart execution to point at which we predicted incorrectly This is exactly same as precise exceptions! Branch prediction is a very important Need to take our best shot at predicting branch direction. If we issue multiple instructions per cycle, lose lots of potential instructions otherwise: Consider 4 instructions per cycle If take single cycle to decide on branch, waste from 4-7 instruction slots! Technique for both precise interrupts/exceptions and speculation: in-order completion or commit This is why reorder buffers in all new processors

89 硬件对精确中断的支持 重排序缓冲器 (Reorder Buffer:ROB) 的概念 : 按 FIFO 的次序存放指令, 即指令发射的次序 每个 ROB 的表项包括 :PC 目标寄存器 结果 意外状态 当指令执行完成, 将结果放在 ROB 向其他介于读操作数 执行 完成和提交的指令提供操作数 就像保留站 将结果用重排序缓冲器 ( 就像保留站 ) 的编号来标记 指令提交 (commit) 将 ROB 顶部的数值放到寄存器中 这样, 就易于实现错误预测 路径或一次意外中的推测 FP Op Queue Res Stations FP Adder Commit path Reorder Buffer FP Regs Res Stations FP Adder

90 Separating Completion from Commit Re-order buffer holds register results from completion until commit Entries allocated in program order during decode Buffers completed values and exception state until in-order commit point Completed values can be used by dependents before committed (bypassing) Each entry holds program counter, instruction type, destination register specifier and value if any, and exception status (info often compressed to save hardware) Memory reordering needs special data structures Speculative store address and data buffers Speculative load address and data buffers

91 In-Order Commit for Precise Exceptions In-order Out-of-order In-order Fetch Decode Reorder Buffer Commit Kill Inject handler PC Kill Execute Kill Exception? Instructions fetched and decoded into instruction reorder buffer in-order Execution is out-of-order ( out-of-order completion) Commit (write-back to architectural state, i.e., regfile & memory, is in-order Temporary storage needed to hold results before commit (shadow registers and store buffers)

92 Phases of Instruction Execution PC I-cache Fetch Buffer Decode/Rename Issue Buffer Functional Units Result Buffer Commit Architectural State Fetch: Instruction bits retrieved from instruction cache. Decode: Instructions dispatched to appropriate issue buffer Execute: Instructions and operands issued to functional units. When execution completes, all results and exception flags are available. Commit: Instruction irrevocably updates architectural state (aka graduation ), or takes precise trap/interrupt.

93 In-Order versus Out-of-Order Phases Instruction fetch/decode/rename always inorder Need to parse ISA sequentially to get correct semantics Proposals for speculative OoO instruction fetch, e.g., Multiscalar. Predict control flow and data dependencies across sequential program segments fetched/decoded/executed in parallel, fixup if prediction wrong Dispatch (place instruction into machine buffers to wait for issue) also always inorder Dispatch sometimes used to mean issue, but not in these lectures 93

94 In-Order Versus Out-of-Order Issue In-order issue: Issue stalls on RAW dependencies or structural hazards, or possibly WAR/WAW hazards Instruction cannot issue to execution units unless all preceding instructions have issued to execution units Out-of-order issue: Instructions dispatched in program order to reservation stations (or other forms of instruction buffer) to wait for operands to arrive, or other hazards to clear While earlier instructions wait in issue buffers, following instructions can be dispatched and issued out-of-order 94

95 In-Order versus Out-of-Order Completion All but the simplest machines have out-oforder completion, due to different latencies of functional units and desire to bypass values as soon as available Classic RISC 5-stage integer pipeline just barely has in-order completion Load takes two cycles, but following one-cycle integer op completes at same time, not earlier Adding pipelined FPU immediately brings OoO completion 95

96 In-Order versus Out-of-Order Commit In-order commit supports precise traps, standard today Some proposals to reduce the cost of inorder commit by retiring some instructions early to compact reorder buffer, but this is just an optimized in-order commit Out-of-order commit was effectively what early OoO machines implemented (imprecise traps) as completion irrevocably changed machine state

97 OoO Design Choices Where are reservation stations? Part of reorder buffer, or in separate issue window? Distributed by functional units, or centralized? How is register renaming performed? Tags and data held in reservation stations, with separate architectural register file Tags only in reservation stations, data held in unified physical register file 97

98 Reorder buffer Data-in-ROB Design (HP PA8000, Pentium Pro, Core2Duo, Nehalem) Register File holds only committed state Ins# use exec op p1 src1 p2 src2 pd dest data t 1 t 2.. t n Load Unit FU FU FU Store Unit Commit < t, result > On dispatch into ROB, ready sources can be in regfile or in ROB dest (copied into src1/src2 if ready before dispatch) On completion, write to dest field and broadcast to src fields. On issue, read from ROB src fields

99 Data Movement in Data-in-ROB Design

100 支持精确中断的 ROB 扩展 Inst# use exec op p1 src1 p2 src2 pd dest data cause ptr 2 next to commit ptr 1 next available Reorder buffer add <pd, dest, data, cause> fields in the instruction template commit instructions to reg file and memory in program order buffers can be maintained circularly on exception, clear reorder buffer by resetting ptr 1 =ptr 2 (stores must wait for commit before updating memory)

101 Register File (now holds only committed state) 回卷和换名 Rollback and Renaming Reorder buffer Ins# use exec op p1 src1 p2 src2 pd dest data t 1 t 2.. t n Load Unit Register file does not contain renaming tags any more. How does the decode stage find the tag of a source register? Search the dest field in the reorder buffer FU FU FU Store Unit Commit < t, result >

102 换名表 (Renaming Table) Rename Table r 1 t v r 2 tag valid bit Register File Reorder buffer Ins# use exec op p1 src1 p2 src2 pd dest data t 1 t 2.. t n Load Unit FU FU FU Store Unit Commit < t, result > Renaming table is a cache to speed up register name look up. It needs to be cleared after each exception taken. When else are valid bits cleared? Control transfers

103 显式寄存器换名 Make use of a physical register file that is larger than number of registers specified by ISA Key insight: Allocate a new physical destination register for every instruction that writes Very similar to a compiler transformation called Static Single Assignment (SSA) form but in hardware! Removes all chance of WAR or WAW hazards Like Tomasulo, good for allowing full out-of-order completion Like hardware-based dynamic compilation? Mechanism? Keep a translation table: ISA register physical register mapping When register written, replace entry with new register from freelist. Physical register becomes free when not used by any active instructions

104 显式寄存器换名的优点 Decouples renaming from scheduling: Pipeline can be exactly like standard MIPS pipeline (perhaps with multiple operations issued per cycle) Or, pipeline could be tomasulo-like or a scoreboard, etc. Standard forwarding or bypassing could be used Allows data to be fetched from single register file No need to bypass values from reorder buffer This can be important for balancing pipeline Some processors use a variant of this technique: R10000, Alpha 21264, HP PA8000 Another way to get precise interrupt points: All that needs to be undone for precise break point is to undo the table mappings This provides an interesting mix between reorder buffer and future file Results are written immediately back to register file Registers names are freed in program order (by ROB)

105 Registers Functional Units 能够在记分板中使用显式寄存器换名策略 FP Mult FP Mult FP Divide FP Add Integer Rename Table SCOREBOARD Memory

106 采用显式寄存器换名策略的记分板控制 Issue decode instructions & check for structural hazards & allocate new physical register for result Instructions issued in program order (for hazard checking) Don t issue if no free physical registers Don t issue if structural hazard Read operands wait until no hazards, read operands All real dependencies (RAW hazards) resolved in this stage, since we wait for instructions to write back data. Execution operate on operands The functional unit begins execution upon receiving operands. When the result is ready, it notifies the scoreboard Write result finish execution Note: No checks for WAR or WAW hazards!

107 Scoreboard With Explicit Renaming Instruction status: Read Exec Write Instruction j k Issue Oper Comp Result LD F6 34+ R2 LD F2 45+ R3 MULTD F0 F2 F4 SUBD F8 F6 F2 DIVD F10 F0 F6 ADDD F6 F8 F2 Functional unit status: dest S1 S2 FU FU Fj? Fk? Time Name Busy Op Fi Fj Fk Qj Qk Rj Rk Int1 Int2 Mult1 Add Divide No No No No No Register Rename and Result Clock F0 F2 F4 F6 F8 F10 F12... F30 FU P0 P2 P4 P6 P8 P10 P12 P30 Initialized Rename Table

108 Instruction status: Renamed Scoreboard 1 Read Exec Write Instruction j k Issue Oper Comp Result LD F6 34+ R2 1 LD F2 45+ R3 MULTD F0 F2 F4 SUBD F8 F6 F2 DIVD F10 F0 F6 ADDD F6 F8 F2 Functional unit status: dest S1 S2 FU FU Fj? Fk? Time Name Busy Op Fi Fj Fk Qj Qk Rj Rk Int1 Yes Load P32 R2 Yes Int2 No Mult1 No Add No Divide No Register Rename and Result Clock F0 F2 F4 F6 F8 F10 F12... F30 1 FU P0 P2 P4 P32 P8 P10 P12 P30 Each instruction allocates free register Similar to single-assignment compiler transformation

109 Instruction status: Renamed Scoreboard 2 Read Exec Write Instruction j k Issue Oper Comp Result LD F6 34+ R2 1 2 LD F2 45+ R3 2 MULTD F0 F2 F4 SUBD F8 F6 F2 DIVD F10 F0 F6 ADDD F6 F8 F2 Functional unit status: dest S1 S2 FU FU Fj? Fk? Time Name Busy Op Fi Fj Fk Qj Qk Rj Rk Int1 Yes Load P32 R2 Yes Int2 Yes Load P34 R3 Yes Mult1 No Add No Divide No Register Rename and Result Clock F0 F2 F4 F6 F8 F10 F12... F30 2 FU P0 P34 P4 P32 P8 P10 P12 P30

110 Instruction status: Renamed Scoreboard 3 Read Exec Write Instruction j k Issue Oper Comp Result LD F6 34+ R LD F2 45+ R3 2 3 MULTD F0 F2 F4 3 SUBD F8 F6 F2 DIVD F10 F0 F6 ADDD F6 F8 F2 Functional unit status: dest S1 S2 FU FU Fj? Fk? Time Name Busy Op Fi Fj Fk Qj Qk Rj Rk Int1 Yes Load P32 R2 Yes Int2 Yes Load P34 R3 Yes Mult1 Yes Multd P36 P34 P4 Int2 No Yes Add No Divide No Register Rename and Result Clock F0 F2 F4 F6 F8 F10 F12... F30 3 FU P36 P34 P4 P32 P8 P10 P12 P30

111 Instruction status: Renamed Scoreboard 4 Read Exec Write Instruction j k Issue Oper Comp Result LD F6 34+ R LD F2 45+ R MULTD F0 F2 F4 3 SUBD F8 F6 F2 4 DIVD F10 F0 F6 ADDD F6 F8 F2 Functional unit status: dest S1 S2 FU FU Fj? Fk? Time Name Busy Op Fi Fj Fk Qj Qk Rj Rk Int1 No Int2 Yes Load P34 R3 Yes Mult1 Yes Multd P36 P34 P4 Int2 No Yes Add Yes Sub P38 P32 P34 Int2 Yes No Divide No Register Rename and Result Clock F0 F2 F4 F6 F8 F10 F12... F30 4 FU P36 P34 P4 P32 P38 P10 P12 P30

112 Instruction status: Renamed Scoreboard 5 Read Exec Write Instruction j k Issue Oper Comp Result LD F6 34+ R LD F2 45+ R MULTD F0 F2 F4 3 SUBD F8 F6 F2 4 DIVD F10 F0 F6 5 ADDD F6 F8 F2 Functional unit status: dest S1 S2 FU FU Fj? Fk? Time Name Busy Op Fi Fj Fk Qj Qk Rj Rk Int1 No Int2 No Mult1 Yes Multd P36 P34 P4 Yes Yes Add Yes Sub P38 P32 P34 Yes Yes Divide Yes Divd P40 P36 P32 Mult1 No Yes Register Rename and Result Clock F0 F2 F4 F6 F8 F10 F12... F30 5 FU P36 P34 P4 P32 P38 P40 P12 P30

113 Instruction status: Renamed Scoreboard 6 Read Exec Write Instruction j k Issue Oper Comp Result LD F6 34+ R LD F2 45+ R MULTD F0 F2 F4 3 6 SUBD F8 F6 F2 4 6 DIVD F10 F0 F6 5 ADDD F6 F8 F2 Functional unit status: dest S1 S2 FU FU Fj? Fk? Time Name Busy Op Fi Fj Fk Qj Qk Rj Rk Int1 No Int2 No 10 Mult1 Yes Multd P36 P34 P4 Yes Yes 2 Add Yes Sub P38 P32 P34 Yes Yes Divide Yes Divd P40 P36 P32 Mult1 No Yes Register Rename and Result Clock F0 F2 F4 F6 F8 F10 F12... F30 6 FU P36 P34 P4 P32 P38 P40 P12 P30

114 Instruction status: Renamed Scoreboard 7 Read Exec Write Instruction j k Issue Oper Comp Result LD F6 34+ R LD F2 45+ R MULTD F0 F2 F4 3 6 SUBD F8 F6 F2 4 6 DIVD F10 F0 F6 5 ADDD F6 F8 F2 Functional unit status: dest S1 S2 FU FU Fj? Fk? Time Name Busy Op Fi Fj Fk Qj Qk Rj Rk Int1 No Int2 No 9 Mult1 Yes Multd P36 P34 P4 Yes Yes 1 Add Yes Sub P38 P32 P34 Yes Yes Divide Yes Divd P40 P36 P32 Mult1 No Yes Register Rename and Result Clock F0 F2 F4 F6 F8 F10 F12... F30 7 FU P36 P34 P4 P32 P38 P40 P12 P30

115 Instruction status: Renamed Scoreboard 8 Read Exec Write Instruction j k Issue Oper Comp Result LD F6 34+ R LD F2 45+ R MULTD F0 F2 F4 3 6 SUBD F8 F6 F DIVD F10 F0 F6 5 ADDD F6 F8 F2 Functional unit status: dest S1 S2 FU FU Fj? Fk? Time Name Busy Op Fi Fj Fk Qj Qk Rj Rk Int1 No Int2 No 8 Mult1 Yes Multd P36 P34 P4 Yes Yes 0 Add Yes Sub P38 P32 P34 Yes Yes Divide Yes Divd P40 P36 P32 Mult1 No Yes Register Rename and Result Clock F0 F2 F4 F6 F8 F10 F12... F30 8 FU P36 P34 P4 P32 P38 P40 P12 P30

116 Instruction status: Renamed Scoreboard 9 Read Exec Write Instruction j k Issue Oper Comp Result LD F6 34+ R LD F2 45+ R MULTD F0 F2 F4 3 6 SUBD F8 F6 F DIVD F10 F0 F6 5 ADDD F6 F8 F2 Functional unit status: dest S1 S2 FU FU Fj? Fk? Time Name Busy Op Fi Fj Fk Qj Qk Rj Rk Int1 No Int2 No 7 Mult1 Yes Multd P36 P34 P4 Yes Yes Add No Divide Yes Divd P40 P36 P32 Mult1 No Yes Register Rename and Result Clock F0 F2 F4 F6 F8 F10 F12... F30 9 FU P36 P34 P4 P32 P38 P40 P12 P30

第五章 重叠、流水和现代处理器技术

第五章 重叠、流水和现代处理器技术 2006 5 l t 1 t 2 t 3 t 4 I: add r1,r2,r3 J: sub r4,r1,r5 : (Hazard) : (Hazard) Instr 1 Instr 2 ( ) Cycle 1 Cycle 2 Cycle 3 Cycle 4 Cycle 5 Cycle 6 Cycle 7 Load Ifetch ALU DMem Instr 1 Ifetch ALU DMem

More information

没有幻灯片标题

没有幻灯片标题 高等计算机系统结构 Tomasulo 算法 ( 第三讲 ) 程旭 2013 年 3 月 25 日 上一讲小结 软件或硬件的指令级并行 (ILP) 循环级并行最容易判定 软件并行性取决于程序, 如果硬件不能支持就出现冒险 软件相关性 / 编译器复杂性决定编译中是否能展开循环 存储器相关是最难判定的 硬件开采 ILP 动态调度 (dynamic scheduling) 在编译时有些相关情况不能真正判定,

More information

没有幻灯片标题

没有幻灯片标题 高等计算机系统结构 Tomasulo 算法 ( 第四讲 ) 程旭 2004 年 3 月 8 日 上一讲小结 软件或硬件的指令级并行 (ILP) 循环级并行最容易判定 软件并行性取决于程序, 如果硬件不能支持就出现冒险 软件相关性 / 编译器复杂性决定编译中是否能展开循环 存储器相关是最难判定的 硬件开采 ILP 动态调度 (dynamic scheduling) 在编译时有些相关情况不能真正判定,

More information

chx10_arch03_OoOIssue.ppt [兼容模式]

chx10_arch03_OoOIssue.ppt [兼容模式] 高等计算机系统结构 Tomasulo 算法 ( 第三讲 ) 程旭 2010 年 4 月 12 日 上一讲小结 < 软件或硬件的指令级并行 (ILP) < 循环级并行最容易判定 < 软件并行性取决于程序, 如果硬件不能支持就出现冒险 < 软件相关性 / 编译器复杂性决定编译中是否能展开循环 = 存储器相关是最难判定的 < 硬件开采 ILP 动态调度 (dynamic scheduling) = 在编译时有些相关情况不能真正判定,

More information

计算机组织与系统结构

计算机组织与系统结构 高等计算机系统结构 指令级并行处理 ( 第二讲 ) 程旭 2012 年 3 月 5 日 复习 : 三种数据冒险 对于执行如下类型的指令序列 : r k (r i ) op (r j ) 真数据相关 (True Data-dependence) r 3 (r 1 ) op (r 2 ) r 5 (r 3 ) op (r 4 ) Read-after-Write (RAW) hazard 反相关 (Anti-dependence)

More information

chx10_arch02_ilp.ppt [兼容模式]

chx10_arch02_ilp.ppt [兼容模式] 高等计算机系统结构 指令级并行处理 ( 第二讲 ) 程旭 2010 年 3 月 29 日 复习 : 三种数据冒险 对于执行如下类型的指令序列 : r k (r i ) op (r j ) 真数据相关 (True Data-dependence) r 3 (r 1 ) op (r 2 ) Read-after-Write r 5 (r 3 ) op (r 4 ) (RAW) hazard 反相关 (Anti-dependence)

More information

Microsoft PowerPoint - chx08_arch02_ilp.ppt

Microsoft PowerPoint - chx08_arch02_ilp.ppt 高等计算机系统结构 指令级并行处理 ( 第二讲 ) 程旭 2008 年 10 月 13 日 复习 : 三种数据冒险 对于执行如下类型的指令序列 : r k (r i ) op (r j ) 真数据相关 (True Data-dependence) r 3 (r 1 ) op (r 2 ) Read-after-Write r 5 (r 3 ) op (r 4 ) (RAW) hazard 反相关 (Anti-dependence)

More information

Microsoft PowerPoint - CHX05_arch04_tomasulo.ppt

Microsoft PowerPoint - CHX05_arch04_tomasulo.ppt 高等计算机系统结构 Tomasulo 算法 ( 第四讲 ) 程旭 2005 年 3 月 21 日 上一讲小结 软件或硬件的指令级并行 (ILP) 循环级并行最容易判定 软件并行性取决于程序, 如果硬件不能支持就出现冒险 软件相关性 / 编译器复杂性决定编译中是否能展开循环 存储器相关是最难判定的 硬件开采 ILP 在编译时有些相关情况不能真正判定 针对某一机器产生的代码可以在另一机器上有效运行 记分板的核心思想

More information

计算机组织与系统结构

计算机组织与系统结构 高等计算机系统结构 指令级并行处理 ( 第三讲 ) 程旭 2014 年 3 月 31 日 三种数据相关 1. Data dependences (also called true data dependences) 2. name dependences 3. control dependences An instruction j is data dependent on instruction

More information

计算机组织与系统结构

计算机组织与系统结构 高等计算机系统结构 指令级并行处理 ( 第二讲 ) 程旭 2016 年 3 月 14 日 三种指令相关 1. Data dependences (also called true data dependences) 2. name dependences 3. control dependences An instruction j is data dependent on instruction

More information

计算机组织与系统结构

计算机组织与系统结构 高等计算机系统结构 指令级并行处理 ( 第二讲 ) 程旭 2015 年 3 月 30 日 三种指令相关 1. Data dependences (also called true data dependences) 2. name dependences 3. control dependences An instruction j is data dependent on instruction

More information

计算机组织与系统结构

计算机组织与系统结构 高等计算机系统结构 指令级并行处理 ( 第二讲 ) 程旭 2017 年 3 月 13 日 三种指令相关 1. Data dependences (also called true data dependences) 2. name dependences 3. control dependences An instruction j is data dependent on instruction

More information

2/80 2

2/80 2 2/80 2 3/80 3 DSP2400 is a high performance Digital Signal Processor (DSP) designed and developed by author s laboratory. It is designed for multimedia and wireless application. To develop application

More information

Microsoft PowerPoint - CA_03 Chapter5 Part-II_multi _V1.ppt

Microsoft PowerPoint - CA_03 Chapter5 Part-II_multi _V1.ppt Chapter5-2 The Processor: Datapath and Control (Multi-cycle implementation) 臺大電機系 吳安宇教授 V1. 03/27/2007 For 2007 DSD Course 臺大電機吳安宇教授 - 計算機結構 1 Outline 5.1 Introduction 5.2 Logic Design Conventions 5.3

More information

1 CPU

1 CPU 2000 Tel 82316285 82317634 Mail liuxd@buaa.edu.cn 1 CPU 2 CPU 7 72 A B 85 15 3 1/2 M301 2~17 : 3/4 1/2 323 IBM PC 1. 2. 3. 1. 2. 3. 1.1 Hardware Software 1.2 M3 M2 M1 1.2 M3 M1 M2 M2 M1 M1 M1 1.2 M3 M1

More information

untitled

untitled CPU!! 00-11-8 Liping zhang, Tsinghua 1 : ADD(r1, r, r) CMPLEC(r, 5, r0) MUL(r1, r, r) SUB(r1, r, r5) ADD r, ( ) r CMP. CMP r.. t t + 1 t + t + t + t + 5 t + 6 IF( ) ADD CMP MUL SUB RF NOP ADD CMP MUL SUB

More information

Pipelining Advanced

Pipelining Advanced 计算机组织与系统结构 利用流水线改进性能 Enhancing Performance with Pipelining ( 第八讲 ) 程旭 2014.12.1 上一讲总结 流水线向下传递控制信息, 就象向下传递数据一样 通过局部控制解决前递 / 暂停 意外事件会导致流水线停止 MIPS 指令系统体系结构中流水线是可见的 ( 延迟转移 延迟装入 ) 更深的流水线 更多的并行度可能获得出更高的性能 中断

More information

Microsoft PowerPoint - STU_EC_Ch08.ppt

Microsoft PowerPoint - STU_EC_Ch08.ppt 樹德科技大學資訊工程系 Chapter 8: Counters Shi-Huang Chen Fall 2010 1 Outline Asynchronous Counter Operation Synchronous Counter Operation Up/Down Synchronous Counters Design of Synchronous Counters Cascaded Counters

More information

Windows XP

Windows XP Windows XP What is Windows XP Windows is an Operating System An Operating System is the program that controls the hardware of your computer, and gives you an interface that allows you and other programs

More information

入學考試網上報名指南

入學考試網上報名指南 入 學 考 試 網 上 報 名 指 南 On-line Application Guide for Admission Examination 16/01/2015 University of Macau Table of Contents Table of Contents... 1 A. 新 申 請 網 上 登 記 帳 戶 /Register for New Account... 2 B. 填

More information

徐汇教育214/3月刊 重 点 关 注 高中生异性交往的小团体辅导 及效果研究 颜静红 摘 要 采用人际关系综合诊断量表 郑日昌编制并 与同性交往所不能带来的好处 带来稳定感和安全感 能 修订 对我校高一学生进行问卷测量 实验组前后测 在 够度过更快乐的时光 获得与别人友好相处的经验 宽容 量表总分和第 4 项因子分 异性交往困扰 上均有显著差 大度和理解力得到发展 得到掌握社会技术的机会 得到 异

More information

Microsoft PowerPoint - CA_04 Chapter6 v ppt

Microsoft PowerPoint - CA_04 Chapter6 v ppt Chap. 6 Enhancing Performance with Pipelining 臺大電機系吳安宇教授 V1. 2007/04/20 臺大電機吳安宇教授 - 計算機結構 1 Outline 6.1 An Overview of Pipelining 6.2 A Pipelined Datapath 6.3 Pipelined Control 6.4 Data Hazards and Forwarding

More information

Microsoft Word - 第四組心得.doc

Microsoft Word - 第四組心得.doc 徐 婉 真 這 四 天 的 綠 島 人 權 體 驗 營 令 我 印 象 深 刻, 尤 其 第 三 天 晚 上 吳 豪 人 教 授 的 那 堂 課, 他 讓 我 聽 到 不 同 於 以 往 的 正 義 之 聲 轉 型 正 義, 透 過 他 幽 默 熱 情 的 語 調 激 起 了 我 對 政 治 的 興 趣, 願 意 在 未 來 多 關 心 社 會 多 了 解 政 治 第 一 天 抵 達 綠 島 不 久,

More information

Microsoft PowerPoint - CA_02 Chapter5 Part-I_Single _V2.ppt

Microsoft PowerPoint - CA_02 Chapter5 Part-I_Single _V2.ppt Chapter5- The Processor: Datapath and Control (Single-cycle implementation) 臺大電機系吳安宇教授 V. 3/27/27 V2. 3/29/27 For 27 DSD Course 臺大電機吳安宇教授 - 計算機結構 Outline 5. Introduction 5.2 Logic Design Conventions 5.3

More information

穨control.PDF

穨control.PDF TCP congestion control yhmiu Outline Congestion control algorithms Purpose of RFC2581 Purpose of RFC2582 TCP SS-DR 1998 TCP Extensions RFC1072 1988 SACK RFC2018 1996 FACK 1996 Rate-Halving 1997 OldTahoe

More information

Lorem ipsum dolor sit amet, consectetuer adipiscing elit

Lorem ipsum dolor sit amet, consectetuer adipiscing elit English for Study in Australia 留 学 澳 洲 英 语 讲 座 Lesson 3: Make yourself at home 第 三 课 : 宾 至 如 归 L1 Male: 各 位 朋 友 好, 欢 迎 您 收 听 留 学 澳 洲 英 语 讲 座 节 目, 我 是 澳 大 利 亚 澳 洲 广 播 电 台 的 节 目 主 持 人 陈 昊 L1 Female: 各 位

More information

Microsoft Word - template.doc

Microsoft Word - template.doc HGC efax Service User Guide I. Getting Started Page 1 II. Fax Forward Page 2 4 III. Web Viewing Page 5 7 IV. General Management Page 8 12 V. Help Desk Page 13 VI. Logout Page 13 Page 0 I. Getting Started

More information

2005 5,,,,,,,,,,,,,,,,, , , 2174, 7014 %, % 4, 1961, ,30, 30,, 4,1976,627,,,,, 3 (1993,12 ),, 2

2005 5,,,,,,,,,,,,,,,,, , , 2174, 7014 %, % 4, 1961, ,30, 30,, 4,1976,627,,,,, 3 (1993,12 ),, 2 3,,,,,, 1872,,,, 3 2004 ( 04BZS030),, 1 2005 5,,,,,,,,,,,,,,,,, 1928 716,1935 6 2682 1928 2 1935 6 1966, 2174, 7014 %, 94137 % 4, 1961, 59 1929,30, 30,, 4,1976,627,,,,, 3 (1993,12 ),, 2 , :,,,, :,,,,,,

More information

4. 每 组 学 生 将 写 有 习 语 和 含 义 的 两 组 卡 片 分 别 洗 牌, 将 顺 序 打 乱, 然 后 将 两 组 卡 片 反 面 朝 上 置 于 课 桌 上 5. 学 生 依 次 从 两 组 卡 片 中 各 抽 取 一 张, 展 示 给 小 组 成 员, 并 大 声 朗 读 卡

4. 每 组 学 生 将 写 有 习 语 和 含 义 的 两 组 卡 片 分 别 洗 牌, 将 顺 序 打 乱, 然 后 将 两 组 卡 片 反 面 朝 上 置 于 课 桌 上 5. 学 生 依 次 从 两 组 卡 片 中 各 抽 取 一 张, 展 示 给 小 组 成 员, 并 大 声 朗 读 卡 Tips of the Week 课 堂 上 的 英 语 习 语 教 学 ( 二 ) 2015-04-19 吴 倩 MarriottCHEI 大 家 好! 欢 迎 来 到 Tips of the Week! 这 周 我 想 和 老 师 们 分 享 另 外 两 个 课 堂 上 可 以 开 展 的 英 语 习 语 教 学 活 动 其 中 一 个 活 动 是 一 个 充 满 趣 味 的 游 戏, 另 外

More information

國 立 政 治 大 學 教 育 學 系 2016 新 生 入 學 手 冊 目 錄 表 11 國 立 政 治 大 學 教 育 學 系 博 士 班 資 格 考 試 抵 免 申 請 表... 46 論 文 題 目 申 報 暨 指 導 教 授... 47 表 12 國 立 政 治 大 學 碩 博 士 班 論

國 立 政 治 大 學 教 育 學 系 2016 新 生 入 學 手 冊 目 錄 表 11 國 立 政 治 大 學 教 育 學 系 博 士 班 資 格 考 試 抵 免 申 請 表... 46 論 文 題 目 申 報 暨 指 導 教 授... 47 表 12 國 立 政 治 大 學 碩 博 士 班 論 國 立 政 治 大 學 教 育 學 系 2016 新 生 入 學 手 冊 目 錄 一 教 育 學 系 簡 介... 1 ( 一 ) 成 立 時 間... 1 ( 二 ) 教 育 目 標 與 發 展 方 向... 1 ( 三 ) 授 課 師 資... 2 ( 四 ) 行 政 人 員... 3 ( 五 ) 核 心 能 力 與 課 程 規 劃... 3 ( 六 ) 空 間 環 境... 12 ( 七 )

More information

Microsoft Word - Final Exam Review Packet.docx

Microsoft Word - Final Exam Review Packet.docx Do you know these words?... 3.1 3.5 Can you do the following?... Ask for and say the date. Use the adverbial of time correctly. Use Use to ask a tag question. Form a yes/no question with the verb / not

More information

Computer Architecture

Computer Architecture ECE 3120 Computer Systems Assembly Programming Manjeera Jeedigunta http://blogs.cae.tntech.edu/msjeedigun21 Email: msjeedigun21@tntech.edu Tel: 931-372-6181, Prescott Hall 120 Prev: Basic computer concepts

More information

Fun Time (1) What happens in memory? 1 i n t i ; 2 s h o r t j ; 3 double k ; 4 char c = a ; 5 i = 3; j = 2; 6 k = i j ; H.-T. Lin (NTU CSIE) Referenc

Fun Time (1) What happens in memory? 1 i n t i ; 2 s h o r t j ; 3 double k ; 4 char c = a ; 5 i = 3; j = 2; 6 k = i j ; H.-T. Lin (NTU CSIE) Referenc References (Section 5.2) Hsuan-Tien Lin Deptartment of CSIE, NTU OOP Class, March 15-16, 2010 H.-T. Lin (NTU CSIE) References OOP 03/15-16/2010 0 / 22 Fun Time (1) What happens in memory? 1 i n t i ; 2

More information

124 第十三期 Conflicts in the Takeover of the Land in Taiwan after the Sino-Japanese War A Case in the Change of the Japanese Names of the Taiwanese Peopl

124 第十三期 Conflicts in the Takeover of the Land in Taiwan after the Sino-Japanese War A Case in the Change of the Japanese Names of the Taiwanese Peopl 123 戰後初期臺灣土地接收的糾紛 以更改日式姓名的臺人遭遇為例 124 第十三期 Conflicts in the Takeover of the Land in Taiwan after the Sino-Japanese War A Case in the Change of the Japanese Names of the Taiwanese People Abstract By Ho Fung-jiao

More information

A dissertation for Master s degree Metro Indoor Coverage Systems Analysis And Design Author s Name: Sheng Hailiang speciality: Supervisor:Prof.Li Hui,

A dissertation for Master s degree Metro Indoor Coverage Systems Analysis And Design Author s Name: Sheng Hailiang speciality: Supervisor:Prof.Li Hui, 中 国 科 学 技 术 大 学 工 程 硕 士 学 位 论 文 地 铁 内 移 动 通 信 室 内 覆 盖 分 析 及 应 用 作 者 姓 名 : 学 科 专 业 : 盛 海 亮 电 子 与 通 信 导 师 姓 名 : 李 辉 副 教 授 赵 红 媛 高 工 完 成 时 间 : 二 八 年 三 月 十 日 University of Science and Technology of Ch A dissertation

More information

1.ai

1.ai HDMI camera ARTRAY CO,. LTD Introduction Thank you for purchasing the ARTCAM HDMI camera series. This manual shows the direction how to use the viewer software. Please refer other instructions or contact

More information

Microsoft PowerPoint - ch6 [相容模式]

Microsoft PowerPoint - ch6 [相容模式] UiBinder wzyang@asia.edu.tw UiBinder Java GWT UiBinder XML UI i18n (widget) 1 2 UiBinder HelloWidget.ui.xml: UI HelloWidgetBinder HelloWidget.java XML UI Owner class ( Composite ) UI XML UiBinder: Owner

More information

C/C++ - 字符输入输出和字符确认

C/C++ - 字符输入输出和字符确认 C/C++ Table of contents 1. 2. getchar() putchar() 3. (Buffer) 4. 5. 6. 7. 8. 1 2 3 1 // pseudo code 2 read a character 3 while there is more input 4 increment character count 5 if a line has been read,

More information

hks298cover&back

hks298cover&back 2957 6364 2377 3300 2302 1087 www.scout.org.hk scoutcraft@scout.org.hk 2675 0011 5,500 Service and Scouting Recently, I had an opportunity to learn more about current state of service in Hong Kong

More information

Microsoft PowerPoint - chx09_org16_pipelining_3.ppt

Microsoft PowerPoint - chx09_org16_pipelining_3.ppt 计算机组织与系统结构 利用流水线改进性能 Enhancing Performance with Pipelining ( 第十六讲 ) 程旭 2009.6.4 上一讲总结 流水线向下传递控制信息, 就象向下传递数据一样 通过局部控制解决前递 / 暂停 意外事件会导致流水线停止 MIPS 指令系统体系结构中流水线是可见的 ( 延迟转移 延迟装入 ) 更深的流水线 更多的并行度可能获得出更高的性能 中断

More information

Microsoft Word - 武術合併

Microsoft Word - 武術合併 11/13 醫 學 系 一 年 級 張 雲 筑 武 術 課 開 始, 老 師 並 不 急 著 帶 我 們 舞 弄 起 來, 而 是 解 說 著 支 配 氣 的 流 動 為 何 構 成 中 國 武 術 的 追 求 目 標 武 術, 名 之 為 武 恐 怕 與 其 原 本 的 精 義 有 所 偏 差 其 實 武 術 是 為 了 讓 學 習 者 能 夠 掌 握 身 體, 保 養 身 體 而 發 展, 並

More information

國立桃園高中96學年度新生始業輔導新生手冊目錄

國立桃園高中96學年度新生始業輔導新生手冊目錄 彰 化 考 區 104 年 國 中 教 育 會 考 簡 章 簡 章 核 定 文 號 : 彰 化 縣 政 府 104 年 01 月 27 日 府 教 學 字 第 1040027611 號 函 中 華 民 國 104 年 2 月 9 日 彰 化 考 區 104 年 國 中 教 育 會 考 試 務 會 編 印 主 辦 學 校 : 國 立 鹿 港 高 級 中 學 地 址 :50546 彰 化 縣 鹿 港 鎮

More information

可 愛 的 動 物 小 五 雷 雅 理 第 一 次 小 六 甲 黃 駿 朗 今 年 暑 假 發 生 了 一 件 令 人 非 常 難 忘 的 事 情, 我 第 一 次 參 加 宿 營, 離 開 父 母, 自 己 照 顧 自 己, 出 發 前, 我 的 心 情 十 分 緊 張 當 到 達 目 的 地 後

可 愛 的 動 物 小 五 雷 雅 理 第 一 次 小 六 甲 黃 駿 朗 今 年 暑 假 發 生 了 一 件 令 人 非 常 難 忘 的 事 情, 我 第 一 次 參 加 宿 營, 離 開 父 母, 自 己 照 顧 自 己, 出 發 前, 我 的 心 情 十 分 緊 張 當 到 達 目 的 地 後 郭家朗 許鈞嵐 劉振迪 樊偉賢 林洛鋒 第 36 期 出版日期 28-3-2014 出版日期 28-3-2014 可 愛 的 動 物 小 五 雷 雅 理 第 一 次 小 六 甲 黃 駿 朗 今 年 暑 假 發 生 了 一 件 令 人 非 常 難 忘 的 事 情, 我 第 一 次 參 加 宿 營, 離 開 父 母, 自 己 照 顧 自 己, 出 發 前, 我 的 心 情 十 分 緊 張 當 到 達 目

More information

2009.05

2009.05 2009 05 2009.05 2009.05 璆 2009.05 1 亿 平 方 米 6 万 套 10 名 20 亿 元 5 个 月 30 万 亿 60 万 平 方 米 Data 围 观 CCDI 公 司 内 刊 企 业 版 P08 围 观 CCDI 管 理 学 上 有 句 名 言 : 做 正 确 的 事, 比 正 确 地 做 事 更 重 要 方 向 的 对 错 于 大 局 的 意 义 而 言,

More information

* RRB *

* RRB * *9000000000RRB0010040* *9000000000RRB0020040* *9000000000RRB0030040* *9000000000RRB0040040* *9000000000RRC0010050* *9000000000RRC0020050* *9000000000RRC0030050* *9000000000RRC0040050* *9000000000RRC0050050*

More information

untitled

untitled Ogre Rendering System http://antsam.blogone.net AntsamCGD@hotmail.com geometry systemmaterial systemshader systemrendering system API API DirectX OpenGL API Pipeline Abstraction API Pipeline Pipeline configurationpipeline

More information

1505.indd

1505.indd 上 海 市 孙 中 山 宋 庆 龄 文 物 管 理 委 员 会 上 海 宋 庆 龄 研 究 会 主 办 2015.05 总 第 148 期 图 片 新 闻 2015 年 9 月 22 日, 由 上 海 孙 中 山 故 居 纪 念 馆 台 湾 辅 仁 大 学 和 台 湾 图 书 馆 联 合 举 办 的 世 纪 姻 缘 纪 念 孙 中 山 先 生 逝 世 九 十 周 年 及 其 革 命 历 程 特 展

More information

[Group 9] Give an example of structural hazard ans 1. 假設下列指令是在只有單一記憶體的 datapath 中執行 lw $5, 100($2) add $2, $7, $4 add $4, $2, $5 sw $5, 100($2)

[Group 9] Give an example of structural hazard ans 1. 假設下列指令是在只有單一記憶體的 datapath 中執行 lw $5, 100($2) add $2, $7, $4 add $4, $2, $5 sw $5, 100($2) Computer Architecture Fall, 2017 Week 13 2017.12.04 [Group 11] 1. 請詳述為何在 MIPS 中不會發生 WAR 與 WAW 這兩種 Hazards ANS: Use simple, fixed designs WAR: 因為 Write 是第五個 Stage,Read 是第二個 Stage, 因此 Write 永遠在 Read 後面,

More information

Improved Preimage Attacks on AES-like Hash Functions: Applications to Whirlpool and Grøstl

Improved Preimage Attacks on AES-like Hash Functions: Applications to Whirlpool and Grøstl SKLOIS (Pseudo) Preimage Attack on Reduced-Round Grøstl Hash Function and Others Shuang Wu, Dengguo Feng, Wenling Wu, Jian Guo, Le Dong, Jian Zou March 20, 2012 Institute. of Software, Chinese Academy

More information

Microsoft Word doc

Microsoft Word doc 中 考 英 语 科 考 试 标 准 及 试 卷 结 构 技 术 指 标 构 想 1 王 后 雄 童 祥 林 ( 华 中 师 范 大 学 考 试 研 究 院, 武 汉,430079, 湖 北 ) 提 要 : 本 文 从 结 构 模 式 内 容 要 素 能 力 要 素 题 型 要 素 难 度 要 素 分 数 要 素 时 限 要 素 等 方 面 细 致 分 析 了 中 考 英 语 科 试 卷 结 构 的

More information

從篤加有二「區」談當代平埔文化復振現相

從篤加有二「區」談當代平埔文化復振現相 從 篤 加 有 二 邱 談 族 群 正 名 運 動 從 篤 加 有 二 邱 談 族 群 正 名 運 動 陳 榮 輝 台 南 女 子 技 術 學 院 通 識 教 育 中 心 講 師 摘 要 本 文 從 篤 加 村 非 平 埔 族 裔 的 正 名 運 動, 探 討 篤 加 村 民 因 不 認 同 廟 後 區 ( 邱 ) 所 形 成 的 平 埔 族 裔 概 念, 從 地 理 變 遷 村 廟 沿 革 族 譜

More information

K301Q-D VRT中英文说明书141009

K301Q-D VRT中英文说明书141009 THE INSTALLING INSTRUCTION FOR CONCEALED TANK Important instuction:.. Please confirm the structure and shape before installing the toilet bowl. Meanwhile measure the exact size H between outfall and infall

More information

BC04 Module_antenna__ doc

BC04 Module_antenna__ doc http://www.infobluetooth.com TEL:+86-23-68798999 Fax: +86-23-68889515 Page 1 of 10 http://www.infobluetooth.com TEL:+86-23-68798999 Fax: +86-23-68889515 Page 2 of 10 http://www.infobluetooth.com TEL:+86-23-68798999

More information

Microsoft Word - (web)_F.1_Notes_&_Application_Form(Chi)(non-SPCCPS)_16-17.doc

Microsoft Word - (web)_F.1_Notes_&_Application_Form(Chi)(non-SPCCPS)_16-17.doc 聖 保 羅 男 女 中 學 學 年 中 一 入 學 申 請 申 請 須 知 申 請 程 序 : 請 將 下 列 文 件 交 回 本 校 ( 麥 當 勞 道 33 號 ( 請 以 A4 紙 張 雙 面 影 印, 並 用 魚 尾 夾 夾 起 : 填 妥 申 請 表 並 貼 上 近 照 小 學 五 年 級 上 下 學 期 成 績 表 影 印 本 課 外 活 動 表 現 及 服 務 的 證 明 文 件 及

More information

2011年高职语文考试大纲

2011年高职语文考试大纲 2016 年 湖 北 省 普 通 高 等 学 校 招 收 中 职 毕 业 生 技 能 高 考 文 化 综 合 考 试 大 纲 2016 年 普 通 高 等 学 校 招 收 中 职 毕 业 生 技 能 高 考, 是 由 中 等 职 业 学 校 ( 含 普 通 中 专 职 业 高 中 技 工 学 校 和 成 人 中 专 ) 机 械 类 电 子 类 计 算 机 类 会 计 专 业 护 理 专 业 建 筑

More information

ch_code_infoaccess

ch_code_infoaccess 地 產 代 理 監 管 局 公 開 資 料 守 則 2014 年 5 月 目 錄 引 言 第 1 部 段 數 適 用 範 圍 1.1-1.2 監 管 局 部 門 1.1 紀 律 研 訊 1.2 提 供 資 料 1.3-1.6 按 慣 例 公 布 或 供 查 閱 的 資 料 1.3-1.4 應 要 求 提 供 的 資 料 1.5 法 定 義 務 及 限 制 1.6 程 序 1.7-1.19 公 開 資

More information

Microsoft Word - 11月電子報1130.doc

Microsoft Word - 11月電子報1130.doc 發 行 人 : 楊 進 成 出 刊 日 期 2008 年 12 月 1 日, 第 38 期 第 1 頁 / 共 16 頁 封 面 圖 話 來 來 來, 來 葳 格 ; 玩 玩 玩, 玩 數 學 在 11 月 17 到 21 日 這 5 天 裡 每 天 一 個 題 目, 孩 子 們 依 據 不 同 年 段, 尋 找 屬 於 自 己 的 解 答, 這 些 數 學 題 目 和 校 園 情 境 緊 緊 結

More information

高中英文科教師甄試心得

高中英文科教師甄試心得 高 中 英 文 科 教 師 甄 試 心 得 英 語 學 系 碩 士 班 林 俊 呈 高 雄 市 立 高 雄 高 級 中 學 今 年 第 一 次 參 加 教 師 甄 試, 能 夠 在 尚 未 服 兵 役 前 便 考 上 高 雄 市 立 高 雄 高 級 中 學 專 任 教 師, 自 己 覺 得 很 意 外, 也 很 幸 運 考 上 後 不 久 在 與 雄 中 校 長 的 會 談 中, 校 長 的 一 句

More information

Microsoft Word - 論文封面-980103修.doc

Microsoft Word - 論文封面-980103修.doc 淡 江 大 學 中 國 文 學 學 系 碩 士 在 職 專 班 碩 士 論 文 指 導 教 授 : 呂 正 惠 蘇 敏 逸 博 士 博 士 倚 天 屠 龍 記 愛 情 敘 事 之 研 究 研 究 生 : 陳 麗 淑 撰 中 華 民 國 98 年 1 月 淡 江 大 學 研 究 生 中 文 論 文 提 要 論 文 名 稱 : 倚 天 屠 龍 記 愛 情 敘 事 之 研 究 頁 數 :128 校 系 (

More information

没有幻灯片标题

没有幻灯片标题 高等计算机系统结构 现代指令级并行技术 ( 第四讲 ) 程旭 2012 年 3 月 26 日 流水线的性能 通过更加复杂的流水线和动态调度开发隐形 (imlicit) 指令级并行性 乱序执行执行, 同时保证 : 真数据相关 (RAW) 精确中断 通过寄存器换名, 消除 WAR 和 WAW 冒险 重排序缓冲器 (Reorder buffer) 保存尚未提交 (committing) 但已完成的结果,

More information

2-7.FIT)

2-7.FIT) 文 化 园 地 8 2009 年 8 月 18 日 星 期 二 E-mail:liuliyuan@qunlitimes.com 群 立 文 化 感 受 今 天 你 开 心 了 吗? 周 传 喜 群 雄 争 立 竞 争 意 识 ; 傲 立 群 雄 奋 斗 目 标, 这 几 句 话 一 直 是 群 立 的 文 化 和 方 针, 也 同 样 是 我 很 喜 欢 的 座 右 铭 我 想 这 几 句 话 生

More information

東吳大學

東吳大學 律 律 論 論 療 行 The Study on Medical Practice and Coercion 林 年 律 律 論 論 療 行 The Study on Medical Practice and Coercion 林 年 i 讀 臨 療 留 館 讀 臨 律 六 礪 讀 不 冷 療 臨 年 裡 歷 練 禮 更 老 林 了 更 臨 不 吝 麗 老 劉 老 論 諸 見 了 年 金 歷 了 年

More information

TX-NR3030_BAS_Cs_ indd

TX-NR3030_BAS_Cs_ indd TX-NR3030 http://www.onkyo.com/manual/txnr3030/adv/cs.html Cs 1 2 3 Speaker Cable 2 HDMI OUT HDMI IN HDMI OUT HDMI OUT HDMI OUT HDMI OUT 1 DIGITAL OPTICAL OUT AUDIO OUT TV 3 1 5 4 6 1 2 3 3 2 2 4 3 2 5

More information

A Preliminary Implementation of Linux Kernel Virus and Process Hiding

A Preliminary Implementation of Linux Kernel Virus and Process Hiding 邵 俊 儒 翁 健 吉 妍 年 月 日 学 号 学 号 学 号 摘 要 结 合 课 堂 知 识 我 们 设 计 了 一 个 内 核 病 毒 该 病 毒 同 时 具 有 木 马 的 自 动 性 的 隐 蔽 性 和 蠕 虫 的 感 染 能 力 该 病 毒 获 得 权 限 后 会 自 动 将 自 身 加 入 内 核 模 块 中 劫 持 的 系 统 调 用 并 通 过 简 单 的 方 法 实 现 自 身 的

More information

前 言 一 場 交 換 學 生 的 夢, 夢 想 不 只 是 敢 夢, 而 是 也 要 敢 去 實 踐 為 期 一 年 的 交 換 學 生 生 涯, 說 長 不 長, 說 短 不 短 再 長 的 路, 一 步 步 也 能 走 完 ; 再 短 的 路, 不 踏 出 起 步 就 無 法 到 達 這 次

前 言 一 場 交 換 學 生 的 夢, 夢 想 不 只 是 敢 夢, 而 是 也 要 敢 去 實 踐 為 期 一 年 的 交 換 學 生 生 涯, 說 長 不 長, 說 短 不 短 再 長 的 路, 一 步 步 也 能 走 完 ; 再 短 的 路, 不 踏 出 起 步 就 無 法 到 達 這 次 壹 教 育 部 獎 助 國 內 大 學 校 院 選 送 優 秀 學 生 出 國 研 修 之 留 學 生 成 果 報 告 書 奧 地 利 約 翰 克 卜 勒 大 學 (JKU) 留 學 心 得 原 就 讀 學 校 / 科 系 / 年 級 : 長 榮 大 學 / 財 務 金 融 學 系 / 四 年 級 獲 獎 生 姓 名 : 賴 欣 怡 研 修 國 家 : 奧 地 利 研 修 學 校 : 約 翰 克 普

More information

Microsoft Word - TIP006SCH Uni-edit Writing Tip - Presentperfecttenseandpasttenseinyourintroduction readytopublish

Microsoft Word - TIP006SCH Uni-edit Writing Tip - Presentperfecttenseandpasttenseinyourintroduction readytopublish 我 难 度 : 高 级 对 们 现 不 在 知 仍 道 有 听 影 过 响 多 少 那 次 么 : 研 英 究 过 文 论 去 写 文 时 作 的 表 技 引 示 巧 言 事 : 部 情 引 分 发 言 该 生 使 在 中 用 过 去, 而 现 在 完 成 时 仅 表 示 事 情 发 生 在 过 去, 并 的 哪 现 种 在 时 完 态 成 呢 时? 和 难 过 道 去 不 时 相 关? 是 所 有

More information

92 (When) (Where) (What) (Productivity) (Efficiency) () (2) (3) (4) (5) (6) (7) em-plant( SiMPLE++) Scheduling When Where Productivity Efficiency [5]

92 (When) (Where) (What) (Productivity) (Efficiency) () (2) (3) (4) (5) (6) (7) em-plant( SiMPLE++) Scheduling When Where Productivity Efficiency [5] DYNAMIC SCHEDULING IN TWO-MACHINE FLOW-SHOP WITH RECIRCULATION em-plant( SiMPLE++) Jen-Shiang Chen, Jar-Her Kao, Chun-Chieh Chen, Po-Cheng Liu, and Wen-Pin Lin Department of Industrial Engineering and

More information

VASP应用运行优化

VASP应用运行优化 1 VASP wszhang@ustc.edu.cn April 8, 2018 Contents 1 2 2 2 3 2 4 2 4.1........................................................ 2 4.2..................................................... 3 5 4 5.1..........................................................

More information

快乐蜂(Jollibee)快餐连锁店 的国际扩张历程

快乐蜂(Jollibee)快餐连锁店 的国际扩张历程 Case6 Jollibee Foods Corporation Jollibee FAN Libo Case Synopsis (1) The case opens with a trigger issue focused on three investment decisions facing the international division new manager, Noli Tingzon.

More information

Panaboard Overlayer help

Panaboard Overlayer help Panaboard Overlayer Image Capture Software for Electronic Whiteboard (Panaboard) ... 3... 5... 6... 13...14 Panaboard Overlayer 1. 2. 3. 4. 4-1. 4-2. [ / ] ( ) 4-3. 5. 6. 6-1. 6-2. [ / ] ( ) 7. Panaboard

More information

<4D6963726F736F667420576F7264202D2032303130C4EAC0EDB9A4C0E04142BCB6D4C4B6C1C5D0B6CFC0FDCCE2BEABD1A15F325F2E646F63>

<4D6963726F736F667420576F7264202D2032303130C4EAC0EDB9A4C0E04142BCB6D4C4B6C1C5D0B6CFC0FDCCE2BEABD1A15F325F2E646F63> 2010 年 理 工 类 AB 级 阅 读 判 断 例 题 精 选 (2) Computer mouse How does the mouse work? We have to start at the bottom, so think upside down for now. It all starts with mouse ball. As the mouse ball in the bottom

More information

國立中山大學學位論文典藏.PDF

國立中山大學學位論文典藏.PDF 國 立 中 山 大 學 企 業 管 理 學 系 碩 士 論 文 以 系 統 動 力 學 建 構 美 食 餐 廳 異 國 麵 坊 之 管 理 飛 行 模 擬 器 研 究 生 : 簡 蓮 因 撰 指 導 教 授 : 楊 碩 英 博 士 中 華 民 國 九 十 七 年 七 月 致 謝 詞 寫 作 論 文 的 過 程 是 一 段 充 滿 艱 辛 與 淚 水 感 動 與 窩 心 的 歷 程, 感 謝 這 一

More information

软件测试(TA07)第一学期考试

软件测试(TA07)第一学期考试 一 判 断 题 ( 每 题 1 分, 正 确 的, 错 误 的,20 道 ) 1. 软 件 测 试 按 照 测 试 过 程 分 类 为 黑 盒 白 盒 测 试 ( ) 2. 在 设 计 测 试 用 例 时, 应 包 括 合 理 的 输 入 条 件 和 不 合 理 的 输 入 条 件 ( ) 3. 集 成 测 试 计 划 在 需 求 分 析 阶 段 末 提 交 ( ) 4. 单 元 测 试 属 于 动

More information

Gerolor Motors Series Dimensions A,B C T L L G1/2 M8 G1/ A 4 C H4 E

Gerolor Motors Series Dimensions A,B C T L L G1/2 M8 G1/ A 4 C H4 E Gerolor Motors Series Size CC-A Flange Options-B Shaft Options-C Ports Features 0 0 12 12 1 1 0 0 2 2 31 31 0 0 SAE A 2 Bolt - (2) 4 Bolt Magneto (4) 4 Bolt Square (H4) 1.0" Keyed (C) 2mm Keyed (A) 1.0'

More information

Microsoft Word - CX VMCO 3 easy step v1.doc

Microsoft Word - CX VMCO 3 easy step v1.doc Abacus Fully Automated Process of VMCO on CX, KA, CPH & KAH 16 Nov 2009 To streamline the VMCO handling on CX, KA, CPH & KAH, Abacus is pleased to inform you that manual submission of VMCO to CX/KA/CPH/KAH

More information

Microsoft PowerPoint - ryz_030708_pwo.ppt

Microsoft PowerPoint - ryz_030708_pwo.ppt Long Term Recovery of Seven PWO Crystals Ren-yuan Zhu California Institute of Technology CMS ECAL Week, CERN Introduction 20 endcap and 5 barrel PWO crystals went through (1) thermal annealing at 200 o

More information

Untitled-3

Untitled-3 SEC.. Separable Equations In each of problems 1 through 8 solve the given differential equation : ü 1. y ' x y x y, y 0 fl y - x 0 fl y - x 0 fl y - x3 3 c, y 0 ü. y ' x ^ y 1 + x 3 x y 1 + x 3, y 0 fl

More information

投影片 1

投影片 1 2 理 1 2-1 CPU 2-2 CPU 理 2-3 CPU 類 2 什 CPU CPU Central Processing Unit ( 理 ), 理 (Processor), CPU 料 ( 例 ) 邏 ( 例 ),, 若 了 CPU, 3 什 CPU CPU 了, 行, 利 CPU 力 來 行 4 什 CPU 5 2-2-1 CPU CPU 了 (CU, Control Unit) / 邏

More information

Edge-Triggered Rising Edge-Triggered ( Falling Edge-Triggered ( Unit 11 Latches and Flip-Flops 3 Timing for D Flip-Flop (Falling-Edge Trigger) Unit 11

Edge-Triggered Rising Edge-Triggered ( Falling Edge-Triggered ( Unit 11 Latches and Flip-Flops 3 Timing for D Flip-Flop (Falling-Edge Trigger) Unit 11 Latches and Flip-Flops 11.1 Introduction 11.2 Set-Reset Latch 11.3 Gated D Latch 11.4 Edge-Triggered D Flip-Flop 11.5 S-R Flip-Flop 11.6 J-K Flip-Flop 11.7 T Flip-Flop 11.8 Flip-Flops with additional Inputs

More information

Microsoft Word - SupplyIT manual 3_cn_david.doc

Microsoft Word - SupplyIT manual 3_cn_david.doc MR PRICE Supply IT Lynette Rajiah 1 3 2 4 3 5 4 7 4.1 8 4.2 8 4.3 8 5 9 6 10 6.1 16 6.2 17 6.3 18 7 21 7.1 24 7.2 25 7.3 26 7.4 27 7.5 28 7.6 29 7.7 30 7.8 31 7.9 32 7.10 32 7.11 33 7.12 34 1 7.13 35 7.14

More information

Microsoft PowerPoint - CH 04 Techniques of Circuit Analysis

Microsoft PowerPoint - CH 04 Techniques of Circuit Analysis Chap. 4 Techniques of Circuit Analysis Contents 4.1 Terminology 4.2 Introduction to the Node-Voltage Method 4.3 The Node-Voltage Method and Dependent Sources 4.4 The Node-Voltage Method: Some Special Cases

More information

A Study on the Relationships of the Co-construction Contract A Study on the Relationships of the Co-Construction Contract ( ) ABSTRACT Co-constructio in the real estate development, holds the quite

More information

國 史 館 館 刊 第 23 期 Chiang Ching-kuo s Educational Innovation in Southern Jiangxi and Its Effects (1941-1943) Abstract Wen-yuan Chu * Chiang Ching-kuo wa

國 史 館 館 刊 第 23 期 Chiang Ching-kuo s Educational Innovation in Southern Jiangxi and Its Effects (1941-1943) Abstract Wen-yuan Chu * Chiang Ching-kuo wa 國 史 館 館 刊 第 二 十 三 期 (2010 年 3 月 ) 119-164 國 史 館 1941-1943 朱 文 原 摘 要 1 關 鍵 詞 : 蔣 經 國 贛 南 學 校 教 育 社 會 教 育 掃 盲 運 動 -119- 國 史 館 館 刊 第 23 期 Chiang Ching-kuo s Educational Innovation in Southern Jiangxi and

More information

國立中山大學學位論文典藏.PDF

國立中山大學學位論文典藏.PDF I II III IV V VI In recent years, the Taiwan s TV talk shows about the political topic have a bias in favour of party. In Taiwan, there are two property of party, one is called Blue property of party,

More information

致 谢 开 始 这 篇 致 谢 的 时 候, 以 为 这 是 最 轻 松 最 愉 快 的 部 分, 而 此 时 心 头 却 充 满 了 沉 甸 甸 的 回 忆 和 感 恩, 一 时 间 竟 无 从 下 笔 虽 然 这 远 不 是 一 篇 完 美 的 论 文, 但 完 成 这 篇 论 文 要 感 谢

致 谢 开 始 这 篇 致 谢 的 时 候, 以 为 这 是 最 轻 松 最 愉 快 的 部 分, 而 此 时 心 头 却 充 满 了 沉 甸 甸 的 回 忆 和 感 恩, 一 时 间 竟 无 从 下 笔 虽 然 这 远 不 是 一 篇 完 美 的 论 文, 但 完 成 这 篇 论 文 要 感 谢 中 国 科 学 技 术 大 学 博 士 学 位 论 文 论 文 课 题 : 一 个 新 型 简 易 电 子 直 线 加 速 器 的 关 键 技 术 研 究 学 生 姓 名 : 导 师 姓 名 : 单 位 名 称 : 专 业 名 称 : 研 究 方 向 : 完 成 时 间 : 谢 家 麟 院 士 王 相 綦 教 授 国 家 同 步 辐 射 实 验 室 核 技 术 及 应 用 加 速 器 物 理 2006

More information

Your Field Guide to More Effective Global Video Conferencing As a global expert in video conferencing, and a geographically dispersed company that uses video conferencing in virtually every aspect of its

More information

多核心CPU成長日記.doc

多核心CPU成長日記.doc 篇 名 : 多 核 心 CPU 成 長 日 記 作 者 : 劉 重 安 國 立 溪 湖 高 中 高 三 11 班 趙 芃 凱 國 立 溪 湖 高 中 高 三 11 班 蔡 文 凱 國 立 溪 湖 高 中 高 三 11 班 指 導 老 師 : 潘 秀 欽 老 師 第 1 頁 壹 前 言 微 處 理 器 (CPU, 被 稱 為 中 央 處 理 器 ) 可 說 是 電 腦 系 統 的 大 腦, 掌 管 整

More information

untitled

untitled Co-integration and VECM Yi-Nung Yang CYCU, Taiwan May, 2012 不 列 1 Learning objectives Integrated variables Co-integration Vector Error correction model (VECM) Engle-Granger 2-step co-integration test Johansen

More information

Microsoft PowerPoint - Aqua-Sim.pptx

Microsoft PowerPoint - Aqua-Sim.pptx Peng Xie, Zhong Zhou, Zheng Peng, Hai Yan, Tiansi Hu, Jun-Hong Cui, Zhijie Shi, Yunsi Fei, Shengli Zhou Underwater Sensor Network Lab 1 Outline Motivations System Overview Aqua-Sim Components Experimental

More information

Important Notice SUNPLUS TECHNOLOGY CO. reserves the right to change this documentation without prior notice. Information provided by SUNPLUS TECHNOLO

Important Notice SUNPLUS TECHNOLOGY CO. reserves the right to change this documentation without prior notice. Information provided by SUNPLUS TECHNOLO Car DVD New GUI IR Flow User Manual V0.1 Jan 25, 2008 19, Innovation First Road Science Park Hsin-Chu Taiwan 300 R.O.C. Tel: 886-3-578-6005 Fax: 886-3-578-4418 Web: www.sunplus.com Important Notice SUNPLUS

More information

<4D6963726F736F667420576F7264202D205F4230365FB942A5CEA668B443C5E9BB73A740B5D8A4E5B8C9A552B1D0A7F75FA6BFB1A4ACFC2E646F63>

<4D6963726F736F667420576F7264202D205F4230365FB942A5CEA668B443C5E9BB73A740B5D8A4E5B8C9A552B1D0A7F75FA6BFB1A4ACFC2E646F63> 運 用 多 媒 體 製 作 華 文 補 充 教 材 江 惜 美 銘 傳 大 學 應 用 中 文 系 chm248@gmail.com 摘 要 : 本 文 旨 在 探 究 如 何 運 用 多 媒 體, 結 合 文 字 聲 音 圖 畫, 製 作 華 文 補 充 教 材 當 我 們 在 進 行 華 文 教 學 時, 往 往 必 須 透 過 教 案 設 計, 並 製 作 補 充 教 材, 方 能 使 教 學

More information

<4D6963726F736F667420506F776572506F696E74202D20B5DAD2BBD5C228B4F2D3A1B0E6292E707074205BBCE6C8DDC4A3CABD5D>

<4D6963726F736F667420506F776572506F696E74202D20B5DAD2BBD5C228B4F2D3A1B0E6292E707074205BBCE6C8DDC4A3CABD5D> Homeworks ( 第 三 版 ):.4 (,, 3).5 (, 3).6. (, 3, 5). (, 4).4.6.7 (,3).9 (, 3, 5) Chapter. Number systems and codes 第 一 章. 数 制 与 编 码 . Overview 概 述 Information is of digital forms in a digital system, and

More information

Microsoft PowerPoint - ATF2015.ppt [相容模式]

Microsoft PowerPoint - ATF2015.ppt [相容模式] Improving the Video Totalized Method of Stopwatch Calibration Samuel C.K. Ko, Aaron Y.K. Yan and Henry C.K. Ma The Government of Hong Kong Special Administrative Region (SCL) 31 Oct 2015 1 Contents Introduction

More information

Gerotor Motors Series Dimensions A,B C T L L G1/2 M G1/ A 4 C H4 E

Gerotor Motors Series Dimensions A,B C T L L G1/2 M G1/ A 4 C H4 E Gerotor Motors Series Size CC-A Flange Options-B Shaft Options-C Ports Features 0 0 5 5 1 0 1 0 3 3 0 0 SAE A 2 Bolt - (2) 4 Bolt Magneto (4) 4 Bolt Square (H4) 1.0" Keyed (C) 25mm Keyed (A) 1.0' 6T Spline

More information

IP TCP/IP PC OS µclinux MPEG4 Blackfin DSP MPEG4 IP UDP Winsock I/O DirectShow Filter DirectShow MPEG4 µclinux TCP/IP IP COM, DirectShow I

IP TCP/IP PC OS µclinux MPEG4 Blackfin DSP MPEG4 IP UDP Winsock I/O DirectShow Filter DirectShow MPEG4 µclinux TCP/IP IP COM, DirectShow I 2004 5 IP TCP/IP PC OS µclinux MPEG4 Blackfin DSP MPEG4 IP UDP Winsock I/O DirectShow Filter DirectShow MPEG4 µclinux TCP/IP IP COM, DirectShow I Abstract The techniques of digital video processing, transferring

More information

A VALIDATION STUDY OF THE ACHIEVEMENT TEST OF TEACHING CHINESE AS THE SECOND LANGUAGE by Chen Wei A Thesis Submitted to the Graduate School and Colleg

A VALIDATION STUDY OF THE ACHIEVEMENT TEST OF TEACHING CHINESE AS THE SECOND LANGUAGE by Chen Wei A Thesis Submitted to the Graduate School and Colleg 上 海 外 国 语 大 学 SHANGHAI INTERNATIONAL STUDIES UNIVERSITY 硕 士 学 位 论 文 MASTER DISSERTATION 学 院 国 际 文 化 交 流 学 院 专 业 汉 语 国 际 教 育 硕 士 题 目 届 别 2010 届 学 生 陈 炜 导 师 张 艳 莉 副 教 授 日 期 2010 年 4 月 A VALIDATION STUDY

More information

WTO

WTO 10384 200015128 UDC Exploration on Design of CIB s Human Resources System in the New Stage (MBA) 2004 2004 2 3 2004 3 2 0 0 4 2 WTO Abstract Abstract With the rapid development of the high and new technique

More information

Microsoft Word - 周年報告0607_君_.DOC

Microsoft Word - 周年報告0607_君_.DOC 二 零 零 六 年 至 二 零 零 七 年 度 周 年 報 告 目 錄 辦 學 宗 旨 1 我 們 的 使 命 1 我 們 的 抱 負 1 1 學 校 資 料 1.1 學 校 簡 介 1 1.2 學 校 架 構 3 1.3 校 董 會 3 1.4 教 職 員 編 制 4 1.5 學 生 資 料 5 2 校 務 發 展 報 告 2.1 關 注 項 目 6 2.2 管 理 與 組 織 8 2.3 學 與

More information

C o n t e n t s...7... 15 1. Acceptance... 17 2. Allow Love... 19 3. Apologize... 21 4. Archangel Metatron... 23 5. Archangel Michael... 25 6. Ask for

C o n t e n t s...7... 15 1. Acceptance... 17 2. Allow Love... 19 3. Apologize... 21 4. Archangel Metatron... 23 5. Archangel Michael... 25 6. Ask for Doreen Virtue, Ph.D. Charles Virtue C o n t e n t s...7... 15 1. Acceptance... 17 2. Allow Love... 19 3. Apologize... 21 4. Archangel Metatron... 23 5. Archangel Michael... 25 6. Ask for a Sign... 27 7.

More information