Baixe o app para aproveitar ainda mais
Prévia do material em texto
04/08/2014 1 Arquitetura e Organização de Computadores Conceitos Básicos Professor Marcos Forte Sales marcosfsales@gmail.com 1 Objetivo • Compreender a lacuna existente entre o ser humano e o computador. • Assimilar o que são compiladores, interpretadores, as suas vantagens e desvantagens. • Compreender o funcionamento da arquitetura multiníveis. 2 04/08/2014 2 Roteiro de Estudos • Introdução • Marcos da Arquitetura de Computadores – Geração Zero; Primeira Geração; Segunda Geração; Terceira Geração; Quarta Geração; Quinta Geração e Situação Atual • Modelo Hipotético de um Computador – Componentes do computador • Processador; Barramentos 3 Hardware Computador Máquina capaz de dadas. Máquina capaz de resolver problemas através da execução de instruções que lhe são dadas. 0101011 Programa: Conjunto de Instruções. Instrução: Ordens extremamente simples, que um computador pode entender e executar. Exemplo de Instruções - Somar dois números - Verificar se um número é igual a zero - Copiar dados de uma parte da memória para outra 4 04/08/2014 3 Problema • Existe uma grande lacuna entre o que é conveniente para uma pessoa e o que é conveniente para um computador... • Pessoas: Linguagem Natural – Ações Complexas. • Computador: Linguagem Matemática – Ações Simples. 5 Solução I - Compilador Código Fonte Compilador Programa Executável Hardware L1 L0 � L1 – Linguagem de programação, mais próxima da linguagem natural e assim mais fácil das pessoas compreenderem e utilizarem. � L0 – Linguagem de Máquina composta de códigos binários, são literalmente instruções que o hardware compreende. 6 04/08/2014 4 Solução I - Interpretador Código Fonte Gerador Código Objeto Hardware L1 L0 � Gerador: Transforma o código fonte em um código objeto, verificando a sintaxe e a semântica da linguagem e indexando variáveis. � Máquina Virtual: Software que pega um a um os comandos do código objeto e o transforma em instruções para o hardware. Máquina Virtual 7 Compiladores Vs. Interpretadores Compilador Interpretador � Vantagens � Programa executável é mais rápido. � Torna mais difícil visualizar o código fonte original. � Permite a otimização do código (compilador) � Desvantagens � O processo de compilação pode ser demorado. � O programa executável está limitado a um determinado hardware e sistema operacional. � Programa executável é muito grande. � Vantagens � Código objeto extremamente pequeno. � Grande portabilidade (capacidade de executar o código em diferentes hardware e softwares). � Desvantagens � Execução mais lenta. � Acesso ao código fonte relativamente fácil. 8 04/08/2014 5 Arquitetura em Camadas ou Níveis � Técnica de organização de um computador onde cada camada se utiliza de ferramentas primitivas disponibilizadas por uma camada inferior para implementar ferramentas mais poderosas que por sua vez são utilizadas por uma camada superior. � As camadas inferiores são mais simples e rápidas, enquanto que as superiores são cada vez mais complexas e lentas. n + 1 n n - 1 ... ... 9 Máquinas Multiníveis Linguagem Orientado a Prob. Linguagem de Montagem Sistema Operacional Arq. Conjunto de Instruções Microarquitetura Lógica Digital Tradução (compilador) Tradução (assembler) Interpretação parcial Microprograma Hardware P ro g ra m ad o r d e A p lic aç ão P ro g ra m ad o r d e S is te m as Portas lógicas constituídas por transistores (AND, OR, NOT) Registradores, ALU e caminho de dados. Conjunto de instruções que podem ser interpretadas pela microarquitetura. Comandos do sistema operacional. Linguagem Assembler Linguagens de alto nível (C, C++, Java, Pascal, etc.) que visam a solução de um problema específico 10 04/08/2014 6 Resumo: � Os computadores são projetados com uma série de níveisníveisníveisníveis, cada um construído sobre o seu antecessor. � Cada nível possui diferentes objetos e operações e possui um determinado nível de abstração. � Isso reduz a complexidade do estudo e torna o computador algo mais fácil de entender. � O conjunto de tipos de dados, operações e características de cada nível é denominado arquiteturaarquiteturaarquiteturaarquitetura. � Arquitetura de computadores Arquitetura de computadores Arquitetura de computadores Arquitetura de computadores é o estudo de como projetar as partes de um computador que sejam visíveis a um determinado programador. 11 MARCOS DA ARQUITETURA DE COMPUTADORES Como ocorreu a evolução do hardware 12 04/08/2014 7 Objetivo • Identificar as diferentes gerações do hardware. • Compreender como chegamos ao atual estágio de avanço tecnológico. • Compreender as consequências do avanço vertiginoso da tecnologia para o desenvolvedor de sofware. 13 MARCOS DA ARQUITETURA DE COMPUTADORES – GERAÇÃO ZERO 1642 - 1945 14 04/08/2014 8 Blaise Pascal (19/06/1623 a 19/08/1662) Matemático, teólogo e filósofo • Filho de um coletor de impostos francês. Invenção da Máquina de Somar – A Pascalina • 1642 (aos 18 anos de idade); • Capaz de efetuar adições e subtrações; • Inteiramente mecânica; • A máquina é baseada em 2 conjuntos de discos: um para a introdução dos dados e outro que armazenava os resultados. • Os discos são interligados por meios de engrenagens. 15 A Pascalina 16 04/08/2014 9 A Pascalina - Detalhes 17 Joseph Marie Jacquard (1752- 1834) Mecânico Francês Tear Programável • Tear mecânico controlado por grandes cartões perfurados. • Era capaz de produzir tecidos com padrões bonitos e intrincados. • Sete anos após a sua invenção, já havia 11 mil teares desse tipo operando na França. 18 04/08/2014 10 Tear Programável 19 Tear Programável - Detalhe 20 04/08/2014 11 Tear Programável - Padrões 21 Charles Babbage (1792 – 1871) Matemático Inglês • Professor da escola de Cambridge • Inventor do Velocímetro Máquina Diferencial • Dispositivo Mecânico • Capaz de somar e subtrair • Projetado para calcular tabelas de números úteis a navegação • Projetado para implementar um único algoritmo: o método de diferenças finitas através de polinômios; • Método de Saída: perfurava o resultado em uma chapa de cobre, através de um punção. 22 04/08/2014 12 Máquina Diferencial 23 Máquina Analítica Componentes • Armazenagem (memória) • Moinho (unidade de cálculo) • Seção de Entrada (leitora de cartões perfurados) • Seção de Saída (saída perfurada e impressa) Proposta Inicial • 1000 palavras de 50 algarismos decimais; • Soma, subtração, multiplicação e divisão; • Auto alimentação; • Uso geral: lia instruções (cartões perfurados) e as executava. 24 04/08/2014 13 Máquina Analítica Custo • Babbage gastou 17 mil libras do governo; • Fundos consideráveis da fortuna da sua família. • 10 anos de trabalho. • O projeto jamais foi finalizado Motivo • Necessidade de milhares de engrenagens com um grau de precisão impossível de se obter na sua época. 25 Augusta Ada Byron (1815 – 1852) Matemática Britânica • Filha do poeta Inglês Lorde Byron; • Aluna de Augustus de Morgan (criador do método de indução matemática) Correspondente e Colaboradora de Babbage • Responsável pelas primeira seqüência de instruções, a serem executadas pela máquina analítica • Considerada a 1º Programadora da História 2604/08/2014 14 Howard H. Aiken (1900 – 1973) Professor e pesquisador • Após o término do seu doutorado, estava surpreso com o número de operações matemáticas tediosas necessárias para comprovar o seu trabalho e sentiu a necessidade de uma máquina que facilitasse cálculos. • Foi aí que ele encontrou os projetos de Charles Babbage. Mark I • Construiu com relês o que Babbage não consegui com engrenagens. • 1944 • 72 palavras de 23 algarismos • Tempo de instrução de 6 segundos • Entrada e saída através de cartões perfurados Mark II • Ao terminar o projeto os relês já estavam obsoletos. 27 MARCOS DA ARQUITETURA DE COMPUTADORES – PRIMEIRA GERAÇÃO 1945 - 1955 28 04/08/2014 15 Segunda Guerra Mundial � De 1939 a 1944 os submarinos alemães foram o terror dos navios de suprimentos aliados. � As comunicações via rádio eram interceptadas, porém estava codificadas com o uso de um equipamento denominado ENIGMA. � Uma máquina ENIGMA foi capturada na polônia mas haviam problemas para decifrar o código: � Grande número de calculos; � Para ser útil a decodificação deveria ocorrer rapidamente; � A máquina possuía diferentes configurações que produziam códigos diferentes 29 O COLOSSUS � Para decodificar essas mensagens o governo Inglês construiu um laboratório secreto e recrutou o cientista e matemático Alan Turing. � Turing auxiliou no projeto de um equipamento denominado COLOSSUS, que começou a funcionar em 1943. � Por ser um segredo de guerra o seu projeto foi guardado a sete chaves por 30 anos. 30 04/08/2014 16 Enquanto Isso nos EUA... � A marinha americana necessitava de tabelas de cálculo para facilitar a estimativa de trajetórias balísticas. � John Mauchley e seu aluno de Pós Graduação J. Esper Eckert propuseram ao governo uma máquina de calcular. � O projeto foi aprovado em 1943 e passou a se chamar ENIAC (Eletronic Numerical Integrator and Compute – Integrador e Computador Numérico Eletrônico) 31 O ENIAC foi concluído em 1946 e possuía... � 18.000 válvulas. � 1.500 relés. � 70 mil resistores. � Pesava 30 toneladas. � Media 2,5 metros de altura por 24 metros de comprimento. � Consumia 140 Kwatts de energia elétrica (o mesmo consumo de uma cidade de 20.000 habitantes) � Capaz de realizar 5 mil operações por segundo. � Sua programação em linguagem de máquina levava alguns dias através de 6 mil conectores (não permitia cartões). Conectados por meio de cabos Junpers. � Uma tarefa que uma pessoa levava 24 horas para executar o Eniac realizava em 30 Segundos. � Primeira máquina utilizando os conceitos de Turing e Babbage, o projeto ENIAC tinha como consultor Von Neumann, que introduziu o “ programa armazenado”. 32 04/08/2014 17 33 34 04/08/2014 18 35 36 04/08/2014 19 37 38 04/08/2014 20 39 Válvula ou Diodo Termiônico. � Ao ligarmos uma bateria e um miliamperímetro em série, sendo o polo positivo à placa (ânodo) e o polo negativo ao filamento (cátodo), este sendo aquecido a determinada temperatura e a partir de uma certa tensão elétrica aplicada ao sistema, começará fluir uma corrente elétrica constante entre cátodo e placa (ânodo). � Não importa a oscilação da tensão, a intensidade de corrente será sempre a mesma. � A este fenômeno se deu o nome de Efeito Édison. 40 04/08/2014 21 Continuidade do Projeto ENIAC • EDSAC – Universidade da Cambridge • JOHNIAC – Rand Corporation • ILLIAC – Universidade de Illinois • MANIAC – Los Alamos Laboratory • WEIZAC – Weizzman Institute of Israel • Eckert e Mauchley deram prosseguimento ás suas pesquisas projetando o EDVAC (Eletronic Discrete Variable Automatic Compute). • John Von Neumann foi para o Institute of Advanced Studies de Princeton onde inicio o projeto do seu próprio computador, a máquina IAS. 41 John Von Neumann (1903 – 1957) � Matemático húngaro de origem judaica, naturalizado americano em 1930. � Desenvolveu importantes contribuições em: � Teoria dos conjuntos � Análise funcional � Mecânica Quântica � Ciência da Computação � Economia � Teoria dos Jogos � Análise Numérica � Hidrodinâmica das explosões � Estatística � e muitas outras as áreas da Matemática. � Capaz de falar várias línguas; � Possuía memória fotográfica; � Participou do Projeto Manhattan; � propôs uma arquitetura genérica para o computador 42 04/08/2014 22 Arquitetura de Von Neumann � Constituído de Memória, Processador e Dispositivo de E/S. � A memória podia armazenar 4.096 palavras, cada palavra composta de 40 bits binários. � Cada palavra poderia armazenar duas instruções ou um dado. � Os números eram fornecidos e impressos em formato binários pois Von Neumann acreditava que qualquer matemático competente era capaz de transformar um número binário em decimal de cabeça. 43 Surge a IBM � Fundada em 1896 com o nome de Tabulating Machine Company a partir de 1924 assumiu o nome de International Business Machine (IBM). � Fabricava máquinas de perfuração de cartões e máquinas mecânicas de tabulação de cartões (Máquina Hollerith). � 1953 - Produz o seu primeiro computador - IBM 701. � 2.048 palavras de 36 bits. � Duas instruções por palavra. � 1956 – IBM 704 � 2.096 palavras de 36 bits. � Hardware de ponto flutuante 44 04/08/2014 23 IBM 701 – Visão Geral 45 IBM 704 – Unidade de Processamento 46 04/08/2014 24 IBM 704 – Painel de Controle 47 MARCOS DA ARQUITETURA DE COMPUTADORES – SEGUNDA GERAÇÃO 1955 - 1965 48 04/08/2014 25 Transistores � Inventado no Bell Labs em 1948 por: � John Bardeen � Walter Brattain � Willian Shockley � Motivo � Menor que a válvula � Mais eficiente � Mais barato � Gasta menos energia � Estrutura Cristalina (Silício) � TX-0 (Transistorized eXperimental computer) – Primeiro computador transistorizado � Construído pelo MIT. � Máquina de 16 bits. 49 DEC – Digital Equipment Corporation� 1961 – PDP-1 � Seu projeto passou quatro anos arquivado. Motivo: seus criadores acreditavam que não havia mercado para computadores. � 4.096 palavras de 18 bits. � 200.000 instruções por segundo. � Computador mais rápido de sua época � Equipado com um vídeo de 512 x 512 pixels. � Custava US$ 120.000,00. O seu concorrente da IBM custava milhões de dólares � PDP-8 � Palavras de 12 bits. � Custava US$ 60.000,00 � Barramento único para comunicação de todos os componentes o que barateia em muito o seu hardware. 50 04/08/2014 26 A IBM • IBM 7094 – Maior computador científico da década de 60. – Tempo de ciclo de 2 microssegundos – 32.536 palavras de 36 bits • IBM 1401 – Péssimo para cálculos científicos – Capaz de ler e escrever em cartões perfurados – Capaz de ler e escrever em fitas magnéticas – Custava uma pequena fração do que valia um 7094 – Perfeito para aplicações comerciais. 51 IBM 7094 52 04/08/2014 27 IBM - 1401 53 MARCOS DA ARQUITETURA DE COMPUTADORES – TERCEIRA GERAÇÃO 1965 - 1980 54 04/08/2014 28 Circuito Integrado � Inventado em1958 por Robert Noyce. � Circuito eletrônico miniaturizado (composto principalmente por dispositivos semicondutores), que é construído na superfície de um substrato fino de material semicondutor. � Vantagens dos circuitos integrados (chip) sobre os circuitos discretos (transistores): � Custo � Desempenho � Escala (inicialmente, dezenas de transistores podiam ser colocados dentro de um único chip) 55 IBM - 360 Propriedade Modelo 30 Modelo 40 Modelo 50 Modelo 65 Desempenho relativo 1 1 3,5 10 21 Tempo de ciclo (embilionésimos de segundo) 1.000 625 500 250 Memória Máxima (Bytes) 65.536 262.144 262.144 524.288 Bytes buscados por ciclo 1 2 4 16 Número máximo de canais de dados 3 3 4 6 56 04/08/2014 29 IBM 360 - Inovações • Primeiro computador capaz de emular um outro. • Primeiro computador multiprogramado. • Resolveu o Dilema “Decimal Vs Binário” – 16 registradores de 32 bits – Memória orientada a bytes 57 IBM 360 – Painel de Controle 58 04/08/2014 30 IBM 360 e Dispositivos de E/S 59 MARCOS DA ARQUITETURA DE COMPUTADORES – QUARTA GERAÇÃO 1980 - ???? 60 04/08/2014 31 VLSI – Very Large Scale Integrator • Permite encapsular milhões de transístores em um único dispositivo, o “chip”. • Computadores: – Menores – Mais baratos – Mais poderosos 61 PC – Personal Computer � 1976 – Steve Jobs e Steve Wozniak produzem o Apple II de 8 bits . � Surge o microcomputador, composto de: � CPU � Vídeo � Teclado � Mouse � 1981 – IBM lança no mercado o Primeiro Computador Pessoal IBM-PC (Personal Computer) � Processador Intel 8080 � Seu projeto foi publicado em um livro (inclusive os diagramas de circuitos) de US$ 49,00 62 04/08/2014 32 Surge o Windows � Sistema Operacional do IBM-PC � PC-DOS (Disc Operating System ou Sistema Operacional em Disco), fabricado pelo jovem Bill Gates. � Cisma entre Gates e IBM � MS-DOS � Microsoft � DOS � IBM � 1984: Primeiro sistema operacional GUI (Graphic User Interface ou Interface gráfica do Usuário) Machintosh da Apple. 63 Explosão de Tecnologias • TCP-IP • Redes de Computadores • Software Multimídia • Linux • Redes Neurais • Inteligência Artificial • Bancos de Dados • Sistemas Distribuídos • Internet • Computadores Portáteis 64 04/08/2014 33 MARCOS DA ARQUITETURA DE COMPUTADORES – QUINTA GERAÇÃO ???? - 65 Computadores Invisíveis • A quinta geração será mais uma mudança de paradigma do que de arquitetura. • No futuro os computadores estarão em toda parte e embutidos em tudo – invisíveis. • Computação Ubíqua ou Computação Pervasiva 66 04/08/2014 34 SITUAÇÃO ATUAL 67 Lei de Moore � Gordom Moore � “o número de transistores de um processador duplica a cada 18 meses” � Comparando a indústria da aviação com a de computadores: � “se a tecnologia de aviação progredisse tão rápido quanto a de computadores hoje teríamos um avião de 500 dólares que daria volta a terra em 20 minutos. O único problema é que ele seria do tamanho de uma caixa de sapatos.” � O ciclo evolutivo dos transistores está próximo do fim. � Atualmente estamos migrando dos gates de 0.18 para os 0.13 mícrons, ainda restam pelo menos mais 5 gerações pela frente: � 0.10 mícron. � 0.07 mícron. � 0.05 mícron. � 0.03 mícron. � 0.02 mícron. � Aprox. uma década. 68 04/08/2014 35 Circo Virtuoso Progresso da Tecnologia Progresso da Tecnologia Melhores Produtos e Preços Baixos Melhores Produtos e Preços Baixos Novas AplicaçõesNovas Aplicações Novos MercadosNovos Mercados Novas EmpresasNovas Empresas Concorrência Maior Concorrência Maior 69 Primeira Lei do Software de Nathan � Nathan Myhrvold (antigo alto executivo da Microsoft) � “O software é um gás, ele se expande até preencher o recipiente que o contém.” � Troff – processador de texto criado em 1980. � Poucos K bytes � Word 2010 – Microsoft � 3 GB de disco. � 512 MB de memória. � Críticas ao Software � Gigantismo � Ineficiência � Baixo aproveitamento do hardware � Baixo aproveitamento dos meios físicos � Soluções simplistas � Elemento importante da evolução do hardware, por criar demandas (mais memória, processador e dispositivos de E/S) 70 04/08/2014 36 Desenvolvimento das Telecomunicações • Desenvolvimento Astronômico – Telefonia Fixa – Telefonia Móvel – Internet – Banda Larga • Consequências: – Conectividade – Velocidade – Mobilidade – Processamento Distribuído 71 Tipos de Computador Nome Custo (em US$) Exemplo de Aplicação Mainframe 5 Milhões Processamento de dados em bloco, bancos Conjunto de Estações de Trabalho 50 – 500 Mil Computador departamental Servidor 5 Mil Servidor de Rede Computador Pessoal 500 Desktop ou Notebook Computador de Jogos 50 Videogames Domésticos Microcontrolador 5 Relógios, televisores Computador Descartável O,5 Cartões de Felicitação 72 04/08/2014 37 Resumo: • Até hoje estão documentadas 4 gerações de computadores. Cada geração é criada a partir de uma invenção revolucionária que afeta todas as criações a seguir. • Não se sabe ao certo qual seria a nova geração de computadores, especula-se a partir da computação ubíqua. • As memórias e os processadores a partir da tecnologia de silício estão a beira da estagnação. Só poderemos manter a Lei de Moore por aproximadamente 10 anos. 73 MODELO HIPOTÉTICO DE UM COMPUTADOR Adaptado do Profº Aristides 74 04/08/2014 38 Modelo Hipotético de um Computador • Operador – Só faz o que for ordenado, não toma decisões; • Conjunto de escaninhos – Com capacidade para um cartão cada; • Máquina de calcular – Executa as operações; • Caixa de entrada – Para receber cartões de fora; • Máquina de escrever – Para dar saída às informações / resultados 75 • Para que este modelo funcione, deve existir em cada cartão uma INSTRUÇÃO. O operador segue de escaninho em escaninho, fazendo exatamente o que está escrito em cada cartão, até encontrar um cartão contendo uma instrução que manda que ele PARE. Conjunto de escaninhos 76 04/08/2014 39 Exercício 1: • Obs.: Utilizaremos a notação (E10) significando "o conteúdo do escaninho E10", isto é, o valor que está agora armazenado no escaninho E10 (ou, mais formalmente, o valor corrente daquela posição de memória). • E1 : armazene o valor 1 no E10 • E2 : leia o conteúdo de E11 (externo - a caixa de entrada) • E3 : multiplique E10 com E11 (usando a máquina de calcular) e armazene o resultado em E10 • E4 : subtraia o valor 1 de E11 • E5 : se o valor de E11 > 0, volte para E3, senão continue • E6 : imprima o conteúdo de E10 (usando a máquina de escrever) • E7 : PARE • E8 : • E9: • A partir de um sinal externo do tipo COMECE, este modelo inicia do E1 daí por diante prossegue até E8 (o final). • Resolva o exercício; o que faz este algorítmo? 77 Este programa calcula o FATORIAL de um número 78 04/08/2014 40 Exercício 2 No mesmo algoritmo acima, avalie as consequências das seguintes alterações: a) E5 : se o valor de E11 > 0, volte para E3, b) E5 : se o valor de E11 >= 0, volte para E3; senão continue, c) E7 : XXX ------------------------------------------------------------------------- Num modelo real - o COMPUTADOR- só faz aquilo que ele recebe instrução para realizar. Um computador funciona a partir de um programa que o instrui sobre o que deve fazer. “ O problema dos computadores é que eles fazem exatamente aquilo que você os instruiu a fazer e não aquilo que você realmente queria que eles fizessem." Um programador frustrado. 79 Resposta – Exercício 2: a) E5 : se o valor de E11 > 0, volte para E3, (eliminar "senão continue"), o modelo não saberia o que fazer quando o valor de E11 chegasse a zero. b) E5 : se o valor de E11 >= 0, volte para E3, Haveria mais um passo no loop, multiplicando o conteúdo de E10 por 0 (zero) e o resultado do processamento do algorítmo seria SEMPRE ZERO. c) E7 : XXX • Quando o modelo chegasse até E7, poderia encontrar qualquer coisa. No caso de encontrar código válido(por exemplo, o "lixo" deixado por um programa anterior) com algum significado, ele executaria a instrução (fosse esta o que quer que fosse), chegando a um resultado imprevisível (poderia dar um resultado errado, poderia travar, poderia entrar em um loop, etc.). • Caso o conteúdo de E8 fosse um valor sem significado (por exemplo, um dado), o modelo não saberia o que fazer e pararia. • Portanto, num modelo real - o COMPUTADOR- só faz aquilo que ele recebe instrução para realizar. Um computador funciona a partir de um programa que o instrui sobre o que deve fazer. 80 04/08/2014 41 • PROGRAMA é uma sequência de instruções (no modelo hipotético, os cartões); • O programa deve ser escrito numa LINGUAGEM DE PROGRAMAÇÃO - as linguagens naturais têm ambiguidades e podem dar margem a diferentes interpretações; • HARDWARE (significa originalmente "ferragens“, em inglês - hardware store significa originalmente "loja de ferragens") é o conjunto de dispositivos físicos do computador, o equipamento; • SOFTWARE (em analogia a hardware, a parte "soft", macia, são os programas que permitem que o equipamento saiba o que realizar, que ele funcione; • Depois surgiram outros termos, aproveitando as mesmas analogias, tais como firmware (indicando programação gravada em dispositivos físicos e não modificável pelo usuário); • PROCESSAMENTO AUTOMÁTICO DE DADOS: • Um computador é capaz de executar um programa sozinho, desde que o programa seja previamente armazenado nele, de forma que ele tenha as indicações de onde procurar as instruções. 81 • MEMÓRIA – (os escaninhos) - Dispositivo físico para armazenar programas e dados; • PROCESSADOR – (operador e máquina de calcular) - Dispositivo que realiza o processamento; • DISPOSITIVOS DE ENTRADA E SAÍDA – (caixa de entrada, caixa de saída, máquina de escrever) - Formas de comunicação entre o usuário e o computador; • SISTEMA - Um conjunto interligado de programas (e, eventualmente, também de equipamentos); • LINGUAGEM DE MÁQUINA - é a linguagem que o computador entende, cujo "alfabeto" é composto apenas de "1's" e "0's" (linguagem binária); • LINGUAGEM DE PROGRAMAÇÃO - é uma linguagem formal, utilizando termos que se aproximam da linguagem humana, que pode ser traduzida por programas especiais em linguagem de máquina. 82 04/08/2014 42 COMPONENTES DO COMPUTADOR 83 84 04/08/2014 43 Diagrama em Bloco de um Computador MEMORIA PRINCIPAL UC DMA – deixa a UCP disponível para outro processamento em paralelo. UCP ULA Troca de informações (dados ou instruções) – fluxo bidirecional. Sinais de controle – fluxo unidirecional. DISPOSITIVOS DE ENTRADA E SAIDA 85 PROCESSADOR 86 04/08/2014 44 Clock • Dispositivo que dá ritmos aos trabalhos da UCP, a UC, a ULA e até mesmo uma parte da memória conhecida por cache. • É um circuito oscilador que tem a função de sincronizar e ditar a medida de velocidade de transferência de dados no computador, por exemplo, entre o processador e a memória principal. Esta frequência é medida em ciclos por segundo, ou Hertz. 87 Processador • Um microprocessador, ou simplesmente processador, é um circuito integrado (ou chip), que é considerado o "cérebro" do computador. 88 04/08/2014 45 Processador • Pode-se dizer que a CPU realiza as seguintes tarefas: – Busca e executa as instruções existentes na memória. Os programas e os dados que ficam gravados no disco (disco rígido ou disquetes), são transferidos para a memória. Uma vez estando na memória, a CPU pode executar os programas e processar os dados. – Comanda todos os outros chips do computador. 89 Processador • A CPU é composta basicamente de três elementos: unidade de controle, unidade lógica e aritmética e registradores. • Unidade Lógica e Aritmética (ALU) - Assume todas as tarefas relacionadas às operações lógicas (ou, e, negação, etc.) e aritméticas (adições, subtrações, etc...) a serem realizadas no contexto de uma tarefa. 90 04/08/2014 46 Processador • Unidade de Controle (UC) - assume toda a tarefa de controle das ações a serem realizadas pelo computador, comandando todos os demais componentes de sua arquitetura. • Registradores - são utilizados para assegurar o armazenamento temporário de informações importantes para o processamento de uma dada instrução. 91 Processador 92 04/08/2014 47 Evolução dos Processadores Proces- sador Ano Clock (MHz) Transistores Largura da Palavra (bits) Observações 4004 1971 0,108 2.300 4 Primeiro Microprocessador em um CI 8008 1972 0,108 3.500 8 Primeiro Microprocessador de 8 bits 8008 1974 2 6.000 8 Primeira CPU de uso geral em um só CI 8086 1978 5 a 10 29.000 16 Primeiro processador de 16 bits 8088 1979 5 a 8 29.000 8/16 Adaptação do 8086 para IBM PC 80286 1982 8 a 12 134.000 16 CPU do PC-AT 80386 1985 16 a 33 275.000 32 Primeira CPU de 32 bits 80486 1989 25 - 100 1,2 milhões 32 Primeira CPU com cache e co-processador aritmético embutidos. Pentium 1993 60 - 233 3,1 milhões 32/64 Tecnologia Pipeline e MMX nos clocks mais elevados Pentium PRO 1995 150-200 5,5 milhões 32/64 Primeira CPU com dois níveis de cache 93 Evolução dos Processadores Proces- sador Ano Clock (MHz) Transistores Largura da Palavra (bits) Observações Pentium II 1997 233-450 7,5 milhões 32/64 Tecnologia MMX somada a dois níveis de cache Pentium III 1999 650 a 1.400 9,5 milhões 32/64 Instruções específicas para imagens em 3D Pentium IV 2000 1.300 a 3.800 42 milhões 32/64 Hiperthreading � Celeron – processador alternativo para quem não precisa de todo o poder computacional do Pentium “completo”. O celeron mais recente é o CORE2- DUO, que é alternativo ao PENTIUM IV DUAL CORE; � XEON – pronuncia-se zíon, é uma familia especial de Pentiums voltada para os servidores de rede. São processadores que contam toda a tecnologia disponível no Pentium mais atual e são preparados especialmente para servidores de rede; � CENTRINO – processadores específicos para dispositivos portáteis e móveis, como notebooks e outros. Contam com recursos especiais de gerenciamento de energia e acesso a redes sem fio. 94 04/08/2014 48 Evolução dos Processadores Barramentos • Apresentar as vidas de comunicação existentes dentro do computador, estas vias são conhecidas como barramentos, quando estes barramentos tem saídas para o meio externo a placa-mãe ganham o nome de interfaces, que devem seguir um padrão bem definido para que os periféricos conectados sejam capazes de se comunicar com a UCP. 96 04/08/2014 49 Barramentos • Um barramento, ou bus, nada mais é do que um caminho comum pelo qual os dados trafegam dentro do computador. • O tamanho de um barramento é importante pois ele determina quantos dados podem ser transmitidos em uma única vez. Por exemplo, um barramento de 16 bits pode transmitir 16 bits de dado, e um barramento de 32 bits pode transmitir 32 bits de dados a cada vez. 97 Barramentos Internos • Ligam a CPU (processador) aos equipamentos que ficam dentro do gabinete. • Existem diversos tipos de barramentos específicos para equipamentos diferentes: • IDE • ISA • PCI • AGP • SCSI 98 04/08/2014 50 Barramento IDE • Para conectar as unidades de armazenamento internas (HD, Drive de CD, Gravadores de CD, Drives de DVD, etc.) à placa-mãe do computador. • Os equipamentos são ligados aos barramentos IDE através Cabo FLAT. 99 Barramento ISA • Comum em micros mais antigos para encaixar placas de expansão, como modems, placas de som, placas de vídeo, • Está caindo em desuso por ser relativamente lento em relação às novas tecnologias.100 04/08/2014 51 Barramento PCI • Substituto do barramento ISA (nas novas placas- mãe, é mais comum encontrar vários slots PCI e apenas alguns poucos ISA, quando há ISA). 101 Barramento AGP • Apenas para uso de placas de vídeo. 102 04/08/2014 52 Barramento SCSI • O SCSI é muito usado em servidores de empresas, que normalmente precisam de uma maior velocidade de conexão com os Discos Rígidos, CDs, unidades de fita. 103 Barramentos Externos • Barramentos externos = portas = interface • Tipos: – PS/2 – Serial – Paralela – USB – Firewire – PCM CIA 104 04/08/2014 53 Porta PS/2 • É o barramento usado para conectar mouse e teclado. • Em alguns gabinetes há duas portas na parte traseira, uma para o mouse e a outra para o teclado. 105 Porta Serial • É um barramento usado por equipamentos que transferem relativamente pouca informação, como mouses, modems, câmeras (webcam), etc. 106 04/08/2014 54 Porta Paralela • Barramento relativamente antigo e está sendo cada vez menos utilizado em computadores atuais. A porta paralela usa conector DB-25 107 Porta USB • É usada hoje em todos os computadores substituiu as portas paralela e serial e como seu próprio nome diz, “Porta Serial Universal”, ou seja, um modelo de porta que se tornou universal para todos os tipos de equipamentos. 108 04/08/2014 55 Barramento Firewire • Encontrado apenas nos computadores mais novos, o barramento firewire foi desenvolvido pela Sony e é bastante rápido. 109 Barramento PCM CIA (PC Card) • Encontrado em modems, placas de som, placas de rede e até discos rígidos portáteis, antes da popularização das Portas USB. 110 04/08/2014 56 DISPOSITIVOS DE ENTRADA/SAÍDA Nessa categoria enquadram-se os dispositivos por onde o usuário envia dados para a UCP 111 Teclado • Um dos primeiros dispositivos; • Maior número de versões devido a região onde é usado; • Definição: – É um conjunto de chaves elétricas cada uma acionada por uma tecla. A cada chave dessas corresponde um código binário que é enviado para a placa-mãe e esta sabe como tratar esse código de acordo com o modelo do teclado ou com o software que está em uso. – Códigos de caracteres: • EBCEDIC (computadores de grande porte da IBM), ou • ASCII (padrão mais utilizado hoje); 112 04/08/2014 57 Mouse 113 Mouse 114 04/08/2014 58 Placa de Vídeo • Envia sinais para o monitor para apresentação das imagens –Podem possuir uma memória própria, como 64MB ou até 1GB –Podem até possuir um processador próprio –São indispensáveis para o funcionamento do computador Placa de Vídeo 04/08/2014 59 Monitores de Vídeo • Principal dispositivo de saída em um computador –Como os aparelhos de televisão –Podem seguir duas tecnologias principais • Tipos mais comuns –Tubo de Raio Catódico (CRT) –Cristal Líquido (LCD) Monitores de Vídeo CRT 04/08/2014 60 Monitores de Vídeo LCD Monitor CRT vs. LCD 04/08/2014 61 Monitores CRT Monitores LCD 04/08/2014 62 O Problema da Radiação • Monitores CRT emitem radiação; • Problemas causados a saúde humana ainda não estão comprovados; • Usuários mais preocupados com a saúde usam filtros antirradiação. Filtros Anti-Radiação em LCD • Também existem filtros para monitores LCD 04/08/2014 63 Vídeo 125 Modelo Resolução (pontos) Cores Observações Hércules MDA 25 linhas x 80 colunas 1 Somente texto CGA 320 x 200 4 Primeiro a suportar gráficos EGA 640 x 450 16 ou 64 Gráficos com mais qualidade e compatibilidade com CGA VGA 640 x 480 800 x 600 256 16 256 cores são suficiente para o olho humano ser enganado e achar que esta vendo cores reais SVGA 800 x 600 e acima 1.6 milhões em 24 bits ou 4 milhões em 32 bits Este vídeo mostra cores no limite da percepção humana 1,6 milhões de cores simultâneas, a opção dos 32 bits pode ser usada para melhorar o contraste da imagem Placas de som • Dispositivo que envia e recebe sinais sonoros entre equipamentos de som e um computador – Converte sinais AD (Analógico-Digital) – DA(Digital-Analógico) 04/08/2014 64 Scanner • Responsável por traduzir imagens, fotos e textos para o formato digital reconhecido pelo computador – Faz varreduras na imagem gerando impulsos elétricos através de um captador de reflexos • Três tipos principais – Scanner de mão – Scanner de mesa – 3D scanner Scanner Mão Mesa 04/08/2014 65 Scanner Scanner 3D Scanner 130 04/08/2014 66 Impressora 131 Microfone • Promove comunicação entre usuário- software-usuário, como uma maneira alternativa ao teclado – Ondas sonoras são convertidas em vibrações mecânicas de um diafragma fino e flexível – Estas vibrações mecânicas são de seguida convertidas em sinais elétricos • Aparecem embutidos em alguns computadores 04/08/2014 67 Webcam • Câmera de vídeo – Baixo custo – Captura imagens e as transfere para o computador – utilizada em videoconferências e bate-papos Modem 134 04/08/2014 68 Dispositivos de Armazenamento • Neste tópico serão explorados os dispositivos de armazenamento das diversas arquiteturas, sendo de padrão magnético como as fitas e discos, ou sendo ópticos como CDs, DVDs e Blu-rays. 135 Unidades de Armazenamento • Existem diversos dispositivos de armazenamento de informações em um computador • Características principais – Tempo de acesso – Capacidade de armazenamento – Preço, etc., 04/08/2014 69 O sufixo K (kilo), que, em decimal, representa 1.000 vezes como em Km e Kg), em binário representa 210 vezes (1.024). Logo, 1 Kbyte representa 1.024 bytes, 2 Kbytes = 2.048 bytes. Sufixo Quantidade Kilo (K) 210 = 1.024 Mega (M) 220 = 1.048.576 Giga (G) 230 = 1.073.741.824 Tera (T) 240 = 1.099.511.627.776 Peta (P) 250 = 1.125.899.906.843.624 Exa (E) 260 = 1.152.921.504.607.870.976 Zeta (Z) 270 = 1.180.591.620.718.458.879.424 Yotta (Y) 280 = 1.208.925.819.615.701.892.530.176 137 Unidades de Armazenamento Tipo Capacidade Velocidade Custo Registrador Bytes Muito alta Muito alto Memória Cache Kbytes / Mbytes Alta Alto Memória Principal Mbytes / Gbytes Média Médio Memória Auxiliar Gbytes baixa Baixo 04/08/2014 70 Discos Rígidos (Magnético) • É um sistema de armazenamento de alta capacidade, que possibilita armazenar arquivos permanentemente • Representa a maior parte da memória secundária • Usado para armazenar programas e informações que estão sendo usadas, modificadas ou processadas • Fisicamente os discos são divididos em trilhas e setores Discos Rígidos (Magnético) 04/08/2014 71 Compact Disc (CD) • Dispositivo Ótico • Disco de acrílico, sobre o qual é impressa uma longa espiral – Aproximadamente 22 188 voltas, totalizando 5,6 Km de extensão • As informações são gravadas em furos nessa espiral • A superfície da espiral é varrida por um laser • Essa luz é refletida pela superfície do disco, captada por um detector – convertidos em "1's ou 0's“ (dados binários) Compact Disc (CD) • Ainda é um dos meios mais populares de armazenamento – Vem perdendo espaço para o DVD • Possui capacidade de aproximadamente 700MB 04/08/2014 72 Digital Versatile Disc (DVD) • Funcionamento semelhante ao do CD • Capacidade a partir de 4.7 GB • Sua alta capacidade é conseguida graças à diminuição do tamanho dos setores – Conseqüente aumento do número de trilhas Digital Versatile Disc (DVD) • Pode ser encontrado nos seguintes modelos – Camada simples/Um lado � 4.7 GB –Dupla camada/Um lado � 9.0 GB – Camada simples/Dois lados � 9.0 GB – Dupla camada/Dois lados � 18.0 GB 04/08/2014 73 Blu-Ray • Nova geração de mídias para arquivos sonoros e visuais de alta qualidade • Capacidade de 25 a 50 GB • Tendência de substituir os DVDs 04/08/2014 74 MEMÓRIA 147 Memória • Local onde os dados e os programas são armazenados (na forma de bits) para imediata execução (memória Principal - MP) ou para uso posterior (memória secundária - MS); • A memória é dividida em pequenas áreas, chamadas endereços; • Armazenar consiste em guardar uma informação (ou um conjunto de informações) na memória e a operação é denominada escrita ou gravação (“ write”); • Recuperar uma informação (ou um conjunto de informações) da memória é copiá-la para uma outra posição na memória ou para outro componente do sistema. Esta operação é denominada leitura (‘read’). 148 04/08/2014 75 Pirâmide Hierárquica de Tipos de memória Registradores Cache Principal Secundária (Discos e Fitas) Custo Alto Velocidade Alta Baixa Capacidade Custo Baixo Velocidade Baixa Alta Capacidade 149 Registradores • Os registradores são unidades de memória que armazenam, temporariamente, na UCP, os dados a serem manipulados por uma instrução ou seus resultados parciais ou finais de um processamento; • Sendo um resultado parcial, armazenado em um registrador, este será transferido para a memória principal (externa à UCP). • Extremamente rápidos • Pouca capacidade de armazenamento. 150 04/08/2014 76 Memória Principal (MP) • A Memória Principal tem por finalidade armazenar toda a informação que é manipulada pelo computador - programas e dados. • Para que um programa possa ser manipulado pela máquina, ele primeiro precisa estar armazenado na memória principal. – OBS.: os circuitos da Memória Principal não são combinatórias, eles tem capacidade de armazenar bits. Os circuitos usados são do tipo "flip-flop”. 151 Memória Cache • Desenvolvida devido ao tempo alto de acesso a memória principal – Possui arquitetura que permite um acesso muito mais rápido em relação à Memória Principal – O custo de fabricação da memória cache é muito maior • Computadores incorporam uma pequena porção de memória cache – Localizada entre a CPU e a Memória Principal – Funciona como um espelho de parte da MP 04/08/2014 77 Memória Cache Processador Memória Cache Memória Principal Endereço Dados Controle sub-sistema de memória Memória Principal • A memória principal é formada por dois tipos: – RAM (Randomic Acess Memory) – ROM (Read Only Memory) • Tipos de Memória • volátil - perde o conteúdo armazenado quando não energizada. (RAM – Random Access Memory). • Tipos de RAM a) Estática - a gravação é estável, só se alterando através de operações de escrita (consome mais energia); b) Dinâmica - a gravação do bit "1" se descarrega com o tempo, precisando ser "refrescada" periodicamente (ciclo de refresh). 154 04/08/2014 78 FPM X EDO X SDRAM 155 • não volátil - não perde o conteúdo armazenado. (ROM, PROM, EPROM, EEPROM) c) ROM - Read Only Memory (gravada de fábrica - permanente); d) PROM - Programable ROM (pode ser gravada uma única vez pelo usuário, através de equipamentos especiais); e) EPROM - Erasable PROM (pode ser apagada através de raios ultravioletas); f) EEPROM - Electrical EPROM (pode ser apagada através de sinais elétricos); g) Memória Flash - é uma memória que pode ser utilizada como apenas de leitura ou como de leitura e gravação, dependendo do driver utilizado. Geralmente é utilizada como um disco em pastilhas (chips), SSD - Solid State Disk. 156 04/08/2014 79 ROM – Read Only Memory • Quando ligamos um microcomputador, podemos ver que sempre é executado o teste e a contagem de memória; • Este programa pode ser armazenado em ROM, que é uma memória de apenas leitura onde os dados não são apagados quando desligamos a alimentação; • O programa armazenado em ROM, recebe o nome de firmware que é um programa inalterável e que será sempre executado. 157 Na ROM do microcomputador há basicamente três firmwares: 1. BIOS (Basic Input/Output System) – “ensina” o processador a trabalhar com os periféricos mais básicos do sistema, como ckt de apoio, unidade de disquete e o vídeo em modo texto; 2. POST (Power-On Self-Test – Autoteste ao Ligar) – sempre que o micro é ligado o POST executa as seguintes rotinas: • Identifica a configuração instalada; • Inicializa os chipset da placa mãe; • Inicializa o vídeo; 158 04/08/2014 80 Na ROM do microcomputador há basicamente três firmwares: • Testa a memória; • Testa o teclado; • Carrega o sistema operacional para a memória; • Entrega o controle do microprocessador ao sistema operacional. 3. Setup – programa de configuração de hardware do microcomputador. 159 Atualmente há duas tecnologias básicas para construção de circuitos de memória ROM: • Mask ROM – é programada de fábrica e não há como reprograma-la, a não ser trocando o chip. – é usada até o lançamento das primeiras placa-mãe soquete 7; • Flash ROM – tecnologia mais moderna que permite reprogramação através de firmware. – upgrade de BIOS. 160 04/08/2014 81 Memória Secundária • A memória secundária , também chamada de auxiliar ou memória de massa, tem a finalidade de armazenar de forma permanente as informações (dados e programas) necessários ao processamento. • A memória secundária é eletromecânica e por esta razão, seu tempo de acesso é relativamente alto, se comparado com outros tipos de memória. 161 Uso da Memória • O 8088 só podia enxergar 1 MB de memória que é dividida em áreas menores de 64KB. – 64KB x 16 = 1 MB. • Por motivos de compatibilidade, os micros atuais mantém a mesma estrutura dos micros antigos no primeiro megabyte de memória. Essa área é dividida da seguinte forma: 162 04/08/2014 82 Área de Memória Endereços Conteúdo 0 a 640 KB 00000h a 9FFFFh Banco 0 ao banco 9 Memória convencional 640 a 704 KB A0000h a AFFFFh Banco 10: Mem. De vídeo 704 a 768 KB B0000h a BFFFFh Banco 11: Mem. De vídeo 768 a 832 KB C0000h a CFFFFh Banco 12: ROM da interface de vídeo 832 a 896 KB D0000h a DFFFFh Banco 13: Firmware de interfaces 896 a 960 KB E0000h a EFFFFh Banco 14: Firmware de interfaces 960 a 1.024 KB F0000h a FFFFFh Banco 15: BIOS (e Basic residente, caso haja) 163 Tecnologia de Memória para Vídeo • Para armazenar a imagem a ser exibida no vídeo, a placa utiliza-se de um tipo especial de memória, chamada de memória de vídeo. • O conteúdo desta memória é constantemente atualizado pela placa de vídeo, seguindo as ordens transmitidas pelo processador. • O controlador de vídeo lê o conteúdo da memória de vídeo (presente na placa de vídeo), convertendo os dados armazenados em sinais que sejam compreensíveis pelo monitor. • Novas tecnologias relacionadas a memória de vídeo, surgiram afim de aumentar o desempenho de interface de vídeo. 164 04/08/2014 83 Funcionamento da Placa de Vídeo Barramento PCI Controlador de vídeo Memória de vídeo 165 Arquitetura Unificada de memória (UMA – Unified Memory Architecture) • A interface de vídeo utiliza parte da memória RAM do micro, com a finalidade de baratear o micro e aumentar o desempenho do vídeo. • Depende do chipset da placa-mãe e geralmente é onboard. • Em alguns casos o controlador de vídeo está dentro do processador – diminui custos. Ex.: Cyrix MediaGX; • Em outros, o processador de vídeo está integrado no chipset. – SIS 5598 (TX PRO II). 166 04/08/2014 84 Tipos de memórias de vídeo • As placas de vídeo utilizammemória RAM para armazenar as imagens que serão mostradas no monitor. • Apesar de poderem usar memórias FPM, EDO ou SDRAM comuns, o uso de memórias otimizadas para vídeo, aumenta bastante sua performance. • Os principais tipos de memória de vídeo usados atualmente são o VRAM, SGRAM e WRAM. 167 VRAM (Vídeo RAM) • A VRAM é um tipo de memória especialmente desenvolvido para o uso em placas de vídeo. Sua principal vantagem é que pode ser acessada simultaneamente por dois componentes. Isso permite que a placa de vídeo use os dados contidos na VRAM para atualizar a exibição das imagens, ao mesmo tempo que o processador inclui novos dados. • O uso de memórias VRAM aumenta perceptivelmente o desempenho da placa, o problema é que este tipo de memória é bem mais caro que as memórias convencionais, fazendo com que muitos fabricantes optem por utilizar memórias EDO comuns em seus modelos de placas de vídeo mais baratas. 168 04/08/2014 85 Funcionamento de uma placa de vídeo com VRAM 169 Barramento PCI Controlador de vídeo Memória VRAM WRAM (Windows RAM) • Como o nome sugere, a Windows RAM é um tipo de memória de vídeo otimizada para sistemas gráficos como o Windows. • Aperfeiçoamento sobre a VRAM criado pela Samsung, que possui um desempenho cerca de 50% superior (segundo a Samsung). • Apesar da melhora no desempenho, a WRAM é mais barata que as memórias VRAM comuns, tendo obtido uma enorme aceitação no mercado. 170 04/08/2014 86 Memória Rambus (RDRAM) • Criada pela empresa Rambus; • A memória é conectada ao controlador de vídeo através de um barramento estreito, porém rápido (Rambus); • Este barramento de 8 bits, consegue transmitir dois bytes por pulso de clock: um na ativação do clock e outro na desativação; • O clock é totalmente independente do barramento PCI e tem freqüência de 250 MHz; • Segundo a empresa, essa tecnologia é dez vezes mais rápida que as memórias tradicionais de vídeo e de três a cinco vezes mais rápida que a VRAM. 171 Funcionamento de uma placa de vídeo Rambus Barramento PCI Barramento RAMBUSControlador de vídeo Memória de vídeo 172 04/08/2014 87 SGRAM (Synchronous Graphic Ramdom Access Memory) • A SGRAM é um tipo de memória SDRAM otimizada para o uso em placas de vídeo, que apesar de possuir apenas uma entrada de dados, pode ser dividida em duas páginas de memória. Como ambas as páginas podem ser acessadas ao mesmo tempo, simulamos uma dupla entrada de dados. • Atualmente as memórias SGRAM vêm sendo cada vez mais usadas em placas de vídeo de baixo e médio desempenho, pois apesar do desempenho levemente inferior às memórias VRAM são muito mais baratas, sendo substitutas ideais para as memórias EDO. 173 UNIDADE CENTRAL DE PROCESSAMENTO 174 04/08/2014 88 Unidade Central de Processamento – UCP (Central Processing Unity – CPU) • é a responsável pelo processamento e execução dos programas armazenados na MP. • As funções da UCP são: executar as instruções e controlar as operações no computador. • A UCP é composta de duas partes: • UAL - Unidade Aritmética e Lógica - tem por função a efetiva execução das instruções 175 ACC REGs Unidade de Controle ULA Barramento Interno Barramento de Controle UC – Unidade de Controle • Tem por funções a busca, interpretação e controle de execução das instruções, e o controle dos demais componentes do computador 176 ACC REGs UCULA CLOCK RDM REM CI RI DECODER INST. Memória Principal Unidade Lógica e Aritmética Diagrama Funcional da UCP Unidade de Controle Barramento de Dados Barramento de Endereços Ba rr a m e n to In te rn o 04/08/2014 89 Registradores Importantes na UCP • Na UC - CI - Contador de Instruções (em inglês: PC - Program Counter) - armazena o endereço da próxima instrução a ser executada - tem sempre o mesmo tamanho do REM. • Na UC - RI - Registrador de Instrução (em inglês: IR - Instruction Register) - armazena a instrução a ser executada. • Na ULA - ACC Acumulador (em inglês:ACC - Accumulator) - armazena os dados (de entrada e resultados) para as operações na ULA; o acumulador é um dos principais elementos que definem o tamanho da palavra do computador - o tamanho da palavra é igual ao tamanho do acumulador. 177 Instruções • Para que um programa possa ser executado por um computador, ele precisa ser constituído de uma série de instruções de máquina e estar armazenado em células sucessivas na memória principal; • A UCP é responsável pela execução das instruções que estão na memória; • Quem executa um programa é o hardware; • Programa em linguagem de máquina (uma seqüência de instruções de máquina em código binário); • A linguagem de máquina é composta de códigos binários, representando instruções, endereços e dados e está totalmente vinculada ao conjunto ("set") de instruções da máquina. • O programa elaborado pelo programador (o código-fonte, composto de instruções complexas) precisa ser "traduzido" em pequenas operações elementares executáveis pelo hardware. • Cada uma das instruções tem um código binário associado, que é o código da operação. 178 04/08/2014 90 Formato geral de uma instrução • OPCODE - identifica a operação a ser realizada pelo processador. É o campo da instrução cuja valor binário identifica a operação a ser realizada. Este código é a entrada no decodificador de instruções na unidade de controle. • OP - é ou são o(s) campo(s) da instrução cujo valor binário sinaliza a localização do dado (ou é o próprio dado) que será manipulado (processado) pela instrução durante a operação. Em geral, um operando identifica o endereço de memória onde está contido o dado que será manipulado, ou pode conter o endereço onde o resultado da operação será armazenado. Finalmente, um operando pode também indicar um Registrador (que conterá o dado propriamente dito ou um endereço de memória onde está armazenado o dado). Os operandos fornecem os dados da instrução. • Obs: Existem instruções que não tem operando. Ex.: Instrução HALT (PARE). 179 Código de operação (OPCODE) Operando (s) (OP) Conjunto de Instruções • Quando se projeta um hardware, define-se o seu conjunto ("set") de instruções - o conjunto de instruções elementares que o hardware é capaz de executar. O projeto de um processador é centrado no seu conjunto ("set") de instruções. Quanto menor e mais simples for este conjunto de instruções, mais rápido pode ser o ciclo de tempo do processador. • Um processador precisa possuir instruções para: • operações matemáticas: • 1. aritméticas: +, - , × , ÷ ...; • 2. lógicas: and, or, xor, ...; • 3. de complemento; • 4. de deslocamento. • operações de movimentação de dados: • (memória <--> UCP, reg <--> reg); • operações de entrada e saída (R/W em dispositivos de E/S); • operações de controle (desvio de sequência de execução, parada). 180 04/08/2014 91 As estratégias de implementação de processadores são: • CISC - Complex Instruction Set Computer • Exemplo: PC, Macintosh; um conjunto de instruções maior e mais complexo, implicando num processador mais complexo, com ciclo de processamento mais lento; ou • RISC - Reduced Instruction Set Computer • Exemplo: Power PC, Alpha, Sparc; um conjunto de instruções menor e mais simples, implicando num processador mais simples, com ciclo de processamento rápido. • Obs.: adotaremos o termo instrução para as instruções de máquina ou em linguagem Assembly e comando para linguagens de alto nível. 181 O projeto de um processador poderia ser resumido em: • a) Definir o conjunto de instruções (todas as possíveis instruções que o processador poderá executar): • definir formato e tamanho das instruções; •definir as operações elementares. • b) Projetar os componentes do processador (UAL, UC, registradores, barramentos, ...) • Duas estratégias são possíveis na construção do decodificador de instruções da UC: • wired logic - as instruções são todas implementadas em circuito); • Microcódigo - apenas um grupo básico de instruções são implementadas em circuitos; as demais são “montadas” através de micro programas que usam as instruções básicas. 182 04/08/2014 92 Ciclo de Instruções • As instruções são executadas sequencialmente uma a uma. (a não ser pela ocorrência de um desvio). • O CI indica a sequência de execução, isto é, o CI controla o fluxo de execução das instruções. • Descrição do processamento de uma instrução na UCP: • a UC lê o endereço da próxima instrução no CI; • a UC transfere o endereço da próxima instrução, através do barramento interno, para o REM. 183 INICIO TÉRMIO Buscar próxima Instrução Interpretar a Instrução Buscar os Dados Executar a Instrução Sistema Operacional dá suporte aos aplicativos (Sustenta o ambiente no qual os aplicativos são executados) 184 Aplicativo A Aplicativo B Aplicativo C Drivers de Dispositivos HARDWARE Gerenciamento de Processos E/S Arquivos Gerenciamento de Memória E/S Dispositivos
Compartilhar