Arquitetura 8
Upcoming SlideShare
Loading in...5
×
 

Arquitetura 8

on

  • 565 views

 

Statistics

Views

Total Views
565
Views on SlideShare
565
Embed Views
0

Actions

Likes
1
Downloads
29
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Arquitetura 8 Arquitetura 8 Presentation Transcript

    • ArquiteturaeorganizaçãodeComputadores Funções de cada Componente de um Computador 1 Arquitetura e Organização deArquitetura e Organização de ComputadoresComputadores Funções de cada Componente de um Computador
    • ArquiteturaeorganizaçãodeComputadores Funções de cada Componente de um Computador 2 Sumário • Unidade Central de Processamento • Memória • Memória Principal • Os computadores não pensam • Barramentos e interfaces
    • ArquiteturaeorganizaçãodeComputadores Funções de cada Componente de um Computador 3 Funções de cada Componente de um Computador • A arquitetura básica de um computador moderno segue ainda de forma geral os conceitos estabelecidos pelo Professor da Universidade de Princeton, John Von Neumann (1903-1957), um dos construtores do EDVAC. Von Neumann propôs construir computadores que: 1. Codificassem instruções que pudessem ser armazenadas na memória e sugeriu que usassem cadeias de uns e zeros (binário) para codificá-los; 2. Armazenassem na memória as instruções e todas as informações que fossem necessárias para a execução da tarefa desejada; 3. Ao processarem o programa, as instruções fossem buscadas na diretamente na memória. Este é o conceito de PROGRAMA ARMAZENADO.
    • ArquiteturaeorganizaçãodeComputadores Funções de cada Componente de um Computador 4 Funções de cada Componente de um Computador
    • ArquiteturaeorganizaçãodeComputadores Funções de cada Componente de um Computador 5 Funções de cada Componente de um Computador Unidade Central de Processamento: • A Unidade Central de Processamento é a responsável pelo processamento e execução de programas armazenados na MP. • Funções: – Executar instruções - realizar aquilo que a instrução determina. Realizar o controle das operações no computador. – a) Unidade Lógica e Aritmética (ULA) - responsável pela realização das operações lógicas (E, OU, etc) e aritméticas (somar, etc). – b) Unidade de Controle (UC) - envia sinais de controle para toda a máquina, de forma que todos os circuitos e dispositivos funcionem adequada e sincronizadamente.
    • ArquiteturaeorganizaçãodeComputadores Funções de cada Componente de um Computador 6 Funções de cada Componente de um Computador Memória Principal: • A Memória Principal tem por finalidade armazenar toda a informação que é manipulada pelo computador - programas e dados. • Para que um programa possa ser manipulado pela máquina, ele primeiro precisa estar armazenado na memória principal. Dispositivos de Entrada e Saída (E/S) • Tem por finalidade permitir a comunicação entre o usuário e o computador. • OBS.: Para executar um programa, bastaria UCP e MP; no entanto, sem os dispositivos de E/S não haveria a comunicação entre o usuário e o computador.
    • ArquiteturaeorganizaçãodeComputadores Funções de cada Componente de um Computador 7 Funções de cada Componente de um Computador - Memória Tecnologia de fabricação • Ao longo do tempo, diversas tecnologias vêm sendo desenvolvidas para a fabricação de memórias. • Atualmente algumas dessas tecnologias já são obsoletas, como as memórias de núcleo de ferrite (magnéticas), algumas das tecnologias mais conhecidas são: • Memórias de semicondutores  são dispositivos fabricados com circuitos eletrônicos e baseados em semicondutores. São rápidas e relativamente caras, se comparadas com outros tipos. Registradores e memória principal são exemplos de memórias de semicondutores ou, mais simplesmente, memórias eletrônicas. • Memórias de meio magnético  são dispositivos, como os disquetes, discos rígidos e fitas magnéticas, fabricados de modo a armazenar informações sob a forma de campos magnéticos. Eles possuem características magnéticas semelhantes às das fitas cassetes de som, as quais são memórias não voláteis.
    • ArquiteturaeorganizaçãodeComputadores Funções de cada Componente de um Computador 8 Funções de cada Componente de um Computador - Memória Hierarquia de Memória • A MP não é o único dispositivo de armazenamento de um computador. • Em função de características como tempo de acesso, capacidade de armazenamento, custo, etc., podemos estabelecer uma hierarquia de dispositivos de armazenamento em computadores. • Devido a essa grande 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 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. • A pirâmide da figura abaixo é projetada com base larga, que simboliza a elevada capacidade, o tempo de uso e o custo do componente que a representa.
    • ArquiteturaeorganizaçãodeComputadores Funções de cada Componente de um Computador 9 Funções de cada Componente de um Computador - Memória Hierarquia de Memória •
    • ArquiteturaeorganizaçãodeComputadores Funções de cada Componente de um Computador 10 Funções de cada Componente de um Computador - Memória Parâmetros de análise • A seguir serão definidos os principais parâmetros para análise das características de cada tipo de memória componente da hierarquia: • 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. É dependente do modo como o sistema de memória é constituído e da velocidade dos seus circuitos. Ele varia bastante de acordo com o tipo de memória analisado, sendo valores típicos entre 50 e 150 nanossegundos (ns), por exemplo, para uma memória principal (tipo DRAM) e de 12 a 60 milissegundos (ms) para discos magnéticos (memória secundária).
    • ArquiteturaeorganizaçãodeComputadores Funções de cada Componente de um Computador 11 Funções de cada Componente de um Computador - Memória Parâmetros de análise • Capacidade  é a 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 principal e cache), setores (no caso de discos) e bits (no caso de registradores). • Dependendo do tamanho (tamanho refere-se a quantidade de informação que pode ser armazenada e não no tamanho físico) da memória, isto é, de sua capacidade, indica-se o valor numérico total de elementos de forma simplificada, através da inclusão de K (kilo), M (mega), G (giga) ou T (tera).
    • ArquiteturaeorganizaçãodeComputadores Funções de cada Componente de um Computador 12 Funções de cada Componente de um Computador - Memória Parâmetros de análise • Capacidade  é a 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 principal e cache), setores (no caso de discos) e bits (no caso de registradores). • Dependendo do tamanho (tamanho refere-se a quantidade de informação que pode ser armazenada e não no tamanho físico) da memória, isto é, de sua capacidade, indica-se o valor numérico total de elementos de forma simplificada, através da inclusão de K (kilo), M (mega), G (giga) ou T (tera).
    • ArquiteturaeorganizaçãodeComputadores Funções de cada Componente de um Computador 13 Funções de cada Componente de um Computador - Memória Parâmetros de análise - Capacidade Múltiplos do byte Nome Símbolo Múltiplo Kilobyte KB 103 megabyte MB 106 gigabyte GB 109 terabyte TB 1012 petabyte PB 1015 exabyte EB 1018 zettabyte ZB 1021 yottabyte YB 1024
    • ArquiteturaeorganizaçãodeComputadores Funções de cada Componente de um Computador 14 Funções de cada Componente de um Computador - Memória Parâmetros de análise • Volatilidade  memórias podem ser do tipo volátil ou não volátil. Uma memória não volátil é a que retém a informação armazenada quando a energia elétrica é desligada. Memória volátil é aquela que perde a informação armazenada quando a energia elétrica desaparece (interrupção de energia elétrica ou desligamento da chave ON/OFF do equipamento).
    • ArquiteturaeorganizaçãodeComputadores Funções de cada Componente de um Computador 15 Funções de cada Componente de um Computador - Memória Parâmetros de análise • Temporariedade  trata-se de uma característica que indica o conceito de tempo de permanência da informação em um dado tipo de memória. Por exemplo, informações (programas e dados) podem ser armazenadas em discos ou disquetes e lá permanecerem armazenadas indefinidamente (mas há sempre a possibilidade de perda de magnetismo com o passar do tempo) a este tipo de memória define-se como permanente. Ao contrário dos registradores, que armazenam um dado por um tempo extremamente curto (nanossegundos), a este tipo chamamos de transitória.
    • ArquiteturaeorganizaçãodeComputadores Funções de cada Componente de um Computador 16 Funções de cada Componente de um Computador - Memória Parâmetros de análise • Custo  o custo de fabricação de uma memória é bastante variado em função de diversos fatores, tipo: tecnologia de fabricação, tempo de acesso, e outros. Uma boa forma de medida de custo é o preço por byte armazenado, em vez do custo total. O quadro a seguir mostra mais características: • A UCP vê nesta ordem e acessa primeiro a que está mais próxima. Subindo na hierarquia, quanto mais próximo da UCP, maior velocidade, maior custo, porém menor capacidade de armazenamento.
    • ArquiteturaeorganizaçãodeComputadores Funções de cada Componente de um Computador 17 Funções de cada Componente de um Computador - Memória Memórias ROM • Esse tipo de memória está presente em todos os computadores modernos e em grande parte de outros dispositivos eletrônicos presentes em casas e escritórios de hoje em dia. • É uma memória que não se perde quando a energia é cortada, ou seja, é uma memória não-volátil. • Contém programas de ajustes ou de inicialização de algum circuito. • Por exemplo, a memória ROM dos computadores possui um programa chamado BIOS (Basic Input Output System - Sistema Básico de Entradas e Saídas). • Esse programa é ativado assim que o computador é ligado, durante um processo conhecido como BOOT (Operações Iniciais de Testes). • Serve para verificar o funcionamento básico dos principais componentes do sistema tais como: CPU, memória RAM, Subsistema de Vídeo, Teclado e Discos rígidos.
    • ArquiteturaeorganizaçãodeComputadores Funções de cada Componente de um Computador 18 Funções de cada Componente de um Computador - Memória Memórias ROM • A memória ROM clássica não pode ser alterada ou apagada. Mas existem algumas variações desse tipo de memória que podem ser alteradas, isso vai depender do tipo de Circuito Integrado usado na fabricação desta ROM. • Dessa forma, existem as classificações de ROM: – PROM (Programmable Read Only Memory)  ROM programável. Este chip vem de fábrica sem nenhuma gravação. Através de um periférico especial chamado “gravador de PROM”, podemos gravar um software nele e então transformá-lo em ROM, já que neste circuito o processo de apagamento não é permitido. Uma vez programada (em fábrica ou não), não pode mais ser alterada. – EPROM (Erasable Programmable Read Only Memory)  ROM apagável e programável. Esse tipo de memória ROM pode ser gravada como a anterior, porém se for necessário, existe uma pequena janela de acrílico coberta por uma etiqueta metálica, que pode ser removida e na janela ser incidida luz ultravioleta. Isso provoca o apagamento da EPROM, tornando-a novamente pronta para ser gravada.
    • ArquiteturaeorganizaçãodeComputadores Funções de cada Componente de um Computador 19 Funções de cada Componente de um Computador - Memória Memórias ROM • EEPROM (ou E2PROM  Electrically Erasable Programmable Read Only Memory)  Também chamada EAROM (Electrically Alterable ROM). • ROM apagável e programável eletronicamente. É mais cara e é geralmente utilizada em dispositivos aos quais se deseja permitir a alteração, via modem, possibilitando a carga de novas versões de programas à distância ou então para possibilitar a reprogramação dinâmica de funções específicas de um determinado programa, geralmente relativo ao hardware (p.ex., a reconfiguração de teclado ou de modem, programação de um terminal, etc). • Esse tipo de ROM pode ser atualizado por software. • É o tipo mais prático e também o mais perigoso, pois a praticidade de atualização pelo sistema operacional também implica risco de gravação de vírus e outros programas intrusos que possam estar no computador que acessa esse tipo de memória.
    • ArquiteturaeorganizaçãodeComputadores Funções de cada Componente de um Computador 20 Funções de cada Componente de um Computador - Memória Memórias ROM
    • ArquiteturaeorganizaçãodeComputadores Funções de cada Componente de um Computador 21 Funções de cada Componente de um Computador - Memória Registradores • São dispositivos de armazenamento temporário, localizados na UCP, extremamente rápidos, com capacidade para apenas um dado (uma palavra). • Devido a sua tecnologia de construção e por estar localizado como parte da própria pastilha ("chip") da UCP, é muito caro. • O conceito de registrador surgiu da necessidade da UCP de armazenar temporariamente dados intermediários durante um processamento. • Por exemplo, quando um dado resultado de operação precisa ser armazenado até que o resultado de uma busca da memória esteja disponível para com ele realizar uma nova operação.
    • ArquiteturaeorganizaçãodeComputadores Funções de cada Componente de um Computador 22 Funções de cada Componente de um Computador - Memória Registradores • Analisando os diversos parâmetros que caracterizam as memórias, temos: • Tempo de acesso: possuem o menor tempo de acesso a memória do sistema, algo em torno de 10 a 20 nanossegundos, dependendo de tratar-se da UCP de um supercomputador ou de um microprocessador mais lento. • Capacidade: são fabricadas com a capacidade de armazenar um único dado, umas únicas instruções ou até um único endereço. Desta forma, a quantidade de bits de cada um é de uns poucos bits (de 8 a 64), dependendo do tipo de processador. • Volatilidade: são memórias semicondutoras, portanto, necessitam de energia elétrica para funcionarem. • Temporariedade: os registradores são memórias auxiliares internas à UCP e, portanto, tendem a guardar informações o mais temporariamente possível. • Custo: devido à tecnologia mais avançada de sua fabricação, os registradores são os dispositivos de memória de maior custo.
    • ArquiteturaeorganizaçãodeComputadores Funções de cada Componente de um Computador 23 Funções de cada Componente de um Computador - Memória Memória Cache • Com o desenvolvimento da tecnologia de construção da UCP, as velocidades foram ficando muito mais altas que as das memórias, que não tiveram a mesma evolução de velocidade (o aperfeiçoamento das memórias se deu mais no fator capacidade). • Desta forma, os tempos de acesso às memórias foram ficando insatisfatórios e a UCP ao buscar um dado na memória precisa ficar esperando muitos ciclos até que a memória retorne o dado buscado ("wait states"), configurando um gargalo ("bottleneck") no desempenho do sistema. • Por esse motivo, desenvolveram-se outras arquiteturas de memória privilegiando a velocidade de acesso.
    • ArquiteturaeorganizaçãodeComputadores Funções de cada Componente de um Computador 24 Funções de cada Componente de um Computador - Memória Memória Cache • A arquitetura da memória cache é muito diferente da arquitetura da memória principal e o acesso a ela é muitas vezes mais rápido (p.ex: 5 ns contra 70 ns). • No entanto, o custo de fabricação da memória cache é muito maior que o da MP. • Desta forma, não é econômico construir um computador somente com tecnologia de memória cache. • Criou-se então um artifício, incorporando-se ao computador uma pequena porção de memória cache, localizada entre a UCP e a MP, e que funciona como um espelho de parte da MP.
    • ArquiteturaeorganizaçãodeComputadores Funções de cada Componente de um Computador 25 Funções de cada Componente de um Computador - Memória Memória Cache • A memória cache opera em função de um princípio estatístico comprovado: em geral, os programas tendem a referenciar várias vezes pequenos trechos de programas, como loops, sub-rotinas, funções e só tem sentido porque programas executados linearmente, seqüencialmente, são raros. • Desta forma, algoritmos (chamados algoritmos de cache) podem controlar qual parte do código ficará copiado na cache, a cada momento. • Quando a MP busca um determinado trecho de código e o encontra na cache, dá-se um "cache hit”, enquanto se o dado não estiver presente na cache será necessário requisitar o mesmo à MP, acarretando atraso no processamento e dá-se um "cache miss" ou "cache fault". • O índice de cache hit ou taxa de acerto da cache é geralmente acima de 90%.
    • ArquiteturaeorganizaçãodeComputadores Funções de cada Componente de um Computador 26 Funções de cada Componente de um Computador - Memória Memória Cache • Características: • • Tempo de acesso: tendo em vista que a UCP acessa primeiro a memória cache, para buscar a informação requerida, possuem tempo de acesso entre 5 e 25 ns. • Capacidade: os valores típicos de memória cache oscilam entre 512 K a 2 M em máquinas de grande porte e em máquinas tipo microcomputador de 512 K a 1 M. • Volatilidade: são dispositivos constituídos de circuitos eletrônicos, logo requerem energia elétrica para seu funcionamento. • Temporariedade: devido a seu tamanho não ser grande e ser utilizada por todos os programas em execução, há a necessidade de alteração periódica da informação armazenada para permitir entrada de novas informações. • Custo: o custo de fabricação das memórias cache é alto.
    • ArquiteturaeorganizaçãodeComputadores Funções de cada Componente de um Computador 27 Funções de cada Componente de um Computador - Memória Memória Cache • Como a CACHE é vantajosa em termos de velocidade de acesso, um pouco dela é inserido no sistema, seja na placa-mãe e, em alguns casos, até mesmo dentro da pastilha do microprocessador. • Existem dois níveis de cache dentro de um computador. • O nível L1 fica dentro do processador e encarrega-se de agilizar a execução do microcódigo, que é um programa que fica executando dentro da UCP, fazendo-a reconhecer as instruções dos programas que usamos. • O outro nível de cache é conhecido por L2. Pode vir dentro da pastilha do microprocessador e ser complementado por mais alguns circuitos integrados da placa-mãe. A função deste tipo de cache é tornar mais rápido o resgate e a gravação de informações de programas do usuário na memória RAM. • Mas não se pode inserir memória cache em quantidade aleatória para ganhar desempenho. Existe um limite prático para cada arquitetura. Hoje se tem 1 ou 2 gigabytes de RAM e usa-se normalmente 1 megabyte de cache. Estudos mostram que não adianta fazer a cache tão grande, pois o ganho de desempenho torna-se imperceptível com o aumento desse tipo de memória. • No padrão atual, estima-se que mais que 1MB de cache seria desperdício de dinheiro e de memória.
    • ArquiteturaeorganizaçãodeComputadores Funções de cada Componente de um Computador 28 Funções de cada Componente de um Computador - Memória Políticas de Substituição • Quando a cache está cheia e precisa ter seus dados substituídos uma atitude deve ser tomada: escolher quem sai da cache e quem permanece. Nesse momento faz-se necessário usar um dos métodos de substituição de páginas da cache: • Random : A substituição é feita sem critério de seleção definido. Os blocos são escolhidos aleatoriamente. Isso pode levar a sérios problemas de desempenho, pois a vítima escolhida pode ser aquele dado crucial para o funcionamento do programa. • LRU (Least Recently Used): Menor taxa de faltas - substitui aquele bloco que tem estado na cache por mais tempo sem ser usado pelo programa. • FIFO(First in First out): Substitui aquele bloco no conjunto que tem estado na cache por mais tempo. É o critério de fila estudado em Estruturas de Dados. Porém esse método pode não ser o mais justo, tendo em vista que o dado pode estar há muito tempo na cache e ser também aquele mais acessado pelo programa. • LFU(Least Frequently Used): Substitui aquele bloco dentro do conjunto que tem sido menos referenciado na cache. LFU pode ser implementado associando-se um contador a cada slot da cache. Além de ser um dos métodos mais justos de substituição, juntamente com o LRU.
    • ArquiteturaeorganizaçãodeComputadores Funções de cada Componente de um Computador 29 Funções de cada Componente de um Computador - Memória Como a cache trata as escritas • Quando a UCP busca um dado na cache e altera-o uma atitude deve ser tomada para garantir que este dado novo seja escrito em RAM, mas escrever na RAM pode degradar o desempenho do sistema. Portanto os sistemas deixam duas opções de configuração de escrita de cache. Normalmente essas opções estão disponíveis no programa da BIOS de seu PC, conhecido como SETUP. Eis as opções com os respectivos efeitos: • • Write through - Essa técnica faz com que toda operação de escrita na memória principal seja feita também na cache, assegurando que os dados na memória principal são sempre válidos. A principal desvantagem desse método é o acréscimo no tráfego de memória que pode gerar engarrafamento, além de degradar o desempenho geral do sistema. • • Write back - Essa técnica reduz escrita na memória. Atualizações ocorrem apenas na cache. Quando uma atualização ocorre, um bit UPDATE associado com o slot de memória é ligado. Quando um bloco é substituído, e este bit está ligado, o conteúdo da cache é gravado de volta na memória principal. O problema é que com a escrita de volta (“write back”) na memória principal, parte da memória principal continuará desatualizada até que haja uma nova atualização da cache. Isso pode complicar operações de entrada e saída que sejam feitas diretamente na RAM, conhecidas como operações de DMA (Acesso Direto a Memória).
    • ArquiteturaeorganizaçãodeComputadores Funções de cada Componente de um Computador 30 Funções de cada Componente de um Computador - Memória Memória Principal ou RAM • Uma das principais características definidas no projeto de arquitetura do sistema de Von Neumann, o qual se constitui na primeira geração de computadores, consistia no fato de ser uma máquina “de programa armazenado”. • O fato de as instruções, uma após a outra, poderem ser imediatamente acessadas pela UCP é o que garante o automatismo do sistema e aumenta a velocidade de execução dos programas. • Tempo de acesso: possuem tempo de acesso entre 50 ns e 150 ns. • Capacidade: os valores típicos para microcomputadores, estão na faixa de 1 a 4 GB. • Volatilidade: sendo construído com semicondutores e circuitos eletrônicos correlatos, este tipo de memória também é volátil. • Temporalidade: para que um programa seja executado é necessário que ele seja armazenado na memória principal. Atualmente esta afirmação é parcialmente verdadeira, visto que não é mais necessário que o programa completo esteja na MP, e sim armazenada, apenas, a instrução que será acessada pela UCP. No entanto, a transitoriedade com que as informações permanecem armazenadas na MP é, em geral, mais duradoura que na memória cache e registradores.
    • ArquiteturaeorganizaçãodeComputadores Funções de cada Componente de um Computador 31 Funções de cada Componente de um Computador - Memória Memória Secundária • Memórias secundárias resolvem problemas de armazenamento de grandes quantidades de informações. • A capacidade da MP é limitada pelo seu relativamente alto custo, enquanto as memórias secundárias têm maior capacidade e menor custo; portanto, o custo por bit armazenado é muito menor. • Outra vantagem importante é que as memórias secundárias não são VOLÁTEIS, isto é, não dependem de estar energizadas para manter gravado seu conteúdo. • Os principais dispositivos de memória auxiliar são: discos rígidos (ou HD), pendrives, unidades de fita, CD-ROM, DVD, unidades ótico-magnéticas, etc. • Tempo de acesso: os valores típicos para disco rígidos são na faixa de 10 a 40 ms. Discos do tipo CD-ROM trabalham com tempos de acesso ainda maiores, na faixa de 200 a 500 ms, enquanto as fitas magnéticas são ainda mais lentas, podendo ler um arquivo em tempos da ordem de segundos. • Capacidade: uma das características que coloca a memória secundária na base da pirâmide é justamente sua grande capacidade de armazenamento. Discos rígidos de microcomputadores podem, atualmente, ser encontrados com capacidade de 300, 500 Gbytes, 1 TB, etc. Pendrives têm capacidades a partir de 4 Gbytes. Os CD-ROM têm capacidade de 650 Mbytes. Os DVD podem atingir até 50GB de capacidade dependendo do tipo de gravação utilizada. • Volatilidade: as informações não desaparecem com a falta de energia elétrica, logo não são voláteis. • Temporariedade: têm caráter permanente, ou pelo menos, de longo período de armazenagem.
    • ArquiteturaeorganizaçãodeComputadores Funções de cada Componente de um Computador 32 Funções de cada Componente de um Computador - MEMÓRIA PRINCIPAL Memória Principal • Essa é a memória considerada principal em qualquer sistema de computação. • De tão importante, chega a tornar algumas arquiteturas incompatíveis entre si. • Devido à forma de organização de memória, alguns computadores lêem o byte a partir do bit de mais alta ordem, outros lêem a partir do bit de mais baixa ordem. • Isso significa, na prática, como se um sistema lesse o byte da esquerda para a direita e o outro pelo caminho inverso, o que torna claro que esses dois tipos de sistemas não conseguem se entender. • A memória RAM do computador também é conhecida como RAM Dinâmica, pois seu funcionamento é baseado em flip-flops, que precisam de realimentação constante. Essa necessidade desse tipo de circuito dá a característica dinâmica desse tipo de memória. • Nos sistemas atuais também é comum haver uma via de acesso privativa entre a UCP e a RAM, conhecida como barramento de memória ou barramento local.
    • ArquiteturaeorganizaçãodeComputadores Funções de cada Componente de um Computador 33 Funções de cada Componente de um Computador - MEMÓRIA PRINCIPAL Estrutura da Memória Principal – Células e Endereços • Se uma memória tem n células o sistema de endereçamento numera as células sequencialmente a partir de zero até n-1, sendo que esses endereços são fixos e representados por números binários. • A quantidade de bits em um endereço está relacionada à máxima quantidade de células endereçáveis. Por exemplo, se um endereço possui m bits o número máximo de células diretamente endereçáveis é 2m. • A maioria dos fabricantes de computador padronizaram o tamanho da célula em 8 bits (1 Byte). Bytes são agrupados em palavras, ou seja, a um grupo de bytes (2, 4, 6, 8 Bytes) é associado um endereço particular. O significado de uma palavra é que a maioria das instruções opera em palavras inteiras. • Algumas arquiteturas como os PCs organizam as células de memória em segmentos e offsets. Esse padrão ajuda a ter maiores possibilidades de instalação e uso de mais espaço de memória.
    • ArquiteturaeorganizaçãodeComputadores Funções de cada Componente de um Computador 34 Funções de cada Componente de um Computador - MEMÓRIA PRINCIPAL Estrutura da Memória Principal – Células e Endereços • Célula: é a unidade de armazenamento do computador. A memória principal é organizada em células. Célula é a menor unidade da memória que pode ser endereçada (não é possível buscar uma "parte" da célula) e tem um tamanho fixo (para cada máquina). • As memórias são compostas de um determinado número de células ou posições. Cada célula é composta de um determinado número de bits. • Todas as células de um dado computador têm o mesmo tamanho, isto é, todas as células daquele computador terão o mesmo número de bits.
    • ArquiteturaeorganizaçãodeComputadores Funções de cada Componente de um Computador 35 Funções de cada Componente de um Computador - MEMÓRIA PRINCIPAL Estrutura da Memória Principal – Células e Endereços • Cada célula é identificada por um endereço único, pela qual é referenciada pelo sistema e pelos programas. As células são numeradas seqüencialmente, uma a uma, de 0 a (N-1), chamado o endereço da célula. • Endereço: é o localizador da célula, que permite identificar univocamente uma célula. Assim, cada célula pode ser identificada pelo seu endereço.
    • ArquiteturaeorganizaçãodeComputadores Funções de cada Componente de um Computador 36 Funções de cada Componente de um Computador - MEMÓRIA PRINCIPAL Estrutura da Memória Principal – Células e Endereços • Unidade de transferência é a quantidade de bits que é transferida da memória em uma única operação de leitura ou transferida para a memória em uma única operação de escrita. O tamanho da célula poderia ser igual ao da palavra, e também à unidade de transferência, porém por razões técnicas e de custo, são freqüentemente diferentes. • Palavra: é a unidade de processamento da UCP. Uma palavra deve representar um dado ou uma instrução, que poderia ser processada, armazenada ou transferida em uma única operação. No entanto, em geral não é assim que acontece e os computadores comerciais não seguem um padrão único para a organização da UCP e MP. Computadores comerciais (tais como, por exemplo, os baseados nos processadores Intel 486) podem ter o tamanho da palavra definido como de 32 bits, porém sua estrutura de memória tem células de 16 bits. • • A estrutura da memória principal é um problema do projeto de hardware: - mais endereços com células menores ou - menos endereços com células maiores? - O tamanho mais comum de célula era 8 bits (1 byte); hoje já são comuns células contendo vários bytes.
    • ArquiteturaeorganizaçãodeComputadores Funções de cada Componente de um Computador 37 Funções de cada Componente de um Computador - MEMÓRIA PRINCIPAL Estrutura da Memória Principal – Células e Endereços • Número de bits para representar um endereço - Expressão geral: MP com endereços de 0 a (N-1). N = 2x • sendo x = nº de bits para representar um endereço e N o número de endereços • Capacidade da Memória Principal - A capacidade da MP em bits é igual ao produto do nº de células pelo total de bits por célula. T = N x M • T = capacidade da memória em bits • N = nº de endereços (como vimos anteriormente, N=2x sendo x = nº de bits do endereço) • M = nº de bits de cada célula • Para encontrar a capacidade em bytes, bastaria encontrar a capacidade em bits e depois multiplicar por 8 (cada byte contém 8 bits) ou então converter o tamanho da célula para bytes e depois multiplicar pelo número de células.
    • ArquiteturaeorganizaçãodeComputadores Funções de cada Componente de um Computador 38 Funções de cada Componente de um Computador - MEMÓRIA PRINCIPAL Operações com Memória Principal • É possível realizar duas operações em uma memória: – escrita (“write”) – armazenar informação na memória; – leitura (“read”) – recuperar uma informação armazenada na memória. • A operação de leitura não destrói o conteúdo da memória, ela apenas providencia a transferência de uma cópia do que está armazenado, enquanto a informação desejada continua armazenada. • Somente a operação de escrita é destrutiva.
    • ArquiteturaeorganizaçãodeComputadores Funções de cada Componente de um Computador 39 Funções de cada Componente de um Computador - MEMÓRIA PRINCIPAL Operações com Memória Principal
    • ArquiteturaeorganizaçãodeComputadores Funções de cada Componente de um Computador 40 Funções de cada Componente de um Computador - MEMÓRIA PRINCIPAL Operações com Memória Principal
    • ArquiteturaeorganizaçãodeComputadores Funções de cada Componente de um Computador 41 Funções de cada Componente de um Computador - Agente Secreto 89 • O Agente Secreto 89 está tentando descobrir quantos dias faltam para um certo líder mundial ser assassinado. • O seu contato lhe diz que esta informação está localizada em uma série de caixas postais. • Para assegurar que ninguém mais tenha acesso à informação, ela está espalhada em 10 caixas. O seu contato lhe dá as 10 chaves, acompanhadas das seguintes instruções: 1. A informação em cada caixa está escrita em código 2. Abra a caixa 1, primeiro, e execute a instrução lá localizada. 3. Continue pelo restante das caixas, em seqüência, salvo instrução em contrário. 4. Uma das caixas está preparada para ser explodida ao ser aberta. • O Agente Secreto 89 pega as 10 chaves e vai para a agência do correio, com o livro de códigos em mãos.
    • ArquiteturaeorganizaçãodeComputadores Funções de cada Componente de um Computador 42 Funções de cada Componente de um Computador - Agente Secreto 89 • A Tabela abaixo mostra os conteúdos das 10 caixas de correio, depois de terem sido decodificados. Suponha que você é o Agente Secreto 89; comece pela caixa 1 e percorra a seqüência das operações para encontrar o número de dias que faltam para a tentativa de assassinato.
    • ArquiteturaeorganizaçãodeComputadores Funções de cada Componente de um Computador 43 Funções de cada Componente de um Computador - Agente Secreto 89 • Se você procedeu corretamente, você deve ter terminado na caixa 6, com uma resposta igual a 17. • Se você cometeu algum erro, você pode ter aberto a caixa 7, não estando mais conosco, neste caso. • À medida que você passou pela seqüência de operações, você duplicou, essencialmente, os tipos de operações e encontrou muito dos conceitos que fazem parte de um computador. • As caixas postais são como a memória em um computador, onde são armazenados instruções e dados. As caixas postais de 1 a 6 contêm instruções a serem executadas pelo agente secreto, e as caixas de 8 a 10 contém os dados referenciados pelas instruções (o conteúdo da caixa 7, pelo que sabemos, não tem equivalente em computadores). Os números de cada caixa são os endereços das locações na memória. • Três classes diferentes de instruções estão presentes nas caixas de 1 a 6. As caixas 1, 2, 3 e 5 são instruções que “chamam” operações aritméticas. A caixa 4 contém uma instrução de decisão, chamada de desvio condicional. Esta instrução diz ao agente (ou computador) para decidir se pula para o endereço 7 ou continua para o endereço 5, dependendo do resultado da operação aritmética anterior. A caixa 6 contém uma simples instrução de controle que não precisa de dados, nem faz referência a outro endereço (número de caixa). Essa instrução, pare, diz ao agente que o problema está terminado (o programa está completado) e que não deve continuar adiante.
    • ArquiteturaeorganizaçãodeComputadores Funções de cada Componente de um Computador 44 Funções de cada Componente de um Computador - Agente Secreto 89 • Cada uma das operações aritméticas e de desvio condicional consiste em duas partes – uma operação e um endereço. • Por exemplo, a primeira parte da primeira instrução especifica a operação de adição. • A segunda parte dá o endereço (caixa 9) dos dados a serem usados na adição. • Estes dados são, usualmente, chamados de operandos e seu endereço é chamado de endereço de operando. • A instrução na caixa 5 é um caso especial em que não há especificação de endereço de operando. • Em vez disso, o operando (dado) a ser usado na operação de subtração é incluído como parte da instrução. • Um computador, assim como o agente secreto, decodifica e, então, executa as instruções armazenadas na memória, seqüencialmente, começando pela primeira locação. • As instruções são executadas na ordem, a não ser que algum tipo de instrução de desvio (como a caixa 4) cause desvio, ou pulo, para um novo endereço para obter a próxima instrução. • Uma vez ocorrido o desvio, as instruções são executadas seqüencialmente, começando do novo endereço.
    • ArquiteturaeorganizaçãodeComputadores Funções de cada Componente de um Computador 45 Funções de cada Componente de um Computador - UNIDADE CENTRAL DE PROCESSAMENTO • Toda Unidade Central de Processamento (UCP ou CPU) faz sempre a mesma coisa desde que é energizada até ser desligada, fica sempre buscando a próxima instrução a ser executada. • Caso exista alguma “na vez” esta é decodificada, seja pelo microprograma no caso dos computadores CISC (Conjunto Completo de Instruções) ou pelos circuitos especializados no caso do RISC (Conjunto Reduzido de Instruções). • Os microprocessadores atuais são compostos de: ULA – Unidade Lógico-Aritmética, UC – Unidade de Controle, MAR – Registrador de Endereço de Memória, MBR – Registrador de Bloco de Memória, PC – Contador de Programas, Registradores de Uso Geral e outros componentes. • No princípio, a maioria desses componentes ficavam separados na placa-mãe, daí a necessidade de os computadores que seguem o padrão Von Newmann fazerem cópias de dados e endereços para dentro da UCP durante o processamento.
    • ArquiteturaeorganizaçãodeComputadores Funções de cada Componente de um Computador 46 Funções de cada Componente de um Computador - UNIDADE CENTRAL DE PROCESSAMENTO • A função da UCP consiste em: • • Buscar uma instrução na memória (operação de leitura), uma de cada vez; • Interpretar que operação a instrução está explicitando (pode ser soma de dois números, uma multiplicação, uma operação de entrada ou de saída de dados, ou ainda uma operação de movimentação de um dado de uma célula para outra); • Buscar os dados onde estiverem armazenados, para trazê-los até a UCP; • Executar efetivamente a operação com os dados, guardar o resultado (se houver algum) no local definido na instrução; e, finalmente; • Reiniciar o processo apanhando nova instrução.Estas etapas compõem o que se denomina um ciclo de instrução. Este ciclo se repete indefinidamente (ver Figura 5.8) até que o sistema seja desligado, ou ocorra algum tipo de erro, ou seja, encontrada uma instrução de parada.
    • ArquiteturaeorganizaçãodeComputadores Funções de cada Componente de um Computador 47 Funções de cada Componente de um Computador - UNIDADE CENTRAL DE PROCESSAMENTO • As atividades realizadas pela UCP podem ser divididas em duas grandes categorias funcionais: • 1) Função processamento - Vimos que processamento de dados é a ação de manipular um ou mais valores (dados) em certa seqüência de ações, de modo a produzir um resultado útil. O resultado muda conforme o tipo de operação realizada. Por exemplo, se uma instrução define que deve ser realizada uma operação de adição sobre os valores A = 5 e B = 3, o sistema, ao interpretar a instrução, gera as ações subseqüentes que redundarão no resultado igual a 5+3 = 8. Por outro lado, se o sistema interpretar uma outra instrução que define a operação de subtração, ele deve gerar outras ações de modo que o resultado seja 5-3 = 2 (e não mais 8). • Processar o dado é executar com ele uma ação que produza algum tipo de resultado. • Este é, pois, a atividade-fim do sistema; ele existe para processar dados. • O dispositivo principal desta área de atividade de uma UCP é chamado ULA – Unidade Lógica e Aritmética. Os demais componentes relacionados com a função processamento são os registradores, que servem para armazenar dados (ou para guardar resultados) a ser usados pela ULA. A interligação entre estes componentes é efetuada pelo barramento interno da UCP.
    • ArquiteturaeorganizaçãodeComputadores Funções de cada Componente de um Computador 48 Funções de cada Componente de um Computador - UNIDADE CENTRAL DE PROCESSAMENTO • 2) Função controle - A área de controle de uma UCP é a parte funcional que realiza (uma etapa de cada vez, em sistema de execução serial, ou várias etapas simultaneamente, em sistemas de execução “pipelining”) as atividades de: • a) Busca de instrução que será executada, armazenando-a em um registrador especialmente projetado para esta finalidade; • b) Interpretação das ações a serem desencadeadas com a execução da instrução (se é uma soma, uma subtração, uma complementação, etc.); e • c) Geração de sinais de controle apropriado para ativação requerida para a execução propriamente dita da instrução identificada. Esses sinais de controle são enviados aos diversos componentes do sistema, sejam internos da UCP (como a ULA) ou externos (como a memória ou E/S). • • Em outras palavras, a área de controle é projetada para entender o que fazer, como fazer e comandar quem vai fazer no momento adequado. • Podemos fazer uma analogia com os seres humanos, imaginando que a área de controle é o cérebro que comanda o ato de andar. • As áreas do processamento são os músculos e ossos das pessoas que realizam efetivamente o ato. • Os nervos são análogos ao barramento de interligação entre os diversos elementos.
    • ArquiteturaeorganizaçãodeComputadores Funções de cada Componente de um Computador 49 Funções de cada Componente de um Computador - UNIDADE CENTRAL DE PROCESSAMENTO • 2) Função controle - A área de controle de uma UCP é a parte funcional que realiza (uma etapa de cada vez, em sistema de execução serial, ou várias etapas simultaneamente, em sistemas de execução “pipelining”) as atividades de: • a) Busca de instrução que será executada, armazenando-a em um registrador especialmente projetado para esta finalidade; • b) Interpretação das ações a serem desencadeadas com a execução da instrução (se é uma soma, uma subtração, uma complementação, etc.); e • c) Geração de sinais de controle apropriado para ativação requerida para a execução propriamente dita da instrução identificada. Esses sinais de controle são enviados aos diversos componentes do sistema, sejam internos da UCP (como a ULA) ou externos (como a memória ou E/S). • • Em outras palavras, a área de controle é projetada para entender o que fazer, como fazer e comandar quem vai fazer no momento adequado. • Podemos fazer uma analogia com os seres humanos, imaginando que a área de controle é o cérebro que comanda o ato de andar. • As áreas do processamento são os músculos e ossos das pessoas que realizam efetivamente o ato. • Os nervos são análogos ao barramento de interligação entre os diversos elementos.
    • ArquiteturaeorganizaçãodeComputadores Funções de cada Componente de um Computador 50
    • ArquiteturaeorganizaçãodeComputadores Funções de cada Componente de um Computador 51