Forth и другие саморасширяющиеся системы программирования Locations of visitors to this page
Текущее время: Ср апр 24, 2024 18:10

...
Google Search
Forth-FAQ Spy Grafic

Часовой пояс: UTC + 3 часа [ Летнее время ]




Начать новую тему Ответить на тему  [ Сообщений: 15 ] 
Автор Сообщение
 Заголовок сообщения: Параллельное исполнение команд Форта
СообщениеДобавлено: Чт фев 01, 2007 20:45 
Не в сети
Administrator
Administrator
Аватара пользователя

Зарегистрирован: Вт май 02, 2006 22:48
Сообщения: 7960
Благодарил (а): 25 раз.
Поблагодарили: 144 раз.
Еще один placeholder. Тут мы подумаем про одноядерные решения и способы затащить в них как можно больше полезного через шину команд.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Вт дек 09, 2008 14:53 
Не в сети
Moderator
Moderator

Зарегистрирован: Ср май 10, 2006 15:37
Сообщения: 1132
Откуда: Chelyabinsk ( Ural)
Благодарил (а): 0 раз.
Поблагодарили: 9 раз.
"А стековые архитектуры процессоров - совсем умерли?"
http://www.rsdn.ru/Forum/message/3145957.flat.aspx

P.S. Обсуждение возможностей стековых архитектур.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Вт дек 09, 2008 19:49 
Не в сети
Moderator
Moderator
Аватара пользователя

Зарегистрирован: Чт май 04, 2006 00:53
Сообщения: 5062
Откуда: был Крым, теперь Новосибирск
Благодарил (а): 23 раз.
Поблагодарили: 63 раз.
заголовок темы по-моему не совпадает с содержимым первого поста.
что же имеется ввиду?

_________________
Мне бы только мой крошечный вклад внести,
За короткую жизнь сплести
Хотя бы ниточку шёлка.
fleur


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Вт дек 09, 2008 20:12 
Не в сети
Administrator
Administrator
Аватара пользователя

Зарегистрирован: Вт май 02, 2006 22:48
Сообщения: 7960
Благодарил (а): 25 раз.
Поблагодарили: 144 раз.
mOleg писал(а):
заголовок темы по-моему не совпадает с содержимым первого поста.
что же имеется ввиду?

Исполнение команд Форта параллельно, но на одном ядре. Процессор в ПЛИС.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Вт дек 09, 2008 20:17 
Не в сети
Moderator
Moderator
Аватара пользователя

Зарегистрирован: Чт май 04, 2006 00:53
Сообщения: 5062
Откуда: был Крым, теперь Новосибирск
Благодарил (а): 23 раз.
Поблагодарили: 63 раз.
Хищник писал(а):
Исполнение команд Форта параллельно, но на одном ядре.

уф, слова все знакомые, а в цельное не складываются.
речь, вероятно, идет о выполненнии последовательности команд (часто встречающейся) как одной команды?

_________________
Мне бы только мой крошечный вклад внести,
За короткую жизнь сплести
Хотя бы ниточку шёлка.
fleur


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Вт дек 09, 2008 20:45 
Не в сети
Administrator
Administrator
Аватара пользователя

Зарегистрирован: Вт май 02, 2006 22:48
Сообщения: 7960
Благодарил (а): 25 раз.
Поблагодарили: 144 раз.
mOleg писал(а):
речь, вероятно, идет о выполненнии последовательности команд (часто встречающейся) как одной команды?

Ну вообще да. Просто "последовательно" и "параллельно" противоречат друг другу.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Вт дек 09, 2008 21:22 
Не в сети
Administrator
Administrator
Аватара пользователя

Зарегистрирован: Вт май 02, 2006 13:19
Сообщения: 3565
Откуда: St.Petersburg
Благодарил (а): 4 раз.
Поблагодарили: 72 раз.
imho, скорее, не "часто встречающихся", а "независимых"

Например, команды DROP и CALL ADDR могут исполняться параллельно и независимо друг от друга.
и вовсе не обязательно в системе команд процессора иметь сдвоенную общую команду на все подобные случаи.
Достаточно устройству управления заглянуть вперед потока команд, найти подобные пары и согласованно раздать сигналы управления исполняющим устройствам так, чтобы исполнить эти команды одновременно.

_________________
С уважением, WingLion
Forth-CPU . RuF09WE
Мой Форт
Отсутствие бана это не заслуга юзера, а недоработка модератора (с)


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Ср дек 10, 2008 06:42 
Не в сети

Зарегистрирован: Ср сен 13, 2006 10:06
Сообщения: 636
Откуда: Омск
Благодарил (а): 0 раз.
Поблагодарили: 3 раз.
А можно в словарной статье помечать можно ли это слово выполнять паралельно, но тут помоему специфика платформы должна быть, а иначе смысл в постоянной проверке пропадет.

_________________
Меня нет, не будет и не было.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Ср дек 10, 2008 08:48 
Не в сети
Administrator
Administrator
Аватара пользователя

Зарегистрирован: Вт май 02, 2006 13:19
Сообщения: 3565
Откуда: St.Petersburg
Благодарил (а): 4 раз.
Поблагодарили: 72 раз.
Словарные статьи - это несколько иные "над"понятия в контексте данного раздела (Hardware),
да и пометки в статьях на все случаи жизни сделать невозможно.
А вот правила для команд процессора можно вшить в логику управления навсегда. И выполнять параллельно все, что не мешает друг другу.

