Перейти к содержанию
    

Минималистичный Форт компьютер на TTL логике (дискретный CPU) c реализацией Forth 2012 Standart

My4th - Minimalistic FORTH computer with discrete CPU. (дата публикации проекта на сайте автора 2023-03-24)

   

my4th-testled.gif

My4TH_1282_1207.png

 

My4TH-blockdiagram.png

putty-forth.png

 

schematics_my4th-sbc_v1.2001.png

Изменено пользователем KPG

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

P.S. Ещё вариант минималистического "Форт" процессора в TTL TOM1 (14 цифровых TTL компонент)
Модель процессора отлажена в программе Digital
(в опциях программы есть возможность экспорта в VHDL, VERILOG)

Opcodes
	This is a non-exhaustive list of opcodes supported by the TOM-1:
	    halt
    no_op
    push_literal — pushes a 16-bit operand to the top of stack
    branch0 — if the top of stack is equal to 0, jump to a 16-bit address (operand)
    add — pops values A and B from the data stack, pushes the value A + B to the top of stack
    nand — pops values A and B from the data stack, pushes the value A nand B to the top of stack
    load — pops an address from the stack, pushes the value of that address in RAM to the top of stack
    store — pops an address, then a value, from the stack and sets that address in RAM to the value
    return_push — pushes the value at the top of the stack onto the return stack
    return_pop — pops a value off the return stack and pushes it to the top of stack
    dup — duplicates the value a the top of stack
    drop — drops the top of the stack
    in — read a value from the 8-bit I/O port
    out — output a value on the 8-bit I/O port
	I/O Port
	The I/O port on the TOM-1 is a bidirectional transceiver that can read and write to any address in RAM. This port has the following pins:
	    Power
    GND
    8 bits of data (low byte of 2-byte value in RAM)
    CLK
    Data Valid

По дизайну и системе команд: nybbleForth (Verilog)

            Code     Name          Size     Operation
	        0         noop         4         No operation
            1         @            4         Load word from memory                                             
            2         call         4+16      Push P to return stack, fetch a word and jump                                               
            3         exit         4         Pop P from return stack
            4         (literal)    4+16      Fetch a word and push to stack
            7         r>           4         Pop return stack and push to data stack
            8         +            4         Add top two items on data stack                                           
            9         nand         4          Inverted conjunction of the two top items on data stack
            10        >r           4         Pop data stack and push to return stack
            11        0branch      4+8        Fetch a byte and add to P if popped data stack is zero
            12        !            4         Store word into memory
Изменено пользователем KPG

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Некотрое более заинтересованное обсуждение сабжа на площадке форума nedopc.org
в топике Форт-компьютеры на рассыпухе

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

2 hours ago, KPG said:

Некотрое более заинтересованное обсуждение сабжа на площадке форума nedopc.org
в топике Форт-компьютеры на рассыпухе

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Just now, tonyk_av said:

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

А, какой ответ Вы ожидаете услышать?

Если слово Forth  ввести в поисковый запрос на Github  https://github.com/search?q=Forth , то можно увидеть некоторую выдачу проектов где он непосредственный участник (можно отсортировать и по времени изменения).

Топики со словом Forth  https://github.com/search?q=Forth&type=topics

(в большей степени для применения в плане программирования и встраивания (Embedded) железа), поэтому и много разных сделано/делается Форт-систем.

P.S. Forth тег в Q&A - вопросах/ответах на Хабр 

Можете поспрашать об Вашем вопросе в телеграмм канале (меня там нет)

https://t.me/ruforth

Quote

[TF] Форт и общение фортеров
70 members, 10 online
Обсуждение конкатенативных языков программирования и тематическое общение программистов.

Форум: fforum.winglion.ru

Или предлагаете, к примеру, начать цитировать какую то информацию, к примеру, представленную в рамках того же Форт форума?

Сам, какие то топики, связанные с обсуждением Форт на местном форуме создал лет 17-ть назад. 🙂

Изменено пользователем KPG

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А, практический смысл/кредо от Форт можно представить и в такой ассоциации:

Есть, к примеру, шуруповёрт, но от отвёртки ещё никто не отказался. (понимайте как можете это)

Ответы по Форт на mail.ru

конечно не сравнить с вопросами/ответами на площадке https://stackoverflow.com

