Студопедия  
Главная страница | Контакты | Случайная страница

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатика
ИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханика
ОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторика
СоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансы
ХимияЧерчениеЭкологияЭкономикаЭлектроника

Размер кэша

Читайте также:
  1. А) возобновление производства в увеличивающемся размере
  2. А) размер реализованной продукции, приходящейся на 1 руб. производственных фондов;
  3. Билет №1 Покажите на фантоме как надо произвести наружные размеры таза , определите истинную коньюгату.
  4. В двумерном массиве, состоящем из n целых чисел, найти сумму элементов в каждой строке. Размер произвольный.
  5. В рамках достижения единой цели существует объективная тенденция организации к созданию устойчивых объединений с соблюдением принципов соразмерности и пропорциональности.
  6. В.49 Размер алиментов, взыскиваемых на несовершеннолетних детей в судебном порядке
  7. Внутриканальные штифты(пост или анкерный штифт)-это имеющие насечки стержни, имеющие различные размеры
  8. Вопрос 2. Чему равен минимальный размер уставного капитала общества с ограниченной ответственностью в России?
  9. ВОПРОС № 4. РАСЧЕТ ОСНОВНЫХ РАЗМЕРОВ МАССООБМЕННЫХ АППАРАТОВ.
  10. Вопрос №10 Таз-строение, размеры, половые отличия.

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

1.2 Технологии, поддерживаемые процессорами
1.2.1 Технология Intel Hyper - Threading

Кроме увеличения тактовой частоты, существуют и другие способы увеличения производительности процессора, связанные с изменением его архитектуры. К примеру, можно увеличить количество исполнительных блоков (Execution Units) внутри самого процессора. В этом случае возможно параллельное выполнение нескольких процессорных инструкций одновременно. Такая многозадачность реализована в том или ином виде во всех современных процессорах. Отход от последовательного выполнения команд, использование нескольких исполнительных блоков в одном процессоре позволяют одновременно обрабатывать несколько процессорных микрокоманд, то есть организовывать параллелизм на уровне инструкций (Instruction Level Parallelism, ILP), что, естественно, увеличивает общую производительность.

Поясним все вышесказанное на примере. Представьте себе гипотетический процессор, в котором имеется всего три исполнительных блока: блок для работы с целыми числами (арифметико-логическое устройство, ALU), блок для работы с числами с плавающей запятой (FPU) и блок для записи и чтения данных из памяти (Store/Load, S/L). Пусть, кроме того, каждая операция осуществляется за один такт процессора.

Предположим, что выполняется программа, состоящая из трех инструкций: первые две — арифметические действия с целыми числами, а последняя — сохранение результата. В этом случае вся программа будет выполнена за три такта процессора. В первом такте задействуется блок ALU процессора (темный квадрат на Рисунке 1), во втором - также блок ALU, а в третьем — блок записи и чтения данных из памяти S/L. В этом случае мы имеем дело с классическим последовательным вариантом выполнения программы.

В современных приложениях в любой момент времени, как правило, выполняется не одна, а несколько задач или несколько потоков (threads) одной задачи, называемых также нитями. Давайте посмотрим, как будет вести себя наш гипотетический процессор при выполнении двух разных потоков задач (Рисунок 2). Допустим, что первый поток включает две независимые инструкции с использованием блока ALU и одну инструкцию по сохранению результата. Задача второго потока — загрузить необходимые данные из памяти (работа с блоком S/L), произвести операцию с действительными числами (числами с плавающей запятой) при помощи блока FPU и сохранить результат с использованием блока S/L. Если бы оба потока исполнялись изолированно, то для выполнения первого потребовалось бы два такта процессора, а для второго — три. При одновременном исполнении обоих потоков процессор будет постоянно переключаться между этими потоками так, что за один такт процессора выполняются только инструкции какого-либо одного потока. Для исполнения обоих потоков потребуется всего пять процессорных тактов.

Рисунок 1-Последовательное выполнение инструкций в гипотетическом процессоре Рисунок 2- Выполнение двух потоков на процессоре без Hyper- Threading

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

Рисунок 3 - Параллельное выполнение двух потоков на процессоре с реализацией технологии Hyper-Threading

Собственно, в таком параллельном выполнении двух потоков и заключается основная идея технологии Hyper-Threading, которая реализована в современных процессорах Intel. Итак, технология Hyper Threading — это реализация одновременной многопоточности (Simultaneous Multi-Threading, SMT). Технология Hyper-Threading является промежуточной между многопоточной обработкой, осуществляемой в мультипроцессорных системах, и параллелизмом на уровне инструкций, реализованном в однопроцессорных системах.

Конечно, ждать двукратного увеличения производительности процессора от использования технологии Hyper-Threading не приходится, и на практике выигрыш куда более скромен.
Дело в том, что возможность одновременного выполнения на одном такте процессора инструкций от разных потоков ограничивается тем, что эти инструкции могут задействовать одни и те же исполнительные блоки процессора. Для реализации технологии Hyper-Threading процессор должен иметь два «входа» для отдельных потоков, как если бы существовало два физических процессора, но при этом всего один конвейер обработки команд, как в реальном физическом процессоре, который использует оба потока. В этом случае один физический процессор представляется операционной системе как два логических. С конструктивной точки зрения процессор с поддержкой технологии Hyper-Threading состоит из двух логических процессоров, каждый из которых имеет свои регистры и контроллер прерываний (Architectural State, AS), то есть две параллельно исполняемые задачи работают со своими собственными независимыми регистрами и прерываниями, но при этом используют одни и те же ресурсы процессора для выполнения задач. Таким образом, от реальной двухпроцессорной конфигурации технология Hyper-Threading отличается только тем, что оба логических процессора используют одни и те же исполняющие ресурсы, одну и ту же разделяемую между двумя потоками кэш-память и одну системную шину.




Дата добавления: 2014-12-19; просмотров: 27 | Поможем написать вашу работу | Нарушение авторских прав




lektsii.net - Лекции.Нет - 2014-2024 год. (0.009 сек.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав