Arquitetura de Computadores
UNIDADE 4
“Arquitetura de Microprocessadores ”
Sumário
• Interrupções;• Memória Cache
12-02-2019
MicroprocessadoresARQUITETURA DE UM MICROPROCESSADOR
Por vezes o CPU interrompe o seu trabalho para atender outrospedidos. Para esse efeito, o CPU possui linhas de interrupção própriasque disponibiliza para atender interrupções provenientes dedispositivos exteriores (por exemplo, uma tecla premida). Para atendertem de saber onde interrompeu o trabalho anterior, paraposteriormente poder retomar a execução do programa principal.Assim, só é possível o CPU conseguir este efeito, se armazenartemporariamente a informação de que estava a tratar nesse momentoem memória.
Interrupções
CTRL + ALT + Delete
Quando o utilizador pressiona esta sequencia de teclas o processadorinterrompe tudo o que está a fazer, para atender este comando.
MicroprocessadoresARQUITETURA DE UM MICROPROCESSADOR
Interrupções
a) O Conteúdo do registo PC(endereço de memória) é guardadana Stack. (1)
b) Guardam-se os valores dos registosinternos a ser utilizados aquando dainterrupção, igualmente na Stack.(1). O apontador SP é incrementadopara apontar para a próximaposição da pilha, isto é, para aposição imediatamente acima.(2)
PC - Program Controler, onde são guardadas o endereço de memória da próxima instrução a ser lida na memória
Quando o CPU está perante uma interrupção, entra em ação um registoespecial de nome Stack Pointer (SP) e o comportamento pode serresumido nos seguintes passos:
MicroprocessadoresARQUITETURA DE UM MICROPROCESSADOR
Interrupções
c) Atender a interrupção passandoo PC a apontar para a zona dememória onde está o programa aser executado durante ainterrupção (3).
d) Terminada a execução dainterrupção (4), são recuperadosda Stack os valores que osregistos internos tinham antesda interrupção, o valor do PC e oapontador SP é decrementado(5).
e) Finalmente retoma a execuçãodo programa interrompido (6).
MicroprocessadoresARQUITETURA DE UM MICROPROCESSADOR
Interrupções
No entanto, pode ocorrer outrainterrupção. Esta situação não temlimites e pode ocorrer tantas vezesquantas forem necessárias.
A ordem pela qual a informação dasinterrupções é armazenada na Stacke posteriormente extraída seguenormalmente uma lógica LIFO (LastIn First Out) ou melhor do tipopilha (Stack). A última interrupçãoserá a primeira a ser atendida.
MicroprocessadoresARQUITETURA DE UM MICROPROCESSADOR
Interrupções
Em suma, o CPU necessita dearmazenar em memória:
▪ Instruções;▪ Dados;▪ Informação que permita retomar
a execução de um programapreviamente interrompido.
MicroprocessadoresARQUITETURA DE UM MICROPROCESSADOR
Questão.
Qual o nome da zona especial da memória que tem como finalidadeguardar informação relativa a interrupções?
R - A Stack / Pilha é a zona da memória responsável por guardar a informação relativa a interrupções.
MicroprocessadoresMEMÓRIA CACHE
Os processadores estão continuamente aaumentar a sua velocidade de relógio (lei deMoore*) e os componentes externos deixarammuito cedo de acompanhar tal evolução. Assim, oacesso à RAM tornou-se lento de mais, atrasandosignificativamente o trabalho do processador.Para esse efeito, desenvolveu-se uma soluçãobaseada em buffers de nome cache. Trata-se deuma memória de alta velocidade que permiteguardar pequenas quantidades de dados, queterão maior probabilidade de vir a sernecessárias ao CPU.
*Lei de MooreLei que descreve atendência do númerode transístorescolocados numcircuito integradoaumentar para odobro cada 2 anos
MicroprocessadoresMEMÓRIA CACHE
Assim, na arquitetura básica anterior teríamosde incluir a memória cache, que teria seriaacedida antes de procurar (fetch) a instruçãona memória principal (RAM), através do que sedenomina por unidade prefetch.
Existem três tipos de memórias cache:
▪ L1 – Cache de nível 1 (Level 1);▪ L2 – Cache de nível 2 (Level 2);▪ L3 – Cache de nível 3 (Level 3);
MicroprocessadoresMEMÓRIA CACHE
• Foi integrada num microprocessador pelaprimeira vez com o intel 486DX.
• Possui uma capacidade muito reduzida entre8 KB a 64 KB, pois o seu objetivo é seremrápidas.
• A grande vantagem desta memória é o CPUnão recorrer tantas vezes ao exterior (RAM)para obter a informação que necessita.
L1 – Cache de nível 1 (Level 1)
MicroprocessadoresMEMÓRIA CACHE
• Encontra-se integrada no Próprio CPU, peloque consegue acompanhar a velocidadeinterna, não dependendo da velocidade doBUS.
• Normalmente 90% das vezes (cache hit rate– taxa de sucesso) o CPU irá encontrar o quenecessita na cache, aumentando aperformance do sistema.
• Quando o CPU não encontra a informação naCache diz-se que a cache falhou (cache miss),sendo necessário recorrer à memóriaprincipal (ou a outro nível de cache).
L1 – Cache de nível 1 (Level 1)
MicroprocessadoresMEMÓRIA CACHE
• Desenvolvida para dar resposta aos 10% devezes que o CPU não encontra a informaçãopretendida na cache nível L1.
• Inicialmente eram externas, isto é, o acessodependia da velocidade do BUS.
• Atualmente situa-se no interior do CPU,integrada no Chip, tal como a nível L1, logobeneficia da velocidade interna do CPU,reduzindo assim o tempo de pesquisa.
• Possui uma capacidade maior que a cache L1,geralmente 256 KB, uma vez que é menosacedida.
• Garante igualmente uma taxa de sucesso deacesso em 90%.
L2 – Cache de nível 2 (Level 2)
MicroprocessadoresMEMÓRIA CACHE
• Este tipo de cache está cada vez mais a serutilizada, devido principalmente às recentesarquiteturas de processadores que envolvemprocessadores com vários núcleos deprocessamento.
• Estes núcleos geralmente partilham a cacheL3 que é a de maior capacidade de todas.
• Capacidade varia geralmente entre 4 a 8 MB.
• Encontra-se igualmente integrada noprocessador.
L3 – Cache de nível 3 (Level 3)
MicroprocessadoresMEMÓRIA CACHE
• Esta cache é partilhada pelosnúcleos de um CPU.
L3 – Cache de nível 3 (Level 3)
O CPU consegue encontrar 99,9%das vezes o seu conteúdo na cache,não necessitando de aceder àmemória RAM. Este valor provém de90% da cache L1 mais 9% (90% de10%) da cache L2 mais 0,9% (90%de 1%) da cache L3.
Conclusão
Microprocessadores
Questão.
Quais são os tipos de cache que conhece? Quais as suascapacidades e que vantagem ou vantagens um sistema informáticotem ao possuir este tipo de memórias.
MEMÓRIA CACHE