L’ELABORATORE …dall’esterno

49
[email protected] Dr. Marina Paolanti – Informatica per la comunicazione– a.a. 2021/2022 L’ELABORATORE …dall’esterno Componenti principali Unità centrale (“case”) Video (“monitor”) Tastiera e Mouse • Lettore CD Componenti accessori • Stampante • Modem • Scanner • Tavolette grafiche HARDWARE Composto da un insieme di unità funzionali

Transcript of L’ELABORATORE …dall’esterno

[email protected]. Marina Paolanti – Informatica per la comunicazione– a.a. 2021/2022

L’ELABORATORE …dall’esterno

Componenti principali• Unità centrale (“case”)• Video (“monitor”)• Tastiera e Mouse• Lettore CD

Componenti accessori• Stampante• Modem• Scanner• Tavolette grafiche…

HARDWAREComposto da un insieme di unità funzionali

[email protected]. Marina Paolanti – Informatica per la comunicazione– a.a. 2021/2022

Architettura di un PC

[email protected]. Marina Paolanti – Informatica per la comunicazione– a.a. 2021/2022

Organizzazione gerarchica della memoria

• la memoria negli elaboratori non è tutta uguale

• compromessi tra costo, prestazioni e dimensione della memoria

• la memoria è più lenta del processore e tende a limitarne le prestazioni

• poca memoria veloce vicino al processore e tanta memoria lenta

complessiva

[email protected]. Marina Paolanti – Informatica per la comunicazione– a.a. 2021/2022

ARCHITETTURA DI UN ELABORATORE

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

[email protected]. Marina Paolanti – Informatica per la comunicazione– a.a. 2021/2022

MACCHINA DI VON NEUMANN

UNITÀ FUNZIONALI fondamentali:1. Processore (CPU, Central Processing Unit)2. Unità di I/O (Input / Output)3. Memoria Centrale (RAM & ROM)4. Bus di sistema

[email protected]. Marina Paolanti – Informatica per la comunicazione– a.a. 2021/2022

MACCHINA DI VON NEUMANN

[email protected]. Marina Paolanti – Informatica per la comunicazione– a.a. 2021/2022

TECNOLOGIA DIGITALE

Dati ed operazioni vengono codificati a partire da due valori distinti di grandezze elettriche:• tensione alta (VH, 5V) • tensione bassa (VL, 0V)

A tali valori vengono convenzionalmente associate le due cifre binarie 0 e 1 :• logica positiva: 1 « VH , 0 « VL

• logica negativa: 0 « VH, 1 « VL

CPU, memoria centrale e dispositivi sono realizzati con tecnologia elettronica digitale.

[email protected]. Marina Paolanti – Informatica per la comunicazione– a.a. 2021/2022

TECNOLOGIA DIGITALE (segue)

01000110101 ....

Dati ed operazioni vengono codificati tramite sequenze di bit (bit = Binary digIT)

CPU è in grado di operare soltanto in aritmetica binaria, effettuando operazioni elementari :• somma e differenza• scorrimento (shift)• ...

Lavorando direttamente sull’hardware, l’utente è forzato a esprimere i propri comandi al livello della macchina, tramite sequenze di bit.

[email protected]. Marina Paolanti – Informatica per la comunicazione– a.a. 2021/2022

Svolge le elaborazioni e il trasferimento dei dati, cioè esegue i programmi.

CPU (Central Processing Unit)

•Clock•Registri•ALU (Arithmetic & Logic Unit)•Unità di controllo

E’ composta da:

[email protected]. Marina Paolanti – Informatica per la comunicazione– a.a. 2021/2022

CPU …all’interno

[email protected]. Marina Paolanti – Informatica per la comunicazione– a.a. 2021/2022

CPU: CLOCK

Il clock dà la base dei tempi necessaria per mantenere il sincronismo fra le operazioni imponendo che l’esecuzione di ogni operazione impieghi un tempo al massimo uguale al periodo di clock.

DUBBIO: come si sceglie la frequenza (inverso del periodo) di clock?

Risposta: in base al tempo necessario per eseguire l’istruzione più lunga.

[email protected]. Marina Paolanti – Informatica per la comunicazione– a.a. 2021/2022

CPU: REGISTRI

•I registri sono locazioni usate per memorizzare dati, istruzioni, o indirizzi all’interno della CPU.

•L’accesso ai registri è molto veloce.

