SlideShare une entreprise Scribd logo
1  sur  36
Télécharger pour lire hors ligne
CSL718 : Superscalar
    Processors

    Issue and Despatch
       29th Jan, 2009


     Anshul Kumar, CSE IITD
Early proposals/prototypes
                                       Term
                                     Superscalar
             Cheetah                 America project(4)
    IBM
                                     Multititan project(2)
    DEC
                                                             Match(2) Torch(4)
Stanford U
                                                             SIMP(4) DSNS(4)
Kyushu U


             1982   1983      1984    1985   1986    1987      1988     1989

                                                                      slide 2
     Anshul Kumar, CSE IITD
Commercial superscalars
                         RISCs
               960KA/KB ⇒ 960CA (3)
•   Intel                               1989
•   IBM        Power 1 RS/6000 (4)      1990
               PA7000 ⇒ PA7100 (2)
•   HP                                  1992
               SPARC ⇒ SuperSparc (3)
•   SUN                                 1992
•   DEC        Alpha 21064(2)           1992
               MC88100 ⇒ MC88110(2)
•   Motorola                            1993
•   Motorola   PowerPC 601/603 (3)      1993
               R4000 ⇒ R8000(4)
•   MIPS                                1994

                                               slide 3
Anshul Kumar, CSE IITD
Commercial superscalars
                         CISCs
           80486 ⇒ Pentium (2)
• Intel                                  1993
• Motorola MC68040 ⇒ MC68060 (2)         1993
• Gmicro Gmicro/100p ⇒
                        Gmicro 500 (2)   1993
• AMD      K5(2) – 4 RISC instr          1995
• CYRIX M1 (2)                           1995



                                                slide 4
Anshul Kumar, CSE IITD
Tasks of superscalar processing




Parallel                      Parallel         Preserving the
decoding                    instruction          sequential
and issue                    execution         consistency of
                                          instruction execution
                                                    and
                                          exception processing

                                                         slide 5
   Anshul Kumar, CSE IITD
Superscalar decode and issue
     I - cache                         I - cache



     Instruction                      Instruction
       buffer                           buffer



Scalar                            Superscalar
                 Decode & Issue
Issue                               Issue Decode & Issue


     IF    D/I                        IF    D       I

                                                        slide 6
Anshul Kumar, CSE IITD
Parallel Decoding
• Fetch multiple instructions in instruction
  buffer
• Decode multiple instructions in parallel –
  instruction window
• Possibly check dependencies among these
  as well as with the instructions already
  under execution


                                           slide 7
Anshul Kumar, CSE IITD
Reducing decoding time
       Pre-decoding
                                      Second level cache
• Do partial decoding while            or main memory
  instructions are being
  loaded in I-cache
                                  N bits/cycle
• Decoded information is
                                        Pre-decode unit
  appended to the instruction
• This includes instruction     N + n bits/cycle
  class, resources required
                                            I - cache
  etc.

                                                   slide 8
Anshul Kumar, CSE IITD
Pre-decoding examples
        Pre-decoding
Processor         No. of predecode bits
PA 7200 (1995)               5
PA 8000 (1996)               5
PowerPC 620(1996)            7
UltraSparc (1995)            4
HAL PM1 (1995)               4
AMD K5 (1995)                5 (per byte)
R 10000 (1996)               4
                                       slide 9
Anshul Kumar, CSE IITD
Blocking during issue
                                           Decode and issue
      Instruction
        buffer                               instructions
                            issue window
                                             directly to EUs
              Decode
            Check & Issue
                                           Instructions may be
                                             blocked due to
                                             data dependency
EU                  EU               EU




                                                        slide 10
Anshul Kumar, CSE IITD
Non-blocking Issue
               Non-blocking
           Instruction
             buffer

                                        Decode and issue
                   Decode & Issue
                                            to buffers

                                                        From buffers
Reservation          Reservation         Reservation
  station              station             station
                                                        dispatch to EUs
      Dep. Checking/        Dep. Checking/     Dep. Checking/
         dispatch              dispatch           dispatch


              EU                   EU                  EU
                                                                slide 11
   Anshul Kumar, CSE IITD
Handling of Issue Blockages




   Preserving issue order   Alignment of instruction issue


                                 aligned    unaligned
   in-order out of order



                                                 slide 12
