63
L’hardware del PC

L’hardware del PC - dsi.unive.itmace/web/Teaching/InfBase2010/03... · Componenti dell’elaboratore Hardware Parte fisica del sistema Dispositivi fisici Software Parte logica del

Embed Size (px)

Citation preview

L’hardware del PC

Componenti dell’elaboratore

Hardware

Parte fisica del sistema

Dispositivi fisici

Software

Parte logica del sistema

Programmi e dati

2

3

Hardware dell’elaboratore

4

L'architettura del calcolatore

5

Il modello di Von Neumann

6

Il computer “moderno”

Unita' di elaborazione, processore, CPU (Central

Processing Unit)

Memoria centrale, RAM (Random Access Memory)

Memoria secondaria, memoria di massa

Bus di sistema (collega tutti gli altri componenti)

Periferiche di I/O (mouse, tastiera, terminali,

stampanti, scanner, ecc.)

7

Lo schema di un computer

La comunicazione fra le varie componenti avviene attraverso il bus di sistema. Tramite

il bus la CPU legge\scrive dati e istruzioni in memoria, trasferisce da\a la memoria ai

dispositivi di I/O, …

8

La struttura di un PC

9

Il bus

Il bus è una linea a cui sono contemporaneamente connesse tutte le unità del calcolatore e che consente il trasferimento di dati tra tali unità.

Cosa succede se mentre la CPU sta accedendo alla memoria per leggere un dato contemporaneamente da una interfaccia di ingresso/uscita arrivano dei dati che devono transitare sullo stesso bus ?

1010

Lo schema di riferimento

Schermo Tastiera MouseAltre

periferiche

InterfacciaI/O

InterfacciaI/O

InterfacciaI/O

InterfacceI/O

Memoriacentrale

CPU

Bus Dati

Bus Indirizzi

Bus di Controllo

1111

Organizzazione di un calcolatore “bus oriented”

Memoria

centraleUnità disco

Terminale Stampante

Unità di

controllo

Unità aritmetico

logica (ALU)

Registri

Dispositivi di I/O

BUS

1212

Caratteristiche del collegamento a BUS

Vantaggi

Semplicità: unica linea di connessione implica costi ridotti

Estendibilità: aggiunta di nuovi dispositivi molto semplice

Standardizzabilità: regole precise di comunicazione tra dispositivi diversi

Svantaggi

Lentezza: il bus è utilizzabile solo in mutua esclusione

Limitata capacità: al crescere del n. di dispositivi collegati

Sovraccarico del processore: la CPU funge infatti da master sul controllo del bus

13

La scheda madre (motherboard)

Collega tra di loro tutte le componenti del

computer (CPU, RAM, hard disk, floppy disk,

etc.)

zoccolo per il processore

zoccolo per la memoria

zoccoli o slot

per le schede

14

case

motherboard

15

Motherboard

Memoria

temporanea RAM

CPU

(Processore)Slots per

interfacce

Plugs

per dispositivi I/O

Memoria

di sistema permanente ROM

Unità di controllo

16

La CPU ha il ruolo di master

La CPU ha il compito di gestire (si dice che ha il ruolo di master) l’intero sistema e in particolare l’accesso al bus, impedendo alle unità periferiche la possibilità di accedervi autonomamente.

Ogni trasferimento di dati attraverso il bus avviene sotto la supervisione della CPU che sincronizza con segnali di controllo i dispositivi che devono colloquiare.

17

IL MICROPROCESSORE (CPU)

18

La CPU (o processore)

Si occupa di:

fare i calcoli

controllare le altre componenti

E' il cuore del computer!

Esistono diversi tipi di processore

(Pentium, Alpha, AMD (Athlon), etc.)

19

Come e' fatto il processore?

20

La struttura del processore

L’unità aritmetico-logica (Arithmetic-Logic Unit, ALU) effettua le operazioni di tipo aritmetico e logico sugli operandi forniti ai suoi ingressi.

I registri sono piccole celle di memoria interne alla CPU su cui vengono memorizzate le informazioni necessarie per l’esecuzione delle istruzioni (es., l’istruzione che il processore sta elaborando, i dati su cui opera l’istruzione corrente, l’indirizzo della prossima istruzione da eseguire, …)

L’unità di controllo coordina le varie unità nell’esecuzione dei programmi, comandando opportunamente i segnali di controllo dei registri, dell’ALU e dei bus che interfacciano la memoria.

21

Microprocessore

Con il termine microprocessore si intende un

processore realizzato interamente su un unico

chip (CPU integrata).

Un chip o circuito integrato è costituito da milioni di

transistor collegati da sottilissimi fili di alluminio, il tutto

all'interno di una piastrina di silicio.

Un transistor è un dispositivo elettronico a due stati,

una sorta di microscopico interruttore che può essere

acceso o spento.

22

Tutte le sue operazioni sono sincronizzate

da un clock.

Le varie componenti della CPU devono operare in modo

coordinato anche dal punto di vista della temporizzazione

degli eventi. Questo si ottiene grazie ad un orologio (clock)

che fornisce una cadenza temporale a cui tutte le attività

elementari sono sincronizzate.

23

Frequenza del clock

La frequenza del clock, cioè il numero delle attività

elementari che vengono eseguite nell’unità di tempo

(tale frequenza viene misurata in hertz, Hz),

determina la velocità di elaborazione della CPU.

Più alta è la frequenza di clock, maggiore è la velocità di

elaborazione del computer.

I calcolatori sono perciò caratterizzati non solo dal

tipo di CPU che adottano ma anche dalla frequenza

del loro clock: frequenze tipiche sono dell’ordine dei

100 MHz per i processori più lenti, sino ai calcolatori

più potenti che superano il GHz (1000 MHz).

24

Larghezza del bus

La velocità e la potenza di un computer dipendono

anche dalla larghezza del bus, ovvero dal numero di

bit (lunghezza del singolo dato) che il processore è

in grado di ricevere e di elaborare simultaneamente.

I primi processori potevano elaborare solo dati di 8 bit.

In breve si passò prima a 16 e poi a 32 bit.

Oggi tutti i processori sono in grado di elaborare dati

rappresentati con 64 bit.

25

La memoria

Supporto alla CPU: deve fornire alla CPU dati

e istruzioni il più rapidamente possibile

Archivio: deve consentire di archiviare dati e

programmi garantendone la conservazione e

la reperibilità anche dopo elevati periodi di

tempo

Diverse esigenze:

Velocità per il supporto alla CPU

Non volatilità ed elevate dimensioni per l’archivio

26

Le memorie

Cosa può fare la tecnologia ?

Memorie elettroniche relativamente piccole e

veloci, volatili, a costo medio alto

RAM : lettura e scrittura nell’ordine delle decine di

nanosecondi per parola

Memorie magnetiche e ottiche, grandi, molto

capienti, persistenti e lente

Dischi rigidi : lettura e scrittura nell’ordine di

alcuni millisecondi per blocco

CD ROM, DVD

27

Le memorie

I computer usano quindi supporti di

memorizzazione di più tipi :

una memoria centrale, RAM : contiene i

programmi durante la loro esecuzione ed i dati

relativi

altrimenti il processore sarebbe per la maggior parte

del tempo fermo in attesa di dati da/per la memoria

una o più memorie di massa (dischi etc.) : che

mantengono tutti i dati ed i programmi in attesa

di essere eseguiti in modo persistente, anche

dopo lo spegnimento del calcolatore

28

La memoria centrale

E' la RAM (Random Access Memory)

Memorizza:

I programmi in esecuzione

I dati dei programmi in esecuzione

Viene cancellata ogni volta che si spegne il

computer.

29

La notazione binaria

Tutte le informazioni vengono rappresentate mediante

sequenze di 0 e di 1

bit: binary digit

Per esigenze logico-costruttive, i bit tra RAM e CPU

fluiscono a gruppi di 8.

Altra unità di misura utilizzata: byte (sequenza di otto bit)

Un byte è la più piccola unità accessibilie singolarmente.

30

Quantità

in byte

Valore in base

10

Quantità

di informazioni testuali

1 byte 100 Un carattere

1 kilobyte 103 Una pagina di testo

1 megabyte 106 Due o tre racconti

1 gigabyte 109 Una biblioteca di facoltà

1 terabyte 1012 La biblioteca di una

grande Università

1 petabyte 1015

Tutto il materiale

stampato in tutte le

biblioteche degli USA

1 exabyte 1018 Tutte le parole stampate

nella storia dell’uomo

1 zattabyte 1021 …

1 yottabyte 1024 …

31

La struttura della memoria

I bit nella memoria sono raggruppati in celle

(o registri)

Tutte le celle sono formate dallo stesso

numero di bit

Ogni cella ha un indirizzo che serve per

accedere all’informazione contenuta nella

cella

La cella è l’unità indirizzabile più piccola

32