•Numero e dimensione dei registri variano da macchina a macchina.

•Due classi:§general purpose (A, B, C, …)§specializzati (PC, IR, RI, RD, RINT, FLAG)

[email protected]. Marina Paolanti – Informatica per la comunicazione– a.a. 2021/2022

I REGISTRI SPECIALIZZATI

Program Counter (PC)• Indica l’indirizzo della cella di memoria che contiene la

prossima istruzione da eseguireInstruction Register (IR)

• Contiene l’istruzione da eseguire.

Registro Indirizzi (RI)• Contiene l’indirizzo della cella di memoria da selezionare

per il trasferimento di un dato con la CPURegistro Dati (RD) o Accumulatore

• Contiene il dato attualmente oggetto di elaborazione e il risultato al termine dell’esecuzione

[email protected]. Marina Paolanti – Informatica per la comunicazione– a.a. 2021/2022

ALTRI REGISTRI

Registri di uso generale (A,B,C,...)• Sono usati per contenere sia dati (in particolare, operandi

di operazioni aritmetico/logiche) sia indirizzi.

Registro Interruzioni (RINT)• Serve per gestire le interruzioni (hw e sw).

Registro dei flag (FLAG)• Ogni flag indica la presenza/assenza di una proprietà

nell’ultimo risultato generato dalla ALU. Altri bit riassumono lo stato del processore.

[email protected]. Marina Paolanti – Informatica per la comunicazione– a.a. 2021/2022

4. Il registro FLAG riporta sui suoi bit indicazioni sul risultato dell'operazione (riporto, segno, etc.).

CPU: ALU (Arithmetic & Logic Unit)

ESEMPIO: ALU in grado di eseguire somma, sottrazione, prodotto, divisione con due operandi contenuti nei registri A e B.

Esegue operazioni aritmetiche, logiche e confronti sui dati della memoria centrale o dei registri. Può essere semplice oppure (più spesso) molto complessa e sofisticata.

1. I due operandi vengono caricati nei registri A e B.2. La ALU viene attivata da un comando inviato dalla CPU che specifica

il tipo di operazione.3. Nel registro A viene caricato il risultato dell'operazione eseguita dalla ALU.

[email protected]. Marina Paolanti – Informatica per la comunicazione– a.a. 2021/2022

CPU: UNITÀ DI CONTROLLO

Da quando viene acceso a quando è spento, essa esegue in continuazione il ciclo:

prelievo / decodifica / esecuzione

( fetch / decode / execute )

L'unità di controllo fa funzionare l’elaboratore

[email protected]. Marina Paolanti – Informatica per la comunicazione– a.a. 2021/2022

IL CICLO fetch / decode / execute

FETCH• si accede alla prossima istruzione (cella il cui indirizzo

è contenuto nel registro PC) ...• … e la si porta dalla memoria centrale, memo-

rizzandola nel Registro Istruzioni (IR)DECODE• si decodifica il tipo dell’istruzione in base al suo

OpCode (codice operativo)EXECUTE• si individuano i dati usati dall’istruzione• si trasferiscono tali dati nei registri opportuni• si esegue l’istruzione.

[email protected]. Marina Paolanti – Informatica per la comunicazione– a.a. 2021/2022

IL CICLO fetch / decode / execute

Attenzione: Istruzioni particolari possono alterare il prelievo delle istruzioni da celle consecutive:

• istruzioni di salto• istruzioni di chiamata a sotto-programmi• istruzioni di interruzione

Eseguita un’istruzione si incrementa il PC di 1:esecuzione sequenziale dei programmi

[email protected]. Marina Paolanti – Informatica per la comunicazione– a.a. 2021/2022

MULTITASKING

Poiché i registri compendiano tutto lo stato dell’elaborazione di un certo processo,

• salvando in memoria il contenuto di tutti i registri è possibileaccantonare un processo per passare a svolgerne un altro (salvataggio di contesto)

• ripristinando dalla memoria il contenuto di tutti i registriprecedentemente salvati è possibile ripristinare lo stato di un processo accantonato, riprendendone l’esecuzione come se nulla fosse accaduto.

E’ la possibilità che consente a un sistema operativo di eseguire più compiti “allo stesso tempo”

[email protected]. Marina Paolanti – Informatica per la comunicazione– a.a. 2021/2022

UNITA’ DI I/O

