Architettura Non Von Neumann: Multicore

Choose a study mode

Play Quiz
Study Flashcards
Spaced Repetition
Chat to Lesson

Podcast

Play an AI-generated podcast conversation about this lesson
Download our mobile app to listen on the go
Get App

Questions and Answers

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?

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

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

<p>In un multicore, più istruzioni dello stesso programma possono essere eseguite contemporaneamente, mentre in un multiprocessore è possibile eseguire più programmi contemporaneamente. (B)</p> Signup and view all the answers

Quale delle seguenti affermazioni descrive meglio la relazione tra core e CPU nei computer moderni?

<p>Una CPU può contenere uno o più core, che sono le unità di calcolo elementari. (B)</p> Signup and view all the answers

Qual è uno svantaggio principale dei sistemi multiprocessore a memoria condivisa?

<p>Possibilità di colli di bottiglia dovuti alla competizione per l'accesso alla memoria condivisa. (B)</p> Signup and view all the answers

In un'architettura di CPU con pipeline, cosa accade quando si verifica un salto condizionato?

<p>La pipeline viene svuotata e ricaricata con il nuovo flusso di istruzioni, causando un rallentamento. (D)</p> Signup and view all the answers

Qual è il vantaggio principale della tecnologia Hyper-Threading (HT)?

<p>Permette di eseguire più thread contemporaneamente su ciascun core, migliorando il parallelismo. (D)</p> Signup and view all the answers

Cosa si intende per 'esecuzione fuori ordine' in una CPU?

<p>L'esecuzione delle istruzioni senza rispettare l'ordine specificato nel codice, per sfruttare il parallelismo. (A)</p> Signup and view all the answers

Qual è lo scopo del prefetch (precaricamento) nelle CPU moderne?

<p>Prevedere e caricare in cache i dati e le istruzioni che saranno probabilmente necessari, per ridurre i tempi di attesa. (B)</p> Signup and view all the answers

Come viene misurata la velocità di un supercomputer?

<p>In FLOPS (Floating Point Operations Per Second), che indica il numero di operazioni in virgola mobile eseguite al secondo. (C)</p> Signup and view all the answers

Qual è la funzione del controller DMA (Direct Memory Access)?

<p>Trasferire dati direttamente tra la memoria e i dispositivi periferici, senza coinvolgere la CPU. (B)</p> Signup and view all the answers

Cosa caratterizza un'architettura SISD (Single Instruction Single Data)?

<p>Un unico processore esegue un'unica istruzione per volta su un singolo dato. (C)</p> Signup and view all the answers

In un'architettura SIMD (Single Instruction Multiple Data), come vengono eseguite le istruzioni?

<p>La stessa istruzione viene eseguita contemporaneamente su più dati. (D)</p> Signup and view all the answers

Descrivi un'architettura MISD (Multiple Instruction Single Data)

<p>Più processori eseguono istruzioni diverse sullo stesso flusso di dati. (C)</p> Signup and view all the answers

Quale tipo di architettura è più comunemente associata ai sistemi multiprocessore?

<p>MIMD (Multiple Instruction Multiple Data). (D)</p> Signup and view all the answers

Come influisce l'aumento della lunghezza della parola nell'architettura di un computer sulle sue prestazioni?

<p>Aumenta il numero di bit che possono essere elaborati contemporaneamente, migliorando la velocità di elaborazione. (D)</p> Signup and view all the answers

Quale affermazione descrive meglio la differenza tra un processo e un thread in informatica?

<p>Un processo è un programma in esecuzione, mentre un thread è un sottoprocesso all'interno di un processo che può essere eseguito in parallelo. (C)</p> Signup and view all the answers

Cosa si intende per 'tecnologia superscalare' nel contesto delle CPU?

<p>L'integrazione di più pipeline in un unico microprocessore per completare più istruzioni per ciclo di clock. (B)</p> Signup and view all the answers

Perché l'implementazione della tecnologia Hyper-Threading richiede la duplicazione dei registri di ciascun core del processore?

<p>Per consentire a due thread di condividere la stessa unità di esecuzione senza conflitti. (C)</p> Signup and view all the answers

Un computer con 2 CPU quad-core è in grado di eseguire contemporaneamente:

<p>2 programmi e 4 istruzioni per ogni programma. (A)</p> Signup and view all the answers

In una CPU con pipeline, quale fase è responsabile della lettura dell'istruzione dalla memoria?

<p>IF (Instruction Fetch). (B)</p> Signup and view all the answers

Qual è uno dei principali vantaggi dell'utilizzo di una CPU con pipeline rispetto a una CPU che esegue le istruzioni in sequenza?

<p>Maggiore velocità di esecuzione delle istruzioni grazie al parallelismo. (B)</p> Signup and view all the answers

Quale fase della pipeline è responsabile della scrittura del risultato di un'operazione nel registro appropriato?

<p>WB (Write Back). (B)</p> Signup and view all the answers

In una CPU con pipeline, cosa succede se un'istruzione ha bisogno di dati che non sono ancora disponibili?

<p>La pipeline si blocca (stall) fino a quando i dati non diventano disponibili. (C)</p> Signup and view all the answers

Come influisce il numero di stadi in una pipeline sulle prestazioni di una CPU?

<p>Un numero maggiore di stadi può aumentare le prestazioni, ma rende la CPU più sensibile ai salti condizionati. (A)</p> Signup and view all the answers

