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





Название1. Показать развитие и классификацию однопроцессорных архитектур Архитектура общая функциональная и структурная организация машины, определяющая методы
страница8/11
Дата публикации04.04.2015
Размер0.99 Mb.
ТипДокументы
100-bal.ru > Информатика > Документы
1   2   3   4   5   6   7   8   9   10   11

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

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

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

image064.gif

77. Принцип работы кэш-памяти с частично ассоциативным распределением

Адрес строки основной памяти (14 бит) разделяется на две части: b – тег (старшие 9 бит) и е – адрес группы (младшие 5 бит). Адрес строки внутри кэш-памяти, состоящий из 7 бит, разделяется на адрес группы (5 бит) и адрес строки внутри группы (2 бит).

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

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

Когда центральный процессор запрашивает доступ по i-му адресу к кэш-памяти с целью чтения или записи, то осуществляется обращение к массиву тегов по адресу е, выбирается группа из четырёх тегов (a, b, c, d), каждый из которых сравнивается со старшими 9 битами (b) адреса строки. На выходе четырёх схем сравнения формируется унитарный код совпадения (0100), который на шифраторе преобразуется в двухразрядный позиционный код, служащий адресом для выбора банка данных (01). При операции чтения (записи) одновременно осуществляется обращение к массиву данных по адресу e.f (9 бит) и считывание (запись) из банка (в банк) V2 требуемой строки или слова.

Одновременно осуществляется обращение к массиву данных по адресу e.f (9 бит) и считывание из банка V2 требуемой строки или слова. При пересылке новой строки в кэш-память удаляемая из нее строка выбирается из четырех строк соответствующего набора (группы).

image065.gif78. Методы обновления строк в основной и кэш-памяти

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

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

Сквозная запись

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

Обратная запись

По методу обратной записи, если адрес объектов, по которым есть запрос обновления, существует в кэш-памяти, то обновляется только кэш-память, а основная память не обновляется. Если адреса объекта обновления нет в кэш-памяти, то в неё из основной памяти пересылается строка, содержащая этот адрес, после чего обновляется только кэш-память. По методу обратной записи в случае замены строк удаляемую строку необходимо также пересылать в основную память. У этого метода существуют две разновидности: метод SWB (простая обратная запись), по которому удаляемая строка возвращается в основную память, и метод FWB (флаговая обратная запись), по которому в основную память записывается только обновлённая строка кэш-памяти. В последнем случае каждая область строки в кэш-памяти снабжается однобитовым флагом, который показывает, было или нет обновление строки, хранящейся в кэш-памяти.
79. Методы замещения строк в кэш-памяти

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

•замещение строки, к которой наиболее длительное время не было обращения (метод LRU);

•первая загруженная в кэш-память строка замещается первой (метод FIFO);

•произвольное замещение.

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

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

80. Организация многоуровневой кэш-памяти

Большинство современных компьютеров имеют два или три уровня кэш-памяти. Первый, наиболее «близкий» к ядру процессора (L1), обычно реализуется на быстрой двухпортовой синхронной статической памяти, работающей на полной частоте ядра. Объём L1-кэша весьма невелик, составляет 64 КВ или 128 КВ и разделяется пополам на два кэша данных и команд для каждого ядра процессора. Латентность кэша L1 измеряется 3-мя, 4-мя тактами. На втором уровне расположен кэш L2. Он реализуется на однопортовой конвейерной статической памяти и зачастую работает на пониженной тактовой частоте. Поскольку однопортовая память значительно дешевле, объём L2-кэша достигает нескольких мегабайт в двухъядерных структурах процессоров, когда он является общим для двух ядер (Intel Core 2 Duo), или несколько сотен килобайт (256 КВ или 512 КВ), когда в многоядерном процессоре каждое ядро имеет свой L2-кэш (см. рис. 4.7). Этот кэш хранит как команды, так и данные. Латентность L2 для процессоров Intel Nehalem 3,2 ГГц со-ставляет 11 тактов, для Penryn 3,2 ГГц – 18 тактов.

На третьем уровне находится L3-кэш, который объединяет ядра между собой и является разделяемым. В результате, L2-кэш выступает в качестве буфера при обращениях процессорных ядер в разделяемую кэш-память, имеющую достаточно солидный объём (2 МВ – AMD K10, 8 МВ – Intel Nehalem). Латентность L3-кэша исчисляется 52-мя, 54-мя тактами.

При построении многоуровневой кэш-памяти используют включающую (inclusive) или исключающую (exclusive) технологии. Кэш верхнего уровня, построенный по inclusive-технологии, всегда дублирует содержимое кэша нижнего уровня. Инклюзивный разделяемый L3-кэш способен обеспечить в многоядерных процессорах более высокую скорость работы подсистемы памяти. Это связано с тем, что, если ядро попытается получить доступ к данным, и они отсутствуют в кэше L3, то нет необходимости искать эти данные в собственных кэшах других ядер – там их нет. А благодаря тому, что каждая строка L3-кэша снабжена дополнительными флагами, указывающими владельцев (ядра) этих данных, не вызывает затруднений и процедура обратного изменения содержимого строки кэша. По такой технологии организована кэш-память процессоров Intel Nehalem.

