Testi di Esercizi e Quesiti 1



Documenti analoghi
Esercitazione 2 di verifica

Un circuito integrato è una piastrina di silicio (o chip), quadrata o rettangolare, sulla cui superficie vengono realizzati e collegati

Reti sequenziali e strutturazione firmware

Corso di Laurea in Informatica Architetture degli Elaboratori

Informatica. Rappresentazione dei numeri Numerazione binaria

Macchine a stati finiti. Sommario. Sommario. M. Favalli. 5th June 2007

Laboratorio di Architettura degli Elaboratori A.A. 2015/16 Circuiti Logici

Macchine a stati finiti. Sommario. Sommario. M. Favalli. Le macchine a stati si utilizzano per modellare di sistemi fisici caratterizzabili mediante:

Ciclo di Istruzione. Ciclo di Istruzione. Controllo. Ciclo di Istruzione (diagramma di flusso) Lezione 5 e 6

Lezione 7 Sommatori e Moltiplicatori

Parte II Indice. Operazioni aritmetiche tra valori rappresentati in binario puro. Rappresentazione di numeri con segno

Lezione 8. La macchina universale

L unità di controllo. Il processore: unità di controllo. Le macchine a stati finiti. Struttura della macchina a stati finiti

Macchine a stati finiti G. MARSELLA UNIVERSITÀ DEL SALENTO

4 3 4 = 4 x x x 10 0 aaa

Rappresentazione dei numeri in un calcolatore

ARCHITETTURE MICROPROGRAMMATE. 1. Necessità di un architettura microprogrammata 1. Cos è un architettura microprogrammata? 4

SISTEMI DI NUMERAZIONE E CODICI

CALCOLATORI ELETTRONICI A cura di Luca Orrù. Lezione n.6. Unità di controllo microprogrammata

CPU. Maurizio Palesi

Il processore. Il processore. Il processore. Il processore. Architettura dell elaboratore

Siamo così arrivati all aritmetica modulare, ma anche a individuare alcuni aspetti di come funziona l aritmetica del calcolatore come vedremo.

FORMULE: Operatori matematici

4. Operazioni aritmetiche con i numeri binari

INFORMATICA 1 L. Mezzalira

Sistemi di Numerazione

Elementi di informatica

ESEMPIO 1: eseguire il complemento a 10 di 765

Architettura della CPU e linguaggio assembly Corso di Abilità Informatiche Laurea in Fisica. prof. ing. Corrado Santoro

Struttura del calcolatore

Architettura degli Elaboratori I Esercitazione 1 - Rappresentazione dei numeri

Laurea Specialistica in Informatica

ALGEBRA DELLE PROPOSIZIONI

Aritmetica dei Calcolatori 2

CALCOLATORI ELETTRONICI A cura di Luca Orrù. Lezione n.7. Il moltiplicatore binario e il ciclo di base di una CPU

Sommario. Definizione di informatica. Definizione di un calcolatore come esecutore. Gli algoritmi.

RAPPRESENTAZIONE BINARIA DEI NUMERI. Andrea Bobbio Anno Accademico

Esercizi per il recupero del debito formativo:

Fondamenti di Informatica

Architettura del calcolatore

Codifica binaria dei numeri relativi

FONDAMENTI di INFORMATICA L. Mezzalira

Codifica dei numeri negativi

Architettura (10/9/2003) Pag. 1/6. Cognome e Nome (in stampatello):

Tecniche per il progetto di sistemi elettronici tolleranti ai guasti

OSSERVAZIONI TEORICHE Lezione n. 4

Memorie ROM (Read Only Memory)

PROVA INTRACORSO TRACCIA A Pagina 1 di 6

ELENCO CLIENTI FORNITORI Patch1

Linguaggio del calcolatore. Algebra di Boole AND, OR, NOT. Notazione. And e or. Circuiti e reti combinatorie. Appendice A + dispense

I sistemi di numerazione

L Assembler Istruzioni Aritmetiche. M. Rebaudengo - M. Sonza Reorda. Politecnico di Torino Dip. di Automatica e Informatica

Progettaz. e sviluppo Data Base

Aritmetica dei Calcolatori 1

RETI DI TELECOMUNICAZIONE

Rappresentazione delle informazioni

Laboratorio di Architettura degli Elaboratori - A.A. 2012/13

Coordinazione Distribuita

Rete Internet Prova in Itinere Mercoledì 23 Aprile 2008

Architettura hw. La memoria e la cpu

Corso di Informatica Applicata. Lezione 3. Università degli studi di Cassino

Calcolatori Elettronici B a.a. 2006/2007

Architettura dei Calcolatori Parte Operativa e Parte Controllo

Scheduling della CPU. Sistemi multiprocessori e real time Metodi di valutazione Esempi: Solaris 2 Windows 2000 Linux

Ottimizzazione delle interrogazioni (parte I)

- Algoritmi ed esecutori di algoritmi - ALGORITMI MACCHINA DI VON NEUMANN

SISTEMI DI ELABORAZIONE DELLE INFORMAZIONI

Esempi ed esercizi Aritmetica degli elaboratori e algebra di commutazione

ESERCIZI di FONDAMENTI DI INFORMATICA RAPPRESENTAZIONE DEI NUMERI

Algoritmi e strutture dati. Codici di Huffman

Esercitazione Informatica I AA Nicola Paoletti

Calcolatori Elettronici A a.a. 2008/2009

