Post on 07-Nov-2018
Introdução à Arquitetura de Computadores
José Costa
Introdução à Arquitetura de Computadores
Departamento de Engenharia Informática (DEI)Instituto Superior Técnico
2014-09-17
José Costa (DEI/IST) Introdução à Arquitetura de Computadores 1
Estudar Arquitetura de Computadores?
José Costa (DEI/IST) Introdução à Arquitetura de Computadores 2
O Computador
José Costa (DEI/IST) Introdução à Arquitetura de Computadores 3
O ComputadorPor dentro
José Costa (DEI/IST) Introdução à Arquitetura de Computadores 4
O ComputadorMais perto
José Costa (DEI/IST) Introdução à Arquitetura de Computadores 5
O CPU
José Costa (DEI/IST) Introdução à Arquitetura de Computadores 6
Objetivos da Disciplina
Os alunos deverão dominar os conceitos básicos e ofuncionamento geral de um computador, a estrutura materialque permite a execução de programas
Deverão conseguir descrever o funcionamento dos elementosbásicos, processador, sistema de memória e sistema de entradase saídas, e sua interação
Em particular, devem ser capazes de compreender a estruturainterna de um processador e o processo de execução dasinstruções
José Costa (DEI/IST) Introdução à Arquitetura de Computadores 7
Bibliografia
Principal
Arquitectura de Computadores: dos Sistemas Digitais aosMicroprocessadores , G. Arroz, J. Monteiro, A. Oliveira, 2009,IST Press, 2ª Edição, ISBN: 978-972-8469-54-2
Secundária
Arquitectura de Computadores , J. Delgado, C. Ribeiro, 2010,FCA, 4ª Edição, ISBN: 978-972-722-666-5
Logic and Computer Design Fundamentals , M. Mano, C. Kime,2008, Prentice-Hall International, 4ª Edição, ISBN:978-0132067119
José Costa (DEI/IST) Introdução à Arquitetura de Computadores 8
Professores
Teóricas
José Carlos Campos Costa
Laboratórios
José Carlos Campos Costa
Alberto Manuel Ramos da Cunha
Nuno Cavaco Gomes Horta
Paulo Alexandre Crisóstomo Lopes
José Costa (DEI/IST) Introdução à Arquitetura de Computadores 9
Horários de Dúvidas
José Costa
5ª das 16h às 17h30 - Sala 2.01, Pavilhão Informática III
6ª das 15h às 16h30 - Sala 2.01, Pavilhão Informática III
Alberto Cunha
3ª das 17h às 18h30 - Gab. 2, Pavilhão Informática II
Nuno Horta
2ª das 9h30 às 11h - Torre Norte, 9º piso, sala 9.08
Paulo Lopes
4ª das 14h30 às 17h30, INESC-ID
José Costa (DEI/IST) Introdução à Arquitetura de Computadores 10
Horários
José Costa (DEI/IST) Introdução à Arquitetura de Computadores 11
Avaliação
Projeto + laboratórios: 40%
Nota mínima de 8,5
Testes: 60%
Nota mínima de 7 em cada teste e 8,5 na média dos testes
José Costa (DEI/IST) Introdução à Arquitetura de Computadores 12
Laboratórios
1 aula de exercíciosAlunos que ainda não têm grupo podem ir a qualquer horário
6 trabalhos de laboratórioPreparação dos trabalhos deve ser feita antes da aula delaboratórioAula serve para afinar respostas e mostrar ao docenteEntrega de ficha preenchida no final da aula
Restantes aulas para apoio ao projeto e avaliações
Aulas de laboratório começam na semana de 29 de Setembro
José Costa (DEI/IST) Introdução à Arquitetura de Computadores 13
Inscrição nos Laboratórios
Grupos de 3 elementos
Inscrição será via fenix
Serão realizadas nas primeiras duas semanas de aulasInscrições estarão abertas a partir de amanhã (às 8h00)No início da próxima semana serão permitidas inscrições degrupos de 2 (alunos individuais poderão nessa altura preencheros slots disponíveis)Meio da próxima semana serão permitidas inscrições individuaisNa 3ª semana grupos serão compactados
José Costa (DEI/IST) Introdução à Arquitetura de Computadores 14
Projeto
Enunciado disponível: 20 de Outubro
1a entrega: Semana de 10 de Novembro durante a aula
Entrega final: 5 de Dezembro por via eletrónica (fenix)
Visualização: Semana de 8 de Dezembro durante a aula
Discussões: Semana de 15 de Dezembro em horário a combinarcom o docente
José Costa (DEI/IST) Introdução à Arquitetura de Computadores 15
Testes
2 testes
Datas1º teste: 29 de Outubro às 18h002º teste: 16 de Janeiro às 08h00Repescagens (1º, 2º teste ou os dois): 28 de Janeiro às 15h00
Bónus na nota final dos testes para quem não fizer repescagem
José Costa (DEI/IST) Introdução à Arquitetura de Computadores 16
Planeamento (1/3)
José Costa (DEI/IST) Introdução à Arquitetura de Computadores 17
Planeamento (2/3)
José Costa (DEI/IST) Introdução à Arquitetura de Computadores 18
Planeamento (3/3)
José Costa (DEI/IST) Introdução à Arquitetura de Computadores 19
Arquitetura de Um Computador (1/2)
Computador
Sistema digital programável através de uma sequência de instruçõesguardadas em memória.
Elemento crucial num computador é a sua unidade central deprocessamento, ou processador.
José Costa (DEI/IST) Introdução à Arquitetura de Computadores 20
Arquitetura de Um Computador (2/2)
ProcessadorSistema digital constituído por um circuito de dados e um circuito decontrolo.
José Costa (DEI/IST) Introdução à Arquitetura de Computadores 21
Charles Babbage (1791-1871)
Charles Babbage projetou o primeiro computadormecânico capaz de desempenhar automaticamentesequências de operações
Computador conhecido como o difference engine
usava apenas elementos mecânicos
podia ser programado para construirtabelas matemáticas
José Costa (DEI/IST) Introdução à Arquitetura de Computadores 22
Sistemas Eletro-Mecânicos
Primeiro computador completamente automático foi construídoem 1944
Harvard Mark I18 por 2,5 metros5 toneladas, 760.000 partes e centenas de kilometros de cabos9 bytes de memória3 segundos para fazer adição ou subtração
1º bug da história
José Costa (DEI/IST) Introdução à Arquitetura de Computadores 23
Computadores Eletrónicos DigitaisENIAC (1946)
José Costa (DEI/IST) Introdução à Arquitetura de Computadores 24
Computadores de Primeira Geração(1942 - 1955)
Estes computadores a válvulas ficaram conhecidoscomo computadores de primeira geraçãoO uso de válvulas impunha limites
problemas de fiabilidade
problemas de tamanho
Ocupavam tipicamente uma sala degrandes dimensõesPodiam funcionar continuamente apenasdurante poucas horas
válvulas falhavam com muitafrequência
José Costa (DEI/IST) Introdução à Arquitetura de Computadores 25
Computadores de Segunda Geração(1955 - 1964)
Baseados em transistores
Discos magnéticos para guardar informação
Memórias baseadas em ferrites
José Costa (DEI/IST) Introdução à Arquitetura de Computadores 26
Computadores de Terceira Geração(1964 - 1975)
Baseada em circuitos integrados
Permitiu redução no tamanho doscomputadores
Um dos computadores com mais sucesso foi oIBM/360
Permitiu criar uma série de famílias queexecutavam o mesmo conjunto de instruções
Maior reutilização do esforço do programador
José Costa (DEI/IST) Introdução à Arquitetura de Computadores 27
Computadores de Quarta Geração(1975 -)
Baseados em circuitos integrados com grande escalade integração (VLSI - Very Large Scale Integration)Processador contido num só circuito integradoFez baixar o preço e permitir o uso pessoalPrimeiro processador: 4004 da Intel
Primeiro computador: baseado no 8080 da IntelIBM definiu o modelo padrão para o computadorpessoal
baseado no processador 8088
arquitetura ainda hoje é a mais usada em PCs80286, 80386, 80486, Pentium, Pentium II,José Costa (DEI/IST) Introdução à Arquitetura de Computadores 28
Computadores de Quinta Geração
Baseados em Inteligência Artificial
Podem entender linguagem falada
Podem imitar o raciocinio humano
Podem responder ao que o rodeia
José Costa (DEI/IST) Introdução à Arquitetura de Computadores 29
Tipos de Computadores
Computadores pessoais
Servidores
Sistemas embebidos
José Costa (DEI/IST) Introdução à Arquitetura de Computadores 30
Computadores Pessoais
Tipicamente quando falamos de computadores estamos a falar destetipo
Otimizado para processamento de
Texto, Som, Imagens, Vídeo, Jogos
Dispositivos de entrada e saída
Teclado, Rato, Monitor, Impressora e muitos outros
Fator mais importante: Custo
José Costa (DEI/IST) Introdução à Arquitetura de Computadores 31
Servidores (1/2)
Processam grande quantidade de dadosTêm tipicamente um teclado e um monitor para permitirconfiguração local do servidor
Centro de DadosGrandes salas com muitos servidores
Controlo rigoroso de temperatura, humidade
Controlos de segurança física
Sistemas redundantes de geração de energia
Fator mais importante: desempenho para as aplicações a que sedestina
José Costa (DEI/IST) Introdução à Arquitetura de Computadores 32
Servidores (2/2)Supercomputadores
José Costa (DEI/IST) Introdução à Arquitetura de Computadores 33
Sistemas Embebidos
São computadores embebidos noutros sistemas, que controlam emonitorizam.
Estima-se que 95% dos computadores existentes sejam deste tipo
Têm dispositivos de entrada e saída de dados específicos daaplicação a que se destinam
Fatores mais importantes: custo, consumo de energia e tamanho
José Costa (DEI/IST) Introdução à Arquitetura de Computadores 34
Tipos de Processadores (1/2)
Na classe dos computadores pessoais o dominio é dos processadoresda Intel
Arquitetura padrão do 8088 usado pela IBM
Na classe dos servidores
Elevada capacidade para explorar paralelismo
Maior largura da palavra de dados utilizada
Itanium da Intel, UltraSPARC da Sun, MIPS64 da MIPS
Na classe dos sistemas embebidos
Grande variedade com características muito diferentes entre si
Intel, FreeScale, Microchip, Transmeta
José Costa (DEI/IST) Introdução à Arquitetura de Computadores 35
Tipos de Processadores (2/2)
Microcontroladores
Computador num único circuito integrado
Inclui processador, memória e meios de comunicação com oexterior
8051 da Intel
Processadores de sinal
Extremamente eficientes em aplicações de processamento desinal
Usados em telefones e televisões
Freescale, Texas Instruments
José Costa (DEI/IST) Introdução à Arquitetura de Computadores 36
Organização Interna de Um Computador
Computador é programável através de uma sequência de instruçõesguardadas em memória
As instruções especificam qual a sequência de operações demanipulação de dados que deve ser executada
Cada instrução especifica, de forma única, qual a operação que deveser executada e quais os operandos aos quais a mesma deve seraplicada
Exemplo
conteúdo da posição 10FAh da memória deve ser somado aoconteúdo do registo R3, devendo o resultado ser guardado na mesmaposição de memória, 10FAh
José Costa (DEI/IST) Introdução à Arquitetura de Computadores 37
Unidade Central de Processamento
Capacidade para executar um conjunto de instruções
Tem um certo número características comuns de processadorpara processador
Contém
circuitos combinatórios que permitem efetuar operações lógicase aritméticasregistos que permitem guardar os dados e resultados dasoperações
José Costa (DEI/IST) Introdução à Arquitetura de Computadores 38
Instruções
São guardadas sequencialmente em memória
Em geral são executadas pela ordem em que se encontram
Existem instruções que alteram essa ordem
Instruções de saltoInstrução poderá especificar que a próxima instrução a executada é ainstrução na posição de memória AAF0h.
José Costa (DEI/IST) Introdução à Arquitetura de Computadores 39
Memória
UNIDADECENTRAL DE
PROCESSAMENTO
MEMÓRIA
DADOSENDEREÇOS
E CONTROLO
José Costa (DEI/IST) Introdução à Arquitetura de Computadores 40
Fases de Execução de Uma Instrução
1 UCP envia endereço da próxima instrução para a memória erecebe palavra com a instrução a executar
2 UCP descodifica instrução identificando quais os operandos equal o tipo de operação
3 UCP carrega os operandos - podem estar na memória ou nosregistos
4 UCP executa a operação
5 UCP escreve resultado - em memória ou nos registos
José Costa (DEI/IST) Introdução à Arquitetura de Computadores 41
Alternativas
Processadores modernos são extremamente complexos e usamdiferentes técnicas para acelerar a velocidade de processamento
Algumas diferenças
Podem ser necessários vários acessos à memória para obter ouguardar os operandos
Instruções podem ser executadas em paralelo
José Costa (DEI/IST) Introdução à Arquitetura de Computadores 42
Estrutura Interna de Um Processador
Bancode
Registos
PC
IR
ULA
Barramentode Endereços
Barramentode Dados
Unidade de ProcessamentoU
nida
de d
e C
ontr
olo
Palavra deControlo
Bits deEstado
José Costa (DEI/IST) Introdução à Arquitetura de Computadores 43
Registos Especiais
Contador de Programa (PC)
Indica qual a instrução que está a ser executada a cada momento
É um endereço de memória
Registo de Instrução (IR)
Contém a instrução que está a ser executada
Determina a sequência de operações que serão executadas
José Costa (DEI/IST) Introdução à Arquitetura de Computadores 44
Interação com o Exterior
Para comunicar com os utilizadores, o computador usa diversosdispositivos periféricos
teclados, ratos, monitores, impressoras
discos, fitas magnéticas, interfaces de rede
Dispositivos encontram-se ligados a portos de entrada/saída
Os portos de entrada/saída controlam estes periféricos usando umprotocolo que varia de periférico para periférico
ProtocoloConjunto de regras que permitem a transferência correta deinformação entre diferentes entidades
José Costa (DEI/IST) Introdução à Arquitetura de Computadores 45
Acesso aos Dispositivos
UNIDADECENTRAL DE
PROCESSAMENTO
MEMÒRIA
DA
DO
S
EN
DE
RE
ÇO
S E
CO
NT
RO
LO
PORTO SÉRIE
PORTO PARALELO
PLACA GRÁFICA
José Costa (DEI/IST) Introdução à Arquitetura de Computadores 46
Tratamento de Dados
Diferentes periféricos tratam os dados diferentemente
Porto série, os dados são enviados em série que depois serãointerpretados pelo periférico
Placa gráfica interpreta os dados como comandos para desenharpontos no monitor
Controlador de disco escreve os dados recebidos em localizaçõesespecíficas do disco magnético
José Costa (DEI/IST) Introdução à Arquitetura de Computadores 47
Níveis de Abstração de Um Computador
NÍVEL 0
NÍVEL 1
NÍVEL 2
NÍVEL 3
NÍVEL 4
NÍVEL 5 APLICAÇÃO
PROGRAMA EMLINGUAGEM DE ALTO NÍVEL
PROGRAMA EMLINGUAGEM ASSEMBLY
PROGRAMA EM LINGUAGEM MÁQUINA
PROGRAMADOR
COMPILADOR
ASSEMBLER
PROJECTISTAS DOPROCESSADOR
MICRO−PROGRAMA EM LINGUAGEMDE TRANSFERÊNCIA DE REGISTOS PROJECTISTAS DE
SISTEMAS DIGITAIS
SISTEMA DIGITAL
José Costa (DEI/IST) Introdução à Arquitetura de Computadores 48
Sumário
Perspetiva Histórica
Tipos de Computadores
Tipos de Processadores
Organização Interna de Um Computador
Estrutura Interna de Um Processador
Interação com o Exterior
Níveis de Abstração de Um Computador
José Costa (DEI/IST) Introdução à Arquitetura de Computadores 49
Referências
Arquitectura de Computadores: dos Sistemas Digitais aosMicroprocessadores,
G. Arroz, J. Monteiro, A. Oliveira,Secções 9.1 a 9.7
José Costa (DEI/IST) Introdução à Arquitetura de Computadores 50
Próxima Aula
Representação Digital da Informação
José Costa (DEI/IST) Introdução à Arquitetura de Computadores 51