1 / 29

Parallel Processing, Pipelining, Flynn’s taxonomy

Parallel Processing, Pipelining, Flynn’s taxonomy. Ernest Jamro Dep. of Electronics AGH, Kraków. Example of parallelism / Przykład zrównoleglenia. General case Postać ogólna. Parrallel-Array Multiplier. Parallel Processing /Przetwarzanie Równoległe.

clem
Download Presentation

Parallel Processing, Pipelining, Flynn’s taxonomy

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Parallel Processing, Pipelining,Flynn’s taxonomy Ernest Jamro Dep. of Electronics AGH, Kraków

  2. Example of parallelism / Przykład zrównoleglenia General case Postać ogólna Parrallel-Array Multiplier

  3. Parallel Processing /Przetwarzanie Równoległe • Increases throughput R (http://en.wikipedia.org/wiki/Throughput) / Zwiększa przepustowość R. • Increases Area A / Wymaga więcej sprzętu A. Optimal parallel processing / Optymalne zrównoleglenie: • RP= NR1 • AP= NA1 • TP= T1 - (clock period) Real / Rzeczywiste • RP< NR1 • AP= NA1+ADMUX + AMUX • TP= T1 + TDMUX + TMUX

  4. Functional Density D / Funkcjonalność układu D A- Area; R- throughput • Parallel processing usually results in decreasing D: DP < D1 as: • requires additional connection, arbitration logic • synchronization of parallel processors (PP), cache coherency • conficts between PPs, sharing of the same bus or memory

  5. Amdahl’s Law D- Speedup P- Parallel portion N- number of Parallel Units Example: P= 0.9, Sequancial S=(1-P)=0.1 N=1  t1=(P+S) N=2  t2=t1*(P/2+S)=0.55t1 N=10  t10=t1(P/10+S)=0.19t1 N=100 t100=t1(P/100+S)=0.109t1 tN=t1(P/N + S) http://en.wikipedia.org/wiki/Amdahl’s_law

  6. Power consumption and parallel processing Pobór energii a równoległość Moc strat jest w przybliżeniu proporcjonalna do częstotliwości, powierzchni i kwadratu nap. zasilania Power consumption is roughly proportional to square supply voltage fP= f1/N – same throughput for PP / taka sama przepustowość przepustowość dla przetw. rów. AP= NA1 RP= R1 Lower freq. => lower power supply

  7. Pipelining / Potokowość Example / Przykład: F= (AB+C)D F1= AB F2= F1+C F3= F2 * D F= (AB+C)D F1= AB F2= F1+C F3= F2 * D Without pipelining / Bez potokowości (bez rejestrów): T= T1 + T2 + T3 A= A1 + A2 + A3 With pipelining / Architektura potokowa: T= MAX(T1, T2, T3) A= A1 + A2 + A3 + AFF

  8. Pipelining Pentium Processor time / czas

  9. Pipelining and external SRAM memory accessPotokowy dostęp do pamięci zewnętrznej SRAM

  10. Waveforms / Przebiegi

  11. Additional registers are required to compensate different delays(Cut-Set Rule). Example of adders

  12. Pipeling and reduction of transient states and energy consumption

  13. Employing double clock edge Należy używać tylko pojedynczego zbocza zegara – wykorzystywanie zarówno opadającego i narastającego zbocza zegara powoduje nieoptymalne wykorzystanie logiki Only a single clock edge (rising or falling) should be used Lepiej dwa razy większą częstotliwość zegara Better double clock frequency

  14. Piplining and Clock EnableBlocking

  15. Piplining and Clock EnableNon-Blocking

  16. Control logic and pipelining • Kontrola przepływu danych • sel – urządzenie typu Master jest gotowe do wysłania danych / Master ready to send data • ack – Slave jest gotowe do odbioru danych / Slave is ready to accept new data

  17. Adding pipeline registers Źle działający układ – dwa transfery tej samej danej Not working properly – double transfer of the same data

  18. Additional logic selq Process (clk) begin if clk’event and clk=‘1’then sel_Q<= sel and not ack; end if; end process; Wady: 1) Maksymalny transfer ograniczony do co drugiego taktu zegara / transfer only every second clock cycle 2) Długa ścieżka sygnału Ack (bez potokowości) / long Ack path

  19. Piplining and FIFO (First-In First-Out) Wada: Skomplikowana logika i stosunkowo duże zajmowane zasoby Drawback: Complicated logic and large occupied resources

  20. Użycie pojedynczego bufora FIFO dla wielu etapów potokowościSingle FIFO buffer for many pipeline stages Fifo_full – must take into account pipline stages of the module. FIFO depth must be greater than the number of pipeline stages

  21. Wady potokowości / Pipelining drawbacks • Użycie dodatkowych rejestrów (dodatkowy hardware i opóźnienie) - w FPGA i tak są rejestry po każdym bloku logicznym • Utrudnienie analizy i symulacji układu • Bardziej rozbudowany system sterujący przepływem danych szczególnie dla instrukcji warunkowych (np. w procesorach: predykcja skoku), przy pętli zwrotnej danych • Ograniczoność stosowania - wzrost szybkości szybko ulega nasyceniu. • Additional flip-flops are required (additional resources and delay – latency), in FPGA every LUT (logic) is associated with FF • Much more difficult design and simulation of the circuit • Much more difficult control logic, esp. for feedback data path • Limited level of pipelining (quick saturation of the architecture)

  22. Zalety potokowości / Advantages of pipelining • Znaczne przyspieszenie przepustowości często niewielkim kosztem • Możliwość obniżenia poboru mocy poprzez obniżenie napięcia zasilania podobnie jak dla architektury równoległej przy tej samej przepustowości • Obniżenie zużycia energii poprzez ograniczenie rozchodzenia się przebiegów przejściowych wynikających z czasów propagacji • Much increase of the throughputby often insignificant increase of occupied hardware resources • Reduction of power consuption similarty like for parallel architecture – by decreasing supply voltage in the same throughput • Reduction of power consumption by limited transient state propagation

  23. Architektura potokowa i równoległa przepustowość R= f(Area)Pipelining and parallel processing R= f(Area)

  24. Flynn’s TaxonomyKlasyfikacja Flynn’a • SISD (Single Instruction Single Data-stream) • SIMD (Single Instruction Multiple Data-stream) • MISD (Multiple Instruction Single Data-stream) • MIMD (Multiple Instruction Multiple Data-stream) • http://en.wikipedia.org/wiki/Flynn’s_taxonomy

  25. Single Instruction Single Data Stream (SIMD)

  26. Single Instruction Multiple Data Stream (SIMD)( Pentium MMX/SSE/AVX)

  27. Multiple Instruction Single Data Stream (MISD) (e.g. Pipelining)

  28. Multiple Instruction Multiple Data Stream (MIMD)

  29. DSP TMS320C80

More Related