Classificazione delle Architetture CISC e RISC

Choose a study mode

Play Quiz
Study Flashcards
Spaced Repetition
Chat to Lesson

Podcast

Play an AI-generated podcast conversation about this lesson

Questions and Answers

Qual è la formula per calcolare il throughput di un sistema SISD con pipelining?

  • throughput > 1/latenza (correct)
  • throughput = K/(N-1)
  • throughput = 1/ latenze
  • throughput = N/(K+N-1)

Quanti cicli di clock sono necessari per elaborare N istruzioni in un modello SISD con pipeline a K stadi?

  • K + N
  • K + (N-1) (correct)
  • N
  • KN

Qual è il guadagno massimo nello speed-up di un sistema SISD con pipelining?

  • speed-up = (K + N)/KN
  • speed-up = KN/(K + N)
  • speed-up = KN/(K + (N-1)) (correct)
  • speed-up = N/(K - 1)

Qual è un fattore limitante della potenzialità della pipeline?

<p>Presence of branch hazard (D)</p> Signup and view all the answers

Quale dichiarazione è vera riguardo alle pipeline nei modelli SISD?

<p>Le pipeline possono aumentare la velocità di elaborazione in presenza di istruzioni indipendenti. (D)</p> Signup and view all the answers

Quali sono le caratteristiche delle architetture CISC?

<p>Utilizzano una unità di controllo microprogrammata per eseguire istruzioni complesse. (B)</p> Signup and view all the answers

Cos'è una delle principali differenze tra architetture CISC e RISC?

<p>Le architetture RISC non prevedono un livello di microprogrammazione. (C)</p> Signup and view all the answers

Quale affermazione è vera riguardo agli approcci CISC?

<p>CISC contribuisce a colmare il gap tra linguaggi di alto livello e architetture. (D)</p> Signup and view all the answers

Quale affermazione descrive meglio le architetture RISC?

<p>Sono ottimizzate per eseguire un numero limitato di istruzioni in modo rapido. (C)</p> Signup and view all the answers

Perché le architetture CISC sono considerate vantaggiose per la programmazione ad alto livello?

<p>Offrono una vasta gamma di istruzioni che riducono la necessità di scrivere codice complesso. (D)</p> Signup and view all the answers

Qual è la principale caratteristica dell'architettura CISC?

<p>Istruzioni macchina di lunghezza variabile (C)</p> Signup and view all the answers

In quale modello il processore esegue un flusso di istruzioni su un insieme di dati scalari?

<p>SISD (B)</p> Signup and view all the answers

Qual è il vantaggio principale del pipelining nel modello SISD?

<p>Aumenta il throughput delle istruzioni (C)</p> Signup and view all the answers

Qual è una limitazione architetturale del modello SISD?

<p>Singola connessione tra memoria e processore (B)</p> Signup and view all the answers

Quale tecnica può essere utilizzata per superare il collo di bottiglia nel modello SISD?

<p>Aumento della larghezza del bus di dati (C)</p> Signup and view all the answers

Quale affermazione è vera riguardo al modello MIMD?

<p>Esegue simultaneamente diverse sequenze di istruzioni su dati diversi (B)</p> Signup and view all the answers

Qual è il numero di registri nella famiglia processori Intel IA-64?

<p>128 (D)</p> Signup and view all the answers

Quale non è un modello della classificazione di Flynn?

<p>RISC (C)</p> Signup and view all the answers

Cosa rappresenta la latenza nel contesto del pipelining?

<p>Tempo necessario per completare un'istruzione (C)</p> Signup and view all the answers

Qual è la caratteristica delle istruzioni della famiglia di processori IA-32?

<p>Istruzioni di lunghezza variabile (C)</p> Signup and view all the answers

Cosa causa un conflitto RAW?

<p>Un'istruzione che deve operare sul risultato di un'altra istruzione. (C)</p> Signup and view all the answers

