Aula 1 Introdução a Arquitetura de Computadores Anderson L. S. Moreira anderson.moreira@recife.ifpe.edu.br http://dase.ifpe.edu.br/~alsm Anderson Moreira Arquitetura de Computadores 1
O que fazer com essa apresentação Anderson Moreira Arquitetura de Computadores 2
Agenda Introdução; Histórico; Crescimento dos recursos computacionais; Arquitetura de Computadores; Sistemas Embarcados; Principais Características; Tecnologias dos processadores; Tecnologia de Projeto. Anderson Moreira Arquitetura de Computadores 3
Programa Anderson Moreira Arquitetura de Computadores 4
Programa Anderson Moreira Arquitetura de Computadores 5
Sistema de Avaliação Descrição Data 1ª prática 2ª prática Prática de Reposição Apresentação Projeto Final Anderson Moreira Arquitetura de Computadores 6
Exemplo de Projeto Anderson Moreira Arquitetura de Computadores 7
Computadores mecânicos Anderson Moreira Arquitetura de Computadores 8
Charles Babbage,o avô do computadores (Inglaterra, 1791-1871) Anderson Moreira Arquitetura de Computadores 9
Ada, condessa de Lovelace,a primeira programadora (Inglaterra, 1815-1851) Anderson Moreira Arquitetura de Computadores 10
Ada, condessa de Lovelace,a primeira programadora (Inglaterra, 1815-1851) Anderson Moreira Arquitetura de Computadores 11
Computador Elétrico Anderson Moreira Arquitetura de Computadores 12
Computador eletrônico Anderson Moreira Arquitetura de Computadores 13
Computador eletrônico Anderson Moreira Arquitetura de Computadores 14
Alan Turing (1912-1954) Anderson Moreira Arquitetura de Computadores 15
Alan Turing e o ACE Anderson Moreira Arquitetura de Computadores 16
1ª Geração (1945-1955) Anderson Moreira Arquitetura de Computadores 17
1ª Geração (1945-1955) Anderson Moreira Arquitetura de Computadores 18
1ª Geração (1945-1955) Anderson Moreira Arquitetura de Computadores 19
1ª Geração (1945-1955) Anderson Moreira Arquitetura de Computadores 20
1ª Geração (1945-1955) Anderson Moreira Arquitetura de Computadores 21
John von Neumann(1903-1957) Anderson Moreira Arquitetura de Computadores 22
John von Neumann (1903-1957) Anderson Moreira Arquitetura de Computadores 23
1ª Geração (1945-1955) Anderson Moreira Arquitetura de Computadores 24
Exercícios 1. Explique de forma resumida quais as principais características de cada geração dos computadores. 2. Qual a primeira máquina utilizada para a realização de cálculos? Explique porque você acha isso. 3. Quem foi considerado o pai da informática? Descreva a máquina criada por ele. 4. Escreva um texto destacando como o avanço da comunicação permitiu que a informação fosse melhor compartilhada e a conseqüência disso para o avanço da tecnologia. Anderson Moreira Arquitetura de Computadores 25
Máquina multinível Aproximar os seres humanos aos computadores Anderson Moreira Arquitetura de Computadores 26
Camadas de um Sistema Computacional Anderson Moreira Arquitetura de Computadores 27
1ª Geração (1945-1955) Anderson Moreira Arquitetura de Computadores 28
2ª Geração (1955-1965) Anderson Moreira Arquitetura de Computadores 29
2ª Geração (1955-1965) Anderson Moreira Arquitetura de Computadores 30
3ª Geração (1965-1980) Anderson Moreira Arquitetura de Computadores 31
3ª Geração (1965-1980) Anderson Moreira Arquitetura de Computadores 32
4ª Geração (1980 -?) Anderson Moreira Arquitetura de Computadores 33
4ª Geração (1980 -?) Anderson Moreira Arquitetura de Computadores 34
Estudar Arquitetura de Computadores é entendimento para o funcionamento dos recursos computacionais. Anderson Moreira Arquitetura de Computadores
Arquitetura de Computadores Anderson Moreira Arquitetura de Computadores 36
Exercícios 1. Explique como funciona a idéia de fazer uma arquitetura de Computadores em Camadas. 2. Como a evolução dos componentes eletrônicos tornou possível a popularização dos computadores? 3. A redução do tamanho dos computadores ao longo do tempo colabora para torná-los cada vez mais populares? Justifique sua resposta. Anderson Moreira Arquitetura de Computadores 37
Sistemas Computacionais Notável crescimento do uso de sistemas computacionais em diferentes tipos de aplicações Anderson Moreira Arquitetura de Computadores 38
Sistemas Computacionais Notável crescimento do uso de sistemas computacionais em diferentes tipos de aplicações Anderson Moreira Arquitetura de Computadores 39
Sistemas Computacionais Notável crescimento do uso de sistemas computacionais em diferentes tipos de aplicações Anderson Moreira Arquitetura de Computadores 40
Sistemas Computacionais Notável crescimento do uso de sistemas computacionais em diferentes tipos de aplicações Anderson Moreira Arquitetura de Computadores 41
Sistemas Computacionais Notável crescimento do uso de sistemas computacionais em diferentes tipos de aplicações Anderson Moreira Arquitetura de Computadores 42
Sistemas Computacionais Notável crescimento do uso de sistemas computacionais em diferentes tipos de aplicações Anderson Moreira Arquitetura de Computadores 43
Sistemas Computacionais Notável crescimento do uso de sistemas computacionais em diferentes tipos de aplicações -Sistemas cada vez menores Anderson Moreira Arquitetura de Computadores 44
Sistemas Computacionais Um sistema embarcado é similar a qualquer sistema computacional que não seja um desktop (VAHID-UCR) Anderson Moreira Arquitetura de Computadores 45
Sistemas Embarcados Um sistema embarcado pode ser: Hardware Anderson Moreira Arquitetura de Computadores 46
Sistemas Embarcados Um sistema embarcado pode ser: Hardware Software + Hardware Anderson Moreira Arquitetura de Computadores 47
Sistemas Embarcados Exemplo de Sistema Embarcado Anderson Moreira Arquitetura de Computadores 48
Sistemas Embarcados Trilhas de comunicação Anderson Moreira Arquitetura de Computadores 49
Sistemas Embarcados Unidades de Controle e Processamento Anderson Moreira Arquitetura de Computadores 50
Sistemas Embarcados Unidades de armazenamento Anderson Moreira Arquitetura de Computadores 51
Sistemas Embarcados Dispositivos e periféricos Anderson Moreira Arquitetura de Computadores 52
Sistemas Embarcados Barramentos Anderson Moreira Arquitetura de Computadores 53
Máquina digital Diagrama em Bloco de uma Câmera Digital Fonte: aulas de prototipação do Prof. Cristiano Araújo CIn/UFPE Anderson Moreira Arquitetura de Computadores 54
Componentes Memória Controladores Interface Software (Aplicação) Coprocessadores Processador Conversores ASIC Analógico Digital Analógico Fonte: aulas de prototipação do Prof. Cristiano Araújo CIn/UFPE Anderson Moreira Arquitetura de Computadores 55
Principais Características Funcionalidade definida Executa um único programa repetitivamente Restrições mais rígidas Baixo custo, baixo consumo de energia, pequenos, rápidos, etc. Reativos e de tempo real Atua continuamente com o ambiente e reage a suas mudanças Deve computar alguns resultados em tempo real (sem atrasos) Anderson Moreira Arquitetura de Computadores 56
Projeto de Sistemas Embarcados Objetivo principal: Desenvolver uma implementação com a desejada funcionalidade Desafios de projeto: Otimização simultânea das diferentes métricas de projeto Métrica de Projeto: Uma característica mensurável de uma implementação Anderson Moreira Arquitetura de Computadores 57
Principais Métricas Custo unitário: custo par a produzir cada unidade do sistema (excluindo os custos de projeto não recorrentes) Custo NRE (Non-Recurring Engineering cost ): custo de projeto do sistema Tamanho Desempenho: tempo de execução ou taxa de processamento do sistema Consumo de Potência Flexibilidade: a habilidade de mudar a funcionalidade sem grande aumento do custo NRE Anderson Moreira Arquitetura de Computadores 58
Principais Métricas Tempo de prototipação Time-to-market Corretude, segurança, etc... Anderson Moreira Arquitetura de Computadores 59
Perfil do Projetista Conhecimentos de HARDWARE e SOFTWARE são necessários para otimização das métricas O projetista deve conhecer as várias tecnologias para escolher a melhor implementação para uma dada aplicação e restrições de projeto. Anderson Moreira Arquitetura de Computadores 60
Três abordagens principais FPGA - (Field Programmable Gate Array) - é um chip que suporta a implementação de circuitos lógicos relativamente grandes. Consiste de um grande arranjo de células lógicas ou blocos lógicos configuráveis contidos em um único circuito integrado. Cada célula contém capacidade computacional para implementar funções lógicas e realizar roteamento para comunicação entre elas. ASIC (Application Specific Integrated Circuit) é um circuito integrado (CI) construído para executar uma tarefa específica, ou seja, customizado para um uso particular ao contrário dos CIs de uso geral. Por exemplo, um chip projetado somente para rodar um telefone celular é um ASIC. VLSI (Very Large Scale Integrated) é o processo de criar circuitos integrados combinando milhares de transistores e circuitos baseados em um único microchip. Anderson Moreira Arquitetura de Computadores 61
Time-to-market Lucros O volume representa perda do lucro sobre a vida do produto Máximo lucro possível Lucro máximo da entrada com atraso do produto Concepção do sistema FPGA* Time-tomarket Atraso W ASIC* Tempo de vida W Tempo O percentual de perda de lucro, do lucro possível, é dado pela área do maior retângulo menos a área do menor retângulo. Anderson Moreira Arquitetura de Computadores 62
Time-to-market Em um mercado competitivo, qualquer atraso incorpora perda da parte deste mercado: Perda da janela de mercado Atraso para lançamento em função do longo ciclo de desenvolvimento O efeito da perda em lucro devido o atraso no lançamento do produto é maior que aquele custo de desenvolvimento Anderson Moreira Arquitetura de Computadores 63
Tecnologias Conceito: A maneira de realizar uma tarefa, especialmente utilizando processos, métodos ou conhecimento Para o projeto de sistemas embarcados: Tecnologia dos Processadores Tecnologia para IC Tecnologia de Projeto Anderson Moreira Arquitetura de Computadores 64
Tecnologia dos Processadores Anderson Moreira Arquitetura de Computadores 65
Como Implementar meu chip em sílicio? Anderson Moreira Arquitetura de Computadores
Tecnologias de Implementação Três abordagens, programabilidade crescente e eficiência decrescente Circuitos Integrados de Aplicação Específica SSI/MSI/LSI/VLSI Lógica Programável FPGA, CPLD Processadores Programáveis Microcontroladores, NPUs, DSP s Anderson Moreira Arquitetura de Computadores 67
Application Specific Integrated Circuits (ASICs) Alta capacidade -- 10-100M transistors Alta velocidade 500MHz+ Integração Uso específico Uso de vários estilos de projeto Full Custom Standard-cell (synthesized) metodologia dominante Híbrido Tempo de fabricação longo Semanas a meses do projeto completo até o produto Economicamente viável para grandes volumes Fazer as máscaras necessárias para fabricação está se tornando caro, da ordem de $1M por projeto Anderson Moreira Arquitetura de Computadores 68
Full custom Vdd IN Out Gnd Anderson Moreira Arquitetura de Computadores 69 J.Christiansen/CERN/98
Standard-cell - Exemplo células ativas Exemplo: Máquina de vender refrigerante canais para roteamento Anderson Moreira Arquitetura de Computadores 70
Macrocell Exemplo: Processador Anderson Moreira Arquitetura de Computadores 71
Exemplo: Um ASIC com mistura de full custom, RAM e standard cells Single port RAM Dual port RAM Gate array Full custom Standard cell FIFO J.Christiansen/CERN/98 Anderson Moreira Arquitetura de Computadores 72
Exemplo: Processador Pentium Anderson Moreira Arquitetura de Computadores 73 J.Christiansen/CERN/98
Single-Chip Microprocessor/FPGA Triscend E5: baseado no 8-bit 8051 CISC core 10 Dhrystone MIPS at 40MHz 60 kbytes on-chip RAM Até 40K de gates lógicos Custo em torno de $4 (em volume) Lógica Reconfigurável Triscend E5 chip 8051 processor + outros periféricos Memory Anderson Moreira Arquitetura de Computadores 74
Vantagens de Lógica Programável Baixo tempo de retorno (total turnaround time) Nenhum ou bem baixo NRE (non-recurring expenses ) Reprogramável Projeto baseado na plataforma Anderson Moreira Arquitetura de Computadores 75
Tecnologia para IC Tecnologia Desemp. Taman. Potên. NRE Time-to- Market Full-Custom (VLSI) Semi-Custom (ASIC) PLD (FPGA) Alto Pequeno Baixo Alto Longo Médio Médio Médio Alto* Longo* Baixo Grande Alto Baixo Curto* Anderson Moreira Arquitetura de Computadores 76
Tecnologia de Projeto O número de transistores praticamente dobra a cada 18 meses. Gordon Moore (1965) Anderson Moreira Arquitetura de Computadores 77
Tecnologia de Projeto Aumento de transistores Anderson Moreira Arquitetura de Computadores 78
Tecnologia de Projeto Aumento de produtividade Anderson Moreira Arquitetura de Computadores 79
Tecnologia de Projeto Transistores x Produtividade Anderson Moreira Arquitetura de Computadores 80
Tecnologia de Projeto Tamanho da equipe x Produtividade The mythical man-month Brooks (1975) Anderson Moreira Arquitetura de Computadores 81
Tecnologia de Projeto Produtividade: Foco em tecnologias com visão unificada de hardware e software Reuso Automação Programas substituem projeto manual Compilação / Síntese Componentes pré-definidos IP-cores Processadores de propósito geral e de propósito único em um mesmo IC Verificação Garantir corretude e completude de cada etapa de projeto Co-simulação Hardware / Software Anderson Moreira Arquitetura de Computadores 82
Tecnologia de Projeto Tecnologia de Projeto Anderson Moreira Arquitetura de Computadores 83
Projeto, Fabricação e Comercialização de CIs PROJETO FABRICAÇÃO TESTE MERCADO FAB 1 DH 99% erros!! FAB 2 Erro: volta!! 1% erros!! Permite negociar preço e prazo!! 2006.2 Anderson Moreira Arquitetura de Computadores 84
System Level Design: Módulos de Propriedade Intelectual Componentes Comerciais offthe-shelf (COTS) IC s pre-projetados e pre-fabricados Implementam GPP ou SPP Reduz tempo de projeto/depuração Facilidade de aquisição Board Processor Memory Peripheral System-on-a-chip (SOC) Todos os componentes do sistema implementados em um único CHIP Muda forma de negócio: Como Propriedade Intelectual e não como IC SOC construído pela integração de múltiplas descrições Core IP-core library PeripheralA PeripheralB ProcessorX Peripheral Processor 2006.2 Anderson Moreira Arquitetura de Computadores 85 Mem IP cores
Dúvidas Anderson Moreira Arquitetura de Computadores 86