Forth и другие саморасширяющиеся системы программирования Locations of visitors to this page
Текущее время: Вт мар 19, 2024 06:59

...
Google Search
Forth-FAQ Spy Grafic

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




Начать новую тему Ответить на тему  [ Сообщений: 197 ]  На страницу Пред.  1, 2, 3, 4, 5, 6 ... 14  След.
Автор Сообщение
 Заголовок сообщения: Re: Каллисто 1.0 для «Электроники МК-161»
СообщениеДобавлено: Чт янв 04, 2018 21:08 
Не в сети
Administrator
Administrator
Аватара пользователя

Зарегистрирован: Вт май 02, 2006 22:48
Сообщения: 7958
Благодарил (а): 25 раз.
Поблагодарили: 144 раз.
KPG писал(а):
Если Калисто-калькуятор делать на базисе ПК. то это будет калькулятор на базе Форт ОС для ПК

При его характеристиках проще эмулировать на Java, или даже JavaScript. Инженерные калькуляторы онлайн доступны в ассортименте. До МК-61, видимо, историки еще не добрались.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Каллисто 1.0 для «Электроники МК-161»
СообщениеДобавлено: Чт янв 11, 2018 09:14 
Эмулятор «Электроники МК-61» в онлайн можно найти, например, здесь.
Эмулятор «Электроники МК-161» написан на FreePascal.

Теоретически Каллисто 1.0 можно попробовать перевести с входного языка МК-161 на байткод Java, если хорошо знать эту виртуальную машину. Это позволит выложить её в онлайн.


Вернуться к началу
  
Ответить с цитатой  
 Заголовок сообщения: Re: Каллисто 1.0 для «Электроники МК-161»
СообщениеДобавлено: Чт янв 11, 2018 14:39 
ath писал(а):
Это позволит выложить её в онлайн.
И зачем?


Вернуться к началу
  
Ответить с цитатой  
 Заголовок сообщения: Re: Каллисто 1.0 для «Электроники МК-161»
СообщениеДобавлено: Пн апр 30, 2018 09:17 
Ув. Хищник привёл аргументацию для скриптового решения — простота. Возможно, но лично мне сейчас не так интересно делать веб-версию Каллисто, доступную с имеющихся устройств.

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


Вернуться к началу
  
Ответить с цитатой  
 Заголовок сообщения: Re: Каллисто 1.0 для «Электроники МК-161»
СообщениеДобавлено: Пн апр 30, 2018 23:13 
Не в сети
Administrator
Administrator
Аватара пользователя

Зарегистрирован: Вт май 02, 2006 22:48
Сообщения: 7958
Благодарил (а): 25 раз.
Поблагодарили: 144 раз.
Потрясающе неустранимый недостаток МК-161 заключается в самой идее реализации ПМК в качестве самостоятельного изделия на базе заведомо более мощной (на порядки) аппаратной платформы. Если бы ПМК был четко заявленным эмулятором, это еще куда ни шло. Но вот класть его в качестве базовой машины на МК... ладно бы еще тенденции были к упрощению и облегчению МК, так ведь нет. Если разобраться с составом ПМК, то он никак не похож на сверхлегкие устройства Интернета вещей (вот там можно думать про какие-нибудь ATTiny и им подобные ядра со сверхмалым объемом памяти). Наличие хотя бы двустрочного индикатора, корпуса и клавиатуры уже добавляет стоимость, к которой просто глупо не добавить и соответствующий МК стоимостью не 1$, а может быть чуть побольше. В итоге сама по себе коробочка, имеющая индикатор и клавиатуру, внутри скорее всего сможет иметь и процессор с возможностью запуска несложных RTOS, а то и вариантов встраиваемых *nix-подобных систем. И программа, эмулирующая ПМК, может существовать там только как пользовательское приложение, написанное из ностальгии. И доказательство этому очень простое и наглядное - сама история МК-161. При смене "главных действующих лиц" все это просто заглохнет, потому что у других "действующих лиц" будут свои заморочки, и становиться в хвост Semico им будет просто не престижно.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Каллисто 1.0 для «Электроники МК-161»
СообщениеДобавлено: Вт май 01, 2018 08:10 
Идея ПМК действительно нетребовательна к оборудованию. Поэтому здесь возможна техническая реализация на отечественных микросхемах, что довольно уникальная ситуация. Форт, будучи не самым капризным языком, позволит такой системе задышать.

