Identify the key components of a computer architecture and its role in the set.
Identify the key components of a processor and its role in the set, designing the fundamental components of na elementary processor.
Programming a computer using an Assembly language.
Applying the concept of interrupt, namely in data transfer operations.
Choose the appropriate external interface for the connection to a peripheral.
Using a hierarchical memory in the context of computer architectures.
Identify the inherent advantages and limitations in the operation of a computer developments arising from the evolution in relation to the original architecture.
Learning outcomes
- Identify the fundamental components in a computer architecture and their role as a whole.
- Identify the fundamental components in a processor and their role as a whole; design the fundamental components of an elementary processor.
- Apply the concept of interruption, namely in data transfer operations.
- Choose the external interface suitable for connection with a peripheral.
- Use a hierarchical structure of memory in the context of computer architectures.
* - Identify the advantages and restrictions inherent in the operation of a computer resulting from the evolution of the original architecture.
- Program a computer in “Assembly” language.
Syllabus
1. Architecture and organization of a computer
1.1. Main components - von Neumann model
1.2. History and evolution of computers
2. Central processing unit (CPU)
2.1. Registers and functional units
2.2. Execution of instructions: interruptions, pipelining and parallelism
3. Control unit
3.1. Functions and components
3.2. Implementations - microprogramming
4. Processor Architectures
4.1. RISC and CISC
4.2. Multi-core
5. Memories
5.1. Internal - cache and RAM
5.2. External - magnetic, optical and flash disks
6. Buses
6.1. Types, structure and timing
6.2. Implementations (examples)
7. Inputs and Outputs
7.1. I/O Modules and Techniques
7.2. External interfaces - communication with peripherals
8. Assembly language
8.1. Instructions and data types
8.2. Input and output of data
8.3. Addressing modes
Lectures
Exposure of the concepts and presentation of examples; solving theoretical and practical exercises.
Performing diagnostic tests at the end of each chapter.
Laboratory classes
Assembly of components on a computer and connecting peripherals.
Construction of language programs "assembly", using a tool for coding and testing programs in language "assembly" in particular.
Using learning management system Moodle, where resources are available and various activities to supplement classroom.
Essential
José Delgado e Carlos Ribeiro, Arquitectura de Computadores, 5a. Edição, FCA, 2014.
William Stallings, Computer Organization and Architecture, 9th Edition, Prentice-Hall, 2013.
Andrew S. Tanenbaum, Structured Computer Organization, 6th Edition, Prentice-Hall, 2013.
Complementary
Guilherme Arroz et al., Arquitectura de Computadores, 3a. Edição, IST Press, 2014.
John L. Hennessy and David A. Petterson, Computer Organization and Design, 5th Edition, Morgan Kaufman, 2014.
0106025
6