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

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

Just now, RobFPGA said:

 Это и есть "не выдержать конкуренции",  не дойти до массовости на рынке так как не было спроса, потребители выбрали в массе своей другой продукт.

Ага, до явления Питона народ выбирал Бейсик (Паскаль), а для любителей С/С++ придумали Rust. 🙂

Just now, artemkad said:

 И чего точно не надо, так это очередного редактора который по сути пытается впихнуть Форт в классическую схему где он однозначно проигрывает. 

Да, возможно, но в том же BigForth немного отошли от классической схемы по навигации и редактированию Форт кода, но в не достаточной степени,

в HolonForth вообще свою разбивку концептуальную слов по области их видимости сделали. 

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

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


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

37 minutes ago, KPG said:

Ага, до явления Питона народ выбирал Бейсик (Паскаль), а для любителей С/С++ придумали Rust.

Именно!  На  Borlandовских - Turbo C, Turbo Prolog, Turbo Basic, Turbo Pascal,  на Visual Basic от Microsoft написано кучи коммерческого софта,  А вот условного "Turbo Fort" почему то не видно в этом списке. Почему?
Ведь  при декларируемой простоте, эффективности  и гибкости FORT коммерческим компаниям  было бы просто дико выгодно разрабатывать и сам FORT и коммерческий софт на нем. 
Ан нет , значит что то не так с этой "консерваторией" ... 

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


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

14 hours ago, artemkad said:

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

Верно верно. Почитайте подробнее что такое OOO. OOO фронт енд закачивает ВСЕ инструкции подряд, и отправляет их ВСЕ на reservation station. А отправляться на исполнение они будут когда для них будут готовы аргументы. Так что, что бы 2 инструкции были исполнены не зависимо друг от друга они всего лишь должны попасть в 'окно' выборки (это несколько сотен команд). Порядок их внутри это окна абсолютно не важен.

OOO было сделано как следующая ступень после RISC, как раз что бы уйти от скедулинга операций в компиляторе, т.к. он всё равно не мог выполнить его лучше (или хотя бы не хуже), чем железный процессор. И дело совсем не в том, что компилятор не достаточно продвинут, что бы это сделать, а в том, что аппаратура учитывает динамику исполнения кода, чего компилятор может сделать только частично.  VLIW был сделан как шаг в сторону от RISC - для суперскаляров. Этот подход параллелен OOO, и он проиграл, как раз из за необходимости жёсткого скедулинга инструкций. OOO это делает более эффективно.

NB. Большинство аргументов сторонников 'нестандартных' архитектур происходят от банального незнания, как построенны современные микропроцессоры. Они думают, что процессор последовательно, байт за байтом выполняет команды, как они идут в программе 😞 А современный микропроцессор напоминает айсберг - то, что видит програмист это всего лишь очень меленькая надводная часть 🙂

И предлагают свои 'свершения' как революционный прорыв, который на самом деле является диким анахронизмом времён 'когда компрьютеры были большими'.

PS. Если интересно как работает OOO - я могу рассказать в подробностях (я в прошлом принимал участие в разработке таких процессоров и до сих пор принимаю участие)

2 hours ago, KPG said:

Как можно выдержать конкуренцию, если на масс рынке не были доступны Форт контроллеры и не поддержаны инструментально?

 

Не иначе заговор производителей с целью похоронить конкурента. Видимо Массоны виноваты 🙂

 

Вот, почитайте для саморазвития - https://en.wikichip.org/wiki/intel/microarchitectures/skylake_(client)?utm_content=cmp-true

 

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


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

Just now, xvr said:

И предлагают свои 'свершения' как революционный прорыв, который на самом деле является диким анахронизмом времён 'когда компрьютеры были большими'.

При достаточном транзисторном бюджете можно ускорить хоть какую систему команд, а если их мало как в контроллерах и критично потребление,

то появляются и такие решения как GA144?

Just now, xvr said:

Не иначе заговор производителей с целью похоронить конкурента. Видимо Массоны виноваты 🙂

По любому, 🙂

Когда ещё инопланетный корабль разбился (Розуэлльский инциндент), а только сейчас искусственный AI представили публике.(подозреваю, что ещё и в сильно кастрированном варианте) 🙂

