Arquitetura de Computadores

122
Arquitetura de Computadores- UAB Enviado por: Leonardo Delgado | 0 comentários Arquivado no curso de Matemática na UFMA Download denunciar 3 Evolução e Arquitetura de Computadores Sumário pág. 1. EVOLUÇÃO E ARQUITETURAS DOS COMPUTADORES 9 1.1- Evolução dos computadores 9 1.1.1- Computadores eletrônicos – 1ª Geração 9 1.1.2 - Computadores transistorizados – 2ª Geração 1 1.1.3 - Computadores com circuitos integrados – 3ª Geração 1 2 1.1.4 - Últimas gerações 1 2 1.2 -Arquiteturas de computadores 1 3 1.2.1 - Máquinas von Neumann 1 3 2. A Unidade Central de Processamento - CPU 1

Transcript of Arquitetura de Computadores

Page 1: Arquitetura de Computadores

Arquitetura de Computadores-UAB

Enviado por: Leonardo Delgado | 0 comentários

Arquivado no curso de Matemática na UFMA Download

denunciar

3 Evolução e Arquitetura de Computadores

Sumário pág.

1. EVOLUÇÃO E ARQUITETURAS DOS COMPUTADORES 91.1- Evolução dos computadores 91.1.1- Computadores eletrônicos – 1ª Geração 91.1.2 - Computadores transistorizados – 2ª Geração 11.1.3 - Computadores com circuitos integrados – 3ª Geração 121.1.4 - Últimas gerações 121.2 -Arquiteturas de computadores 131.2.1 - Máquinas von Neumann 132. A Unidade Central de Processamento - CPU 152.1 - Estrutura e funcionamento da CPU 152.2 - Evolução da CPU 172.3 - Coprocessador aritmético e memória cache 192.4 - Modo Real x Modo Protegido 192.4.1 Memória Virtual 202.4.2 - Multitarefa 212.4.3 -Memória Protegida 212.5 - Clock 212.6 - Pipeline de instruções 22.7 - Arquiteturas CISC e RISC 253. Memórias 273.1- Memórias primárias 29

Page 2: Arquitetura de Computadores

3.1.1 - Memória RAM 293.1.2 - Memória cache 303.1.3 - Memória ROM 313.1.4 - Memória de con guração CMOS 323.1.5 - Registradores 33.2 - Memórias secundárias 33.1.2 - Disco rígido 33.2.2 - Disquetes 363.2.3 - Fita magnética 373.2.4 - Discos óticos 383.2.5 - Pen drives 383.2.6 - Cartões de memória 394. Periféricos do computador 404.1 - Dispositivos de entrada 404.1.1 - Teclado 404.1.2 - Mouse 40

4.1.5 - Microfone 414.2 - Dispositivos de saída 414.2.1 - Monitor de Vídeo 424.2.2 - Impressoras 424.2.3 - Plotters 434.2.4 - Speakers 435. Outros componentes do computador 45.1 - Barramentos 45.1.1- Barramento AGP 455.1.2 - Barramento PCI 465.1.3 - Barramento ISA 465.1.4 - Barramento USB 465.1.5 - Barramento Firewire 475.1.6 - Slots de expansão e adaptadores 475.2 - Portas de comunicação 485.2.1 - Portas seriais e paralelas 485.2.2 - Portas PS/2 495.2.3- Comunicação com transmissão sem o 495.3 Cooler 505.4 - Placa – Mãe 505.5 - Chipset 505.6 - Fonte de Alimentação 526. Sistemas numéricos 546.1 - Sistema numérico decimal 546.2 - Sistema numérico binário 5462.1 - Representação de Números Inteiros 56.2.2 - Negação em complemento de dois 57

Page 3: Arquitetura de Computadores

6.2.3 - Adição em binário 586.2.4 - Subtração em binário 596.2.5 - Multiplicação em binário 596.2.6 - Divisão em binário 616.3 - Sistema numérico hexadecimal 626.4 - Conversão de bases 636.4.1 - Decimal-binário 636.4.2 - Hexadecimal – Binário 636.4.3 - Binário - Hexadecimal 636.4.4 - Qualquer base para a decimal 64

4.1.4 - Leitor Ótico ........................................................................................................................................................................ 41 6.4.5 - Decimal - Hexadecimal................................................................................................................................................... 64

5 Evolução e Arquitetura de Computadores

1.EVOLUÇÃO E ARQUITETURAS DOS COMPUTADORES

Este capítulo mostra um breve histórico da evolução dos computadores. Também serão estudadas as arquiteturas que serviram de base para dá origem a maioria das arquiteturas dos computadores atuais.

1.1- Evolução dos computadores

A evolução dos computadores tem sido caracterizada pelo aumento da velocidade dos processadores, pela diminuição do tamanho dos componentes, pelo aumento da capacidade de memória e pelo aumento da capacidade e da velocidade dos dispositivos de entrada e saída (E/S).

Um dos fatores responsáveis pelo grande aumento da velocidade dos processadores é a diminuição do tamanho dos componentes dos microprocessadores; isso acarreta a redução da distância entre os componentes e, consequentemente, o aumento da velocidade. Entretanto, os ganhos reais de velocidade obtidos nos últimos anos são devido, principalmente, a mudanças na organização do processador, incluindo o uso intensivo de pipeline1 e de técnicas de execução paralelas de instruções2.

É comum classi car os computadores em geração, de acordo com a tecnologia básica de hardware empregada. Cada nova geração é caracterizada por computadores com maior velocidade, maior capacidade de memória e menor tamanho que os computadores da geração anterior. Nas subseções seguintes serão apresentadas as características e computadores que marcaram as principais gerações de computadores.

Page 4: Arquitetura de Computadores

1.1.1- Computadores eletrônicos – 1ª Geração Essa geração é caracterizada pelo uso da tecnologia a válvula

O Projeto ENIAC (Computador e integrador Numérico Eletrônico – Electronic Numerator, Integrator,

Analyzer, and Computer), desenvolvido na Universidade da Pensilvânia entre 1943 e 1946 foi o primeiro computador eletrônico de propósito geral.

O projeto foi uma resposta às necessidades dos Estados Unidos diante da guerra. O Laboratório de

Pesquisas Balísticas do Exército Americano, órgão responsável por desenvolver tabelas de trajetória e alcance para as novas armas, vinha encontrando di culdades em obter essas tabelas com precisão e tempo hábil. Sem elas as novas armas de artilharia seriam inúteis. O Laboratório empregava mais de 200 pessoas que, utilizando calculadoras de mesa, resolviam as equações de balísticas. A preparação das tabelas para uma única arma consumia várias horas de trabalho de uma pessoa, até mesmo dias.

Esse computador, desenvolvido por John W. Mauchly, J. Presper Eckert e equipe. Pesava cerca de 30 toneladas, ocupava o espaço de aproximadamente 140 metros quadrados, continha mais de 18 mil válvulas3 e apresentava um consumo de 140 quilowatts de energia elétrica. Essa máquina era muito mais rápida

1 Técnica de hardware na qual o ciclo de busca-decodi cação-execução de instruções é dividido em etapas processadas simultaneamente. Essas instruções são colocadas em uma la de memória (dentro da CPU) onde aguardam o momento de serem executadas. Essa técnica é utilizada para acelerar a velocidade de operação da CPU, uma vez que a próxima instrução a ser executada está normalmente armazenada dentro da CPU e não precisa ser buscada da memória, normalmente muito mais lenta que a CPU. 2 Computação paralela é uma forma de computação em que vários cálculos são realizados simultaneamente, operando sob o princípio de que grandes problemas geralmente podem ser divididos em problemas menores, que então são resolvidos concorrentemente (em paralelo). 3 Válvula é um tubo de vidro do qual foi praticamente tirado todo o gás, criando um ambiente de vácuo, contendo eletrodos e grades metálicas, cuja nalidade é controlar o - uxo de elétrons. As válvulas transformam sinais elétricos em zeros e uns. É um dispositivo que conduz corrente elétrica em um só sentido

6 Evolução e Arquitetura de Computadores

que qualquer computador eletromecânico, sendo capaz de executar 5 mil adições por segundo. Dados podiam ser inseridos através de cartões perfurados, que também eram utilizados para saída. A máquina operava a 100 quilohertzs.

Em Fevereiro de 1946, o ENIAC (Figura 1.1) foi revelado para o público, e no verão daquele mesmo ano foi oferecido o curso Theory and Techniques for Design of

Page 5: Arquitetura de Computadores

Electronic Computers, com aulas por Eckert, Mauchly, Stibitz, von Neumann, e Aiken, entre outros. Vários novos projetos surgiram a partir desse curso.

Figura 1.1 - O ENIAC (preenchia esta sala)

O ENIAC era uma máquina decimal e não uma máquina binária; ou seja, a representação dos números era feita na base decimal, a qual era utili zada também para a realização das operações aritméticas. A memória consistia em 20 acumuladores, cada um dos quais capazes de armazenar um número decimal de 10 dígitos.

Os computadores eletrônicos, apesar de representar grande avanço em relação a seus similares eletromecânicos, apresentavam duas grandes limitações: baixa capacidade de memória e longo tempo de programação.

A principal desvantagem do ENIAC era a programação manual através do ligamento e desligamento de chaves e conexão e desconexão de cabos, o que exigia dias de trabalho. O processo de programação poderia ser extremamente facilitado se o programa pudesse ser representado de maneira adequada, de modo que fosse armazenado na memória, juntamente com os dados. Assim, o computador poderia obter as instruções diretamente, a partir da memória, e um programa poderia ser carregado ou modi cado simplesmente atribuindo valores a posições de memória.

O marco para quebrar essa barreira foi a concepção do conceito de programa armazenado, associada ao projeto EDVAC (Computador Variável Discreto Eletrônico – Eletronic Discrete

Variable Automatic Computer), um sucessor do ENIAC com “ampla” capacidade de memória e que utilizava aritmética binária.

A construção do EDVAC foi concluída em 1952, com cerca de 4000 válvulas, 10000 diodos a cristal, e 1024 palavras de 4 bits em memória com uma velocidade de relógio de 1 Mega Hertz.

Atribui-se normalmente a autoria do conceito de programa armazenado a von Neumann, exclusivamente. O motivo é que von Neumann escreveu um relatório de 101 páginas sobre o projeto EDVAC, em junho de 1945, onde o conceito é formalmente descrito pela primeira vez.

Embora o EDVAC tenha sido concluído apenas em 1952, algumas sugestões sobre o conceito de programa armazenado foram apresentadas durante a escola de verão do ENIAC. Isso permitiu que alguns participantes dessa escola, trabalhando em projetos mais modestos, viessem a construir computadores com programa

7 Evolução e Arquitetura de Computadores armazenado antes da conclusão do EDVAC. Tais máquinas incluem:

Page 6: Arquitetura de Computadores

• Manchester Baby Machine, da Universidade de Manchester (Inglaterra), de junho de 1948, por M. Newman e F.C.Williams;

• EDSAC (Electronic Delay Storage Automatic Calculator), da Universidade de Cambridge (Inglaterra), de maio de 1949, por Maurice Wilkes;

• BINAC (Binary Automatic Computer), da Eckert-Mauchly Computer Corporation (EMCC), operacional em Setembro de 1949;

• UNIVAC (Universal Automatic Computer), da Remington Rand Co. (que incorporou a EMCC), com a primeira unidade operacional em março de 1951;

• Whirlwind, do MIT por Jay Forrester, projetado como o primeiro computador para aplicações temporeal. O Whirlwind tornou-se a base para projetos de minicomputadores;

• IBM 701, voltado para aplicações cientí cas, foi o primeiro computador eletrônico da IBM (dezembro 1952);

• IBM 650 Magnetic Drum Computer, apresentado como o modelo barato da IBM, anunciado em 1953. Essa máquina foi a base para o modelo IBM 1401 (transistorizado, anúncio em outubro de 1959, entrega no início de 1960).

1.1.2 - Computadores transistorizados – 2ª Geração

A primeira mudança nos computadores veio com a substituição da válvula pelo transistor.

O transistor é menor, mais barato e dissipa menos calor do que a válvula e, assim como uma válvula, também pode ser utilizado para a construção de computadores.

Ao contrário da válvula, que requer o uso de os, placas de metal, cápsula de vidro e vácuo, o transistor é um dispositivo de estado sólido feito de silício.

O transistor foi desenvolvido no Bell Labs em 1947, e iniciou uma revolução na indústria eletrônica nos anos 50. Entretanto, apenas no nal da década de 50, computadores totalmente transistorizados tornaram-se comercialmente disponíveis.

Os computadores dessa geração tornaram-se con áveis o su ciente para serem fabricados e vendidos para clientes com a expectativa de que continuariam a funcionar por tempo su ciente para realizar algum trabalho útil. Essas máquinas eram guardadas em salas especiais com ar condicionado. Somente grandes corporações ou importantes órgãos do governo ou universidades podiam arcar com seu preço (na casa dos milhões de dólares).

Sem sistema operacional muito tempo era perdido entre o término de uma tarefa e o início de outra.

Quando em execução, uma tarefa detinha todo o controle da máquina. As funções de um Sistema Operacional de primeira geração evoluíram da necessidade de liberar o programador dos aspectos físicos da máquina.

Page 7: Arquitetura de Computadores

A série IBM7000 marcou a entrada da IBM no mercado de computadores transistorizados. Uma das características inovadoras nesses produtos era a utilização de processadores de entrada e saída (I/O Processors). As características genéricas destes primeiros computadores transistorizados incluíam memórias a núcleo de ferrite e tambores magnéticos, linguagens de programação de alto nível, o FORTRAN, e o conceito de sistemas de computadores.

O desenvolvimento de várias dessas máquinas contribuiu para a organização do sistema que hoje estão presentes em muitos computadores. Memória virtual foi introduzida no sistema Atlas (Inglaterra, 1962); o conceito de uma família de sistemas com periféricos compatíveis foi introduzido com o IBM System360 (1964).

8 Evolução e Arquitetura de Computadores

O uso de transistores criou a segunda geração de computadores.

1.1.3 - Computadores com circuitos integrados – 3ª Geração

Durante a década de 50 e início dos anos 60, os equipamentos eletrônicos eram compostos basicamente de componentes discretos – transistores, resistores, capacitores e assim por diante. Esses componentes eram fabricados separadamente, encapsulados em seus próprios recipientes e soldados ou ligados com os, por meio de uma técnica conhecida como wire-up, às placas de circuito, que eram então instaladas nos computadores, osciloscópios e outros equipamentos eletrônicos. Quando um dispositivo eletrônico requeria um transistor, um pequeno tubo de metal com uma peça de silício tinha de ser soldado a uma placa de circuito. O processo completo de fabricação, desde o transistor até a placa de circuito era caro e incômodo.

Isso começava a criar problemas na indústria de computadores. Os computadores do início da segunda geração continham cerca de 10 mil transistores. Esse número cresceu até centenas de milhares, tornando cada vez mais difícil a fabricação de máquinas novas, mais poderosas.

Em 1958, foi desenvolvida uma nova técnica que revolucionou os equipamentos eletrônicos e iniciou a era da microeletrônica: a invenção do circuito integrado. Esse circuito caracteriza a terceira geração de computadores.

Por volta de 1965, a IBM anunciou o computador IBM 360, construído nos USA, totalmente transistorizado e tinha uma capacidade de memória base de 32K bytes. O IBM 360 era uma série de máquinas compatíveis ao nível de software. Como todas as máquinas tinham a mesma arquitetura e conjunto de instruções, programas escritos para uma máquina podiam executar em todas as outras (pelo menos na teoria). A memória era construída com toros de ferrite (óxido de ferro). É o primeiro computador IBM a utilizar 8 bits para codi cação de caracteres e a palavra byte assume então o signi cado que ainda hoje tem. Com 8 bit era possível codi car 256 estados diferentes o que era su ciente para a codi cação dos 10 algarismos, 52 letras (maiúsculas e minúscula) do alfabeto, o espaço, 27 símbolos e 166 caracteres especiais. É o primeiro computador

Page 8: Arquitetura de Computadores

IBM que podia ser comandado a partir da digitação de caracteres numa máquina de escrever. Ao IBM 360 podiam ser acoplados leitores/perfuradores de cartões de 80 colunas, unidades de ta magnética, e uma impressora de caracteres que dispunha de uma cadeia metálica.

A década de 1970 foi marcada pela utilização de circuitos integrados em larga escala; pelo minicomputador, com extenso uso de circuitos em chips; pelos dispositivos de memória dinâmica de 1 Kbit e 4 Kbit (1974) e pelos microprocessadores Intel 8086 (1978), de 16 bits e Motorola 68000 (1979), de 16/32 bits. Algumas funções especí cas, como unidades de gerência de memória (MMU) e co-processadores aritméticos, passaram também a ser implementados em hardware.

Em 1971 a IBM lança o “disco - exível” um disco plástico de oito polegadas recoberto com óxido de ferro.

Niklaus Wirth cria, em 1971, uma linguagem simbólica, o PASCAL tendo em vista o ensino das técnicas de programação e dá origem à técnica de Programação Estruturada. Basic foi uma linguagem originalmente criada para o aprendizado e teve seu uso bastante reduzido já na década de 70.

1.1.4 - Últimas gerações

A partir da terceira geração de computadores, existe um menor consenso sobre a de nição das demais gerações de computadores. Com a introdução de integração em grande escala (Large-Scale Integration - LSI), mais de mil componentes podem ser colocados em uma única pastilha de circuito integrado. A integração em escala muito grande (Very-Large-Scale Integration - VLSI) atingiu mais de 10 mil componentes por pastilha, e as pastilhas VLSI atuais podem conter mais de 100 mil componentes.

Com o rápido avanço da tecnologia, a introdução signi cativa de novos produtos e a importância do

9 Evolução e Arquitetura de Computadores software e das comunicações, tanto quanto do hardware, a classi cação em gerações torna-se menos clara e menos signi cativa. Pode-se dizer que a aplicação comercial dos novos desenvolvimentos representou uma grande mudança no início dos anos 70 e que os resultados dessas mudanças ainda estão sendo sentidos.

Em 1984, a companhia Apple lançou uma máquina que introduziria novamente uma revolução: o Macintosh. Este era o sucessor de um modelo chamado “Lisa” (1º computador com interface totalmente grá ca)– mas que não teve aceitação devido seus custo e sua escassa capacidade - introduzia pela primeira vez o conceito de interface grá ca, a analogia de um escritório e um novo periférico: o mouse.

1.2 -Arquiteturas de computadores

Page 9: Arquitetura de Computadores

Apesar da existência de uma grande diversidade em termos de arquiteturas de computador, é possível enumerar num ponto de vista mais genérico, os componentes básicos desta classe de equipamentos. A Figura 1.2 apresenta um esquema de um computador, destacando os elementos que o compõem. Apesar da grande evolução ocorrida na área de informática desde o aparecimento dos primeiros computadores, o esquema apresentado na gura pode ser utilizado tanto para descrever um sistema computacional atual como as máquinas de John Von Neuman.

Figura 1.2- Organização básica de um computador

No projeto de sistemas computacionais os principais componentes considerados são: processadores, memórias, dispositivos de entrada e saída, e meios de interconexão.

Processadores: controlam a operação do computador e desempenham funções de processamento de dados.

Memórias: armazenam dados e são divididas em memória principal e memória secundária.

Dispositivos de entrada e saída (E/S): transferem dados entre o computador e o ambiente externo. Em geral, são lentos quando comparados com o processador.

Meios de interconexão: mecanismos que estabelecem a comunicação entre a CPU, memória principal e dispositivos E/S. Um problema crítico na utilização dos meios de interconexão é a contenção, a disputa pelo uso simultâneo de recursos compartilhados.

1.2.1 - Máquinas von Neumann

Johann von Neumann, matemático húngaro, e seus colegas começaram um projeto de programa armazenado, conhecido como IAS. O IAS, concluído em 1952, constitui os princípios de funcionamento de todos os computadores de propósito geral subsequentes.

A característica de máquinas von Neumann é a composição do sistema a partir de três subsistemas básicos: CPU, memória principal e sistema de entrada e saída.

10 Evolução e Arquitetura de Computadores

A CPU (unidade central de processamento), por sua vez, tem três blocos principais: unidade de controle

Page 10: Arquitetura de Computadores

(UC), unidade lógico-aritmética (ALU) e registradores, incluindo-se aí um registrador contador de programa (PC) que indica a posição da instrução a executar.

São características das máquinas von Neumann a utilização do conceito de programa armazenado, a execução seqüencial de instruções e a existência de um caminho único entre memória e unidade de controle (Figura 1.3).

Figura 1.3- Arquitetura de máq uinas von Neumann.

Durante sua operação, a execução de um programa é uma seqüência de ciclos de máquina von Neumann, compostos 2 subciclos:

1. Busca da instrução (fetch): transfere instrução da posição de memória apontada por PC para a CPU.

2. Execução da instrução: a unidade de controle decodi ca a instrução e gerencia os passos para sua execução pela ALU.

O computador IAS tinha um total de 21 instruções que podem ser agrupadas como a seguir:

• Transferência de dados: os dados são transferidos entre a memória e os registradores da ULA ou entre dois registradores da ULA.

• Desvio incondicional: normalmente a unidade de controle executa as instruções na sequência em que se encontram na memória. Essa sequencia de instruções pode ser alterada por uma instrução de desvio. Isto é usado para executar sequências de instruções repetidamente.

• Desvio condicional: o desvio é efetuado dependendo do teste de uma condição, o que permite a introdução de pontos de decisão.

• Aritmética: operações executadas pela ULA.

Page 11: Arquitetura de Computadores

• Alteração de endereço: possibilita calcular endereços, utilizando a ULA, para então inseri-los em instruções armazenadas na memória. Isto permite ao programa uma considerável - exibilidade de endereçamento.

1 Evolução e Arquitetura de Computadores

Problemas com a Arquitetura de Von Neumann: • Há apenas um barramento de dados e um de endereço.

• As Instruções e os dados ocupam o mesmo endereçamento de memória.

• As Instruções e os dados trafegam pelo mesmo barramento (barramento de Dados).

A UNIDADE CENTRAL DE PROCESSAMENTO - CPU 2.1 - Estrutura e funcionamento da CPU

Um equívoco ocorre ao chamar o gabinete do microcomputador, seja ele em formato vertical ou horizontal, de CPU. O mais correto é chamá-lo mesmo de gabinete.

A sigla CPU vem do inglês Central Prossessing Unit – Unidade Central de Processamento, para designar o componente ou o conjunto de componentes do computador responsável pela execução das instruções dos programas.

Nas máquinas de primeira e segunda geração, as CPUs eram implementadas em circuitos de grandes dimensões, utilizando milhares de válvulas ou transistores. A partir dos anos 70, com o aparecimento do circuito integrado, as CPUs puderam ser implementadas completamente num chip, denominado a partir de então de microprocessador, nome até hoje utilizado e que incorpora, em sua família, exemplares como o Pentium e o Power PC entre outros menos populares, mas nem por isso menos poderosos.

Para entender a organização da CPU, devemos considerar as ações que ela deve executar: Busca de instrução: a CPU lê uma instrução da memória. Interpretação de instrução: a instrução é decodi cada para determinar a ação requerida.

Busca de dados: a execução de uma instrução pode requerer leitura de dados da memória ou de um módulo de E/S.

Processamento de dados: a execução de uma instrução pode requerer efetuar uma operação aritmética ou lógica sobre os dados.

Escrita de dados: os resultados da execução podem requerer escrever dados na memória ou em um módulo de E/S.

Page 12: Arquitetura de Computadores

