Организация диагностики внутренней памяти

Страницы работы

Содержание работы

Лекция №4

Организация диагностики внутренней памяти

Внутренняя память ПК – это:

1.  ДОЗУ (память на конденсаторах – динамическое ОЗУ/DRAM).

2.  Кэш-память на триггерах (6 –8 транзисторов/бит) – статическое ОЗУ (SRAM).

3.  ПЗУ - ROM BIOS (возможна флэш-память).

4.  ППЗУ - CMOS RTС, энергонезависимая память на КМОП-транзисторах.

Организация памяти ДОЗУ

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

PentiumPro+:

-  ШД 64-х разрядная

-  ША 36 разрядная

Отсюда адресное пространство – 64 Гбайта

Организация банков

          Pentium+: 72-х контактный SIMM, DIMM (1-2 шт.) контактов до 168. Если несколько банков, то используется чередование (interleaving). Пакетный цикл (486+) – BURST в цикле (5-1-1-1) – 5 тактов на нахождение первого пакета, 1-1-1 – адреса следующих ячеек в строке.

Pentium 4: ДОЗУ типа DirectRAMBUS (название фирмы) от минимум 128 Мб до 2 Гб с помощью сдвоенных каналов.

Контроль

1.  ДОЗУ и кэш:

a.  контроль паритета шины адреса;

b.  ЕСС memory обнаружение и исправление ошибок на шине данных, 64 информационных разряда + 8 контрольных – разрядность ЕСС. ЕСС используется и для больших кэш.

2.  ROM BIOS (флэш): проверка контрольной суммы по модулю 256 (байтная) на 0.

3.  CMOS RTC – это ППЗУ, имеющее перепрограммируемую контрольную сумму. Суммой защищается регистры от 10h до 2Dh. Сумма 16-ти разрядная, хранится в регистрах 2Eh и 2Fh.

Сигналы:

-  RAS# - строб строки;

-  CAS# - строб столбца;

