|
|
  |
at91rm9200 и кэши |
|
|
|
Oct 7 2006, 19:17
|
Частый гость
 
Группа: Свой
Сообщений: 82
Регистрация: 14-03-06
Из: Санкт-Петербург
Пользователь №: 15 227

|
Цитата(aaarrr @ Oct 7 2006, 21:45)  Дело в том, что термин "MIPS" - это не million instructions per second, а некий абстрактный параметр, характеризующий производительность системы. Для ядра ARM7 это значение равно 0.9 MIPS/MHz, для 9-го - 1.1 MIPS/MHz, за счет более длинного конвейера. Длина конвейера тут влиять не должна: за 1 такт на каждой ступени конвейера обрабатывается только одна инструкция: на этапе декодирования - декодируется одна инструкция, на этапе выполнения - выполняется одна, на этапе обращения к памяти - одно чтение или одна запись, на вход поступает не более одной инструкции за такт... миллион тактов = миллион инструкций (в лучшем случае). А про квазиMIPS - это даже интересно... Вроде дело не в измерении скорости решеиия конкретной задачи и сравнеии с чем-то, а именно в инструкциях данного реализованного набора команд... Где бы найти источник который бы пролил свет на сию арифметику? Что-то здесь не чисто...
|
|
|
|
|
Oct 7 2006, 22:05
|
Гуру
     
Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448

|
Цитата(cf7k @ Oct 7 2006, 23:17)  Длина конвейера тут влиять не должна: за 1 такт на каждой ступени конвейера обрабатывается только одна инструкция: на этапе декодирования - декодируется одна инструкция, на этапе выполнения - выполняется одна, на этапе обращения к памяти - одно чтение или одна запись, на вход поступает не более одной инструкции за такт... миллион тактов = миллион инструкций (в лучшем случае). Более длинный конвейер позволяет несколько "размыть" операции с памятью. Хотя, конечно, дело не только в нем. Вот небольшой, но любопытный документ на тему отличия 7-х и 9-х ядер. Цитата(cf7k @ Oct 7 2006, 23:17)  А про квазиMIPS - это даже интересно... Вроде дело не в измерении скорости решеиия конкретной задачи и сравнеии с чем-то, а именно в инструкциях данного реализованного набора команд... Где бы найти источник который бы пролил свет на сию арифметику? Что-то здесь не чисто...  Ну разумеется, не чисто  Попробуйте погуглить "VAX MIPS" и "Dhrystone".
|
|
|
|
|
Oct 8 2006, 02:44
|
Частый гость
 
Группа: Свой
Сообщений: 82
Регистрация: 14-03-06
Из: Санкт-Петербург
Пользователь №: 15 227

|
Цитата(aaarrr @ Oct 8 2006, 02:05)  Более длинный конвейер позволяет несколько "размыть" операции с памятью. Хотя, конечно, дело не только в нем. Вот небольшой, но любопытный документ на тему отличия 7-х и 9-х ядер. Спасибо. Ознакомился. Из того что не знал - это то, что результат выполнения инструкции сразу становится доступен команде на входе конвейера параллельно стадии "запись регистра-чтение регистра". Наверное это и имелось в виду под "размыть операции с памятью". Но и тут я не согласен  Все предельно четко и никакого размытия - операции с памятью - на 4й ступени конвейера (шут с регистрами); а количество ступеней всего лишь позволяет раскидать транзисторы в конвейере так, чтобы время распространения сигнала на всех стадиях было примерно одинаково - это всего лишь аппаратная оптимизация для повышения частоты такта. Цитата(aaarrr @ Oct 8 2006, 02:05)  Цитата(cf7k @ Oct 7 2006, 23:17)  Что-то здесь не чисто...  Ну разумеется, не чисто  Попробуйте погуглить "VAX MIPS" и "Dhrystone". А насколько не чисто.... о-го-го! То ли наши переводчики страдали избытком энтузиазма и очень хотели привнести в перевод что-то свое, то ли это грязный маркетинговый ПиАр, тянущийся с тех времен когда решили заплевать старую DECовскую архитектуру и сказать что новая IBM'овская- круче. Размышления: в оригинале MIPS - million instructions per second. В переводе "отношение числа команд в программе ко времени ее выполнения" и далее запудривание мозгов(ну это не только в переводе) о сложности сравнения архитектур, на разных частотах да при разной функциональной насыщенности инструкций... в общем замена причины следствием. А что надо: количество инструкций в еденицу времени на данной архитектуре на данной частоте, и без сравнений с другими числами. ( а то еще не определив до конда смысл числа - побыстрее сравнить числа. хе-хе. торгаши  ) Пример: возьмем килограм самых лучших инструкций и запустим на исполнение на архитектуре A (ARM9) на частоте F (180MHz).  ("лучших" - самых быстрых, оптимизируем без интерлоков, кэш-промахов, все в кэше и прочее). Как ни старайся - самое лучшее что можно выжать - 1 IPC. Возьмем 180 000 000 трактов - получим 180 MIPS. Это собствеено то, с чего я начал возмущаться. Теперь всякие Dhrystone и более высокоуровневые синтетические тесты: Dhrystone -> разбавим наш килограм самых лучших - не самыми лучшими, но не менее полезными. Цифра меньше, но появляется ценность этой цифры для сравнения с другими цифрами. Более высокоуровневые тесты задаются вопросом "не сколько инструкций надо для решения какой-то задачи, а сколько времени будут выполняться необходимые для решения задачи инструкции (для каждой архитектуры свои и свое количество) при способностях сравниваемых архитектур тактироваться максимальной для них частотой". Тут весь смысл в сравнении (спору нет). Итого: если MIPS - это именно MIPS, то как at91RM9200 может развивать 200 MIPS на 180MHz?
|
|
|
|
|
Oct 8 2006, 05:56
|
Частый гость
 