12 Evolução e Arquitetura de Computadores

Figura 2.1- Estrutura interna da CPU.

Na maior parte dos estudos dos microprocessadores, encontra-se uma divisão clássica de sua estrutura interna co nsiderando três grandes unidades (como pode ser visualizado na Figura 2.1):

• Unidade Lógica e Aritmética ou ALU (Aritmethic and Logic Unit), que assume todas as tarefas relacionadas às operações lógicas (Ou, E, negação, etc.) e aritméticas (adições, subtrações, etc.), ou seja, efetua o processamento de dados;

• Unidade de Controle (UC) a responsável pela interpretação das instruções de máquina a serem executadas pelo computador, pela transferência de dados e instruções para dentro e para fora da CPU; a sincronização destas instruções. Esta unidade assume toda a tarefa de controle das ações a serem realizadas pelo computador, comandando todos os demais componentes de sua arquitetura, garantindo a correta execução dos programas e a utilização dos dados corretos nas operações que as manipulam. A UC contém as instruções da CPU para executar comandos. O conjunto de instruções, embutido nos circuitos da UC, é uma lista de todas as operações que a CPU é capaz de executar. Cada instrução é acompanhada de um microcódigo – instruções bem básicas que dizem à CPU como executar a instrução. Quando o computador roda um programa, ele procura os comandos que deve executar no conjunto de instruções da CPU e executa-os na ordem indicada.

• Registradores: para executar operações, a CPU necessita armazenar alguns dados temporariamente. Ela deve manter a posição de memória da última instrução, para sabe aonde obter a próxima instrução e precisa também armazenar instruções e dados temporariamente, enquanto uma instrução está sendo executada. Em outras palavras, a CPU necessita de uma pequena área de armazenamento que é constituída de um conjunto de posições de armazenamento denominadas registradores.

Os registradores podem ser:

Page 13: Arquitetura de Computadores

• De propósito geral: utilizado, por exemplo, para as operações de movimentação de dados e operações lógicas e aritméticas.

• Especiais: são registradores com funções especí cas para determinados ns. São exemplos de registradores especiais:

• Acumulador (ACC): localizado na UC, é o principal registrador dentro de um processador, participando da maioria das operações lógicas e aritméticas, sendo em geral fonte de um dos operandos, e destino dos resultados das operações, além de participar das operações de entrada e saída de dados. O acumulador é um dos principais elementos que de nem o tamanho da palavra do computador - o tamanho da palavra é igual ao tamanho do acumulador.

13 Evolução e Arquitetura de Computadores

• O Registrador de instrução (IR): contém a última instrução buscada.

• O Contador do Programa: (“Program Counter” - PC): é um registrador que armazena o endereço de memória do início da próxima instrução a ser executada.

• O Registrador de endereçamento à memória (MAR): contém o endereço de uma posição de memória.

• Registrador de armazenamento temporário de dados (MBR): contém uma palavra de dados a ser escrita na memória ou a palavra lida mais recentemente.

A Figura 2.1 ilustra os caminhos de transferência de dados e sinais de controle, o que inclui um elemento denominado barramento interno da CPU. Esse elemento é necessário para transferir dados entre os vários registradores e a ULA, uma vez que esta última apenas opera sobre dados localizados na memória interna da CPU. A gura mostra ainda os elementos básicos típicos de uma ULA.

Note a semelhança entre a estrutura interna do computador como um todo e a estrutura interna da CPU. Em ambos os casos, existe uma pequena coleção de elementos importantes (computador: CPU, E/S, memória; CPU: unidade de controle, ULA, registradores), conectados por caminhos de dados.

2.2 - Evolução da CPU

Apesar de o processador ser o componente mais importante do micro, já que é ele quem processa quase todas as informações, ele não é necessariamente o maior responsável pelo desempenho. Na verdade, dependendo da aplicação à qual o micro se destina, o desempenho do processador pode ser menos importante que a quantidade de memória RAM, que o desempenho da placa de vídeo 3D, ou até mesmo que o desempenho do disco rígido.

Page 14: Arquitetura de Computadores

Tenha em mente que o computador é um conjunto, cada componente depende dos demais para mostrar o seu potencial. Dizemos que um micro é tão rápido quanto seu componente mais lento. Como estamos falando de um conjunto, apenas um componente que apresente um baixo desempenho será su ciente para colocar tudo a perder. Assim como vemos em outras situações, em um carro, por exemplo, onde um simples pneu furado pode deixar o carro parado na estrada.

Se o micro tiver pouca memória RAM, por exemplo, o sistema operacional será obrigado a usar memória virtual, limitando a performance ao desempenho do disco rígido, que é centenas de vezes mais lento que ela. Caso o micro não possua memória cache, o desempenho cará limitado ao desempenho da memória RAM, que é muito mais lenta que o processador e por aí vai. Dizemos neste caso, que o componente de baixo desempenho é um gargalo, pois impede que o conjunto manifeste todo o seu potencial. Às vezes, simplesmente aumentar a quantidade de memória RAM, operação que custa relativamente pouco, é capaz de multiplicar a velocidade do micro.

Mas, apesar de tudo, o processador ainda é o componente básico de qualquer computador. Com o avanço cada vez mais rápido da tecnologia, e várias empresas disputando o mercado, os projetistas vem sendo obrigados a desenvolver projetos cada vez mais ousados a m de produzir os processadores com o melhor desempenho. Isso é excelente para nós, mas também pode trazer armadilhas, já que com projetos tão diferentes, cada processador acaba saindo-se bem em algumas aplicações, mas muito mal em outras. Não dá para julgar o desempenho do processador apenas pela frequência de operação, como fazíamos na época do 486.

Quando vamos comprar um processador, a primeira coisa que perguntamos é qual sua frequência de operação, medida em Megahertz (MHz) ou milhões de ciclos por segundo, frequência também chamada de clock. Acontece, que nem sempre um processador com uma velocidade de operação mais alta é mais rápido

14 Evolução e Arquitetura de Computadores

do que outro que opera a uma frequência um pouco mais baixa. A frequência de operação de um processador indica apenas quantos ciclos de processamentos são realizados por segundo, o que cada processador é capaz de fazer em cada ciclo já é outra história.

Imagine um processador 486 de 100 MHz, ao lado de um Pentium também de 100 MHz. Apesar da frequência de operação ser a mesma, o 486 perderia feio em desempenho. Na prática, o Pentium seria pelo menos 2 vezes mais rápido. Isto acontece devido a diferenças na arquitetura dos processadores e também no coprocessador aritmético e cache.

Existem muitos tipos de microprocessadores no mercado, podendo-se encontrar grandes variações tanto no custo como no desempenho de cada um. As principais diferenças entre os tipos de microprocessadores estão relacionadas ao:

Page 15: Arquitetura de Computadores

• Tamanho da palavra;

• Velocidade;

• Quantidade operações que ele suporta

Um parâmetro importante é o tamanho da palavra processada pela unidade lógica e aritmética, lembrando que o sistema de numeração adotado nas arquiteturas de computadores é o binário, o qual tem como unidade básica de informação o bit, que pode assumir os valores 0 ou 1.

Quanto maior o tamanho da palavra manipulada pelo microprocessador, maior é o seu potencial de cálculo e maior a precisão das operações realizadas. As primeiras CPUs integradas num único chip, como por exemplo, o 4004 fabricado pela Intel em 1971 manipulava palavras (dados e instruções) expressas por 4 dígitos binários. Os microprocessadores mais recentes são capazes de manipular palavras entre 32 bits (caso dos 486) e 64 bits (Pentium e Power PC). A Figura 2.2 ilustra exemplos de microprocessadores.

Figura 2.2 - Processadores: Pentium I, Pentium 4 (Socket 423), Pentium 4(Socket 478), Athlon.

A velocidade de cálculo está diretamente relacionada com a freqüência do relógio que pilota o circuito da CPU como um todo. O microprocessador Intel 4004 era movido por um clock de freqüência igual a 108 KHz, enquanto hoje fala-se em microprocessadores com clocks de GHz.

Ainda relacionada com a ULA, é possível destacar a quantidade de operações que ela suporta. Os primeiros processadores suportavam um conjunto relativamente modesto de operações lógicas e aritméticas. Em particular, no que diz respeito às operações aritméticas, os primeiros processadores suportavam apenas operações de adição e subtração, sendo que as demais operações tinham de ser implementadas através de seqüências destas operações básicas. Os processadores suportando um conjunto mais complexo de instruções surgiram graças à adoção da tecnologia CISC (Complex Instruction Set Computer).

Embora não seja um aspecto visível ou perceptível internamente, é importante destacar que o aumento do potencial de cálculo de um computador só foi incrementado devido à evolução da microeletrônica que tem oferecido técnicas de integração capazes de encapsular uma quantidade cada vez maior de transistores por unidade de área.

15 Evolução e Arquitetura de Computadores

Só para que se tenha um parâmetro, o Intel 4004 possuía 23000 transistores integrados no mesmo chip, enquanto dos chips da linha Pentium abrigam cerca de 6 milhões de transistores.

Page 16: Arquitetura de Computadores

2.3 - Coprocessador aritmético e memória cache

A função do coprocessador aritmético é justamente auxiliar o processador principal no cálculo de funções complexas, cada vez mais utilizadas, principalmente em jogos. É como um matemático pro ssional que ajuda o processador a resolver os problemas mais complexos, que ele demoraria muito para resolver sozinho.

Até o 386, o coprocessador era apenas um acessório que podia ser comprado à parte e instalado num encaixe apropriado da placa mãe, sendo que cada modelo de processador possuía um modelo equivalente de coprocessador. O problema nesta estratégia é que como poucos usuários equipavam seus micros com coprocessadores aritméticos, a produção destes chips era baixa, e consequentemente os preços eram altíssimos, chegando ao ponto de em alguns casos o coprocessador custar mais caro que o processador principal. Com o aumento do número de aplicativos que necessitavam do coprocessador, sua incorporação ao processador principal a partir do 486DX foi um passo natural. Com isso, resolveu-se também o problema do custo de produção dos coprocessadores, barateando o conjunto.

Atualmente, o desempenho do coprocessador determina o desempenho do micro em jogos e aplicativos grá cos em geral, justamente as aplicações onde os processadores atuais são mais exigidos. O desempenho do coprocessador é uma característica que varia muito entre os processadores atuais.

Enquanto os processadores tornaram-se quase 10 mil vezes mais rápidos desde o 8088 (o processador usado no XT), a memória RAM, sua principal ferramenta de trabalho, pouco evoluiu em performance.

Quando foram lançados os processadores 386, percebeu-se que as memórias não eram mais capazes de acompanhar o processador em velocidade, fazendo com que muitas vezes ele tivesse que car “esperando” os dados serem liberados pela memória RAM para poder concluir suas tarefas, perdendo muito em desempenho.

Se na época do 386 a velocidade das memórias já era um fator limitante, imagine o quanto este problema não atrapalharia o desempenho dos processadores que temos atualmente. Para solucionar este problema, começou a ser usada a memória cache, um tipo ultra-rápido de memória que serve para armazenar os dados mais frequentemente usados pelo processador, evitando na maioria das vezes que ele tenha que recorrer à comparativamente lenta memória RAM. Sem ela, o desempenho do sistema cará limitado à velocidade da memória, podendo cair em até 95%!. São usados dois tipos de cache, chamados de cache primário, ou cache L1 (level 1), e cache secundário, ou cache L2 (level 2). Veja mais detalhes sobre memória cachê na seção 3.1.2.

2.4 - Modo Real x Modo Protegido

Todos os processadores atuais podem alternar entre o modo real e o modo protegido livremente, sempre que necessário. No modo real, rodamos o MS-DOS e outros aplicativos de modo real mais antigos, enquanto no modo protegido rodamos o Windows e seus programas.

Page 17: Arquitetura de Computadores

Com certeza, alguma vez ao tentar rodar um programa antigo, você já se deparou com uma enigmática mensagem de falta de memória, apesar dos manuais do programa dizer que ele precisa apenas de 500 ou 600 KB de memória e você ter instalado bem mais do que isso. Estas mensagens surgem por que estes programas rodam com o processador operando em modo real onde, como o 8086, ele é capaz de reconhecer apenas o primeiro Megabyte da memória RAM. Este primeiro Megabyte por sua vez, é subdividido em dois blocos, chamados de memória convencional e memória estendida.

A memória convencional corresponde aos primeiros 640 Kbytes da memória, e é a área de memória usada pelos programas que operam em modo real. Os 384 Kbytes restantes são chamados de memória superior, e são reservados para armazenar uma cópia do BIOS, que passa a ser executado mais rapidamente, já que a memória RAM é muito mais rápida do que o chip de memória ROM ou Flash onde ele é originalmente armaze-

16 Evolução e Arquitetura de Computadores

nado. Esta cópia do BIOS é chamada de “Shadow”, ou sombra, e serve para aumentar o desempenho geral do sistema. A memória superior também é usada para armazenar sombras dos BIOS de outros dispositivos, como placas de vídeo, aumentando também a velocidade de operação destes periféricos.

Apesar de existirem 640 Kbytes de memória convencional, pronta para ser usada por qualquer programa que opere em modo real, nem toda esta memória ca disponível, já que parte dela é usada pelo MS-DOS e drivers de dispositivos de modo real. É possível liberar mais memória convencional, editando os arquivos de inicialização do DOS, conseguindo assim rodar estes programas.

Quando o computador é ligado, o processador está operando em modo real. Quem dá o comando para que ele mude para o modo protegido é o sistema operacional. No caso do Windows, este comando é dado durante o carregamento do sistema.

Em modo protegido, o processador é capaz de reconhecer toda a RAM instalada no sistema, além de incorporar recursos como a multitarefa e a memória virtual em disco. É neste modo que usamos a interface grá ca do Windows e rodamos seus aplicativos.

O modo protegido traz basicamente três novos recursos: memória virtual, multitarefa, proteção de memória.

2.4.1 Memória Virtual

A capacidade de trabalhar com vários aplicativos ao mesmo tempo (multitarefa) é realmente muito útil, mas esta característica traz um pequeno problema: abrindo vários aplicativos sucessivamente, logo a memória RAM do sistema se esgota. Para corrigir este problema, o modo protegido traz também a Memória Virtual

A memória virtual, que permite criar um arquivo temporário no disco rígido, chamado de Swap File, ou arquivo de troca, que funciona como uma extensão da memória RAM,

Page 18: Arquitetura de Computadores

permitindo abrir quantos aplicativos forem necessários, até que o espaço do disco rígido se esgote.

Por exemplo, só o Windows 2000 Professional, junto com os serviços básicos ocupa cerca de 40 MB de memória. Se você abrir o Word 97, serão necessários mais 10 Megabytes, um total de quase 50 MB. Caso o micro em questão possua apenas 32 MB de memória, seria criado um arquivo temporário de 18 MB no disco rígido, que armazenaria os dados que não couberam na memória RAM.

O problema em usar memória virtual é que o disco rígido é centenas de vezes mais lento do que a memória RAM. Um disco rígido razoável possui um tempo de acesso em torno de 10 milessegundos (milésimos de segundo) enquanto um módulo de memória PC-100 possui um tempo de acesso inferior a 10 nanossegundos (bilionésimos de segundo), ou seja, um tempo de acesso um milhão de vezes menor. Em termos de taxa de transferência, novamente temos um contraste marcante: 800 MB para o módulo de memória e de 5 a 20 MB (dependendo do modelo) para o disco rígido.

No Windows 3.x, era necessário reservar uma quantidade espaço do disco rígido para a memória virtual, quantidade que podia ser con gurada livremente através do Painel de Controle. O problema é que este espaço cava indisponível. Se você possuísse um disco de 800 MB, e reservasse 200 para a memória virtual, caria com apenas 600 MB para instalar programas e guardar arquivos. Se por outro lado, você reservasse pouco espaço para a memória virtual, caria com pouca memória para abrir vários programas e trabalhar com arquivos grandes.

A partir do Windows 95 este problema foi resolvido com a adoção de um arquivo de troca dinâmico, que vai aumentando ou diminuindo de tamanho conforme a necessidade de memória, evitando o desperdício de espaço em disco que tínhamos no Windows 3.x. A partir do Windows 95, existe também uma administração mais racional dos recursos do sistema, movendo os arquivos mais importantes, acessados com mais frequência para memória RAM (ou memória cache, dependendo da importância do arquivo), e deixando apenas arquivos

17 Evolução e Arquitetura de Computadores usados mais raramente no arquivo de troca. Esta simples medida diminui bastante a perda de desempenho causada pelo uso da memória virtual.

2.4.2 - Multitarefa

Multitarefa signi ca executar mais de uma tarefa de cada vez. Do ponto de vista de um computador este processo é relativamente simples. Todos os aplicativos são carregados na memória e o processador passa a executar algumas instruções de cada aplicativo por vez. Como o processador é capaz de executar vários milhões de instruções por segundo, esta troca é feita de maneira transparente, como se os aplicativos estivessem realmente sendo executados ao mesmo tempo. Enquanto o processador dá atenção para um aplicativo, todos os demais cam paralisados, esperando sua vez.

Page 19: Arquitetura de Computadores

2.4.3 -Memória Protegida

Usando a multitarefa, quase sempre teremos vários aplicativos carregados na memória, seja na memória RAM ou no arquivo de troca. Se não houvesse nenhum controle por parte do processador, um aplicativo poderia expandir sua área de memória, invadindo áreas de outros aplicativos e causando travamentos no micro.

Um editor de imagens, por exemplo, precisa ocupar mais memória conforme as imagens vão sendo abertas ou criadas. Sem nenhuma orientação por parte do processador, simplesmente seriam ocupadas as áreas adjacentes, que poderiam tanto estar vazias, quanto estar ocupadas pelo processador de textos, por exemplo.

Para colocar ordem na casa, foi desenvolvido o recurso de proteção de memória, que consiste no processador isolar a área de memória ocupada por cada aplicativo, impedindo que ele ocupe outras áreas ao seu bel prazer. Se, por acaso, o programa precisar de mais memória, o próprio processador irá procurar uma área vazia de memória e ordenar ao aplicativo que ocupe a área reservada.

2.5 - Clock

Clock é um sinal usado para sincronizar coisas dentro do computador. Observe a Figura 2.3, onde mostramos um típico sinal de clock: é uma onda quadrada passando de “0” a “1” a uma taxa xa. Na Figura 2.3 você pode ver três ciclos de clock (“pulsos”) completos. O início de cada ciclo é quando o sinal de clock passa de “0” a “1”; nós marcamos isso com uma seta. O sinal de clock é medido em uma unidade chamada Hertz (Hz), que é o número de ciclos de clock por segundo. Um clock de 100 MHz signi ca que em um segundo existem 100 milhões de ciclos de clock.

Figura 2.3 - Sinal de clock No computador, todas as medidas de tempo são feitas em termos de ciclos de clock.

Por exemplo, uma memória RAM com l atência “5” signi ca que vai levar cinco ciclos de clock completos para começar a transferência de dados. Dentro da CPU, todas as instruções precisam de um certo número de ciclos de clock para serem executadas. Por exemplo, uma determinada instrução pode levar sete ciclos de clock para ser completamente executada.

No que diz respeito ao processador, o interessante é que ele sabe quantos ciclos de clock cada instrução vai demorar, porque ele tem uma tabela que lista essas informações. Então se há duas instruções para serem executadas e ele sabe que a primeira vai levar sete ciclos de clock para ser executada, ele vai automaticamente começar a execução da próxima instrução no 8º pulso de clock. É claro que esta é uma explicação genérica

18 Evolução e Arquitetura de Computadores

Page 20: Arquitetura de Computadores

para um processador com apenas uma unidade de execução – processadores modernos possuem várias unidades de execução trabalhando em paralelo e podem executar a segunda instrução ao mesmo tempo em que a primeira, em paralelo. A isso é chamado de arquitetura superescalar.

Se você comparar dois processadores completamente idênticos, o que estiver rodando a uma taxa de clock mais alta será o mais rápido. Neste caso, com uma taxa de clock mais alta, o tempo entre cada ciclo de clock será menor, então as tarefas serão desempenhadas em menos tempo e o desempenho será mais alto. Mas quando você compara dois processadores diferentes, isso não é necessariamente verdadeiro.

Como dissemos, cada instrução demora um certo número de ciclos de clock para ser executada. Digamos que o processador “A” demore sete ciclos de clock para executar uma determinada instrução, e que o processador “B” leve cinco ciclos de clock para executar essa mesma instrução. Se eles estiverem rodando com a mesma taxa de clock, o processador “B” será mais rápido, porque pode processar essa instrução em menos tempo.

Os fabricantes de processadores começaram a usar um novo conceito, chamado multiplicação de clock, que começou com o processador 486DX2. Com esse esquema, que é usado em todos os processadores atualmente, o processador tem um clock externo também conhecido como FSB (Front Side Bus), que é usado quando dados são transferidos de e para a memória RAM (usando o chip da ponte norte), e um clock interno mais alto, que indica a frequência na qual o processador trabalha.

A grande diferença entre o clock interno e o clock externo em processadores modernos é uma grande barreira a ser transposta visando aumentar o desempenho do computador.

Diversas técnicas são usadas para minimizar o impacto dessa diferença de clock. Um deles é o uso de memória cache dentro do processador. Outra é transferir mais de um dado por pulso de clock.

Apesar das limitações, o recurso de multiplicação de clock é indispensável atualmente, pois sem ele seria impossível desenvolver processadores muito rápidos, já que não é possível aumentar a frequência das placas mãe e dos demais periféricos na mesma proporção do aumento do clock nos processadores. Se o Pentium I, por exemplo, tivesse que trabalhar na mesma frequência da placa mãe, não passaríamos de 100 ou 133 MHz.

2.6 - Pipeline de instruções

Uma pipeline (paralelismo) de instruções é técnica de implementação de processadores que permite a sobreposição temporal das diversas fases de execução das instruções.

O pipeline aumenta o número de instruções executadas simultaneamente e a taxa de instruções iniciadas e terminadas por unidade de tempo. Mas, não reduz o tempo gasto para completar cada instrução individualmente.

Page 21: Arquitetura de Computadores

Por exemplo: vamos supor uma lavanderia, em que cada etapa possa ser realizada em 30 minutos: 1. Colocar a roupa na máquina de lavar 2. Depois de lavada, colocá-la na máquina de secar roupa 3. Depois de seca, passar a ferro 4. Depois de passada, arrumá-la no armário

Supondo-se que cada uma destas etapas leve 30 minutos para ser realizada, a lavagem de um cesto de

19 Evolução e Arquitetura de Computadores roupas continuará levando 2 horas para ser realizada. Entretanto, podemos iniciar a lavagem de um cesto de roupas a cada 30 minutos, até que tenhamos 4 cestos sendo lavados simultaneamente, um em cada etapa do “pipeline”. Depois das primeiras 2 horas, teremos um cesto de roupa lavada a cada 30 minutos. Ao nal do dia teremos lavado muito mais cestos de roupa do que sem o uso de “pipeline”.

(a) Visão simpli cada

(b) Visão expandida Figura 2.4 – Pipeline de instruções de dois estágios

Suponha que o processamento de uma instrução é dividido em dois estágios: busca e execução de instrução. Existem momentos durante a execução d e uma instrução em que a memória principal não está sendo usada. Esse instante pode ser usado para buscar a próxima instrução, em paralelo com a execução da instrução corrente. A Figura 2.4(a) representa essa abordagem. A pipeline tem dois estágios independentes. O estágio busca uma instrução e armazena em uma área de armazenamento temporário. Quando o segundo estágio está livre, o primeiro passa para ele a instrução. Isso é chamado de busca antecipada de instrução ou superposição de busca. Note que o processo acelera a execução da instrução. Se os estágios de busca e de execução tiverem a mesma duração, o número de instruções executadas por unidade de tempo será dobrado. Entretanto se examinarmos essa pipeline, Figura 2.4(b), veremos que essa duplicação da taxa de execução de instruções será pouco provável por duas razões:

