Сущность процессор-памяти

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

Рубрика Программирование, компьютеры и кибернетика
Вид контрольная работа
Язык русский
Дата добавления 17.04.2014
Размер файла 408,2 K

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

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

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

Министерство образования и науки РФ

Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования

«Московский государственный университет технологий и управления им. К.Г. Разумовского»

Филиал ФГБОУ ВПО «МГТУ им. К.Г. Разумовского» в г. Липецке

Контрольная работа

по дисциплине: «Вычислительные машины»

На тему: «Методы оптимизации обмена процессор-память»

Выполнил:

студeнт 1 курса СФО

шифр 2-1909-220700.62-13/024056

Губин А.С.

Проверил: Степанов С.В.

Липецк 2014

Содержание

1. Методы оптимизации обмена процессор-память

2. Конвейер команд

3. Расслоение памяти

4. Буферизация памяти

5. КЭШ-память

6. Контроллер КЭШ-памяти

7. Типы КЭШ-памяти, используемые в вычислительных системах на базе процессора i80386

8. Сопроцессоры. Их назначение и методы подключения к системной магистрали

9. Синхронный и асинхронный режим работы сопроцессора

Список литературы

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

1. Методы оптимизации обмена процессор-память

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

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

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

Результаты, к которым приводит такой разрыв в быстродействии процессора и ОП, можно проиллюстрировать на простейшем примере. Рассмотрим типичный цикл обращения микропроцессора к ОП, состоящий из ряда тактов Т1 Т2 ... Т5, например МП КР580. В такте Т1 МП выставляет на ША адрес ячейки памяти, к которой будет произведено обращение. В такте Т2 МП ожидает приход сигнала READY от модуля памяти. Количество тактов Т2 в общем случае не ограничено. Такт Т3 наступает только после поступления сигнала READY. Из этого примера становится понятным, почему увеличение тактовой частоты не всегда приводит к увеличению скорости выполнения программ, так как МП просто "топчется на месте" в ожидании ответа ОП.

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

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

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

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

2. Конвейер команд

Рассмотрим основные принципы конвейеризации процедур цикла выполнения команды (рабочего цикла машины).

Ранее, при рассмотрении принципов функционирования УУ процессоров, уже упоминалось о конвейерном способе выполнения микрокоманд, когда процедура выполнения i-й микрокоманды в АЛУ совмещалась по времени с процедурой вызова из управляющей памяти i+1 микрокоманды. Этот принцип распространяется и на выполнение команд машины. Еще в 1956 г. академик Лебедев С.А. предложил повышать производительность машин, используя принцип совмещения во времени отдельных этапов рабочего цикла, и реализовал этот принцип в ЭВМ М-20 в форме параллельного выполнения во времени операции в АЛУ и выборки из памяти следующей команды.

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

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

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

Совмещение во времени этапов цикла выполнения команды давно и широко используется в процессорах, которые в этом случае представляют собой совокупность специализированных исполнительных блоков, управляемых одним УУ. Так, например, в МП фирмы Zilog Z80000 использован шестиступенчатый конвейер, а цикл выполнения команды состоит соответственно из шести этапов:

- выборки команды;

- декодирования команды;

- вычисления адреса операнда;

- выборки операнда;

- собственно выполнения операции;

- запоминания результата.

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

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

- использование не в каждой команде всех исполнительных блоков, что требует дополнительных временных затрат на работу специальных переключающих схем;

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

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

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

- прогнозировании направления перехода по косвенным признакам;

- одновременной обработке команд по обоим направлениям перехода (в более простом случае - создание очередей команд);

- выборе направления перехода на основании анализа статистики ранее совершенных аналогичных переходов в теле цикла;

- выборе случайного направления перехода;

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

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

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

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

3. Расслоение памяти

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

Метод 1

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

Этот принцип сохранен и в современных вариантах ЭВМ (процессорах) Гарвардской архитектуры. Он позволяет совместить во времени циклы обмена с обоими модулями памяти и оказывается эффективным при обработке любых типов программ. В настоящее время Гарвардская архитектура широко используется при построении кэш-памятей мощных процессоров.

Метод 2

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

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

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

Проблема повышения пропускной способности характерна для всех уровней иерархии внутренней памяти ЭВМ. Наиболее остро эта проблема стоит перед разработчиками динамических ОП, которые благодаря максимальной информационной емкости и низкой стоимости занимают ведущее место в составе внутренней памяти компьютера. В последнее время предложен ряд вариантов ОП повышенного быстродействия. Это FPM, MDRAM, EDORAM, SDRAM, BEDORAM, RDRAM и многие другие типы памятей.

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

4. Буферизация памяти