INTERFACCE dispositivi che consentono all’elaboratore di comunicare con le periferica.Sono molto diverse tra loro (dipendono dal tipo di unità periferica da connettere).

PERIFERICHE• Tastiera e Mouse• Video e Stampante• Scanner e tavoletta grafica• Dispositivi di memoria di massa• ...

[email protected]. Marina Paolanti – Informatica per la comunicazione– a.a. 2021/2022

Collegamenti delle periferiche:le porte e i connettori

• Porta seriale (maschio a 9 o 25 pin) per collegare mouse, modem ... ;

• Porta parallela (femmina a 25 pin) per collegare ad esempio la stampante;

• Porta video (femmina a 15 pin su tre file) per il collegamento dello schermo;

• Porta PS/2 (femmina circolare) per il collegamento del mouse;

• Porta USB (Universal Serial Bus) nuovo tipo di connessione ad alta velocità per collegare periferiche esterne in cascata

• Porte audio (connettori jack) casse audio.• Per ogni porta è definito il protocollo di comunicazione per specificare:

velocità di trasmissione, comunicazione sincrona o asincrona ...

[email protected]. Marina Paolanti – Informatica per la comunicazione– a.a. 2021/2022

LA MEMORIA DI MASSA

• memorizza grandi quantità di informazioni• persistente (le informazioni non si perdono spegnendo

la macchina)• accesso molto meno rapido della memoria centrale

(millisecondi contro nanosecondi Þ differenza 106)

MEMORIA DI MASSA• Dischi• CD• DVD• ...

[email protected]. Marina Paolanti – Informatica per la comunicazione– a.a. 2021/2022

• Tecnologia magnetica: dischi fissi

• Tecnologia ottica:• CD (audio, CD-ROM)• CD-R• CD -RW• DVD

• Tecnologia flash (memorie USB)

LA MEMORIA DI MASSA

[email protected]. Marina Paolanti – Informatica per la comunicazione– a.a. 2021/2022

LA MEMORIA DI MASSA

Caratteristiche:• tempo di accesso• capacità

Scopo: memorizzare grandi masse di dati in modo persistente / permanente

Multipli del byte (=8 bit):• Kbyte (210 =1.024 Byte)• Mbyte (220 = 1.048.576 Byte)• Gbyte (230 = 1.073.741.824 Byte)

Tempo di accesso• disco fisso: ~10 ms• floppy: ~100 ms

[email protected]. Marina Paolanti – Informatica per la comunicazione– a.a. 2021/2022

• Dimensioni relativamente limitate• Accesso molto rapido• E’ composta da:

§RAM (Random Access Memory) è volatile (perde il suo contenuto quando si spegne il calcolatore) § usata per memorizzare dati e programmi

§ROM (Read Only Memory) è persistente (mantiene il suo contenuto quando si spegne il calcolatore) ma il suo contenuto è fisso e immutabile

• usata per memorizzare programmi di sistema

LA MEMORIA CENTRALE

[email protected]. Marina Paolanti – Informatica per la comunicazione– a.a. 2021/2022

LA MEMORIA CENTRALE …all’interno

[email protected]. Marina Paolanti – Informatica per la comunicazione– a.a. 2021/2022

INDIRIZZAMENTO

E’ l’attività con cui l’elaboratore seleziona una particolare cella di memoria

• Per farlo, l’elaboratore pone l’indirizzo della cella desiderata nel Registro Indirizzi (RI).

• se il RI è lungo N bit, si possono indirizzare 2N celle di memoria (numerate da 0 a 2N-1)

• esempio: N=10 Þ 1024 celle.

• Oggi, RI è lungo tipicamente 32 bit® SPAZIO INDIRIZZABILE di 4 Gb

[email protected]. Marina Paolanti – Informatica per la comunicazione– a.a. 2021/2022

OPERAZIONI DI LETTURA

Lettura (Read): il contenuto della cella di memoriaindirizzata dal Registro Indirizzi è copiato nel RegistroDati.

(N bit)

RIRD

read

[email protected]. Marina Paolanti – Informatica per la comunicazione– a.a. 2021/2022

OPERAZIONI DI SCRITTURAScrittura (Write): il contenuto del Registro Dati è copiato nella

cella di memoria indirizzata dal Registro Indirizzi.

0

1

(N bit)

N-12

RIRD

write

[email protected]. Marina Paolanti – Informatica per la comunicazione– a.a. 2021/2022

Memorie Gerarchiche

“Teoricamente si vorrebbe avere una memoria di capacitàindefinitamente grande, tale che ogni particolare parola possa essereimmediatamente disponibile.Siamo così costretti a riconoscere la possibilità di costruire una gerarchiadi memorie, ognuna delle quali ha capacità superiore a quella precedente,ma a cui si può accedere con minor velocità”.

John von Neumann et al. (1946)

[email protected]. Marina Paolanti – Informatica per la comunicazione– a.a. 2021/2022

GERARCHIA DELLE MEMORIE

REGISTRI

CACHE

RAM

Velo

cità

/ co

sto

Capacità

Memoria locale

Memoria di massa

Memoria centrale

HD

[email protected]. Marina Paolanti – Informatica per la comunicazione– a.a. 2021/2022

MEMORIE CACHE

PROBLEMA:Sebbene la RAM sia veloce, non è abbastanza veloce da “star dietro” ai moderni processori.

CONSEGUENZA:il processore perde tempo ad aspettare l’arrivo dei dati dalla RAM.

SOLUZIONE:Inserire tra processore e RAM una memoria particolarmente veloce dove tenere i dati usati più spesso (memoria cache)

[email protected]. Marina Paolanti – Informatica per la comunicazione– a.a. 2021/2022

MEMORIE CACHE (2)

In questo modo,¨la prima volta che il microprocessore carica dei dati

dalla memoria centrale, tali dati vengono caricati anche sulla cache¨le volte successive, i dati possono essere letti dalla

cache (veloce) invece che dalla memoria centrale (più lenta)¨Principio di località di dati e istruzioni

[email protected]. Marina Paolanti – Informatica per la comunicazione– a.a. 2021/2022

MEMORIE CACHE (3)

DUBBIO:Ma se abbiamo memorie così veloci,perché non le usiamo per costruire tutta laRAM?

Semplice...perché costano molto!!OGGI, la cache è spesso già presentedentro al processore (cache di I° livello), ealtra può essere aggiunta (cache di II°livello)

[email protected]. Marina Paolanti – Informatica per la comunicazione– a.a. 2021/2022

Principio di località

• Temporale: tendenza a riferirsi allo stesso elemento entro breve tempo– cicli di programma– variabili istanziate nei cicli

• spaziale: tendenza a riferire la successiva lettura/scrittura in memoria adelementi che hanno indirizzo vicino a quello dell’elemento corrente– programmi sequenziali– strutture dati allocate sequenzialmente

• obiettivo ideale: fornire una quantità di memoria pari a quella disponibilenella tecnologia più economica garantendo una velocità di accesso pari aquella della memoria più costosa

[email protected]. Marina Paolanti – Informatica per la comunicazione– a.a. 2021/2022

CAPACITÀ DELLE MEMORIE

Tipo di memoria Capacità

Memoria centrale 256 Mbyte – 2GbyteDischi magnetici 80 – 200 GbyteDischi floppy 1.4 MbyteNastri (bobina) 20-400 MbyteDischi ottici 650 Mbyte - 17 GByte

Memoria cache 256 Kbyte – 2Mbyte

[email protected]. Marina Paolanti – Informatica per la comunicazione– a.a. 2021/2022

BUS DI SISTEMA

ll Bus è un insieme di “linee di comunicazione” diverse:• bus dati (data bus)• bus indirizzi (address bus)• bus comandi (command bus)

[email protected]. Marina Paolanti – Informatica per la comunicazione– a.a. 2021/2022

BUS DI SISTEMA (2)

Il Bus collega due unità funzionali alla volta:• una trasmette…•... e l’altra riceve. Il trasferimento dei dati avviene o sotto il controllo della CPU, o mediante accesso diretto alla memoria (DMA).

ǺÊ Ė

Đ Į Ŀ ŇÒĹÏ Ĭ Į ŃÔÒÏ ŁĮ

ČOÉ

ÅÕÓ

DMA

[email protected]. Marina Paolanti – Informatica per la comunicazione– a.a. 2021/2022

BUS DI SISTEMA (3)

BUS DATI• bidirezionale• serve per trasmettere dati dalla memoria o viceversa.

BUS INDIRIZZI• unidirezionale• serve per trasmettere il contenuto del registro indirizzi alla

memoria (si seleziona una specifica cella su cui viene eseguita o un’operazione di lettura o una operazione di scrittura)