Refresh memory – “освежение памяти” – регенерация (циклическая построчная перезапись с холостыми циклами без CAS#). Диапазон периодов регенерации – 8-64мс.

Типы и характеристики ДОЗУ

1.  FРM – Fast Page Mode – быстрый страничный обмен (построчный). Время доступа 65 нс, внутри 35 нс. Конвейер 5-3-3-3.

2.  EDO – Extended Date Out – имеет регистр-защелку, уменьшается время CAS#  до 25 нс. Конвейер 5-2-2-2. Это 72-х контактные SIMM и DIMM.

3.  BEDO – Burst EDO – работает по фронту CAS#, 5-1-1-1.

4.  SDRAM – Synchronous DRAM – работает на частоте системной шины, 5-1-1-1.

Методы ускорения

1.  Режим смежных циклов (BACK-to-BACK), 5-1-1-1-1-1-1-1.

2.  КЭШ на кристалле DRAM – SDRAM. 4-х и 16 Мбит – в 16-ти килобайтный КЭШ 128 битной внутренней ШД.

3.  EDRAM (Enchased DRAM) – 4 Мбита КЭШ – 8 КБайт, 2048 бит внутренней ШД.

Наиболее распространены интегральные схемы DRAM от 1 до 256 Мбит, от 45 до 250 нс., от 1 до 36 бит выводов на корпусе. Строгой маркировки нет.

Модули DRAM

Наиболее распространенные – модули DIMM (Dual Inline Memory Module) – 168 независимых выводов: по 84 с каждой стороны, ШД – 8-ми байтная, стандарт JETEC 21-C. Устанавливаются вертикально в слоты с ключом. 3,3 V и 5 V. Толщина 4-9мм, TSOP – до 4 мм, длина 133,35 мм, высота до 51 мм.

Причины неисправностей

·  нарушение контактов соседних цепей посторонними предметами;

·  сбои (требуют повтора тестирования);

·  несоответствие быстродействия элементов памяти частоте системной шины, параметрам настроек setup;

·  ошибки внутри интегральных схем модуля;

Тестирование

Средства тестирования бывают:

1.  Встроенные (POST)

2.  Загружаемые (Checkit, Sandra и др.) 

Основные тесты памяти DRAM

1.  Группа из 4-х тестов, работающих по алгоритму: по ячейкам с нулевым/единичным значением пробегает "1"/"0" влево или вправо с выполнением чтения со сравнением.

2.  Шахматка. Ячейки загружаются чередующимися кодами (все 0, все 1), затем выполняется чтение со сравнением.

3.  Псевдо random read/write. Поочередная запись эталонных констант К0, К1, К2 и считывание со сравнением (при случайных адресах ячеек).

4.  Адресный. На фоне нулей/единиц поочередно в каждую ячейку записывается "1"/"0" и читается со сравнением содержимого всех ячеек.

5.  Тест регенерации. Например, переключение 4-го бита 61h-порта означает выполнение регенерации. Проверять переключения бита из 0 в 1 или обратно.

          Для более достоверного контроля работоспособности памяти разработано порядка 35 тестов. Каждый тест имеет свои обнаруживающие способности:

·  слабые, средние, хорошие;

·  ошибки в накопителях, дешифраторах, временные параметры.

          Эти тесты пропорциональны объему проверяемой памяти и делятся на группы:

·  пропорциональные N, где N – размер тестируемой памяти;

·  пропорциональные N2;

·  пропорциональные N3;

·  пропорциональные N3/2;

·  тесты регенерации.

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

Алгоритм теста ДОЗУ

1.  Определить объем памяти (базовая, дополнительная).

2.  Определить занятые участки памяти (первый способ: читать 3 адреса Cseg, Dseg, Sseg – сегменты кода, данных, стека; второй способ: с помощью МСВ блоков +).

3.  Выбирается участок тестирования с учетом времени теста, занятость памяти, тип памяти.

4.  Перезаписать выбранный участок в свободный буфер.

5.  Записать константы тестирования в тестируемый участок.

6.  Выполнить побайтное чтение со сравнением тестируемого участка.

7.  В случае необходимости повторить для других констант.

8.  Восстановить тестируемый участок. Если необходимо, выполнить пункты для других участков.

9.  Непрерывно выводить на экран выполнение шагов тестирования (адрес, константа, результат), чтобы не было неизменяющегося экрана.

Базовая память тестируется с адресом в виде сегмент:смещение (функции Mem, MemW).

Дополнительную память можно тестировать  через Windows-функции модуль АPI. А для тестирования с реальными адресами использует так называемый unreal-режим работы процессора.

Тест ПЗУ

1.  Определить начало программы (в диапазоне от С000:0000 до E000:0000 с шагом 2К по сегменту ищем сигнатуру-слово АА55h).

2.  Определяется размер программы в ПЗУ: содержимое байта по адресу начала программы, умноженное на 512.Собственно программа не занимает весь объем. В конце ПЗУ заполняется "0"/"1", а окончанием программы является служебная информация (до 20 байт).

3.  В цикле по длине программы выполняется побайтное суммирование без переноса в старшую часть (по модулю 256).

4.  Если байтная сумма равна 0, то ошибки нет, иначе – ошибка.

При тестировании выводится: адрес начала, длина программы, байтная сумма.

CMOS RTC

Состав:

1.  Больше 50 регистров хранения конфигурации ПК.

2.  Часы реального времени с будильником.

        Доступ ко всем регистрам осуществляется через 70h порт, в котором записывается адрес требуемого регистра, и 71h порт для записи – чтения данных.

Алгоритм тестирования

1.  Суммируется содержимое регистров с адресами от 10h до 2Dh. Сумма типа " слово" сравнивается с содержимым регистров 2Eh и 2Fh (младшие и старшие байты слова).

2.  Проверка на "1" 4-го бита регистра диагностики.

3.  Проверка установок делителей частоты.

4.  Проверка батарейки памяти (регистр диагностики, старший бит).

Тестирование RTC

1.  Вывести дату и сравнить с календарем (дата: век, год, месяц, день недели).

2.  Сравнить время RTC и время DOS (часы : мин : сек : сотые доли сек). Разница не должна превышать 1 сек.

3.  Будильник RTC установить на срабатывание и проконтролировать это.

Похожие материалы

Информация о работе