Главная » Просмотр файлов » Ответы на экзаменационные билеты (2014)

Ответы на экзаменационные билеты (2014) (1124173), страница 4

Файл №1124173 Ответы на экзаменационные билеты (2014) (Ответы на экзаменационные билеты (2014)) 4 страницаОтветы на экзаменационные билеты (2014) (1124173) страница 42019-05-10СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 4)



3.5. Обобщённая архитектура системы имитационного моделирования. Краткое описание функций её компонентов

(лекция 4)

Краткое описание функций её компонентов









4. Важные классы средств имитационного моделирования, специфичные для ИС

4.1. Эмуляторы процессоров. Назначение. Классификация по точности.

(лекция 7)

Эмуля́ция (англ. emulation) в вычислительной технике — комплекс программных, аппаратных средств или их сочетание, предназначенное для копирования (или эмулирования) функций одной вычислительной системы (гостя) на другой, отличной от первой, вычислительной системе (хосте) таким образом, чтобы эмулированное поведение как можно ближе соответствовало поведению оригинальной системы (гостя). Целью является максимально точное воспроизведение поведения

Характеристики эмулятора:

  • Архитектуры host и target

    • Для одной целевой архитектуры

    • Для различных архитектур (retargetable)

  • Точность и детальность

    • Без учёта времени выполнения

    • С потактовой точностью времени (cycle clock accurate)

    • С потактовой точностью (cycle accurate)

  • Скорость работы

Интерпретирующий эмулятор:

while (!stop())

{

декодировать;

выполнить;

обновить_состояние;

выбрать следующую команду;

}

Эмуляторы с двоичной трансляцией:

Статическая трансляция

  • в C/C++, затем в машинный код для хоста;

  • Напрямую в команды хоста;

  • В команды абстрактной машины.

  • Ускорение – до сотен раз

Динамическая двоичная трансляция:

  • Во время выполнения программы

  • Кэш для результатов трансляции

  • Единица трансляции – как правило, линейный участок (участок программы, в рамках которого не передается управление)

  • Вопросы оптимизации, в т.ч. отображение виртуальных регистров на регистрыхост-машины

  • (рекорд?) 1,6 раз медленнее исполнения на натурной цели [2]

Там еще дофига всего, непонятно куда надо говорить…



Примеры:

  1. bochs (http://bochs.sourceforge.net/) - x86 эмулятор.

  2. QEMU (http://xgu.ru/wiki/QEMU, http://www.ibm.com/developerworks/ru/library/l-qemu/)



Интерпретатор — простейшая форма эмуляции CPU. Это — программа, которая следует за потоком выполнения программы и для каждой встречающейся машинной инструкции выполняет операции, семантически эквивалентные оригинальным инструкциям, на процессоре хоста. Это возможно назначением переменных для каждого регистра и флага эмулируемого CPU. Логика работы эмулированного CPU может быть с большей или меньшей сложностью реализована в алгоритме программы, создавая программную реализацию, которая в большей или меньшей степени отражает оригинальное оборудование.

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

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

Преодолеть эти ограничения помог прогресс в технике динамической компиляции. Простая трансляция эмулированного программного кода в код, выполнимый на архитектуре хоста, невозможна априори по нескольким причинам:

  • код может являться самомодифицирующимся, даже если модификация происходит только во время загрузки кода эмулированной операционной системой (например, с диска);

  • может не существовать надежного способа разделения данных (не транслируются) и исполняемого кода.

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





4.2. Способы быстрой эмуляции процессоров.

(видимо тоже лекция 7, но что именно??)

Полностью программные средства

bochs (http://bochs.sourceforge.net) - можно эмуляровать x86 процессор на любых хостах (под который можно собрать bochs). Можно было запускать винду (win95, win98) на древних КПК (на раньше работали на XScale или mips процессорах). Производительность низкая, но win31 пользоваться было можно (что реально хороших результат, т.к процессор эмулируется полностью программно)



QEMU - быстрая эмуляция процессоров на современном железе. Динамичекая трансляция адресов и использованое аппаратных возможностей CPU. Для виртуализации устройств может использовать VT-d (виртуализация ввода-вывода), VT-x (виртуализация страниц).



VMWare - эмуляция некоторого функционала процессора (счетчики инструкций, ). Эмуляция устройств. Скорость работы за счет аппаратной виртуализации не отличается от скорость работы на хост машине.



IBM System/Z (http://www-03.ibm.com/systems/ru/z/hardware/). Может эмулировать старые процессоры IBM для работы старых программ. Быстро за счет аппаратной эмуляции. Низкая распространенность (самая дешевая конфигурация от 1миллиона USD). Используется во всяких фирмах, где простой может очень дорого обойтись (биржи, банки, управление ответственными системами и тд).



JIT компиляция

Java - создается некоторый байткод, который выполняется виртуальной машиной Java. Для каждого хоста используется своя виртуальная машина, использующая возможности конкретного процессора. Есть java для встраиваемых решений - смарткарты (банковские), Maxim integrated (http://www.maximintegrated.com/en/products/ibutton/jibkit/javaringfaq.cfm). Формфактор - ключ-таблетка (как от домофонов), при этом можно писать программу на java и она будет выполняться на этом устройстве.



Python - аналогично. Генерируется байткод для выполнения на хост машине.



LLVM - low level virtual machine. Компилятор (например, CLang) генерирует набор llvm инструкций, которые можно преобразовать в команды целевой машины. При динамической эмуляции можно во время выполнения осуществлять декомпиляцию конкретной архитектуры (брать из кэша уже дизассемблированного кода), генерировать по ним LLVM и генерировать инструкции хост машины. В данном случае будет происходить эмуляция почти без потери скорости работы (но нужно отдельно отслеживать самомодифицирующийся код, т.к из-за него может все сломаться).



4.3. Основные виды сверхбольших интегральных схем (СБИС). Уровни моделирования и проектирования аппаратных средств ИС.

(лекция 8)

Основные виды БИС:

  • Для заданной области применения (ASIC)

    • Широкого применения (Application specific standard products, ASSP) (микропроцессоры, модули памяти, контроллеры интерфейсов, видеодекодеры …) – крупные производители, большие тиражи, сторонние потребители;

    • Заказные (фильтры, коммутаторы …) – меньшие тиражи, возможность изготовить «для себя»

ASIC (аббревиатура от англ. application-specific integrated circuit, «интегральная схема специального назначения») — интегральная схема, специализированная для решения конкретной задачи. В отличие от интегральных схем общего назначения, специализированные интегральные схемы применяются в конкретном устройстве и выполняют строго ограниченные функции, характерные только для данного устройства; вследствие этого выполнение функций происходит быстрее и, в конечном счёте, дешевле. Примером ASIC может являться микросхема, разработанная исключительно для управления мобильным телефоном, микросхемы аппаратного кодирования/декодирования аудио- и видео-сигналов (сигнальные процессоры).

Микросхема ASIC имеет узкий круг применения, обусловленный жёстко предопределённым набором её функций.

Современные ASIC часто содержат 32-битный процессор, блоки памяти (как ПЗУ, так и ОЗУ) и другие крупные блоки. Такие ASIC часто называют система на кристалле (англ. System-on-a-Chip).

При разработке цифровых ASIC для описания их функциональности используют языки описания аппаратных устройств (HDL), такие как Verilog и VHDL.

  • Вентильные матрицы (полузаказные)

    • часть слоёв металлизации делается по заказу

  • Программируемые логические матрицы (FPGA)

    • Набор базовых ячеек

    • Переключатели связей между ячейками

    • Загрузка конфигурации по специальному интерфейсу

Программи́руемая по́льзователем ве́нтильная ма́трица (ППВМ, англ. Field-Programmable Gate Array, FPGA) — полупроводниковое устройство, которое может быть сконфигурировано производителем или разработчиком после изготовления; отсюда название: «программируемая пользователем». ППВМ программируются путём изменения логики работы принципиальной схемы, например, с помощью исходного кода на языке проектирования (типа VHDL), на котором можно описать эту логику работы микросхемы. ППВМ является одной из архитектурных разновидностей программируемых логических интегральных схем (ПЛИС).

ППВМ могут быть модифицированы практически в любой момент в процессе их использования. Они состоят из конфигурируемых логических блоков, подобных переключателям с множеством входов и одним выходом (логические вентили или gates). В цифровых схемах такие переключатели реализуют базовые двоичные операции AND, NAND, OR, NOR и XOR. В большинстве современных микропроцессоров функции логических блоков фиксированы и не могут модифицироваться. Принципиальное отличие ППВМ состоит в том, что и функции блоков, и конфигурация соединений между ними могут меняться с помощью специальных сигналов, посылаемых схеме. В некоторых специализированных интегральных схемах (ASIC) используются логические матрицы, аналогичные ППВМ по структуре, однако они конфигурируются один раз в процессе производства, в то время как ППВМ могут постоянно перепрограммироваться и менять топологию соединений в процессе использования. Однако, такая гибкость требует существенного увеличения количества транзисторов микросхемы.

CPLD (англ. Complex Programmable Logic Device) — программируемая логическая интегральная схема (ПЛИС) в диапазоне сложности между микросхемами PAL (англ.) (Programmable Array Logic) и FPGA (англ. Field-Programmable Gate Array), сочетающая их архитектурные решения. Основой CPLD является матрица макроячеек, в которой реализованы логические соединения вентилей или более сложные логические операции. Блоки макроячеек объединены программируемой коммутационной матрицей с последующим выходом на входы (выходы) схемы. Главным отличием между большими CPLD и малыми FPGA до недавних пор было наличие внутренней энергонезависимой конфигурационной памяти в CPLD. Это отличие становится уже не столь значимым, поскольку ряд последних моделей FPGA также включают такую внутреннюю память. Тем не менее, наличие такой внутренней энергонезависимой конфигурационной памяти, наряду с такой важной характеристой, как устойчивость показателей, делают CPLD незаменимыми для современных цифровых схем в качестве устройства для инициализации схемы, перед тем, как передать управление другим микросхемам, не обладающим такой способностью.

Характеристики

Список файлов ответов (шпаргалок)

Свежие статьи
Популярно сейчас
А знаете ли Вы, что из года в год задания практически не меняются? Математика, преподаваемая в учебных заведениях, никак не менялась минимум 30 лет. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6447
Авторов
на СтудИзбе
306
Средний доход
с одного платного файла
Обучение Подробнее