Translate

Friday, January 4, 2013

Hardware support for exposing more parallelism


Hardware support for exposing more parallelism
  • Use speculative instructions (Second approach)
    • using a speculative load (sLD)
    • and a speculation check instruction (SPECCK)
      • to completely preserve exception behavior
      • checking for a possible exception
      • Processing the possible exception and complete the load instruction

 Conditional or Predicated Instructions
•         Most common form is move  
•         Other variants
–        Conditional loads and stores
–        ALPHA, MIPS, SPARC, PowerPC, and P6 all have simple conditional moves
–        IA_64 supports full predication for all instructions
•         Effect is to eliminating simple branches
–        Moves dependence resolution point from early in the pipe (branch resolution) to late in the pipe (register write) à forwarding…is more possible
–        Also changes a control dependence into a data dependence


Conditional Instruction in Superscalar
First slot(Mem)     Second slot (ALU)
LW R1,40(R2)                ADD R3, R4, R5
                                        ADD R6, R3, R7
BEQZ R10, L   
LW R8, 20(R10)
LW R9, 0(R8)
•         Waste a memory operation slot in the 2nd cycle
•         data dependence stall if not taken
First slot(Mem)     Second slot (ALU)
LW R1,40(R2)                ADD R3, R4, R5
LWC R8,20(R10),R10 ADD R6, R3, R7
BEQZ R10, L   
LW R9, 0(R8)

Condition Instruction Limitations
•         Precise Exceptions
–        If an exception happens prior to conditional evaluation, it must be carried through the pipe
–        Simple for register accesses but consider a memory protection violation or a page fault
•         Long conditional sequences – If-then with a big then body
–        If the task to be done is complex, better to evaluate the condition once and then do the big block
•         Conditional instructions are most useful when the condition can be evaluated early
–        If data dependence in determining the condition à help less
•         Wasted resource
–        Conditional instructions consume real resources
–        Tends to work well in the superscalar case
•          Our simple 2-way model è Even if no conditional instruction, other resource is wasted anyway
•         Cycle-time or CPI Issues
–        Conditional instructions are more complex
–        Danger is that they may consume more cycles or a longer cycle time
–        Note that the utility is mainly to correct short control flaws
•         Hence use may not be for the common case
•         Things better not slow down for the real common case to support the uncommon case

2 comments:

  1. Delighted so much to be here,lot of things i found here,I really like hardware technology.I gonna bookmark you,please keep posting like that kind blog.
    Epson Customer Service

    ReplyDelete

  2. I truly cherish perusing and taking after your post as I discover them to a great degree useful and intriguing. This post is similarly educational and also fascinating . Much obliged to you for data you been putting on making your site such an intriguing.
    HP helpline

    ReplyDelete