Architettura dei sistemi di elaborazione

Docente: Alessandro Simonetta

Comunicazioni

APPELLI DI SETTEMBRE

11-09-2020 15:08

Gli appelli di settembre sono fissati nei giorni 11 e 18 dalle ore 16 sul collegamento TEAMS del corso.

 


APPELLO DEL 28 LUGLIO - INDICAZIONI

23-07-2020 19:15
In considerazione del numero di studenti prenotati, eseguiremo una prova scritta con poche domande (30'). Se saranno presenti pochi studenti partiremo subito con l'orale. 
L'esame si concluderà nella giornata del 28/7, che è riservata per la prova.
Si raccomanda la presenza in aula almeno 20' prima dell'inizio, per la fase di identificazione dei candidati. Non è ammesso il ritardo ed è necessario utilizzare una postazione di lavoro con webcam.
Per entrare in aula virtuale è necessario richiedere l'autorizzazione al docente e non è possibile farlo durante la prova.
Per qualsiasi domanda si utilizzi la piattaforma Teams oppure l'email.
Si pregano gli studenti prenotati di verificare l'invito su Teams ricevuto per il giorno 28/7.
Grazie e Buona preparazione a tutti
AS

ESAME ORALE STUDENTI ESONERO - PRIMO APPELLO

03-07-2020 12:16

MARTEDì 7 ALLE ORE 17:30 CI SARA' LA SEDUTA PUBBLICA DELL'ORALE DEL PRIMO APPELLO DEGLI STUDENTI DELL'ESONERO.

 

VI CHIEDO DI PARTECIPARE PERCHE' AL TERMINE FAREMO UN RICEVIMENTO STUDENTI AI FINI DEL PROSSIMO APPELLO.

 

GRAZIE

 


PROVA DI TEST

09-06-2020 17:40

Sabato 20/6 alle ore 10:30 svolgeremo una Lezione con una prova del test scritto.

________


ISCRIZIONE A TEAMS

14-05-2020 11:41

Gli studenti che devono sostenere gli esami della Sessione Estiva sono pregati di iscriversi al corso su TEAMS, utilizzando Delphi o il link:

 

https://teams.microsoft.com/l/team/19%3ad9a038df95c44a7dac0f4d0fd501afee%40thread.tacv2/conversations?groupId=00f35e90-cbe1-4789-9ba8-ccae52d094a1&tenantId=24c5be2a-d764-40c5-9975-82d08ae47d0e

 

Sarà l'unica modalità prevista per gli scritti.

Faremo una pre-selezione scritta con domande multiple e aperte, e successivamente un orale di verifica e approfondimento.

Al momento sono iscritti soltanto 25 studenti quindi vi pregherei di affrettarvi perché altrimenti non avrete la possibilità di sostenere l'esame.

L'esame orale verrà effettuato sempre su Teams

Grazie

AS


PROSSIMI ESAMI - SESSIONI GIUGNO - LUGLIO

06-05-2020 17:17

In relazione alla situazione che non ci permette di svolgere esami in presenza in totale sicurezza, su indicazione del CCL, svolgeremo esami in remoto utilizzando lo strumento MS Teams.

 

Su Delphi troverete la possibilità di iscrivervi al corso, vi prego di farlo al più presto.

 

Programmeremo nei prossimi giorni un incontro pomeridiano per spiegare la nuova modalità di esame che prevederà una prova scritta pre-selettiva a domande multiple e aperte. Successivamente gli ammessi svolgeranno un esame orale.

 

Per qualsiasi informazione potete raggiungermi via email oppure all'incontro che svolgeremo a breve.

 

Grazie a tutti e buona preparazione

 

 


RISULTATI APPELLO DEL 25 FEB

27-02-2020 12:10

Sono stati pubblicati i risultati del secondo appello. A questo punto l'esame è verbalizzato (temporaneamente), e ci sono due possibilità:

1) rifiutate il giudizio con la piattaforma (entro pochi giorni)

2) aspettate che trascorrano i giorni necessari alla stabilizzazione del giudizio

 

Una volta trascorsi i giorni di stabilizzazione, l'esame è ufficialmente verbalizzato e non dovete fare più nulla perché è registrato nel sistema informatico dell'Università. 

 

Se uno studente desidera avere anche la sigla del professore sul libretto (circostanza non formale in quanto il giudizio è già consolidato), potete venire nel successivo appello, armati di molta pazienza, ed entrare (uno alla volta) dopo l'inizio della prova 15/20' (con un certificato cartaceo o la connessione al sistema Delphi per la verifica del giudizio).

 