Page 22: Arquitetura de Computadores

• O tempo de execução geralmente é maior que o tempo de busca, pois a execução de uma instrução geralmente envolve leitura e armazenamento de operandos e execução de algumas operações.

• A ocorrência de instrução de desvio condicional faz com que o endereço da próxima instrução a ser buscada seja desconhecido. Nesse caso, o estágio de busca teria de esperar até receber o endereço da próxima instrução do estágio de execução. O estágio de execução poderia, então, ter que esperar enquanto a próxima instrução é buscada.

Para reduzir o tempo perdido com a ocorrência de instruções de desvio, o tempo perdido pode ser reduzido pela seguinte regra: quando uma instrução de desvio condicional é passada do estágio de busca para o de execução, o estágio de busca obtém na memória a instrução imediatamente seguinte à instrução de desvio. Então se não ocorrer desvio, nenhum tempo será perdido. Se ocorrer desvio, a instrução buscada deve ser descartada, sendo buscada uma nova instrução.

Para conseguir maior desempenho, um pipeline deve ter maior número de estágios, como:

20 Evolução e Arquitetura de Computadores

• S1: Unidade de busca de instrução; • S2: Unidade de decodi cação de instrução;

• S3: Unidade de busca de operando;

• S4: Unidade de execução de instrução;

• S5: Unidade de gravação.

Figura 2.5 – Pipeline de cinco estágios executando 9 instruções

Page 23: Arquitetura de Computadores

Um pipeline de cinco estágios, conforme Figura 2.5, pode reduzir o tempo de execução de 9 instruções de 45 para 13 unidades de tempo. Suponhamos que o tempo de ciclo desta máquina é de 2 ns (nano segundos), sendo assim uma instrução levaria 10 ns para percorrer todos os 5 estági os do pipeline. Como uma instrução demora 10 ns, parece máquina poderia funcionar em 100 MIPS (milhões de instruções por segundo). Como a cada 2 ns uma instrução é concluída, temos então uma velocidade real de processamento de 500 MIPS (tempo do ciclo X quantidade de estágios que executam simultaneamente).

São características dos pipelines de instrução:

• O tempo do ciclo do relógio do processador deve ser igual ou maior que o tempo de execução do estágio mais lento do “pipeline”.

• Deve-se procurar dividir a execução da instrução em estágios com o mesmo tempo.

• O pipeline deve ser mantido sempre “cheio” para que o desempenho máximo seja alcançado.

• De um modo geral, com o uso do pipeline, cada instrução ainda leva o mesmo tempo para ser executada.

• Algumas instruções, contudo, podem ter o seu tempo de execução aumentado, pois atravessam estágios em que não realizam nenhuma operação útil.

• Problemas no uso de pipelines

21 Evolução e Arquitetura de Computadores

• Estágios podem ter tempos de execução diferentes • O sistema de memória é incapaz de manter o - uxo de instruções no pipeline

• Con- itos estruturais: pode haver acessos simultâneos à memória feitos por 2 ou mais estágios

• Dependências de dados: as instruções dependem de resultados de instruções anteriores.

• Dependências de controle: a próxima instrução não está no endereço subseqüente ao da instrução anterior.

Tempo de ciclo Ʈ(tau) de uma pipeline

Ʈm: atraso máximo de estágio (atraso por meio do estágio de maior atraso); k: número de estágio da pipeline de instrução; d: tempo necessário para propagar sinais e dados de um estágio para o próximo;

Page 24: Arquitetura de Computadores

O tempo de atraso d é equivalente ao pulso de um relógio e Ʈm>>d. O tempo total Tk requerido para executar as n instruções, sem desvio, é:

Tk= [k + (n-1)] Ʈ Aplicando à Figura 2.4, temos: Tk =[5+(9-1)] = 13.

2.7 - Arquiteturas CISC e RISC

Quando um novo microprocessador é criado, aumenta-se o seu conjunto de instruções, para que se torne mais poderoso. Por outro lado, quanto mais instruções o microprocessador contém, mais lento ele cará, pois será maior sua tabela geral onde estão listados todos os tipos de instrução que o processador pode executar (conjunto de instruções) e a procura de uma determinada instrução e a sua efetiva execução dentro do micro-código demora mais tempo para nalizar.

Quando uma instrução é dada ao microprocessador, uma parte existente dentro dele – chamada decodi cador de instruções – trata de veri car se aquela é válida (conferindo conjunto de instruções) e, em caso positivo, ele executa o subprograma referente a tal instrução dentro do micro-código (área do microprocessador encarregado por armazenar pequenos programas). Microprocessadores com essas características são denominadas CISC - Complex Instruction Set Computer - Computação utilizando um conjunto Complexo de instruções.

Com o aumento do conjunto de instruções e do micro-código, o processador ca sicamente maior e mais lento e novos recursos de aumento de desempenho devem ser criados para ultrapassar esta lentidão. Para compensar essa demora, novos recursos (como o cache de memória, integração dos circuitos de apoio dentro do microprocessador, entre outros) são utilizados para aumento de desempenho.

Surpreendentemente, apesar de existir um conjunto de instruções grande, apenas 20% delas são usadas por programas e sistemas operacionais.

2 Evolução e Arquitetura de Computadores

Com isso, surgiu uma nova idéia: a construção de microprocessadores com um conjunto reduzido de instruções e a sua padronização (instruções CISC não são padronizadas), a completa eliminação do decodi cador de instruções e, principalmente, do micro-código.

Microprocessadores construídos com a idéia acima mencionada são classi cados como RISC (Reduced

Instruction Set Computing – Computação utilizando um conjunto Reduzido de instruções). No entanto microprocessadores RISC são incompatíveis com os CISC. Então para que sejam compatíveis foi utilizada uma arquitetura híbrida CISC/RISC, que consiste em adicionar um decodi cador CISC na entrada do núcleo RISC.

Page 25: Arquitetura de Computadores

Ao contrário dos complexos CISC, os processadores RISC são capazes de executar apenas algumas poucas instruções simples. Justamente por isso, os chips baseados nesta arquitetura são mais simples e muito mais baratos.

É indiscutível que em instruções complexas os processadores CISC saem-se melhor. Por isso, ao invés da vitória de uma das duas tecnologias, atualmente vemos processadores híbridos, que são essencialmente processadores CISC, mas incorporam muitos recursos encontrados nos processadores RISC (ou vice-versa).

Filoso a da arquitetura RISC: transferir complexidade das operações para software, mantendo em hardware apenas as operações primitiva

Por questões de Marketing, muitos fabricantes ainda vendem seus chips, como sendo “Processadores

RISC”, porém não existe praticamente nenhum processador atualmente que siga estritamente uma das duas loso as. Tanto processadores da família x86, como o Pentium I, Pentium II e AMD Athlon, quanto processadores supostamente RISC, como o MIPS R10000 e o HP PA-8000, ou mesmo o G4, utilizado nos Macintoshs misturam características das duas arquiteturas, por simples questão de desempenho.

Examinando de um ponto de vista um pouco mais prático, a vantagem de uma arquitetura CISC é que já temos muitas das instruções guardadas no próprio processador, o que facilita o trabalho dos programadores, que já dispõem de praticamente todas as instruções que serão usadas em seus programas. No caso de um chip estritamente RISC, o programador já teria um pouco mais de trabalho, pois como disporia apenas de instruções simples, teria sempre que combinar várias instruções sempre que precisasse executar alguma tarefa mais complexa. Seria mais ou menos como se você tivesse duas pessoas, uma utilizando uma calculadora comum, e outra utilizando uma calculadora cientí ca. Enquanto estivessem sendo resolvidos apenas cálculos simples, de soma, subtração, etc. quem estivesse com a calculadora simples poderia até se sair melhor, mas ao executar cálculos mais complicados, a pessoa com a calculadora cientí ca disporia de mais recursos.

Nos chips atuais, que são na verdade misturas das duas arquiteturas, juntamos as duas coisas. Internamente, o processador processa apenas instruções simples. Estas instruções internas variam de processador para processador, são como uma luva, que se adapta ao projeto do chip. As instruções internas de um K6 são diferentes das de um Pentium por exemplo. Sobre estas instruções internas, temos um circuito decodi cador, que converte as instruções complexas utilizadas pelos programas em várias instruções simples que podem ser entendidas pelo processador. Estas instruções complexas são iguais em todos os processadores usados em micros PC. É isso que permite que um Athlon e um Pentium I sejam compatíveis entre si.

O conjunto básico de instruções usadas em micros PC é chamado de conjunto x86. Este conjunto é composto por um total de 187 instruções, que são as utilizadas por todos os programas. Além deste conjunto principal, alguns processadores trazem também instruções alternativas, que permitem aos programas executar algumas tarefas mais rapidamente do que seria possível usando as instruções x86 padrão. Alguns exemplos de conjuntos alternativos de instruções são o MMX (usado a partir do Pentium MMX), o

Page 26: Arquitetura de Computadores

3D-NOW! (usado pelos processadores da AMD, a partir do K6-2), e o SSE (suportado pelo Pentium I)

23 Evolução e Arquitetura de Computadores

3. MEMÓRIAS

Todo computador é dotado de uma quantidade (que pode variar de máquina para máquina) de memória a qual se constitui de um conjunto de circuitos capazes de armazenar (por períodos mais curtos ou mais longos de tempo) as unidades de dados e os programas a serem executados pela máquina. Nos computadores de uso geral, é possível encontrar diferentes denominações para as diferentes categorias de memória que neles são encontradas. As memórias são classi cadas em dois grandes grupos: memórias primárias e memórias secundárias.

Do ponto de vista do usuário, as duas características mais importantes da memória são sua capacidade e seu desempenho. Os parâmetros empregados para medir o desempenho são:

• Tempo de Acesso: é o período de tempo gasto decorrido desde o instante em que foi iniciada a operação de acesso até que a informação requerida (instrução ou dado) tenha sido efetivamente transferida. Pode ser chamado tempo de acesso para leitura ou simplesmente tempo de leitura.

• Tempo de ciclo de memória: esse conceito é aplicável principalmente a memórias de acesso aleatório e compreende o tempo de acesso e o tempo adicional requerido antes que um segundo acesso possa ser iniciado.

• Taxa de transferência: é a taxa na qual os dados podem ser transferidos de ou para a unidade de memória.

A capacidade diz respeito à quantidade de informação que pode ser armazenada em uma memória; a unidade de medida mais comum é o byte, embora também possam ser usadas outras unidades como células (no caso da memória RAM e cache), setores (no caso de discos) e bits (no caso de registradores).

As Unidades de medida mais usadas para quanti car a memória e indicar a capacidade de armazenamento são os múltiplos do byte:

• 1MB (Megabyte) ≈1024KB = 1.048.576 bytes

• 1GB (Gigabyte) ≈ 1024MB = 1.073.741.824 bytes

• 1TB (Terabyte) ≈ 1024GB = 1.099.511.627.776 bytes

Devido a variedade de tipos de memória, não é possível implementar um sistema de computação com uma única memória. Na realidade, há muitas memórias no

Page 27: Arquitetura de Computadores

computador, as quais se interligam de forma bem estruturada, constituindo um sistema em si, parte do sistema global de computação, podendo ser denominado subsistema de memória, como mostrado na Figura 3.1.

Figura 3.1 – Hierarquia de memória

24 Evolução e Arquitetura de Computadores

A Figura 3.1 mostra a hierarquia de memórias. À medida que descemos na hierarquia, as relações a seguir são válidas:

• O custo por bit diminui

• A capacidade aumenta

• O tempo de acesso aumenta

• A freqüência de acesso à memória pelo processador diminui

Outra forma de diferenciação entre os tipos de memória é o método de acesso aos dados, podendo ser:

• Acesso seqüencial: aquele em que conjuntos de dados e informações dispostos seqüencialmente na memória em unidades denominadas “registros” são acessados linearmente, um após o outro. O acesso seqüencial é tipicamente usado em dispositivos de armazenamento que utilizam ta magn ética. Em toda memória que admite acesso seqüencial existe um o mecanismo de leitura (geralmente também usado para a escrita) que percorre a memória linearmente, passando seqüencialmente de registro em registro, identi cando cada um deles, até localizar o registro que se deseja consultar ou alterar.

• Acesso direto: é feito em dois passos. O primeiro é um acesso aleatório a uma vizinhança genérica do bloco de bytes a ser lido (geralmente, um setor). O segundo é um acesso seqüencial (em geral por contagem de blocos) até identi car aquele que deve ser lido.

Page 28: Arquitetura de Computadores

• Acesso aleatório: signi ca que qualquer posição de memória principal, ou unidade endereçável, pode ser acessada diretamente, selecionada por seu endereço, seja ele qual for. O acesso independe da ordem, da posição relativa ou de qualquer outro fator. Dessa maneira, qualquer posição pode ser selecionada de modo aleatório, sendo endereçada e acessada diretamente. A memória principal e alguns sistemas de memória cache utilizam esse tipo de acesso.

• Acesso associativo: consiste em um tipo de acesso aleatório que possibilita comparar simultaneamente certo número de bits de uma palavra com todas as palavras da memória, determinando quais dessas palavras contêm o mesmo padrão de bits. Uma palavra é buscada na memória com base em uma parte do seu conteúdo, e não de acordo com o seu endereço. Assim como no aleatório, cada posição da memória possui seu mecanismo de endereçamento próprio e o tempo de busca é constante e independente da posição ou do padrão dos acessos anteriores. As memórias cache podem empregar acesso associativo.

Os conceitos a seguir dizem respeito às características das memórias:

• Palavra: unidade natural de organização da memória. O tamanho de uma palavra é tipicamente igual ao número de bits usados para representar um número inteiro e ao tamanho da instrução.

• Unidade endereçável: em muitos sistemas a unidade endereçável é a palavra. Entretanto, alguns sistemas permitem o endereçamento de bytes. Em qualquer um dos casos, a relação entre o tamanho em bits A de um endereço e o número de unidades endereçáveis N é: 2A = N.

O sistema de memória de computadores pode ser mais facilmente compreendido por meio da sua classi cação, de acordo com suas características fundamentais. As características mais importantes estão relacionadas na Tabela 3.1.

25 Evolução e Arquitetura de Computadores

Tabela 3.1 – características fundamentais de sistemas de memória de computadores

Localização Desempenho ProcessadorTempo de acesso

Interna (principal)Tempo d e ciclo Externa (secundária)Taxa de transferência

Capacidade Tecnologia Tamanho da palavraDe semicondutores

Número de palavrasMagnética

Unidade de transferênciaÓtica Palavra Magneto-ótica

Bloco Características físicas

Page 29: Arquitetura de Computadores

Método de acessoVolátil/não volátil Seqüencial Apagável/não apagável

DiretoOrganização Aleatório

Associativo

3.1- Memórias primárias

As memórias de armazenamento primário, também denominadas memórias internas são pequenas áreas de armazenamento que estão incorporadas ao hardware do computador. Fisicamente, essas memórias consistem em alguns chips na placa-mãe ou em pequenas placas de circuitos ligadas à placa-mãe ou estão localizadas dentro do processador.

São memórias que o processador pode endereçar diretamente, sem as quais o computador não pode funcionar. Estas fornecem geralmente uma ponte para as secundárias, mas a sua função principal é a de conter a informação necessária para o processador num determinado momento; esta informação pode ser, por exemplo, os programas em execução.

Alguns chips de memória retêm os dados neles armazenados, mesmo quando o computador é desligado, essa memória é chamada de não-volátil. Outros chips perdem seu conteúdo quando o computador é desligado, essa memória é chamada de volátil.

Entre as memórias primárias estão: RAM (volátil), ROM (não-volátil), CACHE, memória CMOS e registradores.

3.1.1 - Memória RAM

A memória RAM (Random Access Memory) é a principal memória na qual são gravados os dados para o processamento. A RAM é uma memória volátil.

A tecnologia das memórias RAM pode ser dividida em estática (SRAM) e dinâmica (DRAM). Uma memória RAM dinâmica é feita de células que armazenam dados com carga de capacitores. A presença ou ausência de carga em um capacitor é interpretada como representação do dígito binário 1 ou 0. Como um capacitor tem tendência natural para se descarregar, a RAM dinâmica requer uma regeneração de carga periódica para manter os dados armazenados. Na memória RAM estática, os valores binários são armazenados usando congurações tradicionais de - ip-- ops 4 com portas lógicas. A memória RAM estática mantém seus dados enquanto houver fornecimento de energia.

Tanto a memória RAM estática quanto a dinâmica são voláteis. A DRAM é mais simples e, portanto, menor do que a SDRAM. Dessa maneira, uma RAM dinâmica é mais densa (células menores implicam mais células por unidade de área) e mais barata do que uma RAM estática correspondente. Por outro lado, ela requer um circuito de regeneração. No caso de memórias de grande capacidade, o custo xo do circuito de regeneração é compensado pelo custo menor das células da RAM dinâmica. Portanto, as RAMs dinâmicas tendem a ser mais 4 O - ip-- op ou multivibrador biestável é um circuito digital pulsado capaz de servir como uma memória de um bit.

26 Evolução e Arquitetura de Computadores

Page 30: Arquitetura de Computadores

vantajosas quando a capacidade de memória requerida é maior. Uma observação nal é que as RAMs estáticas são, em geral, mais rápidas do que as dinâmicas.

O grande desenvolvimento ocorrido na área de software, particularmente no que diz respeito ao uso de interfaces grá cas e, mais recentemente, das aplicações multimídias, tem forçado os fabricantes de componentes de computador a produzirem circuitos de memória cada vez mais poderosos.

Em termos de hardware são pequenos pentes que são encaixados nos slots de memória das placas-mãe. A capacidade total de memória depende do pente e do número de slots na placa-mãe.

A velocidade de funcionamento de uma memória é medida em Hz e seus múltiplos. Este valor está relacionado com a quantidade de blocos de dados que podem ser transferidos durante um segundo. Existem, no entanto algumas memórias RAM que podem efetuar duas transferências de dados no mesmo ciclo de relógio, duplicando a taxa de transferência de informação para a mesma freqüência de trabalho. A Figura 3.2 ilustra dois modelos distintos de memória RAM.

Figura 3.2 - Memória DDR – OCZ e memória SDR – Value Selet, mostradas da esquerda para a direita 3.1.2 - Memória cache

O processador é muito mais rápido d o que a memória RAM. Isso faz com que que subutilizado quando ele precisa enviar muitos dados con secutivamente. Ou seja, durante grande parte do tempo não processa nada, apenas esperando que a memória que pronta para enviar novamente os dados.

Para fazer com que o processador não que subutilizado quando envia muitos dados para RAM, é utilizada uma mais rápida, chamada memória cache, que é outro tipo de memória, chamada de memória estática ou simplesmente SRAM (Static RAM). Um circuito controlador lê os dados da memória RAM e os copia para a memória cache. Se o processador precisar de alguns dados, estes estarão no cache ou na RAM.

Com a utilização da memória cache, o computador ca mais rápido, pois não há espera ao receber e enviar dados do processador com a RAM e vice-versa

A memória cache é encontrada em dois tipos:

• Memória cache L1 - Presente dentro do microprocessador ou cache interno. É dividida em duas partes, uma para dados outra para instruções.

• Memória cache L2 - Presente na placa-mãe ou até dentro do processador, no caso de processadores mais novos. Quando é externo, o seu tamanho depende do chipset presente na placa-mãe.

Sempre que o processador precisar ler dados, os procurará primeiro no cache L1. Caso o dado seja encontrado, o processador não perderá tempo, já que o cache primário

Page 31: Arquitetura de Computadores

funciona na mesma frequência que ele. Caso o dado não esteja no cache L1, então o próximo a ser indagado será o cache L2. Encontrando o que procura no cache secundário, o processador já perderá algum tempo, mas não tanto quanto perderia caso precisasse acessar diretamente a memória RAM.

27 Evolução e Arquitetura de Computadores

Por outro lado, caso os dados não estejam em nenhum dos dois caches, não restará outra saída senão perder vários ciclos de processamento esperando que eles sejam entregues pela lenta memória RAM. Para exempli car, imagine que você estivesse escrevendo um e-mail e que precisasse de uma informação que você havia anotado em um papel. Se o papel estivesse sobre sua mesa, você poderia lê-lo sem perder tempo. Se estivesse dentro de uma gaveta da sua mesa, já seria necessário algum tempo para encontrá-lo enquanto se ele estivesse perdido em algum lugar de um enorme chário do outro lado da sala, seria preciso um tempo enorme.

Antigamente, era comum as placas mães virem com soquetes apropriados, que permitiam ao usuário adicionar mais memória cache caso quisesse. Os módulos adicionais, chamados de módulos COAST (cache on a stick) eram relativamente acessíveis, levando muita gente a fazer o upgrade. Entretanto, atualmente esta possibilidade não existe mais, pois a grande maioria dos processadores já trazem o cache L2 integrado, não permitindo qualquer modi cação, já que não dá para abrir o processador e soldar mais cache. Mesmo no caso de processadores que ainda usam cache embutido na placa mãe, como o K6-2, não existe mais o encaixe para adicionar mais cache. Ou seja, atualmente a quantidade de cache que você deseja no processador ou placa mãe deve ser decidida antes da compra, baseado nas opções disponíveis. Uma vez adquiridos o processador e a placa mãe não será possível fazer qualquer alteração.

Sempre que um novo processador é desenvolvido, é preciso desenvolver também um tipo mais rápido de memória cache para acompanhá-lo. Como este tipo de memória é extremamente caro (chega a ser algumas centenas de vezes mais cara que a memória RAM convencional) usa-se apenas uma pequena quantidade dela.

3.1.3 - Memória ROM

A memória ROM (acrônimo para a expressão inglesa Read-Only Memory) é um tipo de memória que permite apenas a leitura, ou seja, as suas informações são gravadas pelo fabricante uma única vez e após isso não podem ser alteradas ou apagadas, somente acessadas. São memórias cujo conteúdo é gravado permanentemente. Uma memória ROM (Figura 3.3) propriamente dita tem o seu conteúdo gravado durante a fabricação. Atualmente, o termo Memória ROM é usado informalmente para indicar uma gama de tipos de memória que são usadas apenas para a leitura na operação principal de dispositivos eletrônicos digitais, mas possivelmente podem ser escritas por meio de mecanismos especiais.

Os principais tipos de memória ROM são:

Page 32: Arquitetura de Computadores

PROM (Programmable Read-Only Memory): esse é um dos primeiros tipos de memória ROM. A gravação de dados neste tipo é realizada por meio de aparelhos que trabalham através de uma reação física com elementos elétricos. Uma vez que isso ocorre, os dados gravados na memória PROM não podem ser apagados ou alterados;

EPROM (Erasable Programmable Read-Only Memory): as memórias EPROM têm como principal característica a capacidade de permitir que dados sejam regravados no dispositivo. Isso é feito com o auxílio de um componente que emite luz ultravioleta. Nesse processo, os dados gravados precisam ser apagados por completo. Somente depois disso é que uma nova gravação pode ser feita;

EEPROM (Electrically-Erasable Programmable Read-Only Memory): este tipo de memória ROM também permite a regravação de dados, no entanto, ao contrário do que acontece com as memórias EPROM, os processos para apagar e gravar dados são feitos eletricamente, fazendo com que não seja necessário mover o dispositivo de seu lugar para um aparelho especial para que a regravação ocorra;

