Vai alla Home Page About me Courseware Federica Living Library Federica Federica Podstudio Virtual Campus 3D Le Miniguide all'orientamento Gli eBook di Federica La Corte in Rete
 
 
Il Corso Le lezioni del Corso La Cattedra
 
Materiali di approfondimento Risorse Web Il Podcast di questa lezione

Valeria Vittorini » 7.Elementi di Architettura: Memorie, Unità di ingresso e uscita


Fondamenti di Informatica

Elementi di Architettura: Memorie, Unità di ingresso e uscita

Sommario

  • Memorie
    • Memoria RAM
    • Memorie ROM
    • Memoria cache
    • Gerarchia di memorie
  • Periferiche
    • Collegamento
    • Interfaccia
    • Meccanismi di sincronizzazione

Le Memorie

Caratteristiche

  • Volatilità/Persistenza
  • Velocità
  • Capacità
  • Costo (per bit): rapporto tra il costo del dispositivo e la sua capacità
  • Modalità di accesso
    • Diretta (o casuale): il tempo di accesso è indipendente dalla posizione
    • Sequenziale: il tempo di accesso dipende dalla posizione
    • Mista: combinazione dei due casi precedenti

Funzionalità

  • Supporto alla CPU
  • Archivio (memorie di massa)

La memoria centrale (RAM)

Funzionalità

  • Supporto alla CPU:

Durante l’esecuzione di un programma, il programma stesso ed i dati su cui opera sono “registrati” nella memoria principale del calcolatore

Tecnologia

  • Circuiti integrati su semiconduttore

Caratteristiche

  • Volatile
  • Modalità di accesso: casuale
  • Velocità

La memoria centrale (RAM)

Velocità

  • Parametri per la valutazione
    • Tempo di accesso = tempo intercorrente tra l’istante in cui ha inizio una operazione di accesso alla memoria (lettura o scrittura) e l’istante in cui viene completata
    • Tempo di ciclo = tempo minimo intercorrente tra due consecutive operazioni di accesso alla memoria

Modalità di accesso

  • RAM = Random Access Memory

Ciò implica che il tempo di accesso NON dipende dall’indirizzo specificato o dalla posizione dei dati

La memoria centrale (RAM)

Spazio di indirizzamento

  • La dimensione massima della memoria utilizzabile in un calcolatore dipende dal numero di bit del MAR. Ad esempio un registro di 16 bit consente di indirizzare 216 locazioni di memoria, cioè 64K.

Locazioni di memoria

  • La memoria centrale è in genere realizzata in modo che sia possibile mediante un unico accesso leggere o scrivere dati in blocchi lunghi quanto una parola (word). La lunghezza della parola è di n bit, se n è il numero di bit del MDR

La memoria centrale (RAM)

“Rappresentazione”

  • Possiamo rappresentare la memoria centrale con un vettore i cui elementi sono le locazioni (parole) di memoria. La posizione di ciascuna locazione nel vettore è data specificando il suo indirizzo.

Abbiamo già implicitamente utilizzato questa rappresentazione nelle precedenti lezioni.

La memoria centrale (RAM)

La memoria centrale (RAM)


La memoria ROM

Bootstrap

  • In fase di bootstrap viene eseguito un programma allo scopo di effettuare un test diagnostico del sistema, di localizzare e caricare in memoria RAM il sistema operativo (o una sua parte) e di fornire all’utente una interfaccia con le periferiche e l’hardware.

Memoria ROM

  • Tale programma –noto con il nome di BIOS (Basic Input Output System) nei sistemi IBM o IBM compatibili- deve essere permanentemente memorizzato all’interno del calcolatore! Esso viene scritto su una piccola memoria permanente che nei primi Personal Computer non era aggiornabile (ROM: Read Only Memory)

Le memorie ROM riscrivibili

EEPROM

  • Allo scopo di mantenere permanentemente le informazioni necessarie all’avvio del computer attualmente vengono utilizzate memorie riscrivibili come le EEPROM (Electrically Erasable Programmable ROM) che possono essere programmate, cancellate -tipicamente usando tensioni elettriche più alte del normale- e riscritte (la stessa tecnologia delle memorie flash)

PROM, EPROM

  • Altre memorie utilizzate alle stesso scopo sono state la PROM (Programmable ROM) che può essere scritta una sola volta, e la EPROM (Erasable PROM) che è una PROM cancellabile mediante esposizione a raggi ultravioletti e riscrivibile

Memoria Cache

Sebbene la RAM sia una memoria “veloce”, la CPU elabora dati ed istruzioni molto più velocemente del tempo necessario a prelevarli dalla memoria

Principio di Località

  • località temporale: un programma tende a riutiizzare un dato che era stato usato recentemente
  • località spaziale: un programma tende ad utiizzare un dato che ha un indirizzo vicino a un dato usato recentemente

