Jump to content
    

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

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
Edited by KPG

Share this post


Link to post
Share on other sites

2 hours ago, KPG said:

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

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

Share this post


Link to post
Share on other sites

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-ть назад. 🙂

Edited by KPG

Share this post


Link to post
Share on other sites

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

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

Ответы по Форт на 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 - зачем нужен, что можно делать на нём?

Edited by KPG

Share this post


Link to post
Share on other sites

О, чудесно. У меня комплектухи в запасах на десятки таких компьютеров ))

Share this post


Link to post
Share on other sites

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 супер кластер забабахать.

 

Share this post


Link to post
Share on other sites

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

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

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

Share this post


Link to post
Share on other sites

Just now, Plain said:

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

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

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

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

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

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

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

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

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

Share this post


Link to post
Share on other sites

2 hours ago, Plain said:

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

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

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

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

Edited by KPG

Share this post


Link to post
Share on other sites

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

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

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

Edited by KPG

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...