Uno schema della memoria

32 bit

0

1023

RAM

........

........

........

Registri

32 bit

33

Operazioni sulla memoria

Si possono eseguire solo due operazioni:

lettura e scrittura

Lettura: con questa operazione si accede al

contenuto di una cella di memoria che viene

trasferito, senza essere modificato, alla CPU.

Scrittura: con questa operazione il contenuto di

una cella di memoria viene modificato, e viene

sostituito con dati provenienti dalla CPU.

34

Caratteristiche della memoria RAM

Il nome random access (accesso casuale) deriva dal fatto che

in una memoria RAM si può accedere ai dati in qualunque

posizione si desideri, specificandone l’indirizzo.

La memoria RAM di un computer domestico può contenere

fino a qualche GigaByte, mentre nelle macchine professionali

si arriva anche a decine di GigaByte.

Il tempo di accesso è dell’ordine di pochi miliardesimi di

secondo.

35

Il ciclo fetch-decode-execute

Il processore esegue le istruzioni di un programma una alla voltain sequenza: estrae le istruzioni dalla memoria, le interpreta e le esegue una dopo l’altra.

Un programma indica la sequenza di istruzioni da eseguire per ottenere la soluzione ad un dato problema.

Il processore esegue ogni istruzione mediante una sequenza ben definita di operazioni detta ciclo di istruzione o ciclo macchina.

Estrazione di una istruzione (fase di fetch)

Decodifica dell’istruzione (fase di decode)

Esecuzione dell’istruzione (fase di execute)

Ripetendo questa semplice sequenza di operazioni, il processore è in grado di eseguire programmi comunque complessi.

36

Il ciclo fetch-decode-execute

Per ogni istruzione da eseguire, il

processore estrae l'istruzione, la

decodifica, e la esegue.

37

Processore e RAM

La connessione tra memoria e processore rappresenta un limite degli elaboratori di Von Neumann.

Limite architetturale: permette l’accesso ad una sola informazione per volta (“collo di bottiglia”).

Limite tecnologico: la velocità con cui il processore ottiene le informazioni dalla memoria centrale (velocità di accesso della RAM) è inferiore alla velocità con cui è in grado di elaborarle.

Soluzioni:

Allargamento del bus di dati, in modo da poter estrarre più istruzioni e/o dati per volta.

Superamento del limite tecnologico mediante l’introduzione di una memoria intermedia tra memoria centrale e processore che approssimi la velocità del processore.

38

La memoria Cache

Piccola RAM molto veloce, interposta tra

CPU e memoria principale per migliorare le

prestazioni del sistema.

Quando viene indirizzata una parola, quella

parola e alcune di quelle vicine vengono trasferite

dalla lenta memoria centrale nella più piccola e

veloce memoria cache, in modo che la parola

successiva sia accessibile più velocemente.

39

Memoria cache

Processore Cache

Memoria piccola

e molto veloce

RAM

40

Memoria cache

Processore Cache

Memoria piccola

e molto veloce

RAM

Tutti i dati

Copia dei dati usati

di recente

41

42

Memoria cache

I computer attuali hanno tutti uno o più livelli

di cache per ottimizzare le prestazioni della

CPU.

La memoria cache viene collegata

direttamente alla CPU, senza che i dati

debbano passare attraverso il bus.

43

Altre memorie elettroniche

44

Memorie secondarie o di massa

Le memorie secondarie o di massa sono utilizzate per memorizzare grandi volumi di dati in modo permanente.

La caratteristica principale di tali memorie è la non volatilità.

Consentono la memorizzazione di dati e programmi che non sono istantaneamente utilizzati ma che possono essere reperiti nel momento in cui la CPU ne fa richiesta.

Tali memorie comprendono due elementi distinti:

il supporto di memorizzazione, ovvero il componente fisico su cui vengono memorizzati i dati;

Dischetto, CD-Rom…

il drive, ovvero il relativo dispositivo di funzionamento e di memorizzazione.

Unità floppy disk, masterizzatore…

45

Memorie secondarie o di massa

Le caratteristiche principali sono:

non volatilità: mantengono le informazioni anche a

computer spento

grande capacità

Le memorie secondarie o di massa sono basate

principalmente su tecnologie magnetiche e ottiche.

ES. Hard disk, floppy disk, CDROM, DVD, etc.

I dati sono organizzati in file e gestiti dal file system

46

Dischi magnetici

Un disco magnetico si compone di uno o più piatti di alluminio rivestiti di un sottile strato di materiale ferromagnetico.

