Forth и другие саморасширяющиеся системы программирования Locations of visitors to this page
Текущее время: Ср ноя 22, 2017 13:11

...
Google Search
Forth-FAQ Spy Grafic

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




Начать новую тему Ответить на тему  [ Сообщений: 23 ]  На страницу Пред.  1, 2
Автор Сообщение
 Заголовок сообщения: Re: Мультизадачный форт-процессор: Предпосылки, идеи, обсужд
СообщениеДобавлено: Ср ноя 30, 2011 16:05 
Не в сети
Аватара пользователя

Зарегистрирован: Чт июн 25, 2009 11:12
Сообщения: 412
Благодарил (а): 41 раз.
Поблагодарили: 8 раз.
На "виртуальных" ядрах можно сделать аппаратный обмен сообщениями.
Например в Форте сообщением будут несколько верхних уровней стека.
Одно ядро выполняет команду ПОСЛАТЬ, диаграмма выглядит как ( n --).
Второе ядро выполняет ПРИНЯТЬ, диаграмма выглядит как ( -- n).
Так пара команд мгновенно передает n слов от потока к потоку и обеспечивает синхронизацию.
Только нужно ещё как-то указать адресата.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Мультизадачный форт-процессор: Предпосылки, идеи, обсужд
СообщениеДобавлено: Ср ноя 30, 2011 16:55 
Не в сети
Administrator
Administrator
Аватара пользователя

Зарегистрирован: Вт май 02, 2006 22:48
Сообщения: 6087
Благодарил (а): 13 раз.
Поблагодарили: 96 раз.
dynamic-wind писал(а):
На "виртуальных" ядрах можно сделать аппаратный обмен сообщениями.
Например в Форте сообщением будут несколько верхних уровней стека.
Одно ядро выполняет команду ПОСЛАТЬ, диаграмма выглядит как ( n --).
Второе ядро выполняет ПРИНЯТЬ, диаграмма выглядит как ( -- n).
Так пара команд мгновенно передает n слов от потока к потоку и обеспечивает синхронизацию.
Только нужно ещё как-то указать адресата.

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


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Мультизадачный форт-процессор: Предпосылки, идеи, обсужд
СообщениеДобавлено: Ср ноя 30, 2011 18:52 
Не в сети
Administrator
Administrator
Аватара пользователя

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

Скорость работы чистых триггеров примерно в 2 раза выше, чем частота работы памяти.
Когда к триггерам добавляется логическое ядро процессора, скорость падает в эти самые 2 раза, поэтому скорость работы ядра процессора сравнима с рабочей частотой (но не скоростью!) работы памяти. Загнать процессор на двойную частоту памяти и подать сразу несколько команд - возможно, но сложно (не получилось с одного наскока).

Поэтому пока такой вариант откладывается в долгий ящик.

Частота памяти - это частота, с которой она выдает данные на выходе и принимает адреса на входе (синхронная память). Данные из конкретного адреса появляются через 2 такта, поэтому процессор с такой памятью требует 3 такта на один цикл (2 на память + 1 на ядро). Мультиплексировать доступ к памяти можно на ее предельной частоте, поэтому и возможна организация нескольких процессов на одном блоке памяти.

Надеюсь, что-то прояснил такой сумбурной информацией.

Память для процессоров - необходима потому что ячеек ПЛИС на все не хватит.
Я планирую для начала, что количество задач будет порядка 256. При условии, что на одноядерный вариант процессора надо порядка 300 ячеек (при нахождении стека в этих же ячейках), то на 256 процессов надо уже почти 750000 LCELL, а это уже дорого. Поэтому состояния процессов хранятся во внутренней памяти ПЛИС. Перевод их в логические ячейки нецелесообразен, или количество процессов надо серьезно ограничить.

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


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Мультизадачный форт-процессор: Предпосылки, идеи, обсужд
СообщениеДобавлено: Чт дек 01, 2011 19:53 
Не в сети

Зарегистрирован: Вт май 09, 2006 12:31
Сообщения: 3438
Благодарил (а): 5 раз.
Поблагодарили: 16 раз.
Цитата:
Надеюсь, что-то прояснил такой сумбурной информацией.

В общем, можно даже так описать - есть некие комманды, которые не может микросхема выполнить за такт - подряд и потому нужно сделать очередь (замкнутую) таких комманд, чтобы такты не простаивали (не были пустыми)

и ведь такие комманды могут быть не только обращением с памятью

Эта очередь не может быть способом исполнения одной задачи (понятно, тогда именно пустые такты) значит - многозадачность поневоле
даже не многозадачность - а особенное соотношение многозадачности с многоядерностью.

Но зато при этом многое автоматизируется и экономятся многие затраты, которые имеют место при обычной многозадачности вследствие
1. предсказуемости перехода
2. отсутствия необходимости перезагружать регистры (они у кажого ядра свои)
3. экономии на автоматизации и железной реализации процессов, связанных с очередью


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Мультизадачный форт-процессор: Предпосылки, идеи, обсужд
СообщениеДобавлено: Пт дек 02, 2011 13:19 
Не в сети
Аватара пользователя

Зарегистрирован: Чт июл 20, 2006 11:31
Сообщения: 2093
Откуда: Екб
Благодарил (а): 0 раз.
Поблагодарили: 34 раз.
вопрос писал(а):
В общем, можно даже так описать - есть некие комманды, которые не может микросхема выполнить за такт - подряд и потому нужно сделать очередь (замкнутую) таких комманд, чтобы такты не простаивали (не были пустыми)

и ведь такие комманды могут быть не только обращением с памятью

Проще всё - есть набор команд процессора, которые выполняются за один такт. Кроме них никаких команд у процессора нет.
Необходимо эмулировать систему команд определенной виртуальной машины(например фортВМ).
Часть команд для этой ВМ будут из набора команд процессора(то есть однотактные), а часть будут последовательностью
команд процессора. Все как обычно - ничего нового.

_________________
С уважением, chess


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Мультизадачный форт-процессор: Предпосылки, идеи, обсужд
СообщениеДобавлено: Вс янв 08, 2012 13:33 
Не в сети
Administrator
Administrator
Аватара пользователя

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

И в любом случае, схема будет тактироваться одним клоком, а значит формально будет однотактовой, хотя памяти и потребуется несколько тактов на выборку данных.

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

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


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Мультизадачный форт-процессор: Предпосылки, идеи, обсужд
СообщениеДобавлено: Вс янв 08, 2012 14:19 
Не в сети
Administrator
Administrator
Аватара пользователя

Зарегистрирован: Вт май 02, 2006 22:48
Сообщения: 6087
Благодарил (а): 13 раз.
Поблагодарили: 96 раз.
Если память оказывается медленнее, но при этом она двупортовая, можно попробовать такой эксперимент: берем тактовый генератор и вытаскиваем из него обычный и инверсный сигналы. Прямой подаем на первый порт, инверсный - на второй, получаем удвоенное количество операций.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Мультизадачный форт-процессор: Предпосылки, идеи, обсужд
СообщениеДобавлено: Вс янв 08, 2012 14:38 
Не в сети
Administrator
Administrator
Аватара пользователя

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

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


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

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


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

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


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

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