Организация памяти вычислительных систем. Память вычислительных систем

Таблица 9.1. Иерархия подсистемы памяти ПК
Тип ЗУ 1985 г. 2000 г.
Время выборки Типичный объем Цена / байт Время выборки Типичный объем Цена / байт
1 Сверхоперативные ЗУ (регистры) 0,2 5 нс 16/32 бит $ 3 - 100 0,01 1 нс 32/64/128 бит $ 0,1 10
2 Быстродействующее буферное ЗУ (кэш) 20 100 нс 8Кб - 64Кб ~ $ 10 0,5 - 2 нс 32Кб 1Мб $ 0,1 - 0,5
3 Оперативное (основное) ЗУ ~ 0,5 мс 1Мб - 256Мб $ 0,02 1 2 нс 20 нс 128Мб - 4Гб $ 0,01 0,1
4 Внешние ЗУ (массовая память) 10 - 100 мс 1Мб - 1Гб $ 0,002 - 0,04 5 - 20 мс 1Гб - 0,5Тб $ 0,001 - 0,01

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

Кэш используется для согласования скорости работы ЦП и основной памяти. В вычислительных системах используют многоуровневый кэш : кэш I уровня (L1), кэш II уровня (L2) и т.д. В настольных системах обычно используется двухуровневый кэш , в серверных - трехуровневый. Кэш хранит команды или данные, которые с большой вероятностью в ближайшее время поступят процессору на обработку. Работа кэш-памяти прозрачна для программного обеспечения, поэтому кэш- память обычно программно недоступна.

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

Каждой ячейке оперативной памяти присвоен уникальный адрес . Организационные методы распределения памяти предоставляют программистам возможность эффективного использования всей компьютерной системы. К таким методам относят сплошную ("плоскую") модель памяти и сегментированную модель памяти. При использовании сплошной модели ( flat model ) памяти программа оперирует единым непрерывным адресным пространством линейным адресным пространством, в котором ячейки памяти нумеруются последовательно и непрерывно от 0 до 2n-1, где n - разрядность ЦП по адресу. При использовании сегментированной модели (segmented model ) для программы память представляется группой независимых адресных блоков, называемых сегментами. Для адресации байта памяти программа должна использовать логический адрес , состоящий из селектора сегмента и смещения. Селектор сегмента выбирает определенный сегмент, а смещение указывает на конкретную ячейку в адресном пространстве выбранного сегмента.

Организация подсистемы памяти в ПК

Запоминающие устройства (ЗУ) подсистемы памяти ПК можно выстроить в следующую иерархию (табл. 9.1):

Таблица 9.1. Иерархия подсистемы памяти ПК
Тип ЗУ 1985 г. 2000 г.
Время выборки Типичный объем Цена / байт Время выборки Типичный объем Цена / байт
Сверхоперативные ЗУ (регистры) 0,2 5 нс 16/32 бит $ 3 - 100 0,01 1 нс 32/64/128 бит $ 0,1 10
Быстродействующее буферное ЗУ (кэш) 20 100 нс 8Кб - 64Кб ~ $ 10 0,5 - 2 нс 32Кб 1Мб $ 0,1 - 0,5
Оперативное (основное) ЗУ ~ 0,5 мс 1Мб - 256Мб $ 0,02 1 2 нс 20 нс 128Мб - 4Гб $ 0,01 0,1
Внешние ЗУ (массовая память) 10 - 100 мс 1Мб - 1Гб $ 0,002 - 0,04 5 - 20 мс 1Гб - 0,5Тб $ 0,001 - 0,01

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

Кэш используется для согласования скорости работы ЦП и основной памяти. В вычислительных системах используют многоуровневый кэш: кэш I уровня (L1), кэш II уровня (L2) и т.д. В настольных системах обычно используется двухуровневый кэш, в серверных - трехуровневый. Кэш хранит команды или данные, которые с большой вероятностью в ближайшее время поступят процессору на обработку. Работа кэш-памяти прозрачна для программного обеспечения, поэтому кэш-память обычно программно недоступна.

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

Каждой ячейке оперативной памяти присвоен уникальный адрес. Организационные методы распределения памяти предоставляют программистам возможность эффективного использования всей компьютерной системы. К таким методам относят сплошную ("плоскую") модель памяти и сегментированную модель памяти. При использовании сплошной модели (flat model) памяти программа оперирует единым непрерывным адресным пространством линейным адресным пространством, в котором ячейки памяти нумеруются последовательно и непрерывно от 0 до 2n-1, где n - разрядность ЦП по адресу. При использовании сегментированной модели (segmented model) для программы память представляется группой независимых адресных блоков, называемых сегментами. Для адресации байта памяти программа должна использовать логический адрес, состоящий из селектора сегмента и смещения. Селектор сегмента выбирает определенный сегмент, а смещение указывает на конкретную ячейку в адресном пространстве выбранного сегмента.



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

Кроме реализации системы виртуальной памяти внешние ЗУ используются для долговременного хранения программ и данных в виде файлов.

Кэш-память

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



Если ЦП обратился к какому-либо объекту оперативной памяти, с высокой долей вероятности ЦП вскоре снова обратится к этому объекту. Примером этой ситуации может быть код или данные в циклах. Эта концепция описывается принципом временной локальности, в соответствии с которым часто используемые объекты оперативной памяти должны быть "ближе" к ЦП (в кэше).

