vetal 0 23 декабря, 2011 Опубликовано 23 декабря, 2011 · Жалоба Задача решается на любой отладочной плате для ПЛИС с необходимыми интерфейсами и встраиваемом процессоре. Совместимость программ обеспечивается на уровне бинарной трансляции кода во время загрузки. Хотя, лучшим решением будет плата миниПК с программным симулятором. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Leka 1 23 декабря, 2011 Опубликовано 23 декабря, 2011 · Жалоба Совместимость программ обеспечивается на уровне бинарной трансляции кода во время загрузки. Ага, оттранслируйте во время загрузки MOV -(PC),-(PC) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
vetal 0 23 декабря, 2011 Опубликовано 23 декабря, 2011 · Жалоба Ага, оттранслируйте во время загрузки MOV -(PC),-(PC) Я же не говорил, что это просто :) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
stells 12 23 декабря, 2011 Опубликовано 23 декабря, 2011 (изменено) · Жалоба Команда сдвиг влево эквивалентна команде ADD регистра с самим собой. точно, тормознул :) Имхо, не получится, разве только 64К таблица переходов на подпрограммы. Архитектура не строго ортогональная, выполнение команд зависит от операндов. немного вернусь к проблеме дешифрации... смотрим на таблицу кодов команд: как видим, система команд неплохо структурируется - если старший байт команды нулевой, то по младшему байту (со смещением на 1к) вытаскиваем из памяти адрес подпрограммы обработки команды. если он не нулевой, то по старшим 10 разрядам вытаскиваем из памяти адрес подпрограммы, в которой уже анализируем младшие разряды. итого, таблица указателей на подпрограммы займет 1к+21 слова Изменено 23 декабря, 2011 пользователем stells Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Leka 1 23 декабря, 2011 Опубликовано 23 декабря, 2011 · Жалоба 2 ALL Вспомните ветку "свои процессоры" - главной проблемой является софт, а не железо, отсюда и стремления клонировать конкретную реализацию БК, а не создать совместимую с PDP-11. Начинать надо с софта: собрать, выделить необходимый минимум, изучитть переносимость, и оформить это в ПЕРВЫХ пунктах ТЗ. А систему команд и прочие мелочи - мелким шрифтом на последней странице. XC6SLX9 (64КБайт встроенной памяти) стоит $15 на avnet.com - зачем программно эмулировать, если можно железно? Сначала надо набрать интересное и легко переносимое ПО, найти легко адаптируемую ОС, все остальное - потом. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
GetSmart 0 23 декабря, 2011 Опубликовано 23 декабря, 2011 (изменено) · Жалоба немного вернусь к проблеме дешифрации... смотрим на таблицу кодов команд: А можно поинтересоваться, в чём будет разница такой вот эмуляции PDP-11 на MSP430 и на любой другой платформе? И какое вообще значение при этом имеет похожесть системы команд и регистров? XC6SLX9 (64КБайт встроенной памяти) стоит $15 на avnet.com - зачем программно эмулировать, если можно железно? Вроде уже перетёрли эту тему. Можно и так, и так. Кому как больше нравится. Но лично я бы не отказался от включения какого-нить старенького компа типа Пня 4 или Атлона и обнаружения вместо винды - игрух БуКашки :) Зачем клепать железо, когда старого рабочего хлама бесплатно раздают. Изменено 23 декабря, 2011 пользователем GetSmart Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
stells 12 23 декабря, 2011 Опубликовано 23 декабря, 2011 · Жалоба А можно поинтересоваться, в чём будет разница такой вот эмуляции PDP-11 на MSP430 и на любой другой платформе? да нет особой разницы... точнее она есть, но не принципиальная Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
GetSmart 0 23 декабря, 2011 Опубликовано 23 декабря, 2011 · Жалоба да нет особой разницы... точнее она есть, но не принципиальная Тогда почему выбор пал на самый тормознутый (а MSP430 так и есть) проц со среднетипичным размером рамы 2-4 КБ ? :) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Leka 1 23 декабря, 2011 Опубликовано 23 декабря, 2011 · Жалоба Зачем клепать железо, когда старого рабочего хлама бесплатно раздают. Управляющий комп, работающий в реальном времени со сигналами в десятки-сотни МГц. Ни МК, ни ПК, ни БК такое не под силу. А тут - на одной микросхеме за $15. Вот образец игрушки для "компа на FPGA": http://electronix.ru/forum/index.php?showt...p;#entry1008988 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
GetSmart 0 23 декабря, 2011 Опубликовано 23 декабря, 2011 · Жалоба Управляющий комп, работающий в реальном времени со сигналами в десятки-сотни МГц. Вся прога с игрушкой БК полностью залезет в кэш того же Атлона :) FSB при этом будет 200 мгц. А вообще, 15 баксами не обойтись. Нужны как минимум видеокарта и флопик. Всё это уже есть в писюхе. Плюс ещё клава, мышь (хотя зечем?) и прочие прелести. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
iff2 0 23 декабря, 2011 Опубликовано 23 декабря, 2011 (изменено) · Жалоба Кто-то уже подобное делал :blink: ? Поставленная топик-стартером задача выглядит скорее как утопия (задание для ученика к ДП или КР), и вряд ли будет кем-то реализована (мнение может быть ошибочным, если только сам автор не сделает все сам :rolleyes:) Так-как скорее всего, только он один имеет представление что, как и для чего... Т.е. сделать получиться только то, что осознал и знаешь как. А проблема как известно, в мелочах :rolleyes: Вот к примеру проект ZX-Spectrum 48K на VHDL от Ewgeny7 для новичков. Процессор z80 (T80) может работать на частоте до 120МГц в FPGA СycloneIII и использует 2500LE, т.е. если взять подходящее семейство MAX то можно реализовать его в CPLD и т.д. т.п... Думаю для начала будет достаточно... Изменено 23 декабря, 2011 пользователем iff2 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Leka 1 23 декабря, 2011 Опубликовано 23 декабря, 2011 · Жалоба Еще ссылки: http://pdp2011.sytse.net/wordpress/?page_id=5 http://ramlamyammambam.livejournal.com/154059.html Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
yes 7 23 декабря, 2011 Опубликовано 23 декабря, 2011 · Жалоба автору : я не смог прошлым постом сформулировать трудность, попытаюсь еще раз :: на ПЛИС реализации процессора трудно добиться 100% соответствия, то есть какие-то программы пойдут, а какие-то нет и иногда доделать для работы следующей программы будет также трудно, как и запустить первую (ну например если потребуется изменить такты исполнения) в том примере, на который ссылаетесь bk0010-fpga в DE1 я так понял, что некотрые программы не пошли и работа стала я собственно об этом и писал а не в том, чтобы сделать винтажное железо или же поставить стартер кит -------------------- это при любом подходе будет, но если делать софтверный эмулятор (а не плисовый) то вносить изменения проще, я как игрок на обоих струментах уверяю -------------------- почему АРМ - ну с точки зрения набора-конструктора - какая разница, что там стоит АРМ или ПЛИС? чип с ножками, если что - потрите шкуркой крышечку и никто вообще не догадается на всякий случай намекну, что под АРМом в этом случае подразумевается чип с процессором, ПЗУ, ОЗУ, какой-то периферией что-то типа http://www.nxp.com/products/microcontrolle...2917_19_01.html http://www.st.com/internet/mcu/product/252144.jsp то есть сравнивая с ПЛИС тут можно вообще сингл чип солюшин получить (а на плис типа спартана еще нужно откуда-то прошивку прогрузить, ПЗУ в ней нету) отличие от х86 эмуляторов - то что можно таких ARM-ов внутрь корпуса БК напихать несколько штук, а x86 в малогабаритном сингл-чип исполнении пока человечество не придумало (по крайней мере мне неизвестно) ну и цена ARM-а поменьше за штучку чем у ПЛИС опять же - + (имхо гиганский) проработтаность эмуляторов - наверняка сумеете найти исходные коды на С (или чем либо еще) и скомпилировать под АРМ огромный плюс этих кодов - они уже проверены и какие-то программы на них уже заработали (в отличие от ПЛИС реализации) ---------------- MSP430 не годится, имхо, у него проще система команд - ну то есть что-то типа 27 против ~60 у 1801 там с регистрами мухлеж - типа константы вместо 0 регистра (мипс/спарк идея) ну и производительность у него меньше, то есть сделать на нем вряд ли ============================= то есть я бы реализовывал идею так - 5в толерантная древняя CPLD, чисто для согласования напряжений и возможно для выправления времянки (про 1801 не скажу, но в те времена очень, очень любили многофазные тактовые генераторы) и более-менее современный АРМ в сингл чип исполнении это можно запаять на маленькой платке, залить эпоксидкой и получить реинкаронацию 1801 р2р совместимую, потом так же развлекаться и для остальных контроллеров оригинальные времена там очень скромные, то есть потребность в ПЛИС аргументировать надо очень сильно Еще ссылки: http://ramlamyammambam.livejournal.com/154059.html Сергей Вакуленко серьезный чел (кой какой код я брал у него и мне это помогло), ну и хобист программирования - напишите ему, может заинтересуете он же http://vak.ru/doku.php/proj UPD: опа на нашел у него линк на себя, приятно блин :)))) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
stells 12 23 декабря, 2011 Опубликовано 23 декабря, 2011 · Жалоба MSP430 не годится, имхо, у него проще система команд - ну то есть что-то типа 27 против ~60 у 1801 это Вы невнимательно смотрели, у него 27 основных команд и 24 эмулируемых. т.е. допустим NOPа нет, но можно же сделать копирование регистра самого в себя (MOV R3,R3) - чем не NOP? у него нет так же специфических команд типа RESET - так это сброс внешних устройств и переход на инициализацию, т.е. нужно дернуть ножкой и перейти на начало. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
yes 7 23 декабря, 2011 Опубликовано 23 декабря, 2011 · Жалоба это Вы невнимательно смотрели, у него 27 основных команд и 24 эмулируемых. т.е. допустим NOPа нет, но можно же сделать копирование регистра самого в себя (MOV R3,R3) - чем не NOP? у него нет так же специфических команд типа RESET - так это сброс внешних устройств и переход на инициализацию, т.е. нужно дернуть ножкой и перейти на начало. невнимательно и давно, но помню, что там регистры по другому и их больше (ну то есть нет CG), и с командами - умножения в БКшном 1801 вроде не было, но помоему там полностью ортогональны методы адресации, а в 430 есть матрица запретов то есть исполнять код непосредственно нельзя, соответственно нужно писать какую-то виртуальную машину - какие тогда плюсы при мендленном 430? вобщем я сомневаюсь upd: ну и писали вроде, что машинные коды у них разные - в 1801 вроде бы в октетах первые 2 цифры код, потом метод адресации и регистр первый операнд и второй, то есть можно читать коды как ассемблер, для MSP я что-то такого не помню Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться