WWW.DISSERS.RU

БЕСПЛАТНАЯ ЭЛЕКТРОННАЯ БИБЛИОТЕКА

загрузка...
   Добро пожаловать!

Pages:     || 2 | 3 |

Дальневосточный государственный технический университет

На правах рукописи

Белкин Виктор Викторович

ПОСТРОЕНИЕ ФУНКЦИОНАЛЬНЫХ ДИАГНОСТИЧЕСКИХ

ТЕСТОВ КОНВЕЙЕРИЗОВАННЫХ RISC ПРОЦЕССОРОВ

Специальность 05.13.15 – Вычислительные машины и системы

АВТОРЕФЕРАТ

диссертации на соискание ученой степени

кандидата технических наук

Владивосток

2008

ОБЩАЯ ХАРАКТЕРИСТИКА РАБОТЫ

Актуальность темы. Публикация первых работ (S. Thatte, J. Abraham, C. Robach, G. Saucier), в которых представлен функциональный, основанный на выполнении тестовых программ подход к тестовому диагностированию процессоров, относится к началу 80-х годов 20-го века. В 90-е годы развитие этого подхода привело к разработке методик (С. Шаршунов, J. Lee, J. Patel и др.), основанных на функциональных моделях и использующих особенности архитектуры процессоров, а так же к появлению автоматизированных методик разработки тестов (J. Shen, J. Abraham, K. Batcher, C. Papachristou), в которых наряду с использованием функциональных моделей применяется рандомизация. В последние годы разработаны автоматизированные методики (V. Vedula, J. Abraham, F. Corno, M. Sonza Reorda, L. Chen, S. Dey и др.), характеризующиеся отказом от функциональных моделей и использующие точные регистровые и вентильные модели.

Универсальные процессоры широко применяются в современной электронной аппаратуре. Процессорные модули обычно интегрированы в состав систем на кристалле (СНК). Как правило, архитектуры современных универсальных процессоров наследуют архитектуру RISC (Reduced Instruction Set Computer) и конвейеризованы.

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

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

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

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

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

Основные задачи работы:

    • анализ существующих методик функционального диагностирования;
    • разработка математических моделей и процедур функционального диагностирования конвейеризованных RISC процессоров;
    • разработка процесса генерирования диагностических тестов;
    • оценка качества разработанных тестов как покрытия одиночных константных неисправностей (ОКН) вентильных моделей процессоров средствами имитационного моделирования;

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

Научная новизна заключается в следующих результатах работы:

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

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



Результаты работы внедрены в ГОУ ВПО «Дальневосточный государственный технический университет».

Основные положения, выносимые на защиту:

    • Методика функциональной декомпозиции процессоров с параллелизмом уровня системы команд для их тестового диагностирования;
    • Функциональные модели и процедуры генерирования тестов механизмов хранения и передачи данных конвейеризованных RISC процессоров;
    • Принцип взаимодействия программ-имитаторов; схема испытательного стенда для определения качества функциональных диагностических тестов;
    • Результаты оценки качества разработанных функциональных тестов;

Достоверность научных положений подтверждена теоретическим обоснованием разработанных моделей и методов и данными экспериментов.

Апробация результатов работы. Основные положения и результаты работы представлялись и обсуждались на конференции ДВГТУ (г. Владивосток, 2004 г.), на российской конференции МСИТ (г. Томск, 2005 г.), на международных семинарах – EWDTW, DDECS (г. Алушта, 2004 г., г. Одесса, 2005 г., г. Прага, 2006 г., г. Сочи, 2006 г.), и симпозиуме – EWDTS (г. Ереван, 2007 г.).

Публикации по теме диссертации. Основные результаты и положения диссертации изложены в 2 статьях в научных изданиях, в том числе в 1 статье в журнале из списка, рекомендованного ВАК, в 6 сборниках трудов конференций, в 1 тезисах конференции. Всего опубликовано 9 печатных работ.

Структура и объем работы. Основное содержание диссертации изложено на 104 страницах, состоит из введения, пяти глав и заключения и включает 25 рисунков и 9 таблиц. 11 приложений на 24 страницах включают 3 рисунка и 13 таблиц. Список литературы включает 44 наименования.

СОДЕРЖАНИЕ РАБОТЫ

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

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

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

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

В работах по программному диагностированию процессоров можно выделить два основных подхода к разработке тестов. Первый основан на использовании функциональных моделей (S. Thatte, J. Abraham и др.). Процессор рассматривается как система функций (передача, хранение, обработка данных и управление), связанная с архитектурой системы команд. Тесты разрабатываются для каждой функции отдельно, в соответствии с ее математической моделью. Тест процессора включает тесты всех его функций. Этот подход позволяет разработать компактные тесты и не требует знания вентильной схемы. К его недостаткам относят значительные затраты усилий человека на разработку тестов и то, что при неизвестном алгоритме работы функции, тест для нее разработать нельзя. В основе второго подхода (K. Batcher, C. Papachristou и др.) лежит идея, предполагающая, что с каждым структурным модулем процессора связана команда, группа команд или их последовательность, выполняя которые, можно проверить модуль. Для разработки тестов проводится подробная классификация команд. При необходимости большого перебора значений в полях команд применяется их рандомизация. Подход универсален, разработка тестов может быть автоматизирована. Знание вентильной структуры не требуется. Недостатком является длительное время тестирования, связанное с рандомизацией тестовых последовательностей. В последние годы разработано множество методик, комбинирующих различные подходы к диагностированию, в том числе использующие точные регистровые и вентильные модели процессора или его структурных модулей (V. Vedula, J. Abraham, L. Chen, S. Dey и др.).

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

В работе эффективность рассматривается как совокупность двух показателей – длины тестовой программы (число ее команд) и качества теста. Качество теста рассчитывается средствами имитационного моделирования как покрытие ОКН вентильной модели процессора.

Во второй главе представлен подход к тестовому диагностированию процессоров RISC архитектуры с использованием функциональных моделей. В качестве такого подхода использована методика, предложенная С.Г. Шаршуновым и представленная в его работах. (АиТ №11, 2004 г. и др.)

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

Механизм хранения и передачи данных представляет функцию хранения и обмена данными между регистрами процессора. Модель механизма включает все регистры, определенные его архитектурой, и передачи данных между ними под управлением программы. Используется графическое представление модели механизма – граф регистровых передач (ГРП), строящийся на основе графа-модели архитектуры системы команд процессора путем исключения узлов, соответствующих обработке данных. Регистрам соответствуют узлы ГРП, а передачам данных – направленные дуги, помеченные списками команд, активизирующими передачи. Внешним устройствам и памяти соответствуют обобщенные вершины IN (вход) и OUT (выход). Последовательности команд в процессе выполнения активизируют определенные пути в ГРП. Механизм неисправен, если в результате активизации последовательностями команд (с тестовыми операндами и адресами) подмножества путей ГРП, покрывающего все его дуги, хотя бы один операнд или адрес будет изменен. Тестовые операнды и адреса – наборы «теста переноса», обнаруживающего произвольные сочетания констант 0 и 1 на разрядных линиях шин и на перемычках между этими линиями.

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

Функциональная декомпозиция механизма управления производится до механизмов, соответствующих классам команд: выборки регистров (класс обмена с внешней памятью, Load & Store, LS), межрегистрового обмена, управления обработкой данных (класс передачи и обработки данных, Transition & Manipulation, TM), управления выполнением команд (класс ветвлений, передачи управления, Control Transfer, CT). Механизмы выборки регистров и межрегистрового обмена и отвечают за корректный выбор регистра-источника и регистра-приемника данных. Модель неисправности этих механизмов предполагает, что вместо заданного полем команды регистра выбирается произвольное подмножество регистров из множества возможных. Механизм управления обработкой данных отвечает за корректный выбор операций обработки пользовательских данных. Модель неисправности механизма предполагает, что вместо заданной полем команды операции обработки данных выполняется произвольное подмножество операций из множества возможных. Механизм управления выполнением команд включает механизм выполнения команд ветвлений и механизм управления выполнением последовательности микроопераций, составляющих команду. Для диагностирования механизмов управления разработаны программные тесты-индикаторы.

Pages:     || 2 | 3 |






© 2011 www.dissers.ru - «Бесплатная электронная библиотека»