Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
50-74.doc
Скачиваний:
0
Добавлен:
01.03.2025
Размер:
352.77 Кб
Скачать

50. Кеш-память – призначення та структура.

Структура

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

  • Самым быстрым является кэш первого уровня — L1 cache (level 1 cache). По сути, она является неотъемлемой частью процессора, поскольку расположена на одном с ним кристалле и входит в состав функциональных блоков. В современных процессорах обычно L1 разделен на два кэша — кэш команд (инструкций) и кэш данных (Гарвардская архитектура). Большинство процессоров без L1 не могут функционировать. L1 работает на частоте процессора, и, в общем случае, обращение к нему может производиться каждый такт. Зачастую является возможным выполнять несколько операций чтения/записи одновременно.

  • Вторым по быстродействию является кэш второго уровня — L2 cache, который обычно, как и L1, расположен на одном кристалле с процессором. В ранних версиях процессоров L2 реализован в виде отдельного набора микросхем памяти на материнской плате. Объём L2 от 128 кбайт до 1−12 Мбайт. В современных многоядерных процессорах кэш второго уровня, находясь на том же кристалле, является памятью раздельного пользования — при общем объёме кэша в nM Мбайт на каждое ядро приходится по nM/nC Мбайта, где nC — количество ядер процессора.

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

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

Призначення

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

1.     Построить ОП на более быстродействующей элементной базе (дорогостоящий)

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

Отличительными особенностями КЭШ являются:

1.     Малый объем (от 8кбайт)

2.     Быстродействие сравнимое с быстродействием процессора.

КЭШ – это тайник, недоступно для программ, так как не может быть адресовано машинными командами.

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

51. Кеш-память – алгоритми розміщення та пошуку даних в кеш.

52. Кеш-пам'ять – алгоритми запису в кеш.

53. Конвеєрний спосіб виконання команд.

Принцип конвейерной обработки команд (Instruction Pipelining), когда выполнение команд подразделяется на ряд этапов, каждый из которых выполняется определённой частью процессора. Идея заключается в том, чтобы начинать выполнение командой очередного этапа сразу, как только предыдущая команда этот этап закончит (и соответствующая часть процессора освободится). Например, начинать этап считывания команды из памяти, как только предыдущая команда его закончит и приступит к этапу декодирования команды. Конвейер отлично работает, если команды не зависимы одна от другой (т. е. для выполнения одной команды не используются результаты другой). Если такая зависимость имеется, то конвейерную обработку команды приходиться приостанавливать, чтобы дождаться необходимых результатов выполнения предыдущей команды. Приостановка конвейера происходит и в случае, например, когда встретится команда выполняющая сложнную операцию с плавающей точкой, выполнение которой присходит в специальном устройстве и занимает несколько процессорных тактов. Чтобы избежать такую ситуацию, в современных процессорах имеется несколько конвейеров, предназначенных для разных типов команд.

54. Ідея конвеєра команд та вигода від нього, причина збоїв в конвеєрі.

Очевидно, что при достаточно длительной работе конвейера его быстродействие будет существенно превышать быстродействие, достигаемое при последовательной обработке команд. Это увеличение будет тем больше, чем меньше длительность такта конвейера и чем больше количество выполненных команд. Сокращение длительности такта достигается, в частности, разбиением выполнения команды на большое число этапов, каждый из которых включает в себя относительно простые операции и поэтому может выполняться за короткий промежуток времени. Так, если в микропроцессоре Pentium длина конвейера составляла 5 ступеней (при максимальной тактовой частоте 200 МГц), то в Pentium-4 - уже 20 ступеней (при максимальной тактовой частоте на сегодняшний день 3,4 ГГц).

Збої

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

Конфликты делятся на три группы:

  • структурные,

  • по управлению,

  • по данным.

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

Причины структурных конфликтов.

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

  2. Недостаточное дублирование некоторых ресурсов.

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

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

55. Ячейки, адреси, машинні слова, розряди, біти, байти.

Ячейка— минимальная единица, к которой можно обращаться.

Ячейки памяти могут иметь разную ёмкость (число разрядов, длину). Современные запоминающие устройства обычно имеют размер ячейки памяти равным одной из степеней двойки: 8 бит, 16 бит, 32 бита, 64 бита. В ранних ЭВМ использовались и более экзотические размерности, например 39 (БЭСМ-1) или 48 (БЭСМ-6). В общем случае длина ячеек памяти может не совпадать с машинным словом, тогда данные записываются в две или четыре соседние ячейки памяти.

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

Ячейки памяти, построенные на полупроводниковых технологиях, могут быть статическими (SRAM), то есть не требующими регулярного обновления, и динамическими (DRAM), требующими периодической перезаписи для сохранения данных. Как правило, при помощи статических ячеек организуются кэши, при помощи динамических — ОЗУ.

Адреси

Память состоит из ячеек, каждая из которых может хранить некоторую порцию

информации. Каждая ячейка имеет номер, который называется адресом, По адре-

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

ячеек, они будут иметь адреса от 0 до п-1. Все ячейки памяти содержат одинако-

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

2к комбинаций.

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

адреса.

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

  • разрядность данных, обрабатываемых процессором;

  • разрядность адресуемых данных (разрядность шины данных);

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

  • максимальный объём оперативной памяти, напрямую адресуемой процессором.

Бит

Основной единицей памяти является двоичный разряд, который называется битом.

Бит может содержать 0 или 1. Эта самая маленькая единица памяти. (Устройство,

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

мы по крайней мере две величины.)

Байт

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

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

Разряд является «рабочим местом» цифры в числе. Порядковому номеру разряда соответствует его вес — множитель, на который надо умножить значение разряда в данной системе счисления.

Диапазон значений для всех разрядов (в данной системе счисления) неизменен.