Offerta Didattica

 

INFORMATICA

ARCHITETTURA DEGLI ELABORATORI

Classe di corso: L-31 - Scienze e tecnologie informatiche
AA: 2015/2016
Sedi: MESSINA
SSDTAFtipologiafrequenzamoduli
INF/01BaseLiberaLibera
CFUCFU LEZCFU LABCFU ESEOREORE LEZORE LABORE ESE
1284011264480
Legenda
CFU: 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

Nessuno

Prerequisites

None

Verifiche 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

Elenco delle unità didattiche costituenti l'insegnamento

ARCHITETTURA DEGLI ELABORATORI - Modulo A

Docente: DARIO BRUNEO

Orario di Ricevimento - DARIO BRUNEO

GiornoOra inizioOra fineLuogo
Martedì 15:00 17:00Dipartimento di Ingegneria - 7° piano - blocco B
Note:

ARCHITETTURA DEGLI ELABORATORI - Modulo B

Docente: SALVATORE DISTEFANO

Orario di Ricevimento - SALVATORE DISTEFANO

GiornoOra inizioOra fineLuogo
Lunedì 11:00 12:00Ingegneria, 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'.
  • Segui Unime su:
  • istagram32x32.jpg
  • facebook
  • youtube
  • twitter
  • UnimeMobile
  • tutti