Решение дифференциальных уравнений Примеры решения типовых задач Курс практики по математике Инженерная графика Машиностроительное черчение История дизайна Архитектура ПК Лабораторные работы Курс лекций по физике теплоэнергетика
USB-накопитель на флеш-памяти Кэш центрального процессора Дисковая подсистема ПК Понятие архитектуры и структуры ЭВМ Внешние интерфейсы Жесткий магнитный диск Визуализация трехмерных изображений

Курс лекций по персональному компьютеру

Запись в кэш

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

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

сквозная запись (write through, store through) - информация записывается в два места: в блок кэш-памяти и в блок более низкого уровня памяти.

запись с обратным копированием (write back, copy back, store in) - информация записывается только в блок кэш-памяти. Модифицированный блок кэш-памяти записывается в основную память только когда он замещается. Для сокращения частоты копирования блоков при замещении обычно с каждым блоком кэш-памяти связывается так называемый бит модификации (dirty bit). Этот бит состояния показывает был ли модифицирован блок, находящийся в кэш-памяти. Если он не модифицировался, то обратное копирование отменяется, поскольку более низкий уровень содержит ту же самую информацию, что и кэш-память.

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

Подсистема прерываний

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

Различают классы прерываний:

Программные прерывания (деление на 0, выполнение некорректной команды)

Прерывания по таймеру

Прерывания ввода-вывода

Аппаратное прерывание

1.g. Архитектурные расширения

i. SSE (Streaming SIMD Extension) – в состав команд процессора включены дополнительные регистры и команды для повышения производительности потоковых вычислений, что часто применяется в графических вычислениях.

ii. Векторно-конвейерный процессор – внесена функциональность исполнения векторных команд. Таких команд, для которых операнд считается вектор значений.

iii. Технология Hyper Threading

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

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

Hyper-Threading – это название технологии, существовавшей и ранее вне x86 мира, технологии одновременной многопоточности (Simultaneous Multi-Threading, SMT). Идея этой технологии проста. Один физический процессор представляется операционной системе как два логических процессора, и операционная система не видит разницы между одним SMT процессором или двумя обычными процессорами. В обоих случаях операционная система направляет потоки как на двухпроцессорную систему. Далее все вопросы решаются на аппаратном уровне.

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

Рис. 2.3. Hyper-Threading

iv. Технология Hyper Transport

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

Отметим основные особенности Opteron. В архитектуре нового процессора имеются 12-ступенчатый конвейер для целочисленных вычислений и 17-ступенчатый для операций с плавающей точкой. Полностью виртуальное 64-разрядное адресное пространство (52 разряда физической памяти) теоретически позволяет получить доступ к 4,5 Тбайт памяти. Регистры общего назначения имеют разрядность 64 бит. Для кэш-памяти инструкций и данных 1-го уровня (L1) отведено по 64 Кбайт, объем кэш-памяти 2-го уровня (L2) - 1 Мбайт. Встроенный двухканальный контроллер памяти DDR (PC2700), позволяющий обойтись без "северного моста" набора микросхем, работает на частоте процессора и снимает ограничения по пропускной способности, связанные с фронтальной шиной FSB. Три встроенных канала шины HyperTransport обеспечивают совокупную пропускную способность до 19,2 Гбайт/с.

Рис. 2.4. Процессор Opteron

Hyper Transport – отраслевой стандарт связи микросхем (в частности микросхем на материнской плате). Обеспечивает скорость 6.4Гб/с (по сравнению с текущими скоростями 3,2Гб/c).

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