Introducao_Informatica



Comments



Description

PROF.JOÃO PAULO DE BRITO GONÇALVES INTRODUÇÃO À INFORMÁTICA CACHOEIRO DE ITAPEMIRIM 2009 introducao_informatica.indd 1 15/07/2009 15:03:53 2 Governo Federal Ministro de Educação Fernando Haddad Ifes – Instituto Federal do Espírito Santo Reitor Dênio Rebello Arantes Pró-Reitora de Ensino Cristiane Tenan Schlittler dos Santos Coordenadora do CEAD – Centro de Educação a Distância Yvina Pavan Baldo Coordenadoras da UAB – Universidade Aberta do Brasil Yvina Pavan Baldo Maria das Graças Zamborlini Curso Licenciatura em Informática Coordenação de Curso Giovany Frossard Teixeira Designer Instrucional Jonathan Toczek Souza Professor Especialista/Autor João Paulo de Brito Gonçalves G635i Gonçalves, João Paulo de Brito Introdução à informática / João Paulo de Brito Gonçalves. – 2009. Cachoeiro de Itapemirim: Ifes, 2009. 109 folhas. Material do curso de Licenciatura de Informática à Distância – Instituto Federal do Espírito Santo, Campus Cachoeiro de Itapemirim, 2009. 1. Informática - Introdução. 2. Processamento de dados. 3. Computadores Evolução. I. Título. CDD 004.25 DIREITOS RESERVADOS Ifes – Instituto Federal do Espírito Santo Av. Vitória – Jucutuquara – Vitória – ES - CEP - (27) 3331.2139 Créditos de autoria da editoração Capa: Juliana Cristina da Silva Projeto gráfico: Juliana Cristina da Silva / Nelson Torres Iconografia: Nelson Torres Editoração eletrônica: Duo Translations Revisão de texto: Zenas Vieira Romano COPYRIGHT – É proibida a reprodução, mesmo que parcial, por qualquer meio, sem autorização escrita dos autores e do detentor dos direitos autorais. Licenciatura em Informática introducao_informatica.indd 2 15/07/2009 15:03:55 3 Olá, Aluno(a)! É um prazer tê-lo conosco. O Ifes oferece a você, em parceria com as Prefeituras e com o Governo Federal, o Curso de Licenciatura em Informática, na modalidade à distância. Apesar de este curso ser ofertado à distância, esperamos que haja proximidade entre nós, pois, hoje, graças aos recursos da tecnologia da informação (e-mails, chat, videoconferênca, etc.), podemos manter uma comunicação efetiva. É importante que você conheça toda a equipe envolvida neste curso: coordenadores, professores especialistas, tutores à distância e tutores presenciais. Assim, quando precisar de algum tipo de ajuda, saberá a quem recorrer. Na EaD - Educação a Distância - você é o grande responsável pelo sucesso da aprendizagem. Por isso é necessário que se organize para os estudos e para a realização de todas as atividades, nos prazos estabelecidos, conforme orientação dos Professores Especialistas e Tutores. Fique atento às orientações de estudo que se encontram no Manual do Aluno! A EaD, pela sua característica de amplitude e pelo uso de tecnologias modernas, representa uma nova forma de aprender, respeitando, sempre, o seu tempo. Desejamos a você sucesso e dedicação! Equipe do Ifes Introdução à Informática introducao_informatica.indd 3 15/07/2009 15:03:55 Licenciatura em Informática introducao_informatica. abaixo. referente ao conteúdo apresentado. após a leitura dos textos. referentes ao conteúdo estudado. alguns símbolos utilizados neste material para guiá-lo em seus estudos. Atenção! Reflexão/questionamento sobre algo importante referente ao conteúdo apresentado.4 ICONOGRAFIA Veja.indd 4 15/07/2009 15:03:55 . Espaço reservado para as anotações que você julgar necessárias. Fala do Professor Conceitos importantes. Fique atento! Atividades que devem ser elaboradas por você. Indicação de leituras complemtares. Destaque de algo importante. 4 .1.1. Dados X Informação 9 1.3 Aplicativos 48 4.5 Execução de Programas 53 Introdução à Informática introducao_informatica.1.2. Código Ascii 41 Cap.5 INTRODUÇÃO À INFORMÁTICA Cap.1.4 Armazenamento 14 Cap.1.1. 3 .2 Representação Interna de Dados no Computador 39 3. Sistema Binário 34 3.2 O Conceito de Arquitetura 48 4.indd 5 15/07/2009 15:03:56 .1.2 Utilitários 47 4.1 Introdução aos Sistemas Numéricos 33 3.1.1.CONCEITOS DE PROCESSAMENTO DE DADOS 9 1.1 Geração Zero 17 2.4 Compilação de Programas 51 4.3 Segunda Geração 24 2.2 Processamento de Dados 13 1.3 Saída 14 1. Software Básico 46 4.1.2 Primeira Geração 22 2.2.1.4 Terceira Geração 25 2.1 Entrada 14 1.2 A Era dos Microcomputadores e das Interfaces Gráficas 26 Cap. 2 .2.2 Processamento 14 1.1.ORGANIZAÇÃO E ARQUITETURA DE SISTEMAS DE COMPUTADORES ATUAIS 45 4.1. 1 .1 Hardware X Software 45 4.1 Gerações de Computadores 17 2.2.SISTEMAS NUMÉRICOS 33 3.3 Níveis de Arquitetura 50 4.2.EVOLUÇÃO DOS COMPUTADORES 17 2.2 Sistema Hexadecimal 35 3. DISPOSITIVOS DE ENTRADA E SAÍDA 89 8.1.2 5.3.6 Cap. 6 .2 Discos Rígidos 82 7.1 Geometria de um HD 84 7. 5 .4 Arquiteturas Paralelas 106 REFERÊNCIAS BIBLIOGRÁFICAS 109 Licenciatura em Informática introducao_informatica.1 6.3 Técnicas de Transferência de Dados 93 8.2 Organização de uma Interface de E/S 91 8. 9 .3.MEMÓRIA 57 5.3 Arquiteturas RISC x CISC 102 9.3 Taxa de Transferência Interna e Externa 85 Cap.3 E/S com Acesso Direto à Memória 96 Cap.PROCESSADORES 71 6.1 Introdução aos Dispositivos de E/S 89 8.4 Memórias Cache 65 Cap.indd 6 15/07/2009 15:03:56 .3 6.2 6. 7 .4 A Seção de Processamento 71 A Execução de Instruções 74 A Seção de Controle 75 O Sinal de Clock 77 Cap.1 Introdução 81 7.3 Introdução 57 Tipos de Dispositivos de Memória 59 Endereçamento da Memória Principal 61 A Interação entre Processador e Memória Principal 63 5.3.2 5. E/S com Polling 93 8.1 A técnica de pipelining 99 9.3.1 5.DISPOSITIVOS DE DISCO 81 7.2 Arquiteturas Superescalares 101 9.1 A Filosofia RISC 104 9. 8 .2 E/S com Interrupção 95 8.2.TÓPICOS AVANÇADOS EM ARQUITETURA DE COMPUTADORES 99 9. dessa forma. desejo a você muito sucesso e empenho nesta etapa que se inicia! Prof.indd 7 15/07/2009 15:03:56 . é importante que se façam os exercícios e se estude regularmente. com ênfase em serviços de rede. Deve ser ainda mais evitado em EaD. oferecida no primeiro semestre. pois compromete o aprendizado do aluno e torna o ato de estudar monótono e enfadonho. Por falar nisso. o acúmulo de conteúdo. Nesta disciplina. Então. acumular conteúdo deve ser evitado em qualquer processo educacional. UNIPAC e DOCTUM). João Paulo de Brito Gonçalves Introdução à Informática introducao_informatica. para ser bem sucedido neste curso. se você pode tornar o seu aprendizado uma viagem divertida por um universo novo e rico em possibilidades. portanto. você conhecerá a organização básica de um computador e terá as noções iniciais sobre informática que serão essenciais no decorrer do seu curso. pois a organização do tempo se torna essencial para o sucesso de qualquer empreitada. Atuo como professor do Ifes há um ano e já lecionei em outras instituições de ensino superior (FACIG. Visto que é uma disciplina introdutória. Aqui você encontrará conceitos com os quais trabalharemos ao longo de todo o Curso. por que não fazê-lo? Assim. Atualmente faço pós-graduação em Administração em Redes Linux pela Universidade Federal de Lavras. Sou graduado em Ciência da Computação (2003) pela UFJF e Mestre em Informática (2006) pelo IME. O objetivo deste material é auxiliá-lo no estudo da disciplina Introdução à Informática. por meio de dicas e sugestões que destacam os pontos mais importantes a serem estudados.7 APRESENTAÇÃO Olá! Meu nome é João Paulo de Brito Gonçalves. Minhas áreas de interesse são: Redes de Computadores. responsável pela disciplina Introdução à Informática. sendo. não serão necessários conhecimentos prévios acerca dos assuntos aqui abordados. o que não dispensa a utilização dos outros livros que fazem parte da bibliografia sugerida. Sistemas Operacionais com ênfase em virtualização e Organização e Arquitetura de Computadores. evitando-se. Em geral. indd 8 15/07/2009 15:03:56 .8 Licenciatura em Informática introducao_informatica. e com o aumento do fluxo de informações. surge. através de determinados processos. Mas o que são dados? Dados são conjuntos de “informação em estado bruto” que. Dados X Informação Com o crescimento das atividades do homem em vários setores da vida. Atualmente.1. rápida e segura. Entender como esse ciclo acontece e conhecer os dispositivos participantes do processo são os objetivos que esperamos que você alcance ao final do capítulo.9 CONCEITOS DE PROCESSAMENTO DE DADOS Prezado aluno. devido à grande produção de informações e ao tempo desperdiçado em pesquisas com essa forma de armazenamento. Houve um tempo em que arquivos com pastas suspensas eram bastante utilizados e muito úteis para o armazenamento de informações. se transformam em informação. Bom estudo! 1. que é a transformação de dados em informações úteis para nós. a necessidade de organizar tais informações de forma prática.indd 9 15/07/2009 15:03:56 . quando você deverá comprovar seus conhecimentos realizando os exercícios propostos. Então. começou a surgir a necessidade do uso de algum dispositivo que permitisse o armazenamento destes dados de forma eletrônica. Começaremos nossa primeira aula com uma visão geral sobre a função primordial dos computadores. A despeito de quão diferentes são as formas através das quais os computadores realizam esta tarefa. seres humanos. esse tipo de recurso não atende à necessidade de armazenamento e organização dos dados. o ciclo entrada-processamentosaída está presente em todas as abordagens. Introdução à Informática introducao_informatica. cada vez mais. 10 Capítulo 1 Ou seja, os dados, por si só, não apresentam significado útil para o ser humano, são apenas símbolos, letras ou números. Um exemplo ilustrativo é o processo de criação de textos com um editor de texto. Quando inserimos os caracteres que irão compor o texto, letras, números e caracteres especiais, estes individualmente não possuem significado útil para o ser humano. Entretanto, ao ser agrupado sob a forma de um texto, o conjunto passa a expressar algum significado, se tornando com isso, informação. Mas o que é então informação? Informação é um conjunto de resultados que são obtidos após um processamento, e que geralmente possui significado, de forma a ser útil em algum processo da atividade humana. Muitas pessoas associam o conceito de informação ao uso do computador de forma indissociável, entretanto a transformação de dados em informações acontece desde os primórdios da humanidade. O que o computador realiza na verdade, é o processamento automático de dados, que pode ser definido como qualquer atividade que, utilizando informações (ou dados), efetua transformações para obter novas informações (ou dados) como resultado. Voltando ao exemplo do editor de texto, as transformações envolvidas na criação do texto seriam o agrupamento e a formatação dos dados para formar o texto completo. Desta definição da principal função do computador, podemos derivar uma definição para o próprio computador. O Computador é uma ferramenta que permite a realização do processamento automático (ou eletrônico) de dados, visando à criação de informação. Os computadores vêm ocupando espaço, estão cada vez mais presentes, até mesmo em lugares antes inimagináveis. No cinema, por exemplo, os filmes são projetados com auxílio de computadores; em uma farmácia, por menor que ela seja, sempre existe um computador para registrar os produtos e os preços. Tudo isso sem falar nas grandes empresas, bancos, supermercados, escolas, hospitais, enfim, onde a utilização desses equipamentos for útil. Licenciatura em Informática introducao_informatica.indd S1:10 15/07/2009 15:03:56 11 Conceitos de Processamento de Dados E em quantas partes se divide um computador? Bom, podemos considerar duas formas de divisão. Uma é a divisão externa, que é visível para qualquer pessoa. A outra é a divisão interna, onde estão os componentes de sua arquitetura, que permitem que ele realize processamento automático de dados. Por ora, vamos conhecer a organização externa dos computadores, que se encontra na figura 1.1. Figura 1.1: organização externa do computador Fonte: História do Computador (2009) Na divisão acima ilustrada, encontramos dispositivos bastante conhecidos do nosso dia-dia. Temos o teclado, útil para a entrada de dados no computador, o mouse, também usado para inserir comandos de clique e posicionamento dentro do computador, o monitor, utilizado para apresentar as informações geradas dentro do computador para o usuário, e o gabinete, que contém um conjunto de componentes e dispositivos responsáveis pelo processamento e funcionamento do computador e equipamentos auxiliares. Os computadores podem ser classificados de acordo com seu porte e funcionalidade. Uma classificação simples pode ser feita assim: a) computadores de porte manual ou PDA’s; b) notebooks ou computadores portáteis; c) computadores de mesa ou desktops; e, d) mainframes ou computadores de grande porte e os supercomputadores. Introdução à Informática introducao_informatica.indd S1:11 15/07/2009 15:03:56 12 Capítulo 1 Vale citar que, por conta das interseções existentes entre funcionalidades de dispositivos eletrônicos temos, por exemplo, telefones celulares atuando como computadores. Com isso, torna-se um tanto complexa uma divisão em categorias distintas. PDA (Personal Digital Assistants) ou Handheld, é o Assistente Pessoal Digital, um computador de dimensões reduzidas, dotado de grande capacidade computacional, cumprindo as funções de agenda e sistema de escritório elementar, com possibilidade de interconexão com um computador pessoal em uma rede sem fios Um mainframe é um computador de grande porte, dedicado normalmente ao processamento de um volume grande de informações. Os mainframes são capazes de oferecer serviços de processamento a milhares de usuários através de milhares de terminais conectados diretamente ou através de uma rede. Este é o momento de chamar sua atenção para uma importante associação que caso não tenha sido feita, é importante que se faça agora. Lendo os parágrafos anteriores, você prestou atenção quando foi descrito que o teclado e o mouse permitem a entrada de dados e comandos e o monitor permite a saída das informações? Lembrase, ainda, que foi dito anteriormente que a função primordial do computador é a transformação automática de dados visando gerar informação? Desta forma, acho que já é possível visualizar na sua vida prática esta dinâmica, não é? Além do teclado e do mouse como dispositivos de entrada e do monitor como dispositivo de saída, que outros dispositivos do computador você imaginaria com as mesmas funções? Licenciatura em Informática introducao_informatica.indd S1:12 15/07/2009 15:03:56 a função primordial do computador é a transformação de dados em informações úteis para nós. os dados são manipulados internamente no computador de forma a gerar os dados de saída.2 Processamento de Dados Como falado anteriormente. processamento e saída. processamento e armazenamento Fonte: História do Computador (2009) Introdução à Informática introducao_informatica. Figura 1.3 nos dá uma ideia da tamanha diversidade existente.13 Conceitos de Processamento de Dados 1. Mas. sendo que a figura 1. elas podem ser armazenadas em dispositivos de armazenamento.3: exemplos de dispositivos de entrada. os dados são inseridos de forma eletrônica no computador através de dispositivos projetados para esta finalidade.2: ciclo entrada-processamento-saída Os dispositivos envolvidos neste processo são muitos. As próximas seções abordarão cada uma das classes de dispositivos envolvidos no processo. Figura 1. ou informação que são visualizados através de dispositivos de saída. como é realizada esta transformação? Em linhas gerais. saída.indd S1:13 15/07/2009 15:03:56 . podemos definir o ciclo de processamento do computador como composto por três etapas básicas: entrada. Caso estas informações geradas sejam relevantes para o uso posterior do usuário. chamados de dispositivos de entrada. seres humanos. Na etapa de entrada. Na etapa de processamento. que ficam gravados no computador após o seu desligamento. Além dele.2 Processamento A Unidade de Processamento Central (CPU) é o processador. impressão.2.14 Capítulo 1 1.2. 1. são dispositivos de armazenamento: disquetes. e ainda são. CDs. efetua cálculos e gere o fluxo da informação.1 Entrada Os dispositivos de entrada permitem ao usuário comunicar-se com o computador. Eles convertem informações eletrônicas produzidas pelos programas instalados no computador em uma forma inteligível pelo homem. O teclado. as formas mais comuns de saída de dados dos computadores. DVDs etc. apresentação no monitor etc.: leitura do teclado. estes dispositivos podem ser usados tanto para leitura de arquivos quanto para sua gravação. Desta forma.2. os monitores de vídeo e as impressoras foram. A CPU está para um computador assim como o cérebro está para o ser humano.). o mouse e o joystick são exemplos de dispositivos de entrada.3 Saída Os dispositivos de saída permitem que o computador se comunique com o usuário. efetua operações com eles e devolve as informações através dos dispositivos de saída. dispositivo principal de um computador. 1. O processador é o responsável pela execução das instruções do programa (software). Podem ser utilizados para recolher dados de entrada fornecidos pelo usuário e emitir comandos.4 Armazenamento Um dispositivo de armazenamento é usado para guardar informação para um uso posterior. dizer que o processador recebe os dados de entrada.indd S1:14 15/07/2009 15:03:56 . Licenciatura em Informática introducao_informatica. recorrendo a todos os componentes da arquitetura envolvente para realizar as tarefas que não dependam exclusivamente de si (ex. 1. O processador processa instruções. Um dos principais dispositivos de armazenamento é o disco rígido ou HD (Hard Disk). pois armazena todos os programas e dados. Ainda que seja possível receber informações dos computadores em uma multiplicidade de formas. então.2. com o fim de serem apresentadas aos usuários finais. Podemos. [3] PATTERSON. 2006 [2] MURDOCCA. Entretanto.15 Conceitos de Processamento de Dados [1] MONTEIRO.. Editora Campus. c) Quais as funções dos dispositivos de saída? Cite pelo menos dois exemplos diferentes dos vistos no capítulo. Pesquise na Internet as diferenças entre eles.. Editora LTC. Organização e Projeto de Computadores. D. 4 Pesquise e descreva as diferenças entre os PDA’s e os Smartphones. L. seguindo as instruções de formato e data de entrega descritas na Tarefa 1: a) Diferencie dados de informação e explique como um é gerado a partir do outro. Editora LTC. Introdução à Informática introducao_informatica. estes dois termos designavam computadores diferentes.. b) Quais as funções dos dispositivos de entrada? Cite pelo menos dois exemplos diferentes dos vistos no capítulo. M. 1999 Atividades Responda às questões abaixo e depois envie-as pelo ambiente Moodle. 2000 [4] TANENBAUM. Rio de Janeiro. Hoje em dia. Editora LTC. M. A. 3 Até alguns anos atrás existiam os termos notebook e lap-top para designar computadores portáteis.P. A.. J. Introdução a Organização de Computadores.. S. quando foram originalmente criados.. Introdução a Arquitetura de Computadores. A. que podiam ser carregados em uma maleta. HEURING V.indd S1:15 15/07/2009 15:03:56 . J. d) Quais as funções dos dispositivos de armazenamento? Cite pelo menos dois exemplos diferentes dos vistos no capítulo. estes termos são considerados intercambiáveis sendo que vemos uma predominância de uso do termo notebook. Organização Estruturada de Computadores. HENESSY. 2001. 16 Capítulo 1 Licenciatura em Informática introducao_informatica.indd S1:16 15/07/2009 15:03:57 . 17 EVOLUÇÃO DOS COMPUTADORES Prezado aluno, Agora que você já entende a função primordial de um computador e consegue visualizar como o processo de uso acontece em linhas gerais, é hora de entender como o computador chegou até sua forma atual. Neste capítulo, você conhecerá as principais invenções que participaram desta evolução e como elas se complementaram em um processo contínuo de desenvolvimento. Ao final da leitura do capítulo, os objetivos que você deve atingir são: entender a importância das invenções históricas para a criação dos computadores e o impacto que estas transformações tiveram em nossa sociedade atual. Na atividade proposta no ambiente você deverá entender um pouco mais uma invenção de sua escolha, descrevendo-a em uma tarefa descrita ao final do capítulo. Bom estudo! 2.1 Gerações de Computadores 2.1.1 Geração Zero Desde os primórdios da humanidade, o ser humano vem buscando criar uma série de auxílios para ajudá-lo em suas necessidades de cálculo e resolução de problemas. Os homens primitivos não tinham necessidade de contar, pois o que necessitavam para a sua sobrevivência era retirado da própria natureza. A necessidade de contar começou com o desenvolvimento das atividades humanas, quando o homem foi deixando de ser pescador e coletor de alimentos para fixar-se no solo. O homem começou a plantar, produzir alimentos, construir casas, proteções e fortificações, e passou a domesticar animais, usando os mesmos para obter a lã e o leite, tornando-se criador de animais domésticos, o que trouxe profundas modificações na vida humana. Introdução à Informática introducao_informatica.indd S1:17 15/07/2009 15:03:57 18 Capítulo 2 As primeiras formas de agricultura de que se tem notícia, foram criadas há cerca de dez mil anos na região que hoje é denominada Oriente Médio. A agricultura passou então a exigir o conhecimento do tempo, das estações do ano e das fases da Lua. Assim começaram a surgir as primeiras formas de calendário. No pastoreio, o pastor usava várias formas para controlar o seu rebanho. Pela manhã, ele soltava os seus carneiros e analisava ao final da tarde, se algum tinha sido roubado, fugido, se perdido do rebanho ou se havia sido acrescentado um novo carneiro ao rebanho. Assim eles tinham a correspondência um a um, onde cada carneiro correspondia a uma pedrinha que era armazenada em um saco. No caso das pedrinhas, cada animal que saía para o pasto de manhã correspondia a uma pedra que era guardada em um saco de couro. No final do dia, quando os animais voltavam do pasto, era feita a correspondência inversa, onde, para cada animal que retornava, era retirada uma pedra do saco. Se no final do dia sobrasse alguma pedra, é porque faltava algum dos animais e se algum fosse acrescentado ao rebanho, era só acrescentar mais uma pedra. A palavra que usamos hoje, cálculo, é derivada da palavra latina calculus, que significa pedra pequena. A correspondência unidade a unidade não era feita somente com pedras, mas eram usados também nós em cordas, marcas nas paredes, talhes em ossos, desenhos nas cavernas e outros tipos de marcação. Devido às limitações mentais dos homens primitivos, eles necessitaram com o tempo criar uma série de auxílios para ajudá-los em sua crescente necessidade de calcular. Uma das ferramentas mais antigas já criadas para ajudar o homem a calcular foi o ábaco. O ábaco surgiu aproximadamente a 4.000 a.C. Em sua versão original, ele era formado por uma placa de argila, onde se escreviam algarismos que auxiliavam nos cálculos. Após aprimoramentos, cerca de 200 a.C., o Ábaco era constituído por uma moldura retangular de madeira, com varetas paralelas e pedras deslizantes. Um dos ábacos mais populares foi desenvolvido na China, foi chamado de Suan-Pan e era usado para adições e subtrações. Licenciatura em Informática introducao_informatica.indd S1:18 15/07/2009 15:03:57 19 Evolução dos Computadores Figura 2.1 Ábaco Fonte: História do Computador (2009) Passaram-se séculos sem que qualquer invenção ficasse registrada até que fossem criados os bastões de Napier no final do século XVI. Eram tabelas móveis de multiplicação e divisão feitas de marfim. O responsável foi um nobre escocês chamado John Napier, inventor também dos logaritmos. Apesar de dispositivos semelhantes aos bastões terem sido usados desde o final do século XVI, eles só apareceram documentados a partir de 1614. Um conjunto completo de bastões de Napier consiste em 9 peças: uma para cada dígito de 1 a 9 e ajudava no processo de multiplicação de números. Em 1642, um francês de 18 anos de nome Blaise Pascal, inventou a primeira máquina de somar, a Pascalina, que executava operações aritméticas, quando se giravam os discos interligados. Essa máquina foi a precursora das calculadoras mecânicas. Figura 2.2 Pascalina Fonte: História do Computador (2009) Em 1802, Joseph Jacquard, na França, passou a utilizar cartões perfurados, para controlar suas máquinas de tear e automatizá-las. Esse processo despertou, já nessa época, temor pelo desemprego, provocando uma grande reação popular contra essa espécie de pré-automação. Introdução à Informática introducao_informatica.indd S1:19 15/07/2009 15:03:57 modificando dessa forma o curso dos cálculos. Babbage é considerado o precursor dos modernos computadores eletrônicos digitais. A Máquina Analítica poderia ser programada para calcular várias funções diferentes. pois possuía dispositivos de entrada e saída. sua máquina só pôde ser concluída anos após a sua morte. um matemático e engenheiro britânico. uma memória e engrenagens que permitiam o processamento.4 Máquina Analítica Fonte: História do Computador (2009) Licenciatura em Informática introducao_informatica.3 Máquinas das Diferenças Fonte: História do Computador (2009) Em 1833. era constituída de unidade de controle de memória aritmética e de entrada e saída. Figura 2. construiu a máquina de diferenças que baseavase também no princípio de discos giratórios e era operada por uma simples manivela. tornando-se a base para a estrutura dos computadores atuais. o que fez com que Charles Babbage fosse considerado como o “Pai do Computador”. Sua operação era governada por conjunto de cartões perfurados. Figura 2. Babbage projetou uma máquina bastante aperfeiçoada. de acordo com os resultados dos cálculos intermediários. que chamou de Máquina Analítica. o projeto de máquina de Babbage muito se aproxima do projeto das máquinas atuais. De fato. Porém.indd S1:20 15/07/2009 15:03:59 .20 Capítulo 2 Entre 1802 e 1822. a máquina poderia saltar os cartões. Charles Babbage (1792-1871). de modo que. foi iniciado o projeto de um computador totalmente eletrônico. com a ajuda financeira da IBM. em 1944.5 MARK I (IBM archives) Fonte: História do Computador (2009) Introdução à Informática introducao_informatica. 3 anos depois do censo ele já tinha os resultados. tinha cerca de 15 metros de comprimento e 2. (construído na Universidade de Harvard. perfurando-se cerca de 56 milhões de cartões.A. Herman Hollerith. percebeu que a realização do censo anual demorava cerca de 10 anos para ser concluído e que a maioria das perguntas tinha como resposta sim ou não. houve a necessidade de se projetar máquinas capazes de executar cálculos balísticos com rapidez e precisão. funcionário do Departamento de Recenseamento dos E. a conhecida IBM . Com isso.indd S1:21 15/07/2009 15:03:59 . Figura 2. Hollerith. o MARK I. que investiu US$ 500. e surgiram os primeiros sistemas híbridos eletromecânicos. Construiu então a Máquina de Recenseamento ou Máquina Tabuladora.21 Evolução dos Computadores Aproximadamente em 1885. isto é. era controlado por programa e usava o sistema decimal. Com a chegada da Segunda Guerra Mundial. que se tornou. Com isso.00 no projeto). fundou uma companhia chamada TMC . para serem utilizadas na indústria bélica. associando-se. Aiken. o primeiro computador eletromecânico. Áustria e Rússia.Tabulation Machine Company. houve um grande impulso no desenvolvimento dos computadores. surgiu.000. em 1914 a duas outras pequenas empresas.U.5 metros de altura e era envolvido por uma caixa de vidro e de aço inoxidável brilhante. ele conseguiu obter os resultados em tempo recorde. pela equipe do professor H. em 1896. Após ele. Em 1886 idealizou um cartão perfurado que guardaria as informações coletadas no censo e uma máquina capaz de tabular essas informações. e formando a . A máquina foi sucesso nos EUA e foi usada no censo do Canadá. Em função dos resultados obtidos com seu invento.Internacional Business Machine. Esse computador. iniciando a 1ª geração de computadores. em 1924. Desta forma. O Colossus trabalhava com símbolos perfurados numa argola de fita de papel que. ao invés de relés eletromecânicos. sem dúvida. Presper Eckert. Talvez o computador mais relevante desta geração seja o ENIAC (Eletronic Numerical Interpreter and Calculator ou seja. “Computador e Intérprete Numérico Eletrônico”). A entrada de dados no ENIAC era baseada na tecnologia de cartões perfurados e os programas eram modificados através de reconfigurações no circuito. Era o primeiro computador digital eletrônico de grande escala e foi projetado por John W. por serem todos baseados em tecnologias de válvulas eletrônicas. Já a válvula é um dispositivo que conduz a corrente elétrica num só sentido. Entretanto. usava 2.indd S1:22 15/07/2009 15:04:00 . o ENIAC permaneceu operacional por mais de 10 anos e em algumas operações.000 caracteres por segundo e foi muito usado para decifrar códigos alemães secretos. comparava a mensagem cifrada com os códigos conhecidos até encontrar uma coincidência. um projeto britânico. normalmente quebravam após não muitas horas de uso. dentre elas o Colossus que. Em 1943. projetado para fins militares pelo Departamento de Material de Guerra do Exército dos EUA. conseguia ser até mil vezes mais rápido que o MARK I. Apesar das dúvidas com relação à sua confiabilidade. na Universidade de Pensilvânia. inserida na máquina de leitura fotoelétrica. devido ao alto aquecimento que as válvulas alcançavam em pouco tempo de uso.1. a maior velocidade de processamento. Mauchly e J. colocou em operação uma série de máquinas mais ambiciosas. Os relés são eletroímãs cuja função é abrir ou fechar contatos elétricos com o intuito de interromper ou estabelecer circuitos. Uma das grandes vantagens da primeira geração em relação às máquinas eletromecânicas era.22 Capítulo 2 2.000 válvulas eletrônicas. Um grande número de projetos foram implementados. Ele processava 25. sob a liderança do matemático Alan Turing. Licenciatura em Informática introducao_informatica. baseados na utilização de relés e válvulas eletrônicas para a realização de cálculos automaticamente.2 Primeira Geração A primeira geração de computadores é marcada pelo surgimento dos primeiros computadores eletrônicos. 000 capacitores Peso: 30 toneladas Área: 1 400 m2 Consumo: 150 quilowatts de potência 5000 adições ou 300 multiplicações por segundo Uma das maiores contribuições da época para a evolução dos computadores veio de um dos consultores que trabalhavam com o ENIAC. e o IBM 650 (o primeiro computador da IBM). processador e dispositivos de entrada e saída) e o conceito de programa armazenado em memória. como por exemplo. chamado John Von Neumann.23 Evolução dos Computadores Figura 2. o EDVAC (Electronic Discrete Variable Automatic Computer). e particularmente do transistor. O novo conceito de programação introduzido por Von Neumann deu origem a muitos outros projetos. nos quais ele próprio esteve envolvido. que até hoje é a base da arquitetura dos computadores. composta por computadores menores e mais econômicos.000 resistores 10. Veja o ENIAC em números: • • • • • • • 18.6 ENIAC Fonte: História do Computador (2009) O ENIAC realmente possuía dimensões gigantescas.indd S1:23 15/07/2009 15:04:00 . O invento de periféricos como a impressora e dispositivos de fita magnética. marcaram o fim da primeira geração de computadores e o início da segunda. Introdução à Informática introducao_informatica.000 válvulas 70. Ele percebia as dificuldades inerentes à programação destes computadores e delineou com isso os elementos críticos de um sistema de computador (memória. 2. ou seja. Figura 2. além de serem mais confiáveis. que recebia instruções de uma fita magnética de alta velocidade ao invés dos cartões perfurados.. alguém daquela época olhará para um velho computador de mesa encostado em um canto e ficará imaginando como um computador daqueles pode ter sido o que havia de melhor no mundo em uma época passada. que usavam um componente eletrônico chamado transistor.. elas eram consideradas o topo da evolução tecnológica humana. Máquina eletrônica de programa armazenado.3 Segunda Geração A segunda geração foi marcada por computadores transistorizados. Você pode não ter pensado nisso. Entretanto.7 UNIVAC e seus periféricos Fonte: História do Computador (2009) Licenciatura em Informática introducao_informatica. Por conta de também possuir dimensões menores. “Computador Automático Universal”). é preciso entender que elas eram o que de melhor a tecnologia existente poderia construir. Como não existia nada mais avançado na época. Este componente apresentava um consumo e aquecimento muito menores que as válvulas. Provavelmente. Em 1952.1.. 70 anos os computadores serão totalmente diferentes dos que temos agora. destinado ao uso comercial.24 Capítulo 2 Pode parecer estranho e até engraçado que máquinas tão grandes e ineficientes como o ENIAC e o EDSAC fossem o que havia de melhor naquela época. O UNIVAC marcou também o surgimento de dois periféricos: o UNITYPER e UNIPRINTER. mas daqui talvez 60. o UNIVAC foi utilizado para prever os resultados de uma eleição presidencial. sua adoção contribuiu para uma redução no tamanho dos computadores da época. além de muito mais rápidos e econômicos. ou seja.indd S1:24 15/07/2009 15:04:00 . John Mauchly e Presper Eckert abriram sua própria firma na Filadéfia e criaram o UNIVAC (Universal Automatic Computer. a IBM lança o IBM/360. O transistor é um componente eletrônico que começou a se popularizar na década de 1950 tendo sido o principal responsável pela revolução da eletrônica na década de 1960. Figura 2. Jack Kilby e Kurt Lehovec participaram do projeto de desenvolvimento do primeiro CI .1. cuja série marcou uma nova tendência na construção de computadores com o uso de CI. com 800 transistores.Circuito Integrado. que permitiu a substituição de dezenas de transistores numa única peça de silício. viabilizou o surgimento de computadores de menores dimensões. O circuito intergrado é um conjunto de transistores e outros componentes eletrônicos miniaturizados e montados numa única pastilha de silício.indd S1:25 15/07/2009 15:04:01 . feito pela Bell Laboratories: o TRADIC. Robert Noyce. A tecnologia dos circuitos integrados. tornando-se com isso um enorme sucesso comercial. Jean Hoerni. Introdução à Informática introducao_informatica. e cujas funções principais são amplificar e chavear sinais elétricos.4 Terceira Geração De 1958 a 1959.25 Evolução dos Computadores Em 1955. mais rápidos e menos caros. cada um em seu próprio recipiente. Os computadores desta série eram mais poderosos e baratos e aceitavam uma grande variedade de periféricos. Em 1960.8 TRADIC Fonte: História do Computador (2009) 2. conclui-se o primeiro computador transistorizado. do MITS (Micro Instrumentation and Telemetry Systems). pois tornou possível o embarque de computadores mais complexos em foguetes. de forma a conseguir alocar mais transistores em uma mesma pastilha de silício. Esse microcomputador. 2. Licenciatura em Informática introducao_informatica. Roberts esperava vender cerca de oitocentos ALTAIR por ano.9 IBM 360 Fonte: História do Computador (2009) Um outro computador desta geração que conheceu grande sucesso. descendente do processador Intel 8008. foi o minicomputador da série PDP-11. o nível de integração existente nos chips era de pequena escala de integração (SSI –Small Scale of Integration) com a qual cerca de mil transistores podiam integrar-se no circuito de uma pastilha. foram desenvolvidas escalas maiores de integração. necessários para o êxito das missões espaciais.26 Capítulo 2 Em 1965.indd S1:26 15/07/2009 15:04:01 . o 8080. tornou-se um grande sucesso.Novo México. marcando o início de uma indústria multibilionária.000 pedidos. em Albuquerque . primeiro minicomputador comercial com preço competitivo. Com o passar dos anos. O ALTAIR é considerado o primeiro microcomputador comercial criado. construiu um microcomputador chamado ALTAIR 8800. Ed Roberts. construído com base no processador da Intel. mas teve dificuldades para satisfazer 4. e marcou o início da era de popularização dos computadores para usuários domésticos.2 A Era dos Microcomputadores e das Interfaces Gráficas Em 1974. Naquela época. a Digital Equipment introduz o PDP-8. particularmente nas universidades e centros de pesquisa. Figura 2. A invenção dos circuitos integrados teve efeito importante na vitória dos Estados Unidos na disputa espacial com a antiga União Soviética e na conquista da Lua. a forma através da qual o usuário interagia com os computadores era sempre usando comandos inseridos via teclado em uma tela geralmente de baixa resolução. Desta forma. firmou-se uma acirrada disputa que permitiu que milhares de pessoas possuíssem computadores pessoais em suas casas.indd S1:27 15/07/2009 15:04:01 . Em uma visita aos laboratórios da Xerox. o Apple III. com um novo e melhor projeto. ou “Código de Instruções Simbólicas para todos os Propósitos dos Principiantes”) para o ALTAIR. Entretanto. Sthephen Wozniak e Steve Jobs formaram em 1976 uma pequena empresa. primeiro microcomputador com grande sucesso comercial e. Gates e Allen fundaram a Microsoft. dado que até então ela era a maior fabricante de computadores e líder no mercado mundial. sendo acreditando que o lucro residia nos grandes mainframes empresariais.27 Evolução dos Computadores Nesta época. a IBM nunca acreditou que microcomputadores seriam um mercado rentável. começava a existir a necessidade da criação de uma forma mais fácil de interação com o sistema. Após um acordo de parceria entre a Intel e a Microsoft. um dispositivo apontador que foi ridicularizado na época. com o processador chamado 8088 e usando o sistema operacional MS-DOS. chamado de IBM PC. uma das mais bem sucedidas companhias de software para microcomputadores. surge o Apple II. Até ver o sucesso da Apple. Enquanto a comercial criado. onde construíram. mais tarde. a IBM começou a ficar apreensiva. a IBM requisita um projeto de um microcomputador para disputar mercado com a Apple. dois estudantes. a Apple. Steve Jobs. o Apple I. William (Bill) Gates e Paul Allen criam o primeiro software para microcomputador. Com o uso cada vez mais crescente dos computadores por pessoas com pouco conhecimento de informática. da Apple entrou em contato com tecnologias de ponta que estavam sendo desenvolvidas: a interface gráfica e o mouse. ou seja. Percebendo o imenso potencial de usabilidade que tais dispositivos teriam. Um ano depois. Steve Jobs passa a exigir no projeto de seus computadores o uso da interface gráfica. numa garagem de fundo de quintal. Rapidamente. culminando em 1984 Introdução à Informática introducao_informatica. a IBM montou e lançou o primeiro PC – Personal Computer (Computador Pessoal). Percebendo o rápido crescimento da Apple. uma adaptação do BASIC (Beginners All-Purpose Symbolic Instruction Code. Anos mais tarde. ainda havia um problema: todos os computadores da época possuíam a chamada interface de linha de comando. A Apple se tornou uma das maiores fabricantes de microcomputadores e se expandiu rapidamente. e marcou o início da era de popularização dos computadores para usuários domésticos. Essa interface evoluiu para novas versões. Posteriormente. Hoje existe uma clara tendência por computadores cada vez menores. que foi uma interface gráfica para o MS-DOS e era executado no IBM-PC. como telas sensíveis ao toque. culminando no Microsoft Windows. um sistema utilizado por milhões de usuários ao redor do mundo.indd S1:28 15/07/2009 15:04:01 . ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ____________________________________________________ Licenciatura em Informática introducao_informatica.0. a Microsoft lança o WINDOWS 1. a linha de computadores mais conhecida da empresa. mais rápidos e com interface cada vez mais intuitiva. por exemplo. ATIVIDADE 1 Descreva em no máximo três linhas as principais características de cada geração de computadores (3 Linhas para cada geração começando na geração zero). com o uso de dispositivos de fácil interação com o usuário.28 Capítulo 2 com o lançamento do Macintosh. indd S1:29 15/07/2009 15:04:01 .10 Apple II Fonte: História do Computador (2009) Interface Gráfica do usuário é um tipo de interface que permite a interação com dispositivos digitais. através de elementos gráficos como ícones e outros indicadores visuais. A interação é feita através do mouse ou do teclado.29 Evolução dos Computadores Figura 2. Os símbolos são chamados ícones e são agrupados em uma tela gráfica colorida de alta resolução. Figura 2.11 Macintosh Fonte: História do Computador (2009) Introdução à Informática introducao_informatica. com os quais o usuário é capaz de selecionar símbolos e manipulá-los de forma a obter algum resultado prático. em contraste à interface de linha de comando. 2006 [2] MURDOCCA. Atualmente. Introdução a Arquitetura de Computadores. Desta forma. 2001. 2000 [4] TANENBAUM.. L. pode ser definido como um sistema complexo de 100 bilhões de neurônios.. M.. Lembre-se de que a escolha da invenção a ser estudada deve ser feita no Wiki próprio para tal. leia o enunciado da Tarefa 2 no ambiente e siga as regras de formatação e entrega de seu trabalho sobre uma invenção específica. Editora Campus. Organização Estruturada de Computadores. 1999 Atividade 2 Agora é hora de você entender um pouco melhor uma invenção que tenha contribuído para a evolução dos computadores. colocando seu nome na frente da invenção que você escolher. A.P.. de um ponto de vista estritamente funcional. A. [1] MONTEIRO. enquanto no final dos anos 50 (transistores) teria as dimensões do Cristo Redentor e nos anos 60 (circuitos integrados de baixo nível de integração) teria as dimensões de um ônibus. A. Organização e Projeto de Computadores. HEURING V. S. Editora LTC. Para conter o mesmo número de elementos do cérebro. M. um computador dos anos 40 (válvulas) teria as dimensões de São Paulo.indd S1:30 15/07/2009 15:04:02 . mas foram dados poucos detalhes acerca de cada invenção.. Editora LTC. Editora LTC. Rio de Janeiro. D.. primeiramente para permitir uma maior fluidez ao texto e também para que você possa complementar as informações dadas com as pesquisas feitas no seu trabalho. [3] PATTERSON. cérebro e computador estão se equiparando em termos de dimensões. J. HENESSY. Bom trabalho! Licenciatura em Informática introducao_informatica. Não sei se você percebeu. J. Introdução a Organização de Computadores.30 O cérebro humano. é provável que você tenha mais facilidade em achá-lo nas locadoras. O filme reconstitui bem a tecnologia da época. Em busca da liderança do mercado Steve Jobs (Noah Wyle) e Bill Gates (Anthony Michael Hall).indd S1:31 15/07/2009 15:04:02 . Vale muito a pena. Como todo filme. embora seja historicamente falho. Introdução à Informática introducao_informatica. Talvez você tenha um pouco de dificuldade para achá-lo nas locadoras. fundadores das empresas.31 Para quem se interessa pela história da informática. mas ainda sim vale a pena. enfrentam-se em uma guerra de bastidores. as duas maiores empresas de informática do planeta. com DOUGRAY SCOTT e KATE WINSLET e conta um pouco da história dos computadores Colossus e Enigma. vários diálogos são fictícios. pois atribui a um matemático fictício os feitos realizados pelo cientista Alan Turing. mas pelo menos a reconstituição dos acontecimentos é mais fiel à história. • O segundo filme é Piratas da Informática (1999). Apesar de mais antigo que o anterior. indico dois filmes que podem ser interessantes para aumentar seu conhecimento: • O primeiro é o filme Enigma (2001). usados para cifrar e decifrar códigos na 2ª Guerra Mundial. que conta a ascensão da Apple e da Microsoft. pois ele é amplamente utilizado em escolas e faculdades quando se fala em história da informática. 32 Capítulo 2 Licenciatura em Informática introducao_informatica.indd S1:32 15/07/2009 15:04:02 . 33 Métodos e Estratégias de Estudo Linguagem C SISTEMAS NUMÉRICOS Prezado aluno. Sendo assim. Veremos que seria muito complexo para o computador entender os dados da forma como entendemos. A necessidade de contar começou com o desenvolvimento das atividades humanas. Vimos no capítulo passado que os homens primitivos não tinham necessidade de contar. Um sistema numérico é definido pela base que utiliza. ou algarismos. quando o homem foi deixando de ser pescador e coletor de alimentos para fixar-se no solo.1 Introdução aos Sistemas Numéricos Sistemas numéricos são sistemas de notação usados para representar quantidades abstratas denominadas números. Bom estudo! 3. Na atividade proposta no ambiente. está na hora de conhecer como o computador entende internamente os dados inseridos pelo usuário. o 0 (zero) e o 1 (um). necessários para representar um número qualquer. Introdução à Informática introducao_informatica. A base é o número de símbolos diferentes.indd S1:33 15/07/2009 15:04:02 . ele usa uma linguagem muito mais simples para tal. Ao final da leitura do capítulo. os objetivos que você deve atingir são: entender a importância dos sistemas binário e hexadecimal para os computadores e como números expressos em um sistema podem ser transformados em números em outro sistema numérico. pois o que necessitavam para a sua sobrevivência era retirado da própria natureza. Agora que você já entendeu alguns conceitos básicos sobre a organização do computador e viu como foi seu processo de evolução. você deverá realizar os exercícios que estão no final do capítulo e enviá-los de acordo com as instruções. dos infinitos possíveis no sistema. onde existem apenas dois símbolos. Por exemplo. 110. Caso o resultado possa ainda ter outra divisão pela base. poderíamos realizar a seguinte operação: Licenciatura em Informática introducao_informatica. 1. Sistema Binário O sistema binário. que é o valor absoluto de um número decimal de 4 dígitos d3d2d1d0 é D = d3*103 + d2*102 + d1*101 + d0*100. Desta forma. o número 547 pode ser representado como 547(10) = 5x102 + 4x101 + 7x100 = 500 + 40 + 7 = 547..1. ou seja. Tomando como exemplo o sistema decimal. divide-se o número decimal pela base 2. Por exemplo: 1001 = 1x23 + 0x22 + 0x21 + 1x20 = 8 + 0 + 0 + 1 = 9 Desta forma. teremos o número em questão. multiplica-se o algarismo do número binário pela base elevada ao expoente de sua posição no número. Com isso.1. sendo que a base do número binário é sempre dois. 3.indd S1:34 15/07/2009 15:04:02 . 10. Para se converter um número binário em um número decimal. para achar o número binário correspondente ao número decimal 18. um número é representado por uma sequência de dígitos na qual cada posição de dígito tem um peso associado. 11. 1... ou base 2. 2. é só somar as parcelas. surgiram os sistemas numéricos para que fosse possível representar uma variedade sem limites de diferentes números. O sistema de Leibniz utilizou 0 e 1. O sistema decimal é um sistema de notação posicional. 1000.34 Capítulo 3 Desta necessidade primitiva de cálculo. Nesse sistema a contagem é realizada do seguinte modo: 0. tal como o sistema numérico binário corrente nos dias de hoje. tornar-se-á a fazer esta operação. até termos um resultado que não possa mais ser dividido pela base. sendo que este expoente é acrescido a 1 à medida que vamos seguindo os dígitos da esquerda para a direita. o dígito menos significativo (mais a esquerda) é sempre multiplicado por 20. Em um sistema de número posicional. .1. 9). obtendo um resultado e um resto. O sistema numérico binário moderno foi documentado de forma abrangente por Gottfried Leibniz no século XVIII em seu artigo “Explication de l’Arithmétique Binaire”. apresenta unicamente dois dígitos: 0. Para se transformar um número decimal em um número binário. Talvez o primeiro sistema numérico moderno existente seja o sistema decimal devido à sua natural associação com os dedos das mãos. 101. dê como quociente o resultado zero.. ou base 10. sendo o primeiro dígito igual ao último resultado. 100. 111. que é o sistema numérico que utilizamos diariamente (0. Após fazer as devidas multiplicações de dígito por base elevada ao expoente. o valor D. . A.1. 2. 3. Para convertermos um número hexadecimal em número binário. podemos perceber que após realizarmos a divisão.1: conversão decimal .indd S1:35 15/07/2009 15:04:02 . D. 8. só precisamos pegar os restos das divisões sucessivamente feitas. 1. F.2: exemplos de conversão binário . compormos o número binário correspondente. 5.35 Sistemas Numéricos Figura 3. e se faz a conversão desses grupos individualmente em algarismos hexadecimais. Ainda é possível utilizar um H ao final do número.2 Sistema Hexadecimal No sistema hexadecimal utilizam-se 16 símbolos diferentes. C. temos as letras de A a F. Assim. B. nós contamos os dígitos hexadecimais da seguinte forma: 0. 6. para mostrar que se trata de um número hexadecimal. 7.hexadecimal Introdução à Informática introducao_informatica. 4. E. mas obedecendo sempre a transformação com quatro dígitos binários para cada digito hexadecimal. Essas letras representam os números de 10 a 15. 9. que vão de 0 a 9 e a partir do 9. 3. de trás para frente para. desta forma. Desta forma: Figura 3.binário Desta forma. tomase cada grupo de quatro algarismos binários da direita para a esquerda. correlação entre os sistemas binário.indd S1:36 15/07/2009 15:04:02 . binário e hexadecimal.conversão de um número hexadecimal em binário Licenciatura em Informática introducao_informatica. Figura 3.3 .4. Por exemplo: Figura 3. decimal e hexadecimal Para se converter um número hexadecimal em um número binário toma-se cada algarismo hexadecimal e transforma-o em binário individualmente.3 mostra a correlação entre os sistemas decimal. mas obedecendo sempre a transformação com quatro dígitos binários para cada número hexadecimal.36 Capítulo 3 A figura 3. é necessário convertermos cada algarismo hexadecimal maior que 9 em um número decimal. Desta forma. foi possível entender o processo de conversão entre os sistemas numéricos mais comuns. Para convertermos um número hexadecimal em decimal. pois o 0 é 0000 em binário e o F é 1111. Mas qual a utilidade destes sistemas para a informática em geral? Entenderemos isto na próxima seção. Já para convertermos um número decimal em hexadecimal.5. dividindo por 16 em vez de 2. para convertermos 32 em hexadecimal: Figura 3. O número binário correspondente será a junção dos conjuntos de números binários criados a partir da conversão de cada algarismo hexadecimal.37 Sistemas Numéricos Você deve estar se perguntando por que precisamos de quatro algarismos binários para cada número hexadecimal.conversão de um número decimal em hexadecimal Recolhemos então os restos de trás para frente para criarmos o número hexadecimal correspondente.indd S1:37 15/07/2009 15:04:02 . para representarmos todos os algarismos hexadecimais de 0 a F. sendo a base 2 logicamente trocada por 16. Introdução à Informática introducao_informatica. nós utilizamos a mesma fórmula utilizada na conversão de um número decimal em binário. Isto se deve ao fato de que. Por exemplo. Por exemplo. para convertermos B2Ah em decimal: B2Ah = 11*162 + 2*161 + 10*16°= 2816 + 32 + 10 = 2858 Desta forma. precisamos de 4 algarismos binários. nós utilizamos a mesma fórmula utilizada na conversão binário para decimal. de modo que possam ser feitas as operações de multiplicação e soma para se achar o resultado. Por exemplo. e bem maior que seu correspondente em hexadecimal. um número em notação binária será sempre maior que seu correspondente em notação decimal.indd S1:38 15/07/2009 15:04:03 . ATIVIDADE 1 Realize as seguintes conversões: a) converta os seguintes números do sistema binário para o sistema decimal: 1110 1010 1100110001 b) converta os seguintes números decimais para o sistema binário: 21 552 715 c) transforme os números abaixo de binário para hexadecimal: 1100011 11000111100011100 1000110011 d) Transforme os números hexadecimais abaixo em números binários: 1EDH ABFH 37 H Licenciatura em Informática introducao_informatica.38 Capítulo 3 Observe que quanto menor é a base do sistema maior em quantidade de algarismos são os números que podem ser formados pelo sistema. OS NÚMEROS RESULTANTES SEMPRE SÃO MÚLTIPLOS DE 2.2 Representação Interna de Dados no Computador Ainda que possamos visualizar os dados que entram e saem do computador em uma multiplicidade de formas diferentes.576 bytes = 1. e é utilizado para representar um caractere de dados na maioria dos esquemas de codificação em computador (por exemplo. Via de regra. Introdução à Informática introducao_informatica. pelo que o seu sistema de numeração natural é o sistema binário (aceso. Um bit é o menor elemento dos dados (um dígito binário) que pode ter valor zero ou um. A razão pela qual toda a informação no computador é representada apenas por dois símbolos é que os computadores digitais trabalham internamente com dois níveis de tensão. a importância de conhecer o sistema binário reside no fato de que este é o sistema usado para armazenar todos os tipos de dados do computador. as informações geralmente são armazenadas sob a forma de bytes. internamente o computador só consegue entender dados armazenados em um formato: o binário.073. Portanto. 8 bits = 1 byte). Com efeito.824 bytes = 1. As principais unidades de medida existentes são: 1 Byte = 8 bits 1 KB (Kilobyte) = 210 = 1024 bytes 1 MB (Megabyte) = 220 = 1024 Kbytes = 1. com o auxílio da lógica booleana. COMO A BASE USADA É BINÁRIA. apagado). que é o grupamento básico de bits que o computador opera como uma unidade singular.741. A capacidade dos dispositivos de memória de um computador é normalmente expressa em termos de bytes. o byte consiste em oito bits.099.776 bytes 1 GB (Gigabyte)= 230 = 1024 MB 1 TB (Terabyte)= 240 = 1024 GB MUITAS PESSOAS SE QUESTIONAM O PORQUÊ DE AS UNIDADES DE MEDIDA DO BYTE NÃO SEREM NÚMEROS MÚLTIPLOS DE 10. num sistema simples como este é possível simplificar o cálculo.39 Sistemas Numéricos 3. ISTO SE DÁ PELO FATO DE QUE. Dentro dele.627.511.048.indd S1:39 15/07/2009 15:04:03 . 40 Capítulo 3 O sistema binário é base para a Álgebra booleana (de George Boole matemático inglês).indd S1:40 15/07/2009 15:04:03 . particularmente sua aplicação a circuitos eletrônicos. tudo ou nada. que permite representar por circuitos eletrônicos digitais (portas lógicas) os números ou caracteres. Você deve se lembrar que foi dito que quando menor é a base do sistema. Foi proposta em 1854 pelo o matemático britânico George Boole. estruturas que permitem equacionar as expressões lógicas. ser enviados pelo teclado ou por outro dispositivo de entrada de dados e instruções. inclusive. ligado e desligado). etc) sob esse formato. sinais especiais e até sinais que não podemos ver. Licenciatura em Informática introducao_informatica. Os programas de computadores são codificados sob forma binária e armazenados nas mídias (memórias. Por essa razão. Os bytes representam todas as letras (maiúsculas e minúsculas). mas que servem para comandar o computador e que podem. e realizar operações lógicas e aritméticas. um número muito grande em binário se torna sensivelmente menor em hexadecimal. discos. Seu sistema lógico tornou-se essencial para o desenvolvimento do sistema binário. que publicou um artigo fundamental detalhando um sistema lógico que se tornaria conhecido como Álgebra Booleana. ou seja. falso e verdadeiro. Desta forma. sinais de pontuação. que permite fazer operações lógicas e aritméticas usando-se apenas dois dígitos ou dois estados (sim e não. pelo fato de que dois algarismos hexadecimais são o bastante para representar toda a informação representada por um byte. Toda eletrônica digital e computação está baseada nesse sistema binário e na lógica de Boole. A álgebra de Boole é um conjunto de estruturas algébricas que “capturam a essência” das operações lógicas. você pode estar se perguntando: qual a importância do sistema hexadecimal neste contexto? O sistema hexadecimal possui uma profunda aplicação na informática. acentos. a notação hexadecimal é usada para simplificar representações de grandes volumes de informação armazenados em binário no computador. 1 ou 0. maior é a quantidade necessária de dígitos para representar certo número. Ainda que tenha ficado clara a importância do sistema binário. essa informação é inserida no computador na forma de caracteres inteligíveis ao homem. Esses caracteres habilitam a impressora a imprimir símbolos adicionais. o restante é composto por caracteres imprimíveis.2. algumas impressoras reconhecem um ASCII estendido. portanto. No início.41 Sistemas Numéricos 3. Código Ascii Nos parágrafos anteriores foi apresentada a ideia de que toda informação existente no computador está organizada na forma de números binários. 33 não são imprimíveis. como o computador representa os caracteres do usuário na forma de números binários e depois faz o processo inverso? A resposta é simples: para essa tarefa são usados códigos que atribuem a cada caractere do teclado um código binário único. Um dos códigos mais usados e amplamente aceitos é o código ASCII. mas muitos computadores manipulam uma quantidade de 8 bits (byte). um código de 7 bits. dependendo da aplicação. como o alfabeto grego ou fontes do tipo itálico.Código ASCII Fonte: História do Computador (2009) Introdução à Informática introducao_informatica. que afetam o processamento do texto. com o bit mais significante igual a 0. ASCII é. como caracteres de controle atualmente obsoletos.6.1. Desses. Exceto pelo caractere de espaço. Por exemplo. preenchendo completamente os sete bits disponíveis. os caracteres ASCII devem ser frequentemente armazenados um por byte. com os caracteres adicionais iniciando pelo bit mais significativo igual a 1. usado para propósitos específicos. Figura 3. Portanto. algumas vezes. Então. Entretanto. que permitiam a definição de 128 caracteres. eram usados códigos de 7 bits. O bit extra é.indd S1:41 15/07/2009 15:04:03 . Atividades 1 – Realize as atividades abaixo e envie-as de acordo com o enunciado da Tarefa 3 do ambiente: Converta para o sistema decimal: a) 11000102 = b) 01111002 = c) 1000010102 = d) 1010110012 = e) 20F16 = f) 4BE16 = g) 100A16 = h) 9F016 = Licenciatura em Informática introducao_informatica. S. Introdução a Organização de Computadores.. HEURING V. J..42 Capítulo 3 [1] MONTEIRO. ainda temos outras codificações como ISO Latin-1. A. os caracteres ANSI. 2001. código ASCII não é a única codificação binária possível de caracteres existente. M. Editora LTC.. Editora LTC. Introdução a Arquitetura de Computadores. suportados pelo Windows e o padrão UNICODE.. 2000 [4] TANENBAUM. Editora Campus. HENESSY. EBCDIC (Extended Binary Coded Decimal Interchange Code) que é um padrão de propriedade da IBM. Organização e Projeto de Computadores. Organização Estruturada de Computadores. M. Além dele... Editora LTC.P. L. [3] PATTERSON. 2006 [2] MURDOCCA. A. D. 1999 Apesar de ser o mais famoso.indd S1:42 15/07/2009 15:04:03 . Rio de Janeiro. A. J. indd S1:43 15/07/2009 15:04:03 .43 Sistemas Numéricos 2 .Converta para o sistema binário: a) 14410 = b) 30110 = c) 7210 = d) 23110 = e) 20216 = f) F1616 = g) AA0B16 = h) D99F16 = 3 .Converta para o sistema hexadecimal: a) 125310 = b) 81910 = c) 301410 = d) 160010 = e) 01110110112 = f) 10001100012 = g) 1101110002 = h) 11101 Introdução à Informática introducao_informatica. 44 Capítulo 3 Licenciatura em Informática introducao_informatica.indd S1:44 15/07/2009 15:04:03 . é hora de entender como o computador funciona na prática e a forma como seus programas do dia-a-dia são executados internamente. quando pensamos no uso diário do computador. mas a obtenção deste conhecimento exigirá que você saiba fazer as devidas associações sobre tudo que viu até agora. sua evolução até os dias atuais e a forma de representação de dados entendida por ele. como os componentes dos quais falamos até então. dispositivos palpáveis. Introdução à Informática introducao_informatica. Desta forma. ou seja. Entretanto. ainda que não seja possível imaginar o uso do computador sem um deles. Podemos perceber que há uma clara diferença entre os dispositivos físicos e os programas. Esses programas não são físicos. mas são essenciais para nossas atividades. você irá obter um conhecimento mais profundo da máquina. falamos apenas de dispositivos físicos do computador. Bom estudo! 4. damos a denominação de hardware a todos os itens físicos do computador e a denominação software a todos os itens lógicos.1 Hardware X Software Até este momento. Os objetivos que esperamos de você ao final deste capítulo são: entender as diferenças básicas entre software e hardware. ou seja. você deverá realizar os exercícios que estão no final do capítulo. sempre fazemos uma associação com os programas que usamos em nosso dia-a-dia.indd S1:45 15/07/2009 15:04:03 . Assim sendo. todos os programas instalados no computador. entender como os mesmos se complementam e compreender como se organiza internamente um sistema computacional. que podem ser tocados. Agora que você já obteve conhecimentos acerca da organização básica do computador.45 ORGANIZAÇÃO E ARQUITETURA DE SISTEMAS DE COMPUTADORES ATUAIS Prezado aluno. Na atividade proposta no ambiente. Fazem parte deste grupo a BIOS (Basic Input Output System). que compreende todas as pessoas envolvidas em um sistema de computação. Estas ideias são tão difíceis de desassociar que geralmente falamos dos dois como um conjunto. o software do computador possui algumas divisões conhecidas.sendo constituído dos seus componentes mecânicos.46 Capítulo 4 O hardware representa a parte física (equipamentos) de um computador . da mesma forma que não teria nenhuma utilidade ter um software sem um computador para executá-lo. ainda existe o Peopleware. elétricos e eletrônicos -. teclado. modem e mouse. apresentaremos algumas delas. fornecendo uma forma de interação entre este usuário e o dispositivo. Além do hardware e software. os drivers de dispositivos e o sistema operacional. Os drivers de dispositivo são programas que fazem parte do núcleo do sistema operacional e possuem como função “dirigir” ou controlar o funcionamento de um dispositivo (geralmente de entrada e saída). Não faz muito sentido pensar no uso de um computador sem software instalado. incluindo quaisquer equipamentos periféricos. desde engenheiros de hardware e software até usuários finais. 4. sob o nome de sistema computacional ou sistema de computação. Software Básico Podemos definir software básico como “software usado para controlar ou coordenar o uso do hardware entre vários programas aplicativos e usuários.indd S1:46 15/07/2009 15:04:03 . tais como impressora. Licenciatura em Informática introducao_informatica. Devido à sua diversidade e vasta utilidade na atividade humana.” Tais softwares caracterizam-se por forte interação com hardware de computador e por um intenso uso de múltiplos usuários. A seguir.1.1. não entraremos em detalhes adicionais acerca do sistema operacional. ou “sistema básico de entrada e saída”. são úteis para garantir a estabilidade e o bom funcionamento do sistema. A Bios é a primeira camada de software do sistema. Ele também tem por função realizar a interação entre o usuário e os dispositivos do sistema. gerência das operações de entrada/saída. Linux. reconhecendo os dispositivos instalados no micro e realizando a inicialização do sistema. Introdução à Informática introducao_informatica. O sistema operacional é o principal programa do sistema. 4. gestão da memória principal proteção do sistema computacional Por conta da existência de uma disciplina específica sobre o assunto no curso. Exemplos de sistemas operacionais são o Windows.1. que fica gravada em um pequeno chip na placa mãe. mas como o nome diz. permitindo um uso mais fácil do computador pelo usuário.2 Utilitários Utilitários são programas criados para auxiliar a utilização de um Sistema Operacional. e tem a função de “dar a partida”. desfragmentadores de disco etc. Os utilitários geralmente não são usados para nenhuma atividade de produção humana direta.47 Organização e Arquitetura de Sistemas de Computadores Atuais Bios significa “Basic Input Output System”. fornecendo ao usuário um ambiente conveniente e eficiente para executar seus programas. A maioria dos sistemas operacionais oferece um conjunto de programas utilitários que tornam o ambiente mais conveniente para o desenvolvimento e execução de programas. Um sistema operacional é um programa que atua como intermediário entre o usuário e o hardware de um computador e tem por função gerenciar os recursos de hardware disponíveis. UNIX. que controla todos os recursos do computador (dispositivos físicos e funções de software). detecção de erros alocação de recursos. etc.indd S1:47 15/07/2009 15:04:03 . Dentre suas várias funções específicas. Estão nesta categoria os verificadores de disco. podemos citar: • • • • • • • execução de programas. manipulação do sistema de arquivos. A Figura 1. dentre outros. A divisão de software acima é a mais comum. A descrição da arquitetura destaca as funções dos componentes básicos de um computador.indd S1:48 15/07/2009 15:04:03 . mas não é a única existente. programas de editoração gráfica. você conseguiria pensar em alguma outra categoria de software existente não citada no texto? 4. permitindo um alto nível de interatividade.3 Aplicativos Como o nome propriamente diz. A arquitetura de um computador é um modelo da organização e funcionamento de um sistema de processamento. basicamente os microcomputadores. etc. aplicativos são programas criados para serem “aplicados” em atividades humanas.1. Licenciatura em Informática introducao_informatica.48 Capítulo 4 4. São exemplos de aplicativos: editores de texto. Organização típica de um computador. comunicação.1 mostra a organização típica de um sistema computacional. definir precisamente o significado que aqui será dado ao termo “arquitetura de computador”.1. Sendo assim. Esta seção focaliza aqueles tipos de sistemas que já fazem parte do nosso cotidiano profissional. é importante. em primeiro lugar. Figura 4. a interconexão destes componentes e o modo como os componentes interagem. como edição de texto. Possuem geralmente interface gráfica de fácil interação com o usuário.2 O Conceito de Arquitetura Esta é uma seção introdutória sobre arquitetura de computadores. criação de planilhas eletrônicas. programas para envio de e-mail. Instruções e dados ficam armazenados em locações de memória. Essa interface possibilita a comunicação entre o computador e o dispositivo de forma inteligível. É o processador que realiza todas as operações sobre os dados. Introdução à Informática introducao_informatica. A Figura 4. Uma interface de entrada e saída é um canal de comunicação entre o computador e um dispositivo de entrada e saída. O processador é o componente ativo. controlador de todo o sistema. como estão interconectados (através de um barramento) e como interagem (troca de endereços. teclado. o endereço da locação de memória que contém a informação onde será feito o acesso. A memória principal armazena as instruções que são executadas pelo processador. Conforme mencionado acima. Para realizar o acesso a uma informação. O acesso às interfaces de entrada/saída é semelhante. através do barramento. e os dados que serão manipulados. Os componentes básicos são interconectados por meio de um barramento. através do qual o processador realiza o acesso a instruções e dados armazenados na memória principal. também através do barramento.1 e a discussão a ela associada descrevem sucintamente a arquitetura de um computador. o conhecimento aqui visto é o suficiente.indd S1:49 15/07/2009 15:04:04 . às quais estão conectados os dispositivos periféricos tais como monitor de vídeo. Por ora.49 Organização e Arquitetura de Sistemas de Computadores Atuais Esta figura mostra os três componentes básicos de um computador: o processador (também conhecido como unidade central de processamento). instruções e dados através do barramento). a memória principal e as interfaces de entrada e saída. memória principal e interfaces) e suas funções. a arquitetura será descrita com mais detalhes. É também através desse mesmo barramento que o processador recebe ou envia dados para as interfaces de entrada/saída. sendo cada interface identificada por um endereço único. de acordo com o indicado pelas instruções no código do programa. essa descrição indica quais são os componentes básicos da arquitetura (processador. As interfaces de entrada e de saída são as portas de comunicação para o mundo externo. possibilitando ao sistema controlar o funcionamento do dispositivo. na memória principal. discos e impressora. Nos capítulos que se seguem. o processador envia para a memória. A informação é trocada entre o processador e a memória. Finalmente.2.2. o modo como instruções são executadas pelo processador e o seu conjunto de instruções. são descritas a organização e as funções de um sistema operacional e são especificados os serviços oferecidos por esse sistema. ou seja. Níveis de arquitetura O nível de arquitetura de processador descreve a organização e o funcionamento de um dos componentes de um sistema de processamento. Licenciatura em Informática introducao_informatica. O próximo nível é o de arquitetura de computador que. Nele. levando a diversos níveis de arquitetura conforme mostra a Figura 4. o conceito de arquitetura pode ser aplicado a diferentes sistemas de hardware e software. o nível de arquitetura de rede de computadores aborda um sistema formado por computadores interligados por um meio de comunicação. como já visto. descreve o sistema de processamento como um todo.3 Níveis de Arquitetura Na realidade. Figura 4. 4. O nível seguinte é o de arquitetura de sistema operacional. Nesse nível são descritos os elementos básicos de um processador. não sendo considerados os acessórios externos sem ligação com os componentes internos É que a arquitetura de um computador é ditada pelos componentes envolvidos em seu sistema de processamento. na execução de programas.indd S1:50 15/07/2009 15:04:04 . bem como os protocolos de comunicação usados na troca de informações entre os computadores. No nível de arquitetura de redes é descrita a conexão física entre os computadores.50 Capítulo 4 Observe que foi dada ênfase aos componentes internos do computador. O perfeito entendimento de um nível mais elevado exige a compreensão de vários aspectos de um ou mais níveis inferiores. que criam uma “ponte” entre as duas linguagens. que associam o nome da instrução à sua função. Delphi ou C. já que as mesmas são representadas internamente na forma de números binários. o que é abordado no nível de arquitetura de processador. Esta transformação é necessária porque para nós. Por exemplo. Introdução à Informática introducao_informatica. A linguagem de montagem é uma forma de representar textualmente as instruções oferecidas pela arquitetura. ADD (soma) ou SUB (subtração). existem os compiladores. Para vencer o abismo semântico entre nossa linguagem e a linguagem do computador. para entender o gerenciamento de memória virtual — um assunto que é tratado dentro do nível de arquitetura de sistema operacional — é necessário conhecer o suporte para memória virtual oferecido pelo processador. No programa em linguagem de montagem.51 Organização e Arquitetura de Sistemas de Computadores Atuais É muito importante perceber que os níveis de arquitetura não estão isolados. Atualmente. como vimos anteriormente. o processador só entende códigos binários.4 Compilação de Programas Em geral. todos os programas usados no seu dia-a-dia são desenvolvidos em uma linguagem de alto nível como Java. como por exemplo. O compilador traduz o programa de alto nível em uma sequência de instruções de processador. 4.indd S1:51 15/07/2009 15:04:04 . Entretanto. está cada vez mais claro que o pleno domínio de algumas áreas da computação exige do indivíduo uma visão de conjunto destes quatro níveis de arquitetura. ou seja. é muito mais fácil programar em uma linguagem de programação de alto nível. mais próxima da nossa linguagem natural. O resultado dessa tradução é o programa em linguagem de montagem (assembly language). as instruções são representadas através de mnemônicos. Cada arquitetura possui uma particular linguagem de montagem. seres humanos. o processador executa programa em linguagem binária. Compilador é um programa de computador que substitui cada instrução de uma linguagem de programação por um conjunto de instruções equivalentes de uma linguagem mais próxima do processador.indd S1:52 15/07/2009 15:04:04 . cada linguagem de programação tem seu próprio compilador para cada família de equipamentos. Etapas na compilação de um programa Linguagem de programação – conjunto bem definido de símbolos. regras sintáticas e semânticas. Em função de suas peculiaridades. No processo de compilação.3. todo o programa é traduzido uma única vez para linguagem de máquina e executado várias vezes. O montador traduz diretamente uma instrução da forma textual para a forma de código binário. O programa em linguagem de montagem é convertido para um programa em código objeto pelo montador (assembler).52 Capítulo 4 Figura 4. Assim. utilizado para escrever programas de computador. É sob a forma binária que a instrução é carregada na memória e interpretaLicenciatura em Informática introducao_informatica. pois como já citado. Cada módulo é separadamente compilado e submetido ao montador.5 Execução de Programas Como já vimos nas seções passadas. Desta forma. resultando finalmente no programa executável que é carregado na memória. qualquer programa precisa ser convertido em código binário para ser executado. ou de sites na Web. quando o usuário quer executar um programa.53 Organização e Arquitetura de Sistemas de Computadores Atuais da pelo processador. Esse ícone (um atalho) nada mais é que uma forma mais rápida de acessar o programa no disco rígido. 4. e após isso passam a residir no computador sob a forma de arquivos no disco rígido (HD). o qual é acessado pelo sistema operacional e colocado na memória principal. um programa é uma sequência de instruções. como tais códigos chegam até o computador? Geralmente. o computador só consegue entender dados que estejam em binário. é necessário que ele esteja na memória principal para ser executado. que ensinam o computador a resolver de forma automatizada um problema da vida prática humana. Introdução à Informática introducao_informatica. gerando diversos módulos em código objeto. Os programas são codificados em uma linguagem de alto nível e posteriormente são compilados. Programas complexos são normalmente estruturados em módulos. Entretanto. Estes módulos são reunidos pelo ligador (linker). Mas. os programas são instalados nos computadores através de mídias (Cds. Desta forma. DVDs). ele não pode ser acessado diretamente no HD pelo processador. CADA ARQUITETURA DE PROCESSADOR POSSUI UMA LINGUAGEM DE MONTAGEM EM PARTICULAR QUE CORRESPONDE AO SEU CONJUNTO DE INSTRUÇÕES E CADA COMANDO EM LINGUAGEM DE MONTAGEM PRODUZ EXATAMENTE UMA INSTRUÇÃO DE MÁQUINA.indd S1:53 15/07/2009 15:04:04 . ou seja. Como já citado. ele geralmente clica em um ícone existente na área de trabalho do seu sistema operacional. gerando assim um código executável. que na verdade é composto por várias sequências de números binários. uma das principais funções e utilidades de um sistema computacional para o usuário é a possibilidade de execução de programas úteis para a vida prática. quando um programa precisa ser executado. entram em ação os dispositivos de entrada e a saída. seus arquivos continuam existindo no disco rígido. é apagada sempre que o computador é desligado. Licenciatura em Informática introducao_informatica. sendo que muitas pessoas acreditam que a memória principal dita a quantidade de arquivos que podem ser armazenados no computador. o tamanho da memória principal é sempre relacionado à velocidade de execução dos programas no computador. o que acarretará na liberação do espaço ocupado por ele na memória principal. Desta forma. como alguma mídia removível (pen-drive. pois a memória principal. CD. Na verdade. caso não sejam gravados em algum dispositivo de armazenamento. Por isso.indd S1:54 15/07/2009 15:04:04 . Desta forma. A partir daí. ele deve arquivá-los em algum dispositivo de armazenamento. dependendo do tamanho do programa. disquete. como forma de inicializar ou executar determinadas tarefas. que são usados para permitir ao usuário efetuar a entrada de dados no programa. ele pode ser fechado (encerrado). se o usuário considera que os resultados produzidos serão úteis em outra ocasião. é o tamanho do disco rígido que dita a capacidade de armazenamento de arquivos. que então permite que o usuário possa usufruir dele. o programa começa a ser executado pelo processador. onde ficam alojadas as informações enquanto houver energia na máquina. dentro de um aplicativo. Entretanto. DVD). Após ser armazenado na memória principal.54 Capítulo 4 Ícones . O processo de transferência do programa do disco rígido para a memória principal pode demorar um pequeno intervalo de tempo. existe uma pequena demora (que varia em relação à configuração do seu computador) do momento em que se clica em um ícone de atalho até o momento em que o programa é efetivamente aberto para uso pelo usuário. enquanto o tamanho da memória principal dita a quantidade de programas que podem ser executados simultaneamente. e também permitir a visualização dos resultados do processamento nele feitos. de forma que ele possa ser executado outras vezes. Quando o programa não mais apresenta serventia para o usuário.símbolos gráficos utilizados como forma de executar aplicativos a partir da interface gráfica do sistema operacional ou. as informações geradas pelo programa serão perdidas. É comum a confusão entre os conceitos de memória principal e disco rígido. Entretanto. que pode ser tanto o disco rígido (que é o de uso padrão). . seguindo as instruções de formato e data de entrega descritas na Tarefa 4: 1) Qual a atividade de um compilador? Por que ele é essencial na criação de programas? 2) Qual a diferença entre um programa em linguagem de alto nível e um programa em linguagem de montagem? 3) Qual a diferença entre um aplicativo e um utilitário? Cite dois aplicativos e utilitários que você no seu dia-dia seja no trabalho. D. M. Introdução a Arquitetura de Computadores. por que na organização da arquitetura em níveis. 6) Pesquise na Internet e explique com suas palavras qual a diferença entre um erro de compilação e um erro de execução. HENESSY. descreva o processo de utilização dele desde sua inicialização.. o nível de computador fica acima do processador. passando pela gravação de informações no HD e terminando com seu encerramento.indd S1:55 15/07/2009 15:04:04 .. 2000 [4] TANENBAUM. Introdução a Organização de Computadores. 2001. escola ou em casa. L. Editora LTC.55 Organização e Arquitetura de Sistemas de Computadores Atuais [1] MONTEIRO. (explique o que acontece internamente no computador em cada etapa do uso do software). J. 4) Explique com suas palavras. 7) Pesquise na Internet e cite pelo menos 3 diferenças entre a forma como a memória principal do computador armazena dados e como o disco rígido armazena os dados. Editora LTC. [3] PATTERSON. 1999 Atividades Responda às questões abaixo e depois envie-as pelo ambiente Moodle. Editora LTC. HEURING V. Organização e Projeto de Computadores. Introdução à Informática introducao_informatica. J. Organização Estruturada de Computadores. Rio de Janeiro. 5) Utilizando um software de sua escolha.. A.. A.P. Editora Campus. o de sistema operacional acima do nível de computador e o de rede acima dos demais (deixe claro em sua resposta a relação existente entre estes níveis). S. 2006 [2] MURDOCCA.. M. A. 56 Capítulo 4 Licenciatura em Informática introducao_informatica.indd S1:56 15/07/2009 15:04:04 . Agora que você já conheceu a arquitetura básica de um computador. a interação é feita através de uma sequência de leituras e escritas a endereços de memória específicos.57 MEMÓRIA Prezado aluno.1 Introdução à Informática introducao_informatica.1 Introdução Num sistema de computador. tanto a CPU quanto os dispositivos de E/S (Entrada e Saída) interagem com a memória. Trata em detalhe o mecanismo de acesso do processador à memória principal e. em seguida. Dado que cada conteúdo (palavra ou byte) armazenado na memória possui seu próprio endereço. Em um sistema de computador. Bom estudo! 5. apresenta os conceitos de memória cache. você deve resolver os exercícios propostos. existem tipos de memória com diferentes características.indd S1:57 15/07/2009 15:04:04 . apresenta os principais tipos e características de dispositivos de memória e analisa a organização da memória principal. Este capítulo introduz os componentes normalmente encontrados no sub-sistema de memória de um microcomputador ou de uma estação de trabalho. está na hora de conhecer cada um dos componentes desta arquitetura. Como de costume. apresenta os principais tipos e características de dispositivos de memória. encerrando-se o capítulo. que formam uma hierarquia como a ilustrada na figura 5. Finalmente. 58 Capítulo 5 Figura 5. Os registradores possuem um tempo de acesso praticamente nulo. Estas memórias são as mais rápidas e com o maior custo por bit. No segundo nível. mas também possuem uma capacidade de armazenamento muito pequena. DVD. etc. Partindo do nível mais inferior da Figura 5.1 Hierarquia de Memória A hierarquia de memória pode ser analisada segundo suas capacidades de armazenamento. observa-se que as memórias secundárias são capazes de armazenar uma grande quantidade de informação. custo por bit e tempo de acesso. Seu custo por bit é maior e seu tempo de acesso é menor do que as memórias secundárias. No nível seguinte da hierarquia estão as memórias cache. As memórias dos diferentes níveis da hierarquia são produzidas de acordo com uma série de tecnologias diferentes.indd S1:58 15/07/2009 15:04:04 . Veremos quais são estas tecnologias na próxima seção.1. Licenciatura em Informática introducao_informatica. Seu custo por bit é menor e o seu tempo de acesso é relativamente maior do que as memórias dos níveis superiores. unidades temporárias de armazenamento que existem dentro dos processadores. Por serem muito caras as memórias cache são pequenas. isto é. como HD. CDs. geralmente na ordem de 32 ou 64 bits. possuem menor capacidade de armazenamento em relação às demais. está a memória principal ou memória RAM. No topo da hierarquia estão os registradores. Ela é capaz de armazenar uma quantidade menor de informação. As memórias secundárias geralmente são memórias de disco. já que se encontram dentro da própria pastilha do processador. Memórias deste tipo são usadas para armazenar as instruções e dados de um programa em execução. ou simplesmente EPROM (Erasable Programmable Read Only Memory). As rotinas que formam o BIOS são armazenadas em memórias do tipo EPROM. mas que pode ser apagada em uma operação normal do computador. Memórias PROM. Apesar de poder ser apagada. o conteúdo de uma memória EPROM pode ser apagado. Dentre as memórias eletrônicas. e que interagem diretamente com o hardware do computador. sem uma ordem definida. podemos destacar alguns tipos. ou SRAM (Static RAM) e as me Introdução à Informática introducao_informatica. O BIOS (Basic Input/Output System) em sistemas microcomputadores do tipo IBM PC é um exemplo de firmware. preserva o seu conteúdo sem a necessidade de fonte de alimentação. e não podem ser modificadas após o seu armazenamento. Como a própria denominação indica. As informações ali armazenadas são atribuídas pelo fabricante do sistema. mais conhecida como PROM (Programmable Read Only Memory). Este tipo de dispositivo permite apenas acessos de leitura. mas sim através de operações utilizando luz ultravioleta.permitindo que múltiplos endereços sejam apagados ou escritos numa só operação. ao contrário de uma memória RAM convencional. ou RAM (Random Access Memory – Memória de Acesso Aleatório).indd S1:59 15/07/2009 15:04:04 . No entanto. EPROM e EEPROM são usadas para armazenar o firmware do computador. O terceiro tipo são as EEPROM – memória eletricamente programável e apagável somente de leitura . ao contrário da PROM. este tipo de memória geralmente não pode ser apagada eletricamente.59 Memória 5. Assim como no caso da PROM. ou seja. Em geral. Em termos leigos. o firmware é formado por subrotinas usadas pelo sistema operacional. trata-se de um chip reescrevível que. O último tipo de dispositivo de memória eletrônica encontrado em um computador é a memória de leitura/escrita. o processador pode efetuar acessos de leitura e escrita a um dispositivo RAM de forma aleatória. e a memória pode ser novamente usada para armazenar um novo conjunto de informações. O segundo tipo é a memória programável e apagável somente de leitura. O primeiro tipo é a memória programável somente de leitura. o processador realiza apenas acessos de leitura a uma EPROM. Existem dois tipos de memória RAM: as memórias RAM estáticas.2 Tipos de Dispositivos de Memória No sub-sistema de memória de um computador é possível encontrar memórias eletrônicas e memórias de disco. a célula de bit é implementada por um circuito eletrônico que ocupa uma área de integração menor que a ocupada pelo circuito usado nas memórias SRAM. não entraremos em detalhes sobre os mesmos neste capítulo. Nas memórias DRAM. enquanto as memórias dinâmicas mais rápidas apresentam um tempo de acesso de 60 ns. disquetes. cujos principais exemplos são HDs. a tendência observada indica uma diminuição do tempo de acesso de apenas 30% a cada dez anos. Enquanto a tendência de aumento na capacidade de armazenamento dos dispositivos DRAM é de 60% ao ano. comprometendo o desempenho do sistema. o uso de dispositivos DRAM favorece a capacidade de armazenamento da memória principal em detrimento do seu tempo de acesso. Além das memórias eletrônicas. A solução para obter o compromisso desejado entre capacidade de armazenamento. Os dispositivos DRAM são utilizados em sistemas de baixo e médio custo tais como microcomputadores e estações de trabalho. Em classes de aplicações gráficas. Estes dois tipos de memórias RAM diferem quanto à capacidade de armazenamento e ao tempo de acesso. temos ainda as memórias de disco. Para memórias fabricadas com a mesma tecnologia. desempenho e custo encontra-se no uso apropriado de tecnologias de memória com diferentes relações entre esses três fatores. o tempo de acesso de uma SRAM é até 4 vezes menor que o tempo de acesso de uma DRAM. ou DRAM (Dynamic RAM). Esta diferença na capacidade de armazenamento deve-se ao modo como uma célula de bit é implementada.indd S1:60 15/07/2009 15:04:04 . Atualmente. Para a mesma tecnologia. Licenciatura em Informática introducao_informatica. Como a área por célula bit é menor. Por conta da existência de um capítulo exclusivo para estes dispositivos. o desempenho é um fator cada vez mais importante na faixa de microcomputadores e estações de trabalho. para a mesma área total de integração o número total de células de bit em uma DRAM é maior. Melhorias no tempo de acesso dos dispositivos DRAM não acontecem na mesma taxa que o aumento observado na sua capacidade de armazenamento.60 Capítulo 5 mórias RAM dinâmicas. No entanto. quadruplicando a cada três anos. Com este tipo de dispositivo é possível dotar um sistema com uma capacidade de memória principal elevada. a capacidade de um dispositivo DRAM é até 16 vezes maior que a de um dispositivo SRAM. tais como processamento gráfico e multimídia. as memórias SRAM apresentam uma vantagem sobre as memórias DRAM no que se refere ao tempo de acesso. CDs e DVDs. No entanto. sem aumentar significativamente o seu custo. existem memórias SRAM com tempo de acesso de 15 ns. 61 Memória 5. Introdução à Informática introducao_informatica. que significa Memória de Acesso Aleatório. seus dados ficam armazenados nela por tempo determinado. Figura 5.2 Estrutura da Memória Principal Se “N” é o número de endereços ou posições que uma memória principal possui e “b” é o número de bits disponíveis para endereçar em binário todas as N posições da memória principal.2 Endereçamento da Memória Principal A memória principal. isto é. É uma memória temporária.indd S1:61 15/07/2009 15:04:05 . Na verdade. então é válido deduzir que: N = 2b (lê-se 2 elevado a b). cada célula da memória possui 8 bits de tamanho. sigla em inglês para Random Access Memory. teremos. ou seja. Cada célula é composta de um determinado número de bits e pode ser identificada e localizada individualmente por um único endereço. Todas as células de um dado computador têm o mesmo tamanho. As memórias RAM são organizadas em várias células que correspondem a unidades de armazenamento da memória. os endereços da memória definidos de 0 a N-1. Geralmente. Se “N” é o número de células de uma memória principal. tudo o que você faz no computador fica na memória RAM enquanto o computador se encontra ligado.2) é conhecida como memória RAM. então. perfazendo um byte. mencionada no capítulo anterior (item 4. todas as células daquele computador terão o mesmo número de bits. É uma memória que permite a leitura e a gravação dos dados que estão sendo usados enquanto o computador estiver ligado. bastaria encontrar a capacidade em bits e depois multiplicar por 8 (pois cada byte contém 8 bits) ou então converter o tamanho da célula para bytes e depois multiplicar pelo número de células. podemos dizer que os endereços vão de 0 a N-1= 255. Dessa forma. ter uma memória principal de até 232 = 4 Gbytes. Licenciatura em Informática introducao_informatica. Por exemplo. para encontrar a capacidade em bytes de uma memória. Além disso. a princípio. podemos dizer que b = 8. No entanto. Portanto. um sistema baseado no processador 80386 ou 80486 poderia. esse é apenas um limite máximo de endereçamento de posições que a arquitetura do computador suporta. b = 8. de forma que: T = N x M onde T = capacidade da memória em bits N = número de endereços M = número de bits de cada célula.indd S1:62 15/07/2009 15:04:05 . mas os sistemas que utilizavam esses processadores não possuíam necessariamente essa quantidade de RAM. a capacidade da memória principal em bits é igual ao produto do número de células pelo total de bits por célula. em um sistema com endereços com número de bits igual a “b” é possível endereçar até 2b locações de memória distintas.62 Capítulo 5 Desta forma. Desta forma. isto não significa necessariamente que o sistema possui esta capacidade de memória principal instalada. pois se N = 2b. Exemplo: Em uma memória com uma quantidade de N= 256 endereços. então 256 = 2b e desta forma. temos então que T = 10 x 256 = 2560 bits. Introdução à Informática introducao_informatica.63 Memória Da mesma forma. O menor conjunto de células de bits que é acessado pelo processador é chamado locação de memória.535 5. mas sim à informação armazenada em um grupo de células de bits. a capacidade total da memória é dada pelo produto de sua quantidade de células multiplicada pela capacidade de cada célula. Esta identificação é simplesmente um número. o processador não realiza o acesso ao conteúdo de apenas uma célula de bit. ou seja. No caso de um acesso de escrita. uma locação de memória é formada por 8 células de bits. Na maioria dos computadores.3 A Interação entre Processador e Memória Principal O componente básico da memória principal é chamado célula de bit. o processador deve fornecer à memória principal uma identificação da locação onde será feito o acesso. a capacidade cada célula é igual a 10 bits. ATIVIDADE 1 Baseado nos cálculos que você acabou de ver. a memória principal seleciona a locação correspondente e fornece ao processador a informação ali contida. ao receber um endereço de memória. Em um acesso. é possível dizer que se N = 256.indd S1:63 15/07/2009 15:04:05 . A célula de bit é um circuito eletrônico que armazena um bit de informação. ou seja. chamado endereço de memória. No caso de um acesso de leitura. uma locação de memória também é conhecida informalmente como “byte de memória”. e se T = M x N. e sabemos pela figura que M = 10 bits. preencha a tabela abaixo: M 8 BITS 16 BITS 4 BYTES - E 4 BITS - N 1 K ENDEREÇOS - T 1 K BYTE 256 BITS 4 GBYTES 1 MBYTE FAIXA DE ENDEREÇOS 0 A 65. Em uma referência à memória. Como 8 bits formam o chamado byte. 64 Capítulo 5 a memória principal armazena na locação indicada pelo endereço a informação fornecida pelo processador. por exemplo.3. o processador inicia o ciclo de barramento colocando o endereço da locação de memória a ser acessada no barramento de endereço. Na realidade. indicando. Por sua vez. Em um acesso de leitura. O barramento de endereço é a via através da qual o processador transmite para a memória principal o endereço da locação onde será feito o acesso. após algum tempo. o processador tamLicenciatura em Informática introducao_informatica. o ciclo de barramento inicia-se com o processador colocando o endereço da locação de memória no barramento de endereço. conforme mostra a Figura 5. Interligação entre processador e memória principal. Figura 5.3. o barramento de controle é formado por diversos sinais através dos quais o processador controla o acesso à memória. No início do próximo ciclo de clock o processador ativa um sinal de controle indicando uma operação de leitura. desativando o sinal de controle e retirando o endereço. se o acesso é de leitura ou de escrita. No início do quarto ciclo de clock. Além disso. coloca o conteúdo da locação de memória endereçada no barramento de dados. O barramento de dados é a via através da qual o conteúdo da locação é transferida entre o processador e a memória principal. Já em uma operação de acesso de escrita na memória. processador e a memória principal estão interligados através de três barramentos distintos.indd S1:64 15/07/2009 15:04:05 . O endereço e o sinal de controle chegam à memória que. o processador captura a informação presente no barramento de dados e finaliza o ciclo de barramento. 4 Memórias Cache A memória cache é uma pequena memória inserida na pastilha do processador.indd S1:65 15/07/2009 15:04:05 . e desativando o sinal de controle. o processador direciona os acessos inicialmente para a memória cache. A memória cache é implementada com o mesmo tipo de circuito eletrônico usado nas células de bit de uma memória RAM estática. 5. O processador finaliza o ciclo de barramento retirando o endereço e o dado dos respectivos barramentos.65 Memória bém coloca a informação a ser armazenada no barramento de dados. No entanto. consequentemente mais próxima deste que a memória principal.4. Localização da memória cache. Se o dado referenciado encontra-se na cache. Nesta nova organização. Por este motivo. o acesso é completado em apenas um ciclo de clock. possibilitando que o processador acesse dados ali armazenados em apenas um único ciclo de clock. conforme mostra a Figura 5. a capacidade de armazenamento de uma memória cache é geralmente pequena. a memória armazena o dado na locação endereçada. Ao receber o sinal de escrita.4. Figura 5. No próximo ciclo de clock. a memória cache apresenta um baixo tempo de acesso. Diz-se que ocorre um cache hit quando o dado referenciado pelo processador Introdução à Informática introducao_informatica. o processador ativa um sinal de controle indicando uma operação de escrita na memória. durante alguns intervalos de tempo. quando ocorre um cache miss. O princípio da localidade sugere que. os acessos à memória que acontecem ao longo da execução de um programa não são uniformemente distribuídos através da memória. Se estes outros acessos de fato acontecem. chamada propriedade da localidade de referência. Licenciatura em Informática introducao_informatica. são feitos acessos a locações de memória em endereços próximos. existe uma grande probabilidade de que acessos a locações em endereços vizinhos e à própria região anteriormente acessada também sejam feitos no futuro próximo. itens cujos endereços sejam próximos dele tendem a ser logo referenciados. Apliquem-se agora estas propriedades ao funcionamento da memória cache. o acesso consome vários ciclos de clock para ser completado. • Localidade Espacial (localidade no espaço): se um item é referenciado. quando é feito um acesso a uma locação de memória. Na prática.indd S1:66 15/07/2009 15:04:05 . a fim de examiná-lo. Livros sobre o mesmo tópico são guardados juntos na estante da biblioteca. observa-se que entre 90% e 98% dos acessos resultam em um cache hit. diz-se que ocorreu um cache miss. Se você tiver trazido um livro recentemente para sua mesa. Após a transferência deste bloco de dados para a memória cache. Quando ocorre um cache miss. ele tende a ser referenciado novamente dentro de um espaço de tempo curto. Isto acontece devido a uma propriedade exibida por vários tipos de programas. um bloco contendo o dado referenciado e os dados armazenados em sua vizinhança é copiado da memória principal para a memória cache. Dessa forma. podemos distinguir dois princípios da localidade: • Localidade Temporal (localidade no tempo): se um item é referenciado. é provável que em breve você vá precisar dele mais uma vez. para maximizar a localidade espacial. Segundo essa propriedade. existe uma grande chance de que os acessos aos dados vizinhos também sejam feitos em breve. Se o dado não se encontra na cache. o dado referenciado é copiado da memória principal para a memória cache.66 Capítulo 5 encontra-se na cache. Como mencionado anteriormente. mas tendem a se concentrar em pequenas regiões da memória durante um certo intervalo de tempo. Quando acontece um cache miss. juntamente com os dados armazenados nas locações vizinhas. que serão completados em um único ciclo de clock. Segundo a propriedade da localidade. o processador completa o acesso. ocorrerá um cache hit em todos os acessos. A localidade de referência manifesta-se no fato que. as memórias cache são extremamente importantes no sentido de obter-se um melhor desempenho. apenas uma pequena parcela dos acessos realizados sofrem com o alto tempo de acesso da memória principal. Possui um tamanho Introdução à Informática introducao_informatica. os quais serão novamente satisfeitos pela cache. pois isso acarretaria um aumento no custo do processador que não traria um benefício proporcional. muitas vezes.67 Memória Na realidade. diferenciar um modelo de processador de outro. A partir desse ponto não compensa aumentar o tamanho da memória cache. a memória cache armazena os dados que se encontram em regiões da memória principal onde se verifica uma concentração de acessos. a frequência de cache hit aumenta à medida que o tamanho da memória cache aumenta. alguns sistemas incorporam duas memórias cache. A memória cache primária é integrada com o processador em um mesmo dispositivo. No entanto. da forma como é realmente implementada. Entretanto. encontramos parte da memória cache fora da pastilha do processador. Devido a esse cache miss. observa-se que a partir de um certo ponto o número de cache hits não aumenta significativamente com o aumento da capacidade da memória cache. Uma nova região com concentração de acessos torna-se ativa quando é feito um acesso a um dado que se encontra distante dos dados onde foram feitos acessos recentemente. a memória cache é colocada em processador e memória principal. hoje em dia essas memórias estão presentes internamente. ou seja. de forma que sua presença em maior ou menor quantidade serve para. Para minimizar o efeito dos cache misses residuais. que podem chegar a até 10%. existem vários lugares possíveis onde ela pode ser encontrada. Em arquiteturas mais antigas. tanto que atualmente. Observe que a memória cache tem a capacidade de se adaptar a mudanças nas regiões de concentração de acesso. Com a inclusão de uma memória cache. que pertencem justamente à nova região onde se concentrarão os próximos acessos. que ocorrem ao longo da execução de um programa. Assim. Como provavelmente este dado não se encontra na cache. em uma estrutura conhecida como memória cache em dois níveis (two-level cache).indd S1:67 15/07/2009 15:04:05 . ocorrerá um cache miss. uma denominada primária ou L1 e a outra secundária ou L2. Em termos físicos. a maioria das arquiteturas de computador incluem memórias cache em seu sub-sistema de memória. De um ponto de vista funcional. serão copiados para a memória cache o dado referenciado e os dados na vizinhança. Normalmente. Apesar de ser um pouco mais lenta que a memória cache primária. Navegadores web.indd S1:68 15/07/2009 15:04:05 . Além disso. pois ele é amplamente usado no nosso dia-a-dia. permitindo desta forma que o tempo de acesso seja reduzido. Os acessos que resultam em miss são em sua maioria capturados pela memória cache secundária. Por sua vez. Possui um tamanho bem maior e apresenta um tempo de acesso maior que a memória cache primária. o seu tamanho pode aumentar sem as mesmas limitações de custo da cache primária. a cache secundária é externa ao processador. quantas células tem a memória principal? Licenciatura em Informática introducao_informatica. Um acesso à cache secundária normalmente consome dois ou três ciclos de clock.68 Capítulo 5 pequeno e apresenta um tempo de acesso que permite acessos em um único ciclo de clock. os misses da cache primária apresentam uma penalidade menor quando capturados pela cache secundária do que se fossem direcionados diretamente para a memória principal. seguindo as instruções de formato e data de entrega descritas na Tarefa 5: 1) Em uma memória principal com 1 kbyte de capacidade. Você que se inicia no mundo da informática ainda ouvirá muitas vezes sobre esse conceito de cache. As formas através das quais esse mecanismo é criado nos diversos dispositivos que o implementam pode variar. Em um sistema com essa organização. HD’s e muitos dispositivos computacionais utilizam o conceito aqui apresentado para armazenar informações que podem ser úteis posteriormente aos usuários. a memória cache primária captura a maioria dos acessos realizados pelo processador. como a tecnologia usada na implementação da cache secundária é mais barata. onde cada célula tem 8 bits responda: 1. localizando-se na placa-mãe do sistema. servidores. Prezado aluno. Assim. a memória cache secundária ainda é significativamente mais rápida que a memória principal. mas lembre-se: o conceito é sempre o mesmo! Atividades Responda às questões abaixo e depois envie-as pelo ambiente Moodle. e que cada célula possua uma unidade de armazenamento de 8 bits.Faça um esboço representativo desta memória. Qual o valor total de bits que podem ser armazenados nesta memória e qual o tamanho de cada endereço? 4) Explique a diferença de uma memória DRAM e SRAM? 5) Explique a diferença entre uma ROM e RAM? 6) Explique a diferença entre memórias EEPROM. Cada célula pode armazenar 16 bits. . EPROM e PROM: 7) O que são as memórias cache? Por que seu uso melhora o desempenho dos sistemas computacionais? 8) Explique os conceitos de localidade que inspiraram o uso da memória CACHE: 9) Considere uma memória que utiliza ao todo 16 células endereçáveis. o maior endereço que o computador pode endereçar.Coloque no conteúdo das 3 primeiras células. Introdução à Informática introducao_informatica. Para isso. sua capacidade de memória. use a tabela ASCII inclusa no capítulo 3 deste material ou pesquise uma tabela ASCII na Internet. b. exibindo os 3 primeiros endereços e o último endereço (com os valores dos endereços em hexadecimal). quantos bits são necessários para representar um endereço de memória? 2) Um computador endereça 1K células de 16 bits cada uma. . o código ASCII para “1 2 3” respectivamente (em hexadecimal) e na célula do último endereço coloque o código ASCII correspondente a primeira letra do seu nome (em hexadecimal). Pede-se: a.indd S1:69 15/07/2009 15:04:05 . 3) Uma memória de um computador tem um espaço máximo de endereçamento de 2K.69 Memória 2. indd S1:70 15/07/2009 15:04:05 .70 Capítulo 5 Licenciatura em Informática introducao_informatica. esperamos que você saia da leitura deste capítulo com todos esses conceitos em mente. Introdução à Informática introducao_informatica. Desta forma. Bom estudo! Este capítulo descreve a arquitetura básica de um processador. pois é o componente responsável por todo o fluxo de informações de um micro. tendo em vista que essas informações serão obtidas em disciplinas do próximo semestre. Você também aprenderá aqui o que é uma instrução. Estão descritos aqui os principais componentes de cada uma dessas unidades. você deverá realizar os exercícios que se encontram ao final do capítulo. o processador é o componente por onde todos os dados inseridos no computador passam. o processador é considerado o cérebro do computador.71 PROCESSADORES Prezado aluno. Para que os dados de entrada se transformem em dados de saída.1 A Seção de Processamento A seção de processamento é formada basicamente pela unidade lógica e aritmética (ALU) e por diversos registradores. Na atividade proposta no ambiente. Podemos considerar que um processador é organizado em duas unidades: a seção de processamento e a seção de controle.indd S1:71 15/07/2009 15:04:05 . Neste capítulo. 6. Esses componentes normalmente estão organizados conforme mostra a Figura 6. bem como a forma utilizada pelo processador para executar as instruções de um programa. eles precisam ser processados. Como você já sabe. ou seja. Não entraremos muito em detalhes de modelos existentes no mercado. Isso significa que todas as informações passam por ele. você entenderá quais são de forma geral as principais partes do processador.1. como ela é executada e como o ciclo de clock pode influenciar na velocidade do processo. Na seção de processamento mostrada na Figura 6. processa os dados. Componentes da seção de processamento.. enquanto a informação contida no registrador é recuperada em uma operação de leitura. A Figura 6. Coletivamente. Este registrador possui bits sinalizadores que são ativados Licenciatura em Informática introducao_informatica.. Podemos dizer então que a ALU é o componente da arquitetura que. e operações lógicas. Fonte: Tanenbaum.indd S1:72 15/07/2009 15:04:05 . uma informação é armazenada no registrador em uma operação de escrita. 2001. Ou seja. bem como resultados produzidos pela ALU. Adaptação.. podem ser classificados em três tipos: registradores de uso geral.R31. Os registradores são utilizados para armazenar informações internamente no processador. Figura 6. tais como adição e subtração. de fato.72 Capítulo 6 A ALU realiza as operações aritméticas. tais como and. e contém informações sobre o resultado produzido pela ALU. not. O registrador de estado (status register) associado à ALU é um registrador de uso específico. denominados R0. esses registradores são chamados de conjunto de registradores de dados (data register file). Registradores de uso geral normalmente são usados para armazenar dados que serão processados pela ALU. Um registrador pode ser utilizado tanto para acesso de leitura quanto para acesso de escrita. De maneira geral..1. registradores de uso específico e registradores auxiliares.1 mostra aqueles registradores normalmente encontrados na seção de processamento. existem 32 registradores de uso geral. or. Os diversos registradores possuem um uso bem definido dentro da arquitetura.1. 1 mostra dois outros registradores temporários. Por isso existe uma diferença entre processadores de 32 bits e 64 bits. o registrador de estado pode ter um bit denominado Z. Normalmente. sendo desativado se o resultado for positivo. registradores auxiliares não são visíveis. o qual é ativado quando o resultado for nulo e desativado quando o resultado for não-nulo. A interligação entre a ALU e os registradores é feita através de três vias. A Figura 6. sendo desativado ao receber o valor lógico 0. também existem sistemas operacionais de 32 bits e 64 bits. O barramento interno D permite a transferência do resultado produzido pela ALU. O resultado produzido pela ALU é temporariamente armazenado no registrador R até ser transferido para o seu destino. que armazenam os operandos de entrada da ALU. que pode ser um registrador de dados ou a memória principal. enquanto estes estão sendo processados. Este é o caso dos registradores A e B. para outro registrador. Introdução à Informática introducao_informatica. no sentido que um programador de baixo nível não dispõe de instruções para acessar diretamente tais registradores. os operandos são transferidos dos registradores de dados ou da memória principal para estes registradores temporários. e por sua vez. Por exemplo.73 Processadores ou desativados1 de acordo com o tipo de resultado produzido pela ALU. em uma arquitetura de n bits os registradores de dados e os barramentos internos também são de n bits. 1 Considera-se aqui que um bit é ativado quando ele recebe o valor lógico 1. Os registradores auxiliares normalmente são usados para armazenamento temporário. Os barramentos internos S1 e S2 permitem a transferência de dados dos registradores para a ALU.indd S1:73 15/07/2009 15:04:05 . ao passo que o MDR armazena temporariamente a informação transferida de ou para a locação de memória endereçada por MAR. denominados MAR (memory address register – registrador de endereços da memória) e MDR (memory data register – registrador de dados da memória). Também é comum encontrar no registrador de estado um bit chamado N que é ativado se o resultado for negativo. Um outro exemplo de registrador de uso específico é o contador de programa (program counter). Em geral. chamadas barramentos internos. Antes de cada operação da ALU. temporariamente armazenado no registrador R. O MAR armazena o endereço da locação de memória onde será feito o acesso. Uma arquitetura de processador é uma arquitetura de n bits quando todas as operações da ALU podem ser realizadas sobre operandos de até n bits. de forma a permitir que os dados sejam armazenados e transferidos de forma eficiente. O contador de programa contém o endereço da locação de memória onde se encontra a próxima instrução a ser executada pelo processador. A etapa seguinte é a decodificação da instrução. no qual a operação indicada pela instrução (por exemplo. armazenado na memória principal. a execução de uma instrução envolve quatro passos.2 A Execução de Instruções Tendo examinado os componentes e a organização da seção de processamento. • transferência de dados entre os registradores. • operações aritméticas e lógicas realizadas pela ALU. Após a decodificação. Passos na execução de uma instrução. As operações básicas acontecem dentro da seção de processamento. sob a coordenação da seção de controle.2. neste passo também são acessados os dados usados pela instrução. • transferência de dados entre os registradores e a memória. o processador realiza o acesso ao código binário da instrução. Existem quatro principais tipos de operações básicas: • transferência de dados entre os registradores e a ALU. denominado execução. denominado busca. uma operação na ALU) é efetuada.indd S1:74 15/07/2009 15:04:05 .3. como mostra a Figura 6. Figura 6.2.74 Capítulo 6 6. Esta sub-divisão dos passos de execução em operações básicas pode ser visualizada na Figura 2. Figura 6. A execução de uma instrução envolve a realização de uma sequência de passos. Em geral. Divisão dos passos de execução em operações básicas. Licenciatura em Informática introducao_informatica. a execução da instrução entra no terceiro passo. Cada passo de execução envolve a realização de várias operações básicas. Em algumas arquiteturas.3. é armazenado em um registrador ou na memória o resultado produzido pela instrução. No primeiro passo. que podemos chamar de passos de execução. Finalmente no quarto passo. na qual as informações contidas no código da instrução são interpretadas. podemos agora analisar como as instruções são executadas. chamado resultado. 4 apresenta um diagrama em blocos da seção de controle e. A Figura 6. Adaptação. 6. a unidade de controle interpreta a instrução de modo a identificar quais as operações básicas que devem ser realizadas e ativa sinais de controle que fazem uma operação básica de fato acontecer. Introdução à Informática introducao_informatica. Fonte: Tanenbaum. bem como a sequência com que são ativados. A título de exemplo.3 A Seção de Controle Como mencionado anteriormente. Figura 6. a sua interligação com a seção de processamento.4. A interpretação do código da instrução e a ativação dos sinais de controle são realizados pela unidade de controle.3 é apenas um exemplo ilustrativo. Os sinais de controle que são ativados. as operações básicas que ocorrem dentro da seção de processamento são todas comandadas pela seção de controle. a seção de controle é formada basicamente pela unidade de controle e pelo registrador de instrução ou IR (Instruction Register). O que diferencia cada instrução é justamente o número e o tipo de operações básicas executadas em cada passo.indd S1:75 15/07/2009 15:04:06 . A seção de controle e a parte de processamento. de forma bastante simplificada e ilustrativa.75 Processadores A sub-divisão dos passos sugerida pela Figura 6.R3 (soma do conteúdo dos registradores R1 e R2 com armazenamento posterior do resultado em R3) é direcionada pela unidade de controle. Os passos de execução não possuem necessariamente o mesmo número de operações básicas em todas as instruções. vamos verificar como a execução da instrução ADD R1. depende de cada instrução em particular. Ao efetuar a busca da instrução.R2. Como mostra a figura. 2001. operação básica sinal de controle descrição da operação básica (1) (2) s1. respectivamente. A execução desta instrução requer as seguintes operações básicas: (1) transferência do conteúdo do registrador de dados R1 para o registrador temporário A. com as operações básicas correspondentes.s4 (3) s5 s6 (4) s7 s8 Figura 6. a seção de processamento na figura acima foi representada com apenas os três registradores de dados envolvidos na execução desta instrução. respectivamente. (4) transferência do conteúdo do registrador R para o registrador R3. é apresentada na Figura 6. Outros sinais indicam à ALU a operação aritmética ou lógica que deve realizada. Para executar uma operação básica. armazena o resultado produzido pela ALU em R. R2 para os barramentos S1.76 Capítulo 6 Para tanto. A sequência de ativação do sinais de controle. (2) transferência do conteúdo do registrador de dados R2 para o registrador temporário B. S2 em A. a unidade de controle simplesmente ativa os sinais apropriados na sequência correta.5. Este é um exemplo típico de como a unidade de controle coordena a execução das operações básicas na seção de processamento.indd S1:76 15/07/2009 15:04:06 .5. armazena a informação presente nos barramentos S1. coloca o conteúdo de R para o barramento D. (3) adição dos dados armazenados nos registradores A e B e armazenamento do resultado no registrador R. s2 coloca o conteúdo de R1. seleciona a operação de soma na ALU.S2. Para cada registrador existem sinais que controlam a leitura e a escrita do registrador. s3. Para qualquer outro componente na seção de processamento existem os sinais de controle necessários. armazena a informação presente no barramento D em R3. Ativação dos sinais de controle e operações básicas correspondentes.B. Licenciatura em Informática introducao_informatica. A sincronização da execução de uma instrução com o sinal de clock.4 O Sinal de Clock Pode-se observar pelo exemplo acima que a ordem na qual os sinais de controle são ativados é crítica. Mais ainda. enquanto que outros sinais podem ser ativados simultaneamente (s1 e s2. uma nova operação básica é executada no momento em que se inicia um novo ciclo de clock. Em muitos casos.6. Então. dentro de um mesmo ciclo de clock. Figura 6. ou seja. Como mostra a Figura 6. A velocidade de um processador. por exemplo). 1GHz etc) e o clock externo está relacionado ao Introdução à Informática introducao_informatica. Alguns sinais devem obrigatoriamente preceder outros (s3. para garantir um tempo suficiente para a transmissão da informação através dos barramentos internos. Para atender as relações de tempo requeridas na ativação dos sinais de controle. também chamada de clock interno. a unidade de controle opera em sincronismo com um sinal de clock. O clock é um cristal de quartzo que produz oscilações que determinam a frequência (velocidade) do processador. é medida em MHz (Megahertz) ou em GHz (Gigahertz). O número de ciclos de clock por instrução não é o mesmo para todas as instruções. O clock interno determina a velocidade em que um processador deve trabalhar (Ex.6. em alguns casos deve ser observado um intervalo de tempo mínimo entre a ativação de dois sinais.: 700 MHz.77 Processadores 6. por exemplo. não pode ser ativado antes de s1). A execução de uma instrução consome um certo número de ciclos de clock. mais veloz será o processador. o número de operações que o processador pode realizar por segundo. já que cada instrução pode envolver um número diferente de operações básicas em cada passo de execução. Qualquer processador trabalha com um clock interno e um clock externo. várias operações básicas podem ser comandadas simultaneamente. podemos afirmar que quanto maior for o número de Hertz.indd S1:77 15/07/2009 15:04:06 . em que 1MHz equivale a um milhão de ciclos por segundo. divi Licenciatura em Informática introducao_informatica. seguindo as instruções de formato e data de entrega descritas na Tarefa 6: 1) De quais componentes é formada a seção de processamento? Qual a importância de cada um deles? 2) Quais os tipos de registradores existentes no processador? 3) O que é o Contador de Programa (Program Counter)? Qual a importância dele no contexto do processamento de instruções? 4) Quais são as etapas do ciclo de execução de uma instrução? Fale um pouco sobre cada uma delas? 5) Descreva textualmente a execução da instrução abaixo. Ao longo das décadas de 70 e 80. um processador Pentium/200 possui um clock interno de 200 MHz e um clock externo de 66MHz. mas essa tentativa não durou muito tempo. tentaram entrar nesta disputa. Por exemplo. de modo que a arquitetura possa ser implementada através de circuitos mais simples e inerentemente mais rápidos. a INTEL e a AMD.78 Capítulo 6 acesso do pro cessador à memória RAM. Outras empresas. têm disputado a fabricação de melhores processadores. procura-se diminuir o ciclo de clock não somente através de novas tecnologias.indd S1:78 15/07/2009 15:04:06 . a redução do ciclo de clock passou a ser considerada sob o ponto de vista arquitetural. as tecnologias de integração foram se aproximando dos limites impostos pela própria física. O tamanho do ciclo de clock é um dos fatores que determinam diretamente o desempenho de um processador. duas grandes empresas. Quanto menor o tamanho do ciclo de clock. procurava-se diminuir o tamanho do ciclo de clock com o desenvolvimento de novas tecnologias que permitissem velocidades de operação cada vez maiores. Por este motivo. menor será o tempo de execução das instruções. tornando esta evolução mais lenta e elevando os custos. No entanto. Desde os primeiros processadores. Atividades Responda às questões abaixo e depois envie-as pelo ambiente Moodle. Atualmente. mas também através de simplificações na arquitetura. e assim maior será o número de instruções executadas por unidade de tempo. VIA e WinChip. como a Cyrix. Isto significa que o processador realiza aproximadamente 66 milhões de acessos à memória por segundo e trabalha a uma velocidade interna de 200 Mhz. indd S1:79 15/07/2009 15:04:06 .79 Processadores dindo as operações básicas dentro das etapas correspondentes no ciclo da instrução SUB R1 R2 R3 (lê-se: subtraia os operandos armazenados em R1 e R2 e armazene o resultado em R3) 6) De que componentes é formada a seção de controle? Qual a função de cada um deles? 7) Considere um processador projetado para acessar a seguinte memória: a) Qual o tamanho do MAR da CPU em bits? b) Qual o tamanho do Registrador PC em bits? c) Quantas células esta memória possui? d) Sabendo que a unidade de armazenamento da memória é igual a 8 bits por célula. qual a capacidade total de armazenamento desta memória? e) Qual o valor de MDR ao executar uma operação de leitura na memória com MAR=0000? Introdução à Informática introducao_informatica. indd S1:80 15/07/2009 15:04:06 .80 Capítulo 6 Licenciatura em Informática introducao_informatica. Quando foi falado no capítulo 5 (Memória) sobre as memórias secundárias. que é diretamente acessada pela CPU. daremos uma ênfase maior ao funcionamento dos discos rígidos (HDs). sendo usadas abundantemente para armazenar e transportar informações entre computadores. CDs.1 Introdução Além da memória principal. são criados usando as seguintes tecnologias: Introdução à Informática introducao_informatica. analisando também o funcionamento de outros dispositivos de memorização. foi dito que essas memórias eram representadas em sua grande parte por memórias de disco. Esse tipo de memória não é acessada diretamente pela CPU. em geral.indd S1:81 15/07/2009 15:04:06 .. Por conta de sua importância para o uso do computador no dia-adia. A memória secundária é uma memória do tipo permanente (não se apaga quando o computador está desligado). e sim por dispositivos que utilizam outras tecnologias de armazenamento. já que seu acesso é feito através de interfaces ou controladoras especiais. atualmente. DVDs etc. Tais dispositivos.81 DISPOSITIVOS DE DISCO Prezado aluno. será pedido que você se aprofunde um pouco mais nesse estudo. Bom estudo! 7. como HDs.. Ela tem alta capacidade de armazenamento e custo muito mais baixo que o da memória principal. Geralmente. Essa memória não é formada por chips. esses dispositivos são chamados de dispositivos de disco (por usarem geralmente discos para armazenar a informação) ou dispositivos de bloco (por ser o bloco a unidade básica de transferência de dados entre estes dispositivos e outros dispositivos de memória). como forma de representar essa classe de dispositivos. Nas atividades propostas ao final do capítulo. Sabemos que. existe também a memória secundária (também chamada de memória de massa). as memórias secundárias são mais baratas que as memórias dos níveis superiores. com várias unidades de leitura e gravação (geralmente 2 para cada disco). Eles possuem características magnéticas semelhantes às das fitas cassetes de som. porém mais confiáveis e com maior precisão) empilhados um sobre o outro. Memórias de disco Óptico: são dispositivos que utilizam formas ópticas de armazenamento. 7.82 Capítulo 7 Memórias de discos magnéticos: são dispositivos tais como os disquetes e os discos rígidos. falaremos com mais detalhes dos HDs na próxima seção. as quais são memórias não voláteis. A ideia é simples: são vários discos magnéticos metálicos (semelhantes a disquetes. A figura 7. A caixa lacrada que os envolve compõe o HD.netangola. Neste tipo de dispositivo.1 mostra um breve histórico desta evolução.com/CCA/pages/marks/computador/bibliogr. Licenciatura em Informática introducao_informatica.2 Discos Rígidos O disco rígido (HD) é uma das melhores formas de armazenamento de grandes quantidades de dados para uso posterior. tal como os CD-ROMS e DVDs. ou seja. 7. baseadas nas características reflexivas dos materiais.indd S1:82 15/07/2009 15:04:06 . fabricados de modo a armazenar informações sob a forma de campos magnéticos.htm) Como exemplo de dispositivo de disco. geralmente a leitura e a gravação de dados se dão através da mudança de polaridade da superfície magnética.1 Evolução dos Dispositivos de Disco Óptico Fonte: História do Computador (http://www. Os dispositivos ópticos sofreram uma rápida evolução nos últimos anos. feita por uma cabeça de leitura e escrita. um componente imantado também conhecido como cabeçote. armazenam permanentemente a informação. Os discos. Os discos são divididos em trilhas que variam de tamanho segundo o disk driver (o programa que controla o HD). que possibilitam a reprodução dos discos de vinil. Grosso modo. podemos também citar na parte eletromecânica do disco os braços. Uma diferença fundamental que devemos considerar é que ao contrário da agulha do toca-discos. Digamos por exemplo que um disco tenha 4 cabeças e que o braço posicione estas cabeças de forma que cada uma esteja sobre a trilha 50 da superfície.2. podemos comparar as cabeças de leitura e escrita às agulhas dos toca-discos. Fisicamente. possibilitando seu uso independente de quantas vezes o computador seja ligado e desligado. que são dispositivos mecânicos que servem para movimentar as cabeças de leitura e gravação ao longo da superfície do disco e as cabeças de leitura e escrita. Introdução à Informática introducao_informatica. como as fitas.83 Dispositivos de Disco Os discos rígidos são a base do armazenamento de informações nos computadores. então. Cada trilha é dividida em setores. trilha e setor. como ilustrado na figura seguinte (7. deve especificar superfície. Um cilindro é um grupo de trilhas de mesmo número em superfícies diferentes. já que lêem e gravam a informação usando eletromagnetismo. similar ao das fitas magnéticas. Quando se fala em HDs. Figura 7. Além dos componentes já citados. Divisão do disco Cada lâmina de disco do HD possui as duas superfícies recobertas com um material magnético. Um acesso ao disco. as cabeças de leitura e escrita nunca tocam efetivamente na superfície do disco rígido.2). também possuem um diretório com informações sobre cada arquivo armazenado. sendo que um setor é a menor unidade de informação que pode ser lida ou escrita em um disco. existe ainda o conceito de cilindro. pois é geralmente neles que ficam armazenados os arquivos dos usuários e o próprio sistema operacional. Dizemos então que as cabeças estão posicionadas sobre o cilindro de número 50. que são as responsáveis pela leitura e gravação de dados na superfície dos discos. os discos são relativamente simples.indd S1:83 15/07/2009 15:04:06 . mas ao invés disso. se forem 3 discos magnéticos em um HD. o cabeçote simplesmente “lê” o campo magnético gerado pelas moléculas. Tão severas restrições e condições para o correto funcionamento dão a impressão de um ambiente sujeito constantemente a defeitos. Nos primeiros HDs. estacionar as cabeças em um lugar seguro (utilizando-se um comando chamado park). óxido de ferro).indd S1:84 15/07/2009 15:04:06 . sempre com precisão microscópica.2. Como solução. São eles: • Número de cabeças (heads): é baseada na quantidade de faces que o disco de tal componente possui. Uma unidade de disco rígido é o componente que mais trabalha em um micro. De acordo com essa polaridade é que são gravados os bits (0 e 1). pois os HDs usam um motor baseado num atuador eletromagnético “voice coil” que automaticamente recolhe as cabeças.1 Geometria de um HD Diferente dos disquetes. serão 6 cabeças (2 para cada face dos discos). não existe esta preocupação. os HDs utilizam alguns parâmetros de configuração. a polaridade das cabeças muda numa frequência muito alta: quando está positiva. No processo de leitura de dados. Todos os discos rígidos possuem um motor. sendo que a distância entre uma cabeça de leitura/gravação e o meio magnético é menor do que um fio de cabelo humano. devia-se antes de desligar. giram a altas velocidades durante todo o tempo em que o micro está ligado.600 rpm (3600 rotações por minuto). Para isso. Cada acesso ao disco rígido faz com que as cabeças de leitura/gravação se movimentem. Atualmente.84 Capítulo 7 Geralmente. Por exemplo. porém sempre pré-definidos (2 cabeças/80 cilindros/18 setores). possibilitando assim que informações fossem perdidas na ocorrência de choques mecânicos. Estes parâmetros também estão presentes nos disquetes. que faz com que o conjunto de discos gire a uma velocidade de pelo menos 3. Desde o primeiro instante de alimentação elétrica no HD. os discos começam a girar e não param. que possuem um tamanho pré-definido. Os discos magnéticos que os compõem. Licenciatura em Informática introducao_informatica. atrai o pólo negativo das moléculas e vice-versa. onde os dados são armazenados. 7. a superfície de gravação dos pratos (outro nome dado aos discos do HD) é composta de materiais sensíveis ao magnetismo (geralmente. quando era desligada a energia elétrica as cabeças de leitura/gravação permaneciam no lugar do último acesso. o que ocorre são unidades de disco rígido desempenhando com afinco a função de fiéis depositários de informação. sendo que as cabeças de leitura/ gravação nunca os tocam. O cabeçote de leitura e gravação manipula as moléculas desse material através de seus pólos. Também é informado que este HD possui 256 cabeças e possui 63 setores por trilha. de modo que o HD possa ser configurado caso o micro não possua detecção automática ou a mesma não esteja funcionando corretamente. porém todos os HDs têm (ou deveriam ter) esses dados estampados em sua capa metálica. qual a capacidade máxima de armazenamento deste dispositivo? RESOLUÇÃO: Analisando as informações do problema. 7. Dentro de cada setor cabem sempre 512 bytes (mesmo em HDs este valor é fixo). Sempre Introdução à Informática introducao_informatica.85 Dispositivos de Disco • Número de trilhas: são círculos concêntricos que dividem a área de armazenamento. uma capacidade extremamente pequena para nossos padrões atuais. ele não é capaz de enviar instantaneamente as informações solicitadas. Como vimos anteriormente. um cilindro é um grupo de trilhas de mesmo número em superfícies diferentes. 8064 MB ou 7.3 Taxa de Transferência Interna e Externa Apesar do giro rápido e constante de um disco rígido. A maioria dos microcomputadores utiliza hoje o processo de detecção automática.indd S1:85 15/07/2009 15:04:06 . utiliza-se a fórmula abaixo: Capacidade de Armazenamento = nº trilhas x nº de setores x nº cabeças x 512. vemos que é informado que o HD possui 1024 cilindros. isso implica que cada disco possui 1024 trilhas. EXEMPLO: Em um HD com 1024 cilindros. podemos deduzir que: Capacidade de Armazenamento = 1024 x 63 x 256 x 512 = 8455716864 bytes que podem ser convertidos em 8257536 KB. 256 cabeças e 63 setores por trilha.875 GB. ou seja. inserindo estes dados na fórmula apresentada anteriormente. Para calcular a capacidade de um disco rígido. Com isso. em alguns casos referenciados por número de cilindros.875 GB. a capacidade total de armazenamento deste HD são 7. sendo que cada setor tem capacidade de 512 bytes. se o HD possui 1024 cilindros. Desta forma. • Número de setores: são as divisões das trilhas. dois tipos de transferência estão envolvidos: .indd S1:86 15/07/2009 15:04:06 . deve-se esperar que o disco gire e que o setor desejado passe pela cabeça. Dessa forma. Ao atraso gerado por esse processo chamamos de taxa de transferência interna. determinado pelo tempo necessário para mover a cabeça de leitura/gravação até o cilindro desejado. As formas possíveis de conexão destes dispositivos na prática e os cuidados que devem ser tomados em tal situação serão apresentados em uma disciplina posterior em seu curso. A taxa de transferência interna é o mais importante fator que define o desempenho de um disco rígido.Transferência da cache interna do disco para a placa-mãe. ativar a cabeça e esperar que o cilindro seja lido. Entretanto. Em geral. Como o posicionamento da cabeça em uma trilha é fixo. não fará muito sentido aprender a ligá-los ao computador. a taxa de transferência externa é muito maior que a interna. Quando um disco rígido transfere dados. Licenciatura em Informática introducao_informatica. Esta área é chamada de cache ou buffer. Sabemos que a taxa de transferência interna trata da primeira transferência. A latência é o tempo gasto para a localização de um setor específico. Prezado aluno.Transferência dos dados da mídia magnética para a cache interna do disco . É por isso que a ordem de apresentação de conteúdo se dá desta forma. praticamente todos os discos rígidos possuem uma área interna de memória. O objetivo deste capítulo foi apresentar os principais conceitos relativos ao funcionamento dos dispositivos de armazenamento em disco. tanto a transferência interna quanto a externa precisam ser rápidas. se você não entender os conceitos básicos destes dispositivos.86 Capítulo 7 há um atraso chamado de latência ou tempo de acesso. para onde são lidos os dados que serão posteriormente transferidos para a placamãe. Para que o disco rígido possa fazer uma transferência completa (mídia – cache – CPU) de forma mais veloz. Esse atraso é medido em milissegundos. além do encaixe para conectar o drive de disquete. as quais existiam em dois tipos. podemos encontrar até seis portas. ou seja. os dispositivos IDE. Em se tratando de discos rígidos. Para exemplificar.indd S1:87 15/07/2009 15:04:06 . o padrão SATA.D. Em algumas placas-mãe atuais. portas para a conexão dos dispositivos de disco à placa-mãe e consequentemente ao resto do computador. A segunda versão. Até a alguns anos atrás. chamado FDD (floppy disk drive). Atividades 1) Qual a diferença entre taxa de transferência interna e externa? 2) Quais são os tipos de tecnologias usadas na construção de memórias de disco? 3) Descreva a geometria básica de um H. Esse novo padrão chegou ao mercado para substituir. 6) Pesquise sobre a tecnologia de disco Blu-Ray e as vantagens que esta tecnologia oferece em relação à qualidade e capacidade de armazenamento se comparada aos DVDs por exemplo. Recentemente. Introdução à Informática introducao_informatica. foi lançada em 1990. SCSI 2. Ele possui um alto desempenho e uma maior quantidade de conectores em placas-mãe mais modernas. ou em um DVD e no disquete. A IDE primária (primary) e a IDE secundária (secondary).87 Dispositivos de Disco Existem várias interfaces. 4) Calcule a capacidade de um disco rígido com as seguintes configurações: • 2048 cilindros • 512 cabeças • 63 setores por trilha • 512 bytes por setor 5) Pesquise e descreva como acontece o processo de leitura e gravação de dados em mídias magnéticas e mídias óticas. vimos o surgimento de um padrão novo para dispositivos de disco. A primeira versão do padrão SCSI foi lançada em 1986. por exemplo. separadamente). também surgiu o padrão SCSI (Small Computer Systems Interface) (que se lê “scâsi”). imperavam as interfaces IDE (lê-se I-D-E. descreva o processo de gravação em um CD e no HD. aos poucos. muito mais prático e com taxas de transferência muito maiores. 88 Capítulo 7 Licenciatura em Informática introducao_informatica.indd S1:88 15/07/2009 15:04:06 . Hoje. a interação dos usuários com o computador. mas também que perceba que ele faz parte de um sistema muito maior dentro do computador e que compreenda como ele interage com o computador. Em seguida são apresentadas as principais técnicas de transferência de dados em operações de E/S. ao final do capítulo você deve efetuar os exercícios de forma a se aprofundar ainda mais no tema. Os dispositivos de entrada possibilitam a entrada de dados para a sua posterior transformação em informação e seu uso nas atividades diárias do ser humano. com grande variedade de formas.1 Introdução aos Dispositivos de E/S Os dispositivos de entrada e saída (E/S) permitem. Essa interação pode acontecer da forma convencional (teclado e monitor) ou através de formas de interação mais intuitivas e atrativas (tela sensível ao toque). criado no início da década de 80. temos formas mais modernas e atrativas Introdução à Informática introducao_informatica. Este capítulo se inicia descrevendo como processador e interfaces de E/S se comunicam.indd S1:89 15/07/2009 15:04:07 . seguido pelo mouse. A forma mais clássica de entrada de dados no computador ainda em atividade é o teclado. São os dispositivos de E/S que permitem a interação do usuário com o computador. Já foi dito que um computador sem dispositivos de entrada e saída seria uma apenas uma caixa fechada que acende luzes. mas sem utilidade para o usuário. como é a organização típica de uma interface de E/S. e como o processador exerce controle sobre um dispositivo periférico através de uma interface de E/S. Como não poderia faltar. Ao final do capítulo. tornando-o útil para suas atividades diárias.89 DISPOSITIVOS DE ENTRADA E SAÍDA Prezado aluno. Bom estudo! 8. ambicionamos não só que você entenda o que é um dispositivo de entrada e saída. mas evoluiu para um modo de transmissão bidirecional. as interfaces seguem um padrão de organização comum. Algumas interfaces ficam embutidas na placa-mãe. entre outros periféricos. Mas ainda encontramos placas-mãe atuais com uma ou duas portas seriais. Em relação à forma como os dados são transmitidos entre a interface de E/S e a memória. Na verdade. Apesar da enorme variedade de dispositivos de E/S existentes atualmente. A despeito da multiplicidade de formas pelas quais você recebe informações dos computadores. convertendo informações eletrônicas produzidas pelo sistema de computador em uma forma inteligível pelo homem para apresentação aos usuários finais. quase todos os mouses e impressoras usam atualmente o conector USB por questões de desempenho e confiabilidade. como as telas sensíveis ao toque. Licenciatura em Informática introducao_informatica. As interfaces paralelas têm a capacidade de permitir o envio de vários bits em paralelo em uma única transmissão. os monitores de vídeo (imagens) e as impressoras (documentos impressos) foram e ainda são as formas mais comuns de saída dos sistemas de computadores. podemos classificar as interfaces em paralelas e seriais. capaz de transmitir e receber dados. A interface paralela transmitia dados em uma única direção (unidirecional). Os dispositivos de saída fazem a operação contrária aos dispositivos de entrada. etc. Atualmente. porém algumas placas de expansão possuem a sua própria interface. o que facilita a interação com o resto do sistema. Entretanto. veremos que apesar das diferenças entre os vários dispositivos de E/S existentes. A interface ou controladora é responsável pela comunicação de diversos dispositivos (discos rígidos.90 Capítulo 8 de interação. As interfaces seriais têm como característica principal a capacidade de envio de apenas um bit por vez e são usadas principalmente para a conexão de mouses e impressoras do tipo serial.indd S1:90 15/07/2009 15:04:07 . na atualidade tem sido gradativamente substituída pelas interfaces USB (lê-se U-S-B). a visão que o sistema computacional tem deles é um pouco diferente. Esta interface era a padrão para a conexão de impressoras com o computador. como é o exemplo das placas de vídeo. o processador vê apenas interfaces. que são a parte mais interna do dispositivo de E/S. Na próxima seção. drives de CDROM e impressoras.) com o processador. que vêm se popularizando nos últimos anos. o processador escreve um dado neste registrador e a interface se encarrega de enviá-lo para o periférico. que pode ser uma operação interna à interface ou uma operação sobre o periférico a ela conectado. O acesso a cada um destes registradores é feito pelo processador através de um endereço de E/S diferente.indd S1:91 15/07/2009 15:04:07 . Fonte: Tanenbaum. cujo número e função dependem em parte do tipo de periférico acoplado à interface. a interface interpreta o código do comando e executa a operação solicitada. Quando o processador escreve um comando no registrador de controle. é semelhante entre os diferentes tipos de interfaces de E/S. O processador executa então um acesso de leitura à interface o obtém o dado depositado no registrador. a parte genérica inclui pelo menos um registrador de dados. No sentido contrário. Introdução à Informática introducao_informatica. Cada interface possui um repertório de comandos próprio. É essa porção da interface que é vista pelo processador. 2001.1. Figura 8. a interface recebe um dado do periférico e o armazena no registrador de dados. Podemos considerar que uma interface de E/S é organizada em duas partes. O registrador de dados é usado para as transferências de dados entre o processador e o dispositivo periférico. O processador usa o registrador de controle para enviar comandos à interface. A parte genérica. em uma operação de entrada. como o próprio nome indica. na maioria das interfaces. Este comando é enviado sob a forma de um código. Em uma operação de saída. No entanto.2 Organização de uma Interface de E/S A principal função de uma interface de E/S é tornar os detalhes de operação e controle dos dispositivos periféricos transparentes para o processador.1 Organização típica de uma interface de E/S. um registrador de controle e um registrador de estado. Em geral. Adaptação. na parte genérica. existem alguns registradores.91 Dispositivos de Entrada e Saída 8. como mostra a Figura 8. como mostra a figura acima. HDs. dois conjuntos de sinais. o circuito de leitura está representado pelo quadrado Read Control e o circuito de escrita pelo quadrado Write Control. O outro conjunto é formado pelos sinais usados no controle do periférico. No registrador de setor/drive/cabeça (sector/drive/head register). o registrador de erro (error register) indica alguma condição de erro ocorrida durante o processo de leitura ou gravação de um arquivo. fazendo-a avançar na direção desejada de forma a completar a operação. esse registrador possui bits para indicar o término de uma operação e para indicar condições de erro que eventualmente possam acontecer durante a operação. e por isso ela difere bastante entre os diferentes tipos de interfaces. Licenciatura em Informática introducao_informatica. ou seja. o número do setor inicial e a quantidade de setores que devem ser acessados a partir do setor inicial. A parte específica interage diretamente com o periférico. Um terceiro circuito controla a parte mecânica da unidade de disco. esta interface possui sete registradores. Em sua parte genérica. de forma a se encontrar o arquivo que será lido ou gravado. Como exemplo de interface de E/S. na maioria das interfaces. Na figura. que são escritas pelo processador nos registradores de parâmetro. Um deles é a própria via através da qual são transferidos os dados entre a interface e o periférico. a interface possui dois circuitos que realizam a leitura e a escrita de dados no disco. o processador escreve o tamanho do setor em bytes.92 Capítulo 8 Finalmente. o registrador de estado é usado para veicular informações gerais sobre uma operação de E/S. a parte específica possui.2 mostra a organização simplificada de uma interface para unidades de disco rígido. apesar das diferenças. Os registradores de número de setor (sector number register) e contador de setores (sector count register) servem para indicar. O registrador de comandos (command register) equivale ao registrador de controle descrito anteriormente. Algumas operações exigem informações adicionais. Finalmente. respectivamente. a Figura 8. O registrador de dados (data register) é o registrador é usado na transferência de dados. No entanto. Tipicamente.indd S1:92 15/07/2009 15:04:07 . Na parte específica. o número da unidade de disco e o número da cabeça. O registrador de cilindros (cylinder register) é o registrador de parâmetro onde o processador escreve o número do cilindro (trilha) onde será feito o acesso. indica o tipo e os parâmetros da operação de E/S e obtém informações sobre o sucesso da operação. o processador controla toda a transferência de dados entre a memória e a interface de E/S. Organização simplificada de uma interface para unidades de disco rígido.3 Técnicas de Transferência de Dados Em geral. entre outros. iniciado no capítulo anterior.1. 8. uma operação de E/S envolve a transferência de dados entre a memória e a interface de E/S. Esta transferência pode partir da memória para a interface (dispositivo de saída) ou da interface para a memória (dispositivo de entrada). E/S com Polling Na E/S com polling. considere o exemplo de Introdução à Informática introducao_informatica. Organização semelhante pode ser encontrada em interfaces para monitores. Optou-se por uma interface de um disco rígido para que fosse possível complementar o conhecimento sobre o funcionamento do HD. Adaptação.2. Do outro lado. impressoras e teclados. Existem basicamente três técnicas de como realizar essa transferência. que são discutidas a seguir. a interface possui registradores através dos quais o processador envia e recebe dados. De um lado.3.indd S1:93 15/07/2009 15:04:07 . 2001. Para entender como funciona essa técnica. Fonte: Tanenbaum. a interface possui os circuitos e sinais necessários para controlar um periférico particular. O exemplo acima mostra a organização típica de uma interface de E/S.93 Dispositivos de Entrada e Saída Figura 8. 8. indd S1:94 15/07/2009 15:04:07 . Esse teste do bit de estado é chamado polling. Isto pode ser extremamente ineficiente. O processador continua realizando o polling até encontrar o done bit ativado. Exemplo de E/S com polling. que é desativado quando um dado é escrito no registrador de dados. o que indica que o dado já foi escrito no setor do disco. o processador escreve o novo dado no registrador de dados e reinicia o polling. Considere uma operação de envio de um bloco de caracteres para uma impressora. essa técnica possui a desvantagem de que o processador fica dedicado à operação de E/S. Figura 8. o registrador de estado possui um bit.2. Manter o processador em polling durante o tempo de impressão de cada caractere é um desperdício. o processador lê o registrador de estado e testa o done bit. sendo ativado quando este dado é escrito no setor do disco. A principal vantagem da E/S com polling é a sua simplicidade. O tempo de impressão de um caractere é infinitamente maior que o tempo de execução de uma instrução. Suponha que a interface controladora de disco é semelhante àquela mostrada na Figura 8. já que durante esse Licenciatura em Informática introducao_informatica. Quando isto acontece. No entanto. O ciclo é repetido até que todos os dados tenham sido escritos no setor do disco.94 Capítulo 8 uma operação de escrita em um setor de disco. Após escrever um dado no registrador de dados. O diagrama na Figura 8. para verificar se o mesmo já foi escrito no setor do disco. sob o ponto de vista da utilização do processador. e se ainda existe algum dado a ser enviado.3.3 mostra como acontece a escrita de um setor de disco usando-se E/S com polling. chamado done bit. Nor malmente. indd S1:95 15/07/2009 15:04:07 . por exemplo. 8. O mesmo não acontece na E/S com interrupção. Na fase de disparo da operação. parte de um outro programa. Introdução à Informática introducao_informatica. Devido ao fato de que o processador fica dedicado à operação de E/S até o seu término.2 E/S com Interrupção Na E/S com polling. Ao final da fase de disparo. o processador envia um novo dado e retorna para o programa que se encontrava em execução.4 mostra como a operação é realizada através de E/S com interrupção. o processador conclui a escrita do setor do disco lendo o registrador de estado da interface. A operação é dividida em duas fases. a interface é responsável por notificar o processador quando um novo dado pode ser transferido. através do qual ela notifica o processador quando uma operação de E/S foi concluída. Caso contrário.95 Dispositivos de Entrada e Saída intervalo de tempo o processador poderia executar alguns milhões de instruções de um outro programa. o processador envia para a interface o comando e os números da trilha e do setor. chamada rotina de serviço de interrupção (também chamada device driver ou device handler). A interface deve gerar um sinal de interrupção. o processador verifica inicialmente se o último dado já foi enviado. Figura 8.4. A interface inicia a fase de transferência de dados fazendo um pedido de interrupção ao processador. Exemplo de E/S com interrupção. Ao receber o pedido de interrupção.3. o processador passa a executar uma outra atividade qualquer. o uso da técnica de E/S com polling é restrito apenas a sistemas onde somente um programa pode se encontrar em execução a cada instante. Nessa técnica. Considere novamente o exemplo da operação de escrita de um setor de disco. o processador suspende a execução do programa corrente e passa a executar uma rotina especial. Se este é o caso. Nessa rotina. o processador fica dedicado à operação de E/S porque ele é o responsável por determinar quando um novo dado pode ser transferido entre a memória e a interface de E/S. O diagrama na Figura 8. através do sinal de interrupção. Na fase de transferência de dados. essa técnica apresenta uma desvantagem quanto à velocidade de transferência dos dados. 8.3 E/S com Acesso Direto à Memória Na E/S com DMA (Direct Memory Access). realizadas Licenciatura em Informática introducao_informatica. No entanto.indd S1:96 15/07/2009 15:04:07 . o controlador de DMA assume o controle dos barramentos para realizar a transferência entre a memória e a interface. O processador participa apenas da fase de disparo. usa-se a técnica de E/S com acesso direto à memória. Note que na E/S com DMA a transferência de cada dado envolve apenas uma leitura de memória e uma escrita de interface de E/S. a interface faz um pedido de interrupção a cada dado escrito no setor do disco. que será analisada a seguir. onde o processador não toma parte na fase de transferência de dados. Isso se deve ao fato de que na realidade. Para atender periféricos com alta taxa de transferência. Isto se repete até que todos os dados tenham sido escritos no setor do disco. o processador informa ao controlador de DMA o número de dados a serem transferidos. um componente do sub-sistema de E/S chamado controlador de DMA é responsável por transferir os dados entre a memória e a interface de E/S. Para tanto.3. Considere novamente o exemplo da operação de escrita de um setor de disco. o que contribui para aumentar o tempo de latência é o fato de que o processador ainda é o responsável por controlar a transferência de dados. resultando em uma utilização mais eficiente do processador. o número de setor e o comando da operação. Normalmente. o endereço do primeiro dado e o sentido da transferência (no caso do exemplo.96 Capítulo 8 Durante a fase de transferência de dados. de forma que ela pode determinar quando deve encerrar a sequência de pedidos de interrupção. Na E/S com interrupção. o processador não fica dedicado à operação de E/S. no qual o processador fica impedido de iniciar ciclos de barramento. Na fase de disparo da operação. o controlador de DMA coloca o processador em um estado. chamado hold state. o processador envia para a interface controladora de disco o número de trilha. a interface de disco conhece o tamanho do setor e mantém uma contagem dos dados já recebidos. Em seguida. O processador responde ao pedido de interrupção executando a rotina de serviço e enviando um novo dado. o sentido de transferência é da memória para a interface de E/S). O processador é alocado somente quando realmente deve ser transferido um dado entre a memória e a interface. Existem vários padrões de barramento que interligam interfaces de dispositivos de entrada e saída à placa-mãe. Por barramento. Introdução à Informática introducao_informatica. Outras características estão relacionadas com o sub-sistema de E/S. o número de sinais de interrupção e de canais de DMA foi quase duplicado. tais como largura do barramento de endereço e do barramento de dados. como por exemplo. ou EISA (Extended Industry Standard Architecture). é possível ter várias interfaces de E/S operando com a técnica de acesso direto à memória. uma simples extensão dos barramentos do processador Intel 8088. foi criado o padrão ISA estendido. cujo barramento de sistema tornou-se o padrão ISA (Industry Standard Architecture). Com o ISA. Algumas características do barramento de sistema.97 Dispositivos de Entrada e Saída pelo próprio controlador de DMA. o controlador de DMA possui várias entradas para pedido de DMA. entende-se uma forma de conexão que interliga uma placa de expansão ou uma controladora de dispositivo à placa-mãe. Com o lançamento dos processadores Intel 80386 e 80486. que existe na E/S com interrupção. na realidade. O IBM-PC XT foi substituído pelo IBM-PC AT. aumentaram as exigências quanto ao desempenho de E/S. o padrão ISA permite a conexão de interfaces originalmente projetadas para o barramento IBM-PC XT. Apesar da diferença na largura dos barramentos de endereço e de dados. Para que isso ocorra. o endereço inicial e o sentido da transferência. enquanto que o desempenho das operações de E/S com DMA aumentou em 60%. Em geral. Para fazer face a essas exigências. Um grupo de sinais de controle com seus respectivos registradores formam o chamado canal de DMA. O número de sinais de interrupção e de canais de DMA era bastante limitado. O barramento de sistema no IBM-PC modelo XT era.indd S1:97 15/07/2009 15:04:07 . A E/S com DMA efetivamente elimina o tempo de latência associado a cada dado transferido. Esses barramentos são chamados coletivamente de barramento de sistema. são determinadas pelo processador. permitindo que o dispositivo interaja com ela. Isto permite que a E/S com DMA atinja taxas de transferência bem maiores que as técnicas de E/S que envolvem o controle do processador. O controlador de DMA associa a cada uma destas entradas um conjunto independente de registradores para armazenar o número de dados a serem transferidos. o número de sinais de interrupção e o número de canais de DMA disponíveis no barramento de controle. 98 Capítulo 8 Após o surgimento do padrão EISA.indd S1:98 15/07/2009 15:04:07 . Lembre-se de que a escolha do dispositivo de entrada e saída deve ser feita no Wiki próprio para tal. que é uma interface de 64 bits num pacote de 32 bits. e os slots AMR e CNR. Então. Há pouco tempo. leia o enunciado da tarefa no ambiente e siga as regras de formatação e entrega de seu trabalho sobre um dispositivo de entrada e saída específico. também conhecido como PCI-X. no ambiente. ainda podemos citar outros. Essa técnica permite que dois dispositivos utilizem a mesma interrupção. também criados pela Intel. surgiu o padrão PCI. pois queremos que você descreva melhor os dispositivos existentes no trabalho proposto na Tarefa 8. criados com propósitos bastante específicos: o barramento AGP. Procuramos não entrar em muitos detalhes sobre o assunto. Agora é hora de você entender um pouco melhor sobre os dispositivos de entrada e saída. criado pela Intel exclusivamente para conectar placas de vídeo. colocando seu nome na frente do dispositivo que você escolher. placa de modem ou placa de rede. e o CNR para a instalação de placa de som. Uma característica importante dos padrões de barramento como o EISA e o PCI é o compartilhamento de interrupções. Além dos barramentos já citados. O AMR foi desenvolvido para a instalação de placa de som ou placa de modem. Bom trabalho! Licenciatura em Informática introducao_informatica. foi lançado um novo tipo de slot PCI chamado PCI Express. A figura 9. serão abordados brevemente os sistemas paralelos. dois conceitos que se baseiam na execução paralela de instruções para aumentar o desempenho de um processador. Nessa técnica. os passos de execução de uma instrução são realizados por unidades independentes. são apresentadas a técnica de pipelining (lê-se “páip-láinin”) e as arquiteturas superescalares. você deve efetuar os exercícios ao final do capítulo. Isto significa que apenas uma instrução encontra-se em execução a cada instante de tempo. Por fim. é introduzida a filosofia RISC. Ao contrário da forma de execução sequencial. Introdução à Informática introducao_informatica. Inicialmente. cujos princípios são adotados pela maioria dos processadores lançados recentemente. 9.indd S1:99 15/07/2009 15:04:07 .99 TÓPICOS AVANÇADOS EM ARQUITETURA DE COMPUTADORES Prezado aluno. Em seguida. Este capítulo discute alguns tópicos que atualmente representam o estado-da-arte na área de arquitetura de computadores. Naquele modo.1 A técnica de pipelining No capítulo 6 foi apresentado o mecanismo básico de execução de instruções.1(a) mostra a representação de um pipeline com quatro estágios. Como não poderia faltar. Entender esses conceitos baseados nos conhecimentos pré-estabelecidos na disciplina e perceber as melhorias de desempenho trazidas por eles são os objetivos que esperamos de você ao final do capítulo. no qual as instruções são executadas sequencialmente. de forma a se aprofundar ainda mais no tema. a execução de uma nova instrução inicia-se somente quando a execução da instrução anterior é completada. a técnica de pipelining permite que várias instruções sejam executadas simultaneamente. denominadas estágios do pipeline. percebe-se a posição das instruções dentro do pipeline ao final de cada ciclo de clock. inviabilizando a produção em larga escala. o estágio d decodifica a instrução. o estágio e executa a operação indicada pela instrução. Fonte: Tanenbaum. Adaptação. os passos podem ser feitos em paralelo. A execução de uma instrução inicia-se pelo estágio b. sendo completada no estágio r. Ele favorece uma execução muito mais rápida das instruções computacionais por permitir que vários passos sejam feitos em paralelo. Execução de instruções em pipeline. Pense dessa maneira também em relação ao pipeline. como em uma linha de produção de uma fábrica.indd S1:100 15/07/2009 15:04:07 . Em condições normais. com cada pequena peça dependendo da conexão da anterior. Se ela acontecesse de forma totalmente sequencial. Neste pipeline. a instrução avança para o estágio seguinte. uma instrução avança para o estágio seguinte a cada novo ciclo de clock. e finalmente o estágio r armazena o resultado produzido pela instrução. onde ao invés de cada passo acontecer necessariamente após o anterior. 2001. O modo de execução em pipeline é mostrado na figura 9. Ao ser finalizado um passo em um certo estágio. aumentando o desempenho computacional.1(b). a execução de uma instrução passa a funcionar como uma linha de produção.1.100 Capítulo 9 Figura 9. Imagine a montagem de um carro em uma fábrica. Licenciatura em Informática introducao_informatica. Dessa forma. provavelmente a montagem de todo o carro levaria vários dias. o estágio b realiza a busca da instrução. Na figura. 9. a instrução i1 é buscada pelo estágio b. i2. Quanto menor o tempo que um processador consome para executar um programa. a cada instante de tempo até quatro instruções podem se encontrar em execução. 2001. maior será o seu desempenho. Isto significa que. Adaptação.2. apenas uma instrução é completada por ciclo (veja a figura 9. foi necessário um ciclo para executar cada instrução. várias instruções estão sendo executadas em paralelo. uma em cada estágio do pipeline. Isso pode ser visto a partir da figura 9. o aspecto mais importante na técnica de pipeline é que ela permite que uma instrução seja completada a cada ciclo de clock. vista anteriormente. No pipeline da figura 9. as instruções i2 e i3 avançam para o próximo estágio.2).101 Tópicos Avançados em Arquitetura de Computadores No ciclo c1. quando em uma situação normal. em média. Note que novas instruções entram no pipeline antes que a execução das instruções anteriores seja completada. No ciclo c2. enquanto o estágio b busca uma nova instrução. ao mesmo tempo que o estágio d decodifica a instrução i2 e o estágio b busca a instrução i3. Quando o pipeline se encontra cheio. e assim por diante. cada instrução demoraria 4 ciclos para ser completada. Seria possível aumentar ainda mais o desempenho caso fosse possível elevar esse valor para acima desta média. Figura 9. o estágio e executa a operação indicada pela instrução i1.2 Arquiteturas Superescalares Na técnica de pipelining.indd S1:101 15/07/2009 15:04:08 . Na realidade. Introdução à Informática introducao_informatica.1(b). No ciclo c3. Entre os ciclos c4 e c7 são completadas quatro instruções.2. A figura anterior mostra a continuação da execução iniciada na figura 9. e o estágio b acessa a instrução i4. a instrução i1 é decodificada pelo estágio d. No ciclo c4 o resultado da instrução i1 é armazenado pelo estágio r. i2. Completando instruções a cada ciclo de clock. ao final do ciclo c5 a execução de i2 é completada. Fonte: Tanenbaum. i3 e i4.1(b). Ao final do ciclo c4 a execução da instrução i1 é completada. i1. Ainda em c4. responsável por enviar as instruções para o processamento. seria necessário permitir que mais de uma instrução fosse completada a cada ciclo. em 1993. A versão inicial do Pentium operava com uma frequência de clock de 66 Mhz. Nelas. Os dispositivos de memória apresentavam baixa densidade e alto tempo de acesso. e assim aumentar o desempenho além de 1 instrução/ciclo. Uma arquitetura superescalar é dotada de múltiplas unidades funcionais independentes. uma instrução é despachada quando a unidade funcional apropriada encontra-se disponível e quando não existe uma dependência de dados entre esta instrução e uma outra instrução ainda em execução. sendo considerado um dos melhores processadores para máquinas desktop no mercado. Os processadores mais recentes destinados a aplicações de alto desempenho apresentam arquiteturas superescalares. é possível completar a execução de várias instruções a cada ciclo de clock. acessa e decodifica um certo número de instruções. Desta forma. Licenciatura em Informática introducao_informatica. que executam instruções em paralelo. A cada ciclo. e verifica quais destas instruções podem ser despachadas para as unidades funcionais. Devido à baixa capacidade de armazenamento da memória principal. a unidade de despacho. ou despachadas. era desejável que o código executável de um programa tivesse tamanho reduzido. A velocidade da memória principal contribuía para reforçar essa necessidade. o Pentium chega a frequências que ultrapassam os 3 Ghz. como o processador Pentium. várias instruções podem ser enviadas.3 Arquiteturas RISC x CISC Uma das principais tendências nas arquiteturas de processador que surgiram ao longo das décadas de 70 e 80 foi a crescente sofisticação dos seus conjuntos de instruções. para execução nestas unidades funcionais. 9. operações que antes eram realizadas por uma sequência de várias instruções passaram a ser executadas por uma única instrução. Tipicamente. Essa é a ideia central nas arquiteturas superescalares. A cada ciclo.102 Capítulo 9 Para obter um aumento adicional no desempenho. O tempo de acesso à memória principal era em média 10 vezes maior que o tempo de execução de uma instrução com operandos em registradores. Tal sofisticação das instruções decorria das limitações de hardware e de software disponíveis na época.indd S1:102 15/07/2009 15:04:08 . Hoje. lançado pela Intel Corp. As principais limitações do hardware estavam na capacidade de armazenamento e na velocidade da memória principal. Programas em linguagens de alto nível eram assim considerados ineficientes em termos de espaço e tempo de execução. o estado inicial dos compiladores apresentavam limitações que se somavam às do hardware. Foram propostas e implementadas unidades lógica-aritmética complexas. ou seja. poucos registradores de dados (propósito geral) e processamento controlado por microprograma. e cálculo de funções matemáticas como trigonometria e logaritmos. em geral. instruções que permitiram a movimentação de blocos de dados e instruções para tratamento de vetores e matrizes.103 Tópicos Avançados em Arquitetura de Computadores Esse desbalanceamento levou ao princípio amplamente aceito na época de que o tempo de execução de um programa seria proporcional ao tamanho do seu código. Assim. A filosofia é que o hardware é mais rápido que o software. Quanto à movimentação de dados. verificou-se o surgimento de inúmeros tipos de endereçamento de memória. Tais circunstâncias motivaram o desenvolvimento de arquiteturas para suportar o uso de linguagens de alto nível. unidades de divisão. um conjunto poderoso de instruções produziria programas executáveis pequenos. com poucas instruções.indd S1:103 15/07/2009 15:04:08 . Do lado do software. Como ainda não haviam sido desenvolvidas técnicas eficientes de otimização de código. Programas de alto nível compilados para tais arquiteturas deveriam ser tão eficientes quanto programas escritos em assembly. o uso de linguagens assembly resultava em uma dificuldade e custo de desenvolvimento cada vez maiores. a abordagem usada nas arquiteturas complexas foi elevar o nível de funcionalidade do conjunto de instruções. o código então gerado por um compilador era. criando as arquiteturas chamadas de CISC. No entanto. desejava-se reduzir o tamanho do código não somente para economizar espaço. maior do que o código do mesmo programa quando escrito diretamente em linguagem assembly. mas também para se obter um melhor desempenho. a crescente complexidade das aplicações foi tornando proibitiva a programação em linguagem assembly. vários modos de endereçamento (a memória). Então. À medida que as aplicações se tornavam mais sofisticadas. Os processadores construídos segundo a arquitetura CISC (Complex Instruction Set Computer) possuem uma grande quantidade de complexas instruções. Programas longos teriam um maior tempo de execução devido ao maior número de instruções acessadas na memória. Introdução à Informática introducao_informatica. Para alcançar o seu objetivo. unidades de multiplicação. O uso de linguagens de alto nível tornava-se imprescindível. Assim. A capacidade de armazenamento dos dispositivos de memória aumentava rapidamente: a tendência era de um crescimento na capacidade de armazenamento de 60% ao ano. os circuitos se tornaram muito grandes. as arquiteturas complexas surgiram devido às limitações na capacidade de armazenamento e no tempo de acesso da memória principal. com uma quadruplicação a cada três anos. eram minimizadas as limitações no tamanho e na velocidade da memória principal. Além disso. enquanto eram apontadas desvantagens no uso de instruções com alto nível de funcionalidade. Assim. 9. Esse fato dificulta a redução do ciclo de operação. Um outro fator foi o rápido avanço tecnológico ocorrido ao longo da década de 80.indd S1:104 15/07/2009 15:04:08 . ideia que é discutida a seguir.1 A Filosofia RISC As desvantagens das arquiteturas complexas relacionadas acima constituem um dos fatores que motivaram a filosofia RISC (Reduced Instruction Set Computers). O aumento na capacidade de armazenamento e a queda do preço dos dispositivos de memória praticamente eliminaram as limitações quanto ao tamanho da memória principal. O novo quadro que existia no início da década de 80 era. o seguinte: surgiam evidências de que instruções complexas não necessariamente contribuíam para melhorar o desempenho. a partir da década de 80 verificou-se um aprimoramento significativo na tecnologia de memórias semicondutoras. O desbalanceamento entre a velocidade do processador e a velocidade da memória principal também foi atenuado com novos processos de fabricação. porque se paga com uma perda no desempenho por uma funcionalidade que não é efetivamente utilizada. mas deixou realmente de ser um fator limitante com a introdução das memórias cache. Como visto. No entanto. desapareciam as circunsLicenciatura em Informática introducao_informatica. havia uma constante diminuição no preço dos dispositivos de memória. Devido à complexidade envolvida.104 Capítulo 9 Todo este desenvolvimento acarretou em um problema: a dificuldade em aumentar a frequência de operação. Foi essa constatação que levou à ideia de simplificar o conjunto de instruções para se obter arquiteturas com melhor desempenho.3. ocupando uma área considerável em silício. A queda no preço possibilitava que novos sistemas fossem equipados com uma memória principal cada vez maior. então. o argumento central é o de que as arquiteturas complexas apresentam um mau compromisso entre funcionalidade e desempenho. devido ao aperfeiçoamento dos processos de fabricação e à produção em larga escala. Ao mesmo tempo. os projetos de Berkeley e Stanford tinham como foco o projeto de máquinas eficientes. surgiram RISC I e RISC II na Universidade da Califórnia/Berkeley e MIPS na Universidade de Stanford. Tudo isso devido ao fato de implementar apenas um conjunto limitado e otimizado de instruções. As máquinas RISC apareceram no início dos anos 80 em laboratórios de empresas como a IBM e em instituições de pesquisa. Em 1985. O princípio básico na filosofia RISC é a simplicidade das instruções. Segundo. As características principais de uma máquina RISC são: • Conjunto de instruções limitado. a instrução deverá ser realmente útil na codificação de diferentes tipos de programas escritos em diferentes linguagens. Primeiro. • Poucos modos de endereçamento. Nas demais instituições. Os circuitos de cada estágio de um pipeline RISC são muito mais simples. Tais pesquisas não tinham a intenção de revolucionar o projeto de processadores. o que para o mundo da microeletrônica significa menos atrasos e mais velocidade. mas simples o suficiente para poderem ser implementados em ambiente universitário. Esse novo quadro motivou e viabilizou a proposta das arquiteturas RISC. ou seja. A arquitetura RISC permitiu a implementação de circuitos operando a uma frequência elevada. • Apenas as instruções LOAD e STORE para acesso à memória. todas as três tecnologias estavam operacionais. a utilização da instrução deverá ser significativa. devido ao fato de necessitar de circuitos muito mais simples comparados aos processadores CISC. Arquiteturas RISC fornecem apenas aquelas instruções simples mais frequentemente usadas na codificação de programas de alto nível. com um formato fixo e simples (não ultrapassando o tamanho da palavra).indd S1:105 15/07/2009 15:04:08 . Uma instrução complexa é incluída na arquitetura somente se forem satisfeitos dois critérios. • Grande número de registradores ou a utilização de compiladores que otimizam a utilização de registradores. foram inseridas em computadores como o IBM 801. É claro que alta frequência de operação não é sinônimo Introdução à Informática introducao_informatica.105 Tópicos Avançados em Arquitetura de Computadores tâncias que haviam justificado essa abordagem. o ganho final no desempenho deverá ser maior do que eventuais perdas no tempo de execução das instruções simples que ocorram com o acréscimo da instrução complexa. Por exemplo: inicialmente. Na IBM. • Ênfase na otimização da pipeline de instruções. Essa visão do computador nunca foi totalmente verdadeira. que podem assim executar várias instruções de um mesmo programa em paralelo. e verá como vários sistemas computacionais podem ser interligados. para aumentar a disponibilidade do sistema. 9. armazenamento dos resultados). A maioria das linguagens de programação requer que o programador especifique um programa como uma sequência de instruções. o computador tem sido visto como uma máquina sequencial. Cada instrução é executada como uma sequência de operações (busca de instrução. decodificação. você subirá mais um nível. vários sinais de controle são gerados ao mesmo tempo. Essa abordagem é levada mais adiante em uma organização superescalar. execução da operação. feita por um software chamado de sistema operacional. que se comunicam através de uma certa estrutura de interconexão. existem diversas unidades de execução em um mesmo processador. Na disciplina de Sistemas Operacionais. em alguns casos. Na disciplina de Redes de Computadores. estendendo essa sobreposição pelo menos para as operações de busca e execução de instruções. por exemplo. Um sistema paralelo é aquele onde existem vários processadores e módulos de memória. usualmente para melhorar o desempenho e.106 Capítulo 9 de processamento veloz (é um grande apelo de mercado). À medida que a tecnologia evoluiu e o custo do hardware do computador tornou-se mais baixo. No nível de microoperações. os projetistas de computadores têm buscado outras oportunidades de exploração do paralelismo. Licenciatura em Informática introducao_informatica. você terá uma visão da gerência do computador. Esses são dois exemplos de execução de funções em paralelo. A técnica de pipeline de instruções tem sido usada há muito tempo. que explora o paralelismo em nível de instrução.4 Arquiteturas Paralelas Tradicionalmente. Nas máquinas superescalares. Esses assuntos serão melhor abordados nas disciplinas seguintes a esta no curso. mas a arquitetura RISC abriu novas fronteiras para o projeto de microprocessadores. trocando informações e compartilhando recursos. que pode ser a própria placa-mãe do computador ou uma rede de computadores. Os processadores executam programas por meio da execução sequencial de instruções de máquina. e os desafios que são inerentes ao processo gerencial.indd S1:106 15/07/2009 15:04:08 . que irão permear as disciplinas que você acompanhará no decorrer do curso.107 Tópicos Avançados em Arquitetura de Computadores O uso de sistemas com vários processadores explorando o paralelismo. dispositivos de entrada e saída e dispositivos de armazenamento. Desejamos que você tenha muito sucesso nos desafios que se seguirão no curso e que nunca perca a empolgação e a curiosidade neste fantástico mundo de descobertas que você começa a vivenciar agora. Core 2 Quad e Core 2 Extreme usam a nova arquitetura Core. para notebooks). O Pentium D é formado por dois núcleos de Pentium 4. como o Athlon e o Pentium M (plataforma Centrino. tanto da empresa AMD quanto da Intel. No início de 2007. Boa sorte!!! Introdução à Informática introducao_informatica. Depois vieram outros modelos. Os novos processadores Core 2 Duo. no mercado de computadores desktop. o Pentium D e o Pentium Extreme Edition. Em 2006 a Intel criou a nova arquitetura Core. como: processador. O que visamos com este material é introduzi-lo nos conceitos básicos da Informática. Prezado aluno. a arquitetura do Pentium D era menos eficiente que as usadas de outros processadores contemporâneos. Em meados de 2005. baseada no núcleo do Pentium M. Entretanto. muito mais eficiente que a anterior. No transcorrer da disciplina. dentro do mesmo encapsulamento. Apesar dos clocks serem elevados. os processadores com mais de um núcleo já formavam uma generosa lista. que já completava seis anos. Chegamos ao fim de nossa disciplina sobre Introdução à Informática. já que o assunto é imensamente amplo e ganha novos contornos a cada descoberta. já é comum no mercado de servidores. para substituir a arquitetura anterior. Por isso um Pentium 4 precisava operar com clock muito elevado para ter bom desempenho. foram lançados os primeiros processadores com dois núcleos.indd S1:107 15/07/2009 15:04:08 . memória. foram abordados os fundamentos básicos da informática e os tópicos principais da organização dos computadores. Em nenhum momento foi nosso objetivo nesta disciplina esgotar a discussão acerca dos conceitos da organização de um computador. apenas recentemente este uso tem se tornado mais comum. telefones celulares. como você acha que os processadores de dois ou mais núcleos podem ajudar nesse processo? Licenciatura em Informática introducao_informatica. temos observado que essa lei não está mais sendo empregada em relação à frequência em Hertz dos processadores. 3) Descreva o procedimento para execução de instruções adotando as seguintes estratégias: a) Pipeline b) Arquiteturas Superescalares c) Multiprocessadores d) Multicomputadores 4) A “Lei de Moore” prega que o poder de processamento dos chips teria um aumento de 100% a cada período de 18 meses. palmtops e outros dispositivos eletrônicos comuns. a tecnologia RISC não suplantou completamente a CISC? 2) Realize uma pesquisa e apresente exemplos de processadores que utilizam a filosofia RISC e exemplos de processadores que utilizem a filosofia CISC. Entretanto. pois ela se aproxima dos limites possíveis. então. Em particular procure sobre processadores que são utilizados em microondas. Então.108 Capítulo 9 Atividades 1) Pesquise e responda: se as máquinas RISC são bem mais eficientes. por que.indd S1:108 15/07/2009 15:04:08 . Gilmar. São Paulo. Arquitetura de Computadores. Introdução à Informática introducao_informatica. Mário A. 2007. Maria Clicia Stelling.indd S1:109 15/07/2009 15:04:08 . & HENNESSY John L. Introdução à Arquitetura de Computadores. Organização Estruturada de Computadores. M. 1999. 1999 TOCZEK. S.. Vitória. HEURING V.com/CCA/pages/marks/ computador/bibliogr.. Apostila de Apoio a disciplina de Processamento de Dados. Editora LTC. Introdução à Organização de Computadores. Juiz de Fora. Jonathan Souza. Andrew S. Editora LTC. DAVID A. Organização e Projeto de Computadores.P. Informática: novas aplicações com microcomputadores. Makron. Disponível em http://www.htm MEIRELLES.109 CASTRO. Editora LTC. 2001 MURDOCCA. Organização estruturada de computadores. 2000 TANENBAUM.netangola. Vitória. 1997. J. PATTERSON. História do Computador. IFES.. MONTEIRO. Rio de Janeiro. Capturado on-line em 20/02/2009.. Editora Campus. VASSOLER. F. 2001.
Copyright © 2024 DOKUMEN.SITE Inc.