Per cortesia, non inviate email di chiarimenti su questa tematica.

 

Poiché l'assenza immotivata genera l'esclusione al prossimo appello, non potranno partecipare gli studenti (matricola):

'0285554'

'0272030'

'0286241'

'0280855'

'0245780'

'0271985'

'0281702'

Perchè prenotati ed assenti.

 

Grazie 

 

 


AUTOVALUTAZIONE ESAME

15-01-2020 11:58

ARCHITETTURE DI CALCOLATORI

1) Il teorema del campionamento assicura che l'approssimazione discreta di un segnale analogico a banda limitata, è senza perdita di informazione utile se...
2) La macchina di von Neumann è composta da?
3) Quanti byte ci sono in 1 KB di memoria?
4) Cosa sono il Program Counter e l'Instruction Register?
5) Da quanti passaggi si compone il ciclo fetch-decode-execute ?
6) Quali sono i principi di progettazione per i computer moderni?
7) Un processore SIMD è costituito da?
8) Per calcolare la distanza di Hamming tra due parole, quale operazione si deve utilizzare?
9) In un hard disk le prestazioni dipendono da?
10) In un CDROM un settore è costituito da quanti frame? Cosa contengono?
11) Quali sono la principale differenza tra DVD e CD?
12) Per quali valori di A e B l'uguaglianza A+B = A B è verificata?
13) Quando si può utilizzare un multiplexer per realizzare una qualsiasi funzione logica?
14) Un decoder è un circuito combinatorio che può essere utilizzato per?
15) In un circuito digitale è possibile collegare due uscite insieme?
16) Elencare le caratteristiche delle ROM
17) Per incrementare la larghezza di banda di un bus occorre?
18) In un Pentium 4 i principali segnali di risposta del bus sono?
19) Descrivere lo schema adottato dalla CPU UltraSPARC III per la gestione della cache
20) Descrivere l'integrato 8051
21) Descrivere il memory-mapped I/O

SISTEMI OPERATIVI

22) Quali funzioni ha un Sistema Operativo?
23) In un Sistema Operativo le principali astrazioni sono?
24) Un processo è un concetto chiave presente in ogni Sistema Operativo, si può definire come?
25) I File in UNIX sono protetti con tre bit, a che servono?
26) In UNIX ogni processo ha uno spazio di memoria assegnato diviso in tre segmenti, quali?
27) Che cos'è un Sistema monolitico?
28) In quale circostanza sono creati nuovi processi? E in quale altra termina un processo?
29) Quali sono gli stati di un processo?
30) Quali informazioni non possono essere condivise tra processi?
31) Quando accade una corsa critica?
32) In un ambiente concorrente per evitare le corse critiche si possono definire delle condizioni, quali?
33) In quale circostanza è conveniente avviare lo scheduling?
34) Gli algoritmi di scheduling posso essere divisi in due categorie, quali?
35) Quali sono gli algoritmi di scheduling nei sistemi batch?
36) Supponendo di disporre dei seguenti tempi di esecuzione T0, T1, T2 e T3 nell'algoritmo shortest process next con tecnica di aging, quale sarà la stima per T4?
37) Per consentire a più applicazioni di essere in memoria allo stesso tempo senza interferire devono essere risolti due problemi, quali?
38) Quali sono i metodi per tenere traccia dell'utilizzo della memoria?
39) Qual è la struttura di una riga della tabella delle pagine?
40) Nell'algoritmo Not Recently Used (NRU) la classe 0 è..
41) Quando il sistema operativo non è coinvolto con la paginazione?
42) I programmatori sanno che tecnica di gestione della memoria (paginazione o segmentazione) è utilizzata?
43) Perché è stata inventata la paginazione?
44) Perché è stata inventata la segmentazione?
45) Quali sono le strutture di file più comuni?
46) Qual è la corretta sequenza dell'intestazione all'interno di un file eseguibile binario nelle prime versioni di UNIX?
47) Qual è la chiamata di sistema UNIX per leggere gli attributi di un file?
48) Qual è il separatore per i file utilizzato in MULTICS?
49) In un sistema di gestione del file system, qual è la voce speciale che permette di riferirsi alla directory corrente?
50) In UNIX, qual è la chiamata che permette di creare una directory vuota?
51) In un programma C, i parametri passati al programma principale, main(), sono passati attraverso?
52) Nel layout del file system, il master boot record è?
53) Nel layout del file system, il blocco di boot è fatto di..
54) Che cos'è l'i-node in un sistema UNIX?
55) I cambiamenti nella tecnologia spingono l'evoluzione dei file system: le CPU diventano più veloci; i dischi, le memorie e le cache sono sempre più grandi e economiche. Il collo di bottiglia diventa così il tempo di ricerca su disco (per quelli meccanici). Quali file system sono stati progettati per ridurre questo problema?
56) Quali sono le principali categorie di dispositivi di I/O?
57) Quali sono gli svantaggi del port-mapped I/O?
58) Quali sono gli svantaggi del memory-mapped I/O?
59) Quali sono le 4 proprietà di un interrupt preciso?
60) Quali sono i principali obiettivi del software di I/O?
61) Quali sono le tecniche di gestione degli I/O?
62) Quali sono i livelli software per la gestione dell'I/O?
63) Quali sono i fattori che compromettono il tempo necessario a leggere o scrivere un blocco del disco?
64) Quali sono le modalità di funzionamento di un clock programmabile?
65) In un computer con un clock di 10 GHz che distanza possono percorrere i segnali elettrici?
66) Per incrementare drasticamente le performance di un calcolatore che architetture occorre progettare?
67) In un'architettura UMA con rete di commutazione a più stadi di tipo omega con n CPU, n memorie and log2n stadi, con n/2 switch per stadio, complessivamente di quanti switch abbiamo bisogno?
68) Quali sono le caratteristiche chiave di una macchina con accesso non uniforme alla memoria?
69) Quali sono gli approcci per il Sistema Operativo adottati dai multiprocessori?
70) Qual è un potenziali problema in un algoritmo di scheduling a condivisione del tempo su un multiprocessore?
71) Che cosa si intende per diametro in un multicomputer?
72) Qual è il vantaggio di utilizzare un'architettura di multicomputer ad ipercubo?
73) Quali sono i vantaggi della virtualizzazione?

ESERCIZI

74) convertire in binario i numeri in base 10: 255, 127, 15 , 1023, 4095
75) convertire in ottale i numeri in base 10: 255, 127, 15 , 1023, 4095
76) convertire in esadecimale i numeri in base 10: 255, 127, 15 , 1023, 4095
77) convertire in decimale i numeri esadecimali: FF, FFE, 1A09, 2001, 1FA
78) convertire in decimale i numeri ottali: 77, 775, 1702, 2001, 17679) convertire in decimale i numeri binari: 1111, 1000, 10, 11001, 11111111, 10001111, 111111111111, 111111111110

 

ESERCIZI IN ASSEMBLY

Suggerimento: descrivere prototipo, pre-condizioni e post-condizioni prima dell'algoritmo (preferibilmente in DNS)

 

79) Dati X e Y interi calcolare X/Y senza utilizzare l'istruzione DIV

89) Dati X e Y interi calcolare X*Y senza utilizzare l'istruzione MULTICS

90) Dato un array di interi calcolare la media dei suoi elementi

91) Dato un array di interi calcolare il massimo dei suoi elementi

92) Dato un array di interi calcolare il minimo dei suoi elementi

93) Dati due array di interi calcolare l'AND delle celle in medesima posizione e l'OR dei risultati

94) Dati due array di interi calcolare l'OR delle celle in medesima posizione e l'AND dei risultati

95) Dato un valore intero X calcolare il suo fattoriale

96) Dati X e Y interi calcolare X^Y 

 


Esercitazioni in assembly ARM

15-01-2020 11:45

Un valido strumento per la verifica degli esercizi in codice ARM è VisUAL (https://salmanarif.bitbucket.io/visual/index.html)

 

 


***** A V V I S O **** I M P O R T A N T E **********

26-11-2019 14:49

Possono iscriversi all'appello di ARCHITETTURA DEI SISTEMI DI ELABORAZIONE esclusivamente gli studenti che si trovano in almeno una delle seguenti condizioni:

1) hanno avuto un punteggio >=95 all'esame di maturità;

2) hanno superato il TEST di INGRESSO;

3) hanno superato uno tra i seguenti esami:

- Matematica discreta

- Analisi Matematica

- Geometria e algebra.

 

In caso contrario, non sarà possibile iscriversi ad alcuna prova.

 

 L'iscrizione all'appello da parte del candidato corrisponde all'assunzione di responsabilità di trovarsi in una delle condizioni sovra elencate (1, 2 o 3) e nella consapevolezza delle responsabilità penali cui egli può andare incontro in caso di dichiarazioni false, ai sensi e per gli effetti degli articoli 46, 47 e 76 del D.P.R. 28 dicembre 2000 n. 445. Oltre a conseguenze di natura amministrativa relativamente al percorso di studi.


Lezioni

2514-01-2020

ARCHITETTURE PARALLELE (SECONDA PARTE CAP 8)

MULTIPROCESSORI

Tipi di sistemi operativi

Sincronizzazione

Scheduling

MULTICOMPUTER

Hardware

Software di comunicazione di basso livello

Software di comunicazione a livello utente

Remote Procedure Call (RPC)

Memoria condivisa distribuita

Scheduling

Bilanciamento del Carico

VIRTUALIZZAZIONE

Hypervisor tipo 1

Hypervisor tipo 2

Paravirtualizzazione

 

2413-01-2020

INTRODUZIONE SULLE ARCHITETTURE PARALLELE

Classificazione di Flynn (1966)

PARALLELISMO NEL CHIP

Parallelismo a livello d’istruzioni

Multithreading nel chip

Multiprocessori in un solo chip

 

COPROCESSORI

 

MULTIPROCESSORI

 - Hardware

    - UMA con architettura basata sul bus

    - UMA con crossbar switch

    - UMA con multistage switching network

    - NUMA

    - Tipi di sitemi operativi

    - Sincronizzazione

 

2317-12-2019

INPUT/OUTPUT – Seconda Parte

 

PRINCIPI DEL SOFTWARE

I/O guidato dagli interrupt

I/O con uso del DMA

 

LIVELLI SOFTWARE

Gestori degli interrupt

Driver dei dispositivi

software indipendente dal dispositivo 

software nello spazio utente

 

DISCHI

Hardware dei dischi

Formattazione dei dischi

Algoritmi di scheduling 

Gestione degli errori

Memoria stabile

 

CLOCK

Hardware dei clock

Software dei clock

Timer soft

 

2216-12-2019

FILE SYSTEM – Seconda Parte

 

REALIZZAZIONE DEL FILE SYSTEM

File condivisi

File system su log strutturati

File system Journaling

File system virtuali

 

INPUT/OUTPUT – Prima Parte

 

PRINCIPI HARDWARE

Dispositivi di I/O

Controller dei dispositivi

Port-Mapped I/O

Memory-Mapped I/O

Hybrid-Mapped I/O

Direct Memory Access (DMA)

Interrupt rivisitati

Interrupt precisi e imprecisi

 

PRINCIPI DEL SOFTWARE

Obiettivi del software

Modalità di gestione

 

2110-12-2019

 

REALIZZAZIONE DEL FILE SYSTEM

Layout del file system

Realizzazione dei file

Realizzazione delle directory

2009-12-2019

PROBLEMATICHE DI PROGETTAZIONE DEI SISTEMI DI PAGING

- Librerie condivise

- Memory-mapped file

- Politiche di ripulizia

- Interfaccia della memoria virtuale

 

ASPETTI REALIZZATIVI

- Il SO e il paging

- Gestione dei page fault

- Backup delle instruzioni

- Bloccare le pagine in memoria

- Swapping dei processi su disco

- Separazione tra politica e meccanismo

 

SEGMENTAZIONE

- Realizzazione della segmentazione pura

- Segmentazione con paginazione: MULTICS

- Segmentazione con paginazione: Intel Pentium

 

GESTIONE DEL FILE SYSTEM (CAP 4)

FILE 

Nomi, Struttura, Tipi, Accesso, Attributi, Operazioni

Un esempio UNIX di chiamata di sistema del file system

 

DIRECTORY

Sistemi di directory, Path name, Operazioni

 

1903-12-2019

GESTIONE DELLA MEMORIA

- Nessuna forma di astrazione

- Lo spazio di indirizzamento 

- Swapping

- Gestione della memoria libera

 

- MEMORIA VIRTUALE

- Paginazione

- Tabelle delle pagine

- Velocizzare la paginazione

- Tabelle delle pagine per grandi memorie

 

ALGORITMI DI SOSTITUZIONE DELLE PAGINE

- Il miglior algoritmo di sostituzione delle pagine

- Not Recently Used (NRU)

- First-In First-Out (FIFO)

- Seconda Chance

- Clock

- Least Recently Used (LRU) 

- Working Set

- WSClock

 

PROBLEMATICHE DI PROGETTAZIONE DEI SISTEMI DI PAGING

- Confronto tra politiche di allocazione globali e locali

- Controllo del carico

- Dimensione delle pagine

- Spazio dati e istruzioni distinti

- Pagine condivise

 

1802-12-2019

ITER-PROCESS COMUNICATION (IPC)

- Sleep e wakeup 

- Semafori

- Mutex

- Mutex in Pthread

- Monitor

- Scambio di messaggi 

- Barriere

 

SCHEDULING:

- Introduzione

- Sistemi batch

- Sistemi interattivi

- Sistemi real-time

- La politica contro il meccanismo

- Thread scheduling

 

1726-11-2019

Introduzione al linguaggio C

 

PROCESSI:

Il modello di processo

-Creazione del processo

-Chiusura del processo

-Gerarchie di processi

-Stati di un processo

-Realizzazione di processi

-Modellazione della multiprogrammazione

 

THREAD:

-Il modello a thread classico

-Thread POSIX

-Realizzazione dei threads

-Attivazioni dello scheduler

-Thread pop-up

 

COMUNICAZIONI TRA PROCESSI:

-Corse critiche

-Regioni critiche

-Mutua esclusione con busy waiting

 

 

 

 

1625-11-2019

CHE COS'E' UN SISTEMA OPERATIVO?

•Storia dei sistemi operativi

•Concetti di base dei SO

•Le chiamate di sistema:

–Gestione dei processi

–Gestione dei file

–Gestione delle directory

–Le API Win32 di Windows

 

STRUTTURA DEL SO

-Sistemi monolitici

-Sistemi a strati

-Microkernel

-Modello Client-Server

-Macchine virtuali

-Exokernel

 

1419-11-2019

 

IL LIVELLO DEL LINGUAGGIO ASSEMBLATIVO

Introduzione al linguaggio assemblativo

Formato delle istruzioni

Pseudoinstruzioni

LE MACROISTRUZIONI

Macro vs procedure

Macro con parametri

IL PROCESSO DI ASSEMBLAGGIO

Primo e secondo passaggio

LINKER E LOADER 

 

1318-11-2019

IL LIVELLO DI MICROARCHITETTURA

Tipi di istruzioni

Controllo del flusso

Architetture Intel IA-32 e IA64

1212-11-2019

IL LIVELLO DI MICROARCHITETTURA

 - Un esempio di microarchitettura

 - modello di esecuzione

 - data path (o percorso dati)

 - formato delle microinstruzioni

 - microarchitettura Mic-1

Esempio di ISA: IJVM

 - Lo stack

 - Il modello della memoria 

 - Insieme delle istruzioni

IL LIVELLO DI MACROARCHITETTURA

 - Overview del livello ISA

 - Tipi di dati

 

1111-11-2019

ESERCITAZIONE

L’utilizzo di alcuni circuiti combinatori

 - Multiplexer come risolutore di equazioni logiche

 - Shifter

 - Aritmetc Logic Unit (ALU)

 - Demultiplexer

 - Half-adder / Full-adder

 

Metodi di indirizzamento

 -  Memory Mapped I/O

 -  I/O Isolato

 -  metodo ibrido

1005-11-2019

ESERCITAZIONE

 - Trasformazione dalla tavola di verità ad equazione logica

 - Minimizzazione di un circuito digitale 

 - Circuito equivalente 

 - Semplificazione di espressioni logiche e relativa verifca

 - Verifica di validità di uguaglianze logiche

 

904-11-2019

ESEMPI DI CPU

- Intel Pentium 4

- Intel Core i7

- UltraSPARC III

- Intel 8051

ESEMPI DI BUS

 - Bus ISA

 - Bus PCI

 - PCI Express

 - USB

INTERFACCE

 - Parallel I/O (PIO)

 - Decodifica dell’indirizzo

 

829-10-2019

ESERCITAZIONE 

- algoritmo di merge con utilizzo dell'algebra di Boole

- utilizzo del mux come risolutore di circuiti

- trasformazioni nel dominio di Boole

- utilizzo degli operatori universali

728-10-2019

ESERCITAZIONE

- Codici di correzione di errore

- Algebra di Boole

- Utilizzo dell'algebra di Boole per la risolzone di problemi (es. Banca)

 

622-10-2019

ARCHITETTURA DEI CALCOLATORI