L’informazione viene registrata magnetizzando la superficie del disco.

Ogni bit occupa una piccola area sulla superficie.

Il disco per funzionare deve essere affiancato da un dispositivo chiamato controller, in genere presente sotto forma di scheda, che si occupa di posizionare la testina sul disco e prelevare le informazioni richieste.

Il disco deve essere formattato prima di essere usato.

La formattazione consiste nella suddivisione della superficie del disco in tracce e settori.

47

48

Un hard disk

49

50

CDROM

51

Gerarchie di memorie

52

CPU, RAM e Hard Disk sono...

...componenti fisiche, fatte di circuiti e parti

meccaniche.

L'insieme di tutte le componenti fisiche

e' detto hardware

5353

Quanto “potente” è il mio PC?

Frequenza del processore

Dimensione della RAM

Dimensione della memoria di massa

Velocità di accesso (bus)

Grandezza della cache

Numero e tipo di porte

54

Dispositivi di I/O

Le unità di ingresso/uscita, dette periferiche di

input/output permettono di realizzare l'interazione

tra l'uomo e la macchina.

La loro funzione primaria è quella di consentire

l'immissione dei dati all'interno dell'elaboratore (Input), o

l'uscita dei dati dall'elaboratore (Output).

5555

Il concetto di macchina astratta

Alla base di un moderno computer c’è l’idea di rappresentare i

programmi in forma digitale. L'elaboratore diviene una

macchina “universale” in grado di eseguire qualsiasi compito

“calcolabile”, semplicemente inserendo un nuovo programma.

Il progettista hw definisce il set di istruzioni dell’elaboratore,

ovvero un linguaggio minimo (L1) mediante il quale

l’elaboratore può essere programmato

A sua volta, anche L1 può essere limitato e difficile da usare,

ma si può usare per realizzare un nuovo linguaggio, L2, che

consente di eseguire operazioni più sofisticate di L1, e quindi

semplifica la programmazione dell’elaboratore

5656

Architettura di un computer

5757

… come una cipolla

5858

Mettendo assieme le cose...

I programmi che non sono in esecuzione sono memorizzati nella

memoria secondaria

RAM DiskCPUCache

Bus

SOApp

5959

Software: SO

Il sistema operativo è caricato dalla memoria secondaria in memoria principale quando viene acceso il computer, e vi rimane finché non viene spento.

Il SO agisce come “manager” del sistema, garantendo che ogni dispositivo hw dialoghi correttamente con gli altri dispositivi.

Offre l’interfaccia perché l’utente interagisca con il computer.

Esempi: MacOS, WindowsXP, UNIX, Linux, Solaris, ...

RAMCPUCache

Bus

SO

Disk

SOApp

6060

Lanciare un programma

Quando si lancia un programma il sistema operativo controlla la

CPU e carica il programma dalla memoria secondaria alla RAM.

RAMCPUCache

Bus

SOAppSO

Disk

SOApp

6161

Esecuzione

Quando il programma è in esecuzione, carica ad ogni passo una

nuova istruzione (dalla memoria o dalla cache), la esegue, e

memorizza il risultato nella memoria.

RAMCPUCache

Bus

SOApp

App

Disk

SOApp

Archittetture

non Von Neumann

Collo di bottiglia di Von Neumann: limite all’aumento della

velcità del processore.

1. Impossibilità fisiche di rimpicciolire i circuiti (ad oggi i transistor

sono separati da distanze inferiori a 0.0001 cm)

2. Il tempo richiesto per inviare segnali tra due parti del computer è

limitato dal fatto che i segnali elettronici non possono viaggiare

a velocità superiori a 299 792 458 metri al secondo (velocità

della luce)

Se è impossibile costruire qualcosa che lavori

due volte più veloce,

conviene costruire due cose per volta.

Il risultato sarà identico. 62

Elaborazione parallela

SIMD (Single Instruction stream/Multiple Data stream): esiste un

singolo programma le cui istruzioni sono

prelevate/decodificate/eseguite in modo sequenziale da una sola

unità di controllo. L’ALU è replicata più volte, con una propria

memoria locale. Quando l’unità di controllo legge un’istruzione la

distribuisce a ogni ALU che la esegue sui propri dati locali.

MIMD (Multiple Instruction stream/Multiple Data Stream): si replica

l’itero processore e ogni processore è in grado di eseguire il proprio

programma separato nella propria memoria separata. Ognuno dei

processori si occupa di una parte del problema complessivo.

63