Comments 21
Ну, сказать, что "без процессора", никак нельзя -- есть процессор, есть. От того, что он реализован не в виде одной микросхемы, он процессором быть не перестаёт.
Да, по реализации это где то близко в понимании аналогичного проекта TTL Gigatron компьютера (вся схема - почти не специфицированный процессор/автомат для реализации каких то задуманных команд-инструкций-слов) даже на уровне Фортоподобного системного языка GTL у него, но микросхем в этом решении действительно мало и в сравнении с Gigatron и к примеру TTL Forth процессором Mark1/2. Хотя по возможности выполнять и Gigatron функционал его задач может не хватать.
P.S. А, вот как автор раскрутил TTL (Форт) процессор в своём этом проекте может быть поводом отдельного рассмотрения.
Такое решение, конечно, не сравнится с реализацией в виде отдельного контроллера, как заброшенного у Atmel в портфеле - 4-ёх (четырёх) битного Forth программируемого на qForth под DOS - Mark4 (появившегося после покупки Temic Inc в 1998г), но и пощупать классику микропрограммной реализации CPU без использования БМК позволяет.
Корректнее "без микропроцессора"
Есть один очень похожий проект. https://ru.m.wikipedia.org/wiki/Collapse_OS
Там тоже Forth
На самом деле делать Форт (Forth) в реализации для любого микроконтроллера/процессора/миникомпьюера достаточно распростанённое явление. (поиск по Github по слову Forth — amForth, FlashForth, Mecrisp, eForth, stm8ef, xForth… есть и в отдельности для Z80), но в CollapseOS при её реализации для Z80 подведена ещё и идея для целесообразности такой разработки. :)
P.S. Для ПК железа делается ОС вдохновлённая CollapseOS — DuskOS
(промышленно ранее — OpenFirmware, Ficl — использовался этот Форт во FreeBSD для загрузки системы)
А, по Форт (Forth) компьютерам можно вспомнить выпускавшиеся — CanonCat (1987г) и JupiterACE (1982г).
По мотивам JupiterACE сделан DIY Форт компьютер на AVR (Atmeg32) Fignition ,
а проект реплики JupiterACE с цветной графикой сделали и на FPGA,
Фантазийные ретро консоли с Форт:
Retro-40
Другие какие то ссылки свяанные с применением и где можно встретить Форт можно посмотреть в этой дискуссионной теме Язык Forth — зачем нужен, что можно делать на нём?
А, также на форуме русскоязычных Форт пользователей fforum.winglion.ru (созданным в далёком 2006г. небезызвестным разработчиком ZX-Spectrum совместимого компьютера Sprinter)
[TF] Форт и общение фортеров
Обсуждение конкатенативных языков программирования и тематическое общение программистов.
Это правда, что код с одного форта можно перенести на другой? Насколько это сложно?
В целом несложно при сравнимых возможностях и целевого использования таких Форт-систем, но, как говорится на каких то "мелочах" может быть не всё так просто разрешимо. В пользу такого суждения ещё можно принять во внимание, что с 1994г. официальных стандартов на язык не было никаких принято, а разные Форт-системы и общего использования сравнимы и достаточно понимаемы в рамках Форт языка и их построения (хоть и могут быть построены по разному и с помощью разного базисного инструментария) и имеют много Форт кода в своём составе.
Но может быть, конечно, и время затратно решаемо. Тут даже AI может не помочь т.к. его Форт (Forth) не обучили и метапрограммирование на Форт очень непонимаемая область знаний для него. Но, метапрограммирования на Форт не много в рамках сложившихся стереотипных шаблонов его понимания и использования.
P.S. Мне, к примеру, когда появился интерес к переносу и дополнению программы с Win32Forth для исполнения в SPF4 пришлось из значимого, только поменять конвекцию вызова API Windows на обратный порядок параметров. :)
Предположу, что если выводить использование Forth (Форт) языка на системный уровень с развитием и инструментальных средств для его инфраструктуры, то и актуальность таких вопросов будет нивелирована.
хотя и есть Фортовская шутка (с долей правды), что если Вы видели одну Форт-систему, то это значит, что Вы видели одну Форт-систему. :)
Куда это засунуть, в умный дом ? В сенсорный wi-fi выключатель ?
Зачем это всё ?
Хаб вопросов по Forth на qna.habr.com там есть и упоминание использование разработок с Форт для умного дома.
P.S. Если "оглянуться", то "следов" Форта достаточно много можно найти вокруг в самом разнообразном применении и не только для умного дома, а ещё в робототехнике, автоматизации своей деятельности на ПК и в лабораториях при проведении экспериментов, в создании инструментального ПО… (ссылки приводить не буду т.к. их достаточно большое разнообразие и при желании можно всё найти)
это четвертый домашний DIY компьютер без процессора после MyCPU, MyNOR и TraNOR
Вот здесь уже нужно начинать подробно объяснять для тех, кто не в теме...
Я тут покопался, он ссылается, на предыдущий свой проект типа без ALU. И кажется понял. Он взял простейший логический элемент NOR, на котором можно в принципе собрать любую схему, и просто реализовал ALU программно. т.е. у него любые простейшие операции, это огромное количество микрокода. И занимает огромное количество тактов.
Да, даже на операциях сложения из описания в начале статьи.
6300 8-bit сложений за секунду
P.S. На Gigatron TTL компьютере использованы специализированные микросхемы АЛУ,
но тогда это значительно добавляет ещё TTL микросхем к проекту.
Но, даже 6300 8-бит сложений за секунду это не мало т.к., к примеру и в обычных
МК контроллерах для работы от батарейного питания обработки датчиков их могут
запускать на 30-300КГц тактовой частоты и получать функциональность встроенного ПО.
Ещё интересно, что скорость RS-232 предложена к использованию 4800 бод,
но для терминального общения это не критично.
Давно присматриваюсь к подобным проектам, но что бы на столько минималистичного ещё не встречал. И тут ещё внезапно - Forth!
Возможно и зря товарища выше заминусили, украшение на полку собирать бы не хотелось, пусть что-то простое, но полезное биткоин майнер и желательно - зрелищное. А поэтому необходимо добавить светодиодов, для начала - 4 шт семисегментника на шину адреса и что бы они хотя бы иногда что-то успевали показывать - ввести прерывания команду аппаратного останова с пробуждением по любому изменению состояния входного порта (поправьте pls, возможно что то упускаю - какое-то ветвление по вектору(номеру пина) наверное должно быть после сна?). Ну и тогда уже и счётчик-таймер - вроде бы всё это не выходит за рамки концепта.
И надеюсь не нарушу никаких негласных канонов по теме (вдруг такие есть), но переразвёл-бы на so корпуса для уменьшения размера (да и DIP сейчас более редок и дороже)
@Kekovsky - вот о такой штуке скорее говорил (на пикабу).
Так на сайте автора проекта представлен и такой вариант дизайна проекта в "пластмассе"
(это уже близко к ПМК подобному МК-161)
Всё же мне больше интересно ближе к ПЛК и что-бы какая то задача крутилась, но и было наглядно. Вот тут с диодиками не очень давно было Собираем 8-битный компьютер но кол-во микросхем в несколько раз больше.
картинка оттуда
![](https://habrastorage.org/getpro/habr/upload_files/073/45c/96c/07345c96c8a67e50d7d8087391c19deb.png)
Так на сайте автора проекта представлен и такой вариант дизайна проекта в "пластмассе"
А такой у меня есть Sharp-PC1600 на Z80 с Basic, надо к нему NVRAM приделать, сделал большую ошибку не оставив себе этих модулей (там они съёмные). Теперь код не на чем хранить.
Sharp-PC1600
![](https://habrastorage.org/getpro/habr/upload_files/daf/350/e5c/daf350e5c1fb959a6c5f31c3230b1f1d.jpg)
![модуль памяти(на обратной стороне батарейка) модуль памяти(на обратной стороне батарейка)](https://habrastorage.org/getpro/habr/upload_files/7cf/6af/740/7cf6af7403a5682296f4888966d48eb1.jpg)
upd: уверен, что не понимаю всех тонкостей именно этого проекта, но если тут нельзя использовать Forth как "промежуточный" код например с Си, но не уверен, что потянул бы писать что-то даже небольшое (примеры посмотрел).
Всё же мне больше интересно ближе к ПЛК
Есть серия ПЛК контроллеров ForthLogic со встроенным вариантом Форт83 с добавлением некоторых слов для парралельного выполнения логики программы.
![Programmable logic controller PLC MAX H04](https://habrastorage.org/getpro/habr/comment_images/358/52d/67b/35852d67b4d9e1c4122169816c396848.jpg)
Робот-манипуляторы Strobotics программируются на своём диалекте Форт - RoboForth
![R17 robot arm](https://habrastorage.org/getpro/habr/comment_images/548/fb1/85e/548fb185eafae2ab23fc92954df305f1.png)
Терминалы 'сбора данных" от mosaic-industries.com имеют Форт как их FirmWare
В плате Pololu Maestro Servo встроен скриптовый язык Pololu Script на основе Форт
P.S. И это только некоторые примеры, коих же гораздо больше
Топик обсуждения Форт-систем на roboforum.ru
С примерами Форт кода на amForth для AVR контроллеров.
Я на данный момент занимаюсь нейросетями, хочу что-нибудь интересное выкатить
С логикой и подобными устройствами пока всё понятно - но я пришел к такому выводу, что их создание годится как закрепление материала, либо как учебное пособие. Перспективы для развития на текущий момент оно не представляет - а нужно развиваться.
Kekovsky — вот о такой штуке скорее говорил (на пикабу).
В рамках MISC архитектуры есть GA-144 (144-ёх ядерный асинхронный контроллер с включением/остановкой каждого ядра до 900 МГц при матричной их коммуникации с малым потреблением) программируемый на Форт.
По нему и на Хабр была статья.
Что то такое возможно? (Пикабу не читаю)
Любопытно, вот если всё это реализовать современными технологиями, каков будет размер итоговой микросхемы?
Прочитал про Forth и прослезился. 20 лет назад писал на нем дипломный проект. И в школе тоже его изучал. Ностальгия. Спасибо!
Интересно, а кто нибудь пытался повторить данную конструкцию?
My4TH — домашний компьютер без процессора