cpu e memórias 2015
DESCRIPTION
unidade de processamento, ULA e outros assuntos.TRANSCRIPT
-
Memrias
CPU e Memrias
Parte final
-
Agora que vocs j esto craques
em binrios...
-
Lembrando ...
-
Diagrama da CPU
-
5
As atividades
realizadas por um
processador (suas
funes) podem ser
divididas em duas
grandes categorias:
Funo Processamento
Funo Controle
-
6
Funo Processamento Vejam os esquema
ao lado. Em
destaque, esto os
elementos da CPU
que iremos
abordar em
seguida.
-
7
Sobre a ULA (1)
Soma
Subtrao
Multiplicao
Diviso
Operao lgica AND
Operao lgica OR
Incremento /
decremento de 1 a um
valor
o dispositivo principal da
funo processamento,
realizando efetivamente as
operaes primitivas da
mquina, envolvendo as
operaes matemticas e
lgicas com os dados.
-
8
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.
X = 1
Y = 1
Circuito
Somador
Entrada
Sada
Z = 0
ULA
C = 1
Para ACC
X = 1
Y = 1
Circuito
Somador
Entrada
Sada
Z = 0
ULA
C = 1
Para ACC
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 CPU)
-
9
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;
-
10
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
-
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).
-
12
Funo de controle ... Nos prximos
slides veremos os
elementos que
fazem parte da
funo de controle,
assinalados em
amarelo no
esquema da CPU
-
13
Funo de controle (2)
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).
Dispositivos bsicos da rea de controle
-
14
Funcionamento bsico do
processo (3) 1. Busca da instruo na memria a instruo armazenada na memria, no
endereo armazenado no contador de
instrues (CI), transferida (uma cpia)
para o registrador de instruo (RI);
2. O CI incrementado, passando a
armazenar o endereo da prxima
instruo;
3. Decodificao da operao;
4. 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;
5. Execuo da operao;
6. Escrita do resultado na memria.
-
15
Unidade de controle (UC)
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).
-
16
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.
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.
-
17
Agora, vamos ver
os outros
componentes
destacados em
amarelo no slide
12. So eles:
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).
-
18
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.
-
19
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.
-
20
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.
-
21
Por fim, dois registradores
muito importantes ...
Registrador de Dados de
Memria (RDM)
Registrador de Endereos de
Memria (REM)
-
22
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.
-
23
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).
-
Principal RAM
Cache
Memrias
-
RAM
Disco rgido Winchester / HD
Memria Principal
Tipos de memria
Memrias Secundrias Fita magntica
Pen drive
-
Hierarquia de memria
Registradores
Memria Cache
Memria Principal
Memria Secundria
Maior
Capacidade de
Armazenamento
Maior Custo
Maior Velo-
cidade 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 (N-
1).
-
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.
-
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.
Funcionamento da Cache (2)
-
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:
-
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).
Algoritmos para substituio de dados
na cache (2)