WEBVTT

00:00.090 --> 00:00.923
Istruttore: In questa

00:00.923 --> 00:03.540
lezione parleremo delle architetture delle CPU.

00:03.540 --> 00:06.030
Ora, la CPU o unità di elaborazione centrale, normalmente

00:06.030 --> 00:08.550
chiamata solo processore, è il dispositivo che costituisce

00:08.550 --> 00:10.950
il cervello del computer e viene utilizzato per eseguire

00:10.950 --> 00:13.140
i diversi codici di programma presenti nel software

00:13.140 --> 00:15.810
o nel firmware.

00:15.810 --> 00:18.570
Questo indica al computer come svolgere esattamente il proprio lavoro

00:18.570 --> 00:20.850
per qualsiasi tipo di funzione si voglia eseguire.

00:20.850 --> 00:23.940
In sostanza, la CPU esegue le operazioni di base su

00:23.940 --> 00:25.770
ogni singola istruzione.

00:25.770 --> 00:28.170
La CPU recupera prima l'istruzione, e prende l'istruzione

00:28.170 --> 00:30.180
successiva nella sequenza dalla memoria

00:30.180 --> 00:31.620
di sistema o dalla cache all'interno

00:31.620 --> 00:33.810
del processore, che è essenzialmente un tipo

00:33.810 --> 00:36.690
di memoria ad alta velocità.

00:36.690 --> 00:38.850
Quindi, l'unità di controllo o il processore

00:38.850 --> 00:41.280
sarà in grado di decodificare ciascuna di queste

00:41.280 --> 00:42.660
istruzioni e di eseguirla o

00:42.660 --> 00:44.700
di passarla a un'unità secondaria che la

00:44.700 --> 00:46.650
aiuterà a eseguire il processo.

00:46.650 --> 00:48.570
Per esempio, in molti processori sono presenti

00:48.570 --> 00:50.850
elementi come l'unità in virgola mobile o l'unità

00:50.850 --> 00:52.620
logica aritmetica, che possono essere

00:52.620 --> 00:54.690
utilizzati per eseguire istruzioni diverse

00:54.690 --> 00:55.800
in base al tipo di codice e

00:55.800 --> 00:57.900
al tipo di istruzione da eseguire.

00:57.900 --> 00:59.520
Poi, una volta che il processore ha

00:59.520 --> 01:01.470
terminato l'esecuzione dell'istruzione,

01:01.470 --> 01:04.080
rimanda l'informazione al registro, alla cache o alla

01:04.080 --> 01:06.450
memoria, in modo che possa essere memorizzata e utilizzata

01:06.450 --> 01:09.120
dal sistema in un secondo momento durante il programma

01:09.120 --> 01:11.400
o presentare l'output all'utente per consentirgli

01:11.400 --> 01:13.260
di agire.

01:13.260 --> 01:15.210
Questo è il modo in cui i processori funzionano

01:15.210 --> 01:17.940
sulla scheda madre e all'interno del computer.

01:17.940 --> 01:20.040
Ora, se guardiamo al processore stesso,

01:20.040 --> 01:21.960
esso ha una propria architettura.

01:21.960 --> 01:23.610
Così come la scheda madre ha un

01:23.610 --> 01:26.190
fattore di forma che definisce ciò che può fare,

01:26.190 --> 01:28.320
l'architettura del processore definisce

01:28.320 --> 01:30.750
le capacità del processore stesso.

01:30.750 --> 01:32.400
Ci sono tre architetture principali

01:32.400 --> 01:33.480
che si incontrano sul

01:33.480 --> 01:35.340
campo come tecnici.

01:35.340 --> 01:38.130
Il primo è noto come X86.

01:38.130 --> 01:41.970
Ora, X86 è talvolta chiamato anche IA-32 o set di istruzioni

01:41.970 --> 01:45.510
a 32 bit dell'architettura Intel.

01:45.510 --> 01:48.840
Questo perché l'X86 è stato originariamente sviluppato

01:48.840 --> 01:50.160
da Intel con alcuni

01:50.160 --> 01:53.280
dei primi PC negli anni '70 e '80.

01:53.280 --> 01:55.380
Nel corso del tempo, i computer sono passati

01:55.380 --> 01:58.620
da 8 bit, a 16 bit, a 32 bit e, lungo tutto il percorso, Intel ha creato

01:58.620 --> 02:00.810
questa compatibilità all'indietro e tutti

02:00.810 --> 02:01.980
questi sistemi sono diventati

02:01.980 --> 02:05.580
noti come generazione di processori X86.

02:05.580 --> 02:07.230
Questo perché i primi processori

02:07.230 --> 02:08.790
utilizzati nei computer da

02:08.790 --> 02:11.040
Intel si chiamavano serie 8086.

02:11.040 --> 02:13.470
La serie successiva divenne

02:13.470 --> 02:16.470
la 286, poi la 386, la 486, la 586 e a quel

