Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Konyukhova_arhitektura

.pdf
Скачиваний:
36
Добавлен:
12.03.2016
Размер:
6.11 Mб
Скачать

Главной отличительной особенностью флэш является возможность перепрограммирования при подключении к стандартной системной шине микропроцессора. Число циклов репрограммирования флэш-памяти хотя и велико (от 10 000 до 1 000 000 раз), но ограничено. Это связано с тем, что перезапись идёт через стирание, которое приводит к износу микросхемы. Для увеличения долговечности флэш-памяти в её работе применяются специальные алгоритмы для «разравнивания» числа перезаписей по всем блокам микросхемы.

В отличие от жёстких дисков, CD- и DVD-ROM, во флэшносителях нет движущихся частей, поэтому их и называют твердотельными. По оценкам производителей, информация на флэш может храниться от 20 до 100 лет. Благодаря компактным размерам, высокой степени надёжности и низкому энергопотребелению, флэшпамять активно используется в современных вычислительных машинах в качестве съёмного носителя информации.

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

типов [2, 5, 7, 17]:

1.Bulk Erase – стирание допустимо только для всего массива запоминающих элементов.

2.Boot Block – массив запоминающих элементов разделён на несколько блоков разного размера, содержимое которых может осуществляться независимо. Среди блоков есть так называемый загрузочный блок, содержимое которого аппаратно защищено от случайного стирания. В нём хранится программное обеспечение для правильной эксплуатации и инициализации микросхемы.

3.Flash File – массив запоминающих элементов разделён на несколько равноправных блоков одинакового размера, содержимое которых может стираться независимо. Файловая флэш-память ориентирована на замену жёстких дисков, поэтому её блоки являются аналогами секторов магнитных дисков.

Базовым элементом матрицы является флэш-ячейка, которая состоит из транзистора особой архитектуры – полевого двухзатворного транзистора. Ячейки флэш-памяти можно соединить последовательно (в цепочку) или параллельно. В первом случае логическая организация памяти называется NAND (Not AND, НЕ-И), во втором – NOR (Not OR, НЕ-ИЛИ).

110

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

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

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

Одна ячейка флэш-памяти содержит один транзистор, который

впростейшем случае хранит один бит информации. Такие ячейки на-

зываются одноуровневыми (SLC – Single Level Cell). Создание мно-

гоуровневой ячейки, или ячейки с многоуровневым кодированием

(MLC – Multi Level Cell), позволило хранить на одном транзисторе два бита информации. В качестве опытных образцов существуют 4-битовые ячейки. Компания «Intel» в 1997 г. [5] представила флэшпамять с 2-битовыми ячейками, которая получила название Strata Flash.

Ячейки MLC применяются в памяти NOR, но наиболее популярны в памяти NAND. Память SLC NAND, в сравнении с MLC NAND, имеет более высокие скорости передачи данных, меньшее энергопотребление и повышенную надёжность. Однако MLC NAND имеет большую ёмкость и меньшую цену.

111

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

7.7.Архитектурные способы повышения скорости обмена между процессором и памятью

Как указано в [2], быстродействие СБИС DRAM увеличивается существенно медленнее, чем быстродействие процессоров. Важнейшим архитектурным решением для сглаживания этого противоречия явилось введение в структуру ВМ кэш-памяти – быстродействующего буфера между основной памятью и регистрами процессора. В эту буферную память из основной памяти помещаются копии команд и данных, относящихся к обрабатываемому в данный момент фрагменту программы. Работа кэш-памяти скрыта от пользователя. Кэш-память наиболее эффективна, если встроена внутрь кристалла процессора (кэш-память 1-го уровня – L1). Её объём составляет 16 –32 Кбайт. В большинстве современных компьютеров используют 2- или 3-уровневую кэш-память, L2 и L3 соответственно. Кэш-память L2 объёмом 256 – 512 Кбайт часто располагается в одном корпусе с процессором и соединяется с ним с помощью специальной локальной шины, работающей на основной или половинной частоте процессора. Кэш-память L3 объёмом в несколько Мбайт размещается на системной плате компьютера. Обычно всё содержимое кэш L1 находится в кэш L2, а всё содержимое L2 является частью кэш L3.

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

112

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

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

строенной на СБИС DRAM: пакетный доступ, конвейерный доступ

