1.02k likes | 1.22k Views
INFORMATICA UMANISTICA B. COMPUTER: HARDWARE E SOFTWARE massimo.poesio@unitn.it. Hardware. Struttura fisica (architettura) del calcolatore formata da parti meccaniche, elettriche, elettroniche. Software. Componente del calcolatore costituita dai:
E N D
INFORMATICA UMANISTICA B COMPUTER: HARDWARE E SOFTWARE massimo.poesio@unitn.it
Hardware Struttura fisica (architettura) del calcolatore formata da parti meccaniche, elettriche, elettroniche
Software • Componente del calcolatore costituita dai: • Programmi di base per la gestione del sistema • Programmi applicativi per l’uso del sistema (possono usare i programmi di base)
HARDWARE: IDEE CENTRALI • CICLO DI ESECUZIONE ISTRUZIONI • MEMORIA PRINCIPALE E MEMORIA SECONDARIA
Dalla macchina di Turing alla architettura di von Neumann • Un passo ulteriore, volendoci avvicinare al funzionamento di un vero computer, è costituito dalla ARCHITETTURA DI VON NEUMANN
CPU Preleva istruzione Esegue Memorizza risultato ARCHITETTURA DI VON NEUMANN I/O Memoria BUS
Processore Memoria principale Stampante Tasteria e monitor Memoria secondaria Periferiche di input/output UNITA’ CENTRALE E PERIFERICHE Unità centrale Periferiche
Architettura dei computer • Un computer deve: • elaborare l’informazione • usando il processore (Central Processing Unit - CPU) • memorizzare l’informazione • usando la memoria principale (RAM) • usando la memoria secondaria • fare l’input/output dell’informazione • usando i dispositivi di input/output
Unità di controllo ARCHITETTURA DI VON NEUMANN: COMPONENTI DELLA CPU • La CPU non è un unico componente ma è costituita da componenti diversi che svolgono compiti diversi REGISTRI Bus Interno Program Counter Registro di Stato Registro Istruzioni … Registri Generali 8 o 16 Unità aritmetico logica Registro Indirizzi Memoria Registro Dati Memoria Registro di Controllo
UNITA’ DI CONTROLLO REGISTRI Bus Interno Program Counter Registro di Stato Unità di controllo Registro Istruzioni … Registri Generali 8 o 16 Unità aritmetico logica Registro Indirizzi Memoria Registro Dati Memoria Registro di Controllo
Unità di controllo • L’unità di controllo è la parte più importante del processore • Esegue le istruzioni dei programmi • Coordina le attività del processore • Controlla il flusso delle istruzioni tra il processore e la memoria
Unità di controllo COMPONENTI DELLA CPU: UNITA’ ARITMETICO-LOGICA REGISTRI Bus Interno Program Counter Registro di Stato Registro Istruzioni … Registri Generali 8 o 16 Unità aritmetico logica Registro Indirizzi Memoria Registro Dati Memoria Registro di Controllo
Unità aritmetico logica • L’Unità aritmetico logica si occupa di eseguire le operazioni di tipo aritmetico/logico • Somme, sottrazioni, …, confronti, … • Preleva gli operandi delle operazioni dai Registri Generali • Deposita il risultato delle operazioni nei Registri Generali • Insieme all’unità di controllo collabora al completamento di un ciclo della macchina
Unità di controllo COMPONENTI DELLA CPU: REGISTRI REGISTRI Bus Interno Program Counter Registro di Stato Registro Istruzioni … Registri Generali 8 o 16 Unità aritmetico logica Registro Indirizzi Memoria Registro Dati Memoria Registro di Controllo
ARCHITETTURA DI VON NEUMANN: CLOCK • Abbiamo visto che il processore svolga la sua attività in modo ciclico • Ad ogni ciclo corrisponde l’esecuzione di un’operazione elementare (un’istruzione macchina) • Il clock fornisce una cadenza temporale per l’esecuzione delle operazioni elementari • La frequenza del clock indica il numero di operazioni elementari che vengono eseguite nell’unità di tempo
IL CICLO DI ESECUZIONE ISTRUZIONI • Il ciclo di esecuzione istruzioni sta al cuore del funzionamento di un computer • Ad ogni ‘ticchettio’ del clock, la CPU: • Preleva dalla memoria principale la “prossima” istruzione da eseguire (specificata dal PROGRAM COUNTER, PC) • La mette nel REGISTRO ISTRUZIONI (IR) • La DECODIFICA • Preleva gli OPERANDI specificati nell’istruzione • ESEGUE l’istruzione • Ricomincia
CODICE PER I PROGRAMMI: Istruzioni macchina • I programmi: sequenze di istruzioni elementari (somma due numeri, confronta due numeri, leggi/scrivi dalla memoria, ecc.) • Per ogni tipo di processore è definito un insieme di istruzioni, chiamate istruzioni macchina • Ognuna delle quali corrisponde ad un’operazione elementare • Le operazione più complesse possono essere realizzate mediante sequenze di operazioni elementari
Codice istruzione Argomento 1 Argomento 2 Istruzioni macchina • Le istruzioni possono avere formati diversi - per esempio: oppure cosa fare su cosa operare Codice istruzione Argomento 1
Codice istruzione Argomento 1 Argomento 2 Istruzioni macchina • Per esempio: • ADD R1 R2 • Operazione aritmetica di somma: prevede la somma del contenuto dei registri R1 e R2 e il caricamento del risultato nel registro R1 (Perché R1 non R2? Non c’è una ragione: la decisione è arbitraria)
01000110 1111000 01010111 00001111 Istruzioni macchina • Per esempio: cosa fare su cosa operare 11110101 01110110 11001001
Linguaggio macchina • Il linguaggio in cui si scrivono queste istruzioni prende il nome di linguaggio macchina • Una sequenza di tali istruzioni prende il nome di programma in linguaggio macchina • Il ruolo del processore: • Eseguire programmi in linguaggio macchina
ALU E CIRCUITI LOGICI • I CIRCUITI LOGICI sono la base dell’hardware di un calcolatore • L’ Unita’ aritmetico / logica (ALU), e’ prevalentemente composta di circuiti di questo tipo • Questi circuiti sono costituiti da un gran numero di componenti piu’ semplici
CIRCUITI LOGICI E FUNZIONI • Ogni circuito logico calcola una FUNZIONE od OPERAZIONE: • +(2,4) = 6 • Le operazioni piu’ semplice sono quelle BINARIE
OPERAZIONI BINARIE • Useremo il termine ‘OPERAZIONE BINARIA’ in modo generico per riferirsi ad ogni funzione che specifica un valore di OUTPUT 0 od 1 sulla base di 1 o piu’ valori di INPUT • Queste operazioni binarie possono essere specificate da TABELLE • Esempio piu’ noto di operazione binaria: OPERAZIONI LOGICHE
L’ALGEBRA BOOLEANA • Una forma molto semplice di LOGICA • Che codifica le condizioni sotto le quali espressioni complesse come “A e B” o “non A” o “A o B” sono vere mediante TABELLE DI VERITA’
A B R A B R A R 0 0 0 0 0 0 0 1 0 1 0 0 1 1 1 0 1 0 0 1 0 1 1 1 1 1 1 1 OPERAZIONI LOGICHE ELEMENTARI: AND, OR, NOT AND OR NOT
A B R A B R A R 0 0 0 0 0 0 0 1 0 1 0 0 1 1 1 0 1 0 0 1 0 1 1 1 1 1 1 1 CIRCUITI ELEMENTARI: AND, OR, NOT AND OR NOT
DALLE TABELLE DI VERITA’ AI CIRCUITI • Tanti input quante sono le dimensioni della tabella • Un solo output • Un or all’output • Tanti and quanti sono gli 1 della tabella • Input degli and: 1 se diretto, 0 se negato
Architettura dei computer • Un computer deve: • elaborare l’informazione • usando il processore (Central Processing Unit - CPU) • memorizzare l’informazione • usando la memoria principale (RAM) • usando la memoria secondaria • fare l’input/output dell’informazione • usando i dispositivi di input/output
Architettura dei computer • Un computer deve: • elaborare l’informazione • usando il processore (Central Processing Unit - CPU) • memorizzare l’informazione • usando la memoria principale (RAM) • usando la memoria secondaria • fare l’input/output dell’informazione • usando i dispositivi di input/output
Componenti principali di un computer Processore Memoria principale Unità centrale Stampante Periferiche del calcolatore Tasteria e monitor Memoria secondaria Periferiche di input/output
0 1 2 3 4 5 N ORGANIZZAZIONE DELLA MEMORIA Processore Memoria principale Unità centrale Insieme al processore forma l’Unità Centrale di un elaboratore Conserva i programmi e i dati usati dal processore • Sequenza di celle • Ad ogni cella è associato un indirizzo (un numero progressivo a partire da 0)
Memoria principale (RAM) • Alcune proprietà della memoria principale • Veloce: per leggere/scrivere una cella ci vuole un tempo di accesso dell’ordine di poche decine di nanosecondi (millesimi di milionesimi di secondo = 10-9 sec.) • Volatile: è fatta di componenti elettronici, togliendo l’alimentazione si perde tutto • (Relativamente)costosa
Memoria principale (RAM) Indirizzi Contenuto • Tutte le celle hanno la stessa dimensione: 8, 16, 32, o 64 bit • Le operazioni che si eseguono sulla memoria sono operazioni di lettura e scrittura • Una cella può contenere un dato o un’istruzione 345 0 1 13.200.985 2 3.890 LOAD 3568 R1 3 LOAD 56 R1 4 5 ADD R1 R2 N
LA MEMORIA SECONDARIA Processore Memoria principale Unità centrale Stampante Periferiche del calcolatore Tasteria e monitor Memoria secondaria Periferiche di input/output
Architettura dei computer • Un computer deve: • elaborare l’informazione • usando il processore (Central Processing Unit - CPU) • memorizzare l’informazione • usando la memoria principale (RAM) • usando la memoria secondaria • fare l’input/output dell’informazione • usando i dispositivi di input/output
Memoria secondaria • La memoria principale non basta (è volatile, costosa) • In grado di memorizzare i programmi e i dati in modo permanente • È meno costosa che la memoria principale: le dimensioni della memoria secondaria sono di solito molto maggiori di quelle della memoria principale • I supporti di memoria secondaria sono più lenti rispetto alla memoria principale (presenza di dispositivi meccanici) • Non tutti i supporti di memoria secondaria permettono l’accesso diretto ai dati • Alcuni permettono solo un accesso sequenziale (per esempio, nastri magnetici)
LA DIVISIONE DEI RUOLI TRA MEMORIA PRINCIPALE E MEMORIA SECONDARIA • I programmi e i dati risiedono nella memoria secondaria Processore Memoria principale Stampante Memoria secondaria
LA DIVISIONE DEI RUOLI TRA MEMORIA PRINCIPALE E MEMORIA SECONDARIA • I programmi e i dati risiedono nella memoria secondaria • Per essere eseguiti (i programmi) e usati (i dati) vengono copiati nella memoria principale Processore Memoria principale Stampante Memoria secondaria
LA DIVISIONE DEI RUOLI TRA MEMORIA PRINCIPALE E MEMORIA SECONDARIA • I programmi e i dati risiedono nella memoria secondaria • Per essere eseguiti (i programmi) e usati (i dati) vengono copiati nella memoria principale • Il processore è in grado di eseguire le istruzioni di cui sono composti i programmi Processore Memoria principale Stampante Memoria secondaria
Memoria secondaria • La memoria secondaria deve avere capacità di memorizzazione permanente e quindi per la sua si utilizzano tecnologie basate: • sulmagnetismo (tecnologia magnetica) • dischi magnetici (hard disk e floppy disk) • nastri magnetici • sull’uso dei raggi laser (tecnologia ottica) • dischi ottici (CD-ROM, DVD)
I dischi magnetici • Hard disk: sono dei dischi che vengono utilizzati come supporto di memoria secondaria fisso all’interno del computer • vari GB di memoria • Floppy disk: sono supporti rimovibili • Oggi sono comuni floppy disk da 3,5 pollici di diametro, capacità 1,44 MB
La memoria magnetica • Sfrutta il fenomeno fisico della polarizzazione • Sul supporto ci sono delle particelle magnetiche • I due diversi tipi di magnetizzazione (positiva e negativa) corrispondono alle unità elementari di informazione (0 e 1) • La testina di lettura/scrittura cambia la polarizzazione