300 likes | 478 Views
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.
E N D
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 • 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= NR1 • AP= NA1 • TP= T1 - (clock period) Real / Rzeczywiste • RP< NR1 • AP= NA1+ADMUX + AMUX • TP= T1 + TDMUX + TMUX
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
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
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= NA1 RP= R1 Lower freq. => lower power supply
Pipelining / Potokowość Example / Przykład: F= (AB+C)D F1= AB F2= F1+C F3= F2 * D F= (AB+C)D F1= AB 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
Pipelining Pentium Processor time / czas
Pipelining and external SRAM memory accessPotokowy dostęp do pamięci zewnętrznej SRAM
Additional registers are required to compensate different delays(Cut-Set Rule). Example of adders
Pipeling and reduction of transient states and energy consumption
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
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
Adding pipeline registers Źle działający układ – dwa transfery tej samej danej Not working properly – double transfer of the same data
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
Piplining and FIFO (First-In First-Out) Wada: Skomplikowana logika i stosunkowo duże zajmowane zasoby Drawback: Complicated logic and large occupied resources
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
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)
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
Architektura potokowa i równoległa przepustowość R= f(Area)Pipelining and parallel processing R= f(Area)
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
Single Instruction Multiple Data Stream (SIMD)( Pentium MMX/SSE/AVX)
Multiple Instruction Single Data Stream (MISD) (e.g. Pipelining)