Anshul Kumar, CSE IITD
Issue Order
Issue in strict program order                      Out of order Issue

                   Issue window                              Issue window
Instructions                                Instructions
to be issued e                              to be issued e
                  d    c      b    a                         d   c    b         a

Instructions                                Instructions
                                   a                                  c         a
   issued                                      issued

                                             Example: MC 88110, PowerPC 601
                                  Independent instruction
                                  Dependent instruction
                                  Issued instruction
                                                                     slide 13
     Anshul Kumar, CSE IITD
Alignment
             Aligned Issue                        Unaligned Issue
              next window     fixed window                     gliding window
 checked
in cycle 1    h   g   f   e   d   c   b   a   h    g   f   e   d   c     b        a

  issued
                                          a                                       a
in cycle 1
 checked
in cycle 2    h   g   f   e   d   c   b       h    g   f   e   d   c     b

  issued
                                      c   b                        c     b
in cycle 2
 checked
in cycle 3    h   g   f   e   d               h    g   f   e   d

  issued
                                          d            f   e   d
in cycle 3
                                                                       slide 14
       Anshul Kumar, CSE IITD
Design space in instruction issue




Coping with Coping with        Use of       Handling of   Issue
false data   unresolved         RSs       issue blockages rate
dependencies control                                      (2-6)
             dependencies
                            blocking non-blocking
no Register
   renaming wait speculative
                                                       slide 15
   Anshul Kumar, CSE IITD
Frequently used issue policies
          in scalar processors


Traditional      Traditional    Traditional    Traditional
scalar issue     scalar issue   scalar issue   scalar issue
                 with RSs       with RSs       with spec.
                                and renaming    execution
i386             CDC 6600       IBM 360/91     I486
MC68030                                        MC68040
R3000                                          R4000
Sparc                                          MicroSparc
                                                     slide 16
    Anshul Kumar, CSE IITD
Frequently used issue policies
            in super scalar processors

  Straightforward      Straightforward      Straight forward        Advanced
  superscalar          superscalar           superscalar             superscalar
  issue                issue with           issue with              issue
                       RSs                  renaming           (renaming+RSs)
                                                                 R10000
                          (speculative execution in all)
aligned    unaligned                                             PentiumPro
           MC68060 MC88110
Pentium                                                          PowerPC602
                                            PowerPC602
PowerPC601 PA7200 R8000                                          PA8000
           UltraSparc
PA7100                                                           Sparc64
SuperSparc                                                       Am29000
Alpha21164                                                       K5
                                                                          slide 17
      Anshul Kumar, CSE IITD
Design Space of Reservation Stations
    Design Space of Reservation Stations




    Scope               Layout of     Operand fetch   Instruction
                        reservation   policy          dispatch scheme
                         stations
partial       full




                                                              slide 18
          Anshul Kumar, CSE IITD
Layout of Reservation Stations




 Type                        Number of          Number of read
                             buffer entries     and write ports

                                                depends on
                               individual 2-4
                                                no. of EUs
                               group 6-16
Stand    combined with                          connected
                               central 20
alone    renaming and          total 15-40
(RS)     reordering

                                                          slide 19
    Anshul Kumar, CSE IITD
Reservation Stations (RS)



Individual RSs                 Group RSs             Central RS


RS        RS              RS               RS             RS



EU        EU         EU        EU    EU         EU   EU        EU

                                                           slide 20
 Anshul Kumar, CSE IITD
Operand Fetch Policies



                             Dispatch
 Issue
                             bound
 bound
                             fetch
 fetch




                                 slide 21
Anshul Kumar, CSE IITD
Issue bound operand fetch
            (with single register file)
            (with single register file)
                                              instruction
                         Decode/issue
                                              data
   RF




    RS          RS                      RS   RS


    EU          EU                      EU   EU

                                                  slide 22
Anshul Kumar, CSE IITD
Dispatch bound operand fetch
            (with single register file)
            (with single register file)
                                              instruction
                         Decode/issue         data


    RS          RS                      RS   RS


    RF




    EU          EU                      EU   EU

                                                  slide 23
Anshul Kumar, CSE IITD
Issue bound operand fetch
         (with multiple register files)
         (with multiple register files)
                                              instruction
                         Decode/issue
                                              data
   RF                                   RF




    RS          RS                      RS   RS


    EU          EU                      EU   EU

                                                  slide 24
