Struttura del calcolatore
|
|
|
- Niccoletta Ruggeri
- 9 anni fa
- Просмотров:
Транскрипт
1 Mondo esterno Dati di ingresso Calcolatore Dati di uscita Mondo esterno
2 Il calcolatore elabora dei dati di ingresso per ottenere dati in uscita In linea di principio, ma non solo, il compito svolto da un calcolatore è assimilabile a una funzione matematica I dati di ingresso appartengono al dominio della funzione I dati di uscita appartengono al codominio della funzione
3 dominio x f(x) y=f(x) codominio
4 In questo schema tutte le situazioni reali es. equazione di 2 grado: Dominio: terne di numeri reali Codominio: coppie di numeri complessi Programma con interfaccia grafica: Dominio: sequenze di numeri rappresentanti il movimento e i 'clic' del mouse Codominio: sequenze di numeri rappresentanti i comandi inviati al monitor che accendono e spengono i punti luminosi in modo opportuno.
5 Il compito svolto da un calcolatore è in realtà quello che viene chiamato il processo risultante dall'esecuzione di un programma che a sua volta rappresenta in forma opportunamente codificata l'algoritmo di soluzione di un problema.
6 In origine abbiamo un problema da risolvere. Una prima formalizzazione consiste nell'individuare i dati in ingresso e in uscita Successivamente si deve trovare un 'metodo' di soluzione (es. formula di soluzione dell'eq. di 2 grado) Questo 'metodo', se soddisfa alcuni requisiti, costituisce l'algoritmo risolutivo
7 Possiamo definire un algoritmo come: Un'insieme di operazioni che eseguite nell'ordine opportuno, producono in un tempo finito i risultati voluti Rimangono indefinite alcune cose: quali sono le operazioni e come si stabilisce l'ordine di esecuzione? Soprattutto chi esegue le operazioni? E' fondamentale riferirsi ad un esecutore di riferimento.
8 Sono stati proposti molti esecutori di riferimento che costituiscono i modelli di calcolo (o di computazione): Macchina di Turing Funzioni ricorsive Sistemi di riscrittura Il concetto di calcolo (o computazione) viene definito nell'ambito di questi formalismi Le operazioni elementari dipendono dal formalismo adottato
9 Ogni modello di calcolo definisce l'insieme dei possibili algoritmi che è in grado di eseguire (e di problemi che si possono risolvere) Tutti i modelli di calcolo proposti si dimostrano equivalenti fra di loro (tesi di Church-Turing) Per ogni algoritmo eseguibili in un modello ne esiste uno equivalente in un altro modello Esistono problemi che non si possono risolvere o meglio per i quali non è possibile scrivere un algoritmo in nessun modello di calcolo
10 Una giustificazione dell'affermazione precedente (che peraltro si dimostra in modo matematicamente rigoroso): Gli algoritmi esprimibili in un dato modello di calcolo sono una quantità numerabile (tanti quanto i numeri interi) I problemi che si possono definire (ci possiamo anche limitare a funzioni da intero a intero) sono una quantità non numerabile (tanti quanto i numeri reali) Per cui esistono problemi non risolvibili con algoritmi
11 Macchina di Turing: è il prototipo del calcolatore che utilizziamo quotidianamente. E' alla base del paradigma imperativo di programmazione. Funzioni ricorsive: definiscono gli algoritmi direttamente come funzioni matematiche a partire da alcune funzioni elementari. Sono alla base del paradigma funzionale di programmazione. Sistemi di riscrittura: definiscono gli algoritmi come predicati logici da dimostrare. Sono alla base del paradigma logico di programmazione.
12 Una volta determinato l'algoritmo è necessario codificarlo (scriverlo, rappresentarlo) mediante un linguaggio di programmazione opportuno. Il risultato della codifica è il programma. Il programma deve essere inserito (caricato, loaded) nel calcolatore Il calcolatore esegue il programma dando origine ad un processo Ogni esecuzione del programma costituisce un processo diverso
13 I linguaggi di programmazione ricalcano i paradigmi di programmazione: Linguaggi imperativi: C, C++, Pascal, Fortran, Basic, Java ecc. Linguaggi funzionali: Lisp, ocaml ecc. Linguaggi logici: Prolog ecc.
14 Per definire correttamente un algoritmo dobbiamo quindi definire in modo preciso l'esecutore. La macchina di Turing è il modello di esecutore per la programmazione imperativa, ma è troppo elementare Per definire un esecutore, assimilabile ad un calcolatore come lo intendiamo noi, ci riferiamo alla Macchina di Von Neumann In ogni caso tale modello è equivalente la macchina di Turing
15 Input CPU Output Memoria Dati Segnali di controllo
16 Struttura a bus CPU Memoria I/O I/O Address bus Data bus Control bus Modulare e espandibile
17 Nella programmazione imperativa un programma assume l'aspetto di una ricetta Una sequenza di operazioni da compiere nell'ordine stabilito dalla ricetta Le operazioni elementari dipendono dall'esecutore per un grande chef potrebbe essere la preparazione di primo piatto completo per uno che si arrangia, è necessario dettagliare le operazioni
18 La CPU (Central Processing Unit) è l'esecutore ed è in grado di eseguire un numero finito di operazioni elementari dette istruzioni e che costituiscono il linguaggio macchina. In base al programma, che deve essere espresso in linguaggio macchina, la CPU esegue le istruzioni una dopo l'altra leggendo i dati dall'unità di input, utilizzando la memoria per memorizzare i risultati intermedi del calcolo e scrivendo i risultati nell'unità di output
19 Ma il programma dove risiede? In linea di principio potrebbe essere cablato direttamente nella CPU, ma ciò ne farebbe un oggetto in grado di eseguire sempre lo stesso programma (in alcune applicazioni con i microcontrollori ciò è un requisito) In un calcolatore general purpose, il programma risiede in memoria insieme ai dati (ma in zone diverse)
20 Ne segue che la CPU deve accedere alla memoria per prelevare le istruzioni (fase di fetch) ed eseguirle (fase di decode and execute) Fetch Execute
21 CPU Control Unit... CPU Arithmetic Logic Unit Acc Decode ALU PC reg. IR Acc Acc Fase di fetch Memoria (programma + dati) Fase di Execute
22 Memoria R/W OE 0 1 from address bus decoder N-1 to Data bus
23 Memoria La memoria è organizzata in un insieme di N locazioni di memoria Ogni locazione di memoria può memorizzare un certo numero (in genere 8) di informazioni binarie (bit) Ogni locazione di memoria è individuata da un numero detto indirizzo N è detto capacità di memoria
24 Memoria La CPU legge un dato dalla memoria fornendo l'indirizzo di una locazione sull'a.b., un comando di lettura sul C.B. e acquisendo l'informazione sul D.B. La CPU scrive un dato in memoria fornendo l'indirizzo di una locazione sull'a.b., una dato sul D.B. e un comando di scrittura sul C.B. La locazione di memoria è la minima unità indirizzabile
25 Dal punto di vista tecnologico è facile realizzare oggetti (circuiti) a due stati (bistabili). La rappresentazione in memoria dei dati e dei programmi deve quindi essere realizzata utilizzando un sistema a 2 valori per Le informazioni (dati) numeriche e alfanumeriche Le istruzioni del linguaggio macchina
A.A. 2018/2019. CPU e Linguaggio Macchina FONDAMENTI DI INFORMATICA E PROGRAMMAZIONE. Docente Prof. Raffaele Pizzolante
A.A. 2018/2019 Docente Prof. Raffaele Pizzolante FONDAMENTI DI INFORMATICA E PROGRAMMAZIONE Architettura di Von Neumann Modello concettuale di un architettura di computer che permette di rappresentare,
ELABORAZIONE DELLE INFORMAZIONI (ALGORITMI E LINGUAGGI DI PROGRAMMAZIONE)
1 LEZIONE 9 ELABORAZIONE DELLE INFORMAZIONI (ALGORITMI E LINGUAGGI DI PROGRAMMAZIONE) Laboratorio di Informatica per l Educazione A. A. 2014/2015 IN SINTESI (ELABORAZIONE) Con i COMPUTER, le macchine diventano
Algoritmo: procedimento non ambiguo che in un numero finito di passi risolve un problema (o una classe di problemi)
LABORATORIO DI PROGRAMMAZIONE Corso di laurea in matematica 2 LA MACCHINA DI VON NEUMANN Marco Lapegna Dipartimento di Matematica e Applicazioni Universita degli Studi di Napoli Federico II wpage.unina.it/lapegna
Appunti del corso di Informatica 1 (IN110 Fondamenti) 3 Modelli di calcolo
Università Roma Tre Dipartimento di Matematica e Fisica Corso di Laurea in Matematica Appunti del corso di Informatica 1 (IN110 Fondamenti) 3 Modelli di calcolo Marco Liverani ([email protected])
AXO - Architettura dei Calcolatori e Sistema Operativo. organizzazione strutturata dei calcolatori
AXO - Architettura dei Calcolatori e Sistema Operativo organizzazione strutturata dei calcolatori I livelli I calcolatori sono progettati come una serie di livelli ognuno dei quali si basa sui livelli
ELEMENTI DI PROGRAMMAZIONE a.a. 2012/13 MACCHINE, ALGORITMI, PROGRAMMI
ELEMENTI DI PROGRAMMAZIONE a.a. 22/3 MACCHINE, ALGORITMI, PROGRAMMI Andrea Prevete, UNINA2 23 UNA GERARCHIA DI MACCHINE macchine combinatorie macchine sequenziali (automi a stati finiti)... macchine di
ARCHITETTURA DI UN SISTEMA DI ELABORAZIONE
ARCHITETTURA DI UN SISTEMA DI ELABORAZIONE Il computer o elaboratore è una macchina altamente organizzata capace di immagazzinare, elaborare e trasmettere dati con notevole precisione e rapidità. Schematicamente
Cosa è l Informatica?
Cosa è l Informatica? Scienza degli elaboratori elettronici (Computer Science) Scienza dell informazione Scienza della rappresentazione, memorizzazione, elaborazione e trasmissione dell informazione Elaboratore
ALGORITMI: PROPRIETÀ FONDAMENTALI
ALGORITMI: PROPRIETÀ FONDAMENTALI Non si può risolvere un problema senza prima fissare un insieme di azioni, i di mosse elementari possibili per l'esecutore. Bisogna conoscerne le caratteristiche, le mosse
Lezione 1: L hardware
Architettura del calcolatore Lezione 1: L hardware Architettura Componenti e funzionamento Il calcolatore è uno strumento programmabile per la rappresentazione, la memorizzazione e l elaborazione delle
Il Software programmabili programma algoritmo
Il Software La proprietà fondamentale dei calcolatori e` quella di essere programmabili cioè in grado di svolgere compiti diversi a seconda delle istruzioni fornite dall utente mediante un programma, ossia
Elementi di base del calcolatore
Elementi di base del calcolatore Registri: dispositivi elettronici capaci di memorizzare insiemi di bit (8, 16, 32, 64, ) Clock: segnale di sincronizzazione per tutto il sistema si misura in cicli/secondo
ELEMENTI DI PROGRAMMAZIONE a.a. 2013/14 UNA GERARCHIA DI MACCHINE
ELEMENTI DI PROGRAMMAZIONE a.a. 23/4 UNA GERARCHIA DI MACCHINE Andrea Prevete, UNINA2 24 UNA GERARCHIA DI MACCHINE macchine combinatorie macchine sequenziali (automi a numero finito di stati)... macchine
Struttura di un elaboratore
Struttura di un elaboratore Fondamenti di Informatica 1 Modello architetturale di un computer Ogni computer è costituito da un insieme di blocchi funzionali tra loro interconnessi da sistemi di comunicazioni,
Concetti Introduttivi. Il Computer
Concetti Introduttivi Il Computer Introduzione Informazione Notizia, dato o elemento che consente di avere conoscenza più o meno esatta di fatti, situazioni, modi di essere Messaggio Tutto ciò che porta
L ELABORATORE ELETTRONICO
L ELABORATORE ELETTRONICO Il calcolatore elettronico è uno strumento in grado di eseguire insiemi di azioni ( mosse ) elementari le azioni vengono eseguite su oggetti (dati) per produrre altri oggetti
Il concetto di calcolatore e di algoritmo
Il concetto di calcolatore e di algoritmo Elementi di Informatica e Programmazione Percorso di Preparazione agli Studi di Ingegneria Università degli Studi di Brescia Docente: Massimiliano Giacomin Informatica
Architettura del Calcolatore
Giuseppe Manco Lezione 3 17 Ottobre 2003 Architettura del calcolatore Il calcolatore è uno strumento programmabile per la rappresentazione, la memorizzazione e l elaborazione delle informazioni un calcolatore
Programma del corso. Elementi di Programmazione. Introduzione agli algoritmi. Rappresentazione delle Informazioni. Architettura del calcolatore
Programma del corso Introduzione agli algoritmi Rappresentazione delle Informazioni Architettura del calcolatore Reti di Calcolatori Elementi di Programmazione Algoritmi e programmi Algoritmo Sequenza
Componenti principali
Componenti e connessioni Capitolo 3 Componenti principali n CPU (Unità Centrale di Elaborazione) n Memoria n Sistemi di I/O n Connessioni tra loro Architettura di Von Neumann n Dati e instruzioni in memoria
LABORATORIO DI INFORMATICA
LABORATORIO DI INFORMATICA Corso di laurea in Scienze della Formazione Primaria a.a.2014/2015 A cura del Prof. Sergio Miranda 2 LEZIONE N.6 Algoritmi GLI ALGORITMI (1/5) Un algoritmo è una sequenza di
L ARCHITETTURA DEI CALCOLATORI. Il processore La memoria centrale La memoria di massa Le periferiche di I/O
L ARCHITETTURA DEI CALCOLATORI Il processore La memoria centrale La memoria di massa Le periferiche di I/O Caratteristiche dell architettura 2 Flessibilità adatta a svolgere diverse tipologie di compiti
INFORMATICA. Scienza dei calcolatori elettronici (computer science) Scienza dell informazione (information science)
INFORMATICA Cosa è l informatica Scienza dei calcolatori elettronici (computer science) Scienza dell informazione (information science) E una scienza E una tecnologia Cosa può essere automatizzato nell
Lez. 5 La Programmazione. Prof. Salvatore CUOMO
Lez. 5 La Programmazione Prof. Salvatore CUOMO 1 2 Programma di utilità: Bootstrap All accensione dell elaboratore (Bootsrap), parte l esecuzione del BIOS (Basic Input Output System), un programma residente
MODULO 07. La soluzione dei problemi mediante gli algoritmi
MODULO 07 La soluzione dei problemi mediante gli algoritmi MODULO 07 Unità didattica 02 Impariamo a fare i diagrammi a blocchi In questa lezione impareremo: come descrivere l algoritmo risolutivo utilizzando
Problemi, algoritmi, calcolatore
Problemi, algoritmi, calcolatore Informatica e Programmazione Ingegneria Meccanica e dei Materiali Università degli Studi di Brescia Prof. Massimiliano Giacomin Problemi, algoritmi, calcolatori Introduzione
L ELABORATORE ELETTRONICO!
L ELABORATORE ELETTRONICO! Il calcolatore elettronico è uno strumento in grado di eseguire insiemi di azioni ( mosse ) elementari le azioni vengono eseguite su oggetti (dati) per produrre altri oggetti
ARCHITETTURA DI UN ELABORATORE! Ispirata al modello della Macchina di Von Neumann (Princeton, Institute for Advanced Study, anni 40).!
ARCHITETTURA DI UN ELABORATORE! Ispirata al modello della Macchina di Von Neumann (Princeton, Institute for Advanced Study, anni 40).! MACCHINA DI VON NEUMANN! UNITÀ FUNZIONALI fondamentali! Processore
Il Modello di von Neumann (2) Prevede 3 entità logiche:
Introduzione all Architettura degli Elaboratori Sommario Macchina di von Neumann Esecuzione dei programmi Rappresentazione dei dati Dati numerici Dati alfabetici 1 2 Il Modello di von Neumann (1) L architettura
ELEMENTI DI INFORMATICA L. Ing. Claudia Chiusoli
ELEMENTI DI INFORMATICA L Ing. Claudia Chiusoli Materiale Lucidi delle lezioni Date degli appelli Esempi di Testi di esame Informazioni e contatti http://www.lia.deis.unibo.it/courses/ Programma del corso
Elementi di programmazione
Fondamenti di Informatica per la Sicurezza a.a. 2003/04 Elementi di programmazione Stefano Ferrari Università degli Studi di Milano Dipartimento di Tecnologie dell Informazione Stefano Ferrari Università
Elementi di informatica
Elementi di informatica Architetture degli elaboratori Il calcolatore Un calcolatore è sistema composto da un elevato numero di componenti Il suo funzionamento può essere descritto se lo si considera come
Il modello di von Neumann
1 Organizzazione di (quasi) tutti gli elaboratori moderni: personal computer, workstation, portatili, smartphone,... CPU memoria Control Unit I/O ALU 2 Il cuore è la CPU (Control Processing Unit): esegue
Lez. 8 La Programmazione. Prof. Pasquale De Michele (Gruppo 2) e Raffaele Farina (Gruppo 1) 1
Lez. 8 La Programmazione Prof. Pasquale De Michele (Gruppo 2) e Raffaele Farina (Gruppo 1) 1 Dott. Pasquale De Michele Dott. Raffaele Farina Dipartimento di Matematica e Applicazioni Università di Napoli
Architettura del Calcolatore
Francesco Folino FUNZIONI DI UN CALCOLATORE Elaborazione Memorizzazione Trasferimento Controllo MACCHINA DI VON NEUMANN TRASFERIMENTO Obiettivo: permettere lo scambio di informazioni tra le varie componenti
6: Macchina di Von Neumann
Data: 8-10-2017 Pag: 6 6: Macchina di Von Neumann 1. Lo Schema di Von Neumann John Von Neumann, un ricercatore che in USA realizzò uno dei primi computer l'eniac: faceva 300 moltiplicazioni al secondo
Architettura di Von Neumann. Architettura di Von Neumann. Architettura di Von Neumann INFORMATICA PER LE DISCIPLINE UMANISTICHE 2 (13042)
INFORMATICA PER LE DISCIPLINE UMANISTICHE 2 (13042) Computer elaboratore di informazione riceve informazione in ingresso (input) elabora questa informazione restituisce informazione ottenuta elaborando
