Architettura struttura e funzionalità di un calcolatore · Control Unit (CU) Arithmetic and Logic...

21
Architettura dei calcolatori Paolo Bison Fondamenti di Informatica A.A. 2006/07 Università di Padova Architettura dei calcolatori, Paolo Bison, FI06, 2007-01-11 – p.1 Architettura struttura e funzionalità di un calcolatore hardware software Architettura dei calcolatori, Paolo Bison, FI06, 2007-01-11 – p.2

Transcript of Architettura struttura e funzionalità di un calcolatore · Control Unit (CU) Arithmetic and Logic...

Page 1: Architettura struttura e funzionalità di un calcolatore · Control Unit (CU) Arithmetic and Logic Unit (ALU) Floating Point Unit (FPU) Cache Clock registri celle di memoria per funzioni

Architettura dei calcolatori

Paolo Bison

Fondamenti di InformaticaA.A. 2006/07

Università di Padova

Architettura dei calcolatori, Paolo Bison, FI06, 2007-01-11 – p.1

Architettura

� struttura e funzionalità di un calcolatore� hardware� software

Architettura dei calcolatori, Paolo Bison, FI06, 2007-01-11 – p.2

Page 2: Architettura struttura e funzionalità di un calcolatore · Control Unit (CU) Arithmetic and Logic Unit (ALU) Floating Point Unit (FPU) Cache Clock registri celle di memoria per funzioni

Hardware

� macchina di von Neumanna

MI O

CCCA

RR

CA central arithmetic I input

CC central control O output

C CA+CC R outside recording medium

M memory

aJ. von Neumann,First Draft of a Report on the EDVAC, 1945.

Architettura dei calcolatori, Paolo Bison, FI06, 2007-01-11 – p.3

Neumann rivista

memoriacentrale

memoria secondariao ausiliaria

CentralProcessingUnit

Input Output

.....

Architettura dei calcolatori, Paolo Bison, FI06, 2007-01-11 – p.4

Page 3: Architettura struttura e funzionalità di un calcolatore · Control Unit (CU) Arithmetic and Logic Unit (ALU) Floating Point Unit (FPU) Cache Clock registri celle di memoria per funzioni

Memoria

� dispositivo per la memorizzazione di informazione� programmi� dati in ingresso� dati intermedi� risultati

� struttura e modalità di accesso

Architettura dei calcolatori, Paolo Bison, FI06, 2007-01-11 – p.5

Struttura della memoria

� insieme di M elementi di memoria (celle, parole)

� rappresentazione binariabit (0,1)

� dimensione elemento di memoria4 (nibble), 8 (byte), 16, 32, 64, ..., 1024, ...

� dimensione M della memoriakilobyte KB 10241 1024

megabyte MB 10242 1.048.576

gigabyte GB 10243 1.073.741.824

terabyte TB 10244 1.099.511.627.776

Architettura dei calcolatori, Paolo Bison, FI06, 2007-01-11 – p.6

Page 4: Architettura struttura e funzionalità di un calcolatore · Control Unit (CU) Arithmetic and Logic Unit (ALU) Floating Point Unit (FPU) Cache Clock registri celle di memoria per funzioni

Modalità di accesso

� lettura/scrittura delle celle

� ad accesso casuale

� indirizzo associato ad ogni cella� RAM (Random Access Memory)� tempo di accesso costante

� sequenziale� per accedere al n-esima cella,

si deve accedere alle n-1 precedenti� tempo di accesso variabile M−1

M−2

0

1

2

Architettura dei calcolatori, Paolo Bison, FI06, 2007-01-11 – p.7

Memoria centrale

� primaria

� tecnologia al silicio

� tipo RAM

� accesso veloce

� memorizzazione temporanea

Architettura dei calcolatori, Paolo Bison, FI06, 2007-01-11 – p.8

Page 5: Architettura struttura e funzionalità di un calcolatore · Control Unit (CU) Arithmetic and Logic Unit (ALU) Floating Point Unit (FPU) Cache Clock registri celle di memoria per funzioni

Memoria secondaria

� memorizzazione permanente

� accesso lento

� differenti tecnologie� magnetica (disco rigido, nastro)� ottica (disco)

� accesso� ad indirizzo (disco)� sequenziale (nastro)

Architettura dei calcolatori, Paolo Bison, FI06, 2007-01-11 – p.9

Disco rigido

Architettura dei calcolatori, Paolo Bison, FI06, 2007-01-11 – p.10

Page 6: Architettura struttura e funzionalità di un calcolatore · Control Unit (CU) Arithmetic and Logic Unit (ALU) Floating Point Unit (FPU) Cache Clock registri celle di memoria per funzioni

Nastro

Architettura dei calcolatori, Paolo Bison, FI06, 2007-01-11 – p.11

Centrale vs. secondaria

centrale secondaria

accesso veloce lento

costo alto basso

dimensione bassa elevata

memorizzazione temporanea permanente

Architettura dei calcolatori, Paolo Bison, FI06, 2007-01-11 – p.12

Page 7: Architettura struttura e funzionalità di un calcolatore · Control Unit (CU) Arithmetic and Logic Unit (ALU) Floating Point Unit (FPU) Cache Clock registri celle di memoria per funzioni

CPU

� individua ed esegue le istruzionidel programma

� moduli funzionali� Control Unit (CU)� Arithmetic and Logic Unit (ALU)� Floating Point Unit (FPU)� Cache� Clock

� registricelle di memoria per funzioni parti-colari

Architettura dei calcolatori, Paolo Bison, FI06, 2007-01-11 – p.13

Istruzioni macchina

� repertorio di istruzioni che la CPU sa eseguire

� specifico per ogni tipo di CPU

� categorie� trasferimento dati� operazioni aritmetiche e logiche� salti

� codifica binaria

� programma eseguibilesequenza finita di istruzioni macchina

Architettura dei calcolatori, Paolo Bison, FI06, 2007-01-11 – p.14

Page 8: Architettura struttura e funzionalità di un calcolatore · Control Unit (CU) Arithmetic and Logic Unit (ALU) Floating Point Unit (FPU) Cache Clock registri celle di memoria per funzioni

Control Unit

� governa il funzionamento della CPU

� registri� Program Counter (PC)� Instruction Register (IR)

� ciclo di esecuzione� fetch� decode� execute

Architettura dei calcolatori, Paolo Bison, FI06, 2007-01-11 – p.15

Unità di calcolo

� ALUesegue calcoli aritmetici e logici

� FPUesegue calcoli su numeri in formato floating point

� registri� data registers� address registers� status registers

Architettura dei calcolatori, Paolo Bison, FI06, 2007-01-11 – p.16

Page 9: Architettura struttura e funzionalità di un calcolatore · Control Unit (CU) Arithmetic and Logic Unit (ALU) Floating Point Unit (FPU) Cache Clock registri celle di memoria per funzioni

Cache e Clock

� cachememoria tampone veloce interna alla CPU

memoriacentrale

cache CPU

� clockmodulo per la temporizzazione e sincronizzazione delcalcolatore

Architettura dei calcolatori, Paolo Bison, FI06, 2007-01-11 – p.17

Input/Output

� dispositivi di interfaccia tra il calcolatore e il mondo esterno� interfaccia con l’utente� collegamenti con altri apparati (computer)

Architettura dei calcolatori, Paolo Bison, FI06, 2007-01-11 – p.18

Page 10: Architettura struttura e funzionalità di un calcolatore · Control Unit (CU) Arithmetic and Logic Unit (ALU) Floating Point Unit (FPU) Cache Clock registri celle di memoria per funzioni

Interfaccia con l’utente

� codifica/decodifica dell’informazione

� input� tastiera� mouse

� output� video� stampante

Architettura dei calcolatori, Paolo Bison, FI06, 2007-01-11 – p.19

Collegamenti con altri apparati

� bidirezionali

� modem

� interfaccia di rete (NIC)

Architettura dei calcolatori, Paolo Bison, FI06, 2007-01-11 – p.20

Page 11: Architettura struttura e funzionalità di un calcolatore · Control Unit (CU) Arithmetic and Logic Unit (ALU) Floating Point Unit (FPU) Cache Clock registri celle di memoria per funzioni

Software

� sistema operativo

� software di base

� software utente

BASE

UTENTE

HW

OS

