Registro e Architettura dei Computer

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

Qual è la funzione principale del registro MDR?

  • Memorizza temporaneamente i dati scambiati con la memoria. (correct)
  • Registra l'indirizzo dell'istruzione successiva da eseguire.
  • Contiene l'indirizzo della cella di memoria da selezionare.
  • Riceve il codice operativo delle istruzioni in esecuzione.

Quale registro è responsabile per mantenere l'indirizzo della locazione di memoria durante la fase di fetch dell'istruzione?

  • ALU
  • IR
  • MAR (correct)
  • MDR

Che tipo di registro è il PC (Program Counter)?

  • Registro di uso generale per le operazioni aritmetiche.
  • Registrazione dei dati temporanei del programma.
  • Registro interno invisibile al programmatore.
  • Registro di tipo puntatore per il flusso sequenziale del programma. (correct)

Quale affermazione riguardo al registro IR è vera?

<p>Contiene temporaneamente il codice operativo dell'istruzione durante la codifica. (B)</p> Signup and view all the answers

Cosa implica una modifica del contenuto del registro PC?

<p>Un salto all'indirizzo di memoria specificato. (A)</p> Signup and view all the answers

Qual è la principale differenza tra la trasmissione seriale asincrona e quella sincrona?

<p>La sincronizzazione nella trasmissione sincrona è garantita da una frequenza di clock. (A)</p> Signup and view all the answers

Cosa avviene durante un'operazione di input da parte della CPU?

<p>La CPU legge i dati da una periferica di ingresso. (B)</p> Signup and view all the answers

Quale delle seguenti affermazioni riguardo all'input/output è corretta?

<p>Ogni periferica di I/O ha un range di indirizzi di I/O riservato. (A)</p> Signup and view all the answers

Qual è il ruolo della CPU nella gestione delle periferiche tramite polling?

<p>La CPU interroga ciclicamente la periferica per ottenere nuovi dati. (D)</p> Signup and view all the answers

In che modo un dispositivo può utilizzare la memoria generale se ha bisogno di uno spazio maggiore?

<p>Mappandosi in memoria generale del sistema. (D)</p> Signup and view all the answers

Quale delle seguenti tecniche di gestione delle periferiche non richiede l'interazione continuo della CPU?

<p>Gestione con interruzione (B)</p> Signup and view all the answers

Qual è il vantaggio principale della trasmissione parallela rispetto alla trasmissione seriale?

<p>Permette di trasmettere più dati simultaneamente. (B)</p> Signup and view all the answers

Qual è la principale limitazione della tecnica del polling?

<p>La CPU deve interrogare continuamente i Flag. (B)</p> Signup and view all the answers

Che cosa fa la CPU quando riceve un segnale da una periferica usando la tecnica delle interruzioni?

<p>Interrompe l'esecuzione del programma in corso. (D)</p> Signup and view all the answers

In quale situazione è più efficiente utilizzare la tecnica delle interruzioni rispetto al polling?

<p>Quando il trasferimento dei dati è ad alta velocità. (C)</p> Signup and view all the answers

Quale dei seguenti è un vantaggio della tecnica di Direct Memory Access (DMA)?

<p>La CPU non deve attivarsi durante il trasferimento. (C)</p> Signup and view all the answers

Quale delle seguenti affermazioni descrive meglio il principio di funzionamento della tecnica di polling?

<p>La CPU interroga ciclicamente le periferiche per verificarne lo stato. (B)</p> Signup and view all the answers

Come vengono utilizzati i Flag di stato nelle tecniche di polling?

<p>Per identificare lo stato delle periferiche. (C)</p> Signup and view all the answers

Qual è una caratteristica della tecnica interrupt rispetto al polling?

<p>Consente una gestione più reattiva delle periferiche. (A)</p> Signup and view all the answers

Quale affermazione è vera riguardo alla tecnica DMA?

<p>Può trasferire dati senza intervenire sulla CPU. (D)</p> Signup and view all the answers

