Det är en fantastisk fråga! Svaret är lite nyanserat:
Tekniskt, nej, inte exakt vid * exakt * samma gång.
Här är varför:
* Instruktionspipelining: Till och med enkärnig CPU:er använder en teknik som kallas instruktionspipelining för att påskynda exekveringen. De delar upp instruktioner i mindre steg och överlappar dessa steg för att uppnå en slags parallell bearbetning inom en enda kärna.
* Tidsdelning: Flera kärnor på en CPU fungerar fortfarande på en enda delad klockcykel. Även om de kan arbeta med olika uppgifter samtidigt, kör kärnan i sig inte flera instruktioner samtidigt på * Absolute * samma ögonblick. De vänder sig extremt snabbt, vilket ger illusionen av samtidig utförande.
Men praktiskt taget, ja, för alla syften.
* hastighet: Utförandet av flera instruktionsuppsättningar på olika kärnor sker så snabbt (mätt i nanosekunder) att det är effektivt oskiljbart från verklig samtidig exekvering.
* Parallellbehandling: Den viktigaste fördelen med Multi-Core CPU:er är att de kan utföra flera instruktioner * samtidigt *-vilket innebär att de kan hantera uppgifter parallellt, vilket resulterar i betydligt snabbare bearbetning totalt sett.
Analogi: Tänk på det som en motorväg med flera körfält. Varje körfält representerar en CPU -kärna. Medan bilar i olika körfält kan röra sig samtidigt delar de fortfarande samma väg och rör sig med samma allmänna hastighet.
Sammanfattningsvis: Medan flera kärnor på en CPU inte tekniskt kör instruktioner vid * exakt * samma nanosekund, uppnår de nästan samtidig genomförande genom tidsdelning och parallell bearbetning, vilket leder till dramatiska prestationsförbättringar.