Docsity
Docsity

Prepara i tuoi esami
Prepara i tuoi esami

Studia grazie alle numerose risorse presenti su Docsity


Ottieni i punti per scaricare
Ottieni i punti per scaricare

Guadagna punti aiutando altri studenti oppure acquistali con un piano Premium


Guide e consigli
Guide e consigli


Architettura e funzionamento della memoria RAM - Prof. Raul Marini, Schemi e mappe concettuali di Fondamenti di informatica

Una panoramica dettagliata sulla memoria ram (random access memory), un componente fondamentale dell'architettura dei computer. Vengono spiegati i concetti chiave relativi alla ram, come le operazioni di fetch e store, il meccanismo di indirizzamento della memoria, la distinzione tra indirizzi e contenuti, la larghezza della memoria e degli indirizzi, e lo spazio di indirizzamento. Inoltre, il documento descrive il ruolo del processore nell'immagazzinare e recuperare dati dalla ram attraverso i registri mar (memory address register) e mdr (memory data register). Vengono anche approfonditi i concetti di processing unit, ciclo di istruzioni fe-de-ex (fetch-decode-execute), e il ruolo del bios nell'inizializzazione del sistema. Questo documento rappresenta una risorsa preziosa per gli studenti che desiderano comprendere in profondità l'architettura e il funzionamento della memoria ram nei sistemi informatici.

Tipologia: Schemi e mappe concettuali

2022/2023

Caricato il 20/05/2024

imerikaah
imerikaah 🇮🇹

4

(2)

8 documenti

1 / 9

Toggle sidebar

Questa pagina non è visibile nell’anteprima

Non perderti parti importanti!

bg1
DOMANDE INFORMATICA
Modello di Von Neumann
ogni dispositivo è basato su questo modello.
Il funzionamento di ogni dispositivo, durante l’esecuzione di un Programma/Applicazione/Servizio è basato
su tre“principi”:
1. Un dispositivo è formato principalmente di tre componenti fondamentali: Memory (Memoria),
Processor(Processore-CPU), e Input/Output.
2. Programma/Applicazione/Servizio risiede in Memoria durante l’esecuzione
3. Programma/Applicazione/Servizio è eseguito in maniera sequenziale durante l’esecuzione.
Memoria: contiene i dati e le istruzioni che sono in esecuzione su un dispositivo in un dato
momento. È chiamata anche RAM ed è costituita da celle di memoria di dimensione
prefissata alle quali sono assegnati particolari indirizzi. Le celle costituiscono le “unità di
memoria” e, quando un dispositivo è attivo, parte dei programmi e i relativi dati vengono
inseriti dinamicamente in esse. Le operazioni che vengono effettuate sono FETCH
(recupero dati) e STORE (immagazzinamento) grazie al meccanismo di indirizzamento
della memoria, chiamata Memory Addresses.
Ogni cella è composta da un Byte, al suo interno è presente un valore (numero binario),
mentre ognuna di esse è identificata da un indirizzo. Nella RAM quindi è necessario
distinguere tra indirizzi e contenuti, così come tra larghezza della memoria e larghezza
degli indirizzi: nel primo caso s’intende il numero di bits di ogni singola cella, nel secondo
s’intende il numero di bits necessari ad indicare gli indirizzi. In questa circostanza si parla
di dimensione massima della memoria come spazio di indirizzi. Se la larghezza della
memoria è di N-BITS, allora lo spazio di indirizzi sarà 2^N.
Il processore immagazzina e recupera dati dalla RAM attraverso 2 collegamenti:
MAR = registro in cui viene individuata la locazione dei dati. (si occupa dei dati)
MDR = registro in cui i dati vengono momentaneamente posizionati e passati al
processore. (si occupa degli indirizzi)
MAR e MDR sono l’interfaccia tra RAM e CPU.
La memoria funziona attraverso due passaggi:
1. LOAD = per leggere una locazione A : Scrivere l’indirizzo (di A) all’interno del MAR; mandare un
segnale di «lettura» alla memoria; leggere il dato dall’MDR.
2. STORE = per scrivere un valore (X) nella locazione (A): Scrivere il dato (X) nell’MDR; scrivere
l’indirizzo (A) nel MAR; mandare un segnale di “scrittura” alla memoria.
Processore (Central Processing Unit - CPU): è diviso in due parti
Processing Unit: è la parte che si occupa dell’effettiva esecuzione di un programma
e dei dati ad esso correlati. Essa effettua tutte le operazioni, incluse quelle logiche e
aritmetiche; è formata da altri due sotto-moduli: ALU (svolge le operazioni logiche e
aritmetiche che sono richieste dal dispositivo e le operazioni di movimento) e TEMP
(memoria piccolissima e molto costosa di supporto all’ALU).
Control Unit: è la parte che si occupa della supervisione di tutte le attività di
elaborazione. È composta da due sotto-unità: PC (contiene l’indirizzo della
prossima istruzione da eseguire) e IR (contiene le istruzioni del processore).
Input/Output: si occupa di tutte le interazioni con il mondo esterno. È la parte
dell’architetture che evidenzia la necessità di ogni dispositivo di essere connesso con
pf3
pf4
pf5
pf8
pf9

