ISSN 0236-235X (P)
ISSN 2311-2735 (E)

Journal influence

Higher Attestation Commission (VAK) - К1 quartile
Russian Science Citation Index (RSCI)

Bookmark

Next issue

4
Publication date:
09 December 2024

Multiprocessor systems memory testing

Date of submission article: 26.06.2014
UDC: 519.68
The article was published in issue no. № 1, 2015 [ pp. 68-71 ]
Abstract:Memory is one of the basic elements of a computer system. Depending on the application sphere of mul-tiprocessor systems there are different memory requirements: information capacity, memory speed, etc. Memory test is one of the most important stages of system testing in general when creating such systems. A memory test includes test-ing address bus, data bus, and memory cells verifying of a device under the test. Depending on the method of testing RAM in an automatic data processing machine is divided into: local that is accessible directly from the processor ele-ment and remote that is accessible to read/write memory via communicative interface for distributed memory systems. This article considers the method of RAM remote testing in a multiprocessor system with RapidIO communicative in-terface. There is a testing procedure on the example of 1890VM6IA processors. Based on RAM tests (checking own address, walking one (or zero) and random values checking) the paper shows a comparison results of testing time de-pending on the test execution device. The author presents an assessment of this method efficiency. The approach al-lows using a minimum hardware set.
Аннотация:Одним из основных элементов вычислительной системы является память. В зависимости от сферы применения многопроцессорных систем к памяти предъявляются различные требования: по информационной емкости, по быст-родействию и т.д. При построении таких систем тестирование памяти является одним из важнейших этапов тестиро-вания системы в целом. Тестирование памяти разделяется на тестирование шины адреса, шины данных и проверку ячеек памяти тестируемого устройства. По способу тестирования ОЗУ в вычислительной машине можно разделить на локальное, непосредственно доступное с процессорного элемента, и удаленное, с доступом на запись и чтение памяти через коммуникационную среду для систем с распределенной памятью. В статье рассматривается подход удаленного тестирования ОЗУ в многопроцессорной системе с коммуникационной средой RapidIO. Приведена про-цедура тестирования на примере процессоров 1890ВМ6Я. На основе базовых тестов ОЗУ (проверка собственного адреса, бегающая единица (или ноль) и проверка случайныхзначений) приведены результаты сравнения времени тестирования в зависимости от устройства исполнения тестов. Производится оценка эффективности использования данного подхода. Данный подход позволяет обходиться минимальным набором аппаратных средств.
Authors: Lavrinov G.A. (lavrinov@cs.niisi.ras.ru) - SRISA RAS, Moscow, Russia
Keywords: distributed memory system, ram, , method of testing, memory testing, multiprocessor system, RapidIO
Page views: 11404
Print version
Full issue in PDF (12.50Mb)
Download the cover in PDF (0.36Мб)

Font size:       Font:

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

 

Особое место в процессе создания многопроцессорных систем занимает тестирование как отдельных входящих в нее узлов, так и их совокупности [1]. Тестирование памяти включает тестирование шины адреса, шины данных и проверку ячеек памяти тестируемого устройства. Принцип проверки памяти заключается в сравнении считанных данных из тестируемой памяти с эталонными, которые ранее были записаны в эту память. Наиболее известными методами тестирования памяти [2] являются:

–     проверка собственного адреса (own address); эталонные данные для заполнения памяти представляют собой адреса, по которым они прописываются;

–     бегающая единица (нуль) (walking one (zero)); эталонные данные представляют собой нули (единицы), причем в один из разрядов записывается единица (нуль); проверка памяти проходит в несколько итераций в зависимости от длины записываемых данных, после каждой итерации производятся проверка данных, а затем сдвиг эталонных данных на единицу;

–     проверка случайных значений (random pattern); эталонные данные представляют собой случайное значение.

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

При включении питания ВМ (или снятии сигнала сброса) управление передается программе ПЗУ. После успешного запуска программы ПЗУ загружается операционная система (ОС). При возникновении ошибок в памяти программа ПЗУ или ОС может не загрузиться. В некоторых процессорных системах реализована аппаратная поддержка коррекции ошибок по коду Хэмминга, Рида–Соломона и др. Она позволяет снизить вероятность возникновения ошибок, но не избавиться от них полностью.

Предлагается рассмотреть новый подход к тестированию ОЗУ в многопроцессорной системе c распределенной памятью и коммуникационной средой RapidIO [3]. В настоящий момент создание высокопроизводительных ВМ на основе интерфейса RapidIO является перспективным направлением в электронике. По своим функциональным характеристикам, таким как пропускная способность, задержки при передаче пакетов в сети, масштабируемость и надежность, интерфейс RapidIO не только не уступает, но и превосходит другие коммуникационные интерфейсы [4, 5].

В RapidIO, помимо служебных операций, обеспечивающих доступ к регистрам контроллеров RapidIO, предусмотрены операции ввода-вывода логического уровня: запись без подтверждения (NWRITE), запись с подтверждением (NWRITE_R) и чтение (NREAD) (см. рис. 1) [6, 7]. Данные операции позволяют производить записи и чтение непосредственно по адресам ОЗУ и регистрам RapidIO удаленного оконечного устройства (ОУ). Для этого требуется определенная инициализация контроллеров RapidIO у ведущего процессорного элемента и удаленного ОУ. В зависимости от реализации аппаратуры пакет RapidIO можно сформировать в «ручном», описывая каждое поле пакета программно, в полуавтоматическом, описывая программно часть пакета, или в автоматическом режиме, то есть автоматически переводя обращения по адресам, отображенным на адреса из адресного пространства удаленного ОУ в операции NWRITE (NWRITE_R)/NREAD.

Для тестирования ОЗУ удаленного ОУ RapidIO предлагается использовать вышеперечисленные операции. Рассматривается многопроцессорная система, состоящая из процессорных элементов, на примере 1890ВМ6Я и коммутаторов 1890КП3Я. Особенностью микросхем 1890ВМ6Я является возможность обращения к ОЗУ ОУ по RapidIO, используя регистры RapidIO, реализующие механизм трансляции адресного пространства RapidIO в ОЗУ. Доступ к данным регистрам RapidIO процессорного элемента может осуществляться как локально, так и по интерфейсу RapidIO. Следовательно, удаленное устройство можно настроить для тестирования определенного участка ОЗУ по RapidIO. В процессоре 1890ВМ6Я реализованы отправка пакетов NWRITE, NWRITE_R и NREAD, а также прием пакетов ответов в автоматическом режиме.

Процедура тестирования приведена на рисунке 2. Тестирование включает в себя этап инициализации процессорного элемента, после чего настраиваются маршруты к ОУ и присваиваются идентификационные номера (ID). Причем для инициализации RapidIO системы достаточно воспользоваться механизмом или динамической инициализации системы, согласно спецификации [8], или статической инициализации с использованием конфигуратора на основе базовых блоков RapidIO [9]. Далее следует этап настройки автоматического режима формирования пакетов и трансляции памяти RapidIO в тестируемую память ОУ для доступа операций RapidIO к памяти удаленного устройства. Затем производится удаленное тестирование ОЗУ.

В таблице приведено время удаленного и локального тестирования ОЗУ. Измерения проводились на процессорном модуле ЦП-РИО-64А, включающем в себя два 200 МГц процессора 1890ВМ6Я и коммутатор параллельных каналов RapidIO 1890КП3Я, соединяющий процессоры [10]. Размер ОЗУ процессорного элемента, работающего на частоте 100 МГц, составляет 512 Мбайт. Размер тестируемой памяти выбран относительно небольшой – 32 Мбайта. Тесты ОЗУ включают в себя адресный тест, тест шины данных и тест самого устройства, запись и чтение происходят 32-раз­рядными словами. Тесты ОЗУ для удаленного тестирования запускались из-под тест-мониторной системы «TestMS», запись тестовых данных производилась операциями NWRITE и NWRITE_R, а чтение – операциями NREAD. Те же тесты ОЗУ для локального тестирования запускались из-под регистрового монитора (использовалось системное ПЗУ) и интерактивного монитора (использовалось ОЗУ), входящих в состав программы ПЗУ.

Время тестирования ОЗУ

RAM testing time

Устройство исполнения тестов, ОЗУ

Тестирование ОЗУ

Локальное

Удаленное

NWRITE, NREAD

NWRITE_R, NREAD

Некэшируемое

2 мин. 9 сек.

12 мин. 13 сек.

12 мин. 29 сек.

Кэшируемое

1 мин. 15 сек.

11 мин. 59 сек.

12 мин. 15 сек.

В случае ошибочной загрузки программы ПЗУ, в основном из-за ошибок в ОЗУ, управление передается регистровому монитору, находящемуся в системном ПЗУ, и под его управлением производится тестирование. Если программа ПЗУ загрузилась, а ОС нет, то тестирование осуществляется из ОЗУ. Для использования подхода удаленного тестирования необходимо определить в системе ОУ с неработающим ОЗУ. В системе предусмотрен сигнал READY, который оповещает все ОУ о корректной загрузке программы ПЗУ. После того как на одном из ОУ программа не загрузилась, определяется ID этого ОУ на RapidIO и проводится удаленное тестирование ОЗУ. Из таблицы видно, что удаленное тестирование ОЗУ требует больше временных затрат по сравнению с локальным тестированием из ОЗУ (приблизительно в 6 раз больше для некэшируемой памяти и в 10 раз для кэшируемой). В то же время локальное тестирование из системного ПЗУ, которое составляет 2 часа 12 минут, превышает по времени удаленное тестирование более чем в 10 раз. Операция NWRITE_R является операцией с подтверждением, поэтому требует на выполнение больше времени, чем операция NWRITE.