Architettura dei calcolatori, Paolo Bison, FI06, 2007-01-11 – p.21

Sistema operativo

� software per la gestione del calcolatore

� funzionalità� astrazione ed indipendenza dai dispositivi fisici• drivers

� gestione risorse• processore• memoria centrale• memoria secondaria

� esecuzione dei programmi (processi)

Architettura dei calcolatori, Paolo Bison, FI06, 2007-01-11 – p.22

Page 12: Architettura struttura e funzionalità di un calcolatore · Control Unit (CU) Arithmetic and Logic Unit (ALU) Floating Point Unit (FPU) Cache Clock registri celle di memoria per funzioni

Gestione risorse

� processore� multiprogrammazione

� memoria centrale� spazio di memoria per il singolo processo� memoria virtuale

� memoria secondaria� file system

Architettura dei calcolatori, Paolo Bison, FI06, 2007-01-11 – p.23

Multiprogrammazione

� più processi in esecuzione contemporaneamente

� esecuzione in parallelo (“come se”)

Architettura dei calcolatori, Paolo Bison, FI06, 2007-01-11 – p.24

Page 13: Architettura struttura e funzionalità di un calcolatore · Control Unit (CU) Arithmetic and Logic Unit (ALU) Floating Point Unit (FPU) Cache Clock registri celle di memoria per funzioni

Memoria singolo processo

� allocazione di memoria per il processo

� protezione dagli accessi indesiderati

OS

P1

P2

P3

Architettura dei calcolatori, Paolo Bison, FI06, 2007-01-11 – p.25

Memoria virtuale

� meccanismo per simulare una memoria centrale didimensione maggiore di quella esistente utilizzandoporzioni di memoria secondaria (disco)

� swap area

Architettura dei calcolatori, Paolo Bison, FI06, 2007-01-11 – p.26

Page 14: Architettura struttura e funzionalità di un calcolatore · Control Unit (CU) Arithmetic and Logic Unit (ALU) Floating Point Unit (FPU) Cache Clock registri celle di memoria per funzioni

File system - generalità

� gestione dei file� file sequenza finita di bit individuata da un nome� nomesequenza finita di caratteri alfanumerici

� interpretazione del contenuto� significato della sequenza di bit• testo• immagine• ...

� non univoca, può dipendere dal contesto� estensione nel nome

foto.jpeg lettera.txt libro.doc dati.tar.gz� magic number

primi n bit del file ne codificano il tipoArchitettura dei calcolatori, Paolo Bison, FI06, 2007-01-11 – p.27

File system - funzionalità

� gestione automatica e trasparente del supporto dimemorizzazione

� operazioni sui file� creazione� identificazione� accesso� modifica� cancellazione

Architettura dei calcolatori, Paolo Bison, FI06, 2007-01-11 – p.28

Page 15: Architettura struttura e funzionalità di un calcolatore · Control Unit (CU) Arithmetic and Logic Unit (ALU) Floating Point Unit (FPU) Cache Clock registri celle di memoria per funzioni

File system - struttura

� directoryfile il cui contenuto viene interpretato come elenco di altri file

� struttura ad albero

pb/

|-- dati/

| |-- dati1.dat

| ‘-- dati2.dat

|-- lettere/

| |-- fisco.doc

| ‘-- personali/

| |-- fisco.doc

| ‘-- love.doc

‘-- tmp/

Architettura dei calcolatori, Paolo Bison, FI06, 2007-01-11 – p.29

File system - individuazione file

� pathnamepercorso dalla radice attraverso le sottodirectory fino al file� sequenza dei nomi separati da un carattere speciale

UNIX= / DOS= \� assoluto vs. relativo• root madre di tutte le directory• directory corrente

� esempi

/pb/dati/dati1.dat

\pb\lettere\fisco.doc

personali\fisco.doc

fisco.doc

Architettura dei calcolatori, Paolo Bison, FI06, 2007-01-11 – p.30

Page 16: Architettura struttura e funzionalità di un calcolatore · Control Unit (CU) Arithmetic and Logic Unit (ALU) Floating Point Unit (FPU) Cache Clock registri celle di memoria per funzioni

Software base

� software per facilitare l’uso del calcolatore

