Programmazione Procedurale in Linguaggio C++

Slides:



Advertisements
Presentazioni simili
Algoritmi e Strutture Dati
Advertisements

Informatica Generale Susanna Pelagatti
La struttura fisica e logica di un elaboratore
STRUTTURA DEL PERSONAL COMPUTER
IL COMPUTER: l'HARDWARE
INFORMATICA Trattamento automatizzato dellinformazione.
CORSO DI AGGIORNAMENTO modulo 1- Computer
G. Mecca – – Università della Basilicata Basi di Dati Progettazione di Basi di Dati: Introduzione versione 2.0 Questo lavoro è concesso.
G. Mecca – – Università della Basilicata Basi di Dati Sistemi per Basi di Dati Relazionali: Modello Logico Concetti Fondamentali versione.
Tecnologie di Sviluppo per il Web
G. Mecca – – Università della Basilicata Tecnologie di Sviluppo per il Web XML: Dettagli e Approfondimenti versione 2.0 Questo lavoro è
Programmazione Procedurale in Linguaggio C++
Programmazione Procedurale in Linguaggio C++
Programmazione Procedurale in Linguaggio C++
Introduzione allinformatica. Cosè linformatica ? Scienza della rappresentazione e dellelaborazione dellinformazione ovvero Studio degli algoritmi che.
File.
Larchitettura di Von Neumann CPU RAM Mem second I/O bus.
1 Corso di Informatica (Programmazione) Lezione 4 (24 ottobre 2008) Architettura del calcolatore: la macchina di Von Neumann.
1 Corso di Laurea in Biotecnologie Informatica (Programmazione) Rappresentazione dellinformazione su calcolatore Anno Accademico 2009/2010.
Corso di Informatica per Giurisprudenza
1 © Alberto Montresor Algoritmi e Strutture Dati Capitolo 7 - Tabelle hash Alberto Montresor Università di Trento This work is licensed under the Creative.
Algoritmi e Strutture Dati
Algoritmi e Strutture Dati
Introduzione ai calcolatori
Com’è fatto un elaboratore?
ARCHITETTURA DEL CALCOLATORE
INTRODUZIONE Il termine Informatica deriva dalla fusione dei termini INFORmazione autoMATICA si intende indicare la scienza che ha il compito di raccogliere,
EVOLUZIONE DEL PC Legge di Moore: La potenza dei calcolatori raddoppia ogni 18 mesi Metà anni 80 (Personal Computer IBM AT) Architettura 16 bit interna,
Fondamenti di Informatica Laurea in Ingegneria Civile e Ingegneria per lambiente e il territorio Il calcolatore Stefano Cagnoni e Monica Mordonini Dipartimento.
1 © 1999 Roberto Bisiani Rappresentazione delle informazioni n Occorre un codice n Legato alla tecnologia usata Robustezza Semplicita Economicita.
L’Architettura del Sistema di Elaborazione
Informatica per medici
UNIVERSITA’ STUDI DI ROMA “FORO ITALICO”
Architettura dell’elaboratore
Corso di Laurea in Biotecnologie corso di Informatica Paolo Mereghetti DISCo – Dipartimento di Informatica, Sistemistica e Comunicazione.
Programma del corso Introduzione agli algoritmi Rappresentazione delle Informazioni Architettura del calcolatore Reti di Calcolatori (Reti Locali, Internet)
Le memorie del calcolatore
RAPPRESENTAZIONE DELL'INFORMAZIONE
Struttura di un calcolatore 1 Informatica (SAM) - A.A. 2010/11.
Il Calcolatore Elettronico
MODULO 01 Il computer.
ELETTRONICA DIGITALE (II Parte)
STRUTTURA GENERALE DI UN ELABORATORE
Appunti di Informatica
1 Mod. Informatica amica Esperto: prof. G. Sciacca Tutor: prof. R. Paparcone C1 - FSE – 629 Ann
L' ARCHITETTURA DI VON NEUMANN
Il computer: struttura fisica e struttura logica
Architettura del calcolatore
Che cos’è un sistema di numerazione?
LOGICA DI FUNZIONAMENTO
Riconfigurare il diritto dautore. Lipertesto, una necessità di riconfigurazione. Secondo G. P. Landow, lavvento dellipertesto implica la necessità di.
STRUTTURA DELL’ELABORATORE
I computer vengono utilizzati per automatizzare la soluzione di problemi di varia natura trattando le informazioni in entrata (DATI) eseguendo gli opportuni.
La rappresentazione delle informazioni in un computer
Architettura del calcolatore
INFORMATICA TECNOLOGIE INFORMATICHE INFORmazione autoMATICA
Corso di Laurea in Biotecnologie corso di Informatica Paolo Mereghetti DISCo – Dipartimento di Informatica, Sistemistica e Comunicazione.
INFORMATICA = INFOrmazione + autoMATICA L’informazione una delle risorse strategiche più importanti della società moderna Capacità di gestire l’informazione.
Tecnologie Informatiche ed Elettroniche per le Produzioni Animali (corso TIE) CORSO LAUREA MAGISTRALE IN SCIENZE E TECNOLOGIE DELLE PRODUZIONI ANIMALI.
INFORmazione autoMATICA
Corso di Informatica Corso di Laurea in Conservazione e Restauro dei Beni Culturali Gianluca Torta Dipartimento di Informatica Tel: Mail:
Corso di Laurea in Scienze e Tecnologie Chimiche corso di Informatica Generale Paolo Mereghetti DISCo – Dipartimento di Informatica, Sistemistica e Comunicazione.
Hardware Struttura fisica (architettura) del calcolatore formata da parti meccaniche, elettriche, elettroniche.
Struttura Fondamentale degli Elaboratori Elaboratore –È un sistema numerico –È un sistema automatico –È un sistema a programamzione registrabile –Ha una.
1 Informatica Generale Alessandra Di Pierro Ricevimento: Giovedì ore presso Dipartimento di Informatica, Via Buonarroti,
Istituto Comprensivo di Livigno BENVENUTI. Clemente Silvestri FONDAMENTI DI INFORMATICA.
Il modello di Von Neumann
Conosciamo…il computer
Concetti informatici di base. Concetti informatici di base Il computer o elaboratore è una apparecchiatura costituita da un insieme di dispositivi di.
Struttura del Computer
Transcript della presentazione:

