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


Caratteristiche e Funzionamento della Memoria e del Bus di Sistema in Informatica, Dispense di Elementi di Informatica

Una panoramica delle caratteristiche e del funzionamento della memoria e del bus di sistema in informatica. Viene spiegato come si ottengono 232 indirizzi nelle memorie, le differenze tra le memorie in termini di capacità e tempo di accesso, come funziona il bus di sistema e le operazioni possibili in memoria. Inoltre, vengono descritti i registri della CPU, l'ALU e i tipi di istruzioni della CPU.

Tipologia: Dispense

2019/2020

Caricato il 28/11/2020

martinabba
martinabba 🇮🇹

4.4

(13)

22 documenti

1 / 14

Toggle sidebar

Questa pagina non è visibile nell’anteprima

Non perderti parti importanti!

bg1
HARDWARE
architettura di Von Neumann
la maggior parte dei moderni computer si basa sul modello architetturale di Von Neumann, definito
negli anni ‘40
4 elementi funzionali:
unità centrale di elaborazione (CPU) (il cervello) compito di acquisire, interpretare
e eseguire le istruzioni di un programma. Le istruzioni vengono eseguite in sequenza
contiene i suoi dati nella memoria centrale
memoria centrale vengono caricati i dati e le istruzioni da eseguire. Ha
dimensioni limitate
interface deve tradurre i segnali interni del calcolatore in un formato
comprensibile alla periferica
bus di sistema collega tutti gli elementi funzionali del modello
nella macchina di Von Neumann (che è un modello non un computer)
le periferiche non vengono contemplate
sono quei dispositivi che consentono
lo scambio di informazioni tra l’elaboratore
e il mondo esterno oppure permettono
la memorizzazione di grandi quantità di dati
i primi computer della storia non erano macchine progettate secondo il modello di Von Neumann
perché la sua programmazione
richiede la modifica fisica
c’erano delle persone che creavano delle connessioni per modificare il circuito logico
le informazioni all'interno dell’elaboratore sono tutte digitali e sono gestite mediante segnali elettrici a
2 valori di tensione con i simboli 0 (Vlow) e 1 (Vhigh)
l’unità fondamentale di memorizzazione (o rappresentazione dell’informazione) è il bit
le unità di misura principali utilizzate per definire la quantità di informazione:
byte 8 bit
Kb = Kilobyte 210 byte = 1024 byte
Mb = Megabyte 220 byte = 1.048.576 byte
Gb = Gigabyte 230 byte ~10 9 byte
Tb = Terabyte 240 byte ~1012 byte
Pb = Petabyte 250 byte ~1015 byte
Eb = Exabyte 260 byte ~1018 byte
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe

Anteprima parziale del testo

Scarica Caratteristiche e Funzionamento della Memoria e del Bus di Sistema in Informatica e più Dispense in PDF di Elementi di Informatica solo su Docsity!

HARDWARE

architettura di Von Neumann ↴ la maggior parte dei moderni computer si basa sul modello architetturale di Von Neumann, definito negli anni ‘ 4 elementi funzionali: ● unità centrale di elaborazione (CPU) (il cervello) ↝compito di acquisire, interpretare e eseguire le istruzioni di un programma. Le istruzioni vengono eseguite in sequenza ↪ contiene i suoi dati nella memoria centrale ● memoria centrale ↝ vengono caricati i dati e le istruzioni da eseguire. Ha dimensioni limitate ● interface ↝ deve tradurre i segnali interni del calcolatore in un formato comprensibile alla periferica ● bus di sistema ↝ collega tutti gli elementi funzionali del modello

nella macchina di Von Neumann (che è un modello non un computer) ↳ le periferiche non vengono contemplate ↓ sono quei dispositivi che consentono lo scambio di informazioni tra l’elaboratore e il mondo esterno oppure permettono la memorizzazione di grandi quantità di dati

i primi computer della storia non erano macchine progettate secondo il modello di Von Neumann ↴ perché la sua programmazione richiede la modifica fisica

c’erano delle persone che creavano delle connessioni per modificare il circuito logico

le informazioni all'interno dell’elaboratore sono tutte digitali e sono gestite mediante segnali elettrici a 2 valori di tensione con i simboli 0 (Vlow) e 1 (Vhigh)

l’ unità fondamentale di memorizzazione (o r appresentazione dell’informazione ) è il bit

le unità di misura principali utilizzate per definire la quantità di informazione: byte 8 bit Kb = Kilobyte 210 byte = 1024 byte Mb = Megabyte 220 byte = 1.048.576 byte Gb = Gigabyte 230 byte ~10 9 byte Tb = Terabyte 240 byte ~1012 byte Pb = Petabyte 250 byte ~1015 byte Eb = Exabyte 260 byte ~1018 byte

Zb = Zettabyte 270 byte ~1021 byte Yb = Yottabyte 280 byte ~1024 byte

MEMORIA CENTRALE (simile al pensiero umano) ↝ è un tabellone di parole di n bit ↳ è composta da un insieme di celle poste in sequenza una dopo l’altra

ogni cella è un elemento binario ↝ che assume solo 2 stati. Pertanto consente di memorizzare l’unità di informazione fondamentale, cioè il bit gruppe di celle adiacenti formano unità minime di informazione indirizzabili dette word ↪ ovvero che possono essere legge

la dimensione delle parole (word) è fissa e dipende dall’architettura del calcolatore

ogni unità minima indirizzabile è identificata da un numero detto indirizzo → la prima cella ha indirizzo 0 l 'ampiezza dell’indirizzo (numero di bit) determina la dimensione della memoria che può essere gestita n bit per gli indirizzi = 2nper gli indirizzi gestibili (n= ampiezza indirizzabile) es. 32 bit si ottengono 232 indirizzi delle parole di memoria 2 caratteristiche che diversificano le memorie sono: ● capacità → quantità di informazione che una memoria è in grado di contenere ● tempo di accesso → tempo necessario per leggere o scrivere un dato ● ogni cella/parola è caratterizzata da: ● un indirizzo → specifica la posizione della cella in memoria e ne consente l’accesso ● un valore → che è la sequenza di bit contenuta all’interno della cella/parola

BUS DI SISTEMA ↳ collega le varie unità funzionali (CPU, memoria centrale e interfacce) il bus è sempre sotto la supervisione della CPU che: ● seleziona l'interconnessione da attivare ● indica l’operazione da svolgere

la durata dell’interconnessione dipende da: ● velocità di trasmissione del bus ● velocità dei dispositivi connessi

il bus di sistema è suddiviso in 3 parti ● bus dati ↝ utilizzato per trasferire dati ed istruzioni ● bus indirizzi ↝ trasporta gli indirizzi delle celle di memoria o delle interfacce coinvolte nell interconnessione ● bus di controllo ↝ transitano i segnali di controllo che consentono di attivare le unità e definisce la direzione dello scambio (scrittura o lettura)

i registri accumulatori sono piccole celle di memoria dove la CPU legge i parametri di una operazione e dove deposita i risultati ↝ velocità di queste memorie è uguale a quella della CPU = sono velocissime

CU: unità di controllo ↪ componente che coordina il funzionamento delle varie unità di CPU nell’esecuzione dei programmi

funzioni principali: ● decodifica ↝ delle istruzioni in base al loro codice operativo ● mandare comandi (i segnali di controllo) alla ALU, ai registri e al bus

2 principali produttori di processori sono Intel e AMD

IL CLOCK: PERIODO E FREQUENZA ↳ le varie unità funzionali della CPU devono operare in modo coordinato

clock = fornisce una cadenza temporale che permette di sincronizzare le attività elementari della CPU ad ogni impulso di clock l’unità di controllo esegue una singola operazione

un’istruzione, a seconda della complessità, può richiedere più cicli di clock per essere completata

periodo o tempo di ciclo ↝ è l’intervallo di tempo tra 2 impulsi di clock consecutivi

La frequenza di clock è l’inverso del periodo (1/T) e rappresenta il numero di impulsi/cicli di clock al secondo in Hertz

La velocità di elaborazione di un microprocessore è strettamente collegata alla frequenza di clock.

LINGUAGGIO MACCHINA La CPU riconosce ed esegue un particolare set di istruzioni macchina che appartengono al linguaggio macchina di quel particolare modello di CPU.

I programmi che vengono caricati ed eseguiti da una CPU sono scritti utilizzando il linguaggio macchina specifico di quel processore. Ogni modello di processore è in grado di comprendere ed eseguire solo il proprio linguaggio macchina (ISA – Instruction Set Architecture). es.le istruzioni utilizzate dai processori Intel (processori con architettura RISC!) sono completamente diverse da quelle dei processori MIPS (processori con architettura CISC!). Esistono inoltre CPU prodotte da aziende differenti, con struttura fisica diversa, che risultano tra loro compatibili → ovvero sono in grado di comprendere il medesimo set di istruzioni in linguaggio macchina

tipologia delle istruzione della CPU sono di 3 tipi:

istruzioni Aritmetico Logiche (elaborazione dati) → si suddividono a loro volta in ➥istruzioni algebriche ➥istruzioni logiche ↝ and, or, not, xor ➥istruzioni di confronto ↝ maggiore, minore, uguale … ● istruzioni di controllo del flusso → sono normalmente eseguite in successione le istruzioni che controllano il flusso alterano questo comportamento sulla base di “decisioni ↓ ad es. “istruzioni di salto” ne esistono di 2 tipi: ● salto incondizionato (jump) salta ad una det. istruzione ● salto condizionato (branch) salta ad una determinata istruzione solo se si verifica una specifica condizione