Для согласования содержимого кэш-памяти и оперативной памяти используют три метода записи:

  • Сквозная запись (write through) - одновременно с кэш-памятью обновляется оперативная память.
  • Буферизованная сквозная запись (buffered write through) - информация задерживается в кэш-буфере перед записью в оперативную память и переписывается в оперативную память в те циклы, когда ЦП к ней не обращается.
  • Обратная запись (write back) - используется бит изменения в поле тега, и строка переписывается в оперативную память только в том случае, если бит изменения равен 1.

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

В структуре кэш-памяти выделяют два типа блоков данных:

  • память отображения данных (собственно сами данные, дублированные из оперативной памяти);
  • память тегов (признаки, указывающие на расположение кэшированных данных в оперативной памяти).

Пространство памяти отображения данных в кэше разбивается на строки - блоки фиксированной длины (например, 32, 64 или 128 байт). Каждая строка кэша может содержать непрерывный выровненный блок байт из оперативной памяти. Какой именно блок оперативной памяти отображен на данную строку кэша, определяется тегом строки и алгоритмом отображения. По алгоритмам отображения оперативной памяти в кэш выделяют три типа кэш-памяти:

  • полностью ассоциативный кэш;
  • кэш прямого отображения;
  • множественный ассоциативный кэш.

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

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

Увеличить изображение
Рис. 9.1. Полностью ассоциативный кэш 8х8 для 10-битного адреса

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

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

Увеличить изображение
Рис. 9.2. Кэш прямого отображения 8х8 для 10-битного адреса

Несмотря на очевидные недостатки, данная технология нашла успешное применение, например, в МП Motorola MC68020, для организации кэша инструкций первого уровня (рис. 9.3). В данном микропроцессоре реализован кэш прямого отображения из 64 строк по 4 байт. Тег строки, кроме 24 бит, задающих адрес кэшированного блока, содержит бит значимости, определяющий действительность строки (если бит значимости 0, данная строка считается недействительной и не вызовет кэш-попадания). Обращения к данным не кэшируются.

Увеличить изображение
Рис. 9.3. Схема организации кэш-памяти в МП Motorola MC68020

Компромиссным вариантом между первыми двумя алгоритмами является множественный ассоциативный кэш или частично-ассоциативный кэш (рис. 9.4). При этом способе организации кэш-памяти строки объединяются в группы, в которые могут входить 2, 4, : строк. В соответствии с количеством строк в таких группах различают 2-входовый, 4-входовый и т.п. ассоциативный кэш. При обращении к памяти физический адрес разбивается на три части: смещение в блоке (строке кэша), номер группы (набора) и тег. Блок памяти, адрес которого соответствует определенной группе, может быть размещен в любой строке этой группы, и в теге строки размещается соответствующее значение. Очевидно, что в рамках выбранной группы соблюдается принцип ассоциативности. С другой стороны, тот или иной блок может попасть только в строго определенную группу, что перекликается с принципом организации кэша прямого отображения. Для того чтобы процессор смог идентифицировать кэш-промах, ему надо будет проверить теги лишь одной группы (2/4/8/: строк).

Увеличить изображение
Рис. 9.4. Двухвходовый ассоциативный кэш 8х8 для 10-битного адреса

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

Таблица 9.2. Характеристики подсистемы кэш-памяти у ЦП IA-32
Intel486 Pentium Pentium MMX P6 Pentium 4
L1 кэш команд
Тип 4-вх. ассоц. 2-вх. ассоц. 4-вх. ассоц. 4-вх. ассоц. 8-вх. ассоц.
Размер строки, байт -
Общий объем, Кбайт 8/16 8/16 12Кmops
L1 кэш данных
Тип Общий с кэш инструкций 2-вх. ассоц. 4-вх. ассоц. 2/4-вх. ассоц. 4-вх. ассоц.
Размер строки, байт
Общий объем, Кбайт 8/16
L2 кэш
Тип Внешний внешний 4-вх. ассоц. 4-вх. ассоц. 8-вх. ассоц.
Размер строки, байт
Общий объем, Кбайт 256/512 128-2048 256/512

Примечания: В Intel-486 используется единый кэш команд и данных первого уровня. В Pentium Pro L1 кэш данных - 8 Кбайт 2-входовый ассоциативный, в остальных моделях P6 - 16 Кбайт 4-входовый ассоциативный. В Pentium 4 вместо L1 кэша команд используется L1 кэш микроопераций (кэш трассы).

Для организации кэш-памяти можно использовать принстонскую архитектуру (смешанный кэш для команд и данных, например, в Intel-486). Это очевидное (и неизбежное для фон-неймановских систем с внешней по отношению к ЦП кэш-памятью) решение не всегда бывает самым эффективным. Разделение кэш-памяти на кэш команд и кэш данных (кэш гарвардской архитектуры) позволяет повысить эффективность работы кэша по следующим соображениям:

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

Именно поэтому все последние модели IA-32, начиная с Pentium, для организации кэш-памяти первого уровня используют гарвардскую архитектуру.

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

T ср = (T hit x R hit) + (T miss x (1 R hit))

где T hit - время доступа к кэш-памяти в случае попадания (включает время на идентификацию промаха или попадания), T miss - время, необходимое на загрузку блока из основной памяти в строку кэша в случае кэш-промаха и последующую доставку запрошенных данных в процессор, R hit - частота попаданий.

Очевидно, что чем ближе значение R hit к 1, тем ближе значение T ср к T hit . Частота попаданий определяется в основном архитектурой кэш-памяти и ее объемом. Влияние наличия и отсутствия кэш-памяти и ее объема на рост производительности ЦП показано в табл. 9.3.

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

1. Принципы обмена информацией между иерархическими уровнями подсистемы памяти.

2. Основные функции и основные подсистемы вычислительной системы.

3. Принцип действия ассоциативной кэш-памяти.

4. Реализация прерываний от периферийных устройств, подключенных через последовательный интерфейс.

5. Что такое кольца защиты?

6. Что такое сегментация оперативной памяти?

7. Основные особенности видеоданных. Матричное и графическое представление видеоинформации.

8. Что такое файл? Различия между файлом и каталогом.

9. Основные стадии конвейера современных процессоров.

10. Что такое переименование регистров?

Вопрос № 1. Принципы обмена информацией между иерархическими уровнями подсистемы памяти

В основе реализации иерархии памяти современных компьютеров лежат два принципа: принцип локальности обращений и соотношении стоимость/ прозводительность. Принцип локальности обращений говорит о том, что большинство программ к счастью не выполняют обращений ко всем своим командам и данным равновероятно, а оказывают предпочтение некоторой части своего адресного пространства.

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

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

Успешное или неуспешное обращение к более высокому уровню называются соответственно попаданием (hit) или промахом (miss). Попадание - есть обращение к объекту в памяти, который найден на более высоком уровне, в то время как промах означает, что он не найден на этом уровне. Доля попаданий (hit rate) или коэффициент попаданий (hit ratio) есть доля обращений, найденных на более высоком уровне. Иногда она представляется процентами. Доля промахов (miss rate) есть доля обращений, которые не найдены на более высоком уровне.

Поскольку повышение производительности является главной причиной появления иерархии памяти, частота попаданий и промахов является важной характеристикой. Время обращения при попадании (hit time) есть время обращения к более высокому уровню иерархии, которое включает в себя, в частности, и время, необходимое для определения того, является ли обращение попаданием или промахом. Потери на промах (miss penalty) есть время для замещения блока в более высоком уровне на блок из более низкого уровня плюс время для пересылки этого блока в требуемое устройство (обычно в процессор). Потери на промах далее включают в себя две компоненты: время доступа (access time) - время обращения к первому слову блока при промахе, и время пересылки (transfer time) - дополнительное время для пересылки оставшихся слов блока. Время доступа связано с задержкой памяти более низкого уровня, в то время как время пересылки связано с полосой пропускания канала между устройствами памяти двух смежных уровней.

Вопрос № 2. Основные функции и основные подсистемы вычислительной системы

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

Основные функции:

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

* Стандартизованный доступ к периферийным устройствам (устройства ввода-вывода).

* Управление оперативной памятью (распределение между процессами, организация виртуальной памяти).

* Управление доступом к данным на энергонезависимых носителях (таких как жёсткий диск, оптические диски и др.), организованным в той или иной файловой системе.

* Обеспечение пользовательского интерфейса.

* Сетевые операции, поддержка стека сетевых протоколов.

Дополнительные функции:

* Параллельное или псевдопараллельное выполнение задач (многозадачность).

* Эффективное распределение ресурсов вычислительной системы между процессами.

* Разграничение доступа различных процессов к ресурсам.

* Взаимодействие между процессами: обмен данными, взаимная синхронизация. Процесс -- это динамический объект, который возникает в операционной системе после того, как пользователь или сама операционная система решает «запустить программу на выполнение», то есть создать новую единицу вычислительной работы. Пользователь -- лицо или организация, которое использует действующую систему для выполнения конкретной функции. Файл - это именованная область внешней памяти, в которую можно записывать и из которой можно считывать данные. Основными целями использования файлов являются: долговременное и надежное хранение информации, а также совместный доступ к данным.

Вопрос № 3. Принцип действия ассоциативной кэш-памяти

В ассоциативной памяти элементы выбираются не по адресу, а по содержимому. Поясним последнее понятие более подробно. Для памяти с адресной организацией было введено понятие минимальной адресуемой единицы (МАЕ) как порции данных, имеющей индивидуальный адрес. Введем аналогичное понятие для ассоциативной памяти, и будем эту минимальную единицу хранения в ассоциативной памяти называть строкой ассоциативной памяти (СтрАП). Каждая СтрАП содержит два поля: поле тега (англ. tag - ярлык, этикетка, признак) и поле данных. Запрос на чтение к ассоциативной памяти словами можно выразить следующим образом: выбрать строку (строки), у которой (у которых) тег равен заданному значению.

Особо отметим, что при таком запросе возможен один из трех результатов:

1. имеется в точности одна строка с заданным тегом;

2. имеется несколько строк с заданным тегом;

3. нет ни одной строки с заданным тегом.

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

В начале работы КЭШ-память пуста. При выполнении первой же команды во время выборки ее код, а также еще несколько соседних байтов программного кода, - будут перенесены (медленно) в одну из строк КЭШа, и одновременно старшая часть адреса будет записана в соответствующий тег. Так происходит заполнение КЭШ-строки.

Если следующие выборки возможны из этого участка, они будут сделаны уже из КЭШа (быстро) - "КЭШ-попадание". Если же окажется, что нужного элемента в КЭШе нет, - "КЭШ-промахом". В этом случае обращение происходит к ОЗУ (медленно), и при этом одновременно заполняется очередная КЭШ-строка.

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

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

Если произошел КЭШ-промах, а в КЭШе нет свободных строк, необходимо заменить одну строку КЭШа на другую строку.

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

Вопрос № 4. Реализация прерываний от периферийных устройств, подключенных через последовательный интерфейс

Последовательный интерфейс для передачи данных в одну сторону использует одну сигнальную линию, по которой информационные биты передаются друг за другом последовательно. Такой способ передачи определяет название интерфейса и порта, его реализующего (Serial Interface и Serial Port). Последовательная передача данных может осуществляться в синхронном и асинхронном режимах.

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

Формат асинхронной посылки позволяют выявить возможные ошибки передачи.

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

Прерывание (англ. interrupt) -- сигнал, сообщающий процессору о совершении какого-либо асинхронного события. При этом выполнение текущей последовательности команд приостанавливается, и управление переда?тся обработчику прерывания, который выполняет работу по обработке события и возвращает управление в прерванный код. Виды прерываний: Аппаратные (англ. IRQ - Interrupt Request) -- события от периферийных устройств (например, нажатия клавиш клавиатуры, движение мыши, сигнал от таймера, сетевой карты или дискового накопителя) -- внешние прерывания, или события в микропроцессоре -- (например, деление на ноль) -- внутренние прерывания; Программные -- инициируются выполняемой программой, т.е. уже синхронно, а не асинхронно. Программные прерывания могут служить для вызова сервисов операционной системы.

Прерывания требуют приостановки выполнения текущего потока инструкций (с сохранением состояния) и запуска исполнения процедуры-обработчика прерывания ISR (Interrupt Service Routine). Эта процедура первым делом должна идентифицировать источник прерывания (а их может быть и несколько), затем выполнить действия, связанные с реакцией на событие. Если события должны вызывать некоторые действия прикладной программы, то обработчику прерывания следует только подать сигнал (через ОС), запускающий (или пробуждающий) поток инструкций, выполняющий эти действия. Собственно процедура ISR должна быть оптимизирована по затраченному времени. Обслуживание прерываний, особенно в защищенном режиме, в PC-совместимых компьютерах на процессорах x86 связано со значительными накладными расходами. По этой причине их число стараются сократить. Значительные хлопоты доставляет идентификация источника прерывания -- в архитектуре PC-совместимых компьютеров для этого используются традиционные, но неэффективные механизмы. В ряде случаев прерывания от устройств заменяют поллингом -- программно-управляемым опросом состояния устройств. При этом состояния множества устройств опрашивают по прерыванию от таймера.

Вопрос № 5. Что такое кольца защиты?

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

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

Оригинальная система Multics имела 8 колец защиты, но многие современные системы имеют как правило меньше. Процессор всегда знает в каком кольце исполняется код, благодаря специальным машинным регистрам.

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

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

Вопрос № 6. Что такое сегментация оперативной памяти?

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

Как уже указывалось, в системе с сегментацией каждый адрес представляет пару : s - имя сегмента и d - смещение. Каждой программе соответствует всегда присутствующая в памяти таблица сегментов, в которой каждому сегменту данного процесса соответствует одна запись. С помощью этой таблицы система отображает программные адреса в истинные адреса ОП. Адрес таблицы хранится в аппаратном регистре, называемом регистром таблицы сегментов.

Вычисление адреса при сегментации производится следующим образом. Прежде чем система сможет вычислить адрес, аппаратным путем проверяется признак присутствия сегмента в ОП. Если сегмент присутствует, то с помощью регистра таблицы сегментов производится обращение к s-ой строке таблицы сегментов, где указан адрес сегмента в памяти. Поскольку сегменты бывают различной длины, необходимо знать границу сегмента для предотвращения обращения за пределы заданного сегмента.

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

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

Вопрос № 7. Основные особенности видеоданных. Матричное и графическое представление видеоинформации

Видеоинформация бывает как статической, так и динамической. Статическая видеоинформация включает в себя текст, рисунки, графики, чертежи, таблицы и др. Рисунки делятся также на плоские - двумерные и объемные - трехмерные.

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

Демонстрация анимационных и слайд-фильмов опирается на различные принципы. Анимационные фильмы демонстрируются так, чтобы зрительный аппарат человека не мог зафиксировать отдельных кадров. Для получения качественной анимации кадры должны сменяться порядка 30 раз в секунду. При демонстрации слайд-фильмов каждый кадр экспонируется на экране столько времени, сколько необходимо для восприятия его человеком (обычно от 30 с до 1 мин). Слайд-фильмы можно отнести к статической видеоинформации.

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

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

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

Основное достоинство векторной графики состоит в том, что описание объекта является простым и занимает мало памяти. Кроме того, векторная графика в сравнении с матричной имеет следующие преимущества:

Простота масштабирования изображения без ухудшения его качества;

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

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

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

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

Вопрос № 8. Что такое файл? Различия между файлом и каталогом

вычислительный память оперативный видеоданные

Файл (англ. file - скоросшиватель) - концепция в вычислительной технике: сущность, позволяющая получить доступ к какому-либо ресурсу вычислительной системы и обладающая рядом признаков:

Фиксированное имя (последовательность символов, число или что-то иное, однозначно характеризующее файл);

Определённое логическое представление и соответствующие ему операции чтения/записи.

Может быть любой - от последовательности бит(хотя читаем именно байтами, а точнее словами-группами из байт, по четыре, по восемь, по шестнадцать) до базы данных с произвольной организацией или любым промежуточным вариантом; многомерной базой данных, строго упорядоченной.

Первому случаю соответствуют операции чтения/записи потока и/или массива (то есть последовательные или с доступом по индексу), второму - команды СУБД. Промежуточные варианты - чтение и разбор всевозможных форматов файлов.

Файл - поименованная совокупность байтов произвольной длины, находящихся на носителе информации, а каталог это - поименнованное место на диске, в котором хранятся файлы. Полное имя файла может включать в себя каталоги, как C:\papka\file.txt, может и не включать C:\file.txt, а каталог это то, в чем могут быть расположены файлы: C:\papka. Каталог нельзя открыть в программе, чтобы записать в него какую-то информацию или прочитать, он для хранения файлов внутри себя, файл же наоборот - его можно открыть и отредактировать.

Вопрос № 9. Основные стадии конвейера современных процессоров

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

Выполнение команды состоит из ряда этапов:

1) чтение команды из памяти,

2) определение длины,

3) определение адреса ячейки памяти, если она используется,

4) выполнение команды,

5) сохранение результата.

В ранних процессорах все эти этапы над каждой командой проводились полностью. Конвейер позволил ускорить процесс: после того, как команда проходила один из этапов и переходила на следующий, начиналась обработка следующей команды. Это решение появилось в последних 486-х (например, в AMD 5х86-133). В Pentium впервые появился двойной конвейер. Команды смогли выполняться параллельно (кроме плавающей арифметики и команд перехода). Это позволило повысить производительность примерно на 30-35%.

Вопрос № 10. Что такое переименование регистров?

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

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

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

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

Источники

Интернет-ресурс - http://www.chinapads.ru/

Рязанцев О.І., Недзельський Д.О., Гусєва С.В. Архітектурна та структурна організація обчислювальних систем. Навчальний посібник. - Луганськ: Вид-во. СНУ ім. В.Даля, 2008.

Интернет-ресурс - http://studopedia.net/

Интернет-ресурс - http://proc.ucoz.ru/load/ustrojstvo_processora/1-1-0-2

Э.Танненбаум. Архитектура компьютера, 4-изд. СПб. Питер 2006.

Интернет-ресурс - http://193.108.240.69/moodle/file.php/5/navch_pos_OS.doc

Интернет-ресурс - http://znanija.com/task/1788585

Размещено на Allbest.ru

Подобные документы

    Классификация компьютерной памяти. Использование оперативной, статической и динамической оперативной памяти. Принцип работы DDR SDRAM. Форматирование магнитных дисков. Основная проблема синхронизации. Теория вычислительных процессов. Адресация памяти.

    курсовая работа , добавлен 28.05.2016

    История появления и развития оперативной памяти. Общая характеристика наиболее популярных современных видов оперативной памяти - SRAM и DRAM. Память с изменением фазового состояния (PRAM). Тиристорная память с произвольным доступом, ее специфика.

    курсовая работа , добавлен 21.11.2014

    Простейшая схема взаимодействия оперативной памяти с ЦП. Устройство и принципы функционирования оперативной памяти. Эволюция динамической памяти. Модуль памяти EDO-DRAM BEDO (Burst EDO) - пакетная EDO RAM. Модуль памяти SDRAM, DDR SDRAM, SDRAM II.

    реферат , добавлен 13.12.2009

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

    презентация , добавлен 18.03.2012

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

    презентация , добавлен 12.01.2009

    Хранение различной информации как основное назначение памяти. Характеристика видов памяти. Память типа SRAM и DRAM. Кэш-память или сверхоперативная память, ее специфика и области применения. Последние новинки разработок в области в оперативной памяти.

    презентация , добавлен 01.12.2014

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

    курсовая работа , добавлен 17.06.2013

    Улучшение параметров модулей памяти. Функционирование и взаимодействие операционной системы с оперативной памятью. Анализ основных типов, параметров оперативной памяти. Программная часть с обработкой выполнения команд и размещением в оперативной памяти.

    курсовая работа , добавлен 02.12.2009

    Общее устройство микропроцессора. Структура 64-битной подсистемы памяти. Селекция портов ввода/вывода. Особенности интерфейса микропроцессорных систем. Проектирование подсистемы памяти на базе Itanium 2. Расчёт информативности и необходимых объёмов.

    курсовая работа , добавлен 05.12.2012

    Понятие и функциональные особенности запоминающих устройств компьютера, их классификация и типы, сравнительная характеристика: ROM, DRAM и SRAM. Оценка преимуществ и недостатков каждого типа оперативной памяти, направления и пути их использования.

Модули памяти характеризуются такими параметрами, как объем (16, 32, 64, 128, 256 или 512 Мбайт), число микросхем, паспортная частота (100 или 133 МГц), время доступа к данным (6 или 7 нс) и число контактов (72, 168 или 184).

Модули DIP. Микросхемы DRAM упаковываются в так называемый DIP-корпус, при этом DIP обозначает Dual In-line Package (корпус с двухрядным расположением выводов). Этот термин относится к корпусам памяти, у которых выводы (Pins) расположены по бокам (напоминают жука) - рис. 3.48, а. Сам кристалл, на котором размещены ячейки памяти, существенно меньше, чем корпус. Данная конструкция корпуса обусловлена такими требованиями, как удобство печатного монтажа и установки микросхемы в панельки на системной плате, а также соблюдение температурного режима работы элементов.