Perché la tecnica del polling è confrontata all'ansia di attendere una chiamata?

<p>Perché è una tecnica di attesa attiva. (B)</p> Signup and view all the answers

Quale delle seguenti affermazioni descrive meglio la risposta della CPU a un'interruzione?

<p>La CPU può scegliere se rispondere subito, posticipare, o ignorare l'interruzione. (A)</p> Signup and view all the answers

Qual è la funzione principale dei registri generali?

<p>Ospitare temporaneamente i dati in corso di elaborazione. (A)</p> Signup and view all the answers

Qual è il ruolo principale del controller DMA?

<p>Trasferire i dati tra I/O e memoria senza l'intervento della CPU. (C)</p> Signup and view all the answers

Quale affermazione descrive meglio la tecnica dell'interrupt?

<p>È simile a un promemoria che richiede l'attenzione costante della CPU. (A)</p> Signup and view all the answers

Quale di questi registri è generalmente considerato l'accumulatore?

<p>AX (A)</p> Signup and view all the answers

I registri interni, come IR, MAR e MDR, sono accessibili al programmatore?

<p>No, sono inaccessibili. (A)</p> Signup and view all the answers

In quale situazione il DMA non sarebbe utile?

<p>Quando la CPU deve eseguire necessità in tempo reale. (B)</p> Signup and view all the answers

Che cos'è l'accesso diretto alla memoria (DMA)?

<p>Un trasferimento di dati che evita l'uso di intermediari. (C)</p> Signup and view all the answers

Come sono indicati i registri in un sistema di microprocessore come x86?

<p>Utilizzano nomi propri come AX e BX. (B)</p> Signup and view all the answers

Qual è il primo passo quando un dispositivo richiede un'operazione di I/O al controller DMA?

<p>Il processore invia informazioni chiave come tipo di operazione, dispositivo e indirizzo di memoria. (D)</p> Signup and view all the answers

Quale delle seguenti affermazioni è falsa riguardo ai registri?

<p>I registri possono memorizzare dati a lungo termine. (A)</p> Signup and view all the answers

Che cosa rappresenta lo stato della CPU in un determinato istante?

<p>Il contenuto di tutti i registri. (B)</p> Signup and view all the answers

Cosa succede quando il trasferimento DMA è completato?

<p>Il DMA controller invia un interrupt al processore per segnalare il completamento. (C)</p> Signup and view all the answers

Quale delle seguenti opzioni descrive meglio la comunicazione diretta tra le periferiche e la memoria centrale nel contesto del DMA?

<p>Non ha intermediari e i dati passano direttamente. (D)</p> Signup and view all the answers

Qual è la relazione tra i registri generali e l'ALU?

<p>I dati dai registri generali vanno all'ALU per l'elaborazione. (C)</p> Signup and view all the answers

Quale situazione rappresenta una limitazione dell'interrupt?

<p>Non può avvenire quando la CPU è occupata. (D)</p> Signup and view all the answers

Qual è il ruolo del MDR (Memory Data Register)?

<p>Collegarsi direttamente al BUS dati. (A)</p> Signup and view all the answers

Perché i registri non hanno un indirizzo?

<p>Perché sono considerati temporanei. (C)</p> Signup and view all the answers

Qual è una caratteristica distintiva dei registri accessibili al programmatore?

<p>Hanno nomi specifici e sono parte del modello di programmazione. (A)</p> Signup and view all the answers

Flashcards

Trasmissione seriale asincrona

La trasmissione seriale asincrona utilizza bit di start e stop per sincronizzare il trasmettitore e il ricevitore. Questi bit segnalano l'inizio e la fine di ogni pacchetto di dati.

Trasmissione seriale sincrona

Nella trasmissione seriale sincrona, un orologio comune (clock) garantisce la sincronizzazione tra il trasmettitore e il ricevitore. Non sono necessari bit di start e stop, il flusso di dati è continuo.

Trasmissione parallela

La trasmissione parallela consente di inviare più bit di dati simultaneamente su linee dedicate. Questo metodo è più veloce della trasmissione seriale.

Operazione di input

Un'operazione di input consiste nel leggere dati da una periferica di ingresso e trasferirli alla CPU.

Signup and view all the flashcards

Operazione di output

Un'operazione di output consiste nel trasferire dati dalla CPU a una periferica di uscita.

Signup and view all the flashcards

Sezione di Input/Output (I/O)

La sezione di Input/Output (I/O) è un'area di memoria dedicata alla gestione delle periferiche. Ogni dispositivo ha un proprio spazio di indirizzi riservato, chiamato registri di I/O o porte di I/O. Questo permette alla CPU di interagire con le periferiche in modo ordinato.

Signup and view all the flashcards

Gestione con polling

Una tecnica di gestione delle periferiche in cui la CPU controlla periodicamente lo stato di una periferica, aspettandosi un cambiamento nello stato. Questa tecnica è efficiente se la periferica è molto lenta.

Signup and view all the flashcards

Gestione delle periferiche tramite interrupt

Una tecnica di gestione delle periferiche in cui la CPU, quando una periferica necessita di attenzione, riceve un segnale e interrompe l'esecuzione del programma corrente per eseguire un altro programma specifico per la periferica.

Signup and view all the flashcards

DMA (Direct Memory Access)

Una tecnica in cui la CPU rimane in uno stato di attesa (WAIT) finché la periferica non ha completato il trasferimento di dati. Questo metodo è usato per trasferimenti veloci, come tra il disco e la memoria centrale.

Signup and view all the flashcards

Tecnica del polling

Questa tecnica consiste in un'interrogazione periodica e sequenziale da parte della CPU delle periferiche. Ogni periferica ha flag di stato che contengono informazioni sul dispositivo.

Signup and view all the flashcards

Svantaggio del polling

Il principale svantaggio del polling è che la CPU spreca tempo interrompendo le operazioni per controllare i flag, anche quando le periferiche non hanno nulla da segnalare.

Signup and view all the flashcards

Scopo degli interrupt

L'interrupt interrompe la CPU nell'esecuzione di istruzioni per farla eseguire un programma diverso (routine). Dopo la routine, la CPU riprende dall'ultima istruzione.

Signup and view all the flashcards

Efficacia degli interrupt

L'interrupt è più efficiente del polling, anche se meno semplice.

Signup and view all the flashcards

Schema di funzionamento del polling

La CPU interroga ciclicamente i flag delle periferiche per individuare lo stato di 'dato pronto'. Quando il dato è pronto, la CPU esegue il codice per trasferirlo.

Signup and view all the flashcards

MAR (Memory Address Register)

Un registro interno collegato al bus indirizzi, non visibile al programmatore. Contiene l'indirizzo di memoria o dispositivo I/O coinvolto nell'operazione.

Signup and view all the flashcards

IR (Instruction Register)

Un registro interno che contiene temporaneamente il codice operativo dell'istruzione durante la fase di fetch. Non visibile al programmatore.

Signup and view all the flashcards

PC (Program Counter)

Un registro interno accessibile al programmatore, che contiene l'indirizzo di memoria dell'istruzione successiva da eseguire. Consente di modificare il flusso del programma.

Signup and view all the flashcards

Modello di programmazione

L'insieme degli elementi accessibili al programmatore, inclusi i registri e l'ALU. Consente di interagire con il sistema a livello di istruzioni.

Signup and view all the flashcards

ALU

Unità logica aritmetica, che si occupa delle operazioni logiche e aritmetiche sui dati contenuti nei registri. Essenziale per il calcolo.

Signup and view all the flashcards

Registri generali

I registri generali sono utilizzati per memorizzare temporaneamente i dati che sono in corso di elaborazione. Sono accessibili dal programmatore e ogni processore ha la sua organizzazione specifica.

Signup and view all the flashcards

Registro accumulatore

Il registro accumulatore (spesso designato con la lettera A) è un registro speciale che viene utilizzato frequentemente per l'inizio e la fine delle istruzioni.

Signup and view all the flashcards

Stato della CPU

Lo stato della CPU in un dato momento è definito dai valori contenuti in tutti i suoi registri.

Signup and view all the flashcards

Registri interni

I registri interni non sono direttamente accessibili dal programmatore. Vengono utilizzati dalla CPU per il controllo e l'esecuzione delle istruzioni. Esempi: IR, MAR, MDR, PC.

Signup and view all the flashcards

MDR (Memory Data Register)

Il registro MDR (Memory Data Register) è un registro interno che si collega direttamente al bus dati.

Signup and view all the flashcards

Registri di uso generale

I registri di uso generale memorizzano temporaneamente gli operandi e i dati utilizzati per eseguire le istruzioni. Ogni CPU ha un numero diverso di questi registri e li nomina in modo specifico (ad esempio, AX, BX).

Signup and view all the flashcards

ALU (Unità aritmetico-logica)

L'unità aritmetico-logica (ALU) esegue le operazioni aritmetiche e logiche sui dati

Signup and view all the flashcards

Interrupt

La tecnica dell'interrupt permette alle periferiche di comunicare con la CPU. La periferica 'chiama' la CPU, che passa all'esecuzione delle routine di servizio. L'interrupt interrompe l'esecuzione del programma in corso per gestire la richiesta di I/O.

Signup and view all the flashcards

Risposta all'interrupt

La CPU ha la possibilità di rispondere all'interrupt immediatamente, rimandare la risposta, oppure ignorare la richiesta.

Signup and view all the flashcards

DMA

Il DMA (Direct Memory Acces) è un meccanismo che permette alle periferiche di trasferire i dati direttamente in memoria, senza passare attraverso la CPU.

Signup and view all the flashcards

DMA controller

Il DMA controller gestisce il trasferimento dati tra la periferica e la memoria.

Signup and view all the flashcards

Istruzioni DMA

Quando un'applicativo richiede un'operazione I/O, la CPU invia al DMA controller le istruzioni necessarie: tipo di operazione, dispositivo, indirizzo di memoria, numero di byte.

Signup and view all the flashcards

Inizio del trasferimento DMA

Il DMA controller inizia il trasferimento dei dati dalla periferica alla memoria, o viceversa.

Signup and view all the flashcards

Segnale di completamento DMA

Una volta completato il trasferimento, il DMA controller invia un interrupt alla CPU per segnalare il completamento dell'operazione.

Signup and view all the flashcards

Vantaggio del DMA

Il DMA è un modo diretto per trasferire i dati tra le periferiche e la memoria, senza passare attraverso la CPU.

Signup and view all the flashcards

Comunicazione DMA

Nel caso di DMA, la comunicazione tra la periferica e la memoria è diretta, senza alcun intermediario.

Signup and view all the flashcards

Efficienza del DMA

Il DMA aumenta l'efficienza del sistema perché libera la CPU da compiti di trasferimento dati.

Signup and view all the flashcards

Study Notes

Introduzione

  • La dispensa n. 4 tratta i Bus, l'I/O, la CPU, i componenti, CISC e RISC.
  • L'obiettivo è approfondire il libro, capitolo 1.

Bus

  • In passato, i processori erano lenti, con un solo BUS di sistema per le operazioni di lettura e scrittura.
  • Attualmente, le architetture moderne utilizzano più BUS specializzati per differenti tipologie di traffico.
  • Le principali tipologie di BUS sono il SystemBUS (o local BUS) e il BUS di espansione.
  • Il BUS di sistema collega la CPU alla memoria di sistema ed è molto veloce.
  • Il BUS di espansione collega altri dispositivi (es. disco fisso, scheda audio, scheda video) ed è meno veloce.
  • Esistono diversi tipi di BUS di espansione, come PCI, USB, AGP, PCI Express, FireWire, e altri.
  • I BUS di espansione gestiscono la comunicazione tra le schede di espansione e la CPU, risolvendo eventuali conflitti.
  • I BUS di sistema sono costituiti da un insieme di pin (piedini) con diverse funzionalità.
  • I segnali possono essere unidirezionali (da CPU a periferica o da periferica a CPU) o bidirezionali (in entrambe le direzioni).
  • Il numero e il tipo di segnali variano a seconda del modello di CPU.

Bus di sistema

  • Il bus di sistema, in base al modello di Von Neumann, è utilizzato per la comunicazione tra la CPU e il resto del sistema.
  • Il numero di linee del bus varia a seconda dell'architettura, ma tende ad aumentare per migliorare le prestazioni.
  • Le linee del bus dati sono bidirezionali e servono per il trasferimento di dati e/o istruzioni tra memoria e CPU.
  • Ogni linea può trasportare un bit (0 o 1).
  • Un bus a 16 linee può trasferire fino a 16 bit contemporaneamente.
  • Il trasferimento avviene in parallelo e scandito dal clock.
  • Il bus dati serve per il trasferimento del contenuto della memoria nella CPU e viceversa.
  • Le linee del bus indirizzi sono monodirezionali e collegano la CPU ai dispositivi di decodifica.
  • Il loro compito è quello di trasportare l'indirizzo di una cella di memoria o di una periferica coinvolta in un'operazione di lettura/scrittura.
  • Il numero di linee del bus indirizzi determina la dimensione della memoria indirizzabile fisicamente.
  • Un bus indirizzi a 16 linee può indirizzare 2^16locazioni di memoria.
  • Ogni linea del bus indirizzi trasporta un bit e rappresenta l'intero indirizzo.
  • I numeri di memoria e i contenuti dei registri sono espressi in esadecimale che è più compatto del binario.
  • Un indirizzo a 16 linee può esprimere 2^16locazioni di memoria.

Bus di controllo

  • Le linee del bus controllo trasportano segnali precisi per compiti specifici (entrata o uscita).
  • A differenza degli altri bus, i bit del bus controllo non indicano un singolo messaggio, ma hanno un significato proprio e indipendente.
  • I segnali del bus controllo controllano operazioni come lettura (RD), scrittura (WR), e accesso alla memoria (MEM) o a dispositivi di I/O (I/O).
  • Questi segnali specificano se un'operazione è di lettura o scrittura e a quale dispositivo è indirizzata.
  • Altri segnali del bus controllo, come CLOCK, Interrupt Request (INTR), Interrupt Acknowledge (INTA) e Interrupt Non Mascherabile (NMI) controllano altre funzionalità di interruzione e sincronizzazione.

Input/Output (I/O)

  • I dispositivi (periferiche) esterni comunicano con la CPU tramite circuiti di controllo e pilotaggio (interfacce).
  • Le periferiche possono essere classificate in dispositivi di ingresso (dati in entrata, es. tastiera, mouse) e uscita (dati in uscita, es. monitor, stampante).
  • I trasferimenti di dati tra periferiche e CPU avvengono tramite porte seriali o parallele. Le porte seriali trasferiscono un bit dopo l'altro, mentre le porte parallele trasferiscono più bit contemporaneamente.
  • I dispositivi di I/O hanno un range di indirizzi di I/O riservato.
  • L'operazione di I/O comporta lettura o scrittura di dati su una periferica, attuata tramite istruzioni particolari di In/Out, che permettono all'unità centrale di determinare l'indirizzo e il dato da trasferire.