Memoria Cache

  • Memoria piccola e veloce inserita tra la memoria centrale e la CPU per “sfruttare” il principio di località

Gerarchia di Memorie

Gerarchia di Memorie

Gerarchia di Memorie


Periferiche

Periferica:

  • Qualunque dispositivo esterno collegato ad un calcolatore. In particolare hanno funzioni di:
    • Unità di Ingresso
      • Tastiera, Mouse, Scanner
      • … microfono, fotocamere, lettori di codice a barre, sensori, …
    • Unità di Uscita
      • Monitor, Stampanti
      • Casse, Sound blaster, Plotter …
    • Unità di Ingresso/Uscita
      • Dischi, Modem, schede fax…

Collegamento tra “centro” e periferiche

Indirizzamento

  • Ad un dispositivo è associato un insieme (univoco) di indirizzi. Il dispositivo è in grado di riconoscere un indirizzo posto sul bus di indirizzi come proprio, e di rispondere ai comandi inviati sul bus di controllo

Collegamento dispositivo-bus

  • Interfaccia hardware di I/O:
    • Decodificatore degli indirizzi
    • Circuiti di controllo
    • Registri dei dati e di stato

Interfaccia di I/O

Decodificatore

  • Abilita il dispositivo a riconoscere il proprio indirizzo quando viene trasmesso sulle linee degli indirizzi

Circuiti di controllo

  • Coordinano il trasferimento di I/O

Registro dei dati

  • Mantiene il dato in ingresso da trasferire al processore o in uscita per trasferirlo al dispositivo

Registro di stato

  • Tiene traccia dello stato della periferica (occupata, libera, non disponibile …)

Interfacce

Standards

  • L’interconnessione di dispositivi realizzati da produttori differenti deve essere garantita tramite l’utilizzo di appositi standards che stabiliscano le caratteristiche fisiche e funzionali dell’interfaccia
  • Esempi:
    • Standard di collegamento seriale: RS-232-C (modem, stampanti)
    • Standard di collegamento parallelo: Centronics (stampanti), SCSI (scanner, dischi esterni)
    • USB (Universal Serial Bus): (stampanti, scanner, mouse, fotocamere)
    • PS/2: tastiera e mouse
    • Firewire: molto efficiente (telecamere digitali etc…) ma solo per connettere dispositivi a breve distanza

Interfacce

Tassonomia

  • Modalità di trasferimento dei dati:
    • Seriale (1 bit alla volta): es. RS-232, USB, Firewire
    • Parallela (n bit simultaneamente): es. Centronics, SCSI, IDE
  • Topologia del collegamento:
    • Punto-Punto: es. RS-232
    • A canale condiviso: es. USB, Bluetooth
  • Mezzo trasmissivo:
    • Via Cavo: es. Fibre ottiche, cavi in rame
    • Wireless: es. Onde Radio (Bluetooth, WiFi…), Infrarossi (IrDA)

Meccanismi di sincronizzazione

  • I dispositivi di I/O operano in maniera asincrona rispetto al processore e operano a velocità molto diverse da quella del processore
  • E’ necessario pertanto gestire la sincronizzazione tra processore e dispositivo
  • Principali meccanismi di sincronizzazione:
    • A controllo di programma
    • Interrupt
    • Accesso diretto alla memoria (DMA)

Meccanismi di sincronizzazione

A controllo di programma

  • Il processore controlla ripetutamente un flag di stato per gestire la sincronizzazione eseguendo un programma ogni volta che accede ad una periferica

Interrupt

  • Il dispositivo invia al processore un segnale hardware (interrupt) per segnalare d’essere pronto ad un trasferimento dati. In questo modo il processore non deve necessariamente entrare in un ciclo di attesa nel quale ripetutamente controlla lo stato del dispositivo ed è “libero” di eseguire altri compiti

Accesso diretto alla memoria

  • Tecnica utilizzata per dispositivi ad alta velocità, i dati vengono trasferiti direttamente da e verso la memoria, senza coinvolgere il processore, introducendo un controller hardware (es. hard disk)

Prossima lezione

Linguaggi e programma

  • Linguaggi di programmazione
  • Sintassi, Lessico e Semantica
  • Ciclo di vita di un programma (scritto in un linguaggio ad alto livello)

I materiali di supporto della lezione

Fadini, C. Savy, Fondamenti di Informatica I, Napoli, Liguori Ed., 1997: Parte 3, cap. 1, par.3,4,5

  • Contenuti protetti da Creative Commons
  • Feed RSS
  • Condividi su FriendFeed
  • Condividi su Facebook
  • Segnala su Twitter
  • Condividi su LinkedIn
Progetto "Campus Virtuale" dell'Università degli Studi di Napoli Federico II, realizzato con il cofinanziamento dell'Unione europea. Asse V - Società dell'informazione - Obiettivo Operativo 5.1 e-Government ed e-Inclusion