Lezione 5 Architettura degli elaboratori Mauro Piccolo [email protected] Esecutore ● ● ● Un elaboratore elettronico `e una esecutore “general purpose” (ossia con finalita generiche e non predeterminate). Le componenti principali, che analizzeremo nel seguito, sono: ● Hardware ● Software, d’ambiente ed applicativo Il funzionamento del PC `e basato su due elementi fondamentali: ● Istruzioni da eseguire Dati da elaborare HW & SW ● Hardware (HW): componenti fisici di sistema. ● ● Unita' di elaborazione, memoria centrale, memoria di massa, bus di sistema, stampanti, scanner, lettori CD/DVD, monitor, mouse, … Software (SW) ­programmi che vengono eseguiti dal sistema ● Software di sistema: dedicato alla gestione dell’elaboratore. Controlla il comportamento del sistema (il pi`u importante dei software di sistema `e il sistema operativo, che controlla le risorse del sistema e fornisce la base su cui costruire tutti gli altri programmi). – ● Software applicativo: `e dedicato alla realizzazione di specifiche esigenze applicative degli utenti, si appoggia sullo strato fornito dal sistema operativo. – ● Es. di OS: MS­DOS, Windows, Unix, Linux, Mac OS, Android … Es. di software applicativo: Word, Excel, Firefox, Safari, Explorer, … Vedrete nel corso di Sistemi di Elaborazione delle Informazioni I Tipologie di elaboratore (1) ● ● Un palmare (PDA) e' computer di dimensioni contenute, tali da essere portato sul palmo di una mano. Spesso e' dotato di uno schermo touchscreen. Hanno programmi e sistemi operativi realizzati su misura. Un palmare integrato con il telefono `e chiamato smartphone. Un laptop o notebook o semplicemente portatile e' un piccolo computer progettato per la portabilita'. Solitamente tutti i componenti hardware sono incorporati in una singola unita'. E' caratterizzato dalla presenza di una batteria ricaricabile. Tipologie di elaboratore (2) ● ● Un netbook e' un portatile progettato e commercializzato con l’accento sulla portabilit`a (piccole dimensioni, peso ridotto e spesso maggiore durata della batteria) con prestazioni un poco piu limitate di un notebook standard. Ma per ottenere la riduzione del peso e delle dimensione, possiede poche porte, impiega costosi componenti ed inoltre nella maggior parte dei subnotebook viene omessa l’unita ottica (CD/DVD). Un tablet e' un computer dotato di un monitor touchscreen come principale dispositivo di input. Il touchscreen consente all’utente di utilizzare il computer con una stilo digitale o con un dito, invece di una tastiera o mouse. E' caratterizzato da una lunga durata della batteria, possiede poche porte e ha prestazioni limitate ancor piu del netbook. Tipologie di elaboratore (3) ● ● Un desktop e' un computer destinato ad essere usato esclusivamente in un posto fisso. Il desktop `e caratterizzato da una notevole espandibilit`a e modularit`a e da prestazioni quasi sempre superiori rispetto ad un comune computer portatile. Una workstation e' un desktop di fascia alta progettato principalmente per applicazioni tecniche e scientifiche e altri compiti altamente professionali. E caratterizzato da prestazioni elevatissime rispetto ai normali desktop. Tipologie di elaboratore (4) ● Infine i mainframe e supercomputer sono macchine costruite apposta per certe finalita ed alloggiate in strutture costruite su richiesta dall’acquirente. I supercomputer vengono utilizzati per realizzare processi di calcolo intensivi come le analisi meteorologiche (incluse le analisi sull’incidenza dell’inquinamento sull’ambiente), le analisi molecolari (calcolo della struttura tridimensionale e del loro ripiegamento, delle propriet`a chimiche, ecc) simulazioni fisiche (simulazioni di fluidodinamica, simulazioni di detonazioni nucleari, di astrofisica, di fisica nucleare ecc), criptoanalisi e altro. I militari e le agenzie governative di tutte le nazioni ne fanno un uso molto intenso. Architettura di Von Neumann CPU Memoria Principale Memoria Secondaria BUS Dispositivi di I/O Macchina astratta ● La maggior parte dei calcolatori dei calcolatori sono accomunati dalla medesima architettura, schematizzata dal modello di Von Neumann. ● ● ● Il processore estrae le istruzioni dalla memoria e le esegue, le istruzioni possono comportare: – manipolazione dei dati; – movimentazione dei dati; – individuazione della prossima istruzione. I trasferimenti di dati attraverso elementi funzionali diversi avvengono attraverso il bus di sistema Tutte le componenti del calcolatore sono sincronizzate da un orologio di sistema (clock).. Bus di sistema (1) ● Il bus di sistema e' composto da fili in rame, ad esse sono connessi sia i moduli di memoria che le periferiferiche di I/O. Ogni filo e' una connessione elettrica che pu`o trasmettere cifre binarie (0 o 1). Normalmente, solo una coppia di dispositivi alla volta puo utilizzare il bus: un master ed uno slave. Il prima attiva la comunicazione ed il secondo la subisce. Semplificando, possiamo immaginare che sia sempre la CPU ad agire come master, ossia ad iniziare una comunicazione con un’altra componente del calcolatore. Bus di sistema (2) ● ● ● Linee dati. E' il sub­bus sul quale transitano le informazioni. E' utilizzato da tutti i componenti del sistema, in scrittura ed in lettura. Linee indirizzi. E' il sub­bus attraverso il quale la CPU decide in quale indirizzo andare a scrivere o a leggere informazioni. Sia le celle di memoria (RAM) sia le periferiche di I/O (Input/Output) espongono uno o piu celle di memoria, ognuno dei quali accessibile tramite indirizzo. Talune possono essere solo scrivibili o solo leggibili. Lo slave (ossia il dispositivo che subisce la comunicazione) rende la cella di memoria corrispondente all’indirizzo accessibile sul bus dei dati per la lettura e/o la scrittura. Linee di controllo. Lo scopo dei controlli `e coordinare le attivita' del sistema; tramite esso, la CPU pu`o decidere con quale dispositivo comunicare, cioe' quale dispositivo deve leggere l’indirizzo sul bus indirizzi, se deve essere eseguita una lettura od una scrittura, ed altro. Riepilogando (1) ● ● ● Il calcolatore e' composto da alcuni elementi funzionali interagenti e cooperanti che colloquiano tramite il bus. Le operazioni di elaborazione si susseguono sincronizzate con una scansione temporale dettata da un orologio di sistema (clock). Il processore o CPU (Central Processing Unit) e' il modulo che svolge effettivamente le elaborazioni e coordina il flusso dei dati all’interno del computer. Compito principale di questa unita' di elaborazione `e quello di far girare i programmi, eseguendo le singole istruzioni che li compongono. La memoria centrale (RAM) e' utilizzata per memorizzare il programma in esecuzione sulla macchina e i dati utili al loro funzionamento. La sua capacita' di memorizzazione e' limitata e, normalmente, e' volatile (le informazioni vengono perse in caso di mancata alimentazione del PC). La sua caratteristica principale e' quella di permettere un accesso veloce alle informazioni in essa contenute. Riepilogando (2) ● ● La memoria secondaria (o di massa) consente, invece, lo stoccaggio di enormi quantita' di dati in modo permanente sfruttando propriet`a magnetiche od ottiche; lo svantaggio dell’utilizzo di tali tecnologie di realizzazione risiede nel tempo di accesso, notevolmente maggiore rispetto a quello della memoria centrale. In un computer tutte le componenti sopra elencate trovano normalmente posto in un unico contenitore detto box o case. Le unita' periferiche sono dispositivi utilizzati per fornire i dati da elaborare al computer e per ottenere da esso i risultati; esse fungono quindi da interfaccia fisica tra l’elaboratore e l’utilizzatore. Esempi di periferiche sono tastiera, mouse, il monitor, lastampante, modem ... Motherboard ● ● I calcolatori tipicamente sono realizzati connettendo tutte le componenti ad una scheda­madre. Su di essa viene realizzato il bus che connette gli slot predisposti per ospitare la CPU, la RAM, la memoria secondaria e gli altri dispositivi. Oggi, le schede madre sono realizzate utilizzando i chip (chipset) di un unico produttore (INTEL, ASUS, ...) in maniera piuttosto standard. Tutti i chipset includono due chip cruciali: il northbridge ed il southbridge. Chipset ● Con il termine chipset in generale, si indica un insieme di circuiti integrati (chip) che svolgono una specifica funzione. Viene utilizzato per indicare l’insieme di chip di una scheda madre che si occupano di smistare e dirigere il traffico di informazioni passante attraverso il bus di sistema, fra CPU, memoria RAM e controller delle periferiche di input/output. In generale, uno specifico chipset e' progettato per una determinata famiglia di processori. Il socket, anche chiamato zoccolo, e' lo slot (il connettore) destinato ad ospitare la CPU. CPU (1) ● La CPU `e l’elemento dedicato all’esecuzione dei programmi: si occupa di eseguire tutte le operazioni richieste dal sistema operativo e dal software applicativo. ● ● ● ● Una CU (Control Unit) che legge dalla memoria le istruzioni. Se occorre legge anche i dati necessari all’esecuzione dell’istruzione letta. Quindi, esegue l’istruzione e (eventualmente) memorizza il risultato, scrivendolo in memoria o in un registro della CPU. Una ALU (Arithmetic Logic Unit) che si occupa di eseguire le operazioni logiche e aritmetiche. I registri sono le speciali locazioni di memoria interne alla CPU, molto veloci, a cui e' possibile accedere molto piu' rapidamente che alla memoria. Per rendere pi`u veloci le fasi di trasferimento dei dati vi e' anche una memoria superveloce detta CACHE che immagazzina provvisoriamente i dati piu' recenti letti dalla CPU. Nel caso la CPU dovesse richiederli nuovamente per un’ulteriore elaborazione il loro trasferimento da questa memoria risultera' molto pi`u rapido che dalla RAM. CPU (2) ● Riassumendo, per poter svolgere il suo compito deve essere in grado di: ● ● ● ● leggere e scrivere i dati nella memoria del computer (RAM) riconoscere ed eseguire i comandi e le istruzioni fornite dai programmi indicare alle altre componenti del computer cosa fare, in modo da organizzare e sincronizzare le varie operazioni da svolgere Memoria principale ● Memoria RAM (Random Access Memory) ● ● Accesso diretto alle celle Il tempo di accesso alle celle e' sempre il medesimo indipendentemente dalla posizione della cella ● Random (tradotto in italiano con casuale) ● Memoria volatile (finche' c'e' energia) Indirizzamento delle celle Spazio di indirizzamento ● Utilizzando 16 bit si possono indirizzare ● ● Utilizzando 32 bit si possono indirizzare ● ● 216 = 64 KB di memoria 232 = 4 GB di memoria Gli indirizzi a 32 bit sono lo standard nella maggior parte dei calcolatori, anche se oggi alcuni processori utilizzano indirizzi di 64 bit Concetto di programma memorizzato Un programma puo' essere codificato come sequenza di bit e memorizzato in memoria principale. Da qui, la CPU puo' estrarre le istruzioni ed eseguirle. In questo modo il programma da eseguire puo' essere alterato piu' facilmente, favorendo la flessibilita'. Il principio di funzionamento ● ● ● Programmi e dati risiedono in memoria secondaria Per essere eseguiti (i programmi) ed usati (i dati) vengono copiati nella memoria principale La CPU (Central Processing Unit) e' in grado di eseguire le istruzioni che compongono i programmi Memoria Principale Le memorie SRAM (RAM statiche), dette anche flash-RAM, hanno costi elevati, tempi di accesso inferiori ai 2 nanosecondi e sono generalmente usate per la memoria cache . Le memorie DRAM (RAM dinamiche) hanno tempi di accesso pari a 40-60 nanosecondi e sono utilizzate per la memoria principale degli elaboratori. Le memorie VRAM (RAM video) hanno caratteristiche molto particolari e sono usate dagli adattatori video per la gestione delle immagini. Sono più costose delle DRAM. Word La parola (word) di una architettura: quanti bit possono essere letti/scritti/usati dalla cpu con un unico accesso alla memoria (16, 32, 64, 128 bit) Piu’ grande e la word, maggiore e’ la potenza del computer. Attenzione – non influisce sullo spazio di indirizzamento - l’unità indirizzabile rimane sempre il byte. Memoria ROM ROM = Read Only Memory (Memoria di sola lettura) • Non può essere modificata • A differenza della RAM non è volatile • Veloce come la RAM • Usata per memorizzare programmi e di uso particolare – programmi di boot (accensione) – configurazione del sistema istruzioni Il processore e la memoria principale I registri All’interno del processore ci sono due tipi di registri: Registri speciali usati dall'unità di controllo per scopi particolari, ad esempio il registro Program Counter, il Registro Istruzioni, il Registro di Stato e i registri di comunicazione con la memoria; Registri generali (o aritmetici) usati per salvare risultati parziali durante il corso dell'elaborazione. I registri (P.C.) Il Program Counter (PC) Come abbiamo già detto il processore esegue, ad ogni ciclo, un'istruzione prelevata dalla memoria principale. Il problema diventa quello di conoscere l'indirizzo della cella di memoria in cui si trova la prossima istruzione da eseguire: questo indirizzo è memorizzato nel registro Program Counter (PC). Registri (RI e RS) Registro Istruzioni (RI) attualmente in esecuzione. contiene l'istruzione Ad ogni ciclo di clock l'istruzione letta dalla memoria principale viene scritta nel registro istruzioni RI. Il Registro di Stato (PS) contiene le informazioni sullo stato di esecuzione del processore e può segnalare eventuali errori avvenuti durante l'esecuzione. Vi sono diversi tipi di errori che possono avvenire nel corso dell'esecuzione di un programma. Ad esempio overflow. Registri generali Registri generali - sono in genere sedici o trentadue e servono come memoria temporanea per le operazioni interne del processore. Le dimensioni dei registri coincidono con quelle delle parole di memoria. Registri (RIM,RDM e RC) Registro Indirizzi Memoria (RIM), mediante il quale il processore può specificare l'indirizzo della cella su cui vuole operare che contiene l'informazione letta dalla memoria o quella che deve essere scritta nella memoria Registro Dati Memoria (RDM) Registro di Controllo (RC) mediante il quale il processore specifica l'operazione che deve essere eseguita e che, al termine dell'operazione, viene utilizzato per segnalare eventuali errori che possono essere avvenuti Collegamento memoria- processore RC RIM MEMORIA Circuito di decodifica RDM Il processore (l'ALU) L'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. I processori oggi in commercio hanno anche un particolare modulo integrato all’interno del processore chiamato FPU (Floating Point Unit) o NPU (Numerical Processing Unit) che si occupa di potenziare e supportare la ALU nelle operazioni matematiche complesse. Il processore (la MMU) Unità di gestione della memoria (MMU) Questo modulo, interno alla CPU e gestito direttamente dall’unità di controllo, si occupa di tutte le operazioni di indirizzamento da e verso la memoria. Memoria cache memoria cache serve per conservare i dati di uso molto frequente nel transito fra CPU e Memoria principale. Ha solitamente dimensioni abbastanza ridotte (qualche centinaio di KB) ed è molto più veloce della RAM. (usa tecnologia statica) • Cache interna – o primaria, chiamata cache L1, realizzata all’interno del circuito della CPU (su bus veloce) • Cache esterna – o secondaria, chiamata cache L2, situata sulla scheda madre, più lenta ma espandibile. Memoria cache L’efficacia della cache funzionali adottati. dipende dai criteri locality of reference Statisticamente, se il processore ha letto un dato in memoria, molto probabilmente avrà bisogno anche di quello successivo cache di tipo associativo ossia basate su una tecnica di accesso alle informazioni logica e non fisica. Ciclo macchina Ciclo di esecuzione 1) Leggi dalla memoria principale la prossima istruzione da eseguire 2) Esegui l’istruzione 3)Torna a 1. Terminologia ● Istruzione macchina ● ● Linguaggio macchina ● Un'istruzione (o un comando) codificato come una sequenza di bit, riconoscibile dalla CPU L'insieme di tutte le istruzioni macchina Instruction set ● Reduced Instruction Set Computing (RISC) ● ● ● Poche, semplici, veloci ed efficenti istruzioni macchina disponibili Esempi: PowerPC da Apple/IBM/Motorola e SPARK da Sun Microsystem Complex Instruction Set Computing (CISC) ● Molte, comode e potenti istruzioni macchina disponibili ● Esempio: Pentium da Intel Tipologia di istruzioni macchina (1) Istruzioni di lettura dalla memoria. Solitamente con due argomenti: uno specifica l'indirizzo della cella di memoria da cui si deve leggere un'informazione; l'altro il registro in cui l'informazione deve essere scritta. Istruzioni di scrittura in memoria. Solitamente con due argomenti: uno specifica il registro da cui l'informazione deve essere prelevata; l'altro l'indirizzo della cella di memoria in cui l'informazione deve essere scritta. Tipologia di istruzioni macchina (2) Istruzioni aritmetiche. Permettono di eseguire le operazioni aritmetiche operando sui dati contenuti nei registri. Di solito con due o tre argomenti: due specificano i registri in cui si trovano gli operandi, il terzo specifica il registro in cui deve essere scritto il risultato. In assenza del terzo argomento, il risultato viene scritto in uno dei registri prec edenti. Istruzioni logiche. Permettono di eseguire le operazioni logiche sugli operandi contenuti nei registri specificati come argomenti dell'istruzione. Esempi di operazioni logiche sono il confronto o l'inversione di bit. Tipologia di istruzioni macchina (3) Istruzioni di spostamento. Permettono di spostare le informazioni da una cella di memoria ad un'altra; gli indirizzi delle due celle sono gli argomenti dell'istruzione. Istruzioni di salto. Per spostare il flusso del programma da un’istruzione ad un’altra non immediatamente successiva Esempio 1 Esempio 2 Un esempio di linguaggio macchina Parti di una istruzione macchina ● Campo codice operativo ● ● Campo operando ● Specifica quale operazione eseguire Da' informazioni piu' dettagliate sul tipo di operazione – Quali sono i valori coivolti – Dove salvare il risultato Composizione di una istruzione macchina Un semplice linguaggio macchina Codice Operando operativo Descrizione 1 RXY Carica nel registro R il valore memorizzato nella cella XY 2 RXY Carica nel registro R la configurazione di bit XY 3 RXY Memorizza nella cella di memoria il cui indirizzo e' XY il valore presente nel registro R 4 0RS Copia nel registro S il valore del registro R 5 RST Somma in complemento a 2 le configurazioni di bit presenti nei registri S e T e pone il risultato in R 6 RST Somma in virgola mobile le configurazioni bit presenti nei registri S e T e pone il risultato in R Un semplice linguaggio macchina Codice Operando operativo Descrizione 7 RST Fai l'OR bit a bit delle configurazioni presenti nei registri S e T e poni il risultato in R 8 RST Fai l'AND bit a bit delle configurazioni presenti nei registri S e T e poni il risultato in R 9 RST Fai lo XOR bit a bit delle configurazioni presenti nei registri S e T e poni il risultato in R A R0X Ruota X volte la configurazione di bit nel registro R B RXY Salta all'istruzione contenuta nella cella di memoria XY se la configurazione di bit in R e' uguale a quella del registro 0 C 000 Termina l'operazione Decodifica dell'istruzione 35A7 Versione codificata dell'esempio 1 Istruzioni di salto Esecuzione di un programma Ad ogni ciclo di clock - si legge dalla memoria principale l'istruzione che si trova all'indirizzo indicato dal registro PC; - l'istruzione viene scritta all'interno del registro RI; - si modifica il valore del PC aumentandolo di 1; - la UC decodifica l'istruzione e individua la sequenza di azioni che devono essere svolte all'interno del processore; - si eseguono le azioni specificate dall'istruzione, e cioè: 5.1 in corrispondenza di istruzioni di lettura dalla memoria, la UC attiva i meccanismi di lettura; 5.2 in corrispondenza di istruzioni di scrittura in memoria, la UC attiva i meccanismi di scrittura; 5.3 in corrispondenza di istruzioni aritmetiche o logiche la UC attiva la ALU per eseguire l'operazione; 5.4 in corrispondenza di istruzioni di salto si modifica il valore del registro PC scrivendo l'indirizzo della istruzione cui si deve saltare Esecuzione del linguaggio macchina Esecuzione del linguaggio macchina Esecuzione del linguaggio macchina Dischi rigidi (1) ● Il disco rigido e' il componente dove vengono memorizzate in modo permanente le informazioni elaborate. Le informazioni sono magnetizzate sulla superficie del disco e pertanto rimangono memorizzate anche se viene a mancare la corrente. Oggi vengono anche usati i cosidetti dischi a stato solido, essi non contengono alcun disco sono merie flash (non volatili). Dischi rigidi (2) ● I dati memorizzati su disco rigido segueno uno schema di allocazione fisica ben definito in base al quale si puo' indirizzare la zona dove leggere/scrivere i dati sul disco. Uno schema diffuso e' il cosiddetto CHS acronimo per il termine inglese Cylinder/Head/Sector (Cilindro/Testina/Settore); in questa struttura i dati sono memorizzati avendo come indirizzo fisico un numero per ciascuna delle seguenti entita' fisiche. Dischi rigidi (3) ● Piatto: un disco rigido si compone di uno o piu' dischi paralleli, di cui ogni superficie, detta ”piatto” e identificata da un numero univoco, `e destinata alla memorizzazione dei dati. Dischi rigidi (4) ● Traccia: ogni piatto si compone di numerosi anelli concentrici numerati, detti tracce, ciascuna identificata da un numero univoco. (Indicato A nell’immagine). Dischi rigidi (5) ● Cilindro: l’insieme di tracce alla stessa distanza dal centro presenti su tutti i dischi e' detto cilindro. Corrisponde a tutte le tracce aventi il medesimo numero, ma diverso piatto. Dischi rigidi (6) ● Settore: ogni piatto `e suddiviso in settori circolari, ovvero in ”spicchi” radiali uguali ciascuno identificato da un numero univoco. (Nell’immagine B individua un settore). Dischi rigidi (7) ● Blocco: L’insieme di settori posti nella stessa posizione in tutti i piatti Dischi rigidi (8) ● Testina: Su ogni piatto `e presente una testina per accedere in scrittura o in lettura ai dati memorizzati sul piatto; la posizione di tale testina e' solidale con tutte le altre sugli altri piatti. In altre parole, se una testina `e posizionata sopra una traccia, tutte le testine saranno posizionate nel cilindro a cui la traccia appartiene. Dischi rigidi (9) ● Cluster: raggruppamento di settori contigui. Comunicare con altri dispositivi ● Controller: un apparato intermedio che gestisce le comunicazioni tra la CPU e il dispositivo ● ● ● ● Controller specializzati per dispositivi specifici Controller in grado di gestire piu' dispositivi (es. USB o FireWire) Porta: il punto in cui il dispositivo e' connesso al computer Memory­mapped I/O: dispositivi I/O gestiti come celle di memoria Controller allacciati al bus Memory mapped I/O porta Comunicare con altri dispositivi ● ● ● Direct Memory Access (DMA): la memoria principale e' acceduta direttamente dal controller attraverso il bus Collo di bottiglia di Von Neumann: competizione tra i dispositivi per accedere al bus Handshake: il processo di coordinamento tra vari dispositivi che si scambiano tra loro dati Comunicazione con altri dispositivi ● ● Comunicazione parallela: diversi bit vengono trasferiti contemporaneamente su linee separate Comunicazione seriale: trasefrimento di un singolo bit per volta Controller ● Controller onboard dispositivi periferici (oppure onchip per dispositivi mobili). ● ● ● ● ● I dischi rigidi e dischi ottici (CD/DVD ...) vengono pilotati tramite un controller posto sulla scheda madre di tipo SCSI, EIDE, PATA o SATA, . . . La scheda video oggigiorno non e' piu pilotata da un controller, ma a `e sua volta dotata di una CPU dedicata (chiamata GPU, i.e. processore grafico), di memoria ram e di un suo bus. Negli smartphone il chipset, include il contoller del modem GPRS (2G) e/o un modem HDSPA/HSUPA (3G) Il controller ethernet per la connessione di rete via cavo I controller Wifi oppure Bluetooth connessione di rete senza fili. La prima consuma di piu ma fornisce maggior banda e copertura (area di azione). Il bluetooth `e sostanzialmente stato crato per piccoli dispostivi con limitata autonomia energetica. Connettori esterni ● I connettori esterni consentono la connessione di molti dispositivi esterni ● ● ● ● ● Le uscite VGA, DVI, HDMI servono a connettere monitor (o televisori) controllandoli con segnali analogici e/o digitali e risoluzioni differenti, ossia con un differente protocollo. Le porte USB sono le porte fondamentali che permettono di connettere tastiere, mouse, stick­memory, modem HDSPA, bluetooth­extension, scanner, stampanti, ecc... Attenzione, ci sono vari standard USB con caratteristiche diverse. La porta FireWire fornisce concettualmente le stesse funzionalita della porta USB, sebbene sia piu performante. La porta RJ­45 e' lo standard per la connessione di rete, le porte PS/2 (oggi spesso sostituite da porte USB) permettono la connessione a mouse e tastiera. In passato erano diffuse anche le porte seriali per il mouse e parallela per la stampante. Video (1) ● La scelta del monitor dipende da: consumo, ingombro, fedelta nella riproduzione, costo, tipo di utilizzo, … ● In principio vi erano i monitor CRT (tubo a raggi catodici): per intenderci, quegli scatoloni, ingombranti e pesanti. Un cannone elettronico ”sparava” fasci di elettroni (3 per pixel, uno per ciascun colore RGB) sullo schermo, in modo da “dipingere”, passata dopo passata (con “pennellate” davvero veloci), l’intera superficie dello schermo. Il fascio veniva deviato da magneti, iniziando dal bordo superiore dello schermo e procedendo riga per riga, fino a riprodurre tutti i pixel. I CRT sono analogici, e non sono quindi predisposti per connessioni digitali come HDMI o DVI, presente invece nei televisori LCD o al plasma. Video (2) ● La scelta del monitor dipende da: consumo, ingombro, fedelta nella riproduzione, costo, tipo di utilizzo, … ● In seguito, sono arrivati i display LCD (a cristalli liquidi), contenenti appunto uno strato di cristalli liquidi che possono diventare piu' o meno trasparenti a seconda della corrente elettrica applicata a ciascun punto. Anche in questo caso per formare il colore si parte dai tre colori di base (rosso, verde, blu ! RGB), ma qui non vi `e un fascio che percorre lo schermo. I pixel non si illuminano da soli: `e necessario uno strato di illuminazione posto dietro lo strato di cristalli liquidi (per questo si parla di retroilluminazione). Video (3) ● La scelta del monitor dipende da: consumo, ingombro, fedelta nella riproduzione, costo, tipo di utilizzo, … ● Nei televisori al plasma (utilizzati, appunto, solo come televisori, non monitor per pc) i colori derivano ancora dalla combinazione di celle dei tre colori di base, ma in questo caso non vi sono cristalli liquidi quanto celle contenenti il plasma, un gas che si illumina quando alla sua cella viene applicata una corrente elettrica. Hanno una diagonale minima di 32 pollici. Video (4) ● La scelta del monitor dipende da: consumo, ingombro, fedelta nella riproduzione, costo, tipo di utilizzo, … ● Gli schermi OLED, dotati di piccoli diodi luminosi che emettono direttamente la luce (non necessitano di retroilluminazione) riproducendo immagini nitide e ben contrastate, oppure i SED, che utilizzano milioni di celle che, sottoposte all’azione di una tensione elettrica, emettono particelle elettricamente cariche. In entrambi i casi, le minuscole celle producono “luci” RGB per comporre ciascun pixel dell’immagine finale. Tastiera