Qual è una tecnica utilizzata per ridurre il blocco della pipeline causato da istruzioni di salto condizionato?

<p>Branch prediction. (A)</p> Signup and view all the answers

Cosa succede quando un salto condizionato viene effettuato in presenza di Delayed branch?

<p>L'istruzione prelevata deve essere eliminata dalla pipeline. (D)</p> Signup and view all the answers

Qual è un effetto negativo del riordino delle istruzioni per gestire le dipendenze?

<p>Maggiore complessità dell'hardware e aumento dei consumi. (A)</p> Signup and view all the answers

Quale tipo di istruzione non richiede necessariamente tutti gli stadi della pipeline?

<p>Istruzioni a zero operandi. (D)</p> Signup and view all the answers

Quale delle seguenti affermazioni è vera riguardo all'architettura RISC in relazione alla pipeline?

<p>Le architetture RISC generalmente hanno più istruzioni semplici. (C)</p> Signup and view all the answers

Cosa viene memorizzato in una Tabella della storia dei salti?

<p>La storia delle istruzioni di salto e i risultati delle ultime esecuzioni. (C)</p> Signup and view all the answers

Qual è un aspetto negativo del fatto che ogni istruzione si assume che richieda tutti gli stadi della pipeline?

<p>Le istruzioni più semplici possono essere rallentate. (B)</p> Signup and view all the answers

Flashcards

Architettura CISC

Un'architettura informatica che utilizza un set di istruzioni complesso con istruzioni di formato variabile, comprendendo sia istruzioni semplici che complesse.

Architettura RISC

Un'architettura informatica che utilizza un set di istruzioni ridotto con istruzioni di formato fisso, comprendendo solo istruzioni semplici.

Gap tra linguaggio di alto livello e architettura del computer

La differenza tra le operazioni consentite da un linguaggio di programmazione di alto livello e quelle offerte dall'architettura del computer.

Caratteristiche di un'architettura RISC

Comprende istruzioni che prevedono operandi nei registri e un numero limitato di istruzioni.

Signup and view all the flashcards

Approccio RISC: livello di microprogrammazione assente

L'approccio RISC mira a semplificare l'esecuzione delle istruzioni, eliminando il livello di microprogrammazione.

Signup and view all the flashcards

Throughput con pipeline

Il throughput di un processore con pipeline è maggiore rispetto a un processore senza pipeline. Questo perché le istruzioni vengono completate in modo più rapido. Il throughput è misurato in istruzioni completate per ciclo di clock.

Signup and view all the flashcards

Tempo di elaborazione con pipeline

Un processore SISD con pipeline può elaborare N istruzioni in un tempo pari a K+(N-1) cicli di clock, dove K è il numero di stadi nella pipeline. Questo perché la pipeline può elaborare più istruzioni contemporaneamente.

Signup and view all the flashcards

Speed-up con pipeline

Lo speed-up si riferisce al rapporto tra tempo di esecuzione di N istruzioni senza pipeline e con pipeline. È un modo per misurare il miglioramento delle prestazioni introdotto dalla pipeline.

Signup and view all the flashcards

Branch hazard in pipeline

Un branch hazard si verifica quando un'istruzione di salto interrompe la sequenza di esecuzione delle istruzioni nella pipeline. Questo perché il processore deve aspettare di decodificare l'istruzione di salto per sapere quale istruzione eseguire dopo.

Signup and view all the flashcards

Data hazard in pipeline

Un data hazard si verifica quando un'istruzione dipende dai risultati dell'esecuzione di un'altra istruzione. Questo può rallentare la pipeline perché l'istruzione dipendente deve aspettare che l'istruzione precedente venga completata.

Signup and view all the flashcards

Conflitto RAW (Read After Write)

Si verifica quando un'istruzione deve operare sul risultato di un'altra istruzione.

Signup and view all the flashcards

SISD con Pipelining - Problema dei salti condizionati

La presenza di istruzioni di salto condizionato blocca la pipeline perché impedisce il pre-fetching delle istruzioni.

Signup and view all the flashcards

Delayed branch

Anticipa il fetch dell'istruzione successiva, anche se il salto non è ancora determinato.

Signup and view all the flashcards

Branch prediction

Prevede il salto in modo dinamico durante l'esecuzione del programma.

Signup and view all the flashcards

Dipendenza tra istruzioni (data hazard)

Si verifica quando un'istruzione deve usare il risultato di un'altra istruzione non ancora completata.

Signup and view all the flashcards

Dipendenza RAW

Un tipo di dipendenza in cui un'istruzione deve leggere il dato modificato da un'altra istruzione precedente.

Signup and view all the flashcards

Scheduling delle istruzioni

Inserisce una logica di controllo nel processore per riordinare le istruzioni e ridurre le dipendenze.

Signup and view all the flashcards

Limitazioni del modello con pipeline

Non tutte le istruzioni hanno bisogno di tutti gli stadi della pipeline. Le istruzioni semplici non hanno bisogno di tutti gli stadi.

Signup and view all the flashcards

Istruzioni Load e Store

Le istruzioni "Load" e "Store" sono utilizzate per trasferire dati tra la CPU e la memoria principale.

Signup and view all the flashcards

Registri generali

La CPU dispone di un numero limitato di registri generali, che sono delle piccole aree di memoria interne alla CPU utilizzate per memorizzare dati temporanei durante l'elaborazione.

Signup and view all the flashcards

Modi di indirizzamento

Il modo in cui la CPU specifica l'indirizzo di memoria (ad esempio, usando un offset o un registro) è definito come modo di indirizzamento.

Signup and view all the flashcards

Formato delle istruzioni

Il formato di un'istruzione macchina definisce la struttura dei bit che compongono l'istruzione, come il codice operativo e gli operandi.

Signup and view all the flashcards

Ciclo macchina

Un'istruzione macchina è solitamente eseguita in un ciclo di clock, che è il tempo necessario per compiere una azione di base all'interno del processore.

Signup and view all the flashcards

Classificazione di Flynn

La classificazione di Flynn (1972) classifica i modelli di computer in base al numero di istruzioni e di flussi di dati che possono essere elaborati simultaneamente.

Signup and view all the flashcards

Modello SISD

Il modello SISD (Single Instruction Single Data) prevede un singolo processore che elabora una sola istruzione alla volta su un singolo flusso di dati. È il modello di von Neumann.

Signup and view all the flashcards

Pipelining

La tecnica del pipelining divide l'esecuzione di un'istruzione in più fasi (fetch, decode, execute), che vengono sovraposte nel tempo per aumentare la frequenza di completamento delle istruzioni.

Signup and view all the flashcards

Study Notes

Introduzione

  • Si parla di classificazione delle architetture.

Classificazione in base al numero di istruzioni eseguibili

  • Architetture CISC (Complex Instruction Set Computer): Il set di istruzioni è composto da molte istruzioni con lunghezza variabile. Include sia istruzioni semplici che complesse, che necessitano dell'unità di controllo microprogrammata per l'esecuzione.
  • Architetture RISC (Reduced Instruction Set Computer): Il set di istruzioni è costituito da un numero ridotto di istruzioni a lunghezza fissa. Comprende solo istruzioni semplici, che possono essere eseguite velocemente dall'unità di controllo cablata.

Architetture CISC

  • L'approccio CISC è stato sviluppato per facilitare la programmazione ad alto livello.
  • L'uso di linguaggi ad alto livello crea uno scarto tra le operazioni consentite dal linguaggio e quelle dell'architettura del calcolatore.
  • Le architetture CISC hanno un ricco insieme di istruzioni macchina, simili ai comandi di alto livello.
  • Questo permette compilatori meno complessi e codice eseguibile più compatto.

Architetture RISC

  • L'approccio RISC non usa la microprogrammazione.
  • Le architetture RISC dispongono di poche istruzioni macchina semplici.
  • Le istruzioni prevedono operandi nei registri.
  • Solo poche istruzioni (es. Load e Store) fanno riferimento alla memoria.
  • Le architetture RISC dispongono di molti registri generali.
  • Le architetture RISC usano semplici formati di indirizzamento.
  • Ogni istruzione macchina è completata in un ciclo macchina.

Architetture CISC e RISC

  • IA-32 (famiglia processori Intel fino al Pentium IV): è di tipo CISC. Le istruzioni macchina hanno lunghezza variabile, sono difficili da decodificare velocemente, e molti riferimenti alla memoria.
  • IA-64 (nuova famiglia processori Intel a partire da ITANIUM): è di tipo RISC. Le istruzioni macchina hanno lunghezza fissa, sono facili da decodificare, con molti registri e poche istruzioni con riferimenti alla memoria.

Classificazione di Flynn (1972)

  • SISD (Single Instruction Single Data): Un singolo processore esegue un flusso di istruzioni su un singolo insieme di dati.
  • SIMD (Single Instruction Multiple Data): Un'istruzione macchina viene eseguita simultaneamente su più insiemi di dati.
  • MISD (Multiple Instruction Single Data): Più processori eseguono diverse sequenze di istruzioni su un singolo insieme di dati (modello non comune).
  • MIMD (Multiple Instruction Multiple Data): Più processori eseguono simultaneamente diverse sequenze di istruzioni su diversi insiemi di dati. (multiprocessori o multicomputer)

Modello SISD

  • Il modello di Von Neumann, basato su un unico processore che esegue una sola istruzione per volta su un dato scalare.
  • Le istruzioni vettoriali sono trasformate in istruzioni scalari eseguite sequenzialmente.
  • L'esecuzione è strettamente sequenziale (solo un'istruzione per volta).
  • L'ordine di esecuzione è definito dal programma.
  • Un'immagine mostra la CPU, la memoria e le periferiche connessi da un bus.
  • Il bus ha un limite architetturale, il collo di bottiglia, perché il processore può prelevare una istruzione alla volta dalla memoria.

Modello SISD con Pipeline

  • L'esecuzione dell'istruzione è divisa in più stadi (fetch, decode, operand fetch, execute, write back).

  • La tecnica del pipelining sovrappone gli stadi di diverse istruzioni, migliorando l'efficienza.

  • Ogni stadio è gestito da un'unità HW dedicata.

  • Lo schema mostra le diverse fasi del ciclo d'istruzione e le unità coinvolte.

  • La pipeline a cinque stadi è illustrata con un diagramma temporale che mostra la sovrapposizione temporale delle istruzioni.

  • Il modello SISD basato su pipelining rimane seriale nella sequenza temporale delle istruzioni e nella successione dei loro stadi.

  • L'esecuzione paralella succede a livello degli stadi del ciclo d'istruzione.

  • Il vantaggio principale del pipelining è quello di aumentare la frequenza di completamento delle istruzioni, aumentando il throughput.

  • Viene mostrata la latenza e il throughput.

  • Il pipelining introduce difficoltà (hardware più complesso, consumo maggiore) che limitano la potenzialità in situazioni reali.

  • Considerate le istruzioni di salto e le dipendenze tra le istruzioni (es. conflitto RAW).

  • Soluzioni come branch prediction e delayed branch sono utilizzate per affrontare le dipendenze data.

  • Non tutte le istruzioni necessitano di tutti gli stadi della pipeline.

Studying That Suits You

Use AI to generate personalized quizzes and flashcards to suit your learning preferences.

Quiz Team

Related Documents

More Like This

RISC vs CISC Architectures
17 questions

RISC vs CISC Architectures

DelightedConsonance avatar
DelightedConsonance
Instruction Set Architecture Overview
8 questions
Instruction Set Architectures Overview
8 questions
Chapitre 4 : Architectures des ordinateurs
36 questions
Use Quizgecko on...
Browser
Browser