Programmazione Procedurale in Linguaggio C++ Concetti Introduttivi Parte 1 Architettura del Calcolatore versione 2.0 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima pagina) G. Mecca – Università della Basilicata – mecca@unibas.it

Sommario Introduzione Architettura del Calcolatore Memoria RAM Concetti Introduttivi: Architettura >> Sommario Sommario Introduzione Architettura del Calcolatore Architettura di Von Neumann Memoria RAM Rappresentazione delle Informazioni Rappresentazione dei numeri Codice ASCII G. Mecca - Programmazione Procedurale in Linguaggio C++

Introduzione Obiettivo Prerequisiti Concetti Introduttivi: Architettura >> Introduzione Introduzione Obiettivo lo studio della programmazione dei calcolatori elettronici ovvero scrivere programmi per risolvere problemi di calcolo Prerequisiti architettura del calcolatore rappresentazione delle informazioni G. Mecca - Programmazione Procedurale in Linguaggio C++

Introduzione In questo corso ci occuperemo di Concetti Introduttivi: Architettura >> Introduzione Introduzione In questo corso ci occuperemo di “software”, ovvero applicazioni E’ necessario però avere un’idea dell’ “hardware”, ovvero dei dispositivi fisici che compongono il calcolatore Infatti il software specifica operazioni che vengono eseguiti dall’hardware G. Mecca - Programmazione Procedurale in Linguaggio C++

Architettura del Calcolatore Concetti Introduttivi: Architettura >> Architettura del Calcolatore Architettura del Calcolatore Architettura Esterna (Hardware) Dispositivi di Uscita Schermo Audio Stampanti Unità Centrale Processore Memoria di lavoro (memoria RAM) Dispositivi di Ingresso Tastiera Mouse Memorie di Massa -Disco Rigido -Dischi Floppy -CD/DVD G. Mecca - Programmazione Procedurale in Linguaggio C++

Architettura del Calcolatore Concetti Introduttivi: Architettura >> Architettura del Calcolatore Architettura del Calcolatore Architettura Interna architettura dei componenti dell’unità centrale Architettura di “Von Neumann” l’architettura di tutti i calcolatori moderni (dagli anni ’50 ad oggi) tre componenti fondamentali: processore, memoria RAM e interfacce delle periferiche G. Mecca - Programmazione Procedurale in Linguaggio C++

Architettura di Von Neumann Concetti Introduttivi: Architettura >> Architettura del Calcolatore Architettura di Von Neumann Bus di Sistema Memoria RAM Processore (CPU) Interfacce delle periferiche dischi G. Mecca - Programmazione Procedurale in Linguaggio C++

Processore CPU (“Central Processing Unit”) In sostanza Concetti Introduttivi: Architettura >> Architettura del Calcolatore Processore CPU (“Central Processing Unit”) è il circuito integrato che effettua i calcoli responsabile di tutte le operazioni es: Pentium IV (a 1.8 MegaHertz) In sostanza legge e scrive dati dalla memoria RAM effettua operazioni aritmetiche è in grado di pilotare le periferiche G. Mecca - Programmazione Procedurale in Linguaggio C++

Interfacce verso le Periferiche Concetti Introduttivi: Architettura >> Architettura del Calcolatore Interfacce verso le Periferiche Circuiti a cui sono connesse le periferiche memorie di massa dispositivi di ingresso/uscita Funzionamento il processore comanda l’interfaccia attraverso il bus di sistema l’interfaccia si occupa di gestire la comunicazione con la periferica G. Mecca - Programmazione Procedurale in Linguaggio C++

Memoria RAM “Random Access Memory” Attenzione Concetti Introduttivi: Architettura >> Architettura del Calcolatore Memoria RAM “Random Access Memory” memoria di lavoro per la CPU circuito elettronico capace di mantenere uno stato in presenza di alimentazione memorizza lo stato di segnali elettrici volatile: perde lo stato in assenza di tensione Attenzione le elaborazioni del processore avvengono esclusivamente su dati nella RAM G. Mecca - Programmazione Procedurale in Linguaggio C++

Architettura di Von Neumann Concetti Introduttivi: Architettura >> Architettura del Calcolatore Architettura di Von Neumann Schema di funzionamento il processore acquisisce dati dalle periferiche di ingresso o da una mem. di massa li memorizza nella memoria RAM accede alla RAM ed effettua operazioni scrive i risultati nella RAM invia i risultati alle periferiche di uscita trasferisce i dati permanentemente sulle memorie di massa G. Mecca - Programmazione Procedurale in Linguaggio C++

Architettura di Von Neumann Concetti Introduttivi: Architettura >> Architettura del Calcolatore Architettura di Von Neumann Esempio: elaborazione di un documento il documento è salvato su disco viene “aperto” e caricato nella RAM vengono effettuate modifiche il contenuto della RAM e quello del disco sono disallineati al termine delle modifiche è necessario “salvare” la nuova versione sul disco G. Mecca - Programmazione Procedurale in Linguaggio C++

Memoria RAM Organizzazione della RAM Bit (“Binary Digit”) Concetti Introduttivi: Architettura >> Memoria RAM V Memoria RAM 3V 1 0.2V Organizzazione della RAM composta di numerosi circuiti (celle) ciascuno capaci di memorizzare un bit di informazione Bit (“Binary Digit”) unità di memorizzazione per il calcolatore può valere 1 oppure 0 facilmente rappresentabile con un segnale elettrico t G. Mecca - Programmazione Procedurale in Linguaggio C++

Rappresentare Informazione con i Bit Concetti Introduttivi: Architettura >> Memoria RAM Rappresentare Informazione con i Bit Con un bit due numeri (0 e 1) Con due bit quattro numeri (00, 01, 10, 11) Con tre bit otto numeri (000, 001, 010, ..., 110, 111) Per rappresentare 1.000.000 di numeri servono 20 bit G. Mecca - Programmazione Procedurale in Linguaggio C++

Unità di Misura della Memoria Concetti Introduttivi: Architettura >> Memoria RAM Unità di Misura della Memoria NOTA: si usano anche per i dischi Bit: 0/1 Byte: 8 bit unità convenzionale di riferim. KiloByte: 210 byte (1024 byte) 1024x8 bit = 8192 bit MegaByte: 220 byte (1 milione di byte ca.) circa 8 milioni di bit GigaByte: 230 byte (1 miliardo di byte ca.) circa 8 miliardi di bit G. Mecca - Programmazione Procedurale in Linguaggio C++

Memoria RAM Struttura della RAM Registro Es: 64M RAM Concetti Introduttivi: Architettura >> Memoria RAM Memoria RAM bit 0 bit 1 bit 31 Struttura della RAM organizzata in registri Registro 16, 32 o 64 bit ogni registro ha un suo indirizzo Es: 64M RAM ca. 64 milioni di byte ca.16 milioni di registri da 32 bit #0 ... #1 #2 #3 #224-1 G. Mecca - Programmazione Procedurale in Linguaggio C++

Rappresentazione delle Informazioni Concetti Introduttivi: Architettura >> Rappresentazione delle Informazioni Rappresentazione delle Informazioni Tutte le informazioni sono rappresentate attraverso sequenze di bit Esempio: numero -57 su 16 bit 1111111111000111 carattere ‘A’ su 8 bit 10000001 Opportune “codifiche” G. Mecca - Programmazione Procedurale in Linguaggio C++

Rappresentazione delle Informazioni Concetti Introduttivi: Architettura >> Rappresentazione delle Informazioni Rappresentazione delle Informazioni Codifica (o Codice) insieme di regole per rappresentare oggetti con altri oggetti in questo caso: lettere, numeri, immagini ecc. attraverso sequenze di bit Interazione con il calcolatore l’utente ha l’impressione di lavorare con oggetti familiari (parole, cifre, ecc.) rappresentazione interna in forma di bit G. Mecca - Programmazione Procedurale in Linguaggio C++

Rappresentazione dei Numeri Concetti Introduttivi: Architettura >> Rappresentazione delle Informazioni Rappresentazione dei Numeri Rappresentazione dei num. interi positivi rappresentazione posizionale in base 2 semplice (simile ai num. decimali): ogni bit è una cifra Rappresentazione dei num. interi relativi codifica in “complemento a 2” regole complesse G. Mecca - Programmazione Procedurale in Linguaggio C++

Rappresentazione dei Numeri Concetti Introduttivi: Architettura >> Rappresentazione delle Informazioni Rappresentazione dei Numeri NOTA Rappresentazione dei numeri reali codifica in “virgola mobile” il numero viene rappresentato attraverso due altri numeri mantissa ed esponente N = m 2e, con 1/2 <= m < 1 es: 2048 = 1x211 = 1/2x212 2048 viene rappresentato mettendo assieme la rappresentazione di 1/2, ovvero (0.1)2, e la rappresentazione di 12, ovvero (1100)2 G. Mecca - Programmazione Procedurale in Linguaggio C++

Alcune Interessanti Considerazioni Concetti Introduttivi: Architettura >> Rappresentazione delle Informazioni Alcune Interessanti Considerazioni I Considerazione numeri di tipo diverso vengono rappresentati in modo completamente diverso II Considerazione la rappresentazione in virgola mobile è esponenziale i numeri interi sono rappres. in modo esatto questo non vale per i numeri reali G. Mecca - Programmazione Procedurale in Linguaggio C++

Rappresentazione dei Numeri Concetti Introduttivi: Architettura >> Rappresentazione delle Informazioni Rappresentazione dei Numeri In particolare la rappresentazione in virgola mobile consente di rappresentare solo numeri razionali i numeri irrazionali (es: 1/3) devono essere approssimati con un numero razionale questo introduce errori nella rappresentazione e quindi nei calcoli G. Mecca - Programmazione Procedurale in Linguaggio C++

Rappresentazione dei Caratteri Concetti Introduttivi: Architettura >> Rappresentazione delle Informazioni Rappresentazione dei Caratteri Codice ASCII a 7 bit al carattere è associato un num. tra 0 e 127 la rappr. del carattere coincide con quella del numero nota: vale anche per le cifre (0-9) ed i caratteri speciali (es: +) ‘A’ 65 0100001 ‘0’ 48 0011000 NOTA: differenza tra il carattere ‘2’ e il numero 2 G. Mecca - Programmazione Procedurale in Linguaggio C++

Rappresentazione dei Caratteri Concetti Introduttivi: Architettura >> Rappresentazione delle Informazioni Rappresentazione dei Caratteri Limiti del codice ASCII a 7 bit numero di caratteri rappresentabili molto basso (non include lettere accentate) Codice ASCII a 8 bit (“Extended ASCII”) al carattere è associato un num. tra 0 e 255 maggior numero di caratteri rappresentabili Al giorno d’oggi codice UNICODE (16 bit o superiore) G. Mecca - Programmazione Procedurale in Linguaggio C++

Tabella dei Codici ASCII Estesi Concetti Introduttivi: Architettura >> Rappresentazione delle Informazioni Tabella dei Codici ASCII Estesi G. Mecca - Programmazione Procedurale in Linguaggio C++

Riassumendo Architettura di Von Neumann Memoria RAM Concetti Introduttivi: Architettura >> Sommario Riassumendo Architettura di Von Neumann Rapporto tra processore, RAM e periferiche Memoria RAM Bit, byte e multipli, registri Rappresentazione delle Informazioni Rappresentazione dei numeri Particolarità nella rappresentazione Codice ASCII G. Mecca - Programmazione Procedurale in Linguaggio C++

Termini della Licenza Termini della Licenza This work is licensed under the Creative Commons Attribution-ShareAlike License. To view a copy of this license, visit http://creativecommons.org/licenses/by-sa/1.0/ or send a letter to Creative Commons, 559 Nathan Abbott Way, Stanford, California 94305, USA. Questo lavoro viene concesso in uso secondo i termini della licenza “Attribution-ShareAlike” di Creative Commons. Per ottenere una copia della licenza, è possibile visitare http://creativecommons.org/licenses/by-sa/1.0/ oppure inviare una lettera all’indirizzo Creative Commons, 559 Nathan Abbott Way, Stanford, California 94305, USA. G. Mecca - Programmazione Procedurale in Linguaggio C++