02:16.470 --> 02:17.303
punto si passò

02:17.303 --> 02:19.170
all'uso di nomi di marca,

02:19.170 --> 02:23.010
come Celeron o Pentium e simili.

02:23.010 --> 02:24.810
In ogni caso, tutti questi dispositivi

02:24.810 --> 02:27.810
erano originariamente processori X86, e così è

02:27.810 --> 02:29.460
stato fino a quando non si è

02:29.460 --> 02:32.160
arrivati ai processori a 64 bit.

02:32.160 --> 02:34.770
Una volta passati a un processore a 64

02:34.770 --> 02:37.710
bit, abbiamo iniziato a chiamarlo processore

02:37.710 --> 02:39.930
X64 o architettura X64.

02:39.930 --> 02:42.930
Ora, ogni volta che si vede X64 come set di istruzioni,

02:42.930 --> 02:45.930
significa che abbiamo esteso il set di istruzioni

02:45.930 --> 02:47.730
X86 o a 32 bit per essere in grado

02:47.730 --> 02:50.520
di supportare operazioni a 64 bit.

02:50.520 --> 02:52.080
Si tratta di una cosa importante

02:52.080 --> 02:54.870
da capire perché quando si ha a che fare con processori a

02:54.870 --> 02:57.060
32 bit, che sono processori X86, possono supportare

02:57.060 --> 02:59.250
solo una quantità massima di memoria di quattro

02:59.250 --> 03:01.050
gigabyte di RAM.

03:01.050 --> 03:02.370
Fisicamente non possono indirizzare

03:02.370 --> 03:04.140
nulla di più di quattro gigabyte perché

03:04.140 --> 03:07.050
ci sono solo 32 bit disponibili per l'indirizzamento.

03:07.050 --> 03:09.360
E se si porta 2 alla 32esima potenza, si

03:09.360 --> 03:11.760
ottengono circa 4 miliardi di bit, pari

03:11.760 --> 03:13.740
a circa quattro gigabyte.

03:13.740 --> 03:15.540
Si capisce quindi perché per noi era

03:15.540 --> 03:17.610
importante andare oltre il processore X86,

03:17.610 --> 03:19.230
perché quattro gigabyte di RAM sono

03:19.230 --> 03:21.510
davvero pochi nei sistemi moderni.

03:21.510 --> 03:22.470
In effetti, al giorno d'oggi

03:22.470 --> 03:24.720
sarebbe considerato un sistema a bassa memoria.

03:24.720 --> 03:27.630
La maggior parte dei computer dispone di 8, 16, 32 o addirittura

03:27.630 --> 03:29.820
64 gigabyte di RAM come memoria principale

03:29.820 --> 03:31.380
del sistema.

03:31.380 --> 03:33.120
Per poter affrontare tutto questo,

03:33.120 --> 03:35.610
è necessario passare a un set di istruzioni a

03:35.610 --> 03:38.130
64 bit utilizzando un processore X64.

03:38.130 --> 03:40.050
Spesso si sente parlare di questo

03:40.050 --> 03:44.340
prodotto in base al nome del marchio, AMD64 o Intel 64, a seconda

03:44.340 --> 03:46.050
del modello prodotto dal

03:46.050 --> 03:47.430
produttore.

03:47.430 --> 03:50.610
Ma entrambe sono considerate architetture basate su X64

03:50.610 --> 03:52.560
per quel particolare processore.

03:52.560 --> 03:54.000
Un'altra cosa importante

03:54.000 --> 03:56.670
da ricordare quando si parla di 64 bit rispetto

03:56.670 --> 03:58.500
a 32 bit è che i sistemi a 32 bit possono

03:58.500 --> 04:00.840
eseguire solo programmi a 32 bit, mentre

04:00.840 --> 04:04.710
i processori a 64 bit possono eseguire programmi a 64 bit e a 32 bit

04:04.710 --> 04:06.330
perché sono completamente

04:06.330 --> 04:08.760
retrocompatibili.

04:08.760 --> 04:09.660
Per questo motivo,

04:09.660 --> 04:11.670
la maggior parte dei sistemi che si incontrano

04:11.670 --> 04:14.310
al giorno d'oggi sono processori basati su X64, perché

04:14.310 --> 04:17.190
sono molto utilizzati nel mercato dei PC e ampiamente supportati

04:17.190 --> 04:20.610
da Windows e da tutte le sue varianti.

04:20.610 --> 04:23.010
Il terzo tipo di processore che si può incontrare

04:23.010 --> 04:25.800
è il cosiddetto processore ARM.

04:25.800 --> 04:28.560
ARM è l'acronimo delle macchine RISC avanzate

04:28.560 --> 04:30.480
e RISC è un acronimo che si scrive

04:30.480 --> 04:32.340
R-I-S-C, ovvero reduced instruction

04:32.340 --> 04:35.190
set computer.

