Lezione 3 ARCHITETTURA: JOHN VON NEUMANN (1946) INPUT OUTPUT MEMORIA CPU Bus STRUTTURA DI UNA CPU: La CPU ( inserita in un Socket) esegue le istruzioni del programma memorizzato nella RAM Scrive i dati nella Memoria, manda i risultati sul video. UNITÀ ARITMETIC LOGIC (ALU) esegue i calcoli e le operazioni logiche contenute nelle istruzioni del programma. UNITÀ DI CONTROLLO ( CU) coordina le operazioni di ingresso dei dati e delle istruzioni e di uscita dei risultati, Coordina una ad una le istruzioni del programma. Gli elementi principali sono: una serie di REGISTRI utilizzati per la memorizzazione provvisoria dei dati su cui si opera o degli indirizzi dei dati stessi; un REGISTRO ACCUMULATORE (viene utilizzato ed es. per le istruzioni a singolo operando); un REGISTRO DI STATO contenente informazioni sulle operazioni eseguite (se c’è riporto, se una operazione restituisce zero etc.); il PROGRAM COUNTER (PC) che contiene ad ogni istante l’indirizzo della istruzione successiva a quella in esecuzione; L’esecuzione di una istruzione comporta diversi passi: PRELIEVO dell’istruzione dalla memoria RAM Incremento del Program Counter INTERPRETAZIONE (o ESECUZIONE) dell’istruzione da parte della CPU Per sincronizzare i diversi passi di una istruzione o l’accesso alle memorie occorre avere un riferimento temporale: CLOCK (da 25 MHz nel 1988 a 800 MHz 2000; GHZ 2004). Clock = FSB X Moltiplicatore FSB ( Frequenza del Bus) Frequenza di lavoro della scheda madre. Frequenza delle operazioni più lente. La capacità di elaborazione di un PC o potenza di calcolo di una CPU si misura in MIPS ( milioni di istruzioni al secondo). Le famiglie dei processori sono due INTEL AMD Es: I microprocessori Intel dall'8088 all'80486 evolvono migliorando la velocità o il numero di bit che trattano contemporaneamente. Si basano su architettura CISC CISC ( Complex Instruction Set Computing): I comandi complessi incorporano semplici istruzioni che sono realizzate con programmi elementari (FIRMWARE). Ogni istruzione richiede diversi cicli di clock. Il Pentium III e Pentium IV adotta architettura RISC ( Reduced Instruction Set Computing) che usa istruzioni semplici ma più numerose in un tempo minore del CISC. Per avere i vantaggi del RISC bisogna avere un Sistema Operativo e i programmi scritti appositamente. Compatibili EVOLUZIONE DEI PROCESSORI 1971: nascita del Microprocessore 4004 Intel. La CPU era costituita da un unico elemento integrato a 4 bit. 1972: Microprocessore 8008 Intel a 8 bit 1974: Intel 8080. Ha un SET DI ISTRUZIONI più ampio del 8008. Il SISTEMA OPERATIVO è il CP/M (antenato del DOS) 1978: 8086. Troppo costoso. 1979: 8088. Analogo all’8086 ma bus dati a 8 bit (più economico). 1982: 80286. Bus dati a 16 bit. ----------------------------------------------------------- La MOTHERBOARD può comunicare (interfacciarsi) con il mondo esterno in vari modi: PORTE PARALLELE, SERIALI, SCSI, USB indicano diverse tecnologie di interfaccia per collegarsi con: modem (seriali), stampanti (parallele), scanner (SCSI) etc. Gli HD sono connessi generalmente con connettori EIDE. PORTA SERIALE Se rispetta lo standard RS-232 ( maschio a 9 piedini) ( Modem,Keyboard) Lo standard non è sempre rispettato dai costruttori. PORTA PARALLELA (Centronics) (Femmina 25 piedini) Invia otto bit alla volta su otto fili paralleli. Inconveniente della interferenza fra linee (diafonia; crosstalk) che peggiora con la lunghezza dei cavi i quali non possono essere più lunghi di circa 3 m. BUS Il Bus è un insieme di tracce in rame stampate sulla piastra madre su cui viaggiano i dati. I bus servono per trasferire dati fra i diversi componenti della macchina. Fanno parte del Bus anche microchip (I/O Controller) e gli alloggiamenti (Slot) per le schede di espansione. BUS EISA (Extended Industry Standard Architecture). Flusso a 32 Bit BUS Local è quello utilizzato dal microprocessore per i collegamenti diretti e veloci con il video e le unità a disco che trasferiscono grandi quantità di dati. Esiste Bus Locale VESA (Video Electronics Standards Associations) che trasferisce 107 megabyte/sec, e il Bus Locale PCI della Intel che trasferisce 132 Mbyte/sec ed incorpora il Plug and Play Scheda a 16 bit o ISA La scheda ISA (lndustry Standard Architecture) trasmette i dati su 16 linee (16 bit) a 8 Mbyte/sec. E' il tipo più comune di scheda di espansione utilizzata per tastiere, porte seriali e parallele e modem interni che non gestiscono le grandi quantità di dati del video, e delle schede di controllo dei dischi. Scheda di rete NIC ( Network Interface Card) che collegano fra loro PC (aula Informatica, Istituto). Sono normali schede di espansione di tipo ISA o PCI (migliore). Con una velocità di trasmissione di 10 - 100 Mbps. Il connettore sul retro del PC può essere BNC o UTP. BNC ( come cavo coassiale per la TV), non consente una velocità di 100 Mbps però non richiede la presenza di altri componenti di rete. UTP ( simile all'attacco telefonico americano ) è collegato a un cavo che si chiama DOPPINO TELEFONICO. Questo attacco richiede nella rete la presenza di un HUB (concentratore). La rete con doppino telefonico è veloce e affidabile. Un HUB a 5 porte a 10 Mbps costa 35-40 Euro. HUB PC1 di rete PC2a 100 Mbps e si usa uno SWITCH che Per operare a 100 Mbps si usano schede ……… PCn è un HUB intelligente in grado di gestire più traffico. Facile da usare come un HUB. PROGRAMMI: Un programma consiste di una sequenza di istruzioni elementari predisposte in modo da realizzare delle funzioni precise. Il Computer esegue le istruzioni in Linguaggio Macchina. I Programmi sono però scritti in LINGUAGGIO AD ALTO LIVELLO (HLL- High Level Language) adatto all’uomo che deve essere tradotto da traduttori che possono essere di due tipi : INTERPRETE e COMPILATORE. INTERPRETE : legge una istruzione alla volta scritta in linguaggio evoluto, la trasforma in linguaggio macchina e la invia alla CPU. COMPILATORE : prende in considerazione tutto il programma in linguaggio evoluto e traduce tutte le istruzioni in linguaggio macchina. Se una istruzione in un programma viene usata 100 volte con l’interprete viene tradotta 100 volte , mentre con il compilatore viene tradotta una volta. Il programma prima di essere tradotto è chiamato PROGRAMMA SORGENTE Il programma dopo essere stato tradotto si chiama PROGRAMMA OGGETTO. Software di Sistema Costituito dal Sistema Operativo che è la base su cui installare i Software applicativi compatibili. Preinstallato dal venditore Permette di gestire le varie parti del PC (Hardware) ed utilizzare le funzionalità di base. Software Applicativo Programmi dedicati a funzionalità specifiche ( Word; Excell; Antivirus, CAD, Ritocco Fotografico) Ogni Software evolve nel tempo, correggendo errori e aggiungendo nuove funzionalità si hanno perciò nuove versioni ( Release) Stesso Nome ma Numero di Versione diversa Photoshop 7.0 Photoshop 7.01 Photoshop 7.1 Le modifiche al SW di modesta entità per rimediare errori ( Bug) o per supportare nuovi dispositivi HW si chiamano Patch o Service Patch o Service Release. Gli aggiornamenti gratuiti si dicono Update SISTEMA OPERATIVO: Per l’uomo è molto scomodo comunicare con il microprocessore utilizzando le istruzioni elementari. Esistono quindi diversi PROGRAMMI stratificati che costituiscono una INTERFACCIA SOFTWARE tra uomo e computer. Il SISTEMA OPERATIVO si frappone come interfaccia fra il Sw applicativo, di cui controlla l’esecuzione, e l’HW di cui controlla le risorse e il funzionamento. Coordina l’attività dei dispositivi di I/O, gestisce il File Sistem dei dispositivi di memoria, rileva gli errori, gestisce la comunicazione tra la Memoria e dispositivi come la Tastiera, il Monitor, i Dischi e le Stampanti. All’avvio, il primo programma ad essere eseguito è il BIOS che esegue una autodiagnosi, poi richiama dall’ HD il S.O. cui passa il controllo del PC. Il S.O. rimane nella RAM fino allo spegnimento del PC. I moderni S.O. sono multitasking perché consentono l’esecuzione di più programmi applicativi contemporaneamente Senza S.O. il PC non può funzionare. IL PC si avvia e poi segnala l’errore Es: DOS (DISK OPERATING SYSTEM) ha la capacità di gestire direttamente una memoria RAM di 640 Kbyte. Sistema Operativo a linea di comando. Riga di caratteri in codice Copy, Del. Es: WINDOWS 2000, WINDOWS XP, UNIX, LINUX ( usi scientifici e per reti). Ora l’interfaccia utente è grafica (GUI Graphic User Interface). Schema riassuntivo: UTENTE -- PROGRAMMI APPLICATIVI -- SISTEMA OPERATIVO – BIOS --HW Il S.O. è, a sua volta, suddiviso in : KERNEL (o NUCLEO), la parte che comunica con l’hardware; si occupa di trasferire concretamente i dati Byte per Byte e assegna la memoria ai vari processi. SHELL (o INTERFACCIA UTENTE), che si occupa di fornire un ambiente di lavoro "umano" nel quale formulare richieste alla macchina e ricevere le risposte dalla stessa. Un esempio di SHELL è lo schermo nero del DOS, dove vengono visualizzati i comandi digitati e le "risposte" ai comandi. Un altro esempio di SHELL sono le schermate di WINDOWS. Il BIOS è il software di livello più basso. Le figure professionali coinvolte nello sviluppo del Sw sono: Analista SW: studia ed analizza il problema e le esigenze che dovrà soddisfare il prodotto Progettista Sw: parte dal modello dell’analista studia la reale fattibilità del prodotto e le varie fasi di sviluppo. Programmatore: realizza materialmente il progetto Sw scrivendo il codice sorgente