Как стать автором
Обновить
115
0.1
Григорий Речистов @Atakua

Отправить сообщение

Обращая симулируемое время

Время на прочтение7 мин
Количество просмотров11K

Я уверен, что у многих из нас при отладке приложений периодически возникает желание отступить на шаг (или два, десять...) назад от текущей строки, чтобы увидеть причины происходящего в ней неправильного поведения. Чаще всего для этого приходится перезапускать отладку с начала и пытаться остановить исполнение программы чуть раньше, чем на предыдущей попытке. Затем надо пошагово приблизиться к предполагаемому месту с проблемой… упс, опять перешагнули! Начинаем всё по новой, ведь в дебаггере уже нельзя отступить назад даже на один шаг. Или можно?

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


Автор фото: Иван Андреев
Читать дальше →
Всего голосов 27: ↑25 и ↓2+23
Комментарии7

Симулируем чайник в Wind River Simics

Время на прочтение4 мин
Количество просмотров9.1K


Примечание переводчика: представляю вниманию почтенной публики статью Якоба Энгблома (Jakob Engblom), в которой он демонстрирует внесение «аналогового» устройства в общем-то дискретный симулятор. Сам я также использую и разрабатываю модели для Simics, но с несколько других позиций, из-за чего редко вижу конечные плоды всей деятельности. Поэтому мне было очень интересно узнать, чем занимаются мои коллеги из Wind River, а затем захотелось поделиться с вами. Тех, кому тема полноплатформенной симуляции или конкретно Simics показались интересными, рекомендую обратить внимание на свежайший выпуск Intel Technology Journal Simics Unleashed – Applications of Virtual Platforms. Я также могу рассказать о Simics более детально и на Хабре в последующих своих постах. Жду ваших комментариев!

Встраиваемая вычислительная система редко работает в изоляции. Тогда как персональные компьютеры и потребительская электроника обычно могут работать самостоятельно с относительно нечастным вмешательством человека, большинство встроенных компьютеров тесно взаимодействуют с окружающим их миром. Они «чувствуют» его, исполняют управляющие алгоритмы, считывают показания датчиков, используют всевозможные актуаторы для того, чтобы изменять внешнюю среду. Они — активные участники непрерывно эволюционирующей кибер-физической реальности. Симуляция таких систем не может быть ограничена моделью изолированного цифрового компьютера — приходится вносить в неё часть физического мира. На следующем видео на Youtube демонстрируется, как это можно осуществить с помощью Wind River Simics.
Видео с выкипающим чайником
Всего голосов 18: ↑16 и ↓2+14
Комментарии3

Программная симуляция микропроцессора. Коробка передач

Время на прочтение14 мин
Количество просмотров33K
В этой статье я хочу рассказать о том, как создатели симуляторов добиваются максимальной производительности моделей процессоров, при этом не жертвуя гибкостью и расширяемостью полного решения. Если кратко, то решение состоит в сосуществовании нескольких движков, наилучшие качества которых используются на различных этапах работы модели.
Содержимое данной заметки будет основываться на моём опыте разработки функциональных симуляторов, а также на публикациях и технических статьях, описывающих различные симуляторы и виртуальные машины: Wind River Simics, VMWare, Qemu, Bochs и другим. Слово «функциональный» в контексте данной статьи обозначает то, что точность моделей ограничена уровнем набора команд (instruction set architecture, ISA).
Читать дальше →
Всего голосов 48: ↑44 и ↓4+40
Комментарии8

Десять имён для одной архитектуры

Время на прочтение3 мин
Количество просмотров131K

На пятничном семинаре учебного проекта лаборатории МФТИ-Интел один из студентов задал мне примерно такой вопрос: а почему 64-битный вариант архитектуры процессоров Intel называется x64, а 32-битный — x86? Я начал объяснять, что не всё так просто. Захотелось нарисовать более полную картину. Ведь на самом деле это не x64, и даже не x86.
Читать дальше →
Всего голосов 112: ↑102 и ↓10+92
Комментарии51

Lenovo Thinkpad Tablet 2 и моя неудачная попытка установить Linux

Время на прочтение2 мин
Количество просмотров62K
Недавно я купил Lenovo Thinkpad Tablet 2. Тогда как первый Thinkpad-планшет от Lenovo был на основе архитектуры ARM, это устройство использует процессор Intel Atom Z2760. Поставляется он с предустановленной 32 битной Windows 8.


Официальное изображение с сайта Lenovo

Описывать детально характеристики здесь не буду. Кому интересно, могут их легко найти в сети. В целом устройство довольно достойное (обзор на Engadget и на Хабрахабр). Однако некоторые его параметры образовали необычное сочетание, которое привело к тому, что я не смог установить на него ни один из вариантов GNU/Linux. Подробности далее.

Читать дальше →
Всего голосов 65: ↑51 и ↓14+37
Комментарии35

Аппаратная виртуализация. Теория, реальность и поддержка в архитектурах процессоров

Время на прочтение23 мин
Количество просмотров76K
В данном посте я попытаюсь описать основания и особенности использования аппаратной поддержки виртуализации компьютеров. Начну с определения трёх необходимых условий виртуализации и формулировки теоретических оснований для их достижения. Затем перейду к описанию того, какое отражение теория находит в суровой реальности. В качестве иллюстраций будет кратко описано, как различные вендоры процессоров различных архитектур реализовали виртуализацию в своей продукции. В конце будет затронут вопрос рекурсивной виртуализации.
Читать дальше →
Всего голосов 46: ↑45 и ↓1+44
Комментарии6
2

Информация

В рейтинге
3 319-й
Зарегистрирован
Активность