Cap. 1: Calcolatore elettronico e modello di Von Neumann
Un calcolatore elettronico è un sistema numerico, automatico e a programma registrabile. Il modello di Von Neumann è una tipologia di architettura hardware per computer composta da:
- Unità di input: tramite la quale i dati vengono inseriti nel calcolatore per essere elaborati.
- Unità di output: tramite la quale vengono trasmessi i dati dalla memoria ad una periferica di output come il monitor.
- Memoria: unità incaricata di conservare dati (RAM).
- Unità di controllo (UC): controlla e sincronizza le varie unità per permettere la massima efficacia del sistema.
- Unità aritmetico-logica (ALU): esegue calcoli matematici e logici.
- Bus: un canale che collega tutti i componenti tra loro.
In particolare, il calcolatore elettronico è a sua volta suddiviso in CPU, I/O, memoria e bus.
Che cos'è il processore e di cosa si occupa?
Il processore rappresenta la capacità di elaborazione del calcolatore e si occupa dell'esecuzione di un set di operazioni più o meno complesse. Le istruzioni che vengono date al processore sono del tipo:
- Comandi di trasferimento di informazioni.
- Operazioni logiche e aritmetiche.
Dentro la memoria centrale vengono immagazzinate sequenze di istruzioni e i dati di ingresso o uscita dell’elaborazione.
Che cos'è l'algebra booleana?
L’algebra di Boole è un ramo dell’algebra dove le variabili possono assumere i valori 0 e 1. Viene utilizzata per analizzare e sintetizzare i circuiti logici. Le operazioni base sono gli operatori logici (AND, OR e NOT), che per il teorema di De Morgan prendono il nome di sistema funzionalmente completo in quanto queste tre porte sono in grado di generare ogni tipo di circuito.
Come calcoliamo il numero di variabili dipendenti avendo n variabili?
Il numero di variabili dipendenti è 2n, dove n è il numero delle variabili.
Che cos'è un mintermine e cos'è invece un maxtermine?
Un mintermine, o anche termine prodotto P, è una clausola di ordine (product of sum), utilizzato per la forma di minimizzazione POS ovvero il prodotto di tutti i letterali. Un maxtermine, o anche fattore somma S, invece è una somma di letterali e viene utilizzato nella minimizzazione (sum of product), SOP ovvero la somma di tutti i letterali, uno per ciascuna variabile.
Quanti modi conosciamo per minimizzare i circuiti?
Conosciamo tre metodi per minimizzare i nostri circuiti. Il primo è quello delle mappe di Karnaugh dove andiamo a ricercare i sottocubi di area massima, il secondo è quello di Quine col metodo algebrico, mentre il terzo, ed anche il più lungo, è quello di McCluskey con il metodo tabellare, nel quale andiamo a verificare passo per passo quali bit collassano.
Cap. 2: Dati e informazioni
Dato e informazione sono due concetti distinti:
- Il dato rappresenta il risultato di una misurazione (es: un numero).
- L’informazione è ciò che si ottiene dal processing del dato.
Qualunque informazione è definita tramite:
- Attributo: il significato associato all’informazione.
- Tipo: l’insieme degli elementi entro cui è stato scelto il valore dell’attributo.
- Valore: l’elemento assunto dall’informazione.
Esistono due categorie di tipi:
- Semplici: i dati rappresentati sono entità atomiche (numeri interi, caratteri di un alfabeto, ecc.).
- Strutturati: i dati rappresentati sono composti da più tipi semplici (vettori, posizione geografica, ecc.).
Cos'è la cardinalità?
La cardinalità è il numero degli elementi che compongono l’insieme dei valori che può assumere un attributo di un certo tipo. Può essere usata per misurare la quantità di informazioni.
In architettura, cos'è l’alfabeto?
Un alfabeto è un insieme finito non vuoto di simboli. Dato un alfabeto S è definita una stringa o parola una sequenza finita di caratteri di S. Data una stringa x, il numero di caratteri che la costituiscono è chiamato lunghezza della stringa e si indica con |x|. Una stringa x di lunghezza 0 è definita come stringa vuota o nulla. Dato un alfabeto S, l’insieme di tutte le stringhe, compreso quella vuota o nulla, è indicato con S*.
Codifica
Alfabeto origine T: il dato da rappresentare appartiene al tipo T = (x1, …, xn)
Alfabeto in codice E: il dato è rappresentato mediante dati di tipo E = (a1, …, ak)
Codice C: la codifica di T mediante E è un’applicazione C, detta codice, che trasforma ciascun elemento x ∈ T in una stringa di lunghezza l di elementi a ∈ E, detta parola codice.
Che cos'è la codifica a lunghezza fissa?
Parliamo di codifica a lunghezza fissa quando abbiamo la lunghezza del codice che chiamiamo (l) uguale ad m (che rappresenta il numero di posti della stringa codice) costante per tutti gli elementi di T (che è l'alfabeto origine). Per calcolare m dobbiamo fare il log in base k di N che è la cardinalità.
Che cos'è un codice incompleto e cos'è un codice ridondante?
Un codice si dice incompleto se ci sono parole codice non assegnate ad alcun elemento dell'alfabeto origine. In parole povere, se non viene riempito tutto lo spazio che allochiamo per la rappresentazione di un determinato valore. Un codice si dice ridondante quando l > m, quando usiamo più caratteri dell'alfabeto in codice di quanti ne servano effettivamente.
Che cos'è la codifica a lunghezza variabile?
Usiamo la codifica a lunghezza variabile quando gli elementi dell'alfabeto origine non hanno tutti la stessa probabilità di occorrenza. I vantaggi di questa tecnica sono risparmio di spazio nella memorizzazione e risparmio di tempo nella trasmissione.
Che cos'è la rappresentazione decodificata?
La rappresentazione decodificata è una codifica mediante la quale la lunghezza del codice è uguale alla cardinalità dell'insieme da codificare (m = N). Questa è la codifica più semplice ma allo stesso tempo quella più costosa.
Che cos'è il transcodificatore?
Parliamo di transcodificatore quando codifichiamo due volte lo stesso dato con codici diversi. Ce ne rendiamo conto nella tabella di verità del display a sette segmenti, il quale riceve in ingresso la codifica della cifra da visualizzare e genera le uscite selezionando i segmenti che devono essere accesi sul display per far visualizzare correttamente il simbolo corrispondente.
Che cos'è un Decoder (Decodificatore)?
Un decodificatore è una macchina che riceve in ingresso una parola codice e presenta in uscita la sua rappresentazione decodificata. Nel circuito integrato, quando il segnale di abilitazione è = 1, viene asserita l’uscita il cui pedice, in decimale, corrisponde al numero binario in ingresso (A bit meno significato).
Che cos'è un Encoder (Codificatore)?
Un codificatore è una macchina che riceve in ingresso una rappresentazione decodificata e fornisce in uscita la parola codice associata.
Che cos'è un Multiplexer indirizzabile (MUXL)?
È un MUXL al quale è associato un decodificatore le cui uscite sono collegate agli ingressi di selezione, ovvero i segnali di abilitazione del MUXL. In questo modo il dato viene individuato da un indirizzo e non da una decodifica. (Abbiamo più ingressi (A, B) ed un'uscita (F)).
Che cos'è una Demultiplexer indirizzabile (DMUXL)?
È un DMUXL i cui segnali di abilitazione sono collegati con le uscite di un decodificatore. (Abbiamo un ingresso (D) e più uscite (F0, F1, F2, F3)).
Che cos'è un comparatore?
Il comparatore è una macchina che ha in ingresso due dati A e B ed in uscita rilascia un segnale Booleano EQ che alza il suo flag ad 1 se A = B.
Che cos'è il bit di parità e a che serve?
Quando trasferiamo dei dati da una sorgente ad una destinazione si usano codici ridondanti affinché si possano controllare presenze di eventuali errori. Ci affidiamo al controllo con singolo bit di parità, ovvero, le parole devono arrivare al destinatario con una lunghezza di bit pari prefissata. Qualora il numero di bit '1' che andiamo a contare non dovesse risultarci un numero pari (bensì dispari), aggiungiamo un bit, che muterà la disparità della stringa codice, in pari.
Che cos'è una rete di parità?
Una rete di parità è una macchina che determina la parità di una parola di n bit. Se il flag P si alza ad 1, il numero è pari. Se il flag resta a 0 è dispari.
Cap. 3: Differenze tra reti combinatorie e reti sequenziali
Nelle reti combinatorie il valore delle uscite in un determinato istante dipende solo ed esclusivamente dal valore degli ingressi in quello stesso istante. Nelle reti sequenziali il valore delle uscite in un determinato istante dipende dal valore degli ingressi in quell'istante e dagli altri ingressi del circuito. Dunque, nelle reti sequenziali dobbiamo introdurre anche il concetto di tempo e di stato.
Che cos'è il concetto di tempo e di stato?
Gli istanti discreti vengono scanditi dal clock che è un segnale periodico. Durante un ciclo di clock T(Ck) il segnale può assumere due valori logici: 1, 0. Il passaggio da 0 ad 1 è detto fronte di salita. Il passaggio da 1 a 0 è detto fronte di discesa. Le uscite di un circuito sequenziale dipendono dagli stati precedenti. Lo stato di un circuito sequenziale, dunque, è determinato da variabili di stato e da una funzione di transizione che in base allo stato presente e agli ingressi che forniamo, determina lo stato prossimo. Lo stato viene aggiornato ad ogni ciclo di clock. Per memorizzare gli stati di un circuito ci serviamo di elementi di memoria detti bistabili (flip-flop).
Che cos'è un automa a stati finiti?
Il numero degli stati che un circuito sequenziale può assumere è finito. Il modello che descrive il comportamento degli stati prende il nome di automa a stati finiti ed è definita dalla quintupla. (I, U, S, T, W). I = Alfabeto di ingresso. U = Alfabeto di uscita. S = Insieme degli stati. T = Funzione prossimo stato. W = Funzione di uscita.
Che cos'è la tabella degli stati?
Il comportamento di una macchina sequenziale è descritto dalla tabella degli stati. Negli indici di colonna ci sono i simboli di ingresso. Negli indici di riga troviamo i simboli di stato. (Macchine di Mealy e di Moore).
Cap. 4: Che cosa sono i latch ed i flip-flop?
I latch sono dispositivi in grado di mantenere uno stato stabile risultante da un segnale di ingresso momentaneo fino a quando non viene ripristinato da un ulteriore segnale. Un flip flop è invece un circuito che ha due stati stabili e può essere utilizzato per memorizzare le informazioni sullo stato. Hanno due output (Q e Q') che sono sempre l'uno il complemento dell'altro.
Che cosa sono i latch SR e come sono fatti?
Il latch SR è realizzato con due porte NOR o due porte NAND. Ha due linee di ingresso S (set) e R (reset). Set porta Q allo stato 1 e memorizza 1. Reset porta Q allo stato 0 e memorizza 0. In più ha due linee di uscita Q e Q' che sono complementari. I seguenti latch sono retroattivati, ovvero sono collegati in maniera tale che un'uscita sia un ingresso dell'altro. Il valore delle uscite dipende, oltre che dai valori attuali, anche dalla sequenza dei valori precedenti delle variabili di ingresso. Non è possibile applicare sia a S che a R il valore logico 1, in tal caso l'uscita del latch risulterebbe imprevedibile (potrebbe oscillare). Il latch è un automa di Moore perché l'informazione prodotta in output è già codificata nello stato in cui viene a trovarsi l'automa. Se Q = 0 darà output 0, se Q = 1 darà output 1.
Differenza tra Sistemi sincroni e asincroni?
Nei sistemi asincroni i segnali di uscita possono cambiare ogni volta che uno o più ingressi cambiano. Nei sistemi sincroni l'istante in cui l'uscita può cambiare è determinato da un segnale di clock. Dunque: nei latch asincroni le transizioni di stato dipendono direttamente dalle variazioni delle variabili in ingresso. Nei latch sincroni le transizioni di stato sono regolate da segnali esterni di tipo impulsivi (o clock).
Che cos'è un latch Asincrono?
Il latch SR è asincrono in quanto le sue uscite seguono le variazioni delle variabili in ingresso con un ritardo, che dipende dal ritardo delle sue porte.
Che cos'è un latch Sincrono?
Nei latch sincroni SR oltre ad S ed R esiste anche un input detto clock. Le variabili di eccitazione Set e Reset sono in AND con un segnale di clock. Nei latch Sincroni quando il clock è = 0 il latch non può cambiare stato. Mentre quando il clock è = 1, il latch diventa sensibile alle variazioni di S ed R e si comporta nello stesso modo di quello asincrono.
Che cos'è il latch JK e come si comporta?
Il latch JK è una soluzione seppur parziale al problema che abbiamo avuto con i latch SR nel caso di S = 1 e R = 1. Infatti, per evitare che l'uscita sia imprevedibile, portiamo i valori Q e Q' in AND. In tal modo non potranno...
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
-
Architettura web/Architettura internet
-
Tesina Architettura dei calcolatori
-
Appunti Architettura dei calcolatori
-
Architettura MIPS - Calcolatori elettronici