Modules | Area | Type | Hours | Teacher(s) | |
RETI LOGICHE | ING-INF/05 | LEZIONI | 90 |
|
Lo studente che completa il corso sara' in grado di dimostrare conoscenze su: 1) teoria dei circuiti logici ed architettura del calcolatore; 2) linguaggi di descrizioni dell'hardware per circuiti logici; 3) descrizione e sintesi di circuiti logici.
The student who successfully completes the course will be able to demonstrate knowledge on: 1) Switching theory and computer architecture; 2) Hardware Description Language for digital circuits; 3) Modeling and synthetizing digital circuits.
Le conoscenze verranno verificate
a) durante la prova scritta, mediante domande a risposta chiusa
b) durante la prova orale, mediante domande da rispondere per iscritto, sulla base delle quali si innestera' una discussione con il candidato.
Knowledge will be assessed
a) during a written exam, with multiple-choice questiosn
b) during the oral exam, with questions to which the student will respond in writing, based on which a discussion with the student will be carried out.
L'insegnamento ha l'obiettivo di sviluppare la capacità (professionali) di descrivere formalmente con tabelle e linguaggi HDL circuiti di varia complessità e di sintetizzarli seguendo tecniche consolidate. Ha inoltre l'obiettivo di sviluppare capacita' di base di programmare in linguaggio Assembler.
The course aims at developing the professional capability to formally describe, through tables and HDL langugaes, logic circuits of growing complexity, and syntesizing them using well-known techniques. Moreover, it aims at developing basic Assembler programming skills.
Le capacita' verranno verificate facendo svolgere al candidato esercizi di descrizione e sintesi di reti complesse, e di Assembler, sia nell'ambito della prova scritta che di quella orale.
Capabilities will be verified by having students solve exercises of description and synthesis of complex circuits, during both the written and the oral exam. Moreover, a practical exam involving Assmbler programming is required.
L'insegnamento ha l'obiettivo di indicare agli studenti un comportamento progettuale articolato in fasi successive da quella più creativa della modellazione, a quella più formale della descrizione a quella finale e più tecnica della implementazione.
The course aims at providing students with articulate design capabilities in successive phases, from the more creative one of modeling, to the more formal one of description, to the final and more technical one of implementation.
I comportamenti progettuali verranno verificati in sede di prova scritta, fornendo al candidato le specifiche di reti da descrivere formalmente e da sintetizzare.
Design capabilities will be verified during the written exam, by giving a students the specifications of a logic circuit to be described formally and implemented.
Gli studenti devono avere conoscenze approfondite dei fondamenti dell'informatica, in particolare di un linguaggio di programmazione di alto livello (e.g., C++). Devono inoltre possedere conoscenze di base dell'organizzazione a blocchi del calcolatore e della rappresentazione dell'informazione (numeri naturali ed interi).
Students must have a deep knowledge of programming fundamentals, and more specifically of a high-level language (e.g., C++). They must also possess basic notions of the high-level organization of a computer and of information representation (natural and integer numbers).
Metodo di insegnamento: lezioni frontali.
Attivita' di apprendimento: frequenza delle lezioni (non obbligatoria, ma consigliata)
Delivery: face to face
Learning activities:
Attendance: Advised
Teaching methods:
Linguaggio Assembler: Descrizione Linguaggio macchina, mnemonico, assembler. Indirizzamento degli operandi. istruzioni operative: trasferimento, aritmetiche, traslazione/rotazione, logiche. Istruzioni di controllo. Istruzioni per operandi stringa. Assemblaggio e debugging. Utilizzo del debugger GDB. Sottoprogrammi e passaggio dei parametri.
Reti combinatorie: Le porte AND, OR, NOT, NAND e NOR; il decodificatore/demultiplatore; il multiplatore. Le porte a tre strati e le loro applicazioni. Modalità di descrizione, trattazione algebrica e sintesi ottima delle reti combinatorie.
Reti sequenziali asincrone: I flip-flop SR, D latch e D edge-triggered. Le memorie RAM.
Reti sequenziali sincronizzate: L'elemento di registro; i registri in traslazione e i contatori. Reti sequenziali sincronizzate di Moore, di Mealy e di Mealy Ritardato: modelli funzionali, modalità di descrizione, modelli implementativi. Il flip-flop J-K. Reti sequenziali complesse: descrizione in un linguaggio di trasferimento tra registri, sintesi in accordo al modello strutturale con parte operativa e parte controllo (con particolare riferimento ai modelli microprogrammati).
Struttura fisica di un calcolatore: Moduli di base e loro collegamento. Struttura interna del processore; della memoria e di alcune interfacce (parallele, seriali, di conteggio e per la conversione A/D e D/A). L'ingresso/uscita dati a controllo di programma. Cenni al meccanismo di interruzione. (La trattazione della maggior parte degli argomenti elencati in questo capoverso costituisce anche una esemplificazione sull'uso di reti combinatorie e sequenziali).
Algoritmi e reti di tipo aritmetico: Richiami sulla rappresentazione dei numeri naturali, interi e reali; gli algoritmi e le reti fondamentali per una aritmetica dei numeri naturali e dei numeri interi.
Assembly language: machine language, mnemonic, assembly. Operator addressing. Operating instruction: transfer, arithmetic, logic, translation/rotation. Control instructions. Assembling and debugging. Using the GDB. Subprograms and parameters.
Combinational logic: Gates NOT, AND, OR, NAND, NOR; decoder/demultiplexer; multiplexer; description, algebraic manipulation and synthesis of optimal circuits; transitions and glitches.
Asynchronous Sequential Logic: RS latch, D latch, positive-edge-triggered D flip-flop; RAM.
Synchronous Sequential Logic: registers and counters; Moore and Mealy models; JK flip-flop; complex sequential circuits: description in register transfer notation, circuit synthesis according to the operating part and control part mode (particular focus on microcoded models).
Structure of a computer: base modules and their interconnection; internal structure of the CPU, memory and some interfaces; program-controlled I/O; interrupts and interrupt controller; interrupt-controlled I/O. Arithmetic: natural and integer numbers representation; fundamental algorithms and digital circuits for natural and integer arithmetic operations.
Testi ufficiali:
Sulla pagina web del docente sono disponibili dispense che coprono gran parte del programma.
Required reading
The course webpage maintained by the teacher contains handouts covering most of the syllabus.
L'esame consiste in:
Modalita' d'esame straordinarie a seguito dell'emergenza CoVid19
Fino alla ripresa della normale operativita' delle universita', l'esame verra' tenuto in questo modo:
Entrambe le prove vengono tenute in remoto, utilizzando Google Meets e/o Microsoft Teams.
Ulteriori istruzioni sono riportate alla pagina del docente.
The exam consists in:
http://www2.ing.unipi.it/~a001872/materiale_didattico/
http://www2.ing.unipi.it/~a001872/materiale_didattico/