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

Койяанискаци - ТТЛ-процессор с душой акына

Кстaти, форум меня приятно удивил…
Так как обычно подобные темы глохнут вопросом «ну и зачем это нужно».
 

То есть, я не был готов к такой реакции…
Тем самым, прошу мне дать передышку с практическими вопросами…
 

А на данный момент меня интересует именно документация, так как продолжать ползти к своему CISC'у сейчас не готов - нужно отдохнуть и собраться с мыслями…
А вот Койяанискаци…
 

  1. Стало очевидным, что документального материала на Хабре и в GitHub не достаточно: Если Вас не затруднит, распишите в общих чертах все необходимые ключевые пункты, раскрывающую суть процессора, которые я должен добавить (например, про конвейер я напишу кратко - отсутствует)
  2. Вроде бы лепил RISC, а получился и не MISC, и не XISC. Нужно определиться с классификацией этой архитектуры. Либо просто так и назвать KISC - Koyaanisqatsi Instruction Set Computer
  3. Необходимо найти несколько маленьких обобщённых алгоритмов (только не FFT) на Си (набросок), который яснее бы раскрыл суть кодирования инструкций и составления программ. Просто скажите, какие алгоритмы нагляднее демонстрируют суть программирования (сортировка массива, копирование строки, поиск фрагмента строки и т.д…)

P.S.: Сейчас отлаживаю практический вариант схемы (без светофоров у каждого регистра) с мультиплексорами и подгонкой под Proteus с реальными ТТЛ…
Пока пришлось врезать два мультиплексора в неожиданных местах (я не до конца понял, почему именно там потребовались), так как на определённых инструкциях происходило странное поведение с неверной адресацией регистров!:shok:
(Вот наглядный пример «метода акына»: Вижу сбой; Вникаю в суть ситуации; Вникаю в логическое состояние схемы; Вмазываю вентили и мультиплексоры куда-то; Переигрываю исполнение инструкции…)
С такой раскладкой мне до Verilog ещё далеко!:biggrin:

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

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


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

6 hours ago, Alikberov said:

«ну и зачем это нужно»

Творчество. Я уже понял)

 

6 hours ago, Alikberov said:

Если Вас не затруднит, распишите в общих чертах все необходимые ключевые пункты,

Рекомендую эту книгу!

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


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

11 минут назад, haker_fox сказал:

Рекомендую эту книгу!

https://habr.com/ru/post/306982/

 

там где-то должна быть ссылка на сам файл.

 

Ну, или взять отсюда.

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


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

5 minutes ago, dxp said:

Офф: но кто-то верно заметил, что у Юрия Панчула в каждой статье есть фото с прекрасной девушкой)))

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


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

31 минуту назад, haker_fox сказал:

Рекомендую эту книгу!

 

22 минуты назад, dxp сказал:

там где-то должна быть ссылка на сам файл.

 

Ну, или взять отсюда.

Эту книгу мне и посоветовали, когда я сделал свой Verilog-набросок в edaplayground…

А так как Койяанискаци изначально весь на буферных схемах, так как я его малевал именно в часы отдыха, то сейчас, вспомнив основы из книги, перерисовываю схему по правилам - всюду только мультиплексоры…
 

Изначально и Fetch-блока не было, так как, естественно, по-Гарварду всё пытался завести. А когда завелось, ещё неделю потратил на построение и отладку Пристонского модуля.
Если не ошибаюсь, этот момент тоже нужно документировать? Так сказать, расписать циклы считывания команд и данных из памяти по тактам…
 

Никогда публицистикой не увлекался с практической стороны. Даже не вникал в основы структуры читаемого материала - просто читал…
(Видимо, именно потому некоторые библиотеки и стандарты очень плохо документированы - их составляли инженеры-программисты…)
А сейчас, видимо, нужно мне учиться графоманству и мобилизовать силы на изложении особенностей сего продукта полёта мысли.

 

Есть мысль ввести поддержку обоих режимов считывания команд:

  • Гарвардский
  • Фон-Нейманский
  • По одному байту команды
  • Целым 32-битным словом - по 4 команды

Или просто выполнить несколько схем с каждой из этих технологий.

В недрах CISC данный процессор должен иметь упрощённый дешифратор и последовательность кода «A1 AB 70 3B» команды «REP 7 {SUB A1,B3}» битовыми полями сжимается до «10_11_0001_0011_0111_1011» в слово 0xB137B».
Естественно, публикация процессора с подобным кодом никому не была бы интересной.
Потому год назад я и решил прикольнуться и «проакынить» код до уровня продвинутых гуманитариев.

 

P.S.: Пока всем миром сиделось в карантине, схемой занимался конкретно и несколько раз перерисовывал с нуля.
А сейчас - туго вожусь даже с отладкой новой версии…

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


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

@Alikberov, а что вы будете делать с процом, когда закончите его? Ведь проц это даже не микроконтроллер. Ему ещё, по классике, ОЗУ и ПЗУ нужны, да ввод/вывод не помешал бы.

Эх... вспоминаю "молодость", лет 15 назад... Я тогда думал, вот будет у меня плисина дома, и я сделаю свой микроконтроллер... Лежит уже как 5 лет плата, а всё не до неё. Не то что до микроконтроллера, простейшую мигалку светодиодом-то только один раз сделал и всё. Как-то нет необходимости в ПЛИС в моей деятельности. Микроконтроллеры разные востребованы, АЦП/ЦАП нужны. А вот ПЛИС - никак)

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


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

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

а что вы будете делать с процом, когда закончите его?

Покa вся затея лишь на уровне «просто, чтобы было»…

В свете очень много всякого-разного…
А подобное - изрядная редкость…

Либо весь проект просто заморозится на просторах интернета, как у многих других. Буду использовать его лишь во внутренних прожектах для личных нужд…
Либо просто будет ждать своего часа, как бывает порою…
У Intel и AMD, а также у Эльбруса довольно мощные ядра! Если когда-нибудь эти компании устроят акцию и любому желающему предоставят возможность заиметь экземпляр их процессора, но выполняющего код именно любителя, то свои CISC и RISC я уже почти имею…:laugh1:
(Конечно, это - утопия… Но те же i486 уже имели RISC-ядро, которое можно перепрограммировать, если, как схемы i4004/i8080/i8086, выложат в открытом доступе…)

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

Ведь проц это даже не микроконтроллер. Ему ещё, по классике, ОЗУ и ПЗУ нужны, да ввод/вывод не помешал бы.

Подгоню под распиновку i8080/z80 и вставлю в свой «Электроника КР-03» или «Ленинград-48»…:big_boss:

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

Лежит уже как 5 лет плата, а всё не до неё. Не то что до микроконтроллера, простейшую мигалку светодиодом-то только один раз сделал и всё. Как-то нет необходимости в ПЛИС в моей деятельности. Микроконтроллеры разные востребованы, АЦП/ЦАП нужны. А вот ПЛИС - никак)

Вот именно это меня и напрягает, иначе давно бы купил DE2-115 как наиболее подходящую для любых опытов (включая обработку сигнала аналоговых камер, под которые я некогда писал подобие виртуальной студии акына на Си, но со Squirrel-оболочкой), так как не уверен, что смогу обуздать всё это…

Тем более, как стало очевидным, в FPGA/Verilog у меня - вопиющий профанизм…:blush:

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

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


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

11 hours ago, Alikberov said:

Кстaти, форум меня приятно удивил…
Так как обычно подобные темы глохнут вопросом «ну и зачем это нужно».

