Clocks e DDR
|
26-09-2011, 18:55
Mensagem: #1
|
|||
|
|||
Clocks e DDR
A minha dúvida é porque memórias DDR2 e DDR3 tem clocks internos 2x e 4x ,respetivamente , superiores ao clocks do barramento enquanto que memórias DDR1 tem esses 2 clocks iguais?
As memórias, assim como outros componentes do computador, têm dois clocks distintos: o clock interno e o clock externo (ou barramento). Nas memórias DDR, o clock externo é maior que o clock interno, isto ocorre devido à tecnologia DDR. Porém, esses 2 tipos de clock só são diferentes a partir das memórias DDR2. Não percebo porque as memórias DDR1 têm esses dois valores iguais. Reparem nos campos 'Memory clock' e 'I/O bus clock' das tabelas: DDR1 DDR2 DDR3 Já procurei sobre o assunto mas até agora não consegui perceber. Li estes sítios falam sobre memórias DDR: http://www.clubedohardware.com.br/artigo...DR3/1046/5 http://www.tecmundo.com.br/1775-o-que-e-ddr-.htm |
|||
29-09-2011, 15:10
Mensagem: #2
|
|||
|
|||
RE: Clocks e DDR
Viva,
Sinceramente nunca estudei esse detalhe mas tanto quanto percebi a resposta esta nos links que disponibilizaste Citar:DDR SDRAM gives a transfer rate of (memory bus clock rate) × 2 (for dual rate) × 64 (number of bits transferred) / 8 (number of bits/byte) Citar:DDR2 allows higher bus speed and requires lower power by running the internal clock at half the speed of the data bus. The two factors combine to require a total of four data transfers per internal clock cycle. With data being transferred 64 bits at a time, DDR2 SDRAM gives a transfer rate of (memory clock rate) × 2 (for bus clock multiplier) × 2 (for dual rate) × 64 (number of bits transferred) / 8 (number of bits/byte). Thus with a memory clock frequency of 100 MHz, DDR2 SDRAM gives a maximum transfer rate of 3200 MB/s. Citar:DDR3 SDRAM gives a transfer rate of (memory clock rate) × 4 (for bus clock multiplier) × 2 (for data rate) × 64 (number of bits transferred) / 8 (number of bits/byte) Na memoria DDR nao tens multiplicador dai a "memoria interna" (aka Memory clock) ser igual a "memoria externa" (aka I/O bus clock). Esse multiplicador deve-se a latencia: Citar:DDR2's bus frequency is boosted by electrical interface improvements, on-die termination, prefetch buffers and off-chip drivers. However, latency is greatly increased as a trade-off. The DDR2 prefetch buffer is 4 bits deep, whereas it is two bits deep for DDR and eight bits deep for DDR3. While DDR SDRAM has typical read latencies of between 2 and 3 bus cycles, DDR2 may have read latencies between 4 and 6 cycles. Thus, DDR2 memory must be operated at twice the data rate to achieve the same latency |
|||
10-10-2011, 19:26
(Esta mensagem foi modificada pela última vez a: 10-10-2011 20:21 por sobrinho.)
Mensagem: #3
|
|||
|
|||
RE: Clocks e DDR
Abrigado pela tua resposta.
Mas agora o que é esse multiplicador e donde é que ele vem? Também tem uns sítios que dizem que as DDR1 têm clock externo (barramento ou bus) igual ao clock interno (e DDR2 tem 2x e DDR3 4x) e outros que dizem que DDR1 têm o clock do barramento 2x o clock interno (e DDR2 tem 4x e DDR3 8x). Por exemplo, nas tabelas que tem nos links da Wikipedia apontam o primeiro caso. O mesmo para este sítio: http://www.tecmundo.com.br/1775-o-que-e-ddr-.htm que para além das tabelas explicita: Citar:Um pente de memória DDR2 transmite 4 dados por ciclo de clock, o que permite, na teoria, a velocidade de transmissão dobre, comparando com a DDR1. Nesta versão, a frequência do barramento vale o dobro do clock da memória, possibilitando que dois dados sejam transmitidos na borda de subida e outros dois na borda de descida. Nas memórias DDR versão 1, ambas frequências eram as mesmas. Neste sítio, já é dito que o clock do barramento de memórias DDR1 é 2x do clock interno da memória e as DDR2 é 4x e DDR3 é 8x. Também é dito que Citar:O esquema de nomenclatura DDRx-yyyy (onde x é a geração da tecnologia e yyyy é o clock da memória DDR) em teoria é usado apenas para os chips de memória.Não acho que o yyyy seja o clock da memória DDR. Na lógica desse site, bate certo yyyy ser o clock da memórias DDR, mas isso contradiz o que está na wikipédia e no tecmundo.com.br. Então quem está certo? E continuo com a minha dúvida em relação ao clock DDR1 se a wikipedia estiver certa: porque é que esses clocks são iguais na DDR1 e diferentes para outras gerações DDR? |
|||
11-10-2011, 16:15
Mensagem: #4
|
|||
|
|||
RE: Clocks e DDR
Viva,
Acho que a leitura mista de ingles e brasileiro confunde as coisas. Parece-me que e' a wikipedia que nao esta a apresentar bem os dados. Citar:The interface uses double pumping to lower the clock frequency. The name "double data rate" refers to the fact that a DDR SDRAM with a certain clock frequency achieves nearly twice the bandwidth of a single data rate (SDR) SDRAM running at the same clock frequency, due to this double pumping. Por exemplo: se o clock interno (memory clock) e' de 100Mhz o clock externo (bus clock ou I/O clock) sera de 200Mhz, devido a tecnologia double pumping, isto comparando a memoria DDR1 com o seu antecessor, SDRAM. A memoria DDR1, comparando com a SDRAM, passa 2 dados em simultaneo (usando apenas um ciclo). Por sua vez a memoria DDR2 passa 4 dados em apenas um ciclo (o dobro comparando com a DDR1) e por ultimo a DDR3 passa 8 dados por ciclo (2xcomparando com DDR2; 4xcomparando com DDR1) O multiplicador que e' falado na wikipedia e' derivado de uma comparacao de DDR2 com DDR1 e DDR3 com DDR1. O calculo e' feito pela seguinte formula: Taxa de Transferência para DDR1 = clock interno (memoryclock) x 2 (double pumping) x 8 (DDR trabalha com 64 bits por segundo, ou seja, 8 bytes) Taxa de Transferência para DDR2 = clock interno (memoryclock) x 4 (ou seja, 2xdouble pumping) x 8 (DDR trabalha com 64 bits por segundo, ou seja, 8 bytes) Taxa de Transferência para DDR3 = clock interno (memoryclock) x 8 (ou seja, 4xdouble pumping) x 8 (DDR trabalha com 64 bits por segundo, ou seja, 8 bytes)[/b] |
|||
11-10-2011, 20:47
Mensagem: #5
|
|||
|
|||
RE: Clocks e DDR
Muito obrigado brunoantunes pela tua resposta.
Com ela respondes à questão do multiplicador, mas ainda fico na dúvida que sítio está correto (wkipedia e tecmundo.com.br vs clubedohardware.com.br) e em relação à questão específica do clock interno (memory clock) vs clock externo (I/O bus clock ou clock do barramento) das memórias DDR1 que é a dúvida que me levou a abrir o tópico (pois na wikipedia e no tecmundo.com.br é dito que esses clock têm um mesmo valor e só é deferente para gerações superiores, enquanto que no clubedohardware.com.br é dito que o bus clock = 2 x memory clock). Agradeço qualquer ajuda para clarificar o assunto. |
|||
12-10-2011, 18:09
Mensagem: #6
|
|||
|
|||
RE: Clocks e DDR
Pelo que percebi sera mesmo a wikipedia que esta em erro mas apenas no grafico.
Tal como eles proprio dizem (clock frequency achieves nearly twice the bandwidth), se ambos os clocks estivem com a mesma frequencia, entao o barramento na DDR1 sera o dobro da SDRAM. Logo o grafico nao esta correcto (o mesmo digo para o grafico na DDR2 e DDR3) Julgo que quem escreveu isso nao se apercebeu desse detalhe. O site do tecmundo (e a wikipedia) esta de acordo com o clubedohardware. O que eles se referem com "Dados por segundo", e' na verdade o clock de barramento. A unica coisa que difere e' mesmo o grafico presente na wikipedia. |
|||
13-10-2011, 00:01
Mensagem: #7
|
|||
|
|||
RE: Clocks e DDR
Não sei se percebi bem, mas não consigo encontrar o erro nas tabelas da wikipedia que te referes. Acho que estás a pensar que, na wikipedia, a tabela da DDR1 compara DDR1 com SDRAM e a tabela da DDR2 compara DDR2 com DDR1 e assim por adiante, foi o que percebi do que disseste, mas não é assim. a tabela refere-se apenas à geração de memória que está no título da página.
Parece-me que as tabelas da wikipedia estão em conformidade com as tabelas do tecmundo.com.br Citar:O site do tecmundo (e a wikipedia) esta de acordo com o clubedohardware. O que eles se referem com "Dados por segundo", e' na verdade o clock de barramento.Bruno, acho que isso não é verdade. O tecmundo uso 'Taxa de Barramento (em MHz)' para designar o clock de barramento e 'Dados por segundo' é outra coisa como aparece nas tabelas. Podes ver que essa coluna não aparece na tabela referente ao DDR1, pois ,como o tecmundo diz e como já citei no post #3, os clocks interno e de barramento da DDR1 são iguais (também a tabela da wikipedia diz isto). A confusão é que no clubedohardware onde, para a mesma memória, os clock são superiores (2x) os clocks referidos na wikipedia e no tecmundo. Como citei anteriormente do clubedohardware, "DDRx-yyyy (onde x é a geração da tecnologia e yyyy é o clock da memória DDR)". Assim, por exemplo, DDR2-400 tem clock interno 200 MHz e clock de barramento 400 MHz, segundo o clubdohardware. Na wikipedia diz: Citar:DDR2-xxx denotes data transfer ratee diz que DDR2-400 tem clock interno de 100 MHz e clock de barramento 200MHz (na tabela). Para além disso, no clubedohardware o clock de barramento é o dobro do clock interno (que eles chamam de clock real máximo) independentemente de ser DDR1, 2 ou 3: Citar:Por causa desta característica, essas memórias são rotuladas com o dobro do clock real máximo que elas conseguem trabalhar. Por exemplo, memórias DDR2-800 trabalham a 400 MHz, memórias DDR2-1066 e DDR3-1066 trabalham a 533 MHz, memórias DDR3-1333 trabalham a 666,6 MHz e assim por diante.- segundo a wikipedia e o tecmundo, DDR2-800 trabalha a 200MHz e consegue atingir 400MHz de barramento por causa da tecnologia DDR, DDR2-1066 trabalha a 226 MHz e atinge 532 MHz de barramento, DDR3-1333 trabalha a 166,6 MHz e atinge 666,6 MHz, aproximadamente. Se a wikipedia e o tecmundo estiverem certos (como acredito que estão), porque DDR1 tem clock interno igual ao clock de barramento e outras gereções têm esses clocks diferentes? Errata: eu disse Citar:Também tem uns sítios que dizem que as DDR1 têm clock externo (barramento ou bus) igual ao clock interno (e DDR2 tem 2x e DDR3 4x) e outros que dizem que DDR1 têm o clock do barramento 2x o clock interno (e DDR2 tem 4x e DDR3 8x).aos outros estava-me a referir ao clubdohardware. O que está a negrito está mal, como citei acima, o clock de barramento é o dobro do clock interno seja qual for a geração da DDR segundo o clubedohardware, o que acho que não está correto. |
|||
13-10-2011, 14:14
Mensagem: #8
|
|||
|
|||
RE: Clocks e DDR
(13-10-2011 00:01)sobrinho Escreveu: A confusão é que no clubedohardware onde, para a mesma memória, os clock são superiores (2x) os clocks referidos na wikipedia e no tecmundo. ah ok, percebi..julgo que ai deve ter sido falha do clubedehardware. Devido a esse pormenor, retiro o que disse sobre a tabela da wikipedia. Parece-me tambem que estava a interpretar mal a leitura que estava a fazer. Ou seja, quando os dados saem do clock interno (memory clock) para o clock externo (bus clock), na DDR1, sai "1 canal" com a mesma frequencia, mas devido a tecnologia double pumping e' como se saisse com o dobro da frequencia. Na DDR2 o numero de canais sobe para 2 e na DDR3 sobe para 4. Por exemplo: Numa memoria DDR300 tera como taxa de transferencia (data rate) o valor de 300 certo? E' Calculado da seguinte forma: 150 x 1 x 2 Legenda: 150 = clock interno 1 = 1 canal com 150Mhz de frequencia 2 = double pumping, 2 dados por ciclo Neste exemplo, o barramento apenas tem um canal de dados a trabalhar a 150Mhz, tal como a memoria interna. Devido ao double pumping o valor duplica, e' como se trabalhasse a 300Mhz. Na DDR2-500 ficaria: 125 x 2 x 2 Legenda: 125 = clock interno 2 = 2 canais com 125Mhz de frequencia 2 = double pumping, 2 dados por ciclo Neste exemplo, o barramento ja possui 2 canais de dados a trabalhar a 125Mhz, perfazendo um total de 250Mhz, mas e' como se trabalhasse a 500Mhz (duplicando devido ao double pumping). Na DDR3-1600, calcula-se: 200 x 4 x 2 Legenda: 200 = clock interno 4 = 4 canais de 200Mhz cada 2 = double pumping, 2 dados por ciclo O que estava a faltar era a interpretacao do "canal". Se adicionares este detalhe 'a equacao ja faz tudo sentido. |
|||
13-10-2011, 20:03
Mensagem: #9
|
|||
|
|||
RE: Clocks e DDR
Se isso explica porque DDR1 tem clock interno igual ao clock de barramento, não percebi. Atenção que DDRx-yyy, yyy não é a taxa de transferência, data rate em inglês é Megatransferências por segundo (MT/s) ou dados por segundo em milhões e não sei explicar mais que isso (podes comprovar nas tabelas da wikipedia). A taxa de transferência (que vem em megabytes por segundo ou mebibytes por segundo - MiB/s) está nos módulos das memórias (os pentes, a nomenclatura acima é própria dos chips), por exemplo um módulo PC2-3200 tem taxa de transferência de 3200 MiB/s que corresponde à DDR2-400
Taxa de transferência = [clock interno] x [nº de dados por clock] x [nº de bytes] isso está no tecmundo. O nº de bytes são 8 para o caso DDR, isto tem haver com o hardware e o nº de pinos acho. Para DDR2-400 temos Taxa de transferência = 100 Mhz x 4 x 8 bytes = 3200 MB/s Não percebi essa coisa dos canais. DDR1 é 2 dados por ciclo. DDR2 é 4 dados por ciclo. DDR3 é 8 dados por ciclo. |
|||
« Mais Antigo | Mais Recente »
|
Utilizadores a ver este tópico: 1 Visitante(s)