Перейти к содержанию
    

alman

Участник
  • Постов

    45
  • Зарегистрирован

  • Посещение

Репутация

0 Обычный

Информация о alman

  • Звание
    Участник
    Участник
  • День рождения 19.01.1973

Контакты

  • Сайт
    Array

Информация

  • Город
    Array
  1. Здравствуйте, уважаемые коллеги! У меня есть некоторые обновления - http://everest.l4os.ru/what_about_pipeline/ И да, если ничто не помешает, вскоре появится ещё одна подобная статья, в которой описан потактовый разбор более сложного кода.
  2. Конкуренция растёт. :) А я предлагаю 32-разрядный микропроцессор. Точнее, архитектуру. Вот, намедни сделал карту системы команд. Разумеется, по простоте и компактности он не может конкурировать с 8-ми битными микроконтроллерами, но у него есть другие преимущества - отличная расширяемость и высокая плотность кода. Желтым помечены неназначенные коды операций. Когда (и если) заработает встроенная многозадачность, то проект будет достоин отдельной темы в этом подфоруме. А вот так может выглядеть программа на ассемблере для этого процессора Знаю проекты, которые продвинулись значительно дальше моего, но с точки зрения возможностей архитектуры я готов пободаться.:)
  3. Вот такое сообщение при старте: "Your maintenance subscription for the Quartus II software expires in 10 days..." Выбор кнопки "Renew software" открывает следующую страницу: http://www.altera.com/buy/software/buy-software.html Вопрос - что меня ожидает через 10 дней? Он реально перестанет работать? Или это тонкий намёк на необходимость купить платную поддержку. Смысл в том, что как продлить WEB Edition - я не нашёл. Помогите, пожалуйста.
  4. Это должно получиться в результате, но пока ещё работа далека от завершения. В текущем состоянии устройство представляет из себя маленький и довольно простой 32-битный микропроцессор. Единственное, что может оттолкнуть от его использования - отсутствие прерываний. При желании прерывания можно реализовать сверху, обернув ядро, но в конечном устройстве прерывания будут замещены сообщениями, поэтому не вижу особого смысла разрабатывать то, от чего потом придётся откзаться. Посмотрите вот это (кликабельно): Задачи для души, по моему скромному мнению, это самый лучший стимул для разработки. Я использовал мегафункцию ROM для размещения интерактивного монитора и загрузчика по протоколу X-modem непосредственно в ПЛИС. В принципе, в микрокод можно поместить довольно сложные программы. Ой... Вы имеете в виду как загрузить из EPCS пользовательскую программу в процессор и что NiosII умеет это делать. Да, я тоже хотел бы это знать, как можно "программно" прочитать регион памяти из EPCS, в которой зашита прошивка устройства. Некоторая информация есть вот здесь .
  5. Вы будете смеяться, но вся вера построена на одном допущении. Предистория такова - в 2003 году был перенсён код самописной файловой системы из консольного тестового проекта MS Visual Studio в задачу, исполняющуюся поверх микроядра L4Ka::Pistachio на архитектуре ia32. С учётом того, что микроядро L4 синхронное, файловая система заблокировала всю систему в момент чтения со stdin (проще говоря - система заблокировалась в ожидании нажатия клавиши на клавиатуре). Самое смешное, что все писатели операционных систем, использующих синхронные микроядра, сталкиваются с этой проблемой и решают её по своему. В результате, почти случайно, было найдено оригинальное решение развязывания синхронных вызовов в асинхронные, которое давало минимальный оверхед по ресурсам. Собственно, многолетняя убеждённость в том, что решение удачное, уникальное и никому пока ещё не пришло в голову - вот эта убеждённость и придаёт силы. Когда работа ведётся много лет на энтузиазме и вере, когда в работу вкладываюся собственные средства, когда нет кредиторов и хозяев, диктующих что и как делать, то обанкротится сложно. Сильно рисковать желания нет, пусть со стороны это выглядит как риск, а изнутри это смотрится как целенаправленная многолетняя работа. Кстати, собственно почему пришла идея сделать свой микропроцессор? Такие мысли были давно, но желание превратилось в намерение после переноса операционной системы "Хамелеон" с x86-32 на x86-64. В какой-то момент перенести удалось, но само микроядро L4-Pistachio работает нестабильно на 64-битах. Это очень нехорошее чувство, когда то, на что опирается ваш код, работает нестабильно, а трудозатраты на исправление чужого кода сопоставимы с трудозатратами при разработке с нуля. В общем, тут сам Бог велел забыть о "чужих" проблемах и недоработках, а сделать то, что нужно самому. Не то, чтобы в Калифорнии никто не делал аппаратных планировщиков - такие исследования проводились разными командами, но вот чтобы кто-то реализовал аппаратно синхронное микроядро (microkernel) - такого ещё не сделал никто. Во всяком случае не сделал нечто, опирающееся на идеи из вот этой спецификации - http://www.l4ka.org/l4ka/l4-x2-r7.pdf Простите за многословность. Я теряю самообладаение когда речь идёт об микроядре L4.
  6. Если согласны не передавать исходный код ядра третьим лицам, то могу передать архив с проектом, например, расшарив его через Google диск. Формат QAR, помещённый в запароленный ZIP будет удобен? Пароль сообщу личным сообщением. Прошу понять меня правильно - сам по себе процессор ценности почти не имеет - он создан для реализации аппаратного microkernel совместимого с L4. Таким образом "просто процессор" готов раздать всем желающим, на условиях нераспространения его исходного кода. А вот что касается микроядра, то его пока нет и если оно будет реализовано, то будет коммерческим. p.s. Откровенно, Ваш вопрос выбил меня из колеи. Уже как-то привык, что никакого отклика, а как получил первый вопрос, то лишился дара речи. p.p.s. Прошивку для платы Марсоход2 можно скачать здесь - форум "Марсохода".
  7. В соседней теме кипят нешуточные страсти и люди (язык не поворачивается сказать "народ") активно делятся идеями и наработками. Между тем, кто-то продолжает "тянуть лямку" и не жалея сил продолжает готовить процессор для встраивания в него аппаратного микроядра планировщика. Сегодня расскажу ещё об одном устройстве, выполнящиюм функции арбитра шины. Сейчас оно выглядит как-то вот так: Как видно из картинки, устройство почти полностью симметрично показанному выше ядру, за исключением добавленных ног - serial_rx, serial_tx. Внутри этого устройства находится UART, ПЗУ с микрокодом и два региона ОЗУ. ПЗУ и ОЗУ сгенерированы с помощью мегафункций Altera. Один блок ОЗУ зарезервирован для регистров собщений, второй блок ОЗУ - кэш инструкций. Но это в будущем, а в настоящий момент эти два региона ОЗУ задействованы для тестирования отладки. Выглядит это так. После старта в подключенном терминале появляется следующее меню: ┌────────────────────────> Welcome to Everest core <───────────────────────────┐ │ 1 - Load binary file via X-modem protocol │ │ 2 - Run previously loaded binary file │ │ 3 - Show RAM (0x100000-0x100140) │ │ 4 - Test of message registers │ │ 5 - Show previously loaded ANSI picture │ │ 6 - Show built-in ANSI pic #1 │ │ 7 - Show built-in ANSI pic #2 │ └──────────────────────────────────────────────────────────────────────────────┘ А дальше всё тривиально - после нажатия клавиши 1, устройство ожидает принятия файла по протоколу X-modem Нажатие клавиши 2 в терминале запустит загруженный файл. И т.д. Устройство постепенно обрастает библиотечными функциями. Последние из реализованных - _mul - умножение двух целых числел, _div - деление целых числел, _print_dec - вывод числа в десятичной форме в терминал.
  8. Я не согласен с тем, что процессоры в ПЛИС делаются только под конкретную задачу. Процессоры делают все, кому не лень и никто не может запретить кому-то сделать универсальный процессор. Вопрос, будут ли им пользоваться - это уже другой вопрос. ARM - это в некотором роде фетиш. Ярые сторонники Intel его до сих пор за процессор не считают. Таки что будем сравнивать? Поскольку пока никто не предложил задачу, то в качестве одной из задач предлагаю сравнить реализацию протокола X-modem. Конкретно - ресивер, использующий протокол X-modem. B)
  9. Смысл соревнования? Хотя бы в том, что победитель(победители) имеет шанс - его разработкой могут заинтересоваться сторонние разработчики. Это нормально. Когда "велосипедов" много, начинается конкуренция и естественный отбор. Как в природе. С этим не спорю. Ну вот, к примеру, SoC для платы Марсоход2 - автор даже портировал компилятор Си на свой процессор. Он и на electronix.ru в соответствующей теме рекламировал свою разработку - а в ответ получил ти-ши-ну. А это реально бесит - игнор хуже критики. Если кто-то собирается делать свой процессор, предварительно не потратив хотя бы месяц на изучение проектов с opencores.org, то почти наверняка его ждёт неудача. Кстати, адептов устройств с opencores.org тоже надо пригласить поучаствовать в соревновании.
  10. Не претендую на шибко "умного человека", но Вы можете увидеть мой ответ в теме "Свои процессоры". А... так вот в чём дело. Что ж, давайте устроим соревнования. А именно - соберёмся все вместе, придумаем несколько задач и пусть каждый решит задачу на своём устройстве. И сравним результаты по разным параметрам - быстродействию, компактности ядра, эффективности кода. Можно даже кинуть клич на нескольких форумах - может быть народ подтянется поучаствовать.
  11. Такое живое обсуждение процессоров в этой теме :) Между тем, процессор "Everest" научился читать из последовательного порта. И кое-чему ещё, о чём можно узнать перейдя по ссылке. Для этого достаточно кликнуть на картинку.
  12. Вы вот смеётесь, но у меня была аналогичная проблема. С паяльником очень сложные отношения, поэтому решение в виде использования ноги отпало сразу. Проблему решил через мультиплексирование последовательного порта - по некоторым событиям переключаю его между модулями. К теме вопроса это отношения не имеет, просто хочу обрабтить внимание, что существуют люди, которым брать паяльник в руки противопоказано.
  13. Разреште поделиться небольшим успехом - процессор научился программно писать в последовательный порт. Подробности по клику:
  14. Жаль, не могу причислить себя к знающим, но мне довольно легко удалось стартануть с платы Марсоход2 - http://marsohod.org/ Можно заказать устройство почтой, но за скорость и качество доставки ничего сказать не могу - ездил за платой сам. Устройство весьма увлекательное и хорошо подходит для изучения основ HDL.
  15. Хотя бы сто тысяч пикселей. К примеру, двенадцатый Квартус умеет экспортировать нетлисты в широкую картинку. А вот тринадатый, похоже, разбивает на листы. Веб браузером.
×
×
  • Создать...