Alcuni esercizi e domande per il compitino quali sono le parti principali dellarchitettura di von Neumann? citare le caratteristiche salienti della RAM.

Slides:



Advertisements
Presentazioni simili
…da von Neumann al computer quantistico
Advertisements

LINGUAGGIO MACCHINA e ASSEMBLER
Informatica Generale Marzia Buscemi
Informatica Generale Susanna Pelagatti
Informatica Generale Marzia Buscemi IMT Lucca
Università degli Studi di Napoli Federico II Facoltà di Ingegneria Dipartimento di Informatica e Sistemistica Corso di Sistemi ad elevate prestazioni –
MATLAB. Scopo della lezione Programmare in Matlab Funzioni Cicli Operatori relazionali Esercizi vari.
Elaboratore e Sistemi Operativo
Algoritmi e Programmazione
Informatica Generale Marzia Buscemi
1 Informatica Generale Susanna Pelagatti Ricevimento: Mercoledì ore presso Dipartimento di Informatica, Via Buonarroti,
(sommario delle lezioni in fondo alla pagina)
Ottimizzazione statica del codice per processori pipelined Canella Matteo & Miglioli Filippo.
Programmazione Procedurale in Linguaggio C++
Programmazione Procedurale in Linguaggio C++
Algebra di Boole ed elementi di logica
Informatica di base A.A. 2003/2004 Algoritmi e programmi
27+ 12= Risultato troppo grande = = 39 = -25 errore di overflow in binario =
Larchitettura di Von Neumann CPU RAM Mem second I/O bus.
Microprogrammazione Codice operativo.
Cosè un programma? LALA PROGRAMMAZIONE PROGRAMMAZIONELALA PROGRAMMAZIONE PROGRAMMAZIONE UN ELENCO DI ISTRUZIONI, APPARTENENTI A UN BEN DEFINITO LINGUAGGIO,
Programmazione Un programma descrive al computer, in estremo dettaglio, la sequenza di passi necessari a svolgere un particolare compito L’attività di.
DAL PROBLEMA ALL'ALGORITMO Problemi e Programmi Paolo Amico
Il Linguaggio Macchina
Codifica di algoritmi linguaggio macchina vs programmazione strutturata Lab Programmazione - turno /2006.
Organizzazione del corso
3. Architettura Vengono descritte le principali componenti hardware di un calcolatore.
Lezione 4 informatica di base per le discipline umanistiche vito pirrelli Istituto di Linguistica Computazionale CNR Pisa Dipartimento di linguistica Università
Lezione 5 informatica di base per le discipline umanistiche vito pirrelli Istituto di Linguistica Computazionale CNR Pisa Dipartimento di linguistica Università
Lezione 4 informatica di base per le discipline umanistiche vito pirrelli Istituto di Linguistica Computazionale CNR Pisa Dipartimento di linguistica Università
Calcolo di resistenze viste da vari punti
Labortaorio informatica 2003 Prof. Giovanni Raho 1 INFORMATICA Termini e concetti principali.
La macchina di von Neumann
UNIVERSITA’ STUDI DI ROMA “FORO ITALICO”
Esercizio 10.* Un cassiere vuole dare un resto di n centesimi di euro usando il minimo numero di monete. a) Descrivere un algoritmo goloso per fare ciò.
L' ARCHITETTURA DI VON NEUMANN
Prova di verifica Fondamenti Informatica 1 15 Febbraio 2008.
CODIFICA Da flow-chart a C++.
Architettura del calcolatore
Sistemi di elaborazione e trasmissione delle informazioni
Unità centrale di processo
Informatica Lezione 4 Scienze e tecniche psicologiche dello sviluppo e dell'educazione Anno accademico:
IO E LA MATEMATICA PROCEDURALE
Architettura del calcolatore
Vettori (a una dimensione)
Variabili Numeriche –Interi (byte, short, int, long): complemento a 2 –A virgola mobile (float, double): IEEE 745 Alfanumeriche –Carattere (char): Unicode.
Parte 3 Lo stato: variabili, espressioni ed assegnazioni
Informatica Lezione 5 Scienze e tecniche psicologiche dello sviluppo e dell'educazione (laurea triennale) Anno accademico:
1 Fabio Scotti – Università degli Studi di Milano Fabio Scotti ( ) Laboratorio di programmazione per la sicurezza Valentina Ciriani ( )
MICROPROCESSORI Un processore è un circuito integrato in grado di effettuare operazioni di calcolo o di elaborazione dell'informazione Il circuito contiene.
PRIMI ELEMENTI DI PROGRAMMAZIONE
1 Il linguaggio C Precisazioni sull’esperienza in laboratorio.
Esempi domande primo compitino Claudia Raibulet
Architettura di un calcolatore e linguaggio macchina.
1 Informatica di base A.A. 2004/ Informazioni sul docente Docente: Prof. Francesca Rossi Tel:
L’esecuzione dei programmi
Rappresentazioni a lunghezza fissa: problemi
Copyright, 1996 © Dale Carnegie & Associates, Inc. Fondamenti di Informatica Prof. Livio Colussi Ufficio: via Belzoni 7, I piano Indirizzo
Fondamenti di Informatica
2 bits di mantissa e 3 di esponente = 0 =
Rappresentazione dell'informazione
Il calcolatore Stefano Cagnoni e Monica Mordonini
Esercizi.
Conversione binario-ottale/esadecimale
Rappresentazione degli interi
Esempio scriviamo un programma in linguaggio macchina che: trasferisce il contenuto delle 2 parole della RAM di indirizzi 64 e 68 nei registri R 0 ed R.
Il Processore Il processore è la componente dell’unità centrale che elabora le informazioni contenute nella memoria principale L’elaborazione avviene eseguedo.
Rappresentazione dei numeri
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Esercitazione pre 1ma prova in itinere Marco D. Santambrogio – Ver. aggiornata.
Risoluzione esercizi Informatica - CDL in Ingegneria Industriale- A.A
Transcript della presentazione:

