Docsity
Docsity

Prepara i tuoi esami
Prepara i tuoi esami

Studia grazie alle numerose risorse presenti su Docsity


Ottieni i punti per scaricare
Ottieni i punti per scaricare

Guadagna punti aiutando altri studenti oppure acquistali con un piano Premium


Guide e consigli
Guide e consigli


Architettura di un calcolatore: registri, memoria e sistema operativo, Appunti di Elementi di Informatica

I concetti fondamentali dell'architettura di un calcolatore, tra cui la memoria principale, i registri del processore e il sistema operativo. Viene spiegata la nozione di memoria virtuale, che permette ai programmi di avere accesso a una quantità di memoria maggiore di quella fisicamente installata. Vengono inoltre illustrati i concetti di spazio di indirizzamento, istruzioni macchina e il ciclo fetch-decode-execute.

Tipologia: Appunti

2019/2020

Caricato il 02/04/2020

giuls19-94
giuls19-94 🇮🇹

5

(1)

3 documenti

1 / 87

Toggle sidebar

Questa pagina non è visibile nell’anteprima

Non perderti parti importanti!

bg1
19/02/2020
INFORMATICA GENERALE
Prof. Angelo Troina
Programma:
1. Introduzione
a. Introduzione all’Information Technology
b. Storia del calcolo automatico
2. Rappresentazione delle informazioni
a. Numeri
b. Testo
c. Immagini
d. Suoni
3. Architettura dell’elaboratore
a. I calcolatori
b. La memoria
c. La CPU / Il linguaggio macchina
d. Le unità periferiche
e. La memoria secondaria
4. Il Software e i Sistemi Operativi
5. Comunicazione tra elaboratori
a. Le reti di calcolatori, Internet, il World Wide Web
6. Cenni di HTML
7. Algoritmi
8. Cercare Informazioni sul web
9. Implicazioni sociali dell’Information Technology
10.Privacy e Sicurezza
11.Word Processing
12.Fogli di Calcolo
13.Introduzione ai Database
1. INTRODUZIONE
a. DI COSA PARLIAMO QUANDO PARLIAMO DI INFORMATICA
Information and Communication Technology:
Informatica come tecnologia risvolti fisico-matematici e ingegneristici del calcolo
automatico; teorie e tecniche di comunicazione.
Computer Science:
Informatica come scienza basata su modellizzazione, formalizzazione e verifica
sperimentale (teoria degli automi, logica formale, teorie del linguaggio.
b. BREVE STORIA DEL CALCOLO AUTOMATICO
IL CALCOLO AUTOMATICO
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b
pf1c
pf1d
pf1e
pf1f
pf20
pf21
pf22
pf23
pf24
pf25
pf26
pf27
pf28
pf29
pf2a
pf2b
pf2c
pf2d
pf2e
pf2f
pf30
pf31
pf32
pf33
pf34
pf35
pf36
pf37
pf38
pf39
pf3a
pf3b
pf3c
pf3d
pf3e
pf3f
pf40
pf41
pf42
pf43
pf44
pf45
pf46
pf47
pf48
pf49
pf4a
pf4b
pf4c
pf4d
pf4e
pf4f
pf50
pf51
pf52
pf53
pf54
pf55
pf56
pf57

Anteprima parziale del testo

Scarica Architettura di un calcolatore: registri, memoria e sistema operativo e più Appunti in PDF di Elementi di Informatica solo su Docsity!

19/02/

INFORMATICA GENERALE

Prof. Angelo Troina

Programma:

  1. Introduzione

a. Introduzione all’Information Technology

b. Storia del calcolo automatico

  1. Rappresentazione delle informazioni

a. Numeri

b. Testo

c. Immagini

d. Suoni

  1. Architettura dell’elaboratore

a. I calcolatori

b. La memoria

c. La CPU / Il linguaggio macchina

d. Le unità periferiche

e. La memoria secondaria

  1. Il Software e i Sistemi Operativi
  2. Comunicazione tra elaboratori

a. Le reti di calcolatori, Internet, il World Wide Web

  1. Cenni di HTML
  2. Algoritmi
  3. Cercare Informazioni sul web
  4. Implicazioni sociali dell’Information Technology

10.Privacy e Sicurezza

11.Word Processing

12.Fogli di Calcolo

13.Introduzione ai Database

1. INTRODUZIONE

a. DI COSA PARLIAMO QUANDO PARLIAMO DI INFORMATICA

Information and Communication Technology :

Informatica come tecnologia risvolti fisico-matematici e ingegneristici del calcolo

automatico; teorie e tecniche di comunicazione.

Computer Science :

Informatica come scienza basata su modellizzazione, formalizzazione e verifica

sperimentale (teoria degli automi, logica formale, teorie del linguaggio.

b. BREVE STORIA DEL CALCOLO AUTOMATICO

IL CALCOLO AUTOMATICO

Esempio :

Ordinamento di 4000 cognomi

  • É necessaria la macchina?

o No, l’essere umano è in grado di individuare ed applicare un algoritmo per

risolvere il problema, ma…

 Non ha voglia di farlo

 Impiega troppo tempo

 Rischia di commettere errori

L’ÀBACO

È la prima “macchina di calcolo” nota.

I primi abachi risalgono al V millennio a.C.

La logica e la correttezza dell’operazione dipendono unicamente dall’utente.

LA PASCALINA

Costruita da Blaise Pascal nel XVII secolo.

Riesce ad effettuare dei calcoli aritmetici ruotando le “rotelle” delle unità, delle decine,

delle centinaia e delle migliaia  Superando il 9, ci riporta la decina.

La logica dell’operazione è controllata dalla macchina, definita negli ingranaggi.

LA MACCHINA ANALITICA

Introdotta da Charles Babbage nel 1840

Primo esempio di macchina di calcolo “programmabile”

Babbage era molto avanti rispetto ai suoi tempi:

o La tecnologia non era ancora sviluppata a sufficienza (la macchina analitica

avrebbe avuto lunghezza di 30 m e profondità di 10 m, oltre che funzionare

con un motore a vapore!)

o L’esigenza di automatizzare il calcolo non era forte

Per questi motivi le sue idee non ebbero il successo che avrebbero meritato e furono

dimenticate per quasi un secolo

Le idee di Babbage vennero “riscoperte” nella prima metà del ‘900 da Alan Turing e da

John von Neumann.

SCHEDE PERFORATE

Nel 1725 rotoli di carta perforata su telai regolavano i motivi ornamentali da riprodurre

sulla stoffa.

Nella Macchina Analitica erano pensate per la registrazione e la conservazione delle

informazioni.

Queste schede possono essere utilizzare per dare dei dati alla macchina.

Utilizzate anche nei primi calcolatori costruiti.

Hollerith (U.S Census 1890)

Si fa passare la scheda perforata su un rullo meccanico che rullo e fa muovere la scheda e

al di sopra c’è una spazzola metallica che quando trova il foro va a mettersi in contatto con

un altro contatto metallico  ciascun foro corrisponde ad una informazione che può essere

letta dalla macchina.

ALAN TURING

Uno dei padri dell’informatica

Introdusse la “ macchina di Turing ”  macchina teorica definita sulla carta

Introdusse il limite del calcolatore

 Caratterizzato da un nastro infinito a memoria con caselle che contengono una

successione di simboli (ad esempio tanti 0 e tanti 1), in qualsiasi momento la

UN PO’ DI STORIA SCIENTIFICA

- 300 a.C.  algoritmo di Euclide per MCD - 1800 Boole

 Metodi puramente simbolici per modellare il ragionamento  operazioni che

lavorano su elementi di verità, combinandoli tra di loro per ottenere un

risultato

- 1930  Church, Turing

o Modello formale astratto di computer

o Computer come macchina universale: “We are trying to build a machine to do

all kinds of different things simply by programming rather than by the addition

of extra apparatus” (Turing)

o Esistono problemi che un computer non può risolvere

- 1940  Shannon

 Teoria dell’informazione

- 1950/60  Dijkstra, Kruskal, Hoare, ecc.

 Algoritmi fondamentali, linguaggi di programmazione, teoria dei linguaggi

formali, ecc.

- 1970  Codd, Rivest et al., McCarthy et al., Cook et al.

Database relazionali, crittografia a chiave pubblica, intelligenza artificiale,

complessità computazionale.

INTRODUZIONE ALL’INFORMATICA

INFORMATICAInfor (mazione) (auto) matica insieme dei processi e delle tecnologie che

consentono:

- La creazione - La raccolta - L’elaborazione - L’immagazzinamento - La diffusione dell’informazione

In qualche modo è qualcosa che si occupa di raccogliere e conservare l’informazione, di

elaborare l’informazione, di trasmettere l’informazione, che viene fatto in maniera

occupata.

Le tecnologie informatiche hanno tre funzioni principali:

  1. Elaborare dati per ottenere informazioni significative;
  2. Mantenere le informazioni elaborate per utilizzarle in combinazione con altre come

dati di un nuovo processo di elaborazione;

  1. Organizzare le informazioni in una nuova forma per renderle più comprensibili, più

interessanti o più utili.

N.B.: Il calcolatore non ‘inventa’ nuove informazioni.

TERMINOLOGIA

ALGORITMO

Aritmetica elementare formulata dal matematico persiano medioevale al-Khuwarizmi.

 Insieme delle operazioni necessarie a risolvere un problema

(esempi: istruzioni di montaggio LEGO®, IKEA, procedura per risolvere operazioni

matematiche)

 Metodo Preciso e sistematico per risolvere un problema

Esistono vari algoritmi per risolvere lo stesso problema

Un programma in genere realizza numerosi algoritmi

2. RAPPRESENTAZIONE DELLE INFORMAZIONI

a. RAPPRESENTAZIONE DEI NUMERI

TIPI DI SEGNALI

Segnali digitali :

Insieme discreto di valori, ad esempio due stati

Semplici da distinguere 

Esempio.: interruttore on/off

 Vantaggi:

o Semplice

o Non ambiguo (non sensibile alle interferenze)

o Riproducibile senza errori

Segnali analogici

Insieme continuo di valori, trasmettono molte informazioni

Sensibili alle interferenze

Es.: regolatore di volume

IL BIT

BIT = B INARY DIG IT (cifra binaria)

Segnale binario : segnale discreto su due valori

Elemento di base per rappresentare le informazioni digitali

Perché il sistema binario?

 È semplice

 Può rappresentare (quasi) ogni informazione

Come viene realizzato un bit?

- Direzione di magnetizzazione - Presenza/ assenza di corrente/tensione - Passaggio/non passaggio di luce

RAPPRESENTAZIONE DELLE INFORMAZIONI

Un bit rappresenta 2 possibili informazioni (Esempio: sì/no, on/off, su/giù, vero/falso).

Combinando più bit si rappresentano più informazioni.

2 bit ➔ 4 informazioni :

 Esempio: Un esame con 4 possibili esiti  insufficiente (00), sufficiente (01), buono

(10), ottimo (11).

La corrispondenza concetto/configurazione di bit è una convenzione!

  1. Con 1 bit si rappresentano 2 informazioni
  2. Con 2 bit si rappresentano 4 informazioni
  3. Con 3 bit si rappresentano 8 informazioni

Con N bit si rappresentano 2

N

informazioni

8 bit formano un byte.

8 bit => 2

8

= 256 informazioni diverse

Il byte viene utilizzato - insieme al bit - come unità di misura per esprimere la capacità della

memoria , la potenza di un calcolatore , la velocità di trasmissione di una linea.

1 B (byte) = sequenza di 8 b (bit)

Unità di misura – il Bit

Unità di misura – il Byte

RAPPRESENTAZIONE DEI NUMERI

Ci serve una rappresentazione adatta all’elaboratore, ma prima di tutto ci serve fare un po’

di chiarezza sui problemi legati alla rappresentazione dei numeri. Iniziamo con il distinguere

tra numerale e numero.

Numerale : simbolo che rappresenta un numero

o I numerali differiscono dai numeri come le parole differiscono dai concetti che

rappresentano

o Esempio: 6, sei, VI, six rappresentano tutti lo stesso numero

SISTEMA UNARIO

Obiettivo  Stiamo cercando un modo efficiente di rappresentare i numeri (i.e. delle

quantità).

Soluzione inefficiente  usiamo un simbolo per indicare un oggetto.

Problema  Utilizziamo “tanti simboli” quanti sono gli oggetti. Non è una soluzione

praticabile quando gli oggetti sono nell’ordine dei milioni.

IL SISTEMA DI NUMERAZIONE DECIMALE

Decimale : “alfabeto” di 10 cifre  0, 1, 2, …, 9

Numerale 245:

 2 centinaia

 4 decine

 5 unità

Cioè  2 volte 10

2

  • 4 volte 10

1

  • 5 volte 10

0

La potenza di 10 da considerare dipende dalla posizione della cifra.

NOTAZIONE POSIZIONALE

La notazione posizionale non è l’unica possibile (es. i numeri romani non sono in notazione

posizionale).

Vantaggi :

 Efficiente:

Il numero di oggetti indicato cresce esponenzialmente con il numero di cifre usate

 Potente:

Gli “algoritmi” che implementano le quattro operazioni sono “semplici”.

IL SISTEMA DI NUMERAZIONE DECIMALE

Notazione posizionale : la posizione di una cifra in un numerale indica il suo peso in

potenze di 10.

I pesi sono:

- Unità = 10

0

= 1 (posizione 0)

- Decine = 10

1

= 10 (posizione 1)

- Centinaia = 10

2

= 100 (posizione 2)

147 (numero)

ESEMPIO :

128 64 32 16 8 4 2 1

= 2

8

= 256 = 9 bit  2

8-

= 255 = 8 bit

Ho ricavato il numero 128 cercando il numero (in potenza) che più si avvicinasse a 137 

7

Per trovare quindi il numero 255 ho dovuto calcolare ogni potenza del 2 partendo da 2

7

  1. fino ad arrivare a 2

0

(= 1).

Invece per trovare 213 10 devo sommare i numeri decimali che corrispondono ai bit uguali a

1, tralasciando quello uguali a 0.

Il numero è dispari perché termina con l’1.

MASSIMO NUMERO RAPPRESENTABILE

Massimo numero rappresentabile:

Il numero più grande esprimibile con un dato numero di cifre (decimali, binarie, …).

NON coincide con il numero di informazioni rappresentabili!

Per esempio, con 2 cifre decimali rappresento 100 numeri distinti, ma il numero più grande

che posso rappresentare utilizzando la notazione decimale a due cifre è 99 10 (Questo

perché si inizia a contare da 0).

Numeri a 2 cifre

o Sistema decimale :

2

) numeri diversi

 Da 0 10 a 99 10 , cioè da 0 a 10

2

  • 1

 Massimo numero rappresentabile: 10

2

  • 1

o Sistema binario :

2

) numeri diversi

 Da 0 2 a 11 2 (da 0 a 3), cioè da 0 a 2

