Algoritmo PARTE A: Algoritmi, linguaggi di programmazione e programmi

Documenti analoghi
Laboratorio di Informatica

Caratteristiche di un PC

Vari tipi di computer

1.4a: Hardware (Processore)

- Algoritmi ed esecutori di algoritmi - ALGORITMI MACCHINA DI VON NEUMANN

Il Processore: i registri

Informatica di base. Hardware: CPU SCHEDA MADRE. Informatica Hardware di un PC Prof. Corrado Lai

Componenti di base di un computer

L Unità Centrale di Elaborazione

Lezione 3: Architettura del calcolatore

DIMENSIONI E PRESTAZIONI

I componenti di un Sistema di elaborazione. CPU (central process unit)

C. P. U. MEMORIA CENTRALE

CALCOLATORI ELETTRONICI

Architettura hardware

Il calcolatore. Architettura di un calcolatore (Hardware)

Conoscere il computer ed il software di base. Concetti base dell ICT TIPI DI COMPUTER. Prof. Francesco Procida

Struttura del calcolatore

L architettura del calcolatore (Prima parte)

Memoria Secondaria o di Massa

ARCHITETTURA DELL ELABORATORE

INFORMATICA CORSO DI INFORMATICA DI BASE ANNO ACCADEMICO 2015/2016 DOCENTE: SARRANTONIO ARTURO

Il processore - CPU (CENTRAL PROCESSING UNIT)

Architettura dei calcolatori I parte Introduzione, CPU

Concetti fondamentali della Tecnologia Dell informazione Parte prima

Ispirata al modello della Macchina di Von Neumann (Princeton, Institute for Advanced Study, anni 40).

Fondamenti di informatica: un po di storia

Architettura del calcolatore

Interpreti e compilatori La macchina di Von Neumann

Dispensa di Fondamenti di Informatica. Architettura di un calcolatore

Il processore - CPU. PDF created with pdffactory trial version

Fondamenti di Informatica INFORMATICA ED UNITA DI MISURA

Scuola Secondaria di Primo Grado Anna Frank Nome Cognome classe anno sc. 2008/09 INFORMATICA

Algoritmi, dati e programmi

Elementi di Informatica. Hardware

(1) (2) (3) (4) 11 nessuno/a (1) (2) (3) (4) X è il minore tra A e B nessuno/a X è sempre uguale ad A X è il maggiore tra A e B

Scopo di questa lezione è la descrizione dell architettura di una macchina di Von Neumann.

Le aree dell informatica

Componenti dell elaboratore

Introduzione. Un calcolatore digitale è costituito da un sistema interconnesso dei seguenti dispositivi:

Unità di Misura Corso di Abilità Informatiche Laurea in Fisica. prof. Corrado Santoro

Cosa è l informatica

CPU. Maurizio Palesi

CORSO DI LAUREA IN SCIENZE ERBORISTICHE E DEI PRODOTTI NUTRACEUTICI

Informatica Teorica. Macchine a registri

MODULO 01. Come è fatto un computer

ARCHITETTURA DEL CALCOLATORE

Introduzione. Laboratorio di Calcolo Corso di Laurea in Fisica. Università degli Studi di Roma La Sapienza

Megabyte (MB) = 1024KB 1 milione di Byte (e.g. un immagine di 30MB) Gigabyte (GB) = 1024MB 1 miliardo di Byte (e.g. un hard disk da 80GB)

Introduzione all informatica

processore case Le casse acustiche

RETI E SISTEMI INFORMATIVI

Architettura di un computer

Calcolo numerico e programmazione Architettura dei calcolatori

Informatica. Modulo 1: Hardware

Il calcolatore elettronico. Parte dei lucidi sono stati gentilmente forniti dal Prof. Beraldi

Il Personal Computer

Fondamenti di Informatica

Appunti del corso di Informatica 1 (IN110 Fondamenti) 3 Modelli di calcolo

Informatica per i corsi di Fisioterapia e Dietistica

Obiettivi del corso. Programma del corso. Informatica per i corsi di Fisioterapia e Dietistica

Architettura dei computer

Esame di INFORMATICA

INFORMATICA. INFORmazione automatica

Ferrante Patrizia Ghezzi Nuccia Pagano Salvatore Previtali Ferruccio Russo Francesco. Computer

Struttura del Corso. Corso Integrato di Informatica e Sistemi di Elaborazione delle Informazioni. Sistemi di Elaborazione delle Informazioni.

MODULO 01. Come è fatto un computer

Il processore. Il processore. Il processore. Il processore. Architettura dell elaboratore

Architettura di un calcolatore

I componenti di un Sistema di elaborazione. Memoria centrale. È costituita da una serie di CHIP disposti su una scheda elettronica

SISTEMI INFORMATIVI AZIENDALI

Lez. 2 L elaborazione

Informatica B a.a 2005/06 (Meccanici 4 squadra) PhD. Ing. Michele Folgheraiter

Test di informatica QUALE TRA I DISPOSITIVI DI MEMORIA ELENCATI HA LA CAPACITÀ PIÙ ELEVATA? a) Floppy disk b) Cd-Rom c) DVD Risposta corretta:

ECDL CORE 5.0. Modulo 1 Concetti di base dell ICT 1.1 Hardware. Docente: Stefania De Martino Liceo G. Leopardi Recanati a.s.

Introduzione. Laboratorio di Calcolo Corso di Laurea in Fisica. Università degli Studi di Roma La Sapienza

Relazione della 5 B informatica sullo smontaggio e montaggio di un pc

Sistemi di Elaborazione delle Informazioni. Corso di Laurea per "Tecnico Ortopedico" 03

Corso di Laurea in Informatica Architetture degli Elaboratori

Parte II.2 Elaboratore

Varie tipologie di memoria

Programmazione. Dipartimento di Matematica. Ing. Cristiano Gregnanin. 25 febbraio Corso di laurea in Matematica

Calcolatori Elettronici A a.a. 2008/2009

Hardware, software e periferiche. Facoltà di Lettere e Filosofia anno accademico 2008/2009 secondo semestre

Corso di Calcolatori Elettronici I A.A Il processore Lezione 18

Input Elaborazione Output. Output. Componenti di elaborazione. Periferiche di. Periferiche di Input

La macchina programmata Instruction Set Architecture (1)

Informatica di Base - 6 c.f.u.

PSICOMETRIA. Esercitazione n.1. C.d.L. Comunicazione e Psicologia a.a. 2012/13

Concetti di base della Tecnologia dell Informazione Uso del computer e gestione dei file Elaborazione testi Fogli di Calcolo Reti informatiche

23/02/2014. Dalla scorsa lezione. La Macchina di Von Neumann. Uomo come esecutore di algoritmi

Sistemi Operativi. Gianluca Della Vedova. Sistemi Operativi. Gianluca Della Vedova. Sistemi Operativi. Gianluca Della Vedova.

Corso: Informatica+ Andrea Cremonini. Lezione del 20/10/2014

Docente: Lorenzo Capra Ricevimento: su appuntamento tramite mail a: Struttura del corso: 5 lezioni di teoria (2 ore) Martedì

Introduzione all'architettura dei Calcolatori

Architettura di un calcolatore: introduzione

Elementi di Informatica e Programmazione. # Memoria di massa. Problema: comprare un PC. Architettura del calcolatore. Architettura di Von Neumann

Lez. 3 L elaborazione (II parte) Prof. Pasquale De Michele Gruppo 2

Informazione analogica e digitale

SISTEMI DI ELABORAZIONE DELLE INFORMAZIONI

Transcript:

Algoritmo PARTE A: Algoritmi, linguaggi di programmazione e programmi Un algoritmo è una descrizione non ambigua di un numero finito di operazioni. 2 3 Algoritmo Esempio: Algoritmo per accedere al proprio account sul computer del laboratorio: Accendere lo schermo se è spento Scrivere il proprio <username> nella riga in cui compare la scritta login: Scrivere la propria <password> nella riga in cui compare la scritta password Se il sistema risponde con la frase: «utente non abilitato» allora chiamare il tutor. Algoritmo Per rappresentare un algoritmo si fa ricorso ad un sistema formale (linguaggio formale) Ciò permette di: Fornire dimostrazioni di correttezza Definire criteri di bontà (tempo di calcolo, occupazione di memoria) Identificare problemi intrinsecamente difficili 4 5

Esecutore di algoritmi E un soggetto in grado di attuare le azioni specificate in un algoritmo 6 7 Programmi I programmi sono sequenze di istruzioni. I programmi eseguibili da un computer devono essere scritti usando un linguaggio (di programmazione) che il computer è in grado di comprendere. Programmi e algoritmi Un algoritmo può essere quindi specificato sottoforma di programma eseguibile da un calcolatore 8 9

