Podcast
Questions and Answers
In un'architettura multicore, come vengono gestite le istruzioni di un singolo programma rispetto a un processore single-core?
In un'architettura multicore, come vengono gestite le istruzioni di un singolo programma rispetto a un processore single-core?
- Le istruzioni vengono eseguite in modo casuale tra i core, senza un ordine specifico.
- Le istruzioni vengono eseguite in sequenza su un singolo core, come in un processore single-core.
- Le istruzioni vengono divise tra i core ed eseguite in parallelo, accelerando l'elaborazione. (correct)
- Ogni core esegue una copia completa del programma, replicando l'elaborazione.
Qual è la principale differenza tra un sistema multiprocessore a memoria condivisa e uno a memoria distribuita?
Qual è la principale differenza tra un sistema multiprocessore a memoria condivisa e uno a memoria distribuita?
- Il sistema a memoria distribuita è più suscettibile a colli di bottiglia di memoria rispetto a quello a memoria condivisa.
- Nel sistema a memoria condivisa, ogni CPU ha la propria memoria privata, mentre in quello a memoria distribuita tutte le CPU condividono un unico spazio di memoria.
- Il sistema a memoria condivisa utilizza un bus di comunicazione più veloce rispetto a quello a memoria distribuita.
- Nel sistema a memoria condivisa, tutte le CPU condividono un unico spazio di memoria, mentre in quello a memoria distribuita ogni CPU ha la propria memoria privata. (correct)
Quale dei seguenti è un esempio di coprocessore e qual è la sua funzione principale?
Quale dei seguenti è un esempio di coprocessore e qual è la sua funzione principale?
- FPU (Floating-Point Unit), specializzato nell'esecuzione di calcoli matematici in virgola mobile. (correct)
- Cache, utilizzata per memorizzare temporaneamente i dati più frequentemente utilizzati.
- CU (Control Unit), incaricata di prelevare le istruzioni dalla memoria.
- ALU (Arithmetic Logic Unit), responsabile della gestione della memoria.
In cosa differisce principalmente l'esecuzione di un programma su un'architettura multicore rispetto a un'architettura multiprocessore?
In cosa differisce principalmente l'esecuzione di un programma su un'architettura multicore rispetto a un'architettura multiprocessore?
Quale delle seguenti affermazioni descrive meglio la relazione tra core e CPU nei computer moderni?
Quale delle seguenti affermazioni descrive meglio la relazione tra core e CPU nei computer moderni?
Qual è uno svantaggio principale dei sistemi multiprocessore a memoria condivisa?
Qual è uno svantaggio principale dei sistemi multiprocessore a memoria condivisa?
In un'architettura di CPU con pipeline, cosa accade quando si verifica un salto condizionato?
In un'architettura di CPU con pipeline, cosa accade quando si verifica un salto condizionato?
Qual è il vantaggio principale della tecnologia Hyper-Threading (HT)?
Qual è il vantaggio principale della tecnologia Hyper-Threading (HT)?
Cosa si intende per 'esecuzione fuori ordine' in una CPU?
Cosa si intende per 'esecuzione fuori ordine' in una CPU?
Qual è lo scopo del prefetch (precaricamento) nelle CPU moderne?
Qual è lo scopo del prefetch (precaricamento) nelle CPU moderne?
Come viene misurata la velocità di un supercomputer?
Come viene misurata la velocità di un supercomputer?
Qual è la funzione del controller DMA (Direct Memory Access)?
Qual è la funzione del controller DMA (Direct Memory Access)?
Cosa caratterizza un'architettura SISD (Single Instruction Single Data)?
Cosa caratterizza un'architettura SISD (Single Instruction Single Data)?
In un'architettura SIMD (Single Instruction Multiple Data), come vengono eseguite le istruzioni?
In un'architettura SIMD (Single Instruction Multiple Data), come vengono eseguite le istruzioni?
Descrivi un'architettura MISD (Multiple Instruction Single Data)
Descrivi un'architettura MISD (Multiple Instruction Single Data)
Quale tipo di architettura è più comunemente associata ai sistemi multiprocessore?
Quale tipo di architettura è più comunemente associata ai sistemi multiprocessore?
Come influisce l'aumento della lunghezza della parola nell'architettura di un computer sulle sue prestazioni?
Come influisce l'aumento della lunghezza della parola nell'architettura di un computer sulle sue prestazioni?
Quale affermazione descrive meglio la differenza tra un processo e un thread in informatica?
Quale affermazione descrive meglio la differenza tra un processo e un thread in informatica?
Cosa si intende per 'tecnologia superscalare' nel contesto delle CPU?
Cosa si intende per 'tecnologia superscalare' nel contesto delle CPU?
Perché l'implementazione della tecnologia Hyper-Threading richiede la duplicazione dei registri di ciascun core del processore?
Perché l'implementazione della tecnologia Hyper-Threading richiede la duplicazione dei registri di ciascun core del processore?
Un computer con 2 CPU quad-core è in grado di eseguire contemporaneamente:
Un computer con 2 CPU quad-core è in grado di eseguire contemporaneamente:
In una CPU con pipeline, quale fase è responsabile della lettura dell'istruzione dalla memoria?
In una CPU con pipeline, quale fase è responsabile della lettura dell'istruzione dalla memoria?
Qual è uno dei principali vantaggi dell'utilizzo di una CPU con pipeline rispetto a una CPU che esegue le istruzioni in sequenza?
Qual è uno dei principali vantaggi dell'utilizzo di una CPU con pipeline rispetto a una CPU che esegue le istruzioni in sequenza?
Quale fase della pipeline è responsabile della scrittura del risultato di un'operazione nel registro appropriato?
Quale fase della pipeline è responsabile della scrittura del risultato di un'operazione nel registro appropriato?
In una CPU con pipeline, cosa succede se un'istruzione ha bisogno di dati che non sono ancora disponibili?
In una CPU con pipeline, cosa succede se un'istruzione ha bisogno di dati che non sono ancora disponibili?
Come influisce il numero di stadi in una pipeline sulle prestazioni di una CPU?
Come influisce il numero di stadi in una pipeline sulle prestazioni di una CPU?
Cosa rappresenta un benchmark nel contesto dei supercomputer?
Cosa rappresenta un benchmark nel contesto dei supercomputer?
In cosa differiscono i moderni supercomputer rispetto ai supercomputer del passato?
In cosa differiscono i moderni supercomputer rispetto ai supercomputer del passato?
Qual è lo scopo principale del DMA (Direct Memory Access)?
Qual è lo scopo principale del DMA (Direct Memory Access)?
Quale tra le seguenti non è una limitazione dell'aumento della frequenza di clock per migliorare le prestazioni della CPU?
Quale tra le seguenti non è una limitazione dell'aumento della frequenza di clock per migliorare le prestazioni della CPU?
Quale delle seguenti architetture è considerata non Von Neumann?
Quale delle seguenti architetture è considerata non Von Neumann?
In cosa si differenzia un processore dual-core da uno quad-core?
In cosa si differenzia un processore dual-core da uno quad-core?
I sistemi multiprocessore a memoria distribuita utilizzano bus privati per:
I sistemi multiprocessore a memoria distribuita utilizzano bus privati per:
Quale componente di un sistema informatico è specializzato nella generazione di immagini a partire da descrizioni matematiche?
Quale componente di un sistema informatico è specializzato nella generazione di immagini a partire da descrizioni matematiche?
Come si confronta l'affidabilità di un sistema multicore rispetto a un sistema multiprocessore?
Come si confronta l'affidabilità di un sistema multicore rispetto a un sistema multiprocessore?
Perché i sistemi multicore tendono ad avere meno traffico sul bus rispetto ai sistemi multiprocessore?
Perché i sistemi multicore tendono ad avere meno traffico sul bus rispetto ai sistemi multiprocessore?
Flashcards
Cos'è un Core?
Cos'è un Core?
L'unità di calcolo più elementare di un processore, contenente ALU, CU e registri interni.
Cos'è un'architettura multi-core?
Cos'è un'architettura multi-core?
Architettura con una singola CPU contenente due o più core integrati su un unico chip.
Cos'è un'architettura multi-processore?
Cos'è un'architettura multi-processore?
Architettura con due o più CPU separate, ognuna su un proprio chip.
Cosa sono i coprocessori?
Cosa sono i coprocessori?
Signup and view all the flashcards
Cos'è l'FPU?
Cos'è l'FPU?
Signup and view all the flashcards
cos'è la GPU?
cos'è la GPU?
Signup and view all the flashcards
Cos'è un Multicore?
Cos'è un Multicore?
Signup and view all the flashcards
cos'è un Multiprocessore?
cos'è un Multiprocessore?
Signup and view all the flashcards
Cos'è una Pipeline?
Cos'è una Pipeline?
Signup and view all the flashcards
Cos'è IF (Instruction Fetch)?
Cos'è IF (Instruction Fetch)?
Signup and view all the flashcards
Cos'è ID (Instruction Decode)?
Cos'è ID (Instruction Decode)?
Signup and view all the flashcards
Cos'è EX (Execution)?
Cos'è EX (Execution)?
Signup and view all the flashcards
Cos'è MEM (Memory)?
Cos'è MEM (Memory)?
Signup and view all the flashcards
Cos'è WB (Write Back)?
Cos'è WB (Write Back)?
Signup and view all the flashcards
Cos'è la tecnologia Hyper-Threading (HT)?
Cos'è la tecnologia Hyper-Threading (HT)?
Signup and view all the flashcards
Cos'è l'esecuzione fuori ordine?
Cos'è l'esecuzione fuori ordine?
Signup and view all the flashcards
Cos'è il prefetch?
Cos'è il prefetch?
Signup and view all the flashcards
Cos'è un supercomputer?
Cos'è un supercomputer?
Signup and view all the flashcards
Cos'è un benchmark?
Cos'è un benchmark?
Signup and view all the flashcards
Che cosa sono i FLOPS?
Che cosa sono i FLOPS?
Signup and view all the flashcards
Cos'è il DMA (Direct Memory Access)?
Cos'è il DMA (Direct Memory Access)?
Signup and view all the flashcards
Cos'è SISD?
Cos'è SISD?
Signup and view all the flashcards
Cos'è SIMD?
Cos'è SIMD?
Signup and view all the flashcards
Cos'è MISD?
Cos'è MISD?
Signup and view all the flashcards
Cos'è MIMD?
Cos'è MIMD?
Signup and view all the flashcards
Study Notes
Introduzione all'Architettura Non Von Neumann
- L'architettura di Von Neumann definisce la struttura interna della CPU.
- Il core è l'unità di calcolo più elementare di un processore, costituito da ALU, CU e registri interni.
- I primi processori erano single-core.
Evoluzioni dell'Architettura del Computer
- Le prestazioni della CPU sono state migliorate tramite:
- Aumento della frequenza di clock.
- Aumento della lunghezza della parola.
- Aumento dello spazio di indirizzamento.
- Sono state sviluppate architetture non Von Neumann per elaborazioni parallele.
Multicore
- Architettura non Von Neumann con una singola CPU (CHIP) che integra più core.
- Un processore dual-core ha due core, un quad-core ne ha quattro.
- I processori multicore eseguono contemporaneamente istruzioni parallele, aumentando la velocità senza aumentare la frequenza di clock.
- Un processore quad-core può eseguire simultaneamente quattro istruzioni dello stesso programma.
Multiprocessore
- Architettura non Von Neumann con più CPU, ciascuna su un chip separato.
- Possono utilizzare memoria condivisa o distribuita.
Multiprocessore a Memoria Condivisa
- Unico spazio di memoria per tutte le CPU.
- Qualsiasi processo può leggere o scrivere in tutta la memoria.
- Le CPU comunicano leggendo/scrivendo in celle di memoria specifiche.
- Tutte le CPU utilizzano lo stesso bus per accedere alla memoria principale, causando potenziale inattività per alcune CPU a causa del traffico.
Multiprocessore a Memoria Distribuita
- Ogni CPU ha la propria memoria privata collegata tramite bus privati.
- Per i calcoli, le CPU operano su dati nella memoria privata.
- Se sono necessari dati remoti, la CPU accede alla memoria principale via bus comune o comunica con altre CPU tramite messaggi.
Coprocessore
- CPU secondarie dedicate a compiti specifici, aumentando il parallelismo.
- Coprocessore numerico FPU specializzato in calcoli in virgola mobile.
- Coprocessore grafico GPU specializzato nella generazione di immagini.
- Le GPU moderne possono essere utilizzate per calcoli complessi.
Differenza tra Multicore e Multiprocessore
- Multicore: singola CPU con più core integrati su un chip.
- Multiprocessore: sistema con più CPU, ognuna su un chip separato.
- Multicore esegue un singolo programma più velocemente, mentre multiprocessore esegue più programmi contemporaneamente.
- I sistemi multiprocessore sono più affidabili.
- I sistemi multicore hanno meno traffico per l'accesso al bus.
Relazione tra Multi-core e Multiprocessore
- I computer recenti combinano più CPU, ciascuna con più core.
- Ad esempio, un computer con 2 CPU quad-core può eseguire simultaneamente 2 programmi e 4 istruzioni per programma (8 istruzioni totali).
Conclusioni
- Multicore si riferisce a una singola CPU con più unità di esecuzione.
- Multiprocessore si riferisce a un sistema con due o più CPU.
- I computer moderni combinano entrambe le architetture.
CPU con Pipeline
- Architettura non Von Neumann.
- L'elaborazione di un'istruzione avviene in cinque fasi:
- IF (lettura dell'istruzione).
- ID (decodifica e lettura operandi).
- EX (esecuzione).
- MEM (attivazione memoria).
- WB (scrittura del risultato).
- Le prime CPU eseguivano le cinque fasi in sequenza, richiedendo almeno cinque cicli di clock per istruzione.
Funzionamento della Pipeline
- La CPU con pipeline è composta da cinque stadi specializzati.
- Ogni stadio esegue una delle cinque fasi su un'istruzione.
- Vengono eseguite in parallelo 5 istruzioni, ognuna in uno stadio diverso.
- A regime, un'istruzione completata esce ad ogni ciclo di clock.
- Aumenta la velocità di esecuzione, ma con maggiore complessità.
Limitazioni della Pipeline
- La velocità di esecuzione è ridotta in presenza di:
- Istruzioni di salto condizionato: richiedono lo svuotamento della pipeline.
- Istruzioni che richiedono dati non disponibili: causano blocchi in attesa del completamento delle operazioni precedenti.
- Tecnologia Hyper-Threading come soluzione hardware.
Processo, Thread, Task e Tecnologia Hyper-Threading
- Processo: programma in esecuzione.
- Thread: sottoprocesso, esegue una parte del codice del programma.
- Task: insieme dei thread di uno stesso processo.
- Hyper-Threading (Intel): esecuzione di 2 thread per core per migliorare il parallelismo.
- Se un thread si blocca, il core esegue le istruzioni dell'altro thread.
- Richiede la duplicazione dei registri di ciascun core.
CPU con Pipeline Multiple
- Integrazione di più pipeline in parallelo per migliorare le prestazioni.
- Aumenta la complessità nella gestione dei salti condizionati.
- Le CPU moderne hanno tra 14 e 31 stadi per pipeline.
Esecuzione Fuori Ordine
- La CPU esegue le istruzioni in un ordine diverso da quello del codice, analizzando le istruzioni e individuando quelle non vincolate.
Prefetch (precaricamento)
- Unità che analizzano il codice e caricano dati e istruzioni nella cache prima del loro utilizzo.
- Richiede un'implementazione complessa per garantire che nessuna istruzione modifichi un dato prima del suo utilizzo.
Supercomputer
- Sistemi progettati per potenze di calcolo elevate.
- Valutati tramite benchmark che simulano problemi reali.
- La velocità è misurata in FLOPS (Floating Point Operations Per Second).
- Attualmente basati su cluster di unità di calcolo connesse tramite reti ad alta velocità.
DMA (Direct Memory Access)
- I dispositivi periferici segnalano la disponibilità al trasferimento dati tramite interrupt.
- Il trasferimento di grosse moli di dati è delegato al DMA controller.
- La CPU imposta indirizzo e dimensioni del blocco di memoria, poi il DMA controller trasferisce autonomamente i dati.
- La CPU è coinvolta solo nell'avvio e nella terminazione.
Classificazione delle Architetture
- SISD (single instruction single data): un processore, un'istruzione, un dato.
- SIMD (single instruction multiple data): una istruzione, più dati.
- MISD (multiple instruction single data): più processori, più istruzioni, un dato.
- MIMD (multiple instruction multiple data): più processori, più istruzioni, più dati.
Studying That Suits You
Use AI to generate personalized quizzes and flashcards to suit your learning preferences.