User Tag List

Показано с 1 по 10 из 29

Тема: Проектирование процессора

Комбинированный просмотр

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #1

    Регистрация
    26.01.2016
    Адрес
    г. Мелитополь, Украина
    Сообщений
    156
    Спасибо Благодарностей отдано 
    12
    Спасибо Благодарностей получено 
    42
    Поблагодарили
    24 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    на всех прикрепленных изображениях, ничего не видно! разрешение крайне низкое и вникнуть в суть не удается.

  2. #1
    С любовью к вам, Yandex.Direct
    Размещение рекламы на форуме способствует его дальнейшему развитию

  3. #2

    Регистрация
    11.04.2023
    Адрес
    г. Ташкент, Узбекистан
    Сообщений
    183
    Спасибо Благодарностей отдано 
    57
    Спасибо Благодарностей получено 
    89
    Поблагодарили
    41 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    Post

    Цитата Сообщение от vegapiratradio Посмотреть сообщение
    на всех прикрепленных изображениях, ничего не видно! разрешение крайне низкое и вникнуть в суть не удается.
    Хм...
    Тогда я дам ссылки на мой github-ресурс (с кодовым именем "Койяанискацци" - трек на modarchive.org)...
    Ссылка на Verilog-модель (сто раз устаревшую)

    Дешифратор команд на комбинаторике (Logisim)



    [свернуть]


    Дешифратор команд на комбинаторике (Proteus)



    [свернуть]


    Полная схема (Logisim - Принстонский прототип с декодером команд на ПЗУ)



    [свернуть]


    Синтез схемы на Quartus



    [свернуть]

    Но, все эти схемы - чисто ради приличия: Редкий энтузиаст возьмётся воспроизводить эту схему из реальных номенклатурных ИМС.
    (более 200 микросхем, по предварительным подсчётам)
    Схемами в симуляции лично я просто убедился, что построить процессор с "дружественным машинным кодом" вполне реально.

    Сейчас сосредоточился на Verilog HDL, чтобы уровень "воспроизводимости" в ПЛИС был самым доступным.

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

    Таблица исключений для АЛУ



    [свернуть]

    Калькулятор вектора - на ТТЛ и Verilog



    [свернуть]

    Прогонка декодера команд со всеми комбинациями префиксов, маргиналов и исключений



    [свернуть]


    Эзотерика бинарных полей
    В i8080 инструкции MOV Rd,Rt кодируются бинарным полем 01dddttt.
    Тем самым, хоть даже процессор официально - индустриальный и не эзотерический, эту самую эзотерику несут битовые поля в кодировке инструкций.
    Позволю себе промолчать и про все остальные: IA-32, ARM и т.д.

    Почти "Java-машина"
    Выше дана ссылка на эмулятор процессора для РАДИО-86РК.
    А если он достаточно легко эмулируется на РЛК, то можно написать эмулятор и на ZX-Spectrum, и на Yamaha-MSX.
    То есть, получаем "подобие Java-машины", только с "гуманитарным машинным кодом", который не нужно выучивать и зубрить таблицу команд.

    Как можно убедиться, аккумуляторов может быть 10 (A0..A9), так и 100 (A10..A99) или даже тысяча (A100..A999). На программном уровне это доступно.
    В таком случае общее количество РОН становится не 30, а 300 и 3000 соответственно.
    (Если браться собирать процессор "по военному" - на отдельных модулях, то нет никаких архитектурных ограничений на масштабируемость.)

    При "прошивке FPGA" вполне можно указать размер Регистрового Файла, какой только способен уместиться на ПЛИС.
    (Существовал вариант, где всё архитектурное состояние сохранялось непосредственно в ОЗУ, что могло обеспечить многозадачность, но требует до 10 Машинных Циклов на операцию - до 30 тактов.)

    Конвейер
    Теоретически, если бы инженеры Intel открыли бы доступ к микрокоду ядра своих процессоров, перешить его под исполнение программ данной архитектуры не составляло бы никакого труда.
    А значит, производительность была бы на высочайшем уровне.

    Некоторые проблемы "парадигмы"
    Выше уже указывалось, что оп-коды E0..FF - это "заглушки" программных INT'ов, проще говоря - CALL E000..FF00.
    Однако, так они работают только в "сухом виде" - без префиксов (указателей и "маргиналов").
    До сих пор отсутствуют представления о том, как должны работать "указательные INT'ы" и "маргинальные INT'ы".
    А ещё:
    • Указательные-Маргинальные CLC/CMC
    • Указательные/Маргинальные ARG
    • Маргинальный HLT
    Всё это указывается на "скрытый потенциал архитектуры", о котором я не подозревал в 2019 году на первых набросках схематики в Logisim.
    Даже на высоком уровне - в JavaScript, просто не имеется никакого чёткого представления, как обрабатывать "маргинализацию" существующих команд.
    (Пока она просто игнорируется или выполняет "действительно маргинальные операции" из ряда вон: Чертит линии и выводит спрайты, что никак не должно распространяться за пределы экспериментальной эмуляции.)

    P.S.: Всё это - результат двадцатилетних исследований.
    Последний раз редактировалось Alikberov; 27.06.2023 в 18:51. Причина: обновил все скриншоты

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. Проектирование идеального "советского" компьютера
    от CityAceE в разделе Разработка электроники
    Ответов: 229
    Последнее: 17.11.2022, 07:35
  2. Модуль процессора (МП)
    от Viktor2312 в разделе Ириша
    Ответов: 57
    Последнее: 28.12.2016, 10:02
  3. Ответов: 4
    Последнее: 01.11.2013, 00:47
  4. Ответов: 4
    Последнее: 12.09.2009, 15:35

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •