Русский
Русский
English
Статистика
Реклама

Проектирование процессорного устройства Койяанискаци шаг за шагом

В отличии от аналогичных материалов по проектированию процессора с применением справочного материала книги Код Чарльза Петцольда и придерживанием некоторых правил, здесь будет изложена позиция проектировщика лишь на собственном опыте. Основной акцент будет направлен на построение автомата программного управления с машинным кодом, который представляется не сухим набором нулей или единиц, но читаем аббревиатурами двухсимвольных слов шестнадцатеричной системы счисления. Здесь машинный код будет придерживаться парадигмы псевдокода, который довольно легко понимаем подготовленным разработчиком и легко исполняем на уровне железа малой ТТЛ-номенклатурой данным целевым проектируемым процессорным устройством.

Парадигма

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

Дешифратор Команд

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

Сначала необходимо в Logisim сделать набросок дешифратора Кода-Койяанискаци, использовав наиболее доступные логические элементы из номенклатуры выпускаемой серии ТТЛ, чтобы обеспечить лёгкую сборку дешифратора на реальных микросхемах.
image
Здесь придумываем дешифратору УсловноеГрафическоеОбозначение, что необходимо для обеспечения компактности и наглядности целой схемы автомата в перспективе, а также для проверки корректности работы дешифрации всех 256 кодов инструкций.
image

Регистры Безвременных Префиксов

Когда визуальное тестирование работоспособности дешифратора прошло нормально и без видимых сбоев, пришло время подключить основные регистры хранения индексов активных РОН, срабатывающих по командам группы REG как архитектурные префиксы.
image
Для обеспечения хранения векторов маршрутизации данных инструкциями АЛУ и ОЗУ, добавляется ещё один регистр и два связанных мультиплексора, с помощью которых можно связывать произвольные регистры любых групп в качестве операндов команд.
image
Сами по себе эти регистры не предназначены для хранения результатов вычислений и выполняют своего рода роль указателей на нужные регистры, чтобы обеспечить в программе управляемое взаимодействие между всеми доступными РОН и/или памятью.

Архитектурное Состояние

Обеспечение нормального программного взаимодействия всех регистров нуждается в наличии двухпортового РегистровогоФайла, отсутствующего в составе библиотек у Logisim, вынуждает искать другие более-менее затратные альтернативные решения. Классический Койяанискаци имеет довольно сложный РегистровыйФайл, который тут не рассматривается в качестве наглядного примера и требуется разработка нового решения по организации многотактового РегистровогоФайла с медленным доступом. Так как схема получилась однотактовой, организовать РегистровыйФайл в ОЗУ тут достаточно сложно и появляется необходимость построения многотактовой схемы со множеством специальных циклов, сменяющих друг друга в строго заданном порядке.
Алгоритмическое выражение счётчика циклов может описываться как m&=m-1 с последовательным выключением всех активных битов архитектурного состояния, где в определённый момент МашинногоЦикла активируются только ключевые узлы схемы. Максимально развёрнутый прототип СчётчикаМашинныхЦиклов представить можно на эскизе подобной схемы, которая достаточно сложна к пониманию логики её работы.
image
Наиболее оптимальным и универсальным вариантом может служить и подобный эскиз:
image
И для использования в схеме УсловноеГрафическоеОбозначение может быть таким:
image

С помощью вентилей 3-ИЛИ-логики теперь можно сигнал каждой из команд перевести в битовую маску нужных циклов, необходимых для корректного исполнения команды, на весь период выполнения которой счётчик команд будет временно приостановлен.
image

Заключение

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

В следующей части я постараюсь продолжить своё пошаговое построение процессораакына,
так как новый черновой вариант у меня почти работает, но я решил его перерисовывать с нуля,
а заодно и задокументировать все ключевые стадии
Источник: habr.com
К списку статей
Опубликовано: 11.01.2021 08:05:18
0

Сейчас читают

Комментариев (0)
Имя
Электронная почта

Процессоры

Processor

Logisim

Ttl

Процессор

Ттл

Категории

Последние комментарии

  • Имя: Макс
    24.08.2022 | 11:28
    Я разраб в IT компании, работаю на арбитражную команду. Мы работаем с приламы и сайтами, при работе замечаются постоянные баны и лаги. Пацаны посоветовали сервис по анализу исходного кода,https://app Подробнее..
  • Имя: 9055410337
    20.08.2022 | 17:41
    поможем пишите в телеграм Подробнее..
  • Имя: sabbat
    17.08.2022 | 20:42
    Охренеть.. это просто шикарная статья, феноменально круто. Большое спасибо за разбор! Надеюсь как-нибудь с тобой связаться для обсуждений чего-либо) Подробнее..
  • Имя: Мария
    09.08.2022 | 14:44
    Добрый день. Если обладаете такой информацией, то подскажите, пожалуйста, где можно найти много-много материала по Yggdrasil и его уязвимостях для написания диплома? Благодарю. Подробнее..
© 2006-2024, personeltest.ru