Italiano
Italian
Conoscenza base del linguaggio C
Basic knowledge of C programming language
Lezioni di Teoria: 72 ore
Theory classes: 72 hours
L’insegnamento permette agli studenti di acquisire conoscenze relative alle diverse architetture dei calcolatori mono/multi-processore, alle architetture di rete e relativi protocolli, introducendo anche elementi relativi alla sicurezza digitale. Tali conoscenze, integrando le nozioni acquisite negli insegnamenti di fondamenti di informatica e sistemi operativi, permetteranno di fornire una conoscenza più approfondita dei principi alla base del funzionamento dei moderni sistemi di elaborazione.
Al termine del corso lo studente sarà in grado applicare le acquisite conoscenze per: analizzare criticamente varie architetture di calcolatori per futuri progetti; analizzare criticamente le componenti HW, FW, SW che sono coinvolte nella realizzazione di un sistema di elaborazione; analizzare criticamente vari protocolli per la trasmissione di dati nell’ambito delle reti di calcolatori; proporre soluzioni efficienti ed argomentate a problemi complessi; decodificare e valutare i dati contenuti in documenti tecnici come datasheet con particolare riferimento ai microcontrollori micro-processori.
Il corso svilupperà la capacità di svolgere analisi progettuali che richiedono un approccio multidisciplinare considerando l’elevata trasversalità del corso. Grazie allo svolgimento di un lavoro di gruppo gli studenti potranno incrementare le loro abilità comunicative inserendosi in un team e presentando il risultato del lavoro in modo strutturato. Questo consente l’approfondimento di un tema specifico con conseguente sviluppo di capacità di analisi e sintesi di un problema anche complesso trattato nell’ambito del corso.
The course enables students to get knowledge of the
different architectures of single/multi-processor
computers, and network architectures and protocols,
also introducing elements related to digital security.
This knowledge is integrated in a larger framework
with the foundations on computer science and
operative systems, driving the student to a thorough
understanding of the principles underlying the
functioning of modern computer systems.
At the end of the course the students will be able to apply the acquired knowledge to: critically analyze several architectures of computers for future projects; critically analyze the HW, FW, SW components that are involved in the implementation of a processing/computing system; critically analyze various protocols for the transmission of data in the context of computer networks; propose efficient and reasoned solutions to complex problems; decode and evaluate the data contained in technical documents such as datasheets with particular reference to the micro-micro-processor/controller.
The course enables students to reinforce the ability for system analysis & design that usually requires a multi-disciplinary approach also considering the transversality of the course. Small work groups of students will be formed to increase their communication skills becoming part of a team and presenting the result of work in a structured way. This allows the study of a specific theme / topic that develops and enforces analytical and synthesis skills.
Il corso si divide in due parti. Nella prima si intende fornire agli studenti una conoscenza di base sull'architettura dei calcolatori elettronici. Nella seconda si vuole fornire una conoscenza di base sulle reti di calcolatori.
Sezione Calcolatori:
1) Architetture dei calcolatori
2) Operazioni logiche in ALU
3) Registri e Cache
4) Bus e loro arbitraggio
5) Istruzioni e microistruzioni
6) Processori (pipeline, superscalare,.)
7) Memoria centrale
8) Memorie di massa
9) Interruzioni e dispositivi di I/O
Sezione Reti di calcolatori:
10) Introduzione alle reti di calcolatori
11) Protocolli di comunicazione
12) Livello Fisico
13) Livello di Connessione Dati
14) Livello di Rete
15) Livello di Trasporto
16) Cloud Computing
The course is divided into two parts. The first is intended to give students a basic understanding of the architecture of computers. The second aims to provide a basic understanding of computer networks.
Topics
Computers part:
1) Computer Architectures
2) Logic Operations in ALU
3) Registers and Cache
4) Bus and arbitration
5) Instructions and Microinstructions
6) Processors (pipeline, superscalar,.)
7) Central Memory
8) Storage Memory
9) Interrupts and I/O devices
Computer Networks part:
10) Introduction to computer networks
11) Communication protocols
12) Physical Level
13) Data Link Level
14) Network Level
15) Transport Level
16) Cloud Computing
Attribuzione del voto finale in trentesimi.
Per superare con esito positivo la valutazione dell'apprendimento, lo studente deve dimostrare, attraverso le prove prima descritte, di aver ben compreso i concetti esposti nel corso. In particolare la parte di elaborato tematico ha come obiettivo la acquisizione da parte dello studente della capacità di analisi critica sulle realizzazioni esistenti di sistemi di elaborazione in base alle specifiche tecniche disponibili pubblicamente da parte dei produttori. Un altro obiettivo è la capacità dello studente di agire nell'ambito di un gruppo di lavoro, ed attribuirsi un ruolo, per la realizzazione del tema che consisterà principalmente in un rapporto da realizzare in circa 10 ore, dopo uno studio preliminare di circa 10 ore.
Durante la sessione di esame, lo studente viene dapprima invitato a parlare del suo elaborato. Durante la discussione, vengo posti quesiti e collegamenti con i temi della prima e seconda parte del corso, di crescente difficoltà e dettaglio. Oltre alla conoscenza delle nozioni di base, alla valutazione della accuratezza nello studio del materiale didattico e dei testi, viene in modo incrementale saggiata la capacità lettura critica dei testi, la comprensione profonda dei concetti di base, la cultura tecnica e la creatività e propositività
Perché l'esito complessivo della valutazione sia positivo, lo studente deve conseguire almeno la sufficienza, pari a diciotto punti, ottenibile dalla produzione e discussione dell'elaborato scritto di qualità minima insieme alla corretta risposta ad un insieme di domande considerate di base e indispensabili, molto accuratamente segnalate durante le lezioni. Per le attribuzioni di voto superiore alla sufficienza si valuterà la conoscenza e competenza dimostrate sia nel progetto che durante la discussione / approfondimento.
Assignment of a final score (maximum score is 30).
To successfully pass the assessment of learning , the student must demonstrate a well-established knowledge of concepts presented in the course. The education project consists on two parts: state of the art (10h) and development (10h). The work could be done in groups formed by two students.
During the exam the student will be prompted to first discuss its project. After the first part of the exam the student should answer to the questions which covers the course and related concepts.
The minimum mark is 18/30. The "laude" could be assigned to students that demonstrate a complete knowledge of concepts presented during the course.
William Stallings, “Computer Organization and Architecture – Designing for Performance, 10th/ed.”, Pearson
Andrew S. Tanenbaum, “Computer Networks 5th/ed”, Pearson
Materiale didattico disponibile al seguente indirizzo: https://learn.univpm.it
William Stallings, “Computer Organization and Architecture – Designing for Performance, 10th/ed.”, Pearson
Andrew S. Tanenbaum, “Computer Networks 5th/ed”, Pearson
Slides and other support available at the following URL: https://learn.univpm.it
NO
NO
Università Politecnica delle Marche
P.zza Roma 22, 60121 Ancona
Tel (+39) 071.220.1, Fax (+39) 071.220.2324
P.I. 00382520427