Способ эмуляции компьютерных систем с гетерогенной памятью и устройство для реализации способа - RU2441272C2

Код документа: RU2441272C2

Чертежи

Описание

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

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

Из уровня техники известны различные подходы к созданию эмуляторов. Типичная схема современного эмулятора для системы с однородной памятью описана, например, в патенте США №7120760 [1]. Эта схема показана на Фиг.1. Эмулятор системы с однородной памятью содержит центральный процессор (ЦП) 1, соединенный с КЭШем 2 инструкций центрального процессора 1 и КЭШем 3 данных центрального процессора 1, которые соединены с блоком 4 управления памятью и блоком 5 динамического ОЗУ (DRAM - Dynamic Random Access Memory), который соединен с КЭШем 2 инструкций центрального процессора и КЭШем 3 данных центрального процессора. Эмулятор компьютерной системы с однородной памятью обеспечивает доступ к коду инструкций следующим образом. Подают на вход эмулятора программу. Запускают эмулятор и анализируют адресное пространство блока 5 динамического ОЗУ и выделяют в нем одну часть. Загружают одну часть адресного пространства в блок 5 динамического ОЗУ.

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

Известен высокоскоростной компьютерный эмулятор, действующий в реальном времени (см. патент Великобритании №2002553) [2], в котором используют дополнительное аппаратное устройство для основной платформы для ускорения преобразования инструкций из формата гостевого оборудования в формат, совместимый с основным цифровым процессором, с целью предоставления основному компьютеру возможности обработки данных (выполнения программ), имеющих формат компьютера назначения, и выполнения инструкций в реальном времени без потери времени обработки.

Наиболее близкой к заявленному изобретению является система эмуляции памяти, описанная в патенте Японии №6161807 [3]. Эта система позволяет уменьшить время доступа к эмулируемой памяти путем создания установочного контура для задания комбинации выходных данных от буфера инвертора к логическому контуру в соответствии с информацией, обеспечиваемой преобразующим контуром. Данная система выбрана в качестве прототипа заявленного изобретения.

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

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

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

- запускают эмулятор и анализируют адресное пространство гетерогенной физической памяти и разделяют его на n+1 последовательных частей;

- загружают одну часть адресного пространства в блок динамического ОЗУ;

- загружают n последовательных частей последовательно в блоки энергонезависимого ОЗУ, при этом сохраняют содержимое каждой части блоков энергонезависимого ОЗУ в файлы состояния ОЗУ;

- загружают при следующем запуске эмулятора содержимое каждой части блоков энергонезависимого ОЗУ из файлов состояния ОЗУ.

Поставленная задача решена также путем создания реализующего вышеописанный способ эмулятора, содержащего центральный процессор и блок управления памятью, соединенные с КЭШем инструкций центрального процессора и КЭШем данных центрального процессора, которые соединены с блоком динамического ОЗУ, отличающегося тем, что эмулятор дополнительно содержит, по меньшей мере, один блок энергонезависимого ОЗУ, который соединен с блоком динамического ОЗУ через блок синхронизации, с блоком управления сохранением и восстановлением состояния энергонезависимого ОЗУ, с КЭШем инструкций центрального процессора и с КЭШем данных центрального процессора, а также счетчик тактов, соединенный с центральным процессором и блоком управления памятью, при этом блок синхронизации выполнен с возможностью синхронизации областей памяти между блоками динамического ОЗУ и энергонезависимого ОЗУ, блок управления сохранением и восстановлением состояния выполнен с возможностью синхронизации данных в блоках энергонезависимого ОЗУ и соответствующих им файлах состояния ОЗУ, а счетчик тактов выполнен с возможностью оценки производительности блоков ОЗУ различного типа и учета тактов, потраченных на исполнение инструкций процессора, и тактов, потраченных на ожидание данных из блоков ОЗУ различного типа.

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

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

Для лучшего понимания заявленного изобретения далее приводится его подробное описание с соответствующими чертежами.

Фиг.1. Схема эмулятора для системы с однородной памятью, известного из уровня техники.

Фиг.2. Схема эмулятора с гетерогенной памятью, выполненного согласно изобретению.

Схема варианта выполнения заявленного эмулятора с гетерогенной памятью показана на Фиг.2. Она отличается от схемы аналога, представленной на Фиг.1, тем, что помимо блока 5 динамического ОЗУ (в данном случае, DRAM - Dynamic Random Access Memory) дополнительно содержит несколько блоков 6 энергонезависимого ОЗУ (в данном случае, NVRAM - Non-volatile Random Access Memory) с различным временем операций записи, блок 7 синхронизации энергонезависимого и динамического ОЗУ, блок 8 управления сохранением и восстановлением состояния (СВС) энергонезависимого ОЗУ и счетчик 9 тактов процессора. Блоки 6 энергонезависимого ОЗУ используют для эмуляция неоднородности оперативной памяти эмулируемой вычислительной системы. Блоки 6 энергонезависимого ОЗУ взаимодействуют с блоком 8 управления сохранением и восстановлением состояния (СВС), выполненным с возможностью синхронизации данных в блоках 6 энергонезависимого ОЗУ и соответствующих им файлах состояния ОЗУ. Кроме того, блок управления СВС выполнен с возможностью загрузки данных в блоки 6 энергонезависимого ОЗУ из файлов состояния ОЗУ при следующем запуске эмулятора. В заявленном эмуляторе также реализована возможность синхронизации областей памяти между динамическим ОЗУ 5 и энергонезависимым ОЗУ 6 посредством блока 7 синхронизации. Для оценки производительности различных типов памяти используют счетчик 9 тактов, который учитывает как такты, потраченные на исполнение инструкций процессора, так и такты, потраченные на ожидание данных из различных типов ОЗУ, имеющих различное время доступа.

Рассмотрим заявленный способ эмуляции компьютерных систем с гетеродинной памятью, представленный на Фиг.2. Сначала подают на вход эмулятора программу в двоичном представлении. Затем посредством центрального процессора 1 и блока 4 управления памятью с использованием блока 7 синхронизации, блока 8 управления сохранением и восстановлением состояния (СВС), счетчика 9 тактов, инструкций КЭШа 2, инструкций центрального процессора и данных КЭШа 3, данных центрального процессора выполняют следующие операции. Запускают эмулятор и анализируют адресное пространство гетерогенной физической памяти (блоков 6 энергонезависимого ОЗУ и блока 5 динамического ОЗУ) и разделяют его на n+1 последовательных частей. Загружают одну часть адресного пространства в блок 5 динамического ОЗУ. Загружают n последовательных частей последовательно в блоки 6 энергонезависимого ОЗУ, при этом сохраняют содержимое каждой части блоков 6 энергонезависимого ОЗУ в состояния ОЗУ. Загружают при следующем запуске эмулятора содержимое каждой части блоков 6 энергонезависимого ОЗУ из состояния ОЗУ.

Таким образом, заявленный эмулятор может моделировать аппаратные системы с гетерогенной памятью.

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

где Т boot - это время загрузки системы, Т dram - время записи в динамическое ОЗУ, Т pram - время записи в энергонезависимое ОЗУ.

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

Реферат

Изобретение относится к области обработки цифровых данных с помощью электронных устройств, а именно к способам эмуляции компьютерных систем с гетерогенной памятью. Техническим результатом является контроль эффективности использования памяти. Способ содержит: запуск эмулятора и анализ адресного пространства гетерогенной физической памяти и разделение его на n+1 последовательных частей; загрузку одной части адресного пространства в блок динамического ОЗУ; загрузку n последовательных частей последовательно в блоки энергонезависимого ОЗУ, при этом сохраняют содержимое каждой части блоков энергонезависимого ОЗУ в файлы состояния ОЗУ; загрузку при следующем запуске эмулятора содержимого каждой части блоков энергонезависимого ОЗУ из файлов состояния ОЗУ. 2 н. и 1 з.п.ф-лы, 2 ил.

Формула

1. Способ эмуляции компьютерных систем с гетерогенной памятью, отличающийся тем, что на вход эмулятора, содержащего блоки динамического ОЗУ и энергонезависимого ОЗУ, подают программу в двоичном представлении и выполняют следующие операции:
- запускают эмулятор и анализируют адресное пространство гетерогенной физической памяти и разделяют его на n+1 последовательных частей;
- загружают одну часть адресного пространства в блок динамического ОЗУ;
- загружают n последовательных частей последовательно в блоки энергонезависимого ОЗУ, при этом сохраняют содержимое каждой части блоков энергонезависимого ОЗУ в файлы состояния ОЗУ;
- загружают при следующем запуске эмулятора содержимое каждой части блоков энергонезависимого ОЗУ из файлов состояния ОЗУ.
2. Эмулятор компьютерных систем с гетерогенной памятью, содержащий центральный процессор и блок управления памятью, соединенные с КЭШем инструкций центрального процессора и КЭШем данных центрального процессора, которые соединены с блоком динамического ОЗУ, отличающийся тем, что дополнительно содержит, по меньшей мере, один блок энергонезависимого ОЗУ, который соединен с блоком динамического ОЗУ через блок синхронизации, с блоком управления сохранением и восстановлением состояния энергонезависимого ОЗУ, с КЭШем инструкций центрального процессора и с КЭШем данных центрального процессора, а также счетчик тактов, соединенный с центральным процессором и блоком управления памятью, при этом блок синхронизации выполнен с возможностью синхронизации областей памяти между блоками динамического ОЗУ и энергонезависимого ОЗУ, блок управления сохранением и восстановлением состояния выполнен с возможностью синхронизации данных в блоках энергонезависимого ОЗУ и соответствующих им файлах состояния ОЗУ, а счетчик тактов выполнен с возможностью оценки производительности блоков ОЗУ различного типа и учета тактов, потраченных на исполнение инструкций процессора, и тактов, потраченных на ожидание данных из блоков ОЗУ различного типа.
3. Эмулятор по п.1, отличающийся тем, что каждый из блоков энергонезависимого ОЗУ имеет различные времена доступа.

Авторы

Патентообладатели

Заявители

СПК: G06F12/0638 G06F12/0646

Публикация: 2012-01-27

Дата подачи заявки: 2010-03-15

0
0
0
0
Невозможно загрузить содержимое всплывающей подсказки.
Поиск по товарам