Anshul Kumar, CSE IITD
Dispatch bound operand fetch
         (with multiple register files)
         (with multiple register files)
                                              instruction
                         Decode/issue         data


    RS          RS                      RS   RS


    RF                                  RF




    EU          EU                      EU   EU

                                                  slide 25
Anshul Kumar, CSE IITD
Updating RFs and RSs
                                              instruction
                                              data
                         Decode/issue


   RF                                   RF




    RS          RS                      RS   RS


    EU          EU                      EU   EU

                                                  slide 26
Anshul Kumar, CSE IITD
Instruction dispatch scheme




Dispatch           Dispatch                Checking         Treatment of
policy             rate                     operand          empty RS
                                           availability

                single     multiple
                instr/      instr/
                cycle      cycle
Individual RS                         Group or central RS

                                                                   slide 27
  Anshul Kumar, CSE IITD
Dispatch policy




  Selection                  Arbitration                   Dispatch
  rule                       rule                          order


Rule for identifying         Rule for choosing
instructions which are       one out of several
ready for execution          ready instructions
(data dependency check)      (earlier instruction has priority)
                                                                  slide 28
    Anshul Kumar, CSE IITD
Dispatch order




      in-order           partially   out of
                         out of      order
                         order
                                                 check
         RS                           RS
                 check



                                              slide 29
Anshul Kumar, CSE IITD
Checking availability of operands



   Direct check of                     Check of explicit
   score-board bits                    status bits in RS

   (usual for dispatch                 (usual for issue
   bound operand fetch)                bound operand fetch)

   control flow approach                data flow approach
                     Flynn’s terminology
                                                      slide 30
 Anshul Kumar, CSE IITD
Score-board
                    Score-board

                   Introduced with CDC6600


                         Data         status
                    0                   1
                                        0
                    1
                    2                   1
                           Register
                             File
                                        0
                                        1



                                               slide 31
Anshul Kumar, CSE IITD
Checking in dispatch bound fetch
 Checking in dispatch bound fetch
decoded
instruction

                                         check V bits of sources
              Reservation
                station
                                                                 update Rd
                                  Rs1,Rs2,Rd                     set V bit
       OC       Rs1 Rs2 Rd
                                  reset V bit of Rd

                                                      Register
                                                       File

                                       Os1
                         OC
                       (opcode)
                                             Os2 (operand value)

                                  EU
                                                 result, Rd
                                                                             slide 32
Anshul Kumar, CSE IITD
Checking in issue bound fetch
      Checking in issue bound fetch
       decoded                                                          update Rd, set V bit
                                         Rs1,Rs2,Rd
       instruction                       reset V bit of Rd

                                                             Register
                                                              File

                                            Os1

                                                  Os2 (operand value)

                                         check Vs1, Vs2
          Reservation station

                                     OC, Os1, Os2, Rd
    OC Os1/Is1 Vs1 Os2/Is2 Vs2 Rd

associative update of
                                    EU
Is1, Is2 with Rd, set Vs bits
                                                    result, Rd
                                                                                 slide 33
 Anshul Kumar, CSE IITD
Treatment of an empty RS



      Straight forward                     Bypassing
      approach                             RS if empty

                  At least one
         RS                                   RS
                  cycle stay in RS

         EU                                    EU
                                     Sparc64
                  Nx586
                                     PowerPc 604
                                                    slide 34
Anshul Kumar, CSE IITD
Approaches in dispatching



  Straight forward       Enhanced            Advanced
     in order      partially out of order     out of order
      single               single              multiple
    instr/cycle         instr/cycle           instr/cycle
  individual RSs     individual RSs       group/central RSs

  Power1, PPC603          Power2       PM1, PentiumPro
  Nx586, Am29000         PPC604,620    PA8000, R10000
                                                       slide 35
Anshul Kumar, CSE IITD
Reference
1.    D. Sima, T. Fountain, P. Kacsuk, quot;Advanced Computer
      Architectures : A Design Space Approachquot;, Addison Wesley,
      1997.




                                                         slide 36
     Anshul Kumar, CSE IITD

Contenu connexe

En vedette

Superscalar & superpipeline processor
Superscalar & superpipeline processorSuperscalar & superpipeline processor
Superscalar & superpipeline processorMuhammad Ishaq
 
