TDT4255 Lecture 7: Hazards and exceptions
|
|
- Muriel Morrison
- 6 years ago
- Views:
Transcription
1 TDT4255 Lecture 7: Hazards and exceptions Donn Morrison Department of Computer Science
2 2 Outline Section 4.7: Data hazards: forwarding and stalling Section 4.8: Control hazards Section 4.9: Exceptions
3 3 Review Real-world examples of pipelining Effect of pipelining on latency Effect of pipelining on throughput What are the three types of hazards in a processor pipeline? What are the five stages of the MIPS pipeline?
4 4 Datapath with control
5 5 Data hazard example There are data dependencies in the sequence Last four instructions use register $2 Assume that $2 is 10 before the sub instruction and that $1-$3 is -20 The and instruction should use -20 for $2, but reads 10 from the register file The or instruction also reads 10 from the register file The add and sw instructions read the correct value -20 from the register file sub $2, $1, $3 and $12, $2, $5 or $13, $6, $2 add $14, $2, $2 sw $15, 100($2)
6 6 Data hazard example walkthrough
7 7 CC 1 sub $2, $1, $3 $2 = 10
8 8 CC 2 and $12, $2, $5 sub $2, $1, $3 $2 = 10
9 9 CC 3 or $13, $6, $2 and $12, $2, $5 sub $2, $1, $3 $2 = 10, and instruction reads 10 for $2, stores in ID/EX
10 10 CC 4 add $14, $2, $2 or $13, $6, $2 and $12, $2, $5 sub $2, $1, $3 $2 = 10, or instruction reads 10 for $2, stores it in ID/EX, and instruction uses 10 in ALU operation
11 11 CC 5 sw $15, 100($2) add $14, $2, $2 or $13, $6, $2 and $12, $2, $5 sub $2, $1, $3 $2 = (10/)-20, add reads new value -20 for $2 from register file, or uses 10 in ALU op
12 12 CC 6 sw $15, 100($2) add $14, $2, $2 or $13, $6, $2 and $12, $2, $5 $2 = 20, sw reads new value -20 for $2 from reg file, add uses -20 in ALU op, and writes register $12 with value calculated with $2 = 10
13 13 When is data produced/needed? sub $2, $1, $3 and $12, $2, $5 or $13, $6, $2 add $14, $2, $2 sw $15, 100($2)
14 14 CC 1 sub $2, $1, $3 $2 = 10
15 15 CC 2 and $12, $2, $5 sub $2, $1, $3 $2 = 10
16 16 CC 3 or $13, $6, $2 and $12, $2, $5 sub $2, $1, $3 $2 = 10, and instruction reads 10 for $2, stores in ID/EX
17 17 CC 4 add $14, $2, $2 or $13, $6, $2 and $12, $2, $5 sub $2, $1, $3 $2 = 10, or instruction reads 10 for $2, stores it in ID/EX, and instruction can use -20 from EX/MEM.AluOut
18 18 CC 5 sw $15, 100($2) add $14, $2, $2 or $13, $6, $2 and $12, $2, $5 sub $2, $1, $3 $2 = (10/)-20, add reads new value -20 for $2 from register file, or can use -20 from MEM/WB.AluOut
19 19 How do we know when to forward? add $14, $2, $2 or $13, $6, $2 and $12, $2, $5 sub $2, $1, $3 sw $15, 100($2) add $14, $2, $2 or $13, $6, $2 and $12, $2, $5 sub $2, $1, $3
20 20 Detecting data hazards Notation EX/MEM.RegisterRd (Register Rd in EX/MEM register) EX/MEM.AluOut (Regsiter ALUOut in EX/MEM register) Hazard conditions 1a EX/MEM.RegisterRd = ID/EX.RegisterRs 1b EX/MEM.RegisterRd = ID/EX.RegisterRt 2a MEM/WB.RegisterRd = ID/EX.RegisterRs 2b MEM/WB.RegisterRd = ID/EX.RegisterRt
21 21 Name that data hazard CC 4 add $14, $2, $2 or $13, $6, $2 and $12, $2, $5 sub $2, $1, $3 1a EX/MEM.RegisterRd = ID/EX.RegisterRs 1b EX/MEM.RegisterRd = ID/EX.RegisterRt 2a MEM/WB.RegisterRd = ID/EX.RegisterRs 2b MEM/WB.RegisterRd = ID/EX.RegisterRt sub $2, $1, $3 and $12, $2, $5 or $13, $6, $2 add $14, $2, $2 sw $15, 100($2)
22 22 Name that data hazard CC 4 add $14, $2, $2 or $13, $6, $2 and $12, $2, $5 sub $2, $1, $3 1a 1a EX/MEM.RegisterRd = ID/EX.RegisterRs 1b EX/MEM.RegisterRd = ID/EX.RegisterRt 2a MEM/WB.RegisterRd = ID/EX.RegisterRs 2b MEM/WB.RegisterRd = ID/EX.RegisterRt sub $2, $1, $3 and $12, $2, $5 or $13, $6, $2 add $14, $2, $2 sw $15, 100($2)
23 23 Name that data hazard CC 5 sw $15, 100($2) add $14, $2, $2 or $13, $6, $2 and $12, $2, $5 sub $2, $1, $3 1a EX/MEM.RegisterRd = ID/EX.RegisterRs 1b EX/MEM.RegisterRd = ID/EX.RegisterRt 2a MEM/WB.RegisterRd = ID/EX.RegisterRs 2b MEM/WB.RegisterRd = ID/EX.RegisterRt sub $2, $1, $3 and $12, $2, $5 or $13, $6, $2 add $14, $2, $2 sw $15, 100($2)
24 24 Name that data hazard CC 5 sw $15, 100($2) add $14, $2, $2 or $13, $6, $2 and $12, $2, $5 sub $2, $1, $3 2b 1a EX/MEM.RegisterRd = ID/EX.RegisterRs 1b EX/MEM.RegisterRd = ID/EX.RegisterRt 2a MEM/WB.RegisterRd = ID/EX.RegisterRs 2b MEM/WB.RegisterRd = ID/EX.RegisterRt sub $2, $1, $3 and $12, $2, $5 or $13, $6, $2 add $14, $2, $2 sw $15, 100($2)
25 25 Detecting data hazards continued Detection performed in the EX state There is no hazard if the previous instruction will not write the result RegWrite for the earlier instruction must be asserted $0 is always 0 and a write to $0 will not create dependencies 1a EX/MEM.RegWrite and EX/MEM.RegisterRd!= 0 and EX/MEM.RegisterRd = ID/EX.RegisterRs 1b EX/MEM.RegWrite and EX/MEM.RegisterRd!= 0 and EX/MEM.RegisterRd = ID/EX.RegisterRt 2a MEM/WB.RegWrite and MEM/WB.RegisterRd!= 0 and MEM/WB.RegisterRd = ID/EX.RegisterRs 2b MEM/WB.RegWrite and MEM/WB.RegisterRd!= 0 and MEM/WB.RegisterRd = ID/EX.RegisterRt
26 26 Sequence with forwarding Dependence between pipeline registers and the inputs to the ALU Required data exists in time for later instructions It is possible to supply the inputs to the ALU needed by the and instruction and or instruction by forwarding the results found in the pipeline registers
27 27 Adding forwarding logic If inputs to the ALU can be taken from any pipeline register, proper data can be forwarded By adding multiplexers to the input of the ALU, the pipeline can be run at full speed in presence of data dependencies
28 28 Forwarding unit with ALU input select
29 29 Forwarding unit control lines Mux control Source Explanation ForwardA = 00 ID/EX Alu operand A comes from the register file ForwardA = 10 EX/MEM Alu operand A comes from previous cycle ALU result ForwardA = 01 MEM/WB Alu operand A comes from previous cycle memory read or earlier ALU result ForwardB = 00 ID/EX Alu operand B comes from the register file ForwardB = 10 EX/MEM Alu operand B comes from previous cycle ALU result ForwardB = 01 MEM/WB Alu operand B comes from previous cycle memory read or earlier ALU result 1a if (EX/MEM.RegWrite and (EX/MEM.RegisterRd 0) and (EX/MEM.RegisterRd = ID/EX.RegisterRs)) ForwardA <= 10 1b if (EX/MEM.RegWrite and (EX/MEM.RegisterRd 0) and (EX/MEM.RegisterRd = ID/EX.RegisterRt)) ForwardB <= 10 2a if (MEM/WB.RegWrite and (MEM/WB.RegisterRd 0) and (MEM/WB.RegisterRd = ID/EX.RegisterRs)) ForwardA <= 01 2b if (MEM/WB.RegWrite and (MEM/WB.RegisterRd 0) and (MEM/WB.RegisterRd = ID/EX.RegisterRt)) ForwardB <= 01
30 30 Single register access Summing a vector in a single register Result of instruction in WB stage Result of instruction in MEM stage Source of operand in ALU stage add $1, $1, $2 add $1, $1, $3 add $1, $1, $4 add $1, $1, $5...
31 31 CC 1 add $1, $1, $2
32 32 CC 2 add $1, $1, $3 add $1, $1, $2
33 33 CC 3 add $1, $1, $4 add $1, $1, $3 add $1, $1, $2 add $1, $1, $3 reads old value from register file
34 34 CC 4 add $1, $1, $5 add $1, $1, $4 add $1, $1, $3 add $1, $1, $2 add $1, $1, $4 reads old value from register file, add $1, $1, $3 gets the forwarded value from EX/MEM 1a) if (EX/MEM.RegWrite and (EX/MEM.RegisterRd 0) and (EX/MEM.RegisterRd = ID/EX.RegisterRs)) ForwardA <= 10
35 35 CC 5 add $1, $1, $6 add $1, $1, $5 add $1, $1, $4 add $1, $1, $3 add $1, $1, $2 1a) if (EX/MEM.RegWrite and (EX/MEM.RegisterRd 0) and (EX/MEM.RegisterRd = ID/EX.RegisterRs)) ForwardA <= 10 2a) if (MEM/WB.RegWrite and (MEM/WB.RegisterRd 0) and (MEM/WB.RegisterRd = ID/EX.RegisterRs)) ForwardA <= 01
36 36 Forwarding unit control lines Mux control Source Explanation ForwardA = 00 ID/EX Alu operand A comes from the register file ForwardA = 10 EX/MEM Alu operand A comes from previous cycle ALU result ForwardA = 01 MEM/WB Alu operand A comes from previous cycle memory read or earlier ALU result ForwardB = 00 ID/EX Alu operand B comes from the register file ForwardB = 10 EX/MEM Alu operand B comes from previous cycle ALU result ForwardB = 01 MEM/WB Alu operand B comes from previous cycle memory read or earlier ALU result 1a if (EX/MEM.RegWrite and (EX/MEM.RegisterRd 0) and (EX/MEM.RegisterRd = ID/EX.RegisterRs)) ForwardA <= 10 1b if (EX/MEM.RegWrite and (EX/MEM.RegisterRd 0) and (EX/MEM.RegisterRd = ID/EX.RegisterRt)) ForwardB <= 10 2a if (MEM/WB.RegWrite and (MEM/WB.RegisterRd 0) and not (EX/MEM.RegWrite and (EX/MEM.RegisterRd 0)) and (EX/MEM.RegisterRd ID/EX.RegisterRs) and (MEM/WB.RegisterRd = ID/EX.RegisterRs)) ForwardA <= 01 2b if (MEM/WB.RegWrite and (MEM/WB.RegisterRd 0) and not (EX/MEM.RegWrite and (EX/MEM.RegisterRd 0)) and (EX/MEM.RegisterRd ID/EX.RegisterRt) and (MEM/WB.RegisterRd = ID/EX.RegisterRt)) ForwardB <= 01
37 37 Datapath modified to resolve hazards What about stores following r-type instructions: add $2, $1, $3 sw $2, 100($3)...or store following loads: lw $2, 100($3) sw $2, 100($4) Forwarding unit in EX-stage (with MUXes) Operand register numbers are passed on from ID stage via ID/EX pipel. reg. Some details are left out, like sign-extending unit
38 38 Data hazards and stalls Forwarding cannot avoid stalling the pipeline when an instruction tries to read a register following a load instruction that writes the same register The data is still being read from memory in clock cycle 4 while the ALU is performing the operation for the following instruction Something must stall the pipeline for the combination of load followed by an instruction that reads its result Hazard detection needed lw $2, 20($1) and $4, $2, $5 or $8, $2, $6 add $9, $4, $2 slt $1, $6, $7
39 39 CC 1 lw $2, 20($1) $2 = 10
40 40 CC 2 and $4, $2, $5 lw $2, 20($1) $2 = 10
41 41 CC 3 or $8, $2, $6 and $4, $2, $5 lw $2, 20($1) $2 = 10, and instruction reads 10 for $2, stores in ID/EX
42 42 CC 4 add $9, $4, $2 or $8, $2, $6 and $4, $2, $5 lw $2, 20($1) $2 = 10, or instruction reads 10 for $2, stores it in ID/EX, and instruction needs new $2 value, but it is not yet available
43 43 CC 5 slt $1, $6, $7 add $9, $4, $2 or $8, $2, $6 and $4, $2, $5 lw $2, 20($1) $2 = (10/)-20, add reads new value -20 for $2 from register file, or uses 10 in ALU op
44 44 Data hazard detection ID stage must: 1. Test to see if previous instruction is a load 2. Check if source registers match the destination register of the load if (ID/EX.MemRead and ((ID/EX.RegisterRt = IF/ID.RegisterRs) or (ID/EX.RegisterRt = IF/ID.RegisterRt))) Stall pipeline
45 45 Stall insertion CC2 - and is fetched and lw is decoded CC3 - and is decoded, or is fetched and lw is executed CC4 - and is decoded, or is fetched, a nop is executed and lw is in the MEM stage The nop can be achieved by setting harmless control signals
46 46 Stall / no operation Both the instructions in the ID and IF stages must be stalled so that we do not lose the fetched instructions Preventing these two instructions from making progress is accomplished simply by preventing the PC register and the IF/ID pipeline register from changing The back half of the pipeline starting with the EX is executing instructions that have no effect: nops, which act like bubbles Deasserting all 9 control signals in the EX, MEM and WB stages will create a do nothing or nop instruction - No registers or memories are written
47 47 Pipeline w/ control, forwarding, hazard detection
48 48 The big picture Although the compiler generally relies upon the hardware to resolve hazards, the compiler must understand the pipeline to achieve the best performance. Otherwise, unexpected stalls will reduce the performance of the compiled code. (page 374)
49 49 Control and branch hazards The decision whether to branch or not is taken in the MEM stage Without intervention the three sequential instructions following the branch will be fetched and begin execution Although less frequent than data hazards, a three instruction flush is costly
50 50 Assume branch not taken Stalling until the branch is complete is too slow Improvement: Assume the branch will not be taken and continue execution. If it is taken the instructions that are being fetched and decoded must be discarded. If branches are untaken half the time, and if it costs little to discard the instructions, this optimization halves the cost of control hazards To discard instructions: change the original control values to 0s Also change the three instructions in the IF, ID and EX stages when the branch reaches the MEM-stage Discarding instructions means we must be able to flush instructions in the IF, ID and EX stages of the pipeline
51 51 Reducing branch delay If branch execution is moved earlier in the pipeline, fewer instructions need to be flushed (so far we have assumed that the next PC for a branch is selected in the MEM stage) Many branches can rely on simple tests which do not require a full ALU operation Moving the branch decision up requires two actions to occur earlier: computing the branch target address and evaluating the branch decision
52 52 Reducing branch delay - early branch detection We already have the PC and the immediate field in the IF/ID pipeline register, so we just move the branch adder from the EX stage to the ID stage BEQ; we would compare the two registers (simple logic) read during the ID stage Moving the branch test to the ID stage implies additional forwarding and hazard detection hardware, since a branch dependent on a result still in the pipeline must still work properly with this optimization
53 53 Example (page 378) 36 sub $10, $4, $8 40 beq $1, $3, 7 # PC relative branch to and $12, $2, $5 48 or $13, $2, $6 52 beq $14, $4, $2 56 and $15, $6, $ lw $4, 50($7) Assumes that the pipeline is optimized for branches not taken and branch execution is moved to the ID stage The ID stage of CC3 determines that a branch must be taken, so 72 is selected as the next PC address and zeros the instruction fetched for the next CC. CC4 shows the instruction at location 72 being fetched and the single bubble or nop instruction as a result of the taken branch
54 54 Dynamic branch prediction With deeper pipelines (> 5 stage MIPS) a simple static prediction scheme will probably waste too much performance. Dynamic branch prediction uses runtime information to decide where to begin fetching new instructions A branch prediction buffer or branch history table is a small memory indexed by the lower portion of the address of the branch instruction. The memory contains one bit indicating whether the branch was recently taken or not A problem is that we don t know if the prediction is the right one, and it may have been put there by another branch with the same low-order bits Another shortcoming: even if a branch is almost always taken, we will predict incorrectly twice, rather than once, when it is not taken
55 55 2-bit prediction scheme By using 2 bits rather than 1, a branch that strongly favors taken or not taken will be mispredicted only once
56 56 Other branch handling strategies Delayed branch Always execute the following instruction Compilers and assemblers try to fill in the following instruction with one without dependencies Loses effect on long pipelines and multiple issue pipelines Branch target buffer Store the expected jump address in a buffer Global dynamic prediction Use the global branch behaviour to determine prediction Effective if combined with local branch prediction
57 57 Final datapath
58 58 Exceptions add $1, $2, $1 suppose overflow. We must: Transfer control to exception routine immediately after this instruction Flush the instructions following the add from the pipeline and begin fetching instructions from the new address Employ the same mechanism as for taken branches, but with the exception deasserting the control lines
59 59 Datapath w/ exception handling controls ID.Flush is ORed with the stall signal from the hazard detection unit To flush instructions in EX-stage: EX.Flush causing MUXes to zero the control lines Additional input to PC is added to be able to fetch instructions from hex, which is the exception location for overflow
60 60 Causes of exceptions 1. I/O device request 2. Hardware malfunction 3. Invoking an operating system service from a user program 4. Using an undefined instruction 5. Overflow 1 & 2 are not associated with a special instruction, so the implementation has some flexibility as to when to interrupt the pipeline, using the mechanism used for other exceptions In case of simultaneous multiple exceptions, the normal solution is to prioritize the exceptions
61 61 Example exception 40 sub $11, $2, $4 44 and $12, $2, $5 48 or $13, $2, $6 4C add $1, $2, $1 50 slt $15, $6, $7 54 lw $16, 50($7) Instructions to be invoked: sw $25, 1000($0) sw $26, 1004($0) Overflow for add in EX stage forced into PC CC7 shows that add and following instructions are flushed and the first instruction of the exception code is fetched. Address of the instruction following add is saved: 4C + 4 = 50. and and or complete
62 62 CC 6
63 63 CC 7
64 64 Hardware / software interface (1/2) HW + OS works in conjunction so exceptions behave as expected HW contract is normally to: Stop the offending instruction in midstream Let all prior instructions complete Flush all following instructions Set a register to show the cause of the exception Save the address of the offending instruction, and jump to the prearranged address
65 65 Hardware / software interface (2/2) The OS contract is to look at the cause of the exception and act appropriately: Undefined instruction, hw failure, overflow: kills the program and returns an indicator of the reason I/O request or OS service call: Saves state of program, performs desired task, restores the program to continue exec. On of the most important and frequent uses of exceptions is handling page faults and translation lookaside buffer (TLB) exceptions (Chapter 5)
66 66 Summary Data hazards: forwarding and stalling Control hazards Exceptions
67 67 Next week No lecture. Following week (week 42): Guest lecture by Marius Grannæs, Silicon Labs Note: Starts at 1115
CSE Lecture 13/14 In Class Handout For all of these problems: HAS NOT CANNOT Add Add Add must wait until $5 written by previous add;
CSE 30321 Lecture 13/14 In Class Handout For the sequence of instructions shown below, show how they would progress through the pipeline. For all of these problems: - Stalls are indicated by placing the
More informationCS429: Computer Organization and Architecture
CS429: Computer Organization and Architecture Warren Hunt, Jr. and Bill Young epartment of Computer Sciences University of Texas at Austin Last updated: November 5, 2014 at 11:25 CS429 Slideset 16: 1 Control
More informationMEMORY SYSTEM. Mahdi Nazm Bojnordi. CS/ECE 3810: Computer Organization. Assistant Professor School of Computing University of Utah
MEMORY SYSTEM Mahdi Nazm Bojnordi Assistant Professor School of Computing University of Utah CS/ECE 3810: Computer Organization Overview Notes Homework 9 (deadline Apr. 9 th ) n Verify your submitted file
More informationAnne Bracy CS 3410 Computer Science Cornell University
Anne Bracy CS 3410 Computer Science Cornell University These slides are the product of many rounds of teaching CS 3410 by Professors Weatherspoon, Bala, Bracy, and Sirer. Complex question How fast is the
More informationHow Computers Work Lecture 12
How Computers Work Lecture 12 A Common Chore of College Life Introduction to Pipelining How Computers Work Lecture 12 Page 1 How Computers Work Lecture 12 Page 2 Page 1 1 Propagation Times Doing 1 Load
More informationCS 230 Winter 2013 Tutorial 7 Monday, March 4, 2013
CS 230 Winter 2013 Tutorial 7 Monday, March 4, 2013 1. This question is based on one from the text book Computer Organization and Design (Patterson/Hennessy): Consider two different implementations of
More informationMark Redekopp, All rights reserved. EE 357 Unit 12. Performance Modeling
EE 357 Unit 12 Performance Modeling An Opening Question An Intel and a Sun/SPARC computer measure their respective rates of instruction execution on the same application written in C Mark Redekopp, All
More informationLecture 8: Skew Tolerant Domino Clocking
Lecture 8: Skew Tolerant Domino Clocking Computer Systems Laboratory Stanford University horowitz@stanford.edu Copyright 2001 by Mark Horowitz (Original Slides from David Harris) 1 Introduction Domino
More informationWhy know about performance
1 Performance Today we ll discuss issues related to performance: Latency/Response Time/Execution Time vs. Throughput How do you make a reasonable performance comparison? The 3 components of CPU performance
More informationIntroduction to Real-Time Systems. Note: Slides are adopted from Lui Sha and Marco Caccamo
Introduction to Real-Time Systems Note: Slides are adopted from Lui Sha and Marco Caccamo 1 Recap Schedulability analysis - Determine whether a given real-time taskset is schedulable or not L&L least upper
More informationLecture 3: Project Management, Part 2: Verification and Validation, Project Tracking, and Post Performance Analysis
Lecture 3: Project Management, Part 2: Verification and Validation, Project Tracking, and Post Performance Analysis Prof. Shervin Shirmohammadi SITE, University of Ottawa Prof. Shervin Shirmohammadi ELG
More informationLecture 3: Project Management, Part 2: Verification and Validation, Project Tracking, and Post Performance Analysis
Lecture 3: Project Management, Part 2: Verification and Validation, Project Tracking, and Post Performance Analysis Prof. Shervin Shirmohammadi SITE, University of Ottawa Prof. Shervin Shirmohammadi ELG
More informationATOP-DOWN APPROACH TO ARCHITECTING CPI COMPONENT PERFORMANCE COUNTERS
... ATOP-DOWN APPROACH TO ARCHITECTING CPI COMPONENT PERFORMANCE COUNTERS... SOFTWARE DEVELOPERS CAN GAIN INSIGHT INTO SOFTWARE-HARDWARE INTERACTIONS BY DECOMPOSING PROCESSOR PERFORMANCE INTO INDIVIDUAL
More informationChapter 7. Registers & Register Transfers. J.J. Shann. J. J. Shann
Chapter 7 Registers & Register Transfers J. J. Shann J.J. Shann Chapter Overview 7-1 Registers and Load Enable 7-2 Register Transfers 7-3 Register Transfer Operations 7-4 A Note for VHDL and Verilog Users
More informationEXERCISES ON PERFORMANCE EVALUATION
EXERCISES ON PERFORMANCE EVALUATION Exercise 1 A program is executed for 1 sec, on a processor with a clock cycle of 50 nsec and Throughput 1 = 15 MIPS. 1. How much is the CPI 1, for the program? T CLOCK
More informationA New Redundancy Strategy for High-Availability Power Systems
Kevin Covi IBM STG High-End Server Development A New Redundancy Strategy for High-Availability Power Systems Outline RAS Philosophy Review Power 6 Traditional approach Power 7 Hybrid approach Load lines
More informationBCN1043. By Dr. Mritha Ramalingam. Faculty of Computer Systems & Software Engineering
BCN1043 By Dr. Mritha Ramalingam Faculty of Computer Systems & Software Engineering mritha@ump.edu.my http://ocw.ump.edu.my/ authors Dr. Mohd Nizam Mohmad Kahar (mnizam@ump.edu.my) Jamaludin Sallim (jamal@ump.edu.my)
More informationUnit 6: Amortized Analysis
: Amortized Analysis Course contents: Aggregate method Accounting method Potential method Reading: Chapter 17 Y.-W. Chang 1 Amortized Analysis Why Amortized Analysis? Find a tight bound of a sequence of
More information13 Combinational Logic Devices
Prof. r. J. Reichardt Prof. r.. Schwarz F Elektrotechnik/Informatik ombinational ogic evices Purpose of combinational logic design: uilding larger, more sophisticated logic circuits by using adaptable
More informationECSE 425 Lecture 5: Quan2fying Computer Performance
ECSE 425 Lecture 5: Quan2fying Computer Performance H&P Chapter 1 Vu, Meyer; Textbook figures 2007 Elsevier Science Last Time Trends in Dependability Quan2ta2ve Principles of Computer Design 2 Today Quan2fying
More informationperformance counter architecture for computing CPI components
A Performance Counter Architecture for Computing Accurate CPI Components Stijn Eyerman Lieven Eeckhout ELIS, Ghent University, Belgium {seyerman,leeckhou}@elis.ugent.be Tejas Karkhanis James E. Smith ECE,
More informationAmazon Elastic Compute Cloud
Amazon Elastic Compute Cloud An Introduction to Spot Instances API version 2011-05-01 May 26, 2011 Table of Contents Overview... 1 Tutorial #1: Choosing Your Maximum Price... 2 Core Concepts... 2 Step
More informationLux Ant Digital, S.L. 21/08/2018
WWW.LUXANTDIGITALBANK.COM Lux Ant Digital, S.L. 21/08/2018 Presentation Our new Bot is the result of all the accumulated work we have been doing over the last year and especially over the last eight months.
More informationCS 134: Operating Systems
CS 134: Operating Systems CS 134: Operating Systems 1 / 52 2 / 52 Process Switching Process Switching Process Switching Class Exercise When can/do we switch processes (or threads)? Class Exercise When
More informationInstruction Selection: Preliminaries. Comp 412
COMP 412 FALL 2018 Instruction Selection: Preliminaries Comp 412 source code IR Front End Optimizer Back End IR target code Copyright 2018, Keith D. Cooper & Linda Torczon, all rights reserved. Students
More informationCyberSource Payment Manager 6.5 SP2
CyberSource Payment Manager 6.5 SP2 Messages and Processor Codes November 2012 CyberSource Corporation HQ P.O. Box 8999 San Francisco, CA 94128-8999 Phone: 800-530-9095 CyberSource Contact Information
More informationMessages and Processor Codes March 2008
CyberSource Payment Manager 6.3 Messages and Processor Codes March 2008 CyberSource Contact Information For questions about CyberSource Payment Manager, email software-support@cybersource.com. For general
More informationCyberSource Payment Manager Messages and Processor Codes
CyberSource Payment Manager 5.4.1 Messages and Processor Codes January 2004 CyberSource Contact Information http://www.cybersource.com Visit our Web site for information about our company, products, and
More informationThe 120VC Portfolio Management Model
The 120VC Portfolio Management Model There are several layers that contribute to achieving the Vision of Project Portfolio Management. The workflow in the figure below starts at the bottom left and flows
More informationA t S + b r t T B (h i + 1) (t S + t T ) C h i (t S + t T ) + t S + b t T D (h i + n) (t S + t T )
Suppose we have a primary B+-tree index where the leaves contain search keys and RIDs, and the RIDs point to the records in a file that is ordered on the index search key. Assume that the blocks in the
More informationSoftware Requirement Specification
Software Requirement Specification Revision History Name Date Reason For Changes Version Preface What s new in version1.1? 1. In section 1.3 System Context where we have an overview of this system and
More informationMAS115: R programming Lecture 3: Some more pseudo-code and Monte Carlo estimation Lab Class: for and if statements, input
MAS115: R programming Lecture 3: Some more pseudo-code and Monte Carlo estimation Lab Class: for and if statements, input The University of Sheffield School of Mathematics and Statistics Aims Introduce
More informationLecture 8: Skew Tolerant Design (including Dynamic Circuit Issues)
Lecture 8: Skew Tolerant Design (including Dynamic Circuit Issues) Computer Systems Laboratory Stanford University horowitz@stanford.edu Copyright 2007 by Mark Horowitz w/ material from David Harris 1
More informationOnline Algorithms SS 2013
Faculty of Computer Science, Electrical Engineering and Mathematics Algorithms and Complexity research group Jun.-Prof. Dr. Alexander Skopalik Online Algorithms SS 2013 Summary of the lecture by Vanessa
More informationLecture 20: Sequential Circuits. Sequencing
Lecture 20: Sequential Circuits Sequencing Elements Simple /FF Timing efinitions Source: Ch 7 (W&H) Sequencing Use flip-flops to delay fast tokens so they move through exactly one stage each cycle. Inevitably
More informationCongestion Control In The Internet Part 1: Theory. JY Le Boudec 2015
1 Congestion Control In The Internet Part 1: Theory JY Le Boudec 2015 Plan of This Module Part 1: Congestion Control, Theory Part 2: How it is implemented in TCP/IP Textbook 2 3 Theory of Congestion Control
More informationRate-Based Execution Models For Real-Time Multimedia Computing. Extensions to Liu & Layland Scheduling Models For Rate-Based Execution
Rate-Based Execution Models For Real-Time Multimedia Computing Extensions to Liu & Layland Scheduling Models For Rate-Based Execution Kevin Jeffay Department of Computer Science University of North Carolina
More informationAccelerating Financial Computation
Accelerating Financial Computation Wayne Luk Department of Computing Imperial College London HPC Finance Conference and Training Event Computational Methods and Technologies for Finance 13 May 2013 1 Accelerated
More informationFISCAL ELECTRONIC DEVICES, FUNCTIONAL AND TECHNICAL SPECIFICATION REQUIREMENTS
FISCAL ELECTRONIC DEVICES, FUNCTIONAL AND TECHNICAL SPECIFICATION REQUIREMENTS Prishtina June 2015 i Table of contents CHAPTER 1... 1 General... 1 Article 1 - Abbreviations and Definitions... 1 Article
More informationRev B. Getting Started with the ISDS Platform User Guide
4021199 Rev B Getting Started with the ISDS Platform User Guide Please Read Important Please read this entire guide. If this guide provides installation or operation instructions, give particular attention
More informationWHITE PAPER. Tech Trends in Debt Collection Software that are Personalizing the Debt Collection Process and Helping Enterprises Protect Their Brands
WHITE PAPER Tech Trends in Debt Collection Software that are Personalizing the Debt Collection Process and Helping Enterprises Protect Their Brands DIGITAL TECHNOLOGY AND CHANGE IN DEBT COLLECTION The
More informationWells Fargo Payment Manager for Eclipse. Release 9.0.3
Wells Fargo Payment Manager for Eclipse Release 9.0.3 Disclaimer This document is for informational purposes only and is subject to change without notice. This document and its contents, including the
More informationSolutions exercises instruction 1
Solutions exercises instruction 1 1. The re-formulated requirements, together with a motivation: a) First of all, shall be able should be avoided. Second of all, according to the syntax, we should have
More informationNorthway Bank. Mobile Deposit Addendum. Addendum to the Online Banking Agreement
Northway Bank Mobile Deposit Addendum Addendum to the Online Banking Agreement This Mobile Deposit Addendum (the Addendum ) to the Northway Bank Online Banking Agreement (the Agreement ) contains the terms
More informationWhite Paper. Not Just Knowledge, Know How! Artificial Intelligence for Finance!
` Not Just Knowledge, Know How! White Paper Artificial Intelligence for Finance! An exploration of the use of Artificial Intelligence (AI) in the management of Budgeting, Planning and Forecasting (BP&F)
More informationMachine Learning (CSE 446): Pratical issues: optimization and learning
Machine Learning (CSE 446): Pratical issues: optimization and learning John Thickstun guest lecture c 2018 University of Washington cse446-staff@cs.washington.edu 1 / 10 Review 1 / 10 Our running example
More informationApplication of High Performance Computing in Investment Banks
British Computer Society FiNSG and APSG Public Application of High Performance Computing in Investment Banks Dr. Tony K. Chau Lead Architect, IB CTO, UBS January 8, 2014 Table of contents Section 1 UBS
More informationACCT323, Cost Analysis & Control H Guy Williams, 2005
Cost allocation methods are an interesting group of exercise. We will see different cuts. Basically the problem we have is very similar to the problem we have with overhead. We can figure out the direct
More informationConsumer Internet Banking Agreement
Consumer Internet Banking Agreement 1. AGREEMENT. This agreement contains the terms and conditions that govern accessing or using the Consumer Internet Banking, Bill Payment Services, E-bill Service and
More informationLecture 9 Feb. 21, 2017
CS 224: Advanced Algorithms Spring 2017 Lecture 9 Feb. 21, 2017 Prof. Jelani Nelson Scribe: Gavin McDowell 1 Overview Today: office hours 5-7, not 4-6. We re continuing with online algorithms. In this
More informationIntroduction to Blockchains. John Kelsey, NIST
Introduction to Blockchains John Kelsey, NIST Overview Prologue: A chess-by-mail analogy What problem does a blockchain solve? How do they work? Hash chains Deciding what blocks are valid on the chain
More informationIteration. The Cake Eating Problem. Discount Factors
18 Value Function Iteration Lab Objective: Many questions have optimal answers that change over time. Sequential decision making problems are among this classification. In this lab you we learn how to
More informationG5212: Game Theory. Mark Dean. Spring 2017
G5212: Game Theory Mark Dean Spring 2017 Why Game Theory? So far your microeconomic course has given you many tools for analyzing economic decision making What has it missed out? Sometimes, economic agents
More informationAlta5 Risk Disclosure Statement
Alta5 Risk Disclosure Statement Welcome to Alta5. Alta5 is both a platform for executing algorithmic trading algorithms and a place to learn about and share sophisticated investment strategies. Alta5 provides
More informationOPTIC FIBRE INTERNET FOR YOUR BUSINESS STANDARD SERVICE LEVEL AGREEMENT
OPTIC FIBRE INTERNET FOR YOUR BUSINESS STANDARD SERVICE LEVEL AGREEMENT Optic Fibre Business Internet Standard Service Level Agreement Table of contents Article 1.0 Abbreviations and definitions 4 Article
More informationLEAN BEST PRACTICE. What is it? How does it Help? Wuxi Lean Systems and Transforming Consulting Co., Ltd.
LEAN BEST PRACTICE MANUFACTURING BEST PRACTICES STARTS WITH LEAN THE CORE IDEA IS TO MAXIMIZE CUSTOMER VALUE WHILE MINIMIZING WA S T E. S I M P LY, L E A N M E A N S CREATING MORE VALUE FOR CUSTOMERS WITH
More informationUser Terms & Conditions Last updated: June 15, 2016
User Terms & Conditions Last updated: June 15, 2016 THIS PAYWITH USER TERMS AND CONDITIONS ( AGREEMENT OR TERMS ) IS A CONTRACT BETWEEN YOU ( YOU OR USER ) AND PAYWITH WORLDWIDE INC., A DELAWARE CORPORATION
More informationReconfigurable Acceleration for Monte Carlo based Financial Simulation
Reconfigurable Acceleration for Monte Carlo based Financial Simulation G.L. Zhang, P.H.W. Leong, C.H. Ho, K.H. Tsoi, C.C.C. Cheung*, D. Lee**, Ray C.C. Cheung*** and W. Luk*** The Chinese University of
More informationTEPZZ 858Z 5A_T EP A1 (19) (11) EP A1 (12) EUROPEAN PATENT APPLICATION. (43) Date of publication: Bulletin 2015/15
(19) TEPZZ 88Z A_T (11) EP 2 88 02 A1 (12) EUROPEAN PATENT APPLICATION (43) Date of publication: 08.04. Bulletin / (1) Int Cl.: G06Q /00 (12.01) (21) Application number: 13638.6 (22) Date of filing: 01..13
More informationACG 2003 Annual Report Computer Systems in the Physician s Office Electronic Medical Records Return on Investment
The Business Case for the EMR ACG 2003 Annual Report Making the transition to an electronic medical record (EMR) is a major undertaking for any physician office. It not only involves an expenditure of
More informationRisk, Risk, Risk! Managing Brewery Risks: Keeping Insurance Costs Down Profits UP!
ad-vent-ure: bold, usually risky understaking; hazardous action of uncertain outcome. Risk, Risk, Risk! Managing Brewery Risks: Keeping Insurance Costs Down Profits UP! - Objective- Endeavor to make operations
More informationAutomatic Generation and Optimisation of Reconfigurable Financial Monte-Carlo Simulations
Automatic Generation and Optimisation of Reconfigurable Financial Monte-Carlo s David B. Thomas, Jacob A. Bower, Wayne Luk {dt1,wl}@doc.ic.ac.uk Department of Computing Imperial College London Abstract
More informationInformation Theory and Coding Prof. S. N. Merchant Department of Electrical Engineering Indian Institute of Technology, Bombay
Information Theory and Coding Prof. S. N. Merchant Department of Electrical Engineering Indian Institute of Technology, Bombay Lecture - 15 Adaptive Huffman Coding Part I Huffman code are optimal for a
More informationBenchmarks Open Questions and DOL Benchmarks
Benchmarks Open Questions and DOL Benchmarks Iuliana Bacivarov ETH Zürich Outline Benchmarks what do we need? what is available? Provided benchmarks in a DOL format Open questions Map2Mpsoc, 29-30 June
More informationFSM Optimization. Outline. FSM State Minimization. Some Definitions. Methods 10/14/2015
/4/25 C2: Digital Design http://jatinga.iitg.ernet.in/~asahu/cs22 FSM Optimization Outline FSM : State minimization Row Matching Method, Implication chart method, FSM Partitioning FSM Encoding: Random,
More informationMind Your Own Business
Mind Your Own Business In this article we are going to discuss how the three key financial statements fit together and how a change in one affects the others. This will enable you see the Big Picture at
More informationHomework 9 (for lectures on 4/2)
Spring 2015 MTH122 Survey of Calculus and its Applications II Homework 9 (for lectures on 4/2) Yin Su 2015.4. Problems: 1. Suppose X, Y are discrete random variables with the following distributions: X
More informationv1.6 (changes from PI + v1.5)
v1.6 (changes from PI + v1.5) Major Economic Data Sources Employment County 1 State BEA SPI (summary industries; 1990-2012) 2 National BEA SPI (summary industries; 1990-2012) 3 BLS EP (detail industries;
More informationBits and Bit Patterns. Chapter 1: Data Storage (continued) Chapter 1: Data Storage
Chapter 1: Data Storage Computer Science: An Overview by J. Glenn Brookshear Chapter 1: Data Storage 1.1 Bits and Their Storage 1.2 Main Memory 1.3 Mass Storage 1.4 Representing Information as Bit Patterns
More informationHello Traders, Cutting Edge Forex Proudly Presents our finest work. Silicon Raptor
Hello Traders, Cutting Edge Forex Proudly Presents our finest work. Silicon Raptor This brand new system works by waiting for small to medium pushes in the market that go one direction too far, too fast.
More informationA Different Take on Money Management
A Different Take on Money Management www.simple4xsystem.net Anyone who read one of my books or spent time in one of my trade rooms knows I put a lot of emphasis on using sound Money Management principles
More information15-451/651: Design & Analysis of Algorithms November 9 & 11, 2015 Lecture #19 & #20 last changed: November 10, 2015
15-451/651: Design & Analysis of Algorithms November 9 & 11, 2015 Lecture #19 & #20 last changed: November 10, 2015 Last time we looked at algorithms for finding approximately-optimal solutions for NP-hard
More informationUltimate Control. Maxeler RiskAnalytics
Ultimate Control Maxeler RiskAnalytics Analytics Risk Financial markets are rapidly evolving. Data volume and velocity are growing exponentially. To keep ahead of the competition financial institutions
More informationCS4311 Design and Analysis of Algorithms. Lecture 14: Amortized Analysis I
CS43 Design and Analysis of Algorithms Lecture 4: Amortized Analysis I About this lecture Given a data structure, amortized analysis studies in a sequence of operations, the average time to perform an
More informationEnhanced Shell Sorting Algorithm
Enhanced ing Algorithm Basit Shahzad, and Muhammad Tanvir Afzal Abstract Many algorithms are available for sorting the unordered elements. Most important of them are Bubble sort, Heap sort, Insertion sort
More informationDM Community Challenge Feb 2018
DM Community Challenge Feb 2018 Submitted by Jan Purchase, Decision Architect, Lux Magi Ltd. Introduction The challenge was to represent the logic, provided by a tax subject matter expert, which determines
More information123MoneyMaker Guide. Trading Revolution. The Money Making Strategy Guide Presents: Seize your profits with a simple click!
The Money Making Strategy Guide Presents: 123MoneyMaker Guide See, Follow, and Copy the best traders in the world Seize your profits with a simple click! Trading Revolution Introduction You can make huge
More informationWhat's new in the 2012 edition?
What's new in the 2012 edition? Enhancements and Changes For PROFITstar, PROFITability, Profitstar Suite, and PROFITstar Portfolio Table of Contents 2012b Enhancements Page 2 Fixes Page 2 2012a New Features
More informationBest Execution Policy
Best Execution Policy Stephen Avenue Securities Inc. ( SAS ) is committed to using all reasonable efforts to ensure that clients achieve best execution of their orders in respect to all securities, including
More informationCAPITAL OVERVIEW AND ALLOCATIONS
CAPITAL OVERVIEW AND ALLOCATIONS for BAR January 25, 2018 Cheryl Bivens (360) 704-4386 cbivens@sbctc.edu OWNED AND LEASED SQUARE FOOTAGE Square Feet 1,143,706 Leased 20,529,467 Owned 21,673,173 Total 2
More informationFederal Reserve Bank Operating Circular 12 Effective June 4, Multilateral Settlement
Federal Reserve Bank Operating Circular 12 Effective June 4, 2009 Multilateral Settlement 1.0 Introduction... 3 1.1 Scope... 3 1.2 Definitions... 3 1.3 Roles of the Reserve Banks... 4 2.0 Accounts... 4
More informationRules for the Technical Installations of the Trading Systems
Rules for the Technical Installations of the Trading Systems 1. General rules for access to the exchange EDP system (1) The Rules for the Technical Installations govern access to the EDP system of the
More informationBeliefs-Based Preferences (Part I) April 14, 2009
Beliefs-Based Preferences (Part I) April 14, 2009 Where are we? Prospect Theory Modeling reference-dependent preferences RD-VNM model w/ loss-aversion Easy to use, but r is taken as given What s the problem?
More information15-451/651: Design & Analysis of Algorithms October 23, 2018 Lecture #16: Online Algorithms last changed: October 22, 2018
15-451/651: Design & Analysis of Algorithms October 23, 2018 Lecture #16: Online Algorithms last changed: October 22, 2018 Today we ll be looking at finding approximately-optimal solutions for problems
More informationReal-Time Market Data Technology Overview
Real-Time Market Data Technology Overview Zoltan Radvanyi Morgan Stanley Session Outline What is market data? Basic terms used in market data world Market data processing systems Real time requirements
More informationStreamBase White Paper Smart Order Routing
StreamBase White Paper Smart Order Routing n A Dynamic Algorithm for Smart Order Routing By Robert Almgren and Bill Harts A Dynamic Algorithm for Smart Order Routing Robert Almgren and Bill Harts 1 The
More informationHere you will find everything you need to get started with writing your Application:
OPC An introductory guide to building payment applications Contents Here you will find everything you need to get started with writing your Application: 1. A brief introduction to the OPE project 2. Steps
More informationAggregation of an FX order book based on complex event processing
Aggregation of an FX order book based on complex event processing AUTHORS ARTICLE INFO JOURNAL Barret Shao Greg Frank Barret Shao and Greg Frank (2012). Aggregation of an FX order book based on complex
More informationOracle Fusion Applications Order Fulfillment, Receivables, Payments, Cash, and Collections Guide. 11g Release 1 (11.1.2) Part Number E
Oracle Fusion Applications Order Fulfillment, Receivables, Payments, Cash, and Collections Guide 11g Release 1 (11.1.2) Part Number E22896-02 August 2011 Oracle Fusion Applications Order Fulfillment, Receivables,
More informationYour investment mix should always reflect your financial objectives,
# 68 291 Allocate Assets at the Current Stage of Your Life By Garry Good, MBA Your investment mix should always reflect your financial objectives, time horizon, and risk tolerance. A well-designed portfolio
More informationSWITCHBACK (FOREX) V1.4
SWITCHBACK (FOREX) V1.4 User Manual This manual describes all the parameters in the ctrader cbot. Please read the Switchback Strategy Document for an explanation on how it all works. Last Updated 11/11/2017
More informationMobile Deposit Agreement
Mobile Deposit Agreement When you click to indicate your agreement, and any time you access or use the Mobile Deposit Service, you are agreeing to be bound by the following terms and conditions. Please
More informationDMI Certification. David G. Lawrence DMI Working Group
DMI Certification David G. Lawrence DMI Working Group Today s Objectives Desktop Management Interface (DMI) Overview DMI 2.0 Self-certification process Why would I care about DMI Conformance? Why DMI?
More informationImpact on Actuarially Determined Items SEAC Fall Meeting - Atlanta, GA November 19, 2003
Sarbanes-Oxley Act of 2002 Preparing Your Organization for Section 404 Internal Control over Financial Reporting Impact on Actuarially Determined Items SEAC Fall Meeting - Atlanta, GA November 19, 2003
More informationPREPARING DATA FOR TAX POLICY AND REVENUE ANALYSIS. George Ramsey Franchise Tax Board, P.O. Box 2229, Sacramento, CA
PREPARING DATA FOR TAX POLICY AND REVENUE ANALYSIS George Ramsey Franchise Tax Board, P.O. Box 2229, Sacramento, CA 95810-2229 KEY WORDS: Administrative record research, income tax, tax model INTRODUCTION
More informationHP TERMS AND CONDITIONS OF SALE AND SERVICE
HP TERMS AND CONDITIONS OF SALE AND SERVICE HP's sale of Products and Support and HP's license of Software are governed by these HP Terms and Conditions of Sale and Service. 1. DEFINITIONS a) "Exhibits"
More informationFees There are currently no separate monthly or transaction fees assessed by the Bank for use of the Online Banking Service including the External
Online Banking Account Agreement General This Online Banking Agreement (Agreement) for accessing your TrustTexas Bank, SSB account(s) via the Internet explains the terms and conditions of Online Banking.
More informationGuidelines for the use of Pension SEDs, Flows and Portable Document P1
Guidelines for the use of Pension SEDs, Flows and Portable Document P1 February 2011 Table of Contents HOW TO USE THE GUIDELINES 1 PART A DESCRIPTION OF FLOWS 2 1. Pension flowtable 2 2. The basic principles
More informationCMSC22200 Computer Architecture Lecture 8: Out-of-Order Execution. Prof. Yanjing Li University of Chicago
CMSC22200 Computer Architecture Lecture 8: Out-of-Order Executio Prof. Yajig Li Uiversity of Chicago Lecture Outlie Exceptios ad iterrupts OoO 2 Exceptios ad Iterrupts Uexpected evets reuirig chage i flow
More informationH o r i z o n C i r c u l a t i o n B a s i c s
H o r i z o n C i r c u l a t i o n B a s i c s I n t r o d u c t i o n I n T h i s M a n u a l L e a r n A b o u t : Borrower Records Checkout Blocks This manual provides training for Horizon Circulation
More information