Attività didattica ARCHITETTURA DEGLI ELABORATORI Corso di Studi INFORMATICA [ 05121] Obiettivi formativi. Conoscenza e capacità di comprensione: Nell ambito dell inquadramento metodologico che vede un computer come stratificazione di macchine virtuali, lo studente approfondira la conoscenza dei principi e delle caratteristiche di base del primo livello della gerarchia, illustrato attraverso lo studio del linguaggio assembler di base di una architettura RISC e dei corrispondenti formati del linguaggio macchina. Nel quadro di riferimento del modello di Von Neumann, lo studente acquisira la conoscenza della metodologia implementativa dell insieme di istruzioni assembler di base, affrontando lo studio della struttura hardware della unita centrale di elaborazione, della unita di controllo e dei dispositivi di memoria indirizzabile. Attraverso lo studio della unita aritmetico-logica lo studente apprenderà i concetti di base per la implementazione delle funzioni booleane mediante reti combinatorie. Lo studio della implementazione sara completato con l apprendimento delle nozioni di base per la misura e per il miglioramento delle prestazioni hardware. Inoltre, lo studente acquisira una chiara visione delle connessioni delle conoscenze acquisite in questo corso con gli argomenti approfonditi in altri corsi, comprendendo i collegamenti che sussistono tra la esecuzione del programma in linguaggio macchina a carico dell hardware, da un lato, con la codifica del programma in un linguaggio ad alto livello a carico del programmatore e con la compilazione e la gestione del processo di esecuzione a carico del sistema operativo, dall altro. Capacita' di applicare conoscenza e comprensione: Lo studente acquisira le seguenti capacita applicative: - esecuzione e comprensione del processo di traduzione nell assembler di una architettura RISC dei costrutti di base del linguaggio C, scelto come esemplificativo dei linguaggi procedurali di livello utente; - analisi di una rete combinatoria e determinazione della relativa funzione booleana implementata; - esecuzione delle conversioni in notazione decimale dei principali formati di rappresentazione interna dei numeri interi e frazionari; - esecuzione di semplici calcoli di valutazione delle prestazioni hardware in funzione sia del ciclo che della frequenza di clock. Mediante le conoscenze acquisite attraverso lo studio di una architettura RISC sui principi di base della progettazione di un linguaggio assembler e sulle scelte architetturali da affrontare nella relativa implementazione hardware, lo studente sara in grado di orientarsi in successivi processi di apprendimento di ulteriori linguaggi assembler e delle relative architetture hardware.
Autonomia di giudizio: Lo studente acquisira la capacita di identificare gli elementi caratterizzanti di una architettura hardware su cui basare la propria valutazione in funzione del contesto applicativo. Abilita' comunicative: Lo studente acquisira la capacita di descrivere con proprieta di linguaggio le caratteristiche hardware di un sistema di elaborazione e di esporre il significato di semplici frammenti di programma codificati mediante l insieme delle istruzioni di base dell assembler di una architettura RISC o del relativo linguaggio macchina. Capacita' di apprendimento: Lo studente sarà in grado di affrontare in autonomia lo studio delle architetture degli elaboratori. Il corso fornirà agli studenti gli strumenti necessari per permettere un aggiornamento continuo delle proprie conoscenze anche dopo la conclusione del corso. Prerequisiti Allo studente non e' richiesta nessuna particolare conoscenza informatica. Una buona conoscenza da utente di personal computer può aiutare nell'inquadramento di alcune parti del corso. Una conoscenza (anche approssimativa) di programmazione può aiutare nella parte relativa alla programmazione assembler. Contenuti del corso Il corso si propone di introdurre l architettura dei calcolatori ed i principi che sono alla base della loro progettazione. Verranno presentate struttura e funzionalità dell architettura di un calcolatore moderno. Principali argomenti trattati durante il corso: 1) rappresentazione dell'informazione (1 cfu): - rappresentazione degli interi e algoritmi di conversione per interi (dec-bin, bin-dec)) - rappresentazione e aritmetica in complemento a due - rappresentazione in virgola mobile - codifica ASCII 2) logica digitale (1 cfu): algebra booleana - reti combinatorie e ALU - elementi di memorizzazione: flip-flop 3) linguaggio assembler di una macchina risc (2 cfu) 4) implementazione della unità di elaborazione multiciclo (1 cfu) 5) misura delle prestazioni, miglioramento delle prestazioni mediante pipeline e gerarchie di memoria (1 cfu): misura delle prestazioni - miglioramento delle prestazioni mediante pipeline - miglioramento delle prestazioni mediante gerarchie di memoria 6) implementazione dell'unità di controllo mediante microprogrammazione (1 cfu) 7) unità di controllo come macchina astratta a stati finiti (1 cfu) 8) register file e moduli combinatori (1 cfu) Metodi didattici
Il corso consiste di lezioni frontali ed esercitazioni. Modalità di verifica dell apprendimento Una prova di esame scritta e un colloquio orale. La prova di esame scritta potrà essere sostituita da due prove intercorso entrambe superate sufficientemente. Potranno essere effettuati dei test di verifica periodici (tipicamente a cadenza mensile). Testo di riferimento D. A. Patterson, J. L. Hennessy, Struttura e progetto dei calcolatori, III ed. con cd rom, 2010 Zanichelli, ISBN: 9788808062796 Altre informazioni Gli studenti sono responsabili di studiare ed approfondire gli argomenti spiegati in classe utilizzando il materiale didattico indicato dal docente. Lo svolgimento delle esercitazioni e la frequenza del corso sono fortemente consigliate. Gli studenti devono essere preparati a trascorrere una buona quantità di tempo nello studio al di fuori delle lezioni. Una preparazione soddisfacente richiede in media due ore di studio per ciascuna ora trascorsa in aula. Il corso ha un sito web pubblicato all'interno della piattaforma e-learning della facoltà di scienze MM.FF.NN. (http://www.scienzemfn.unisa.it/el-platform/) su cui vengono pubblicati annunci, informazioni, materiale didattico, slide, calendario delle lezioni, argomenti delle lezioni. ++++++++++ 1. KNOWLEDGE AND UNDERSTANDING: THIS COURSE WANTS TO INTRODUCE THE COMPUTERS ARCHITECTURE AND PRESENT THEIR BASIC DESIGN PRINCIPLES. WE WIL PRESENT STRUCTURES AND FUNCTIONS OF A MODERN COMPUTER ARCHITECTURE AND WE WILL DESCRIBE HOW INFORMATION IS ENCODED INTO SUCH A COMPUTER. THE BASIC ELEMENTS OF COMBINATORIAL AND SEQUENTIAL CIRCUITS DESIGN WILL BE USED AS BASIC TOOLS FOR DESIGNING A PROCESSOR. IN ORDER TO UNDERSTAND THE ARCHITECTURE OF THE MIPS PROCESSOR WE WILL PRESENT ITS ASSEMBLER LANGUAGE AND USE IT TO DESCRIBE FUNCTIONAL SPECIFICATIONS FOR THE PROCESSOR DESIGN. WE WILL FOLLOW THE PROCESSOR DESIGN PROCESS, ANALIZING ALL THE STEPS OF THE DESIGN OF BOTH A SINGLE AND MULTI CICLE UNIT AND THE USE OF PIPELINING. WE WILL BRIEFLY DESCRIBE OTHER COMPONENTS SUCH AS THE ALU (ARITHMETIC LOGIC UNIT) AND MEMORIES. FINALLY, WE WILL INTRODUCE BASIC ASPECTS RELATED TO THE EVALUATION OF COMPUTER PERFORMANCES.
2. APPLYING KNOWLEDGE AND UNDERSTANDING AT THE END OF THE COURSE STUDENTS WILL BE ABLE TO DESIGN AND REALIZE PROGRAMS IN MIPS ASSEMBLER TO SOLVE SIMPLE PROBLEMS. MOREOVER, THEY WILL BE ABLE TO TRANSLATE FRAGMENTS OF C-CODE IN MIPS ASSEMBLER LANGUAGE. 3. MAKING JUDGEMENTS: STUDENTS WILL BE ABLE TO IDENTIFY CHARATECTERISTIC ELEMENTS OF AN HARDWARE ARCHITECTURE AND EVALUTATE WHETHER IT SATISFIES REQUIREMENTS OF SPECIFIC APPLICATION CONTEXTS. 4. COMMUNICATIVE SKILLS: STUDENTS WILL BE ABLE TO DESCRIBE WITH AN APPROPRIATE LANGUAGE HARDWARE CHARACTERISTICS OF AN ELABORATION SYSTEM. THEY WILL ALSO BE ABLE TO EXPLAIN THE MEANING OF SIMPLE PROGRAM FRAGMENTS CODED IN THE ASSEMBLER LANGUAGE OF A RISC ARCHITECTURE AND ITS RELATED MACHINE LANGUAGE. 5. LEARNING CAPACITY: THE STUDENT WILL BE ABLE TO FACE IN AUTONOMY THE STUDY OF COMPUTER ARCHITECTURE. THE COURSE WILL PROVIDE STUDENTS THE TOOLS NEEDED TO ALLOW AN UPDATING OF THEIR KNOWLEDGE EVEN AFTER THE CONCLUSION OF THE COURSE. Prerequisite: NO SPECIFIC BACKGROUND IN COMPUTER SCIENCE IS REQUIRED. TO KNOW AS A USER OF HOW A PERSONAL COMPUTER WORKS MAY HELP IN THE COMPREHENSION OF SOME PARTS OF THE COURSE. AN (EVEN BASIC) EXPERIENCE IN PROGRAMMING MAY BE USEFUL FOR THE PART OF PROGRAMMING IN ASSEMBLER. Contenuti: THIS COURSE WANTS TO INTRODUCE THE COMPUTERS ARCHITECTURE AND PRESENT THEIR BASIC DESIGN PRINCIPLES. WE WIL PRESENT STRUCTURES AND FUNCTIONS OF A MODERN COMPUTER ARCHITECTURE. MAIN TOPICS DISCUSSED IN THIS COURSE:
1) INFORMATION REPRESENTATION (1 CFU): - INTEGER REPRESENTATION AND CONVERSIONS REPRESENTATION AND ARITHMETICS IN COMPLEMENT TO 2 REPRESENTATION IN FLOATING POINT ASCII CODING. 2) DIGITAL LOGIC (1 CFU): - BOOLEAN ALGEBRA - COMBINATIORIAL NETWORKS AND ALU MEMORY ELEMENTS: FLIP-FLOP. 3) ASSEMBLER LANGUAGE OF A RISC MACHINE (2 CFU). 4) IMPLEMENTATION OF A MULTICICLE ELABORATION UNIT (1 CFU). 5) PERFORMANCE EVALUATION AND IMPROVEMENT (1 CFU): - PERFORMANCE EVALUATION PIPELINING HIERARCHY OF MEMORIES. 6) IMPLEMENTATION OF THE CONTROL UNIT THROUGH MICROPROGRAMMING (1 CFU). 7) CONTROL UNIT AS A FINITE STATE MACHINE (1 CFU). 8) REGISTER FILE AND COMBINATORIAL MODULES (1 CFU). Metodi: THE COURSE CONSISTS OF BOTH CLASS LECTURES AND EXERCISE SESSIONS. Modalità: THE EXAMINATION CONSISTS OF A WRITTEN EXAM AND AN ORAL DISCUSSION. THE WRITTEN EXAM COULD BE REPLACED BY TWO INTERMEDIATE TESTS WHEN THEY ARE BOTH SUFFICIENTLY PASSED. DURING THE COURSE THERE COULD BE SOME MORE TESTS (TIPICALLY ONE PER MONTH) TO CHECK THE LEARNING LEVEL. Altre info: STUDENTS ARE RESPONSIBLE TO STUDY TOPICS DISCUSSED IN CLASS USING THE MATERIAL SUGGESTED BY THE TEACHER. ATTENDING CLASS LESSONS AND EXERCISE SESSIONS IS STRONGLY SUGGESTED. STUDENTS MUST CONSIDER TO DEDICATE A SIGNIFICATIVE QUANTITY OF THEIR TIME IN PERSONAL STUDY OUTSIDE OF THE CLASS. A SUFFICIENT PREPARATION REQUIRES TWO HOURS OF PERSONAL STUDY FOR EACH ONE- HOUR LESSON. THE COURSE HAS A COMPANION WEB SITE PUBLISHED IN THE E-LEARNING PLATFORM OF THE FACULTY OF SCIENCE (HTTP://WWW.SCIENZEMFN.UNISA.IT/EL-PLATFORM/) WHERE ANNOUNCEMENTS, NEWS, DIDACTIC MATERIAL, PRESENTATIONS, CALENDAR OF LECTURES AND OTHER MATERIAL IS PUBLISHED.