Arithmatic pipline
Arithmatic piplineArithmatic pipline
Arithmatic piplineA. Shamel
 
Computer architecture kai hwang
Computer architecture   kai hwangComputer architecture   kai hwang
Computer architecture kai hwangSumedha
 
Advanced computer architecture
Advanced computer architectureAdvanced computer architecture
Advanced computer architectureMd. Mahedi Mahfuj
 
Instruction pipelining
Instruction pipeliningInstruction pipelining
Instruction pipeliningTech_MX
 

En vedette (7)

Aca2 06 new
Aca2 06 newAca2 06 new
Aca2 06 new
 
Superscalar & superpipeline processor
Superscalar & superpipeline processorSuperscalar & superpipeline processor
Superscalar & superpipeline processor
 
Arithmatic pipline
Arithmatic piplineArithmatic pipline
Arithmatic pipline
 
Computer architecture kai hwang
Computer architecture   kai hwangComputer architecture   kai hwang
Computer architecture kai hwang
 
Advanced computer architecture
Advanced computer architectureAdvanced computer architecture
Advanced computer architecture
 
pipelining
pipeliningpipelining
pipelining
 
Instruction pipelining
Instruction pipeliningInstruction pipelining
Instruction pipelining
 

Similaire à CSL718: Superscalar Processors Issue and Despatch Techniques

Lec Jan19 2009
Lec Jan19 2009Lec Jan19 2009
Lec Jan19 2009Ravi Soni
 
Lec Jan12 2009
Lec Jan12 2009Lec Jan12 2009
Lec Jan12 2009Ravi Soni
 
Laptop Chip level repairing(CPU section)
Laptop Chip level repairing(CPU section)Laptop Chip level repairing(CPU section)
Laptop Chip level repairing(CPU section)chiptroniks
 
laptop repairing institute
laptop repairing institutelaptop repairing institute
laptop repairing institutechiptroniks
 
laptop repairing institute
laptop repairing institutelaptop repairing institute
laptop repairing institutechiptroniks
 
May2010 hex-core-opt
May2010 hex-core-optMay2010 hex-core-opt
May2010 hex-core-optJeff Larkin
 
Laptop syllabus 1 month
Laptop syllabus 1 monthLaptop syllabus 1 month
Laptop syllabus 1 monthchiptroniks
 
Basics_of_Kernel_Panic_Hang_and_ Kdump.pdf
Basics_of_Kernel_Panic_Hang_and_ Kdump.pdfBasics_of_Kernel_Panic_Hang_and_ Kdump.pdf
Basics_of_Kernel_Panic_Hang_and_ Kdump.pdfstroganovboris
 
Meltdown & Spectre attacks
Meltdown & Spectre attacksMeltdown & Spectre attacks
Meltdown & Spectre attacksMarian Marinov
 
9800301 04 8080-8085_assembly_language_programming_manual_may81
9800301 04 8080-8085_assembly_language_programming_manual_may819800301 04 8080-8085_assembly_language_programming_manual_may81
9800301 04 8080-8085_assembly_language_programming_manual_may81satolina
 
Circiut design and testing
Circiut design and testingCirciut design and testing
Circiut design and testingogunlanadavid
 
44CON 2014 - Stupid PCIe Tricks, Joe Fitzpatrick
44CON 2014 - Stupid PCIe Tricks, Joe Fitzpatrick44CON 2014 - Stupid PCIe Tricks, Joe Fitzpatrick
44CON 2014 - Stupid PCIe Tricks, Joe Fitzpatrick44CON
 
Beneath the Linux Interrupt handling
Beneath the Linux Interrupt handlingBeneath the Linux Interrupt handling
Beneath the Linux Interrupt handlingBhoomil Chavda
 
XT Best Practices
XT Best PracticesXT Best Practices
XT Best PracticesJeff Larkin
 
14157565 embedded-programming
14157565 embedded-programming14157565 embedded-programming
14157565 embedded-programmingPRADEEP
 

Similaire à CSL718: Superscalar Processors Issue and Despatch Techniques (20)

Lec Jan19 2009
Lec Jan19 2009Lec Jan19 2009
Lec Jan19 2009
 
Lec Jan12 2009
Lec Jan12 2009Lec Jan12 2009
Lec Jan12 2009
 
Pclr syllabus 1 month
Pclr syllabus  1 monthPclr syllabus  1 month
Pclr syllabus 1 month
 
Laptop Chip level repairing(CPU section)
Laptop Chip level repairing(CPU section)Laptop Chip level repairing(CPU section)
Laptop Chip level repairing(CPU section)
 
laptop repairing institute
laptop repairing institutelaptop repairing institute
laptop repairing institute
 
laptop repairing institute
laptop repairing institutelaptop repairing institute
laptop repairing institute
 
Dyna85
Dyna85Dyna85
Dyna85
 
May2010 hex-core-opt
May2010 hex-core-optMay2010 hex-core-opt
May2010 hex-core-opt
 
Laptop syllabus 1 month
Laptop syllabus 1 monthLaptop syllabus 1 month
Laptop syllabus 1 month
 
Basics_of_Kernel_Panic_Hang_and_ Kdump.pdf
Basics_of_Kernel_Panic_Hang_and_ Kdump.pdfBasics_of_Kernel_Panic_Hang_and_ Kdump.pdf
Basics_of_Kernel_Panic_Hang_and_ Kdump.pdf
 
combustible-gas_control_panel_manual
combustible-gas_control_panel_manualcombustible-gas_control_panel_manual
combustible-gas_control_panel_manual
 
Meltdown & Spectre attacks
Meltdown & Spectre attacksMeltdown & Spectre attacks
Meltdown & Spectre attacks
 
9800301 04 8080-8085_assembly_language_programming_manual_may81
9800301 04 8080-8085_assembly_language_programming_manual_may819800301 04 8080-8085_assembly_language_programming_manual_may81
9800301 04 8080-8085_assembly_language_programming_manual_may81
 
Circiut design and testing
Circiut design and testingCirciut design and testing
Circiut design and testing
 
44CON 2014 - Stupid PCIe Tricks, Joe Fitzpatrick
44CON 2014 - Stupid PCIe Tricks, Joe Fitzpatrick44CON 2014 - Stupid PCIe Tricks, Joe Fitzpatrick
44CON 2014 - Stupid PCIe Tricks, Joe Fitzpatrick
 
Beneath the Linux Interrupt handling
Beneath the Linux Interrupt handlingBeneath the Linux Interrupt handling
Beneath the Linux Interrupt handling
 
XT Best Practices
XT Best PracticesXT Best Practices
XT Best Practices
 
14157565 embedded-programming
14157565 embedded-programming14157565 embedded-programming
14157565 embedded-programming
 
Blackfin system services
Blackfin system servicesBlackfin system services
Blackfin system services
 
Unmanned Aerial Vehicle
Unmanned Aerial VehicleUnmanned Aerial Vehicle
Unmanned Aerial Vehicle
 

Plus de Ravi Soni

Google Never Dies Meetup ( Obbserv + SEMrush ) the vision of digital you
Google Never Dies Meetup ( Obbserv + SEMrush ) the vision of digital you Google Never Dies Meetup ( Obbserv + SEMrush ) the vision of digital you
Google Never Dies Meetup ( Obbserv + SEMrush ) the vision of digital you Ravi Soni
 
Stakeholder Theory, Ethics 209
Stakeholder Theory, Ethics 209Stakeholder Theory, Ethics 209
Stakeholder Theory, Ethics 209Ravi Soni
 
Lec 6 Structure (Types) 196
Lec 6  Structure (Types) 196Lec 6  Structure (Types) 196
Lec 6 Structure (Types) 196Ravi Soni
 
Lec 3 Organizational Effectiveness 184
Lec 3  Organizational Effectiveness 184Lec 3  Organizational Effectiveness 184
Lec 3 Organizational Effectiveness 184Ravi Soni
 
Lec 2 Multidisciplinary 183
Lec 2  Multidisciplinary 183Lec 2  Multidisciplinary 183
Lec 2 Multidisciplinary 183Ravi Soni
 
Lec 5 Structure (Basics) 186
Lec 5  Structure (Basics) 186Lec 5  Structure (Basics) 186
Lec 5 Structure (Basics) 186Ravi Soni
 
Lec Jan15 2009
Lec Jan15 2009Lec Jan15 2009
Lec Jan15 2009Ravi Soni
 
Lec Jan22 2009
Lec Jan22 2009Lec Jan22 2009
Lec Jan22 2009Ravi Soni
 