Anteprima parziale del testo

Scarica Architettura e funzionamento della memoria RAM - Prof. Raul Marini e più Schemi e mappe concettuali in PDF di Fondamenti di informatica solo su Docsity!

DOMANDE INFORMATICA

Modello di Von Neumann

ogni dispositivo è basato su questo modello. Il funzionamento di ogni dispositivo, durante l’esecuzione di un Programma/Applicazione/Servizio è basato su tre“principi”:

1. Un dispositivo è formato principalmente di tre componenti fondamentali: Memory (Memoria),

Processor(Processore-CPU), e Input/Output.

  1. Programma/Applicazione/Servizio risiede in Memoria durante l’esecuzione
  2. Programma/Applicazione/Servizio è eseguito in maniera sequenziale durante l’esecuzione.

Memoria: contiene i dati e le istruzioni che sono in esecuzione su un dispositivo in un dato

momento. È chiamata anche RAM ed è costituita da celle di memoria di dimensione

prefissata alle quali sono assegnati particolari indirizzi. Le celle costituiscono le “unità di

memoria” e, quando un dispositivo è attivo, parte dei programmi e i relativi dati vengono

inseriti dinamicamente in esse. Le operazioni che vengono effettuate sono FETCH

(recupero dati) e STORE (immagazzinamento) grazie al meccanismo di indirizzamento

della memoria, chiamata Memory Addresses.

Ogni cella è composta da un Byte, al suo interno è presente un valore (numero binario),

mentre ognuna di esse è identificata da un indirizzo. Nella RAM quindi è necessario

distinguere tra indirizzi e contenuti, così come tra larghezza della memoria e larghezza

degli indirizzi: nel primo caso s’intende il numero di bits di ogni singola cella, nel secondo

s’intende il numero di bits necessari ad indicare gli indirizzi. In questa circostanza si parla

di dimensione massima della memoria come spazio di indirizzi. Se la larghezza della

memoria è di N-BITS, allora lo spazio di indirizzi sarà 2^N.

Il processore immagazzina e recupera dati dalla RAM attraverso 2 collegamenti:

 MAR = registro in cui viene individuata la locazione dei dati. (si occupa dei dati)

 MDR = registro in cui i dati vengono momentaneamente posizionati e passati al

processore. (si occupa degli indirizzi)

MAR e MDR sono l’interfaccia tra RAM e CPU.

La memoria funziona attraverso due passaggi:

1. LOAD = per leggere una locazione A : Scrivere l’indirizzo (di A) all’interno del MAR; mandare un

segnale di «lettura» alla memoria; leggere il dato dall’MDR.

2. STORE = per scrivere un valore (X) nella locazione (A): Scrivere il dato (X) nell’MDR; scrivere

l’indirizzo (A) nel MAR; mandare un segnale di “scrittura” alla memoria.

Processore (Central Processing Unit - CPU): è diviso in due parti

 Processing Unit: è la parte che si occupa dell’effettiva esecuzione di un programma

e dei dati ad esso correlati. Essa effettua tutte le operazioni, incluse quelle logiche e

aritmetiche; è formata da altri due sotto-moduli: ALU (svolge le operazioni logiche e

aritmetiche che sono richieste dal dispositivo e le operazioni di movimento) e TEMP

(memoria piccolissima e molto costosa di supporto all’ALU).

 Control Unit: è la parte che si occupa della supervisione di tutte le attività di

elaborazione. È composta da due sotto-unità: PC (contiene l’indirizzo della

prossima istruzione da eseguire) e IR (contiene le istruzioni del processore).

Input/Output: si occupa di tutte le interazioni con il mondo esterno. È la parte

dell’architetture che evidenzia la necessità di ogni dispositivo di essere connesso con

l’esterno per immagazzinare e prelevare dati. Il programma che controlla l’accesso di un

dispositivo ad una periferica è il DRIVER.

Ogni elaboratore contiene un circuito di temporizzazione (clock) che genera un riferimento temporale per il sistema. Un ciclo-macchina è il tempo richiesto per svolgere un’operazione elementare. Un’istruzione macchina è una sequenza di operazioni elementari che richiede un numero intero di cicli macchina, variabile a seconda del tipo di istruzione. La velocità di elaborazione di un processore dipende dalla frequenza del clock. -T = periodo di clock –f = frequenza di clock ( = 1/T )

Le istruzioni del sistema si leggono attraverso un ciclo detto FE-DE-EX: Fetch (preleva

dalla RAM l’istruzione corrente da eseguire) Decode (è la codifica delle informazioni che

all’interno del processore sono limitate) Execution (è lo svolgimento dell’istruzione, se ci

sono da svolgere operazioni logico-aritmetiche i dati vengono trasmessi nell’ALU).

Attraverso la macchina di Von Neumann si possono svolgere tutte le operazioni principali

come somma, sottrazione, moltiplicazione e divisione.

Somma e sottrazione sono implementate all’interno dei dispositivi elettronici, mentre

moltiplicazione e divisione possono essere calcolate attraverso lo scorrimento (shift).

All’interno degli elaboratori esiste un particolare dispositivo (registro) che è paragonabile a

una cella di memoria e contiene BIT. Esso si caratterizza per la sua dimensione, cioè per il

numero di BIT che può contenere.

Per semplificare il modello di Neumann viene introdotto un dispositivo utile a scopo

didattico: Little computer 2 (LC-2). Esso è considerato come un piccolo computer che vede

nelle sue caratteristiche di base:

 Memoria composta da 8 registri di 16 bits.

 Processore che opera con parole di 16 bits.

 Processore che contiene 18 istruzioni base: operatori, istruzioni di movimento e di

controllo.

Machine Learning

-Il Machine Learning (ML) insegna ai computer a fare ciò che viene naturale per gli esseri umani e gli animali: imparare dall'esperienza. -Gli algoritmi di apprendimento automatico utilizzano metodi computazionali per "apprendere" le informazioni direttamente dai dati senza basarsi su un'equazione predeterminata come modello. -Gli algoritmi migliorano adattivamente le loro prestazioni in quanto aumenta il numero di campioni disponibili per l'apprendimento. Applicazioni reali del ML: -Finanza computazionale, per credit scoring e trading algoritmico -Elaborazione delle immagini e visione artificiale, per il riconoscimento facciale, il rilevamento del movimento e il rilevamento di oggetti -Biologia computazionale, per il rilevamento di tumori, la scoperta di farmaci e il sequenziamento del DNA

Modello Entità-Relazione e Database

Modello Entità-Relazione (ER)

  • Entità: oggetti del mondo reale di cui vogliamo memorizzare (salvare) informazioni. Possono essere sia concrete che astratte (es. i dipendenti e i clienti di un’azienda, i prodotti in un magazzino, un viaggio, fermate di autobus ecc…).
  • Relazioni: collegamenti tra due o più entità.
  1. Standard - Quando tutto il resto non serve aderire agli “standard”.

INDIRIZZO IP / ROUTING IP

-Un indirizzo IP è formato da 32 bit e codifica due cose:

  • network number
  • host number -Sono disponibili cinque classi di indirizzi IP, di cui solo le prime tre possono essere utilizzate per assegnare indirizzi agli host.
  • 126 network di classe A, le quali possono contenere 16 milioni di host ciascuna;
  • 16382 network di classe B, con circa 64.000 host ciascuna;
  • 2 milioni di network di classe C, con 254 host ciascuna Routing IP -Il collegamento fra due router non avviene direttamente, ma attraverso una network rete subnet che li collega. -Come si fa il Routing in internet: Protocollo IP -I dispositivi collegati alla rete e che usano il protocollo IP vengono identificati univocamente grazie ad un indirizzo particolare chiamato indirizzo IP.

DNS

Un sistema dei nomi di dominio o DNS (Domain Name System) traduce nomi comprensibili come amazon.com in indirizzi IP utilizzati dai computer (ad esempio 192.0.2.44) e si trova all’interno del livello application.

FIRMWARE

È un programma integrato direttamente in un componente elettronico e il suo scopo è quello di avviare il componente stesso e di farlo interagire con gli altri. Esso non è modificabile dall’utente finale in quanto integrato all’interno dell’hardware. Quello più conosciuto è il BIOS, contenuto nella scheda madre, che permette l’avvio del computer. Esso è presente ovunque ci sia la necessità di gestire un hardware complesso dotato di processori dedicati; è un software contenuto in un chip di memoria non volatile e ha la caratteristica di essere riscrivibile tramite un upgrade del sistema. Il BIOS si occupa di svolgere diverse operazioni: Governare l’hardware per verificare il corretto funzionamento dei circuiti della scheda madre, del processore, della memoria e di tutto ciò che è installato nel dispositivo;  Avviare un programma di gestione delle periferiche, affinchè non vengano rilevati errori;  Avviare una schermata video per consentire all’utente di intervenire nella modifica di alcune operazioni marginali;  Inizializzare la routine di BOOT (disco di avvio), ovvero rendere la macchina stabile e utilizzabile.

STANDARD E PROTOCOLLI (modello iso/osi)

I computer necessitano di uno standard (sistema) che consente di comunicare tra macchina e macchina. PROTOCOLLO: insieme di regole che vengono stabilite per instaurare una comunicazione corretta fra apparecchiature:  Message enconding: codifica il linguaggio usato nel messaggio.  Message formatting and encapsulation: formattazione e incapsulamento del messaggio.  Message size: dimensioni del messaggio.

 Message timing: scelta del momento giusto per ricevere informazioni (sincronizzazione dei messaggi).  Message delivery option: opzione di consegna del messaggio. I protocolli sono gestiti da:  MODELLO ISO/OSI: sistema a livelli che crea un pacchetto tramite procedimento di incapsulamento. Codifica i dati per farli viaggiare come messaggio sulla rete. Lo scopo di ciascun livello è quello di fornire servizi ai livelli superiori, ogni livello passa dati e informazioni di controllo al livello sottostante fino a quando si raggiunge il livello fisico che effettua la trasmissione. Ogni livello contiene diverse informazioni e ognuno di loro ha uno scopo diverso (livello 7. Applicazione, 6. Presentazione, 5. Sessione, 4. Trasporto, 3. Network, 2. Data link, 1. Physical/fisico).  MODELLO TCP/IP: tutti pacchetti con connessione sicura. Ho la certezza che il messaggio mi arrivi integro.

HTTP

L'HTTP è un protocollo "stateless" (senza memoria) che permette sia la ricerca che il recupero dell'informazione in maniera veloce, e permette quindi di seguire i rimandi ipertestuali. La scelta di un protocollo "stateless", cioè di un protocollo che non "conserva memoria" della connessione fatta, è stata necessaria affinché fosse possibile saltare velocemente da un server ad un altro attraverso i "links" ipertestuali.

Sistema Operativo ( e memorie 1/2)

È il software di base che si occupa del funzionamento del computer; esso si colloca tra l’hardware e le applicazioni e ha il compito di fornire un’astrazione dell’hardware ai programmi software. Ad ogni dispositivo è affidato un sistema operativo che ne permette il funzionamento in quanto progettato su di esso. Il sistema operativo si occupa della gestione delle componenti hardware, dell’esecuzione dei programmi, dell’interazione con le periferiche e dell’interazione con gli utenti. Esso definisce la modalità operativa del computer e la modalità di utilizzo del computer da parte degli utenti. Ci sono vari tipi di sistemi operativi:

  • Batch = l’utente carica dati e il programma fornisce un output solo al termine dell’esecuzione.
  • Real time = il sistema operativo garantisce l’esecuzione del programma in un tempo predefinito.
  • Time sharing interattivi = l’utente carica dati e riceve immediatamente un output.
  • Embedded = computer e sistema sono integrati nell’hardware e gestiscono alcune componenti.
  • Hypervisor = ripartizione delle risorse hardware in più macchine virtuali. I sistemi operativi possono essere:
  • Mono-task = il sistema operativo consente l’esecuzione di un solo programma per volta.
  • Multi-task = il sistema operativo consente l’esecuzione di più programmi per volta.
  • Multi-threading = un programma viene suddiviso in più thread eseguiti contemporaneamente.
  • Mono-utente = non viene distinto l’utente che usa il computer.
  • Multi-utente = assegna file a ciascun utente. Un computer è formato da varie componenti: un’unità centrale connessa a una serie di unità periferiche. Il sistema operativo permette il funzionamento di tutte le componenti e le diverse unità. (interfacce di rete = wi-fi, ethernet… porte di connessione = usb, bluethoot…). Il Kernel è il nucleo del sistema operativo e a seconda di esso si distinguono:
  1. Sistemi operativi a Kernel monolitico = completa astrazione del computer su cui gira il sistema operativo stesso.
  2. S.O. a Micro kernel = nel kernel sono presenti solo le funzioni essenziali mentre le altre funzioni sono implementate da altri programmi.
  3. S.O. ibridi = nel kernel sono implementate diverse funzioni ma ci sono dei moduli aggiuntivi che ne aggiungono altre.

login che verifica le credenziali dell’utente confrontandole con quelle salvate nel repository di credenziali (il più diffuso è quello con username e password).

  • Gestione dell’interfaccia : il sistema operativo si occupa di gestire l’interfaccia con l’utente attraverso due funzioni: alfanumerica (permette all’utente di dare degli input alla macchina sfruttando un codice alfanumerico con la tastiera) e grafica (permette all’utente di interagire con la macchina stessa, attraverso icone e finestre. Per alcuni sistemi operativi questa è una funzione aggiuntiva, altri ce l’hanno già come funzione prestabilita).

Codice Binario

-sistema di codifica che usa le cifre binarie 0 e 1 per rappresentare lettere, cifre, o altri caratteri all’interno di un dispositivo. -Un BIT è l’unità di informazione attraverso cui un dispositivo gestisce tutti i tipi di informazione al suo interno. Un singolo BIT può avere solo due stati: 0 e 1. -Qui si richiede di rappresentare oltre 200 caratteri, per questo sono necessari più BITS. -Attraverso l’uso dello stato di ogni BIT combinato con lo stato di altri BITS, un ampio numero di elementi può essere rappresentato. In particolare con N BITS, 2^N differenti elementi possono essere rappresentati. -Esempio precedente: 2^7=128 (128 elementi possono essere rappresentati, meno di quelli necessari:220) 2^8=256 (256 elementi possono essere rappresentati, sufficienti per i necessari:220) PROPRIETÀ DEL CODICE BINARIO -Il codice binario ha diverse proprietà intrinseche. La prima di queste è la possibilità di passare da un sistema numerico ad un altro. -Un numero rappresentato da simboli che possono assumere 2 stati: numero in base due; -Un numero rappresentato da simboli che possono assumere 10 stati: numero in base dieci. Come convertire un numero in base 10 in un numero in base 2: -Leggendo la sequenza di cifre dal basso verso l’alto il numero convertito risulta decodificato. -La regola afferma che ogni numero in base 10 può essere rappresentato come numero in base 2.

  • metodo della divisione in colonna (210:2 , i resti letti dal basso formano il numero in base 2) Come convertire un numero in base 2 in un numero in base 10: -Utilizzando la posizione ponderata delle cifre, è possibile riconvertire il numero: 11010010 2(piccolo in basso) =1x2^7 +1x2^6 +0x2^5+1x2^4 +0x2^3 +0x2^2 +1x2^1 +0x2^0 = =128 + 64 + 0 + 16 + 0 + 0 + 2 + 0 =210 10(piccolo in basso) -Come ogni sistema numerico, il sistema binario ha le quattro operazioni di base: +, -, x, /. -GLI ATTUALI DISPOSITIVI LAVORANO SULLA BASE DEL CODICE ASCII(American Standard Code for Information Interchange) -All’interno di ogni dispositivo “l’informazione” è "veicolata" per mezzo di un numero fissato di bytes, come: 16 bits (2 bytes); 32 bits (4 bytes); 64 bits (8 bytes). -il numero di bytes identifica la "potenza" di un dispositivo, poiché maggiore è il numero di bytes: maggiore è la capacità di un dispositivo di calcolare operazioni complesse; maggiore è la capacità di un dispositivo di gestire diverse quantità di informazioni; maggiore è la capacità di un dispositivo di comprendere istruzioni complesse.

