Arquitetura de Computadores

Unidade Curricular / Curricular Unit
Arquitetura de Computadores/Computer Architecture

Ciclo de Estudos / Study Cycle
1º Ciclo/1st Cycle

Nome do Docente Responsável
Sérgio Pedro Mestre Ferreira

Nome do Docente Adicional
José Faisca e Alexandre Banha

Objectivos de aprendizagem (conhecimentos, aptidões e competências a desenvolver pelos estudantes)
Entender o funcionamento dos computadores, de uma perspectiva microscópica até uma perspectiva macroscópica. Reconhecimento das potencialidades e limitações de um computador. Entendimento da forma como interagem os diversos elementos da estrutura/arquitectura de um computador.

Learning outcomes of the curricular unit
Understand how computers work, from a microscopic perspective to a macroscopic perspective. Recognition of the potential and limitations of a computer. Understanding of how they interact with the various elements of the structure / architecture of a computer.

Conteúdos programáticos
Aulas Teóricas
Codificação binária e operações aritméticas.Circuitos digitais MSI: Portas Lógicas, registos,contadores, memórias,multiplexers e descodificadores.Simulação
Arquitectura de um Microprocessador (CPU) genérico.Componentes básicos: ALU,Registos e Barramentos.Instruções e Micro-instruções
Memórias de Programa e Dados.Fluxo de informação num CPU:Operações Fetch e Execution
Estudo de um Microcontrolador comercial de baixo custo. Ambiente de desenvolvimento-programação, simulação e teste
Componentes de um computador: CPU, memória e dispositivos de E/S.Memória cache e memória de massa. O processador Gráfico/Periféricos.Gestão de recursos.Sistemas Operativos
Aulas Práticas
Codificação e aritmética binária.Componentes digitais típicos
Simulação de componentes básicos da arquit/ interna de um CPU genérico
Projecto simples com um microcontrolador comercial económico
Estudo da programação do CPU padrão – x86
Assembly x86: Entradas/Saídas;Manipulação de strings e ficheiros

Syllabus
Lectures
Binary conversion and arithmetics.Digital Circuits MSI: Logic Gates, registers, counters, memories, multiplexers and dela.Simulation.
Generic basic microprocessor architecture (CPU).Components: ALU, registers and Buses.Instructions and Micro-instructions.
Data and program memories. Data information path in a CPU: Fetch Operations and Execution
Study of a low cost commercial microcontroller. Development-programming environment, simulation and test.
Computer devices: CPU, memory and  I/O. Cache and mass memories. The graph processor / Peripherals.Resource management.Operating Systems.
Practical classes
Binary coding and arithmetics.Typical digital components.
Basic internal components simulation of a generic CPU architecture.
Simple project with a budget commercial microcontroller
Standard CPU programming study – x86
x86 assembly: I/O, manipulation of strings and files

Demonstração da coerência dos conteúdos programáticos com os objectivos da unidade curricular
A utilização de sistemas informáticos no nosso dia-a-dia só é possível devido à existência de pessoal qualificado para os desenvolver e manter. A programação de computadores é uma actividade de alta tecnicidade que necessita conhecimentos de base sobre os fundamentos do funcionamento dos microprocessadores que são o coração dos computadores que fazem parte dos sistemas de informação complexos.
A programação nativa Assembly é utilizada como forma de reforçar e consolidar a aprendizagem da arquitectura do computador, pois não é possível programar eficientemente sem ter conhecimento da estrutura e inter-relacionamento dos seus componentes internos.

Demonstration of the syllabus coherence with the Curricular Unit’s objectives
The use of IT systems in our day-to-day is only possible due to the availability of skilled personnel to do the development and maintenance. The computer programming is a highly technical activity that requires basic knowledge about the microprocessor basics operation that is the heart of computers, an important part of complex information systems.
The native Assembly programming is used as a way to strengthen and consolidate the learning of computer architecture, because it is not possible to program efficiently without having knowledge of the structure and interrelationship of its internal components.

