L'insegnamento mira a fornire i concetti fondamentali relativi ai sistemi di elaborazione dell'informazione; il corso introduce il concetto di sistema di elaborazione dell'informazione, descrivendone l'architettura, il funzionamento e illustrando i passaggi relativi alla sua progettazione. L'insegnamento tratta inoltre dell'interazione tra i moduli hardware e software, soffermandosi in particolare sui sistemi a microprocessore; una parte significativa del corso riguarda i processori e la loro interazione con le memorie e i dispositivi periferici. Al fine di comprendere meglio il funzionamento di un sistema a processore, l'insegnamento include una parte relativa alla programmazione in linguaggio Assembler. Alcuni degli argomenti trattati saranno poi ripresi in insegnamenti successivi (a partire da Sistemi Operativi).
The course covers the basics of computer systems. The addressed topics cover the definition of computer system, its architecture, and its operating modes. Attention is also given to the interaction between hardware and software modules. The course pays special attention to processor-based systems, describing their architecture and behavior, as well as the interaction between the processor, the memory and the peripherals. The course also describes how to program computer-based systems at the assembly level. Some of the topics of the course will be further analyzed in later courses, such as Operating Systems.
- Conoscenze di base riguardanti la progettazione dei circuiti digitali
- Conoscenza del concetto di sistema di elaborazione
- Conoscenza dell'architettura di un generico sistema di elaborazione e dei suoi principi di funzionamento
- Conoscenza e comprensione dei moduli elementari che compongono un sistema di elaborazione
- Conoscenza dell'architettura e del funzionamento di un microprocessore e di un linguaggio Assembler
- Capacità di scrivere semplici programmi Assembler
- Conoscenza dell'architettura del sotto-sistema di memoria
- Conoscenza delle modalità di interfacciamento e gestione delle periferiche
- Conoscenze elementari sull'architettura dei processori CISC, RISC e superscalari
Knowledge about the concept of computer system
- Knowledge of the architecture of a generic processing system and its operating principles
- Knowledge and understanding of the basic modules that form a computer-based system, with particular emphasis to those used in the design of digital circuits at the gate and register levels
- Knowledge of fundamental design techniques of digital systems (specification and design of a combinational circuit and a synchronous sequential circuit)
- Knowledge of the architecture and behavior of a CISC processor and its Assembly language
- Capability to write simple Assembly language programs
- Knowledge of the architecture of the memory sub-system
- Knowledge of the interface mode and control of system peripherals
- Highlights on the architecture of RISC and superscalar processors.
- Conoscenze di base di algebra booleana
- Conoscenze di base di programmazione
- Conoscenze di base sulle tecniche di rappresentazione delle informazioni
- Basic knowledge about Boolean algebra
- Basic knowledge about programming techniques
- Basic knowledge about the methods to represent information in a computer.
- Concetti base sui circuiti logici (6 ore)
- Architettura e funzionamento di un processore (10 ore)
- Programmazione in linguaggio Assembler (15 ore)
- Architettura e funzionamento di un sistema a processore (7 ore)
- Il sistema di memoria (6 ore)
- Tecniche per la gestione delle periferiche (15 ore)
- Struttura e funzionamento dei bus di comunicazione (3 ore)
- Cenni ai processori RISC e superscalari (3 ore)
- Design of a digital circuit at the gate and register level (15 hours)
- Architecture and behavior of a processor (10 hours)
- Programming a processor at the Assembly level (12 hours)
- Architecture and behavior of a processor system (7 hours)
- Memory elements (8 hours)
- Peripheral management and control (7 hours)
- Structure and operation of the communication bus (3 hours)
- Basics on RISC and superscalar processors (3 hours)
Le esercitazioni in aula riguardano gli aspetti teorici relativi alle architetture dei calcolatori. A partire indicativamente dalla quarta settimana, e previsto lo svolgimento di esercitazioni di laboratorio della durata di 1,5 ore settimanali (per un totale di circa 15 ore complessive), durante le quali gli studenti potranno mettere in pratica gli aspetti visti a lezione relativi alla programmazione in linguaggio Assembler.
Laboratory as well as classroom learning-by-exercise sessions are designed as an integral part of this course. Starting from the third week, students attend the laboratory, every week (totally 15 hours). During the laboratory the students can face the practical aspects introduced at lesson time. The exercises in the classroom are related to the programming in assembly language. Both exercises in laboratory and classroom will be conducted with the support of software developed tools for the assembly language running on a Personal Computer.
Il testo di riferimento, che copre buona parte degli argomenti e:
S.L. Harris, D.M Harris, “Sistemi digitali e architettura dei calcolatori”, Zanichelli, 2017
Per la parte di programmazione Assembler può inoltre essere utile il testo:
D. Harris, S. Harris, "Digital Design and Computer Architecture: RISC-V Edition", Morgan Kaufmann, 2021
Il docente mette a disposizione degli studenti mediante il sito del corso i lucidi utilizzati nelle lezioni, esempi di scritti di esame ed esercizi, e il materiale per le esercitazioni di laboratorio.
Students may benefit of the following textbooks:
C. Hamacher et al., "Introduzione all?architettura dei calcolatori",3rd edition, McGraw-Hill, 2013
D. Harris, S. Harris, ?Digital Design and Computer Architecture?, Seconda Edizione, Morgan Kaufmann, 2nd Edition, 2013
Slides will be provided to students registered to the course through the Student Teaching Portal, as well as any additional non-copyrighted information material that will be used in the course.
Slides; Libro di testo; Esercizi; Esercizi risolti; Esercitazioni di laboratorio; Esercitazioni di laboratorio risolte; Video lezioni dell’anno corrente; Video lezioni tratte da anni precedenti; Strumenti di auto-valutazione; Strumenti di collaborazione tra studenti;
Lecture slides; Text book; Exercises; Exercise with solutions ; Lab exercises; Lab exercises with solutions; Video lectures (current year); Video lectures (previous years); Self-assessment tools; Student collaboration tools;
E' possibile sostenere l’esame in anticipo rispetto all’acquisizione della frequenza
You can take this exam before attending the course
Modalità di esame: Prova orale facoltativa; Prova scritta in aula tramite PC con l'utilizzo della piattaforma di ateneo;
Exam: Optional oral exam; Computer-based written test in class using POLITO platform;
...
L'esame si compone di una prova scritta e di un'eventuale prova orale.
La prova scritta ha una durata di circa 120 minuti e consiste di tre parti corrispondenti indicativamente a:
- prima parte: 10 domande a quiz (o semplici esercizi), per la durata di circa 15 minuti; e necessario rispondere correttamente ad almeno 6 di esse perché il resto dell'esame venga corretto
- seconda parte: 4 domande a risposta aperta (5 punti ciascuna), per la durata di circa 40 minuti
- terza parte: un esercizio di programmazione Assembler (12 punti), per la durata di circa 60 minuti; per superare l'esame e necessario conseguire almeno 5 punti in questa parte.
Durante la prova scritta gli studenti non possono consultare nessun materiale, con l'eccezione di una tabella con la sintassi delle istruzioni del linguaggio studiato (fornita dal docente).
Lo studente, qualora abbia conseguito un voto almeno pari a 18 nella prova scritta, può chiedere di sostenere una prova orale. La prova orale può anche essere richiesta dal docente. La prova orale verte su tutto il programma del corso e può includere la scrittura di un semplice programma. La prova orale può modificare in positivo o negativo il voto dello scritto.
Gli studenti e le studentesse con disabilità o con Disturbi Specifici di Apprendimento (DSA), oltre alla segnalazione tramite procedura informatizzata, sono invitati a comunicare anche direttamente al/la docente titolare dell'insegnamento, con un preavviso non inferiore ad una settimana dall'avvio della sessione d'esame, gli strumenti compensativi concordati con l'Unità Special Needs, al fine di permettere al/la docente la declinazione più idonea in riferimento alla specifica tipologia di esame.
Exam: Optional oral exam; Computer-based written test in class using POLITO platform;
The exam corresponds to a written test lasting for about 100 minutes.
This test is composed of 3 parts:
? first part: 10 closed-answer questions (or simple exercises), lasting for about 15 minutes; the student must correctly answer to at least 6 of them for the rest of the test to be considered
? second part: 4 open-answer questions (from 0 to 5 points each), lasting for about 40 minutes
? third part: 1 exercise where the student is asked to write a simple assembly language program (from 0 to 12 points), lasting for about 60 minutes. The student has to achieve at least 5 points (out of 12) in this part to pass the exam.
Students cannot use any material during the written test, apart from a table summarizing the syntax of the assembly instructions, provided by the teacher.
If the student achieves at least 18 points in the written exam, he/she may ask for an oral exam on the whole program (the oral exam may include to program a small assembly procedure). The oral exam may increase or decrease the score of the written exam.
In addition to the message sent by the online system, students with disabilities or Specific Learning Disorders (SLD) are invited to directly inform the professor in charge of the course about the special arrangements for the exam that have been agreed with the Special Needs Unit. The professor has to be informed at least one week before the beginning of the examination session in order to provide students with the most suitable arrangements for each specific type of exam.