ПОД конспект (1184369), страница 7
Текст из файла (страница 7)
Затем процессорначинает новый цикл до завершения цикла записи в основную память. Если за записью следует чтение, тоэто кэш-попадание, так как чтение может быть выполнено в то время, когда контроллер кэш-памяти занятобновлением основной памяти. Эта буферизация позволяет избежать снижения производительности,характерного для системы со сквозной записью (запись производится в тот момент, пока процессор читаетиз кэша и занят чем чем-то кроме обновления данных).У этого метода есть один существенный недостаток. Так как обычно буферизуется только одиночная запись,то две последовательные записи в основную память требуют цикла ожидания процессора. Кроме этого,запись с пропущенным последующим чтением также требует ожидания процессора.
Состояние ожидания это внутреннее состояние, в которое входит процессор при отсутствии синхронизирующих сигналов.Состояние ожидания используется для синхронизации процессора с медленной памятью.Запись с размещением и без.Предыдущие подходы описывают только случаи кэш-попадания. Однако случаи, когда обновляемые данныев КЭШе отсутствуют, также возможны. Тогда данные пишутся в ОЗУ и потом копируются в кэш. Запись безрахмещения – данные не копируются в кэш.
Обычно при использовании стратегии WriteThru размещение неделается, а при использовании обратной записи делается – есть надежда, что не придется снова лезть впамять для записи в след. раз.19. Стратегии записи в кэш-память.Стратегии обновления данных в памяти рассмотрены в Вопросе 18. Далее рассматривается случай записиновых данных из памяти в кэш при кэш-промахе.Для случая прямого отображения стратегия тривиальна – замещается строка, в которой может располагатьсяданных блок ОЗУ.
Для ассоциативной организации кэша (полностью или частично) надо выбирать, какую изстрок замещать новыми данными. Две стратегии: случайная или LRU (Least Recently Used) – заменяется та,которую дольше всех не использовали. Сложность – надо фиксировать все обращения к строкам кэша,чтобы вычислять наиболее неиспользуемую строку. Стоит отметить, что доли промахов с ростом кэша дляслучайного алгоритма уменьшаются быстрее, так что эффективность применения LRU снижается.20. Расслоение памяти.Реализация оперативной памяти с использованием некоторого множества микросхем позволяетиспользовать заложенный в ней потенциальный параллелизм.
Для этого микросхемы памяти объединяютсяв банки или модули, содержащие фиксированное число слов, причем только к одному из этих слов банкавозможно обращение в каждый момент времени. Чтобы получить большую скорость доступа, нужноосуществлять одновременный доступ к нескольким банкам памяти. Одна из общих методик, используемыхдля этого, называется расслоением памяти. При расслоении памяти банки организуются так, чтобы Nпоследовательных адресов памяти i, i + 1, i + 2, ..., i + N-1 приходились на N различных банков.
Степень иликоэффициент расслоения определяют распределение адресов по банкам памяти. Схема управления памятьюреализует конвейер совмещения обращений к различным блокам памяти. Такая организация памятиувеличивает в N раз обращения по последовательным адресам, что является характерным при загрузкеинформации в кэш память и сохранении одного из еѐ блоков. При подобной организации оперативной15памяти можно использовать для неѐ микросхемы в N раз более медленные, чем микросхемы кэш памяти ине увеличивать разрядность шины данных.Наиболее общим случаем расслоения памяти является возможность реализации нескольких независимыхобращений, когда несколько контроллеров памяти позволяют банкам памяти работать самостоятельно.Такое решение наиболее характерно для многопроцессорных компьютеров.Для банков одинаковой емкости: B1,B2,B3,..Bm-1 адрес i трансформируется в адрес d внутри банка Bbрасчетом:i=d * m + b, где d=>0, 0<=b<=m-1При расслоении на четыре распределение адресов в банках будет:Адреса в банках-b Банк 1 Банк 2 Банк 3 Банк 40012314567289101121.
Принципы VLIW архитектуры.В ЭВМ с архитектурой VLIW (Very Long Instruction Word) - (очень длинные командные слова), командымогут иметь широкий формат (длину) и команда может содержать несколько содержательных инструкций,выполнение которых детально регламентируется в терминах тактов работы АЛУ (параллельное выполнениенескольких команд в АЛУ).
В таких архитектурах имеется возможность программировать вычислительныеалгоритмы (включая векторные) с максимальной производительностью для данной аппаратуры. В них всяработа по оптимальному программированию возлагается на системы программирования (или ручноепрограммирование).Однако упрощения в архитектуре управления приводит к значительному возрастанию сложности задачипланирования выдачи команд, так программными средствами должна быть обеспечена точнаясинхронизация считывания и записи данных. При этом необходимо так планировать параллельноевыполнение операций машины, чтобы выполнялись определенные ограничения на число одновременносчитываний и записей в наборы регистров, использование ФУ и т.д.
Размер командного слова в машинахданной архитектуры - FPS (AP-120B) - 64 бита, Multilow Tract - 1024.Определяющие свойства архитектуры VLIW:- Одно центральное управляющее устройство (УУ), обрабатывающее за один такт одну длинную команду.- Большое число функциональных устройств (ФУ) - АЛУ.- Наличия в длинной команде полей, каждое из которых содержит команду управления некоторымфункциональным устройством или команду обращения к памяти.- Статически определенная длительность в тактах исполнения каждой операции. Операции могут бытьконвейеризованы.- Закрепление во время компиляции банков расслоенной памяти за ФУ для получения максимальнойширины доступа для данных, которые можно соединить в одну команду.Система передвижения данных между ФУ минуя память. Маршрут передвижения полностьюспецифицируется во время компиляции.- Практическая невозможность ручного программирования в силу большой сложности возникающихкомбинаторных задач.
То есть требуются специальные системы программирования и оптимизации. Вотличие от суперскалярных процессоров, здесь требуется статическая (на этапе компиляции)распараллеливание.22. Суперскалярные и мультитредовые архитектуры микропроцессоров.Суперскалярный процессор представляет собой нечто большее, чем обычный последовательный(скалярный) процессор. В отличие от последнего, он может выполнять несколько операций за один такт.Основными компонентами суперскалярного процессора являются устройства для интерпретации команд(УУ), снабженные логикой, позволяющей определить, являются ли команды независимыми, и достаточноечисло исполняющих устройств (ФУ, АЛУ).
В исполняющих устройствах могут быть конвейеры.Суперскалярные процессоры реализуют параллелизм на уровне команд. Примером компьютера ссуперскалярным процессором является IBM RISC/6000. Тактовая частота процессора у ЭВМ была 62.5 МГц,а быстродействие системы на вычислительных тестах достигало 104 Mflop (Mflop - единица измерениябыстродействия процессора - миллион операций с плавающей точкой в секунду). Суперскалярныйпроцессор не требует специальных векторизующих компиляторов, хотя компилятор должен в этом случаеучитывать особенности архитектуры. Итак, суперскалярные процессор призван, в отличие от VLIW,динамически определять места распараллеливания.Другой, по сравнению с организацией кэш-памяти, метод построения внутрикристальной памятиприменяется в мультитредовой архитектуре, основная особенность которой – использование совокупностирегистровых файлов (добавление УУ при одном АЛУ).
Эта архитектура решает проблему разрыва междускоростью обработки в процессоре и временем доступа в основную память за счет переключения в каждомтакте процессора на работу с очередным регистровым файлом. Каждый регистровый файл обслуживает16один вычислительный процесс – тред (поток). Всего в каждом процессоре имеется n регистровых файлов,поэтому запрос, выданный в основную память каждым из потоков, может обслуживаться в течение n-1такта, вплоть до момента, когда процессор снова переключится на тот же регистровый файл. Выборзначения n определяется отношением времени доступа в память ко времени выполнения командыпроцессором. Конечно, задача формирования потоков из последовательной программы должна, повозможности, решаться компилятором. В противном случае будущее этой архитектуры окажетсяограниченным узкой проблемной ориентацией.Компания Tera объявила о разработке проекта мультитредового микропроцессора, реализующего процессорМТА.
Level One, приобретенная Intel, выпустила мультитредовый сетевой микропроцессор IXP1200,содержащий в своем составе 6 четырехтредовых процессоров. IBM анонсировала проект компьютера BlueGene, кристалл микропроцессора которого включает 32 восьмитредовых процессора. В кристалл встроенапамять EDRAM, организованная в 32 блока. Каждый блок соответствует одному из 32 процессоров и имеетшину доступа 256 разрядов. Поскольку EDRAM обладает высокой пропускной способностью и малойзадержкой, то при восьмитредовой структуре процессора становится возможным отказаться от кэш-памяти,вместо которой между процессором и памятью используется небольшая буферная память.23.
Стандарт IA-64.Материал: http://www.ixbt.com/cpu/ia64.htmlДополнительно: http://joyous-life.ru/cgi-bin/index.cgi?&id=44 Команды в формате IA-64 упакованы по три в 128-битный пакет для быстрейшей обработки. Каждый 128-битный пакет содержит шаблон (template) длиной в несколько бит, помещаемый в негокомпилятором, который указывает процессору, какие из команд могут выполняться параллельно.Теперь процессору не нужно будет анализировать поток команд в процессе выполнения длявыявления "скрытого параллелизма". Вместо этого наличие параллелизма определяет компилятор ипомещает информацию в код программы.