Lec Feb05 2009
Lec Feb05 2009Lec Feb05 2009
Lec Feb05 2009Ravi Soni
 
Cs718min1 2008soln View
Cs718min1 2008soln ViewCs718min1 2008soln View
Cs718min1 2008soln ViewRavi Soni
 
Lec Feb09 2009
Lec Feb09 2009Lec Feb09 2009
Lec Feb09 2009Ravi Soni
 
Lec Feb02 2009
Lec Feb02 2009Lec Feb02 2009
Lec Feb02 2009Ravi Soni
 

Plus de Ravi Soni (13)

Google Never Dies Meetup ( Obbserv + SEMrush ) the vision of digital you
Google Never Dies Meetup ( Obbserv + SEMrush ) the vision of digital you Google Never Dies Meetup ( Obbserv + SEMrush ) the vision of digital you
Google Never Dies Meetup ( Obbserv + SEMrush ) the vision of digital you
 
Stakeholder Theory, Ethics 209
Stakeholder Theory, Ethics 209Stakeholder Theory, Ethics 209
Stakeholder Theory, Ethics 209
 
Lec 6 Structure (Types) 196
Lec 6  Structure (Types) 196Lec 6  Structure (Types) 196
Lec 6 Structure (Types) 196
 
Lec 3 Organizational Effectiveness 184
Lec 3  Organizational Effectiveness 184Lec 3  Organizational Effectiveness 184
Lec 3 Organizational Effectiveness 184
 
Lec 2 Multidisciplinary 183
Lec 2  Multidisciplinary 183Lec 2  Multidisciplinary 183
Lec 2 Multidisciplinary 183
 
Lec 1 182
Lec 1 182Lec 1 182
Lec 1 182
 
Lec 5 Structure (Basics) 186
Lec 5  Structure (Basics) 186Lec 5  Structure (Basics) 186
Lec 5 Structure (Basics) 186
 
Lec Jan15 2009
Lec Jan15 2009Lec Jan15 2009
Lec Jan15 2009
 
Lec Jan22 2009
Lec Jan22 2009Lec Jan22 2009
Lec Jan22 2009
 
Lec Feb05 2009
Lec Feb05 2009Lec Feb05 2009
Lec Feb05 2009
 
Cs718min1 2008soln View
Cs718min1 2008soln ViewCs718min1 2008soln View
Cs718min1 2008soln View
 
Lec Feb09 2009
Lec Feb09 2009Lec Feb09 2009
Lec Feb09 2009
 
Lec Feb02 2009
Lec Feb02 2009Lec Feb02 2009
Lec Feb02 2009
 

Dernier

Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Paola De la Torre
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhisoniya singh
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAndikSusilo4
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksSoftradix Technologies
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?XfilesPro
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxOnBoard
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptxLBM Solutions
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 

Dernier (20)

Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & Application
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other Frameworks
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptx
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 