↪grz a questa tipologia posso implementare i costrutti selettivi (IF,SELECT) ed iterativ i (FOR, WHILE

istruzioni di trasferimento → scambio dati ed istruzioni tra la CPU e la memoria

FORMATO DELLE ISTRUZIONI MACCHINA le istruzioni del linguaggio macchina sono caratterizzate da ↙ ↘ codice operativo operandi ↓ ↓ identifica il tipo di istruzione rappresentano i dati su cui l’istruzione deve operare oppure gli indirizzi delle celle dove prelevare le informazioni o memorizzare i risultati

La descrizione che definisce in un'istruzione macchina la dimensione in bit del codice operativo, il numero degli operandi e la loro tipologia viene detta "formato istruzione"

codice operativo → identifica il tipo di istruzione sempre presente e nei "formati istruzione" precedentemente proposti occupa i primi 6 bit cambia il numero degli operandi e la loro dimensione registro = 5 bit indirizzo= 21 bit La parte finale dell'istruzione (tratteggiata nella figura!), composta da 11 bit, resta pertanto inutilizzata ( padding )

operandi → Il codice operativo di ogni istruzione macchina definisce se si tratta di un operando

descrizione dettagliata

FETCH ↴ l’unità di controllo attua il trasferimento dell’istruzione da eseguire dalla memoria centrale al registro dell’istruzione corrente IR ● invio sul bus degli indirizzi (MAR) del valore presente nel PC ● attivazione del comando “leggi” sul bus di controllo ● copia del contenuto del registro MDR che contiene l’istruzione da eseguire all’interno del registro IR ● successivo incremento del contenuto del PC

DECODE ↴ La control unit esamina l’istruzione nel registro IR per determinare quale operazione svolgere e quali siano i suoi operandi

EXECUTE ↴ Le unità coinvolte (ALU, FPU, …) vengono opportunamente comandate dall’unità di controllo ed avviene l’esecuzione MEMORIA CACHE o BUFFER (si dice chesh) ↳ è una memoria rapida che permette di ridurre i tempi di attesa della CPU allinea 2 dispositivi con velocità diverse la memoria centrale ha una velocità molto più bassa risp. a quella di esecuzione del processore, la CPU deve attendere il trasferimento dell’istruzione successiva = la CPU si è adeguata alla velocità di esecuzione

le memorie utilizzate per la cache (static RAM) hanno invece un tempo di accesso che tende ad avvicinarsi a quello dei registri interni del processore

la memoria cache ha come obiettivo di disaccoppiare dispositivi caratterizzati da velocità differenti evitando che le componenti più veloci subiscono rallentamenti a causa degli apparati più lenti

buffer (memoria tampone) delle stampanti

CPU mulicore → è una CPU che ha all’interno altre CPU i computer recenti hanno più livelli di memoria cache: ● memoria di primo livello (L1) → direttamente collegata al processore divisa in 2 parti → cache istruzioni ↘ cache dati sono rapidissime ● memoria di secondo livello (L2) → posta all'interno del case contenente la CPU

nei processori multicore (più processori nello stesso case!) ogni core ha la propria cache L1 e L2 dedicata meno rapida di L ● memoria di terzo livello (L3) è condivisa da tutti i core

tutti questi livelli permettono di ridurre il tempo di attesa → detto tempo di latenza ↴ che intercorre dal momento in cui viene inviato il comando di lettura e il momento in cui il dato risulta disponibile con conseguente aumento della velocità di risposta

Mentre il processore lavora, il gestore della cache (controller di cache) di primo livello può interfacciarsi con quello di secondo livello per effettuare dei trasferimenti di dati senza che la CPU venga coinvolta nell'operazione. Allo stesso modo, la cache di secondo livello si interfaccia con quella di terzo e così via. Le istruzioni e i dati che vengono precaricati in cache sono selezionati in base al principio di località

PRINCIPIO DI LOCALITà ↳ se la CPU sta eseguendo una data istruzione con molta probabilità le prossime istruzioni da eseguire saranno “vicine” a quella in esecuzione

2 tipologie di località a seconda del “genere di vicinanza”: ● località spaziale ↝ un programma fa riferimento ad un elemento in memoria è molto probabile che faccia riferimento ad altri elementi vicino all’elemento esaminato ● località temporale ↝ fa riferimento allo stesso elemento entro breve tempo

la memoria cache nella CPU è stata introdotta per sfruttare i principi di località spaziale e temporale Per sfruttare, la località temporale i dati, prelevati dalla memoria più grande e più lenta, vengono conservati nella memoria più piccola e più veloce il più a lungo possibile

un sistema informatico → migliora le sue prestazioni se possiede una memoria con elevate velocità di accesso ed un’alta capacità → queste però fanno aumentare il costo bisogna quindi trovare un equilibrio

ARCHITETTURA HARVARD La presenza all'interno del microprocessore di 2 memorie cache distinte una dedicata ai dati mentre l'altra alle istruzioni rende palese che all'interno del microprocessore non si è adottato come riferimento architetturale la macchina di Von Neumann ↧ questo modello prevede una sola memoria usata sia per i programmi che per i dati

la memoria secondaria rappresenta la biblioteca del calcolatore e contiene tutti i programmi e i dati disponibili memoriale centrale è utilizzata per i programmi in esecuzione e i loro dati

si utilizzano tecnologie magnetiche, ottiche ed elettroniche ● supporti magnetici ↝ sono ricoperti da uno strato di materiale magnetico testina di lettura o scrittura che rileva lo stato d magnetizzazione della superficie ● supporti ottici ↝ zone microscopiche di una pellicola di alluminio il raggio laser che esplora la superficie e rileva il valore dei bit in base alla riflessione o meno del raggio luminoso ● supporti elettronici ↝ memorie di stato solido costituite da sequenza di particolari transistor in grado di mantenere la carica elettrica per un tempo lungo ogni transistor è una cella di memoria che conserva il valore di un bit 4/11/ ๏ DISCO MAGNETICO è composto da uno o più piatti di alluminio rotanti (ricoperti di materiale magnetico). ↳su ogni piatto è presente una testina che permette la lettura e la scrittura dei dati ciascun piatto è composto da due facce (superfici) e l'informazione è memorizzata su ogni faccia in cerchi concentrici detti tracce ogni faccia è suddivisa in settori l'insieme dei settori posizionati radialmente allo stesso modo su ogni piatto si dice blocco e ciascuna entità è identificata da un numero la testina permette la scrittura e la lettura dei dati su un disco, memorizzati sotto forma di stati di polarizzazione positiva o negativa

l’ Hard disk, una volta acceso, porta i dischi ad una velocità di rotazione costante. La testina di lettura/scrittura, posta all'estremità del braccio mobile, viene spostata in direzione radiale sopra il settore di traccia desiderato. La testina si posiziona prima sopra la traccia e successivamente all’inizio del settore richiesto Il tempo di accesso complessivo è la somma dei seguenti valori: ● seek time: tempo di posizionamento della testina sulla traccia ● latency time: tempo di attesa prima che il settore passi sotto la testina ● transfer time: è il tempo necessario per completare l’operazione di lettura o scrittura e coincide con il tempo necessario al settore per passare sotto la testina ๏ DISCO OTTICO i dati sono organizzati secondo un unico percorso a spirale dal centro verso la periferica La scrittura su un disco ottico avviene mediante un raggio laser ad alta intensità → che rende opache o lucide (a seconda che si voglia memorizzare uno 0 o un 1) delle zone sulla superficie del disco

Per leggere un altro raggio laser individua come bit a 0 le aree che non provocano riflessione (pit) mentre come bit a 1 quelle riflettenti (land)

es.DVD e CD-ROM

๏ SUPPORTI A TECNOLOGIA FLASH ● Pen Drive → capacità di memorizzare è limitata ● Memoria Flash → usate per macchine fortografiche, MP3 capacità simile alla pen drive. Sono memorie elettroniche non volatili sostituiscono il disco fisso magnetico ● Dischi a stato solido (SSD) → memoria basata su chip di memoria flas. Non ha organi meccanici che garantiscono delle prestazioni più elevate rispetto agli harddirk tradizionali

LE PERIFERICHE tramite l'interfaccia → l'unità centrale di un sistema di elaborazione comunica con le sue periferiche le periferiche possono essere di ingresso , di uscita o ausiliarie al funzionamento interno i dispositivi di I/O sono: ● periferiche di ingresso = inviano al calcolatore i dati acquisiti dall’esterno (mouse,tastiera..) ● periferiche di uscita = inviano all’esterno i dati prodotti dal calcolatore (stampante, casse audio…) ● periferiche di ingresso e uscita = inviano e ricevono dati (touch screen, modem …) il processore → può eseguire un insieme predefinito di istruzioni per interagire con le periferiche collegate i dispositivi connessi sono identificati mediante degli indirizzo le diverse velocità dei singoli dispositivi richiedono, per gestire correttamente i flussi dei dati → tecniche di “sincronizzazione” con la CPU le interfacce di ingresso-uscita → sono chiamate controller e contengono registri e memorie interne (buffer)

LA STRUTTURA REALE DI UN PC all’interno del case del computer abbiamo la Mother Board ↳ contiene tutta la circuiteria necessaria a collegare le componenti interne al PC sulla motherBoard troviamo

  1. il socket ↝ lo zoccolo dove viene collocata la CPU
  2. gli slot ↝ per l’espansione per la RAM (scopo: aumentare la memoria). La barretta di memoria viene inserita nello slot dedicato. Spesso devono essere inserite a coppie, per questo i colori diversi
  3. la RAM (memoria ad accesso casuale) sono utilizzate per la memoria centrale, infatti il termine spesso è sinonimo di memoria centrale è un tipo di memoria volatile principali caratteristiche: ➥ tempo di accesso costante ➥ possono essere sia lette che scritte

offre due tipi di processori diversi, uno di questi è l’ APU ↪ è una fusione di CPU e GPU incorpora CPU multicore diversi ↲ ↓ per farli lavorare in parallelo specializzata nel rendering di immagini grafiche 2 tipologie di linguaggio macchina: ● istruzioni CISC → istruzione fanno cose complesse ed altamente specializzate. complessità dei circuiti è molto elevata, si usa per istruzioni altamente specializzate. es.sintesi vocale ● istruzioni RISC → operazioni semplici

COME VALUTARE “POTENZA DI CALCOLO” DI UN ELABORATORE nel confrontare 2 calcolatori (Potenza di calcolo) non è corretto considerare la velocità di esecuzione il clock (velocità di esecuzione) non può essere considerato un parametro affidabile l’unità di misura utilizzata per valutare correttamente la potenza di calcolo in un computer è → flops ↷ rappresenta il numero di operazioni in virgola mobile (floating point) che quella CPU è in grado di svolgere nell’unità di tempo APPROFONDIMENTI i processori intel sul mercato attualmente sono presenti diverse generazioni di processori

es. Core i3- i5 -i7 - i ↪ intel utilizza le denominazioni core i7, i5 e i3 per identificare i processori di volta in volta immessi sul mercato esse sono denominazioni che resistono al trascorrere del tempo e vengono utilizzate nelle varie generazioni di processori

tutti i processori Core hanno una GPU integrata

celeron e Pentium è un gradino sotto Pentium ↲ ↳sono processori di fascia bassa

xeon → processor creati per sistemi server

processori AMD per desktop

↳ offre 2 tipi di processori ↙ ↘ CPU APU → sono processori incorporano sia un’architettura di una CPU sia una GPU