User Tag List

Страница 8 из 8 ПерваяПервая ... 45678
Показано с 71 по 80 из 133

Тема: Ядро с 32 битами и виртуализацией

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

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

    Регистрация
    14.04.2013
    Адрес
    г. Ростов-на-Дону
    Сообщений
    608
    Спасибо Благодарностей отдано 
    70
    Спасибо Благодарностей получено 
    54
    Поблагодарили
    48 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Я скоро в BSoD выпаду с такой многозадачностью.

    Проект не брошен, он очень медленно двигается, потому что... Потому что многозадачность.

    Задам вопрос пока в этой теме.
    Кто-нибудь занимался двоичной трансляцией с Z80, и трансляцией вообще? Вот так чтобы код на лету транслировать и оно выполнялось на другом процессоре.

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

  3. #2

    Регистрация
    14.04.2013
    Адрес
    г. Ростов-на-Дону
    Сообщений
    608
    Спасибо Благодарностей отдано 
    70
    Спасибо Благодарностей получено 
    54
    Поблагодарили
    48 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Так я такой эмулятор и имею в виду. Надо же как-то эмулировать Z80.

    Добавлять инструкции к Z80 - нет.
    Эмулятор-интерпретатор - медленно.
    Добавить аппаратный декодер старых инструкций - можно (см. ниже)

    Пока думаю о двух вариантах:
    Первый - трансляция в "нативные" инструкции и последующее выполнение, но тут много пока непонятных для меня вещей, типа самомодифицирующегося кода.
    Второй по-моему вообще наркоманский - инструкция "выполнить содержимое регистра как инструкцию Z80". Если сделать неполный декодер, то он получится очень маленький и простой, остальное выполнять "эмулятором-интерпретатором". Основной цикл при этом будет "loop: ld A,(PC) ; exec A ; jp loop"

    - - - Добавлено - - -

    Или декодер не аппаратный, а программный, а из аккумулятора выполнять что-то типа микрокода.
    Почему именно так - чтобы эмулятор в кэш поместился, иначе всё замедлится в разы. И в то же время не всё аппаратно, чтобы поместилось в мелкую ПЛИС. Сейчас то что есть занимает 2194 LE, но надо экономить, там ещё графика впереди.

    - - - Добавлено - - -

    А кроме графики - MMU и кэш.

  4. #3

    Регистрация
    20.04.2006
    Адрес
    Санкт-Петербург
    Сообщений
    2,882
    Спасибо Благодарностей отдано 
    523
    Спасибо Благодарностей получено 
    253
    Поблагодарили
    227 сообщений
    Mentioned
    8 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Это уж скорее конвертация. И в чем отличие от минималистического эмулятора, который только конвертит машинный код эмулируемого проца в последовательность кода исполнителя?
    Последний раз редактировалось andrews; 30.12.2020 в 11:39.

  5. #4

    Регистрация
    14.04.2013
    Адрес
    г. Ростов-на-Дону
    Сообщений
    608
    Спасибо Благодарностей отдано 
    70
    Спасибо Благодарностей получено 
    54
    Поблагодарили
    48 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    "Эта ваша музыка. Даёт она что-то? Нет, не даёт. А надо, чтобы давала."

  6. #5

    Регистрация
    20.04.2006
    Адрес
    Санкт-Петербург
    Сообщений
    2,882
    Спасибо Благодарностей отдано 
    523
    Спасибо Благодарностей получено 
    253
    Поблагодарили
    227 сообщений
    Mentioned
    8 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Наверное согласишься, что новый проект должен давать что-то отличное от существующих и желательно конечно в лучшую сторону. А там как хочешь разбить задачу. Если делаешь более совершенный проц чем ASICи z80 это одно, а если сразу систему из которой выйдут более совершенные Спектрумы это другое. Я уже не ориентируюсь насколько далеко ушли замыслы от первоначального сделать проц, на котором без проблем работает код Паскаля.

  7. #6

    Регистрация
    20.04.2006
    Адрес
    Санкт-Петербург
    Сообщений
    2,882
    Спасибо Благодарностей отдано 
    523
    Спасибо Благодарностей получено 
    253
    Поблагодарили
    227 сообщений
    Mentioned
    8 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Если делаешь хит. Ну а для души сам себе критик. Я вот за всю жизнь только пару мелодий своих успел своих записать, а в голове звучало их тысячи. Да еще и оркестрованных.

  8. #7

    Регистрация
    14.04.2013
    Адрес
    г. Ростов-на-Дону
    Сообщений
    608
    Спасибо Благодарностей отдано 
    70
    Спасибо Благодарностей получено 
    54
    Поблагодарили
    48 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Вопрос по адресации.

    Регистры 32 бита, в адресе учитываются только 24.

    (AA,BC,DE,HL,IX,IY,IZ + offset) - это понятно.

    (AA,IX,IY,IZ + AA,BC,DE,HL) - нужен ли тут ещё и offset, или можно обойтись без него?

    Что бы ещё придумать? Или этого достаточно?

    - - - Добавлено - - -

    И ещё: нужны ли альтернативные пары регистрам IX/IY/IZ? Которые "exx".

  9. #8

    Регистрация
    14.04.2013
    Адрес
    г. Ростов-на-Дону
    Сообщений
    608
    Спасибо Благодарностей отдано 
    70
    Спасибо Благодарностей получено 
    54
    Поблагодарили
    48 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Есть проблема с флагами.

    Некоторые инструкции выбиваются по флагам из общей квадратно-гнездовой картины, например:
    rlca, rrca, rla, rra (H,N,C)
    cpl (H,N)
    add HL,reg16 (H,N,C, причём H берётся из старшего байта)
    inc/dec 8/16 бит

    С inc/dec вообще интересно. 8-битные меняют все флаги кроме переноса, 16-битные флаги не меняют. Я понимаю почему так, но с этим надо что-то делать.

    Пока мысль такая: они устанавливают флаги по-своему, но у ассемблера будет режим, в котором он после этих инструкций будет добавлять инструкцию, устанавливающую флаги как в Z80, для совместимости со старым исходным кодом.

  10. #9

    Регистрация
    15.02.2015
    Адрес
    г. Могилёв, Беларусь
    Сообщений
    956
    Спасибо Благодарностей отдано 
    18
    Спасибо Благодарностей получено 
    130
    Поблагодарили
    80 сообщений
    Mentioned
    3 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Что-то топик заглох...
    Куда пропали Bolt, Ynicky, Vlad?
    С Владом история вообще интересная. У него был четырехядерный процессор собственной разработки, на котором Влад сделал суперспектрум с уникальным видеорежимом высокого разрешения. Влад продемонстрировал возможности своего видеорежима в одном из топиков, где были скриншоты варика с разрешением и графикой писи.
    Владу нужно поделиться деталями своего суперпроцессора с другими. Вот мне, например, интересно, расширял ли он адресацию до 24 бит?
    Последний раз редактировалось Smalovsky; 30.12.2021 в 18:04.
    ¡Un momento, señor fiscal!


Страница 8 из 8 ПерваяПервая ... 45678

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

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

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

Похожие темы

  1. Ответов: 465
    Последнее: 03.01.2020, 07:15
  2. Ответов: 16
    Последнее: 02.08.2005, 12:20

Ваши права

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