Organização de Computadores Unidade II

Embed Size (px)

Citation preview

  • 23

    ORGANIZAO DE COMPUTADORES

    Revi

    so:

    Edu

    ardo

    - D

    iagr

    ama

    o: L

    o 3

    0/03

    /09

    Unidade II

    5

    10

    15

    20

    3 AFINAL DE CONTAS, QUEM INVENTOU O COMPUTADOR?

    Conforme vimos no histrico, a inveno do computador no se deu em apenas um passo.

    No caso de algumas tecnologias, como o avio, somos tentados a eleger o pai desse invento, mas no caso do computador no desponta uma gura com essa caracterstica. Alguns dos principais visionrios nunca conseguiram transformar suas vises em equipamentos funcionais. Em outros casos, esses equipamentos nunca chegaram a pblico.

    Por outro lado, os construtores de computadores que se tornaram operacionais e chegaram a pblico no podem descartar a inuncia de seus predecessores. Howard Aiken, por exemplo, sempre armou ter se baseado no trabalho de Babbage.

    A concluso a que podemos chegar que o computador no tem um pai ou me, mas fruto de diversos passos, alguns maiores, outros menores, mas cada um com sua importncia na histria.

    4 OS RUMOS DA EVOLUO DO COMPUTADOR

    Com base no histrico visto na seo anterior, podemos determinar algumas dimenses na evoluo do computador. Desde os primeiros dispositivos mecnicos do sculo XVII at os computadores de mo atuais, podemos denir algumas

  • 24

    Unidade II

    Revi

    so:

    Edu

    ardo

    - D

    iagr

    ama

    o: L

    o 3

    0/03

    /09

    linhas sobre as quais se deu (e ainda se d) a evoluo dos computadores.

    Miniaturizao

    Os primeiros computadores eletrnicos, como o ENIAC, ocupavam andares inteiros e pesavam toneladas. Hoje a capacidade de processamento daqueles equipamentos largamente superada por dispositivos de bolso.

    Na dcada de 1980, todas as empresas tinham um CPD (centro de processamento de dados), onde residiam todos os seus computadores e perifricos. Hoje uma tarefa das mais trabalhosas em uma grande empresa localizar onde esto todos os seus computadores.

    A miniaturizao tornou possvel o minicomputador, depois o computador pessoal, a computao mvel e a eletrnica embarcada.

    Sem o extremo progresso que a miniaturizao alcanou, o mundo seria muito diferente hoje, pois os computadores estariam connados nos CPDs, em vez de estarem nossa volta em toda parte.

    Barateamento

    Os primeiros computadores comerciais custavam milhes de dlares. Hoje um microcomputador bsico acessvel maioria das pessoas.

    O computador j faz parte do cotidiano da maior parte das pessoas, mas de uma forma muito maior do que podemos ver. O barateamento de microprocessadores e ans possibilitou a implantao de dispositivos com capacidade de processamento em carros, elevadores e eletrodomsticos. A eletrnica embarcada, como chamada, fruto direto do barateamento

    5

    10

    15

    20

    25

  • 25

    ORGANIZAO DE COMPUTADORES

    Revi

    so:

    Edu

    ardo

    - D

    iagr

    ama

    o: L

    o 3

    0/03

    /09

    de computadores e dispositivos eletrnicos, pois possibilitou a substituio de funes executadas por elementos eltricos ou mecnicos por dispositivos eletrnicos e a incluso de novas funes, que no seriam possveis sem esses dispositivos.

    Facilidade de uso

    Os primeiros computadores s podiam ser utilizados pelos engenheiros que os construram, pois, para obter algum resultado, era necessrio conhecer detalhes precisos sobre a interconexo de seus componentes.

    Com a popularizao da computao comercial, surgiu a necessidade de uma utilizao mais diversicada dos computadores. Para atender a essa demanda surgiram as primeiras linguagens de programao. Um programador podia extrair resultados do computador sem ter necessariamente um conhecimento detalhado de seu funcionamento. Este primeiro degrau de popularizao tambm foi um primeiro degrau na facilidade de uso do computador.

    Outros degraus vieram depois, sendo que um dos mais recentes foi a introduo da interface grca, que dispensou os usurios da necessidade de conhecer ou decorar comandos para utilizar o computador.

    Talvez estejamos experimentando mais um degrau nesta evoluo atualmente, que a migrao de toda a interao entre o usurio e o computador para o browser. Dessa forma, atualmente no temos apenas todo um universo de usurios que no tm conhecimento do funcionamento interno do computador, como tambm eles no precisam sequer ter conhecimento de que o computador existe. Para esses usurios, a interao se d com o navegador, independentemente de onde ele est sendo executado (computador, smartphone ou o que quer que seja).

    5

    10

    15

    20

    25

    30

  • 26

    Unidade II

    Revi

    so:

    Edu

    ardo

    - D

    iagr

    ama

    o: L

    o 3

    0/03

    /09

    Esse possivelmente o primeiro passo no caminho do computador invisvel, ou computao ubqua.

    5 A ORGANIZAO DO COMPUTADOR

    Um computador digital consiste em um sistema interconectado de processadores, memrias e dispositivos de entrada e sada. Essas so as trs categorias bsicas de componentes de um computador moderno. Cada elemento de um computador qualquer se encaixar em uma dessas classicaes. Vamos analisar em seguida cada uma delas.

    5.1 Processadores

    A unidade central de processamento (UCP ou CPU Central Processing Unit) o centro do computador.

    A execuo de um programa normalmente consiste em trazer um programa de um dispositivo de armazenamento (disco, por exemplo) para a memria principal. Da memria principal, o programa transferido para a CPU, uma instruo por vez. Dentro da CPU que o verdadeiro processamento ocorre, onde as instrues sero interpretadas e executadas.

    Como podemos ver na gura seguinte, todos esses elementos se comunicam por meio de um barramento.

    Registradores

    Memria principal

    Unidade de controle

    Unidade lgica e

    aritmtica (ULA)

    Barramento

    Disco Impressora

    Dispositivos de E/S

    Figura 17 A organizao de um computador simples

    5

    10

    15

  • 27

    ORGANIZAO DE COMPUTADORES

    Revi

    so:

    Edu

    ardo

    - D

    iagr

    ama

    o: L

    o 3

    0/03

    /09

    Como podemos ver tambm na gura, internamente a CPU composta por vrias partes distintas. A unidade de controle responsvel por buscar instrues na memria e determinar seu tipo. A unidade lgica e aritmtica executa operaes matemticas simples como adio e E booleano.

    A CPU tambm contm uma pequena quantidade de memria de alta velocidade, que utilizada na execuo de instrues. Essa memria organizada em registradores. Cada registrador tem um tamanho xo (comprimento em bits) e um propsito especco, como o contador de programa (PC program counter). A funo do PC identicar qual a prxima instruo a ser trazida para a CPU do programa em execuo.

    A organizao da CPU detalhada na gura abaixo. Os registradores e a ULA formam um caminho de dados.

    ULA

    A B

    A + B

    A + B

    A

    B

    Registradores

    Registradores de entrada da ULA

    Barramento de entrada da ULA

    Registrador de sada da ULA

    Figura 18 Um exemplo de caminho de dados

    5

    10

  • 28

    Unidade II

    Revi

    so:

    Edu

    ardo

    - D

    iagr

    ama

    o: L

    o 3

    0/03

    /09

    Os dados so movimentados dos registradores para um ou dois registradores que alimentam a ULA e deles para a prpria ULA atravs de um barramento que interconecta esses elementos.

    A ULA realizar as operaes matemticas mais bsicas, como soma e comparao, e mover o resultado para um registrador de sada. Posteriormente, o contedo desse registrador ser movido para outro registrador e de l para a memria principal.

    Neste ponto, podemos estabelecer a distino entre dois tipos diferentes de instrues: instrues registrador-registrador e instrues registrador-memria. As primeiras dependem apenas dos dados que esto armazenados na CPU, e as segundas precisam buscar dados da memria principal, pelo barramento.

    O processo de submeter dois valores ULA e obter um resultado chamado de ciclo do caminho de dados. Esse ciclo o ncleo da maioria das CPUs, pois determina o que ela pode fazer. Quanto mais rpido a CPU conseguir executar esse ciclo, mais rpido se dar o processamento.

    Alm do ciclo do caminho de dados, interno CPU, temos o ciclo externo, que determina como a CPU interage com os dados que esto fora dela, na memria principal.

    A CPU executa cada instruo em uma srie de pequenos passos:

    1- Trazer a prxima instruo da memria at o registrador;

    2- Alterar o contador de programa para indicar a prxima instruo;

    3- Determinar o tipo da instruo;

    5

    10

    15

    20

    25

  • 29

    ORGANIZAO DE COMPUTADORES

    Revi

    so:

    Edu

    ardo

    - D

    iagr

    ama

    o: L

    o 3

    0/03

    /09

    4- Se a instruo necessitar de uma palavra da memria, determinar onde essa palavra est;

    5- Trazer a palavra para dentro de um registrador da CPU, se necessrio;

    6- Executar a instruo;

    7- Voltar etapa 1 para iniciar a execuo da instruo seguinte.

    Essa sequncia costuma ser denominada ciclo buscar-decodicar-executar. fundamental para a operao de todos os computadores.

    Lembre-se de que o programa armazenado na memria na forma de instrues que o processador consiga interpretar. Voltando mquina multinveis, o programa escrito originalmente em linguagem de alto nvel sofreu vrios nveis de traduo antes que pudesse ser executado diretamente pelo processador.

    5.1.1 Princpios de projeto para computadores modernos

    Os computadores modernos compartilham uma srie de caractersticas de design que visam maximizar o seu desempenho. No importa se se trata de um computador de mo ou um computador para ns cientcos; sempre se deseja a maior velocidade de processamento possvel.

    claro que estas linhas se aplicam ao estado atual da tecnologia. Atualmente estamos sujeitos a certas limitaes, como velocidade de clock, quantidade de transistores que podem ser embutidos em uma pastilha de silcio e outras.

    Se o cenrio tecnolgico atual se alterar, talvez algum dos pontos a seguir no seja mais aplicado.

    5

    10

    15

    20

    25

  • 30

    Unidade II

    Revi

    so:

    Edu

    ardo

    - D

    iagr

    ama

    o: L

    o 3

    0/03

    /09

    Todas as instrues so executadas diretamente pelo hardware

    No passado houve uma tendncia de design de computadores que adicionava uma camada de software entre o hardware e o conjunto de instrues, providenciando um novo nvel de interpretao. Esse tipo de implementao chamado de microcdigo e oferecia algumas vantagens como a possibilidade de incluir ou alterar instrues sem alterar o hardware. Apesar de prover mais exibilidade, esse tipo de design no considerado uma boa prtica. O nvel adicional de traduo acarreta uma perda de desempenho, que no compensa as novas instrues que possam ser adicionadas.

    Em resumo, a recomendao que as instrues correspondam diretamente a elementos de hardware, sem que haja nveis adicionais de traduo.

    Maximize a taxa de execuo de instrues

    Um dos caminhos para se maximizar a performance do computador maximizar a taxa de execues de instrues por segundo.

    Existem vrios meios para se conseguir isso. Um simplesmente aumentar a velocidade de clock do computador. Outra forma fazer com que o processador realize atividades em paralelo. Se um computador puder realizar duas instrues em paralelo, ele ter teoricamente um desempenho duas vezes superior a um computador sem paralelismo.

    Neste design, um cuidado especial deve ser tomado para que no seja alterada a ordem de execuo do programa.

    As instrues devem ser fceis de decodicar

    Conforme visto anteriormente, o ciclo de execuo de instrues tem impacto direto na velocidade de processamento

    5

    10

    15

    20

    25

    30

  • 31

    ORGANIZAO DE COMPUTADORES

    Revi

    so:

    Edu

    ardo

    - D

    iagr

    ama

    o: L

    o 3

    0/03

    /09

    do computador como um todo. Se o tempo de traduo de uma instruo for demorado, o tempo de execuo como um todo ser degradado.

    Por esse motivo, uma instruo no deve ter muitas opes de execuo ou formatos alternativos. Se a instruo tiver poucos formatos, o tempo de identicao da instruo ser reduzido e, consequentemente, o tempo de processamento ser otimizado.

    Somente load e store devem referenciar a memria

    O acesso memria principal uma operao demorada, sob a tica da velocidade do processador, claro. Se muitas instrues tiverem acesso direto memria principal, o tempo de execuo das instrues pode se tornar imprevisvel.

    Por esse motivo, recomendado que apenas as instrues load (leitura) e store (gravao) tenham acesso memria.

    Providencie bastantes registradores

    Se o processador no tiver um registrador para armazenar um valor resultante, ele ter que transferir esse valor para a memria principal.

    Conforme j vimos, a transferncia de dados entre o processador e a memria principal um processo mais lento que a movimentao de dados dentro do processador.

    Se o processador no tiver registradores sucientes, o tempo de processamento ser degradado.

    5.1.2 Paralelismo

    Conforme vimos, um dos melhores recursos para otimizar a velocidade de processamento de um computador a capacidade

    5

    10

    15

    20

    25

  • 32

    Unidade II

    Revi

    so:

    Edu

    ardo

    - D

    iagr

    ama

    o: L

    o 3

    0/03

    /09

    de executar vrias atividades ao mesmo tempo. Existem vrias formas de implementar paralelismo, no nvel de instruo e no nvel de processador.

    A seguir descreveremos cinco formas de paralelismo. Pipelining e arquiteturas superescalares so exemplos de paralelismo no nvel de instruo. Computadores matriciais, multiprocessadores e multicomputadores so exemplos de paralelismo no nvel de processador.

    Pipelining

    O processo de decodicao e execuo de instrues, como foi visto anteriormente, um elemento crtico no desempenho do computador.

    Se o processo de identicao e execuo de uma instruo puder ser modularizado, haver um ganho de performance, pois, enquanto uma instruo estiver em execuo, os passos iniciais da prxima instruo podero ser executados.

    Na gura a seguir temos o exemplo de um pipeline de cinco estgios. Cada instruo passar por cinco mdulos antes de ser concluda.

    Observe que, quando a instruo 1 for concluda, as instrues 2, 3, 4 e 5 estaro em execuo.

    Unidade de busca de instruo

    Unidade de decodicao de instruo

    Unidade de busca de operando

    Unidade de execuo de

    instruo

    Unidade de gravao

    S1 S2 S3 S4 S5

    S1:S2:S3:S4:S5:

    1

    1

    21

    2

    321

    3

    4321

    4

    543215

    654326

    765437

    876548

    987659

    TempoFigura 19 Exemplo de um pipeline de cinco estgios

    5

    10

    15

    20

  • 33

    ORGANIZAO DE COMPUTADORES

    Revi

    so:

    Edu

    ardo

    - D

    iagr

    ama

    o: L

    o 3

    0/03

    /09

    Arquiteturas superescalares

    O princpio da arquitetura superescalar que nem todas as instrues demoram o mesmo tempo para serem executadas.

    Ao executar certas instrues, como as que leem ou gravam na memria principal, o tempo de execuo maior que em instrues que acessem apenas dados dentro do processador (armazenados em registradores).

    Se o mdulo de execuo pudesse executar vrias tarefas em paralelo, o tempo de execuo das instrues mais lentas seria compensado pela execuo de outras instrues.

    Na gura a seguir temos o exemplo de uma arquitetura superescalar com duas ALU, uma unidade para tratar operaes de ponto utuante e um mdulo para ler, e outra para gravar na memria principal.

    Novamente deve ser tomado cuidado neste tipo de design para que as instrues sejam executadas na ordem correta.

    Unidade de busca de instruo

    Unidade de decodicao de instruo

    Unidade de gravao

    S1 S2 S3 S5

    LOAD

    ALU

    STORE

    ALU

    Ponto utuante

    Unidade de busca de operando

    S4

    Figura 20 Exemplo de arquitetura superescalar

    5

    10

    15

  • 34

    Unidade II

    Revi

    so:

    Edu

    ardo

    - D

    iagr

    ama

    o: L

    o 3

    0/03

    /09

    Esses dois tipos de paralelismo so implementados dentro do processador, ou seja, no dependem de mais de um processador. Os designs seguintes dependem de vrios processadores.

    Sempre existe demanda por processadores mais rpidos, mas em muitos casos mais simples e barato dispor de vrios processadores que trabalhem harmonicamente do que tentar conseguir um nico processador mais rpido.

    Esse tipo de concluso j chegou at os computadores de uso comercial e domstico, com as conguraes com processadores de dois, trs, quatro ou mais ncleos.

    Computadores matriciais

    Um computador matricial aquele com um grande nmero de processadores que executam o mesmo conjunto de instrues em conjuntos diferentes de dados.

    Esse tipo de arranjo encontra uso em aplicaes cientcas, em que um grande conjunto de dados deve ser submetido a um mesmo conjunto de frmulas. Ele no comum em computadores comerciais, mas muitos supercomputadores (especialmente os fabricados pela Cray Computing) usam um tipo especial de arranjo desse tipo, chamado processador vetorial.

    Multiprocessadores

    Uma forma simples de aumentar a capacidade de processamento de um computador adicionar outro processador. Essa a ideia do multiprocessador, mas isso no to simples.

    Sempre que fazemos algum tipo de paralelismo, deve haver alguma gura fazendo a arbitragem das tarefas que sero executadas por cada processador. Alm disso, no multiprocessador, todas as CPUs compartilham uma mesma quantidade de memria.

    5

    10

    15

    20

    25

  • 35

    ORGANIZAO DE COMPUTADORES

    Revi

    so:

    Edu

    ardo

    - D

    iagr

    ama

    o: L

    o 3

    0/03

    /09

    O acesso a essa memria deve ser controlado tambm, para que um processador no tente utilizar um espao que esteja sendo usado por outro. Normalmente essa funo desempenhada pelo sistema operacional.

    Memria CompartilhadaCPUCPUCPUCPU

    BarramentoFigura 21 Multiprocessador com barramento nico

    A maioria dos sistemas operacionais de mercado atualmente tem alguma capacidade de multiprocessamento.

    Multicomputadores

    A diferena entre o multicomputador e o multiprocessador que no multicomputador cada CPU tem uma memria local que s acessada por aquele processador.

    Memria CompartilhadaCPUCPUCPUCPU

    Barramento

    MemriaMemriaMemriaMemria

    Figura 22 Multicomputador com memrias locais

    No multicomputador, pode ou no haver uma quantidade de memria compartilhada entre os processadores.

    Um dos problemas desses tipos de arranjo conectar todos os processadores memria. Por esse motivo, muitos

    5

    10

  • 36

    Unidade II

    Revi

    so:

    Edu

    ardo

    - D

    iagr

    ama

    o: L

    o 3

    0/03

    /09

    projetistas abandonam a ideia da memria compartilhada e criam computadores apenas com processadores com memrias privadas.

    Este tipo de arranjo normalmente chamado de fracamente acoplado, em contraste com o arranjo fortemente acoplado, que o multiprocessador.

    5.2 Memria primria

    A memria a parte do computador onde so armazenados programas e dados. A memria primria tambm chamada de memria principal ou RAM.

    A memria principal utilizada para armazenar os programas em execuo e os dados em uso por esses programas. Ela costumeiramente voltil, ou seja, mantm os dados armazenados apenas enquanto o equipamento est energizado.

    5.2.1 Bits, bytes e terabytes

    A unidade bsica de memria o dgito binrio, ou bit. Um bit consegue armazenar apenas o valor 0 ou 1, e o bloco bsico de informaes.

    Um dos agrupamentos mais comuns de bits o byte, que tem 8 bits de comprimento. Quando se trata de bits e bytes, existe certa confuso quanto aos mltiplos que podem ser usados para expressar essas quantidades.

    Como o bit um valor binrio, os mltiplos so potncias de 2. Um kilobyte, portanto, no so exatamente 1.000 bytes (103), mas 1.024 (210). De modo semelhante, 1 MB contm 1.048.576 bytes (220), e no 1.000.000 de bytes (106).

    Os outros prexos mais comuns, em se tratando de memria, so giga (1 GB equivale a 230 1.073.741.824 bytes) e tera: 1 TB equivale a 240 1.099.511.627.776 bytes.

    5

    10

    15

    20

    25

  • 37

    ORGANIZAO DE COMPUTADORES

    Revi

    so:

    Edu

    ardo

    - D

    iagr

    ama

    o: L

    o 3

    0/03

    /09

    Na tabela a seguir temos os prexos decimais mais comuns, lembrando que, em se tratando de memria, devemos usar a base binria em vez da base 10.

    Expoente Explcito Prexo Expoente Explcito Prexo

    10-3 0,001 mili 103 1.000 Kilo

    10-6 0,000001 micro 106 1.000.000 Mega

    10-9 0,000000001 nano 109 1.000.000.000 Giga

    10-12 0,000000000001 pico 1012 1.000.000.000.000 Tera

    10-15 0,000000000000001 femto 1015 1.000.000.000.000.000 Peta

    10-18 0,000000000000000001 ato 1018 1.000.000.000.000.000.000 Exa

    10-21 0,000000000000000000001 zepto 1021 1.000.000.000.000.000.000.000 Zeta

    10-24 0,000000000000000000000001 iocto 1024 1.000.000.000.000.000.000.000.000 Iota

    Figura 23 Os principais suxos mtricos

    5.2.2 Endereos de memria

    Para que seja possvel utilizar a memria, deve ser possvel gravar e ler informaes nela. Para que isso seja possvel, a memria deve ser organizada de modo que cada unidade utilizvel de memria tenha um endereo nico.

    Os bits de memria so organizados em clulas, e cada clula tem um endereo nico. O tamanho da clula varia de acordo com o sistema, mas o mais comum que ela tenha 8 bits (1 byte) de comprimento.

    A clula a menor unidade enderevel de memria.

    012345

    16 bits

    01234567

    12 bits

    01234567891011

    8 bitsFigura 24 Trs formas de organizar 96 bits de memria

    5

    10

  • 38

    Unidade II

    Revi

    so:

    Edu

    ardo

    - D

    iagr

    ama

    o: L

    o 3

    0/03

    /09

    Outro conceito importante a palavra. Uma palavra o tamanho da unidade de dados que transferida da memria para o processador. Quando falamos que um computador de 32 bits ou 64 bits, estamos nos referindo ao tamanho da palavra desse processador. Ou seja, um computador de 32 bits consegue transmitir 4 bytes entre a memria e o processador, enquanto um computador de 64 bits transmite 8 bytes.

    Esse conceito importante porque, se o processador recebe um valor de 8 bytes da memria, todos os seus registradores tm que ter no mnimo esse comprimento. Isso implica tambm a quantidade de memria que um computador pode suportar.

    Se o registrador dedicado a tratar endereos de memria tem 1 bit de comprimento, o computador s suportar dois endereos ou duas clulas (0 e 1).

    Se esse registrador tiver 32 bits, a quantidade de clulas endereveis ser de 4.294.967.295. Em um computador com clulas de 1 byte, isso equivale a 4 GB de memria.

    Se esse registrador tiver 64 bits, a quantidade de endereos possveis sobe para 18.446.744.073.709.551.615, ou aproximadamente 18,45 exabytes, uma quantidade de memria impensvel nos padres tecnolgicos atuais.

    5.2.3 Memria cache

    A memria cache (e no cach) uma rea de memria intermediria entre o processador e a memria principal. O termo cache amplamente usado para dispositivos que servem como rea intermediria entre um meio mais rpido e outro mais lento (cache de disco, cache de impresso etc.).

    A memria cache, conforme a denio aqui adotada, uma rea de memria localizada entre o barramento e a CPU.

    5

    10

    15

    20

    25

  • 39

    ORGANIZAO DE COMPUTADORES

    Revi

    so:

    Edu

    ardo

    - D

    iagr

    ama

    o: L

    o 3

    0/03

    /09

    Como j falamos antes, o tempo de acesso memria principal a partir do processador lento, em termos de velocidade de processamento. Ento, se o processador no precisar percorrer o barramento para buscar uma determinada informao, mas uma rea mais prxima, o computador ganha em desempenho.

    Normalmente a memria cache faz parte da mesma embalagem que o prprio processador, mas no faz parte da arquitetura interna dele, onde se localizam os registradores e demais componentes da CPU.

    BarramentoMemria

    Cache

    Memria PrincipalCPU

    Figura 25 A localizao lgica da memria cache

    Existem vrias formas de implementar a memria: cache de processador, cache especco para instrues e dados, cache de mltiplos nveis, mas o conceito bsico o mesmo ao se deparar com a necessidade de uma informao da memria principal, o cache ser consultado antes. Se a informao estiver l, ela j devolvida para o processador (cache hit). Se a informao no estiver no cache (cache miss), ela trazida da memria principal para o cache e de l para o processador.

    A memria cache, assim como a memria principal, tambm voltil.

    5.3 Memria secundria

    Independentemente da quantidade de memria principal que o computador disponha, ela nunca ser suciente para armazenar todos os dados que so necessrios. Para isso usam-se os meios de armazenamento de massa ou memria secundria.

    5

    10

    15

    20

  • 40

    Unidade II

    Revi

    so:

    Edu

    ardo

    - D

    iagr

    ama

    o: L

    o 3

    0/03

    /09

    Para se ter uma ideia de ordem de grandeza, um computador comercial comum atualmente possui cerca de 2 GB de memria principal, enquanto um disco rgido comum hoje possui em torno de 160 GB, sendo que j existem discos para uso em computadores comerciais comuns com 1 TB de capacidade.

    5.3.1 Hierarquias de memria

    Um computador possui vrios tipos de memria, desde os registradores at os discos ticos (DVD, Blu-Ray etc.). Existe uma hierarquia entre esses vrios tipos de memria, conforme a gura a seguir.

    Registradores

    Memria Cache

    Memria Primria

    Fita Magntica Meios ticos

    Figura 26 Hierarquia de memria de cinco nveis

    Quanto mais alto vamos na pirmide acima, maior a velocidade da memria, maior o custo por byte e menor a quantidade de memria disponvel no computador.

    Quanto mais para baixo vamos, menor a velocidade, menor o custo e maior a quantidade disponvel em um computador.

    A maior parte dos meios de memria secundria atualmente no voltil, ou seja, mantm os dados gravados at que um usurio os apague.

    Devemos ter cuidado em usar o termo permanente ao tratar de meios de armazenamento, pois nenhum meio de armazenamento atual consegue garantir a preservao dos dados aps um perodo de alguns anos.

    5

    10

    15

    20

  • 41

    ORGANIZAO DE COMPUTADORES

    Revi

    so:

    Edu

    ardo

    - D

    iagr

    ama

    o: L

    o 3

    0/03

    /09

    5.3.2 Discos magnticos

    O disco magntico o meio mais comum de armazenamento atualmente. Isso se deve ao fato de que o disco hoje o que fornece melhor relao custo-benefcio.

    Isso talvez mude no futuro prximo, graas popularizao dos discos de estado slido (SSD solid state disk) baseados em memria ash. Hoje j comum encontrarmos esse tipo de dispositivo com cerca de 4 GB a 16 GB. Ainda pouco se comparado aos 160 GB que um disco magntico possui, mas, com o aumento de capacidade e barateamento desse tipo de dispositivo, em breve ele poder superar o disco magntico em popularidade.

    Figura 27 Um disco magntico sem a proteo metlica

    Como podemos ver na imagem acima, o disco magntico composto por discos e braos de acesso, alm de motores responsveis por girar os discos e movimentar o brao.

    O princpio bsico de funcionamento do disco magntico simples: os discos giram em um nico sentido com velocidade constante, e as cabeas de leitura e gravao se aproximam e se afastam do centro do disco, de modo que conseguem atingir toda a sua rea til.

    Essa rea coberta por um material magntico que pode ser sensibilizado pelo campo gerado pela cabea de leitura. Dependendo da direo em que estiverem direcionadas essas partculas, elas podem simbolizar um bit 0 ou um bit 1.

    5

    10

    15

    20

  • 42

    Unidade II

    Revi

    so:

    Edu

    ardo

    - D

    iagr

    ama

    o: L

    o 3

    0/03

    /09

    A rea til do disco dividida em setores. Um setor normalmente corresponde a 512 bytes e separado do prximo setor por uma rea no utilizada chamada lacuna. Como estamos lidando com campos magnticos, nem toda a superfcie pode ser utilizada, pois corremos o risco de afetar outros setores alm do desejado, se eles estiverem muito prximos. Os setores so agrupados em crculos concntricos denominados trilhas.

    Trilha / Cilindro

    Setor

    Cabeas de leitura e gravao

    8 cabeas4 platters

    Figura 28 Representao da geometria do disco magntico

    Alm de trilhas e setores, o outro conceito importante na geometria do disco magntico o cilindro. Um disco magntico normalmente composto por vrios discos, denominados platters.

    Cada superfcie de cada disco possui uma cabea de leitura e gravao prpria. Como todos os braos de todas as cabeas de leitura e gravao se movimentam ao mesmo tempo, quando a cabea de leitura da primeira superfcie estiver sobre a trilha n, todas as cabeas de leitura estaro sobre as trilhas n de suas respectivas superfcies.

    A esse conjunto de trilhas que podem ser acessadas sem que seja necessrio movimentar a cabea de leitura e gravao se d o nome de cilindro.

    Este um conceito importante quando se tenta aumentar o desempenho de discos, pois, por se tratar de um dispositivo

    5

    10

    15

    20

  • 43

    ORGANIZAO DE COMPUTADORES

    Revi

    so:

    Edu

    ardo

    - D

    iagr

    ama

    o: L

    o 3

    0/03

    /09

    mecnico, o tempo que a cabea de leitura leva para se mover pela superfcie do disco extremamente lento.

    Se um determinado conjunto de dados estiver num mesmo cilindro, o tempo de acesso a esses dados ser menor.

    5.3.3 Demais dispositivos

    Alm de processador, memrias e discos, um computador moderno dispe de uma gama de dispositivos de entrada e sada de dados. Todos eles se comunicam de alguma forma com o barramento para que os dados possam ser transferidos deles para a memria principal e vice-versa.

    Podemos destacar, entre eles, os CD-ROMs (permitem apenas leitura) e CDs gravveis e regravveis (que permitem a gravao uma ou muitas vezes), DVDs e Blu-Ray, teclados e mouses (e outros tipos de dispositivo apontadores como trackballs), monitores CRT (que usam o tubo de raios catdicos) e LCD (display de cristal lquido), as impressoras de todos os tipos (laser, jato de tinta e matriciais so as mais comuns) e os dispositivos de telecomunicaes como modem de linha discada, DSL (digital subscriber line) e cable modem.

    5.3.4 Conjuntos de caracteres

    claro que os computadores tm que lidar com todo tipo de informaes, e no apenas nmeros, mas, como veremos na seo sobre circuitos digitais, o computador s consegue de fato lidar com valores binrios.

    A soluo para permitir que os computadores consigam lidar com informaes no numricas a criao de tabelas de converso. Essas tabelas so chamadas de conjuntos de caracteres.

    Um dos padres mais conhecidos o ASCII (American Standard Code for Information Interchange Cdigo Padro Americano para Intercmbio de Informaes).

    5

    10

    15

    20

    25

  • 44

    Unidade II

    Revi

    so:

    Edu

    ardo

    - D

    iagr

    ama

    o: L

    o 3

    0/03

    /09

    O ASCII usa sete bits para descrever os caracteres, o que permite 128 combinaes. As tabelas abaixo mostram essas combinaes.

    Binrio Decimal Hexa Abreviao Descrio

    0000 0000 00 00 NUL Null - nulo

    0000 0001 01 01 SOHStart of header - incio do cabealho

    0000 0010 02 02 STX Start of text - incio do texto

    0000 0011 03 03 ETX End of text - m do texto

    0000 0100 04 04 EOT End of tape - m de ta

    0000 0101 05 05 ENQEnquire - interroga identidade do terminal

    0000 0110 06 06 ACK Acknowledge - reconhecimento

    0000 0111 07 07 BEL Bell - campainha

    0000 1000 08 08 BS Back-space - espao atrs

    0000 1001 09 09 HTHorizontal tabulation - tabulao horizontal

    0000 1010 10 0A LF Line-feed - alimenta linha

    0000 1011 11 0B VTVertical tabulation - tabulao vertical

    0000 1100 12 0C FF Form-feed - alimenta formulrio

    0000 1101 13 0D CRCarriage-return - retorno do carro (enter)

    0000 1110 14 0E SO Shift-out - sada do shift

    0000 1111 15 0F SI Shift-in - entrada no shift

    0001 0000 16 10 DLE Data-link escape

    0001 0001 17 11 DC1 Device-control 1

    0001 0010 18 12 DC2 Device-control 2

    0001 0011 19 13 DC3 Device-control 3

    0001 0100 20 14 DC4 Device-control 4

    0001 0101 21 15 NAKNeg-acknowledge - no reconhecimento

    0001 0110 22 16 SYN Synchronous idle

    0001 0111 23 17 ETB End-of-transmission block

    0001 1000 24 18 CAN Cancel

    0001 1001 25 19 EM End-of-medium

    0001 1010 26 1A SUB Substitute

    0001 1011 27 1B ESC Escape

    0001 1100 28 1C FS File separator

    0001 1101 29 1D GS Group separator

    0001 1110 30 1E RS Record separator

    0001 1111 31 1F US Unit separator

    0111 1111 127 7F DEL DeleteTabela 1 Caracteres de controle ASCII

  • 45

    ORGANIZAO DE COMPUTADORES

    Revi

    so:

    Edu

    ardo

    - D

    iagr

    ama

    o: L

    o 3

    0/03

    /09

    Binrio Decimal Hexa Caracter Binrio Decimal Hexa Caracter Binrio Decimal Hexa Caracter

    0010 0000 32 20 0100 0000 64 40 @ 0110 0000 96 60 `

    0010 0001 33 21 ! 0100 0001 65 41 A 0110 0001 97 61 a

    0010 0010 34 22 0100 0010 66 42 B 0110 0010 98 62 b

    0010 0011 35 23 # 0100 0011 67 43 C 0110 0011 99 63 c

    0010 0100 36 24 $ 0100 0100 68 44 D 0110 0100 100 64 d

    0010 0101 37 25 % 0100 0101 69 45 E 0110 0101 101 65 e

    0010 0110 38 26 & 0100 0110 70 46 F 0110 0110 102 66 f

    0010 0111 39 27 0100 0111 71 47 G 0110 0111 103 67 g

    0010 1000 40 28 ( 0100 1000 72 48 H 0110 1000 104 68 h

    0010 1001 41 29 ) 0100 1001 73 49 I 0110 1001 105 69 i

    0010 1010 42 2A * 0100 1010 74 4A J 0110 1010 106 6A j

    0010 1011 43 2B + 0100 1011 75 4B K 0110 1011 107 6B k

    0010 1100 44 2C , 0100 1100 76 4C L 0110 1100 108 6C l

    0010 1101 45 2D - 0100 1101 77 4D M 0110 1101 109 6D m

    0010 1110 46 2E . 0100 1110 78 4E N 0110 1110 110 6E n

    0010 1111 47 2F / 0100 1111 79 4F O 0110 1111 111 6F o

    0011 0000 48 30 0 0101 0000 80 50 P 0111 0000 112 70 p

    0011 0001 49 31 1 0101 0001 81 51 Q 0111 0001 113 71 q

    0011 0010 50 32 2 0101 0010 82 52 R 0111 0010 114 72 r

    0011 0011 51 33 3 0101 0011 83 53 S 0111 0011 115 73 s

    0011 0100 52 34 4 0101 0100 84 54 T 0111 0100 116 74 t

    0011 0101 53 35 5 0101 0101 85 55 U 0111 0101 117 75 u

    0011 0110 54 36 6 0101 0110 86 56 V 0111 0110 118 76 v

    0011 0111 55 37 7 0101 0111 87 57 W 0111 0111 119 77 w

    0011 1000 56 38 8 0101 1000 88 58 X 0111 1000 120 78 x

    0011 1001 57 39 9 0101 1001 89 59 Y 0111 1001 121 79 y

    0011 1010 58 3A : 0101 1010 90 5A Z 0111 1010 122 7A z

    0011 1011 59 3B ; 0101 1011 91 5B [ 0111 1011 123 7B {

    0011 1100 60 3C < 0101 1100 92 5C \ 0111 1100 124 7C |

    0011 1101 61 3D = 0101 1101 93 5D ] 0111 1101 125 7D }

    0011 1110 62 3E > 0101 1110 94 5E ^ 0111 1110 126 7E ~

    0011 1111 63 3F ? 0101 1111 95 5F _Tabela 2 Caracteres imprimveis do padro ASCII

    Conforme podemos perceber, esse padro bastante limitado. Ele contm apenas os caracteres da lngua inglesa, no contm os acentos necessrios para o portugus, e nem

  • 46

    Unidade II

    Revi

    so:

    Edu

    ardo

    - D

    iagr

    ama

    o: L

    o 3

    0/03

    /09

    podemos comear a pensar nos idiomas que usam alfabetos diferentes, como o russo ou o rabe.

    Como os computadores hoje so usados em todo o mundo e os fabricantes desejam que seus produtos sejam usados globalmente, o ASCII no pode mais ser considerado como um padro aceitvel. Por esse motivo, foi criado outro padro, chamado UNICODE, patrocinado por um grupo de empresas. O UNICODE usa 16 bits para descrever cada caractere, o que permite at 65.536 caracteres diferentes.

    Mesmo essa quantidade insuciente para abarcar todos os idiomas falados na Terra. Linguistas estimam que seriam necessrios cerca de 200.000 caracteres para suportar todos os idiomas falados atualmente.

    O padro UNICODE hoje cobre cerca de 75 alfabetos. Alm dos caracteres latinos, so suportados cirlico, grego, armnio, hebraico, devangari, gurmuqui, ori, telugu e kanada, entre outros.

    5

    10

    15