• Non ci sono risultati.

Architettura dei calcolatori

N/A
N/A
Protected

Academic year: 2021

Condividi "Architettura dei calcolatori"

Copied!
21
0
0

Testo completo

(1)

Architettura dei calcolatori

Paolo Bison

Fondamenti di Informatica Ingegneria Meccanica

Università di Padova A.A. 2008/09

Architettura dei calcolatori, Paolo Bison, FI08, 2008-09-29 – p.1

Architettura



struttura e funzionalità di un calcolatore



hardware



software

(2)

Hardware



macchina di von Neumann

a

I M O

CC CA

R R

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, FI08, 2008-09-29 – p.3

Neumann rivista

memoria centrale

memoria secondaria o ausiliaria

Central

Input Output

...

(3)

Memoria



dispositivo per la memorizzazione di informazione



programmi



dati in ingresso



dati intermedi



risultati



struttura e modalità di accesso

Architettura dei calcolatori, Paolo Bison, FI08, 2008-09-29 – p.5

Struttura della memoria



insieme di M elementi di memoria (celle, parole)



rappresentazione binaria bit (0,1)



dimensione elemento di memoria

4 (nibble), 8 (byte), 16, 32, 64, ..., 1024, ...



dimensione M della memoria

kilobyte KB 1024

1

1024

megabyte MB 1024

2

1.048.576

gigabyte GB 1024

3

1.073.741.824

terabyte TB 1024

4

1.099.511.627.776

(4)

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, FI08, 2008-09-29 – p.7

Memoria centrale



primaria



tecnologia al silicio



tipo RAM



accesso veloce



memorizzazione temporanea

(5)

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, FI08, 2008-09-29 – p.9

Disco rigido

(6)

Nastro

Architettura dei calcolatori, Paolo Bison, FI08, 2008-09-29 – p.11

Centrale vs. secondaria

centrale secondaria

accesso veloce lento

costo alto basso

dimensione bassa elevata

memorizzazione temporanea permanente

(7)

CPU



individua ed esegue le istruzioni del programma



moduli funzionali



Control Unit (CU)



Arithmetic and Logic Unit (ALU)



Floating Point Unit (FPU)



Cache



Clock



registri

celle di memoria per funzioni parti- colari

Architettura dei calcolatori, Paolo Bison, FI08, 2008-09-29 – 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 eseguibile

sequenza finita di istruzioni macchina

(8)

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, FI08, 2008-09-29 – p.15

Unità di calcolo



ALU

esegue calcoli aritmetici e logici



FPU

esegue calcoli su numeri in formato floating point



registri



data registers



address registers



status registers

(9)

Cache e Clock



cache

memoria tampone veloce interna alla CPU

memoria

centrale cache CPU



clock

modulo per la temporizzazione e sincronizzazione del calcolatore

Architettura dei calcolatori, Paolo Bison, FI08, 2008-09-29 – p.17

Input/Output



dispositivi di interfaccia tra il calcolatore e il mondo esterno



interfaccia con l’utente



collegamenti con altri apparati (computer)

(10)

Interfaccia con l’utente



codifica/decodifica dell’informazione



input



tastiera



mouse



output



video



stampante

Architettura dei calcolatori, Paolo Bison, FI08, 2008-09-29 – p.19

Collegamenti con altri apparati



bidirezionali



modem



interfaccia di rete (NIC)

(11)

Software



sistema operativo



software di base



software utente

UTENTE BASE

HW OS

Architettura dei calcolatori, Paolo Bison, FI08, 2008-09-29 – 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)

(12)

Gestione risorse



processore



multiprogrammazione



memoria centrale



spazio di memoria per il singolo processo



memoria virtuale



memoria secondaria



file system

Architettura dei calcolatori, Paolo Bison, FI08, 2008-09-29 – p.23

Multiprogrammazione



più processi in esecuzione contemporaneamente



esecuzione in parallelo (“come se”)

(13)

Memoria singolo processo



allocazione di memoria per il processo



protezione dagli accessi indesiderati

OS P1

P2 P3

Architettura dei calcolatori, Paolo Bison, FI08, 2008-09-29 – p.25

Memoria virtuale



meccanismo per simulare una memoria centrale di dimensione maggiore di quella esistente utilizzando porzioni di memoria secondaria (disco)



swap area

(14)

File system - generalità



gestione dei file



file sequenza finita di bit individuata da un nome



nome sequenza 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 tipo

Architettura dei calcolatori, Paolo Bison, FI08, 2008-09-29 – p.27

File system - funzionalità



gestione automatica e trasparente del supporto di memorizzazione



operazioni sui file



creazione



identificazione



accesso



modifica



cancellazione

(15)

File system - struttura



directory

file 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, FI08, 2008-09-29 – p.29

File system - individuazione file



pathname

percorso 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

(16)

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, FI08, 2008-09-29 – p.31

Interfaccia utente



gestisce l’interazione dell’utente con il sistema



grafica

sistemi a finestre



testuale

linea di comando (CLI)

(17)

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, FI08, 2008-09-29 – p.33

Sviluppo software



programmi per lo sviluppo di altri programmi



editor



assembler



compilatori e interpreti



macchina virtuale

(18)

Software utente



software (programmi/librerie) sviluppato dall’utente



basato sulle funzionalità fornite dal sistema operativo e dal software di base



ciclo di sviluppo

→ scrittura/modifica

↑ ⇓

← compilazione

↑ ⇓

← esecuzione

Architettura dei calcolatori, Paolo Bison, FI08, 2008-09-29 – p.35

Assembler (ASM)



assembly

istruzioni macchina espresse in forma mnemonica



LOAD



STORE



ADD



JUMP



converte codice assembly in istruzioni macchina

(19)

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, FI08, 2008-09-29 – p.37

Compilatore vs. interprete



compilatore

converte l’intero programma sorgente nel corrispondente programma eseguibile



interprete

converte ed esegue immediatamente una ad una le

istruzioni del programma sorgente

(20)

Virtual Machine (VM)



combinazione di compilazione ed interpretazione



si compila in un codice intermedio che poi viene interpretato Java Virtual Machine



emulazione di CPU

Architettura dei calcolatori, Paolo Bison, FI08, 2008-09-29 – p.39

Produttività individuale



programmi per attività produttive individuali



scrittori



fogli elettronici



presentazioni



grafica

(21)

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, FI08, 2008-09-29 – p.41

Riferimenti

Documenti correlati

Introduzione alla logica matematica, Paolo Bison, FI08, 2008-09-29 – p.29. Do it yourself

Introduzione alla logica matematica, Paolo Bison, FI08, 2008-09-29 – p.1..

Basic Fortran (cont.), Paolo Bison, FI08, 2008-09-29 –

Basic Fortran (cont.), Paolo Bison, FI08, 2008-09-29 –

Ricerca e ordinamento, Paolo Bison, FI08, 2008-09-29 – p.29. Merge sort: codice

Ricerca e ordinamento, Paolo Bison, FI08, 2008-09-29 – p.29. Merge sort: codice

converte l’intero programma sorgente nel corrispondente programma eseguibile.

converte l’intero programma sorgente nel corrispondente programma eseguibile.