(слово стек и здесь применили 🙂

https://stackoverflow.com/questions/tagged/forth (273 questions)

https://stackoverflow.com/questions/tagged/gforth (118 questions)

https://stackoverflow.com/questions/tagged/win32forth (2 questions)

https://stackoverflow.com/questions/tagged/vfxforth (2 questions)

https://stackoverflow.com/questions/tagged/color-forth (1 question)

 

https://www.reddit.com/r/Forth - The programming language for low-fat computing

Язык Forth - зачем нужен, что можно делать на нём?

Изменено пользователем KPG

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

On 3/31/2023 at 8:13 AM, KPG said:

My4th - Minimalistic FORTH computer with discrete CPU. (дата публикации проекта на сайте автора 2023-03-24)

Не, это не спортивно. Даёшь FORTH компьютер на транзисторах! А ешё лучше на лампах.

Так как никакого практического смысла это поделее не имеет, то ценность его можно оченить только с археологической точки зрения 🙂

Если действительно нужен FORTH компьютер (пока оставим за бортом вопрос кому и зачем он мог понадобится), то нужно было делать его на какой нибудь FPGA в встроенной флэшкой (какой нибудь из GoWin'ов например). Туда штук 100 FORTH процессоров влезет - можно сразу FORTH супер кластер забабахать.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

10 часов назад, KPG сказал:

какой ответ Вы ожидаете услышать?

Очевидно, вопрос был, какой смысл именно в такой конструкции — заливка краской недвусмысленно намекает, что автор не планировал предоставлять пользователю возможность что-либо с ней делать — 40 лет назад я изучал Форт тоже на TTL, но это был настоящий компьютер, с дисплеем, клавиатурой, внешним накопителем, и т.п., но в котором эту TTL можно было перепахать под себя всю.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Just now, Plain said:

Очевидно, вопрос был, какой смысл именно в такой конструкции — заливка краской недвусмысленно намекает, что автор не планировал предоставлять пользователю возможность что-либо с ней делать — 40 лет назад я изучал Форт тоже на TTL, но это был настоящий компьютер, с дисплеем, клавиатурой, внешним накопителем, и т.п., но в котором эту TTL можно было перепахать под себя всю.

Интересно, а что это был за компьютер? Неужели действительно с аппаратным Форт внутри?

То, что платы залиты белой краской, то это, как понимаю, для представления девайса для продажи любителям в презенабельном виде,

(предположу, что для покупки западными любителями "TTL" для поддержки автора проекта)

Тот же проект Gigatron TTL компьютера  вообще обрамлён в деревянный корпус, но это не помешало проекту найти свою группу интереса около него для обсуждения каких то идей на форуме поддержки проекта и прдавать в виде конструктора для сборки.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Нет, был обычный компьютер на аппаратном ассемблере, для решения практических задач, а Форт на нём кто-то написал похоже в учебных целях, тогда это было модно,— ну я его быстро изучил, полностью и до предела, а поскольку практического смысла не нашёл, сразу забыл.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

12 часов назад, KPG сказал:

То, что платы залиты белой краской, то это, как понимаю, для представления девайса для продажи любителям в презенабельном виде,

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

15 часов назад, xvr сказал:

то нужно было делать его на какой нибудь FPGA

Ну так давноhttp://fforum.winglion.ru/viewtopic.php?f=3&t=3322 ... Причем многоядерные.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

2 hours ago, Plain said:

Нет, был обычный компьютер на аппаратном ассемблере, для решения практических задач, а Форт на нём кто-то написал похоже в учебных целях, тогда это было модно,— ну я его быстро изучил, полностью и до предела, а поскольку практического смысла не нашёл, сразу забыл.

Сейчас, конечно, уже далеко до той популярности Форта из времени 80-х годов. 🙂

(но сообщество западных "старпёров" не унывает и тусуется в Zoom публикуя видео группы Forth2020)

Но, в используемом "широко" софте, всё же, его можно встретить как, к примеру, программу nncron  (и написана на SPF3 и имеет встроенный вариант Форт языка для скриптов). Форум у программы не сказать что особо активен сейчас в сравнении с программой AutoIT.

Изменено пользователем KPG

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

P.S. Как понимаю, в целом, не сильно бюджетно повторить проект по комплектации. 🙂

Здесь ещё один сторонний взгляд на реализованную систему команд микропроцессора в этом проекте

Изменено пользователем KPG

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

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

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...