Кэш – подсистема, построенная по exclusive-технологии, никогда не хранит избыточных копий данных и потому эффективная ёмкость подсистемы определяется суммой ёмкостей кэш-памятей всех уровней. Кэш первого уровня никогда не уничтожает строки при нехватке места. Даже если они не были модифицированы, данные в обязательном порядке вытесняются в кэш второго уровня, помещаясь на то место, где находилась только что переданная кэшу L1 строка. Т. е. кэши L1 и L2 как бы обмениваются друг с другом своими строками, а потому кэш-память используется весьма эффективно. По такой технологии организована кэш-память процессоров AMD K10.

81. Общие принципы организации оперативной памяти компьютера

Ядро памяти организовано в виде двумерной матрицы. Для получения доступа к той или иной ячейке необходимо указать адреса соответст-вующей строки и столбца. Для ввода адреса строки используется стро-бирующий сигнал RAS, а для адреса столбца – стробирующий сигнал CAS. Порядок обращения к памяти начинается с установки регистров управления. После чего вырабатывается сигнал выбора нужного банка памяти и по прошествии (задержки) Command rate осуществляется ввод адреса строки и подача стробирующего сигнала RAS (обычно эта задержка составляет один или два такта). С приходом положительного фронта тактового импульса открывается доступ к нужной строке, а ад-рес строки помещается в адресный буфер строки, где он может удерживаться столько времени, сколько нужно. Через промежуток времени, называемый RAS to CAS delay (tRCD) – то есть задержка подачи сигнала CAS относительно сигнала RAS, подается стробирующий импульс CAS, под действием которого происходит выборка адреса столбца и открывается доступ к нужному столбцу матрицы памяти. Затем, через время CAS latency (tCL), на шине данных появляется первое слово, которое может быть считано процессором. После завершения работы со всеми ячейками активной строки выполняется команда деактивации Precharge, позволяющая перейти к следующей строке

82. Распределение оперативной памяти фиксированными разделами

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

image069.gif

83. Распределение оперативной памяти динамическими разделами

В этом случае память машины не делится заранее на разделы. Сначала вся память свободна. Каждой вновь поступающей задаче выделяется необходимая ей память. Если достаточный объем памяти отсутствует, то задача не принимается на выполнение и стоит в очереди. После завершения задачи память освобождается, и на это место может быть загружена другая задача. Таким образом, в произвольный момент времени оперативная память представляет собой случайную последовательность занятых и свободных участков (разделов) произвольного размера. Так в момент t0 в памяти находится только ОС, а к моменту t1 память разделена между 5 задачами, причем задача П4, завершая работу, покидает память к моменту t2. На освободившееся место загружается задача П6, поступившая в момент t3. Задачами операционной системы при реализации данного метода управления памятью являются: ведение таблиц свободных и занятых областей, в которых указываются начальные адреса и размеры участков памяти; анализ запроса (при поступлении новой задачи), просмотр таблицы свободных областей и выбор раздела, размер которого достаточен для размещения поступившей задачи; загрузка задачи в выделенный ей раздел и корректировка таблиц свободных и занятых областей; корректировка таблиц свободных и занятых областей (после завершения задачи). Программный код не перемещается во время выполнения, т. е. может быть проведена единовременная настройка адресов посредством использования перемещающего загрузчика. Выбор раздела для вновь поступившей задачи может осуществляться по разным правилам: «первый попавшийся раздел достаточного размера»; «раздел, имеющий наименьший достаточный размер»; «раздел, имеющий наибольший достаточный размер». Все эти правила имеют свои преимущества и недостатки.

image070.gif

84. Распределение оперативной памяти перемещаемыми разделами

Одним из методов борьбы с фрагментацией является перемещение всех занятых участков в сторону старших либо в сторону младших адресов так, чтобы вся свободная память образовывала единую свободную область. В дополнение к функциям, которые выполняет ОС при распределении памяти переменными разделами, в данном случае она должна еще время от времени копировать содержимое разделов из одного места памяти в другое, корректируя таблицы свободных и занятых областей. Эта процедура называется «сжатием». Сжатие может выполняться либо при каждом завершении задачи, либо только тогда, когда для вновь поступившей задачи нет свободного раздела достаточного размера. В первом случае требуется меньше вычислительной работы при корректировке таблиц, а во втором — реже выполняется процедура сжатия. Так как программы перемещаются по оперативной памяти в ходе своего выполнения, то преобразование адресов из виртуальной формы в физическую должно выполняться динамическим способом. Хотя процедура сжатия и приводит к более эффективному использованию памяти, она может потребовать значительного времени, что часто перевешивает преимущества данного метода.
1   2   3   4   5   6   7   8   9   10   11

Похожие:

1. Показать развитие и классификацию однопроцессорных архитектур Архитектура общая функциональная и структурная организация машины, определяющая методы icon1. Показать развитие и классификацию однопроцессорных архитектур. 2
В чем суть матричного и векторно-конвейерного способов организации simd-архитектуры? 5
1. Показать развитие и классификацию однопроцессорных архитектур Архитектура общая функциональная и структурная организация машины, определяющая методы iconКнига фгуп «Санкт-Петербургское окб «Электроавтоматика»
Рассматриваются основные принципы построения перспективных бортовых цифровых вычислительных систем в авиационном приборостроении....
1. Показать развитие и классификацию однопроцессорных архитектур Архитектура общая функциональная и структурная организация машины, определяющая методы iconСто алтгту 14. 62 2433. 2012 Приложение в силлабус (памятка)
Тема Общая теория управления. Функции и методы менеджмента. Основные понятия менеджмента. Развитие и становление менеджмента. Развитие...
1. Показать развитие и классификацию однопроцессорных архитектур Архитектура общая функциональная и структурная организация машины, определяющая методы iconКонспект урока биологии 10 класс Учитель: Полиектова Е. Ф. Тема:...
Оборудование: компьютер, макет челюсти, плакаты «Строение зуба», «Развитие кариеса». Зеркала (индивидуальные), карточки для практических...
1. Показать развитие и классификацию однопроцессорных архитектур Архитектура общая функциональная и структурная организация машины, определяющая методы iconТемы рефератов по ферментологии
Строение и роль простых ферментов. Активный центр как структурная и функциональная часть фермента
1. Показать развитие и классификацию однопроцессорных архитектур Архитектура общая функциональная и структурная организация машины, определяющая методы iconЭкзаменационные вопросы Морфологическая и функциональная характеристика сменного прикуса
...
1. Показать развитие и классификацию однопроцессорных архитектур Архитектура общая функциональная и структурная организация машины, определяющая методы iconПояснительная записка к курсовой работе на тему: “Цифровой диктофон”
...
1. Показать развитие и классификацию однопроцессорных архитектур Архитектура общая функциональная и структурная организация машины, определяющая методы iconМетоды и средства программирования софт-архитектур для реконфигурируемых вычислительных систем
Специальность 05. 13. 11 Математическое и программное обеспечение вычислительных машин, комплексов и компьютерных сетей
1. Показать развитие и классификацию однопроцессорных архитектур Архитектура общая функциональная и структурная организация машины, определяющая методы iconГосударственный образовательный стандарт высшего профессионального...
Общая характеристика направления подготовки “Технологические машины и оборудование”
1. Показать развитие и классификацию однопроцессорных архитектур Архитектура общая функциональная и структурная организация машины, определяющая методы iconПлан-конспект урока Тема : Машиноведение. История швейной машины
Цель урока: научить учащихся читать и выполнять эскиз, технический рисунок, чертёж, показать правила построения чертежей. Практический...
1. Показать развитие и классификацию однопроцессорных архитектур Архитектура общая функциональная и структурная организация машины, определяющая методы iconI этап теоретическое задание 1 Цель и содержание
Методы обследования и функциональная диагностика в терапии (73 вопроса)
1. Показать развитие и классификацию однопроцессорных архитектур Архитектура общая функциональная и структурная организация машины, определяющая методы iconМарий эл республикын туризм шотышто комитетше
Методы обследования и функциональная диагностика в терапии (73 вопроса)
1. Показать развитие и классификацию однопроцессорных архитектур Архитектура общая функциональная и структурная организация машины, определяющая методы iconИ. А. Демидова Московская городская онкологическая больница №62
Методы обследования и функциональная диагностика в терапии (73 вопроса)
1. Показать развитие и классификацию однопроцессорных архитектур Архитектура общая функциональная и структурная организация машины, определяющая методы iconСтандарт медицинской помощи больным рассеянным склерозом
Методы обследования и функциональная диагностика в терапии (73 вопроса)
1. Показать развитие и классификацию однопроцессорных архитектур Архитектура общая функциональная и структурная организация машины, определяющая методы iconРабочая программа дисциплины «Общая и неорганическая химия»
«Общая и неорганическая химия» по направлению 240800 – "Энерго- и ресурсосберегающие процессы в химической технологии, нефтехимии...
1. Показать развитие и классификацию однопроцессорных архитектур Архитектура общая функциональная и структурная организация машины, определяющая методы iconПрограмма вступительного экзамена для поступающих в магистратуру...
Поступающий в магистратуру по направлению 551800 «Технологические машины и оборудование» должен показать владение знаниями пакета...


Школьные материалы


При копировании материала укажите ссылку © 2013
контакты
100-bal.ru
Поиск