Большинство модулей DIP имеют интервалы между выводами в ряду 2,54 мм (0,1"), а расстояние между рядами - 7,62 мм (0,3" - «Skinny DIP», «Тощий DIP») или 15,24 мм (0,6"). Типичное число контактов равно 8 или любому другому четному числу от 14 до 24 (реже -28) для корпусов на 0,3" и 24, 28, 32 или 40 (реже 36, 48 или 52) для корпусов на 0,6". На территории бывшего СССР используются аналогичные корпуса, но с размерами, выдержанными в метрической системе мер (например, интервал выводов 2,5 мм вместо 2,54 мм/0, Г).

Известны различные варианты корпусов DIP, в основном различающиеся материалом изготовления:

  • керамические (Ceramic Dual In-line Package - CERDIP);
  • пластмассовые (Plastic Dual In-line Package - PDIP);
  • пластмассовые уплотненные (Shrink Plastic Dual In-line Package - SPDIP) - уплотненная версия PDIP с интервалом выводов 1,778 мм (0,07").

Важнейшими параметрами микросхем DRAM являются емкость и организация памяти. Элементы DRAM в виде отдельных микросхем обычно устанавливались на старых материнских платах. В настоящее время эти микросхемы используются в качестве составных элементов модулей памяти, таких как SIP-, ZIP-и SIMM-модули.

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

Например, для микросхем фирмы Mostek первые две буквы МК являются обозначением фирмы, МКВ означает, что данная микросхема фирмы Mostek отбракована согласно военному стандарту (MIL STD-833), a MKI - что микросхема прошла отбраковку в соответствии с промышленным диапазоном температур. Цифра 4 говорит о том, что микросхема является элементом DRAM. Следующая за ней цифра обозначает количество инфор-

Рис. 3.48. Внешний вид модулей памяти: а - корпус DIP-14; б - модуль SIP; в - модуль ZIP; г - разъем ZIP; д - SIMM на 72 контакта; е -DDR2 (1 Гбайт, 533 МГц) с радиатором (184 контакта и один ключ); ж - DDR SO-DIMM (РС2700, 200 контактов); з - RDRAM-модуль со

встроенным радиатором

мационных разрядов: 1 - один разряд, 4 - четыре разряда. Группа цифр, следующая далее, обозначает количество информационных разрядов в килобитах (64 - 64 Кбит, 256 - 256 Кбит, 1000 - 1 Мбит). Далее буквой указывается тип корпуса (например, Р - пластмассовый, хотя тип может быть и не указан). Через дефис указывается время доступа в наносекундах. Таким образом, по обозначению МКВ44256-70 можно легко определить, что это микросхема фирмы Mostek, прошедшая отбраковку согласно военному стандарту, имеет емкость 4-го разряда по 256 Кбит каждый и время доступа 70 нс.

SIP-модули. Микросхемы DRAM довольно легко и просто устанавливать в ПК, однако они занимают много места. С целью уменьшения размеров компонентов ПК, в том числе и элементов оперативной памяти, был разработан ряд конструктивных решений, приведших к тому, что каждый элемент памяти больше не устанавливался в отдельную панель, а совместимые элементы DRAM объединены в один модуль, выполненный на небольшой печатной плате.

Технология, реализующая такую конструкцию элементов памяти, называется SMT (Surface Mounting Technology), дословно переводимая как «технология поверхностного монтажа». Благодаря ей совместимые элементы DRAM были установлены на одной плате, что, в первую очередь, означало экономию места.

В качестве реализации технологии SMT можно назвать так называемые SIP-модули с однорядным расположением выводов (Single In-line Package - SIP). SIP-модули представляют собой небольшую плату с установленными на ней совместимыми чипами DRAM (см. рис. 3.48). Такая плата имеет 30 выводов, размеры ее в длину около 8 см и в высоту около 1,7 см.

SIP-модули устанавливаются в соответствующие разъемы на системной плате. Однако при установке и извлечении таких модулей тонкие штырьки выводов часто обламываются, и контакт между штырьком и разъемом ненадежен. Это привело к дальнейшему развитию модулей памяти и появлению SIMM-модулей.

ZIP (Zig-zag In-line Package) - недолго просуществовавшая технология интегральных схем, в частности, чипов DRAM. Она была разработана для замены DIP. Интегральная схема ZIP заключается в пластиковый корпус, обычно размером 3 х 30 х 10 мм. Выводы устройства расположены в 2 ряда на одной из сторон корпуса. Эти ряды находятся на расстоянии 1,27 мм (0,05") друг от друга в шахматном порядке, что дает возможность их более компактного размещения, чем обычная прямоугольная решетка (рис. 3.48, в, г). Корпуса схем при этом могут располагаться на плате более плотно, нежели чем при схемотехнике DIP, при том же размере. ZIP были в дальнейшем вытеснены такими конфигурациями, как TSOP (thin small-outline packages), используемых в SIMM (single-in-line memory modules) и DIMM (dual-in-line memory modules).

SIMM-модули. Когда речь идет о SIMM-модуле, имеют в виду плату, которая по своим размерам примерно соответствует SIP-модулю. Различие, прежде всего, состоит в конструкции контактов. В отличие от SIP-модуля выводы для SIMM-модуля заменены так называемыми контактами типа PAD (вилка). Эти контакты выполнены печатным способом и находятся на одном краю платы. Именно этим краем SIMM-модули устанавливаются в специальные слоты на системной плате (рис. 3.48, d). Благодаря такой конструкции SIMM-модулей существенно повышается надежность электрического контакта в разъеме и механическая прочность модуля в целом, тем более что все контакты изготовлены из высококачественного материала и позолочены.

Отказы в работе оперативной памяти чаще всего происходят не из-за повреждения SIMM-модулей, а, скорее, из-за некачественной обработки контактов разъемов на системной плате.

Кроме того, удобная конструкция SIMM-модулей позволяет пользователям самостоятельно менять и добавлять элементы памяти, не опасаясь повредить выводы.

SIMM-модули являются стандартом в современных вычислительных системах. SIMM-модули, оснащенные DRAM 41256, сегодня применяются относительно редко. Чаще SIMM-модули оборудованы микросхемами памяти общей емкостью 8, 16 и 32 Мбит. В дальнейшем на рынке появились SIMM-модули, имеющие емкость 120 Мбит и более.

В PC с CPU 80386 и ранних моделях с CPU 80486 использовались 30-контактные SIMM-модули памяти (DRAM), и число слотов на системной плате колебалось от 4 до 8. В настоящее время найти в продаже подобные модули весьма не просто. В более поздних моделях PC с CPU 80486 и Pentium стали использоваться 72-контактные SIMM-модули памяти (FPM DRAM).

DIMM-модули. В дальнейшем на многих системных платах появились слоты для 168-контактных модулей памяти DIMM (Dual In-line Memory Module). Модули DIMM обладают внутренней архитектурой, схожей с 72-контактными SIMM-модулями, но благодаря более широкой шине обеспечивают повышенную производительность подсистемы «CPU-RAM».

Для правильного позиционирования DIMM-модулей при установке в слоты на системной плате в их конструкции предусмотрены два ключа:

  • первый ключ расположен между контактами 10 и 11 и служит для определения типа памяти модуля (FPM DRAM или SDRAM);
  • второй ключ расположен между контактами 40 и 41 и служит для определения напряжения питания модуля (5 или 3,3 В).

DIMM-модули поддерживают, например, материнские платы на Chipset 82430VX, 82440FX, 83450KX/GX, 82430ТХ.

SO-DIMM (Small Outline Dual In-Line Memory Module) представляет собой тип интегральных схем оперативной памяти компьютера (рис. 3.48, ж).

SO-DIMM является малогабаритной альтернативой для DIMM и обычно занимают около половины пространства, требуемого для обычных модулей DIMM. В результате SO-DIMM в основном используются в таких устройствах, как ноутбуки, небольшие настольные ПК (с платами типа Mini-ITX), высококачественные принтеры и сетевое оборудование (например, маршрутизаторы).

Модули SO-DIMM могут иметь 72, 100, 144 или 200 контактов, поддерживая передачу данных, соответственно, по 32 бита (100) и 64 бита (144 и 200). Обычные DIMM имеют по 168, 184 или 240 и все поддерживают 64-битовую передачу данных.

Различные типы SO-DIMM распознаются по размещению «ключей» - модули на 100 контактов имеют два ключа, 144-контактный SO-DIMM имеет один ключ близко к центру корпуса, 200-контактный SO-DIMM - один ключ ближе к краю корпуса.

SO-DIMM примерно соответствуют (или меньше чем) по мощности DIMM, и обе технологии SO-DIMM и DIMM обеспечивают примерно равные скорости (тактовая частота, например, 400 МГц для РС3200 и латентность CAS величиной 2,0, 2,5 и 3,0) и емкость (512 Мбайт, 1 Гбайт и пр.). Более современные модули DDR2 SO-DIMM имеют частоту до 800 МГц РС6400 и предполагается, что достигнут частоты 1066 МГц РС8500.

RIMM. С появлением Direct RDRAM (DRDRAM) в 1999 г. появляется модуль RIMM (рис. 3.49) (название - не акроним, а торговая марка Rambus Inc). Разъемы RIMM имеют типоразмеры, подобные DIMM, и могут устанавливаться в пределах той же

Рис. 3.49.

самой области системной платы, как и DIMM. Они имеют 184 штырька по сравнению с 168 для DIMM, но используют ту же спецификацию гнезда, как и стандарт DIMM на 100 МГц. BIOS ПК способен определить, какая оперативная память установлена, так что SDRAM-модули на 100 МГц должны работать в RIMM-совместимой системе. Существуют также компактные модели памяти SO-RIMM, аналогичные SO-DIMM.

Главные элементы к подсистеме памяти Rambus включают основное устройство, которое содержит Rambus ASIC Cell (RAC) и контроллер памяти (Rambus Memory Controller RMC), тактовый генератор (Direct Rambus Clock Generator DRCG), разъемы RIMM, модули памяти RIММ и модули непрерывности RIMM, а также подсистему «последовательное устройство обнаружения присутствия» (Serial Presence Detect SPD ROM).

В конечном итоге, технологии DDR, развиваясь и становясь все дешевле, практически вытеснили RDRAM - в интервале 2002-2005 гг. рыночная доля RDRAM не превышала 5 %.

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

Архитектура Fully Buffered DIMM предусматривает промежуточный буфер (Advanced Memory Buffer - AM В), устанавливаемый между контроллером и модулем памяти (рис. 3.50). В отличие от параллельной шинной архитектуры для традиционных

Разъем DDR2 с уникальным ключом

До 8 модулей DIMM

«Южный путь» (10 бит)

Контроллер

Рис. 3.50. Архитектура памяти FB-DIMM

DRAM, FB-DIMM имеет последовательный интерфейс между контроллером и AM В. Это позволяет повысить разрядность памяти без увеличения количества линий контроллера памяти.

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

Существует стандарт (протокол JESD82-20), определяющий интерфейс АМВ с памятью DDR2. Канал FB-DIMM состоит из 14 битовых линий «Северного пути» («northbound»), по которым данные передаются из памяти на процессор, и 10 линий «Южного пути» («southbound»), передающих команды и данные из процессора.

Каждый бит передается на частоте, в 12 раз большей, чем базовая частота памяти (в 6 раз, если используется удвоенная скорость, DDR - DDR3). Например, для чипа DDR2-667 DRAM канал будет работать на частоте 667 х 12/2 =4000 МГц. Каждые 12 циклов образуют кадр: 168 бит «Северного пути» (144 бита данных, передаваемых 72-битовой DDR SDRAM плюс 24 бита для CRC-коррекции) и 120 бит «Южного» (98 полезных бит и 22 CRC-бита). Из 98 бит здесь 2 задают тип кадра, 24 - команда; в оставшихся битах могут содержаться (в зависимости от типа кадра) либо 72 бита записываемых данных, либо две или более 24-битовых команд, либо одна команда или более плюс 36 бит записываемых данных.

Поскольку записываемые данные подаются медленнее, чем это необходимо для ОП DDR, они накапливаются в AM В, а затем записываются в одном пакете (обычно по четыре кадра данных).

Команды соответствуют стандартным циклам доступа DRAM, например, выбор строки (/RAS), предвыборка, регенерация и пр. Команды чтения и записи содержат только адреса столбцов (/CAS) массива памяти. Все команды содержат 3-разрядные адреса FB-DIMM, что позволяет подключать до 8 модулей FB-DIMM на 1 канал.

Важной частью вычислительных систем является память. Организация взаимодействия между процессором и памятью определяет основные характеристики вычислительной системы, остальные элементы обеспечивают связь этого звена с внешними устройствами с внешним миром. Память соединяется с управляющим памятью контроллером (устройством управления памятью) по шине адреса, шине данных и шине управления. Разрядность шины данных определяет, сколько двоичных разрядов одновременно (параллельно) может быть считано из памяти. Каждый двоичный разряд (1 бит) хранится элементом памяти. Элементы для памяти различного типа строятся на основе различных физических принципов записи и хранения информации. Элементы памяти объединяются в ячейки памяти. При этом все элементы ячейки адресуются одновременно, одинаково и организованы так, что одновременно могут выдавать данные на шину данных. Такие объединенные ячейки образуют слово. Количество разрядов данных, считываемых из памяти одновременно, называют длиной выборки. Для хранения 1 байта используется 8 элементов памяти, восьмибитные ячеки памяти организованы с использованием шины данных шириной 8 линий.

Из микросхем памяти (чипов) создаются модули памяти, которые устанавливаются в специальные слоты (разъемы) вычислительной системы. Сейчас наиболее распространены DIMM модули - модули памяти с двумя рядами контактов.

Разрядность адресной шины определяет адресное пространство, то есть количество ячеек памяти, которые могут адресоваться непосредственно. Если разрядность адресной шины - n, то количество всех возможных двоичных комбинаций (количество адресов) определится как N = 2n.

Рис. 1. Организация связи системы памяти с процессором

Память вычислительного устройства может выполнять три операции:

a) хранение информации;

b) запись информации;

c) чтение информации.

Характеристики памяти:

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

Удельная емкость определяется как отношение емкости памяти к физически занимаемому ею объему.

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

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

Классификация памяти:

Память с произвольным доступом

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

Прямой циклический доступ

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

Последовательный доступ

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

Безадресная память

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

Классификация памяти по функциональному назначению:

ПЗУ - постоянные запоминающие устройства или ROM (Read Only- Memory), служат для хранения постоянных данных и служебных программ.

СОЗУ - сверхоперативное запоминающее устройство, это набор регистров общего назначения - РОН, предназначенных для хранения операндов и результатов выполнения операции в процессоре.

ОЗУ - оперативное запоминающее устройство или RAM (Random Access Memory - память с произвольной выборкой), служит для хранения выполняемой программы и оперативных данных. Если к любому регистру можно обратиться для записи/чтения по его адресу, то такая регистровая структура образует СОЗУ с произвольным доступом.

Классификация по способу хранения информации:

Статическая память

В статических запоминающих устройствах БИС выполнены на бистабильных триггерных элементах памяти (имеющих два стабильных состояния - отсюда и название памяти).

Динамическая память

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

Постоянная память

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

Голографическая память

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

Биологическая память

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

Память на магнитных носителях

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

Оптическая память

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

Память является одним из основных компонентов любого компьютера. Ее емкость и быстродействие в значительной степени определяют производительность всей компьютерной системы. В данном вопросе были рассмотрены наиболее важные технологии создания и детали организации памяти.