Forth и другие саморасширяющиеся системы программирования Locations of visitors to this page
Текущее время: Чт мар 28, 2024 20:08

...
Google Search
Forth-FAQ Spy Grafic

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




Начать новую тему Ответить на тему  [ Сообщений: 79 ]  На страницу Пред.  1, 2, 3, 4, 5, 6  След.
Автор Сообщение
 Заголовок сообщения:
СообщениеДобавлено: Вс июл 05, 2009 11:01 
Не в сети

Зарегистрирован: Вс июн 21, 2009 20:49
Сообщения: 111
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Хищник писал(а):
Если первый случай - GPF, то второй - совершенно штатная ситуация, вошедшая в околокомпьютерный фольклор как "диск свопит".

Для процессора нет разницы, GPF или "подкачка свопа", то есть по научному подкачка страницы виртуальной памяти (она не обязательно происходит с диска, может например с сети) - в любом случае происходит исключение (переключение контекста итп), а мы тут пока обсуждаем именно процессор а не ОС ;)

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


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

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


Что-то я вопрос сей совсем упустил (прозевал)...

Симулятор надо делать, но только после того, как железка более-менее заработает, иначе и симулировать нечего.

В данный момент процессор умеет только экран забивать мусором.

В текущем плане - работа над target-компилятором для него.

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


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Пн июл 06, 2009 00:07 
Не в сети
Administrator
Administrator
Аватара пользователя

Зарегистрирован: Вт май 02, 2006 22:48
Сообщения: 7960
Благодарил (а): 25 раз.
Поблагодарили: 144 раз.
simne писал(а):
Для процессора нет разницы, GPF или "подкачка свопа", то есть по научному подкачка страницы виртуальной памяти (она не обязательно происходит с диска, может например с сети) - в любом случае происходит исключение (переключение контекста итп), а мы тут пока обсуждаем именно процессор а не ОС

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


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

Зарегистрирован: Вс июн 21, 2009 20:49
Сообщения: 111
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Хищник писал(а):
simne писал(а):
Для процессора нет разницы, GPF или "подкачка свопа", то есть по научному подкачка страницы виртуальной памяти (она не обязательно происходит с диска, может например с сети) - в любом случае происходит исключение (переключение контекста итп), а мы тут пока обсуждаем именно процессор а не ОС

Для процессора как раз есть разница - не на каждое исключение выделяется специальный флаг. А "флаг присутствия страницы" как раз имеется в наличии. Делается это для ускорения обработки данного исключения, поскольку обмен с виртуальной памятью может происходить постоянно, и он не должен существенно тормозить работу процессора. А вот вылет за пределы выделенного адресного пространства...


Ну вообще-то виртуальная память на то и виртуальная, что для типичного современного процессора время обработки исключения измеряется в долях микросекунды, а время считывания/записи винта в лучшем случае в единицах миллисекунд, так что специальный флаг там погоды не делает, и многие не-х86 процессоры соответственно ничего подобного не имеют :D

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

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


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Пн июл 06, 2009 01:16 
Не в сети
Administrator
Administrator
Аватара пользователя

Зарегистрирован: Вт май 02, 2006 22:48
Сообщения: 7960
Благодарил (а): 25 раз.
Поблагодарили: 144 раз.
simne писал(а):
Ну вообще-то виртуальная память на то и виртуальная, что для типичного современного процессора время обработки исключения измеряется в долях микросекунды, а время считывания/записи винта в лучшем случае в единицах миллисекунд, так что специальный флаг там погоды не делает, и многие не-х86 процессоры соответственно ничего подобного не имеют

Это не отменяет принципиально различного назначения исключения, связанного с виртуальной памятью, и исключений, связанных с нарушениями прав доступа. В том же x86 существует целый класс исключений, после обработки которых команда, вызвавшая исключение, выполняется повторно. Подразумевается, что обработчик исключения принял меры к исправлению ошибочной ситуации и сделал ее исполнение возможным. Именно это поведение и обсуждается.
simne писал(а):
Для встроенного может быть. Все зависит от цены программирования - на каком-то моменте окажется, что выгоднее сделать более дуракоустойчивый процессор, чем переплачивать за сверхнадежный код.

Более дуракоустойчивый процессор потребуется, если непосредственно на нем кто-то будет проводить разработку. Тогда может оказаться полезной реализация механизма защиты памяти, чтобы проблемы в отлаживаемом приложении не угробили среду разработки. А вот сверхнадежный код для работы вовсе не нужен - достаточно просто работоспособного. Вообще, когда глубина стека в процессе выполнения кода устойчиво растет - это ненормально. И подкачка тут не спасает, а только маскирует проблему.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Пн июл 06, 2009 08:28 
Не в сети
Moderator
Moderator

Зарегистрирован: Ср май 10, 2006 15:37
Сообщения: 1132
Откуда: Chelyabinsk ( Ural)
Благодарил (а): 0 раз.
Поблагодарили: 9 раз.
Возможно E16 не совсем удачное название
т.к. разработка Форт процессора в FPGA E16 есть у Brad Eckert:)


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

Зарегистрирован: Вт май 02, 2006 22:48
Сообщения: 7960
Благодарил (а): 25 раз.
Поблагодарили: 144 раз.
Kopa писал(а):
Возможно E16 не совсем удачное название
т.к. разработка Форт процессора в FPGA E16 есть у Brad Eckert:)

Букв латинского алфавита не так уж и много. Brad-у Eckert-у, видимо, не повезло ;)


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

Зарегистрирован: Ср май 10, 2006 15:37
Сообщения: 1132
Откуда: Chelyabinsk ( Ural)
Благодарил (а): 0 раз.
Поблагодарили: 9 раз.
Хищник писал(а):
Kopa писал(а):
Возможно E16 не совсем удачное название
т.к. разработка Форт процессора в FPGA E16 есть у Brad Eckert:)

Букв латинского алфавита не так уж и много. Brad-у Eckert-у, видимо, не повезло ;)


Не повезёт googlе если не переименовать, например, на EQ16 :)
( что тоже может с чем нибудь пересечься )
Например новость:
Код:
Разработчики оконного менеджера Enlightenment E16 решили изменить способ нумерации
релизов и вместо очередной версии 0.16.8.16 выпустили 1.0.0. В новом выпуске не отмечено  значительных изменений, отмечается, что проект уже дозрел до изменения своего статуса

Не думаю что информация о Форт процессоре E16 будет публиковаться в opennet.ru/opennews :?

P.S. Букв, действительно, не так много в латинском алфавите и ограничивает выбор
применения шаблона *Forth в именовании Форт систем.:)


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

Зарегистрирован: Вт май 09, 2006 12:31
Сообщения: 3438
Благодарил (а): 5 раз.
Поблагодарили: 16 раз.
WingLion писал(а):
вопрос писал(а):
Мне показалось, что префикс обрабатывается отдельно
это мечта ... программа сигнализирует Laughing непосредственно перед совершением ошибки и останавливается


Поток команд обрабатывается непрерывно, и прервать исполнение загруженной очереди уже ничто не может. Прерывания обрабатываться будут (сейчас этого еще нет!) в момент исполнения команды NOP.

хм... это хорошо или плохо?
Это, может быть. ненадёжно, вот подвис процессор и никаким прерыванием его не вытащищь, если в цикле NOP не обнаружено

сделать тогда уже 2 аналогичных процессора, раз они так мало занимают на кристалле, один - это этот, другой такой же. но принимает прерывания и всё, что может - подать другой код в очередь комманд, если сочтёт нужным ... :?


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Пн июл 06, 2009 18:15 
Не в сети
Administrator
Administrator
Аватара пользователя

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


В данном случае "не обнаружен NOP в цикле" - означает, что процессор команды вообще не грузит, потому что NOP - это загрузка команд, и она появляется автоматически после того, как группа команд исполнена. A а всякая группа ограничена количеством бит в слове.

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


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

Зарегистрирован: Вт май 02, 2006 13:19
Сообщения: 3565
Откуда: St.Petersburg
Благодарил (а): 4 раз.
Поблагодарили: 72 раз.
Kopa писал(а):
Возможно E16 не совсем удачное название
т.к. разработка Форт процессора в FPGA E16 есть у Brad Eckert:)


E16 - это название модификации, так же, как Е32 и Е64, а название для процессора - Equinox

Можно, конечно, и название модификации поправить до EQ16, как предложено, но что от этого изменится?

Если прямо сейчас забить в поисковик "процессор equinox" - то он такое выдает, что волосы дыбом встают :shock:

Впрочем, уже сейчас google мне эту тему третьим пунктом выдал по такому запросу.

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


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

Зарегистрирован: Вс июн 21, 2009 20:49
Сообщения: 111
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
WingLion писал(а):
Если прямо сейчас забить в поисковик "процессор equinox" - то он такое выдает, что волосы дыбом встают :shock:

А че, неплохие штуки выдает: особенно популярен некий музыкальный процессор, причем (а это идея!), который вроде еще и с SCSI интерфейсом :D

Хотя может это он мне такое выдает.. Говорят, у гугла сейчас ранжировка ответов зависит от истории прошлых запросов, то есть он вроде учится и пытается предлагать именно то чего наиболее подходит пользователю :))


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Ср июл 08, 2009 00:56 
Не в сети

Зарегистрирован: Пт фев 20, 2009 03:50
Сообщения: 20
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
WingLion писал(а):
проверка производиться должна на уровне стека - так, чтобы отлавливать состояния "на грани" - осталось 2 элемента запаса глубины - пора делать слив со дна в память. Добрался процесс почти до дна стека (еще 2 DROP-a и конец!) - пора делать подкачку из памяти.

Это надо понимать обсуждался интерфейс с оперативкой, а если совсем точно - расширение глубин стека в глубины РАМа?
А потом плавно перешло к обсуждению виртуалки?
Так и не дали Льву высказаться :(

P.S.
А насчет виртуалки окаянной(MMU) - так некоторые буржуины ее в виде сопроцессора реализуют (см. www.arm.com).
Ой, и я туда же ;(


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

Зарегистрирован: Вт май 02, 2006 13:19
Сообщения: 3565
Откуда: St.Petersburg
Благодарил (а): 4 раз.
Поблагодарили: 72 раз.
Обсуждение параллельных вычислений вынесено в отдельный топик: http://fforum.winglion.ru/viewtopic.php?t=2191

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


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

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


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

Вместо того, чтобы контролировать каждый шаг программы, контролировать можно нечто более общее и более просто.

На примере стека этот контроль вполне формализуется. Ловить переполнение/исчерпание надо далеко не всегда. А вот аппаратно поймать медленную утечку стека или памяти - это уже более интересно, как мне кажется.

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


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

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


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

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


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

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