Суть этого метода состоит в том, что между процессором и ОП включаются дополнительные блоки буферных памятей относительно небольшой емкости, но имеющие быстродействие существенно выше, чем ОП. При обращении к таким памятям у процессора не возникает проблем с запаздыванием сигналов и уменьшением из-за этого скорости обмена. Как уже отмечалось, повышение быстродействия БИСов памяти сопровождается резким повышением их стоимости, поэтому доля буферной памяти в общем объеме небольшая, порядка 16-256 Кбайт на 4-8 Мбайт основной памяти. Сверхоперативная память, упоминавшаяся ранее, также является буферной, однако ее емкость очень незначительна (десятки слов) и в данном случае не учитывается. В общем случае буферная память состоит из двух модулей: буферной памяти команд и буферной памяти операндов. Структура памяти в этом случае имеет вид, показанный на рис. 22.5. Такая схема буферизации ОП использовалась еще в мэйнфреймах 60-х гг. Представленные буферные памяти в современных ЭВМ скрыты от программиста в том смысле, что он не может их адресовать и может даже не знать об их существовании, поэтому они получили название кэш-памятей (cache - тайник). Некоторые ЭВМ содержат объединенную кэш-память операндов и команд. Наличие кэш в общем случае не исключает присутствия в процессоре небольшой сверхоперативной памяти.

Рис. 1 Структура памяти

5. КЭШ-память

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

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

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

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

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

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

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

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

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

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

6. Контроллер КЭШ-Памяти

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

В качестве примера рассмотрим организацию кэш-памяти в вычислительных системах, построенных на базе 32-разрядного процессора I80386. В архитектуре микропроцессора I80386 за ячейку памяти на аппаратном уровне принята последовательность из восьми смежных бит, т.е. 1 байт. Несмотря на то, что МП I80386 является 32 - разрядным, наибольшая эффективность достигается в нем при обработке 16-разрядных данных, поэтому в качестве машинного слова в данном МП выбраны два объединенных байта.

В вычислительных системах, построенных на базе I80386, управление кэш-памятью осуществляется высокопроизводительным контроллером кэш-памяти I82385. Для инициализации контроллера I82385 не требуется специального программного обеспечения, а сам контроллер программно невидим (прозрачен), поэтому он может быть легко применен в системах с уже существующим программным обеспечением, а разработка нового программного продукта не потребует специфических условий, связанных с этим контроллером. Контроллер обеспечивает прозрачность на шине с помощью наблюдения за шиной ("подслушивание" шины). Наблюдение за шиной реализуется контроллером через интерфейс, аналогичный интерфейсу шины процессора I80386. Благодаря своей прозрачности контроллер кэш-памяти I82385 может быть включен в состав микропроцессорных систем на базе I80386 для работы в конвейерном и неконвейерном режиме и адресации пространства ОП до 4 Гбайт. Обновление ОП выполняется на каждом цикле записи методом "сквозной записи". При этом производительность повышается вследствие выдачи запросов на операции записи через некоторый буфер, позволяющий процессору продолжать работу с кэш-памятью, пока идет обращение к ОП. Если содержимое ячеек ОП, копии которых находятся в кэш, в процессе выполнения программы изменилось, контроллер автоматически обновляет содержимое соответствующих ячеек кэш-памяти.

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

Рис. 2 Организация кэш-памяти

Как уже отмечалось, пересылка информации из ОП в кэш-память и обратно осуществляется целыми блоками. Для этого ОП также разделяют на блоки от 2 до 16 байт. Если запрашиваемая процессором информация не находится в кэш, то контроллер кэш-памяти обновляет содержимое кэш целым блоком. Размер блока является очень важным параметром, определяющим эффективность работы кэш-памяти. В 32 - разрядных системах контроллер в качестве блока пересылает совокупность данных размером 2-4 слова (4-16 байт). Даже если запрашивается одиночное слово, то все равно осуществляется блочная пересылка. С увеличением блока замедляется модификация кэш, но увеличивается коэффициент попадания. Так, увеличение блока с 4 байт до 8 увеличивает коэффициент попадания на несколько процентов. Однако при этом в кэш размещается меньшее число блоков. А с уменьшением числа блоков растет вероятность операций пересылки блоков между кэш и ОП, поэтому приходится выбирать оптимум (что уже отмечалось). Обычно в вычислительных системах на базе I80386, I82385 работа кэш-памяти организована так, что вероятность удачных обращений достигает 0,95.

7. Типы КЭШ-памяти, используемые в вычислительных системах на базе процессора i80386

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

· Полностью ассоциативный кэш (рис. 22.7)

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

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

Происходит последовательное сравнение ячеек кэш с 22-разрядным полем признака (адресом) без вызова их в контроллер. Такой последовательный процесс сравнения и увеличивает время поиска.

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

Рис. 3 Организация полностью ассоциативного кэш

· Кэш с прямым отображением (рис. 22.8)

При использовании кэш такого типа ОП условно делится на 256 страниц по 64 Кбайт каждая. Каждая страница имеет свой базовый адрес, задаваемый 8 битами поля признака (старшие разряды адреса ячейки ОП). Объем кэш (банк данных) соответствует объему одной страницы (64 Кбайт). Поле индекса в адресе занимает 16 бит. Из них 14 используются для выбора одного из 16 Кбайт 4 байтовых блоков (ячеек) кэш или ОП (на странице с соответствующим признаком), а два бита определяют один из 4 байтов в блоке, т.е. индекс является ничем иным, как смещением относительно базового адреса (признака).

Рис. 5 Организация кэш с прямым отображением

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

Упрощенный алгоритм обращения процессора к памяти состоит в следующем:

- 14-битный индекс сообщает контроллеру кэш, какую из 16 Кбайт однобайтовых ячеек в банке признаков следует проверить:

- 8-битный признак, находящийся в указанной ячейке банка признаков, сообщает, какой из 256 возможных 4-байтовых блоков находится по этому адресу (индексу) в ячейке банка данных;

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

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

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

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

· Двухвходовый множественный ассоциативный кэш (рис. 22.9)

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

Рис. 6 Организация двухвходового множественного ассоциативного кэш

Оба блока кэш имеют одинаковую адресацию, т.е. индекс изменяется от 0000 до 7FFC. При использовании кэш такого типа ОП делится уже не на 256 страниц, а на 512, каждая из которых имеет свой 9-разрядный признак (базовый адрес) от 000 до 1FF (32 Кбайт). Данные из ОП могут быть помещены в любую из двух ячеек с соответствующим индексом (смещением) банков данных, относящимся к разным блокам кэш. В соответствии с принятым алгоритмом контроллер кэш I82385 помещает новый блок данных из ОП в ту из двух ячеек, содержимое которой наиболее долго не использовалось.

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

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

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

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

Быстродействующий внутрикристальный кэш первого уровня и более "медленный" внешний кэш второго уровня являются обязательными компонентами всех современных IBM PC.

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

Дальнейшее увеличение производительности процессоров неизбежно повлечет за собой и дальнейшее расслоение кэш-памяти ЭВМ.

8. Сопроцессор

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

Сопроцессор - это обычный микропроцессор, но не столь универсальный. Обычно сопроцессор разрабатывается как специальное устройство по реализации конкретно определенной функции. Так репертуар сопроцессора ограничен, он может реализовывать выделенные для него функции как никто другой. Как и любой другой микpопpоцессоp, сопроцессор работа ет по тем же принципам. Он просто выполняет программы со держащие последовательность микpопpоцессоpных команд. Сопроцессор не держит под управлением основную массу цепей компьютеpа. В обычном режиме микpопpоцессоp выполняет все функции компьютеpа. И лишь когда встречается задача с которой лучше справится сопроцессор, ему передаются данные и команды управления, а центральный процессор ожидает результаты. Сопроцессоры, большей частью использующиеся в PC, являются математическими сопроцессорами. В математике они специализируются по умножению и делению чисел. Математические сопроцессоры называют ещё процессорами с плавающей запятой, потому что они особенно ярко проявляют свои возможности в этой области математики. Числа с плавающей запятой часто используются в научных расчетах и представляются, как правило, мантиссой и ординатой. Преимущество, получаемое от установки математического сопроцессора, зависит от того какие задачи решаются на компьютере. Согласно утверждению Intel сопроцессор может уменьшить время выполнения математических операций, таких как умножение,деление, возведение в степень на 80% и более.Скорость выполнения простых операций, таких как сложение и вычитание практически не уменьшается.С практической точки зрения, производительность систе мы, касающейся подготовки текстов и ведения базы данных - функций , не требующих сложных математических расчётов, не может быть улучшена математическим сопроцессором. Сопроцессор и главный микропроцессор могут работать на разных тактовых частотах (от собственных тактовых генераторов). Когда отношение частот микропроцессора и сопроцессора выражается целым числом, они работают синхронно и могут передавать информацию друг другу оптимальным образом. Несинхронизированая работа требует, чтобы один или другой из них ожидал завершения цикла своего партнёра, что влечёт за со бой появление небольшого, но реального периода ожидания. Семейство сопроцессоров Intel составляют: 8087, 80287, 80387, 80387SX.Каждый из них специально разработан для работы с соответствующим микропроцессором главного семейства Intel. Каждый из этих четырёх имеет свои характерные особенности. Ограничения по единовременной обработке информации в 8, 16, 32 бит остались далеко позади. Сопроцессоры Intel обрабатывают сразу 80 бит. Каждый сопроцессор содержит восемь 80-битных регистров, в которых он и осуществляет свои вычисления. Они работают с 32-, 64- или 80-битными числами с плавающей запятой; 32- или 64-битными целыми числами. Как правило сопроцессоры работают как придатки центрального. Оба процессора висят на адресно-информационных линиях компьютера и выполняют каждый свои команды по мере их появления в программе. Сопроцессоры могут выполнять свои функции параллельно с работой центрального процессора, то есть оба мозга в данном случае думают одновременно, потому что каждый из них читает свои команды прямо с шины, и центральному процессору не приходится прерываться, чтобы выдать команду сопроцессору.

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

