MaslovVG 0 19 января, 2012 Опубликовано 19 января, 2012 · Жалоба Что касается процессора, уже готова его упрощенная модель, которая будет в итоге работать с частотой примерно 100 мГц, но в отличие от оригинального ВМ1 будет выполнять 1 команду за 1 такт, а не за 10. Итого, получим ускорение процессора порядка 200 раз в сравнении с оригиналом. Вопрос зачем? Что существуют задачи, которые можно решать только на БК01 и не хватает скорости?. А все существующие программы расчитаны на стандартные скорости и на повышенной частоте могут и перестать работать. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
GetSmart 0 19 января, 2012 Опубликовано 19 января, 2012 (изменено) · Жалоба А все существующие программы расчитаны на стандартные скорости и на повышенной частоте могут и перестать работать. Помню такой же глюк модуля CRT из Турбо Паскаля 7.0. Работает на 486 процах, возможно на ранних Пентиумах. На современных сразу при инициализации модуля (на старте) выдаёт ошибку 200 и конец выполнения. Там это связано с переполнением регистра и делением на 0 (кажется) во время определения скорости проца. Изменено 19 января, 2012 пользователем GetSmart Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Leka 0 19 января, 2012 Опубликовано 19 января, 2012 · Жалоба Что касается процессора, уже готова его упрощенная модель, которая будет в итоге работать с частотой примерно 100 мГц В смысле - упрощенная блок-схема? (судя по заявленной частоте) которая будет в итоге работать с частотой примерно 100 мГц, но в отличие от оригинального ВМ1 будет выполнять 1 команду за 1 такт, а не за 10. ADD @A(R1),@B(R2) - за сколько тактов будет исполняться? ... все существующие программы расчитаны на стандартные скорости и на повышенной частоте могут и перестать работать. Подать на стандартный таймер 5кГц(например) вместо 50Гц - заработают. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
GetSmart 0 19 января, 2012 Опубликовано 19 января, 2012 · Жалоба Подать на стандартный таймер 5кГц(например) вместо 50Гц - заработают. А собственную скорость (рук, глаз, мозгов) в 100 раз разогнать слабо? :) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Leka 0 19 января, 2012 Опубликовано 19 января, 2012 (изменено) · Жалоба -На что жалуетесь? -Доктор, мне все говорят, что я сумасшедший -Почему же? -Потому что я люблю сосиски. -Ну и что?! Все любят сосиски. Я тоже люблю сосиски. -Правда? Пойдемте, я покажу Вам свою коллекцию. --------- Я уже начал прорабатывать FPGA-клон PDP-11. Мои требования, в порядке приоритетов: 1) работоспособность RT-11 v5.x, DIR, PIP, DUP, RESORC, MACRO, LINK, PASCAL, ... 2) простота реализации, 3) скорость. Игры - в последнюю очередь. Систему команд выбрал без EIS (ASHC, ASH, DIV, MARK, MUL, RTT, SOB, SXT, XOR), выкинул также MFPS, MTPS. В моем программном симуляторе RESORC определяет такой процессор, как PDP 11/15,20. Проверил также, что работоспособность сохраняется при уменьшении памяти до 32КБайт - чтобы можно было запускать на "слабых" FPGA. Одна из проблем - неоднозначность системы команд PDP-11 (об этом есть в wiki). Разрешение этой неоднозначности зависит от требований к скорости и набору программ, поэтому проверка в симуляторе точной модели - обязательный этап, с этого и надо начинать. Изменено 19 января, 2012 пользователем Leka Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
VVoland 0 20 января, 2012 Опубликовано 20 января, 2012 · Жалоба В смысле - упрощенная блок-схема? (судя по заявленной частоте) ADD @A(R1),@B(R2) - за сколько тактов будет исполняться? Вот более подробная информация от разработчика: Синтезируемое ядро на VHDL. Исполняет все команды 1801ВМ1 (включая SXT, XOR, SOB, MARK), пока отсутствуют прерывания по внешнему сигналу и внутренним источникам ошибок кода , а также трассировка по биту T Содержит 4-х ступенчатый исполнительный конвейер Результаты синтеза (Quartus 11.0) для Altera Cyclone III , Optimization for Area, Slow 85C Model, (самая медленная оценка): Для grade -8 : 91.1 мгц Для grade -6: 106.36 мгц (117.63 мгц для Slow 0C Model). Общее число логических элементов – 1708 (11 % EP3C16 ) Симуляция процессора на Active HDL 8.2 Время исполнения операций: ADD R1, R2 - 1 такт ADD R1, (R2) – 2 такта ADD R1, 10(R2) – 3 такта ADD @A(R1), @B(R2) - 7 тактов Условные переходы 2 – 3 такта (зависит от выполнения условия) JSR R5, (R1) - 4 такта RTS - 4 такта TRAP, EMT, BPT, IOT – 8 тактов MARK – 3 такта (время RTS .. MARK не зависит от параметров) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Leka 0 20 января, 2012 Опубликовано 20 января, 2012 · Жалоба Вот более подробная информация от разработчика: ... В проекте на opencores тактов вдвое больше(и частота поменьше), так что круто будет, если все получится. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Leka 0 20 января, 2012 Опубликовано 20 января, 2012 · Жалоба Содержит 4-х ступенчатый исполнительный конвейер ... ADD R1, (R2) – 2 такта Этот момент удивляет... Сам решил отказаться от конвейера(кроме записи), интересно будет потом сравнить разные подходы. Кстати, пример различий в реализации системы команд: Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Alex11 5 20 января, 2012 Опубликовано 20 января, 2012 · Жалоба Без прерывания по T-биту жить будет тяжело, все отладчики на него завязаны. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Leka 0 20 января, 2012 Опубликовано 20 января, 2012 · Жалоба С конвейером, кстати, надо аккуратно. MACRO.SAV, например, использует такую последовательность команд: MOV R2,(PC) ... те пересылает команду из R2 в память, и тут-же исполняет ее (в конкретном случае команду EMT). Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
VVoland 0 20 февраля, 2012 Опубликовано 20 февраля, 2012 · Жалоба Хотелось бы узнать мнений по мультимедийной архитектуре будущей машины. 1). Звук. Есть вариант использовать дешевый vs1011, в составе которого есть хреновенький DAC и усилитель, а также декодер mp3. Работу по организации потока данных на vs1011 можно взвалить либо на ЦП, либо на периферийный PIC32MX695 (под который существуют кстати даже готовые mp3-плееры). Вроде бы красивое, недорогое, простое, но не самое качественное для уха меломана решение. Другой вариант - переместить AY в ПЛИС, поставить качественный DAC (например CS4398), который правда потребует усложнения обвязки и повлечет удорожание решения за счет этого. Звук как c AY, так и оцифрованный - будет выводиться в один канал качественного DAC. Если использовать реальный AY, то получится два отдельных канала, т.к. у AY свой собственный DAC, и свести эти два канала в один, качественно можно только с помощью реле. Ну или не сводить вовсе. Для декодирования mp3 в этом случае можно использовать отдельный узкофункциональный процессор на vhdl в составе основной ПЛИС. 2). Графика. В качестве Video-DAC пока предполагается ADV7125, в качестве конвертера DVI - TFP410PAP PBF. Возможно существуют более красивые решения (более дешевые или два в одном?). Уже сделаны первые попытки вывода изображения с эмулируемой ВП1-037 (на отладочной плате) на широкоформатный монитор. Показывает нормально, но изображение излишне широкое в ставнении с оригинальной БК. Единственно приемлемое стандартное разрешение для вывода стандартных БКшных разрешений - 640 на 350, из него высекается 512 на 256 с небольшими полями, частота вывод точек там тоже регламентирована - 25.175 мгц, но 25 вроде прокатывает; если увеличить частоту точек и монитор это не отвергнет, то просто увеличатся поля слева и справа. Можно монитору нестандартный режим развертки подсунуть, но разные монитору могут на это реагировать по-разному. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Leka 0 21 февраля, 2012 Опубликовано 21 февраля, 2012 · Жалоба ... Графика. БК11М - палитра 16 цветов всего, достаточно будет простейшей резистивной матрицы вместо видео-ЦАП. По 2 бита на каждый основной цвет + синхроимпульсы --> 8 ног и 8 резисторов всего. А для расширенной версии (если дело дойдет до этого) - отдельная плата с графическим процессором и спец-микрухами. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
VVoland 0 21 февраля, 2012 Опубликовано 21 февраля, 2012 · Жалоба БК11М - палитра 16 цветов всего, достаточно будет простейшей резистивной матрицы вместо видео-ЦАП. По 2 бита на каждый основной цвет + синхроимпульсы --> 8 ног и 8 резисторов всего. А для расширенной версии (если дело дойдет до этого) - отдельная плата с графическим процессором и спец-микрухами. Не выйдет, т.к. расширенная графика реализуется внутри основной ПЛИС (Циклон 3), это будет на мой вггляд несколько нелогично, выносить только две микросхемы Video-DAC + Converter DVI на отдельную плату. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Leka 0 21 февраля, 2012 Опубликовано 21 февраля, 2012 · Жалоба 1) Расширенная графика - следующий этап. 2) DAC и DVI одновременно не нужны, поэтому логично иметь 3 отдельные небольшие видеоплаты: VGA, DVI, HDMI. 3) Обмен между ЦП и видеоплатой м/б последовательным, тк скорость относительно невысокая (максимум = 25 МИПС * 16 бит = 400Мбит/сек). Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
VVoland 0 22 февраля, 2012 Опубликовано 22 февраля, 2012 (изменено) · Жалоба 1) Расширенная графика - следующий этап. 2) DAC и DVI одновременно не нужны, поэтому логично иметь 3 отдельные небольшие видеоплаты: VGA, DVI, HDMI. 3) Обмен между ЦП и видеоплатой м/б последовательным, тк скорость относительно невысокая (максимум = 25 МИПС * 16 бит = 400Мбит/сек). Поток передачи изображения в максимальном расширенном режиме 800*600 при цветности 3 байта составит не менее 100 мегабайт в секунду: 800*600*3байта*75Гц. Изменено 22 февраля, 2012 пользователем VVoland Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться