реклама на сайте
подробности

 
 
> at91rm9200 и кэши
cf7k
сообщение Oct 7 2006, 17:15
Сообщение #1


Частый гость
**

Группа: Свой
Сообщений: 82
Регистрация: 14-03-06
Из: Санкт-Петербург
Пользователь №: 15 227



Вот тут задался странным вопросом про 91rm9200...
Ядро RISC; кэши подключены по-гарвардски; поиск TAG'ов в кэшах однотактный, конвейер хоть и есть, но он обычный... то есть никакой суперскалярности и спекулятивности... ничего сверхъестественного...

А вот на первой странице официальной доки (и далее во всех рекламах) "200 MIPS at 180 MHz"
Где же исполнение более одной

Это невнимательность разработчиков при правке доков после обнаружения бага в предыдущих версиях кристалла, моя невнимательность или просто грязный ПиАр?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
aaarrr
сообщение Oct 7 2006, 22:05
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Цитата(cf7k @ Oct 7 2006, 23:17) *
Длина конвейера тут влиять не должна: за 1 такт на каждой ступени конвейера обрабатывается только одна инструкция: на этапе декодирования - декодируется одна инструкция, на этапе выполнения - выполняется одна, на этапе обращения к памяти - одно чтение или одна запись, на вход поступает не более одной инструкции за такт... миллион тактов = миллион инструкций (в лучшем случае).

Более длинный конвейер позволяет несколько "размыть" операции с памятью. Хотя, конечно, дело не только в нем. Вот небольшой, но любопытный документ на тему отличия 7-х и 9-х ядер.

Цитата(cf7k @ Oct 7 2006, 23:17) *
А про квазиMIPS - это даже интересно... Вроде дело не в измерении скорости решеиия конкретной задачи и сравнеии с чем-то, а именно в инструкциях данного реализованного набора команд... Где бы найти источник который бы пролил свет на сию арифметику?

Что-то здесь не чисто... wink.gif

Ну разумеется, не чисто smile.gif Попробуйте погуглить "VAX MIPS" и "Dhrystone".
Go to the top of the page
 
+Quote Post
cf7k
сообщение Oct 8 2006, 02:44
Сообщение #3


Частый гость
**

Группа: Свой
Сообщений: 82
Регистрация: 14-03-06
Из: Санкт-Петербург
Пользователь №: 15 227



Цитата(aaarrr @ Oct 8 2006, 02:05) *
Более длинный конвейер позволяет несколько "размыть" операции с памятью. Хотя, конечно, дело не только в нем. Вот небольшой, но любопытный документ на тему отличия 7-х и 9-х ядер.


Спасибо. Ознакомился. Из того что не знал - это то, что результат выполнения инструкции сразу становится доступен команде на входе конвейера параллельно стадии "запись регистра-чтение регистра".
Наверное это и имелось в виду под "размыть операции с памятью". Но и тут я не согласен wink.gif Все предельно четко и никакого размытия - операции с памятью - на 4й ступени конвейера (шут с регистрами); а количество ступеней всего лишь позволяет раскидать транзисторы в конвейере так, чтобы время распространения сигнала на всех стадиях было примерно одинаково - это всего лишь аппаратная оптимизация для повышения частоты такта.

Цитата(aaarrr @ Oct 8 2006, 02:05) *
Цитата(cf7k @ Oct 7 2006, 23:17) *


Что-то здесь не чисто... wink.gif

Ну разумеется, не чисто smile.gif Попробуйте погуглить "VAX MIPS" и "Dhrystone".


А насколько не чисто.... о-го-го!
То ли наши переводчики страдали избытком энтузиазма и очень хотели привнести в перевод что-то свое, то ли это грязный маркетинговый ПиАр, тянущийся с тех времен когда решили заплевать старую DECовскую архитектуру и сказать что новая IBM'овская- круче.

Размышления: в оригинале MIPS - million instructions per second. В переводе "отношение числа команд в программе ко времени ее выполнения" и далее запудривание мозгов(ну это не только в переводе) о сложности сравнения архитектур, на разных частотах да при разной функциональной насыщенности инструкций... в общем замена причины следствием. А что надо: количество инструкций в еденицу времени на данной архитектуре на данной частоте, и без сравнений с другими числами. ( а то еще не определив до конда смысл числа - побыстрее сравнить числа. хе-хе. торгаши smile.gif )

Пример: возьмем килограм самых лучших инструкций и запустим на исполнение на архитектуре A (ARM9) на частоте F (180MHz). smile.gif ("лучших" - самых быстрых, оптимизируем без интерлоков, кэш-промахов, все в кэше и прочее). Как ни старайся - самое лучшее что можно выжать - 1 IPC. Возьмем 180 000 000 трактов - получим 180 MIPS. Это собствеено то, с чего я начал возмущаться. biggrin.gif

Теперь всякие Dhrystone и более высокоуровневые синтетические тесты:
Dhrystone -> разбавим наш килограм самых лучших - не самыми лучшими, но не менее полезными. Цифра меньше, но появляется ценность этой цифры для сравнения с другими цифрами.
Более высокоуровневые тесты задаются вопросом "не сколько инструкций надо для решения какой-то задачи, а сколько времени будут выполняться необходимые для решения задачи инструкции (для каждой архитектуры свои и свое количество) при способностях сравниваемых архитектур тактироваться максимальной для них частотой". Тут весь смысл в сравнении (спору нет).

Итого: если MIPS - это именно MIPS, то как at91RM9200 может развивать 200 MIPS на 180MHz?
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 22nd July 2025 - 23:56
Рейтинг@Mail.ru


Страница сгенерированна за 0.01384 секунд с 7
ELECTRONIX ©2004-2016