(долго впаривая закон от одного Мура, не слушая другого)

P.S. Даже массовый язык умудрились впарить максимально тормознутый.

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

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


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

30 minutes ago, KPG said:

При достаточном транзисторном бюджете можно ускорить хоть какую систему команд,

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

34 minutes ago, KPG said:

то появляются и такие решения как GA144?

И где он? Цитата с их сайта:

Quote

This chip is currently being fabricated as a pre production shuttle run, and based on results of testing during Autumn of 2009 it could go to production as early as the start of 2010.

Сейчас 2023 год, если кто забыл 🙂

Видимо тоже массоны виноваты 🙂

 

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


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

Just now, xvr said:

И где он? Цитата с их сайта:

Сейчас 2023 год, если кто забыл 🙂

Видимо тоже массоны виноваты 🙂

Продаётся, вроде как, и кому интересно было купил и этот кристал (в упаковке вроде от 10-20 чипов по 20$ за кристал) и вероятно встроил в свои изделия, как был в выпуске и использовании и Marc4 до 2014г. (но, что то не видно были его продажи, при этом, на масс рынке)

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

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


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

4 часа назад, xvr сказал:

OOO фронт енд закачивает ВСЕ инструкции подряд, и отправляет их ВСЕ на reservation station. А отправляться на исполнение они будут когда для них будут готовы аргументы.

Именно так. Вот только если инструкции размещены удачно, то к моменту закачки аргументы их уже будут доступны, что приведет к минимальному времени исполнения, а если "как придется" - время исполнения тоже будет "как придется". Так вот, удачной расстановкой как раз и занимается оптимизатор кода. Что в Си, что  в Форте и порядок  там очень важен. Опять-же, я тут еще не вспомнил ту "мелочь", что это все речь о загрузке из кэша - если кэш-промах, и надо тянуть из ОЗУ, то там вообще печалька.

 

4 часа назад, xvr сказал:

они всего лишь должны попасть в 'окно' выборки (это несколько сотен команд)

И сколько сотен 16/32 битных команд процессор способен за одну выборку загрузить через 32- или хотя-бы 128(кэш)-битную шину? По моему ты путаешь загрузку и заполнение конвейера, такт и цикл...   

 

4 часа назад, xvr сказал:

Они думают, что процессор последовательно, байт за байтом выполняет команды,

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

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


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

Гуевыый интерфейс (можно использовать с Форт словами, если доосмыслить)

Eagle Mode

https://www.youtube.com/watch?v=Sf9a8fC_-BI

hqdefault.jpg

 

P.S. А в этом проекте слова Форта разместили в таблице в пиктограммном виде.

 
 
А, в этом проекте SymTaDyn Форт слова предлагается размещать в ячейки графа. 🙂
 
SimTaDyn.jpg
Изменено пользователем KPG

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


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

3 часа назад, KPG сказал:

Гуевыый интерфейс (можно использовать с Форт словами, если доосмыслить)

С этими игрушками - вряд-ли. Тут слишком много внимания уделено красоте навигации и мало практического смысла. 

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


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

On 6/24/2023 at 4:24 PM, artemkad said:

Именно так. Вот только если инструкции размещены удачно, то к моменту закачки аргументы их уже будут доступны, что приведет к минимальному времени исполнения, а если "как придется" - время исполнения тоже будет "как придется". Так вот, удачной расстановкой как раз и занимается оптимизатор кода.

лядно, вы можете продолжать упорствовать в своих заблуждениях, ваше право. Но оптимизаторы кода перестали заниматься расстановкой команд при  переходе от SuperScalar к OutOfOrder процессорам (т.е. лет 20 как уже)

On 6/24/2023 at 4:24 PM, artemkad said:

И сколько сотен 16/32 битных команд процессор способен за одну выборку загрузить через 32- или хотя-бы 128(кэш)-битную шину?

Там 512 бит, и загружает он их постоянно. Пока даже у OOO не получается отправлять на исполнение ВСЕ команды, так что дырки для постоянной подгрузки есть.

On 6/24/2023 at 4:24 PM, artemkad said:

По моему ты путаешь загрузку и заполнение конвейера, такт и цикл...   

