Aula Introdutória Universidade Federal de Uberlândia Faculdade de Computação Prof. Dr. rer. nat. Daniel D. Abdala GSI013 – Arq. e Org. de Computadores Arquitetura e Organização de Computadores
Nesta Aula Apresentação da disciplina GSI013; Apresentação do sistema de avaliação; Apresentação do plano da disciplina; Motivação acerca da importância de AOC; 2
Sistema de Avaliação Duas provas (P 1 e P 2 ) valendo 100 pontos cada; Adicionalmente, o aluno deve possuir frequência em aula superior a 75% e nota final superior a 59 para ser aprovado; Para os casos regularmente previstos nas Normas de Graduação, haverá uma prova substitutiva; Para alunos com média entre 20 e 59 será ofertada uma prova de recuperação. A média final após a recuperação será igual a média aritmética entre a média antés da recuperação e a nota da recuperação. 3
Por que Estudar AOC? Todos os sistemas computacionais modernos utilizam as ideias gerais apresentadas nesta disciplina; AOC é a disciplina onde aprendemos acerca de processadores, como eles funcionam, etc; Conhecimento geral acerca de AOC habilita o profissional de computação a tirar o máximo dos sistemas computacionais; Conhecer AOC habilita o aluno a desenvolver programas eficientes e seguros. 4
Máxima “We live in a society exquisitely dependent on science and technology, in which hardly anyone knows anything about science and technology.” Carl Sagan 5
O que é arquitetura de Computadores? 6 Mundo Físico Componentes Elétricos Circuitos Elétricos Portas Lógicas Register Transfer Level Microarchitecture Instruction Set Architecture Sistemas Computacionais SOs/Máquinas Virtuais Linguagens de Programação Algoritmos Aplicação Arquitetura de Computadores pode ser vista como uma pilha de abstrações; Ela se enquadra em uma pilha muito mais complexa que permite utilizarmos conceitos físicos para a criação de aplicações complexas;
O que é arquitetura de Computadores? 7 Mundo Físico Componentes Elétricos Circuitos Elétricos Portas Lógicas Register Transfer Level Microarchitecture Instruction Set Architecture Sistemas Computacionais SOs/Máquinas Virtuais Linguagens de Programação Algoritmos Aplicação Arquitetura de Computadores
O que é arquitetura de Computadores? 8 Mundo Físico Componentes Elétricos Circuitos Elétricos Portas Lógicas Register Transfer Level Microarchitecture Instruction Set Architecture Sistemas Computacionais SOs/Máquinas Virtuais Linguagens de Programação Algoritmos Aplicação Arquitetura de Computadores existe em um contexto;
O que estudaremos em AOC? A história da computação (ponto de vista arquitetural); Tecnologias que habilitaram, habilitam e potencialmente habilitarão computação no futuro; Visão detalhada da arquitetura von Neumann; Interfaces do processador com o SO e com os fenômenos físicos; Diferenças entre arquiteturas RISC e CISC; ISA MIPS32; Organização MIPS32 Monociclo; 9
O que estudaremos em AOC? ALU; Unidade de Controle Combinacional; Pipelining; Organização MIPS32 multiciclo; Hierarquia de Memórias; Comunicação com o Mundo externo; Processadores Paralelos e Memória Compartilhada. 10
Arquitetura vs Organização de Computadores 11
Arquiteturas de Computadores Refere-se ao comportamento funcional de um computador; Ponto de vista do programador; Termo “Arquitetura” – Introduzido pela IBM, Lyle R. Johnson, Muhammad Usman Khan e Frederick P. Brooks, Jr. Em 1959 Descreve um nível de compatibilidade entre diferentes processadores de uma mesma linha/família a nível de instruções. Exemplos de Arquiteturas: – IA-86, X-86 – MIPS – SPARC – VAX – PowerPC 12
Arquitetura Definição da ISA – Instruction Set Architecture; – Instruções em Hardware (Assembly); Formato de Instrução; Representação numérica; Tamanho das palavras; etc... 13
Organização de Computadores Refere-se aos aspectos estruturais que definem um processador; Tipos (classes) de sistemas computacionais: 14 Desktop Servidor Supercomputador Tablet Notebook Sistemas Embarcados Computadores de bordo etc...
Organização de Computadores Elementos da organização de computadores: – Implementação da ISA – Instruction Set Architecture; – Hierarquia de Memória; – Registradores; – Palavras; – Coprocessadores; – Interrupções; – Barramentos; – Interfaces de comunicação; – Processador(es); – Frequência de clock; – etc... Como correlacionar estes elementos para a composição de um sistema computacional? 15
Organização de Computadores Como Implementar uma ISA; Tradeoffs (Velocidade, Energia, Custo,...) Como organizar a memória; Qual a profundidade do Pipeline; Largura de Barramentos; etc. 16
O Modelo von Neumann 17 Memória Unidade de Controle Unidade de Entrada Unidade de Saída Unidade Lógica e Aritmética UCP - Unidade Central de Processamento Periféricos ULA UC
Modelo de Barramento 18 CPU (ALU, Controle e Registradores) Entrada e SaídaMemória Barramentos Dados Endereços Controle
Prolar Leitura: – Patterson: capítulo 1 – Hennessy:capítulo 1 – Stallings:capítulo 1 – Tanenbaum:capítulo 1 (até 1.1.3) 19
Bibliografia Comentada PATTERSON, D. A. e HENNESSY, J. L Organização e Projeto de Computadores – A Interface Hardware/Software. Elsevier/ Campus 4ª edição. HENNESSY, J. L. e PATTERSON, D. A Arquitetura de Computadores – Uma Abordagem Quantitativa. Elsevier/ Campus 5ª edição. 20
Bibliografia Comentada MONTEIRO, M. A Introdução à Organização de Computadores. s.l. : LTC, MURDOCCA, M. J. e HEURING, V. P Introdução à Introdução de Computadores
Bibliografia Comentada STALLINGS, W Arquitetura e Organização de Computadores TANENBAUM, A. S Organização Estruturada de Computadores