Одним из факторов, влияющих на время удаленного тестирования, является количество коммутаторов в системе, посредством которых производится удаленный доступ к ОЗУ ОУ, при этом в маршруте не должно быть более 256 коммутаторов [11]. Каждый коммутатор увеличивает время удаленного тестирования приблизительно на 188 секунд. Построен график зависимости времени тестирования ОЗУ от количества коммутаторов в системе RapidIO (см. рис. 3). На графике видно, что при наличии более 40 коммутаторов время удаленного тестирования операциями NWRITE и NREAD превышает локальное тестирование из-под регистрового монитора программы ПЗУ.

На время тестирования ОЗУ, помимо коммутаторов в системе, влияют и другие факторы, как программные (объем тестов, размер тестируемой памяти), так и аппаратные (частоты процессора, ОЗУ, ПЗУ). Но в целом можно сделать выводы, что данный подход эффективно использовать в случае возникновения ошибок ОЗУ при начальной загрузке системы с относительно небольшим количеством коммутаторов (менее 40). Сегодня реально используются многопроцессорные системы на базе процессоров 1890ВМ6Я с более, чем 20 коммутаторами RapidIO. Преимуществом подхода является и отсутствие аппаратных затрат для подключения к процессору с неработающим ОЗУ. В случае загрузки программы ПЗУ на всех ОУ в системе можно осуществить тестирование ОЗУ, как локальное, так и удаленное, с использованием встроенной RapidIO-консоли [12].

Литература

1.     Бобков С.Г. Методика тестирования микросхем для компьютеров серии «Багет» // Программные продукты и системы. 2007. № 3. С. 2–5.

2.     Adams R.D. High Performance memory testing: design principles, fault modeling, and self-test. Netherlands, Kluwer Acad. Publ., 2002, 262 p.

3.     Fuller S. RapidIO. The Embedded Systems Interconnect. Wiley Publ. Inc., 2005, 380 p.

4.     Бобков С.Г., Задябин С.О. Перспективные высокопроизводительные вычислительные системы промышленного применения на базе стандарта RapidIO // Электроника, микро- и наноэлектроника: сб. науч. тр. М.: Изд-во МИФИ, 2009. С. 114–121.

5.     Бобков С.Г., Косарев И.М. Методы повышения производительности вычислительных систем // Прилож. к журн. «Информационные технологии». 2012. № 10. 32 с.

6.     RapidIO Interconnect Specification. Part 1: Input/Output Logical Specification. Revision 3.0. RapidIO Trade Association, 2013, URL: http://www.rapidio.org/specs/current/2013-oct23.zip (дата обращения: 26.09.2014).

7.     Бакулин А.А. Взаимодействие компонентов высокопроизводительных параллельных систем с помощью технологии RapidIO // Моделирование и визуализация. Многопроцессорные системы. Инструментальные средства разработки ПО. М.: Изд-во НИИСИ РАН, 2009. С. 77–89.

8.     RapidIO Interconnect Specification. Annex 1: Software/ System Bring Up Specification. Revision 3.0. RapidIO Trade Association, 2013, URL: http://www.rapidio.org/specs/current/ 2013-oct23.zip (дата обращения: 26.09.2014).

9.     Лавринов Г.А. Способы инициализации многопроцессорной системы // Программные продукты и системы. 2014. № 4. С. 37–40.

10.  Сердин О.В., Бобков С.Г., Кондратьева Н.В., Ере- мин А.А. Разработка высоконадежных многопроцессорных модулей на базе высокоскоростных каналов RapidIO // Программные продукты и системы. 2013. № 4. С. 49–55.

11.  Бакулин А.А. Проверка допустимости схемы маршру­тизации в системе RapidIO // Программные продукты и систе­мы. 2011. № 4. С. 20–23.

12.  Лавринов Г.А. Способы повышения эффективности отладки и тестирования многопроцессорных систем // Программные продукты и системы. 2012. № 3. С. 86–89.


Permanent link:
http://swsys.ru/index.php?page=article&id=3961&lang=&lang=en&like=1
Print version
Full issue in PDF (12.50Mb)
Download the cover in PDF (0.36Мб)
The article was published in issue no. № 1, 2015 [ pp. 68-71 ]

Perhaps, you might be interested in the following articles of similar topics: