Un procesor multi-core este un circuit integrat care utilizează două sau mai multe procesoare individuale, sau nuclee, pentru a gestiona datele. Miezurile pot fi atașate la un circuit integrat sau încorporate în matrițe separate într-un pachet de cipuri. Fiecare nucleu are propriul cache și fiecare are o capacitate separată de procesare a datelor.
Avantajul unui procesor multi-core este viteza crescuta. Un procesor tradițional, cu un singur nucleu, stochează unele date în memoria cache, iar atunci când sunt necesare date din afara memoriei cache, acestea trebuie preluate din alte locuri, cum ar fi memoria cu acces aleatoriu (RAM). Când se întâmplă acest lucru, viteza procesorului încetinește până la viteza maximă a memoriei RAM sau a altui dispozitiv de stocare. Această viteză este de obicei mult mai mică decât viteza maximă a procesorului.
Procesoarele multi-core sunt mai rapide, deoarece fiecare nucleu poate gestiona propriul flux de date. În timp ce procesoarele cu mai multe nuclee păstrează în cache datele în mod selectiv și preiau date necache din alte locații de stocare, nucleul sau nucleele suplimentare pot continua să execute comenzi și să primească informații la viteza normală a procesorului, în timp ce un alt procesor preia informațiile necesare de pe dispozitivele de stocare lente. În acest fel, întregul sistem nu trebuie să încetinească în timp ce datele sunt preluate.
Un procesor multi-core este deosebit de valoros pentru multitasking, unde mai mult de un program servește fiecare set propriu de date pentru procesare. Fluxurile de date separate pot fi gestionate de nuclee diferite, crescând viteza generală de procesare. Pentru ca un singur program software să profite de tehnologia multi-core, trebuie să aibă simultan tehnologia multi-threading (SMT) care să-i permită să trimită seturi paralele de instrucțiuni pentru utilizarea mai multor nuclee.
Primul procesor multi-core disponibil comercial a fost procesorul dual-core. Există, de asemenea, procesoare multi-core cu patru, șase și opt nuclee. Cu toate acestea, multe plăci de bază sunt incapabile să gestioneze atât de multe nuclee. Sistemele multi-core pot fi omogene, folosind toate nucleele identice, sau eterogene, folosind nuclee neidentice.
Deși procesoarele multi-core sunt menite să mărească viteza și performanța generală, nu toate programele profită de tehnologia de procesare multi-core. Multe programe și chiar unele sisteme de operare nu au SMT-ul necesar pentru a utiliza mai mult de un nucleu de procesare. Sistemele de operare care utilizează procesarea multi-core nu sunt întotdeauna concepute pentru a maximiza potențialul de procesare multi-core, astfel încât capacitatea de procesare completă rămâne adesea nerealizată.
Un procesor cu mai multe nuclee tinde să producă mai multă căldură decât un procesor cu un singur nucleu, provocând provocări de gestionare a căldurii. Cantitatea de căldură produsă de un procesor tinde să crească exponențial cu fiecare nucleu suplimentar. Temperaturile ridicate pot cauza supraîncălzirea procesoarelor, creând probleme operaționale și riscuri de siguranță. Producătorii de procesoare au fost nevoiți să investească timp și tehnologie considerabil în crearea de soluții la provocările termice prezentate de procesoarele multi-core.