# data[].attributes.attachment_link.title
Intel: The Making of a Chip with 22nm/3D Transistors | Intel

# data[].attributes.body
Tipicamente la CPU è l'interprete del linguaggio macchina. Come tutti gli interpreti, si basa sul seguente ciclo:

Acquisizione dell'istruzione (Instruction Fetch): il processore preleva l'istruzione dalla memoria, presente nell'indirizzo specificato dal PC;

Decodifica (Operand Assembly): una volta che la word è stata prelevata, viene determinata quale operazione debba essere eseguita e come ottenere gli operandi;

Esecuzione (Execute): viene eseguita la computazione desiderata. Nell'ultimo passo dell'esecuzione viene incrementato il PC: tipicamente di uno se l'istruzione non era un salto condizionale, altrimenti l'incremento dipende dall'istruzione e dall'esito di questa

https://padlet.com/riccardo_maywald/cpu

# data[].attributes.attachment_link.readable_text
Con i computer diventati oggi come elettrodomestici venduti in ogni centro commerciale, diventa difficile capire quali differenze ci sono tra un modello ed un altro.
Leggendo un altro altro articolo di questo blog riguardante tutte le cose da sapere quando si compra un computer nuovo, si accennava alle differenze tra processori e su come viene misurata la loro velocità.
Il processore è il cervello quindi più è veloce più i calcoli saranno rapidi.
Il problema è il modo con cui i produttori indicano la velocità dei processori multi-core, piuttosto confusa.
Fino a qualche tempo fa, quando i computer avevano un solo processore, era facile capire quanto esso fosse potente perchè veniva scritto "1 Ghz" per definirne la velocità di calcolo.
Oggi invece, con i processori multi core, è più difficile capire che cosa si ha in mano e quale sia la velocità reale dell'insieme dei processori.
La domanda tecnica di oggi quindi è: cosa significa avere un pc con processore da 4 core o quad core a 3Ghz, e qual è la sua velocità effettiva?

Prima di tutto, sui processori ci sono due parametri di valutazione, numero totale di calcoli al secondo e numero dei cicli del processore in un secondo ( velocità di clock espressa in Ghz).
Ogni nucleo di un processore fa un certo numero di calcoli al secondo, quindi il numero totale di calcoli è la somma.
Nello stesso tempo, se tutti i nuclei sono in esecuzione alla stessa velocità, la velocità di clock rimane la stessa indipendentemente dal numero di nuclei esistono.
Qual è il modo più appropriato per indicare la velocità totale di un processore e, ancora più importante, è possibile definire la velocità di un sistema multi-core come si faceva con le CPU single-core?

La risposta l'ho trovata sul forum americano di esperti Superuser.
La ragione principale per cui un processore quad-core a 3 GHz non è mai veloce come un nucleo unico da 12GHz ha a che fare con le diverse attività eseguite nella CPU.
Se si tratta di un compito lineare che deve essere fatto passo-passo, esso può sempre e solo essere in esecuzione su un singolo core in un dato momento.
Questo limita a metà la potenza della CPU di un sistema dual core, o 1/4 in un sistema quad core.
Se però bisogna eseguire un compito fatto da istruzioni che possono essere elaborate in modo indipendente l'una dall'altra, allora possono essere eseguite contemporaneamente, da core diversi.

Quindi, se si esegue un programma a thread singolo, un processore single-core da 12GHz è nettamente più veloce mentre se il compito può essere diviso in più parti, un processore a 4 core potrebbe competere anche se forse non raggiungere le prestazioni di quello unico a 12GHz.
Il vantaggio principale di un sistema a CPU multiple è la reattività perchè il compito pesante può essere eseguito da un solo core lasciando liberi gli altri per altri programmi e lavori.

La teoria per cui 4 core da 3GHz = 1 da 12 GHz è una sciocchezza in ogni situazione, tranne nel caso teorico in cui si eseguano compiti perfettamente paralleli e indipendenti.
Le applicazioni moderne sono progettate per sfruttare al massimo tutti i core di un CPU ma hanno sempre bisogno di una forma di sincronizzazione.
E' quindi un errore pensare che 4 x 3GHz = 12GHz, non perchè non sia teoricamente esatto ma perchè sarebbe come dire che 4 mele fanno un'arancia.
I GHz non possono essere semplicemente sommati.

Per concludere, un po' di pratica:
Dual Core è il termine generico per indicare una CPU che ha 2 core.
Quad Core è un processore con 4 core.
I processori Intel i3 sono dual core, gli i5 e i7 sono invece (generalmente, quad core).
La differenza è che gli i7 usano la tecnologia Hyper-Threading dando un totale di 8 thread di elaborazione.
Se si vede un processore che ha 4 core valutato a 3,5 GHz, significa che ogni singolo core ha velocità 3,5Ghz.

Se si vuol vedere sul proprio computer l'uso dei singoli core si può andare sul task manager, alla scheda prestazioni, ed aprire il monitoraggio risorse.
Si noterà che ogni core viene utilizzato in parallelo, con percentuali diverse.
In un altro articolo, è scritto come disabilitare il "Core Parking" per sfruttare la CPU al massimo su Windows 7.

Chi è più esperto sull'argomento può lasciare un commento per fornire una spiegazione più esaustiva e precisa.
In un altro articolo, come misurare la potenza del computer e le prestazioni hardware con i programmi di benchmark

# data[].attributes.attachment_link.title
Che significa "Quad Core" che velocità ha un processore multi-core

# data[].attributes.attachment_link.description
Con i computer diventati oggi come elettrodomestici venduti in ogni centro commerciale, diventa difficile capire quali differenze ci sono tra un modello ed un altro. Leggendo un altro altro articolo di questo blog riguardante tutte le cose da sapere quando si compra un computer nuovo, si accennava alle differenze tra processori e su come viene misurata la loro velocità.

# data[].attributes.attachment_link.readable_text
Il processore è il cuore del PC e si occupa di effettuare tutte le operazioni necessarie per far funzionare i software, navigare su Internet, controllare la posta elettronica, etc. Quando acquisterete un processore, sono due gli elementi importanti che dovrete tenere in considerazione: la velocità di funzionamento e il numero di core. In verità, ci sono anche altri elementi più tecnici, ma per iniziare consideriamo queste due caratteristiche.

La velocità è espressa in "gigahertz" e più è elevata, più il processore sarà in grado di effettuare le operazioni rapidamente, quindi, i programmi si caricheranno più velocemente e Windows sarà più reattivo.

Sono due i maggiori produttori di CPU: la scelta ricade principalmente tra processori Intel e processori AMD. Per molti anni, entrambi hanno cercato di aumentare sempre più la velocità dei processori, arrivando a produrre CPU da 4 GHz.

A un certo momento storico, non è stato più possibile continuare ad aumentare la velocità, perché insorgevano altri problemi legati al consumo energetico e al surriscaldamento durante il funzionamento. Anziché aumentare la velocità del processore, si è quindi deciso di aumentare il numero di core.

Un core può essere considerato un processore a sé stante, quindi inserire nel PC una CPU dual-core è come installare due processori. Anziché avere un unico processore che lavora molto velocemente, con un dual-core si avranno due processori in grado di dividersi il lavoro, oppure quattro con un processore quad-core, o otto con un processsore octa-core, e così via. Con una CPU multi-core è quindi possibile raggiungere un livello di prestazioni superiore, consumare meno energia e produrre meno calore. Di conseguenza, un PC consumerà meno corrente e sarà più silenzioso, perché i sistemi di raffreddamento avranno meno calore da smaltire.

È quindi sempre consigliabile acquistare un processore dotato di più core, anziché un modello più veloce e con meno core. Ovviamente questa è solo una parte della storia, perché la marca del processore, la famiglia di appartenenza e il resto dei componenti del PC possono influire sulle prestazioni generali del sistema, ma tra una CPU single-core e una CPU six-core, la scelta più azzeccata sarà quasi sempre scegliere il modello con più core disponibili.

# data[].attributes.attachment_link.title
Processori: frequenza e core, cosa è più importante?