Sequenziamento a minimo costo di commutazione in macchine o celle con costo lineare e posizione home (In generale il metodo di ottimizzazione

ESERCIZI DI PROBLEM SOLVING E COMPOSIZIONE DEI DIAGRAMMI DI FLUSSO per le classi terza

Calcolatori Elettronici A a.a. 2008/2009. RETI SEQUENZIALI: ESERCIZI Massimiliano Giacomin

CLASSE III A I.T.I. (ABACUS) SISTEMI DI ELABORAZIONE E TRASMISSIONE DEI DATI VERIFICA DI RECUPERO

Comparatori. Comparatori di uguaglianza

risulta (x) = 1 se x < 0.

Lez. 3 L elaborazione (II parte) Prof. Pasquale De Michele Gruppo 2

Appunti di informatica. Lezione 2 anno accademico Mario Verdicchio

Introduzione. Coordinazione Distribuita. Ordinamento degli eventi. Realizzazione di. Mutua Esclusione Distribuita (DME)

Complemento al corso di Fondamenti di Informatica I corsi di laurea in ingegneria, settore dell informazione Università la Sapienza Consorzio Nettuno

Sistema di numerazione binario, operazioni relative e trasformazione da base due a base dieci e viceversa di Luciano Porta

Corso di Sistemi Operativi Ingegneria Elettronica e Informatica prof. Rocco Aversa. Raccolta prove scritte. Prova scritta

SCHEDA DI RECUPERO SUI NUMERI RELATIVI

Corso di Informatica Generale (C. L. Economia e Commercio) Ing. Valerio Lacagnina Rappresentazione in virgola mobile

LINGUAGGI DI PROGRAMMAZIONE

Esame di INFORMATICA

Algebra Booleana 1 ALGEBRA BOOLEANA: VARIABILI E FUNZIONI LOGICHE

Algoritmo. I dati su cui opera un'istruzione sono forniti all'algoritmo dall'esterno oppure sono il risultato di istruzioni eseguite precedentemente.

Esempio: dest = parolagigante, lettere = PROVA dest (dopo l'invocazione di tipo pari ) = pprrlogvgante

Reti Logiche. Le reti logiche sono gli elementi architettonici di base dei calcolatori, e di tutti gli apparati per elaborazioni digitali.

Lezione 2 OPERAZIONI ARITMETICHE E LOGICHE ARCHITETTURA DI UN ELABORATORE. Lez2 Informatica Sc. Giuridiche Op. aritmetiche/logiche arch.

Funzioni in C. Violetta Lonati

( x) ( x) 0. Equazioni irrazionali

DMA Accesso Diretto alla Memoria

Valutazione delle Prestazioni. Valutazione delle Prestazioni. Architetture dei Calcolatori (Lettere. Tempo di risposta e throughput

Valutazione delle Prestazioni

Lezioni di Matematica 1 - I modulo

Informazione analogica e digitale

Transcript:

Architettura degli Elaboratori, 2009-2010 Testi di Esercizi e Quesiti 1 1. Una rete logica ha quattro variabili booleane di ingresso a 0, a 1, b 0, b 1 e due variabili booleane di uscita z 0, z 1. La specifica del comportamento è la seguente: se a 0 a 1 : z 0 = max (b 0, b 1 ) e z 1 = min (b 0, b 1 ), altrimenti z 0 e z 1 sono rispettivamente uguali alla somma ed al riporto dell addizione di b 0, b 1. 2. Progettare una ALU in complemento a due che esegua addizione, sottrazione, traslazione destra e traslazione sinistra (le traslazioni applicate all ingresso sinistro della ALU). La ALU dispone dei Flag (risultati di predicati): Segno del risultato dell operazione eseguita, risultato uguale a Zero, Carry (il riporto della cifra più significativa), Overflow, e Shifted (bit espulso nelle traslazioni). Applicare formalmente i vari metodi per passare dalla specifica alla realizzazione. 3. Una rete logica ha quattro variabili booleane di ingresso a 0, a 1, b 0, b 1 e due variabili booleane di uscita z 0, z 1. La specifica del comportamento è la seguente: se a 0 a 1 : z 0 = max (b 0, b 1 ) e z 1 rimane inalterata, altrimenti z 0 rimane inalterata e z 1 = 0. 4. Una rete logica riceve in ingresso una sequenza di coppie (J, A), dove J è un valore naturale di 5 bit ed A è un valore intero di 32 bit in complemento a due, ed invia in uscita una sequenza di coppie (Z 0, Z 1 ), dove Z 0 è un valore booleano e Z 1 un valore intero di 32 bit in complemento a due. Sapendo che A assume il valore zero prima che inizi la sequenza di ingresso, la specifica del comportamento della rete è la seguente: per ogni coppia (J, A), se A[J] = 0, Z 0 riconosce se A è una potenza di 2 e Z 1 è uguale al massimo tra il valore attuale di A ed il valore precedente di A, se A[J] = 1, Z 0 riconosce se 1024 A < 2048 e Z 1 è uguale al minimo tra il valore attuale di A ed il valore precedente di A. 5. Fare l analisi della rete sequenziale della figura seguente e valutarne il ciclo di clock nelle stesse ipotesi dell esercizio precedente. Le operazioni di shift (R = verso destra, L = verso sinistra) sono applicabili sia al primo che al secondo ingresso della ALU. M Q A B 1 K 1 K 2 2 Flag SH (bit espulso) Flag S (segno) ALU : +, sh R, sh L U a1 a2 a3

2 Trasformare la rete nella rete equivalente secondo l altro modello matematico e farne l analisi. Modificare la in modo da assicurare che gli ingressi M, Q rimangano stabili per tutta la durata del ciclo di clock. Fare l analisi della rete così modificata. 6. I seguenti microprogrammi rappresentano due implementazioni diverse della stessa funzione: microprogramma 1:: 0. B A, 1 1. shl (1) (A) C, 2 2. shr (1) (A) A, 3 3. A + C A, 4 4. A + D A, 0 microprogramma 2:: 0. B A, 1 1. shl (1) (A) C, 2 2. shr (1) (A) A, 3 3. A + C + D A, 0 In entrambi i casi: a) mostrare lo schema della Parte Operativa, b) calcolare la lunghezza (in nsec) del ciclo di clock assumendo ritardi tipici multipli di t p. Confrontare quindi le due implementazioni dal punto di vista del tempo complessivo di elaborazione e trarre delle conseguenze di portata generale sul problema di minimizzare il tempo di elaborazione. 7. Progettare una unità di elaborazione U che riceve in ingresso messaggi (OP, DEST A, B), con OP e DEST di 1 bit, e A e B interi di 32 bit; se OP = 0 calcola (A + B 5) / 2, altrimenti (A + B) % 1024; se DEST = 0 invia il risultato ad una certa unità U a, altrimenti lo invia ad una unità U b diversa da U a. Spiegare se tale funzionalità può essere concettualmente realizzata anche come una singola rete combinatoria o come una singola rete sequenziale. Nel caso una o entrambe le possibilità esistano, provare a darne una effettiva realizzazione. 8. Spiegare se, in generale, il numero delle variabili di condizionamento, il numero delle variabili dello stato interno della Parte Controllo e il numero delle variabili di controllo hanno impatto sul ritardo di stabilizzazione della funzione delle uscite e della funzione di transizione dello stato interno della Parte Controllo di un unità. 9. Spiegare il seguente concetto: la formula per determinare il ciclo di clock fornisce, in generale, una valutazione del caso peggiore, ma con un procedimento la cui complessità è indipendente dal numero di frasi del microprogramma. Verificare questo concetto su un esempio opportuno. 10. Progettare una unità di elaborazione così definita: ha tre ingressi: A di 32 bit, J di 5 bit, OP di 1 bit, e due uscite: COUNT di 6 bit e B di 32 bit; interpreta due operazioni esterne: per OP = 0: se il bit J- esimo di A assume il valore 1, allora il valore di A viene trasferito in B; per OP =1: il numero di 1 presenti in A viene trasferito in COUNT. In questo esercizio non è permesso di far uso della funzione di shift.

3 11. Una unità di elaborazione possiede al suo interno una memoria A di 1M locazioni di 32 bit, riceve messaggi IN di 32 bit e invia messaggi OUT di 21 bit. L unità è descritta del seguente microprogramma, dove I e C sono registri di 21 bit: 0. IN B, 0 I, 0 C, 1 1. (I 20, segno(a[i] B), B 5 = 0 0 0, 0 1 1 ) C + 1 C, I + 1 I, 1 ; (= 0 0 1, 0 1 0 ) I + 1 I, 1 ; (= 1 ) C OUT, 0 Ricavare la PO, dimostrare che risponde al modello matematico di Moore, e valutare il ciclo di clock di U. 12 Progettare una unità di elaborazione avente una uscita A e due ingressi: COP, di 1 bit, e N, numero naturale di k bit (k > 1). Se COP = 0 in A viene calcolato il valore dell N-esimo numero della serie di Fibonacci, se COP = 1 la somma dei primi N numeri naturali. Valutare il tempo medio di elaborazione dell unità, supponendo che le due operazioni esterne siano equiprobabili. 13. Progettare una unità di elaborazione capace di eseguire operazioni su array unidimensionali di interi. L unità contiene una memoria di registri A[N]. Le operazioni da implementare sono: a) caricamento di A con dati provenienti dall esterno, uno alla volta in sequenza, b) somma di tutti gli elementi di A (da restituire all esterno), c) ricerca di un valore x in A, restituendo all esterno l indirizzo dell elemento uguale ad x se esiste, oppure un numero negativo. 14. Una unità di elaborazione U contiene un componente logico memoria M di capacità N = 16K interi non negativi di 32 bit. Riceve da U1 messaggi (A, IND), con A intero non negativo di 32 bit e IND di 14 bit, ed invia ad U2 messaggi (OUT) di 15 bit. Una prima versione di U è espressa dal seguente microprogramma, dove zero (M[IND] A) funge da codice operativo di due operazioni esterne equiprobabili, e la funzione booleana f(x), con x intero non negativo, è vera se e solo se x è una potenza di due 256 Mega: 0. ( RDY1, zero(m[ind] A) = 0 ) nop, 0; ( = 1 1 ) reset RDY1, set ACK1, 0 I, 0 C, 1; ( = 1 0 ) reset RDY1, set ACK1, A M[IND], 0 1. (I 0, ACK2 = 0 ) f(m[i m ]) H, 2; ( = 1 0 ) nop, 1; ( = 1 1 ) C OUT, set RDY2, reset ACK2, 0; 2. ( H = 0 ) I + 1 I, 1; ( = 1 ) I + 1 I, C + 1 C, 1 Si chiede una seconda versione di U tale che, esprimendo il tempo medio di elaborazione della prima versione come T 1 p N, la seconda versione abbia un tempo medio di elaborazione T 2 q N, con q < p. Detto t p il ritardo di una porta logica con al massimo 8 ingressi, le ALU e la memoria M hanno ritardo di 5t p. Scrivere il microprogramma della seconda versione, realizzare f(x) e valutare le costanti p e q. Spiegare chiaramente come si è ragionato per definire la seconda versione.

4 15. Progettare una unità di elaborazione che implementi una coda FIFO (First In First Out) di al più 64 elementi di tipo intero. L unità interagisce con una unità produttrice, che invia elementi da inserire, e con una unità consumatrice, che chiede elementi da estrarre. 16. Una unità di elaborazione U contiene una memoria MEM di capacità 1M parole. U comunica in ingresso con una unità U Master e in uscita con le unità U 0,, U 7. U riceve in ingresso messaggi (IDA, IDB, J) dove IDA e IDB sono gli identificatori unici di due array A e B di 1K bit contenuti in M, e J è un valore di 2 bit. U calcola il numero NUM di elementi di A e B, con lo stesso indice, che hanno il byte J-esimo uguale. Detto Q l ultimo valore di tale byte, NUM è inviato all unità U H con H = Q div 32. É noto il ritardo t p di una porta logica con al massimo 8 ingressi. Una ALU ha ritardo uguale a 5t p. Valutare il tempo medio di elaborazione di U in funzione di t p, spiegando adeguatamente la risposta. 17. Una unità di elaborazione U contiene un componente logico memoria M di capacità 64 parole ognuna di 32 bit; riceve in ingresso, da una stessa unità U M, messaggi (A, B, C, J) con A e B parole di 32 bit, C di 64 bit, e J di 4 bit. I valori di C hanno sempre la seguente caratteristica: uno ed un solo bit vale 1 e tutti gli altri 0; nel seguito con P(C) si indicherà la posizione del bit uguale a 1 in C; invia in uscita messaggi di una parola ad una delle 16 unità U 0,, U 15. Il funzionamento è il seguente: se A < B: scrive nella locazione di M di indirizzo uguale a P(C) il contenuto della stessa locazione incrementato di 1, ed invia il valore scritto all unità U J ; se A = B: scrive nella locazione di M di indirizzo uguale a P(C) il contenuto della stessa locazione incrementato di 1; se A > B: invia il contenuto della locazione di M di indirizzo uguale a P(C) incrementato di 1 all unità U J. È noto il ritardo t p di una porta logica con al più 8 ingressi. Il ritardo di una ALU vale 5t p. Spiegare e mostrare in dettaglio la struttura del componente logico memoria M in modo da utilizzare direttamente il valore di C per l indirizzamento. Scrivere e spiegare il microprogramma e valutare il tempo di elaborazione di U, in funzione di t p, rispettando entrambi i seguenti requisiti: a) minimizzare il numero di variabili di condizionamento, b) minimizzare il numero di cicli di clock. Mostrare la struttura della Parte Operativa. 18. Una unità U riceve da una unità U A una chiave K di 16 bit ed invia ad una unità U B il numero di occorrenze di K in una memoria interna M di 16K parole di 16 bit ciascuna. Al fine di velocizzare le operazioni, si assume che i valori relativi alle occorrenze di 8 chiavi distinte vengano mantenuti in 8 coppie di registri < K i,v i >, dove K i contiene il valore della chiave ricevuta da U A e V i contiene il numero di occorrenze della chiave K i in M. Si realizzi l unità in modo che, in presenza della chiave K in uno dei registri K i, l operazione sia conclusa in un unico ciclo di clock, spedendo a U B il valore V i. Si assuma che l unità U A non spedisca mai K = 0. Nel caso in cui la chiave non sia presente in uno degli 8 registri K i, si effettua una ricerca di K in M e si memorizza sia K che V (V = numero delle occorrenze di K in M) in K j e V j, rispettivamente, dove

5 j = V mod 8. Spiegando chiaramente la soluzione adottata, si forniscano il microprogramma, lo schema della Parte Operativa, e la valutazione del tempo medio di elaborazione in funzione del ciclo di clock, assumendo che la percentuale di presenza delle chiavi nei registri sia pari al 75%.