Aleksan
IT - Specialist
- Регистрация
- 8 Дек 2007
- Сообщения
- 6,815
- Реакции
- 89
- Баллы
- 0
Что такое тайминг?
Обычно на памяти (или в спецификации к ней) есть надпись вида 3-4-4-8 или 5-5-5-15. Это сокращённая запись (так называемая схема таймингов) основных таймингов памяти. Что же такое тайминги? Очевидно, что ни одно устройство не может работать с бесконечной скоростью. Значит, на выполнение любой операции уходит какое-либо время. Тайминги это задержка, устанавливающая время, необходимое на выполнение какой-либо команды, то есть время от отправки команды до её выполнения. А каждая цифра обозначает, какое именно время необходимо.
Теперь разберём каждый по очереди. Схема таймингов включает в себя задержки CL-Trcd-Trp-Tras соответственно.
Если вы внимательно читали статью, то узнали, что для работы с памятью необходимо для начала выбрать чип, с которым мы будем работать. Делается это командой CS# (Chip Select). Затем выбирается банк и строка. Перед началом работы с любой строкой необходимо её активировать. Делается это командой выбора строки RAS# (при выборе строки она активируется). Затем (при операции линейного чтения) нужно выбрать столбец командой CAS# (эта же команда инициирует чтение). Затем считать данные и закрыть строку, совершив предварительный заряд (precharge) банка.
Тайминги расположены по порядку следования в простейшем запросе (для простоты понимания). Сначала идут тайминги, затем подтайминги.
Trcd, RAS to CAS delay – время, необходимое для активизации строки банка, или минимальное время между подачей сигнала на выбор строки (RAS#) и сигнала на выбор столбца (CAS#).
CL, Cas Latency – минимальное время между подачей команды на чтение (CAS) и началом передачи данных (задержка чтения).
Tras, Active to Precharge – минимальное время активности строки, то есть минимальное время между активацией строки (её открытием) и подачей команды на предзаряд (начало закрытия строки). Строка не может быть закрыта раньше этого времени.
Trp, Row Precharge – время, необходимое для предварительного заряда банка (precharge). Иными словами, минимальное время закрытия строки, после чего можно активировать новую строку банка.
CR, Command Rate 1/2T – Время, необходимое для декодирования контроллером команд и адресов. Иначе, минимальное время между подачей двух команд. При значении 1T команда распознаётся 1 такт, при 2T – 2 такта, 3T – 3 такта (пока только на RD600).
Это всё основные тайминги. Остальные тайминги имеют меньшее влияние на производительность, а потому их называют подтаймингами.
Trc, Row Cycle Time, Activate to Activate/Refresh Time, Active to Active/Auto Refresh Time– минимальное время между активацией строк одного банка. Является комбинацией таймингов Tras+Trp – минимального времени активности строки и времени её закрытия (после чего можно открывать новую).
Trfc, Row Refresh Cycle Time, Auto Refresh Row Cycle Time, Refresh to Activate/Refresh Command Period, – минимальное время между командой на обновление строки и командой активизации, либо другой командой обновления.
Trrd, ACTIVE bank A to ACTIVE bank B command, RAS to RAS Delay, Row Active to Row Active – минимальное время между активацией строк разных банков. Архитектурно открывать строку в другом банке можно сразу за открытием строки в первом банке. Ограничение же чисто электрическое – на активацию уходит много энергии, а потому при частых активациях строк очень высока электрическая нагрузка на цепи. Чтобы её снизить, была введена данная задержка. Используется для реализации функции чередования доступа к памяти (interleaving).
Tccd, CAS to CAS Delay – минимальное время между двумя командами CAS#.
WR, Write Recovery, Write to Precharge – минимальное время между окончанием операции записи и подачей команды на предзаряд (Precharge) строки для одного банка.
WTR, Trd_wr, Write To Read – минимальное время между окончанием записи и подачей команды на чтение (CAS#) в одном ранке.
RTW, Read To Write – минимальное время между окончанием операции чтения и подачей команды на запись, в одном ранке
Same Rank Write To Write Delayed – минимальное время между двумя командами на запись в одном ранке.
Different Rank Write to Write Delay – минимальное время между двумя командами на запись в разных ранках.
Twr_rd, Different Ranks Write To READ Delayed - минимальное время между окончанием записи и подачей команды на чтение (CAS#) в разных ранках.
Same Rank Read To Read Delayed – минимальная задержка между двумя командами на чтение в одном ранке.
Trd_rd, Different Ranks Read To Read Delayed - минимальная задержка между двумя командами на чтение в разных ранках.
Trtp, Read to Precharge – минимальный интервал между подачей команды на чтение до команды на предварительный заряд.
Precharge to Precharge – минимальное время между двумя командами предварительного заряда.
Tpall_rp, Precharge All to Active Delay – задержка между командой Precharge All и командой на активацию строки.
Обычно на памяти (или в спецификации к ней) есть надпись вида 3-4-4-8 или 5-5-5-15. Это сокращённая запись (так называемая схема таймингов) основных таймингов памяти. Что же такое тайминги? Очевидно, что ни одно устройство не может работать с бесконечной скоростью. Значит, на выполнение любой операции уходит какое-либо время. Тайминги это задержка, устанавливающая время, необходимое на выполнение какой-либо команды, то есть время от отправки команды до её выполнения. А каждая цифра обозначает, какое именно время необходимо.
Теперь разберём каждый по очереди. Схема таймингов включает в себя задержки CL-Trcd-Trp-Tras соответственно.
Если вы внимательно читали статью, то узнали, что для работы с памятью необходимо для начала выбрать чип, с которым мы будем работать. Делается это командой CS# (Chip Select). Затем выбирается банк и строка. Перед началом работы с любой строкой необходимо её активировать. Делается это командой выбора строки RAS# (при выборе строки она активируется). Затем (при операции линейного чтения) нужно выбрать столбец командой CAS# (эта же команда инициирует чтение). Затем считать данные и закрыть строку, совершив предварительный заряд (precharge) банка.
Тайминги расположены по порядку следования в простейшем запросе (для простоты понимания). Сначала идут тайминги, затем подтайминги.
Trcd, RAS to CAS delay – время, необходимое для активизации строки банка, или минимальное время между подачей сигнала на выбор строки (RAS#) и сигнала на выбор столбца (CAS#).
CL, Cas Latency – минимальное время между подачей команды на чтение (CAS) и началом передачи данных (задержка чтения).
Tras, Active to Precharge – минимальное время активности строки, то есть минимальное время между активацией строки (её открытием) и подачей команды на предзаряд (начало закрытия строки). Строка не может быть закрыта раньше этого времени.
Trp, Row Precharge – время, необходимое для предварительного заряда банка (precharge). Иными словами, минимальное время закрытия строки, после чего можно активировать новую строку банка.
CR, Command Rate 1/2T – Время, необходимое для декодирования контроллером команд и адресов. Иначе, минимальное время между подачей двух команд. При значении 1T команда распознаётся 1 такт, при 2T – 2 такта, 3T – 3 такта (пока только на RD600).
Это всё основные тайминги. Остальные тайминги имеют меньшее влияние на производительность, а потому их называют подтаймингами.
Trc, Row Cycle Time, Activate to Activate/Refresh Time, Active to Active/Auto Refresh Time– минимальное время между активацией строк одного банка. Является комбинацией таймингов Tras+Trp – минимального времени активности строки и времени её закрытия (после чего можно открывать новую).
Trfc, Row Refresh Cycle Time, Auto Refresh Row Cycle Time, Refresh to Activate/Refresh Command Period, – минимальное время между командой на обновление строки и командой активизации, либо другой командой обновления.
Trrd, ACTIVE bank A to ACTIVE bank B command, RAS to RAS Delay, Row Active to Row Active – минимальное время между активацией строк разных банков. Архитектурно открывать строку в другом банке можно сразу за открытием строки в первом банке. Ограничение же чисто электрическое – на активацию уходит много энергии, а потому при частых активациях строк очень высока электрическая нагрузка на цепи. Чтобы её снизить, была введена данная задержка. Используется для реализации функции чередования доступа к памяти (interleaving).
Tccd, CAS to CAS Delay – минимальное время между двумя командами CAS#.
WR, Write Recovery, Write to Precharge – минимальное время между окончанием операции записи и подачей команды на предзаряд (Precharge) строки для одного банка.
WTR, Trd_wr, Write To Read – минимальное время между окончанием записи и подачей команды на чтение (CAS#) в одном ранке.
RTW, Read To Write – минимальное время между окончанием операции чтения и подачей команды на запись, в одном ранке
Same Rank Write To Write Delayed – минимальное время между двумя командами на запись в одном ранке.
Different Rank Write to Write Delay – минимальное время между двумя командами на запись в разных ранках.
Twr_rd, Different Ranks Write To READ Delayed - минимальное время между окончанием записи и подачей команды на чтение (CAS#) в разных ранках.
Same Rank Read To Read Delayed – минимальная задержка между двумя командами на чтение в одном ранке.
Trd_rd, Different Ranks Read To Read Delayed - минимальная задержка между двумя командами на чтение в разных ранках.
Trtp, Read to Precharge – минимальный интервал между подачей команды на чтение до команды на предварительный заряд.
Precharge to Precharge – минимальное время между двумя командами предварительного заряда.
Tpall_rp, Precharge All to Active Delay – задержка между командой Precharge All и командой на активацию строки.