Cosa rappresenta un benchmark nel contesto dei supercomputer?

<p>Un insieme di test software utilizzati per misurare le prestazioni del supercomputer. (A)</p> Signup and view all the answers

In cosa differiscono i moderni supercomputer rispetto ai supercomputer del passato?

<p>I supercomputer moderni sono basati su cluster di unità di calcolo, mentre quelli del passato avevano architetture e componenti più specializzati. (D)</p> Signup and view all the answers

Qual è lo scopo principale del DMA (Direct Memory Access)?

<p>Alleggerire il carico della CPU trasferendo dati direttamente tra la memoria e i dispositivi periferici. (A)</p> Signup and view all the answers

Quale tra le seguenti non è una limitazione dell'aumento della frequenza di clock per migliorare le prestazioni della CPU?

<p>Diminuzione dello spazio di indirizzamento della memoria. (A)</p> Signup and view all the answers

Quale delle seguenti architetture è considerata non Von Neumann?

<p>Architettura multi-core. (D)</p> Signup and view all the answers

In cosa si differenzia un processore dual-core da uno quad-core?

<p>Un processore dual-core integra due core di elaborazione, mentre un quad-core ne integra quattro. (B)</p> Signup and view all the answers

I sistemi multiprocessore a memoria distribuita utilizzano bus privati per:

<p>Connettere ogni CPU alla propria memoria privata, migliorando l'accesso ai dati locali. (A)</p> Signup and view all the answers

Quale componente di un sistema informatico è specializzato nella generazione di immagini a partire da descrizioni matematiche?

<p>GPU (Graphics Processing Unit). (A)</p> Signup and view all the answers

Come si confronta l'affidabilità di un sistema multicore rispetto a un sistema multiprocessore?

<p>I sistemi multiprocessore sono più affidabili perché il guasto in una CPU non influisce sulle altre. (C)</p> Signup and view all the answers

Perché i sistemi multicore tendono ad avere meno traffico sul bus rispetto ai sistemi multiprocessore?

<p>Perché tutti i core in un sistema multicore sono integrati nello stesso chip. (B)</p> Signup and view all the answers

Flashcards

Cos'è un Core?

L'unità di calcolo più elementare di un processore, contenente ALU, CU e registri interni.

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?

Architettura con due o più CPU separate, ognuna su un proprio chip.

Cosa sono i coprocessori?

CPU secondarie dedicate a compiti specifici per aumentare il parallelismo.

Signup and view all the flashcards

Cos'è l'FPU?

Unità specializzata in calcoli matematici in virgola mobile.

Signup and view all the flashcards

cos'è la GPU?

Unità specializzata nella generazione di immagini a partire da descrizioni matematiche.

Signup and view all the flashcards

Cos'è un Multicore?

Una singola CPU con due o più core integrati su un unico chip.

Signup and view all the flashcards

cos'è un Multiprocessore?

Sistema con due o più CPU, ognuna delle quali occupa un proprio chip.

Signup and view all the flashcards

Cos'è una Pipeline?

L'elaborazione di un'istruzione suddivisa in fasi (IF, ID, EX, MEM, WB).

Signup and view all the flashcards

Cos'è IF (Instruction Fetch)?

Lettura dell'istruzione dalla memoria.

Signup and view all the flashcards

Cos'è ID (Instruction Decode)?

Decodifica dell’istruzione e lettura degli operandi dai registri.

Signup and view all the flashcards

Cos'è EX (Execution)?

Esecuzione dell'istruzione.

Signup and view all the flashcards

Cos'è MEM (Memory)?

Attivazione della memoria (solo per certe istruzioni).

Signup and view all the flashcards

Cos'è WB (Write Back)?

Scrittura del risultato nel registro opportuno.

Signup and view all the flashcards

Cos'è la tecnologia Hyper-Threading (HT)?

Tecnologia che esegue 2 thread su ciascun core per migliorare il parallelismo.

Signup and view all the flashcards

Cos'è l'esecuzione fuori ordine?

Esecuzione di istruzioni senza rispettare l'ordine del codice, per parallelismo.

Signup and view all the flashcards

Cos'è il prefetch?

Unità che prevedono quali dati serviranno al processore e li caricano nella cache.

Signup and view all the flashcards

Cos'è un supercomputer?

Sistema di elaborazione progettato per potenze di calcolo elevatissime.

Signup and view all the flashcards

Cos'è un benchmark?

Test software per misurare le prestazioni di un computer.

Signup and view all the flashcards

Che cosa sono i FLOPS?

Unità di misura della velocità dei supercomputer (Floating Point Operations Per Second).

Signup and view all the flashcards

Cos'è il DMA (Direct Memory Access)?

Trasferimento dati diretto tra periferica e memoria, senza coinvolgere la CPU.

Signup and view all the flashcards

Cos'è SISD?

Un unico processore esegue un'unica istruzione per volta su un solo dato.

Signup and view all the flashcards

Cos'è SIMD?

La stessa operazione eseguita contemporaneamente su più dati.

Signup and view all the flashcards

Cos'è MISD?

Più processori eseguono istruzioni diverse sullo stesso flusso di dati.

Signup and view all the flashcards

Cos'è MIMD?

Più processori eseguono simultaneamente elaborazioni su flussi di dati diversi.

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.

Quiz Team

More Like This

Use Quizgecko on...
Browser
Browser