WEBVTT 00:00:15.213 --> 00:00:17.568 Ricordi la prima volta in cui hai realizzato 00:00:17.568 --> 00:00:18.679 che il tuo computer era più 00:00:18.679 --> 00:00:20.742 di un monitor e una tastiera? 00:00:20.742 --> 00:00:23.325 Tra il click del mouse e lo scorrere del video, 00:00:23.325 --> 00:00:25.598 c'era qualcosa che catturava il vostro intento, 00:00:25.598 --> 00:00:26.428 lo capiva, 00:00:26.428 --> 00:00:28.650 e lo rendeva reale? 00:00:28.650 --> 00:00:30.270 Che cos'è quel qualcosa? 00:00:30.270 --> 00:00:32.007 Sono i gremlins? 00:00:32.007 --> 00:00:33.665 Immaginiamo di poterci ridurre 00:00:33.665 --> 00:00:35.141 alla dimensione di un elettrone 00:00:35.141 --> 00:00:37.894 e di introdurci nel click di un mouse. 00:00:37.894 --> 00:00:39.531 Se smontate il mouse, 00:00:39.531 --> 00:00:42.193 vedrete che è una macchina veramente semplice. 00:00:42.193 --> 00:00:43.444 Ha una coppia di pulsanti 00:00:43.444 --> 00:00:46.597 e un sistema di rilevamento del movimento e della distanza. 00:00:46.597 --> 00:00:48.163 Potreste avere un mouse ottico 00:00:48.163 --> 00:00:50.778 che prende queste misure attraverso la luce e i sensori, 00:00:50.778 --> 00:00:53.218 quelli vecchi lo facevano con una sfera di gomma dura 00:00:53.218 --> 00:00:54.616 e rotelle di plastica. 00:00:54.616 --> 00:00:56.325 È lo stesso concetto. 00:00:56.325 --> 00:00:58.094 Quando cliccate il pulsante del mouse, 00:00:58.094 --> 00:00:59.876 questo invia un messaggio al computer 00:00:59.876 --> 00:01:01.825 con informazioni sulla sua posizione. 00:01:01.825 --> 00:01:03.491 Quando il click è stato ricevuto, 00:01:03.491 --> 00:01:06.880 viene processato dal sottosistema basico input/output. 00:01:06.880 --> 00:01:09.444 Il sottosistema fa da occhi, orecchie, 00:01:09.444 --> 00:01:12.053 bocca e mani del computer. 00:01:12.053 --> 00:01:13.958 In pratica, fornisce al computer un modo 00:01:13.958 --> 00:01:16.443 per interagire con il suo ambiente. 00:01:16.443 --> 00:01:18.090 Ma fa anche da tampone 00:01:18.090 --> 00:01:21.501 evitando che la CPU sia sommersa dalle distrazioni. 00:01:21.501 --> 00:01:23.811 In questo caso, il sottosistema I/O stabilisce 00:01:23.811 --> 00:01:25.942 che il click è piuttosto importante 00:01:25.942 --> 00:01:28.939 perciò genera un'interruzione nella CPU. 00:01:28.939 --> 00:01:30.905 "Hey, CPU! Ho qui un click." 00:01:31.975 --> 00:01:34.317 La CPU, o Unità di Elaborazione Centrale, 00:01:34.327 --> 00:01:36.522 è il cervello dell'intero computer. 00:01:36.522 --> 00:01:39.072 Proprio come il cervello non occupa tutto il corpo, 00:01:39.072 --> 00:01:41.577 la CPU non occupa tutto il computer, 00:01:41.577 --> 00:01:44.262 ma dirige ugualmente lo spettacolo. 00:01:44.262 --> 00:01:46.776 Il lavoro della CPU, tutto il suo lavoro, 00:01:46.776 --> 00:01:48.444 è prendere istruzioni dalla memoria 00:01:48.444 --> 00:01:50.451 ed eseguirle. 00:01:50.451 --> 00:01:52.380 Così, mentre scrivete e scrivete, 00:01:52.380 --> 00:01:53.610 magari molto velocemente, 00:01:53.610 --> 00:01:55.088 come 60 parole al minuto, 00:01:55.088 --> 00:01:57.090 la CPU sta prendendo ed eseguendo 00:01:57.090 --> 00:01:59.137 miliardi di istruzioni al secondo. 00:01:59.137 --> 00:02:02.176 Si, miliardi ogni secondo: 00:02:02.176 --> 00:02:04.982 le istruzioni per muovere il mouse sullo schermo, 00:02:04.982 --> 00:02:07.145 per far funzionare l'orologio nel desktop, 00:02:07.145 --> 00:02:08.822 ascoltare la radio in Internet, 00:02:08.822 --> 00:02:11.115 gestire i file che modificate sul disco rigido, 00:02:11.115 --> 00:02:12.900 e molto, molto altro ancora. 00:02:12.900 --> 00:02:16.160 La CPU del vostro computer è un formidabile multitasker! 00:02:16.743 --> 00:02:17.613 "Però, caspita 00:02:17.613 --> 00:02:18.909 c'è un click del mouse 00:02:18.909 --> 00:02:20.030 che sta arrivando! 00:02:20.030 --> 00:02:22.560 Lasciamo perdere tutto e occupiamoci di quello!" 00:02:23.097 --> 00:02:24.604 Ci sono programmi per tutto ciò 00:02:24.604 --> 00:02:26.336 che la CPU fa. 00:02:26.336 --> 00:02:28.058 Un programma speciale per il mouse, 00:02:28.058 --> 00:02:29.092 per l'orologio, 00:02:29.092 --> 00:02:30.303 per la radio in Internet, 00:02:30.303 --> 00:02:32.834 e per gestire le lettere inviate dalla tastiera. 00:02:33.305 --> 00:02:35.588 Inizialmente ogni programma era scritto dall'uomo 00:02:35.588 --> 00:02:37.906 in un linguaggio di programmazione leggibile, 00:02:37.906 --> 00:02:38.765 come Java, 00:02:38.765 --> 00:02:39.798 C++, 00:02:39.798 --> 00:02:41.219 o Python. 00:02:41.219 --> 00:02:43.741 Ma i programmi umani occupavano molto spazio 00:02:43.741 --> 00:02:47.450 e contenevano molti dati non necessari al computer, 00:02:47.450 --> 00:02:49.191 perciò vengono compilati e ridotti 00:02:49.191 --> 00:02:52.653 e sistemati in bit uno e zero nella memoria. 00:02:52.653 --> 00:02:55.410 La CPU si accorge che servono istruzioni 00:02:55.410 --> 00:02:57.201 per occuparsi di questo click, 00:02:57.201 --> 00:02:59.630 quindi cerca l'indirizzo del programma del mouse 00:02:59.630 --> 00:03:01.955 e invia una richiesta al sottosistema di memoria 00:03:01.955 --> 00:03:04.179 in cerca di istruzioni depositate lì. 00:03:05.287 --> 00:03:07.216 Ogni istruzione nel driver del mouse 00:03:07.216 --> 00:03:09.742 è debitamente presa ed eseguita. 00:03:09.742 --> 00:03:12.113 E siamo solo agli inizi! 00:03:12.113 --> 00:03:14.594 Poiché la CPU sa che il mouse è stato cliccato 00:03:14.594 --> 00:03:16.266 quando il cursore era sull'immagine 00:03:16.266 --> 00:03:18.347 di un pulsante sullo schermo del monitor, 00:03:18.347 --> 00:03:21.248 allora la CPU richiede chiede memoria per il programma del monitor 00:03:21.248 --> 00:03:23.353 per scoprire quale sia quel pulsante. 00:03:23.353 --> 00:03:25.601 Poi la CPU deve richiedere memoria 00:03:25.601 --> 00:03:27.367 per il programma del pulsante, 00:03:27.367 --> 00:03:29.068 ciò significa che la CPU ha bisogno 00:03:29.068 --> 00:03:30.688 di nuovo del programma del monitor 00:03:30.688 --> 00:03:32.860 per mostrare il video associato al pulsante, 00:03:32.860 --> 00:03:34.742 e così via. 00:03:34.742 --> 00:03:37.487 Diciamo solo che ci sono tanti programmi che intevengono 00:03:37.487 --> 00:03:39.722 ancor prima di vedere il pulsante sullo schermo 00:03:39.722 --> 00:03:41.379 accendersi quando lo cliccate. 00:03:41.379 --> 00:03:43.848 Dunque, solo il semplice click del mouse 00:03:43.848 --> 00:03:46.216 implica controllare tutti i componenti essenziali 00:03:46.216 --> 00:03:48.196 dell'architettura del computer: 00:03:48.196 --> 00:03:49.238 le periferiche, 00:03:49.238 --> 00:03:51.047 il sistema basico input/output, 00:03:51.047 --> 00:03:52.379 la CPU, 00:03:52.379 --> 00:03:53.154 i programmi, 00:03:53.154 --> 00:03:54.140 e la memoria, 00:03:54.140 --> 00:03:56.133 e nemmeno un gremlin.