CSL718: Superscalar Processors Issue and Despatch Techniques

  • 1. CSL718 : Superscalar Processors Issue and Despatch 29th Jan, 2009 Anshul Kumar, CSE IITD
  • 2. Early proposals/prototypes Term Superscalar Cheetah America project(4) IBM Multititan project(2) DEC Match(2) Torch(4) Stanford U SIMP(4) DSNS(4) Kyushu U 1982 1983 1984 1985 1986 1987 1988 1989 slide 2 Anshul Kumar, CSE IITD
  • 3. Commercial superscalars RISCs 960KA/KB ⇒ 960CA (3) • Intel 1989 • IBM Power 1 RS/6000 (4) 1990 PA7000 ⇒ PA7100 (2) • HP 1992 SPARC ⇒ SuperSparc (3) • SUN 1992 • DEC Alpha 21064(2) 1992 MC88100 ⇒ MC88110(2) • Motorola 1993 • Motorola PowerPC 601/603 (3) 1993 R4000 ⇒ R8000(4) • MIPS 1994 slide 3 Anshul Kumar, CSE IITD
  • 4. Commercial superscalars CISCs 80486 ⇒ Pentium (2) • Intel 1993 • Motorola MC68040 ⇒ MC68060 (2) 1993 • Gmicro Gmicro/100p ⇒ Gmicro 500 (2) 1993 • AMD K5(2) – 4 RISC instr 1995 • CYRIX M1 (2) 1995 slide 4 Anshul Kumar, CSE IITD
  • 5. Tasks of superscalar processing Parallel Parallel Preserving the decoding instruction sequential and issue execution consistency of instruction execution and exception processing slide 5 Anshul Kumar, CSE IITD
  • 6. Superscalar decode and issue I - cache I - cache Instruction Instruction buffer buffer Scalar Superscalar Decode & Issue Issue Issue Decode & Issue IF D/I IF D I slide 6 Anshul Kumar, CSE IITD
  • 7. Parallel Decoding • Fetch multiple instructions in instruction buffer • Decode multiple instructions in parallel – instruction window • Possibly check dependencies among these as well as with the instructions already under execution slide 7 Anshul Kumar, CSE IITD
  • 8. Reducing decoding time Pre-decoding Second level cache • Do partial decoding while or main memory instructions are being loaded in I-cache N bits/cycle • Decoded information is Pre-decode unit appended to the instruction • This includes instruction N + n bits/cycle class, resources required I - cache etc. slide 8 Anshul Kumar, CSE IITD
  • 9. Pre-decoding examples Pre-decoding Processor No. of predecode bits PA 7200 (1995) 5 PA 8000 (1996) 5 PowerPC 620(1996) 7 UltraSparc (1995) 4 HAL PM1 (1995) 4 AMD K5 (1995) 5 (per byte) R 10000 (1996) 4 slide 9 Anshul Kumar, CSE IITD
  • 10. Blocking during issue Decode and issue Instruction buffer instructions issue window directly to EUs Decode Check & Issue Instructions may be blocked due to data dependency EU EU EU slide 10 Anshul Kumar, CSE IITD
  • 11. Non-blocking Issue Non-blocking Instruction buffer Decode and issue Decode & Issue to buffers From buffers Reservation Reservation Reservation station station station dispatch to EUs Dep. Checking/ Dep. Checking/ Dep. Checking/ dispatch dispatch dispatch EU EU EU slide 11 Anshul Kumar, CSE IITD
  • 12. Handling of Issue Blockages Preserving issue order Alignment of instruction issue aligned unaligned in-order out of order slide 12 Anshul Kumar, CSE IITD
  • 13. Issue Order Issue in strict program order Out of order Issue Issue window Issue window Instructions Instructions to be issued e to be issued e d c b a d c b a Instructions Instructions a c a issued issued Example: MC 88110, PowerPC 601 Independent instruction Dependent instruction Issued instruction slide 13 Anshul Kumar, CSE IITD
  • 14. Alignment Aligned Issue Unaligned Issue next window fixed window gliding window checked in cycle 1 h g f e d c b a h g f e d c b a issued a a in cycle 1 checked in cycle 2 h g f e d c b h g f e d c b issued c b c b in cycle 2 checked in cycle 3 h g f e d h g f e d issued d f e d in cycle 3 slide 14 Anshul Kumar, CSE IITD
  • 15. Design space in instruction issue Coping with Coping with Use of Handling of Issue false data unresolved RSs issue blockages rate dependencies control (2-6) dependencies blocking non-blocking no Register renaming wait speculative slide 15 Anshul Kumar, CSE IITD
  • 16. Frequently used issue policies in scalar processors Traditional Traditional Traditional Traditional scalar issue scalar issue scalar issue scalar issue with RSs with RSs with spec. and renaming execution i386 CDC 6600 IBM 360/91 I486 MC68030 MC68040 R3000 R4000 Sparc MicroSparc slide 16 Anshul Kumar, CSE IITD
  • 17. Frequently used issue policies in super scalar processors Straightforward Straightforward Straight forward Advanced superscalar superscalar superscalar superscalar issue issue with issue with issue RSs renaming (renaming+RSs) R10000 (speculative execution in all) aligned unaligned PentiumPro MC68060 MC88110 Pentium PowerPC602 PowerPC602 PowerPC601 PA7200 R8000 PA8000 UltraSparc PA7100 Sparc64 SuperSparc Am29000 Alpha21164 K5 slide 17 Anshul Kumar, CSE IITD
  • 18. Design Space of Reservation Stations Design Space of Reservation Stations Scope Layout of Operand fetch Instruction reservation policy dispatch scheme stations partial full slide 18 Anshul Kumar, CSE IITD
  • 19. Layout of Reservation Stations Type Number of Number of read buffer entries and write ports depends on individual 2-4 no. of EUs group 6-16 Stand combined with connected central 20 alone renaming and total 15-40 (RS) reordering slide 19 Anshul Kumar, CSE IITD
  • 20. Reservation Stations (RS) Individual RSs Group RSs Central RS RS RS RS RS RS EU EU EU EU EU EU EU EU slide 20 Anshul Kumar, CSE IITD
  • 21. Operand Fetch Policies Dispatch Issue bound bound fetch fetch slide 21 Anshul Kumar, CSE IITD
  • 22. Issue bound operand fetch (with single register file) (with single register file) instruction Decode/issue data RF RS RS RS RS EU EU EU EU slide 22 Anshul Kumar, CSE IITD
  • 23. Dispatch bound operand fetch (with single register file) (with single register file) instruction Decode/issue data RS RS RS RS RF EU EU EU EU slide 23 Anshul Kumar, CSE IITD
  • 24. Issue bound operand fetch (with multiple register files) (with multiple register files) instruction Decode/issue data RF RF RS RS RS RS EU EU EU EU slide 24 Anshul Kumar, CSE IITD
  • 25. Dispatch bound operand fetch (with multiple register files) (with multiple register files) instruction Decode/issue data RS RS RS RS RF RF EU EU EU EU slide 25 Anshul Kumar, CSE IITD
  • 26. Updating RFs and RSs instruction data Decode/issue RF RF RS RS RS RS EU EU EU EU slide 26 Anshul Kumar, CSE IITD
  • 27. Instruction dispatch scheme Dispatch Dispatch Checking Treatment of policy rate operand empty RS availability single multiple instr/ instr/ cycle cycle Individual RS Group or central RS slide 27 Anshul Kumar, CSE IITD
  • 28. Dispatch policy Selection Arbitration Dispatch rule rule order Rule for identifying Rule for choosing instructions which are one out of several ready for execution ready instructions (data dependency check) (earlier instruction has priority) slide 28 Anshul Kumar, CSE IITD
  • 29. Dispatch order in-order partially out of out of order order check RS RS check slide 29 Anshul Kumar, CSE IITD
  • 30. Checking availability of operands Direct check of Check of explicit score-board bits status bits in RS (usual for dispatch (usual for issue bound operand fetch) bound operand fetch) control flow approach data flow approach Flynn’s terminology slide 30 Anshul Kumar, CSE IITD
  • 31. Score-board Score-board Introduced with CDC6600 Data status 0 1 0 1 2 1 Register File 0 1 slide 31 Anshul Kumar, CSE IITD
  • 32. Checking in dispatch bound fetch Checking in dispatch bound fetch decoded instruction check V bits of sources Reservation station update Rd Rs1,Rs2,Rd set V bit OC Rs1 Rs2 Rd reset V bit of Rd Register File Os1 OC (opcode) Os2 (operand value) EU result, Rd slide 32 Anshul Kumar, CSE IITD
  • 33. Checking in issue bound fetch Checking in issue bound fetch decoded update Rd, set V bit Rs1,Rs2,Rd instruction reset V bit of Rd Register File Os1 Os2 (operand value) check Vs1, Vs2 Reservation station OC, Os1, Os2, Rd OC Os1/Is1 Vs1 Os2/Is2 Vs2 Rd associative update of EU Is1, Is2 with Rd, set Vs bits result, Rd slide 33 Anshul Kumar, CSE IITD
  • 34. Treatment of an empty RS Straight forward Bypassing approach RS if empty At least one RS RS cycle stay in RS EU EU Sparc64 Nx586 PowerPc 604 slide 34 Anshul Kumar, CSE IITD
  • 35. Approaches in dispatching Straight forward Enhanced Advanced in order partially out of order out of order single single multiple instr/cycle instr/cycle instr/cycle individual RSs individual RSs group/central RSs Power1, PPC603 Power2 PM1, PentiumPro Nx586, Am29000 PPC604,620 PA8000, R10000 slide 35 Anshul Kumar, CSE IITD
  • 36. Reference 1. D. Sima, T. Fountain, P. Kacsuk, quot;Advanced Computer Architectures : A Design Space Approachquot;, Addison Wesley, 1997. slide 36 Anshul Kumar, CSE IITD