Algoritmi e Istruzioni di Assegnamento
63 Questions
0 Views

Algoritmi e Istruzioni di Assegnamento

Created by
@SupportedHeliotrope1460

Podcast Beta

Play an AI-generated podcast conversation about this lesson

Questions and Answers

Qual è il formato dell'etichetta per un blocco caricato in cache?

  • 4 zeri in base 16 e 12 parole.
  • 3 zeri in base 16 e 16 parole. (correct)
  • 2 zeri in base 16 e 15 parole.
  • 5 zeri in base 16 e 10 parole.
  • Qual è la caratteristica fondamentale della cache riguardo al tempo di accesso?

  • Il tempo di accesso dipende dal tipo di circuito utilizzato.
  • Il tempo di accesso è costante e non dipende dalla posizione. (correct)
  • Il tempo di accesso varia in base alla posizione della parola.
  • Il tempo di accesso aumenta con il numero di parole caricate.
  • Cosa succede se tutti i confronti tra l'indirizzo della RAM e le etichette nella cache danno esito negativo?

  • Viene eseguito un caricamento dalla RAM. (correct)
  • La parola viene cercata in un altro blocco.
  • Il sistema si blocca.
  • Il dato è presente nella cache.
  • Quanti bit dell'indirizzo della RAM vengono confrontati con le etichette nella cache?

    <p>12 bit.</p> Signup and view all the answers

    Quale delle seguenti tecnologie è più recententemente in aumento per le memorie di massa?

    <p>Memorie flash.</p> Signup and view all the answers

    Quando si carica dalla RAM alla cache, cosa viene caricato insieme alla parola cercata?

    <p>Le parole adiacenti.</p> Signup and view all the answers

    In che modo avviene l'accesso ai blocchi di cache quando un esito di confronto è positivo?

    <p>Mediante un circuito a multiplex.</p> Signup and view all the answers

    Quali sono le due principali tecnologie per le memorie di massa menzionate?

    <p>Ottica e magnetica.</p> Signup and view all the answers

    Qual è la principale differenza tra finitezza e terminazione di un algoritmo?

    <p>Finitezza si riferisce alle istruzioni dell'algoritmo.</p> Signup and view all the answers

    Quale delle seguenti è una caratteristica delle variabili in un linguaggio di programmazione tipizzato?

    <p>Le variabili devono avere un tipo definito.</p> Signup and view all the answers

    Quale operatore è utilizzato per la negazione logica in Algebra di Boole?

    <p>not A</p> Signup and view all the answers

    Quale delle seguenti espressioni rappresenta un'istruzione di assegnamento?

    <p>x  y</p> Signup and view all the answers

    Qual è il risultato dell'espressione logica A and B se A è 1 e B è 0?

    <p>0</p> Signup and view all the answers

    Cosa rappresenta il blocco di fine in uno schema a blocchi?

    <p>Termina l'algoritmo.</p> Signup and view all the answers

    Qual è la funzione dell'unità di controllo della CPU?

    <p>Comandare tutti i dispositivi del calcolatore.</p> Signup and view all the answers

    Quale operazione logica è rappresentata dalla capacità di assorbimento in Algebra di Boole?

    <p>A + (A * B) = A</p> Signup and view all the answers

    Qual è il risultato dell'operazione 'A or B' quando A è 0 e B è 1?

    <p>1</p> Signup and view all the answers

    Come vengono definiti i variabili che possono essere utilizzate solo in certe porzioni di codice?

    <p>Locali</p> Signup and view all the answers

    Quale di queste espressioni è un esempio di espressione relazionale?

    <p>x == y</p> Signup and view all the answers

    Cosa indica una variabile di tipo 'float' in un linguaggio di programmazione?

    <p>Numeri decimali.</p> Signup and view all the answers

    Quale dei seguenti non è un operatore aritmetico-logico?

    <p>Presenza (!)</p> Signup and view all the answers

    Quale tra le seguenti non è una tipologia di operazione prevista per le istruzioni di elaborazione?

    <p>Ritorno di espressione</p> Signup and view all the answers

    Qual è una caratteristica principale delle memorie flash rispetto alle memorie elettroniche tradizionali?

    <p>Possono essere riscritte e sono non volatili</p> Signup and view all the answers

    Qual è il tempo di accesso medio delle memorie RAM rispetto alla memoria cache?

    <p>Dieci volte superiore a quello della cache</p> Signup and view all the answers

    Cosa implica il principio di località spaziale?

    <p>Un programma fa riferimento a dati vicini a quelli già usati</p> Signup and view all the answers

    Quale tipo di memoria ha la maggiore capacità e un tempo di accesso più lento?

    <p>Hard disk</p> Signup and view all the answers

    Qual è la funzione principale della memoria cache in un sistema di memoria?

    <p>Fornire accesso istantaneo ai dati utilizzati frequentemente</p> Signup and view all the answers

    Cosa succede quando la cache è piena e un nuovo blocco deve essere inserito?

    <p>Il blocco più vecchio viene sostituito</p> Signup and view all the answers

    Qual è una caratteristica delle memorie SSD rispetto agli hard disk?

    <p>Hanno tempi di accesso più rapidi</p> Signup and view all the answers

    Qual è la capacità tipica di una cache rispetto alla RAM?

    <p>Mille volte più piccola della RAM</p> Signup and view all the answers

    Quale delle seguenti affermazioni sul tempo di accesso delle memorie è vera?

    <p>Le SSD offrono tempi di accesso più rapidi delle RAM</p> Signup and view all the answers

    Quale delle seguenti è una limitazione delle memorie flash?

    <p>Hanno tempi di scrittura più lenti</p> Signup and view all the answers

    Per quali motivi è importante prevedere il comportamento dei programmi in un sistema di memoria?

    <p>Per scegliere quali dati trasferire nella cache</p> Signup and view all the answers

    Cosa caratterizza il tempo di accesso sequenziale rispetto a quello casuale per le memorie flash?

    <p>È generalmente più rapido</p> Signup and view all the answers

    Qual è il minimo tempo di accesso per i registri?

    <p>1 nanosecondo</p> Signup and view all the answers

    Qual è il ruolo principale dei blocchi nella memoria cache?

    <p>Organizzare e differenziare i dati per accessi rapidi</p> Signup and view all the answers

    Qual è la principale differenza tra l'accesso ai dati sui nastri magnetici e sui dischi magnetici?

    <p>L'accesso ai nastri è sequenziale, mentre quello sui dischi è casuale.</p> Signup and view all the answers

    Quale dei seguenti termini si riferisce alla capacità di un disco di ruotare e posizionare un settore sotto la testina?

    <p>Latency time</p> Signup and view all the answers

    Qual è la funzione principale del codice operativo in un'istruzione?

    <p>Determina il tipo di istruzione da eseguire</p> Signup and view all the answers

    Quale tipo di operandi fornisce il valore del dato direttamente nell'istruzione?

    <p>Immediato</p> Signup and view all the answers

    Cosa viene utilizzato per verificare la correttezza della registrazione di un byte nei nastri magnetici?

    <p>Bit di parità</p> Signup and view all the answers

    In un indirizzamento indiretto, quale componente dell'IR contiene un riferimento a un indirizzo di memoria?

    <p>Riferimento a un registro contenente un indirizzo</p> Signup and view all the answers

    Qual è l'unità minima di trasferimento tra disco e RAM nei dischi magnetici?

    <p>Settore</p> Signup and view all the answers

    Quale tecnologia è stata principalmente sostituita dalle memorie flash?

    <p>Floppy disk</p> Signup and view all the answers

    Qual è la caratteristica principale dell'indirizzamento relativo?

    <p>Utilizza sempre il campo di scostamento per riferirsi alla memoria</p> Signup and view all the answers

    Che cosa accade durante la fase di FETCH di un'istruzione?

    <p>L'indirizzo dell'istruzione viene caricato nel contatore di programma</p> Signup and view all the answers

    Qual è la capacità di un DVD a doppio strato?

    <p>17 GB</p> Signup and view all the answers

    Qual è la funzione principale di un programma assemblatore?

    <p>Convertire il codice assembly in linguaggio macchina</p> Signup and view all the answers

    La formattazione di un disco è necessaria per:

    <p>Identificare la posizione dei settori sul disco.</p> Signup and view all the answers

    Quali elementi distingue il linguaggio assembly dal linguaggio macchina?

    <p>Utilizza simboli e nomi identificativi al posto di sequenze di bit</p> Signup and view all the answers

    Quale affermazione è corretta riguardo alla densità di memorizzazione sui dischi magnetici?

    <p>Cresce dalla periferia verso il centro del disco.</p> Signup and view all the answers

    Qual è il componente principale di un hard disk?

    <p>Disk drive</p> Signup and view all the answers

    Qual è la differenza principale tra indirizzamento relativo e relativo con auto incremento?

    <p>L'indirizzamento relativo può solo sommare valori, mentre il secondo incrementa o decrementa</p> Signup and view all the answers

    Quale tipo di indirizzamento utilizza una referenza a un registro per trovare l'indirizzo di un dato in memoria?

    <p>Indirizzamento indiretto</p> Signup and view all the answers

    Che cosa determina il tempo totale di accesso ai dati su un disco?

    <p>La somma di seek time e latency time</p> Signup and view all the answers

    Quali sono i due tipi di tabelle utilizzati nel processo di assemblaggio?

    <p>Tabella dei codici e tabella simboli</p> Signup and view all the answers

    Qual è la caratteristica principale dei dischi ottici rispetto ai dischi magnetici?

    <p>Memorizzano i dati utilizzando la luce.</p> Signup and view all the answers

    Un'operazione di somma viene inviata all'unità di controllo tramite quale processo?

    <p>Comunicazione di esecuzione</p> Signup and view all the answers

    Quale tecnologia di accesso è utilizzata dai nastri magnetici?

    <p>Accesso sequenziale</p> Signup and view all the answers

    Qual è il vantaggio principale dei dischi magnetici rispetto ai nastri magnetici?

    <p>Accesso più rapido ai dati.</p> Signup and view all the answers

    Qual è il limite principale della memorizzazione di un indirizzo in un campo dell'IR?

    <p>L'IR non ha abbastanza bit per memorizzare gli indirizzi</p> Signup and view all the answers

    Cosa determina il numero di passi e di operazioni nel processo di esecuzione delle istruzioni?

    <p>Il tipo di istruzione</p> Signup and view all the answers

    Qual è l'effetto dell'auto incremento sull'indirizzamento relativo?

    <p>Consente di gestire dati in blocchi consecutivi</p> Signup and view all the answers

    Study Notes

    Finitezza e Terminazione

    • Non confondere finitezza (si riferisce alle istruzioni dell'algoritmo) e terminazione (si riferisce alla quantità di passi del processo).

    Algoritmi

    • Un algoritmo è una sequenza di istruzioni contenenti variabili.
    • Le istruzioni possono essere di tre tipologie: elaborazione, input/output, controllo.
    • Le variabili hanno specifiche caratteristiche, tra cui: nome, locazione di memoria, tipo, valore assegnato, variabilità, struttura, origine, visibilità del codice e visibilità nel flusso di esecuzione.

    Istruzioni di Assegnamento/Elaborazione

    • La notazione xy indica l'assegnamento di un valore alla variabile x.
    • Un'operazione può essere eseguita sul lato destro della freccia (es. y+1).

    Istruzioni Aritmetico-Logiche

    • Le espressioni aritmetiche coinvolgono operatori come somma (+), sottrazione (-), moltiplicazione (*), divisione intera (/) e resto (%).
    • Le espressioni relazionali coinvolgono operatori di confronto come uguaglianza (==), diversità (!=), minoranza (<) tra numeri.
    • Le espressioni logiche e predicati logici utilizzano operatori come congiunzione (AND), disgiunzione (OR) e negazione (NOT).

    Algebra di Boole

    • Gli operatori logici possono essere unari (negazione) o binari (tutti gli altri).
    • Gli operatori logici hanno specifiche proprietà: identità, elemento nullo, idempotenza, inverso, commutativa, associativa, distributiva, teorema di assorbimento, teorema di De Morgan.

    Schemi a Blocchi

    • Gli schemi a blocchi rappresentano graficamente gli algoritmi.
    • I blocchi elementari sono: inizio, input/output, fine, elaborazione, selezione a 2 vie, sottoprogramma.
    • I blocchi sono collegati da archi.

    Memorie

    • La memoria centrale è suddivisa in parole (blocchi di memoria fisica).
    • Il tempo di accesso alla memoria dipende dalla tecnologia utilizzata.
    • Il sovraccarico di lavoro per la CPU è mitigato da dispositivi come DMA (data memory access).

    CPU

    • La CPU è composta da unità di controllo e data path.
    • L'unità di controllo comanda tutti i dispositivi del calcolatore.
    • Il data path include ALU (unità aritmetico-logica) e registri.

    Ciclo di Istruzione

    • Il ciclo di istruzione prevede le fasi di fetch, decode ed execution.
    • L'istruzione viene prelevata dalla memoria (fetch), decodificata (decode) ed eseguita (execution).
    • Le istruzioni sono organizzate in campi: codice operativo, operandi sorgente e destinazione.
    • I tipi di operandi sono: immediato, a registro, a memoria.

    Indirizzamento in Memoria

    • L'indirizzamento in memoria permette di localizzare dati in memoria.
    • I tipi di indirizzamento sono: diretto, indiretto, relativo, relativo con auto incremento o auto decremento.

    Linguaggio Assembly

    • Il linguaggio assembly rappresenta simbolicamente il linguaggio macchina (binario).
    • Il programma assemblatore traduce da linguaggio assembly in linguaggio macchina.
    • Il linguaggio assembly è più leggibile rispetto al linguaggio macchina.
    • Il linguaggio assembly utilizza nomi simbolici per codici di operazioni, indirizzi di registri, variabili ed etichette.

    Memorie Flash

    • Le memorie flash sono memorie elettroniche riscrivibili e non volatili che sono state sviluppate negli anni '80.
    • Il loro costo è diminuito significativamente nel tempo, portando alla loro diffusione in dispositivi come tablet e lettori MP3.
    • Le memorie flash possono essere utilizzate sia come memorie di massa relativamente piccole ma veloci, sia come memorie centrali relativamente lente ma adatte per esigenze di prestazioni limitate.
    • rispetto alle memorie elettroniche tradizionali, le memorie flash offrono il vantaggio di combinare la riscrivibilità con la non volatilità, ma hanno tempi di accesso, soprattutto di scrittura, più lenti.
    • Il tempo di lettura per le memorie flash varia tra circa 100 nanosecondi per gli accessi sequenziali e alcuni microsecondi per gli accessi casuali.

    Gerarchia delle Memorie

    • La memoria interna include registri, memoria cache e memoria centrale (RAM). Questa tipologia di memoria ha un'interazione intensa con la CPU. Caratteristiche: capacità inferiore, tempo di accesso minore, frequenza di accesso maggiore.
    • I dischi magnetici come hard disk, CD e DVD sono considerati memoria esterna online. Caratteristiche: capacità medie, tempo di accesso medio, frequenza di accesso medio.
    • I dischi ottici come CD-ROM, CD-RW, DVD e nastri sono considerati memoria offline. Caratteristiche: capacità elevate, tempo di accesso alto, frequenza di accesso minore (esterne).

    Collocazione Fisica delle Memorie

    • Registri, cache di livello I, cache di livello II e chip sono elementi chiave all'interno di un calcolatore per la gestione della memoria.

    Caratteristiche dei Livelli di Gerarchia di Memoria

    • Registri: capacità 1 KB, tempo di accesso 1 ns (ordine del ciclo di clock).
    • Cache: capacità 1-10 MB, tempo di accesso 10 ns, velocità di trasferimento 100 GB/s.
    • RAM: capacità 1-10 GB, tempo di accesso 100 ns, velocità di trasferimento 10 GB/s.
    • SSD: capacità 100-1000 GB, tempo di accesso 100 microsecondi, velocità di trasferimento < 1 GB/s.
    • Hard Disk: capacità 100-1000 GB, tempo di accesso 10 ms, velocità di trasferimento 0.1 GB/s.
    • Nastri, CD: capacità GB per unità (senza limite di capienza), tempo di accesso 100 ms, velocità di trasferimento 0.01 GB/s.
    • Obiettivo delle memorie centrali: velocità (memorie volatili).
    • Obiettivo delle memorie di massa: capienza (memorie non volatili).

    Principio di Località e Cache

    • La memoria cache è meno capiente della RAM (mille volte più piccola).
    • Per migliorare le prestazioni, la cache controlla se un dato è presente al suo interno prima di accedere alla RAM.
    • Il principio di località spaziale afferma che un programma spesso accede ad elementi con indirizzi vicini a quello dell'elemento corrente.
    • Il principio di località temporale afferma che un programma spesso accede allo stesso elemento in un breve intervallo di tempo.
    • Quando la CPU richiede un'istruzione o un dato non presente nella cache, vengono prelevati dalla RAM e trasferiti nella cache insieme alle celle adiacenti.
    • Se la cache è già piena, un nuovo blocco sostituisce un blocco vecchio, solitamente quello meno utilizzato di recente, seguendo una politica di sostituzione LRU (least recently used).
    • La combinazione di cache e RAM offre il vantaggio della capacità elevata e dei bassi costi della RAM e dell'alta velocità della cache.

    Memoria Cache (Informazioni Aggiuntive ed Esempi)

    • La memoria cache è suddivisa in blocchi di parole consecutive, ciascuno con una propria etichetta associata.
    • L'etichetta identifica un blocco di parole nella memoria centrale, mentre l'offset identifica la posizione specifica di una parola all'interno del blocco.
    • L'accesso alla cache avviene in base agli indirizzi della memoria RAM.
    • I confronti tra l'indirizzo della RAM e le etichette dei blocchi in cache vengono eseguiti in parallelo.
    • Se un confronto è positivo, il dato è già presente nella cache e l'accesso è rapido.
    • Se tutti i confronti sono negativi, il dato non è presente nella cache e viene prelevato dalla RAM.
    • I caricamenti dalla RAM alla cache non limitano la parola cercata, ma includono anche le celle adiacenti.
    • La velocità degli accessi alla cache è costante grazie all'esecuzione parallela dei confronti e all'accesso diretto alla parola desiderata all'interno del blocco.

    Dispositivi per le Memorie di Massa

    • Le memorie di massa devono essere non volatili e avere una grande capacità.
    • Le tecnologie principali per le memorie di massa sono quella magnetica e quella ottica, con le memorie flash che stanno diventando sempre più diffuse.

    Dischi e Nastri Magnetici

    • I dispositivi di memorizzazione magnetici utilizzano uno strato sottile di materiale magnetico per memorizzare dati, codificati in base allo stato di magnetizzazione.
    • Le testine di lettura/scrittura rilevano e modificano lo stato di magnetizzazione della superficie.
    • I nastri magnetici erano i primi dispositivi di memoria di massa, ma sono stati sostituiti da altre tecnologie.
    • L'accesso alle informazioni su un nastro è sequenziale, il che significa che per leggere un dato specifico è necessario scorrere attraverso i dati precedenti.
    • I dischi magnetici memorizzano dati su dischi circolari, suddivisi in tracce concentriche, settori e blocchi di dati.
    • Ogni settore contiene un blocco di dati, che rappresenta l'unità minima di trasferimento tra il disco e la RAM.
    • La densità di memorizzazione è maggiore verso il centro del disco rispetto alla periferia.
    • La formattazione organizza la superficie del disco in tracce e settori, identificando la posizione specifica di ogni settore.
    • Il tempo di accesso a un dato sul disco magnetico è composto da tempo di ricerca (seek time), tempo di rotazione (latency time) e tempo di trasferimento effettivo.
    • Gli hard disk moderni sono più veloci e hanno una capacità maggiore rispetto ai modelli precedenti.
    • I floppy disk erano un formato comune negli anni scorsi ma sono stati sostituiti dalle memorie flash.

    Dischi Ottici

    • I dischi ottici, come CD e DVD, sono un'alternativa ai dischi magnetici.
    • Hanno una capacità più elevata rispetto ai dischi magnetici, con i CD che offrono circa 600 MB e i DVD fino a 17 GB.
    • I dischi ottici sono stati ampiamente utilizzati per memorizzare grandi quantità di dati, come enciclopedie, legislazioni e sistemi operativi.

    Studying That Suits You

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

    Quiz Team

    Related Documents

    Description

    Questo quiz esamina i concetti chiave degli algoritmi, come finitezza e terminazione, insieme alle diverse tipologie di istruzioni. Si approfondiscono in particolare le istruzioni di assegnamento ed elaborazione, nonché le operazioni aritmetico-logiche. Testa la tua comprensione di queste basi dell'informatica.

    More Like This

    Use Quizgecko on...
    Browser
    Browser