Tecniche di gestione delle periferiche

  • La tecnica di polling comporta l'interrogazione ciclica delle periferiche per verificare se hanno dati da trasmettere o ricevere. Questa tecnica non è molto efficiente in quanto la CPU perde tempo ad interrogare periferiche inattive.
  • La tecnica di interrupt permette alla CPU di essere interrotta da una richiesta di servizio di una periferica, in modo da gestire quelle attività in modo più efficiente. La CPU sospende l'esecuzione del programma corrente per eseguire la richiesta, riprendendo poi il programma da dove lo aveva interrotto. L'accesso diretto alla memoria (DMA) permette alla periferica di trasferire i dati in memoria senza l'intervento della CPU, migliorando le prestazioni.

CPU e le sue componenti

  • La CPU è composta da tre componenti principali: unità aritmetico-logica (ALU), unità di controllo (CU) e registri.
  • L'ALU esegue operazioni aritmetiche e logiche.
  • La CU governa e impartisce gli ordini di esecuzione all'ALU.
  • I registri sono aree di memoria ad alta velocità, utilizzate per memorizzare temporaneamente dati utilizzati per i calcoli.
  • La CU coordina i trasferimenti di dati tra la CPU, la memoria e i dispositivi di I/O, inviando segnali opportuni sul bus controllo.

I registri generali

  • I registri generali sono registri non specializzati utilizzati per memorizzare temporaneamente dati per l'elaborazione.
  • Possono contenere dati dalla memoria o da altri registri e sono utilizzati per operazioni e trasferimenti a/da memoria e dall'ALU.
  • Esistono diversi tipi di registri, ciascuno con la propria architettura, come quello utilizzato nel processore Intel X86.
  • Alcuni registri sono utilizzati dall'ALU mentre altri vengono utilizzati dal programmatore.

Istruzioni e ciclo di esecuzione

  • Le istruzioni sono sequenze di operazioni codificate che vengono eseguite in modo sequenziale dalla CPU.
  • Il ciclo di esecuzione di un'istruzione si compone di quattro fasi: Fetch (prelievo istruzione dalla memoria), Decode (decodifica istruzione), Execute (esecuzione istruzione), Store (salvataggio risultato in memoria se necessario).
  • Le istruzioni di una ISA hanno un opcode (codice operativo) e parametri (operandi) che specificano l'operazione e i dati coinvolti.
  • Ogni istruzione è associata a un codice mnemonico che ne descrive la funzione.

ISA

  • Una ISA definisce l'insieme di istruzioni supportate da una CPU.
  • Le istruzioni sono caratterizzate da un codice operativo e da parametri.
  • Esistono diversi tipi di ISA, come RISC e CISC.

RISC e CISC

  • Le architetture RISC sono caratterizzate da un insieme di istruzioni semplificate, in modo che vengano eseguite più velocemente e meno accesso alla memoria.
  • Le architetture CISC sono caratterizzate da un insieme di istruzioni complesse, in modo che siano eseguite di meno accesso alla memoria.
  • I processori CISC utilizzano più transistor per eseguire i microprogrammi, ma hanno meno spazio per i registri; ciò li rende più lenti.
  • I processori RISC, essendo progettati con una minore complessità, sono più veloci.

Interazione tra RAM e CPU

  • La CPU comunica con la memoria tramite il bus di sistema.
  • Le operazioni di lettura e scrittura in memoria sono gestite mediante segnali di controllo specifici.
  • L'esecuzione dell'istruzione MOV R1, [0042h], per esempio, comporta una sequenza di operazioni di prelievo dell'istruzione, prelievo dell'indirizzo, lettura del dato dalla memoria e trasferimento di quest'ultimo nel registro R1.

Pipeline

  • La tecnica di pipeline permette di sovrapporre diverse fasi dell'esecuzione di istruzioni in modo da incrementare l'efficienza.
  • Le istruzioni sono suddivise in diverse fasi (Fetch, Decode, Execute, Store) e vengono eseguite in unità separate.
  • Ciò permette di iniziare l'esecuzione di un'istruzione successiva prima che la fase precedente della istruzione corrente sia terminata.

Studying That Suits You

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

Quiz Team

Related Documents

More Like This

Use Quizgecko on...
Browser
Browser