Un procesor dual core pentru un computer este o unitate centrală de procesare (CPU) care are două nuclee separate pe aceeași matriță, fiecare cu propriul cache. În esență, sunt două microprocesoare într-unul. Acest tip de procesor este disponibil pe scară largă de la mulți producători. Au fost dezvoltate și alte tipuri de procesoare multi-core, inclusiv procesoare quad-core cu patru nuclee fiecare, procesoare hexa-core cu șase, procesoare octa-core cu opt și procesoare cu multe nuclee cu un număr și mai mare de nuclee.
Într-un procesor cu un singur nucleu sau tradițional, procesorul este alimentat cu șiruri de instrucțiuni pe care trebuie să le ordoneze, să le execute, apoi să le stocheze selectiv în cache-ul său pentru o recuperare rapidă. Când sunt necesare date din afara memoriei cache, acestea sunt preluate prin magistrala de sistem din memoria cu acces aleatoriu (RAM) sau de pe dispozitivele de stocare. Accesarea acestora încetinește performanța la viteza maximă pe care o va permite magistrala, RAM sau dispozitivul de stocare, care este mult mai mică decât viteza procesorului.
Această situație se agravează atunci când utilizatorul computerului face mai multe sarcini. În acest caz, procesorul trebuie să comute înainte și înapoi între două sau mai multe seturi de fluxuri de date și programe. Resursele CPU sunt epuizate, iar performanța suferă.
Într-un procesor dual core, fiecare nucleu gestionează șirurile de date primite simultan pentru a îmbunătăți eficiența. Așa cum două capete sunt mai bune decât unul, la fel sunt două mâini. Când un nucleu se execută, celălalt poate accesa magistrala de sistem sau poate executa propriul cod.
Pentru a utiliza un procesor dual core, sistemul de operare trebuie să fie capabil să recunoască multi-threading, iar software-ul trebuie să aibă tehnologia simultană multi-threading (SMT) scrisă în codul său. SMT permite multi-threading paralel, în care nucleele primesc instrucțiuni cu mai multe fire în paralel. Fără SMT, software-ul va recunoaște doar un nucleu. SMT este, de asemenea, utilizat cu sisteme multi-procesor care sunt comune pentru servere.
Un procesor dual core este diferit de un sistem multi-procesor. În cel din urmă, există două procesoare separate cu resurse proprii. În primul, resursele sunt partajate, iar nucleele rezidă pe același cip. Un sistem multi-procesor este mai rapid decât un sistem cu un procesor dual core, iar un sistem dual core este mai rapid decât un sistem single-core, când totul este egal.
O valoare atractivă a procesoarelor dual core este că nu necesită plăci de bază noi, dar pot fi folosite în plăcile existente care dispun de soclurile corecte. Pentru utilizatorul obișnuit, diferența de performanță va fi cea mai vizibilă în timpul multi-tasking-ului, până când mai mult software este conștient de SMT. Serverele care rulează mai multe procesoare dual core vor înregistra o creștere apreciabilă a performanței.