The subject gives an overview of the input/output subsystem (I/O) of a computer and the most important devices that compose it. The first chapters are devoted to studying the functions of this block, the communication with the rest of the computer blocks (CPU and memory) as well as the different synchronization and data transfer techniques. The most important parameters used to measure system performance are also introduced, and analytical techniques are developed focusing on selecting the architectures and techniques enabling the optimal system-level performance.
The following topics are devoted to the study of the architecture of the most important computer I/O subsystems, mainly visualization and data storage systems, as well as some common interfaces used in these systems.
The final part introduces the I/O bus concept (including a detailed study of the USB bus) and studies the architectures and technologies used in some commonly used peripheral devices (touchscreen, printer, etc.).
Titular Professors
Professors
Basic skills on logic design and on high-level programming languages (C)
Learning Outcomes of this subject are:
- Understanding of fundamentals of peripheral equipment operation. (GI-RA-28).
- Knowledge of display, storage, input/output, and information transfer devices. (GI-RA-30)
- Programming of device drivers. (GI-RA-31)
1. INTRODUCTION - THE INPUT-OUTPUT (I/O) SUBSYSTEM
2. DISPLAYS DEVICES
3. DATA STORAGE SYSTEMS
4. INPUT-OUTPUT DEVICES
The subject is taught through master classes in which visual material (PowerPoint presentations) is used for the presentation of the theoretical contents. The structure and content of the material are designed, not just for class teaching usage, but also to facilitate further study of the subject and reinforcement of key concepts by the student.
The consolidation of the theoretical content and its application in real environments is achieved through a set of Labs that students must implement on a development platform for devices with ARM architecture.
Additionally, the students have a collection of problems solved and commented on for each one of the subjects taught. Both the material used in class and the problem collections are available on the Moodle platform (eStudy).
The methods used to evaluate the course are:
- Final exam.
- Midterm exam.
- Projects
.Final grade = 60% Knowledge + 40% Projects
D. A. Patterson and J. L. Hennessy, Computer Architecture: A Quantitative Approach, 1st ed. San Mateo, CA: Morgan Kaufmann, 1990.
J. L. Hennessy and D. A. Patterson, Computer Architecture: A Quantitative Approach, 5th ed. Waltham, MA: Elsevier, 2011.
D. A. Patterson and J. L. Hennessy, Organización y diseño de computadores, la interfaz hardware/software. Madrid: McGraw Hill, 1995
J. C. Mallinson, The Foundations of Magnetic Recording, 2nd ed. Academic Press, 1993
R. Micheloni, A. Marelli, K. Eshghi, Inside Solid State Drives, 2nd ed. Springer, 2018