organizacao de computadores unidade ii

Upload: rossimusic

Post on 12-Oct-2015

24 views

Category:

Documents


0 download

TRANSCRIPT

  • 35

    Revi

    so:

    Am

    anda

    / Di

    agra

    ma

    o: M

    rci

    o -

    09/0

    6/11

    ORGANIZAO DE COMPUTADORES

    Unidade II3 ORGANIZAO DO COMPUTADOR

    3.1 Processadores

    O processador (gura 30) o crebro do computador e tambm conhecido como CPU (Central Processing Unit), ou Unidade Central de Processamento. Utiliza a linguagem de mquina, binrio 0 e 1, nos seus clculos.

    Figura 30 - Modelo de processador de microcomputador [Processador]

    Basicamente, o processador o responsvel por executar os programas que cam carregados na memria principal. Ele executa as instrues ou tarefas dos programas uma a uma.

    As principais funes do processador, de acordo com Stallings, so:

    1) Busca de instruo: l uma instruo da memria;

    2) Interpretao da instruo: decodicao da instruo;

    3) Busca de dados: uma instruo pode necessitar de diferentes dados da memria ou de E/S;

    4) Processamento de dados: execuo aritmtica ou lgica sobre os dados;

    5) Escrita de dados: os resultados podem necessitar escrever dados na memria ou em E/S.

  • 36

    Unidade II

    Revi

    so:

    Am

    anda

    / Di

    agra

    ma

    o: M

    rci

    o -

    09/0

    6/11

    Para executar as tarefas, o processador utiliza partes distintas, como Unidade de Controle, Unidade Lgica Aritmtica (ALU) (gura 31) e registradores.

    Lembrete

    ALU abreviao em ingls de Arithmetic Logic Unit, tambm conhecida como ULA (Unidade Lgica Aritmtica).

    Unidade de controle

    ALU

    Registradores

    Figura 31 - ALU / ULA

    Fonte: TANENBAUM, 2007a.

    A unidade de controle busca as informaes na memria principal.

    A unidade lgica e aritmtica realiza clculos e comparaes entre valores.

    Os registradores compem uma memria de alta velocidade (interna CPU) utilizada para armazenar resultados temporrios e para o controle do uxo de informaes.

    Observao

    Existem diferentes tipos de registradores, isto , com funes distintas; entretanto, normalmente, todos os registradores tm o mesmo tamanho.

    Os registradores mais conhecidos so:

    Contador de Programa: que indica a prxima instruo a ser executada.

    Registrador de Instruo: que contm a instruo que est sendo executada, ou seja, a informao captada da memria cache, principal, E/S, etc.

  • 37

    Revi

    so:

    Am

    anda

    / Di

    agra

    ma

    o: M

    rci

    o -

    09/0

    6/11

    ORGANIZAO DE COMPUTADORES

    Registradores de dados: so utilizados apenas para armazenar dados, no sendo empregados no clculo de endereos.

    Registradores de endereos: recebem o endereo de um dado objeto. Esse registrador oferece aos programadores a possibilidade da utilizao de ponteiros.

    Lembrete

    Ponteiros so variveis contendo um endereo no programa.

    Registrador (gura 32) o elemento superior no nvel de hierarquia de memria, por possuir a maior velocidade de transferncia dentro do sistema, estando acima da memria cache, da memria principal e da memria secundria. Estudaremos essas estruturas mais adiante. O registrador possui a menor capacidade de armazenamento e o maior custo, o tipo mais caro de memria.

    ULA

    A B

    A + B

    A + B

    A

    B

    Registradores

    Registrador de entrada da ULA

    Barramento de entrada da ULA

    Registrador de sada da ULA

    Figura 32 - Registradores

    Fonte: TANENBAUM, 2007a.

    Nessa gura, temos a representao grca dos registradores de entrada que recebem os valores hipotticos A e B que sero somados na ALU e enviados ao registrador de sada. Os resultados so armazenados em registradores para novos clculos e posteriormente podem ser armazenados (escritos) em memria. A comunicao entre os registradores e a ALU acontecem por meio de barramentos internos da CPU. A seta esquerda indica o caminho dos dados; e, quanto mais rpido for esse processo, maior o desempenho do processador e do sistema computacional como um todo.

  • 38

    Unidade II

    Revi

    so:

    Am

    anda

    / Di

    agra

    ma

    o: M

    rci

    o -

    09/0

    6/11

    Resumidamente, uma operao normal do caminho de dados consiste em selecionar o contedo de um ou dois registradores, submet-lo ALU e movimentar o resultado para outro registrador.

    3.1.1 Execuo da instruo

    De acordo com Tanenbaum, a CPU executa as instrues atravs das seguintes etapas:

    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;

    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 chamada ciclo buscar-decodicar-executar e fundamental para a operao de todos os computadores.

    Lembrete

    Que o programa armazenado na memria na forma de instrues que o processador consiga interpretar, ou seja, o programa quando escrito em linguagem de alto nvel, sofre vrios nveis de traduo antes de ser executado diretamente pelo processador.

    3.1.2 Clock interno

    O Clock do processador ou interno um chip que emite sinais eltricos atravs de um cristal de quartzo e realiza a sincronizao entre as instrues a serem processadas. Quando as tarefas so executadas, ocorre o pulso de Clock. As oscilaes so mensuradas em hertz (Hz), unidade padro de medidas de frequncia, que indica o nmero de ciclos que ocorre em certo tempo, no caso, segundos. Desse modo, se um processador trabalha com 500 MHz, por exemplo, signica que capaz de lidar com 500 milhes de operaes de ciclos de Clock por segundo. Quanto mais Clocks, mais rpido o processador; entretanto, existem limites.

  • 39

    Revi

    so:

    Am

    anda

    / Di

    agra

    ma

    o: M

    rci

    o -

    09/0

    6/11

    ORGANIZAO DE COMPUTADORES

    Lembrete

    Existe outro tipo de Clock, externo CPU.

    Saiba mais

    3.2 RISC versus CISC

    Com o avano da tecnologia, no nal da dcada de 1970 j existia uma decincia entre o que as mquinas podiam fazer e o que as linguagens de alto nvel exigiam.

    A ideia que prevalecia era desenvolver processadores cada vez mais poderosos no intuito de diminuir ou extinguir a lacuna existente.

    Entretanto, alguns prossionais resolveram nadar contra a corrente e passaram a pensar no desenvolvimento de mquinas mais simples. Em 1980, um grupo em Berkeley, liderado por David Patterson e Carlo Squin, criou chips de CPU e batizou com o termo RISC (Reduced Instruction Set Computer), ou computador com conjunto de instrues reduzidas, em comparao com CISC (Complex Instruction Set Computer), ou computador com conjunto de instrues complexas.

    Eles acreditavam que, embora fossem necessrias mais instrues para o RISC em comparao com o CISC, se as instrues do RISC fossem mais rpidas, este teria um melhor desempenho.

    A gura 32 representa uma estrutura de processamento com tecnologia RISC.

    Apesar da vantagem da tecnologia RISC, a tecnologia CISC no deixou de existir; primeiro, porque existiam bilhes de dlares investidos em softwares para a arquitetura CISC (compatibilidade), e segundo, porque a Intel, a partir do 486, desenvolveu uma tecnologia hbrida, ou seja, um ncleo com RISC que executa as instrues mais simples (as mais comuns) e CISC para as mais complicadas. O resultado que instrues comuns so rpidas e as complexas, lentas.

    Quase trs dcadas aps o lanamento da tecnologia RISC, aprendemos que novas tecnologias de impacto podem surgir a todo momento, tornando-se difcil e s vezes invivel sua implementao imediata; desse modo, nada mais coerente do que delimitar princpios de projeto, visando minimizar esses riscos.

    Os princpios de projeto tambm visam maximizar o desempenho de sistemas computacionais. A seguir, mencionamos os mais relevantes.

  • 40

    Unidade II

    Revi

    so:

    Am

    anda

    / Di

    agra

    ma

    o: M

    rci

    o -

    09/0

    6/11

    3.3 Princpios de projeto para computadores modernos

    3.3.1 Todas as instrues so executadas diretamente pelo hardware

    Atualmente a recomendao que as instrues correspondam diretamente a elementos de hardware, pois antigamente era comum em estruturas computacionais adicionar uma camada de software entre o hardware e os demais programas, providenciando um novo nvel de interpretao, o microcdigo. O microcdigo oferece a possibilidade de incluir ou alterar instrues sem alterar o hardware; mas, apesar de oferecer mais exibilidade, no considerado uma boa prtica, pois o nvel adicional de interpretao acarreta perda de desempenho, que no compensa s novas instrues que possam ser adicionadas.

    3.3.2 Maximize a taxa de execuo de instrues

    Uma das formas de maximizar o desempenho do computador aumentar a taxa de execues de instrues por segundo, atravs do aumento da velocidade de relgio (Clock), ou atravs do paralelismo, como veremos adiante.

    3.3.3 As instrues devem ser fceis de decodicar

    Quanto mais simples ou menos formatos alternativos tiverem as opes de execuo de uma instruo, melhor; pois, se a instruo tiver poucos formatos, o tempo de identicao da instruo ser reduzido logo, e o tempo de processamento ser otimizado.

    3.3.4 Somente Load e Store devem referenciar a memria

    O acesso memria principal uma operao mais demorada. Por esse motivo, recomendado que apenas as instrues Load (leitura) e Store (gravao) tenham acesso memria.

    3.3.5 Providencie muitos registradores

    Quando o processador no tem um registrador disponvel para armazenar um valor resultante, ele transfere esse valor para a memria principal. Sabemos que a transferncia de dados entre o processador e a memria principal um processo mais lento do que a movimentao de dados dentro do processador; portanto, quanto mais registradores possveis, melhor.

    4 PARALELISMO (PIPELINE)

    4.1 Paralelismo no nvel de instruo

    Conforme mencionamos, um dos caminhos para se maximizar a performance do computador aumentar a taxa de execues de instrues por segundo, aumentando a velocidade de relgio do computador. Outra forma fazer com que o processador realize atividades em paralelo.

  • 41

    Revi

    so:

    Am

    anda

    / Di

    agra

    ma

    o: M

    rci

    o -

    09/0

    6/11

    ORGANIZAO DE COMPUTADORES

    O Pipeline ou Paralelismo a tcnica de dividir a execuo da instruo em vrias partes, e cada uma ser manipulada por uma parte especca do processador. A gura 33, extrada da obra de Tanenbaum, exemplica a questo.

    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

    Tempo

    (a)

    (b)

    ...

    Figura 33 - Modelo de Pipeline

    Fonte: TANENBAUM, 2007a.

    Nesse exemplo, temos cinco estgios ou unidades S1 (busca de instruo), S2 (decodicao de instruo), S3 (busca de operando), S4 (execuo) e S5 (gravao). Nove ciclos de relgio (time) e nove instrues (quadradinhos).

    No primeiro ciclo, o processador busca a instruo 1, na unidade de busca de instruo; no segundo ciclo, enquanto realiza a decodificao da instruo 1, na unidade de decodificao, busca a instruo 2 na unidade de busca de instruo, e assim sucessivamente, como uma linha de montagem.

    A questo que nem todas as instrues demandam o mesmo tempo para serem executadas, pois nem todas as unidades trabalham na mesma velocidade; a unidade de execuo, por exemplo, com instrues do tipo LOAD e STORE, que acessam a memria principal, so mais demoradas. A soluo so as arquiteturas superescalares, como veremos a seguir.

    4.2 Arquiteturas superescalares

    A Idea da arquitetura superescalar manter na unidade de execuo mais de uma ALU, uma unidade para LOAD, uma para STORE e uma de ponto flutuante ex.1,35789. Desse modo, ocorre uma compensao, pois as demais unidades so mais rpidas. A figura 34 exemplifica a questo.

  • 42

    Unidade II

    Revi

    so:

    Am

    anda

    / Di

    agra

    ma

    o: M

    rci

    o -

    09/0

    6/11

    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 operando

    S4

    Figura 34 - Arquitetura superescalar

    Fonte: TANENBAUM, 2007a.

    Lembrete

    Esse tipo de paralelismo implementado dentro do processador, ou seja, no depende de mais de um processador. Nesse tipo de design, deve ser tomado o cuidado para que as instrues sejam executadas na ordem correta.

    Saiba mais

    4.3 Paralelismo no nvel do processador

    Por mais que consigamos aumentar o desempenho da CPU, maximizando as taxas de execuo (Clock) e implementando paralelismo no nvel de instruo, as limitaes so uma constante, pois aumentar taxas de execuo no pode ultrapassar a velocidade da luz. Outro problema a dissipao do calor, cada vez maior em relao s execues. O paralelismo no nvel de instruo, como vimos, ajuda, mas no suciente, pois exige uma grande dependncia entre as instrues. A soluo implementar paralelismo no nvel do processador, ou seja, projetar computadores com vrias CPUs. Vejamos a seguir.

  • 43

    Revi

    so:

    Am

    anda

    / Di

    agra

    ma

    o: M

    rci

    o -

    09/0

    6/11

    ORGANIZAO DE COMPUTADORES

    4.3.1 Computadores matriciais

    Um computador matricial aquele com 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.

    4.4 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.

    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.

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

    4.5 Multicomputadores

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

    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 projetistas abandonam a ideia da memria compartilhada e criam computadores nos quais h apenas processadores com memrias privadas. Esse tipo de arranjo normalmente chamado de fracamente acoplado, em contraste com o arranjo fortemente acoplado, que o multiprocessador.

    Memria Compartilhada

    CPUCPUCPUCPU

    Barramento

    (a)

  • 44

    Unidade II

    Revi

    so:

    Am

    anda

    / Di

    agra

    ma

    o: M

    rci

    o -

    09/0

    6/11

    CPUCPUCPUCPU

    Barramento

    Memrias locais

    Memria Compartilhada

    (b)

    Figura 35 - (a) Multiprocessador de barramento nico. (b) Multicomputador com memrias locais

    Fonte: TANENBAUM, 2007a.

    Resumo

    Nesta unidade, abordamos temas como a organizao do computador, o que so processadores, Clock, Arquitetura RISC versus CISC, entre outros.

    Conhecemos essas arquiteturas e as superescalares, vimos a arquitetura do multiprocessador e de multicomputadores. Entendemos um pouco mais sobre discos magnticos e perifricos.

    Exerccios

    Questo 1

    Organizao dos sistemas de computao

  • 45

    Revi

    so:

    Am

    anda

    / Di

    agra

    ma

    o: M

    rci

    o -

    09/0

    6/11

    ORGANIZAO DE COMPUTADORES

    Em relao Arquitetura dos Computadores, analise as armativas:

    I. A funo da CPU executar programas armazenados no disco rgido, buscando suas instrues, examinando-as e executando-as, uma aps a outra.

    II. A CPU possui uma memria interna, de alta velocidade, usada para armazenar resultados temporrios e certas informaes de controle.

    III. Um computador uma mquina composta de um conjunto de partes eletrnicas e eletromecnicas, com capacidade de coletar, armazenar e manipular dados, alm de fornecer informaes.

    IV. O hardware do computador tudo aquilo que o compe sicamente. Constitu-se em hardware o prprio sistema operacional do computador e outros programas do computador.

    V. O computador uma mquina programvel capaz de processar informaes com grande rapidez.

    VI. Os computadores digitais so totalmente binrios, isto , trabalham apenas com dois valores, tornando assim simples o emprego da lgica booleana (Verdadeiro/Falso, Aberto/Fechado, ...) tanto na construo de componentes quanto como base para a escrita de programas.

    correto o que consta em:

    A. I, II, IV e VI, apenas.

    B. II, III, IV e V, apenas.

    C. I, III, IV e VI, apenas.

    D. II, III, V e VI, apenas.

    E. I, II, III, IV, V e VI.

    Resposta correta: Alternativa D.

    Anlise das armativas

    I) Armativa incorreta.

    Justicativa: A CPU executa programas armazenados na memria RAM.

    II) Armativa correta.

    Justicativa: A CPU utiliza a memria cache para armazenar resultados temporrios. A memria cache mais rpida que a memria RAM.

  • 46

    Unidade II

    Revi

    so:

    Am

    anda

    / Di

    agra

    ma

    o: M

    rci

    o -

    09/0

    6/11

    III) Armativa correta.

    Justicativa: Os computadores executam quatro funes bsicas: Entrada, Processamento, Armazenamento/recuperao de dados e Sada.

    IV) Armativa incorreta.

    Justicativa: Sistema operacional um software.

    V) Armativa correta.

    Justicativa: O computador sozinho um juntado de dispositivos eletrnicos sem nenhuma funo. Pare que um computador trabalhe necessrio insero de informaes (Entrada), seguindo as instrues fornecidas pelos programas, o computador processa os dados originrios da entrada. A sada costuma ser armazenada para posterior utilizao.

    VI) Armativa correta.

    Justicativa: os computadores seguem a lgica clssica que constituda por 0 e 1.

    Questo 2. (IFTO adaptada) Considere o diagrama de blocos geral de um multiprocessador fortemente acoplado mostrado a seguir:

    Processador1

    Processador2

    Processadorm

    E/S 1

    E/S 2

    E/S m

    . . .

    .

    .

    .

    Rede de interconexo

    Memria principal

    Arquitetura e organizao de computadores

    Analise a veracidade das armaes abaixo e indique a alternativa correta:

    I) Neste esquema, cada processador autocontido, possuindo unidade de controle, ULA, registradores e memria cache.

  • 47

    Revi

    so:

    Am

    anda

    / Di

    agra

    ma

    o: M

    rci

    o -

    09/0

    6/11

    ORGANIZAO DE COMPUTADORES

    II) Mais de um processador pode participar da execuo de uma aplicao.

    III) A memria pode ser organizada de modo a permitir acessos simultneos a blocos separados de memria por diferentes processadores.

    IV) Cada processador pode possuir recursos prprios, no compartilhados, de memria e dispositivos de E/S.

    A. Os itens I e II so falsos.

    B. O item III falso.

    C. O item IV falso.

    D. Todos os itens so verdadeiros.

    E. Todos os itens so falsos.

    Resoluo desta questo na Plataforma.