Linguaggi di Descrizione del Hardware: VERILOG. Livelli di astrazione. Livelli di astrazione. Livelli di astrazione. Introduzione
|
|
- Eloisa Bertolini
- 6 anni fa
- Visualizzazioni
Transcript
1 Linguaggi di Descrizione del Hardware: VERILOG Lucidi del Corso di Elettronica Digitale Modulo 7 Livelli di astrazione Introduzione Università di Cagliari Dipartimento di Ingegneria Elettrica ed Elettronica Laboratorio di Elettronica (EOL) Università di Cagliari Dipartimento di Ingegneria Elettrica ed Elettronica Laboratorio di Elettronica (EOL) Livelli di astrazione bbiamo visto che esistono molte diverse implementazioni di una stessa funzione logica (che può essere descritta in termini di porte logiche, di tabelle di verità, di espressioni algebriche) d ogni funzione logica che si voglia implementare corrisponderà poi un circuito elettronico composto di transistor d ogni circuito corrispondono un insieme di maschere (layout) che descrivono i passi di processo (maschera di gate, di diffusione, di metallizzazione, etc.) Livelli di astrazione Qualsiasi sistema digitale può dunque essere descritto a diversi differenti livelli di dettaglio + SISTEM/SPECIFICHE MODULO/RTL PORTE LOGICHE/LGERICO CIRCUITO LYOUT Novembre 26 ED - Verilog Massimo arbaro 3 Novembre 26 ED - Verilog Massimo arbaro 4
2 Esempio: sommatore Proviamo a seguire tutto il processo di progettazione in un caso molto semplice, dalla concezione al layout Esempio: un sommatore di due numeri a 4 bit espressi in complemento a 2 Sommatore: Specifiche Quale è la prima descrizione del sistema? Un sommatore di numeri a 4 bit in complemento a 2 (Una descrizione informale del sistema che si vuole realizzare) Novembre 26 ED - Verilog Massimo arbaro 5 Novembre 26 ED - Verilog Massimo arbaro 6 Sommatore: Modulo/RTL Sommatore: Modulo/RTL Una descrizione più dettagliata darà una rappresentazione in termini di moduli funzionali. Nel caso del sommatore possiamo usare un simbolo che ne rappresenti gli ingressi, le uscite e la funzionalità (il modulo funzionale è uno solo) [3:] [3:] + S[4:] L uscita è a 5 bit, perché c è il riporto (carry) ncora al livello di descrizione in termini di moduli funzionali, l addizionatore di numeri a 4 bit è composto da 4 addizionatori di numeri a singolo bit. Il modulo H (Half dder) somma due bit ed ha in uscita la somma ed il riporto (carry). Il modulo F (Full dder) somma 3 bit (la coppia i-esima più il riporto dalla (i-)-esima) H F F F S C S C S 2 C 2 S 3 C 3 =S 4 Novembre 26 ED - Verilog Massimo arbaro 7 Novembre 26 ED - Verilog Massimo arbaro 8
3 Half dder: Porte Logiche/lgebrico Ogni singolo modulo funzionale deve poi essere implementato in termini di porte logiche. Per prima cosa si individuano le funzioni logiche che legano ingressi ad uscite (tramite tabelle di verità) e poi si implementano queste funzioni con porte logiche. Half dder: Porte Logiche/lgebrico Ottenuta l espressione algebrica è possibile disegnare lo schematico con porte logiche. Esistono molte soluzioni a seconda delle porte che è possibile implementare S S= + C C= S C Novembre 26 ED - Verilog Massimo arbaro 9 Novembre 26 ED - Verilog Massimo arbaro Half dder: Circuito Half dder: Circuito Per implementare in logica CMOS in modo compatto si può manipolare S: C= S =( + ) =( ) ( ) = =(+ )( +)= = ++ + = =+ = =C+ =(C ) + NND seguita da un inverter DeMorgan DeMorgan Distributiva = = C C C S C S C Si può implementare con un pull-up Novembre 26 ED - Verilog Massimo arbaro Novembre 26 ED - Verilog Massimo arbaro 2
4 Half dder: Layout Sommatore 4 bit Il layout del circuito del Half-dder è complesso e di difficile comprensione nonostante contenga solo un numero limitato delle porte totali del sommatore bbiamo condotto la progettazione del halfadder contenuto nel sommatore fino al livello di layout. desso bisognerebbe fare altrettanto per il fulladder e poi mettere insieme i 4 sottomoduli ( H e 3 F) con le opportune connessioni E evidente che ciascuna delle descrizioni possibili (modulare, porte logiche, circuitale, layout) aggiunge informazioni ma contemporaneamente rende rapidamente ingestibile il problema nella sua interezza Novembre 26 ED - Verilog Massimo arbaro 3 Novembre 26 ED - Verilog Massimo arbaro 4 Livelli di astrazione Si rende necessario uno strumento alternativo per la gestione del progetto al livello di sistema/specifiche o modulo/rtl Ci serve uno strumento che sia contemporaneamente semplice da usare ed abbastanza sofisticato da rendere la complessità del sistema Lo strumento sono gli Hardware Description Languages (HDL) o Linguaggi di Descrizione del Hardware Hardware Description Language Un linguaggio di descrizione del hardware è un linguaggio usato per descrivere sistemi digitali Sebbene possa a prima vista essere confuso con un linguaggio di programmazione le differenze sono enormi: un HDL descrive comunque un sistema fisico e non un algoritmo Esistono due principali HDL (Verilog e VHDL) che hanno caratteristiche simili ma non identiche. Noi useremo il Verilog (per la sua semplicità d uso e la sua rapida curva di apprendimento), ma non è complicato partire dalla conoscenza del Verilog per imparare anche il VHDL Novembre 26 ED - Verilog Massimo arbaro 5 Novembre 26 ED - Verilog Massimo arbaro 6
5 VERILOG: Concetto di modulo VERILOG Fondamenti L elemento base per la descrizione di un blocco logico in verilogèil modulo. Il modulo rappresenta un blocco logico preso in uno dei suoi possibili livelli di astrazione. Le informazioni base contenute nel modulo sono INTERFCCI (interface): segnali di ingresso e uscita CORPO (body): la concreta descrizione funzionale del modulo stesso Ogni modulo può contenere al suo interno l istanziazione di altri moduli ad un livello più basso di gerarchia Università di Cagliari Dipartimento di Ingegneria Elettrica ed Elettronica Laboratorio di Elettronica (EOL) Novembre 26 ED - Verilog Massimo arbaro 8 Modulo In linguaggio verilog un modulo inizia con la parolachiave module e termina con endmodule module nomemodulo( lista_io ); endmodule INTERFCE ODY Interfaccia Esempio della definizione di interfaccia per il sommatore: Inizio modulo Corpo modulo Fine modulo Nome del modulo module sommatore(,,s); input [3:],; output [4:] S; endmodule Elenco terminali IO Definizione direzione terminali Dimensione segnali IO Novembre 26 ED - Verilog Massimo arbaro 9 Novembre 26 ED - Verilog Massimo arbaro 2
6 Interfaccia La dichiarazione dell interfaccia di un modulo è divisa in 2 parti: Lista delle porte: le porte sono i terminali di ingresso e uscita del modulo, l elenco delle porte compare fra parentesi subito dopo il nome del modulo. Dopo la parentesi, come dopo ogni riga di un file verilog, c è un punto e virgola. Nella lista le porte di I/O (input/output) possono comparire in qualsiasi ordine Dichiarazione delle porte: subito dopo la prima riga devono essere definite tutte le porte che compaiono nella lista. Per ogni porta si definisce la direzione (input, output, inout) e la dimensione (numero di bit associati a quella porta) lcuni elementi di sintassi Ogni riga (tranne quella contenente endmodule) deve essere terminata da un punto e virgola (come in C) I commenti si scrivono come in C: Commenti su singola riga sono preceduti da // Commenti su più righe sono contenuti fra il simbolo /* ed il simbolo */ Gli identificatori (nomi di moduli, nomi di porte, nomi di istanze o variabili) devono contenere solo lettere, numeri, segni $ e underscore _ e devono iniziare per lettera o underscore Il verilog è case-sensitive quindi lettere minuscole e maiuscole vengono considerate diverse (SIG_$ e sig_a$ sono due identificatori differenti validi) Novembre 26 ED - Verilog Massimo arbaro 2 Novembre 26 ED - Verilog Massimo arbaro 22 Segnali in Verilog Qualsiasi segnale in verilog può assumere uno fra i 4 possibili simboli: : logico : logico o x: indeterminato Z o z: alta impedenza Un segnale può essere indeterminato per vari motivi. d esempio: Non è stato mai inizializzato E in conflitto con un altro segnale lta impedenza Il segnale in alta impedenza (Z) è utilizzato per gestire bus bidirezionali: Unità Unità 2 US Se l Unità (ad esempio il processore) deve potere inviare/ricevere dati a/da l Unità 2 (ad esempio la memoria) è necessario che entrambe siano in grado di pilotare lo stesso bus. Novembre 26 ED - Verilog Massimo arbaro 23 Novembre 26 ED - Verilog Massimo arbaro 24
7 Logica a 4 valori: tabelle di verità Visto che ogni segnale può valere anche x o z bisogna ridefinire le tabelle di verità delle primitive tenendo conto di questi valori ND Z OR Z Z Z NND Z Z NOR Novembre 26 ED - Verilog Massimo arbaro 25 Z Z NET e VRILE I segnali di un sistema descritto in verilog possono essere di due tipi: NET e VRILE. NET: corrisponde ad una qualsiasi connessione elettrica (filo). Deve quindi essere pilotato da qualcosa (una primitiva logica, un modulo, una espressione algebrica) o va in alta impedenza VRILE: è simile ad una variabile di un linguaggio di programmazione. Gli si assegna un valore esplicitamente e tale valore è mantenuto fino a che non si ha un altra assegnazione esplicita Novembre 26 ED - Verilog Massimo arbaro 26 Definizione di un NET Per definire un segnale di tipo NET si usano le seguenti parole-chiave: wire: indica un semplice filo di interconnessione (è quella che utilizzeremo quasi sempre noi) tri: indica un filo di interconnessione pilotato da dispositivi tristate (la useremo di rado, ma è utile in corsi avanzati) supply: indica un filo connesso direttamente a massa (quindi valore logico sempre ) supply: indica un filo connesso sempre a VDD (quindi valore logico sempre ) wand, wor, tri, tri, etc.: fili di interconnessione con caratteristiche particolari che NON utilizzeremo in questo corso Novembre 26 ED - Verilog Massimo arbaro 27 Definizione di un NET: esempio Per definire lo half-adder: module ha(,,s,c); input,; output S,C; wire,,s,c,n,n; wire n, n; endmodule n n Novembre 26 ED - Verilog Massimo arbaro 28 n n Tutti i segnali sono fili di interconnessione quindi sono NET, utilizziamo per definirli la parola chiave wire S C
8 NET: assegnamento Esempio: half-adder Ci sono due opzioni per assegnare un valore ad un net: Strutturale: il valore al net è imposto dal fatto che il net stesso è l uscita di una porta logica lgebrico: al net viene assegnato il risultato di una espressione algebrica (booleana) le cui variabili sono segnali di ingresso o altri segnali interni del modulo. Tale assegnamento avviene per mezzo della parola chiave assign (l assegnamento è detto continuous assignment perché il net avrà sempre il risultato di quell espressione algebrica, ed al variare degli ingressi varia anche il valore del net) module ha(,,c,s); input,; output C,S; wire,,c,s; assign S=^; and a(c,,); endmodule ssegnamento del valore di C in modo strutturale (è l uscita di una primitiva logica, vedi modulo 7) Nel caso del half-adder si può utilizzare una decrizione mista strutturale/dataflow Continuous assignment: S è il risultato di un espressione algebrica degli ingressi In entrambi i casi ogni volta che cambiano gli ingressi cambiano le uscite senza dover rifare l assegnamento Novembre 26 ED - Verilog Massimo arbaro 29 Novembre 26 ED - Verilog Massimo arbaro 3 Definizione di un VRILE Per definire un segnale di tipo VRILE si usano le seguenti parole-chiave: reg: indica un semplice variabile logica espressa su un numero di bit a piacimento. Contiene un valore logico non necessariamente associato ad un numero. Useremo quasi sempre questo tipo. integer: una variabile che rappresenta un numero intero espresso tipicamente su 32 bit. Lo utilizzeremo raramente. real, time, realtime: variabili con caratteristiche particolari che NON utilizzeremo in questo corso Reg: assegnamento Come si assegna un valore ad un reg che è l equivalente di una variabile? Il verilog mette a disposizione due costrutti procedurali, ossia due modi per descrivere operazioni che vengono eseguite in sequenza su delle variabili: locco locco always Novembre 26 ED - Verilog Massimo arbaro 3 Novembre 26 ED - Verilog Massimo arbaro 32
9 locco Un blocco procedurale è una sequenza di operazioni che vengono eseguite una volta sola nel modulo (l esecuzione inizia all istante e termina con l ultima istruzione del blocco) E possibile inserire in un modulo diversi blocchi che verranno eseguiti in parallelo (tutti i blocchi vengono eseguiti contemporaneamente a partire dall istante, non conta l ordine con cui compaiono nel file) La parola chiave indica l inizio del blocco. Se il blocco contiene più istruzioni queste vengono racchiuse fra begin end module testreg; reg,; begin =; =; #5 =; #5 =; =; #5 =; #5 $stop; end endmodule Esempio Questa sequenza assegna alla coppia, tutte le possibili combinazioni di ingresso. Tutti gli assegnamenti sono considerati contemporanei a meno che non vengano inseriti dei ritardi. Per inserire un ritardo si usa la sintassi #delay (#5 significa: attendi 5 unità di tempo, che di default sono nanosecondi) Novembre 26 ED - Verilog Massimo arbaro 33 Novembre 26 ED - Verilog Massimo arbaro 34 Esempio Initial t = =; =; =; =; =; =; begin =; =; #5 =; #5 =; =; #5 =; #5 $stop; end t begin Sa; #dela S2a; #del2a S3a; end begin Sb; #delb S2b; end In generale: Ci possono essere più blocchi Non conta l ordine con cui vengono messi i blocchi ma conta l ordine in cui compaiono le istruzioni nei singoli blocchi L esecuzione è parallela e viene fatta una sola volta Novembre 26 ED - Verilog Massimo arbaro 35 Novembre 26 ED - Verilog Massimo arbaro 36
10 Esecuzione di Sa nel primo Esecuzione di Sb nel secondo Esempio Esecuzione di S2a nel primo Esecuzione di S2b nel secondo Esecuzione di S3a nel primo dela delb dela+del2a t Esempio Per il primo, quindi, valgono le seguenti temporizzazioni: Sa: subito t= S2a: dopo dela secondi t=dela S3a: dopo altri del2a secondi t=dela+del2a Per il secondo, invece, valgono le seguenti: Sb: subito t= S2b: dopo delb t=delb Novembre 26 ED - Verilog Massimo arbaro 37 Novembre 26 ED - Verilog Massimo arbaro 38 locco always Esempio Un blocco always è un blocco procedurale che viene continuamente eseguito L esecuzione di un blocco always inizia nell istante e prosegue seguendo le temporizzazioni all interno del blocco Subito dopo l esecuzione dell ultima istruzione si rincomincia ad eseguire la prima istruzione Possono esserci più blocchi always e vengono eseguiti tutti in parallelo Non conta l ordine con cui i blocchi compaiono nel file module testclock; reg clk; always begin clk=; #5 clk=; #5 clk=; end #4 $finish; endmodule Questa sequenza genera un segnale di clock con periodo unità di tempo (5 alto, 5 basso) L esecuzione inizia all istante (in cui si esegue clk=), dopo 5 unità si esegue clk=, dopo altre 5 nuovamente clk= ed il controllo ripassa subito (senza ritardo) alla prima istruzione (sempre clk=) Novembre 26 ED - Verilog Massimo arbaro 39 Novembre 26 ED - Verilog Massimo arbaro 4
11 always begin clk=; #5 clk=; #5 clk=; end clk clk=; clk=; Dopo l ultima istruzione l esecuzione riparte istantaneamente dalla prima Esempio clk=; clk=; clk=; t clk=; lways Un blocco always inizia con la parola chiave always. Se contiene più istruzioni queste sono racchiuse fra begin..end Possono esserci più blocchi always, in questo caso vengono eseguiti in parallelo e sono completamente indipendenti l uno dall altro (se un blocco termina rincomincia l esecuzione dall inizio anche se gli altri blocchi non hanno terminato) L ordine con cui compaiono i blocchi always non ha alcuna importanza ma ovviamente conta l ordine delle istruzioni dentro il singolo blocco Novembre 26 ED - Verilog Massimo arbaro 4 Novembre 26 ED - Verilog Massimo arbaro 42 Segnali interni ed esterni I segnali interni sono quei segnali che esistono solo all interno del modulo. Possono essere indifferentemente net o variable a seconda delle esigenze I segnali esterni sono le porte di interconnessione (definite nell interfaccia). Esistono regole precise sulla loro natura (net o variable), a seconda che siano input (ingressi), output (uscite) o inout (bidirezionali) Input Le porte di ingresso (input) rappresentano segnali che arrivano dall esterno e vengono quindi generati all esterno del modulo stesso Per questo motivo all interno del modulo non possono che essere di tipo net (se fossero variable il loro valore dovrebbe essere assegnato dentro il modulo, cosa non possibile per un ingresso) Dentro il modulo non possono essere fatti assegnamenti ad un ingresso Novembre 26 ED - Verilog Massimo arbaro 43 Novembre 26 ED - Verilog Massimo arbaro 44
12 Output Le porte di uscita (output) rappresentano segnali che vengono generati all interno del modulo stesso Per questo motivo all interno del modulo possono essere sia di tipo net (in tal caso verranno assegnati per mezzo di primitive o interconnessioni con sottomoduli) che di tipo variable Una porta di uscita non può essere letta all interno di un modulo ma solo assegnata (questa ultima regola non è rispettata in tutti i simulatori e software, quindi è più una regola di buona scrittura che un obbligo, in pratica non la utilizzeremo mai) Inout Le porte di inout rappresentano segnali bidirezionali Per questo motivo all interno del modulo non possono che essere di tipo net (se fossero variable il loro valore dovrebbe essere assegnato dentro il modulo, ma se la porta è bidirezionale bisogna che possa essere assegnata anche dall esterno) Dentro il modulo possono essere assegnati o letti indifferentemente Novembre 26 ED - Verilog Massimo arbaro 45 Novembre 26 ED - Verilog Massimo arbaro 46 Vettori Un vettore (bus) non è altro che un unico nome per un segnale rappresentato su più bit wire [7:] bus; wire [:7] bus; reg [3:] var; Vettori Si può accedere a porzioni di un vettore o a singoli bit del vettore usando sempre le parentesi quadre: wire [7:] bus; wire [:7] bus; indici Il primo numero fra parentesi è sempre il bit più significativo, l ultimo il meno significativo. bus [7:5] bus [3] bus [:2] bus [4] Novembre 26 ED - Verilog Massimo arbaro 47 Novembre 26 ED - Verilog Massimo arbaro 48
13 Rappresentazione dei numeri I numeri in verilog possono essere espressi in formato decimale, binario, ottale ed esadecimale d un numero decimale, ottale o esadecimale corrisponderà sempre una rappresentazione binaria interna che viene fatta in complemento a 2 Nel rappresentare un numero è possibile (in genere indispensabile) indicare il numero di bit su cui va rappresentato Novembre 26 ED - Verilog Massimo arbaro 49 Rappresentazione dei numeri Numero di bit su cui viene rappresentato ase della rappresentazione (decimale) 8 d2 Se il numero di bit non è specificato viene usato il numero massimo possibile (in genere 32) Numero Se la base non è indicata si intende decimale Novembre 26 ED - Verilog Massimo arbaro 5 Rappresentazione dei numeri Rappresentazione dei numeri Le possibili basi sono 4: d decimale b binaria o ottale h esadecimale Nel caso di numeri negativi il segno meno va indicato prima non solo del numero ma anche della dimensione (-8 d2 -> numero 2 decimale espresso su 8 bit) Esempi: 8 d2 (2 decimale su 8 bit) -8 d2 (-2 decimale su 8 bit) 4 b ( b =9 d su 4 bit) 8 ha6 (a6 h =66 d su 8 bit) ll interno del numero si può usare il simbolo _ per migliorare la leggibilità (separare gruppi di cifre) 8 b_ -> Nella rappresentazione binaria (ed ottale e esadecimale che corrispondono a bit) si possono assegnare anche il valore e Z 4 bxx -> xx 8 hza -> zzzz Se il numero di cifre specificate è inferiore al numero richiesto i bit rimanenti vengono posti a, a meno che la cifra più significativa indicata esplicitamente sia o Z nel qual caso i bit rimanenti sono messi appunto a o Z 8 b -> 8 bz ->zzzzzz 8 hza -> zzzz Novembre 26 ED - Verilog Massimo arbaro 5 Novembre 26 ED - Verilog Massimo arbaro 52
Linguaggi di Descrizione del Hardware: VERILOG
Linguaggi di Descrizione del Hardware: VERILOG Lucidi del Corso di Elettronica Digitale Modulo 6 Università di Cagliari Dipartimento di Ingegneria Elettrica ed Elettronica Laboratorio di Elettronica (EOLAB)
DettagliSimulazione. Simulazione verilog. Testbench. Testbench
Simulazione Simulazione verilog Lucidi del Corso di Elettronica Digitale Modulo 8 Università di Cagliari Dipartimento di Ingegneria Elettrica ed Elettronica Laboratorio di Elettronica (EOLAB) Il verilog
DettagliSimulazione verilog. Lucidi del Corso di Elettronica Digitale. Università di Cagliari Dipartimento di Ingegneria Elettrica ed Elettronica
Simulazione verilog Lucidi del Corso di Elettronica Digitale Modulo 8 Università di Cagliari Dipartimento di Ingegneria Elettrica ed Elettronica Laboratorio di Elettronica (EOLAB) Simulazione Il verilog
DettagliReti Logiche Combinatorie
Reti Logiche Combinatorie Modulo 4 Università di Cagliari Dipartimento di Ingegneria Elettrica ed Elettronica Laboratorio di Microelettronica e Bioingegneria (EOLAB) Logica combinatoria Un blocco di logica
DettagliLogica sequenziale: implementazione verilog
Logica sequenziale: implementazione verilog Lucidi del Corso di Elettronica Digitale Modulo 10 Università di Cagliari Dipartimento di Ingegneria Elettrica ed Elettronica Laboratorio di Elettronica (EOLAB)
Dettaglisenza stato una ed una sola
Reti Combinatorie Un calcolatore è costituito da circuiti digitali (hardware) che provvedono a realizzare fisicamente il calcolo. Tali circuiti digitali possono essere classificati in due classi dette
DettagliDalla tabella alla funzione canonica
Dalla tabella alla funzione canonica La funzione canonica è la funzione logica associata alla tabella di verità del circuito che si vuole progettare. Essa è costituita da una somma di MinTerm con variabili
DettagliReti combinatorie. Reti combinatorie (segue)
Reti combinatorie Sommatore Sottrattore Reti sequenziali Generatore di sequenze Riconoscitore di sequenze Reti combinatorie PROGRAMMAZIONE Il programmatore riporta le istruzioni che il calcolatore dovrà
DettagliAlgoritmi, Strutture Dati e Programmi. UD 2.b: Programmazione in Pascal
Algoritmi, Strutture Dati e Programmi : Programmazione in Pascal Prof. Alberto Postiglione AA 2007-2008 Università degli Studi di Salerno Il Linguaggio di Programmazione Pascal Esistono molti linguaggi
DettagliEsercitazioni di Reti Logiche. Lezione 4
Esercitazioni di Reti Logiche Lezione 4 Progettazione dei circuiti logici combinatori Zeynep KIZILTAN zkiziltan@deis.unibo.it Argomenti Procedura di analisi dei circuiti combinatori. Procedura di sintesi
DettagliIntroduzione al VHDL Lezione 1
Introduzione al VHDL Lezione 1 Cristina Silvano Università degli Studi di Milano Dipartimento di Scienze dell Informazione Via Comelico 39/41, I-20135 Milano (Italy) Tel.: +39-2-5835-6306 e-mail: silvano@elet.polimi.it
DettagliIL VHDL. Perché si usa un linguaggio di descrizione dell'hardware? Permette di formalizzare il progetto di sistemi digitali complessi
IL VHDL Cosa è il VHDL? NON è un linguaggio di programmazione! E' uno standard IEEE per la descrizione dell'hardware VHDL: VHSIC Hardware Description Language VHSIC: Very High Speed Integrated Circuit
DettagliHSA HSA HARDWARE SYSTEM ARCHITECTURE. Livelli. Livello assemblativo. Livello di. Sistema Operativo. Livello di. linguaggio macchina.
HS HRDWRE SYSTEM RHITETURE a.a. 22-3 L. orrelli 1 Livelli I 4: MOV L,TOTLE XOR X,X XOR X,X MOV L,STRING[X] IN X LOOP I 4 Livello assemblativo Livello di Sistema Operativo 11111 1111 11 111 111 111 Livello
DettagliFondamenti di Informatica
Fondamenti di Informatica Algebra di Boole e Circuiti Logici Prof. Christian Esposito Corso di Laurea in Ingegneria Meccanica e Gestionale (Classe I) A.A. 2016/17 Algebra di Boole e Circuiti Logici L Algebra
DettagliCircuiti digitali. Operazioni Logiche: Algebra di Boole. Esempio di circuito. Porte Logiche. Fondamenti di Informatica A Ingegneria Gestionale
Operazioni Logiche: lgebra di oole Fondamenti di Informatica Ingegneria Gestionale Università degli Studi di rescia Docente: Prof. lfonso Gerevini Circuiti digitali Il calcolatore può essere visto come
DettagliIntroduzione alla programmazione
Introduzione alla programmazione Risolvere un problema Per risolvere un problema si procede innanzitutto all individuazione Delle informazioni, dei dati noti Dei risultati desiderati Il secondo passo consiste
DettagliI tipi di dato del Fortran
I tipi di dato del Fortran In Fortran sono disponibili 5 tipi di dato (tipi primitivi o predefiniti): INTEGER REAL COMPLEX CHARACTER LOGICAL tipi numerici tipi non numerici Non considereremo il tipo COMPLEX
DettagliAlgebra di Boole. Fondamenti di Informatica per Meccanici Energetici - Biomedici 1. Politecnico di Torino Ottobre Mr. Boole. Variabile booleana
Fondamenti di Informatica per Meccanici Energetici - iomedici 1 Mr. oole lgebra di oole George oole: Matematico inglese del XIX secolo lgebra che descrive le leggi del pensiero Logica da cui è possibile
DettagliLezione 7 Sommatori e Moltiplicatori
Architettura degli Elaboratori e delle Reti Lezione 7 Sommatori e Moltiplicatori Proff. A. Borghese, F. Pedersini Dipartimento di Scienze dell Informazione Università degli Studi di Milano L 7 /36 Sommario
DettagliAddizionatori: metodo Carry-Lookahead. Costruzione di circuiti combinatori. Standard IEEE754
Addizionatori: metodo Carry-Lookahead Costruzione di circuiti combinatori Standard IEEE754 Addizionatori Il circuito combinatorio che implementa l addizionatore a n bit si basa su 1-bit adder collegati
Dettagli6 - Blocchi e cicli. Programmazione e analisi di dati Modulo A: Programmazione in Java. Paolo Milazzo
6 - Blocchi e cicli Programmazione e analisi di dati Modulo A: Programmazione in Java Paolo Milazzo Dipartimento di Informatica, Università di Pisa http://pages.di.unipi.it/milazzo milazzo di.unipi.it
DettagliAlgebra di Boole. Modulo 2. Università di Cagliari Dipartimento di Ingegneria Elettrica ed Elettronica Laboratorio di Elettronica (EOLAB)
Algebra di Boole Modulo 2 Università di Cagliari Dipartimento di Ingegneria Elettrica ed Elettronica Laboratorio di Elettronica (EOLAB) Algebra di Boole L algebra di Boole o della commutazione è lo strumento
DettagliESERCIZI DEL CORSO DI INFORMATICA
ESERCIZI DEL CORSO DI INFORMTIC Questa breve raccolta di esercizi vuole mettere in luce alcuni aspetti della prima parte del corso e fornire qualche spunto di riflessione. Il contenuto del materiale seguente
DettagliI.3 Porte Logiche. Elisabetta Ronchieri. Ottobre 13, Università di Ferrara Dipartimento di Economia e Management. Insegnamento di Informatica
I.3 Università di Ferrara Dipartimento di Economia e Management Insegnamento di Informatica Ottobre 13, 2015 Argomenti 1 2 3 Elaboratore Hardware È il mezzo con il quale l informazione è elaborata. Software
DettagliVariabili. Unità 2. Domenico Daniele Bloisi. Corso di Programmazione e Metodi Numerici Ingegneria Aerospaziale BAER
Corso di Programmazione e Metodi Numerici Ingegneria Aerospaziale BAER Domenico Daniele Bloisi Docenti Metodi Numerici prof. Vittoria Bruni vittoria.bruni@sbai.uniroma1.it Programmazione prof. Domenico
DettagliUnità F1. Obiettivi. Il linguaggio C. Il linguaggio C++ Linguaggio C. Pseudolinguaggio. Primi programmi
Obiettivi Unità F1 Primi programmi Conoscere il significato di dichiarazione e definizione di variabili Conoscere i tipi di dato numerici Essere in grado di realizzare semplici algoritmi in pseudolinguaggio
DettagliEsercitazioni di Reti Logiche
Esercitazioni di Reti Logiche Sintesi di Reti Combinatorie & Complementi sulle Reti Combinatorie Zeynep KIZILTAN Dipartimento di Scienze dell Informazione Universita degli Studi di Bologna Anno Academico
DettagliTecniche di Progettazione Digitale Richiami all algebra di Boole; domini di rappresentazione p. 2
Tecniche di Progettazione Digitale Richiami all algebra di Boole; domini di rappresentazione Valentino Liberali Dipartimento di Tecnologie dell Informazione Università di Milano, 26013 Crema e-mail: liberali@dti.unimi.it
DettagliESECUZIONE DI PROGRAMMI C SU MACCHINE REALI. Docente: Giorgio Giacinto AA 2008/2009. formalizzazione degli algoritmi in linguaggio C
Università degli Studi di Cagliari Corso di Laurea Specialistica in Ingegneria per l Ambiente ed il Territorio Corso di Laurea Specialistica in Ingegneria Civile - Strutture FONDAMENTI DI INFORMATICA 2
DettagliCaratteristiche di un linguaggio ad alto livello
Caratteristiche di un linguaggio ad alto livello Un linguaggio ad alto livello deve offrire degli strumenti per: rappresentare le informazioni di interesse dell algoritmo definire le istruzioni che costituiscono
DettagliInformatica/ Ing. Meccanica/ Prof. Verdicchio/ 13/09/2013/ Foglio delle domande/versione 1
Informatica/ Ing. Meccanica/ Prof. Verdicchio/ 13/09/2013/ Foglio delle domande/versione 1 1) Dato un diagramma di flusso quali sono le condizioni necessarie perché si possa costruire un programma corrispondente?
DettagliLaboratorio di Architettura degli Elaboratori A.A. 2016/17 Circuiti Logici
Laboratorio di Architettura degli Elaboratori A.A. 2016/17 Circuiti Logici Per ogni lezione, sintetizzare i circuiti combinatori o sequenziali che soddisfino le specifiche date e quindi implementarli e
DettagliEsercizi svolti Y Z. 1. Date le seguenti funzioni logiche ricavare le corrispondenti reti logiche realizzate con porte elementari AND, OR, NOT.
Esercizi svolti 1. Date le seguenti funzioni logiche ricavare le corrispondenti reti logiche realizzate con porte elementari ND, OR, NOT. a) F= b) F= F= 2. Date le seguenti funzioni logiche ricavare le
DettagliLA CODIFICA DELL INFORMAZIONE. Introduzione ai sistemi informatici D. Sciuto, G. Buonanno, L. Mari, McGraw-Hill Cap.2
LA CODIFICA DELL INFORMAZIONE Introduzione ai sistemi informatici D. Sciuto, G. Buonanno, L. Mari, McGraw-Hill Cap.2 Codifica dati e istruzioni Per scrivere un programma è necessario rappresentare istruzioni
DettagliLezione 3. I numeri relativi
Lezione 3 L artimetcia binaria: i numeri relativi i numeri frazionari I numeri relativi Si possono rappresentare i numeri negativi in due modi con modulo e segno in complemento a 2 1 Modulo e segno Si
DettagliFunzioni, Stack e Visibilità delle Variabili in C
Funzioni, Stack e Visibilità delle Variabili in C Programmazione I e Laboratorio Corso di Laurea in Informatica A.A. 2016/2017 Calendario delle lezioni Lez. 1 Lez. 2 Lez. 3 Lez. 4 Lez. 5 Lez. 6 Lez. 7
DettagliComponenti e connessioni. Capitolo 3
Componenti e connessioni Capitolo 3 Componenti principali CPU (Unità Centrale di Elaborazione) Memoria Sistemi di I/O Connessioni tra loro Architettura di Von Neumann Dati e instruzioni in memoria (lettura
DettagliCostanti e Variabili
Parte 3 Costanti e Variabili Identificatori Un identificatore è un nome che viene associato a diverse entità (costanti, tipi, variabili, funzioni, ecc.) e serve ad identificare la particolare entità Gli
DettagliCodice binario. Codice. Codifica - numeri naturali. Codifica - numeri naturali. Alfabeto binario: costituito da due simboli
Codice La relazione che associa ad ogni successione ben formata di simboli di un alfabeto il dato corrispondente è detta codice. Un codice mette quindi in relazione le successioni di simboli con il significato
DettagliI circuiti dei calcolatori, le memorie, i bus. I fondamenti della rappresentazione dell informazione e della sua trasmissione ed elaborazione.
I circuiti dei calcolatori, le memorie, i bus. I fondamenti della rappresentazione dell informazione e della sua trasmissione ed elaborazione. Dispensina per gli studenti di Ingegneria Gestionale. A.A.
DettagliProgettazione di circuiti integrati
Architetture e reti logiche Esercitazioni VHDL a.a. 2007/08 Progettazione di circuiti integrati Stefano Ferrari UNIVERSITÀ DEGLI STUDI DI MILANO DIPARTIMENTO DI TECNOLOGIE DELL INFORMAZIONE Stefano Ferrari
DettagliModulo 2: Strutture fondamentali della programmazione Java
Modulo 2: Strutture fondamentali della programmazione Java Argomenti Trattati: Un semplice programma Java: Presentazione di un primo Esempio; Introduzione alla struttura; Compilazione ed esecuzione. Argomenti
DettagliSistemi di Numerazione
Sistemi di Numerazione Corso Università Numeri e Numerali Il numero cinque 5 V _ Π Arabo Romano Maya Greco Cinese Il sistema decimale Sistemi Posizionali 1 10 3 + 4 10 2 + 9 10 1 + 2 10 0 Sistemi Posizionali
DettagliProgettazione di circuiti integrati
Architetture e Reti logiche Esercitazioni VHDL a.a. 2003/04 Progettazione di circuiti integrati Stefano Ferrari Università degli Studi di Milano Dipartimento di Tecnologie dell Informazione Stefano Ferrari
DettagliRappresentazione dei numeri interi in un calcolatore
Corso di Calcolatori Elettronici I Rappresentazione dei numeri interi in un calcolatore Prof. Roberto Canonico Università degli Studi di Napoli Federico II Dipartimento di Ingegneria Elettrica e delle
DettagliProgrammazione in Java (I modulo)
Programmazione in Java (I modulo) Lezione 4 Variabili di tipo primitivo. Dichiarazione di costanti Conversioni di tipo: operatore cast Altri operatori di assegnamento Operazioni aritmetiche e di confronto
DettagliProgrammazione Orientata agli Oggetti. Emilio Di Giacomo e Walter Didimo
Programmazione Orientata agli Oggetti Emilio Di Giacomo e Walter Didimo Una metafora dal mondo reale la fabbrica di giocattoli progettisti Un semplice giocattolo Impara i suoni Dall idea al progetto Toy
DettagliLa codifica binaria. Informatica B. Daniele Loiacono
La codifica binaria Informatica B Introduzione Il calcolatore usa internamente una codifica binaria ( e ) per rappresentare: i dati da elaborare le istruzioni dei programmi eseguibili Fondamenti di codifica
DettagliCodifica binaria. Rappresentazioni medianti basi diverse
Codifica binaria Rappresentazione di numeri Notazione di tipo posizionale (come la notazione decimale). Ogni numero è rappresentato da una sequenza di simboli Il valore del numero dipende non solo dalla
DettagliReti logiche: analisi, sintesi e minimizzazione Esercitazione. Venerdì 9 ottobre 2015
Reti logiche: analisi, sintesi e minimizzazione Esercitazione Venerdì 9 ottobre 05 Punto della situazione Stiamo studiando le reti logiche costruite a partire dalle porte logiche AND, OR, NOT per progettare
DettagliTipi di dati scalari (casting e puntatori) Alessandra Giordani Lunedì 10 maggio 2010
Tipi di dati scalari (casting e puntatori) Alessandra Giordani agiordani@disi.unitn.it Lunedì 10 maggio 2010 http://disi.unitn.it/~agiordani/ I tipi di dati scalari I tipi aritmetici, i tipi enumerativi
DettagliTecnologie per il web e lo sviluppo multimediale. Rappresentazione delle informazioni
Tecnologie per il web e lo sviluppo multimediale Rappresentazione delle informazioni Luca Pulina Corso di Laurea in Scienze della Comunicazione Università degli Studi di Sassari A.A. 2015/2016 Luca Pulina
DettagliIntroduzione al Flusso di Progetto di Circuiti e Sistemi Digitali
Introduzione al Flusso di Progetto di Circuiti e Sistemi Digitali Cristina Silvano Università degli Studi di Milano Dipartimento di Scienze dell Informazione Via Comelico 39/41, I-20135 Milano (Italy)
DettagliReti logiche: introduzione
Corso di Calcolatori Elettronici I Reti logiche: introduzione ing. Alessandro Cilardo Corso di Laurea in Ingegneria Biomedica Circuiti e porte logiche Esempio di rete di commutazione: Circuiti e porte
DettagliCircuiti Combinatori
Circuiti Combinatori circuiti combinatori sono circuiti nei quali le uscite dipendono solo dalla combinazione delle variabili logiche presenti nello stesso istante all ingresso Essi realizzano: Operazioni
DettagliEsercizi svolti e da svolgere sugli argomenti trattati nella lezione 25
Esercizi svolti e da svolgere sugli argomenti trattati nella lezione 25 Esercizi svolti Es.. Si progetti in dettaglio il circuito che, dati quattro registri sorgente Si e quattro registri destinazione
DettagliAXO - Architettura dei Calcolatori e Sistema Operativo. organizzazione strutturata dei calcolatori
AXO - Architettura dei Calcolatori e Sistema Operativo organizzazione strutturata dei calcolatori I livelli I calcolatori sono progettati come una serie di livelli ognuno dei quali si basa sui livelli
DettagliModulo e segno Complemento a 1 (CA1) Complemento a 2 (CA2)
Codifica dei numeri interi con segno in base 2: Ci siamo occupati fino ad adesso di come il computer (base 2) rappresenta i numeri interi Occupiamoci ora di rappresentare i numeri interi col segno: Per
DettagliAppunti di informatica. Lezione 3 anno accademico Mario Verdicchio
Appunti di informatica Lezione 3 anno accademico 2015-2016 Mario Verdicchio Numeri binari in memoria In un calcolatore, i numeri binari sono tipicamente memorizzati in sequenze di caselle (note anche come
DettagliComponenti principali. Programma cablato. Architettura di Von Neumann. Programma cablato. Cos e un programma? Componenti e connessioni
Componenti principali Componenti e connessioni Capitolo 3 CPU (Unita Centrale di Elaborazione) Memoria Sistemi di I/O Connessioni tra loro 1 2 Architettura di Von Neumann Dati e instruzioni in memoria
DettagliIl livello logico digitale
Il livello logico digitale porte logiche e moduli combinatori Algebra di commutazione Algebra booleana per un insieme di due valori Insieme di elementi A={,} Operazioni NOT (operatore unario) => = e =
DettagliLezione 6 Introduzione al C++ Mauro Piccolo
Lezione 6 Introduzione al C++ Mauro Piccolo piccolo@di.unito.it Linguaggi di programmazione Un linguaggio formale disegnato per descrivere la computazione Linguaggi ad alto livello C, C++, Pascal, Java,
DettagliVARIABILI E COSTANTI
VARIABILI E COSTANTI - Variabili e costanti - 1 PROBLEMA: Calcolo dell area di un triangolo di base b e altezza h. area = b ------------ h 2 ESEMPIO: b = 2,4 h = 1,5 area = 2,4 -------------------- 1,5
DettagliCap. 2 - Rappresentazione in base 2 dei numeri interi
Cap. 2 - Rappresentazione in base 2 dei numeri interi 2.1 I NUMERI INTERI RELATIVI I numeri relativi sono numeri con il segno: essi possono essere quindi positivi e negativi. Si dividono in due categorie:
DettagliArchitettura degli Elaboratori. Classe 3 Prof.ssa Anselmo. Appello del 19 Febbraio Attenzione:
Cognome.. Nome.... Architettura degli Elaboratori Classe 3 Prof.ssa Anselmo Appello del 19 Febbraio 2016 Attenzione: Inserire i propri dati nell apposito spazio sottostante e in testa a questa pagina.
DettagliCalcolatori Elettronici
Calcolatori Elettronici RETI SEQUENZIALI : ESERCIZI Massimiliano Giacomin 1 Implementazione di contatori Un contatore è un dispositivo sequenziale che aggiorna periodicamente il suo stato secondo una regola
DettagliInformatica ALGORITMI E LINGUAGGI DI PROGRAMMAZIONE. Francesco Tura. F. Tura
Informatica ALGORITMI E LINGUAGGI DI PROGRAMMAZIONE Francesco Tura francesco.tura@unibo.it 1 Lo strumento dell informatico: ELABORATORE ELETTRONICO [= calcolatore = computer] Macchina multifunzionale Macchina
DettagliCorso di Sistemi di Elaborazione delle informazioni
Corso di Sistemi di Elaborazione delle informazioni I sistemi di numerazione Francesco Fontanella La Rappresentazione dell'informazione La prima necessità che si ha quando si vuole elaborare dell informazione
DettagliDispense di Informatica Anno Scolastico 2008/2009 Classe 3APS. Dall'Algoritmo al Programma
Istituto Tecnico Statale Commerciale Dante Alighieri Cerignola (FG) Dispense di Informatica Anno Scolastico 2008/2009 Classe 3APS Dall'Algoritmo al Programma Pr.: 002 Ver.:1.0 Autore: prof. Michele Salvemini
DettagliMacchine combinatorie: encoder/decoder e multiplexer/demultiplexer
Corso di Calcolatori Elettronici I A.A. 2011-2012 Macchine combinatorie: encoder/decoder e multiplexer/demultiplexer Lezione 12 Prof. Antonio Pescapè Università degli Studi di Napoli Federico II Facoltà
DettagliAlgebra di Boole e circuiti logici
lgebra di oole e circuiti logici Progetto Lauree Scientiiche 29 Dipartimento di Fisica Università di Genova Laboratorio di Fisica in collaborazione con il Liceo Scientiico Leonardo da Vinci Genova - 23
DettagliProgramma del corso. Elementi di Programmazione. Introduzione agli algoritmi. Rappresentazione delle Informazioni. Architettura del calcolatore
Programma del corso Introduzione agli algoritmi Rappresentazione delle Informazioni Architettura del calcolatore Reti di Calcolatori Elementi di Programmazione Algoritmi e programmi Algoritmo Sequenza
DettagliINTRODUZIONE ALLA PROGRAMMAZIONE AD ALTO LIVELLO IL LINGUAGGIO JAVA. Fondamenti di Informatica - D. Talia - UNICAL 1. Fondamenti di Informatica
Fondamenti di Informatica INTRODUZIONE ALLA PROGRAMMAZIONE AD ALTO LIVELLO IL LINGUAGGIO JAVA Fondamenti di Informatica - D. Talia - UNICAL 1 Fondamenti di Informatica - Programma Un programma è una formulazione
DettagliLinguaggio C Struttura dei programmi
FONDAMENTI DI INFORMATICA Prof. PIER LUCA MONTESSORO Ing. DAVIDE PIERATTONI Facoltà di Ingegneria Università degli Studi di Udine Linguaggio C Struttura dei programmi 2001 Pier Luca Montessoro - Davide
DettagliPORTE LOGICHE. Si effettua su due o più variabili, l uscita assume lo stato logico 1 se almeno una variabile di ingresso è allo stato logico 1.
PORTE LOGICHE Premessa Le principali parti elettroniche dei computer sono costituite da circuiti digitali che, come è noto, elaborano segnali logici basati sullo 0 e sull 1. I mattoni fondamentali dei
DettagliFondamenti di Programmazione. Sistemi di rappresentazione
Fondamenti di Programmazione Sistemi di rappresentazione Numeri e numerali Il numero cinque 5 V _ Π 五 Arabo Romano Maya Greco Cinese Il sistema decimale Sistemi posizionali 1 10 3 + 4 10 2 + 9 10 1 + 2
DettagliRappresentazione dell informazione
Rappresentazione dell informazione Problema che coinvolge aspetti filosofici Interessa soprattutto distinguere informazioni diverse Con un solo simbolo è impossibile Pertanto l insieme minimo è costituito
DettagliComponenti principali
Componenti e connessioni Capitolo 3 Componenti principali n CPU (Unità Centrale di Elaborazione) n Memoria n Sistemi di I/O n Connessioni tra loro Architettura di Von Neumann n Dati e instruzioni in memoria
DettagliIntroduzione a Matlab
INFORMATICA B Ingegneria Elettrica Introduzione a Matlab Introduzione a Matlab Matlab (MATrix LABoratory) è uno strumento per il calcolo scientifico ed ingegneristico Matlab facilita lo sviluppo di programmi
DettagliRegole per la scrittura di VHDL Sintetizzabile. Fabio Campi. Corso di Elettronica dei Sistemi Digitali LS AA
Regole per la scrittura di VHDL Sintetizzabile Fabio Campi Corso di Elettronica dei Sistemi Digitali LS AA 2003-2004 2004 VHDL Sintetizzabile Obiettivo: Mappare su celle Hardware di libreria, riferite
DettagliFondamenti di Informatica B. Fondamenti di Informatica B. Fondamenti di Informatica B. Fondamenti di Informatica B.
Fondamenti di Informatica Lezione n. n. lgebra booleana Circuiti logici Elementi primitivi Esercizi con elementi logici Fondamenti di Informatica Lezione n. In questa lezione vengono ripresi i concetti
DettagliLezione 4. Sommario. L artimetica binaria: I numeri relativi e frazionari. I numeri relativi I numeri frazionari
Lezione 4 L artimetica binaria: I numeri relativi e frazionari Sommario I numeri relativi I numeri frazionari I numeri in virgola fissa I numeri in virgola mobile 1 Cosa sono inumeri relativi? I numeri
DettagliArchitetture degli Elaboratori I I Compito di Esonero (A) - 14/11/1996
1 Architetture degli Elaboratori I I Compito di Esonero (A) - 14/11/1996 Riportare le soluzioni su questi fogli utilizzando eventualmente il retro come brutta. Non è ammessa la consultazione di nessun
DettagliLaboratorio di Programmazione Laurea in Ingegneria Civile e Ambientale
Dipartimento di Ingegneria dell Informazione Università degli Studi di Parma Laboratorio di Programmazione Laurea in Ingegneria Civile e Ambientale Algebra di Boole Stefano Cagnoni Algebra di Boole L algebra
DettagliRapida Nota sulla Rappresentazione dei Caratteri
TECNOLOGIA DIGITALE TECNOLOGIA DIGITALE (segue) CPU, memoria centrale e dispositivi sono realizzati con tecnologia elettronica digitale Dati ed operazioni vengono codificati tramite sequenze di bit 8 bit
DettagliIl livello logico digitale
Il livello logico digitale prima parte Introduzione Circuiti combinatori (o reti combinatorie) Il valore dell uscita in un determinato istante dipende unicamente dal valore degli ingressi in quello stesso
DettagliContatore avanti-indietro Modulo 4
Contatore avanti-indietro Modulo 4 Un contatore avanti-indietro modulo 4 è un dispositivo a due uscite, che genera su queste la sequenza dei numeri binari da 0 a 4 cioè: 00->01->10->11 Il sistema dispone
DettagliMappe di Karnaugh G. MARSELLA UNIVERSITÀ DEL SALENTO
Mappe di Karnaugh 1 G. MARSELLA UNIVERSITÀ DEL SALENTO Introduzione Le semplificazioni di una funzione logica possono essere effettuate mediante i teoremi dell'algebra di Boole. Esiste però un metodo molto
DettagliInput/output da file I/O ANSI e I/O UNIX FLUSSI E FILE FLUSSI FLUSSI di TESTO FLUSSI BINARI FILE
Input/output da file Il linguaggio C non contiene istruzioni di I/O, in quanto tali operazioni vengono eseguite tramite funzioni di libreria standard. Questo approccio rende estremamente flessibile e potente
DettagliArchitettura degli Elaboratori
Architettura degli Elaboratori Università degli Studi di Padova Scuola di Scienze Corso di Laurea in Informatica docente: Alessandro Sperduti Informazioni Generali Lucidi ed esercizi disponibili in formato
DettagliProgettazione di algoritmi: componenti di base e metodologie di sviluppo. Variabili e costanti. Variabili e costanti A = 2. Algoritmo PASCAL-LIKE
Progettazione di algoritmi: componenti di base e metodologie di sviluppo Variabili e costanti Variabili e costanti PROBLEMA: calcolo dell area A di un triangolo di base b ed altezza h b h A =.4.5 b =.4,
DettagliUD 3.2b: Programmazione in Pascal (1)
UD 3.2b: Programmazione in Pascal (1) Il Linguaggio di Programmazione Pascal Esistono molti linguaggi di programmazione. Per motivi didattici utilizzeremo una versione ridotta di un linguaggio di programmazione
DettagliAritmetica binaria e circuiti aritmetici
Aritmetica binaria e circuiti aritmetici Architetture dei Calcolatori (lettere A-I) Addizioni binarie Le addizioni fra numerali si effettuano cifra a cifra (come in decimale) portando il riporto alla cifra
DettagliLezione 7 ALU: Moltiplicazione e divisione
Architettura degli Elaboratori e delle Reti Lezione 7 ALU: Moltiplicazione e divisione F. Pedersini Dipartimento di Scienze dell Informazione Università degli Studi di Milano L 7 1/34 Sommario! Sommatori
DettagliCalcolo numerico e programmazione Rappresentazione dei numeri
Calcolo numerico e programmazione Rappresentazione dei numeri Tullio Facchinetti 16 marzo 2012 10:54 http://robot.unipv.it/toolleeo Rappresentazione dei numeri nei calcolatori
DettagliArchitettura degli Elaboratori
Architettura degli Elaboratori Università degli Studi di Padova Scuola di Scienze Corso di Laurea in Informatica docenti: Silvia Crafa, Nicolò Navarin (lab), Alessandro Sperduti Docenti Silvia Crafa Nicolò
DettagliSTRUTTURE DI CONTROLLO DEL C++
STRUTTURE DI CONTROLLO DEL C++ Le istruzioni if e else Le istruzioni condizionali ci consentono di far eseguire in modo selettivo una singola riga di codice o una serie di righe di codice (che viene detto
DettagliLOGICA SEQUENZIALE. Un blocco di logica puramente combinatoria è un. blocco con N variabili di ingresso e M variabili di uscita
LOGICA SEQUENZIALE Logica combinatoria Un blocco di logica puramente combinatoria è un blocco con N variabili di ingresso e M variabili di uscita che sono funzione (booleana) degli ingressi in un certo
DettagliINTRODUZIONE ALLA PROGRAMMAZIONE
INTRODUZIONE ALLA PROGRAMMAZIONE Prof. Enrico Terrone A. S: 2008/09 Definizioni Programmare significa risolvere problemi col computer, cioè far risolvere problemi al computer attraverso un insieme di informazioni
DettagliLogica Digitale. Fondamenti di Informatica - Prof. Gregorio Cosentino
Logica Digitale 1 Ma in fondo quali sono i mattoncini che compongono un calcolatore elettronico? Porte Circuiti Aritmetica Memorie Bus I/O And, Or, Nand, Nor, Not Multiplexer, Codif, Shifter, ALU Sommatori
Dettagli