Vad är skillnaden mellan scalar och array-processorer?
Det finns en stor skillnad mellan två av huvudformaten - skalare och arrayprocessorer - där ett datorsystem behandlar information. Medan skalprocessorer arbetar med ett dataobjekt åt gången, kan matrisprocessorer hantera flera dataströmmar samtidigt. Båda processorerna är emellertid en del av den centrala processorenheten (CPU), som styr alla datorer och kan hantera alla tider med data. Scalar och array-processorer utför många av samma operationer, men på ett annat sätt, vilket gör var och en lämplig för ett annat syfte och ser till att alla funktioner från det enklaste till det mest komplexa kan utföras.
Arrayprocessorer tillämpar en enda instruktion på flera matriser eller matriser av data samtidigt innan de går vidare till nästa instruktion. Detta gör att arrayprocessorer kan arbeta mycket snabbare eftersom processorn inte behöver vänta på att den första uppsättningen av instruktioner utförs på en artikel innan den går vidare till nästa. Många av stegen som krävs för att utföra en åtgärd elimineras eftersom datorn hämtar flera objekt på samma gång, utför operationen på alla dem och skriver om den till minnet istället för att upprepa stegen med varje ny datamängd.
Scalarprocessorer fungerar på ett dataobjekt i taget innan de går vidare till nästa objekt. Varje instruktion måste utföras på den aktuella artikeln innan du går vidare till nästa instruktion. I slutet av slingan utförs instruktionsuppsättningen på nästa artikel i följd. Nästan alla CPU-apparater på massmarknaden är skalära, även om de kan ha element som fungerar mer som arrayprocessorer.
Superdatorer på 1980- och 1990-talet designades för att behandla stora mängder data med hjälp av enkelinstruktion-multipeldata. Arrayprocessorer gjorde det möjligt att manipulera vetenskap och forskningsdata på kortare tid. Även om det kan verka intuitivt att arrayprocessorer skulle hantera alla CPU-funktioner snabbare än skalare, är detta inte fallet. Arrayprocessorer kan effektivt hantera stora mängder data, men eftersom funktionen kräver att CPU: n är mer komplex är enklare operationer svårare att utföra.
Skillnaderna mellan processorer och skalprocessorer blev mindre uttalade med introduktionen av mikroprocessorer 1994. Sedan dess har mikroprocessorer med element av enkelinstruktions-multipeldata blivit normen och ytterligare minskat klyftan mellan skalare och arrayprocessorer. Videospelkonsoler och grafikacceleratorer har sin egen grafik-CPU som körs parallellt med den huvudsakliga skalära CPU: n och därmed frigör huvud-CPU: n för att utföra icke-grafikfunktioner.