Lecture 3: Evolution of the Uniprocessor
• SIMD
• VLIW
• DAE
• HPS
• Data Flow
The HPS Paradigm
• Incorporated the following:– Aggressive branch prediction– Speculative execution– Wide issue– Out-of-order execution– In-order retirement
• First published in Micro-18 (1985)– Patt, Hwu, Shebanow: Introduction to HPS– Patt, Melvin, Hwu, Shebanow: Critical issues
The final flexibility: Data Flow
Characteristics of Data Flow
• Data Driven execution of inst-level Graphical code– Nodes are operators– Arcs are I/O
• Only REAL dependencies constrain processing– Anti-dependencies don’t (write-after-read)– Output dependencies don’t (write-after-write)– NO sequential I-stream (No program counter)
• Operations execute ASYNCHRONOUSLY• Instructions do not reference memory
– (at least memory as we understand it)
• Execution is triggered by presence of data
• Why Data Flow?– Irregular Parallelism– Only real dependencies constrain
• Anti-dependencies don’t
• Sequential I-stream doesn’t (No Program Counter)
– Asynchronous (NOT in the sense of un-clocked)
• Why NOT Data Flow?– In one word: too much architectural state
Specific Problems with Data Flow
• Code bloat (everything is explicit)• Code debug (asynchronous, non-deterministic flow)• Interrupt handling (providing a consistent state)• Machine diagnosis (trouble-shooting design errors)• Recursion• Large data structures• Node table overflow (cost of CAM is high)• Performance caveats
– Array copy operations– Long latencies– Network (bypass paths) congestion
Top Related