Группа: Свой
Сообщений: 82
Регистрация: 14-03-06
Из: Санкт-Петербург
Пользователь №: 15 227

|
Цитата(aaarrr @ Oct 8 2006, 02:25)  Данные просмотра translation table буферизируются в Translation Lookaside Buffers (TLBs), что позволяет сократить количество проходов по таблице.
Конечно, виртуальная адресация вызывает тормоза - за все надо платить. О! допер!. в TLB "кэшируются" дескрипторы секций/страниц. А меня почему-то тянуло кэшировать права на каждую команду  Ну тогда тормоза случаются только при первом обращении к адресу, принадлежащему области памяти, дескриптор которой не прокэшироан в TLB; а при остальных обращениях к это Цитата(aaarrr @ Oct 8 2006, 02:25)  Данные просмотра translation table буферизируются в Translation Lookaside Buffers (TLBs), что позволяет сократить количество проходов по таблице.
Конечно, виртуальная адресация вызывает тормоза - за все надо платить. О! допер!. в TLB "кэшируются" дескрипторы секций/страниц. А меня почему-то тянуло кэшировать права на каждую команду  Ну тогда тормоза случаются только при первом обращении к адресу, принадлежащему области памяти, дескриптор которой не прокэшироан в TLB; а при остальных обращениях к этой области памяти ловятся только кэш-промахи. Теперь нет преград для использования ММУ.
|
|
|
|
|
Oct 8 2006, 22:07
|
Частый гость
 
Группа: Свой
Сообщений: 172
Регистрация: 23-04-06
Пользователь №: 16 404

|
Цитата(cf7k @ Oct 8 2006, 06:44)  Размышления: в оригинале MIPS - million instructions per second. В переводе "отношение числа команд в программе ко времени ее выполнения" и далее запудривание мозгов(ну это не только в переводе) ... Итого: если MIPS - это именно MIPS, то как at91RM9200 может развивать 200 MIPS на 180MHz? Ну не все MIPS одинково полезны. Вообще MIPS и "Meaningless Indication of Processor Speed" / "Meaningless Information on Performance for Salespeople" / "Meaningless Integer Performance Spec". подробнее здесь.
|
|
|
|
|
Oct 9 2006, 11:35
|
Частый гость
 
Группа: Свой
Сообщений: 82
Регистрация: 14-03-06
Из: Санкт-Петербург
Пользователь №: 15 227

|
Цитата(sff @ Oct 9 2006, 02:07)  Ну не все MIPS одинково полезны. Вообще MIPS и "Meaningless Indication of Processor Speed" / "Meaningless Information on Performance for Salespeople" / "Meaningless Integer Performance Spec". Здесь обязательно поставить смайлик. Цитата(sff @ Oct 9 2006, 02:07)  А по табличке из википедии можно лишь делать предположения о суперскалярности и спекулятивности некоторых приведенных реализаций архитектур. В ARM920T нет ни малейшего намека на какую-либо параллельность. Сдается мне что все-таки "200MIPS at 180MHz" - это фикция (в рекламных целях).
|
|
|
|
|
Oct 9 2006, 12:37
|
Частый гость
 
Группа: Свой
Сообщений: 82
Регистрация: 14-03-06
Из: Санкт-Петербург
Пользователь №: 15 227

|
Цитата(aaarrr @ Oct 9 2006, 15:45)  Повторяю еще раз: "MIPS" - это не million instructions per second. Все, дальнейшие рассуждения о суперскалярности, спекулятивности и т.п. бессмысленны. О! Золотые слова! Правда звучит как-то вроде "тебе мало что ли?" или "люди делом занимаются, а ты философию разводишь". Тогда вопрос: А что такое MIPS? (в рамках рассматриваемой темы). Ну или перефразировав "Сколько МIPS (в первоначальном смысле) выдает at9rm9200 на частоте 180MHz? Искомый ответ тут.Итого для ARM9 (at91rm9200) на 180MHz получаю примерно 120 Million (армовских) IPS. (не самых лучших, а статистически для всего набора команд)
Сообщение отредактировал cf7k - Oct 9 2006, 12:57
|
|
|
|
|
Oct 9 2006, 12:48
|
Гуру
     
Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448

|
Цитата(cf7k @ Oct 9 2006, 16:37)  О! Золотые слова! Правда звучит как-то вроде "тебе мало что ли?" или "люди делом занимаются, а ты философию разводишь". Извините, если звучит резковато. Просто я считаю, что производительность системы можно оценивать только в контексте задачи. Цитата(cf7k @ Oct 9 2006, 16:37)  Тогда вопрос: А что такое MIPS? Как правило, имеют в виду Dhrystone VAX MIPS, то есть отношение "производительности" исследуемой системы к VAX 11/780.
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|