Почитайте про OOO, не позорьтесь.

On 6/24/2023 at 4:24 PM, artemkad said:

а вот загружаются(начинают обрабатываться) как и ранее последовательно слово за словом.

Поситайте про OOO, не позорьтесь

On 6/24/2023 at 4:24 PM, artemkad said:

Суперскаляр отличается лишь тем,

Суперскаляр устарел лет 20 назад, почитайте про OOO, не позорьтесь.

 

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


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

1 час назад, xvr сказал:

при  переходе от SuperScalar к OutOfOrder процессорам

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

1 час назад, xvr сказал:

Там 512 бит

Назови модель с 512 битами?

1 час назад, xvr сказал:

Суперскаляр устарел лет 20 назад, почитайте про OOO, не позорьтесь.

Первый ОоО это 1966 год (IBM360/91)

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


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

48 minutes ago, artemkad said:

OoO это всего лишь одна из особенностей суперскалярной архитектуры(наравне  с переименованием регистров и объединением нескольких команд в одну инструкцию).

Я бы сказал прорывная особенность. Она позволила выжать всю возможную (в рамках суперскаляра) скорость. Я бы сказал, что это новая архитектура, построенная на базе суперскаляра.

50 minutes ago, artemkad said:

Назови модель с 512 битами?

Увы, не назову 😞 Но кажется мне, что были (хотя могу и ошибаться). Но даже 128 битов вполне хватит для заполнения входного окна.

51 minutes ago, artemkad said:

Первый ОоО это 1966 год (IBM360/91)

Не смешно

 

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


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

14 minutes ago, xvr said:

Не смешно

Вот вот, ни капельки не смешно ...
 

Quote

The IBM System/360 Model 91 was announced in 1964 as a competitor to the CDC 6600.[1] Functionally, the Model 91 ran like any other large-scale System/360, but the internal organization was the most advanced of the System/360 line, and it was the first IBM computer to support out-of-order instruction execution.[2] It ran OS/360 as its operating system. It was designed to handle high-speed data processing for scientific applications. This included space exploration, theoretical astronomy, sub-atomic physics and global weather forecasting.[3]

...

The CPU consisted of five autonomous units: instruction, floating-point, fixed-point, and two storage controllers for the overlapping memory units and the I/O data channels. The floating-point unit made heavy use of instruction pipelining[4] and was the first implementation of Tomasulo's algorithm.[citation needed] It was also one of the first computers to utilize multi-channel memory architecture.

 

Quote

Tomasulo's algorithm is a computer architecture hardware algorithm for dynamic scheduling of instructions that allows out-of-order execution and enables more efficient use of multiple execution units. It was developed by Robert Tomasulo at IBM in 1967 and was first implemented in the IBM System/360 Model 91’s floating point unit.[1]

 

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


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

IBM много чего сделала, и ещё больше похоронила. Первый комерчески успешный OOO был у Intel'а - оттуда и надо считать.

 

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


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

4 часа назад, xvr сказал:

Я бы сказал прорывная особенность.

А я бы сказал - костыль. 

4 часа назад, xvr сказал:

Увы, не назову

Вот именно.

4 часа назад, xvr сказал:

Но кажется мне, что были (хотя могу и ошибаться). Но даже 128 битов вполне хватит для заполнения входного окна.

В каком-то смысле  - да. За такт читается 8 слов которые при длине конвейера в 16 тактов за цикл успевает в пике затянуть до 128 слов. Вот только есть там куча "ма-а-аленьких" нюансов... В общем, если не вдаваться в подробности, без изначальной работы оптимизатора это эффективно работает с вероятностью 50/50... 

4 часа назад, xvr сказал:

Не смешно

Само собой не смешно. Это заставляет задуматься, что не все то золото что блестит и суперскаляр с ООО или без это на самом деле игра на разности скоростей работы памяти и процессора. Более того, они показывают хоть какую-то эффективность для циклических алгоритмов целиком влезающим в кэш. Как только линейный участок кода становится крупнее L1 кэша, весь паровоз начинает упираться в скорость обмена между памятью и кэшем и на все остальные супернавороченные примочки ЦП кладется громадный болт.

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


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

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

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

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

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

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

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

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

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

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