и их сочетание.

Структура оперативной памяти с пакетным доступом и чередованием банков (рис. 43) [2] содержит в себе следующие блоки: накопитель, разделённый на 4 банка (Б0, Б1, Б2, Б3); регистр данных, содержащий 4 субрегистра – фиксатора данных (Ф0, Ф1, Ф2, Ф3), соот-

ветствующих 4-м банкам; мультиплексор (демультиплексор) – М/ДМ; регистр адреса (РА), блок управления (БУ). Разрядность ячеек каждого банка соответствует разрядности шины данных в системной шине. Адреса присваиваются ячейкам оперативной памяти с чередованием номера банка (на рис. 43: 0, 1, …, 11). Накопитель (упорядоченный массив из n-разрядных ячеек) подразделяется на m банков: , k – целое. В рассматриваемом примере k = 2.

При этом адрес i-й ячейки представляется следующим образом (формула 17):

,

(17)

где d – адрес внутри банка;

b – номер банка (b = 0, 1, …, m-1). Такое распределение адресов между m банками называют m-кратным чередованием банков.

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

Содержимое считанных ячеек фиксируется в регистре данных. Далее данные из Ф0, Ф1, … по очереди с использованием мультиплексора передаются по системной шине данных. Пусть, например, осуществляется считывание пакета из ячеек с адресами 4, 5, 6, 7 (рис. 43).

113

Если обозначить время доступа через , а время передачи через , то оценка времени чтения пакета без чередования банков вычисляется по формуле 18 а с чередованием банков – по формуле 19.

(18)

.

(19)

 

 

 

 

0

 

1

 

2

 

3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

РА

 

 

Б0

Б1

Б2

Б3

 

 

 

 

 

 

 

 

 

 

 

8

9

10

11

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

4

5

6

7

 

 

 

 

 

 

 

 

 

 

 

 

 

 

БУ

 

 

0

1

2

3

 

 

 

 

 

 

 

 

 

 

 

Регистр

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Ф0

Ф1

Ф2

Ф3

 

 

 

 

данных

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

М/ ДМ

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Шина данных

Запрос (адрес)

Рис. 43. Структура оперативной памяти с пакетным доступом и чередованием банков

Быстродействие памяти по отношению к быстродействию процессора характеризуется числом тактов ожидания в цикле обращения к памяти. Допустим, что время доступа соответствует трём тактам, а время передачи – двум тактам. Тогда в случае без чередования банков время передачи пакета из четырёх слов можно охарактеризовать вектором (5, 5, 5, 5), а при использовании чередования банков – (5, 2, 2, 2). Из приведённых оценок видно, что в структурах оперативной памяти с пакетным доступом интенсивность обмена повышается.

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

Структура оперативной памяти с конвейерным доступом и чередованием банков представлена на рис. 44 [2].

114

Память содержит следующие блоки: накопитель, разделённый на 4 банка (Б0, Б1, Б2, Б3); 4 регистра данных (Ф) с независимым управлением (в отличие от структуры на рис. 43); мультиплексор

(демультиплексор) – М/ДМ; регистры адреса РА0-РА3 для каждого банка; блок управления (БУ). Разрядность ячеек для каждого банка соответствует разрядности данных в системной шине. Адреса присваиваются ячейкам оперативной памяти с чередованием номера бан-

ка (на рис. 44: 0, 1, …, 11).

РА0 1 2 3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

8

 

9

 

 

10

 

11

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

4

 

5

 

 

6

 

7

Очередь

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

 

1

 

 

2

 

3

запросов

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

и очередь

БУ

 

 

 

 

 

 

 

 

 

 

 

данных

 

 

 

Ф

 

Ф

 

 

Ф

 

Ф

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

М/ДМ

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Шина данных

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Запрос (адрес)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Рис. 44. Структура оперативной памяти с конвейерным доступом и чередованием банков

Цикл обращения к памяти (например, чтения) содержит три фазы: доступ к ячейке, воспроизведение данных, передача данных от регистров Ф через мультиплексор и системную шину в процессор. В качестве примере рассмотрим чтение пакета с последовательностью адресов 8, 6, 1, 7. Ограничение на расположение адресов ячеек здесь менее жёсткое, чем при пакетном доступе. Требуется, чтобы адреса ячеек пакета находились в разных банках. Если длительность фаз считать одинаковой, равной T, то справедливы следующие оценки для времени чтения пакета из четырёх слов: без конвейеризации – формула 20, с конвейеризацией – формула 21 [2].