# data[].attributes.attachment_link.description
Il processore è il cuore del PC e si occupa di effettuare tutte le operazioni necessarie per far funzionare i software, navigare su Internet, controllare la posta elettronica, etc. Quando acquisterete un processore, sono due gli elementi importanti che dovrete tenere in considerazione: la velocità di funzionamento e il numero di core.

# data[].attributes.body
Nelle CPU sono presenti molti flag associati a operazioni matematiche, rappresentati con dei bit singoli organizzati in un importante registro apposito, il registro dei flag. Fra tali flag c'è il flag di zero, che assume il valore 1 ogni volta che l'ultima operazione matematica eseguita dalla CPU ha dato un risultato pari a zero, mentre assume il valore 0 se il risultato è stato un numero diverso da zero. Il valore dei vari flag viene usato nelle istruzioni di salto condizionato della CPU per decidere se saltare o meno.

# data[].attributes.body
3- Da dei registri generali, composti da :

registri accumulatori : sono i registri più importanti perché sono quelli che coinvolgono quasi tutte le operazioni logico-aritmetiche. Sono legati intimamente all’ALU di cui segue la larghezza che è caratteristica del microprocessore utilizzato ;

altri registri.

# data[].attributes.body
4- Da dei registri speciali, ovvero locazioni di memoria interne alla CPU, molto veloci, a cui è possibile accedere molto più rapidamente che alla memoria: il valore complessivo di tutti i registri della CPU costituisce lo stato in cui essa si trova attualmente.  Tre registri sempre presenti sono:

- il registro IP (Instruction Pointer) che contiene l’istruzione in esecuzione;

- il PC (Program Counter), che contiene l'indirizzo in memoria della prossima istruzione da eseguire;

- il registro di stato (SR), contenente informazioni, sotto forma di singoli bit (flag), sullo stato in cui la CPU si viene a trovare dopo l’esecuzione dell’istruzione;
-  il Registro Indirizzi Memoria (MAR): i bit del registro MAR indicano l’indirizzo di una parola in RAM il cui contenuto deve essere letto o scritto dal processore;
- il Registro Dati Memoria (MDR): i bit del registro MDR indicano una copia del contenuto di una parola in RAM letto dal processore o il valore di bit che devono essere scritti in RAM dal processore.

# data[].attributes.body
2- Dall' unità aritmetico-logica (ALU) è costituita da un insieme di circuiti in grado di svolgere le operazioni di tipo aritmetico e logico. La ALU legge i dati contenuti all'interno dei registri generali, esegue le operazioni e memorizza il risultato in uno dei registri generali.
Vi sono circuiti in grado di eseguire la somma di due numeri binari contenuti in due registri e di depositare il risultato in un registro, circuiti in grado di eseguire il confronto tra due numeri

# data[].attributes.body
1- Da un' unità di controllo (nota come CU) che legge dalla memoria le istruzioni, se occorre legge anche i dati per l'istruzione letta, esegue l'istruzione e memorizza il risultato se c'è, scrivendolo in memoria o in un registro della CPU.

# data[].attributes.body
L' unità di elaborazione centrale (comunemente chiamata CPU o in inglese “central processing unit”) è una tipologia di processore digitale la quale si contraddistingue per sovrintendere tutte le funzionalità del computer digitale basato sull'architettura di von Neumann. È detta unità centrale di elaborazione perché coordina in maniera centralizzata tutte le altre unità di elaborazionepresenti nelle architetture hardware dei computer di elaborazione delle varie periferiche interne o schede elettroniche.

Il compito della CPU è quello di eseguire le istruzionidi un programma presente in memoria centrale o primaria (RAM) dopo averlo prelevato dalla memoria secondaria o di massa, dalla ROM, o da altri dispositivi. Durante l'esecuzione del programma la CPU legge o scrive dati in memoria centrale. Il risultato dell'esecuzione dipende dal dato su cui si opera e dallo stato interno in cui la CPU stessa si trova, e può mantenere la traccia delle istruzioni eseguite e dei dati letti.