EAROM (Electrically-Alterable Programmable Read-Only Memory): as memórias EAROM podem ser vistas como um tipo de EEPROM. Sua principal característica é o fato de que os dados gravados podem ser alterados aos poucos, razão pela qual esse tipo é geralmente utilizado em aplicações que exigem apenas reescrita parcial de informações;

Flash: as memórias Flash também podem ser vistas como um tipo de EEPROM, no entanto, o processo de gravação (e regravação) é muito mais rápido. Além disso, memórias Flash são mais duráveis e podem guardar um volume elevado de dados;

28 Evolução e Arquitetura de Computadores

CD-ROM, DVD-ROM e a ns: essa é uma categoria de discos ópticos onde os dados são gravados apenas uma vez, seja de fábrica, como os CDs de músicas, ou com dados próprios do usuário, quando o próprio efetua a gravação. Há também uma categoria que pode ser comparada ao tipo EEPROM, pois permite a regravação de dados: CD-RW e DVD-RW e a ns

Figura 3.3 – Chip de memória ROM

Na memória ROM do computador estão armazenados os software: BIOS, Setup e Post.

• BIOS (Basic Input Output System, Sistema Básico de Entrada e Saída), que é responsável por “ensinar” ao processador da máquina a operar com dispositivos básicos, como a unidade de disquete, o disco rígido.

• Setup é o programa responsável por alterar os parâmetros armazenados na memória de con guração (CMOS), normalmente para chamarmos esse prog rama pressionamos a tecla “Del” durante a contagem de memória. No setup nós alteramos parâmetros que são armazenados na memória de con guração. Como o setup é gravado dentro da memória

Page 33: Arquitetura de Computadores

ROM do micro, muita gente pensa que setup e BIOS são sinônimos, o que não é verdade. Outra confusão comum é achar que as con guração alteradas no setup são armazenadas no BIOS. Como o BIOS está numa memória do tipo ROM, ela não permite que seus dados sejam alterados. Todas as informações manipuladas e alteradas no setup são armazenadas única e exclusivamente na memória de con guração (CMOS) do micro.

• POST (Power On Self Test, Auto-teste) é o programa responsável pelo auto-teste que é executado toda a vez em que ligamos o micro (contagem de memória, por exemplo).

3.1.4 - Memória de con- guração CMOS

A memória CMOS (Complementary Metal Oxide Semiconductor) é como uma memória RAM, pois permite que os dados sejam lidos e gravados, como é uma memória que pode ser apagada, existe uma bateria de lítio especi camente para alimentá-la quando o computador está desligado. Essa bateria também é responsável por alimentar o circuito de relógio de tempo real do micro (RTC, Real Time Clock), pelo mesmo motivo. Todo micro tem esse relógio e ele é o responsável por manter a data e a hora atualizadas. A Figura 3.4 ilustra o chip CMOS e a bateria que alimenta essa memória

Figura 3.4 - Chip onde a memória CMOS está embutida e bateria que alimenta a memória CMOS, respectivamente.

29 Evolução e Arquitetura de Computadores

3.1.5 - Registradores

O registrador ou registro é um tipo de memória de pequena capacidade, porém muito rápida contida no processador, utilizada no armazenamento temporário durante o processamento. Os registradores estão no topo da hierarquia de memória, sendo assim o meio mais rápido e caro de se armazenar um dado.

Os registradores são utilizados na execuç ão de programas de computadores, disponibilizando um local para armazenar dados. Na maioria dos computadores modernos, quando da execução das instruções de um programa, os dados são movidos da memória principal para os registradores, então as instruções que utilizam estes dados são executadas pelo processador, e nalmente, os dados são movidos de volta para a memória principal.

3.2 - Memórias secundárias

precisa ser carregada em memória primária antes de poder ser tratada pelo processador

• São memórias que não podem ser endereçadas diretamente, por exemplo, a informação • Não são estritamente necessárias para a operação do computador

Page 34: Arquitetura de Computadores

• São geralmente não-voláteis, permitindo guardar os dados permanentemente

As memórias secundárias podem ser classi cadas segundo material no qual os dados são armazenados, ou seja, o tipo de mídia de armazenamento. Segundo as mídias de armazenamento, essas memórias são classi cadas em:

• Memórias de mídia magnética: os dispositivos de armazenamento mais comuns são o disquete, discos rígidos e unidade de ta. A superfície desses dispositivos é revestida de um material com sensibilidade magnética (em geral, óxido de ferro), que reage a um campo magnético. Assim como o transistor representa dados binários como “ligado” ou “desligado”, a força de um campo magnético pode ser usada para representar dados. Mas o ímã tem uma vantagem importante sobre o transistor: ele retém a polaridade sem uma fonte contínua de eletricidade.

• Memórias de mídia ótica: as técnicas de armazenamento ótico fazem uso de precisão altíssima, possível graças aos raios laser. O laser usa um feixe de luz estreito e concentrado. A única diferença entre a luz do laser e a luz comum é que no raio laser, a luz é coerente – toda energia da luz está perfeitamente alinhada na mesma direção, permitindo que seja focalizada com precisão em uma área extremamente pequena. Os dispositivos de armazenamento ótico focalizam um raio laser no meio de gravação, que é um disco em constante rotação. Algumas áreas do meio re- etem a luz pelo laser e pelo sensor, o ponto que re- ete o raio laser no sensor é interpretado como um e a ausência de re- exão é interpretada como zero. Os principais dispositivos que utilizam essa mídia são os CDs e DVDs.

• Memórias de mídia ash: é uma memória de computador do tipo EEPROM (Electrically-Erasable

Programmable Read-Only Memory), desenvolvida na década de 1980 pela Toshiba, cujos chips são semelhantes ao da memória RAM, permitindo que múltiplos endereços sejam apagados ou escritos numa só operação. Em termos leigos, trata-se de um chip que, ao contrário de uma memória RAM convencional, é do tipo não volátil. Esta memória é comumente usada em cartões de memória, - ash drives USB (pen drives), MP3 Players, dispositivos como os iPods com suporte a vídeo, PDAs, armazenamento interno de câmeras digitais e celulares. A memória - ash oferece um tempo de acesso (embora não tão rápido como a memória volátil DRAM utilizadas para a memória principal em PCs) e melhor resistência do que discos rígidos. Estas características explicam a popularidade da memória - ash em dispositivos portáteis. Outra característica da memória - ash é que quando embalado em um “cartão de memória” são extremamente duráveis, sendo capaz de resistir a uma pressão intensa, variações extremas de temperatura, e até mesmo imersão em água.

3.1.2 - Disco rígido Disco rígido, disco duro, (popularmente também winchester) ou HD (do inglês Hard Disk) é a parte do

30 Evolução e Arquitetura de Computadores

Page 35: Arquitetura de Computadores

computador onde são armazenadas as informações, ou seja, é a “memória permanente” propriamente dita (não confundir com “memória RAM”). É caracterizado como memória física, não-volátil, que é aquela na qual as informações não são perdidas quando o computador é desligado.

Este sistema é necessário porque o conteúdo da memória RAM é apagado quando o computador é desligado. Desta forma, temos um meio de executar novamente programas e carregar arquivos contendo os dados da próxima vez em que o computador for ligado. Nos sistemas operacionais mais recentes, o disco rígido é também utilizado para expandir a memória RAM, através da gestão de memória virtual5.

A Figura 3.5 mostra a parte interna de um HD. Note que há indicativos que descrevem os componentes mais importantes. Estes são detalhados logo abaixo:

• Pratos e motor: esse é o componente que mais chama a atenção. Os pratos são os discos onde os dados são armazenados. Eles são feitos de alumínio (ou de um tipo de cristal) recoberto por um material magnético e por uma camada de material protetor. Quanto mais trabalhado for o material magnético (ou seja, quanto mais denso), maior é a capacidade de armazenamento do disco. Note que os HDs com grande capacidade contam com mais de um prato, um sobre o outro. Eles cam posicionados sob um motor responsável por fazê-los girar;

• Cabeça e braço: os HDs contam com um dispositivo muito pequeno chamado cabeça (ou cabeçote) de leitura e gravação. Trata-se de um item de tamanho reduzido que contém uma bobina que utiliza impulsos magnéticos para manipular as moléculas da superfície do disco, e assim gravar dados. Há uma cabeça para cada lado dos discos. Esse item é localizado na ponta de um dispositivo denominado braço, que tem a função de posicionar os cabeçotes sob a superfície dos pratos. Olhando por cima, tem-se a impressão de que a cabeça de leitura e gravação toca nos discos, mas isso não ocorre. Na verdade, a distância entre ambos é extremamente pequena. A “comunicação” ocorre por impulsos magnéticos;

• Atuador: também chamado de voice coil, o atuador é o responsável por mover o braço sob a superfície dos pratos, e assim permitir que as cabeças façam o seu trabalho. Para que a movimentação ocorra, o atuador contém em seu interior uma bobina que é “induzida” por imãs.

Figura 3.5 - Vista Interna do HD

A superfície de gravação dos pratos é composta de materiais sensíveis ao magnetismo (geralmente, óxido de ferro). O cabeçote de leitura e gravação manipula as moléculas desse material através de seus pólos. Para isso, a polaridade das cabeças muda numa freqüência muito alta: quando está positiva, atrai o pólo negativo das moléculas e vice-versa. De acordo com essa polaridade é que são gravados os bits (0 e 1). No processo de leitura de dados, o cabeçote simplesmente “lê” o campo magnético gerado pelas moléculas e gera uma

5 O sistema operacional através de um software especializado (memória virtual) cria a ”ilusão” ao usuário que a memória principal é do tamanho da memória secundária. A técnica de memória virtual realiza transferência de blocos de informação entre a

Page 36: Arquitetura de Computadores

memória primária e secundária automaticamente sem a intervenção do usuário comum. Assim, o tempo de acesso à memória principal aumenta um pouco mais, o usuário ganha em capacidade de armazenamento.

31 Evolução e Arquitetura de Computadores corrente elétrica correspondente, cuja variação é analisada pela controladora do HD para determinar os bits.

Para armazenar e localizar dados em um HD, um dis positivo chamado controlador (ou controladora) se utiliza de informações conhecidas por número de trilhas, setores e cilindros. O conjunto dessas informações é denominado “geometria de disco”. No processo de fabricação do HD existe uma formatação (formatação pode ser entendida como mapeamento) que de ne a forma de armazenamento, dividindo cada disco em trilhas e setores. Os cilindros são trilhas concêntricas na superfície dos discos e estas trilhas são divididas em setores. Estes, por sua vez, são “pedaços” do HD. Observe na Figura 3.6 para entender melhor sua estrutura.

Figura 3.6 - Trilha e Setores do HD

Existem vários tipos de discos rígidos: IDE/ATA, Serial ATA, SCSI.

ATA, um acrônimo para a expressão inglesa Advanced Technology Attachment, também conhecido como

IDE (a Figura 3.7 ilustra um conector IDE na placa-mãe) ou Integrated Drive Electronics é um padrão para interligar dispositivos de armazenamento, como discos rígidos e drives de CD-ROMs, no interior de computadores pessoais. A evolução do padrão fez com que fossem reunidas várias tecnologias antecessoras, como: (E)IDE - (Extended) Integrated Drive Electronics; ATAPI - Advanced Technology Attachment Packet Interface; UDMA - Ultra DMA.

Figura 3.7 – Conector IDE em uma placa-mãe

Serial ATA, SATA ou S-ATA (acrônimo para Serial Advanced Technology Attachment) é uma tecn ologia de transferência de dados entre um computador e dispositivos de armazenamento em massa como unidades de disco rígido e drives ópticos. É o sucessor da tecnologia ATA que foi renomeada para PATA (Parallel ATA) para se diferenciar de SATA.

Page 37: Arquitetura de Computadores

Diferentemente dos discos rígidos IDE, que transmitem os dados através de cabos de quarenta ou oitenta os paralelos, o que resulta num cabo enorme, os discos rígidos SATA transferem os dados em série. Os cabos do tipo Serial ATA (Figura 3.8) são formados por dois pares de os (um par para transmissão e outro par para recepção) usando transmissão diferencial, e mais três os terra, totalizando sete os , o que permite usar

32 Evolução e Arquitetura de Computadores

cabos com menor diâmetro que não interferem na ventilação do gabinete.

Fi gura 3.8 - Slot Serial ATA em uma placa-mãe e Cabo de alimentação para drives Serial ATA, vistos da esquerda para direita

As principais vantagens sobre a interface do parallel ATA é uma maior rapidez na transferência dos dados (embora a taxa de transferência anunciada pelos fabricantes - 6 MB/s, 100 MB/s, 133 MB/s - raramente é alcançada); e o uso de cabos de conexão mais nos que permitem um resfriamento mais e ciente do gabinete.

SCSI (pronuncia-se “scuzi”), sigla de Small Computer System Interface, trata-se de uma tecnologia criada para acelerar a taxa de transferência de dados entre dispositivos de um computador, desde que tais periféricos sejam compatíveis com a tecnologia. Essa tecnologia permite ao usuário conectar uma larga gama de periféricos, tais como discos rígidos, unidades CD-ROM, impressoras e scanners.

As vantagens do SCSI não se resumem apenas à questão da velocidade, mas também da compatibilidade e estabilidade. Sendo o processador o dispositivo mais rápido do computador, o uso do padrão SCSI permite que essa velocidade seja aproveitada e assim, aumentar de forma considerável o desempenho do computador. Essa interface é mais é voltada para o mercado de servidores de rede e raramente utilizada em computadores para usuários nais.

Existe também o HD externo que é simplesmente um HD portátil que você conecta ao computador apenas quando precisa. Para isso, pode-se usar, por exemplo, portas USB e até SATA externo, tudo depende do modelo que você escolher. O HD externo é útil para quando se tem grandes quantidades de dados para transportar ou para fazer backup (cópia de segurança de seus arquivos). Do contrário, é preferível utilizar pen drives, DVDs regraváveis ou outro dispositivo de armazenamento com melhor relação custo-benefício. Isso porque os HDs externos são mais caros e costumam ser pesados (exceto os modelos de tamanho reduzido). Além disso, devem ser transportados com cuidado, para evitar danos.

3.2.2 - Disquetes

Os disquetes possuem a mesma estrutura de um disco rígido, tendo como diferenças o fato de serem removíveis e serem compostos de um único disco magnético.

Page 38: Arquitetura de Computadores

Os disquetes possuem vida útil que varia de 5 a 6 anos (pouco, se for comparado ao CD, que dura 20 anos).

O disquete já foi considerado um dispositivo com grande capacidade de armazenamento, especialmente devido ao pequeno tamanho dos arquivos. Atualmente, devido ao tamanho cada vez maior dos arquivos e, devido à existência de mídias de armazenamento não-voláteis de maior capacidade, como zip drivers, cartões de memória CDs, DVDs; além de existir outras maneiras de guardar arquivos, como armazenamento distribuído em redes locais, e-mail e disco virtual, o disquete se tornou um utilitário obsoleto.

A Figura 3.9 ilustra as partes que compõem um disquete.

3 Evolução e Arquitetura de Computadores

Figura 3.9 – Disquete 3 1/2”

Legenda: 1 - Trava de proteção contra escrita. 2 - Base central. 3 - Cobertura móvel. 4 - Chassi (corpo) plástico. 5 - Disco de papel. 6 - Disco magnético. 7 - Setor do disco.

3.2.3 - Fita magnética

A ta magnética (ou banda magnética) é uma mídia de armazenamento não-volátil que consiste em uma ta plástica coberta de material magnetizável. A ta pode ser utilizada para armazenar informações analógicas ou digitais, incluindo áudio, vídeo e dados de computador. A Figura 3.10 ilustra uma ta magnética para dados de computador.

As tas estão disponíveis em rolos, cassetes ou cartuchos e sofreram diversas evoluções desde seu advento, no início da década de 1950. Elas são talvez, a mídia de armazenamento mais antiga ainda amplamente utilizada em sistemas de informação.

Quando comparadas aos discos óticos e ótico-magnéticos, as vantagens das tas são a grande capacidade de armazenamento, o baixo custo por unidade armazenada, a longa expectativa de vida e a con abilidade na retenção dos dados ao longo de sua vida útil. Suas desvantagens são: o acesso sequencial (as tas requerem um moroso avanço e retrocesso para que sejam acessados os dados desejados), a necessidade de treinar o operador ou usuário para sua manipulação correta e o elevado custo dos dispositivos de leitura/gravação.

Qual é o meio de armazenamento digital mais duradouro?

Não se assuste, mas são as tas magnéticas, que têm uma vida útil estimada em um século.

Poucos fabricantes de CDs e DVDs garantem a manutenção de dados gravados em seus produtos por mais do que 10 anos. Não é à toa que todos os dados nanceiros e empresariais continuam sendo arquivados nas con áveis tas magnéticas.

Page 39: Arquitetura de Computadores

Figura 3.10 - Fita de dados para computador

34 Evolução e Arquitetura de Computadores

3.2.4 - Discos óticos

O CD-ROM foi desenvolvido em 1985 e traduz-se aproximadamente em l íngua portuguesa para Disco

Compacto - memória apenas para leitura. O termo “compacto” deve-se ao seu pequeno tamanho para os padrões vigentes, quando do seu lançamento. E “memória apenas para leitura” deve-se ao fato de o seu conteúdo poder apenas ser lido, e nunca alterado. O termo foi herdado da memória ROM, que contrasta com tipos de memória RW, como a memória - ash. A gravação é feita pelo seu fabricante. Existem outros tipos desses discos, como o CD-R e o CD-RW, que permitem ao utilizador fazer a suas próprias gravações uma, ou várias vezes, respectivamente, caso possua o hardware e software necessários. Os CD-ROMs com capacidade para 650 megabytes, foram substituídos pelos de 700 megabytes, passando então estes a serem os mais comuns, existindo, no entanto, outros formatos superiores.

O DVD (abreviação de Digital Video Disc ou Digital Versatile Disc, em português, Disco Digital de Vídeo ou Disco Digital Versátil). Contém informações digitais, tendo uma maior capacidade de armazenamento que o CD, devido a uma tecnologia ótica superior, além de padrões melhorados de compressão de dados. O DVD foi criado no ano de 1995.

Os DVDs possuem por padrão a capacidade de armazenar 4,7 GB de dados, enquanto que um CD armazena em média 700 MB. Os chamados DVDs de dual-layer (dupla camada) podem armazenar até 8,5 GB. O tamanho máximo de arquivo varia conforme o tipo de gravação: UDF, ISO normal, DVD-video, etc.

O disco magnético–ótico (MO) combina algumas das melhores características das tecnologias de gravação magnética e ótica. Uma unidade de disco MO usa um laser ótico para aumentar a capacidade do sistema de disco magnético convencional. A tecnologia de gravação é fundamentalmente magnética. Entretanto, um laser ótico é usado para focalizar o cabeçote de gravação magnética, possibilitando obter maior capacidade. Os discos MO podem ser encontrados em vários tamanhos e capacidades. A principal vantagem do disco MO para o CD puramente ótico é a sua longevidade. Repetidas regravações no disco ótico resultam em degradação gradual do meio. O disco MO não apresenta essa degradação e, portanto pode ser usado para um número muito maior de operações de regravação. Outra vantagem da tecnologia MO é seu custo por megabyte, consideravelmente mais baixo do que no caso do disco magnético.

Uma tecnologia recente de discos óticos são os discos Blu-ray e HD DVD. Na verdade, um disco Blu-Ray ou HD-DVD nada mais é do que um disco de DVD com capacidade de armazenamento mais elevada, permitindo a gravação de conteúdo de alta de nição. É importante salientar que a principal motivação para a criação de um sucessor para o

Page 40: Arquitetura de Computadores

DVD foi o surgimento da TV de alta de nição, que exige maior espaço de armazenamento em disco, coisa que o DVD não pode oferecer.

O ponto chave das tecnologias Blu-Ray e HD-DVD é a utilização de um laser azul-violeta usado para ler e gravar dados no disco. Este laser tem um comprimento de onda menor do que o laser vermelho usado pelos aparelhos de DVD, o que permite uma maior densidade de gravação.

Tecnologicamente falando, Blu-Ray e HD-DVD são parecidos. A diferença principal entre essas duas tecnologias está na capacidade de armazenamento, devido a distância da camada de gravação em relação à camada protetora, que no Blu-Ray é de 0,1 m e no HD-DVD esta distância é de 0,6 m, a mesma do DVD.

Um disco Blu-Ray de uma única camada permite a gravação de até 25 GB, enquanto que o mesmo disco na tecnologia HD-DVD permite a gravação de apenas 15 GB. Já um disco Blu-Ray de dupla camada permite a gravação de até 54 GB, enquanto que o mesmo disco na tecnologia HD-DVD permite apenas a gravação de 30 GB.

3.2.5 - Pen drives

Memória USB Flash Drive, também designado como pen drive (Figura 3.1) é um dispositivo de armazenamento constituído por uma memória - ash e uma ligação USB tipo A permitindo a sua conexão a uma porta

35 Evolução e Arquitetura de Computadores

USB de um computador. A velocidade de transferência de dados pode variar dependendo do tipo de entrada.

Eles oferecem vantagens potenciais com relação a outros dispositivos de armazenamento portáteis, particularmente os disquetes. São mais compactos, rápidos, têm maior capacidade de armazenamento, são mais resistentes devido à ausência de peças móveis. Adicionalmente, tornou-se comum computadores sem drives de disquete. Portas USB por outro lado, estão disponíveis em praticamente todos os computadores pessoais e notebooks. Os drives - ash utilizam o padrão USB, nativamente compatível com os principais sistemas operacionais modernos como Windows, Mac OS X, Linux, entre outros.

Em condições ideais, as memórias - ash podem armazenar informação durante 10 anos.

Para ter acesso aos dados armazenados no drive - ash, este deve estar conectado ao computador. O drive ca ativo apenas quando ligado à porta USB e obtém toda a energia necessária através da corrente elétrica fornecida pela conexão.

Figura 3.1 – Pen drive 3.2.6 - Cartões de memória

Page 41: Arquitetura de Computadores

Cartão de memória ou cartão de memória - ash é um dispositivo de armazenamento de dados com memória - ash utilizado em videogames, câmeras digitais, telefones celulares, palms/PDAs, MP3 players, computadores e outros aparelhos eletrônicos. Podem ser regra vados várias vezes, não necessitam de eletricidade para manter os dados armazenados, são portáteis e suportam condições de uso e armazenamento mais rigorosos que outros dispositivos móveis. No mercado, há uma grande variedade de formatos de memória - ash, como pode ser visualizado na Figura 3.12.

Figura 3.12 - Modelos diversos de cartões de memória em sentido horário a partir do topo: CompactFlash, xD-Picture Card, MultiMediaCard e Secure Digital Card.

36 Evolução e Arquitetura de Computadores

Os dispositivos de entrada e os de saída a são também denominados periféricos do computador. Existem também os dispositivos que podem s er utilizados tanto para a entrada como para a saída de dados: os dispositivos de armazenamento (HD, disquete, ta magnética), modems, placas de rede e telas sensíveis ao toque.

4.1 - Dispositivos de entrada

Os periféricos de entrada são dispositivos que servem para a entrada de dados em um computador.

Como exemplo, temos: teclado, mouse, canetas eletrônicas, telas sensíveis ao toque, entre outros. Os subitens seguintes irão detalhar alguns desses dispositivos.

4.1.1 - Teclado