МК-161 это самое близкое решение, которое уже существует и выпускается. Даже китайский процессор выбирался с учётом возможной замены на отечественные ВЕ51. Разумеется, прогнозируется переход на менее ограничивающие рамки, когда такое оборудование будет серийно выпускаться в России. Возможно, это произойдёт вместе со сменой «действующих лиц». :—) Но пока есть, что допиливать и на МК-161. Все соки из него ещё не выжаты.

Карманные Юникс-подобные системы, разумеется, есть и уже давно. Но это другая тема.


Вернуться к началу
  
Ответить с цитатой  
 Заголовок сообщения: Re: Каллисто 1.0 для «Электроники МК-161»
СообщениеДобавлено: Вт май 01, 2018 11:03 
Не в сети

Зарегистрирован: Пт янв 06, 2017 14:57
Сообщения: 365
Благодарил (а): 17 раз.
Поблагодарили: 1 раз.
Хоть тут и продвигается отечественный ПМК, но как по мне, то даже Atari Portfolio (или что-то подобное) больше подходит для карманного компьютера с Фортом.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Каллисто 1.0 для «Электроники МК-161»
СообщениеДобавлено: Вт май 01, 2018 15:20 
Не в сети
Administrator
Administrator
Аватара пользователя

Зарегистрирован: Вт май 02, 2006 22:48
Сообщения: 7958
Благодарил (а): 25 раз.
Поблагодарили: 144 раз.
Вся идея МК-161 прямо-таки дышит пренебрежительным отношением к российской микроэлектронике. Очевиден намек, что в России-то ничего сделать не могут, а значит, наш удел - ну хотя бы ПМК (раз уж на полноценный процессор не тянем). В то же время поток заказов в Тайвань/Китай исчисляется десятками проектов только в том, что я вижу в пределах досягаемости, причем техпроцессы от 180 до 28 нм. Ангстрем-Т, опять же, запустил линейку 250 - 90 нм. Этого оборудования более чем достаточно для выпуска полноценных 32-разрядных процессоров с любой разумной архитектурой, хоть на уровне лицензируемых IP-ядер, хоть проектов собственной разработки. "Спасителей Зеленограда" с проектами вида "да, это ужас-ужас, зато российское" я навидался еще десять лет назад. С идеей ПМК в качестве сияющей вершины российского IT можно, конечно, существовать небольшой группе фанатиков, упорно не желающих разрушать собственные иллюзии и признавать, что кроме них есть ведь и еще разработчики и организации, и они отнюдь не стоят на месте.

С маленькими чипами есть одна проблема. Шаг контактных площадок типично составляет 0,1 мм - иначе невозможно разварить проводники до выводов корпуса. Так вот если мы будем делать, например, 40 выводов, то это нужен кристалл хотя бы 1x1 мм (лучше 1,2x1,2). А на такой площади даже на 250 нм ПМК уже "тихонько затеряется в уголке" :)


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Каллисто 1.0 для «Электроники МК-161»
СообщениеДобавлено: Пн сен 03, 2018 02:45 
Hishnik писал(а):
хотя бы ПМК (раз уж на полноценный процессор не тянем).

Имхо, полноценный процессор Россия потянет. Тем более, что к калькуляторному процессору требования в-основном по потреблению. 100МГц и 8 бит достаточно, хотя хотелось бы хотя бы 300МГц и 16 бит.

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

Размер чипа такой уж большой роли не играет. Оставшееся после форт-процессора место можно забить быстрой памятью для примитивов и регистровым ОЗУ (в Каллисто там все три стека и место под переменные). Внешняя память будет, например, для шитого кода.

