SM/0154 - COMPUTERS ARCHITECTURE
Academic Year 2022/2023
Free text for the University
DIEGO ANGELO GAETANO REFORGIATO RECUPERO (Tit.)
- Teaching style
- Lingua Insegnamento
|[60/61] COMPUTER SCIENCE||[61/00 - Ord. 2016] PERCORSO COMUNE||6||48|
KNOWLEDGE AND SKILLS ' UNDERSTANDING: Making the student familiar with the fundamentals of computer architecture and GPUs, laying the basis for understanding language implementation and computer performance.
CAPACITY APPLICATION: the student must be able to use the simulators and assemblers by developing code with the microarchitecture and assemblative languages.
JUDGEMENT: The course aims at stimulating students by proposing exercises and software to implement and testing them in simulators and assemblers. Thus students will be able to independently judge their work.
COMMUNICATION SKILLS: The student must be able to express with appropriate terminology the basic concepts of the layers that make up the computer architecture, compilation and interpretation, and programming languages shown during the course.
LEARN SKILLS: The students will be able to learn some basic programming and efficiency concepts and compilation/interpretation techniques through the use of simulators
EXPECTED SKILLS: Knowledge of the levels of a computer; basic knowledge of the principles of programming and programming languages.
Students will be encouraged to develop projects of various nature also using Arduino, Raspberry, and robotic platforms such as ZORABOT, an extension of the well-known NAO robot.
Knowledge of the binary number system.
Curiosity, determination, patience, enthusiasm, interest and passion
INTRODUCTION TO THE COURSE - 2 hours
ORGANIZATION OF COMPUTER ARCHITECTURES - 4 hours
Organization in levels
Von Neumann, Harward Architecture and examples Compilation, assembler, linking, running
ARCHITECTURE OF A PC - 2 hours
DIGITAL LOGIC - 8 hours
Gates and Boole algebra
CPU chips and bus
MICROARCHITECTURE AND ISA LEVELS - 14 hours
ISA example: IJVM
Design of the microarchitecture level
OPERATING SYSTEM LEVEL - 4 hours
ASSEMBLY LANGUAGE LEVEL - 14 hours
Assembler and tracer 8088
Projection of slides, videos, and Internet web pages for lectures and for exercises.
Employment of the https://logic.ly/demo/ tool and of IJVM and 8088 simulators to apply theoretical background on practical exercises.
Use of Social Networks for communications, updates, and further lectures. Employment of a Telegram group to quickly access information, communications, and teaching material and for the creation of forums to solve basic questions, homework, installation problems with the software. Corrections of exams with active interaction with students.
Use of the Mentimeter tool to keep high the attention of the students and practice on the main concepts discussed during the teaching. The course provides a mid-term test where students might try to solve an IJVM program and answer the questions of the first part of the course in order to lighten the workload.
Lectures: 28 hours
Exercises: 16 hours
Seminars: 4 hours
Verification of learning
- Exercises and examples during the course
- Use of Mentimeter to keep the interaction with students constant and high.
The exam consists of two parts:
- an IJVM program and multiple choice questions on the first part of the course
- an 8088 program and multiple choice questions on the second part of the course
There will be two on-going tests, one mid-course and one at the end which include the two parts of the program.
A student needs to reserve the date of the test on esse3 and moodle.
It is possible to try to increase the score by taking an oral interview that will be asked and agreed with the teacher. If the vote in one of the two multiple choice parts does not reach 18, it will be necessary to repeat it.
It is possible to improve the score by presenting a project that must be agreed with the teacher. There is no deadline for its presentation even if the academic year ends. Example: if the IJVM and 8088 programs have been passed as well as the two multiple choice parts, it is also possible to deliver the project to the following academic year (marks will be kept).
A maximum of 3 people can work on the same project. Clearly the more people there are per project, the less points for each will be awarded.
Any projects can be extended for degree thesis.
A project can increase the basic grade by any value which depends on the project and which will be agreed upon at its approval with the teacher.
In general, those who take a vote between 18 and 22 means that they know how to program at the level of IJVM and 8088 but do not have a broad cultural background of how those languages work.
A score from 23 to 27 indicates students who have understood generally where IJVM and 8088 are located.
A score from 28 to 30 with honors indicates students who have understood in detail where IJVM and 8088 are located.
A. S. Tanenbaum, T. Austin, Architettura dei calcolatori: Un approccio strutturale, Sesta edizione, Pearson Addison Wesley, 2013
D. A. Patterson, J. L. Hennessy, Struttura e progetto dei calcolatori, Terza edizione, Zanichelli, 2010
The professor's web site (https://unica.it/unica/it/ateneo_s07_ss01.page?contentId=SHD30988) contains the slides shown during the course (both lectures and exercises) that include pointers to web pages where some notes were shown. Also, past tests and their solutions related to IJVM and 8088 are available for download too.
Forum opened on Moodle for questions, research materials, solutions of exercises, and software programs
Telegram group page for further comments and communications.
Availability of thesis on Arduino, ZORABOT, GPU TITANX and Erasmus programs in international companies and universities for interested and more deserving students.
As far as the IJVM and 8088 programs are concerned, students can practice downloading and playing with MIC-1 MMV SIMULATION ENVIRONMENT and 8088 ASSEMBLER AND TRACER TOOLKIT available on the professor's web page. https://unica.it/unica/it/ateneo_s07_ss01.page?contentId=SHD30988
Further FAQs are available on the professor's web page.