Sei sulla pagina 1di 45

Memrias

CPU e Memrias
Parte final

Agora que vocs j esto craques


em binrios...

Lembrando ...

Diagrama da CPU

As atividades
realizadas por um
processador (suas
funes) podem ser
divididas em duas
grandes categorias:

Funo Processamento
Funo Controle

Funo Processamento
Vejam os esquema
ao lado. Em
destaque, esto os
elementos da CPU
que iremos
abordar em
seguida.

Sobre a ULA (1)


o dispositivo principal da
funo processamento,
realizando efetivamente as
operaes primitivas da
mquina, envolvendo as
operaes matemticas e
lgicas com os dados.

Soma
Subtrao
Multiplicao
Diviso
Operao lgica AND
Operao lgica OR
Incremento /
decremento de 1 a um
valor
7

Sobre a ULA (2)

Geralmente as operaes da ULA utilizam dois valores


(op. Aritmticas), por isso ela possui duas entradas de
dados, sendo que ambas as entradas se conectam
sada (resultado da operao efetuada) pelo barramento
interno de dados.
ULA

Sada
X=1

Circuito
Somador

Z=0

Para ACC

C=1

Y=1
Entrada

X e Y valores que sero somados (1 + 1 = 0 e vai 1)


Z resultado da operao
C bit de vai 1 = 1 (vai para um registrador especial para ser utilizado mais tarde pela
8
CPU)

Registradores

Servem para armazenar dados


(ou para guardar resultados),
que sero usados pela ULA,
ou resultados parciais das
operaes, de modo que
possam ser reutilizados mais
adiante (por outra instruo),
ou apenas para ser, em
seguida, transferidos para a
memria (cache ou ram);
Os processadores so
fabricados contendo certa
quantidade de registradores,
destinados ao armazenamento
de dados;

Exemplo: CPU Intel

8 registradores de
mesmo tamanho,
denominados de
emprego geral (dados);
6 registradores de 16 bits
denominados
registradores de
segmento, que
funcionam para o clculo
dos endereos de acesso
memria na execuo
de programas.
Os 8 registradores
10

Funo de Controle
Exercida pelos componentes do processador que
se encarregam das atividades de busca,
interpretao e controle da execuo das
instrues, bem como do controle da ao dos
demais componentes do sistema de computao
(memrias, entrada/sada).

Funo de controle ...


Nos prximos
slides veremos os
elementos que
fazem parte da
funo de controle,
assinalados em
amarelo no
esquema da CPU

12

Funo de controle (2)


Dispositivos bsicos da rea de controle

Unidade de controle UC
Relgio ou clock

Registrador de instruo RI

Contador de instruo CI

Decodificador de instruo

Registrador de dados da
memria RDM (MBR) e
registrador de endereo de
memria REM (MAR).
13

Funcionamento bsico do
da instruo na memria a
processo (3) 1. Busca
instruo armazenada na memria, no
2.

3.
4.

5.
6.
14

endereo armazenado no contador de


instrues (CI), transferida (uma cpia)
para o registrador de instruo (RI);
O CI incrementado, passando a
armazenar o endereo da prxima
instruo;
Decodificao da operao;
Busca do operando decorrente da
decodificao e, consequentemente, a
ativao da sequncia apropriada para a
instruo especificada, ser efetuada a
operao de leitura do dado, seja na
memria (RAM ou cache), seja em um
registrador;
Execuo da operao;
Escrita do resultado na memria.

Unidade de controle (UC)

15

o dispositivo mais complexo do processador, possuindo a lgica


necessria para realizar a movimentao de dados e de instrues
de e para o processador.
A UC possui uma programao especfica para a execuo de cada
uma das diversas instrues de mquina que cada processador
possui implementado. A sequncia de microoperaes para
completar uma operao de soma diferente da sequncia para
executar uma operao de desvio, e assim por diante.
Por exemplo, antes da instruo ser executada pela ULA, ela
deve ser previamente decodificada pela UC, os operandos
previamente escritos nos registradores e se os sinais de controle
necessrios para ativar os componentes auxiliares no tivessem
sido emitidos.
Os sinais de controle emitidos pela UC ocorrem em vrios instantes
durante o perodo de realizao de um ciclo de instruo e, de
modo geral, todos possuem uma durao fixa e igual, originada em
um gerador de sinais denominado relgio (clock).

Clock (relgio)

A funo do relgio (clock) gerar pulsos de tenso de


durao fixa e em um ritmo constante. Em geral isso feito
atravs do emprego de um cristal de quartzo, um componente
capaz de emitir pulsos de tenso a intervalos notavelmente
precisos.
O intervalo de tempo decorrido entre o incio de um pulso e o
incio do pulso seguinte denomina-se ciclo de relgio ou ciclo
de maquina.
Por exemplo, temos um exemplo de microoperaes
realizadas para completar a busca de uma instruo da MP
para o Registrador de Instruo (RI). Cada microoperao
realizada em um instante de tempo Tn, sendo tais instantes
gerados pelo relgio.