Hishnik писал(а):
В то же время поток заказов в Тайвань/Китай исчисляется десятками проектов только в том, что я вижу в пределах досягаемости, причем техпроцессы от 180 до 28 нм. Ангстрем-Т, опять же, запустил линейку 250 - 90 нм. Этого оборудования более чем достаточно для выпуска полноценных 32-разрядных процессоров с любой разумной архитектурой, хоть на уровне лицензируемых IP-ядер, хоть проектов собственной разработки.

Особой причины заниматься Фортом именно на МК-161 сейчас нет. Кроме того, что это единственный отечественный ПМК. Свою роль он сыграл, развив язык МК до состояния, когда на нём удалось написать транслятор.

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


Последний раз редактировалось ath Пн сен 03, 2018 02:54, всего редактировалось 1 раз.

Вернуться к началу
  
Ответить с цитатой  
 Заголовок сообщения: Re: Каллисто 1.0 для «Электроники МК-161»
СообщениеДобавлено: Пн сен 03, 2018 02:48 
_KROL писал(а):
Atari Portfolio (или что-то подобное) больше подходит для карманного компьютера с Фортом.

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


Вернуться к началу
  
Ответить с цитатой  
 Заголовок сообщения: Re: Каллисто 1.0 для «Электроники МК-161»
СообщениеДобавлено: Пн сен 03, 2018 03:27 
Victor__v писал(а):
Лично я в МК не разбираюсь, но зато более-менее знаю СПФ (винда), ежели есть какие-то задачи, то буду рад поспособствовать.

Этой осенью может появиться время для работы над второй версией языка. Возникло три вопроса, по которым помощь серьёзно поддержит проект.

1. ALSO/ONLY

Сейчас в Каллисто старая схема словарей с VOC-LINK , CONTEXT и CURRENT из Баранова и Семёнова (фигФорт и Форт-83). Одна из причин, почему версия 1.0 названа «Классик» — там старая привычная структура словарной статьи.

Ради быстродействия я перейду на хранение хэшей имён (тоже интересно, что посоветуете) в массиве «плавучки» (десятичные регистры МК-161), где 12 разрядов мантиссы и 2 разряда порядка. Эти 12+2 десятичные цифры будут, помимо хэша, хранить адрес поля кода (4 десятичные цифры) и флаги вроде IMMEDIATE.

Насколько я понимаю, надо будет заводить массив из, скажем, 4 wordlist_id. В которых уже по очереди искать слова. Плюс описать манипуляцию этим массивом в словах ALSO и ONLY. Ну и вся тягомотина с созданием этих wordlist’ов. Кстати, сами списки слов будут пересекаться, как в «базовых словарях»? Сами словари останутся или просто списков слов достаточно? Эти wordlist’ы создаются и уничтожаются независимо или есть «список списков»?

По этому пункту интересно выслушать мнение тех, кто такое уже делал или разбирается в реализациях, т.к. я первый раз это буду делать. И творческий вопрос — не получится ли вынести все слова IMMEDIATE в отдельный список, как в colorForth? Тогда я смогу избавиться от флага в массиве имён.

Ещё интересно, какой сервис по поиску слов язык должен предоставить, чтобы было удобно на нём программировать. Чем народ пользуется. Как верхний уровень (где все эти ALSO/ONLY учитываются), так и нижний. Интересны даже имена «потрохов», если такие уже сложились, в стандарте или де факто.

2. postpone

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

Сейчас всё в Каллисто завязано на [COMPILE] и др. устаревшие решения. Буду от этого избавляться.

3. CATCH/THROW

Самое важное. Хочу до конца разобраться в обработке ошибок — ещё до того, как начну всерьёз кодировать новый транслятор. Сейчас в Каллисто эта часть не так красива.

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

Ссылки на стандарты, описания этих 5 слов есть. Интересны как ваш опыт, так и если знаете, где эти три вещи хорошо описаны, включая возможные реализации. Если есть подводные камни или удачные решения — тоже интересно, где. Вообще эти три темы заслуживают отдельных статей. Если статьи или книги на эти темы уже кто-то написал, почитаю и обсужу их с удовольствием. :D


Последний раз редактировалось ath Пн сен 03, 2018 04:04, всего редактировалось 6 раз(а).

Вернуться к началу
  
Ответить с цитатой  
 Заголовок сообщения: Re: Каллисто 1.0 для «Электроники МК-161»
СообщениеДобавлено: Пн сен 03, 2018 03:34 
Не в сети
Administrator
Administrator
Аватара пользователя

Зарегистрирован: Вт май 02, 2006 22:48
Сообщения: 7958
Благодарил (а): 25 раз.
Поблагодарили: 144 раз.
ath писал(а):
Имхо, полноценный процессор Россия потянет. Тем более, что к калькуляторному процессору требования в-основном по потреблению. 100МГц и 8 бит достаточно, хотя хотелось бы хотя бы 300МГц и 16 бит.

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


В России достаточно развита сфера проектирования цифровых устройств. Есть и процессоры, вплоть до 28 нм. "Спасать" российскую микроэлектронику такими проектами, как ПМК - это уже из области мелкого хамства. Схемотехника МК-61 на уровне RTL - уровень курсовой работы по профильной специальности. Ангстрем-Т освоил 250 нм и будет запускать 90 нм - в чем проблема? "Спасатели" со своими суперпроектами процессоров уже переходят в разряд городских сумасшедших. Никого же не удивляет, что кто-то написал программу, хотя в 80-х годах на программиста смотрели как на гения - он же с компьютерами разговаривать умеет! Разговор очень простой - есть потребность в 10-100 тыс. чипов? Будет проект. Если меньше - массовые МК и при желании ПЛИС, все в ассортименте в магазинах.

ath писал(а):
На отечественной элементной базе вполне можно собрать более производительный и привлекательный ПМК.

Можно хоть сымитировать счеты с костяшками на AMOLED-экране с touchscreen. Кому это сейчас нужно?

ath писал(а):
Мне было интересно написать Форт именно для отечественного устройства

МК-161 это пародия на "отечественное устройство". Внутри там зарубежный микроконтроллер, своей программой имитирующий работу ПМК. Это аналогично патефону, в котором спрятан mp3-плейер, но который выдается за "восстановление отечественного винила".


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Каллисто 1.0 для «Электроники МК-161»
СообщениеДобавлено: Пн сен 03, 2018 03:58 
Советские ПМК тоже были таким «патефоном». Просто спрятанный «mp3-плеер», своим микрокодом имитирующий работу ПМК, был отечественным. Того уровня технологий.

Согласен, хотелось бы отечественный ПМК с отечественным микроконтроллером. Моему сердцу даже ближе отечественная система команд, пусть разработанная «городским сумасшедшим» — не важно.

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


Вернуться к началу
  
Ответить с цитатой  
 Заголовок сообщения: Re: Каллисто 1.0 для «Электроники МК-161»
СообщениеДобавлено: Пн сен 03, 2018 21:45 
Не в сети

Зарегистрирован: Чт янв 07, 2016 19:14
Сообщения: 1285
Благодарил (а): 3 раз.
Поблагодарили: 18 раз.
ath писал(а):
Victor__v писал(а):
Лично я в МК не разбираюсь, но зато более-менее знаю СПФ (винда), ежели есть какие-то задачи, то буду рад поспособствовать.

Этой осенью может появиться время для работы над второй версией языка. Возникло три вопроса, по которым помощь серьёзно поддержит проект.

1. ALSO/ONLY

Сейчас в Каллисто старая схема словарей с VOC-LINK , CONTEXT и CURRENT из Баранова и Семёнова (фигФорт и Форт-83). Одна из причин, почему версия 1.0 названа «Классик» — там старая привычная структура словарной статьи.

Ради быстродействия я перейду на хранение хэшей имён (тоже интересно, что посоветуете) в массиве «плавучки» (десятичные регистры МК-161), где 12 разрядов мантиссы и 2 разряда порядка. Эти 12+2 десятичные цифры будут, помимо хэша, хранить адрес поля кода (4 десятичные цифры) и флаги вроде IMMEDIATE.

Насколько я понимаю, надо будет заводить массив из, скажем, 4 wordlist_id. В которых уже по очереди искать слова. Плюс описать манипуляцию этим массивом в словах ALSO и ONLY. Ну и вся тягомотина с созданием этих wordlist’ов. Кстати, сами списки слов будут пересекаться, как в «базовых словарях»? Сами словари останутся или просто списков слов достаточно? Эти wordlist’ы создаются и уничтожаются независимо или есть «список списков»?

По этому пункту интересно выслушать мнение тех, кто такое уже делал или разбирается в реализациях, т.к. я первый раз это буду делать. И творческий вопрос — не получится ли вынести все слова IMMEDIATE в отдельный список, как в colorForth? Тогда я смогу избавиться от флага в массиве имён.

Ещё интересно, какой сервис по поиску слов язык должен предоставить, чтобы было удобно на нём программировать. Чем народ пользуется. Как верхний уровень (где все эти ALSO/ONLY учитываются), так и нижний. Интересны даже имена «потрохов», если такие уже сложились, в стандарте или де факто.

2. postpone

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

Сейчас всё в Каллисто завязано на [COMPILE] и др. устаревшие решения. Буду от этого избавляться.

3. CATCH/THROW

Самое важное. Хочу до конца разобраться в обработке ошибок — ещё до того, как начну всерьёз кодировать новый транслятор. Сейчас в Каллисто эта часть не так красива.

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

Ссылки на стандарты, описания этих 5 слов есть. Интересны как ваш опыт, так и если знаете, где эти три вещи хорошо описаны, включая возможные реализации. Если есть подводные камни или удачные решения — тоже интересно, где. Вообще эти три темы заслуживают отдельных статей. Если статьи или книги на эти темы уже кто-то написал, почитаю и обсужу их с удовольствием. :D


В общих чертах
Пример словарной статьи, минимум на мой взгляд
Хеш слова (16 бит или сколько там в МК)
поле флагов 1 байт
поле кода (тут хранится указатель на начало кода слова)
поле связи (хранит указатель на пред. слово в списке поиска)

Насчёт ухищрений с размерами меньше байта, не знаю. Хранить длину слова флаги и пр. в одном месте может и компактно, но доставать их труднее (OR XOR AND и иже с ними + место для создания этих слов).

Можно сделать стек словарей. Соот-но CONTEXT вершина VOC0 дно. Проще, чем список. Сам применяю такую схему.
Что сложилось:
PARSE PARSE-NAME SFIND CONTEXT CURRENT
всё :)
Код:
: POSTPONE COMP? PARSE-NAME SFIND IF LIT, ['] COMPILE, COMPILE, ELSE -2003 THROW THEN ; IMMEDIATE

Что рассуждать-то?

По исключениям
идея:
Сохраним указатели важных стеков в стеке возвратов, и там же сохраним значение переменной HANDLER . Пусть эта переменная теперь указывает на вершину стека возвратов. После этого исполняем токен со стека данных. Если дошли до THROW, то оно с пом. переменной HANDLER сбрасывает указатели стеков восстанавливает значение переменной и выходит из кода, если на хводе этого слова число отличное от нуля.

"сделать обработку «по умолчанию» дружественной к новичкам" это как?
В форте с этим этак очень просто. Ничего лишнего.

_________________
Цель: сделать 64-битную Нову под Винду


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Каллисто 1.0 для «Электроники МК-161»
СообщениеДобавлено: Вт сен 04, 2018 00:50 
Не в сети
Administrator
Administrator
Аватара пользователя

Зарегистрирован: Вт май 02, 2006 22:48
Сообщения: 7958
Благодарил (а): 25 раз.
Поблагодарили: 144 раз.
ath писал(а):
Советские ПМК тоже были таким «патефоном». Просто спрятанный «mp3-плеер», своим микрокодом имитирующий работу ПМК, был отечественным. Того уровня технологий.

Вот только МК класса 8051 может гораздо больше того, что могла элементная база в МК-61. Никто же не обозначает компьютеры на базе x86 как "МК11111161", хотя эмуляторов энтузиасты написали довольно много. Вот бы хохма была - человек включает компьютер, а там на матплате от Asus с процессором Intel в перешитом BIOS сидит софт, эмулирующий ПМК на FullHD экране, и заявляет, что он сверхсовременный российский продукт :))

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

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


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

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


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

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


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

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