LEARNING OUTCOMES
This course intends to provide students with the necessary knowledge and competences to evaluate,
decide and criticize the entire surroundings of IT equipment, regardless of its size. It is important to distinguish where it may be relevant to invest in order to achieve the desired performance, availability, reliability and trust values. Students must recognize the various components of a computer, distinguishing the manner in which they are related and comprehend the importance of the decision/choice from the several offers available in the market; understand the thin line which connects software to hardware; know computational arithmetic and its applicability in the real world; ability to program in a low level language (MIPS); Distinguish the several types of memory; understand the concept and applicability of the various types of benchmarks; differentiate the several types of storage devices.
STUDY PROGRAMME
Theoretical contents
Fundamentals of a computer's design
Types of computers Layers on the computer Language of hardware
The five components of a computer
The interior of a computer, "getting dirty" Communication between computers; networking Computational arithmetic
Signed and unsigned numbers
Binary operations Floating point MIPS processor
Low level programming Components of a computer Processor
Memory
Performance issues
Storage, networks and other peripherals
Storage types
Buses
Reliability, availability and trust
RAID
I/O performance Measures
Performance analysis of storage devices
Practical programme
Research and elaboration of a document of a given component (the final result should be presented in a conference format)
Computational arithmetic operations
PCSpim Programming
BIBLIOGRAPHY
Computer organization and design : the hardware/software interface, 3rd ed. David A. Patterson, John L. Hennessy Amsterdam : Elsevier
Computer Architecture: A quantitative approach, fourth edition John L. Hennessy e David A. Patterson Amsterdam : Elsevier