4° incontro - U no schem a funzionale di hardware
Transcript
4° incontro - U no schem a funzionale di hardware
Buon pomeriggio, ragazzi. Qualche giorno fa, Marco mi ha portato la stampa della Costituzione de I Guardiani del Progetto ed ho avuto una magnifica sorpresa. Ho capito che siete persone serie e che sapete organizzarvi splendidamente. In particolare, sono rimasto impressionato dall' Articolo 3 della vostra Carta, ove si recita che la vostra organizzazione rifiuta con decisione l' astuzia , in quanto molto dannosa per la società e per il Progetto. Ora, la mia sorpresa deriva dal fatto che io avevo detto, anche se brevemente, a Marco del Progetto, ma non credo di avergli mai detto della mia profonda avversione nei confronti dell' astuzia, che, a mio avviso, è la piaga dell' umanità. Ripeto, sono sorpreso ed enormemente contento che questa idea sia partita spontaneamente da voi. Occorre precisare, però, che non mi riferisco alle persone che, in occasioni particolari, sono costrette a ricorrere, magari con imbarazzo, a qualche furbata per togliersi da un impaccio imprevisto; può capitare a tutti. Io condanno l'agire con astuzia delle persone che lo fanno "per vocazione", cioè che lo fanno sempre, in ogni occasione, e ne sono orgogliose, se ne vantano e si sentono superiori alle loro vittime. Questo, oltre a procurare danni a tante persone oneste, è brutto, anzi, disgustoso ed è caratteristico delle persone poco intelligenti. Cari ragazzi, sono orgoglioso di voi. 2 Marco si dimostra, come sempre, un ragazzo corretto. Comunque, il fatto che abbiate ritenuto opportuno dedicare un Articolo della vostra Costituzione a questo argomento dimostra come lo riteniate importante. Piuttosto, posso suggerire di aggiungere un ulteriore Articolo? Penso che un vostro importante contributo al progresso del nostro Paese potrebbe essere questo: l' impegno a vigilare che nelle vostre famiglie si pratichino, con sempre maggiore scrupolo, i doveri dei buoni cittadini. Vi porto qualche esempio. Il pretendere che al bar o in qualunque negozio, venga rilasciato lo scontrino fiscale è un preciso nostro dovere ; il trascurare di farlo significa divenire complici di un furto ai danni di tutti noi, della società. Un altro esempio, forse ancora più importante, riguarda la raccolta differenziata dei rifiuti. Potreste aiutare i vostri genitori, che hanno tante altre cose da fare, prendendo voi l'incarico di differenziare e di portare i vari tipi di rifiuti negli opportuni cassonetti. Sono sicuro che lo fareste meglio dei vostri genitori. Mi promettete di riflettere su quanto vi ho detto? Sono sicuro che sarete più bravi di me e che troverete tanti altri modi per aiutare le vostre famiglie. Vi saranno grati i vostri genitori e tutti i cittadini onesti; avrete assolto meglio il vostro compito di Guardiani del Progetto. Fatta questa premessa, ora è il caso di ritornare ai nostri elaboratori, parlando dei concetti fondamentali relativi al loro hardware. Non c'è bisogno di avere fretta. Anzi, è molto meglio che ne parliate prima con calma fra voi e riflettiate. Variare una Costituzione non è cosa da fare con leggerezza. 3 Sullo schermo vedete proiettato uno schema funzionale essenziale dell' hardware di un elaboratore. Definiamone i componenti: CPU - Central Process Unit (Unità centrale di elaborazione o Processore, sede della elaborazione delle informazioni). RAM - Random Access Memory (Memoria ad accesso casuale, sede dei dati oggetto di elaborazione). clock - Battuta di tempo (da cui dipende la velocità di elaborazione). interrupts - Interruzioni che sono ordinate al Processore, allo scopo di dare priorità a un lavoro più urgente. Comunemente, l'insieme della CPU e della RAM viene detto Unità Centrale. BUS - Canale di comunicazione. È una sorte di grande autostrada, che collega l'Unità Centrale con le componenti esterne ad essa, sulla quale viaggiano autoBUS carichi di informazioni di ogni tipo. Interfacce di ingresso - Schede elettroniche, con il compito di trasformare i segnali provenienti dalle diverse periferiche in dati utilizzabili dalla CPU. I dati pronti al trasferimento sostano nei cosiddetti Buffer. Interfacce di uscita - Schede elettroniche con il compito inverso rispetto al precedente. Periferiche di INPUT - Alcuni esempi: Tastiera, Microfono, Lettore di CdRom, etc. Periferiche di OUTPUT - Alcuni esempi: Stampante, Altoparlante, Schermo video, etc. Alcune periferiche funzionano sia come Input che come Output: 4 Periferiche di I/O - Alcuni esempi: Pennini o Dischi removibili, etc. Hard disk (Disco rigido), Floppy disk, Il clock, cioè la battuta di tempo, da cui dipende la velocità dell' elaborazione e che si misura in Hertz (Hz, numero di giri al secondo), mi suggerisce un paragone (i letterati direbbero una metafora). Il funzionamento di una Unità Centrale può essere paragonato a quello di una orchestra, nella quale il Direttore batte il tempo e indica ai diversi orchestrali quando è il momento di agire o di sospendere il suono. Per rendere più efficace il confronto, immaginiamo che il Direttore sia al centro dei suoi orchestrali, su di un podio che gira continuamente. Girando, egli dirige ogni strumento o gruppo di strumenti; il generico orchestrale, ricevuto un ordine, il prossimo ordine lo riceverà dopo un giro completo del Direttore. Ora, accade a volte che questo orchestrale, rapidissimo 5 nello svolgere il suo compito, sia costretto a rimanere inattivo sino al prossimo arrivo della bacchetta del Direttore su di lui. Ciò significa che le risorse dell'orchestra saranno sfruttate meglio, quanto maggiore sarà la velocità di rotazione del Maestro. Direi che la metafora funziona molto bene. L'unico inconveniente di questa metafora è che al povero Direttore verrebbe subito un gran mal di testa. Pensate che i Processori di una decina di anni fa lavoravano a qualche MegaHertz (MHz) (milione di giri al secondo), mentre gli odierni Processori lavorano a qualche GigaHertz (GHz) (miliardo di giri al secondo). Sono sicuro che, in queste condizioni, il sindacato dei Direttori d' orchestra solleverebbe qualche protesta. Con il progresso, l' Elaborazione Automatica dei Dati (EAD) (in Inglese EDP, per Electronic Data Processing) ottimizza di continuo queste due sue caratteristiche: la potenza dei Processori, di cui abbiamo parlato e le dimensioni spaziali dei componenti. Pensate che il 370 IBM con il quale lavoravo alla Nato occupava una sala grande almeno come la vostra palestra ed aveva potenza e capacità di memoria di gran lunga inferiori a quelle di questo portatile che sto usando, che non è, fra l'altro, dei più potenti. Per darvi una idea più concreta, pensate che questo mio portatile è in grado di leggere l'intera Divina Commedia (quasi 15.000 versi) in 2 centesimi di secondo. Direi proprio di no; anzi, direi che è vero esattamente il contrario: il cervello umano è un hardware immensamente più potente dell' hardware del più potente dei nostri elaboratori. È molto importante convincersi di questo, quindi, attenzione! Quando il mio portatile legge la Divina Commedia, il suo compito di gran lunga prevalente è proprio quello, il che significa che il Direttore d'orchestra, girando a velocità pazzesca, tiene costantemente impegnato uno dei suoi orchestrali in quella operazione. In queste condizioni ottimali, la lettura avviene in qualche decimo di secondo. 6 Immaginiamo, invece, Vanni che legge la Divina Commedia, una mattina, passeggiando alla villa Bellini. Contrariamente a quanto fa il portatile, che legge la Commedia senza capirci assolutamente nulla, il cervello di Vanni porta avanti, contemporaneamente, una enorme quantità di lavori, molti dei quali in maniera non consapevole. Consapevolmente, egli riflette su ciò che sta leggendo; richiama, ad esempio, le stupende immagini suscitate da quei versi, soffermandosi sui particolari. A livello non cosciente, la sua mente (software) fa lavorare il suo cervello (hardware) per risolvere mille problemi. Ad esempio, mantiene, istante per istante, in equilibrio il corpo di Vanni, impedendogli di cadere (operazione molto complessa) ; bada ad evitare una vecchietta seduta su quella panchina, imitando l'operazione di un radar ; ascolta il coro stupendo degli uccelli che volano in alto e pensa a goderne ; si preoccupa di scacciare quella noiosa zanzara che si è posata sulla fronte di Vanni. Si potrebbe continuare con innumerevoli altri compiti, tutti svolti contemporaneamente. Insomma, paragonare la velocità di esecuzione del cervello umano a quella dell' hardware del nostro più potente elaboratore, sarebbe come paragonare la velocità dell'attuale treno "Freccia rossa" con l'avanzare di una lumaca. A conclusioni del tutto analoghe giungeremmo se paragonassimo le capacità di memoria del cervello umano con quelle dei nostri sistemi di elaborazione. Basti pensare, ad esempio, al contenuto di un DVD (Digital Video Disk) rispetto all'incredibile numero di immagini che possiamo richiamare dal cervello (immagini risalenti sin dalla nostra infanzia) e gli innumerevoli suoni che possiamo riconoscere e che, quindi, sono immagazzinati in esso, i motivi musicali, i discorsi fatti con gli amici, e così via. In un recente studio, è stato valutato che la capacità di memoria del nostro cervello corrisponde circa a quella di 36.000 DVD. Siete convinti, ora, che il cervello umano costituisce un hardware da favola? 7 Hai proprio ragione, cara Margherita, ed è vero che più si viene a conoscere del modo di funzionare della Natura, più se ne rimane sbalorditi e più, come vi ho detto un'altra volta, si è presi da un profondo senso di religiosità, che ci porta a pensare e poi a vivere per quello che abbiamo chiamato Progetto, che sta producendo, sotto i nostri occhi, questi straordinari risultati. Vedremo, poi, che queste differenze enormi, da altro mondo, che abbiamo riscontrato nell' hardware, saranno ancora più evidenti confrontando i nostri miseri software con quelli dell' altro mondo. Tornando alle nostre cose, piccole ma importanti, se non altro, perché sono creazioni di creature del Progetto, abbiamo iniziato con i principi di funzionamento dell' hardware di un elaboratore, in quanto la realizzazione di un buon software non può fare a meno della conoscenza di quei principi. Non occorre essere dei tecnici, ma è importante avere chiari alcuni concetti e vi dirò subito qualcosa sul più importante di essi. L' hardware di un elaboratore è costituito da componenti meccanici e componenti circuitali (circuiti elettronici) ; l'elaborazione comporta un trasferimento continuo di informazioni (dati) da una parte dell'elaboratore ad un'altra; ebbene questo trasferimento avviene in tempi brevissimi nelle parti circuitali, mentre tali tempi crescono drasticamente quando nel trasferimento è coinvolto un componente meccanico. L' Unità Centrale (CPU + RAM) è interamente circuitale, mentre le unità Periferiche sono generalmente composte sia da parti circuitali che da parti meccaniche. A parte il caso ovvio delle stampanti, consideriamo l'esempio di una Unità a Disco. Ne esistono di diversi tipi: fissi o rimovibili ; rigidi (hard) o flessibili (floppy) ; magnetici o ottici ; tutti presentano lo stesso problema: la superficie su cui sono registrati i dati ruota ad alta velocità e uno o più braccini, muovendosi radialmente, esplorano la superficie e ne leggono e/o scrivono i dati. Ebbene, questi movimenti meccanici allungano enormemente i tempi di trasferimento dei dati (almeno di mille, sino a diecimila volte). Anche se negli hardware di oggi questo effetto di rallentamento è limitato dalla introduzione di speciali componenti circuitali (BUS e buffer nelle Interfacce I/O ), un abile programmatore, che conosce il problema, può migliorare ancora i tempi di esecuzione, minimizzando, ove possibile, il numero di accessi al disco. Con questo, cari ragazzi, vi saluto e vi auguro un' ottima domenica.