• Non ci sono risultati.

Architettura dei calcolatori

N/A
N/A
Protected

Academic year: 2021

Condividi "Architettura dei calcolatori"

Copied!
11
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

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

Neumann rivista

memoria centrale

memoria secondaria o ausiliaria

Central Processing Unit

Input Output

...

(2)

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

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

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

Memoria centrale



primaria



tecnologia al silicio



tipo RAM



accesso veloce



memorizzazione temporanea

(3)

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

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

Nastro Centrale vs. secondaria

centrale secondaria

accesso veloce lento

costo alto basso

dimensione bassa elevata

memorizzazione temporanea permanente

(4)

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

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

Control Unit



governa il funzionamento della CPU



registri



Program Counter (PC)



Instruction Register (IR)



ciclo di esecuzione



fetch



decode



execute

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

(5)

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)

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

Interfaccia con l’utente



codifica/decodifica dell’informazione



input



tastiera



mouse



output



video



stampante

Collegamenti con altri apparati



bidirezionali



modem



interfaccia di rete (NIC)

(6)

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)

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

Gestione risorse



processore



multiprogrammazione



memoria centrale



spazio di memoria per il singolo processo



memoria virtuale



memoria secondaria



file system

Multiprogrammazione



più processi in esecuzione contemporaneamente



esecuzione in parallelo (“come se”)

(7)

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

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

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

File system - funzionalità



gestione automatica e trasparente del supporto di memorizzazione



operazioni sui file



creazione



identificazione



accesso



modifica



cancellazione

(8)

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 personali\fisco.doc fisco.doc

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

Software base



software per facilitare l’uso del calcolatore



programmi



interfaccia utente (UI)



sviluppo software



comandi file system



produttività individuale



rete



librerie



matematiche



grafiche

Interfaccia utente



gestisce l’interazione dell’utente con il sistema



grafica

sistemi a finestre



testuale

linea di comando (CLI)

(9)

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

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

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

Assembler (ASM)



assembly

istruzioni macchina espresse in forma mnemonica



LOAD



STORE



ADD



JUMP



converte codice assembly in istruzioni macchina

(10)

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

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

Virtual Machine (VM)



combinazione di compilazione ed interpretazione



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



emulazione di CPU

Produttività individuale



programmi per attività produttive individuali



scrittori



fogli elettronici



presentazioni



grafica

(11)

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

Il sistema operativo tiene traccia sull’uso dei blocchi di memoria (libero, occupato e a chi assegnato) mediante una tabella dei blocchi Quando un nuovo processo richiede

Chiamata di sistema open Marco Lapegna – Laboratorio di Programmazione 2 memoria secondaria e f.s. oflag può assumere diversi valori (definiti

Le memorie di massa servono per immagazzinare dati e programmi e si dividono in hard disk (dischi rigidi o fissi), floppy disk (dischi flessibili e rimovibili), CD ROM (compact

Nel caso di dispositivi magnetici (nastri o dischi) l’informazione è presente in memoria come stato di magnetizzazione, che può essere positivo o negativo

– Esempio: Salta ad eseguire l'istruzione il cui codice è contenuto nella cella di memoria all'indirizzo M. ● Istruzioni di letture/scrittura

 Numero di pagina (p) – usato come indice nella tabella delle pagine che contiene l’indirizzo di base di ogni frame nella memoria fisica.  Spiazzamento nella pagina (d) –

O., individua una area della memoria centrale che può contenere in locazioni consecutive la sequenza di istruzioni e dati del programma da caricare e fissa in K il primo indirizzo

Inoltre, quando l’unità centrale richiede l’accesso a una locazione di memoria virtuale non presente in una cella di memoria reale, si rende necessario effettuare