Systolisk matris
I parallella datorarkitekturer är en systolisk matris ett homogent nätverk av tätt kopplade databehandlingsenheter (DPU:er), kallade celler eller noder. Varje nod eller DPU beräknar självständigt ett delresultat som en funktion av de data som tas emot från dess uppströms grannar, lagrar resultatet internt och skickar det vidare nedströms[1].
De parallella indataflödena passerar genom ett nätverk av fast sammankopplade processornoder, som kombinerar, bearbetar, sammanfogar eller sorterar indata till ett härlett resultat. Eftersom den vågliknande fortplantningen av data genom en systolisk matris liknar pulsen i människans cirkulationssystem, myntades namnet systolisk från medicinsk terminologi. Namnet kommer från systole som en analogi till hjärtats regelbundna pumpning av blod.
Systoliska matriser är ofta hårdkopplade för specifika operationer, såsom multiplikation och ackumulering, för att utföra massiv parallell integration, faltning, korrelation, matrismultiplikation eller datasortering. De används även för algoritmer baserade på dynamisk programmering, exempelvis vid analys av DNA- och proteinsekvensanalys.
En systolisk array består vanligtvis av ett stort monolitiskt nätverk av primitiva beräkningsnoder som kan vara hårdkopplade eller mjukvarukonfigurerade för en specifik applikation. Noderna är vanligtvis fasta och identiska, medan sammankopplingen är programmerbar.
Till skillnad från den mer vanliga Von Neumann-arkitekturen, där programexekveringen följer en sekvens av instruktioner som lagras i ett gemensamt minne och adresseras samt exekveras under styrning av processorns programräknare, aktiveras de enskilda noderna i en systolisk matris av ankomsten av nya data och bearbetar alltid dessa på exakt samma sätt. Den faktiska bearbetningen i varje nod kan vara hårdkopplad eller implementerad med blockmikrokod, vilket innebär att den gemensamma nodfunktionen kan vara blockprogrammerbar.
Källor
- ↑ Kung, H. T., and Charles E. Leiserson. Algorithms for VLSI Processor Arrays. Research Report CMU-CS-79-103, Carnegie Mellon University, Dept. of Computer Science, 1979. Harvard EECS, www.eecs.harvard.edu/htk/static/files/1978-cmu-cs-report-kung-leiserson.pdf