Oi pessoal tudo bem com vocês nas últimas aulas a gente estudou como é que é o conjunto de instruções de Arquitetura do processador do Ricci 5 na aula de hoje a gente vai começar a falar um pouco sobre as tecnologias de memória que a gente tem um sistema de computação a gente vai começar abordando nessa aula como é que é formado A Hierarquia de memória a gente viu nas aulas anteriores que existe uma diferença de desempenho relativo entre as tecnologias para construir o sistema de memória e a tecnologia para construir processadores o processador ele possui
uma velocidade maior do que a memória principal Então quais são as restrições quando a gente pensa em Como projetar o design de memória e um computador a gente vai ter algumas perguntas para tá respondendo que seria o quanto de memória a gente vai precisar para utilizar no nosso sistema e na nossas aplicações o quão rápido essa memória tem que ser essa velocidade em relação a acessar um dado na memória ou uma instrução na memória e o quão Cara isso vai ser então tudo vai depender de uma relação custo-benefício a gente vai perceber que dentro de
diversos tipos de memória que a gente vai estudar existe uma relação de troca entre capacidade tempo de acesso e o custo a gente vai notar que o quanto menor o tempo de acesso maior será o custo por bit por cada espaço que a gente vai ter na nossa memória da mesma forma quanto maior a capacidade de armazenamento que a gente tiver menor será o curso por 20 e o quanto maior a capacidade que a gente tiver também vamos ter o menor tempo de acesso então a gente repara aqui pessoal que se a gente quiser uma
memória muito rápida a gente vai ter um impacto diretamente no custo que a gente tem que pagar e por causa desse curso a gente vai ter uma memória com menor capacidade enquanto isso se você priorizar a maior capacidade você vai ter um custo por bit menor mas a velocidade de acessar os dados dessa Memória também vai ser impactada Então deixa que uma relação de paydock para a gente estar projetando que memória deve ser utilizada sistema de computação por um outro ponto de vista os programadores quando eles estão rodando essas aplicações eles querem sempre ter uma
quantidade ilimitada de memória para rodar essas aplicações e que de preferência elas funcionam em uma latência baixa que tem um bom tempo de acesso e podemos concluir que a tecnologia de memória rápida ela sempre vai ser mais cara em relação àquelas memórias mais lentas ela vai ser mais cara em relação ao custo por bicho dessa memória Então por causa desse custo elevado que a gente tem com memórias mais rápida a gente não tem um único sistema de memória no nosso computador e por causa disso a gente não confia no único sistema de memória mas a
gente utiliza uma hierarquia de memória com a finalidade da gente baratear o curso de se manter um sistema de memória no computador então a gente vai tentar con hierarquia de memória mas é um equilíbrio entre um tempo de acesso que seja viável com grande quantidade de armazenamento E também o custo que a gente vai ter para manter Então a gente vai estar utilizando A Hierarquia de memória que ela vai ser apoiar em dois princípios de localidade que a gente vai estar estudando que seria o princípio de localidade temporal e o princípio de localidade espacial Então
como é que funciona a ideia desse princípio no princípio de localidade temporal ele diz que o elemento que acabou de ser acessado ele tem uma probabilidade grande de ser acessado novamente no futuro a gente pode pensar nisso e se a gente tiver uma estrutura de repetição no nosso programa tem gente tiver um loop Então se a gente tá utilizando Laços que é bem comum a gente tem na nossas aplicações um determinado elemento que foi dentro da memória provavelmente ele vai servir novamente Então esse tipo de informação é importante a gente estar armazenando naquelas memórias que
são mais rápida porque a gente vai tá lendo provavelmente ele no futuro próximo então se ele já tiver na memória é mais rápida a gente não vai perder muito tempo para ele eu princípio de localidade espacial ele diz que se a gente acessar um determinado elemento provavelmente a gente vai precisar acessar os vizinhos deles no futuro próximo Qual é a ideia de princípio de localidade espacial no momento que a gente acessar um valor da memória a gente vai estar acessando não somente ele mas sim todos os vizinhos dele a gente sempre vai acessar um bloco
da memória para ser lido de uma vez só para as tecnologias de memórias mais rápida e aí exemplo isso pode ser verdade seria por exemplo se a gente tivesse manipulando alguma Rei então Imagine que a gente vai ter um vetor na nossa memória um inventor a gente viu que os dados deles elementos deles são armazenados endereços com seu coletivos Então se a gente tá varrendo o vetor para fazer algum cálculo provavelmente a gente vai precisar acessar todos os elementos dele então se ele estiver nos endereços consecutivos no momento que a gente leu o primeiro elemento
seria mais eficiente a gente ler todos os vizinhos desse elemento armazenando numa memória mais rápida E aí as próximas interações dos próximos círculos do processador a gente não perderia muito tempo para acessar os próximos elementos desse vetor então repare pessoal que esses dois princípios de localidade temporal e espacial é eles que possibilitam um bom funcionamento de uma hierarquia de memória