Ir ao conteúdo
  • Comunicados

    • Gabriel Torres

      Seja um moderador do Clube do Hardware!   12-02-2016

      Prezados membros do Clube do Hardware, Está aberto o processo de seleção de novos moderadores para diversos setores ou áreas do Clube do Hardware. Os requisitos são:   Pelo menos 500 posts e um ano de cadastro; Boa frequência de participação; Ser respeitoso, cordial e educado com os demais membros; Ter bom nível de português; Ter razoável conhecimento da área em que pretende atuar; Saber trabalhar em equipe (com os moderadores, coordenadores e administradores).   Os interessados deverão enviar uma mensagem privada para o usuário @Equipe Clube do Hardware com o título "Candidato a moderador". A mensagem deverá conter respostas às perguntas abaixo:   Qual o seu nome completo? Qual sua data de nascimento? Qual sua formação/profissão? Já atuou como moderador em algo outro fórum, se sim, qual? De forma sucinta, explique o porquê de querer ser moderador do fórum e conte-nos um pouco sobre você.   OBS: Não se trata de função remunerada. Todos que fazem parte do staff são voluntários.
Entre para seguir isso  
FilipiBh

como funcionam as caches?

Recommended Posts

bom como funcionam as memorias cache L1 L2?? porque o processador usa a memoria cache ao invés da ram!!!! o que são estas tecnologias usadas nos processadores ex: duron morgam, atlhon barton, t-bred estas coisas gostaria de um texto cientifico explicando estas coisas se alguem poder me ajudar agradeço!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Posso te explicar que,a cachê foi feita para acelerar o processador,porque as memórias ram já não operam mais rápidas que o processador,então o Cachê l1 entra em cena,os dados a serem processados são colocados no cachê l1 e saem no cachê l1 de dados...

Mas mesmo assim o desempenho começou a não subir com aumentos de clock.E se criou o cachê l2,que faz a mesma coisa que o l1,mas ao invés de ele "guardar" os dados que serão pegos pelo processador,ele passa esses dados ao cachê l1 que passa ao processamento

Ficou confuso?

Compartilhar este post


Link para o post
Compartilhar em outros sites
  • Autor do tópico
  • bom me corrijam se eu estiver errado!!! o cache L1 e L2 foram criados para evitar o acesso a memoria ram porque o processador internamente trabalha a freqüências altas no meu caso a 1600Mhz porém se fosse acessar a memoria ram iria acessar a no maximo 400 Mhz que é o barramento da maioria das placas´mãe é isso mesmo???????? so que eu não sei se o processador acessa primeiro a cache L1 ou L2 e tambem não entendo por que geralmente uma tem mais memoria que a outra alguem pode dizer ai??

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites

    bem,você está certo,o processador não acessa a RAM na velocidade total,mas o barramento da placa se for maior do que o do processador,nada adianta (isto é,o barramento do processador que interfere na velocidade de acesso a ram principalmente)

    E o processador acessa antes a memória L2,e nem sempre uma tem mais memória que a outra (durons K7 tinha 128kb de L1 e 64kb de L2)

    bem,mas a memória L2 é maior a maioria das vezes,porque a cachê l1 fica apenas com a função de guardar os dados a serem processados (ou que já foram processados,no caso de cachê l1 de dados)A cachê l2 evita apenas que o processador tenha que ir na ram várias vezes para buscar dados.

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites

    a cache é uma memoria ram também isso acesso aleatorio]

    mas diferente da memorias ram convencionais ela é do tipo estatica

    ouseja não precisa de refresh pra manter os dados intactos

    a memoria ram estatica é muito mais rapida e mais cara também

    por isso a qtdade é pequena

    agora pra entender como ela funciona

    imagine um professor dando aula e ele tem q ir buscar o giz no fundo da sala toda hora pra escrever o fundo da sala seria a memoria ram

    e pra evitar essa perdad e tempo q existe a cache l1 e l2

    é como se ela guardasse o giz ao lado do professor evitando dele ter q buscar longe toda hora ahuahau

    espero ter ajudado com essa explicaçao hehehe

    falou

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites
  • Autor do tópico
  • so não entendi como assim q o baramento da placa mãe não pode ser maior que o do processador

    bom na verdade mesmo é uma ##### duma confusão este lance de barramentos diferentes.

    exemplo meu pc:

    de que adianta a memoria trabalhar a 400Mhz se o processador trabalha com um barramento inferior a 400 Mhz !!!!!!! ou seja se a minha memoria trabalha a 400mhz a minha placa mãe trabalha a 333 e o meu processador trabalha a 200MHz na verdade ta tudo trabalhando a 200????

    é impressão minha ou neste caso tanto faz ter uma memoria ddr 400 ou uma ddr 266???

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites

    bem...Isto é verdade..Mas a vantagem de usar a 400mhz seria poder overclockar tranquilo e as latências...E o barramento da placa-mãe pode ser sim maior que o do processador,o que n pode é o do processador ser maior que a placa-mãe

    Mas mesmo assim depende do processador,de que adianta a placa-mãe fazer tudo no dobro de velocidade se vai engarrafar tudo na hora de entrar no processador?

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites
    Postado Originalmente por DJ-WEBMASTER@10 de março de 2006, 12:50

    exemplo meu pc:

    de que adianta a memoria trabalhar a 400Mhz se o processador trabalha com um barramento inferior a 400 Mhz !!!!!!! ou seja se a minha memoria trabalha a 400mhz a minha placa mãe trabalha a 333 e o meu processador trabalha a 200MHz na verdade ta tudo trabalhando a 200????

    é impressão minha ou neste caso tanto faz ter uma memoria ddr 400 ou uma ddr 266???

    O seu PC é um K-8 né?

    Nesse caso ele possui alguns clocks, os 200MHz é o clock de referência, ele se comunica com o chipset a 800MHz (DDR), com as memórias vai depender do tipo de memória que você usa, se forem DDR400 ele vai se comunicar a 200MHz com elas (DDR400 trabalham a 200MHz, transferirndo dois dados por clock), se forem DDR333 166MHz e DDR266 133MHz, logo colocar uma DDR400 é melhor que um DDR266.

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites

    ... e as memórias L3 dos P4 mais novos onde entram nisso tudo??? Seriam um "adicional" da L2??

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites

    L1 pequena e com baixa latência;

    L2 maior que a L1 porém com latência maior;

    L3 maior que a L2 porém com latência maior;

    ...

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites

    Só uma pergunta: O FSB seria por acaso esse barramento do processador com a placa-mãe??? E essas novas memórias ddr2 trabalhando a mais de 800 mhz???/Qual seria a vantagem delas?

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites

    A vantagem delas é que podem trasnferir os dados muito mais rápido...

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites

    Eu não sei como trabalha o hardware do PC a fundo, presizariamos de um engenheiro da computaçao para tirar essa duvida, mas posso te dizer como funciona os microcontroladores usados em eletrônica que programo em assembly

    (programaçao de baixo nivel).

    apesar de todo o conjunto(processador, RAM, ROM, e interfaces) serem em um unico chip, na verdade dentro eles sao separados pelos tais barramentos,

    o que acontece é que o hardware busca um dado na RAM para ser procesado

    (isso é feito por software, mas é o que acontece no hardware) ele vai para o processador onde vão ser executados os calculos matematicos( o processador só sabe fazer calculos, mover e mudar o estado de bits)

    então o dado buscado na RAM passa para o processador(que na verdade também é um tipo de memoria), onde os dados se alojao em uma memoria que tem capacidade de procesar, fazendo modificaçoes em seus bits de acordo com o comando executado(instruçoes) e os valores nelas contidos(memoria)

    a diferença q o microcontrolador que eu trabalho tem modelos de 8 a 42 pinos,

    que já sao as saidas ou entradas, onde se poe sensores, displays, drives(outros circuitos integrados) para motores, etc e esses microcontroladores so tem 1 byte de cache, tem ums que tem um ou outro byte a mais, kkkkkkkkkkk

    que no caso do microcontrolador o processador recebe um byte e compara com outro byte contido ainda na memoria RAM(no proceso de calculo por exemplo)

    agora imagine o porque que um PC tem esses tantos bytes de cache no processador, imagine quantos dados sao buscados na RAM, indo para o processador e ficam neles armazenados enquanto faz uma porrada de calculos entre eles, sem devolver para a RAM, pois algums resultados sao novamente procesados entre eles( esse procesamento entre varios bytes é o que eu acho que exige uma maior cache, eu suponho que seja assim no PC)

    então como pode ver a RAM é para armazenar, o processador para procesar, mas ele não deixa de ser uma memoria especial, capaz de interagir seus bits

    espero ter ajudado e não complicado mais, hehhe....

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites

    Oi ismaelcrestani,

    Com que microcontroladores você trabalha?

    E quanto ao seu post, o cache do computador é um pouco diferente do microcontrolador,

    Para exemplificar, em um Athlon 64 (no caso o meu) as latências são:

    L1: 3 ciclos,

    L2: 12 ciclos,

    Memória: 110 ciclos

    Quando o processador precisa de um dado do RAM pela primeira vez ele pede ao controlador de memória e espera intermináveis 110 ciclos até receber o dado, depois de fazer tudo o que precisa com esse dado ao invés de discartar ele joga no L1, se mais para frente ele precisar desse dado de novo é só pegar no L1 e ai a espera é de apenas 3 ciclos, mas o L1 tem apenas 64kb, uma hora enche, quando enche o processador pega a pagina (dados para simplificar) que esta a mais tempo sem ser usada e joga no L2, se ele precisar desse dado pode pegar no L2 e esperar apenas 12 ciclos, se o L2 encher ele descarta a pagina que esta a mais tempo sem ser usada e se precisar de novo é aquela demora...

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites
    Postado Originalmente por EduardoS@22 de abril de 2006, 17:44

    Com que microcontroladores você trabalha?

    uso os da microchip, sou iniciante ainda, hehehe

    intao as caches L1, L2 sao usadas para evitar a perda de ciclos na busca de dados a serem procesados

    o processador do PC trabalha com apenas duas palavras por vez???

    eu ate ariscaria a dizer que ele trabalhase com mais de duas durante um ciclo de procesamento, imaginava que fose mais complexo, minha imaginaçao estava mentindo pra min????

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites

    O x86 possui 8 registradores de 32 bits, um Athlon pode realizar 3 instruções ao mesmo tempo, então fica 6 palavras por vez certo?

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites
    Postado Originalmente por EduardoS@22 de abril de 2006, 18:47

    O x86 possui 8 registradores de 32 bits, um Athlon pode realizar 3 instruções ao mesmo tempo, então fica 6 palavras por vez certo?

    então ele só executa um calculo(por exemplo) com um par de "palavras"????,

    ai em tres instruçoes simultaneas dele, vai resultar em 6 palavras de uma vez,

    mas tem processador que pega tres "palavras" e faz um calculo ao mesmo tempo com as tres em un unico ciclo de clock, ou todos sao de dois-a-dois????

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites

    Usando o exemplo do professor que tem que buscar o giz :P

    Então seria um Aluno ajudante indo no fundo da sala toda hora pra buscar 1 giz e levar até a caixa de giz do professor, enquanto professor escreve?

    Deu pra entender? :P

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites
    Postado Originalmente por EduardoS@22 de abril de 2006, 17:44

    Para exemplificar, em um Athlon 64 (no caso o meu) as latências são:

    L1: 3 ciclos,

    L2: 12 ciclos,

    Memória: 110 ciclos

    Quando o processador precisa de um dado do RAM pela primeira vez ele pede ao controlador de memória e espera intermináveis 110 ciclos até receber o dado, depois de fazer tudo o que precisa com esse dado ao invés de discartar ele joga no L1, se mais para frente ele precisar desse dado de novo é só pegar no L1 e ai a espera é de apenas 3 ciclos, mas o L1 tem apenas 64kb, uma hora enche, quando enche o processador pega a pagina (dados para simplificar) que esta a mais tempo sem ser usada e joga no L2, se ele precisar desse dado pode pegar no L2 e esperar apenas 12 ciclos, se o L2 encher ele descarta a pagina que esta a mais tempo sem ser usada e se precisar de novo é aquela demora...

    ... perae, 110 ciclos pra RAM, 12 ciclos pra L2 e 3 ciclos pra L1, mas quanto tempo "demora" cada ciclo de um CPU?? 1 segundo?!

    EduardoS Postado em 22 de abril de 2006, 18:47

    O x86 possui 8 registradores de 32 bits, um Athlon pode realizar 3 instruções ao mesmo tempo, então fica 6 palavras por vez certo?

    PALAVRAS?? Como assim?! O que vem a ser estas "palavras"??

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites
    Postado Originalmente por OShakal@22 de abril de 2006, 21:29

    Usando o exemplo do professor que tem que buscar o giz :P

    Então seria um Aluno ajudante indo no fundo da sala toda hora pra buscar 1 giz e levar até a caixa de giz do professor, enquanto professor escreve?

    Deu pra entender? :P

    ... se não estiver enganado o papel do aluno é feito pelo chipset, ou seja, pelo controlador de memória dentro dele ... corrijam-me se estiver errado.

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites
    Postado Originalmente por alyssonr@25 de abril de 2006, 17:17

    ... perae, 110 ciclos pra RAM, 12 ciclos pra L2 e 3 ciclos pra L1, mas quanto tempo "demora" cada ciclo de um CPU?? 1 segundo?!

    Em uma CPU de 2.0GHz 1 ciclo dura 0.5ns (freqüência = 1/duração do ciclo)

    PALAVRAS?? Como assim?! O que vem a ser estas "palavras"??

    "PALAVRA" é o tamanho do operador, em um processador 32bits a "palavra" tem um tamanho de 32bits.

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites
    Postado Originalmente por alyssonr@25 de abril de 2006, 17:22

    ... se não estiver enganado o papel do aluno é feito pelo chipset, ou seja, pelo controlador de memória dentro dele ... corrijam-me se estiver errado.

    O mais correto nessa analogia seria o aluno ser a "lógica de prefetch" já que ele pode buscar o giz enquanto o professor (que seria o processador) faz outra coisa.

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites

    _Zarathos_,

    os x86 derivam do 8086 de 16bits, por isso nos compiladores e assemblers você encontra WORD = 16bits, DWORD = 32bits, QWORD = 64bits e OWORD = DQWORD = 128bits, mas por definição "palavra" é o tamanho do operador e se em algum manual o fabricante citar "WORD" ele não estara necessariamente se referindo a um dado de 16bits.

    Mais detalhes: http://en.wikipedia.org/wiki/Word_(Computing)

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites

    Crie uma conta ou entre para comentar

    Você precisar ser um membro para fazer um comentário

    Entre para seguir isso  





    Sobre o Clube do Hardware

    No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações sobre tecnologia do Brasil. Leia mais

    Direitos autorais

    Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

    ×