Linguaggi di programmazione Un linguaggio di programmazione è costituito da: un vocabolario un insieme di regole sintattiche che specificano come comporre istruzioni ben formate una semantica che associa un significato alle istruzioni ben formate, cioè l azione denotata da ciascuna istruzione. 10 11 Linguaggi di programmazione Rispetto ad una qualsiasi lingua parlata da esseri umani, un linguaggio di programmazione è molto più semplice, perché la sua sintassi è molto semplice. La teoria dei linguaggi formali fornisce una classificazione dei linguaggi in base alla loro semplicità. Linguaggi di programmazione Linguaggi di programmazione le cui istruzioni corrispondono ad azioni molto elementari richiedono uno sforzo di codifica maggiore da parte di un programmatore. sono i linguaggi di basso livello 12 13

Linguaggi di programmazione Linguaggi di programmazione per i quali ad una istruzione corrisponde un insieme di azioni più articolato richiedono uno sforzo di codifica inferiore. sono i linguaggi di alto livello Esempio Il linguaggio L1 mette a disposizione i comadi: Aggiungi_una_unità al dato A Leggi dato A Leggi dato B Esegui per <numero di volte> 14 15 Esempio Esempio Il linguaggio L2 mette a disposizione i comadi: Leggi dato A Leggi dato B Somma <addendo1, addendo2> Vogliamo scrivere un programma per la somma di due numeri: A+B 16 17

Esempio In L1: Esempio In L2: Leggi dato A Leggi dato B Esegui per B volte: Aggiungi _una_unità al dato A Leggi dato A Leggi dato B Somma (A, B) 18 19 Esempio L2 è un linguaggio di livello più alto rispetto a L1, perché offre al programmatore la possibilità di usare istruzioni che sono meno vicine al modo in cui lavora il processore. Il linguaggio macchina Il processore è in grado di riconoscere (e quindi di eseguire) solo programmi scritti in un proprio linguaggio di basso livello (linguaggio macchina) Ogni modello di processore (es: Intel, Pentium, Motorola, PowerPC) ha un proprio linguaggio macchina diverso da quello degli altri processori 20 21

Linguaggi Un programma scritto in un linguaggio diverso dal linguaggio macchina deve essere quindi tradotto nel linguaggio che il processore sa interpretare. PARTE B: Le componenti del computer 22 23 Struttura hw del computer Il nucleo di un computer è costituito da 3 principali componenti: Il processore La memoria Le periferiche Interconnesse attraverso il bus La scheda madre La piattaforma su cui sono montate alcune componenti del PC (processore, memorie, modem interno) è detta scheda madre (mother board). La scheda madre contiene slot liberi per l eventuale aggiunta di memoria supplementare o di co-processori (es: scheda video) Contiene alcune prese (chiamate porte) per il collegamento di periferiche esterne (es: schermo, tastiera, modem esterno). 24 25

bus La scheda madre Ciclo della macchina Memoria Interfccia alle periferiche processore Le attività principali svolte dal computer quando deve eseguire un programma sono: Trasferimento del programma (già scritto in linguaggio macchina) in una memoria di lavoro (la memoria centrale), alla quale il processore può accedere velocemente Per ogni istruzione del programma esecuzione di tre tipi di operazioni, che costituiscono il ciclo della macchina: 26 27 Ciclo della macchina Lettura (fetch) il processore reperisce dalla memoria l istruzione da eseguire Decodifica (decode) il processore identifica l istruzione da eseguire Esecuzione (exec) il processore esegue le operazioni corrispondenti all istruzione IL PROCESSORE 28 29

Il processore - chip Il processore è l unità di elaborazione centrale (CPU: central processing unit) del computer. Oggi le CPU sono costituite da circuiti che contengono milioni di microscopici interruttori acceso/spento (i transistor) collegati tra loro da sottilissimi fili. I circuiti vengono stampati su una sottile lamina di silicio. Il chip che corrisponde a una CPU ha una superficie dell ordine dei mm 2. Il processore - chip Pertanto oggi si parla di microprocessore costituito da circuiti integrati: milioni di elementi tra loro collegati contenuti in una superficie quasi microscopica. 30 31 Il processore Il processore - clock In corrispondenza di ogni istruzione espressa nel linguaggio macchina il processore svolge una serie di operazioni elementari (il ciclo della macchina). Il numero operazioni elementari svolte per ogni istruzione dipende dal tipo di processore (tra le 7 e le 10). 32 33

