Dmitry, ты ещё здесь сидишь?
Среда Декабрь 15 2004 20:17, Dmitry Ponyatov wrote to George Shepelev:
GS>> Ты задачу уточни! Тогда можно будет более осмысленно эту тему GS>> обсуждать. DP> был вопрос DP> нельзя ли сделать на дешевом контроллере железку, которой можно рулить DP> по RS232 командами и немного программировать, типа как раньше DP> спектрумы были c васиком внутри ?
Можно. Hо в таком варианте пользовательский интерфейс разумнее реализовать на PC-шке, с которой ты будешь "рулить" "железкой", пользуясь "внутренним языком управления".
Или ты хочешь "рулить" из программки-терминала, общаясь с "железкой" в терминальном режиме? Тогда да, вариант с форт-системой имеет право на жизнь. Вот только для нынешнего юзера это будет грустным зрелищем ;)
DP> я предложил AT89S8252 (с перспективой перейти на ATmega), 32-64K DP> памяти под ФОРТ-систему в байт-коде,
Стоп! Hе гони! 89S8252. Ядро 51-го семейства (в принципе на нём форт-система реализуется без особых проблем). Дальше, для организации форт-системы требуется память с линейной адресацией, в которой будут храниться и шитый код, и стеки. Достаточного количества такой памяти в выбранном контроллере _нет_. Жалкие 256 байт для разумных задач не подходят. Где ты нашёл 32-64 килобайта - в упор не вижу...
DP> внутрь контроллера прошивается интерпретатор байт-кода.
8 килобайт флэш-памяти. Да, этого более чем достаточно для реализации хорошей форт-машины.
DP> "пользовательский" критичный по скорости код добавляется к DP> интерпретатору,
Hекуда.
DP> при необходимости внешнего ОЗУ переключаться на пользовательский банк DP> и обратно на фортовский дергая ногой
Увы, в выбранной конфигурации нет места "фортовской" памяти. Можно, конечно, всё сделать на "внешней ОЗУ", но система получется довольно тормозной и не соответствует общепринятому стандарту на форт-систему.
Ты не сообщил, какие у тебя требования к быстродействию. Максимально, что получится выжать из 89S8252 на 24 МГц - 2 млн. машинных циклов в секунду. Команды доступа к "внешней ОЗУ" MOVX - двухцикловые, при выполнении типичной форт-команды их потребуется несколько, так что тормоза обеспечены...
Что касается ATMega, если выбрать mega64 или mega128, можно будет пользоваться внутренней 4-килобайтной RAM, что уже неплохо, хотя для серьёзных задач по-прежнему маловато. Впрочем, внешняя память подключается к линейному адресному пространству, 64 килобайт тебе хватит за глаза и за уши; а тактовую можно задрать до 16 МГц. UART есть, даже две штуки ;) Что-ж, вполне разумный выбор...
DP> дал ссылки по языку, народ погонял пару DOSовских фортов, сказали что DP> приемлемо, если нет более удобных вариантов по языку и реализации при DP> условии минимальной стоимости и ресурсоемкости
Осталось определиться, что за задачи будут решаться на этой системе...
Кстати у меня есть наработки по машинонезависимой версиии ModestForth. Hа нём можно будет вести написание и отладку программы прямо на PC, без "железяки" с контроллером...
Георгий