Это потому, что форум не профильный. Профильный - на ixbt.com, там очень много специалистов по архитектурам, включая тех, кто создает свое с нуля (самый известный пример последних лет http://everest.l4os.ru/  ). Вопросы, зачем это нужно, не задают, потому что Вы не первый, до Вас уже были многие, и ни у кого это увлечение не переросло во что то, большее чем хобби, и было заброшено, в результате. Т.е. все и так понятно - еще одна архитектура, круто, ну и ладно. Хотите ломания копий - идите на ixbt, совет.

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


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

8 минут назад, Aleх сказал:

Хотите ломания копий - идите на ixbt, совет.

Тема размещена и на ixbt в частности…:yes3:

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


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

36 minutes ago, Alikberov said:

Тема размещена и на ixbt в частности…:yes3:

И снова не туда. В форум по процессорам надо было постить

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


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

1 час назад, Aleх сказал:

И снова не туда. В форум по процессорам надо было постить

Этo уже не от меня зависело: Тему перенесли (кажется)…:whistle3:

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


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

Здесь тоже есть тема по самодельным процессорам. К сожалению, не подраздел (было бы удобнее систематизировать).

Находится, правда, немного в неожиданном месте:

Home /Программируемая логика ПЛИС (FPGA,CPLD, PLD) / Системы на ПЛИС - System on a Programmable Chip (SoPC) / Свои процессоры

 

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


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

Ознакoмился с содержимым книги «Архитектура Компьютера» Таненбаум в общих чертах по ключевым моментам (около 20% материала прочитал).

Для себя, ещё раз, почерпнул, что конвейеры - это сложно и я этого не понимаю.

Если бы я хоть чуточку разбирался в архитектурах, свои процессоры начал бы схематически проектировать уже лет 15 назад. Однако, пока я сам не пойму, что к чему, я не начинаю делать хоть что-нибудь: Ни строчки кода, ни связки вентилей.
Именно потому и эмулятор своего процессора я написал пять лет назад, тогда как эмулятор РАДИО-86РК в Visual Basic 4 (а не 5!!!) из состава Windows'95 (что нашлось на рынке) я написал уже в 2003 без интернета. То есть, дампы программы МОНИТОР и игры ПИТОН перебивал из бумажных публикаций.
То есть, совсем не брался за эмулятор своего CISC'а, так как не мог видеть его иллюзорную архитектуру.
 

Ночью пытался закончить рабочую практическую модель Койяанискаци на мультиплексорах. Но она - не работает.:blush:
Практически все команды исполняются, но только в чистом виде (без префикса).
Под префиксом повтора схема начинает чудить
И тут то я сделал для себя открытие: Я не понимаю суть логики, которую сам и нагромоздил…
Логику эту я добавлял спонтанно в режиме потактовой отладки, чтобы нужные сигналы активировали нужны связи.
Но, теперь я с трудом понимаю, какие цепи сбоят и боюсь их трогать, так как может всё отказать…
 

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

P.S.: Сейчас буду пытаться отделить эту логику в отдельный блок, строго обозначить все сигналы и отладить ручной подачей сигналов…

LostMeaning.png

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


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

3 минуты назад, Alikberov сказал:

Ознакoмился с содержимым книги «Архитектура Компьютера» Таненбаум в общих чертах по ключевым моментам (около 20% материала прочитал).

Для себя, ещё раз, почерпнул, что конвейеры - это сложно и я этого не понимаю.

......

И тут то я сделал для себя открытие: Я не понимаю суть логики, которую сам и нагромоздил…

Ну, уже лучше... Может быть следующую книжку послать? Скажем про конвейер в ARM?

Так вот, чем хорош Верилог, так это тем, что не надо думать в "вентилях" и "мультиплексорах". Это компилятор все сделает сам. Надо нарисовать алгоритм вычислений и по нему блок-схему вычислителя. И описать вычислитель на верилоге. Ну а дальше совсем просто. Моделсим даст распечатку всех шагов при выполнении команды. Смотрите и радуйтесь. Ведь у Вас все должно быть предельно просто, никаких многопоточных конвейеров, никаких аппаратных предсказателей переходов, никаких теневых регистров. Это же "песнь акына", а не какой-то там интел или блэкфин аналоговский... 

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


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

Прo конвейеры в ARM?
Любопытно, конечно, посмотрель…
Но как это может помочь в сложившейся ситуации?
(На участке схемы слишком много сигналов - отделить тяжело: Слишком много сигналов для ручной их подачи…)

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


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

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

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

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

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

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

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

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

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

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