_________________
С уважением, WingLion
Forth-CPU . RuF09WE
Мой Форт
Отсутствие бана это не заслуга юзера, а недоработка модератора (с)


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Ср дек 10, 2008 09:26 
WingLion писал(а):
А вот правила для команд процессора можно вшить в логику управления навсегда. И выполнять параллельно все, что не мешает друг другу.

Это, наверное, что-то типа Intel HyperThreading, когда ядро одно, но функциональных блоков несколько, и команды распихиваются между ними, по возможности загружая максимальное их кол-во. Так? Или, вообще, что-нибудь вроде VLIW. Но тока тут надо Форт-компилятор усложнять.
Вообщем, чисто железячные штуки. И очень интересные. :)


Вернуться к началу
  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Ср дек 10, 2008 10:31 
Не в сети
Administrator
Administrator
Аватара пользователя

Зарегистрирован: Вт май 02, 2006 13:19
Сообщения: 3565
Откуда: St.Petersburg
Благодарил (а): 4 раз.
Поблагодарили: 72 раз.
В случае форт-процессора (по крайней мере, того, что я для себя делал) функциональных блоков всего два (СтекДанных+АЛУ и СтекВозвратов+ЛогикаПереходов), поэтому пары команд выполняться параллельно либо могут, либо не могут, т.е. логика определения возможности параллелизма очень простая.
Если могут - команды выполняются сразу обе - одна на одном блоке, другая на втором. Если же какая-то из команд занимает оба блока для своего действия, она не параллелится ни с чем. И не параллелятся пары команд, которые обе исполняются на одном блоке.
ускорение исполнения в таком случае в среднем до полутора раз.

Надо только не забыть, что пока сие всего лишь теория, на практике никаких подобных параллельных исполнений (в моем варианте форт-процессора) нет, хотя, мысли были.

Сделать, naпример, проверку потока команд на наличие RET в конце (или середине) цепочки (загружаются ведь сразу 4 в 16-битном или 8 команд в 32-битном варианте процессора) и исполнять его совместно с предыдущей командой, если она не задевает стек возвратов.

По сути, в устройстве управления нужен дешифратор на две четверки бит с четкой логикой, как исполнять две команды параллельно, если такое возможно. Если нет, то команда исполняется только одна, а вторая в следующем такте сдвигается на первое место.

_________________
С уважением, WingLion
Forth-CPU . RuF09WE
Мой Форт
Отсутствие бана это не заслуга юзера, а недоработка модератора (с)


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Ср дек 10, 2008 19:07 
Не в сети
Moderator
Moderator
Аватара пользователя

Зарегистрирован: Чт май 04, 2006 00:53
Сообщения: 5062
Откуда: был Крым, теперь Новосибирск
Благодарил (а): 23 раз.
Поблагодарили: 63 раз.
Ага, только тут есть грабли.
Желательно, по-моему, чтобы все команды выполнялись за одинаковое время, т.к. очень полезно бывает считать время выполнения, вносить задержки.
Кроме того, не известно на сколько велик от этого выигрыш, а проигрыш явно есть по сложности проца, а значит потребляемой мощности и т.п.

_________________
Мне бы только мой крошечный вклад внести,
За короткую жизнь сплести
Хотя бы ниточку шёлка.
fleur


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Ср дек 10, 2008 19:51 
Не в сети
Administrator
Administrator
Аватара пользователя

Зарегистрирован: Вт май 02, 2006 13:19
Сообщения: 3565
Откуда: St.Petersburg
Благодарил (а): 4 раз.
Поблагодарили: 72 раз.
И что мешает посчитать соптимизированное время выполнения, если зависимость четкая и однозначная?

На счет усложнения - не думаю, что пара десятков LCELL сделает погоду на фоне нескольких сотен - тысячи, занимаемых процессором.

Ну, а выигрыш по времени в некоторых случаях может оказаться существенен. До полутора раз по прикидкам, если считать, что момент оптимизации возникает один раз из трех.
Снизить потребляемую мощность в этом случае проще с оптимизированной схемой, чем нет. Простым снижением тактовой частоты. Для КМОП потребляемая мощность пропорциональна частоте, т.е. при одной и той же средней скорости, частоту можно снизить до полутора раз, а заначит и мощность.

возможно, я излишне оптимистичен в оценках - они всего лишь умозрительные. Но даже ради такого игра стоит свеч.

_________________
С уважением, WingLion
Forth-CPU . RuF09WE
Мой Форт
Отсутствие бана это не заслуга юзера, а недоработка модератора (с)


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Ср дек 10, 2008 22:06 
Не в сети

Зарегистрирован: Ср сен 13, 2006 10:06
Сообщения: 636
Откуда: Омск
Благодарил (а): 0 раз.
Поблагодарили: 3 раз.
Хорошо сказать, а вот как сделать?

_________________
Меня нет, не будет и не было.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Ср дек 10, 2008 22:37 
Не в сети
Administrator
Administrator
Аватара пользователя

Зарегистрирован: Вт май 02, 2006 13:19
Сообщения: 3565
Откуда: St.Petersburg
Благодарил (а): 4 раз.
Поблагодарили: 72 раз.
Pretorian писал(а):
Хорошо сказать, а вот как сделать?


А это уже вопрос времени и жизненной необходимости.
Будет и то, и другое - сделаем!

_________________
С уважением, WingLion
Forth-CPU . RuF09WE
Мой Форт
Отсутствие бана это не заслуга юзера, а недоработка модератора (с)


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 15 ] 

Часовой пояс: UTC + 3 часа [ Летнее время ]


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 26


Вы не можете начинать темы
Вы можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
phpBB сборка от FladeX // Русская поддержка phpBB