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

 
 
 
Reply to this topicStart new topic
> Вопрос о микро-архитектуре MIPS1, Почему бы не делать 2 клока на АЛУ вместо 1?
FROL_256
сообщение Jul 20 2014, 12:41
Сообщение #1


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

Группа: Участник
Сообщений: 101
Регистрация: 3-09-10
Пользователь №: 59 274



Здравствуйте, уважаемые форумчане!
Мой вопрос:

Мы знаем что в MIPS конвейер устроен таким образом: F D X M W

Причем, на операции с АЛУ отводится 1 клок, а на операции с памятью, как правило, 2 клока.
И смысл F D X M W конвейера именно в том, чтобы на 1 клоке посчитать смещение через АЛУ, а на 2 уже реализовать выборку из памяти, это понятно.

Однако, АЛУ ведь тоже довольно тяжелая вешь, почему бы не разбить его на 2 стадии.
На первой стадии мы просто вычисляем все что нужно - то есть все варианты операций. На 2-ую стадию перенесим все мультиплексоры (включая bypass), которые выбирают нужный результат и записывают его куда надо.

Как мне стало казаться, это многое упростит и улучшит. Во-первых, меньше bypass-а и проще определять, когда процессор простаивает а когда, нет, т.к. все команды занимаю 2 клока и точка.
Во-вторых, алу станет меньше и возможно вырастет частота ... но я понимаю что здесь надо считать конечно на практике и наверное многое зависит от того как память будет реализована.

Поэтому интересует:
1) Насколько такая идея оправдана?
2) Где обычно находится боттлнек в MIPS конвейере? Возможно, ваш личный опыт.

Спасибо!

PS: больно не бейте, я в этом деле любитель sm.gif
Go to the top of the page
 
+Quote Post
yes
сообщение Jul 21 2014, 13:52
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 2 198
Регистрация: 23-12-04
Пользователь №: 1 640



с МИПСом не работал (если не секрет - сами пишете или взяли какой готовый?)
но из опыта: если не для ПЛИС, то ожидания памяти/шины кэш-промахи и т.п. сильно тормозит.
операцию записи можно вынести в отдельный буффер - ну то есть отложеные записи, но тогда нужно и поддерживать асинхронные исключения по ошибкам записи.
а чтение нужно ждать...

ну и АЛУ в кремнии (не ПЛИС) обычно самое быстрое - критических путей там нет, а вот всякие памяти (таги кэша, регистры и т.п.) отъедают много времени, поэтому, имхо, и для "простых" операций отводят лишний такт, а не для логики - и так успевает

если интересно, советую по TMS320C6000 почитать описание конвеера - весьма занимательно : spru733a.pdf
Go to the top of the page
 
+Quote Post
FROL_256
сообщение Jul 21 2014, 19:46
Сообщение #3


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

Группа: Участник
Сообщений: 101
Регистрация: 3-09-10
Пользователь №: 59 274



Спасибо! sm.gif

Пишу свой, но не совсем MIPS, делаю MIPS-like. Со своей системой команд, более минималистичной.
В мипсе мне не нравятся некоторые вещи ... например почему нету команды сложения с переносом но зато есть команда вытаскивания флага переноса.
это на мой взляд довольно странно.
Go to the top of the page
 
+Quote Post
yes
сообщение Jul 22 2014, 12:09
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 2 198
Регистрация: 23-12-04
Пользователь №: 1 640



не готов обсуждать специфику ISA MIPS (давно было дело), но по-моему, плотность кода и эффективность DMIPS у ARM/SPARC/MIPS одинакова (ес-сно не THUMB и MIPS16)
PPC вроде повеселее, но она и сложнее преизрядно.
SPARC на некотором коде побыстрее, но цена - огромный регистровый файл (реже лазит в память)
Go to the top of the page
 
+Quote Post
kleverd
сообщение Apr 12 2015, 19:57
Сообщение #5


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

Группа: Свой
Сообщений: 131
Регистрация: 26-04-14
Из: Москва
Пользователь №: 81 525



Цитата(FROL_256 @ Jul 22 2014, 00:46) *
Пишу свой, но не совсем MIPS, делаю MIPS-like. Со своей системой команд, более минималистичной.
В мипсе мне не нравятся некоторые вещи ... например почему нету команды сложения с переносом но зато есть команда вытаскивания флага переноса.
это на мой взляд довольно странно.


А, если не секрет, каков смысл в этом деянии?
Набор команд изменится, существующие компиляторы станут несовместимы с Вашим творением.
Или написание собственного компилятора также входит в план?

Сообщение отредактировал kleverd - Apr 12 2015, 19:59
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 27th June 2025 - 06:27
Рейтинг@Mail.ru


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