Arquitectura Computadores Introdução Evolução histórica Arquitectura básica um computador Processo senvolvimento um programa Arquitectura Computadores LEIC Prof. Renato Nunes 1 O impacto dos computadores O computador é um dos maiores feitos do Homem. Tornou áreas trabalho obsoletas, criou outras, tornou possível coisas impossíveis. Mais do que a própria televisão, o computador é a caixa que mudou o mundo. Melhoria das capacidas comunicação e a convergência do computador, dos telemóveis e da televisão alta finição permite: distribuição informação multimédia; interacção global (internet, comunicação audio e vio, TV interactiva); processamento local informação. 2
Os computadores são inteligentes? Um computador não tem nada mágico nem po ser consirado um sistema inteligente. É fiável e terminístico (não se cansa nem erra) e é muito rápido. Tem ser exaustivamente programado pelo utilizador, que tem prever todas as situações. A inteligência aparente do computador é apenas a inteligência do programador. Um computador limita-se a seguir cegamente as regras que foram finidas (instruções do programador). Não tem visão conjunto nem sabe o que está a fazer! 3 Motivação para a divulgação dos computadores Antes dos computadores tudo era manual (mão-obra intensiva). O computador permite: Automatizar tarefas repetitivas (sem nunca se cansar); Manipular grans quantidas informação (possui gran capacida e processamento); Executar operações com gran rapiz (milhões vezes mais rápido que o ser humano); Executar operações forma fiável (o erro humano é muito frequente); Redução custos (o computador não recebe ornado ). Vantagens (ainda) das pessoas: inteligência, criativida, trabalho físico especializado. 4
Primeiro objecto cálculo Ábaco - s 3000 A.C. Usado ainda hoje (China, por exemplo) 5 Primeiro somador mecânico 1642 Blaise Pascal (filho um cobrador impostos ) Primeiro e vai um automático 6
Primeira automatização 1801 Joseph-Marie Jacquard Máquina tecer com cartões perfurados Causou motins contra as máquinas substituirem as pessoas 7 Primeira gran aplicação Recenseamento em 1890 nos Estados Unidos Hollerith Tabulating Company Deu origem à IBM em 1924 8
Primeiras aplicações 1959 ERMA Processamento automático Produção automatizada cheques Início do verdairo impacto na socieda e no mercado trabalho 9 Funcionamento um computador Um computador processa informação (manipulação simbólica) acordo com um conjunto regras finidas pela sua programação Informação entrada Processamento Informação saída 10
Algoritmo Qualquer processamento pressupõe um algoritmo (conjunto passos elementares para se atingir um dado objectivo). O mesmo processamento po ser implementado por algoritmos diferentes. Exemplo: cálculo do perímetro um rectângulo: Algoritmo 1: Somar os lados todos; Algoritmo 2: Somar um lado com outro diferente e pois multiplicar a soma por dois. Pessoas e computadores pom usar algoritmos diferentes para resolver o mesmo problema porque têm capacidas específicas diferentes. 11 Componentes básicos um computador programa Interface com o mundo 12
Ciclo básico do processador 1. Lê uma instrução da programa; 2. Interpreta a instrução (vê que operação é preciso fazer); 3. Lê operandos da ; 4. Executa a operação; Interface Interface com o mundo com o mundo programa programa 5. Armazena o resultado na ; 6. A po ser substituída pela interface com o mundo exterior nos passos 3 ou 5 ou em ambos; 7. Volta ao passo 1 on irá ler a instrução seguinte na programa. A vida um computador é muito monótona!... 13 Os computadores e as Pessoas Interface Interface com o mundo com o mundo programa programa Cérebro Manual procedimentos Bloco notas 5 sentidos, voz, membros 14
Arquitectura um computador controlo programa programa Unida aritmética e lógica Periféricos (entradas/saídas) Arquitectura Harvard Programa separada da Dados 15 Arquitectura von Neumann (1946) Um sistema único que contém programa e Unida controlo (programa + ) ) Unida aritmética e lógica Periféricos (entradas/saídas) 16
Representação Pessoas: seres vivos que funcionam por processos químicos e bioeléctricos, com valores contínuos e lógica difusa; Números: 10 dígitos cimais (0 a 9) Alfabeto: 26 letras (A a Z) Computadores: sistemas electrónicos, com base em tensões eléctricas, com valores discretos (binários) e lógica booleana; Números: 2 dígitos binários (0 e 1) (cada dígito binário signa-se por bit, 8 bits = byte) Alfabeto: não tem (solução: codificação das letras em números códigos ASCII e Unico) 17 Das pessoas até aos computadores Pessoa Iia ou ou Sistema gestão bancária conceito Utilizador Língua "...positar 100 euros..." natural Programador Linguagem programação saldo = saldo + 100; Compilador Linguagem assembly ADD R1, 100 Assemblador Código máquina 10011011 01100100 Computador Manual Automático 18
O ciclo típico um programa Editor Programa em C Compilador bugger Programa em assembly Assembler Código máquina Linker Módulo pré-compilado (biblioteca) Run (SO) Loar (SO) Programa executável 19 Ciclo senvolvimento um programa para o P3 Editor Programa em assembly Assembler P3AS P3SIM Código máquina (programa executável) bugger Run Loar 20
Estrutura básica um computador controlo Bus enreços Bus controlo Bus 21 E o que é um barramento? controlo Unida Bus enreços Bus controlo Bus Conjunto fios que circulam em paralelo (formando um conjunto solidário). Forma simples representar um conjunto bits logicamente relacionados. Serve para transferir informação em conjuntos bits. Bus barramento. 22
Interligação dos módulos Unida controlo Unida Unida Interface Interface Bus enreços Bus controlo Bus Todos ligam aos 3 barramentos: O barramento transfere a informação O barramento enreços especifica: Qual o módulo /para on transferir (, periférico 1, ) Qual a célula /registo envolvido na transferência O barramento controlo estabelece o protocolo transferência (quando começa, quando acaba, sentido da transferência, etc) Periférico Periférico 1 1 23 Funcionamento básico O processador é o mestre e comanda tudo. A e os periféricos são escravos que só falam quando o mestre lhes pergunta alguma coisa. A execução um programa envolve essencialmente as operações seguintes por parte do processador: Ler da as instruções do programa; Ler da os operandos das instruções; Fazer cálculos e tomar cisões; Armazenar na os resultados das instruções; Ler dos periféricos; Escrever nos periféricos; e passa a vida a fazer isto! 24
Periféricos Comportam-se como pequenas s cujos bits ligam ao mundo exterior. Cada enreço signa-se por porto: Porto entrada: lê os valores dos bits do circuito externo; Porto saída: o porto memoriza o valor da última escrita. Os bits ssa palavra ligam ao circuito externo; controlo Unida Bus enreços Bus controlo Bus Alguns portos pom ser programados por software para entrada ou saída (palavra a palavra ou bit a bit). Um periférico po ter vários portos. Há periféricos mais inteligentes: controlador disco, controlador ethernet, controlador gráfico, 25 Barramento enreços Permite enreçar palavras ou bytes individuais: na nos periféricos A sua largura em bits: indica o espaço enreçamento do processador. Exemplos: 16 bits 64K; 32 bits 4 G; é inpennte da largura do barramento É unidireccional controlo Unida Bus enreços Bus controlo Bus 1K = 1024 = 2 10 1M = 1K * 1K = 2 20 1G = 1M * 1K =2 30 1T = 1G * 1K = 2 40 (10 bits) (20 bits) (30 bits) (40 bits) 26
Espaço enreçamento Conjunto células individualmente enreçáveis pelo processador: Não po haver duas células diferentes no mesmo enreço! A não tem que ser contígua. Cada periférico po ter várias células Nem todos os enreços têm ter célula válida (leitura sem célula válida dá valor aleatório). Espaço enreçamento (com 16 bits) controlo Unida Bus enreços Bus controlo Bus 2 Periférico 3 1 FFFFH 0000H 27 Barramento Permite ler e escrever : na nos periféricos É bidireccional A sua largura em bits: controlo Unida Bus enreços Bus controlo Bus é igual à largura da palavra do processador é geralmente uma potência 2 8 (8, 16, 32, 64, ) fine a gama valores inteiros que é possível guardar numa só célula Também serve para ler as instruções da As leituras/escritas só são efectuadas pois o barramento enreços ter o valor correcto. 28
Barramento controlo Controla o acesso: à aos periféricos Sinais típicos (activos a zero): Read (/RD) Write (/WR) controlo Unida Bus enreços Bus controlo Bus 29 Ciclos acesso à e aos periféricos O processador ace à e aos periféricos através dos 3 barramentos com um protocolo bem finido. controlo Unida Bus enreços Bus controlo Bus Cada ciclo ( leitura ou escrita) envolve essencialmente: Colocar enreço no barramento enreços (para especificar a célula que quer ler/escrever) Activar sinais controlo (/RD, /WR, etc.) Ler/escrever dado no barramento 30
Ciclo leitura Relógio Bus enreços /RD /WR Bus enreço Este ciclo também é usado para ler instruções. controlo Unida Bus enreços Bus controlo Bus 1. Coloca enreço 2. Activa /RD 3. /periférico activa bus 4. Lê dado 5. Desactiva /RD 6. Retira enreço 7. /periférico sactiva bus 31 Ciclo escrita Relógio Bus enreços /RD /WR Bus enreço controlo Unida Bus enreços Bus controlo Bus 1. Coloca enreço 2. Activa bus 3. Activa /WR 4. Desactiva /WR 5. /periférico memoriza dado 6. Retira enreço 7. Desactiva bus 32
Primeiro computador mecânico 1822 Charles Babbage Difference Engine Máquina para calcular tabelas 33 1944 Primeiro computador electromecânico Harvard Mark I Usado no cálculo tabelas matemáticas e navegação Objectivo semelhante à máquina Babbage 3 segundos para uma multiplicação 10 dígitos 34
Primeiro bug documentado 1945 Testes no Harvard Mark II Descobriram que um relé não fazia contacto vido a uma traça. Este bug era real Traça em fita-cola 35 Primeiro computador electrónico 1946 ENIAC 18000 válvulas electrónicas 30 toneladas Sala com 30 metros Cada registo: 60 cm 1000 vezes mais rápido que o Mark I (3 ms para uma multiplicação 10 dígitos) 36
A revolução: o transistor 1947 Tecnologia semicondutores Permitiu a substituição das válvulas Menor consumo Maior integração Deu um prémio Nobel 37 Primeiro computador comercial 1952 UNIVAC Fez uma previsão correcta dos resultados da eleição presincial 1952. 38
Primeiro minicomputador 1965 DEC PDP-8 Começo da era do down-sizing 39 Nova revolução o primeiro microprocessador 1971 Nascimento da Intel (com empregados da Motorola e Texas Instruments) 4004 Microprocessador 4 bits 108 KHertz 2300 transistores Tecnologia 10 µ 40
Primeiro computador pessoal 1975 ALTAIR Preço: $375 : 256 bytes PCs (2005): 256 Mega bytes (2008: 2 GB) 41 Início da indústria do SW 1975 Compilador Basic para o Altair Bill Gates Desistiu do curso na Universida Harvard 42
8086 1978 Microprocessador 16 bits 5 MHertz 29000 transistores Tecnologia 3 µ Primeiro microprocessador a sério. Ainda hoje os Pentiums são compatíveis com o 8086. 43 Início da era IBM-PC 1981 PC - Personal Computer, com um 8088 IBM: HW e SW não IBM. Além disso, publicou os talhes (o que acabou por permitir os clones ). O PC foi clarado o man of the year 1982 pela revista Time Magazine. 44
O PC actual O site http://www.pctechgui.com contém informação muito boa e actualizada sobre toda a tecnologia PC. A não perr! 45 A placa mãe (motherboard) (ou mainboard) 46
Placa vío AGP (daughterboard) 47 Arquitectura do PC-AT 80x86 buffer Co-processador matemático Barramento local buffer Barramento sistema RAM Controlador interrupções Slots ISA Barramento X Controlador DMA CMOS RAM + RTC Controlador teclado Timer Portos paralelos e série ROM BIOS 48
A evolução dos microprocessadores Micro Ano Bits MHz Transistores Tecnologia 8086 1978 16 5 29 K 3 µ 80286 1982 16 12 134 K 1.5 µ 80386 1988 32 33 275 K 1.5 µ 80486 1992 32 66 1.4 M 0.8 µ Pentium 1996 32 166 3.1 M 0.8 µ Pentium II 1998 32 450 7.5 M 0.25 µ Pentium 4 2002 32 2200 55 M 0.13 µ 49 VLSI Very Large Scale Integration Fundamental para o hardware computadores (que têm muitos circuitos). Longe vai o tempo do IBM 360 (chips com 4 transistores) e um famoso relatório que dizia que os transistores não tinham futuro e o que era preciso era miniaturizar as válvulas! 50
Embalagem É um dos factores mais cruciais e caros num microprocessador Um Pentium po dissipar cerca 20 W e ter mais 400 pinos. Os sockets têm passado por muitas gerações. 51 Conclusões Os computadores substituiram as pessoas nas tarefas mais repetitivas e mais baixo nível. Os computadores não entenm as pessoas directamente. Têm ser programados por meio um algoritmo, uma linguagem programação e um compilador. O molo computador mais usado é o von Neumann (processador,, periféricos). A evolução dos computadores tem sido rápida e profunda. 52