Architettura degli elaboratori 2016/2017
Transcript
Architettura degli elaboratori 2016/2017
Testi del Syllabus Resp. Did. SORRENTI DOMENICO GIORGIO Matricola: Anno offerta: 2016/2017 Insegnamento: E3101Q104 - ARCHITETTURA DEGLI ELABORATORI Corso di studio: E3101Q - INFORMATICA Anno regolamento: 2016 CFU: 8 Anno corso: 1 Periodo: Secondo Semestre 013586 Testi in italiano Contenuti Principali elementi dell’architettura hardware di un elaboratore. Instruction set architecture. Catena programmativa. Controllo del percorso dei dati. Eccezioni. Tecniche di ingresso/uscita. Gerarchie di memoria: cache e memoria virtuale. Testi di riferimento David Patterson, John Hennessy: Computer Organization and Design, The Hardware/Software Interface. Fifth edition. Morgan Kaufmann (Elsevier). Obiettivi formativi Alla fine del corso lo studente avrà compreso gli elementi dell’architettura di un semplice elaboratore e sarà in grado di comprendere e scrivere programmi assembler elementari. Metodi didattici Lezioni ed esercitazioni in aula. Attività di laboratorio in e-learning mediante esercizi, test di autovalutazione e tutoraggio on-line. Modalità di verifica dell'apprendimento La verifica dell'apprendimento comprende una prova scritta e una eventuale discussione del risultato. La verifica dell'apprendimento può inoltre derivare dall'esito di prove intermedie parziali. Programma esteso 1 "Rappresentazione del'informazione: - rappresentazione dell'informazione non numerica, - rappresentazione dei numeri interi con e senza segno, - rappresentazione dei numeri in virgola mobile." 2 "Circuiti logici: - reti combinatorie, - reti sequenziali e FSM (Finite State Machine), - rassegna di circuiti notevoli (decoder, multiplexer, register file, ALU, etc.)." 3 "Instruction Set Architecture: - schema di von Neumann, - CPU, registri, ALU e memoria, - ciclo fondamentale di esecuzione di una istruzione (fetch/execute), - tipi e formati di istruzioni MIPS, - modalità di indirizzamento." 4 "Linguaggio Assembly: - formato simbolico delle istruzioni, - catena di programmazione (assembler, linker, loader, debugger, etc.), - pseudoistruzioni e direttive dell'assemblatore, - scrittura di semplici programmi assembly, - convenzioni programmative." 5 "Datapath: - percorsi dei dati per le diverse classi di istruzioni, - controllo del percorso dei dati con FSM, - gestione delle eccezioni. " 6 "Tecniche di gestione dell'ingresso/uscita - controllo di programma, - interruzione di programma, - accesso diretto alla memoria." 7 "Cenni su aspetti avanzati delle architetture - cache e gerarchie di memoria, - gestione con priorità delle interruzioni, - controllo del percorso dei dati in pipelining." Testi in inglese Contenuti Main components of the hardware architecture of a computer. Instruction set architecture. Programming chain. Control of the datapath. Exceptions. I/O techniques. Memory hierarchies: cache and virtual memory Testi di riferimento David Patterson, John Hennessy: Computer Organization and Design, The Hardware/Software Interface. Fifth edition. Morgan Kaufmann (Elsevier). Obiettivi formativi At the end of the course the student will be familiar with the components of a basic computer architecture, and will be able to understand and write simple assembler programs. Metodi didattici Lectures and exercise labs to expose and exemplify the contents of the course. Practice labs via e-learning, with tutor support and auxiliary leaning material (slides, exercises). Modalità di verifica dell'apprendimento The learning assessment includes a written test an possibly an oral discussion of the result. The assessment can derive from the result of partial intermediate tests. Programma esteso 1 "Representation of information: - representation of non-numeric information, - representation of signed and unsigned integers, - representation of floating-point numbers," 2 "Logical circuits: - combinatorial networks, - sequential networks and FMS (Finite State Machnes), - relevant circuits (decoder, multiplexer, refister file, ALU, etc.)." 3 "Instruction Set Architecture: - von Neumann schema, - CPU, registers, ALU, memory, - fundamental instruction execution cycle (fetch/execute), - types and formats of MIPS instructions, - addressing modes." 4 "Assembly language: - symbolic format of the instructions, - progamming chain (assembler, linker, loader, debugger, etc.), - pseudo-instructions and assembler directives, - writing of simple programs, - programming conventions." 5 "Datapath: - datapaths for the different instruction classes, - control of the datapath by means of a FSM, - exception handling." 6 "Techinques for handling I/O: - polling, - interrupt, - direct memory access." 7 "Introduction to advanced aspects of architectures: - cache and memory hierarchies, - handling of priority in interrupts, - control of datapath in pipelining."