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

ЦСРС_1 / Grebeshkov_Tehnika_mikroproz_sistem_v_kommutazii_uchebnik_dlya_vuzov_2011

.pdf
Скачиваний:
133
Добавлен:
05.05.2015
Размер:
4.74 Mб
Скачать

Техника микропроцессорных систем в коммутации

ОЗУ, в этом случае М=1. Если страница размещена на прочих устройствах памяти (НЖМД, НМЛ, НОД), то бит М=0.

Бит Р – разрешает или запрещает кэширование страницы: Р=1, если то данные из ОЗУ могут быть перенесены в кэш–память; Р=0, если то данные из ОЗУ не могут быть

перенесены в кэш–память.

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

необходимо выделения специальных страниц для общих программ;

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

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

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

сегменты данных, которые хранят только данные с разрешением либо на чтение, либо на запись.

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

51

Техника микропроцессорных систем в коммутации

тельности оперативной памяти при обмена с МПр является организация буферной или кэш–памяти.

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

Рабочее множество данных включает содержимое физических ячеек оперативной памяти с последовательными адресами. Текущее рабочее множество данных (блок данных) можно временно копировать и сохранять в буферной памяти с минимальным временем доступа со стороны МПр для чтения/записи. Эта буферная память сохраняет данные и команды всѐ время, необходимое для их исполнения. После окончания обработки данных содержимое кэш-памяти копируется содержимое в ОЗУ, откуда вновь считывается в кэш-память новое рабочее множество.

Разрядность кэша т.е. длина строки кэш-памяти составляет, как правило, от 4 до 128 байт (максимум 1024 байт), ѐмкость кэш памяти составляет от 4 Кбайт до 16 Мбайт в зависимости от уровня кэшпамяти и типа микропроцессора. Управляет кэш-памятью контроллер кэш-памяти. При необходимости считывания в МПр операнда, контроллер кэш-памяти ищет указанный операнд сначала в кэш-памяти. Если операнд не найден, то формируется т.н. «кэш-промах» (missing cache) при операции чтения кэш-памяти. Тогда контроллер кэшпамяти считывает в кэш-память из оперативной памяти физический блок данных, т.е. содержимое нескольких физических ячеек памяти с последовательными адресами и требуемыми операндами.

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

52

Техника микропроцессорных систем в коммутации

ти (младшие биты адреса). Таким образом, кэш является непосредственно адресуемой памятью. Размер/разрядность тэга ограничена, поэтому в данный момент времени для кэширования доступна не вся оперативная память, а, например, только 256 Мбайт. Общая схема кэш-памяти приведена на рис. 1.19 [91].

Кэш-память микропроцессора

Адресный

Бит

Бит

Слово

Слово

Слово

Слово

тэг

V

D

данных3

данных2

данных1

данных0

Адресный

Бит

Бит

Слово

Слово

Слово

Слово

тэг

V

D

данных3

данных2

данных1

данных0

Адресный

Бит

Бит

Слово

Слово

Слово

Слово

тэг

V

D

данных3

данных2

данных1

данных0

 

 

 

 

 

 

 

...

 

 

 

 

 

 

 

 

 

 

 

 

 

Адресный

Бит

Бит

Слово

Слово

Слово

Слово

тэг

V

D

данных3

данных2

данных1

данных0

 

 

 

 

 

 

 

Линия (блок, строка) кэш-памяти микропроцессора

Рис. 1.19 – Общая схема кэш-памяти микропроцессора

В схеме на рис. 1.19 значение бита V (valid) указывает на то, что в этой линии (блоке) кэш памяти хранятся актуальные данные, считанные из ОЗУ и доступные для обработки по запросу ЦПУ. Бит D (dirty) указывает на то, содержит или нет линейка кэш-памяти копию данных соответствующей строки ОЗУ. Это особенно важно для кэшпамяти, содержимое которой копируется в ОЗУ не мгновенно после обновления, а по истечении какого-то времени. Дополнительно в линию (блок) могут записываться биты проверки четности (для отдельных байт), либо биты проверки и коррекции ошибок ECC, вычисляемые по алгоритму Хэмминга для нескольких слов данных. Также могут одним битом проверки на четность могут защищаться тэги. Указанные проверки безусловно замедляют работу кэш–памяти, хотя повышают достоверность обрабатываемых данных.

За счѐт подключения непосредственно к ЦПУ, кэш память имеет малое время обращения, порядка десятков наносекунд. Если физическая память объѐмом M разделена на N сегментов, обычно объемом 1024 байт каждый сегмент, то кэш содержит n страниц тако-

53

Техника микропроцессорных систем в коммутации

го же объема. Любая страница в кэш–памяти может заполняться информацией из ОЗУ всего за несколько тактов. В каждой странице кэш-памяти расположены данные со смежными физическими адресами, разные страницы кэш-памяти могут не совпадать по адресам.

Уровень кэш–памяти определяется конструктивно с помощью физического расстояния до центрального процессорного устройства. Кэш 1-го уровня конструктивно ближе всех расположен к ЦПУ и имеет физическую ширину (разрядность), равную разрядности шине данных. Кэш 1-го уровня находится на кристалле процессора и может рассматриваться как регистр большой ѐмкости. Кэш 2-го уровня находится на кристалле процессора и мультиплексирует данные системной шины и кэша первого уровня. Кэш 3-го уровня, в зависимости от типа микропроцессора, может непосредственно подключаться к процессору, или располагаться на кристалле МПр. С учетом вышесказанного, наличие кэш–памяти и регистров обеспечивает следующие технические характеристики памяти МПр различного уровня:

Регистр общего назначения, РОН имеет размер 64…256 байт. Задержка/ожидание обращения со стороны АЛУ к данным РОН (латентность доступа) регистров составляет 1 такт работы ЦПУ или около 5 нс в зависимости от типа МПр.

Кэш 1-го уровня L1 имеет размер 16…32 кбайт, задержка обращения к данным L1 составляет 1 такт работы ЦПУ.

Кэш 2-го уровня L2 имеет размер от 256 кбайт до 512 Кбайт, с изменением конструкции МПр – до 6 Мбайт, задержка обращения к данным L2 составляет 3…20 тактов работы ЦПУ.

Кэш 3-го уровня L3 имеет ѐмкость до 24 Мбайт, например для МПр типа Itanium2 Tukwila (данные 2010 г.), а задержка обращение к данным составляет не менее 30 тактов работы ЦПУ (более 10 нс).

Ёмкость ОЗУ составляет до 4 Гбайт на 1 микросхему памяти, задержка обращение к данным составляет более 40 тактов работы ЦПУ (20…60 нс).

По данным ([79]с. 243,) фактическая задержка обращение к данным составляла в МПр типа IBM POWER5 (P5) с тактовой часто-

54

Техника микропроцессорных систем в коммутации

той 1,9 ГГц для кэш-памяти L1 – 1 такт работы ЦПУ, для кэш-памяти L2 – 13 тактов работы ЦПУ, для кэш-памяти L3 – 87 тактов работы ЦПУ, для оперативной памяти RAM – 220 тактов работы ЦПУ. Относительно низкие показатели быстродействия ОЗУ объясняются тем, что эта память относится к динамической памяти. Конструкция ячейки динамической памяти проще, чем конструкция ячейки статической памяти, она может включать один транзистор и один конденсатор. Наличие или отсутствие заряда конденсатора соответствует единичному или нулевому состоянию, при чтении из ячейки конденсатор перезаряжается, кроме того для компенсации «естественного» разряда конденсаторов требуется регулярная перезарядка, не менее 15 раз в секунду с помощью имитации цикла записи в память. В результате ОЗУ имеет емкость больше чем кэш-память, но меньшее быстродействие.

Выделяют два типа кэш памяти:

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

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

Существует несколько способов организации кэш-памяти.

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

Кэш полностью ассоциативный – сегмент (блок) основной

55

Техника микропроцессорных систем в коммутации

памяти может находиться в любом месте кэша.

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

Особенности конструкции кэш–памяти обуславливают еѐ ограниченный размер и ѐмкость хранимой информации. Физически размер одной ячейки кэш–памяти, хранящей 1 бит, достаточно большой, конструкция состоит из 4…8 транзисторов, до двух резисторов, поэтому занимает площадь 0,57…0,7 мкм2. Состояние затвора транзистора соответствует нулевому или единичному состоянию. Это запоминающее устройство относится к статической памяти, которая отличается высоким быстродействием по сравнению с ячейками ОЗУ, но из-за большого количества составляющих элементов сложна в производстве и отличается достаточно высоким энергопотреблением. В результате размер кэш–памяти ограничивается физическими размерами кристалла и характеристиками энергопотребления МПр.

При работе с кэш–памятью преобладают операции чтения из кэш–памяти (до 90% операций) и только 10% операций приходятся на процедуру записи в кэш. В частности, запись позволяет обеспечить синхронизацию данных между кэш и ОЗУ, для этого используется специальные алгоритмы, которые описывают следующую последовательность операций: чтение оригинала блока данных из кэш– памяти → модификация части блока с помощью ЦПУ → запись нового значения блока в кэш–память. Модифицированный блок кэшпамяти записывается в ОЗУ только после полного замещения информации в кэш. Для того, чтобы отметить модифицировался блок или нет, может использоваться специальный бит состояния, аналогичный биту D на рис. 1.19. Если бит не изменил своего значения, то копирование в ОЗУ отменяется, что уменьшает время обращения МПр к данным и повышает производительность вычислительного устройства. С учетом наличия многоуровневой кэш-памяти к строке может быть добавлен бит S (shared) – бит общности, указывающей на то, имеются ли копии данной строки в кэш-памяти других уровней, включая кэш-память других процессоров.

56

Техника микропроцессорных систем в коммутации

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

нию. Протокол MESI (Modified, Exclusive, Shared, Invalid) использует 2 бита, а протокол MOESI (Modified, Owned, Exclusive, Shared, Invalid)

использует 3 бита. Соответственно два бита дают четыре двоичные комбинации 0 и 1, а три бита – восемь таких комбинаций. Каждая комбинация соответствует определенному состоянию.

Состояние Modified означает, что линия не соответствует содержанию ОЗУ; состояние Exclusive означает, что линия соответствует содержимому ОЗУ и не содержится в кэш-памяти других уровней; состояние Shared – означает, что линия соответствует содержимому ОЗУ и еѐ копии могут быть в кэш-памяти других уровней; состояние Invalid – линия не содержит полезной информации; состояние Owned – означает, что все права на данную строку принадлежат определенному ЦПУ. В целом иерархия памяти МПр c кэш-памятью L1, L2, L3 и ОЗУ может быть представлена на рис. 1.20.

 

ЦПУ

Р е г и с т р ы

Кэш L1 -

Кэш L1 –

команды

данные

Кэш L2 - общий

Оперативная

Кэш L3-общий

память, ОЗУ

 

Рис. 1.20 – Организация памяти процессора

с кэш 1-го, 2-го и 3-го уровня

Обычно содержимое кэш-памяти L1 целиком находится в кэшпамяти L2; все содержимое L2 является частью содержимого кэшпамяти L3. Микропроцессор на рис. 1.20 согласно классификации Флинна (Flinn), может быть условно отнесѐн к классу SISD (Single Instruction Single Data) одиночный поток команд–одиночный поток

57

Техника микропроцессорных систем в коммутации

данных. Под потоком команд можно понимать последовательность команд одной исполняемой программы. Поток данных — это последовательность данных, обрабатываемых одной программой. В более общем плане поток – форма представления задачи, где не происходит выделение собственного адресного пространства памяти, а используется область памяти операционной системы; такие потоки называются потоками ядра операционной системы, которые могут работать одновременно на нескольких МПр. Существуют также потоки, реализуемые приложениями пользователя, в результате чего исходная программа может быть разделена на несколько подзадач. Эти подзадачи могут использовать потоки ядра операционной системы и в результате исполняться на нескольких МПр или на нескольких ядрах микропроцессоров. С учетом сказанного, на рис. 1.19 изображена простейшая последовательная ЭВМ, которая выполняет единственную программу. В этом простейшем варианте МПр имеет только один счетчик команд и одно АЛУ. Таким образом, многопоточность на практике означает одновременное выполнение нескольких, как правило связанных между собой, алгоритмов, на одном МПр. Подробнее увеличение производительности данной микропроцессорной системы за счѐт развития архитектуры, связанной с многопоточной обработкой данных, детально рассматривается в главе 5.

1.6Микропроцессорные системы узлов коммутации

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

58

Техника микропроцессорных систем в коммутации

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

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

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

59

Техника микропроцессорных систем в коммутации

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

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

Дополнительно микропроцессорные системы общего назначения выполнят функции администрирования доступом пользователей, включая идентификацию и аутентификацию, к услугам узла коммутации. Здесь же осуществляется управление непосредственным и удаленным доступом персонала эксплуатации к программно– реализованным функциям управления узла коммутации. В последнее время на микропроцессоры общего назначения также возлагаются задачи обеспечения защиты информации. Современные МПр могут выполнять на аппаратном уровне криптографические алгоритмы RSA и DSA с 2048-разрядным ключами для защиты информации, что реализовано, например, в МПр типа UltraSPARC T1.

Ко второй группе микропроцессорных систем и микропроцессоров в узлах коммутации относятся специальные или специализиро-

60