4 operazioni:

Somma: -Si fanno le somme parziali tra i bit dello stesso peso, propagando gli eventuali riporti(carry). -Le somme di un insieme di numeri si effettuano «a coppie di due». -L’operazione di somma è una delle due operazioni base implementate all’interno dei dispositivi elettronici. Differenza: -Si effettuano le differenze parziali tra i bit dello stesso peso, tenendo conto dei prestiti. -Le sottrazioni di un insieme di numeri si effettuano «a coppie di due».

-L’operazione di sottrazione è una delle due operazioni base implementate all’interno di un dispositivi elettronici Prodotto: -Il prodotto tra due numeri binari si può calcolare con la tecnica della somma e scorrimento. -Nella pratica si usano accorgimenti particolari basati sull’operazione di scorrimento(shift). Divisione: -La divisione si può considerare come un’operazione similare sempre basata sullo scorrimento (shift). -Operazione di Movimento (Shift) = Equivale ad una moltiplicazione o divisione per la base; -Consiste nel “far scorrere ” i bit (a sinistra o a destra) inserendo opportuni valori nei posti lasciati liberi; -In decimale equivale a moltiplicare (shift a sinistra) o dividere (shift a destra) per 10; -In binario equivale a moltiplicare (shift a sinistra) o dividere (shift a destra) per 2. -I bit estremi di un numero binario si chiamano: MSB(primo numero) e LSB( ultimo numero). Shift a sinistra: -Si inserisce come LSB un bit a 0. -Equivale ad una moltiplicazione x Shift a destra: -Si inserisce come MSB un bit a 0. -Equivale ad una divisione x2. Dove mettiamo tutti i bit -Negli ELABORATORI un numero deve essere rappresentato in un particolare dispositivo elettronico interno che si chiama registro ed è paragonabile ad una cella di memoria. -Caratteristica fondamentale di questo dispositivo è la sua dimensione (numero di bit) stabilita in sede di progetto

I LIVELLI

-Il modello OSI quindi definisce cosa dovranno fare:

  1. Il livello FISICO
  2. Il livello DATA LINK
  3. Il livello NETWORK
  4. Il livello TRANSPORT
  5. Il livello SESSION
  6. Il livello PRESENTATION
  7. Il livello APPLICATION Rappresentazione grafica dei livelli -Livello 1 Fisico : Ha a che fare con la trasmissione di bit "grezzi" su un canale di comunicazione. -Livello 2 Data Link : Lo scopo di questo livello è far si che un mezzo fisico trasmissivo appaia, al livello superiore, come una linea di trasmissione esente da errori di trasmissione non rilevati. Spezzetta i dati provenienti dal livello superiore in frame e invia i frame in sequenza.
  • Livello 3 Network : Lo scopo del livello è controllare il funzionamento della subnet di comunicazione, il routing, e la gestione della congestione. -Livello 4 Transport : Lo scopo di questo livello è accettare dati dal livello superiore, spezzettarli in pacchetti, passarli al livello network ed assicurarsi che arrivino alla peer entity che si trova all'altra estremità della connessione. In più, fare ciò efficientemente, isolando i livelli superiori dai cambiamenti della tecnologia di rete sottostante. Si preoccupa della creazione di connessioni di livello network. -Livello 5 Session : Il compito principale è di coordinare il dialogo tra utenti basandosi sul servizio offerto dal livello di trasporto, offrendo i medesimi servizi offerti dal livello di trasporto (apertura- chiusura collegamento, connessione e trasferimento dati). Si occupa anche della sincronia di invio/ricezione messaggi. -Livello 6 Presentation : E' interessato alla sintassi ed alla semantica delle informazioni da trasferire. Ad esempio, si occupa di convertire tipi di dati standard (caratteri, interi) da rappresentazioni specifiche della piattaforma Hardware (HW) di partenza in una rappresentazione