Диагностические тесты для контроля подсистем памяти

Автор работы: Пользователь скрыл имя, 06 Ноября 2013 в 18:46, курсовая работа

Описание работы

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

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

Задание на проектирование и исходные данные.
Теоретический вопрос.
Описание принципа работы исследуемого устройства, включающее структурную схему, временные диаграммы работы и т. д.
Описание рабочих характеристик устройства.
Обозначение в розничной торговле и его расшифровка.
Типовые неисправности устройства.
Методика аппаратной проверки.
Методика программной проверки с сопровождением графическими иллюстрациями окон режимов работы программы диагностики.
Рекомендации к практическому применению курсового проекта.
Графическая часть должна содержать:
Блок-схема аппаратной диагностики;
Блок-схема программной диагностики.
Графические материалы должны быть оформлены с соблюдением требований ЕСКД.

Файлы: 1 файл

курсовая сервис ЭВМ.doc

— 1.47 Мб (Скачать файл)

 

Регенерация выполняется по команде REF, за заданный период регенерации (стандартный 64 мс) должно быть выполнено 4096 или 8192 (в зависимости  от объема микросхемы) команд REF.

 

На  первый взгляд из этого описания не видно никаких особых преимуществ SDRAM по сравнению с BEDO. Однако синхронный интерфейс в сочетании с внутренней мультибанковой организацией обеспечивает возможность повышения производительности памяти при множественных обращениях. Здесь имеется в виду способность современных процессоров формировать следующие запросы к памяти, не дожидаясь результатов выполнения предыдущих. В SDRAM после выбора строки (активации банка) ее можно закрывать не сразу, а после выполнения серии обращений к ее элементам, причем как по записи, так и по чтению. Эти обращения будут выполняться быстрее, поскольку для них не требуется подачи команды активации и выжидания TRCD. Максимальное время удержания строки открытой ограничивается периодом регенерации. Возможность работы с открытой строкой была использована уже в FPM DRAM. Однако в SDRAM можно активировать строки в нескольких банках — каждую своей командой ACT, эта особенность и стоит за словами “Single-pulsed RAS# interface” в перечислении ключевых особенностей SDRAM. Активировать строку можно во время выполнения любой операции с другим банком. Обращение к открытой строке требуемого банка выполняется по командам RD и WR, у которых в качестве параметров кроме адреса столбца фигурирует и номер банка. Таким образом можно так спланировать транзакции, что шина данных в каждом такте будет нести очередную порцию данных, и такой поток будет продолжаться не только в пределах одного пакета, но и для серии обращений к разным областям памяти. Кстати, держать открытыми можно и строки в банках разных микросхем, объединенных общей шиной памяти.

 

 

Временная диаграмма чтения SDRAM

 

Микросхемы SDRAM оптимизированы для пакетной передачи. У них при инициализации программируется  длина пакета и операционный режим. Пакетный режим может включаться как для всех операций (normal), так и только для чтения (Multiple Burst with Single Write). Этот выбор позволяет оптимизировать память для работы либо с WB, либо с WT-кэшем. Обратим внимание, что внутренний счетчик адреса работает по модулю, равному запрограммированной длине пакетного цикла (например, при длине пакета 4 он не позволяет перейти границу обычного четырехэлементного пакетного цикла).

 

Пакетные  циклы могут прерываться (принудительно  завершаться) последующими командами, при этом оставшиеся адреса отбрасываются. На рисунке приведен пример прерывания команды чтения по адресу A командой чтения по адресу B (подразумевается, что для адреса B строка уже открыта). В случае прерываний пакетов, как и при полных пакетах, шина данных при активированных банках может быть полезно нагруженной в каждом такте, за исключением случая чтения, следующего за записью. При этом шина будет простаивать CL тактов. В команде WR имеется возможность блокирования записи данных любого элемента пакета — для этого достаточно в его такте установить высокий уровень сигнала маскирования.

 

Микросхемы SDRAM имеют средства энергосбережения. В режиме саморегенерации Self Refresh микросхемы периодически выполняют циклы регенерации  по внутреннему таймеру, в этом режиме они не реагируют на внешние сигналы и внешняя синхронизация может быть остановлена. В режиме пониженного потребления Power Down микросхема не воспринимает команды и регенерация не выполняется, поэтому длительность пребывания в нем ограничена периодом регенерации.

 

