Блог страдающего Лиса
Lorem ipsum hello dolor sit world amet
12 окт 2024 Сб
Продолжение работы над 8088
Доработки
Очень медленно работа идет над этим процессором, потому что у меня нет времени на то, чтобы заниматься этим постоянно. Сегодня мне бы хотелось сделать инструкции умножения и деления, потому что это тоже важно, между прочим. И просто посмотреть, сколько занимает логических элементов текущий код, просто потому что интересно, влезет ли в 10к от Марсохода в будущем, это тоже важно.
У меня есть вторая плата, которую покупал совсем недавно, это OMDAZZ, и ее тоже было бы интересно проверить, потому что по техническим характеристикам она полностью совпадает с Марсоходом2. То есть по идее, если я смогу сделать для нее, то и для 3-го циклона тоже получится.
Игра Жизнь
Еще недавно я научился "шить" микросхему 150К ПЛИС, загрузил туда свою прошивку для симуляции поля игры "Жизнь" 128 на 120. Это значит, что каждая ячейка "живет" независимо от других и за один такт перебрасывается поле в новое состояние. Это значит, что если запустить на 25 мгц, то, учитывая 128 на 120 = 15360 ячеек, которые занимают 148К ЛЕ, то это равносильно будет обработке 384 млрд ячеек в секунду! Поразительная скорость массового параллелизма. Но это лишь простые ячейки, более сложного ничего не делал пока что, только игру "Жизнь".
У меня еще есть мечта сделать растеризацию фрактала Мандельброта, только вот, смогу ли я это сделать, тот еще вопрос... на самом деле, ничего меня не может остановить, чтобы это сделать, кроме собственной лени.
Итог дня
Сегодня я полдня делал шаблон для omdazz, назначал пины, проверял различные комбинации, тестировал VGA и вот что я скажу — какая-то есть проблема с видеовыходом, поскольку во-первых, там всего лишь 3 бита, во-вторых, изображение получается тусклым. Один из проверочных моих мониторов вообще не может настроиться на видевыход как надо, к тому же, картинка съезжает, возможно даже из-за этих тусклых цветов. Как я посмотрел на схеме, там подключено к 1 кОм резистору, вместо например, 100 Ом, и видимо поэтому изображение такое тусклое и показывается.
Вторая неприятная вещь в том состоит, что оказывается, пины, которые якобы GPIO, на самом деле присоединены к различным устройствам, и значит что придется использовать их совместно. И вообще так получается, что эти пины особо и не получится использовать, честно говоря. Да, можно отказаться от SDRAM например, в пользу пинов, но вместе их использовать никак не выйдет.
Еще на плате есть выводы на LCD экранчик, который присоединяется отдельно. У меня такое чувство, что его подцепить туда будет нельзя, поскольку похоже, не совпадают выводы. Но я должен буду это еще проверить. В любом случае, именно эти пины то и можно юзать как GPIO.
Смог сегодня сделать инструкции умножения и частично деления, только беззнаковое пока что. Знаковое сложнее, это я уже потом делать буду. Дополнительно к функции умножения через обычные групповые инструкции еще бы сделать отдельную IMUL, которая работает с Immediate. Это очень полезная и крайне нужная инструкция для вычисления например, координат.
Очень медленно работа идет над этим процессором, потому что у меня нет времени на то, чтобы заниматься этим постоянно. Сегодня мне бы хотелось сделать инструкции умножения и деления, потому что это тоже важно, между прочим. И просто посмотреть, сколько занимает логических элементов текущий код, просто потому что интересно, влезет ли в 10к от Марсохода в будущем, это тоже важно.
У меня есть вторая плата, которую покупал совсем недавно, это OMDAZZ, и ее тоже было бы интересно проверить, потому что по техническим характеристикам она полностью совпадает с Марсоходом2. То есть по идее, если я смогу сделать для нее, то и для 3-го циклона тоже получится.
Игра Жизнь
Еще недавно я научился "шить" микросхему 150К ПЛИС, загрузил туда свою прошивку для симуляции поля игры "Жизнь" 128 на 120. Это значит, что каждая ячейка "живет" независимо от других и за один такт перебрасывается поле в новое состояние. Это значит, что если запустить на 25 мгц, то, учитывая 128 на 120 = 15360 ячеек, которые занимают 148К ЛЕ, то это равносильно будет обработке 384 млрд ячеек в секунду! Поразительная скорость массового параллелизма. Но это лишь простые ячейки, более сложного ничего не делал пока что, только игру "Жизнь".
У меня еще есть мечта сделать растеризацию фрактала Мандельброта, только вот, смогу ли я это сделать, тот еще вопрос... на самом деле, ничего меня не может остановить, чтобы это сделать, кроме собственной лени.
Итог дня
Сегодня я полдня делал шаблон для omdazz, назначал пины, проверял различные комбинации, тестировал VGA и вот что я скажу — какая-то есть проблема с видеовыходом, поскольку во-первых, там всего лишь 3 бита, во-вторых, изображение получается тусклым. Один из проверочных моих мониторов вообще не может настроиться на видевыход как надо, к тому же, картинка съезжает, возможно даже из-за этих тусклых цветов. Как я посмотрел на схеме, там подключено к 1 кОм резистору, вместо например, 100 Ом, и видимо поэтому изображение такое тусклое и показывается.
Вторая неприятная вещь в том состоит, что оказывается, пины, которые якобы GPIO, на самом деле присоединены к различным устройствам, и значит что придется использовать их совместно. И вообще так получается, что эти пины особо и не получится использовать, честно говоря. Да, можно отказаться от SDRAM например, в пользу пинов, но вместе их использовать никак не выйдет.
Еще на плате есть выводы на LCD экранчик, который присоединяется отдельно. У меня такое чувство, что его подцепить туда будет нельзя, поскольку похоже, не совпадают выводы. Но я должен буду это еще проверить. В любом случае, именно эти пины то и можно юзать как GPIO.
Смог сегодня сделать инструкции умножения и частично деления, только беззнаковое пока что. Знаковое сложнее, это я уже потом делать буду. Дополнительно к функции умножения через обычные групповые инструкции еще бы сделать отдельную IMUL, которая работает с Immediate. Это очень полезная и крайне нужная инструкция для вычисления например, координат.