Alcuni esercizi e domande per il compitino quali sono le parti principali dellarchitettura di von Neumann? citare le caratteristiche salienti della RAM quali sono le parti essenziali della CPU descrivere il ciclo che la CPU ripete in continuazione?

a cosa servono i registri P e IP della CPU? quali sono gli esempi più comuni di memoria secondaria e perchè essa si chiama sequenziale? dare alcuni esempi di dispositivi di input e di output.

determinare la tavola di verità del seguente circuito: è una tavola nota?

Utilizzando le porte logiche fondamentali AND, OR e NOT disegnare il circuito che realizza la formula logica : (B A) [(NOT B) (NOT A)]

Formalizzare la seguente asserzione con una formula logica: Siccome un rettangolo non è un quadrato se l'altezza è diversa dalla base allora un rettangolo con base e altezza uguali è un quadrato e calcolarne la tavola di verità.

partendo dalla tavola di verità dellesercizio precedente, costruite un circuito che la realizza seguendo il metodo di costruzione generale.

usando la rappresentazione in complemento a 2, quali valori interi si possono rappresentare con 5 bit? con 5 bit, realizzare la somma: -5-8, come si controlla se cè overflow o no? con 5 bit, realizzare Come si controlla se cè overflow o no?

dare la rappresentazione in virgola mobile normalizzata dei valori 0.5, 1.5 e avendo 8 bit per lesponente e 8 per la mantissa. usando 8 bit per lesponente e 8 per la mantissa quale numero è rappresentato da

quali sono le novità principali dellAssembler rispetto al linguaggio macchina? in un programma assembler, perchè si attaccano delle etichette a certe istruzioni?

come si chiama in Assembler listruzione che trasferisce una parola dalla RAM ad un registro della CPU? E quella che compie il trasferimento inverso? In Assembler a cosa servono gli identificatori?

scrivere un programma Assembler che legge due numeri reali e stampa il maggiore dei due. Scrivere un programma Assembler che legge due numeri interi e stampa la somma dei loro valori assoluti. Scrivere un programma Assembler che legge 10 numeri reali e stampa il massimo.

Mercoledì Laboratorio Guidato Presso il Laboratorio del Dip. Matematica Chimica Industriale Sc. Materiali e Sc. Geologiche Chimica Via Paolotti Via Marzolo Via Belzoni Lab.

Cose da Fare 1)Per chi non le ha già chiedere un nome di utenza (Username) ed una parola di accesso (Password) che permettono di accedere al laboratorio. Ricopiarle su di un foglio di carta e conservarle. Se le si perde non si può più accedere al laboratorio. 2)Usando username e password entrare nel sistema operativo Linux

3)Aprire una shell di Linux 4)Aprire emacs per scrivere un programma Assembler nel file medvar usando il comando: emacs medvar &

Il programma deve: leggere un intero n leggere n numeri reali e calcolarne la media e la varianza stampare media e varianza. Prepararsi il programma assembler scritto su di un foglio di carta.

La media m e la varianza 2 di n numeri reali x 1,x 2,…,x n sono date dalle formule:

5)Eseguire tale programma nella shell usando il comando: interprete medvar 6)Correggere eventuali errori e rieseguirlo finchè funziona. 7)Salvare il file medvar ed uscire da Linux.

Facciamo un esercizio dello stesso tipo: leggere un intero n leggere n numeri reali e calcolarne il minimo min e il massimo max stampare il valore dei due prodotti n min ed n max.

n : INT ; zero : INT 0; uno : INT 1; x : FLOAT ; npermin : FLOAT ; npermax : FLOAT ; nf : FLOAT 0; unof : FLOAT 1.0; READ STINP n; LOAD R0 zero; LOAD R2 n; COMP R2 R0 ; BRGT OK; WRITE STOUT n; STOP; Controllo che n > 0. Se non è così non si può calcolare minimo e massimo.

OK: READ STINP x; LOAD R3 nf; LOAD R4 unof; FADD R3 R4; LOAD R1 uno; SUB R2 R1; LOAD R5 x; LOAD R6 x; n > 0 : posso leggere il primo R3 è il numero di valori letti rappresentato come FLOAT R5 è il minimo ed R6 il massimo dei valori letti R2 è il numero di valori rimasti da leggere

Ciclo: COMP R2 R0; BRLE Esci; READ STINP x; FADD R3 R4; SUB R2 R1; LOAD R7 x; FCOMP R7 R5; BRGE NonMin; LOAD R5 x; BRANCH Ciclo; NonMin : FCOMP R7 R6; BRLE Ciclo; LOAD R6 x; BRANCH Ciclo; R3 è il numero di valori letti rappresentato come FLOAT R7 è lultimo valore letto R2 è il numero di valori rimasti da leggere R5 è il minimo ed R6 il massimo dei valori letti

Esci: FMULT R5 R3; FMULT R6 R3; STORE R5 npermin; STORE R6 npermax; WRITE STOUT npermin; WRITE STOUT npermax; STOP; R3 è il numero di valori letti rappresentato come FLOAT R5 è il minimo ed R6 il massimo dei valori letti

Esempio potenza Leggere un reale x ed un intero positivo n e calcolare la potenza x n Complessità

X: FLOAT ; N: INT ; Ris: FLOAT ; Uno : INT 1; Unofl: FLOAT 1.0; READ STINP X; READ STINP N; LOAD R0 Uno; SUB R0 R0; LOAD R1 Uno; LOAD R2 X; LOAD R3 N; LOAD R4 Unofl; X: 3,0 N: 4 Ris: ? R0: 0 R1: 1 ? RC: Uno: 1 Unofl: 1,0 R2: 3,0 R3: 4 R4: 1,0

Ciclo: COMP R3 R0; BREQ Esci; FMULT R4 R2; SUB R3 R1; BRANCH Ciclo; Esci: STORE R4 Ris; WRITE STOUT Ris; STOP; Durante il ciclo: R4 = X N-R3 Alla fine del ciclo: R3=0 ed R4 = X N X: 3,0 N: 4 Ris: ? R0: 0 R1: 1 ? RC: Uno: 1 Unofl: 1,0 R2: 3,0 R3: 4 R4: 1,0 1 3, , , ,0 0 0 Allinizio del ciclo: R4 = X N-R3

FMULT R4 R2; SUB R3 R1; NO flowchart SI R3 = R0? READ STINP X; READ STINP N; LOAD R0 Uno; SUB R0 R0; LOAD R1 Uno; LOAD R2 X; LOAD R3 N; LOAD R4 Unofl; STORE R4 Ris; WRITE STOUT Ris; STOP Ciclo: Esci:

Nel programma precedente, per calcolare x n, il ciclo viene ripetuto n volte. Il numero di operazioni eseguite, e quindi il tempo calcolo richiesto, aumenterà proporzionalmente con laumentare di n. Diciamo che il programma ha complessità tempo O(n). Vediamo un altro modo per calcolare x n.

Useremo un metodo più veloce che usa la rappresentazione binaria b k-1 b k-2 …b 1 b 0 di N per scomporre la potenza come segue dove

Per calcolare: