Prima&esercitazione& Esercitazione: tabelle di verità, costrutti condizionali e cicli Riccardo(Ca*aneo( ( Dipar/mento(di(Ele*ronica,(Informazione(e(Biomedica( [email protected] Politecnico(di(Milano& Alessandro A. Nacci Prima&esercitazione& Prima&esercitazione& 1 Ciao! Agenda (5’) Algebra di Boole e gli operatori logici (20’) Esercizio 1: Tabella di verità Riccardo Cattaneo (20’) Esercizio 2: Tabella di- verità Studente PhD al NECSTLab - Autonomic (Operating) Systems (5’) Un programma in C (CHANGE project) - Reconfigurable architectures for HPC (15’) Esercizio 3: caratteri MaIuScOli systems (FASTER project) (15’) Pausa - exaFPGA (accelerazione hardware) (20’) Esercizio 3: caratteri MaIuScOli con ciclo while (20’) Esercizio 4: ciclo while con contatori (30’) Esercizio 5: trova il maggiore Prima&esercitazione& 2 Ciao! Algebra di Boole e gli operatori logici Riccardo Cattaneo - Studente PhD al NECSTLab - Autonomic (Operating) Systems (CHANGE project) - Reconfigurable architectures for HPC systems (FASTER project) - exaFPGA (accelerazione hardware) G. Boole Prima&esercitazione& 3 Ciao! Algebra di Boole e gli operatori logici Un breve ripasso… Riccardo Cattaneo - Studente PhD al NECSTLab - Autonomic (Operating) Systems (CHANGE project) - Reconfigurable architectures for HPC systems (FASTER project) - exaFPGA (accelerazione hardware) G. Boole Prima&esercitazione& 3 Ciao! Algebra di Boole e gli operatori logici Un breve ripasso… A not A 0 1 1 0 Riccardo Cattaneo - Studente PhD al NECSTLab - Autonomic (Operating) Systems (CHANGE project) - Reconfigurable architectures for HPC systems (FASTER project) - exaFPGA (accelerazione hardware) G. Boole Prima&esercitazione& 3 Ciao! Algebra di Boole e gli operatori logici Un breve ripasso… A B A and B A not A 0 0 0 0 1 0 1 0 1 0 1 0 Riccardo Cattaneo - Studente PhD al NECSTLab 0 1- 1 Autonomic 1 (Operating) Systems (CHANGE project) - Reconfigurable architectures for HPC systems (FASTER project) - exaFPGA (accelerazione hardware) G. Boole Prima&esercitazione& 3 Ciao! Algebra di Boole e gli operatori logici Un breve ripasso… A B A and B A B A or B A not A 0 0 0 0 0 0 0 1 0 1 0 0 1 1 1 0 1 0 Riccardo Cattaneo - Studente PhD al 0 1 0 1 NECSTLab 1- 1 Autonomic 1 1 1(Operating) 1 Systems (CHANGE project) - Reconfigurable architectures for HPC systems (FASTER project) - exaFPGA (accelerazione hardware) G. Boole Prima&esercitazione& 3 Ciao! Algebra di Boole e gli operatori logici Un breve ripasso… A B A and B A B A or B A not A 0 0 0 0 0 0 0 1 0 1 0 0 1 1 1 0 Riccardo Cattaneo - Studente PhD al 0 1 0 1 NECSTLab 1- 1 Autonomic 1 1 1(Operating) 1 Systems (CHANGE project) C’è - altro? Reconfigurable architectures for HPC systems (FASTER project) - exaFPGA (accelerazione hardware) 1 0 G. Boole Prima&esercitazione& 3 Ciao! Algebra di Boole e gli operatori logici Un breve ripasso… A B A and B A B A or B A not A 0 0 0 0 0 0 0 1 0 1 0 0 1 1 1 0 Riccardo Cattaneo - Studente PhD al 0 1 0 1 NECSTLab 1- 1 Autonomic 1 1 1(Operating) 1 Systems (CHANGE project) C’è - altro? Reconfigurable architectures for HPC systems (FASTER project) - exaFPGA (accelerazione hardware) 1 0 A B A nand B 0 0 1 0 1 1 1 0 1 1 1 0 G. Boole Prima&esercitazione& 3 Ciao! Algebra di Boole e gli operatori logici Un breve ripasso… A B A and B A B A or B A not A 0 0 0 0 0 0 0 1 0 1 0 0 1 1 1 0 Riccardo Cattaneo - Studente PhD al 0 1 0 1 NECSTLab 1- 1 Autonomic 1 1 1(Operating) 1 Systems (CHANGE project) C’è - altro? Reconfigurable architectures for HPC systems (FASTER project) A B A nor B - exaFPGA (accelerazione hardware) 1 0 A B A nand B 0 0 1 0 0 1 0 1 1 0 1 0 1 0 1 1 0 0 1 1 0 1 1 0 G. Boole Prima&esercitazione& 3 Ciao! Algebra di Boole e gli operatori logici Un breve ripasso… A B A and B A B A or B A not A 0 0 0 0 0 0 0 1 0 1 0 0 1 1 1 0 Riccardo Cattaneo - Studente PhD al 0 1 0 1 NECSTLab 1- 1 Autonomic 1 1 1(Operating) 1 Systems (CHANGE project) C’è - altro? Reconfigurable architectures for HPC systems (FASTER project) A B A nor B A B A xor B - exaFPGA (accelerazione hardware) 1 0 A B A nand B 0 0 1 0 0 1 0 0 0 0 1 1 0 1 0 0 1 1 1 0 1 1 0 0 1 0 1 1 1 0 1 1 0 1 1 0 G. Boole Prima&esercitazione& 3 Ciao! Agenda (5’) Algebra di Boole e gli operatori logici (20’) Esercizio 1: Tabella di verità Riccardo Cattaneo (20’) Esercizio 2: Tabella di- verità Studente PhD al NECSTLab - Autonomic (Operating) Systems (5’) Un programma in C (CHANGE project) - Reconfigurable architectures for HPC (15’) Esercizio 3: caratteri MaIuScOli systems (FASTER project) (15’) Pausa - exaFPGA (accelerazione hardware) (20’) Esercizio 3: caratteri MaIuScOli con ciclo while (20’) Esercizio 4: ciclo while con contatori (30’) Esercizio 5: trova il maggiore Prima&esercitazione& 4 Ciao! Esercizio 1 Ipotesi: l’utente deve inserire un intero pari e divisibile per 9 oppure un numero che non é primo e contemporaneamente pari Riccardo Cattaneo - Studente PhD al NECSTLab - Autonomic (Operating) Systems (CHANGE project) - Reconfigurable architectures for HPC systems (FASTER project) - exaFPGA (accelerazione hardware) Prima&esercitazione& 5 Ciao! Esercizio 1 Ipotesi: l’utente deve inserire un intero pari e divisibile per 9 oppure un numero che non é primo e contemporaneamente pari Riccardo Cattaneo - Studente PhD al NECSTLab - Autonomic (Operating) Systems (CHANGE project) - Reconfigurable architectures for HPC systems (FASTER project) - exaFPGA (accelerazione hardware) Prima&esercitazione& 5 Ciao! Esercizio 1 Ipotesi: l’utente deve inserire un intero pari e divisibile per 9 oppure un numero che non é primo e contemporaneamente pari Riccardo Cattaneo - Studente PhD al NECSTLab A e divisibile per 9B Ipotesi: l’utente deve inserire un intero pari - Autonomic (Operating) Systems C e contemporaneamente pariA oppure un numero che non é primo (CHANGE project) - Reconfigurable architectures for HPC systems (FASTER project) - exaFPGA (accelerazione hardware) Prima&esercitazione& 5 Ciao! Esercizio 1 Ipotesi: l’utente deve inserire un intero pari e divisibile per 9 oppure un numero che non é primo e contemporaneamente pari Riccardo Cattaneo - Studente PhD al NECSTLab A e divisibile per 9B Ipotesi: l’utente deve inserire un intero pari - Autonomic (Operating) Systems C e contemporaneamente pariA oppure un numero che non é primo (CHANGE project) - Reconfigurable architectures for HPC systems (FASTER project) - exaFPGA (accelerazione hardware) Prima&esercitazione& 5 Ciao! Esercizio 1 Ipotesi: l’utente deve inserire un intero pari e divisibile per 9 oppure un numero che non é primo e contemporaneamente pari Riccardo Cattaneo - Studente PhD al NECSTLab A e divisibile per 9B Ipotesi: l’utente deve inserire un intero pari - Autonomic (Operating) Systems C e contemporaneamente pariA oppure un numero che non é primo (CHANGE project) - Reconfigurable architectures for HPC systems (FASTER project) - exaFPGA (accelerazione hardware) Ipotesi: l’utente deve inserire un intero pariA e divisibile per 9B oppure un numero che non é primoC e contemporaneamente pariA Prima&esercitazione& 5 Ciao! Esercizio 1 Ipotesi: l’utente deve inserire un intero pari e divisibile per 9 oppure un numero che non é primo e contemporaneamente pari Riccardo Cattaneo - Studente PhD al NECSTLab A e divisibile per 9B Ipotesi: l’utente deve inserire un intero pari - Autonomic (Operating) Systems C e contemporaneamente pariA oppure un numero che non é primo (CHANGE project) - Reconfigurable architectures for HPC systems (FASTER project) - exaFPGA (accelerazione hardware) Ipotesi: l’utente deve inserire un intero pariA e divisibile per 9B oppure un numero che non é primoC e contemporaneamente pariA Prima&esercitazione& 5 Ciao! Esercizio 1 Ipotesi: l’utente deve inserire un intero pari e divisibile per 9 oppure un numero che non é primo e contemporaneamente pari Riccardo Cattaneo - Studente PhD al NECSTLab A e divisibile per 9B Ipotesi: l’utente deve inserire un intero pari - Autonomic (Operating) Systems C e contemporaneamente pariA oppure un numero che non é primo (CHANGE project) - Reconfigurable architectures for HPC systems (FASTER project) - exaFPGA (accelerazione hardware) Ipotesi: l’utente deve inserire un intero pariA e divisibile per 9B oppure un numero che non é primoC e contemporaneamente pariA D = (A and B) or (not(C) and A) Prima&esercitazione& 5 Ciao! Esercizio 1: Tabella di verità Riccardo Cattaneo - Studente PhD al NECSTLab - Autonomic (Operating) Systems (CHANGE project) - Reconfigurable architectures for HPC systems (FASTER project) - exaFPGA (accelerazione hardware) Prima&esercitazione& 6 Ciao! Esercizio 1: Tabella di verità D = (A and B) or (not(C) and A) Riccardo Cattaneo - Studente PhD al NECSTLab - Autonomic (Operating) Systems (CHANGE project) - Reconfigurable architectures for HPC systems (FASTER project) - exaFPGA (accelerazione hardware) Prima&esercitazione& 6 Ciao! Esercizio 1: Tabella di verità D = (A and B) or (not(C) and A) Riccardo Cattaneo - Studente PhD al NECSTLab - Autonomic (Operating) Systems (CHANGE project) - Reconfigurable architectures for HPC systems (FASTER project) - exaFPGA (accelerazione hardware) Prima&esercitazione& 6 Ciao! Esercizio 1: Tabella di verità D = (A and B) or (not(C) and A) Riccardo Cattaneo A B C - Studente PhD al NECSTLab - Autonomic (Operating) Systems (CHANGE project) - Reconfigurable architectures for HPC systems (FASTER project) - exaFPGA (accelerazione hardware) Prima&esercitazione& 6 Ciao! Esercizio 1: Tabella di verità D = (A and B) or (not(C) and A) Riccardo Cattaneo A B C A and B - Studente PhD al NECSTLab - Autonomic (Operating) Systems (CHANGE project) - Reconfigurable architectures for HPC systems (FASTER project) - exaFPGA (accelerazione hardware) Prima&esercitazione& 6 Ciao! Esercizio 1: Tabella di verità D = (A and B) or (not(C) and A) Riccardo Cattaneo A B C A and B not(C) - Studente PhD al NECSTLab - Autonomic (Operating) Systems (CHANGE project) - Reconfigurable architectures for HPC systems (FASTER project) - exaFPGA (accelerazione hardware) Prima&esercitazione& 6 Ciao! Esercizio 1: Tabella di verità D = (A and B) or (not(C) and A) Riccardo Cattaneo - Studente PhD al NECSTLab - Autonomic (Operating) Systems A B C A and B not(C) not(C) and A (CHANGE project) - Reconfigurable architectures for HPC systems (FASTER project) - exaFPGA (accelerazione hardware) Prima&esercitazione& 6 Ciao! Esercizio 1: Tabella di verità D = (A and B) or (not(C) and A) Riccardo Cattaneo - Studente PhD al NECSTLab - Autonomic (Operating) Systems A B C A and B not(C) not(C) and A (A and B) or not(C) and A (CHANGE project) - Reconfigurable architectures for HPC systems (FASTER project) - exaFPGA (accelerazione hardware) Prima&esercitazione& 6 Ciao! Esercizio 1: Tabella di verità D = (A and B) or (not(C) and A) Riccardo Cattaneo - Studente PhD al NECSTLab - Autonomic (Operating) Systems A B C A and B not(C) not(C) and A (A and B) or not(C) and A (CHANGE project) 0 0 0 - Reconfigurable architectures for HPC systems (FASTER project) - exaFPGA (accelerazione hardware) Prima&esercitazione& 6 Ciao! Esercizio 1: Tabella di verità D = (A and B) or (not(C) and A) Riccardo Cattaneo - Studente PhD al NECSTLab - Autonomic (Operating) Systems A B C A and B not(C) not(C) and A (A and B) or not(C) and A (CHANGE project) 0 0 0 0 - Reconfigurable architectures for HPC systems (FASTER project) - exaFPGA (accelerazione hardware) Prima&esercitazione& 6 Ciao! Esercizio 1: Tabella di verità D = (A and B) or (not(C) and A) Riccardo Cattaneo - Studente PhD al NECSTLab - Autonomic (Operating) Systems A B C A and B not(C) not(C) and A (A and B) or not(C) and A (CHANGE project) 0 0 0 0 1 - Reconfigurable architectures for HPC systems (FASTER project) - exaFPGA (accelerazione hardware) Prima&esercitazione& 6 Ciao! Esercizio 1: Tabella di verità D = (A and B) or (not(C) and A) Riccardo Cattaneo - Studente PhD al NECSTLab - Autonomic (Operating) Systems A B C A and B not(C) not(C) and A (A and B) or not(C) and A (CHANGE project) 0 0 0 0 1 0 - Reconfigurable architectures for HPC systems (FASTER project) - exaFPGA (accelerazione hardware) Prima&esercitazione& 6 Ciao! Esercizio 1: Tabella di verità D = (A and B) or (not(C) and A) Riccardo Cattaneo - Studente PhD al NECSTLab - Autonomic (Operating) Systems A B C A and B not(C) not(C) and A (A and B) or not(C) and A (CHANGE project) 0 0 0 0 1 0 0 - Reconfigurable architectures for HPC systems (FASTER project) - exaFPGA (accelerazione hardware) Prima&esercitazione& 6 Ciao! Esercizio 1: Tabella di verità D = (A and B) or (not(C) and A) Riccardo Cattaneo - Studente PhD al NECSTLab - Autonomic (Operating) Systems A B C A and B not(C) not(C) and A (A and B) or not(C) and A (CHANGE project) 0 0 0 0 1 0 0 - Reconfigurable architectures for HPC 0 0 1 systems (FASTER project) - exaFPGA (accelerazione hardware) Prima&esercitazione& 6 Ciao! Esercizio 1: Tabella di verità D = (A and B) or (not(C) and A) Riccardo Cattaneo - Studente PhD al NECSTLab - Autonomic (Operating) Systems A B C A and B not(C) not(C) and A (A and B) or not(C) and A (CHANGE project) 0 0 0 0 1 0 0 - Reconfigurable architectures for HPC 0 0 1 0 systems (FASTER project) - exaFPGA (accelerazione hardware) Prima&esercitazione& 6 Ciao! Esercizio 1: Tabella di verità D = (A and B) or (not(C) and A) Riccardo Cattaneo - Studente PhD al NECSTLab - Autonomic (Operating) Systems A B C A and B not(C) not(C) and A (A and B) or not(C) and A (CHANGE project) 0 0 0 0 1 0 0 - Reconfigurable architectures for HPC 0 0 1 0 0 systems (FASTER project) - exaFPGA (accelerazione hardware) Prima&esercitazione& 6 Ciao! Esercizio 1: Tabella di verità D = (A and B) or (not(C) and A) Riccardo Cattaneo - Studente PhD al NECSTLab - Autonomic (Operating) Systems A B C A and B not(C) not(C) and A (A and B) or not(C) and A (CHANGE project) 0 0 0 0 1 0 0 - 0Reconfigurable architectures for HPC 0 0 1 0 0 systems (FASTER project) - exaFPGA (accelerazione hardware) Prima&esercitazione& 6 Ciao! Esercizio 1: Tabella di verità D = (A and B) or (not(C) and A) Riccardo Cattaneo - Studente PhD al NECSTLab - Autonomic (Operating) Systems A B C A and B not(C) not(C) and A (A and B) or not(C) and A (CHANGE project) 0 0 0 0 1 0 0 - 0Reconfigurable architectures for HPC 0 0 1 0 0 0 systems (FASTER project) - exaFPGA (accelerazione hardware) Prima&esercitazione& 6 Ciao! Esercizio 1: Tabella di verità D = (A and B) or (not(C) and A) Riccardo Cattaneo - Studente PhD al NECSTLab - Autonomic (Operating) Systems A B C A and B not(C) not(C) and A (A and B) or not(C) and A (CHANGE project) 0 0 0 0 1 0 0 - 0Reconfigurable architectures for HPC 0 0 1 0 0 0 systems (FASTER project) 0 1 0 - exaFPGA (accelerazione hardware) Prima&esercitazione& 6 Ciao! Esercizio 1: Tabella di verità D = (A and B) or (not(C) and A) Riccardo Cattaneo - Studente PhD al NECSTLab - Autonomic (Operating) Systems A B C A and B not(C) not(C) and A (A and B) or not(C) and A (CHANGE project) 0 0 0 0 1 0 0 - 0Reconfigurable architectures for HPC 0 0 1 0 0 0 systems (FASTER project) 0 1 0 0 - exaFPGA (accelerazione hardware) Prima&esercitazione& 6 Ciao! Esercizio 1: Tabella di verità D = (A and B) or (not(C) and A) Riccardo Cattaneo - Studente PhD al NECSTLab - Autonomic (Operating) Systems A B C A and B not(C) not(C) and A (A and B) or not(C) and A (CHANGE project) 0 0 0 0 1 0 0 - 0Reconfigurable architectures for HPC 0 0 1 0 0 0 systems (FASTER project) 0 1 0 0 1 - exaFPGA (accelerazione hardware) Prima&esercitazione& 6 Ciao! Esercizio 1: Tabella di verità D = (A and B) or (not(C) and A) Riccardo Cattaneo - Studente PhD al NECSTLab - Autonomic (Operating) Systems A B C A and B not(C) not(C) and A (A and B) or not(C) and A (CHANGE project) 0 0 0 0 1 0 0 - 0Reconfigurable architectures for HPC 0 0 1 0 0 0 0 1 0 0 1 0systems (FASTER project) - exaFPGA (accelerazione hardware) Prima&esercitazione& 6 Ciao! Esercizio 1: Tabella di verità D = (A and B) or (not(C) and A) Riccardo Cattaneo - Studente PhD al NECSTLab - Autonomic (Operating) Systems A B C A and B not(C) not(C) and A (A and B) or not(C) and A (CHANGE project) 0 0 0 0 1 0 0 - 0Reconfigurable architectures for HPC 0 0 1 0 0 0 project) 0 1 0 0 1 0systems (FASTER 0 - exaFPGA (accelerazione hardware) Prima&esercitazione& 6 Ciao! Esercizio 1: Tabella di verità D = (A and B) or (not(C) and A) Riccardo Cattaneo - Studente PhD al NECSTLab - Autonomic (Operating) Systems A B C A and B not(C) not(C) and A (A and B) or not(C) and A (CHANGE project) 0 0 0 0 1 0 0 - 0Reconfigurable architectures for HPC 0 0 1 0 0 0 project) 0 1 0 0 1 0systems (FASTER 0 0 1 1 - exaFPGA (accelerazione hardware) Prima&esercitazione& 6 Ciao! Esercizio 1: Tabella di verità D = (A and B) or (not(C) and A) Riccardo Cattaneo - Studente PhD al NECSTLab - Autonomic (Operating) Systems A B C A and B not(C) not(C) and A (A and B) or not(C) and A (CHANGE project) 0 0 0 0 1 0 0 - 0Reconfigurable architectures for HPC 0 0 1 0 0 0 project) 0 1 0 0 1 0systems (FASTER 0 0 1 1 0 - exaFPGA (accelerazione hardware) Prima&esercitazione& 6 Ciao! Esercizio 1: Tabella di verità D = (A and B) or (not(C) and A) Riccardo Cattaneo - Studente PhD al NECSTLab - Autonomic (Operating) Systems A B C A and B not(C) not(C) and A (A and B) or not(C) and A (CHANGE project) 0 0 0 0 1 0 0 - 0Reconfigurable architectures for HPC 0 0 1 0 0 0 project) 0 1 0 0 1 0systems (FASTER 0 0 1 1 0 0 - exaFPGA (accelerazione hardware) Prima&esercitazione& 6 Ciao! Esercizio 1: Tabella di verità D = (A and B) or (not(C) and A) Riccardo Cattaneo - Studente PhD al NECSTLab - Autonomic (Operating) Systems A B C A and B not(C) not(C) and A (A and B) or not(C) and A (CHANGE project) 0 0 0 0 1 0 0 - 0Reconfigurable architectures for HPC 0 0 1 0 0 0 project) 0 1 0 0 1 0systems (FASTER 0 0 1 1 0 0 - 0exaFPGA (accelerazione hardware) Prima&esercitazione& 6 Ciao! Esercizio 1: Tabella di verità D = (A and B) or (not(C) and A) Riccardo Cattaneo - Studente PhD al NECSTLab - Autonomic (Operating) Systems A B C A and B not(C) not(C) and A (A and B) or not(C) and A (CHANGE project) 0 0 0 0 1 0 0 - 0Reconfigurable architectures for HPC 0 0 1 0 0 0 project) 0 1 0 0 1 0systems (FASTER 0 0 1 1 0 0 0 - 0exaFPGA (accelerazione hardware) Prima&esercitazione& 6 Ciao! Esercizio 1: Tabella di verità D = (A and B) or (not(C) and A) Riccardo Cattaneo - Studente PhD al NECSTLab - Autonomic (Operating) Systems A B C A and B not(C) not(C) and A (A and B) or not(C) and A (CHANGE project) 0 0 0 0 1 0 0 - 0Reconfigurable architectures for HPC 0 0 1 0 0 0 project) 0 1 0 0 1 0systems (FASTER 0 0 1 1 0 0 0 - 0exaFPGA (accelerazione hardware) 1 0 0 Prima&esercitazione& 6 Ciao! Esercizio 1: Tabella di verità D = (A and B) or (not(C) and A) Riccardo Cattaneo - Studente PhD al NECSTLab - Autonomic (Operating) Systems A B C A and B not(C) not(C) and A (A and B) or not(C) and A (CHANGE project) 0 0 0 0 1 0 0 - 0Reconfigurable architectures for HPC 0 0 1 0 0 0 project) 0 1 0 0 1 0systems (FASTER 0 0 1 1 0 0 0 - 0exaFPGA (accelerazione hardware) 1 0 0 0 Prima&esercitazione& 6 Ciao! Esercizio 1: Tabella di verità D = (A and B) or (not(C) and A) Riccardo Cattaneo - Studente PhD al NECSTLab - Autonomic (Operating) Systems A B C A and B not(C) not(C) and A (A and B) or not(C) and A (CHANGE project) 0 0 0 0 1 0 0 - 0Reconfigurable architectures for HPC 0 0 1 0 0 0 project) 0 1 0 0 1 0systems (FASTER 0 0 1 1 0 0 0 - 0exaFPGA (accelerazione hardware) 1 0 0 0 1 Prima&esercitazione& 6 Ciao! Esercizio 1: Tabella di verità D = (A and B) or (not(C) and A) Riccardo Cattaneo - Studente PhD al NECSTLab - Autonomic (Operating) Systems A B C A and B not(C) not(C) and A (A and B) or not(C) and A (CHANGE project) 0 0 0 0 1 0 0 - 0Reconfigurable architectures for HPC 0 0 1 0 0 0 project) 0 1 0 0 1 0systems (FASTER 0 0 1 1 0 0 0 - 0exaFPGA (accelerazione hardware) 1 0 0 0 1 1 Prima&esercitazione& 6 Ciao! Esercizio 1: Tabella di verità D = (A and B) or (not(C) and A) Riccardo Cattaneo - Studente PhD al NECSTLab - Autonomic (Operating) Systems A B C A and B not(C) not(C) and A (A and B) or not(C) and A (CHANGE project) 0 0 0 0 1 0 0 - 0Reconfigurable architectures for HPC 0 0 1 0 0 0 project) 0 1 0 0 1 0systems (FASTER 0 0 1 1 0 0 0 - 0exaFPGA (accelerazione hardware) 1 0 0 0 1 1 Prima&esercitazione& 1 6 Ciao! Esercizio 1: Tabella di verità D = (A and B) or (not(C) and A) Riccardo Cattaneo - Studente PhD al NECSTLab - Autonomic (Operating) Systems A B C A and B not(C) not(C) and A (A and B) or not(C) and A (CHANGE project) 0 0 0 0 1 0 0 - 0Reconfigurable architectures for HPC 0 0 1 0 0 0 project) 0 1 0 0 1 0systems (FASTER 0 0 1 1 0 0 0 - 0exaFPGA (accelerazione hardware) 1 0 0 0 1 1 1 1 0 1 Prima&esercitazione& 6 Ciao! Esercizio 1: Tabella di verità D = (A and B) or (not(C) and A) Riccardo Cattaneo - Studente PhD al NECSTLab - Autonomic (Operating) Systems A B C A and B not(C) not(C) and A (A and B) or not(C) and A (CHANGE project) 0 0 0 0 1 0 0 - 0Reconfigurable architectures for HPC 0 0 1 0 0 0 project) 0 1 0 0 1 0systems (FASTER 0 0 1 1 0 0 0 - 0exaFPGA (accelerazione hardware) 1 0 0 0 1 0 1 0 1 1 Prima&esercitazione& 1 6 Ciao! Esercizio 1: Tabella di verità D = (A and B) or (not(C) and A) Riccardo Cattaneo - Studente PhD al NECSTLab - Autonomic (Operating) Systems A B C A and B not(C) not(C) and A (A and B) or not(C) and A (CHANGE project) 0 0 0 0 1 0 0 - 0Reconfigurable architectures for HPC 0 0 1 0 0 0 project) 0 1 0 0 1 0systems (FASTER 0 0 1 1 0 0 0 - 0exaFPGA (accelerazione hardware) 1 0 0 0 1 1 0 1 0 0 1 Prima&esercitazione& 1 6 Ciao! Esercizio 1: Tabella di verità D = (A and B) or (not(C) and A) Riccardo Cattaneo - Studente PhD al NECSTLab - Autonomic (Operating) Systems A B C A and B not(C) not(C) and A (A and B) or not(C) and A (CHANGE project) 0 0 0 0 1 0 0 - 0Reconfigurable architectures for HPC 0 0 1 0 0 0 project) 0 1 0 0 1 0systems (FASTER 0 0 1 1 0 0 0 - 0exaFPGA (accelerazione hardware) 1 0 0 0 1 1 1 0 1 0 0 0 Prima&esercitazione& 1 6 Ciao! Esercizio 1: Tabella di verità D = (A and B) or (not(C) and A) Riccardo Cattaneo - Studente PhD al NECSTLab - Autonomic (Operating) Systems A B C A and B not(C) not(C) and A (A and B) or not(C) and A (CHANGE project) 0 0 0 0 1 0 0 - 0Reconfigurable architectures for HPC 0 0 1 0 0 0 project) 0 1 0 0 1 0systems (FASTER 0 0 1 1 0 0 0 - 0exaFPGA (accelerazione hardware) 1 0 0 0 1 1 1 1 0 1 0 0 0 0 Prima&esercitazione& 6 Ciao! Esercizio 1: Tabella di verità D = (A and B) or (not(C) and A) Riccardo Cattaneo - Studente PhD al NECSTLab - Autonomic (Operating) Systems A B C A and B not(C) not(C) and A (A and B) or not(C) and A (CHANGE project) 0 0 0 0 1 0 0 - 0Reconfigurable architectures for HPC 0 0 1 0 0 0 project) 0 1 0 0 1 0systems (FASTER 0 0 1 1 0 0 0 - 0exaFPGA (accelerazione hardware) 1 0 0 0 1 1 1 1 0 1 0 0 0 0 1 1 0 Prima&esercitazione& 6 Ciao! Esercizio 1: Tabella di verità D = (A and B) or (not(C) and A) Riccardo Cattaneo - Studente PhD al NECSTLab - Autonomic (Operating) Systems A B C A and B not(C) not(C) and A (A and B) or not(C) and A (CHANGE project) 0 0 0 0 1 0 0 - 0Reconfigurable architectures for HPC 0 0 1 0 0 0 project) 0 1 0 0 1 0systems (FASTER 0 0 1 1 0 0 0 - 0exaFPGA (accelerazione hardware) 1 0 0 0 1 1 1 1 0 1 0 0 0 0 1 1 0 1 Prima&esercitazione& 6 Ciao! Esercizio 1: Tabella di verità D = (A and B) or (not(C) and A) Riccardo Cattaneo - Studente PhD al NECSTLab - Autonomic (Operating) Systems A B C A and B not(C) not(C) and A (A and B) or not(C) and A (CHANGE project) 0 0 0 0 1 0 0 - 0Reconfigurable architectures for HPC 0 0 1 0 0 0 project) 0 1 0 0 1 0systems (FASTER 0 0 1 1 0 0 0 - 0exaFPGA (accelerazione hardware) 1 0 0 0 1 1 1 1 0 1 0 0 0 0 1 1 0 1 1 Prima&esercitazione& 6 Ciao! Esercizio 1: Tabella di verità D = (A and B) or (not(C) and A) Riccardo Cattaneo - Studente PhD al NECSTLab - Autonomic (Operating) Systems A B C A and B not(C) not(C) and A (A and B) or not(C) and A (CHANGE project) 0 0 0 0 1 0 0 - 0Reconfigurable architectures for HPC 0 0 1 0 0 0 project) 0 1 0 0 1 0systems (FASTER 0 0 1 1 0 0 0 - 0exaFPGA (accelerazione hardware) 1 0 0 0 1 1 1 1 0 1 0 0 0 0 1 1 0 1 1 1 Prima&esercitazione& 6 Ciao! Esercizio 1: Tabella di verità D = (A and B) or (not(C) and A) Riccardo Cattaneo - Studente PhD al NECSTLab - Autonomic (Operating) Systems A B C A and B not(C) not(C) and A (A and B) or not(C) and A (CHANGE project) 0 0 0 0 1 0 0 - 0Reconfigurable architectures for HPC 0 0 1 0 0 0 project) 0 1 0 0 1 0systems (FASTER 0 0 1 1 0 0 0 - 0exaFPGA (accelerazione hardware) 1 0 0 0 1 1 1 1 0 1 0 0 0 0 1 1 0 1 1 1 1 Prima&esercitazione& 6 Ciao! Esercizio 1: Tabella di verità D = (A and B) or (not(C) and A) Riccardo Cattaneo - Studente PhD al NECSTLab - Autonomic (Operating) Systems A B C A and B not(C) not(C) and A (A and B) or not(C) and A (CHANGE project) 0 0 0 0 1 0 0 - 0Reconfigurable architectures for HPC 0 0 1 0 0 0 project) 0 1 0 0 1 0systems (FASTER 0 0 1 1 0 0 0 - 0exaFPGA (accelerazione hardware) 1 0 0 0 1 1 1 1 0 1 0 0 0 0 1 1 0 1 1 1 1 1 1 1 Prima&esercitazione& 6 Ciao! Esercizio 1: Tabella di verità D = (A and B) or (not(C) and A) Riccardo Cattaneo - Studente PhD al NECSTLab - Autonomic (Operating) Systems A B C A and B not(C) not(C) and A (A and B) or not(C) and A (CHANGE project) 0 0 0 0 1 0 0 - 0Reconfigurable architectures for HPC 0 0 1 0 0 0 project) 0 1 0 0 1 0systems (FASTER 0 0 1 1 0 0 0 - 0exaFPGA (accelerazione hardware) 1 0 0 0 1 1 1 1 0 1 0 0 0 0 1 1 0 1 1 1 1 1 1 1 1 Prima&esercitazione& 6 Ciao! Esercizio 1: Tabella di verità D = (A and B) or (not(C) and A) Riccardo Cattaneo - Studente PhD al NECSTLab - Autonomic (Operating) Systems A B C A and B not(C) not(C) and A (A and B) or not(C) and A (CHANGE project) 0 0 0 0 1 0 0 - 0Reconfigurable architectures for HPC 0 0 1 0 0 0 project) 0 1 0 0 1 0systems (FASTER 0 0 1 1 0 0 0 - 0exaFPGA (accelerazione hardware) 1 0 0 0 1 1 1 1 0 1 0 0 0 0 1 1 0 1 1 1 1 1 1 1 1 0 Prima&esercitazione& 6 Ciao! Esercizio 1: Tabella di verità D = (A and B) or (not(C) and A) Riccardo Cattaneo - Studente PhD al NECSTLab - Autonomic (Operating) Systems A B C A and B not(C) not(C) and A (A and B) or not(C) and A (CHANGE project) 0 0 0 0 1 0 0 - 0Reconfigurable architectures for HPC 0 0 1 0 0 0 project) 0 1 0 0 1 0systems (FASTER 0 0 1 1 0 0 0 - 0exaFPGA (accelerazione hardware) 1 0 0 0 1 1 1 1 0 1 0 0 0 0 1 1 0 1 1 1 1 1 1 1 1 0 0 Prima&esercitazione& 6 Ciao! Esercizio 1: Tabella di verità D = (A and B) or (not(C) and A) Riccardo Cattaneo - Studente PhD al NECSTLab - Autonomic (Operating) Systems A B C A and B not(C) not(C) and A (A and B) or not(C) and A (CHANGE project) 0 0 0 0 1 0 0 - 0Reconfigurable architectures for HPC 0 0 1 0 0 0 project) 0 1 0 0 1 0systems (FASTER 0 0 1 1 0 0 0 - 0exaFPGA (accelerazione hardware) 1 0 0 0 1 1 1 1 0 1 0 0 0 0 1 1 0 1 1 1 1 1 1 1 1 0 0 1 Prima&esercitazione& 6 Ciao! Agenda (5’) Algebra di Boole e gli operatori logici (20’) Esercizio 1: Tabella di verità Riccardo Cattaneo (20’) Esercizio 2: Tabella di- verità Studente PhD al NECSTLab - Autonomic (Operating) Systems (5’) Un programma in C (CHANGE project) - Reconfigurable architectures for HPC (15’) Esercizio 3: caratteri MaIuScOli systems (FASTER project) (15’) Pausa - exaFPGA (accelerazione hardware) (20’) Esercizio 3: caratteri MaIuScOli con ciclo while (20’) Esercizio 4: ciclo while con contatori (30’) Esercizio 5: trova il maggiore Prima&esercitazione& 7 Ciao! Esercizio 2 Riccardo Cattaneo - Studente PhD al NECSTLab - Autonomic (Operating) Systems (CHANGE project) - Reconfigurable architectures for HPC systems (FASTER project) - exaFPGA (accelerazione hardware) Prima&esercitazione& 8 Ciao! Esercizio 2 Ipotesi: l’utente deve inserire un intero pari e divisibile per 9 oppure primo; e contemporaneamente uno che non sia: pari e divisibile per 9 oppure primo Riccardo Cattaneo - Studente PhD al NECSTLab - Autonomic (Operating) Systems (CHANGE project) - Reconfigurable architectures for HPC systems (FASTER project) - exaFPGA (accelerazione hardware) Prima&esercitazione& 8 Ciao! Esercizio 2 Ipotesi: l’utente deve inserire un intero pari e divisibile per 9 oppure primo; e contemporaneamente uno che non sia: pari e divisibile per 9 oppure primo Riccardo Cattaneo - Studente PhD al NECSTLab - Autonomic (Operating) Systems (CHANGE project) - Reconfigurable architectures for HPC systems (FASTER project) - exaFPGA (accelerazione hardware) Prima&esercitazione& 8 Ciao! Esercizio 2 Ipotesi: l’utente deve inserire un intero pari e divisibile per 9 oppure primo; e contemporaneamente uno che non sia: pari e divisibile per 9 oppure primo Riccardo Cattaneo - pari Studente PhD alper NECSTLab A e divisibile Ipotesi: l’utente deve inserire un intero 9B oppure primoC; e contemporaneamente uno che - nonAutonomic sia: pariA e (Operating) divisibile perSystems 9B oppure C (CHANGE project) primo - Reconfigurable architectures for HPC systems (FASTER project) - exaFPGA (accelerazione hardware) Prima&esercitazione& 8 Ciao! Esercizio 2 Ipotesi: l’utente deve inserire un intero pari e divisibile per 9 oppure primo; e contemporaneamente uno che non sia: pari e divisibile per 9 oppure primo Riccardo Cattaneo - pari Studente PhD alper NECSTLab A e divisibile Ipotesi: l’utente deve inserire un intero 9B oppure primoC; e contemporaneamente uno che - nonAutonomic sia: pariA e (Operating) divisibile perSystems 9B oppure C (CHANGE project) primo - Reconfigurable architectures for HPC systems (FASTER project) - exaFPGA (accelerazione hardware) Prima&esercitazione& 8 Ciao! Esercizio 2 Ipotesi: l’utente deve inserire un intero pari e divisibile per 9 oppure primo; e contemporaneamente uno che non sia: pari e divisibile per 9 oppure primo Riccardo Cattaneo - pari Studente PhD alper NECSTLab A e divisibile Ipotesi: l’utente deve inserire un intero 9B oppure primoC; e contemporaneamente uno che - nonAutonomic sia: pariA e (Operating) divisibile perSystems 9B oppure C (CHANGE project) primo - Reconfigurable architectures for HPC systems (FASTER project) - exaFPGA (accelerazione hardware) Ipotesi: l’utente deve inserire un intero pariA e divisibile per 9B oppure primoC; e contemporaneamente uno che non sia: pariA e divisibile per 9B oppure primoC Prima&esercitazione& 8 Ciao! Esercizio 2 Ipotesi: l’utente deve inserire un intero pari e divisibile per 9 oppure primo; e contemporaneamente uno che non sia: pari e divisibile per 9 oppure primo Riccardo Cattaneo - pari Studente PhD alper NECSTLab A e divisibile Ipotesi: l’utente deve inserire un intero 9B oppure primoC; e contemporaneamente uno che - nonAutonomic sia: pariA e (Operating) divisibile perSystems 9B oppure C (CHANGE project) primo - Reconfigurable architectures for HPC systems (FASTER project) - exaFPGA (accelerazione hardware) Ipotesi: l’utente deve inserire un intero pariA e divisibile per 9B oppure primoC; e contemporaneamente uno che non sia: pariA e divisibile per 9B oppure primoC Prima&esercitazione& 8 Ciao! Esercizio 2 Ipotesi: l’utente deve inserire un intero pari e divisibile per 9 oppure primo; e contemporaneamente uno che non sia: pari e divisibile per 9 oppure primo Riccardo Cattaneo - pari Studente PhD alper NECSTLab A e divisibile Ipotesi: l’utente deve inserire un intero 9B oppure primoC; e contemporaneamente uno che - nonAutonomic sia: pariA e (Operating) divisibile perSystems 9B oppure C (CHANGE project) primo - Reconfigurable architectures for HPC systems (FASTER project) - exaFPGA (accelerazione hardware) Ipotesi: l’utente deve inserire un intero pariA e divisibile per 9B oppure primoC; e contemporaneamente uno che non sia: pariA e divisibile per 9B oppure primoC D=[(A and B) or C] and {not[(A and B) or C]} Prima&esercitazione& 8 Ciao! Esercizio 2: Tabella di verità Riccardo Cattaneo - Studente PhD al NECSTLab - Autonomic (Operating) Systems (CHANGE project) - Reconfigurable architectures for HPC systems (FASTER project) - exaFPGA (accelerazione hardware) Prima&esercitazione& 9 Ciao! Esercizio 2: Tabella di verità D=[(A and B) or C] and {not[(A and B) or C]} Riccardo Cattaneo - Studente PhD al NECSTLab - Autonomic (Operating) Systems (CHANGE project) - Reconfigurable architectures for HPC systems (FASTER project) - exaFPGA (accelerazione hardware) Prima&esercitazione& 9 Ciao! Esercizio 2: Tabella di verità D=[(A and B) or C] and {not[(A and B) or C]} Riccardo Cattaneo - Studente PhD al NECSTLab - Autonomic (Operating) Systems (CHANGE project) - Reconfigurable architectures for HPC systems (FASTER project) - exaFPGA (accelerazione hardware) Prima&esercitazione& 9 Ciao! Esercizio 2: Tabella di verità D=[(A and B) or C] and {not[(A and B) or C]} Riccardo Cattaneo A B C 0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 - Studente PhD al NECSTLab - Autonomic (Operating) Systems (CHANGE project) - Reconfigurable architectures for HPC systems (FASTER project) - exaFPGA (accelerazione hardware) 1 0 1 1 1 0 1 1 1 Prima&esercitazione& 9 Ciao! Esercizio 2: Tabella di verità D=[(A and B) or C] and {not[(A and B) or C]} Riccardo Cattaneo A B C A and B 0 0 0 0 0 0 1 0 0 1 0 0 0 1 1 0 1 0 0 0 1 0 1 0 1 1 0 1 1 1 1 1 - Studente PhD al NECSTLab - Autonomic (Operating) Systems (CHANGE project) - Reconfigurable architectures for HPC systems (FASTER project) - exaFPGA (accelerazione hardware) Prima&esercitazione& 9 Ciao! Esercizio 2: Tabella di verità D=[(A and B) or C] and {not[(A and B) or C]} Riccardo Cattaneo A B C A and B (A and B) or C 0 0 0 0 0 0 0 1 0 1 0 1 0 0 0 0 1 1 0 1 1 0 0 0 0 1 0 1 0 1 1 1 0 1 1 1 1 1 1 1 - Studente PhD al NECSTLab - Autonomic (Operating) Systems (CHANGE project) - Reconfigurable architectures for HPC systems (FASTER project) - exaFPGA (accelerazione hardware) Prima&esercitazione& 9 Ciao! Esercizio 2: Tabella di verità D=[(A and B) or C] and {not[(A and B) or C]} Riccardo Cattaneo A B C A and B (A and B) or C - Studente PhD al NECSTLab not[(A and or C] - B)Autonomic (Operating) Systems 1 (CHANGE project) 0 - 1 Reconfigurable architectures for HPC 0 systems (FASTER project) - 1 exaFPGA (accelerazione hardware) 0 0 0 0 0 0 0 1 0 1 0 1 0 0 0 0 1 1 0 1 1 0 0 0 0 1 0 1 0 1 0 1 1 0 1 1 0 1 1 1 1 1 0 Prima&esercitazione& 9 Ciao! Esercizio 2: Tabella di verità D=[(A and B) or C] and {not[(A and B) or C]} Riccardo Cattaneo A B C A and B (A and B) or C - Studente PhD al NECSTLab not[(A and or C] [(A and B) or C] and {not[(A and B) orSystems C]} - B)Autonomic (Operating) 1 0 (CHANGE project) 0 0 - 1 Reconfigurable0 architectures for HPC project) 0 systems (FASTER 0 0 - 1 exaFPGA (accelerazione hardware) 0 0 0 0 0 0 0 1 0 1 0 1 0 0 0 0 1 1 0 1 1 0 0 0 0 1 0 1 0 1 0 0 1 1 0 1 1 0 0 1 1 1 1 1 0 0 Prima&esercitazione& 9 Ciao! Esercizio 2: Tabella di verità D=[(A and B) or C] and {not[(A and B) or C]} Riccardo Cattaneo A B C A and B (A and B) or C - Studente PhD al NECSTLab not[(A and or C] [(A and B) or C] and {not[(A and B) orSystems C]} - B)Autonomic (Operating) 1 0 (CHANGE project) 0 0 - 1 Reconfigurable0 architectures for HPC project) 0 systems (FASTER 0 0 - 1 exaFPGA (accelerazione hardware) 0 0 0 0 0 0 0 1 0 1 0 1 0 0 0 0 1 1 0 1 1 0 0 0 0 1 0 1 0 1 0 0 1 1 0 1 1 0 0 1 1 1 1 1 0 0 Take away: leggete il testo prima di lanciarvi sui calcoli! Prima&esercitazione& 9 Ciao! Agenda (5’) Algebra di Boole e gli operatori logici (20’) Esercizio 1: Tabella di verità Riccardo Cattaneo (20’) Esercizio 2: Tabella di- verità Studente PhD al NECSTLab - Autonomic (Operating) Systems (5’) Un programma in C (CHANGE project) - Reconfigurable architectures for HPC (15’) Esercizio 3: caratteri MaIuScOli systems (FASTER project) (15’) Pausa - exaFPGA (accelerazione hardware) (20’) Esercizio 3: caratteri MaIuScOli con ciclo while (20’) Esercizio 4: ciclo while con contatori (30’) Esercizio 5: trova il maggiore Prima&esercitazione& 10 Ciao! Un programma in C Riccardo Cattaneo - Studente PhD al NECSTLab - Autonomic (Operating) Systems (CHANGE project) - Reconfigurable architectures for HPC systems (FASTER project) - exaFPGA (accelerazione hardware) Prima&esercitazione& 11 Ciao! Un programma in C parte dichiarativa globale inclusione librerie / per poter invocare funzioni utili (i/o, ...) / dichiarazione di variabili globali e funzioni Riccardo Cattaneo - Studente PhD al NECSTLab - Autonomic (Operating) Systems (CHANGE project) - Reconfigurable architectures for HPC systems (FASTER project) - exaFPGA (accelerazione hardware) Prima&esercitazione& 11 Ciao! Un programma in C parte dichiarativa globale inclusione librerie / per poter invocare funzioni utili (i/o, ...) / dichiarazione di variabili globali e funzioni int main ( ) { Riccardo Cattaneo - Studente PhD al NECSTLab - Autonomic (Operating) Systems (CHANGE project) - Reconfigurable architectures for HPC systems (FASTER project) - exaFPGA (accelerazione hardware) Prima&esercitazione& 11 Ciao! Un programma in C parte dichiarativa globale inclusione librerie / per poter invocare funzioni utili (i/o, ...) / dichiarazione di variabili globali e funzioni int main ( ) { Riccardo Cattaneo - locale Studente parte dichiarativa PhD al NECSTLab - Autonomic (Operating) Systems dichiarazione di variabili locali (CHANGE project) - Reconfigurable architectures for HPC systems (FASTER project) - exaFPGA (accelerazione hardware) Prima&esercitazione& 11 Ciao! Un programma in C parte dichiarativa globale inclusione librerie / per poter invocare funzioni utili (i/o, ...) / dichiarazione di variabili globali e funzioni int main ( ) { Riccardo Cattaneo PhD al NECSTLab - Autonomic (Operating) Systems dichiarazione di variabili locali (CHANGE project) architectures for HPC istruzione 1; / tutti i tipi- diReconfigurable operazioni, e cioè: / istruzione 2; / istr. di assegnamento / systems (FASTER project) istruzione 3; / istr. di input / output(accelerazione / - exaFPGA hardware) istruzione 4; ... istruzione N; - locale Studente parte dichiarativa / istr. di controllo (condizionali, cicli) / parte esecutiva Prima&esercitazione& 11 Ciao! Un programma in C parte dichiarativa globale inclusione librerie / per poter invocare funzioni utili (i/o, ...) / dichiarazione di variabili globali e funzioni int main ( ) { Riccardo Cattaneo PhD al NECSTLab - Autonomic (Operating) Systems dichiarazione di variabili locali (CHANGE project) architectures for HPC istruzione 1; / tutti i tipi- diReconfigurable operazioni, e cioè: / istruzione 2; / istr. di assegnamento / systems (FASTER project) istruzione 3; / istr. di input / output(accelerazione / - exaFPGA hardware) istruzione 4; ... istruzione N; - locale Studente parte dichiarativa / istr. di controllo (condizionali, cicli) / parte esecutiva return 0; } Prima&esercitazione& 11 Ciao! Agenda (5’) Algebra di Boole e gli operatori logici (20’) Esercizio 1: Tabella di verità Riccardo Cattaneo (20’) Esercizio 2: Tabella di- verità Studente PhD al NECSTLab - Autonomic (Operating) Systems (5’) Un programma in C (CHANGE project) - Reconfigurable architectures for HPC (15’) Esercizio 3: caratteri MaIuScOli systems (FASTER project) (15’) Pausa - exaFPGA (accelerazione hardware) (20’) Esercizio 3: caratteri MaIuScOli con ciclo while (20’) Esercizio 4: ciclo while con contatori (30’) Esercizio 5: trova il maggiore Prima&esercitazione& 12 Ciao! Esercizio 3: caratteri MaIuScOli Si scriva un programma che, preso un carattere minuscolo da tastiera, ne riporta a video l’equivalente maiuscolo Riccardo Cattaneo - Studente PhD al NECSTLab - Autonomic (Operating) Systems (CHANGE project) - Reconfigurable architectures for HPC systems (FASTER project) - exaFPGA (accelerazione hardware) 13 Prima&esercitazione& Ciao! Esercizio 3: caratteri MaIuScOli Si scriva un programma che, preso un carattere minuscolo da tastiera, ne riporta a video l’equivalente maiuscolo Riccardo Cattaneo - Studente PhD al NECSTLab - Autonomic (Operating) Systems (CHANGE project) - Reconfigurable architectures for HPC systems (FASTER project) - exaFPGA (accelerazione hardware) 14 Prima&esercitazione& Ciao! Esercizio 3: caratteri MaIuScOli Si scriva un programma che, preso un carattere minuscolo da tastiera, ne riporta a video l’equivalente maiuscolo Riccardo Cattaneo Dato l’insieme dei caratteri ammissibili: - Studente PhD al NECSTLab - Autonomic (Operating) Systems (CHANGE project) - Reconfigurable architectures for HPC systems (FASTER project) - exaFPGA (accelerazione hardware) 14 Prima&esercitazione& Ciao! Esercizio 3: caratteri MaIuScOli Si scriva un programma che, preso un carattere minuscolo da tastiera, ne riporta a video l’equivalente maiuscolo Riccardo Cattaneo Dato l’insieme dei caratteri ammissibili: • {a, b, c, …, z} - Studente PhD al NECSTLab - Autonomic (Operating) Systems (CHANGE project) - Reconfigurable architectures for HPC systems (FASTER project) - exaFPGA (accelerazione hardware) 14 Prima&esercitazione& Ciao! Esercizio 3: caratteri MaIuScOli Si scriva un programma che, preso un carattere minuscolo da tastiera, ne riporta a video l’equivalente maiuscolo Riccardo Cattaneo Dato l’insieme dei caratteri ammissibili: • {a, b, c, …, z} - Studente PhD al NECSTLab Pseudocodice: - Autonomic (Operating) Systems (CHANGE project) - Reconfigurable architectures for HPC systems (FASTER project) - exaFPGA (accelerazione hardware) 14 Prima&esercitazione& Ciao! Esercizio 3: caratteri MaIuScOli Si scriva un programma che, preso un carattere minuscolo da tastiera, ne riporta a video l’equivalente maiuscolo Riccardo Cattaneo Dato l’insieme dei caratteri ammissibili: • {a, b, c, …, z} - Studente PhD al NECSTLab - Autonomic (Operating) Systems Pseudocodice: (CHANGE project) • Richiedere l’inserimento di un carattere: - Reconfigurable architectures for HPC systems (FASTER project) - exaFPGA (accelerazione hardware) 14 Prima&esercitazione& Ciao! Esercizio 3: caratteri MaIuScOli Si scriva un programma che, preso un carattere minuscolo da tastiera, ne riporta a video l’equivalente maiuscolo Riccardo Cattaneo Dato l’insieme dei caratteri ammissibili: • {a, b, c, …, z} - Studente PhD al NECSTLab - Autonomic (Operating) Systems Pseudocodice: (CHANGE project) • Richiedere l’inserimento di un carattere: - Reconfigurable architectures for HPC systems (FASTER project) • Acquisire il carattere - exaFPGA (accelerazione hardware) 14 Prima&esercitazione& Ciao! Esercizio 3: caratteri MaIuScOli Si scriva un programma che, preso un carattere minuscolo da tastiera, ne riporta a video l’equivalente maiuscolo Riccardo Cattaneo Dato l’insieme dei caratteri ammissibili: • {a, b, c, …, z} - Studente PhD al NECSTLab - Autonomic (Operating) Systems Pseudocodice: (CHANGE project) • Richiedere l’inserimento di un carattere: - Reconfigurable architectures for HPC systems (FASTER project) • Acquisire il carattere - exaFPGA (accelerazione hardware) • Se carattere inserito corretto 14 Prima&esercitazione& Ciao! Esercizio 3: caratteri MaIuScOli Si scriva un programma che, preso un carattere minuscolo da tastiera, ne riporta a video l’equivalente maiuscolo Riccardo Cattaneo Dato l’insieme dei caratteri ammissibili: • {a, b, c, …, z} - Studente PhD al NECSTLab - Autonomic (Operating) Systems Pseudocodice: (CHANGE project) • Richiedere l’inserimento di un carattere: - Reconfigurable architectures for HPC systems (FASTER project) • Acquisire il carattere - exaFPGA (accelerazione hardware) • Se carattere inserito corretto • Allora stampa a video carattere-32 14 Prima&esercitazione& Ciao! Esercizio 3: caratteri MaIuScOli Si scriva un programma che, preso un carattere minuscolo da tastiera, ne riporta a video l’equivalente maiuscolo Riccardo Cattaneo Dato l’insieme dei caratteri ammissibili: • {a, b, c, …, z} - Studente PhD al NECSTLab - Autonomic (Operating) Systems Pseudocodice: (CHANGE project) • Richiedere l’inserimento di un carattere: - Reconfigurable architectures for HPC systems (FASTER project) • Acquisire il carattere - exaFPGA (accelerazione hardware) • Se carattere inserito corretto • • Allora stampa a video carattere-32 Altrimenti 14 Prima&esercitazione& Ciao! Esercizio 3: caratteri MaIuScOli Si scriva un programma che, preso un carattere minuscolo da tastiera, ne riporta a video l’equivalente maiuscolo Riccardo Cattaneo Dato l’insieme dei caratteri ammissibili: • {a, b, c, …, z} - Studente PhD al NECSTLab - Autonomic (Operating) Systems Pseudocodice: (CHANGE project) • Richiedere l’inserimento di un carattere: - Reconfigurable architectures for HPC systems (FASTER project) • Acquisire il carattere - exaFPGA (accelerazione hardware) • Se carattere inserito corretto • • Allora stampa a video carattere-32 Altrimenti • stampa a video un messaggio di errore 14 Prima&esercitazione& Ciao! Esercizio 3: caratteri MaIuScOli Si scriva un programma che, preso un carattere minuscolo da tastiera, ne riporta a video l’equivalente maiuscolo Riccardo Cattaneo - Studente PhD al NECSTLab - Autonomic (Operating) Systems (CHANGE project) - Reconfigurable architectures for HPC systems (FASTER project) - exaFPGA (accelerazione hardware) 15 Prima&esercitazione& Ciao! Esercizio 3: caratteri MaIuScOli Si scriva un programma che, preso un carattere minuscolo da tastiera, ne riporta a video l’equivalente maiuscolo Riccardo Cattaneo - Studente PhD al NECSTLab - Autonomic (Operating) Systems (CHANGE project) - Reconfigurable architectures for HPC systems (FASTER project) - exaFPGA (accelerazione hardware) 16 Prima&esercitazione& Ciao! Esercizio 3: caratteri MaIuScOli Si scriva un programma che, preso un carattere minuscolo da tastiera, ne riporta a video l’equivalente maiuscolo Riccardo Cattaneo - Studente PhD al NECSTLab - Autonomic (Operating) Systems (CHANGE project) - Reconfigurable architectures for HPC systems (FASTER project) - exaFPGA (accelerazione hardware) 17 Prima&esercitazione& Ciao! Esercizio 3: caratteri MaIuScOli Si scriva un programma che, preso un carattere minuscolo da tastiera, ne riporta a video l’equivalente maiuscolo Riccardo Cattaneo - Studente PhD al NECSTLab - Autonomic (Operating) Systems (CHANGE project) - Reconfigurable architectures for HPC systems (FASTER project) - exaFPGA (accelerazione hardware) 18 Prima&esercitazione& Ciao! Esercizio 3: caratteri MaIuScOli Si scriva un programma che, preso un carattere minuscolo da tastiera, ne riporta a video l’equivalente maiuscolo Riccardo Cattaneo - Studente PhD al NECSTLab - Autonomic (Operating) Systems (CHANGE project) - Reconfigurable architectures for HPC systems (FASTER project) - exaFPGA (accelerazione hardware) 19 Prima&esercitazione& Ciao! Esercizio 3: caratteri MaIuScOli Si scriva un programma che, preso un carattere minuscolo da tastiera, ne riporta a video l’equivalente maiuscolo Riccardo Cattaneo - Studente PhD al NECSTLab - Autonomic (Operating) Systems (CHANGE project) - Reconfigurable architectures for HPC systems (FASTER project) - exaFPGA (accelerazione hardware) 20 Prima&esercitazione& Ciao! Esercizio 3: caratteri MaIuScOli Si scriva un programma che, preso un carattere minuscolo da tastiera, ne riporta a video l’equivalente maiuscolo Riccardo Cattaneo - Studente PhD al NECSTLab - Autonomic (Operating) Systems (CHANGE project) - Reconfigurable architectures for HPC systems (FASTER project) - exaFPGA (accelerazione hardware) 21 Prima&esercitazione& Ciao! Esercizio 3: caratteri MaIuScOli Si scriva un programma che, preso un carattere minuscolo da tastiera, ne riporta a video l’equivalente maiuscolo Riccardo Cattaneo - Studente PhD al NECSTLab - Autonomic (Operating) Systems (CHANGE project) - Reconfigurable architectures for HPC systems (FASTER project) - exaFPGA (accelerazione hardware) 22 Prima&esercitazione& Ciao! Esercizio 3: caratteri MaIuScOli Si scriva un programma che, preso un carattere minuscolo da tastiera, ne riporta a video l’equivalente maiuscolo Riccardo Cattaneo - Studente PhD al NECSTLab - Autonomic (Operating) Systems (CHANGE project) - Reconfigurable architectures for HPC systems (FASTER project) - exaFPGA (accelerazione hardware) 23 Prima&esercitazione& Ciao! Esercizio 3: caratteri MaIuScOli Si scriva un programma che, preso un carattere minuscolo da tastiera, ne riporta a video l’equivalente maiuscolo Riccardo Cattaneo - Studente PhD al NECSTLab - Autonomic (Operating) Systems (CHANGE project) - Reconfigurable architectures for HPC systems (FASTER project) - exaFPGA (accelerazione hardware) 24 Prima&esercitazione& Ciao! Esercizio 3: caratteri MaIuScOli Si scriva un programma che, preso un carattere minuscolo da tastiera, ne riporta a video l’equivalente maiuscolo Riccardo Cattaneo - Studente PhD al NECSTLab - Autonomic (Operating) Systems (CHANGE project) - Reconfigurable architectures for HPC systems (FASTER project) - exaFPGA (accelerazione hardware) 25 Prima&esercitazione& Ciao! Esercizio 3: caratteri MaIuScOli Si scriva un programma che, preso un carattere minuscolo da tastiera, ne riporta a video l’equivalente maiuscolo + Riccardo Cattaneo Si continui a chiedere del carattere, - l’inserimento Studente PhD al NECSTLab fino a quando questo non è corretto - Autonomic (Operating) Systems (CHANGE project) - Reconfigurable architectures for HPC systems (FASTER project) - exaFPGA (accelerazione hardware) 26 Prima&esercitazione& Ciao! Giochiamo con ASCII e Char Riccardo Cattaneo - Studente PhD al NECSTLab - Autonomic (Operating) Systems (CHANGE project) - Reconfigurable architectures for HPC systems (FASTER project) - exaFPGA (accelerazione hardware) Prima&esercitazione& 27 Ciao! Agenda (5’) Algebra di Boole e gli operatori logici (20’) Esercizio 1: Tabella di verità Riccardo Cattaneo (20’) Esercizio 2: Tabella di- verità Studente PhD al NECSTLab - Autonomic (Operating) Systems (5’) Un programma in C (CHANGE project) - Reconfigurable architectures for HPC (15’) Esercizio 3: caratteri MaIuScOli systems (FASTER project) (15’) Pausa - exaFPGA (accelerazione hardware) (20’) Esercizio 3: caratteri MaIuScOli con ciclo while (20’) Esercizio 4: ciclo while con contatori (30’) Esercizio 5: trova il maggiore Prima&esercitazione& 28 Ciao! Esercizio 3: caratteri MaIuScOli Si scriva un programma che, preso un carattere minuscolo da tastiera, ne riporta a video l’equivalente maiuscolo + Riccardo Cattaneo Si continui a chiedere del carattere, - l’inserimento Studente PhD al NECSTLab fino a quando questo non è corretto - Autonomic (Operating) Systems (CHANGE project) - Reconfigurable architectures for HPC systems (FASTER project) - exaFPGA (accelerazione hardware) 29 Prima&esercitazione& Ciao! Esercizio 3: caratteri MaIuScOli con ciclo Si scriva un programma che, preso un carattere minuscolo da tastiera, ne riporta a video l’equivalente maiuscolo + Riccardo Cattaneo Si continui a chiedere del al carattere, - l’inserimento Studente PhD NECSTLab fino a quando questo non è corretto - Autonomic (Operating) Systems (CHANGE project) - Reconfigurable architectures for HPC systems (FASTER project) - exaFPGA (accelerazione hardware) 30 Prima&esercitazione& Ciao! Esercizio 3: caratteri MaIuScOli con ciclo Si scriva un programma che, preso un carattere minuscolo da tastiera, ne riporta a video l’equivalente maiuscolo + Riccardo Cattaneo Si continui a chiedere del al carattere, - l’inserimento Studente PhD NECSTLab fino a quando questo non è corretto - Autonomic (Operating) Systems (CHANGE project) - Reconfigurable architectures for HPC systems (FASTER project) - exaFPGA (accelerazione hardware) 31 Prima&esercitazione& Ciao! Esercizio 3: caratteri MaIuScOli con ciclo Si scriva un programma che, preso un carattere minuscolo da tastiera, ne riporta a video l’equivalente maiuscolo + Riccardo Cattaneo Si continui a chiedere del al carattere, - l’inserimento Studente PhD NECSTLab fino a quando questo non è corretto - Autonomic (Operating) Systems (CHANGE project) - Reconfigurable architectures for HPC systems (FASTER project) - exaFPGA (accelerazione hardware) 32 Prima&esercitazione& Ciao! Esercizio 3: caratteri MaIuScOli con ciclo Si scriva un programma che, preso un carattere minuscolo da tastiera, ne riporta a video l’equivalente maiuscolo + Riccardo Cattaneo Si continui a chiedere del al carattere, - l’inserimento Studente PhD NECSTLab fino a quando questo non è corretto - Autonomic (Operating) Systems (CHANGE project) Dato l’insieme dei caratteri ammissibili: - Reconfigurable architectures for HPC systems (FASTER project) - exaFPGA (accelerazione hardware) 32 Prima&esercitazione& Ciao! Esercizio 3: caratteri MaIuScOli con ciclo Si scriva un programma che, preso un carattere minuscolo da tastiera, ne riporta a video l’equivalente maiuscolo + Riccardo Cattaneo Si continui a chiedere del al carattere, - l’inserimento Studente PhD NECSTLab fino a quando questo non è corretto - Autonomic (Operating) Systems (CHANGE project) Dato l’insieme dei caratteri ammissibili: - Reconfigurable architectures for HPC • {a, b, c, …, z} systems (FASTER project) - exaFPGA (accelerazione hardware) 32 Prima&esercitazione& Ciao! Esercizio 3: caratteri MaIuScOli con ciclo Si scriva un programma che, preso un carattere minuscolo da tastiera, ne riporta a video l’equivalente maiuscolo + Riccardo Cattaneo Si continui a chiedere del al carattere, - l’inserimento Studente PhD NECSTLab fino a quando questo non è corretto - Autonomic (Operating) Systems (CHANGE project) Dato l’insieme dei caratteri ammissibili: - Reconfigurable architectures for HPC • {a, b, c, …, z} systems (FASTER project) - exaFPGA (accelerazione hardware) Pseudocodice: 32 Prima&esercitazione& Ciao! Esercizio 3: caratteri MaIuScOli con ciclo Si scriva un programma che, preso un carattere minuscolo da tastiera, ne riporta a video l’equivalente maiuscolo + Riccardo Cattaneo Si continui a chiedere del al carattere, - l’inserimento Studente PhD NECSTLab fino a quando questo non è corretto - Autonomic (Operating) Systems (CHANGE project) Dato l’insieme dei caratteri ammissibili: - Reconfigurable architectures for HPC • {a, b, c, …, z} systems (FASTER project) - exaFPGA (accelerazione hardware) Pseudocodice: • Fino a quando questo non è corretto 32 Prima&esercitazione& Ciao! Esercizio 3: caratteri MaIuScOli con ciclo Si scriva un programma che, preso un carattere minuscolo da tastiera, ne riporta a video l’equivalente maiuscolo + Riccardo Cattaneo Si continui a chiedere del al carattere, - l’inserimento Studente PhD NECSTLab fino a quando questo non è corretto - Autonomic (Operating) Systems (CHANGE project) Dato l’insieme dei caratteri ammissibili: - Reconfigurable architectures for HPC • {a, b, c, …, z} systems (FASTER project) - exaFPGA (accelerazione hardware) Pseudocodice: • Fino a quando questo non è corretto • Richiedere l’inserimento di un carattere: 32 Prima&esercitazione& Ciao! Esercizio 3: caratteri MaIuScOli con ciclo Si scriva un programma che, preso un carattere minuscolo da tastiera, ne riporta a video l’equivalente maiuscolo + Riccardo Cattaneo Si continui a chiedere del al carattere, - l’inserimento Studente PhD NECSTLab fino a quando questo non è corretto - Autonomic (Operating) Systems (CHANGE project) Dato l’insieme dei caratteri ammissibili: - Reconfigurable architectures for HPC • {a, b, c, …, z} systems (FASTER project) - exaFPGA (accelerazione hardware) Pseudocodice: • Fino a quando questo non è corretto • Richiedere l’inserimento di un carattere: • Acquisire il carattere 32 Prima&esercitazione& Ciao! Esercizio 3: caratteri MaIuScOli con ciclo Si scriva un programma che, preso un carattere minuscolo da tastiera, ne riporta a video l’equivalente maiuscolo + Riccardo Cattaneo Si continui a chiedere del al carattere, - l’inserimento Studente PhD NECSTLab fino a quando questo non è corretto - Autonomic (Operating) Systems (CHANGE project) Dato l’insieme dei caratteri ammissibili: - Reconfigurable architectures for HPC • {a, b, c, …, z} systems (FASTER project) - exaFPGA (accelerazione hardware) Pseudocodice: • • Fino a quando questo non è corretto • Richiedere l’inserimento di un carattere: • Acquisire il carattere Se carattere inserito corretto 32 Prima&esercitazione& Ciao! Esercizio 3: caratteri MaIuScOli con ciclo Si scriva un programma che, preso un carattere minuscolo da tastiera, ne riporta a video l’equivalente maiuscolo + Riccardo Cattaneo Si continui a chiedere del al carattere, - l’inserimento Studente PhD NECSTLab fino a quando questo non è corretto - Autonomic (Operating) Systems (CHANGE project) Dato l’insieme dei caratteri ammissibili: - Reconfigurable architectures for HPC • {a, b, c, …, z} systems (FASTER project) - exaFPGA (accelerazione hardware) Pseudocodice: • • Fino a quando questo non è corretto • Richiedere l’inserimento di un carattere: • Acquisire il carattere Se carattere inserito corretto • Allora stampa a video carattere-32 Prima&esercitazione& 32 Ciao! Esercizio 3: caratteri MaIuScOli con ciclo Si scriva un programma che, preso un carattere minuscolo da tastiera, ne riporta a video l’equivalente maiuscolo + Riccardo Cattaneo Si continui a chiedere del al carattere, - l’inserimento Studente PhD NECSTLab fino a quando questo non è corretto - Autonomic (Operating) Systems (CHANGE project) Dato l’insieme dei caratteri ammissibili: - Reconfigurable architectures for HPC • {a, b, c, …, z} systems (FASTER project) - exaFPGA (accelerazione hardware) Pseudocodice: • • Fino a quando questo non è corretto • Richiedere l’inserimento di un carattere: • Acquisire il carattere Se carattere inserito corretto • Allora stampa a video carattere-32 Prima&esercitazione& 32 Ciao! Esercizio 3: caratteri MaIuScOli con ciclo Si scriva un programma che, preso un carattere minuscolo da tastiera, ne riporta a video l’equivalente maiuscolo + Riccardo Cattaneo Si continui a chiedere del al carattere, - l’inserimento Studente PhD NECSTLab fino a quando questo non è corretto - Autonomic (Operating) Systems (CHANGE project) Dato l’insieme dei caratteri ammissibili: - Reconfigurable architectures for HPC • {a, b, c, …, z} systems (FASTER project) - exaFPGA (accelerazione hardware) Pseudocodice: • • Fino a quando questo non è corretto • Richiedere l’inserimento di un carattere: • Acquisire il carattere Se carattere inserito corretto • Allora stampa a video carattere-32 Prima&esercitazione& 32 Ciao! Esercizio 3: caratteri MaIuScOli con ciclo Riccardo Cattaneo - Studente PhD al NECSTLab - Autonomic (Operating) Systems (CHANGE project) - Reconfigurable architectures for HPC systems (FASTER project) - exaFPGA (accelerazione hardware) 33 Prima&esercitazione& Ciao! Esercizio 3: caratteri MaIuScOli con ciclo Riccardo Cattaneo - Studente PhD al NECSTLab - Autonomic (Operating) Systems (CHANGE project) - Reconfigurable architectures for HPC systems (FASTER project) - exaFPGA (accelerazione hardware) 34 Prima&esercitazione& Ciao! Esercizio 3: caratteri MaIuScOli con ciclo Riccardo Cattaneo - Studente PhD al NECSTLab - Autonomic (Operating) Systems (CHANGE project) - Reconfigurable architectures for HPC systems (FASTER project) - exaFPGA (accelerazione hardware) 35 Prima&esercitazione& Ciao! Esercizio 3: caratteri MaIuScOli con ciclo Riccardo Cattaneo - Studente PhD al NECSTLab - Autonomic (Operating) Systems (CHANGE project) - Reconfigurable architectures for HPC systems (FASTER project) - exaFPGA (accelerazione hardware) 35 Prima&esercitazione& Ciao! Esercizio 3: caratteri MaIuScOli con ciclo Riccardo Cattaneo - Studente PhD al NECSTLab - Autonomic (Operating) Systems (CHANGE project) - Reconfigurable architectures for HPC systems (FASTER project) - exaFPGA (accelerazione hardware) 35 Prima&esercitazione& Ciao! Esercizio 3: caratteri MaIuScOli con ciclo Riccardo Cattaneo - Studente PhD al NECSTLab - Autonomic (Operating) Systems (CHANGE project) - Reconfigurable architectures for HPC systems (FASTER project) - exaFPGA (accelerazione hardware) 36 Prima&esercitazione& Ciao! Esercizio 3: caratteri MaIuScOli con ciclo Riccardo Cattaneo - Studente PhD al NECSTLab - Autonomic (Operating) Systems (CHANGE project) - Reconfigurable architectures for HPC systems (FASTER project) - exaFPGA (accelerazione hardware) 37 Prima&esercitazione& Ciao! Esercizio 3: caratteri MaIuScOli con ciclo Riccardo Cattaneo - Studente PhD al NECSTLab - Autonomic (Operating) Systems (CHANGE project) - Reconfigurable architectures for HPC systems (FASTER project) - exaFPGA (accelerazione hardware) 38 Prima&esercitazione& Ciao! Esercizio 3: caratteri MaIuScOli con ciclo Riccardo Cattaneo - Studente PhD al NECSTLab - Autonomic (Operating) Systems (CHANGE project) - Reconfigurable architectures for HPC systems (FASTER project) - exaFPGA (accelerazione hardware) 39 Prima&esercitazione& Ciao! Esercizio 3: caratteri MaIuScOli con ciclo Riccardo Cattaneo - Studente PhD al NECSTLab - Autonomic (Operating) Systems (CHANGE project) - Reconfigurable architectures for HPC systems (FASTER project) - exaFPGA (accelerazione hardware) 40 Prima&esercitazione& Ciao! Esercizio 3: caratteri MaIuScOli con ciclo Ripeti l’esecuzione di una istruzione finché una certa condizione è vera Riccardo Cattaneo - Studente PhD al NECSTLab - Autonomic (Operating) Systems (CHANGE project) …ISTRUZIONI - DAReconfigurable RIPETERE… architectures for HPC systems (FASTER project) - exaFPGA (accelerazione hardware) 41 Prima&esercitazione& Ciao! Agenda (5’) Algebra di Boole e gli operatori logici (20’) Esercizio 1: Tabella di verità Riccardo Cattaneo (20’) Esercizio 2: Tabella di- verità Studente PhD al NECSTLab - Autonomic (Operating) Systems (5’) Un programma in C (CHANGE project) - Reconfigurable architectures for HPC (15’) Esercizio 3: caratteri MaIuScOli systems (FASTER project) (15’) Pausa - exaFPGA (accelerazione hardware) (20’) Esercizio 3: caratteri MaIuScOli con ciclo while (20’) Esercizio 4: ciclo while con contatori (30’) Esercizio 5: trova il maggiore Prima&esercitazione& 42 Ciao! Esercizio 4: ciclo while con contatori Cosa calcola questo codice? Riccardo Cattaneo - Studente PhD al NECSTLab - Autonomic (Operating) Systems (CHANGE project) - Reconfigurable architectures for HPC systems (FASTER project) - exaFPGA (accelerazione hardware) 43 Prima&esercitazione& Ciao! Esercizio 4: ciclo while con contatori Cosa calcola questo codice? Riccardo Cattaneo - Studente PhD al NECSTLab - Autonomic (Operating) Systems (CHANGE project) SIMULAZIONE - Reconfigurable architectures for HPC ALLA LAVAGNA! systems (FASTER project) - exaFPGA (accelerazione hardware) 43 Prima&esercitazione& Ciao! Esercizio 4: ciclo while con contatori Cosa calcola questo codice? Riccardo Cattaneo - Studente PhD al NECSTLab - Autonomic (Operating) Systems (CHANGE project) SIMULAZIONE - Reconfigurable architectures for HPC ALLA LAVAGNA! systems (FASTER project) - exaFPGA (accelerazione hardware) { a*2b a se b>0 se b≤0 43 Prima&esercitazione& Ciao! Agenda (5’) Algebra di Boole e gli operatori logici (20’) Esercizio 1: Tabella di verità Riccardo Cattaneo (20’) Esercizio 2: Tabella di- verità Studente PhD al NECSTLab - Autonomic (Operating) Systems (5’) Un programma in C (CHANGE project) - Reconfigurable architectures for HPC (15’) Esercizio 3: caratteri MaIuScOli systems (FASTER project) (15’) Pausa - exaFPGA (accelerazione hardware) (20’) Esercizio 3: caratteri MaIuScOli con ciclo while (20’) Esercizio 4: ciclo while con contatori (30’) Esercizio 5: trova il maggiore Prima&esercitazione& 44 Ciao! Esercizio 5: trova il maggiore Trovare il maggiore tra N numeri positivi inseriti da tastiera Riccardo Cattaneo - Studente PhD al NECSTLab - Autonomic (Operating) Systems (CHANGE project) - Reconfigurable architectures for HPC systems (FASTER project) - exaFPGA (accelerazione hardware) 45 Prima&esercitazione& Ciao! Esercizio 5: trova il maggiore Trovare il maggiore tra N numeri positivi inseriti da tastiera Riccardo Cattaneo Pseudocodice: - Studente PhD al NECSTLab - Autonomic (Operating) Systems (CHANGE project) - Reconfigurable architectures for HPC systems (FASTER project) - exaFPGA (accelerazione hardware) 45 Prima&esercitazione& Ciao! Esercizio 5: trova il maggiore Trovare il maggiore tra N numeri positivi inseriti da tastiera Riccardo Cattaneo - Studente PhD al NECSTLab Pseudocodice: - Autonomic (Operating) Systems • Richiedere quanti numeri si vogliono inserire (CHANGE project) - Reconfigurable architectures for HPC systems (FASTER project) - exaFPGA (accelerazione hardware) 45 Prima&esercitazione& Ciao! Esercizio 5: trova il maggiore Trovare il maggiore tra N numeri positivi inseriti da tastiera Riccardo Cattaneo - Studente PhD al NECSTLab Pseudocodice: - Autonomic (Operating) Systems • Richiedere quanti numeri si vogliono inserire (CHANGE project) • Acquisire il numero di numeri da - inserire Reconfigurable architectures for HPC (= contatore) systems (FASTER project) - exaFPGA (accelerazione hardware) 45 Prima&esercitazione& Ciao! Esercizio 5: trova il maggiore Trovare il maggiore tra N numeri positivi inseriti da tastiera Riccardo Cattaneo - Studente PhD al NECSTLab Pseudocodice: - Autonomic (Operating) Systems • Richiedere quanti numeri si vogliono inserire (CHANGE project) • Acquisire il numero di numeri da - inserire Reconfigurable architectures for HPC (= contatore) systems (FASTER project) • Finché ho ancora numeri da inserire - exaFPGA (accelerazione hardware) 45 Prima&esercitazione& Ciao! Esercizio 5: trova il maggiore Trovare il maggiore tra N numeri positivi inseriti da tastiera Riccardo Cattaneo - Studente PhD al NECSTLab Pseudocodice: - Autonomic (Operating) Systems • Richiedere quanti numeri si vogliono inserire (CHANGE project) • Acquisire il numero di numeri da - inserire Reconfigurable architectures for HPC (= contatore) systems (FASTER project) • Finché ho ancora numeri da inserire - exaFPGA (accelerazione hardware) • Richiedo un numero 45 Prima&esercitazione& Ciao! Esercizio 5: trova il maggiore Trovare il maggiore tra N numeri positivi inseriti da tastiera Riccardo Cattaneo - Studente PhD al NECSTLab Pseudocodice: - Autonomic (Operating) Systems • Richiedere quanti numeri si vogliono inserire (CHANGE project) • Acquisire il numero di numeri da - inserire Reconfigurable architectures for HPC (= contatore) systems (FASTER project) • Finché ho ancora numeri da inserire - exaFPGA (accelerazione hardware) • Richiedo un numero • Acquisisco il numero 45 Prima&esercitazione& Ciao! Esercizio 5: trova il maggiore Trovare il maggiore tra N numeri positivi inseriti da tastiera Riccardo Cattaneo - Studente PhD al NECSTLab Pseudocodice: - Autonomic (Operating) Systems • Richiedere quanti numeri si vogliono inserire (CHANGE project) • Acquisire il numero di numeri da - inserire Reconfigurable architectures for HPC (= contatore) systems (FASTER project) • Finché ho ancora numeri da inserire - exaFPGA (accelerazione hardware) • Richiedo un numero • Acquisisco il numero • se è il più grande che ho visto fino ad ora 45 Prima&esercitazione& Ciao! Esercizio 5: trova il maggiore Trovare il maggiore tra N numeri positivi inseriti da tastiera Riccardo Cattaneo - Studente PhD al NECSTLab Pseudocodice: - Autonomic (Operating) Systems • Richiedere quanti numeri si vogliono inserire (CHANGE project) • Acquisire il numero di numeri da - inserire Reconfigurable architectures for HPC (= contatore) systems (FASTER project) • Finché ho ancora numeri da inserire - exaFPGA (accelerazione hardware) • Richiedo un numero • Acquisisco il numero • se è il più grande che ho visto fino ad ora • è il mio nuovo massimo 45 Prima&esercitazione& Ciao! Esercizio 5: trova il maggiore Riccardo Cattaneo - Studente PhD al NECSTLab - Autonomic (Operating) Systems (CHANGE project) - Reconfigurable architectures for HPC systems (FASTER project) - exaFPGA (accelerazione hardware) 46 Prima&esercitazione& Ciao! Esercizio 5: trova il maggiore Riccardo Cattaneo - Studente PhD al NECSTLab - Autonomic (Operating) Systems (CHANGE project) - Reconfigurable architectures for HPC systems (FASTER project) - exaFPGA (accelerazione hardware) 47 Prima&esercitazione& Ciao! Esercizio 5: trova il maggiore Riccardo Cattaneo - Studente PhD al NECSTLab - Autonomic (Operating) Systems (CHANGE project) - Reconfigurable architectures for HPC systems (FASTER project) - exaFPGA (accelerazione hardware) 48 Prima&esercitazione& Ciao! Esercizio 5: trova il maggiore Riccardo Cattaneo - Studente PhD al NECSTLab - Autonomic (Operating) Systems (CHANGE project) - Reconfigurable architectures for HPC systems (FASTER project) - exaFPGA (accelerazione hardware) 49 Prima&esercitazione& Ciao! Esercizio 5: trova il maggiore Riccardo Cattaneo - Studente PhD al NECSTLab - Autonomic (Operating) Systems (CHANGE project) - Reconfigurable architectures for HPC systems (FASTER project) - exaFPGA (accelerazione hardware) 50 Prima&esercitazione& Ciao! Esercizio 5: trova il maggiore Riccardo Cattaneo - Studente PhD al NECSTLab - Autonomic (Operating) Systems (CHANGE project) - Reconfigurable architectures for HPC systems (FASTER project) - exaFPGA (accelerazione hardware) 51 Prima&esercitazione& Ciao! Esercizio 5: trova il maggiore Riccardo Cattaneo - Studente PhD al NECSTLab - Autonomic (Operating) Systems (CHANGE project) - Reconfigurable architectures for HPC systems (FASTER project) - exaFPGA (accelerazione hardware) 52 Prima&esercitazione& Ciao! Esercizio 5: trova il maggiore Riccardo Cattaneo - Studente PhD al NECSTLab - Autonomic (Operating) Systems (CHANGE project) - Reconfigurable architectures for HPC systems (FASTER project) - exaFPGA (accelerazione hardware) 53 Prima&esercitazione& Ciao! Esercizio 5: trova il maggiore Riccardo Cattaneo - Studente PhD al NECSTLab - Autonomic (Operating) Systems (CHANGE project) - Reconfigurable architectures for HPC systems (FASTER project) - exaFPGA (accelerazione hardware) 54 Prima&esercitazione& Ciao! Agenda (5’) Algebra di Boole e gli operatori logici (20’) Esercizio 1: Tabella di verità Riccardo Cattaneo (20’) Esercizio 2: Tabella di- verità Studente PhD al NECSTLab - Autonomic (Operating) Systems (5’) Un programma in C (CHANGE project) - Reconfigurable architectures for HPC (15’) Esercizio 3: caratteri MaIuScOli systems (FASTER project) (15’) Pausa - exaFPGA (accelerazione hardware) (20’) Esercizio 3: caratteri MaIuScOli con ciclo while (20’) Esercizio 4: ciclo while con contatori (30’) Esercizio 5: trova il maggiore Prima&esercitazione& 55