Course: 2020/2021

Computer Structure

(18264)

Students are expected to have completed

Programming
Computer technology

ObjectivesFurther information on this link

The main objective of the course is to describe the main components of a computer and the basic behaviour of a computer.
Basic and general skills.
CG1 - Students are able to demonstrate knowledge and understanding of concepts in mathematics, statistics and computation and to apply them to solve problems in science and engineering with an ability for analysis and synthesis.
CG3 - Students can solve computationally with the help of the most advanced computing tools mathematical models coming from applications in science, engineering, economy and other social sciences.
CG4 - Students are able to show that they can analyze and interpret, with help of computer science, the solutions obtained from problems associated to real world mathematical models, discriminating the most relevant behaviours for each application.
CG6 - Students can search and use bibliographic resources, in physical or digital support, as they are needed to state and solve mathematically and computationally applied problems arising in new or unknown environments or with insufficient information.
CB1 - Students have demonstrated knowledge and understanding in an area of study that is at the core of general secondary education, and is often at a level that, while supported by advanced textbooks, also includes some aspects that involve knowledge from the cutting edge of their field of study
CB2 - Students are able to apply their knowledge to their work or vocation in a professional way and possess the skills usually demonstrated by developing and defending arguments and solving problems within their area of study
CB3 - Students have the ability to gather and interpret relevant data (usually within their area of study) to make judgments that include reflection on relevant social, scientific or ethical issues
CB4 - That students can convey information, ideas, problems and solutions to both specialized and non-specialized audiences
CB5 - Students have developed those learning skills necessary to undertake further study with a high degree of autonomy
Specific competences:
CE10 - Students have shown that they know and understand the algorithmic procedures to design and build programs that solve mathematical problems paying special attention to performance
CE13 - Students have shown that they understand how computers work, and the impact of their structure and operation on program performance as well as their physical limitations.
Learning outcomes:
¿ To know representation systems used in a computer with special focus in floating point number representation, as well as to understand the tradeoffs between precision and performance for arithmetic operations.
¿ To know, understand and evaluate the structure and architecture of a computer, as well as of the basic components it consists of.
¿ To be able to express subprograms in assembly language, and to understand their relationship with high level languages.

Description of contents: programme

The basic concepts of this course are: organization and structure of a computer; data representation; basic arithmetic; execution of instructions; assembly programming; main memory; cache memory; virtual memory; input/output systems.
1. Introduction to computers
- Von Neumann architecture
- Computer programming
- Characteristic parameters of a computer
- Computer performance
2. Data representation and basic arithmetic
- Number representation
- Floating point
- Basic arithmetic
3. Assembly programming
- Machine instructions representation
- Programming model of a computer
- Data, instructions, and control flow structures
- Addressing modes
- Instructions format
- Procedures and stack usage
4. Processor
- Processor components
- Control unit
- Execution of instructions
- Execution modes
- Interrupts
- Control unit design
- Starting of a computer
- Program execution time
- Microcontrollers
5. Memory Hierarchy
- Technology of memories
- Memory Hierarchy concept
- Cache memory
- Virtual Memory
6. input/output systems
- Input/output devices
- Storage based on disks
- Input/output modules
- Input/output techniques

Learning activities and methodology

The teaching methodology includes:
1. Theoretical lectures 1 ECTS
- Computer structure theoretical concepts
- Basic text books for both theory and problems will be also recommended.
2. Projects 1.5 ECTS
- Several projects are made along the course applying the concepts shown in theoretical lectures. Partial teacher support in computer labs.
- Students have to analyze the requirements and provide a working solution
- The projects are developed in team of 2 students, in order to promote the collaborative work
3. Problem solving with the teacher 1 ECTS
- By solving exercises and case of studies in a participatory way.
4. Student work 2 ECTS
- Self-study to understand the theoretical concepts
- Homework for solving proposed exercises
5. Exams 0.5 ECTS
- Midterm and small exams made along the course
- Final exam

Assessment System

- % end-of-term-examination 40
- % of continuous assessment (assigments, laboratory, practicals...) 60

Basic Bibliography

- Félix García, David Expósito, José Daniel García, Jesús Carretero. Problemas resueltos de Estructura de Computadores, 2ª edición. Paraninfo. 2009

Additional Bibliography

- D. A. Patterson, J. L. Hennessy. Computer organization and Design. Morgan Kaufmann . 2014
- J. Waldron. Introduction to RISC Assembly Programming. Addison-Wesley. 1999

- Félix Garcia Carballeira · Material de estructura de computadores : http://www.arcos.inf.uc3m.es/~infoec
- Félix Garcia Carballeira · Página web del libro Problemas resueltos de estructura de computadores : http://www.arcos.inf.uc3m.es/~ec-2ed
- Félix García Carballeira, Alejandro Calderón Mateos · WepSIM and CREATOR : https://wepsim.github.io https://creatorsim.github.io

Detailed subject contents or complementary information about assessment system of B.T.

(*) Access to some electronic resources may be restricted to members of the university community and require validation through Campus Global. If you try to connect from outside of the University you will need to set up a VPN

**More information: **http://arcos.inf.uc3m.es/~infoec