Metodologias de ensino (avaliação incluída)
A disciplina é teórico-prática, havendo uma alternância entre métodos:
Met. 1 – expositivos,
Met. 2 – demonstrativos
Met. 3 – participativos.

Avaliação Continua:
50% – 2 x Frequências
50% – Avaliação em ambiente Laboratorial
Avaliação da Época de Recurso:
50% – Exame
50% – Avaliação em ambiente Laboratorial

Nota: Não é possível a aprovação na disciplina sem a aprovação na parte Laboratorial.>

Planned learning outcomes, teaching methods and assessment methods and criteria
The course is theory and practice, with an alternation between methods:
1 – expositive,
2 – demonstrative
3 – participatory.

Continuous assessment:
50% – Two Frequency Tests
50% – Laboratory Work
Assessment Period of Appeal:
50% – Exam
50% – Laboratory Work
Note: It’s not possible to be Approved without Laboratorial Approval

Demonstração da coerência das metodologias de ensino com os objectivos de aprendizagem da unidade curricular
Metodologia expositiva
Apresentação dos conceitos teóricos da arquitetura e da linguagem Assembly do microcontrolador e microprocessador evoluído

Metodologia demonstrativa
Programas e exemplos de aplicação em linguagem Assembly do microcontrolador e microprocessador estudados

Metodologia participativa
Simulação de componentes básicos de um microprocessador
Resolução de exercícios nas linguagens nativas Assembly por parte dos alunos
Projectos simples de desenvolvimento

Demonstration of the teaching methodologies coherence with the curricular unit’s objectives
Expositive methodology
Presentation of the theoretical concepts of the architecture and    assembly language

Demonstrative methodology
Programs and application examples in assembly language

Participatory methodology
Basic simulation of  microprocessor components
Solving exercises in assembly language by students
Development projects by students

Bibliografia Principal / Main Bibliography
Microchip – PIC16F627A – [Em linha]
INTEL – IA-32 Intel® Architecture Software Developer’s Manual, Volume 1: Basic Architecture [Em linha]. Colorado Springs : INTEL, 2004.
INTEL – IA-32 Intel® Architecture Software Developer’s Manual, Volume 2A: Instruction Set Reference, A-M [Em linha]. Colorado Springs : INTEL, 2004.
INTEL – IA-32 Intel® Architecture Software Developer’s Manual, Volume 2B: Instruction Set Reference, N-Z [Em linha]. Colorado Springs : INTEL, 2004.
INTEL – IA-32 Intel® Architecture Software Developer’s Manual, Volume 2B: Instruction Set Reference, N-Z [Em linha]. Colorado Springs : INTEL, 2004.
Tanenbaum, Andrew S. – “Structured Computer Organization”, Prentice-Hall, 1990.System Programming Guide. Colorado Springs : INTEL, 2004.
Tanenbaum, Andrew S. – “Structured Computer Organization”, Prentice-Hall, 1990.
Delgado, José; Ribeiro, Carlos – Arquitectura de Computadores, FCA, Lisboa, 2008

Universidade Lusófona


ECATI Escola de Comunicação, Arquitetura, Artes e Tecnologias da Informação

Departamento de Engenharia Informática e Sistemas de Informação
Edifício F, sala F.1.3
Direção — 217 515 500 (ext: 683)
Serviço de Apoio Tecnico-Admistrativo (SATA) — 17 515 500 (ext: 764)


Lisboa
Avenida do Campo Grande,
376 1749-024 Lisboa, Portugal
Tel.: 217 515 500 | email: info.cul@ulusofona.pt
Porto
Rua Augusto Rosa,
Nº 24, 4000-098 Porto - Portugal
Tel.: 222 073 230 | email: info.cup@ulusofona.pt

Gestão de conteúdos por Lucio Studer Ferreira © 2022 COFAC.