;

(20)

.

(21)

115

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

мяти, осуществляется доступ к k ячейкам с идущими подряд адресами.

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

Вопросы для самопроверки

1.Что такое память? Перечислите основные характеристики памяти. В чём заключается суть иерархической структуры памяти?

2.Приведите условное изображение простейшего ЗУ и поясните его основные сигналы.

3.Поясните особенности адресных ЗУ. На какие подвиды подразделяются адресные ЗУ? Дайте характеристику последовательным ЗУ, укажите их особенности. В чём заключаются характерные особенности ассоциативных ЗУ? Назовите виды перспективных на сегодняшний день ЗУ.

4.Приведите структуру модуля основной памяти, поясните принципы работы. Какие типы конструктивных модулей памяти существуют в настоящее время?

5.Что представляет собой стек? В чём заключается логика работы стековой памяти? Приведите схему организации стека на примере процессора Intel 8086. Что такое вершина стека? Какие основные команды используются для работы со стеком, и как изменяется при этом состояние стека? Приведите примеры.

6.В чём заключаются принципы построения ассоциативной памяти? Приведите структурную схему ассоциативной памяти и поясните особенности её работы.

7.Что такое флэш-память? Какие различают микросхемы флэшпамяти по способу организации массива запоминающих элементов?

В чём заключаются особенности флэш-памяти с ячейками NOR и с ячейками NAND? Перечислите особенности флэш-памяти с ячейками MLC.

116

8.Что такое кэш-память? Какие выделяют уровни кэш-памяти? Поясните принципы работы кэш-памяти.

9.Что представляет собой структура оперативной памяти с пакетным доступом и чередованием банков, с конвейерным доступом

ичередованием банков? За счёт чего достигается повышение скорости обмена данными между процессором и памятью? Каким образом осуществляется обмен данными при сочетании пакетного и конвейерного методов доступа?

8.УПРАВЛЕНИЕ ПАМЯТЬЮ. ВИРТУАЛЬНАЯ ПАМЯТЬ

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

Согласно [2 – 4], непосредственно адресуемая процессором оперативная память (ОП) имеет сравнительно небольшой объём, что

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

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

динамическим распределением памяти.

Воснове всех известных методов динамического распределения памяти лежат два положения:

1) каждому заданию (процессу) необходимо выделять непрерывную и перемещаемую область памяти;

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

117

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

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

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

В соответствии с [2, 3], использование виртуальной памяти позволяет писать программы, размер которых превосходит имеющуюся ОП. При этом с помощью виртуальных (логических) адресов обеспечивается адресация всего адресного пространства ВМ, которая, напомним, зависит от разрядности шины адреса. Систему виртуальной памяти можно представить в виде одноуровневой логической и двухуровневой (ОП и ВЗУ) физической памяти. Адреса, к которым программа может обратиться, образуют виртуальное адресное пространство системы, а реальные адреса – физическое адресное пространство, причём линейное, состоящее из N ячеек разрядностью n. Про-

118

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

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

лера управления памятью MMU (Memory Management Unit).

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

8.2. Сегментная организация памяти

В соответствии с [2, 8], сегментирование – это разделение памяти на логические блоки произвольной длины. Логическое пространство задачи обычно представляется в виде нескольких сегментов. Каждый сегмент имеет имя, в соответствии с которым ОС при распределении памяти назначает базовый адрес. Количество сегментов определяет пользователь при подготовке программы. Для раздельного хранения команд, данных и стековых данных выделяются специальные сегменты: сегмент кода, сегмент данных, сегмент стека. Максимальное количество сегментов (s) определяется разрядностью поля команды, которое используется для задания номера сегмента. Например, в процессорах Pentium разрядность индекса селектора сегмента равна 13, что соответствует 8192 сегментам. Предельный размер (длина) каждого сегмента определяется разрядностью внутрисегментного смещения. Например, для процессоров Pentium длина сегмента ограничивается величиной Гбайта. Длина сегмента может меняться во время выполнения программы. Сегмент может переполниться, но это случается редко, поскольку длина сегментов достаточно большая.

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

119

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]