Definiera en ny sortering algoritm baserad på parallella avkodning och kodning av efterföljande
En sorterings algoritm är en algoritm som placerar element i en lista i en viss ordning. De vanligaste orderna är numerisk ordning och lexikografiska ordning. Effektiv sortering är viktigt för att optimera användningen av andra algoritmer (som Sök och sammanfoga algoritmer) som kräver sorterade listor ska fungera korrekt. Det är också ofta användbar för canonicalizing data och producerar läsbara utdata. Mer formellt måste utdata uppfylla två villkor:
1. produktionen minskar i icke order (varje element är inte är mindre än det föregående elementet enligt önskad totala ordning);
2. utdata är en permutation (ändras) av indata.
-Sortering är en av de viktigaste funktionerna
krävs för många program som avkodare för digitala kommunikation, digital signalbehandling, VLSI CAD etc. Följaktligen finns det enorma intresse för påskynda sortering i mjukvara samt hårdvara.
-Den tid i sorteringen beror på antalet ord i fall av programvara algoritmer förbättring vi försöker göra i detta projekt är att göra tiden beroende på antalet bitar per ord k och inte antalet ord
Problem uttalande:
Traditionella sorteringsalgoritmer som bubblan sortera, isättning sortera, merge sortera och många har mer en bas fall som kräver byta två dataelement åt gången. Även om du använder en kombination av två sorteringsalgoritmer som använder snabbt sortera och sammanfoga sortera tillsammans för att sortera en array med tal, innebär basen fallet fortfarande byta endast två dataelement vid en given tidpunkt. Därav motivation att utforska sorteringsalgoritmer genomföras via maskinvara härrör från det faktum att genom hårdvara en möjlighet att bättre utnyttja parallellism, därmed sortering många nummer samtidigt.
Parallellitet inte bara garanterar samtidighet men syftar också till att minska tid komplexiteten av algoritmer. Därför är det aktuella problemet att utforma en ny sorterings algoritm och genomföra den i hårdvara så att det utdrag parallellitet.