Offerta Didattica
INFORMATICA
ARCHITETTURA DEGLI ELABORATORI
Classe di corso: L-31 - Scienze e tecnologie informatiche
AA: 2015/2016
Sedi: MESSINA
SSD | TAF | tipologia | frequenza | moduli |
---|---|---|---|---|
INF/01 | Base | Libera | Libera | Sì |
CFU | CFU LEZ | CFU LAB | CFU ESE | ORE | ORE LEZ | ORE LAB | ORE ESE |
---|---|---|---|---|---|---|---|
12 | 8 | 4 | 0 | 112 | 64 | 48 | 0 |
LegendaCFU: n. crediti dell’insegnamento CFU LEZ: n. cfu di lezione in aula CFU LAB: n. cfu di laboratorio CFU ESE: n. cfu di esercitazione FREQUENZA:Libera/Obbligatoria MODULI:SI - L'insegnamento prevede la suddivisione in moduli, NO - non sono previsti moduli ORE: n. ore programmate ORE LEZ: n. ore programmate di lezione in aula ORE LAB: n. ore programmate di laboratorio ORE ESE: n. ore programmate di esercitazione SSD:sigla del settore scientifico disciplinare dell’insegnamento TAF:sigla della tipologia di attività formativa TIPOLOGIA:LEZ - lezioni frontali, ESE - esercitazioni, LAB - laboratorio
Obiettivi Formativi
Alla conclusione del corso lo studente sarà in grado di: i) conoscere i concetti fondanti dell'architettura dei calcolatori; ii) comprendere le problematiche collegate all'implementazione dei linguaggi di programmazione e alle prestazioni dei computer; iii) comprendere il punto di passaggio dall'hardware, rappresentato da semplici circuiti logici come il sommatore o il flip-flop, al software, rappresentato da un semplicissimo linguaggio macchina. Metodi di accertamento: prova scritta (obbligatoria) e prova orale (facoltativa), prove scritte in itinere.Learning Goals
By the end of the course, the student will be able to: i) know the founding concepts of the architecture of the computers; ii) understand the difficulties related to the implementation of the programming languages and the performances of the computers; iii) understand the junction from the hardware, represented by simple logic circuits such as the adder or the flip-flop, to the software, represented by the simplest machine code. Assessment methods: written test (compulsory) and oral evidence (optional), written tests during the term.Metodi didattici
Teaching Methods
Prerequisiti
NessunoPrerequisites
NoneVerifiche dell'apprendimento
Assessment
Programma del Corso
Introduzione Approccio strutturale (linguaggi, livelli e macchine virtuali) - evoluzione delle macchine multilivello Evoluzione nell'architettura dei computer (computer meccanici - sistemi a valvole - sistemi a transistor - sistemi a circuiti integrati) Tipologie di computer Organizzazione dei sistemi di calcolo Processori (organizzazione della CPU - esecuzione dell'istruzione - RISC vs CISC - Principi di progettazione dei sistemi di calcolo - parallelismo a livello di istruzione - parallelismo a livello di processore) Memoria principale (Indirizzi di memoria - ordinamento dei byte - codici correttori - memoria cache - assemblaggio e tipi di memoria) Memoria secondaria (Gerarchie di memoria - dischi magnetici - dischi ide - dischi scsi - raid - cdrom) Input/Output (bus - terminali - mouse - stampanti - apparecchiature per le telecomunicazioni - codifica dei caratteri) Livello logico-digitale Porte logiche e algebra di Boole (porte logiche - algebra di Boole - implementazione delle funzioni booleane - equivalenza di circuiti) Circuiti logici digitali elementari (circuiti integrati - reti combinatorie - circuiti per l'aritmetica - clock) Memoria (latch - flip/flop - registri - organizzazione della memoria - chip di memoria) Chip della CPU e bus (chip della cpu - bus - ampiezza del bus - temporizzazione del bus - arbitraggio del bus - operazioni del bus) Livello di micro-architettura Esempio di micro-architettura (percorso dati - microistruzioni - mic-1) Esempio di ISA: IJVM (stack - modello della memoria - insieme di istruzioni - compilazione da Java a IJVM - implementazione di IJVM con mic1) Progettazione del livello di microarchitettura (velocità/costi - riduzione della lunghezza del percorso di esecuzione - prefetching - pipeline) Programmazione assembly Applicazioni del linguaggio assembly – concetti fondamentali – linguaggio macchina – rappresentazione dei dati Introduzione al linguaggio assembly – link e debug – definizione di costanti e variabili Trasferimento di dati, indirizzamento e aritmetica – Operatori, direttive espressioni – istruzioni JMP e LOOP, indirizzamento indiretto Procedure – operazioni sullo stack Elaborazione condizionale – istruzioni booleane e di confronto, salti e loop condizionali Aritmetica degli interi – traslazioni e rotazioni, moltiplicazione e divisione, addizione e sottrazione Programmazione MS-DOS a 16 bit – Invocazione di interrupt per I/O su console e file Programmazione BIOS – input da tastiera, programmazione video testuale e grafica. -----------------------Course Syllabus
Introduction Structural approach (languages, levels and virtual machines) - Evolution of multilevel computers Evolution of the architecture of computers (mechanical computers, valve-based systems, transistor-based systems, integrated-circuit-based systems) Computer systems organization Processors (organization of the CPU, execution of the instruction, RISC vs CISC processors, principles of design of computing systems, instruction-level parallelism, processor-level parallelism) Main memory (memory addresses, byte ordering, correcting codes, cache memory, models of memories) Secondary memory (hierarchies of memories, magnetic disks, ide disks, scsi disks, raid, cdrom) Input/Output (bus, terminals, mouse, printers, devices for communication, character coding) The digital logic level Gates and Boolean algebra (gates, boolean algebra, implementation of boolean functions, circuit equivalence) Basic Digital Logic Circuits (integrated circuits, combinatorial circuits, arithmetic circuits, clocks) Memory (Latches, Flip-flops, Registers, Memory Organization, Memory chips, RAMSs and ROMs) CPU Chips and buses (CPU chips, computer buses, bus width, bus clocking, bus arbitration, bus operations) The microarchitecture level An example microarchitecture (the data path, microinstructions, microinstruction control: mic-1) An example ISA: IJVM (stack, the ijvm memory model, the ijvm instruction set, compiling java to ijvm) An example implementation (microinstructions and notation, implementation of ijvm using the mic-1) Desgin of the microarchitecture level (speed vs cost, reducing the execution path length, prefetching, pipeline) Assembly programming Application of the assembly programming language, basics, machine code, data representation Introduction to the assembly language, link and debug, definition of constants and variables Data transfer, addressing and arithmetics, Operators, directives, expressions, JMP and LOOP instructions, indirect addressing Procedures, stack operations Conditional computing, boolean and comparison instructions, conditional jumps and loops Integer arithmetics, translations and rotations, multiplication and division, addition and subtraction MS-DOS 16 bit programming, interrupt call for I/O operations with files and console BIOS programming, keyboard input, textual and graphic video programming -----------------------Testi di riferimento: Andrew S. Tanenbaum – Architettura dei Calcolatori: un approccio strutturale, 5a edizione, Prentice Hall
Kip Irvine – Assembly language for Intel-based computers, Fifth edition, Prentice Hall
Esami: Elenco degli appelli
Elenco delle unità didattiche costituenti l'insegnamento
ARCHITETTURA DEGLI ELABORATORI - Modulo A
Docente: DARIO BRUNEO
Orario di Ricevimento - DARIO BRUNEO
Giorno | Ora inizio | Ora fine | Luogo |
---|---|---|---|
Martedì | 15:00 | 17:00 | Dipartimento di Ingegneria - 7° piano - blocco B |
Note:
ARCHITETTURA DEGLI ELABORATORI - Modulo B
Docente: SALVATORE DISTEFANO
Orario di Ricevimento - SALVATORE DISTEFANO
Giorno | Ora inizio | Ora fine | Luogo |
---|---|---|---|
Lunedì | 11:00 | 12:00 | Ingegneria, Piano 7, Blocco B |
Note: Il ricevimento è previa appuntamento, si prega di contattare il docente e concordare la data e l'ora di ricevimento, non necessariamente il lunedi'.