1. Если вы только начинаете программировать на ассемблере и не знаете с чего начать, тогда попробуйте среду разработки ASM Visual IDE
    (c) на правах рекламы
    Скрыть объявление

Койяанискаци - архитектура любительского процессора

Тема в разделе "WASM.PROJECTS", создана пользователем Alikberov, 8 июл 2021.

?

Акынская Гуманитарная Архитектура

  1. Бессмысленная затея

    1 голосов
    25,0%
  2. Любопытно, не более

    3 голосов
    75,0%
  3. Пусть живёт - разрешаю

    0 голосов
    0,0%
  4. В этом что-то есть

    0 голосов
    0,0%
  5. И кодом помочь могу

    0 голосов
    0,0%
Можно выбрать сразу несколько вариантов.
  1. Alikberov

    Alikberov New Member

    Публикаций:
    0
    Регистрация:
    26 июл 2017
    Сообщения:
    1
    Всё началось более года назад, когда решено было всерьёз разработать собственную RISC-архитектуру в рамках симулятора Atanua. Но затем за основной инструмент был выбран LogiSim по ряду причин (лёгкость, простота, удобный интерфейс) против тех же KiCAD, Proteus или OrCAD.
    Хотя изначально схема имела скромную шуточную Гарвардскую RISC-архитектуру и 2-4 такта на операцию, но по мере развития и усложнения получилась гибридная пародия на CISC с Принстонской архитектурой до 20-30 тактов на операцию.
    Задача повышения производительности не ставилась принципиально, так как все силы были сосредоточены на разработке интуитивно понятного машинного кода, где код в дампе своим шестнадцатеричным представлением в байте команды несёт в себе визуально понятную смысловую нагрузку, чтобы имелась возможность кодирования программы в её естественном виде - байт-кодом.
    С другой стороны, данный Кой-Процессор также задумывался как некое универсальное ядро для эмуляции любых других процессоров (i8080, z80, i8086, MOS 6502 и т.п.), пусть даже с крайне низкой производительностью.

    На странице эмулятора уже более-менее видна задуманная архитектура в действии.
    В качестве демонстрации была выбрана пародия на игру Автослалом (ИМ-23), где производительность не важна и можно обойтись считанными килогерцами.
    (Можно заметить, что демо-код ничего не рисует, а лишь включает/выключает соответствующие сегменты на импровизированном ЖК-экране: Не всякое изображение подходит, а предварительно обработанное и подготовленное с индексацией групп пикселей под тот или иной сегмент.)

    В настоящее время ведётся пассивная отладка самого HTML-интерфейса и доработка JavaScript-оболочки, чтобы более чётче отловить многие подводные камни самой архитектуры и применить опыт в переработке Verilog-модели.

    Разрядность
    Хотя описание и эмуляция выполнены 8-битным исполнением, ничто не мешает все регистры сделать 4-битными - минимализм. А также 16-битными или 32-битными, так как всё проектировалось так, чтобы архитектура была масштабируемой. Из-за чего, как можно заметить в режиме отладки, команд загрузки непосредственных констант нет в принципе, а всё выполняет особый пользовательский код разнообразными INT-вызовами.

    Устройства Ввода-Вывода
    Хотя можно спроецировать интерфейсные устройства в память, но изначально под них выделены Регистры Общего Назначения D0…D9, чтобы не было никаких In/Out или обращения к памяти.
    Карта УВВ планировалась также максимально очевидной: Какой BCD-код в D9, такой и номенклатурный индекс самой ИМС: Для доступа к i8255/580ВВ55 помещаем код 0x55 в D9, а через регистры D0…D3 уже работаем с самой этой ИМС.
    (В демонстрации буфер клавиатуры считывается имитацией (не эмуляцией или симуляцией) i8279/580ВВ79 с индексом 0x79 в D9.)

    Развитие
    Если Pico-8, Gigatron и Simpleton разрабатываются в первую очередь и в основном как игровые с поддержкой графики.
    В то же время, как можно заметить, Кой-Машина проектировалась как автомат, способный управлять теплицей или инкубатором в технологическом стиле 70-х, где графика не особо нужна.
    А так как Кой-Программу можно выполнять даже на процессорах, типа i8080/z80, то она может в какой-то мере служить альтернативой известной Java-машине, так как Койяанискаци-Код легко можно поддерживать на любых ЭВМ.

    Онлайн
    Тематический форум
    Discord-канал

    Спасибо за внимание!
    С уважением.
    Аликберов
     
    Последнее редактирование: 8 июл 2021