- Магистраль многоканального в/в MSN.

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

Выполняется в виде стандартного 60-контактного жгута

-Магистраль локального в/в SBX.

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

9. Синхронный и асинхронный режим работы сопроцессора

Некоторые сопроцессоры работают в непараллельном (синхронном) режиме, при котором центральный процессор вынужден дожидаться завершения ДПУ-команды сопроцессором, для того чтобы начать выполнение очередной команды. Другие сопроцессоры работают в параллельном (асинхронном) режиме, позволяющем центральному процессору выполнять другие команды одновременно с реализацией ДПУ-команды сопроцессором. Очевидно, что параллельная работа сопроцессора и процессора позволяет повысить производительность системы в целом. Однако при этом возникают проблемы, связанные с изменением содержимого памяти центральным процессором до того, как соответствующие данные считаны сопроцессором, а также изменением содержимого памяти сопроцессором без уведомления об этом центрального процессора. Одним из путей решения этих проблем является запрещение прямого доступа к памяти со стороны сопроцессора при работе в параллельном режиме. Для микропроцессора I80386 ДПУ, выполняющего действия над ЧПЗ, является сопроцессор I80387, имеющий быстродействие 1.8?106 операций в секунду и функционирующий параллельно с центральным процессором (I80386) в асинхронном

Список литературы

1. Острейковский В. А. Информатика: Учебник для вузов. - М.: Высшая школа, 2003. - 511 с

2. Соломатин Н. М. Логические элементы ЭВМ.- М.: Высшая школа, 2007.

3. Фигурнов В. Э. IBM PC для пользователя.-М.:ИНФРА-М, 2006.- 289 с.

4. Гуда А. Н. Информатика. Общий курс : учебник / А. Н. Гуда, М. А. Бута-кова, Н. М. Нечитайло, А. В. Чернов ; под общ. ред. В. И. Колесникова. - 4-е изд. - М.: Издательско-торговая корпорация Дашков и К, 2011. - 399 с.

5. Алехина Г. В. Информатика. Базовый курс : учебное пособие / Под ред. Г. В. Алехиной. - 2-е изд., доп. и перераб. - М.: Маркет ДС Корпорейшн, 2010. - 731 с.

6. http://life-prog.ru/

7. Организация ЭВМ и систем. Однопроцессорные ЭВМ. Часть 3.:

8. Конспект лекций / И.В. Хмелевский, В.П. Битюцкий. 2-е изд., испр. и допол. Екатеринбург: ГОУ ВПО УГТУ-УПИ, 2005. 100 с.

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


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

  • Типы системной памяти. ОЗУ (оперативное запоминающее устройство), ПЗУ (постоянное запоминающее устройство), "энергонезависимая память" (CMOS). Процессор. Основные шины. Адресные данные. Совокупность всех возможных команд - система команд процессора.

    контрольная работа [24,3 K], добавлен 30.03.2009

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

    контрольная работа [1,8 M], добавлен 27.11.2010

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

    лекция [2,4 M], добавлен 27.03.2015

  • Определение основных функций процессора. Микросхема процессора и выводы шин адреса, данных и управления. Функции памяти и устройств ввода/вывода (мыши, клавиатуры, джойстика). Описание функций внутренних регистров микропроцессора. Оперативная память.

    презентация [603,1 K], добавлен 17.06.2014

  • Характеристика понятия "процессор". История развития процессоров, описание их параметров и устройства, особенности работы. Что такое быстродействие и эффективность работы процессора. Тонкости сборки и вспомогательные устройства. Описание кэш-памяти.

    практическая работа [4,3 M], добавлен 17.01.2011

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

    дипломная работа [1,7 M], добавлен 29.04.2014

  • Принципы, которые положены в основу построения большинства электронных вычислительных машин. Сущность принципа двоичного кодирования и программного управления. Структурный состав основной памяти. Основные блоки ЭВМ по Джону фон Нейману: память, процессор.

    презентация [96,2 K], добавлен 01.04.2010

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

    презентация [47,7 K], добавлен 26.11.2009

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

    реферат [17,2 K], добавлен 01.04.2010

  • Элементы процессора, аппаратный уровень. Устройство управления, микропрограммный автомат. Процессор Intel 8086, сегментная организация памяти. Команды, главные особенности их кодирования. Результат дизассемблирования программы отладчиком TurboDebugger.

    лекция [1,1 M], добавлен 14.12.2013

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.