2

  • 1

 Massimo numero rappresentabile: 2

2

  • 1

Numeri a N cifre

o Sistema decimale :

N

numeri diversi

 Da 0 10 a 9… 10 , cioè da 0 a 10

N

  • 1

 Massimo numero rappresentabile: 10

N

o Sistema binario :

N

numeri diversi

 Da 0 2 a 1… 2 , cioè da 0 a 2

N

 Massimo numero rappresentabile: 2

N

  • 1

ESEMPIO :

Con 8 cifre

2 (8 bit) = 2

8

-1 = 255 10

Per rappresentare il numero 256 10

ci vuole un bit in più:

10

2

8

Riassumendo ...

Definendo il numero di cifre con cui si rappresentano i numeri, si definisce anche il

massimo numero rappresentabile:

► Con 16 bit  2

16

-1 = 65.

► Con 32 bit  2

32

► Con 64 bit  2

64

-1 = 18.446.744.073.709.551.615 1,84 * 10

19

COVERSIONE DA BASE 2 A BASE 10

È sufficiente moltiplicare ogni bit per il suo peso e sommare.

Esempio :

2

4

  • 1*

3

  • 0*

2

  • 1*

1

  • 0*

0

=

(avendo 5 bit, io devo moltiplicare ogni bit per il suo peso espresso in potenza 2

N-

 es:

(5-1)

4

10

Somma di potenze di 2!

Sommo le potenze di due in cui il bit è uguale a 1.

0 i resti si leggono dal basso verso l’alto  perché il primo resto è quello

che ci dice se il numero è pari o dispari e perché è il meno significativo.

 10001001: Notazione Binaria

Perché funziona?

Il numero che vogliamo rappresentare ha una rappresentazione binaria del tipo:

x N x N- … x 1 x 0

Il numero si può pensare come la somma di potenze di due:

x N

N

  • x N-

N-

  • … + x 1

1

  • x 0

0

Proviamo a dividere il numero per due e vediamo cosa succede

(x N

N

  • x N-

N-

  • … + x 1

1

  • x 0

0

) / 2 =

x N

N

  • x N-

N-

  • … + x 1

1

  • x 0

0

con resto x 0

Notiamo :

Il resto della divisione è pari alla cifra meno significativa del numero che cerchiamo.

SOMMA DI NUMERI BINARI

Se sommo 1 + 1 fa 0 ma con il riporto di 1 nella posizione successiva

Esempio :

 si legge da destra verso sinistra

4

  • 2

3

  • 2

2

  • 2

1

NUMERI POSITIVI E NEGATIVI

Problema :

Come rappresentare anche i numeri negativi?

Soluzione semplice :

 Usiamo:

o 1 bit per rappresentare il segno

o Gli altri bit per rappresentare il valore assoluto del numero

o Il segno viene rappresentato dal bit più significativo (MSB), il bit più a sinistra:

0 indica un numero positivo

1 indica un numero negativo

o Problemi :

 Due rappresentazioni dello 0:

 Il metodo per la somma non è consistente

o Occorre una rappresentazione diversa:

Complemento a due  tiene valido il metodo della somma

RAPPRESENTAZIONE IN COMPLEMENTO A DUE

Anziché usare un byte per rappresentare i numeri da 0 a 255, lo usiamo per i numeri da -

128 a 127:

da 00000000 2

10 a 01111111 2

10

e da 10000000 2

10 (il più piccolo numero negativo) a 11111111 2

10

Analogamente :

► Usando 16 bit rappresentiamo da –

15

a 2

15

  • 1 cioè da –32768 a +

► Usando 32 bit rappresentiamo da –

31

a 2

31

  • 1 cioè da –2.147.483.648 a

► Usando N bit rappresentiamo da

N-

a 2N-1 – 1.