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