Você está na página 1de 52

Arquitetura e Organiz.

de Computadores – Paulo Fonseca

Arquitetura e Organização de
Computadores

Funções de cada Componente de um


Computador

Funções de cada Componente de um Computador 1


Sumário
Arquitetura e Organiz. de Computadores – Paulo Fonseca

• Unidade Central de Processamento


• Memória
– Memória Principal
• Os computadores não pensam
• Barramentos e interfaces

Funções de cada Componente de um Computador 2


Funções de cada Componente de um
Computador
Arquitetura e Organiz. de Computadores – Paulo Fonseca

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

Funções de cada Componente de um Computador 3


Funções de cada Componente de um
Computador
Arquitetura e Organiz. de Computadores – Paulo Fonseca

Funções de cada Componente de um Computador 4


Funções de cada Componente de um
Computador
Arquitetura e Organiz. de Computadores – Paulo Fonseca

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.

Funções de cada Componente de um Computador 5


Funções de cada Componente de
um Computador - Memória
Arquitetura e Organiz. de Computadores – Paulo Fonseca

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.

Funções de cada Componente de um Computador 6


Funções de cada Componente de
um Computador - Memória
Arquitetura e Organiz. de Computadores – Paulo Fonseca

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.

Funções de cada Componente de um Computador 7


Funções de cada Componente de
um Computador - Memória
Arquitetura e Organiz. de Computadores – Paulo Fonseca

Hierarquia de Memória

Funções de cada Componente de um Computador 8


Funções de cada Componente de
um Computador - Memória
Arquitetura e Organiz. de Computadores – Paulo Fonseca

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

Funções de cada Componente de um Computador 9


Funções de cada Componente de
um Computador - Memória
Arquitetura e Organiz. de Computadores – Paulo Fonseca

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

Funções de cada Componente de um Computador 10


Funções de cada Componente de
um Computador - Memória
Arquitetura e Organiz. de Computadores – Paulo Fonseca

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

Funções de cada Componente de um Computador 11


Funções de cada Componente de
um Computador - Memória
Arquitetura e Organiz. de Computadores – Paulo Fonseca

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).
Funções de cada Componente de um Computador 12
Funções de cada Componente de
um Computador - Memória
Arquitetura e Organiz. de Computadores – Paulo Fonseca

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.
Funções de cada Componente de um Computador 13
Funções de cada Componente de
um Computador - Memória
Arquitetura e Organiz. de Computadores – Paulo Fonseca

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.
Funções de cada Componente de um Computador 14
Funções de cada Componente de
um Computador - Memória
Arquitetura e Organiz. de Computadores – Paulo Fonseca

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 POST ( Power-On Self-
Test - testes automáticos na inicialização).
• 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.

Funções de cada Componente de um Computador 15


Funções de cada Componente de
um Computador - Memória
Arquitetura e Organiz. de Computadores – Paulo Fonseca

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.

Funções de cada Componente de um Computador 16


Funções de cada Componente de
um Computador - Memória
Arquitetura e Organiz. de Computadores – Paulo Fonseca

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.

Funções de cada Componente de um Computador 17


Funções de cada Componente de
um Computador - Memória
Arquitetura e Organiz. de Computadores – Paulo Fonseca

Memórias ROM

Funções de cada Componente de um Computador 18


Funções de cada Componente de
um Computador - Memória
Arquitetura e Organiz. de Computadores – Paulo Fonseca

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.

Funções de cada Componente de um Computador 19


Funções de cada Componente de
um Computador - Memória
Arquitetura e Organiz. de Computadores – Paulo Fonseca

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.

Funções de cada Componente de um Computador 20


Funções de cada Componente de
um Computador - Memória
Arquitetura e Organiz. de Computadores – Paulo Fonseca

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.

Funções de cada Componente de um Computador 21


Funções de cada Componente de
um Computador - Memória
Arquitetura e Organiz. de Computadores – Paulo Fonseca

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.

Funções de cada Componente de um Computador 22


Funções de cada Componente de
um Computador - Memória
Arquitetura e Organiz. de Computadores – Paulo Fonseca

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%.
Funções de cada Componente de um Computador 23
Funções de cada Componente de
um Computador - Memória
Arquitetura e Organiz. de Computadores – Paulo Fonseca

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 4 M em máquinas de grande porte e em máquinas tipo
microcomputador de 512 K a 8 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.

Funções de cada Componente de um Computador 24


Funções de cada Componente de
um Computador - Memória
Arquitetura e Organiz. de Computadores – Paulo Fonseca

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.

Funções de cada Componente de um Computador 25


Funções de cada Componente de
um Computador - Memória
Arquitetura e Organiz. de Computadores – Paulo Fonseca

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.

Funções de cada Componente de um Computador 26


Funções de cada Componente de
um Computador - Memória
Arquitetura e Organiz. de Computadores – Paulo Fonseca

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.

Funções de cada Componente de um Computador 27


Funções de cada Componente de
um Computador - Memória
Arquitetura e Organiz. de Computadores – Paulo Fonseca

Como o cache trata as escritas

• 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).

Funções de cada Componente de um Computador 28


Funções de cada Componente de
um Computador
Arquitetura e Organiz. de Computadores – Paulo Fonseca

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.
Funções de cada Componente de um Computador 29
Funções de cada Componente de
um Computador - Memória
Arquitetura e Organiz. de Computadores – Paulo Fonseca

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.

Funções de cada Componente de um Computador 30


Funções de cada Componente de um
Computador - MEMÓRIA PRINCIPAL
Arquitetura e Organiz. de Computadores – Paulo Fonseca

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.
Funções de cada Componente de um Computador 31
Funções de cada Componente de um
Computador - MEMÓRIA PRINCIPAL
Arquitetura e Organiz. de Computadores – Paulo Fonseca

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.

Funções de cada Componente de um Computador 32


Funções de cada Componente de um
Computador - MEMÓRIA PRINCIPAL
Arquitetura e Organiz. de Computadores – Paulo Fonseca

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.

Funções de cada Componente de um Computador 33


Funções de cada Componente de um
Computador - MEMÓRIA PRINCIPAL
Arquitetura e Organiz. de Computadores – Paulo Fonseca

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.
Funções de cada Componente de um Computador 34
Funções de cada Componente de um
Computador - MEMÓRIA PRINCIPAL
Arquitetura e Organiz. de Computadores – Paulo Fonseca

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.

Funções de cada Componente de um Computador 35


Funções de cada Componente de um
Computador - MEMÓRIA PRINCIPAL
Arquitetura e Organiz. de Computadores – Paulo Fonseca

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=NxM

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

Funções de cada Componente de um Computador 36


Funções de cada Componente de um
Computador - MEMÓRIA PRINCIPAL
Arquitetura e Organiz. de Computadores – Paulo Fonseca

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.

Funções de cada Componente de um Computador 37


Funções de cada Componente de um
Computador - MEMÓRIA PRINCIPAL
Arquitetura e Organiz. de Computadores – Paulo Fonseca

Operações com Memória Principal

Funções de cada Componente de um Computador 38


Funções de cada Componente de um
Computador - MEMÓRIA PRINCIPAL
Arquitetura e Organiz. de Computadores – Paulo Fonseca

Operações com Memória Principal

Funções de cada Componente de um Computador 39


Funções de cada Componente de um
Computador - Agente Secreto 89
Arquitetura e Organiz. de Computadores – Paulo Fonseca

• 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.
Funções de cada Componente de um Computador 40
Funções de cada Componente de um
Computador - Agente Secreto 89
Arquitetura e Organiz. de Computadores – Paulo Fonseca

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

Funções de cada Componente de um Computador 41


Funções de cada Componente de um
Computador - Agente Secreto 89
Arquitetura e Organiz. de Computadores – Paulo Fonseca

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

Funções de cada Componente de um Computador 42


Funções de cada Componente de um
Computador - Agente Secreto 89
Arquitetura e Organiz. de Computadores – Paulo Fonseca

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

Funções de cada Componente de um Computador 43


Funções de cada Componente de
um Computador - Memória
Arquitetura e Organiz. de Computadores – Paulo Fonseca

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.

Funções de cada Componente de um Computador 44


Funções de cada Componente de um
Computador - UNIDADE CENTRAL DE
Arquitetura e Organiz. de Computadores – Paulo Fonseca

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.
Funções de cada Componente de um Computador 45
Funções de cada Componente de um
Computador - UNIDADE CENTRAL DE
Arquitetura e Organiz. de Computadores – Paulo Fonseca

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.

Funções de cada Componente de um Computador 46


Funções de cada Componente de um
Computador - UNIDADE CENTRAL DE
Arquitetura e Organiz. de Computadores – Paulo Fonseca

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.

Funções de cada Componente de um Computador 47


Funções de cada Componente de um
Computador - UNIDADE CENTRAL DE
Arquitetura e Organiz. de Computadores – Paulo Fonseca

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.

Funções de cada Componente de um Computador 48


Funções de cada Componente de um
Computador - UNIDADE CENTRAL DE
Arquitetura e Organiz. de Computadores – Paulo Fonseca

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.

Funções de cada Componente de um Computador 49


Funções de cada Componente de
um Computador
Arquitetura e Organiz. de Computadores – Paulo Fonseca

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.

Funções de cada Componente de um Computador 50


Arquitetura e Organiz. de Computadores – Paulo Fonseca

Colaborações?

Críticas??

Dúvidas???

Sugestões????

Xingamentos?????

Funções de cada Componente de um Computador 51


Arquitetura e Organiz. de Computadores – Paulo Fonseca

B
E
O
B
B
A
O
M

R
F

I
N
I
N

G
O
A
L

IA
D
E
D
T
S
E
M
O
E
A.!
.!
N
A
.
.
.
.!

Funções de cada Componente de um Computador 52

Você também pode gostar