[email protected]. Marina Paolanti – Informatica per la comunicazione– a.a. 2021/2022

BUS DI SISTEMA (4)

BUS COMANDI• bidirezionale• tipicamente usato per inviare comandi verso la memoria

(es: lettura o scrittura) o verso una periferica (es. stampa verso la stampante ® interfaccia)

• può essere usato per inviare comandi verso il processore nel caso di DMA (o interfacce di I/O)

[email protected]. Marina Paolanti – Informatica per la comunicazione– a.a. 2021/2022

PERSONAL COMPUTER

BUS COMANDI• bidirezionale• tipicamente usato per inviare comandi verso la memoria

(es: lettura o scrittura) o verso una periferica (es. stampa verso la stampante ® interfaccia)

• può essere usato per inviare comandi verso il processore nel caso di DMA (o interfacce di I/O)

[email protected]. Marina Paolanti – Informatica per la comunicazione– a.a. 2021/2022

PERSONAL COMPUTER

• PC desktop e notebook (ex “IBM-compatibili”)

• Principalmente usano processori Intel (x86, Celeron, Pentium, …) o AMD (x86, K5, K6, Duron, Athlon, …)

• Le prestazioni dipendono da:§ frequenza dell’orologio di sistema (clock)§ dimensione della RAM§ velocità/parallelismo del trasferimento dati§ scheda grafica

[email protected]. Marina Paolanti – Informatica per la comunicazione– a.a. 2021/2022

ALTRI SISTEMI DI CALCOLO

Workstationsistemi con prestazioni normalmente superiori aquello di un tipico PC e spesso dedicati ad unasingola attività (e.g., grafica) ma anche persupportare più utenti.

ServerMacchine capaci di servire contemporaneamente(i.e., mettere a disposizione risorse per) decine diutenti collegati tra loro.

[email protected]. Marina Paolanti – Informatica per la comunicazione– a.a. 2021/2022

OLTRE la macchina di Von Neumann

•Problema: nella macchina di Von Neumann le operazioni sonostrettamente sequenziali.

• Altre soluzioni introducono forme di parallelismo• processori dedicati (coprocessori) al calcolo numerico, alla

gestione della grafica, all’I/O.• esecuzione in parallelo delle varie fasi di un’istruzione: mentre

se ne esegue una, si acquisiscono e decodificano le istruzionisuccessive (pipeline)

• architetture completamente diverse: sistemi multi-processore,macchine dataflow, Lisp machine, reti neurali.

[email protected]. Marina Paolanti – Informatica per la comunicazione– a.a. 2021/2022

ARCHITETTURE MULTI-COMPONENTE

• componenti software e hardware eterogenei

• servizi distribuiti: i componentiforniscono servizi ad altri componenti e usano i servizi forniti da altri componenti

• esecuzione distribuita nel tempo e nello spazio• necessità di protocolli di

comunicazione

[email protected]. Marina Paolanti – Informatica per la comunicazione– a.a. 2021/2022

RETI DI CALCOLATORI

• Reti Locali: connettono elaboratori fisicamente vicini (nello stesso ufficio o stabilimento).• LAN (Local Area Network)

Stampante di qualita`

Stampante ad aghi

Workstation Workstation Workstation Workstation Workstation

Disk server

Bus di rete

[email protected]. Marina Paolanti – Informatica per la comunicazione– a.a. 2021/2022

RETI DI CALCOLATORI (segue)

• Reti geografiche: collegano elaboratori medio-grandi situati anche a grande distanza.

• WAN (Wide Area Network)

HostHost

Host

Rete geografica

Rete locale

terminali remoti

mini

PC

printer

[email protected]. Marina Paolanti – Informatica per la comunicazione– a.a. 2021/2022

INTERNET: la rete delle reti

• Internet: la rete risultante dalla interconnessione mondiale di tutte le reti.

• Milioni di elaboratori (“siti”) collegati a ragnatela

• World-Wide Web (WWW)

[email protected]. Marina Paolanti – Informatica per la comunicazione– a.a. 2021/2022

INTERNET: i servizi

• lettura ipertesti in linea http• trasferimento file ftp• posta elettronica mailto

• terminale remoto telnet• gruppi di discussione news• transazioni sicure https

• … e tutto ciò che su questo si può costruire!(commercio elettronico, prenotazioni …)