� programmi� interfaccia utente (UI)� sviluppo software� comandi file system� produttività individuale� rete

� librerie� matematiche� grafiche

Architettura dei calcolatori, Paolo Bison, FI06, 2007-01-11 – p.31

Interfaccia utente

� gestisce l’interazione dell’utente con il sistema� grafica

sistemi a finestre� testuale

linea di comando (CLI)

Architettura dei calcolatori, Paolo Bison, FI06, 2007-01-11 – p.32

Page 17: Architettura struttura e funzionalità di un calcolatore · Control Unit (CU) Arithmetic and Logic Unit (ALU) Floating Point Unit (FPU) Cache Clock registri celle di memoria per funzioni

Comandi file system

� programmi per la gestione del file system

UNIX DOS

cd cd

cp copy

ls dir

mkdir mkdir

mv ren

pwd -

rm del

rmdir rmdir

- undelete

Architettura dei calcolatori, Paolo Bison, FI06, 2007-01-11 – p.33

Sviluppo software

� programmi per lo sviluppo di altri programmi� editor� assembler� compilatori e interpreti� macchina virtuale

Architettura dei calcolatori, Paolo Bison, FI06, 2007-01-11 – p.34

Page 18: Architettura struttura e funzionalità di un calcolatore · Control Unit (CU) Arithmetic and Logic Unit (ALU) Floating Point Unit (FPU) Cache Clock registri celle di memoria per funzioni

Software utente

� software (programmi/librerie) sviluppato dall’utente

� basato sulle funzionalità fornite dal sistema operativo e dalsoftware di base

� ciclo di sviluppo

→ scrittura/modifica

↑ ⇓

← compilazione

↑ ⇓

← esecuzione

Architettura dei calcolatori, Paolo Bison, FI06, 2007-01-11 – p.35

Assembler (ASM)

� assemblyistruzioni macchina espresse in forma mnemonica� LOAD� STORE� ADD� JUMP

� converte codice assembly in istruzioni macchina

Architettura dei calcolatori, Paolo Bison, FI06, 2007-01-11 – p.36

Page 19: Architettura struttura e funzionalità di un calcolatore · Control Unit (CU) Arithmetic and Logic Unit (ALU) Floating Point Unit (FPU) Cache Clock registri celle di memoria per funzioni

High Level Languages (HLL)

� astrazione del modello di calcolo� indipendenza dalla piattaforma hardware� maggiore leggibilità e comprensibilità

� traduzione in linguaggio macchina

programma sorgente −→ programma eseguibile

Architettura dei calcolatori, Paolo Bison, FI06, 2007-01-11 – p.37

Compilatore vs. interprete

� compilatoreconverte l’intero programma sorgente nel corrispondenteprogramma eseguibile

� interpreteconverte ed esegue immediatamente una ad una leistruzioni del programma sorgente

Architettura dei calcolatori, Paolo Bison, FI06, 2007-01-11 – p.38

Page 20: Architettura struttura e funzionalità di un calcolatore · Control Unit (CU) Arithmetic and Logic Unit (ALU) Floating Point Unit (FPU) Cache Clock registri celle di memoria per funzioni

Virtual Machine (VM)

� combinazione di compilazione ed interpretazione

� si compila in un codice intermedio che poi viene interpretatoJava Virtual Machine

� emulazione di CPU

Architettura dei calcolatori, Paolo Bison, FI06, 2007-01-11 – p.39

Produttività individuale

� programmi per attività produttive individuali� scrittori� fogli elettronici� presentazioni� grafica

Architettura dei calcolatori, Paolo Bison, FI06, 2007-01-11 – p.40

Page 21: Architettura struttura e funzionalità di un calcolatore · Control Unit (CU) Arithmetic and Logic Unit (ALU) Floating Point Unit (FPU) Cache Clock registri celle di memoria per funzioni

Software proprietario vs. Open software

� software proprietario� dato in licenza d’uso (EULA)� non modificabile dall’utente� supporto e continuità nel tempo

� open software� free as in freedom� licenza di distribuzione (GPL)� modificabile dall’utente� non è garantito il supporto o la continuità

Architettura dei calcolatori, Paolo Bison, FI06, 2007-01-11 – p.41