É usado para entrada de dados através da digitação. O teclado (Figura 4.1) é dividido em 3 partes: teclado alfanumérico (semelhante ao de uma máquina de escrever), teclado numérico (semelhante à uma calculadora) e teclado de controle (formado por um grupo de teclas, que isoladamente ou em conjunto com outras teclas, executam comandos ou funções especí cas, como as teclas <Shift>, <Ctrl>, <Alt>, entre outras).

Figura 4.1 - Teclado 4.1.2 - Mouse

Também conhecido como dispositivo apontador. Serve para apontar e selecionar uma das opções possíveis que aparecem na tela. Existem diversos tipos de mouse, mas o modelo mais comum tem o formato de um ratinho, por isso o nome em inglês: “mouse”. Como dispositivo apontador, também encontramos o trackball, que é uma espécie de m ouse invertido, ou seja, ao invés de rolarmos o mouse pela mesa, simplesmente, giramos sua bolinha com a mão movimentando o cursor na tela; o track point, que é composto de um ponto no meio do teclado (geralmente em notebooks); o touch pad ou mouse de toque, onde ao movimentarmos o dedo sobre uma “pequena placa”, movimentamos o

Page 42: Arquitetura de Computadores

cursor na tela; e os mouses em forma de caneta que tem o mesmo formato de uma caneta, geralmente encontrado em palmtops.

Figura 4.2 – Mouse ótico, trackBall e caneta eletrônica, vistos da esquerda para a direita O mouse é um dispositivo simples e o tipo mais comum tem uma bola sob a carcaça do mouse propria-

37 Evolução e Arquitetura de Computadores mente dito. O mouse ótico não tem parte móvel alguma. Em vez da bola, ele tem um fotodetector que percebe o movimento do mouse sobre uma superfície. O movimento é transformado em informação que é enviada ao computador, como faz o mouse mecânico.

4.1.3 - Scanner

Trata-se de um dispositivo que serve para transferir desenhos, fotos e textos para o computador. O scanner (Figura 4.3) pode ser de dois tipos: scanner de mão, o qual é parecido com um mouse bem grande e que devemos passar por cima do desenho/texto a ser transferido para o computador e scanner de mesa, muito parecido com uma fotocopiadora, onde devemos colocar o papel e abaixar a tampa para que o desenho seja então transferido para o computador.

Figura 4.3 – Scanner

. 4.1.4 - Leitor Ótico

É um dispositivo que serve para evitar os enormes tempos gastos com digitação de dados. Ele é como um scanner, só que é utilizado, geralmente, para ler códigos de barra.

O leitor de código de barras (Figura 4.4) converte um padrão de barras impressas nos produtos em informações sobre o produto por meio da emissão de raio de luz – freqüentemente um raio laser – que re- ete a imagem do código de barra. Um detector sensível à luz identi ca a imagem do código de barra por intermédio das barras especiais em ambas as extremidades da imagem.

Figura 4.4 – Leitor ótico 4.1.5 - Microfone

Também é um dispositivo de entrada, pois através dele podemos gravar sons, transmitir a nossa voz pela internet ou mesmo “ditar” um texto para o computador, utilizando um dos programas de reconhecimento de voz.

4.2 - Dispositivos de saída

As unidades de saída convertem impulsos elétricos, permitindo a saída de informações para meios externos e possibilitando sua visualização de uma m aneira que se torne compreensível para o usuário, ou seja, servem para que possamos obter os resultados dos dados processados pelo computador.

Page 43: Arquitetura de Computadores

Existem diversos periféricos de saída, vejam alguns deles nas subseções que seguem.

38 Evolução e Arquitetura de Computadores

4.2.1 - Monitor de Vídeo

Semelhante a um aparelho receptor de televisão, onde são apresentados os dados ou informações solicitadas pelo usuário (ver Figura 4.5).

Figura 4.5 – Monitores CRT e LCD, vistos da esquerda para direita

Dois tipos básicos de monitor são usados com os computadores. O primeiro é o típico monitor que você ver nos computadores de mesa; ele se parece muito com uma tela de televisão e funciona da mesma maneira. Esse tipo usa um tubo grande de vácuo, chamado CRT (Cathode Ray Tube- tubo de raios catódicos). O segundo tipo, conhecido como monitor de tela plana é comumente usado em not ebooks. A maioria deles emprega LCDs (Liquid Crystal Displays – vídeos de cristal liquido) para converter as imagens.

4.2.2 - Impressoras

Impressora é um equipamento que permite criar cópias em papel de grá cos, textos, desenhos, planilhas e outros trabalhos criados no computador.

A resolução da impressora é medida em pontos de tinta por polegada, também conhecida como dpi. Geralmente, quanto mais pontos por polegada, melhor será o resultado impresso.

Existem vários tipos de impressoras. Cada uma delas possui características especí cas para valorizar a qualidade de imagem produzida. As impressoras (Figura 4.6) podem ser classi cadas em:

Impressoras com impacto: utilizam “martelos” que pressionam uma ta carbono contra o papel de impressão (geralmente os chamados “formulários contínuos”), e podem ser de dois tipos:

• Impressora serial ou matricial: possuem agulhas ou pinos na cabeça de impressão, que percorrem toda a extensão da página e que são responsáveis pela transferência da tinta da ta para o papel. (Obs.: quanto maior o número de pontos impresso pelas agulhas, melhor será a de nição do caracter do documento). A impressão é feita caracter por caracter;

• Impressora de linha: que imprime os caracteres de uma linha completa de uma só vez.

As impressoras sem impacto são impressoras silenciosas e são classi cadas em:

Page 44: Arquitetura de Computadores

• Jato de tinta - têm processo semelhante ao das matriciais, pois também possuem cabeça de impressão que percorre toda a extensão da página, só que esta cabeça de impressão possui pequenos orifícios, através dos quais a tinta do cartucho é lançada sobre o papel. Algumas têm uma ótima qualidade de impressão quase se igualando às de Laser. São as impressoras mais utilizadas.

• Fusão térmica ou também conhecidas como “dye sublimation” - usadas em empresas onde a qualidade pro ssional dos documentos, pan- etos e apresentações é mais importante que o custo dos consumíveis. Possuem uma qualidade pro ssional nas cópias efetuadas, mas o seu custo é muito maior do que o das impressoras jato de tinta.

• Térmicas - embora sejam mais rápidas, mais econômicas e mais silenciosas do que outros modelos de impressoras, as impressoras térmicas praticamente só são utilizadas hoje em dia em aparelhos de fax e máquinas que imprimem cupons scais e extratos bancários. O grande problema com este método de impressão é que o papel térmico utilizado desbota com o tempo.

39 Evolução e Arquitetura de Computadores

• Laser - são impressoras com baixíssimo nível de ruído, possui um processo de impressão idêntico ao das fotocopiadoras. Produzem resultados de grande qualidade para quem quer desenho grá co ou texto, utilizando a tecnologia do laser.

Figura 4.6 – impressoras lazer, jato de tinta e matricial de recibos, vistas da esquerda para direita

4.2.3 - Plotters

Plotter ou plotadora (Figura 4.7) é um tipo especial de dispositivo de saída. Parece uma impressora, porque produz imagens sobre uma folha de papel, mas o processo utilizado é diferente. As plotadoras destinam- -se a produzir grandes desenhos ou imagens, como plantas para a construção de prédios ou anteprojetos de objetos mecânicos. A plotadora usa um braço robótico para desenhar com canetas coloridas sobre uma folha de papel.

Figura 4.7 - Plotter 4.2.4 - Speakers

Os speakers ou caixas de som servem para transmitir sons através do micro, sejam músicas ou sons de voz. São e cazes para usuários com de ciência visual e para software especializados nesse tipo de usuário.

40 Evolução e Arquitetura de Computadores

Page 45: Arquitetura de Computadores

OUTROS COMPONENTES DO COMPUTADOR 5.1 - Barramentos

Barramentos são basicamente um conjunto de sinais digitais com os quais o processador comunica-se com o seu exterior, ou seja, com a memória, chips da placa-mãe, periféricos. Um barramento do sistema contém, tipicamente, de 50 a 100 linhas distintas. Cada linha possui uma fun ção ou signi cado particular. Embora existam diferentes projetos de barramentos, as linhas de um barramento podem ser classi cadas em três grupos funcionais (Figura 5.1):

Figura 5.1 – Esquema de interconexão de barramento

Barramento de dados – linhas por onde circulam os dados. Contém 8,16 ou 32 linhas; o número de linhas é conhecido como largura do barramento de dados.

A largura do barramento de dados constitui um parâmetro fundamental para o desempenho global do sistema

Barramento de endereços – linhas por onde a informação de um dado endereço é fornecida. Por exemplo, quando o processador deseja ler uma palavra (8, 16 ou 32 bits) na memória, ele coloca o endereço da palavra desejada nas linhas de endereço.

A largura do barramento de endereço determina a capacidade máxima da memória do sistema, quanto maior a largura do barramento de endereço, maior é o número de posições de memória que podem ser endereçadas.

Barramento de controle – as linhas de controle são usadas para controlar o acesso e a utilização das linhas de dados e endereço. C omo as linhas de dados e endereço são compartilhadas por todos os componentes, deve existir uma maneira de controlar a sua utilização.

No computador, normalmente, encontramos três tipos barramento: barramento local; barramento do sistema; barramento de expansão (veja Figura 5.2).

41 Evolução e Arquitetura de Computadores

Page 46: Arquitetura de Computadores

F igura 5.2 – Arquitetura de barramento tradicional

Barramento local: é o principal barramento do micro, e nele estão conectados os principais circuitos da placa-mãe, tais como: memória RAM, chipsets, processadores, memória cache.

Barramento do sistema: barramento onde estão conectados os periféricos on board, ou seja, periféricos integrados á placa-mãe, como placa de som, vídeo, fax-modem e rede.

Barramento de expansão: onde estão conectadas as placas de expansão como as placas de vídeo, fax modem, som, rede, IDE, e demais placas. Estas placas são conectadas ao barramento através de conectores denominados slots.

Vamos conhecer alguns barramentos de expansão: barramento ISA (Figura 5.5), que apesar de não ser mais utilizado com freqüência, esteve presente na maior parte dos computadores, o barramento PCI (Figura 5.4) e o AGP (Figura 5.3), que é usado exclusivamente para vídeo. Para que os periféricos (placas em geral) possam usar esses barramentos, é necessário que cada placa (de vídeo, de som, modem) seja compatível com um determinado tipo de barramento. Sendo assim, para que haja o uso do mesmo, é necessário encaixar a placa num conector presente na placa-mãe, conhecido por slot. Cada barramento possui uma forma de slot diferente, que será mostrado nas próximas subseções.

5.1.1- Barramento AGP

O slot AGP (Accelerated Graphics Port) foi criado para otimizar a performance das placa de vídeo. A entrada AGP só pode ser usada por placas de vídeo de aceleração 3D. Existem diferentes velocidades que uma placa AGP pode alcançar, tudo depende de qual a velocidade que a entrada AGP tem. Quando for comprar uma placa-mãe veja se ela consegue acompanhar a velocidade da placa de vídeo que você tem, ou vice-versa.

Figura 5.3 – Slot de barramento AGP

42 Evolução e Arquitetura de Computadores

Page 47: Arquitetura de Computadores

5.1.2 - Barramento PCI

O b arramento PCI (Peripheral Component Interconnect) é geralmente usado para expansão. Esses slots são os mais usados e uma placa mãe sempre tem mais de 5 entradas PCI, algumas placas que são vendidas mais baratas geralmente aquelas combos com placa-mãe e processador embutido tem menos entradas PCI e às vezes nenhuma AGP, então antes de comprar uma boa placa-mãe é sempre bom ver esse tipo de informação.

Figura 5.4 – Slot de barramento PCI 5.1.3 - Barramento ISA

Os slots ISA (Indus try Standard Architecture) são os que vieram antes dos slots PCI, mesmo assim ainda existem placas-mãe que são fabricadas com esses slots. Ela é bem mais lenta que a entrada PCI.

Figura 5.5- Slot de barramento ISA 5.1.4 - Barramento USB

Universal Serial Bus (USB) é um tipo de conexão Plug and Play que permite a conexão de periféricos sem a necessidade de desligar o computador. A Figura 5.6 ilustra um conector padrão USB.

Antigamente instalar periféricos em um computador obrigava o usuário a abrir a máquina, o que para a maioria das pessoas era uma tarefa quase impossível pela quantidade de conexões internas, sem falar que na maioria das vezes era preciso con gurar jumpers 6 e interrupções IRQs 7, tarefa difícil até para profi ssionais da área.

A proposta do padrão USB é substituir a in nidade de conectores diferentes empregados nos computadores atuais. Uma rápida olhada em um micro típico revela não menos que cinco encaixes diferentes, entre portas seriais, paralelas, ligações para teclado, mouse, joystick e outros acessórios.

6 Jumper é uma ligação móvel entre dois pontos de um circuito eletrônico. É uma pequena peça plástica que contém um metal, responsável pela condução de eletricidade. São pequenos contatos elétricos, envolvidos por um encapsulamento plástico, que servem para programar opções de funcionamento de placas e dispositivos, no que diz respeito ao hardware. 7 Uma IRQ (abreviação para Interrupt Request) é a forma pela qual os componentes de hardware requisitam tempo computacional da CPU. Uma IRQ é a sinalização de um pedido de interrupção de hardware (o processador para de fazer o que está fazendo para atender o dispositivo que pediu a interrupção)

43 Evolução e Arquitetura de Computadores

Figura 5.6 - Conector USB 5.1.5 - Barramento Firewire

Page 48: Arquitetura de Computadores

O barramento Firewire (também conhecido por IEEE 1394) é u m barramento externo ao micro, similar ao USB. Ou seja, você pode instalar periféricos Firewire ao micro mesmo com ele ligado. O sistema operacional detecta que um novo periférico foi adicionado e trata de instalar os drivers necessários.

A grande diferença entre o Firewire e o USB é o desempenho. Enquanto que no USB os dados são transferidos a, no máximo, 12 Mbps, na versão atual do Firewire os dados são transferidos a 400 Mbps, ou seja, o Firewire é 3 vezes mais rápido do que o USB.

O Firewire foi desenvolvido, inclusive, tendo em mente a transferência de dados grandes, como lmes sendo transferidos em formato digital entre câmeras digitais e o PC, por exemplo. Enquanto que o USB é atualmente suportado por todos os chipsets (circuitos de apoio da placa-mãe) - fazendo com que todas as placas- -mãe do mercado possuam portas USB, quase nenhum chipset para placas-mãe de PCs suporta o Firewire

O cabos que permitem a conexão de dispositivos em uma interface FireWire 400 podem ser compostos por até 6 vias. Já no caso do FireWire 800, o cabo pode conter até 9 vias. A Figura 5.7 mostra os conectores e as entradas FireWire que são padrão de mercado.

Figura 5.7 – Conectores e entradas padrão Firewire 5.1.6 - Slots de expansão e adaptadores

Os computadores mais recentes foram projetados para ser em abertos e adaptados ou con gurados, de acordo com a necessidade particular de cada usuário. A maioria das placas-mãe dos computadores tem oito slots de expansão, que servem como extensões do barramento do computador. Esses slots permitem que os componentes que não estão sicamente ligados ou soldados na placa-mãe obtenham acesso ao barramento do computador. Geralmente, as únicas exceções são o teclado e, as vezes o mouse; o soquete do teclado está rmemente soldado na placa-mãe e alguns computadores também têm portas especiais para o mouse na própria placa-mãe. A maioria dos PCs vem com dois ou mais slots de expansão ocupados com placas de circuito que têm várias nalidades. Essas placas são chamadas de adaptadores, cartões ou às vezes simplesmente placas.

Os slots de expansão na placa-mãe são usados pra três nalidades:

1) Para dar aos dispositivos internos, como discos rígidos e as unidades de disquete, acesso ao barramento do computador via placas controladoras.

4 Evolução e Arquitetura de Computadores

2) Para oferecer placas de E/S, na parte traseira do computador, para dispositivos externos como monitores de vídeo, modems, placas de redes externas, impressoras e mouses (para computadores que não tenham uma porta interna própria para esse dispositivo).

Page 49: Arquitetura de Computadores

3) Para dar aos dispositivos de uso especial acesso ao computador. Por exemplo. A placa de acelerador de clock, que aumenta a velocidade de processamento, é um dispositivo independente que obtém acesso à CPU e à memória do computador por meio do barramento.

Os dois primeiros são funções de E/S. Eles não apenas oferecem uma porta à qual os dispositivos podem ser conectados – servem de tradutores entre o barramento e o dispositivo em si.

O que fazer com um slot de expansão vago?

Talvez você queira instalar uma placa de som que produza áudio de alta qualidade. Essas placas adicionais con guram seu micro para aplicativos de multimídia. Se você preferir um modem interno em vez do tipo externo (que requer uma porta serial), ele ocupará um slot, e muitos outros dispositivos podem vir com adaptadores que precisam de slots – por exemplo, controladores para unidades de ta, scanners requerem um slot para a sua instalação.

5.2 - Portas de comunicação 5.2.1 - Portas seriais e paralelas

Internamente, os componentes do computador comunicam-se em paralelo. A Interface paralela, também denominada LPT (Figura 5.8), é aquela na qual há oito os ou mais por meio dos quais os bits que representam dados podem - uir simultaneamente, como no barramento. O barramento do computador geralmente transfere 16 ou 32 bits simultaneamente; entretanto a interface paralela padrão para dispositivos externos, como as impressoras, transfere 8 bits de cada vez em oito os separados. Como a porta paralela é muito lenta todos os fabricantes migraram estes periféricos para a porta USB.

Na interface serial, também denominada COM (Figura 5.8), os bits de dados - uem um de cada vez em um único arquivo. Um chip chamado UART (Universal Assynchronous Receiver-Transmitter – receptor-transmissor assíncrono universal) na placa de entrada/saída do computador converte os dados paralelos do barramento em dados seriais que podem - uir através de um cabo serial ou o telefônico.

Como é de se esperar, a interface paralela pode manipular um volume muito maior de dados do que a interface serial. As portas paralelas têm um conector de 25 pinos do lado do computador. No lado da impressora o cabo paralelo tem um conector especial chamado interface Centronics, que impede que os usuários liguem, inadvertidamente, a extremidade errada do cabo na impressora.

Figura 5.8 – interface paralela e serial

Page 50: Arquitetura de Computadores

45 Evolução e Arquitetura de Computadores

Exemplos de dispositivos seriais: mouse, trackball e dispositivos apontadores em geral; impressoras (raramente); modems externos.

Exemplos de dispositivos paralelos: u nidades óticas externas, impressoras (matriciais); plotters; zip drive8.

5.2.2 - Portas PS/2

PS/2 (Personal System/2) foi um sistema de computador pessoal criado pela IBM em 1987 com um conjunto de interfaces próprias. Um “computador PS/2” tinha inúmeras vantagens em relação ao PC tradicional, como equipamento (hardware) homologado e todos os drivers escritos pela IBM e um sistema operacional próprio rodando nele, o OS/2.

O PS/2 desapareceu do mercado em poucos anos, mas o OS/2 foi continuado para PCs comuns até meados de 1996. Porém, muitas das interfaces de hardware do PS/2 (Figura 5.9) são utilizadas até hoje, por ocuparem menos espaço e serem mais rápidas. Por exemplo, quando você compra uma placa-mãe, mouse ou teclado “PS2” signi ca que você está usando as interfaces herdadas deste sistema ao invés das portas de comunicação COM usadas na maioria dos PCs.

Figura 5.9 – Portas PS/2 5.2.3- Comunicação com transmissão sem - o

Infrared: Infrared Data Association (IrDA) é um padrão de comunicação sem o para transmissão de dados entre dispositivos. Esse padrão permite a conexão de dispositivos se m o ao microcomputador (ou equipamento com tecnologia apropriada), tais como impressoras, telefones celulares, notebooks e PDAs. Para computadores que não possuem infravermelho (IRDA) é necessário um adaptador ligado a porta USB do computador, desta maneira este computador poderá trocar arquivos com qualquer outro equipamento que possua infravermelho (IRDA).

Bluetooth: é um padrão global de comunicação sem o e de baixo consumo de energia que permite a transmissão de dados entre dispositivos compatíveis com a tecnologia. Para isso, uma combinação de hardware e software é utilizada para permitir que essa comunicação ocorra entre os mais diferentes tipos de aparelhos. A transmissão de dados é feita através de radiofreqüência, permitindo que um dispositivo detecte o outro independente de suas posições, desde que estejam dentro do limite de proximidade.

Para que seja possível atender aos mais variados tipos de dispositivos, o alcance máximo do Bluetooth foi dividido em três classes:

• Classe 1: potência máxima de 100 mW, alcance de até 100 metros;

• Classe 2: potência máxima de 2,5 mW, alcance de até 10 metros;

Page 51: Arquitetura de Computadores

• Classe 3: potência máxima de 1 mW, alcance de até 1 metro.

A velocidade de transmissão de dados no Bluetooth é baixa: até a versão 1.2, a taxa pode alcançar, no máximo, 1 Mbps. Na versão 2.0, esse valor passou para até 3 Mbps. Embora essas taxas sejam curtas, são su cientes para uma conexão satisfatória entre a maioria dos dispositivos. Existem vários produtos ativados

8 Disco removível de capacidade 100 MB, aproximadamente do tamanho de um disquete 3.5”.

46 Evolução e Arquitetura de Computadores

por Bluetooth, como celulares, impressoras, modems e fones de ouvido sem o. A tecnologia é útil quando é necessária transferência de informações entre dois ou mais dispositivos que estão perto um do outro ou em outras situações onde não é necessária alta taxa de transferência.

5.3 Cooler

Com o avanço da tecnologia dos processadores, manter sua temperatura de funcionamento sob controle e dentro de certos limites tornou-se um fator crítico. Por isso, os dissipadores de calor ou coolers tornaram-se fundamentais para o perfeito funcionamento do computador e para a maior durabilidade da CPU. A principal função do cooler é evitar um super aquecimento e um possível travamento da máquina. A Figura 5.10, mostra um tipo de cooler que é utilizado no processo de resfriamento interno das CPU’s.

Figura 5.10 - Cooler 5.4 - Placa – Mãe

A placa-mãe, também denominada mainboard ou motherboard, é uma placa de circuito impresso eletrônico que tem como função permitir que o processador se comunique com todos os periféricos instalados.

Na placa-mãe encontramos não só o processador, mas também a memória RAM, os circuitos de apoio, as placas controladoras, os conectores de barramentos e os chipset, que são os principais circuitos integrados da placa-mãe e são responsáveis pelas comunicações entre o processador e os demais comp onentes. Veja na Figura 5.1, um modelo ilustrado de placa–mãe.

Figura 5.1 - Placa - Mãe (motherboard ) 5.5 - Chipset

Chipset são circuitos de apoio ao processador que gerenciam praticamente todo o funcionamento da placa-mãe (controle de memória cache, DRAM, controle do bu er de dados, interface com a CPU). É responsável pelas informações necessárias ao reconhecimento de hardware (armazenadas na sua memória RO M).

Page 52: Arquitetura de Computadores

47 Evolução e Arquitetura de Computadores

A arquitetura da placa-mãe depende do tipo de chipset presente nesta. Entender o seu funcionamento e a sua importância, tornará melhor a compreensão do funcionamento do microcomputador.

A grande maioria dos chipsets segue o projeto tradicional, onde as funções são divididas em dois chips, chamados de porte norte (north bridge) e ponte sul (south bridge) (ilustrados na Figura 5.12 e na Figura 5.13):

Controlador de sistema (também chamada ponte norte) – é o chip mais complexo, que ca sicamente mais próximo do processador. Ele incorpora os barramentos “rápidos” e funções mais complexas, incluindo o controlador de memória, as linhas do barramento PCI Express, ou o barramento AGP, além do chipset de vídeo onboard, quando presente.

Controlador de periféricos (também chamada ponte sul) – é invariavelmente um chip menor e mais simples que o primeiro. Nas placas atuais ele incorpora os barramentos mais lentos, como o barramento PCI, portas USB, SATA e IDE, controladores de som e rede e também o controlador Super I/O, que agrupa portas “de legado”, como as portas seriais e paralelas, porta para o drive de disquete e portas do teclado e mouse (PS/2). É importante notar que o controlador de periféricos não irá controlar periféricos integrados on board (eles têm controladores próprios).

Figura 5.12 – Ponte norte de um chipset

Figura 5.13 – Ponte sul de um chipset

A conexão entre a ponte norte e a ponte sul é feita através de um barramento. No início, o barramento utilizado para conectar a ponte norte à ponte sul era o barramento PCI. Atualmente, o barramento PCI não é mais usado para esse tipo de conexão e foi substituído por um barramento dedicado.

48 Evolução e Arquitetura de Computadores

5.6 - Fonte de Alimentaç ão

Por se tratar de um dispositivo elétric o o computador precisa de eletricidade para que todos os seus componentes funcionem de forma adequada. O dispositivo responsável por prover eletricidade ao computador é a de fonte de alimentação. De forma bastante sucinta poderíamos dizer que a principal função da fonte de alimentação é converter a tensão alternada fornecida pela rede elétrica presente na tomada de sua casa ou escritório (também chamada CA ou AC) em tensão contínua (também chamada C ou

Page 53: Arquitetura de Computadores

DC). Em outras palavras, a fonte de alimentação converte os 110 V ou 220 V alternados da rede elétrica convencional para as tensões contínuas utilizadas pelos componentes eletrônicos do computador, que são: +3,3 V, +5 V, +12 V e -12 V (tensões alternadas variam pelo mundo e mesmo no Brasil variam de cidade a cidade.

A fonte de alimentação (Veja Figura 5.14) talvez seja o componente mais negligenciado do computador. Normalmente na hora de comprar um computador, só levamos em consideração o clock do processador, o modelo da placa-mãe, o modelo da placa de vídeo, a quantidade de memória instalada, a capacidade de armazenamento do disco rígido, e esquecemo-nos da fonte de alimentação, que na verdade é quem fornece o “combustível” para que as peças de um computador funcionem corretamente

A maioria das fontes de alimentação tem uma chave 110 V/220 V ou então pode ser do tipo “automática”, “bivolt” ou “auto range”, o que signi ca que a fonte pode funcionar em qualquer tensão CA (normalmente entre 100 V e 240 V; a faixa de operação suportada está impressa na etiqueta da fonte de alimentação em um campo chamado “AC Input” ou “Entrada CA”.

Uma fonte de alimentação de boa qualidade e com capacidade su ciente pode aumentar a vida útil do seu equipamento e reduzir sua conta de energia. Para se ter uma idéia, uma fonte de alimentação de qualidade custa menos de 5% do preço total de um micro. Já uma fonte de alimentação de baixa qualidade pode causar uma série de problemas intermitentes, que na maioria das vezes são de difícil resolução.

Uma fonte de alimentação defeituosa ou mal dimensionada pode fazer com que o computador trave, pode resultar no aparecimento de setores defeituosos (“bad blocks”) no disco rígido, pode resultar no aparecimento da famosa “tela azul” e resets aleatórios, além de vários outros problemas.

Existem vários diferentes padrões de fontes de alimentação para PCs. Esses padrões de nem não apenas o tamanho físico, mas também o tipo de conectores de uma fonte de alimentação. Os dois principais são:

AT: Este padrão foi introduzido pelo IBM PC AT em 1984 e foi usado até o padrão ATX ganhar popularidade em meados dos anos 90. Fontes de alimentação AT fornecem quatro tensões, +5 V, +12 V, -5 V e -12 V, e o cabo principal da placa-mãe usa um conector de 12 pinos.

ATX: em 1996 a Intel introduziu um novo formato de placa-mãe chamado ATX para substituir o antigo formato AT. Como a placa-mãe ATX tinha dimensões físicas completamente diferentes, novos gabinete foram necessários (“gabinetes ATX”, ao contrário dos “gabinetes AT” usados até então). Com este novo formato de placa-mãe a Intel também propôs um novo tipo de fonte de alimentação com novos recursos, tais como o uso de um conector da placa-mãe de 20 pinos e a introdução de novas tensões, +3,3 V e +5VSB, também conhecida como “tensão de standby”.

49 Evolução e Arquitetura de Computadores

Page 54: Arquitetura de Computadores

Figura 5.14 - Fonte Alimentação 450W

Um dos fatos que contribuíram para que o padrão AT deixasse de ser usado (e o ATX fosse criado), é o espaço interno reduzido, que com a instalação dos vários cabos do computador (cabo - at, alimentação), di cultavam a circulação de ar, acarretando, em alguns casos, danos permanentes à máquina, devido ao super aquecimento. Isso exigia grande habilidade do técnico montador para aproveitar o espaço disponível da melhor maneira. Além disso, o conector de alimentação da fonte AT, que é ligado à placa-mãe, é composto por dois plugs semelhantes (cada um com seis pinos), que devem ser encaixados lado a lado, sendo que os os de cor preta de cada um devem car localizados no meio. Caso esses conectores sejam invertidos e a fonte de alimentação seja ligada, a placa-mãe será fatalmente queimada.

Com o padrão AT, é necessário desligar o computador pelo sistema operacional, aguardar um aviso de que o computador já pode ser desligado e clicar no botão “Power” presente na parte frontal do gabinete. Somente assim o equipamento é desligado. Isso se deve a uma limitação das fontes AT, que não foram projetadas para fazer uso do recurso de desligamento automático.

Os conectores das fontes AT e ATX são mostrados na Figura 5.15. Repare que o único que muda entre um padrão e outro é o conector que alimenta a placa-mãe. No caso do padrão AT, esse conector possui 12 os. No padrão ATX, esse conector possui 20 vias (há modelos com 24 vias).

Além disso, o encaixe do conector ATX é diferente, pois seus orifícios possuem formatos distintos para impedir sua conexão de forma invertida. No padrão AT, é comum haver erros, pois o conector é dividido em duas partes e pode-se colocá-los em ordem errada. A seqüência correta é encaixar os conectores deixando os os pretos voltados ao centro.

Figura 5.15 - Conector da Fonte ATX e Conector da fonte AT, respectivamente

50 Evolução e Arquitetura de Computadores

Sistemas de numeração são formas de representação de valores. Existem os sistemas não-posicionais e os posicionais. Nos não-posicionais o símbolo não depende da posição. Por exemplo, os numerais romanos: o símbolo X vale 10 em qualquer posição que estiver no número, seja IX ou LXV. Já nos posicionais, o valor do símbolo muda com a posição. Por exemplo: o símbolo 6 dentro do número 625 signi ca o valor 600, mas no número 461 signi ca 60. Diariamente trabalhamos com o sistema posicional dec imal, assim chamado por ter dez símbolos: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9. Como tem dez símbolos, dizemos também que possui base 10.

O computador funciona em binário, ou seja, representa os números somente com os símbolos 0 e 1. Este é um sistema de numeração com base 2 ou binário.

Page 55: Arquitetura de Computadores

Na eletrônica ainda é comum trabalhar-se com o sistema octal, que possui base 8, cujos símbolos são: 0, 1, 2, 3, 4, 5, 6, 7.

Para o endereçamento da memória do computador é utilizado o sistema de numeração hexadecimal, de base 16, formado pelos símbolos: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F.

São estes quatro sistemas de numeração que serão o fundamento do estudo da computação, sendo necessários para compreensão da organização de sua arquitetura. Para compreendermos melhor a relação entre eles, devemos estudar a conversão de uma base para outra.

6.1 - Sistema numérico decimal

A designação de decimal para este sistema numérico advém do uso de dez algarismos 0, 1, 2, 3, 4, 5, 6, 7, 8, 9. A posição de cada um destes algarismos dentro do número está associada um determinado valor. Assim, caminhando da direita para a esquerda, o algarismo mais à direita, deve ser multiplicado por 1, o algarismo situado imediatamente à esquerda deste, é multiplicado por 10, o que vem a seguir por 100, etc. Exemplo mostrado na Expressão 6.1.

Expressão 6.1– Sistema numérico decimal 6.2 - Sistema num érico binário

O sistema numérico binário difere em vários aspectos do sistema decimal que é o que nós utilizamos na vida diária. Este sistema numérico é de base igual a 2 e só contém dois algarismos, que são ’1’ e ‘0’, que correspondem aos sinais elétricos ligado e desligado. O computador trabalha com essa base de numeração binária. Essa decisão de projeto deve-se à maior facilidade de representação interna no computador, que é obtida através de dois diferentes níveis de tensão.

No sistema binário os dados são representados por : – Bit (1 digito binário) ou Binary Digit: valor 0 ou 1

Computação da quinta geração Origem: Wikipédia, a enciclopédia livre.Ir para: navegação, pesquisa

Page 56: Arquitetura de Computadores

A computação da quinta geração ou computador da quinta geração, deve o seu nome a um projecto gigantesco de pesquisa governamental e industrial no Japão durante a década 80 do século XX.

O projecto tinha como principal objectivo a criação de um computador que “marcasse uma época” com performance semelhante a um supercomputador e capacidade prática de inteligência artificial. O termo “quinta geração” tencionava convencionar o novo sistema como sendo um salto para além das máquinas já existentes.

Índice

1 História 2 O início 3 A "ameaça" do Sol-nascente 4 A realidade 5 Ligações externas

História

Os computadores, a válvulas foram chamados de computadores da primeira geração. Depois, com o aparecimento dos díodos e transístores surge a segunda geração, com o circuito integrado nasce a terceira geração e com o surgimento do microprocessador, deu-se o nome de quarta geração. Visto que a anterior geração de computadores (quarta geração) se tinha focado no aumento do número de elementos lógicos num único CPU, acreditava-se plenamente na altura que a quinta geração iria virar-se completamente para a utilização de quantidades enormes de CPUs para um desempenho maior das máquinas. Criados em 2011

O início

Através destas várias gerações, e a partir dos anos 50, o Japão tinha sido apenas mais um país na retaguarda de outros, em termos de avanços na tecnologia da computação, construindo computadores seguindo os modelos americano e inglês.

O ministro da indústria e dos negócios estrangeiros japonês decidiu tentar quebrar esta corrente de “segue-o-líder”, e em meados dos anos 70 do século XX deu início a uma visão em pequena escala para o futuro da computação. Foi então pedido ao Centro Japonês para o Desenvolvimento do Processamento da Informação para indicar um conjunto de caminhos a seguir, e em 1979 ofereceu um contrato de 3 anos para conduzir mais estudos de pormenor conjuntamente com industriais e académicos. Foi durante este período que o termo "quinta geração" começou a ser utilizado.

A "ameaça" do Sol-nascente

A ideia de que a computação paralela seria o futuro dos ganhos de performance estava tão enraizada que o projecto da quinta geração gerou uma grande apreensão no campo da informática. Após o mundo ter visto o Japão tomar conta da indústria da electrónica

Page 57: Arquitetura de Computadores

de consumo nos anos 70 e aparentemente ter conseguido fazer o mesmo na indústria automóvel nos anos 80, os japoneses gozavam de uma reputação de invencibilidade. Não tardou para que projectos de computação paralela fossem implementados noutros países, nomeadamente nos Estados Unidos, através da empresa Microelectronics and Computer Technology Corporation (MCC), na Inglaterra através da Alvey ou através do Programa Estratégico Europeu de Pesquisa em Tecnologias da Informação (European Strategic Program of Research in Information Technology ou ESPRIT).

A realidade

Nos dez anos seguintes, o projeto da quinta-geração saltou de uma dificuldade para a outra. O primeiro problema assentava no fato da linguagem de programação escolhida, Prolog, não oferecer suporte para concorrências, logo, os investigadores tiveram que desenvolver uma linguagem própria para a possibilidade de atingir objectivos reais com multi-processadores. Este facto nunca aconteceu de forma clara. Foram desenvolvidas algumas linguagens, todas elas com as suas próprias limitações.

Outro grande problema foi o fato de que a performance das CPUs existentes na altura rapidamente levaram o projeto para junto das barreiras "óbvias" que todos acreditavam que existir nos anos 80, e o valor da computação paralela rapidamente caiu para o ponto onde ainda hoje é usada apenas em situações muito particulares e de certa forma restritas. Embora um número considerável de estações de trabalho com capacidades superiores tenham sido idealizadas e construídas ao longo da duração do projeto, rapidamente se davam conta de que estas ficavam obsoletas quando comparadas com equipamentos de menor gama entretanto colocados à disposição no mercado.

A quinta-geração acabaria por ficar também constantemente no lado errado da curva de tecnologia do software.

Foi também durante o período de desenvolvimento do projeto que a Apple Computer introduziu a GUI (Interface Gráfica do Utilizador) para as grandes massas através do seu sistema operativo "amigo" do utilizador. A Internet fez com que as bases de dados armazenadas localmente se tornassem uma coisa do passado e até mesmo projectos de pesquisa mais básicos produziram melhores resultados práticos através de buscas de dados, como prova o exemplo da Google.

Finalmente o projeto chegou à conclusão de que as promessas baseadas na programação lógica eram largamente uma ilusão e rapidamente chegaram ao mesmo tipo de limitações que os investigadores de inteligência artificial já antes haviam encontrado embora numa uma escala diferente. As repetidas tentativas para fazer o sistema funcionar após uma ou outra mudança na linguagem de programação apenas mudavam o ponto em que o computador repentinamente parecia estúpido.

De facto, pode-se dizer que o projeto perdia o norte como um todo. Foi durante esta época que a indústria informática moveu o seu foco principal do hardware para o software. A quinta-geração nunca chegou a fazer uma separação clara, ao acreditar que, tal como se idealizava nos anos 70, o software e o hardware estavam inevitavelmente misturados.

Page 58: Arquitetura de Computadores

Inevitavelmente, o projecto tornou-se formalmente num falhanço. No final do período de dez anos haviam sido gastos mais de 50 bilhões de ienes [carece de fontes] e o programa terminou sem ter atingido as suas metas. As estações de trabalho não tinham procura comercial num mercado onde os sistemas de um único CPU facilmente lhes ultrapassavam em performance, os sistemas de software nunca funcionaram e o conceito geral ficou completamente obsoleto com a explosão e amadurecimento da internet.

Introdução à Arquitetura de Computadores/Introdução< Introdução à Arquitetura de Computadores

Existe 1 alteração pendente a aguardar revisão. A versão publicada foi verificada a 11 de Janeiro de 2012.Ir para: navegação, pesquisa

O Que é Arquitetura de Computadores

A Arquitetura de Computadores é o projeto conceitual e fundamental da estrutura operacional de um sistema computacional. Ela é o estudo dos requisitos necessários para que um computador funcione e de como organizar os diversos componentes para obter melhores desempenhos.

Como computador entendemos qualquer tipo de dispositivo capaz de receber uma entrada e que retorna uma saída após realizar uma coisa muthu loka de operações com base nos valores recebidos e armazenados. Existem vários tipos de computadores. Uma das formas de classificá-los é por meio das seguintes categorias:

Desktop: Computadores de baixo-custo e com desempenho razoável para um usuário "comum".

Servidor: Máquinas projetadas para ter um desempenho considerado bom para uma aplicação muito grande e complexa ou então para um número muito grande de operações mais simples. Alguns servidores são simples computadores de Desktop melhorados. Entretanto, existem também aqueles que possuem arquiteturas muito mais sofisticadas que contam com dezenas ou até mesmo centenas de processadores.

Sistemas Embarcados: Possuem um uso dedicado à uma única tarefa e normalmente vem embutidos em outros aparelhos como celulares, microondas, elevadores ou veículos. Possuem uma Entrada/Saída muito simples.

Os princípios estudados em Arquitetura de Computadores são fundamentais para se projetar máquinas realmente eficientes.

Computadores e as Várias Camadas de Abstração

Computadores são aparelhos extremamente complexos. Para compreender o seu funcionamento, precisamos entender várias camadas de abstração diferente.

Page 59: Arquitetura de Computadores

A camada mais baixa de todas é aquela formada por transistores, tensão e corrente elétrica. Quem costuma lidar com esta camada são físicos e engenheiros elétricos. Nesta camada estuda-se o funcionamento de transistores e circuitos sempre levando em conta as propriedades físicas da corrente elétrica. Abaixo vemos um desenho representando um transistor.

Uma camada acima, estão as portas lógicas - todas elas compostas por transistores. Neste nível estuda-se como criar estruturas mais complexas combinando-se as diversas portas como AND, OR e NOT para criar estruturas como multiplexadores, flip-flops e somadores. Neste estágio poode-se usar lingüagens como o Verilog ou VHDL para programar circuitos. Abaixo vemos desenhos que representam várias portas lógicas:

Subindo mais um nível de abstração, começamos a lidar com estruturas mais complexas como registradores e unidades lógicas aritméticas - todas compostas por muitos flip-flops, somadores e multiplexadores. Vemos como todas essas estruturas realmente geram as instruções de cada máquina e como cada instrução funciona. É neste nível que costuma trabalhar um Arquiteto. Este será o nível que será abordado ao longo deste Wiki-livro. Abaixo mostramos a imagem de uma Unidade Lógica Aritmética - estrutura usada por computadores para realizar cálculos:

Page 60: Arquitetura de Computadores

Um nível além, estuda-se como combinar as instruções da camada anterior para realizar comandos mais sofisticados como as operações da lingüagem C e como coordenar o funcionamento de um sistema operacional por meio de interrupções e outros recursos. A imagem abaixo é um diagrama que representa o Kernel de um Sistema Operacional sendo usado como um meio de comunicação entre o Software e o Hardware:

A e AMD: Uma breve comparação de   arquiteturas

04/09/2010 por HIdagawa 2 Comentários

Com o início da popularização do OpenCL, que permite um mesmo programa utilizar o poder computacional de GPUs tanto da NVIDIA quanto da AMD ou de ambas ao mesmo tempo, é interessante conhecer a arquitetura das GPUs de ambos os fabricantes para melhor desenvolver um algoritmo ou escolher entre os hardwares. É comum os fabricantes de GPUs anunciarem os seus produtos destacando o número de “Cuda

Page 61: Arquitetura de Computadores

Cores” (ou “Stream Processors”, no caso da AMD) que cada um possui. Dessa forma é importante conhecer o que cada fabricante define como “core” da GPU e saber das capacidades de cada um.

Primeiramente iremos analisar a última arquitetura da NVIDIA, conhecida como Fermi (Fig. 1). Com relação à parte de cálculo, a Fermi é dividida em 16 multiprocessadores ou SMs (na Fig. 1, um multiprocessador está destacado em vermelho) e cada multiprocessador é formado por 32 Cuda Cores e outras unidades (Fig. 2). Cada Cuda Core é formado por uma unidade de processamento de ponto-flutuante de precisão simples e outra de processamento de inteiros (em destaque na Fig. 2) e é esse Cuda Core que será responsável por processar um thread do Kernel (quando for exigido apenas precisão simples ou inteiros; observe que o Cuda Core somente irá usar ou a unidade FP ou a INT por vez, de acordo com a instrução pedida, nunca as duas juntas). Com base nessas informações, é possível determinar o número total de “cores” da Fermi como sendo: 16 * 32 = 512 Cuda Cores. Observe que as novas placas baseadas na arquitetura Fermi que acabaram de ser lançadas (Geforce GTX 480) possui 15 multiprocessadores, o que resulta em: 15 * 32 = 480 Cuda Cores.

Fig. 1: Arquitetura Fermi. Visão dos 16 SMs (Streaming Multiprocessor). Fonte: NVIDIA.

Page 62: Arquitetura de Computadores

Além do número de “cores”, é interessante conhecer o poder computacional em GFlops da Fermi para termos uma boa base de comparação entre diferentes arquiteturas. Para isso, é necessário mais algumas informações: a velocidade que cada “core” está trabalhando, chamado de “Processor Clock” ou “Shader Clock” ou mesmo “Hot Clock”; e como cada “core” executa suas instruções para cada ciclo de clock. A primeira informação é facilmente obtida lendo as especificações de sua placa de video: para a Geforce GTX 480, o processor clock é igual a 1401 MHz (informação obitida pelo site da NVIDIA), já a segunda informação é específico de cada arquitetura, no caso da Fermi, cada núcleo é capaz de executar duas  operações de ponto-flutuante por ciclo de clock, isso equivale a 2 Flops por ciclo de clock. Essas duas operações por clock, na verdade, correspondem a um FMA (fused multiply-add), no qual a seguinte operação matemática é realizada: A = A+B*C (veja que isso representa uma soma e uma multiplicação -> 2 Flops). Com essas informações, já é possível calcular o desempenho máximo da Geforce GTX 480 como sendo: (número de Cuda Cores) * (processor clock, em GHz) * (operações por clock), que equivale a: 480 * 1,401 * 2 = 1345 GFlops (em precisão simples). Observe que se a Geforce GTX 480 tivesse todos os 16 SMs habilitados, ela teria um desempenho igual a: 512 * 1,401 * 2 = 1435 GFlops (em precisão simples).

Page 63: Arquitetura de Computadores

Fig. 2: Visão detalhada do SM e do CUDA Core. Fonte: NVIDIA.

Para calcularmos o poder computacional para precisão dupla, devemos conhecer como a Fermi lida com esse tipo de dado internamente. Na arquitetura Fermi, quando queremos realizar operações em precisão dupla, os Cuda Cores são utilizados aos pares para executar os cálculos (lembre-se que cada “core” possui uma unidade FP de precisão simples, assim quando dois “cores” são combinados teremos o equivalente a um “core” com uma unidade FP de precisão dupla), o que resulta na metade de “cores” disponíveis para os threads. Assim, o desempenho máximo em precisão dupla para a Geforce GTX 480 é dado por: 480/2 * 1,401 * 2 = 672 GFlops (em precisão dupla).

Com os dados acima, podemos partir para o estudo da arquitetura da AMD, conhecida como “Cypress (RV870)” que está dentro da Radeon HD5870. Na arquitetura AMD, as

Page 64: Arquitetura de Computadores

unidades de cálculo são conhecidas como “SIMD Engines” e a HD5870 possui 20 dessas unidades conforme ilustra a Fig. 3 (destacado em azul). Por sua vez, cada SIMD Engine é formado por 16 “Stream Cores” (destacado em verde na Fig. 3) e está detalhado pela Fig. 4. O “Stream Core” corresponde a unidade básica de cálculo para o RV870, porém o mesmo ainda é constituído por 5 ALUs (Arithmetic Logic Unit) que são responsáveis por realizar as operações númericas exigidas e são chamadas pela AMD de “Stream Processors”. Dentre as 5 ALUs do “Stream Core”, 4 são para uso geral (retângulos mais finos) e capazes de operar em ponto-flutuante ou inteiro. A outra ALU restante (retângulo maior) é reservada para funções especiais (seno, cosseno, log, etc) e também é capaz de operar em ponto-flutuante de precisão simples. Da mesma forma que a Fermi, as ALUs da RV870 são capazes de realizar duas operações de ponto-flutuante em precisão simples por ciclo de clock (instrução FMAD). Assim, o número total de “Stream Processors” presente na Radeon HD5870 é igual a: 20 * 16 * 5 = 1600 stream processors.

Page 65: Arquitetura de Computadores

Fig. 3: Arquitetura "Cypress" (RV870) da AMD. Visão dos 20 SIMD engines cada um composto por 16 SCs (Stream Cores). Fonte: AMD.

O desempenho da RV870 é dependente da velocidade de operação de suas ALUs da mesma forma que a Fermi: para a Radeon HD5870, essa velocidade é igual a 850 MHz. Assim, o poder computacional dessa placa pode ser calculado da mesma forma que para a Fermi: 1600 * 0,850 * 2 = 2720 GFlops. Para a precisão dupla, a RV870 funciona de maneira diferente da Fermi: a ALU reservada para as funções especiais (retângulo maior) não participa dos cálculos em precisão dupla e as 4 ALUs restantes combinadas são capazes de realizar apenas 2 operações de ponto-flutuante em precisão dupla (FMAD) por ciclo de clock. Isso equivale dizer que o número de unidades para processamento em precisão dupla é igual ao número de “Stream Cores”: 20 * 16 = 320 “cores”. Com essas informações, o desempenho da HD5870 em precisão dupla é igual a: 320 * 0.850 * 2 = 544 GFlops.

Fig. 4: Visão detalhada de um Stream Core. Composto por 5 PE (Processing Elements). Fonte: AMD.

É interessante observar que embora a HD5870 tenha mais unidades de cálculo que a GTX 480, elas funcionam a uma freqüência de clock menor, o que faz com que a diferença em desempenho não seja proporcional apenas ao número dessas ALUs, em precisão simples. Já em precisão dupla, essa diferença é ainda menor devido ao modo como essas unidades de cálculo operam com esses dados. Deve-se ter em mente que essa comparação serve apenas como uma primeira abordagem de avaliação de desempenho, pois ela não leva em conta, por exemplo, o desempenho das arquiteturas para o cálculo de funções transcedentais (seno, cosseno, etc) e nem a capacidade de

Page 66: Arquitetura de Computadores

cada uma em operar com texturas. Características que podem ser importantes para alguns tipos de programas.

Qualquer sugestão ou comentário será bem vindo.

Fontes:

[1] Fermi Compute Architecture White Paper.

[2] GPU Computing: Past, Present and Future with ATI Stream Technology.

[3] Heterogeneous Computing: OpenCL and the ATI Radeon HD5870 (“Evergreen”) Architecture.

Share this:

Twitter Facebook Email Print

Gostar disso:

Gosto

Seja o primeiro a gostar disso post.

Arquivado em Acadêmico, Arquitetura de Computadores

“Fermi”: nova GPU da NVIDIA trará benefícios ao   GPGPU

10/02/2009 por HIdagawa 1 Comentário

Aqui está uma boa notícia para o pessoal que está trabalhando com GPGPU: a nova geração de GPUs da NVIDIA, “Fermi”, possui uma arquitetura que beneficiará os programas de supercomputação. Uma característica é a presença da memória com ECC (“error correction code”), que será capaz de corrigir alguns erros de dados na memória, um problema já conhecido e discutido pela HPCwire.

Outra caracterísitca é a presença de um cache L1 e L2 na GPU, que beneficiará as transferâncias de memórias requisitadas pelos threads.

Page 67: Arquitetura de Computadores

Arquitetura Fermi. Fonte: Nvidia.

Como é de costume, essa nova arquitetura trará mais “CUDA cores” que a geração anterior, um melhor suporte às operações numéricas de precisão dupla e um maior poder computacional. Apenas como comparação, o Fermi terá 512 “CUDA cores” contra 240 de uma GeForce GTX 280. Sua capacidade computacional é estimada em 1500 GFlops para precisão simples e 750 GFlops para precisão dupla, contra 933 GFlops para precisão simples e 78 GFlops para precisão dupla da mesma GeForce GTX 280.

Vocês podem conferir essas informações no site da NVIDIA e também ler uma descrição mais detalhada da arquitetura Fermi no site TechReport.

No YouTube, já dá pra ver algumas palestras fantásticas sobre o Fermi:

Aguarde nossos vídeos legendados em breve!

.

Home Shopping

o Ofertas Especiais

Page 68: Arquitetura de Computadores

o Anúncios Pessoais o Blog do Shopping

FÓRUM Colunas Artigos NOTÍCIAS

Índice do fórum ‹ Computadores ‹ Processadores, Placas Mãe e Memórias - Intel ‹ Artigos e Tutoriais

Alterar o tamanho da fonte Exibir página para impressão

FAQ • Pesquisar • Registrar • Entrar

Introdução à Arquitetura (ORganização) de Computadores.

Moderador: Sub-Moderador

Tópico trancado

Primeira mensagem não lida • 3 mensagens • Página 1 de 1

Introdução à Arquitetura (ORganização) de Computadores.

por [Outlaws][ES] » Sáb Mai 20, 2006 12:40 pm

Olá à todos. Eu sou estudante de Ciência da Computação, e venho há alguns meses estudando sobre esse assunto que, sem dúvida eu aconselho para todos os amantes da informática. É uma das, senão a mais importante área na informática, é onde tudo se cria, tudo se modela, tudo se inicia.

Venho deixar bem claro que não sou nenhum profissional nessa área, estou estudando para ser um dia, espero que muitos ae também, logo, se alguém ler e ver algum erro, favor avisar, afinal estamos em um fórum livre.

Inicialmente vamos entender que, Arquitetura e Organização são palavras sinônimas, então quando verem Organização de Computadores, ou Arquitetura de Computadores, notem que é a mesma coisa.

1.0 - O Computador:

Pesquisar neste tópic

Page 69: Arquitetura de Computadores

O computador é uma máquina capaz de receber, armazenar, tratar e produzir informações de forma automática, com grande rapidez e precisão. A evolução dos sistemas de computação teve seu início no século XVI, mas estes somente mostraram-se úteis neste século, e sua vulgarização se deu graças à recente evolução na microeletrônica.

1.0.1 - Modalidades de Computadores:

Existem os computadores Analógicos e Digitais.

Os sistemas de medição ou aferição podem ser classificados em:

» Sistemas Analógicos:

O computador analógico representa variáveis por meio de analogias físicas. Trata-se de uma classe de computadores que resolve problemas referentes a condições físicas, por meio de quantidades mecânicas ou elétricas, utilizando circuitos equivalentes como analogia ao fenômeno físico que está sendo tratado. São aqueles que utilizam operações aritméticas por meio de analogia, ou seja, os computadores analógicos não trabalham com números, nem com símbolos que representam os números, eles procuram fazer analogia entre quantidades. Com essa analogia executam as operações, obtendo como resultado uma analogia do que seria o resultado geral, o qual transformam de modo a tornar reconhecível pelos seres humanos. Este tipo de computador tem emprego principalmente em laboratórios de pesquisa e para aplicações científicas e tecnológicas.

» Sistemas Digitais:

O computador digital processa informações representadas por combinações de dados discretos ou descontínuos. Mais especificamente, trata-se de um dispositivo projetado para executar seqüências de operações aritméticas e lógicas diretamente com números. Este tipo de computador tem emprego mais generalizado em bancos, comércio, indústria e empresas de modo geral.

1.0.2 - Modelo de Von Neumann :

A grande maioria dos computadores existentes atualmente segue um modelo proposto pelo matemático americano Von Neumann, por volta de 1940. Nesse modelo, um elemento processador segue as instruções armazenadas em uma memória de programas, para ler canais de entrada, enviar comandos sobre canais de saída e alterar as informações contidas em uma memória de dados. (fonte: google)

Page 70: Arquitetura de Computadores

Esse modelo inicial evoluiu para uma estrutura em barramento, que é a base dos computadores modernos. Nessa estrutura, as memórias de dados e de programa são fundidas em uma memória única, e as comunicações entre elementos são efetuadas através de uma via comum de alta velocidade.

1.1 - Evolução Histórica das Arquiteturas de Computadores:

A história dos computadores começou no momento em que o homem sentiu a necessidade de efetuar cálculos complexos de maneira automática.

1.1.1 - Precursores:

O primeiro elemento com que o homem contou para fazer seus cálculos foi o conjunto de dedos de suas mãos, daí veio a palavra digital, vindo de dígito, que significa dedo. Com a evolução da humanidade fez-se necessário novas invenções para auxiliar os cálculos:

Para não ficar um tópico extenso demais e cansativo para os que se interessarem e forem ler tudo, vou apenas citar os nomes e suas respectivas épocas. Será bom também que eu evito cometer erros, não sei muito dessa parte da história

» Ábaco (aproximadamente 3500 a.C.)» Bastões de Napier (1610 - 1614)» Réguas de Cálculo (1621)

1.1.2 - Geração Zero (século XVII):

Os primeiros computadores, ou de geração zero, apareceram no século XVII e eram compostos exclusivamente por elementos mecânicos. Além disso, caracterizavam-se por uma grande rigidez no que diz respeito aos programas a executar, a grande parte delas sendo o que se chama hoje de máquinas dedicadas.

Para não ficar um tópico extenso demais e cansativo para os que se interessarem e forem ler tudo, vou apenas citar os nomes e suas respectivas épocas, como fiz acima também, para

Page 71: Arquitetura de Computadores

evitar que eu cometa erros, essa parte não sou muito bom

» Calculadora de Pascal (1642)» Calculadora de Leibnitz (1671)» Placa Perfurada (1801)» Arithmometer (1820)» Máquina Diferencial de Babbage (1823)» Máquina Analítica» Máquina de Hollerith (1886)

1.1.3 - As Máquinas de Primeira Geração (1930 - 1958):

Já no século XX, um grande número de projetos foram implementados, baseados na utilização de relés e válvulas eletrônicas para a realização de cálculos automaticamente, eram os computadores de primeira geração. Relés são eletroímãs cuja função é abrir ou fechar contatos elétricos com o intuito de interromper ou estabelecer circuitos. Válvula é um dispositivo que conduz a corrente elétrica num só sentido.

Uma das grandes vantagens das máquinas a relé sobre as máquinas de calcular mecânicas era, sem dúvida, a maior velocidade de processamento. Ainda, um outro aspecto positivo era a possibilidade de funcionamento contínuo, apresentando poucos erros de cálculo e pequeno tempo de manutenção.

Os computadores da primeira geração são todos baseados em tecnologias de válvulas eletrônicas. Normalmente quebravam após não muitas horas de uso. Tinham dispositivos de entrada/saída primitivos e calculavam com uma velocidade de milissegundos (milésimos de segundo). Os cartões perfurados foram o principal meio usado para armazenar os arquivos de dados e para ingressá-los ao computador. A grande utilidade dessas máquinas era no processamento de dados. No entanto tinham uma série de desvantagens como: custo elevado, relativa lentidão, pouca confiabilidade, grande quantidade de energia consumida e necessitavam de grandes instalações de ar condicionado para dissipar o calor gerado por um grande número de válvulas (cerca de 20 mil).

Novamente vou apenas citar os nomes e suas respectivas épocas.

» Mark I» ABC (Atanasoff Berry Computer)» ENIAC (Eletronic Numeric Integrator and Calculator)

1.1.4 - Computadores de Segunda Geração (1955 - 1965):

Com a invenção do transistor em 1948, o mundo dos computadores é tomado de assalto por uma onda de novos projetos que dá origem, na década de 60 a empresas hoje mundialmente conhecidas no que diz respeito à fabricação destas máquinas — DEC e IBM.

Com a segunda geração apareceram as memórias com anéis ferromagnéticos. As fitas magnéticas foram a forma dominante de armazenamento secundário: permitiam capacidade muito maior de armazenamento e o ingresso mais rápido de dados que as fitas perfuradas. (fonte: google)

Também nesse período houve avanços no que se refere às unidades de memória principal,

Page 72: Arquitetura de Computadores

como por exemplo, a substituição do sistema de tubos de raios catódicos pelo de núcleos magnéticos, utilizado até hoje nos chips de memória RAM. Os dispositivos de memória auxiliar introduzidos na primeira geração continuam a ser utilizados. Esses computadores, além de menores, eram mais rápidos e eliminavam quase que por completo o problema do desprendimento de calor, característico da geração anterior.

Exemplos de computadores dessa geração são o IBM 1401 e o Honeywell 800. O IBM 1401 apareceu na década de 60 e com ele a IBM assumiu uma posição dominante na industria de computadores. A Digital Equipment Corporation tinha então uma posição proeminente no setor com sua linha PDP. O primeiro minicomputador foi o PDP-1, criado em 1959 e instalado em 1961. O primeiro produzido comercialmente foi o PDP-5. (fonte: google)

Um dos computadores mais comercializados nesta época foi o IBM 7090, que eram comercializados a um custo de três milhões de dólares. Já no início dos anos 60, a IBM passou a produzir os computadores da linha IBM 7040, que eram menos poderosos que seus predecessores, mas de custo bastante inferior.

1.1.5 - Computadores de Terceira Geração (1965 - 1980):

Essa geração é marcada pela substituição dos transistores pela tecnologia dos circuitos integrados (transistores e outros componentes eletrônicos miniaturizados e montados numa única pastilha de silício - o chip. Entrou no mercado em 1961 pela Fairchild Semiconductor e pela Texas Instruments, localizadas no Vale do Silício na região de Palo Alto e Stanford, na Califórnia (fonte: google). A tecnologia dos circuitos integrados, que permitiu a substituição de dezenas de transistores numa única peça de silício, permitiu o surgimento de computadores de menores dimensões, mais rápidos e menos caros. Com esses circuitos integrados o tempo passou a ser medido em nanossegundos (bilionésimos de segundos).

A tecnologia utilizada na época era a de pequena escala de integração (SSI –Small Scale of Integration) com a qual ao redor de mil transistores podiam-se integrar no circuito de uma pastilha. Com isso os computadores eram menores, mais confiáveis, com maior velocidade de operação e um custo bem mais baixo do que as máquinas das gerações anteriores. Também eram usados discos magnéticos para armazenamento, o que permitiu o acesso direto à arquivos muito grandes. O exemplo típico dessa geração foi o IBM 360, série que introduziu o conceito de família de computadores compatíveis, facilitando a migração dos sistemas quando é necessário mudar para um computador mais potente. Esta estratégia permitiu que a IBM se posicionasse, já neste período, como líder do mercado de computadores.

Essa família era composta por seis modelos básicos e várias opções de expansão que realizava mais de 2 milhões de adições por segundo e cerca de 500 mil multiplicações.

Outra novidade introduzida por esta classe de computadores foi o conceito de multiprogramação, na qual diversos programas poderiam estar residentes na memória da máquina. No caso em que um programa entrasse em espera para uma operação de entrada/saída de dados, a unidade central passava a executar a parte de um outro programa. Um outro computador desta geração que conheceu grande sucesso, particularmente nas universidades e centros de pesquisa foram os minicomputadores da série PDP-11.

1.1.6 - Computadores de Quarta Geração (1980 - até os dias atuais):

Durante a década de 70, com a tecnologia da alta escala de integração (LSI – Large Scale of

Page 73: Arquitetura de Computadores

Integration) pôde-se combinar até 65 mil componentes em uma só pastilha de silício (chip). Os anos 80, com o grande desenvolvimento da tecnologia de circuitos integrados, o número de transistores podendo ser integrados numa pastilha de silício atingiu a faixa dos milhares e, logo em seguida, dos milhões. Foi assim que surgiram os novos computadores, ainda menores, mais velozes e mais poderosos que aqueles da geração anterior. Na segunda metade da década de 90, houve a passagem da LSI para a VLSI (Very Large Scale of Integration). As máquinas de todas as gerações têm como característica comum a existência de uma única CPU para executar o processamento. Porém, mais recentemente, já existem computadores funcionando com mais de uma CPU.

Desde o início da década de 80 os preços haviam caído de tal maneira que já começava a ser possível a uma pessoa ter o seu próprio computador — começava então a era da informática pessoal. Os computadores pessoais passaram então a ser utilizados de uma maneira relativamente distinta dos grandes computadores de então. No início dessa geração nasceu a Intel, que começou a desenvolver o primeiro microprocessador, o Intel 4004 de 4 bits, um circuito integrado com 2250 transistores, equivalente ao ENIAC. Este foi seguido pelo Intel 8008 de 8 bits e, mais tarde, pelo Intel 8080. O primeiro microcomputador da história foi o Altair 8800, que usava o chip Intel 8088, tornou-se padrão mundial da época para os microcomputadores de uso pessoal, abrindo uma nova era na história da informática.

Sthephen Wozniak e Steve Jobs formaram em 1976 uma pequena empresa, a Apple, onde construíram, numa garagem de fundo de quintal, o Apple I. Um ano depois, com um novo e melhor projeto, surge o Apple II, primeiro microcomputador com grande sucesso comercial e, mais tarde, o Apple III. Em 1983 entra no mercado o Lisa e em 1984 o Macintosh, com tecnologia de 32 bits. (fonte: google)

Em 1981, a IBM entrou no mercado de micros, introduzindo o PC, um microcomputador com tecnologia de 16 bits (Intel 8088) que em pouco tempo se tornou um padrão. Os principais modelos de PC são:

» PC: possui cinco slots, dos quais dois são ocupados na configuração mínima – um para o controlador de disco flexível e o outro para a placa de vídeo e impressora, um PC tem a seguinte configuração típica - 256 a 640 K de memória RAM na placa principal, duas unidades de disco flexível de 360 K, controlador de vídeo gráfico, monitor monocromático e interface serial ou paralela para a impressora. Seu clock era de 4,77 MHz.

» PX-XT: possui oito slots, sendo dois ou três ocupados na configuração inicial - placa controladora de vídeo mais uma ou duas placas para controlar discos (flexível e winchester). A configuração típica de um XT é 512 a 768 K de memória RAM na placa principal, um drive de 360 K, um winchester de 10, 20 ou 30 Mb, placa controladora de vídeo gráfica, monitor monocromático e interface paralela ou serial. Seu clock era de 8,10 até 12 MHz.

» PC-XT 286: modelo intermediário entro o PC-XT e o PC-AT ou, como era chamado, um AT simplificado, uma vez que usa o microprocessador do AT o Intel 80286. Esse era três vezes mais rápido que o XT e podia executar várias tarefas ao mesmo tempo. É um PC-XT com o 80286.

» PC-AT: usa o microprocessador da Intel 80286 de 32 bits e possui maior capacidade de processamento, com memória principal de até 4 Mbytes. Sua configuração inicial típica é: 1 Mbyte de RAM, um drive de 5,25 polegadas de alta capacidade, winchester de 20 ou 30 Mbytes com alta velocidade de acesso, interface paralela e serial RS-232, controlador de vídeo

Page 74: Arquitetura de Computadores

e monitor monocromático. Sua velocidade de processamento alcançava entre 16 e 20 Mhz. A grande importância do AT está na maior capacidade do 80286, que resulta em um desempenho duas a três vezes maior que os XT.

» PC-386: É um PC-AT com o microprocessador da Intel, o 80386. Com isso adquiriram grande velocidade de processamento e era capaz da multitarefa em 32 bits. O 80386 foi o grande marco da popularização da computação pessoal.

» PC 486: utiliza o microprocessador Intel 80486, com um co-processador aritmético embutido e mais de 1,2 milhão de transistores encolhidos em um chip. Em 1993 chegou ao mercado o Pentium, cuja versão Pentium III possui cerca de nove milhões de transistores, possibilitando. O Pentium trouxe um novo fôlego às chamadas estações de trabalho (microcomputadores poderosos usados em tarefas pesadas, como computação gráfica e aplicações científicas). Uma das novidades dele é que possibilita a simulação de dois processadores, ou seja, um princípio de paralelização antes possível apenas em supercomputadores e que agora está ao alcance dos usuários de microcomputadores.

» Arithmometer (1820)» Máquina Diferencial de Babbage (1823)» Máquina Analítica» Máquina de Hollerith (1886) (fonte: google)

2.0 - Sistema de Numeração:

Basicamente, uma explicação bem relevante do que ser um sistema de numeração, seria dizer que são sistemas de notação usados para representar quantidades abstratas denominadas números. Um sistema numérico é definido pela base que utiliza.

2.1 - Base de um Sistema de Numeração:

A base de um sistema é a quantidade de algarismos disponível na representação. A base 10 (decimal) é hoje a mais usualmente empregada, embora não seja a única utilizada. No comércio pedimos uma dúzia de rosas ou uma grosa de parafusos (base 12) e também marcamos o tempo em minutos e segundos (base 60).

Os computadores utilizam a base 2 (sistema binário) e os programadores, por facilidade, usam em geral uma base que seja uma potência de 2, tal como 24 (base 16 ou sistema hexadecimal) ou eventualmente ainda 23 (base 8 ou sistema octal).

Na base 10, dispomos de 10 algarismos para a representação do número: 0, 1, 2, 3, 4, 5, 6, 7, 8 e 9. Na base 2, seriam apenas 2 algarismos: 0 e 1. Na base 16, seriam 16: os 10 algarismos aos quais estamos acostumados, mais os símbolos A, B, C, D, E e F, representando respectivamente 10, 11, 12, 13, 14 e 15 unidades. Generalizando, temos que uma base b qualquer disporá de b algarismos, variando entre 0 e (b-1).

2.1.1 - Sistema Binário:

Os computadores modernos utilizam apenas o sistema binário, isto é, todas as informações armazenadas ou processadas no computador usam apenas DUAS grandezas, representadas

Page 75: Arquitetura de Computadores

pelos algarismos 0 e 1.

Essa decisão de projeto deve-se à maior facilidade de representação interna no computador, que é obtida através de dois diferentes níveis de tensão. Havendo apenas dois algarismos, portanto dígitos binários, o elemento mínimo de informação nos computadores foi apelidado de bit (binary digit).

Abaixo segue a tabela dos valores numéricos no qual são mais utulizados:

2.1.2 - Conversões de Bases e Aritmética Binária, Hexal e Octal:

Eu não vou frizar muito essa parte do tópico, apesar de ser o mais importante se tratando do sistema de numeração pelo motivo de ser muito complicado de explicar apenas escreveram.

2.2 - Operações Lógicas:

Todos as complexas operações de um computador digital acabam sendo combinações de simples operações aritméticas e lógicas básicas: somar bits, complementar bits (para fazer subtrações), comparar bits, mover bits. Estas operações são fisicamente realizadas por circuitos eletrônicos, chamados circuitos lógicos (ou gates - "portas" lógicas).

Computadores digitais (binários) são construidos com circuitos eletrônicos digitais - as portas lógicas (circuitos lógicos). Os sistemas lógicos são estudados pela álgebra de chaveamentos, um ramo da álgebra moderna ou álgebra de Boole, conceituada pelo matemático inglês George Boole (1815 - 1864). Boole construiu sua lógica a partir de símbolos, representando as expressões por letras e ligando-as através de conectivos - símbolos algébricos.

A álgebra de Boole trabalha com apenas duas grandezas: falso ou verdadeiro. As duas grandezas são representadas por 0 (falso) e 1 (verdadeiro). Nos circuitos lógicos do computador, os sinais binários são representados por níveis de tensão. A grandeza 0 (falso) é representada por tensão próximo ao valor 0 (Zero), e a grandeza 1 (verdadeiro) pela tensão próxima a 5 (Cinco).

Existem quatro tipos de operações lógicas que se podem operar sobre números binários: AND, OR, XOR (ou exclusivo), e NOT.

Para explicar melhor o que ser esse AND, OR, XOR, e NOT também será complicado, porque isso se aprende em Lógica para Computação, e será ruim "sairmos" do assunto principal do tópico.

Page 76: Arquitetura de Computadores

2.2.1 - Operações Lógicas com bits :

» AND (E):

A operação lógica AND é uma operação que aceita dois operandos. Estes operando são binários simples (base 2).

Uma maneira compacta de representar a operação lógica AND é com a tabela verdade (foto que coloquei abaixo). As duas colunas a esquerda representam os dois operandos da operação e a terceira coluna representa o resultado.

Em português, a operação lógica AND é: "se o primeiro operando é 1 e o segundo operando é 1, o resultado é 1, senão o resultado é 0". Na Lógica para Computação seria "quando o 1º é verdadeiro e o 2º é verdadeiro, o resultado é verdadeiro".

» OR (OU):

A operação lógica OR também é uma operação com dois operandos.

A operação lógica OR significaria: "Se o primeiro operando ou o segundo operando (ou os dois) forem 1, o resultado é 1, senão o resultado é 0". Esta operação também é conhecida como ou inclusivo (inclusive-OR).

» XOR (OU Exclusivo):

Page 77: Arquitetura de Computadores

A operação lógica XOR (ou exclusivo) também é uma operação com dois operandos.

Em português a operação lógica XOR significaria: "Se o primeiro operando ou o segundo operando, mas não os dois, for 1, o resultado é 1, senão o resultado é 1".

» NOT (NÃO):

Em português a operação lógica NOT significaria: "Se o operando for 1, o resultado é 0, senão o resultado é 1".

[continua....]

Editado pela última vez por [Outlaws][ES] em Sáb Mai 20, 2006 12:42 pm, em um total de 1 vez.

[Outlaws][ES]

Mensagens: 2

Registrado em: Sex Mai 19, 2006 9:54 pm

Localização: Guarapari - ES

Voltar ao topo

por [Outlaws][ES] » Sáb Mai 20, 2006 12:41 pm

[continuando...]

3.0 - Dados Tratados Pelo Computador:

Todos os dados e as instruções armazenados em memória são codificados sob a forma de sinais elétricos do tipo ligado e desligado, representado pelos números 1 e 0. Cada unidade de informação deste tipo é chamada de bit. Assim o sistema numérico adotado em sistemas computacionais é o binário, ou de base 2.

Os computadores podem receber valores decimais, através do teclado, e escrever valores decimais, através do vídeo, por exemplo. Mas internamente os valores são armazenados e processados no sistema binário.

Page 78: Arquitetura de Computadores

Um bit pode representar dois valores: 1 ou 0, ou então verdadeiro ou falso. Como isto é muito pouco, nós podemos unir dois ou mais bits para representar mais de dois valores.

Neste caso, a quantidade de valores representáveis por uma seqüência de n bits é de 2n.

Algumas strings de bits têm nomes próprio, como eu citei0os abaixo:

» Uma seqüência de 8 bits são chamados de byte. » Uma seqüência de 4 bits é chamada de nibble. » Um grupo de 16 bits é chamado de word. » Um grupo de 32 bits é chamado de double word. » Um grupo de 64 bits é chamado de quad word.

Por razões de simplificação de hardware, o número 1024 foi o escolhido para representar o "K" da computação. Na vida cotidiana e na física, o "K" vale 1000.

3.1 - Representação Interna de Caracteres:

A representação de caracteres e símbolos em computador é feita atribuindo-se a cada caractere ou símbolo um código binário. Desta forma são construídas tabelas (padrões) em que cada código binário representa para o computador um determinado caractere ou símbolo.

Os bytes são usados para representar caracteres, números, figuras, ou qualquer outro tipo de dado armazenado ou processado em um computador. Esta seção apresenta estas diversas formas de representação interna de caracteres.

Na maioria dos códigos alfanuméricos cada caractere é representado através de um byte. Por exemplo, no código ASCII a letra 'A' é representada pelo byte "0100 0001" (fonte: google). Uma seqüência de caracteres é expressa por uma cadeia de bytes sucessivos. Nem todos os tipos de códigos utilizam os 8 bits de um byte para a representação de caracteres.

Para o tópico não ficar extenso demais, vou apenas citar os tipos de Tabelas de Caracteres existentes.

» Código de 6 bits.» Código de 7 bits (ASCII).» EBCDIC (Extended Binary Coded Decimal Interchange Code).» ASCII Estendido.» ISO Latin-1.» Caracteres ANSI.» Caracteres UNICODE.

3.2 - Representação Interna de Números:

Esta seção do tópico apresenta diversas formas de representação interna de números. É uma parte muito simples de entendermos, porém complicada de ser explicada dessa forma. Por isso eu não vou explicar passo-a-passo todos os modo, e sim, citá-los apenas.

Page 79: Arquitetura de Computadores

» Módulo e Sinal (MS).» Complemento de 1 (C - 1).» Complemento de 2 (C - 2).» Excesso de 2 (elevado a (N - 1)).

Existem outro modelos de Representação Interna de Números, porém não vem ao caso agora. (já estou me cansando de escrever)

4.0 - Componentes Básicos de um Computador:

Apesar da existência de uma grande diversidade em termos de arquiteturas de computador, pode-se enumerar, num ponto de vista mais genérico os componentes básicos desta classe de equipamentos.

A 2ª figura deste tópico apresenta um esquema de um computador, destacando os elementos que o compõem. Apesar da grande evolução ocorrida na área de informática desde o aparecimento dos primeiros computador, o esquema apresentado na figura pode ser utilizado tanto para descrever um sistema computacional atual como os computadores da década de 40, projetados por engenheiros.

Os principais elementos do computador são:

» O processador (ou microprocessador) é responsável pelo tratamento de informações armazenadas em memória (programas em código de máquina e dos dados).

» A memória é responsável pela armazenagem dos programas e dos dados.

» Os periféricos, que são os dispositivos responsáveis pelas entradas e saídas de dados do computador, ou seja, pelas interações entre o computador e o mundo externo. Exemplos de periféricos são o monitor, teclados, mouses, impressoras, etc.

» O barramento, que liga todos estes componentes e é uma via de comunicação de alto desempenho por onde circulam os dados tratados pelo computador.

4.1 - O Processador:

Um microprocessador, ou simplesmente processador, é um circuito integrado (ou chip), que é considerado o "cérebro" do computador. É ele que executa os programas, faz os cálculos e toma as decisões, de acordo com as instruções armazenadas na memória.

Os microprocessadores formam uma parte importantíssima do computador, chamada de UCP (Unidade Central de Processamento), ou em inglês, CPU (Central Processing Unit). (fonte: google)

Antes da existência dos microprocessadores, as CPUs dos computadores eram formadas por um grande número de chips, distribuídos ao longo de uma ou diversas placas. Um microprocessador nada mais é que uma CPU inteira, dentro de um único CHIP. Um microprocessador contém todos os circuitos que antigamente eram formados por diversas placas.

Page 80: Arquitetura de Computadores

Ligando-se um microprocessador a alguns chips de memória e alguns outros chips auxiliares, tornou-se possível construir um computador inteiro em uma única placa de circuito. Esta placa é comumente chamada de placa mãe dos microcomputador.

Não importa de que tipo de CPU estamos falando, seja um microprocessador, ou uma das várias placas que formam a CPU de um computador de grande porte, podemos dizer que a CPU realiza as mesmas tarefas, que, entre elas eu citei:

» Busca e executa as instruções existentes na memória. Os programas e os dados que ficam gravados no disco (disco rígido ou disquetes), são transferidos para a memória. Uma vez estando na memória, a CPU pode executar os programas e processar os dados.

» Comanda todos os outros chips do computador. A CPU é composta basicamente de três elementos: Unidade de Controle, Unidade Lógica e Aritmética e Registradores. Eu citei essa parte, parte-a-parte abaixo, por ser bem importante e por está totalmente influênte no assunto desse tópico.

4.1.1 - Unidade Lógica e Aritmética:

O primeiro componente essencial em um computador é a Unidade Lógica e Aritmética (ALU), a qual, como o próprio nome já diz, assume todas as tarefas relacionadas às operações lógicas (ou, e, negação, etc. que já expliquei acima) e aritméticas (adições, subtrações, etc...) a serem realizadas no contexto de uma tarefa.

Neste contexto, é importante observar a evolução que a ALU sofreu ao longo dos anos e quais são os parâmetros que influenciam no desempenho global de um sistema computacional. Porém, por ser algo mais relevante, nem vou citar muito sobre isto.

4.1.2 - Unidade de Controle (UC):

A Unidade de Controle tem a maior importância na operação de um computador, uma vez que é esta unidade que assume toda a tarefa de controle das ações a serem realizadas pelo computador, comandando todos os demais componentes de sua arquitetura. É este elemento quem deve garantir a correta execução dos programas e a utilização dos dados corretos nas operações que as manipulam. É a unidade de controle que gerencia todos os eventos associados à operação do computador, particularmente as chamadas interrupções, tão utilizadas nos sistemas há muito tempo.

4.1.3 - Registradores:

A CPU contém internamente uma memória de alta velocidade que permite o armazenamento de valores intermediários ou informações de comando. Esta memória é composta de registradores (ou registros, são sinônimos), na qual cada registro tem uma função própria. Os registros, geralmente numerosos, são utilizados para assegurar o armazenamento temporário de informações importantes para o processamento de uma dada instrução.

Conceitualmente, registro e memória são semelhantes: a localização, a capacidade de armazenamento e os tempos de acesso às informações que os diferenciam. Os registros se localizam no interior de um microprocessador, enquanto a memória é externa. Um registro memoriza um número limitado de bits, geralmente uma palavra de memória.

Existem alguns registros, mas eu só vou citar os que para mim são os mais importantes:

Page 81: Arquitetura de Computadores

» Program Counter - PC (Contador de Programas).» Instruction Register - IR (Registro de Instrução).

4.1.4 - Clock:

O clock nada mais é do que um circuito oscilador que tem a função de sincronizar e ditar a medida de velocidade de transferência de dados no computador, por exemplo, entre o processador e a memória principal.

Esta freqüência é medida em ciclos por segundo, ou Hertz. Existe a freqüência própria do processador, comandando operações internas a ele, e a freqüência do computador a ele associado, basicamente ciclos CPU-Memória principal.

Os processadores Pentium-100, Pentium MMX-233, Pentium II-300, acessam a memória principal a 66 MHz. Suas freqüências respectivas de 100, 233 e 300 MHz são atingidas, tão somente, no interior do chip. Dizem, portanto, respeito ao processamento interno do processador e não à freqüência na relação CPU-Memória do computador. Já os processadores Pentium II-350 e superiores tem uma freqüência externa de 100 MHz, acaretando um desempenho melhor do microcomputador, tanto no processamento propriamente dito quanto nas operações de disco e vídeo. (fonte: google)

OBS: Existem também os processadores CISC (Complex Instruction Set Computing) e os RISC (Reduced Instruction Set Computing) também, porém, eu não vou citar muito sobre eles, é bom para os que não sabem, saber que existem, mas não vou citar muito sobre eles não.

4.2 - Memória:

Todo computador é dotado de uma quantidade de memória na qual se constitui de um conjunto de circuitos capazes de armazenar os dados e os programas a serem executados pela máquina. Nós podemos identificar diferentes categorias de memória, nas quais eu citei-as abaixo:

» Memória Principal (Memória de Trabalho): É onde normalmente devem estar armazenados os programas e dados a serem manipulados pelo processador;

» Memória Secundária: É a que permitem armazenar uma maior quantidade de dados e instruções por um período de tempo mais longo; o disco rígido é o exemplo mais evidente de memória secundária de um computador, mas podem ser citados outros dispositivos menos recentes como as unidades de fita magnética e os cartões perfurados, como já expliquei bem acima, no começo do tópico;

» Memória Cache: É a que se constitui de uma pequena porção de memória com curto tempo de resposta, normalmente integrada aos processadores e que permite incrementar o desempenho durante a execução de um programa.

Os circuitos de memória são normalmente subdivididos em pequenas unidades de armazenamento, geralmente um byte. Cada uma desta unidade é identificada no circuito por um endereço único, o qual vai ser referenciado pelo processador no momento de consultar ou alterar o seu conteúdo. (fonte: google)

Page 82: Arquitetura de Computadores

4.2.1 - Tipo de Memórias:

Existem vários tipos de memórias voláteis e não-voláteis, porém, não vou falar muito delas, apenas citar os nomes. Sim, já estou exausto de escrever.

» RAM (volátio): Sim, por ela ser volátio que quando acaba a luz na sua casa e o seu computador desliga, sendo que você não salvou o seu trabalho de escola, você o perde e fica com muita raiva. » ROM (não-volátio).» PROM (não-volátio).» EPROM (não-volátio).» EEPROM (não-volátio).

Bem, eu poderia falar mais e mais coisas sobre o assunto, falar de vários outros tipos de memórias, cada coisa sobre elas, só que cansei de escrever e corrigir erros de digitação, coisa e tals hehehe. Enfim, espero que tenham gostado, e vamos ver se o moderador também vai gostar

Bem, trabalho realmente deu sim, foram dois dias digitando e salvando parte por parte do tópico para não ter erro na hora de postá-lo, eu mesmo fiz as imagens também para que ficasse algo simples de vocês entenderem. E, como eu disse no início do tópico, se tiver algum erro, essas coisas, me avisem, porque não sou profissional nessa área, apenas estudo ela e sem dúvida não sou perfeito de não ter erros

sábado, 26 de março de 2011

Introdução à Arquitetura de Computadores - Memória

Dando prosseguimento, irei comentar das memórias. Item bastante importante é nela onde armazena os dados e programas a serem executados pelo computador.A seguir veja o que é e como se divide a memória.

MEMÓRIA

Se constitui de um conjunto de circuitos capazes de armazenar os dados e os programas a serem executados pela máquina. Categorias que podemos identificar:- Memória Principal: ou memória de trabalho, onde normalmente devem estar armazenados os programas e dados a serem manipulados pelo processador.

Page 83: Arquitetura de Computadores

- Memória Secundária: permitem armazenar uma maior quantidade de dados e instruções por um período de tempo mais longo.- Memória Cache: se constitui de uma pequena porção de memória com curto tempo de resposta, normalmente integrada aos processadores e que permite incrementar o desempenho durante a execução de um programa.

TIPOS DE MEMÓRIA- RAM: memória de leitura e escrita. A CPU usa a RAM para armazenar e executar programas vindos do disco, para ler e gravar dados que estão sendo processados. Outra característica é que se trata de uma memória VOLÁTIL, ou seja, quando o computador é desligado, todos os seus dados são apagados. Existem vários tipos de RAM com diversas características e para diversas aplicações. A mais conhecida é a DRAM (dinâmica) e a SRAM (estática).- Memórias não-voláteis: são memória cujas as informações não são apagadas quando o computador é desligado. Dentre essas memórias existem: ROM: trata-se de uma memória PERMANENTE. Seu conteúdo nunca é perdido, mesmo com o computador desligado; PROM: trata-se de uma espécie de ROM que é produzida apagada. O fabricante pode programa-las, ou seja, gravar o seu programa. Essa gravação pode ser feitas apenas uma vez, pois utiliza um processo irreversível; EPROM: assim como ocorre na PROM, A EPROM pode ser programada e a partir daí, comporta-se como uma ROM comum, mantendo os dados armazenados mesmo sem corrente elétrica, e permitindo apenas operações de leitura. A grande diferença é que a EPROM pode ser apagada com raios ultravioleta de alta potência; EEPROM: tipo de memória ROM mais flexível, que pode ser apagada sob o controle de software. Esse é o tipo que se usa para armazenar as BIOS atuais. Desta forma o usuário pode efetuar a atualização da BIOS.

sábado, 26 de março de 2011

Introdução à Arquitetura de Computadores - Processador

A partir de hoje postarei informações do tema arquitetura de computadores, tema bastante cobrado em concursos e é uma das disciplinas do curso Sistemas de Informação, o qual sou formado.Bem, tendo como referência livros e pesquisas pela internet colocarei aqui o primeiro dispositivo - Processador.A seguir veja o que é, para que serve e como se divide o processador.

PROCESSADOR

Page 84: Arquitetura de Computadores

É um circuito integrado que é considerado o “cérebro” do computador. É ele que executa os programas, faz os cálculos e tomas decisões, de acordo com as instruções armazenadas na memória.Os microprocessadores são chamados de CPU (Central Processing Unit). Antigamente eram formados por um grande número de chips, distribuídos ao longo de uma ou diversas placas.Ligando-se um microprocessador a alguns chips de memória e alguns outros chips auxiliares, tornou-se possível construir um computador inteiro em uma única placa de circuito, essa placa é comumente chamada de placa mãe dos microcomputadores.Essa dispositivo possui algumas tarefas, são elas: Busca e executa as instruções existentes na memória e comanda todos os outros chips do computador.Os processadores são formados por 3 partes: Unidade de Controle, Unidade Lógica e Aritmética e Registradores.

UNIDADE LÓGICA E ARITMÉTICA (ULA)

Assume todas as tarefas relacionadas às operações lógicas e aritméticas a serem realizadas no contexto de uma tarefa. Quais são os parâmetros que influenciam no desempenho global de um sistema computacional? São eles:- Como o sistema de numeração adotado nas arquiteturas de computadores é o binário, o tamanho da palavra é dado em números de bits. Quanto maior o tamanho da palavra manipulada pelo microprocessador, maior é o seu potencial de cálculo e maior a precisão das operações realizadas.- A velocidade de cálculo obviamente é outro fator de peso para o desempenho do computador, uma vez que ela será determinante para o tempo de resposta de um sistema operacional.- Outro parâmetro importante associado ao desempenho do computador é a quantidade de operações que ela suporta.

UNIDADE DE CONTROLE (UC)

A unidade de controle tem a maior importância na operação de um computador, uma vez que é esta unidade que toda a tarefa de controle das ações a serem realizadas pelo computador, comandando todos os demais componentes de sua arquitetura.

REGISTRADORES

Internamente a CPU contém memória de alta velocidade que permite o armazenamento de valores intermediários ou informações de comando. Esta memória é composta por registradores, na qual cada registro possui uma função própria. Geralmente numerosos, os registros são utilizados para assegurar o armazenamento temporário de informações importantes para o processamento de uma dada instrução. Um registro memoriza um numero limitado de bits, geralmente uma palavra de memória. Os registros mais importantes são:- Contador de Programa (Program Counter): que aponta para a próxima instrução a executar.

Page 85: Arquitetura de Computadores

- Registro de Instrução (Instruction Register): que armazena a instrução em execução.- Outros registros que permitem o armazenamento de resultados intermediários.

CLOCK

Clock é um circuito oscilador que tem a função de sincronizar e ditar a medida de velocidade de transferência de dados do computador, por exemplo, entre o processador e a memoria principal. Esta frequência é medida em ciclos por segundo, ou Hertz.

PROCESSADORES CISC E RISC

Uma instrução em um programa de alto nível é implementado por diversas instrução de processador a mais baixo nível. Por exemplo, uma instrução de um programa que imprime um conjunto de caracteres na tela é realizado a nível de processador por um conjunto de instruções.De acordo com o número de instruções suportadas, pode-se classificar um processador como RISC (Reduced Instruction Set Computing) ou CISC (Complex Instruction Set Computing).Na maioria são CISC pois suporta um conjunto maior de instruções, sendo cada instrução mais especializada, podendo executar a maioria das operações programadas pelos programas de ato nível. Mas quanto maior a quantidade de instruções que um processador suporta, mais lenta é a execução de cada uma delas.Um processador RISC reconhece um número limitado de instruções, que em contrapartida, são otimizadas para que sejam executadas com mais rapidez.

sábado, 26 de março de 2011

Introdução à Arquitetura de Computadores - Dispositivos de Entrada/Saida

São responsáveis pelo feedback com o usuário. Seria mais ou menos você e o computador se "comunicando".

A seguir o último assunto relacionado a Introdução à Arquitetura de Computadores que são os Dispositivos de Entrada/Saída.

DISPOSITIVO DE ENTRADA/SAIDA

Page 86: Arquitetura de Computadores

São equipamentos utilizados como portadores das informações que o computador irá processar. Por exemplo, quando se pressiona uma tecla, faz com que o teclado transmita o código da tecla pressionada. Este código é recebido por um circuito chamado de INTERFACE DE TECLADO. Ao receber o código de uma tecla, a interface de teclado avisa a CPU que existe um caractere recebido. Por outro lado, quando a CPU precisa enviar uma mensagem para o usuário, precisa que a mensagem seja colocada na tela. Isso é feito com o auxilio de um circuito chamado de INTERFACE DE VIDEO. A CPU envia para a interface de vídeo, a mensagem, seja ela em forma de texto ou figura. A interface de vídeo coloca então a mensagem na tela.Também podem ser chamados de PERIFERICOS. E através deles o computador pode armazenar, ler, transferir e receber dados.

ENTRADA: - Teclado - Lê os caracteres digitados pelo usuário- MOUSE - Lê os movimentos e toque de botões- Drive de CD-ROM - Lê dados de discos CD-ROM- Microfone - Transmite sons para o computador- SCANNER - Usado para o computador "ler" figuras ou fotos

SAÍDA:- Vídeo - Mostra ao usuário, na tela caracteres e gráficos- Impressora - Imprime caracteres e gráficos- Alto-falante - Realiza comunicação com o usuário através de som

ENTRADA E SAIDA:- Disco rígido - Grava e lê dados- Drive de disquete - Grava e lê dados em disquetes- Unidade de fita magnética - Grava e lê dados em fitas magnéticas- MODEM - Transmite e recebe dados pela linha telefônica

sábado, 26 de março de 2011

Introdução à Arquitetura de Computadores - Barramento

Em mais um capitulo, iremos ver o barramento que é responsável pela comunicação dos dados.

A seguir veremos o que é e quais os tipos de barramentos existentes.

BARRAMENTO

Page 87: Arquitetura de Computadores

Um barramento, ou bus, nada mais é do que um caminho comum pelo qual os dados trafegam dentro do computador. Este caminho é usado para comunicações e pode ser estabelecido entre dois ou mais elementos do computador.O tamanho do barramento é muito importante pois ele determina a quantidade de dados que podem ser transmitidos em uma única vez. Por exemplo, um barramento de 16 bits pode transmitir 16 bits de dado, e um barramento de 32 bits pode transmitir 32 bits de dados a cada vez.Um computador tem diversos tipos de barramentos:- Barramento do Processador: é o barramento que o chipset usa para enviar/receber informações do processador. O chipset são os chips de suporte adjacentes contidos na placa mãe.- Barramento de Cache: é um barramento dedicado para acessar o sistema cache. Ele é algumas vezes chamado de barramento backside. Processadores convencionais que usam placas mãe de quinta geração tem uma cache conectada ao barramento de memória padrão.- Barramento de memória: é um barramento que conecta o sub-sistema de memória ao chipset e ao processador. Em alguns sistemas o barramento do processador e o barramento de memória são basicamente a mesma coisa.- Barramento local de E/S: é usado para conectar periféricos de alto desempenho à memória, chipset e processador. Por exemplo, placas de vídeo, interface de redes de alta velocidade geralmente usam um barramento deste tipo.- Barramento padrão de E/S: conecta os três barramentos acima ao antigo barramento padrão de E/S, usado para periféricos lentos (modems, placas de som regulares, interface de redes de baixa velocidade) e também para compatibilidade com dispositivos antigos.Todos os barramentos tem duas partes: um barramento de endereçamento e um barramento de dados. O barramento de dados transfere o dado em si (por exemplo, o valor da memória) e o barramento de endereçamento transfere a informação de onde o dado se encontra.