Architettura 1:
Breve panoramica sulla evoluzione storica dei sistemi di calcolo (dalla Macchina Analitica di Charles Babbage ai giorni nostri).Codifica dell’informazione: codifica binaria dei numeri interi con e senza segno. Trasformazione dalla rappresentazione binaria alla rappresentazione ottale ed esadecimale e viceversa. Operazioni aritmetiche con numeri binari. Codifica dei numeri frazionari: virgola fissa e virgola mobile (standard IEEE 754). Operazioni aritmetiche con numeri in virgola mobie. Codifica del testo (ASCII, UNICODE, UTF-8). Codici ridondanti: bit di parità, codice di Hamming. Codifica delle immagini (mappa di bit, profondità e risoluzione).Algebra di Boole. Porte logiche AND, OR, NOT, NAND e NOR. Dalle funzioni logiche ai circuiti combinatori (tavole di verità, espressioni in forma normale Somma di Prodotti e Prodotto di Somme, semplificazione applicando le leggi dell’algebra o tramite mappe di Karnaugh). Esempi di circuiti: Decoder, Multiplexer, Half Adder, Full Adder, ALU, ecc. Circuiti sequenziali: Latch, Flip-Flop, registri e memorie.Principali componenti di un calcolatore (CPU, Memoria RAM, Dischi magnetici, RAID, Dischi ottici, BUS, e varie periferiche. Cenni sui principi di funzionamento.CPU: ciclo di fetch-decode-execute. Processori CISC e RISC. CPU con struttura a pipeline (cenni).
Architettura 2:
Architettura a livelli: il livello hardware, il livello della microarchitettura, il livello della Instruction Set Architecture, il livello del Sistema Operativo, il livello della programmazione AssemblerUn esempio di architettura microprogrammata e di linguaggio macchina: il MIC-1 e il linguaggio IJVM.Esercitazioni in laboratorio con un emulatore di MIC-1 dotato di compilatore per microprogrammi e per programmi IJVM.Miglioramento delle prestazioni. Introduzione di una unità di prelievo e della pipeline: le architetture MIC-2, MIC-3 e MIC-4. Le memorie cache: colmare il divario tra la velocità della memoria e del processore. La predizione dei salti. L’esecuzione fuori ordine.Caratteristiche dei linguaggi macchina (Instruction Set Architecture): tipi di dato, tipi di istruzioni, formato delle istruzioni, modalità di indirizzamento. Interazione con i dispositivi di Input/Output.Esempi di architetture e linguaggi macchina di processori reali.
Architecture 1:
Brief review of the historical evolution of computers (from Charles Babbage’s Analytical Engine up to current computers).Information encoding: binary encoding of integer numbers, both unsigned and signed. Transformation from binary to octal and hexadecimal representation and viceversa. Arithmetic operations with binary numbers. Encoding of the fractional numbers: fixed point and floating point (according to IEEE 754 standard). Text encoding (ASCII, Unicode, UTF-8). Redundant codes: parity bit, Hamming (single) error correcting code. Images encoding (bitmap, image resolution and depth).Boolean algebra, AND, OR, NOT, NAND, NOR gates. From logical functions to combinatorial circuits (truth tables, sum of products and product of sums normal form expressions, simplification by means of algebra laws, or through Karnaugh’s maps).Examples of circuits: Decoder, Multiplexer, Half Adder, Full Adder, ALU, etc. Sequential circuits: Latch, Flip-flop, registers and memories.Main components of a computer (CPU, RAM memory, Magnetic disks, RAID, Optical disks, BUS, various peripherals) and their basic operating principles.Central Processing Unit: fetch-decode-execute cycle. CISC and RISC processors, Processors with pipeline architecture.
Architecture 2:
Structured computer architecture: the hardware layer, the microarchitecture layer, the Instruction Set Architecture layer, the Operating System layer, the Assembler language layer.An example of microprogrammed architecture and of machine language: MIC-1 and the IJVM language. Lab experiments with a software emulator of the MIC-1 architecture, featuring a microprogramming language and IJVM compiler.Performance issues: introducing an instruction fetch unit and a pipeline architecture: MIC-2, MIC-3 and MIC-4. The cache memory: filling the gap between memory and processor speed. Branch prediction. Out-of-order execution (instruction issuing and retiring order).Instruction Set Architecture: main characteristics and trade-offs. Data type, instruction types, instruction format, addressing modes. Interaction with Input/Output devices.Examples of architectures and machine languages of real processors.
Follow us :