Il processore - clock Il tempo impiegato dal processore per eseguire una operazione elementare è detto durata del ciclo di clock Il numero di operazioni elementari svolte dal processore in una unità di tempo (cioè il numero di cicli di clock al secondo) è la frequenza di clock Frequenza di clock = Il processore - clock Quindi: E un indicatore della velocità del processore nell eseguire i programmi. 1 Durata di un ciclo di clock Oggi si misura in Mhz (MegaHertz). 1 Mhz = 1 milione di cicli al secondo. 34 35 Il processore - clock Dati due processori con lo stesso linguaggio macchina sarà più veloce quello con frequenza di clock maggiore Non è possibile fare un confronto tra processori con linguaggi macchina diversi Computer A Clock : 500MHz Linguaggio macchina richiede 10 operazioni elementari per istruzione Il processore - clock Esempio Computer B Clock : 400MHz Linguaggio macchina richiede 6 operazioni elementari per istruzione Devono eseguire un programma di 100M istruzioni macchina A impiegherà 2 sec. B impiegherà 1,5 sec. 36 37

Il processore - registri Per eseguire le operazioni elementari il processore ha bisogno di utilizzare delle memorie (di piccole dimensioni) alle quale accedere in modo veloce (es: una zona che contiene l indirizzo dell istruzione da eseguire, una per i dati su cui l istruzione opera) Queste memorie, che fisicamente sono contenute nel chip, sono chiamate registri del processore Memoria processore Interfccia alle periferiche 38 39 Sistemi con più processori I co-processori A seconda del tipo di uso che l utente fa del computer, per velocizzarne le prestazioni si possono aggiungere dei co-processori. Memoria processore Questi sono processori specializzati nell esecuzione di compiti specifici (es: gestione dello schermo) che operano sotto il controllo della CPU. co-processore Interfccia alle periferiche 40 41

Sistemi con più processori Sistemi paralleli I sistemi paralleli sono sistemi con più CPU che operano in modo indipendente e condividono le altre risorse del computer. Il coordinamento dei diversi processori è demandato al sistema operativo. La velocità del computer risulta aumentata ma non moltiplicata, perché non è trascurabile il tempo che il sistema operativo deve dedicare al coordinamento dei processori Memoria Interfccia alle periferiche processore processore 42 43 La memoria LA MEMORIA La memoria è la componente che svolge la funzione di magazzino delle informazioni sulle quali opera il processore L unità di informazione minima è il bit (binary unit). Consideriamola come una casella nella quale possiamo scrivere il simbolo 0 oppure il simbolo 1. 44 45

La memoria-il bit Avendo a disposizione un solo bit si possono rappresentare due elementi diversi: Si assegna al primo elemento la codifica 0 e al secondo la codifica 1 Avendo a disposizione due bit si possono rappresentare quattro elementi diversi, assegnando a ciascuno una codifica diversa: 00, 01, 10, 11 La memoria-il bit Avendo a disposizione tre bit si possono rappresentare otto elementi diversi.. Avendo a disposizione n bit si possono rappresentare 2 n elementi diversi. 46 47 La memoria-il byte Agli albori dell informatica c era l esigenza di rappresentare i caratteri stampabili (le lettere dell alfabeto, le cifre da 0 a 9, lo spazio, la virgola etc ) per un numero totale di caratteri compreso tra 90 e 120. Per poter rappresentare 128 elementi diversi servono almeno 7 bit (2 7 =128). E bene avere a disposizione un bit supplementare poter effettuare controlli sulla sequenza La memoria-il byte Quindi per rappresentare i caratteri stampabili è necessaria una sequenza di 7+1=8 bit. Una sequenza di 8 bit è detta byte, ed è diventata una unità di misura della occupazione di memoria. 48 49

La memoria-il byte Le celle di memoria BYTE 1 0 0 1 0 1 1 1 = b BIT 50 51 Le celle di memoria Ogni cella di memoria contiene un byte, ed è contraddistinta da un indirizzo Volendo scrivere o leggere un dato dalla memoria il processore deve sempre specificare l indirizzo della cella alla quale vuole accedere La memoria-unità di misura Le dimensioni di una memoria si misurano in: Kbyte (kilo byte)= 2 10 byte = 1024 byte 10 3 byte Mbyte (Mega byte)= 2 10 Kbyte = 1024 Kbyte= 2 20 byte 10 6 byte Gbyte (Giga byte)= 2 10 Mbyte =1024 Mbyte = 2 30 byte 10 9 byte Tbyte (Tera byte)= 2 10 Gbyte =1024 Gbyte = 2 40 byte 10 12 byte 52 53