Elastic Block Sorters Rudolf Mak 2132022 Rudolf Mak
Elastic Block Sorters Rudolf Mak 2/13/2022 Rudolf Mak r. h. mak@tue. nl TU/e Computer Science, System Architecture and Networking 1
Performance measures • • i/o distance capacity cycle time, throughput latency occupancy elasticity area energy 2/13/2022 Rudolf Mak r. h. mak@tue. nl TU/e Computer Science, System Architecture and Networking 2
Little’s theorem ( ) or ( ) 2/13/2022 Rudolf Mak r. h. mak@tue. nl TU/e Computer Science, System Architecture and Networking 3
Buffer bounds or 2/13/2022 Rudolf Mak r. h. mak@tue. nl TU/e Computer Science, System Architecture and Networking 4
One-place buffer Buf = proc (in a, out b). |[ var x | (a? x; b!x)* ]| 2/13/2022 Rudolf Mak r. h. mak@tue. nl TU/e Computer Science, System Architecture and Networking 5
Split component Splitk, l = proc (in a, out c, d). |[ var x | ( (a? x; d!x)k ; (a? x; c!x) ; (a? x; d!x)l-k-1 )* ]| 2/13/2022 Rudolf Mak r. h. mak@tue. nl TU/e Computer Science, System Architecture and Networking 6
Merge component Mergek, l = proc (in e, f, out b). |[ var x | ( (f? x; b!x)k ; (e? x; b!x) ; (f? x; b!x)l-k-1 )* ]| 2/13/2022 Rudolf Mak r. h. mak@tue. nl TU/e Computer Science, System Architecture and Networking 7
Comparator Cmp = proc (in a, c, out b, d). |[ var x, y | (a? x, c? y ; if x y then b!x, d!y � y x then b!y, d!x fi )* ]| 2/13/2022 Rudolf Mak r. h. mak@tue. nl TU/e Computer Science, System Architecture and Networking 8
First-merge-last-split Fmsll = proc (in a, c, out b, d). |[ var x | (a? x ; (d!x; c? x)l-1 ; b!x )* ]| 2/13/2022 Rudolf Mak r. h. mak@tue. nl TU/e Computer Science, System Architecture and Networking 9
Insert select Ins. Sell = proc (in c, d, out e, f). |[ chan g, h | Cmp (d, g, f, h) || Fmlsl (c, h, e, g) ]| 2/13/2022 Rudolf Mak r. h. mak@tue. nl TU/e Computer Science, System Architecture and Networking 10
Serial-to-parallel converter S 2 P 1 = proc (in a, out c[0. . 1)). |[ Buf (a, c[0]) ]| S 2 Pl+1= proc (in a, out c[0. . l+1)). |[ chan d | Splitl, l+1(a, c[l], d) || S 2 Pl(d, c[0. . l)) ]| 2/13/2022 Rudolf Mak r. h. mak@tue. nl TU/e Computer Science, System Architecture and Networking 11
Parallel-to-serial converter P 2 S 1 = proc (in e[0. . 1), out b). |[ Buf (e[0], b) ]| P 2 Sl+1 = proc (in e[0. . l+1), out b). |[ chan f | P 2 Sl (e[1. . l+1), f) || Merge 0, l+1 (e[0], f, b) ]| 2/13/2022 Rudolf Mak r. h. mak@tue. nl TU/e Computer Science, System Architecture and Networking 12
Insertion block sorter 2/13/2022 Rudolf Mak r. h. mak@tue. nl TU/e Computer Science, System Architecture and Networking 13
Selection block sorter 2/13/2022 Rudolf Mak r. h. mak@tue. nl TU/e Computer Science, System Architecture and Networking 14
Bubble block sorter 2/13/2022 Rudolf Mak r. h. mak@tue. nl TU/e Computer Science, System Architecture and Networking 15
Odd-even-merge block sorter 2/13/2022 Rudolf Mak r. h. mak@tue. nl TU/e Computer Science, System Architecture and Networking 16
Telescopic o-e-m block sorter 2/13/2022 Rudolf Mak r. h. mak@tue. nl TU/e Computer Science, System Architecture and Networking 17
Triangular block sorter 2/13/2022 Rudolf Mak r. h. mak@tue. nl TU/e Computer Science, System Architecture and Networking 18
- Slides: 18