04:35.190 --> 04:36.990
Per molto tempo ARM è stato utilizzato

04:36.990 --> 04:38.220
per dispositivi a bassa potenza,

04:38.220 --> 04:41.010
come tablet, telefoni cellulari e simili.

04:41.010 --> 04:43.020
Ma all'inizio degli anni 2020,

04:43.020 --> 04:45.450
Apple ha deciso di rilasciare una nuova

04:45.450 --> 04:47.310
serie di processori per i suoi

04:47.310 --> 04:49.080
computer desktop e portatili

04:49.080 --> 04:51.030
che utilizzavano anche chip ARM,

04:51.030 --> 04:53.100
noti come serie M1, M1 Pro, M1 Max

04:53.100 --> 04:54.540
e ora i nuovi processori

04:54.540 --> 04:57.060
della serie M2 e oltre.

04:57.060 --> 04:58.350
Tutti questi elementi sono

04:58.350 --> 05:00.180
stati trasferiti in questo set di istruzioni

05:00.180 --> 05:02.940
ARM, perché ARM consente di fare alcune cose molto speciali

05:02.940 --> 05:07.140
che non si possono fare in un processore basato su X86 o X64.

05:07.140 --> 05:08.310
Il più importante di questi

05:08.310 --> 05:10.470
è la maggiore durata della batteria.

05:10.470 --> 05:12.540
ARM produce molto meno calore per poter

05:12.540 --> 05:14.730
eseguire tutti gli stessi calcoli di

05:14.730 --> 05:18.120
un processore basato su X64 o X86 e questo consente di risparmiare

05:18.120 --> 05:21.690
molta batteria e molto raffreddamento.

05:21.690 --> 05:24.660
È quindi molto popolare nelle configurazioni system on a chip, come

05:24.660 --> 05:26.910
le smart TV, gli altoparlanti intelligenti e altri

05:26.910 --> 05:29.670
dispositivi, nonché i computer portatili più recenti.

05:29.670 --> 05:30.990
Quindi, quando si utilizza

05:30.990 --> 05:32.580
qualcosa che non è basato su Windows,

05:32.580 --> 05:34.710
come un dispositivo Apple, un Chromebook

05:34.710 --> 05:36.840
o persino un telefono o un tablet Android,

05:36.840 --> 05:39.120
questi tendono a utilizzare processori basati

05:39.120 --> 05:41.820
su ARM invece che su X64 o X86 per via della maggiore durata

05:41.820 --> 05:43.410
della batteria e del minore consumo

05:43.410 --> 05:45.360
energetico che crea meno calore all'interno

05:45.360 --> 05:48.030
del dispositivo.

05:48.030 --> 05:51.060
Ora, se si considera un processore basato su RISC o ARM

05:51.060 --> 05:54.480
rispetto a un processore basato su X64 o X86, si ha a che fare con

05:54.480 --> 05:56.760
un set di istruzioni ridotto invece che con

05:56.760 --> 05:59.520
un set di istruzioni completo e complesso.

05:59.520 --> 06:01.950
Si potrebbe pensare che questo comporti una minore capacità,

06:01.950 --> 06:03.060
ma non è così.

06:03.060 --> 06:05.040
Quando si utilizza un sistema basato su RISC, questi

06:05.040 --> 06:08.040
sistemi RISC utilizzano un numero inferiore di istruzioni per poter svolgere

06:08.040 --> 06:09.930
tutte le stesse attività, ma si affidano maggiormente

06:09.930 --> 06:12.480
al codice per poterle eseguire.

06:12.480 --> 06:15.270
Ciò consente a ciascun pezzo di codice all'interno

06:15.270 --> 06:17.730
del RISC di fare più cose con meno codice, riducendo

06:17.730 --> 06:19.860
il consumo di energia e prolungando la

06:19.860 --> 06:21.810
durata della batteria.

06:21.810 --> 06:23.700
Con la continua evoluzione dei computer,

06:23.700 --> 06:26.160
i processori basati su RISC e ARM diventeranno

06:26.160 --> 06:27.780
sempre più diffusi in un'ampia

06:27.780 --> 06:29.130
gamma di sistemi, tra cui

06:29.130 --> 06:30.900
desktop e portatili.

06:30.900 --> 06:32.490
E questo sta già iniziando a farsi

06:32.490 --> 06:33.840
strada nell'ambiente Windows,

06:33.840 --> 06:36.360
dato che ora stanno iniziando a offrire versioni di Windows

06:36.360 --> 06:39.330
11 che supporteranno un processore basato su ARM.

06:39.330 --> 06:42.150
Una volta che il sistema sarà uscito dalla fase beta e sarà entrato in produzione

06:42.150 --> 06:44.490
generale, vedremo un numero maggiore di desktop e laptop che

06:44.490 --> 06:47.523
utilizzano ARM, al di là del semplice utilizzo per i sistemi Apple.