Синхронный  интерфейс позволяет довольно эффективно использовать шину и обеспечить на частоте 100 МГц пиковую производительность 100 Мбит/пин (на 1 вывод шины данных). SDRAM используют в составе модулей DIMM с 8-байтной разрядностью, что дает производительность 800 Мбайт/с. Однако эта теоретическая производительность не учитывает накладные расходы на регенерацию и подразумевает, что требуемые страницы уже открыты. Из-за указанных выше ограничений на реальном произвольном потоке запросов производительность, конечно же, будет ниже. Потенциальные возможности почти одновременного обслуживания множества запросов, предоставляемая микросхемами SDRAM, будут реализованы лишь при достаточно “умном” контроллере памяти. От его предусмотрительности эффективность памяти зависит, пожалуй, больше, чем у простых FPM и EDO DRAM.

 

Память DDR SDRAM (Dual Data Rate — удвоенная скорость данных) представляет собой дальнейшее развитие SDRAM. Как и следует из названия, у микросхем DDR SDRAM данные внутри пакета передаются с удвоенной скоростью — они переключаются по обоим фронтам синхроимпульсов. На частоте 100 МГц DDR SDRAM имеет пиковую производительность 200 Мбит/пин, что в составе 8-байтных модулей DIMM дает производительность 1600 Мбайт/с. На высоких тактовых частотах (100 МГц) двойная синхронизация предъявляет очень высокие требования к точности выдерживания временных диаграмм. Для повышения точности синхронизации предпринят ряд мер.

 

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

 

Для синхронизации данных в интерфейс  введен новый двунаправленный стробирующий сигнал DQS. Стробы генерируются источником данных: при операциях чтения DQS генерируется микросхемой памяти, при записи — контроллером памяти (чипсетом).

 

Для синхронизации DQS с системной тактовой частотой (CLK) микросхемы имеют встроенные схемы DLL (Delay Locked Loop) для автоподстройки задержки сигнала DQS относительно CLK. Эта  схема работает наподобие фазовой автоподстройки (PLL) и способна выполнять синхронизацию (обеспечивать совпадение фронтов DQS и CLK) лишь в некотором ограниченном диапазоне частот синхронизации.

 

В отличие от обычных SDRAM, у которых  данные для записи передаются одновременно с командой, в DDR SDRAM данные для записи (и маски DQM) подаются с задержкой на один такт (write latency). Значение CAS# Latency может быть и дробным (CL=2, 2.5, 3). Микросхемы SDRAM до “штатного” использования должны быть инициализированы — кроме предзаряда банков у них должны быть запрограммированы параметры конфигурирования. В DDR SDRAM из-за необходимости настройки цепей DLL программирование несколько сложнее.

 

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

 

 

Микросхемы DRAM выпускают с разрядностью данных 1, 4, 8/9, 16/18 бит. Минимальной единицей упаковки, которая воспринимается системной платой компьютера, является банк памяти. Банк представляет собой объединение микросхем, обеспечивающее разрядность данных шины памяти. Так, для 386SX банк имеет разрядность 16 бит, для 386DX-486 — 32 бита, а для P5–P6 — 64 бита (8 байт). В банке все одноименные адресные входы микросхем и линии RAS# соединяются параллельно. Каждый банк выбирается своим сигналом RAS#. Линии CAS# или (и) WE должны быть индивидуальными для каждого байта, чтобы обеспечить возможность индивидуальной записи в любой байт банка. Микросхемы собираются в модули разрядностью 1 (SIMM-30, SIPP), 4 (SIMM-72) или 8 байт (DIMM). Модули могут содержать один или два банка микросхем (двусторонние модули). Однако полный банк памяти для машин с процессорами P5–P6 набирается парой модулей SIMM-72 или одним DIMM. Количество банков на системной плате ограничивается возможностями чипсета (количеством линий RAS#) или (и) количеством слотов для памяти. Первое ограничение является причиной известной проблемы с “двусторонними” модулями — в ряде плат установка такого модуля в один слот не позволяет использовать еще один слот. Увеличению числа слотов препятствует ограниченная нагрузочная способность шины памяти — каждый слот (тем более, с модулем) вносит паразитную емкость и индуктивность, ограничивающие быстродействие шины. Из-за влияния этой нагрузки для работы модулей SDRAM на частоте шины 100 МГц была разработана спецификация PC100, в которой кроме требований к быстродействию микросхем памяти задаются и правила разводки сигнальных и питающих проводников и прочие конструктивные нюансы. Теперь появляется и аналогичная спецификация PC133 — для частоты шины 133 МГц. Однако повышение тактовой частоты традиционной шины памяти технически сложно из-за большого числа сигнальных проводников. Популярные ныне модули DIMM SDRAM используют 32 адресных и управляющих линии и 64 (72 или 80 с контрольными) линии данных, при этом каждый дополнительный слот памяти требует еще несколько управляющих линий. На высоких частотах приходится учитывать задержки распространения сигналов в проводниках, и что самое неприятное — неодинаковость этих задержек, или перекос (skew).

 

Установка более одного банка памяти дает потенциальную  возможность повышения производительности памяти за счет организации чередования банков (bank interleaving). Идею чередования проще пояснить на примере двух банков. Адресация памяти организуется так, чтобы ячейки, передаваемые в соседних тактах пакетного цикла, располагались в разных банках (сделать это несложно, поскольку пакеты выравниваются по границам строк кэша, которые фиксированы). Теперь контроллер памяти при передаче пакета будет обращаться к банкам поочередно, в результате чего частота передачи данных в такой системе может быть удвоенной по отношению к максимальной частоте работы отдельного банка. В чередовании может участвовать и большее число банков. Из разбиения на мелкие банки можно извлечь и другую выгоду. Поскольку современные процессоры способны параллельно выставлять несколько запросов на транзакции с памятью, скрытые фазы обработки запросов, обусловленные необходимым временем доступа, относящихся к разным банкам, могут выполняться одновременно. Однако это требует некоторого усложнения контроллера памяти и обеспечения независимости банков (возможности активации одного банка до предзаряда предыдущего). Независимость банков для асинхронной памяти достигается сугубо экстенсивным способом — увеличением числа линий интерфейса. Микросхемы SDRAM могут иметь внутреннюю 4-банковую организацию, независимость банков поддерживается синхронным интерфейсом. Чем больше будет независимых банков в ОЗУ, тем больше вероятность возможности их одновременного использования при обслуживании произвольных конкурирующих запросов.

 

 

 

 

  Итак, подведем итоги развития, считая отправной точкой память FPM. Для повышения производительности:

 

Подсистема  памяти (ARM)  Править 

  

 

Эволюция  архитектуры ARM от довольно простых  микроконтроллеров, имеющих весьма ограниченную область применения, до почти универсальных процессоров, широко используемых как в промышленных и встраиваемых системах, так и в разнообразных мобильных устройствах, работающих под управлением развитых операционных систем (Windows CE, Linux и т.п.), сильнейшим образом отразилась на подсистеме памяти. Чтобы удовлетворять требованиям, предъявляемым современными ОС, процессоры должны обладать высокой производительностью и иметь поддержку виртуальной памяти, поэтому архитектура ARM предусматривает все необходимые средства. Однако для микроконтроллеров эти механизмы нередко являются бесполезными и даже вредными, увеличивая стоимость и энергопотребление, поэтому конкретные образцы процессоров могут как обладать, так и не обладать кэш-памятью, буферами записи, устройством управления памятью и т.д. Кроме того, с разными типами процессоров могут использоваться разные виды оперативной и флэш-памяти — все вопросы, связанные с внешними интерфейсами процессорного кристалла, отданы на откуп фирмам-производителям.

 

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

 

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

 

Для обеспечения широких возможностей по подключению различных типов  микросхем памяти, а также периферийных устройств, и для облегчения портирования ПО, изначально разработанного под другие аппаратные платформы, архитектура ARM предусматривает несколько вариантов логической структуры памяти; в первую очередь это касается порядка байтов в многобайтовых величинах («младший-старший» или наоборот). До версии ARMv6 требований по обязательной поддержке того или другого порядка байтов не предъявлялось, хотя порядок «младший-старший» поддерживался если не всегда, то почти всегда. Начиная с ARMv6, поддержка порядка «младший-старший» стала обязательной; кроме того, в ARMv6 добавилась возможность обращения к данным, не выровненным на естественную для их размера границу (ранее такая возможность могла присутствовать, а могла и отсутствовать, при этом обращение по невыровненному адресу могло приводить к ошибочным результатам, но не вызывать генерацию соответствующего отказа).

 

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

 

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

 

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

 

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

 

Спецификация ARM предполагает возможность создания многопроцессорных систем, хотя на практике это пока редкость. В многопроцессорных системах важную роль приобретают средства обеспечения межпроцессорного взаимодействия. Архитектура ARM до версии 6 включительно в этом плане предлагает лишь несколько команд, обеспечивающих (с определёнными оговорками) монопольный доступ к ячейкам памяти и позволяющих тем самым без особых проблем организовать взаимодействие нескольких процессоров через общую оперативную память.  

Информация о работе Диагностические тесты для контроля подсистем памяти