IL LIVELLO LOGICO DIGITALE (PARTE 2/3, ADC CAP.3)

- Circuiti logici digitali elementari 

- - circuiti Integrati 

- - circuiti combinatori: multiplexer, decoder, comparatori e PLA 

- - Circuiti aritmetici: shifter, adder, ALU 

- Clock.

- MEMORIA

- - Flip-flop

- - Registri

- - Organizzazione della Memoria

- - Buffer

- - Chip di memoria

- Random Access Memory

- Memorie Non-volatili

- - ROM, PROM, EPROM, EEPROM

- Chip di CPU

- BUS

- - Ampiezza del bus

- - clock del bus

- - Bus sincroni/asincroni

- - Arbitraggio del bus

- - Interrupt handling

 

521-10-2019

ARCHITETTURA DEI CALCOLATORI
IL LIVELLO LOGICO DIGITALE (PARTE 1/3 - ADC CAP.3 e Cap.1 Informazione Automatica e Java)
- Il livello logico digitale
- - algebra di Boole
- - le trasformazioni nel dominio di Boole

415-10-2019

ARCHITETTURA DEI CALCOLATORI (ADC CAP.2)

MEMORIA SECONDARIA

- Gerarchie di memorie

- Dischi magnetici

- Floppy disk

- Dischi IDE

- Dischi SCSI

- RAID

- Dischi a stato solido

- CD-ROM

- CD-Registrabili

- CD-Riscrivibili

- DVD

 

DISPOSITIVI DI INPUT/OUTPUT (ADC CAP.2)

- Il bus

- Direct Memory Access

- Tastiere

- Monitor LCD

- RAM della scheda video (VRAM)

- Dispositivi di puntamento

- Stampanti

- Apparati di Telecomunicazioni

- Codifica dei caratteri

 

314-10-2019

ARCHITETTURA DEI CALCOLATORI (ADC CAP.2)
PROCESSORI
- Organizzazione della CPU.
- Esecuzione istruzione.
- RISC contro CISC.
- Principi di progettazione dei calcolatori.
- Parallelismo a livello di istruzione.
- Parallelismo a livello di processore.
MEMORIA PRINCIPALE
- Bit.
- Sistemi di numerazione.
- Indirizzi di memoria.
- Ordinamento dei byte.
- Codici di correzione di errore.
- Memoria cache.

208-10-2019

ARCHITETTURA DEI CALCOLATORI 
INTRODUZIONE (ADC Cap.1) 
- Dominio digitale e analogico 

- Sistemi di numerazione 
- Approccio strutturale 
- Linguaggi, livelli e macchine virtuali 
- Pietre miliari nell architettura dei computer 
- Tipologie di computer 
- Storia della famiglia Intel 
- Unità metriche

107-10-2019

PRESENTAZIONE DEL CORSO 
- Orario del corso 
- Iscrizione al corso: scheda informativa 
- Sito web di riferimento 
- Materiale didattico 
- Programma di esame 
- Modalità di esame 
- Nozioni utili per il corso 
- Modalità di svolgimento della lezione 
- Modalità di studio 
- In caso di assenza 
- Andamenti e trend 
- Questioni aperte e domande 


Materiale didattico

Introduzione sugli algoritmi, introduzione su ARM e Trasformazione DNS -> assemlbly (la parte ARM è a cura di Alessandro Straziota)

 

Esempio di verifica di una uguaglianza nell'agebra di Boole con il foglio di calcolo.

Soluzioni esercizi n.8 a cua di Andrea Strazzulla

Soluzioni esercizi n.7 a cua di Andrea Strazzulla

Soluzioni esercizi n.6 a cua di Andrea Strazzulla

Soluzioni esercizi n.4 a cua di Andrea Strazzulla

Soluzioni esercizi n.2 a cua di Andrea Strazzulla

Soluzioni esercizi n.1 a cura di Andrea Strazzulla

Soluzioni esercizi n.5 a cura dell'Ing.Emanuele Iannaccone

Soluzioni esercizi n.4 a cura dell'Ing.Emanuele Iannaccone

Soluzioni esercizi n.3 a cura dell'Ing.Emanuele Iannaccone

Soluzioni esercizi n.2 a cura dell'Ing.Emanuele Iannaccone

Soluzioni esercizi n.1 a cura dell'Ing.Emanuele Iannaccone

Esercizi su Algoritmi di sostituzione delle pagine a cura di Andrea Strazzulla

Esercizi su Algoritmi di schedulazione, Fattibilità di sistemi real

time, Gestione della memoria e del disco di Andrea Strazzulla

Esercizi su Processi e Thread a cura di Andrea Strazzulla

Esercizi di Approfondimento Circuiti Logici e Sequenziali cura di Andrea Strazzulla

Esercizi su ALivello d’architettura dell’insieme di istruzioni, Decodifica dell’indirizzoa cura di Andrea Strazzulla

Esercizi su Algebre di Boole e funzioni logiche, Circuiti combinatori e sequenziali e Codici di correzione di errore a cura di Andrea Strazzulla

Esercizi su Sistemi di numerazione e cambiamenti di base

Algebre di Boole e funzioni logiche a cura di Andrea Strazzulla

Esercizi su Algebra di Boole e Gestione della Memoia a cura dell'Ing. Emanule Iannaccone

Esercizi su Sistemi Operativi a cura dell'Ing. Emanule Iannaccone

Esercizi su Memory Mapped I/O e Sistemi Operativi a cura dell'Ing. Emanule Iannaccone

Esercizi su algebra di Boole e RPN a cura dell'Ing. Emanule Iannaccone

Esercizi su algebra di Boole e codici a cura dell'Ing. Emanule Iannaccone

Esercizi sui sitemi di numerazione a cura dell'Ing. Emanule Iannaccone

Esercizi di sistemi operativi a cura di Leonardo Ranaldi

Codici di correzione di errore a cura del professore

Piccola dispenza sull'utilizzo del multiplexer a cura dell'ing. Emanuele Iannaccone

Estratto del capitolo 1 comprensivo di esercizi del libro Informazione Automatica e Java 

Informazioni

Anno accademico2019-2020
Crediti6
SettoreING-INF/05
Anno1
Semestre1
PropedeuticitàNessuna

Programma

INTRODUZIONE SULLE ARCHITETTURE (Cap 1 – Architettura dei calcolatori)

o Dominio digitale e analogico

o Linguaggi, livelli e macchine virtuali

o Evoluzione delle architetture di computer

o Approccio strutturale

o Pietre miliari nell’architettura dei computer

o Tipologie di computer

o Unità metriche

 

PROCESSORI E MEMORIA PRINCIPALE (Cap 2 – Architettura dei calcolatori)

o PROCESSORI

- Organizzazione della CPU

- Esecuzione dell’istruzione

- RISC contro CISC

- Principi di progettazione dei calcolatori

- Parallelismo a livello di istruzione

- Parallelismo a livello di processore

o MEMORIA PRINCIPALE

- Bit

- Sistemi di numerazione

- Indirizzi di memoria

- Ordinamento dei byte

- Codici di correzione di errore

- Memoria cache

- Memoria principale

o MEMORIA SECONDARIA 

- Gerarchie di memorie

- Dischi magnetici

- Floppy disk

- Dischi IDE

- Dischi SCSI

- RAID

- Dischi a stato solido

- CD-ROM

- CD-Registrabili

- CD-Riscrivibili

- DVD

o INPUT/OUTPUT

- Il bus

- Direct Memory Access (DMA)

- Tastiere

- Monitor LCD

- RAM della scheda video (VRAM)

- Dispositivi di puntamento

- Stampanti

- Apparati di Telecomunicazioni

- Codifica dei caratteri

 

LIVELLO LOGICO DIGITALE (Cap 3 – Architettura dei calcolatori)

o Algebra di Boole

o Trasformazioni nel dominio di Boole

o Circuiti logici digitali elementari

o Circuiti Integrati

o CIRCUITI COMBINATORI

- Multiplexer

- Decoder

- Comparatori

- Programmable Logic Arrays (PLA)

- Shifter

- Adder

- Arithmetic Logic Units (ALU)

o Clock

o MEMORIA

- Flip-flop

- Registri

- Organizzazione della Memoria

- Buffer

- Chip di memoria

- Random Access Memory

- Memorie Non-volatili (ROM, PROM, EPROM, EEPROM)

o Chip di CPU

o BUS

- Ampiezza del bus

- clock del bus

- Bus sincroni/asincroni

- Arbitraggio del bus

- Interrupt handling

o ESEMPI DI CPU

- Intel Pentium 4

- Intel Core i7

- UltraSPARC III

- Intel 8051

o ESEMPI DI BUS

- Bus ISA

- Bus PCI

- PCI Express

- USB

o INTERFACCE

- Interfacce di I/O

- Interfacce PIO

- Decodifica dell’indirizzo

 

IL LIVELLO DI MICROARCHITETTURA (Cap 4 – Architettura dei calcolatori)

o Un esempio di microarchitettura

- Il modello di esecuzione

- Data path (o percorso dati)

- Formato delle microinstruzioni

- Microarchitettura Mic-1

o Esempio di ISA: IJVM

- Lo stack

- Il modello della memoria 

- Insieme delle istruzioni

 

IL LIVELLO DI MACROARCHITETTURA (Cap 5 – Architettura dei calcolatori)

o Overview del livello ISA

o Tipi di dati

o Formati di istruzioni

o Modalità di indirizzamento

o Tipi di istruzioni

o Controllo del flusso

o Architetture Intel IA-32 e IA64

 

IL LIVELLO DEL LINGUAGGIO ASSEMBLATIVO (Cap 7 – Architettura dei calcolatori)

o Introduzione al linguaggio assemblativo

o Le macroistruzioni

o Il processo di assemblaggio

o Linker e loader 

 

INTRODUZIONE AI SISTEMI OPERATIVI (Cap 1 – I moderni sistemi operativi)

o Che cos’è un sistema operativo? 

o Storia dei sistemi operativi

o Panoramica dei SO

o Concetti di base dei SO

o Le chiamate di sistema

o Struttura di un sistema operativo

o Introduzione al linguaggio C

 

PROCESSI E THREAD (Cap 2 – I moderni sistemi operativi)

o PROCESSI

o THREAD

o COMUNICAZIONI TRA PROCESSI

o SCHEDULING

 

GESTIONE DELLA MEMORIA (Cap 3 – I moderni sistemi operativi)

o NESSUNA ASTRAZIONE DI MEMORIA.

o LO SPAZIO DI INDIRIZAMENTO

o MEMORIA VIRTUALE

o ALGORITMI DI SOSTITUZIONE DELLE PAGINE

o PROBLEMATICHE DI PROGETTAZIONE DEI SISTEMI DI PAGING

o ASPETTI REALIZZATIVI

o SEGMENTAZIONE

 

FILE SYSTEM (Cap 4 – I moderni sistemi operativi)

o FILE 

o DIRECTORY

o REALIZZAZIONE DEL FILE SYSTEM

o REALIZZAZIONE DEL FILE SYSTEM

 

• INPUT/OUTPUT (Cap 5 – I moderni sistemi operativi)

o PRINCIPI HARDWARE

o PRINCIPI DEL SOFTWARE

o PRINCIPI DEL SOFTWARE

o LIVELLI SOFTWARE

o DISCHI

o CLOCK

 

 

ARCHITETTURE PER IL CALCOLO PARALLELO (Cap 8 – I moderni sistemi operativi e Cap 8 – I moderni sistemi operativi)

o INTRODUZIONE

o PARALLELISMO NEL CHIP

o COPROCESSORI

o MULTIPROCESSORI

o MULTICOMPUTER

o VIRTUALIZZAZIONE

 

 


Testi di riferimento

1) Tanenbaum Andrew S., Architettura dei calcolatori: Un approccio strutturale, 6a Ed., Pearson Education, 2013
2) Tanenbaum Andrew S, Bos H. I moderni sistemi operativi. Ediz. MyLab. 4a Edizione Settembre 2019

 

Testo Ausiliario


Informazione automatica e Java. Compendio di informatica e di programmazione. Autori: Simonetta A. Sillano M. e Perna D., EDIZIONI KAPPA
prezzo simbolico di 10 euro


Ricevimento studenti

Al termine delle lezioni

Modalità di esame

L'esame è scritto, per tale ragione occorre munirsi di fogli protocollo o A4 e presentarsi con almeno 15 minuti di anticipo rispetto all'orario di inizio della prova.

Durante la prova si possono utilizzare esclusivamente calcolatrici numeriche non scientifiche e non programmabili. Non si possono utilizzare né testi né appunti.

Il testo di esame non può essere trattenuto né copiato, e va riconsegnato al termine della prova.

Lo scritto dura 60 o 90 minuti a seconda della difficoltà dell'esame e comprende:
- 5 quesiti teorici/pratici sul programma di Architetture dei Calcolatori
- 5 quesiti teorici/pratici sul programma di Sistemi Operativi
La valutazione di ciascuna domanda è di 3/30 punti.