



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
Cos'è un calcolatore eletrronico e come è strutturato. Architettura ed Organizzazione di un calcolatore.
Tipologia: Appunti
1 / 5
Questa pagina non è visibile nell’anteprima
Non perderti parti importanti!




Il calcolatore (computer) può essere visto come una macchina a livelli, da intendere come un insieme stratificato di macchine virtuali. Generalmente un calcolatore moderno viene suddiviso in 7 livelli di macchine virtuali. Ogni livello fornisce una serie di funzionalità e viene realizzata a partire da una macchina virtuale sottostante; quindi, vi è una sorta di dipendenza tra loro in modo da “fattorizzare” il lavoro svolto dalle componenti dei vari livelli. Ad esempio, molti sistemi operativi usano lo stesso hardware (Livello MV0) oppure molti linguaggi di programmazione sono usati sullo stesso sistema operativo. Un calcolatore elettronico è un sistema complesso costituito da tanti moduli e sottomoduli, che costituiscono diversi livelli di astrazione. Questi moduli vengono analizzati attraverso un approccio “top-down”. Un calcolatore è contraddistinto dalla sua architettura ed organizzazione. Per architettura si intendono tutti gli aspetti di un calcolatore che sono “visibili” al programmatore (lato software), mentre per organizzazione tutte le unità funzionali ed interconnessioni che realizzano l’architettura (lato hardware), ad esempio un aspetto architettonico può essere la disponibilità di una certa istruzione sul calcolatore, mentre per il lato organizzativo, come quella certa istruzione viene implementata ed eseguita nel calcolatore. Delle modifiche sull’organizzazione possono avere serie ripercussioni sull’architettura del calcolatore. Nella gerarchia dei livelli precedentemente descritta, i primi due rappresentano l’organizzazione del calcolatore, mentre gli altri cinque la parte di architettura.
Nel corso del tempo si sta cercando sempre di più di migliorare delle componenti hardware del nostro calcolatore, in particolare della CPU e della memoria interna. La CPU (Unità centrale di elaborazione) nell’architettura di von Neumann di un calcolatore, rappresenta la componente/risorsa hardware che si occupa delle funzionalità logiche di elaborazione principali di un computer.
La CU (Unità di controllo) è una componente della CPU che ha il compito di coordinare tutte le azioni necessarie per l’esecuzione di un’istruzione o un insieme di esse, permettendo alla CPU di comunicare con le altre componenti esterne ed interne ad essa. L’ALU (Unità aritmetico-logica) è una tipologia di processore digitale, presente nella CPU, predisposto all’esecuzione di operazioni aritmetico-logiche. Nella CPU sono presenti dei registri che contengono informazioni sullo stato attuale della CPU, ad esempio vi è il PC (Program Counter) che contiene la prossima istruzione che la CPU dovrà eseguire, che verrà in seguito prelevata dalla CU, MAR (Memory address register), MDR (Memory data register), inoltre vi è il registro di flag (Program Status Word), costituito da 16 bit, che rappresentano vari stati e funzioni nella CPU. La CPU è un circuito digitale sincrono, il suo stato è regolato da un segnale di sincronismo, detto clock, che ne determina di conseguenza la velocità operativa; quindi il tempo di esecuzione di un'istruzione si misura in cicli di clock, cioè in quanti impulsi di clock sono necessari affinché la CPU la completi. Ciclo di elaborazione di un’istruzione:
CPI (Clock per instruction): Possiamo dedurre che: Tempo medio/istruzione: T clock: In sintesi: T (tempo) = 1 / f (frequenza) MIPS (Millions Instructions per second): unità di misura della frequenza di esecuzione delle istruzioni effettuata da un microprocessore. Il MIPS è un indicatore che dipende dall’insieme delle istruzioni; quindi, è difficile confrontare computer con diversi insiemi di istruzioni, il MIPS varia a seconda del programma considerato ed inoltre può variare in modo inversamente proporzionale alle prestazioni. Legge di Amdahl
Questa legge afferma che: “Il miglioramento delle prestazioni di un sistema che si può ottenere ottimizzando una certa parte del sistema è limitato dalla frazione di tempo in cui tale parte è effettivamente utilizzata”, in sintesi vuole dire che: ”Rendi veloce il caso più frequente”. Questa legge viene usata nell’informatica parallela per predire l’aumento massimo teorico di velocità che si ottiene usando più processori. Un algoritmo decide l’aumento di velocità, non il numero di processori, prima o poi si raggiungerà un punto in cui non si potrà parallelizzare ulteriormente l’algoritmo. FM : La frazione di tempo di calcolo della macchina originale che può essere modificata per avvantaggiarsi dei miglioramenti, quando FM è piccolo, l’utilizzo di processori paralleli ha un effetto ridotto. SM: Il fattore di aumento di velocità dovuto al miglioramento, rispetto alla velocità originale. Quando SM tende ad infinito, l’aumento di velocità è limitato da 1/(1-P) e i vantaggi diminuiscono al crescere del numero di processori Legge di Amdahl: Se l’incremento di costo per migliorare le prestazioni di un sistema è maggiore del miglioramento delle prestazioni (indicato dallo Speed-up), allora la modifica non migliora il rapporto costo/prestazioni. Se un miglioramento è utilizzabile solo per una frazione del tempo di esecuzione (FM), allora non è possibile accelerare l’esecuzione più del reciproco di (1 - FM) : Lo speed-up rappresenta il miglioramento delle prestazioni di un sistema, rispetto alla sua configurazione precedente. Se ci sono più fattori di speed-up, la formula sarà: