Search
Write a publication
Pull to refresh
287
0.2
Владимир @32bit_me

Программист

Send message

Советские «Эльбрусы» — обзор архитектуры

Reading time28 min
Views22K
image

Про предмет статьи ходит много домыслов — от «русский Барроуз» до «не имеющий аналогов». Вызвано это в немалой степени отсутствием (доступной) полноценной документации, немногочисленным кругом лиц, имевших с ними дело да и немалым временем, прошедшим с тех пор. «Эльбрус» превратился в один из мифов ушедшей эпохи.

С другой стороны, вычислительный комплекс несомненно существовал и показывал отличные для своего времени результаты. Возможно, благодаря скудости элементной базы, которая принуждала разработчиков к выдумыванию разного рода архитектурных трюков. Многие из этих трюков сейчас выглядят архаично, а некоторые достаточно актуальны.

Так что автор из свойственной ему любознательности попытался разобраться с доступной документацией и составить более — менее цельную картину. Если читателю это интересно — добро пожаловать под кат.
Читать дальше →

Знакомим Qt с Raspberry Pi 3

Reading time3 min
Views43K
Возникла однажды необходимость писать программы под малинку, именно используя замечательный фреймворк QT, со всеми удобствами его креатора. Данная статья — есть попытка структурировать знания по сборке библиотек и настройке среды для удобных компиляции и дебага прямо на железе.

image
Читать дальше →

UP. Похожий на Pi2, только на Intel

Reading time3 min
Views20K
В октябре прошлого года на сайте kikstarter стартовала краудфаундинговая кампания по сбору средств на плату Up — компьютер с дизайном Raspberry Pi2 и процессором Intel Atom. Как мы знаем из новостей, «с толкача» заводятся не все проекты, даже из вызвавших интерес. Однако в данном случае все получилось как нельзя лучше: добросовестность разработчиков, продуманность проекта и финансовая поддержка пользователей — и вот уже всего через 5 месяцев первый образец был отправлен заказчику. В этом посте — характеристики UP board, бенчмарки, а также рассуждения о том, кому всё это надо.

Читать дальше →

Дональд Кнут: Как создавалось «Искусство программирования» (33,38,39/97)

Reading time8 min
Views25K
«Я должен был закончить книгу, прежде чем родится мой сын. Теперь ему 40 лет, и я до сих пор не закончил её.»



На третий год моего пребывания в университете меня попросили провести пару занятий о компьютерах. Группка людей сказала, что в Caltech (Калифорнийском технологическом институте) не учат ничему, что связанно с компьютерами.В это время я консультировал Burroughs. «Так почему бы тебе не провести пару занятий в университете?» — спросили меня. Так я провел занятие всего один раз, и прежде чем закончить университет, они решили нанять меня в качестве доцента, сразу после его окончания учебы.

Обычно в университет не берут на работу собственных выпускников, за исключением MIT. Но как вы знаете, считается нехорошо делать инбридинг (кровосмешение), потому что отделение может увязнуть в одной философии, а они хотят «свежей крови». Но Caltech счел меня достаточно странным и чуждым «по крови», и это было положительным доводом, чтобы нанять меня.

Как зародилась идея книги


River Raid на FPGA

Reading time4 min
Views15K
Еще не делали River Raid на FPGA? Ок, тогда я сделаю.


Совсем недавно FPGA для меня был черным ящиком, а Verilog казался вообще магией — ну как можно написать программу, по которой построится схема на логических элементах? Изучить это я планировал давно, но без реальной железки даже не хотел начинать.

[UPD]Программирование микроконтроллеров 1986ВЕ91Т в Qt Creator

Reading time4 min
Views20K
Хочу показать, как можно писать код и собирать hex-файлы для отечественных микроконтроллеров компании «Миландр» в удобной среде Qt Creator. Обычно для этих средств используются другие среды разработки, но с появлением системы QBS все несколько поменялось.
Читать дальше →

Кот-анекдот KiQ или как мы говорящую игрушку для взрослых сделали

Reading time6 min
Views14K
KiQ Toy

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

Умение управлять деньгами. Настало время покупать еврооблигации на Московской бирже

Reading time3 min
Views4.9K

2015 год ознаменовался активной регулятивной деятельностью Центробанка в отношении кредитных организаций: около 100 банков были лишены лицензии. 2016 год поддерживает эту тенденцию, и на данный момент «лишенцами» стали 75 банков.


В сложившейся ситуации финансово грамотное население начинает изучать альтернативные методы сохранения и приумножения собственного капитала.


Куда вкладывать деньги: в банк под надежную ставку или обратиться к новым возможностям, который предлагает финансовый рынок? Хорошей альтернативой или дополнением к сбережениям в банковских вкладах может стать инвестирование в облигации.


По итогам реализации программы развития финансового рынка РФ на 2016 – 2018 годы доля инструментов с фиксированной доходностью на российском рынке заимствований должна увеличиться с нынешних 15% до 20%.


image
Читать дальше →

Функциональная безопасность, Часть 3 из 7. МЭК 61508: Систематичная случайность или случайная систематичность?

Reading time7 min
Views15K

Безопасности на Хабре посвящен целый хаб, и, пожалуй, никто особенно не задумывается, что именно вкладывается в понятие «безопасность», и так все ясно: информационная безопасность (security). Однако, есть еще и другая сторона безопасности, safety, связанная с рисками для здоровья и жизни людей, а также окружающей среды. Поскольку информационные технологии сами по себе опасности не представляют, то обычно говорят о функциональной составляющей, то есть о безопасности, связанной с правильным функционированием компьютерной системы. Если информационная безопасность стала критична с появлением интернета, то функциональная безопасность рассматривалась и до появления цифрового управления, ведь аварии происходили всегда.

Данная статья продолжает серию публикаций на тему функциональной безопасности.

Описание достаточно непростой терминологической казуистики заняло целую статью, и теперь пора разобраться со структурой требований МЭК 61508.

Не рекомендуется к прочтению тем, кто не интересуется стандартизацией.
Читать дальше →

Запускаем Linux на FPGA: Hello, World

Reading time9 min
Views22K
UPD 21.09.16: BusyBox теперь успешно запускается.

image

Вдохновившись серией статей на сайте проекта Марсоход, в которых автор пытается запустить на FPGA-плате Марсоход 2 открытую систему на кристалле Amber SoC и Linux, я решил попробовать повторить этот опыт на своей плате Terasic DE2-115. Но, вместо древней как говно мамонта устаревшей версии Linux 2.4.27, я буду запускать последнюю версию Linux на данный момент — 4.8.0-rc5.
Читать дальше →

Оптимизация кода: процессор

Level of difficultyHard
Reading time18 min
Views117K
Все программы должны быть правильными, но некоторые программы должны быть быстрыми. Если программа обрабатывает видео-фреймы или сетевые пакеты в реальном времени, производительность является ключевым фактором. Недостаточно использовать эффективные алгоритмы и структуры данных. Нужно писать такой код, который компилятор легко оптимизирует и транслирует в быстрый исполняемый код.

image

В этой статье мы рассмотрим базовые техники оптимизации кода, которые могут увеличить производительность вашей программы во много раз. Мы также коснёмся устройства процессора. Понимание как работает процессор необходимо для написания эффективных программ.
Читать дальше →

Использование TCL в разработке на FPGA

Reading time11 min
Views40K
Всем привет! Давно не писал статьи на любимую тематику и наконец-то созрел на что-то более-менее приличное и стоящее. В этой статье речь пойдет об очень интересной задаче, с которой инженер-разработчик сталкивается чуть ли не каждый день. Предлагаю вам посмотреть, каким образом можно использовать всю мощь и простоту TCL скриптов для проектирования на FPGA. В данной статье описание базируется на ПЛИС фирмы Xilinx, но это не отменяет возможностей TCL скриптов для кристаллов ПЛИС других производителей.


Интересно? Поехали…
Читать дальше →

Вся правда о «нотификации»: как, что, зачем – и как с этим бороться

Reading time6 min
Views109K

В прошлой публикации наши читатели выразили живой интерес к теме покупок за границей разнообразной электроники, в том числе смартфонов и ноутбуков. Попробуем рассказать, что такое нотификация регистрации, чем грозит ее отсутствие, как покупать электронные устройства зарубежом, и что делать, если посылка остановилась на таможне.
Читать дальше →

Организация делителя частоты с дробным коэффициентом деления в объёме ПЛИС

Reading time10 min
Views32K
Статья посвящена актуальной задаче деления тактовых частот, стоящей перед разработчиками широкого спектра цифровых устройств на основе ПЛИС. Предложенные технические решения могут оказаться полезными при проектировании заказных и серийных СБИС. Рассмотрены два примера технической реализации делителей частоты с дробными коэффициентами деления 3:2 и 5:2. Оба варианта делителей описаны в виде поведенческих моделей на языке Verilog, что позволяет реализовать данные функциональные узлы в объёме ПЛИС различных архитектур и производителей.
Читать дальше →

Два в одном: USB хост и составное USB устройство

Reading time12 min
Views35K

image



Не так давно, была опубликована статья «Пастильда — открытый аппаратный менеджер паролей». Так как данный проект является открытым, то мы решили, что будет интересно, если мы будем писать небольшие заметки о процессе проектирования, о задачах, которые перед нами стоят и о трудностях, с которыми мы сталкиваемся.

Основная суть Пастильды заключается в том, что она является своеобразным переходником между клавиатурой и ПК. Таким образом, она должна уметь:
  • быть USB хостом для клавиатуры, которая к ней подключается,
  • быть клавиатурой для ПК, чтобы либо перенаправлять сообщения от реальной клавиатуры, либо самой быть клавиатурой,
  • быть дисковым накопителем, чтобы можно было редактировать базу данных паролей в удобном для человека виде.

Данный функционал является скелетом нашего проекта, поэтому первая заметка будет посвящена именно ему.
Читать дальше →

Искусственный интеллект на базе Arduino

Reading time9 min
Views55K


В настоящее время в Российском сегменте интернета недостаточно освещено современное состояние дел с применением искусственного интеллекта (ИИ) в робототехнике. Желание исправить эту ситуацию побудило опубликовать материал связанный с технологиями разработки интеллектуальных систем управления. В работе рассматривается историческое развитие средств искусственного интеллекта (нечеткая логика (НЛ), генетические алгоритмы (ГА), нечеткие нейронные сети (ННС)) для проектирования системы автоматического управления (САУ). Сравнение методологий проектирования проводится на примере робота, основанного на платформе Arduino.
Читать дальше →

STM32F103C8T6 — делаем осциллограф. Часть 3

Reading time4 min
Views64K
Третья часть (первая и вторая) про то как я делаю осциллограф из отладочной платы ценой менее $3. Демонстрационное видео работы:

А описание некоторых ключевых особенностей под катом.

Читать дальше →

RDS, как это работает? Опускаемся на самый нижний уровень модели OSI

Reading time6 min
Views122K
С системой RDS (Radio Data System) сталкивался хоть раз каждый, кто видел в автомагнитоле название станции вроде «Дорожное радио». Помимо названия, могут отображаться дополнительные данные — название воспроизводимой песни, температура, частота вещания и т.д.


Но как это работает? Т.к. моим хобби является радио и цифровая обработка сигналов, разобраться было интересно. Как оказалось, полной информации о RDS в рунете практически нет (да и в англоязычном тоже негусто), надеюсь, эта публикация восполнит этот пробел.

Продолжение под катом (осторожно много картинок).
Читать дальше →

Разжёвываем линейно-квадратичный регулятор для управления перевёрнутым маятником

Reading time8 min
Views35K

Преамбула


Продолжаю подробное описание использования линейно-квадратичного регулятора на примере управления перевёрнутым маятником. К слову сказать, термин «ЛКР» очень неточно отражает суть происходящего, как мне уже подсказали в комментариях, в русской школе теории управления этот подход называется «аналитическим конструированием оптимальных регуляторов», что существенно точнее.

Как обычно, я стараюсь разжевать математику по максимуму, чтобы материал был доступен заинтересованному школьнику. Я глубоко убеждён, что использование математики по-хорошему должно бы быть платным: любая формула должна быть использована только тогда, когда она призвана облегчить понимание, а не для того, чтобы выпендриваться.

Итак, это уже четвёртая статья, для лучшего понимания происходящего неплохо бы прочитать предыдущие три:


Вот фотография системы (кликабельно):


Читать дальше →

Information

Rating
5,129-th
Date of birth
Registered
Activity