16

Por exemplo, uma CPU de 800 MHz capaz de executar 800 milhes de
ciclos em um nico segundo, enquanto uma CPU de 2,5 GHz capaz de
executar 2,5 bilhes de ciclos de CPU em um segundo.

Agora, vamos ver


os outros
componentes
destacados em
amarelo no slide
12. So eles:

17

Registrador de instruo RI
Contador de instruo CI
Decodificador de instruo
Registrador de dados da
memria RDM (MBR) e
registrador de endereo de
memria REM (MAR).

Registrador de Instrues (RI)

o registrador que tem a funo especfica de armazenar


a instruo a ser executada pelo processador. Ao se
iniciar o ciclo de instruo, a UC emite sinais de controle
em seqncia no tempo, de modo que se processe a
realizao de um ciclo de leitura para busca a instruo na
memria (cpia). Ao final deste ciclo de leitura a instruo
desejada ser armazenada no RI.

18

Contador de Instrues (CI)


O contador de instrues (Program Counter PC) quem
armazena o endereo da (aponta para a) prxima instruo
a ser executada. Determina a sequncia (fluxo) de execuo de
um programa, endereando instruo por instruo.
To logo a instruo que vai ser executada seja lida da memria
para o processador, o sistema automaticamente efetiva a
modificao do contedo do CI de modo que ele passe a
armazenar o endereo da prxima instruo na sequncia.
O CI um registrador crucial para o processamento de controle
e de sequenciamento da execuo dos programas.

19

Decodificador de Instruo
um dispositivo utilizado para identificar qual operao ser
realizada, correlacionada instruo cujo cdigo de operao foi
decodificado, ou seja, cada instruo uma ordem para que
o processador realize uma determinada operao. Como so
muitas instrues, necessrio que cada uma possua uma
identificao prpria e nica.
A UC est preparada para sinalizar adequadamente aos
diversos dispositivos do processador, conforme ela tenha
identificado a instruo a ser executada.
O decodificador recebe em sua entrada um conjunto de bits
previamente escolhido e especfico para identificar uma
instruo de mquina, denominado cdigo de operao.
20

Por fim, dois registradores


muito importantes ...
Registrador

de Dados de
Memria (RDM)
Registrador de Endereos de
Memria (REM)

21

Consideraes iniciais:

So os registradores utilizados pelo processador e pela


memria para comunicao e transferncia de
informaes. O RDM (ou MBR Memory Buffer Register)
possui tamanho igual ao do barramento de dados. Nos
processadores mais recentes o barramento de 64 bits
ou de 128 bits.
O REM (ou MAR Memory Address Register) possui
tamanho igual ao dos endereos da memria (tambm do
BE). Pelo tamanho em bits do REM podemos calcular o
espao mximo de endereamento da memria de um
computador.
Por exemplo, para processador de REM = 32 bits, temos
232 = 4 GB de endereos.
22

Continuando ...

Portanto, o CI e o RI so registradores especficos para


armazenamento, respectivamente, do endereo e da
instruo.
Enquanto o REM e o RDM so registradores de acesso
memria, ou seja para instruo ou dados.
Portanto, qualquer acesso memria deve ser efetuado por
meio do REM (para colocar o endereo no BE) e do RDM
(receber ou enviar o dado/instruo para o BD).

23

Memrias
Principal RAM
Cache

Tipos de memria
Memria
Principal

RAM

Disco rgido
Winchester / HD

Memrias
Secundrias

Fita magntica

Pen drive

Hierarquia de memria
Registradores

Maior
Capacidade de
Armazenamento

Memria Cache

Memria Principal

Memria Secundria

Maior Custo
Maior Velocidade de
Acesso

Memria Principal
RAM (Random Access
Memory)

Endereos de memria (1)

Acesso a memria feito atravs do


endereo de cada informao (a ser)
armazenada;
Cada clula identificada por um
endereo;
Memria organizada sequencialmente a
partir do endereo (0) at o endereo (N1).

Endereos de memria (2)

Endereos de memria (3)

Operaes possveis

So duas as operaes possveis:


Armazenar
Operao de escrita ou gravao (write)
Recuperar
Operaao de leitura (read)

Tipos de memria

As memria eletrnicas que empregam acesso aleatrio


podem ser fabricadas de modo a permitir dois tipos de
aplicao:
memria ROM (read only memory) memria acessada
apenas para leitura, no sendo possvel operaes de escrita.
Portanto, a memria ROM um tipo de RAM que s permite
leitura. Os dados so gravados fisicamente no chip como parte
do processo de fabricao.
memria RAM possibilita operaes de leitura/escrita (L/E) ou
R/W.
a memria RAM pode ser de dois tipos:
SRAM (static random access memory, ou RAM
esttica) e,
DRAM (dynamic random access memory, ou RAM
dinmica).

Memria
Memria Cache

Vimos at agora ...


Problema origem da mem. cache;
Tipo de memria utilizado na construo
da cache;
Funcionamento

Ciclo

de processamento com cache

Funcionamento da Cache (1)


A idia bsica de uma cache
simples: os dados e/ou
instrues usados com mais
freqncia so mantidos na
Memria Cache (MC). Quando a
CPU precisa dos dados e /ou
instrues, ela examina em
primeiro lugar na MC. Se
estiver, este fato denominado
acerto (ou hit). O dado (cpia)
transferido, pelo BD, da MC
para o processador em uma
velocidade muito maior que a
relao entre memria principal
e CPU.

Funcionamento da Cache (2)

Se os dados no estiverem na MC este fato


denominado falta (ou miss);

Nesse caso, os dados e/ou instrues so


transferidos da memria para os registradores,
mas, ao mesmo tempo tambm carregar (cpia)
dos dados e/ou instrues para a MC;

Da prxima vez que ela precisar dos mesmos dados


e/ou instrues, eles sero encontrados na cache,
economizando tempo.

Conceito de localidade

Programa executvel instrues executadas


sequencialmente;
O programa executado sequencialmente, com as
instrues sendo buscadas na MP para interpretao e
execuo e, naturalmente, os endereos vo se
sucedendo no contador de instrues (CI)
sequencialmente, exceto quando ocorre algum loop ou
comando de desvio;
Os programas em geral so, em mdia, executados de
forma semelhante, isto , em blocos de instrues
sequenciais, sendo algumas delas executadas mais de
uma vez em curtos intervalos de tempo, sendo que a
este comportamento dos programas em execuo,
chamou-se de princpio da localidade.
Programas tendem a usar o mesmo endereo em
um curto espao de tempo (loops)

Conceito de localidade (2)

Por este princpio, se um programa acessa uma instruo


e/ou dado na memria, h uma boa probabilidade de que o
acesso seguinte seja um dado e/ou instruo subseqente.
Considere o seguinte trecho de um programa:

indice = 1000
Enquanto indice diferente de zero
Iniciar
X(ndice) = A(Indice) + B(Indice)
ndice = ndice 1
Terminar

Neste exemplo, consideremos que a memria cache


capaz de armazenar este simples trecho do programa. Isto
significa que em 999 das 1000 o sistema obter um acerto,
ou seja, a taxa de acerto da ordem de 99,9%.

Nveis de cache

No incio nica cache


Caches multinvel
com

a evoluo das arquiteturas, torna-se


possvel uma cache no mesmo chip que o
processador.
em comparao com uma cache conectada por
meio de um barramento externo, a cache no chip
reduz a atividade do barramento externo do
processador e, portanto, agiliza o tempo de
execuo e aumenta o desempenho geral do
sistema, pois quando a leitura dos dados
efetuada na cache do chip, no existe acesso ao
barramento.

Nveis de cache (2)

Quando existem dois nveis de cache, a cache interna


designada de L1 (level 1) e a cache externa designada
com o nvel L2 (level 2). Processadores mais recentes
incorporaram a cache L3

Exemplo: Intel Core i7

O Intel Core i7, introduzido em novembro de 2008, implementa


04 processadores (ncleos), cada um com caches L1 e L2
dedicadas e com uma cache L3 compartilhada.

Continuando...

O acesso tem incio pela cache L1, tambm


denominada cache primria e sendo constituda de
elementos com tecnologia SRAM e com velocidade de
acesso igual do processador, acelerando bastante o
processamento. Portanto, a memria de nvel mais baixo
(L1) a que tem maior velocidade (e tambm maior
custo) e menor capacidade;
O processador sempre procura o dado e/ou instruo na
memria de menor nvel;
No encontrando na L1, buscar na L2...
Desta para a memria RAM e, finalmente, no
encontrando na RAM ir buscar o dado e/ou instruo no
disco.

Algoritmos para substituio de


dados na cache

Em um dado momento a memria cache pode estar sem


espao. O que fazer?
O problema se resume em definir qual dos dados e/ou
instrues armazenados na cache devem ser retirados
para dar lugar a um dado e/ou instruo que est sendo
transferido.
Por exemplo, os seguintes algoritmos poderiam ser
utilizados:

Algoritmos para substituio de dados


na cache (2)

LRU (last recently used) o sistema escolhe para ser


substitudo o dado e/ou instruo que estiver mais
tempo sem ser utilizado, ou seja, os dados e/ou
instrues que o processador no acessa h mais
tempo;
FIFO (first-in, first-out) o sistema escolhe os dados
e/ou instrues que esto h mais tempo na Cache,
independentemente de estar sendo usado ou no
pelo processador;
LFU (least frequently used) o sistema de controle
escolhe o bloco que tem tido menos acessos por
parte do processador (menos referncias).

Potrebbero piacerti anche