








Studia grazie alle numerose risorse presenti su Docsity
Guadagna punti aiutando altri studenti oppure acquistali con un piano Premium
Prepara i tuoi esami
Studia grazie alle numerose risorse presenti su Docsity
Prepara i tuoi esami con i documenti condivisi da studenti come te su Docsity
Trova i documenti specifici per gli esami della tua università
Preparati con lezioni e prove svolte basate sui programmi universitari!
Rispondi a reali domande d’esame e scopri la tua preparazione
Riassumi i tuoi documenti, fagli domande, convertili in quiz e mappe concettuali
Studia con prove svolte, tesine e consigli utili
Togliti ogni dubbio leggendo le risposte alle domande fatte da altri studenti come te
Esplora i documenti più scaricati per gli argomenti di studio più popolari
Ottieni i punti per scaricare
Guadagna punti aiutando altri studenti oppure acquistali con un piano Premium
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
1 / 14
Questa pagina non è visibile nell’anteprima
Non perderti parti importanti!









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
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