Содержание к диссертации
Введение
ГЛАВА 1. Анализ методов снижения энергопотребления цифровых КМОП СБИС 12
1.1. Сравнение влияния качества схемотехнических решений современных микропроцессоров на энергопотребление 12
1.2. Методы снижения энергопотребления в цифровых схемах 18
1.3. Снижение напряжения питания и уменьшение проектных норм 20
1.4. Динамическое управление частотой и напряжением питания 21
1.5. Включение дополнительных тактов останова в конвейер 23
1.6. Использование нескольких напряжений в одном кристалле. 24
1.7. Применение технологии «кремний на изоляторе» 26
1.8. Метод селективного отключения синхросигнала 27
1.9. Использование средств САПР 30
1.10. Выводы, постановка задачи , 31
ГЛАВА 2. Эффективность отключения блоков в тактах останова для микропроцессоров, ориентированных на встроенные применения 36
2.1. Анализ типовой задачи для встраиваемых применений 37
2.2. Исследование структуры энергопотребления RISC микропроцессора для встраиваемых применений 43
2.3. Оценка эффективности отключения блоков для типовых режимов работы микропроцессора 51
2.4. Система моделирования для исследования логической модели микропроцессора 56
2.5. Оценка эффективности селективного отключения блоков микропроцессора 62
2.6. Методика оценки эффективности селективного отключения блоков микропроцессора 65
2.7. Выводы 72
ГЛАВА 3. Оптимизация структуры конвейера с целью уменьшения параметра «энергопотребление/производительность» 74
3.1. Анализ возможности реализации отключения неиспользуемых блоков без снижения производительности в рамках существующего конвейера 74
3.2. Анализ вариантов оптимизации структуры конвейера исследуемого микропроцессора на примере К1 78
3.3. Анализ структуры конвейера RISC-микропроцессора на примере IDT79R32364 80
3.4. Методика структурной оптимизации конвейера команд 82
3.5. Выводы 87
ГЛАВА 4. Применение разработанных методик при проектировании rise микропроцессора к2 с уменьшенным показателем «энергопотребление/производительность» 88
4.1. Применение методики оценки эффективности селективного отключения блоков микропроцессора при проектировании микропроцессора К2 89
4.2. Применение методики структурной оптимизации конвейера команд при проектировании микропроцессора К2 99
4.3. Комплекс структурных и схемотехнических решений, позволяющий оптимизировать структуру конвейера с целью уменьшения параметра
«эн ер гопотреблен непроизводительность» 115
4.4. Выводы 116
ГЛАВА 5. Разработка и исследование микропроцессора с оптимизированной структурой конвейера 119
5.1. Структура оптимизированного конвейера с учетом предложений по оптимизации структуры конвейера 119
5.2. Основные характеристики микропроцессора с оптимизированной структурой конвейера 121
5.3. Стенд для исследования микропроцессоров К1 и К2. Результаты измерений энергопотребления 124
5.4. Сравнение энергопотребления наиболее близких аналогов RISC-микропроцессора К2 129
5.5. Выводы 132
Заключение. Основные результаты диссертации 133
Литература
- Снижение напряжения питания и уменьшение проектных норм
- Оценка эффективности отключения блоков для типовых режимов работы микропроцессора
- Анализ вариантов оптимизации структуры конвейера исследуемого микропроцессора на примере К1
- Применение методики структурной оптимизации конвейера команд при проектировании микропроцессора К2
Введение к работе
Технологические достижения микроэлектроники привели к бурному росту степени интеграции, повышению рабочих частот интегральных схем и, как следствие, к увеличению локальной плотности выделения рассеиваемой энергии в полупроводниковых приборах. Для стационарной аппаратуры, в которой допустимо применение систем охлаждения, возможно использование специальных корпусов и радиаторов, отсутствуют жёсткие ограничения на потребляемую мощность. Разработчики такой аппаратуры могут использовать компоненты, для которых потребляемая мощность достигает 100 Вт и более на корпус СБИС. Однако во многих приложениях именно мощность потребления становиться ограничивающим фактором при дальнейшем повышении рабочей частоты и функциональной сложности СБИС.
В настоящее время быстро растет рынок встраиваемых систем, портативных и переносных устройств с автономным питанием. Это относится к коммуникационным приборам (телефоны, пейджеры), портативным компьютерам, навигационным приборам и многим другим. Для этих областей применения требуются устройства малого размера, более легкие, работающие длительное время без перезарядки батарей. Для многих портативных устройств эти требования непосредственно транслируются в требования к уменьшению энергопотребления, поскольку элементы питания (батареи или аккумуляторы) имеют значительный вес и габариты. В таких применениях потребляемая мощность СБИС не должна превышать долей или единиц Вт на корпус. По имеющимся прогнозам для выполнения проектных задач ближайших 10-15 лет необходимо уменьшить энергопотребление СБИС более, чем на порядок по сравнению с параметрами современных КМОП схем.
С другой стороны, увеличение объемов обрабатываемой информации и необходимость их обработки в реальном времени требуют от вычислительных систем все более высокой производительности.
Требования снижения энергопотребления и повышения производительности СБИС микропроцессоров, в общем случае, противоречат друг другу. Поэтому поиск путей разрешения этой проблемы, разработка методик проектирования, поиск структурных и схемотехнических решений, обеспечивающих выполнение все более сложных задач при соблюдении жёстких норм энергопотребления является актуальной проблемой.
Цель работы: Разработка методик проектирования, типовых структурных и
схемотехнических решений, обеспечивающих создание
высокопроизводительных микропроцессоров для встраиваемых применений с
пониженным значением параметра «энергопотребление/производительность», а
также создание и исследование конкретных реализаций
высокопроизводительных RISC-микропроцессоров.
Для достижения указанной цели необходимо решение следующих задач:
Анализ методов снижения энергопотребления СБИС класса микропроцессоров.
Определение модели типовой задачи для встраиваемых применений, модели типовой системы и комплекса тестовых программ, имитирующих поведение системы при выполнении типовой задачи.
Исследование структуры энергопотребления СБИС микропроцессора в различных режимах.
Разработка системы моделирования, позволяющей исследовать режимы работы и загрузку основных функциональных узлов проектируемого микропроцессора на ранней стадии разработки.
Разработка методики оценки эффективности селективного отключения неиспользуемых блоков.
Разработка методики структурной оптимизации конвейера команд.
Разработка комплекса типовых структурных и схемотехнических решений, обеспечивающих селективное отключение неиспользуемых блоков при сохранении производительности.
Проектирование высокопроизводительной СБИС современного RISC микропроцессора с оптимизированной структурой конвейера команд.
Сравнительные исследования образцов RISC микропроцессоров для оценки влияния предложенных методов проектирования и разработанных структурных и схемотехнических решений на энергопотребление и производительность
Научная новизна диссертации
Разработана методика оценки эффективности селективного отключения блоков микропроцессора для встраиваемых применений. Методика основана на анализе структуры блоков микропроцессора с учетом их активности при выполнении типовых задач для встраиваемых применений. Методика формализует процесс принятия наиболее целесообразных решений о реализации схем селективного отключения блоков микропроцессора на заданном наборе типовых задач. Применение методики позволяет снизить риск принятия ошибочных решений на ранней стадии разработки, за счет чего снизить трудоемкость и общее время проектирования при обеспечении заданных параметров.
Разработана методика структурной оптимизации конвейера команд, обеспечивающей минимизацию параметра энергопотребление/производительность на заданном наборе типовых задач. Методика формализует процесс оптимизации конвейера с целью минимизации параметра энергопотребление/производительность при выполнении типовой задачи. Применение методики позволяет сократить сроки проектирования и обеспечить достижение требуемых параметров.
Разработан комплекс оригинальных структурных и схемотехнических решений, позволяющих снизить энергопотребление RISC микропроцессора при
сохранении его производительности. Предложенные решения могут быть использованы при разработке новых типов микропроцессоров с RISC архитектурой.
Практическая значимость и внедрение результатов диссертации
Впервые в России разработан и изготовлен на отечественном предприятии 32-разрядный RISC-микропроцессор К2, который по показателю производительность/энергопотребление находится на уровне лучших зарубежных аналогов.
Положения, выносимые на защиту
Методика оценки эффектов!гости отключения неиспользуемых блоков. Использование методики позволяет принять наиболее целесообразное решение о реализации схем селективного отключения блоков в СБИС микропроцессоров на заданном наборе типовых задач.
Методика структурной оптимизации конвейера команд, обеспечивающая минимизацию параметра энергопотребление/производительность па заданном наборе типовых задач.
3. Комплекс структурных и схемотехнических решений, позволяющих
реализовать схему отключения неиспользуемых блоков при сохранении
производительности RISC-микропроцессора, а именно:
изменение распределения микроопераций по ступеням конвейера с целью перехода от способа адресации кэш-памяти «physical index, physical tag» к способу адресации «virtual index, physical lag»;
отказ от кэш-памяти с прямым отображением и переход к двух-ассоциативной кэш-памяти;
введение в схему управления кэш-памятью дополнительного буфера, позволяющего минимизировать такты останова в циклах записи в кэш-память;
Снижение напряжения питания и уменьшение проектных норм
В соответствии с формулой (1.2) мощность потребления имеет квадратичную зависимость от напряжения питания V» поэтому наибольшую популярность получили методы, ориентированные на снижение напряжения. Однако простое снижение величины V приводит к уменьшению производительности схемы. Так, по данным [18] снижение напряжения питания на 10% приводит к снижению быстродействия в среднем на 10%. Поэтому, дія высокопроизводительных схем всегда необходимо использование комплекса мер по сохранению быстродействия. Самым распространенным методом снижения напряжения при одновременном сохранении и даже повышении быстродействия является переход на улучшенные топологические проектные нормы. Существуют эмпирическое правило [19], что переход на очередной уровень технологии приводит к повышению быстродействия на 50%- Соответственно, применение повой технологии позволяет не только компенсировать снижение быстродействия, связанное с уменьшением напряжения, но и приводит к существенному повышению производительности СБИС. При переходе на новый уровень технологии уменьшается еще один параметр формулы (1.2) - эквивалентная емкость нагрузки. Это происходит как за счет того, что базовые элементы имеет меньшие размеры и меньшую емкость, так и за счет того, что общий размер кристалла становиться меньше, при сохранении выполняемых функций СБИС» и соответственно, уменьшается длина и емкость межсоединений. Данный метод имеет следующие недостатки:
1. Стоимость изготовления микросхем значительно увеличивается (примерно в 2 раза при уменьшении технологических норм в 1.4 раза). Особенно это заметно для малых партий, когда изготавливается несколько пластин и стоимость накладных расходов (па шаблоны, подготовку к производству и прочес) получается очень значительной.
2. Изменение напряжения питания требует соответствующего изменения вычислительных систем, в которых установлена исходная микросхема, что может повлечь изменение разводки печатной платы, замену микросхем памяти, буферных элементов и других схем.
3. Если оптимизируется микропроцессор, то во многих случаях требуется переделка контроллеров, дополняющих этот микропроцессор в вычислительных системах.
Динамическое управление частотой и напряжением питания для снижения энергопотребления широко используется при проектировании вычислительных систем на базе микропроцессоров [20,21]. Данный метод заключается в том, что специальная программа анализирует текущую загрузку микропроцессора и, если текущая загрузка не требует максимальной производительности, снижает напряжение питания и рабочую частоту. Все наиболее известные производители микропроцессоров для персональных компьютеров используют данный метод в своих системах» Для микропроцессоров компании Intel данный метод известен как SpeedStep [22ДЗ]» для компании AMD - как AMD PowerNowl Technology [24,24,26], для Transmeta - как Transmeta LongRun Power Management [27,28].
Эффект, достигаемый применением данного метода, зависит от выполняемой задачи.
Преимущество метода заключается в том, что снижение энергопотребления происходит без потери реальной производительность для пользователя. Данный метод имеет следующие недостатки: L Конструкция микропроцессора должна обеспечить стабильную работу в условиях переменного напряжения питания и тактовой частоты. 2, Требуются специальные аппаратные ресурсы па уровне вычислительной системы, такие как программно управляемый источник напряжения. Контроллеры» входящие в состав микропроцессорной системы должны обеспечивать работу с изменяемой временной диаграммой, которая задается микропроцессором, и обеспечивать при этом требуемые временные интервалы для внешних устройств: таймеры, контроллеры последовательных портов и другие.
3, Требуется специальное программное обеспечение, которое должно принимать решение о необходимом изменении достаточности текущих значений напряжения и частоты.
4, Сложно прогнозировать фактическое время выполнения программ, что ограничивает применение метода в системах реального времени.
Оценка эффективности отключения блоков для типовых режимов работы микропроцессора
Поскольку реализация схемы отключения синхросигнала любого блока требует значительных усилий, необходимо оценить, насколько эффективной окажется такая реализация для каждого из выбранных режимов. Для этого предложена следующая последовательность действий по оценке эффективности отключения блоков во время тактов останова.
Пусть Kmoje= modJ iotai - коэффициент, показывающий эффективность отключения всех неиспользуемых блоков, во время такта выбранного режима, где mode " мощность потребления микропроцессора в выбранном режиме, в предположении, что неиспользуемые блоки отключены, Р{оы " мощность потребления микропроцессора без отключения блоков. Индекс mode обозначает тип анализируемого режима. Кдиий показывает максимально возможную экономию энергии для данного такта. Чем меньше Ктоі/Єітем больше экономия и наоборот.
Для нахождения Кто& используем базовую формулу 1Л , оценивающую динамическую мощность рассеивания цифровых схем.
Пусть схема, энергопотребление которой мы оцениваем, состоит из N блоков. Все блоки работают на одной частоте/и от одного напряжения питания V. В этом случае мощность потребления такой схемы Ptoto/ можно представить следующей формулой:
Для каждого типа останова из общего числа N можно выделить К блоков, которые активны в данном такте. Будем считать, что в тактах выбранного режима мы полностью отключаем синхросигнал у всех неактивных блоков, соответственно для этих блоков /= ft Тогда, мощность потребления в данном такте Ртоа в котором задействованы К блоков (К N) можно определить по следующей формуле: где stall обозначает тип останова, указанный в табл. 2.5. Теперь можно определить коэффициент эффективности Ksiaii. следующим образом:
Для нахождения Ктоііе требуется найти отношение ємкостей активных блоков к неактивным. Вычисление общей емкости, как отдельных блоков, так и схемы целиком является достаточно сложной задачей. Однако, поскольку требуется найти не абсолютное значение емкости, а отношение емкости всей схемы к емкости отдельных блоков, предлагается заменить емкость значением, характеризующим размер блока, а именно, количеством транзисторов в блоке. При этом предполагается, что все элементы блока переключаются в каждом такте. Данное утверждение справедливо для большинства цифровых синхронных схем. Однако оно не выполняется для специальных блоков, например блоков памяти. І Іиже приведен пример нахождения отношения емкостей активных блоков к общей емкости схемы на примере одного из блоков микропроцессора К1.
В качестве примера специального блока взят регистровый файл целочисленного процессора. Данный блок имеет размер массива: 32 регистра по 32 разряда каждый. Имеет один порт записи и два порта чтения, что позволяет выполнять три обращения к массиву за один такт. Размер одной запоминающей ячейки - 8 транзисторов. Размер массива можно оценить как 32 (количество регистров) 32 (разрядность одного регистра) 8 (размер ячейки в тр,) = 8 тыс. транзисторов. Поскольку в одном такте возможно обращение к трем регистрам, то количество одновременно переключаемых транзисторов оценивается как 3 (количество одновременно доступных ячеек) 32 (разрядность ячейки) 8 (размер ячейки в тр.) = 0,8 тыс, тр. Размер схем окружения регистрового файла, которые переключаются каждый такт, составляет около 25% от массива памяти, что соответствует примерно 2 тыс, транзисторам. Итого» число одновременно переключаемых транзисторов регистрового файла целочисленного процессора составляет около 3 тыс. транзисторов при общем размере блока в 10 тыс, транзисторов.
Подобным образом необходимо проанализировать все специальные блоки, входящие в состав исследуемого микропроцессора. Результатом такой работы должна быть таблица, по структуре подобная табл. 2.6.
Полученная формула позволяет оценить эффективность отключения неиспользуемых блоков в тактах выбранного режима» Для этого достаточно подставить в формулу данные из табл. 4.1, показывающие какие блоки являются активными в требуемом такте, и данные о размере активных блоков из табл. 2.6.
Результатом применения формулы (2,4) должна быть таблица с коэффициентами эффективности отключения неиспользуемых блоков для выбранных режимов работы, подобная табл. 2.7.
Однако полученная информация не достаточна для принятия решений, поскольку она показывает эффективность отключения неиспользуемых блоков для отдельного такта останова и не учитывает, насколько часто случаются такие остановы и, соответственно, не позволяют судить об эффективности отключения блоков в реальных задачах- Для того, чтобы оценить, насколько часто встречается каждый их возможных типов останова, необходимо определить частоту возникновения тактов останова для типовой задачи для встраиваемых применений.
Для того, чтобы оценить эффективность реализации схемы отключения неиспользуемых блоков для каждого из выбранных режимов необходимо определить соотношение числа тактов нахождения микропроцессора в данном режиме к общему числу тактов выполнения. Для решения этой задачи разработана система моделирования, позволяющая исследовать характеристики логической модели микропроцессора [73].
Традиционно, система моделирования представляет собой совокупность двух модулей: модуля «test» и модуля «top». Модуль «test» содержит все входные воздействия для модуля «top» и правила проверки полученных откликов на предмет их правильности. При разработке данного модуля, как правило, используются все возможности языка VerilogHDL, в том числе и те, которые не позволяют использовать средства синтеза, за счет чею упрощается построение требуемых функций. По другому приходится решать задачу построения модуля «top». Модуль «top» представляет собой описание аппаратного устройства, которое требуется промоделировать и в последствии реализовать аппаратно. При разработке данного модуля используется подмножество правил языка VerilogHDL» применение которых позволит автоматическим способом синтезировать принципиальную схему устройства.
Поскольку с ростом сложности разрабатываемых приборов объем и трудоемкость верификации значительно возрастает, время на разработка модуля «test» может превышать время на разработку самого устройства.
Особенность разработанной системы моделирования состоит в том, что она не требует создания обязательного для подобтгых систем модуля внешних воздействий. Формально, такой модуль в системе моделирования присутствует и имеет наименование «test_fixture», однако реально, модуль содержит единственный сигнал начала моделирования «Reset».
Анализ вариантов оптимизации структуры конвейера исследуемого микропроцессора на примере К1
В предыдущем разделе показано, что если дополнительная задержка, вносимая схемой отключения неиспользуемых блоков, приведет к снижению быстродействия, потребуется провести анализ вариантов оптимизации конвейера.
В качестве примера рассмотрим варианты оптимизации структуры конвейера микропроцессора К1 в предположении, что задержка, вносимая схемой отключения неиспользуемых блоков для выбранного режима, не позволяет реализовать это схему без снижения производительности.
В качестве критичной цепочки рассмотрим цикл чтения кэш-памяти данных. Для оценки возможности оптимизации структуры конвейера необходимо подробнее рассмотреть возможные варианты реализации критичной цепочки.
В микропроцессорах с архитектурой MIPS, к которым относится микропроцессор К1, кэш-память устроена достаточно просто: одновременно со считыванием данных из ячейки внешней памяти с определенным адресом происходит запись считанных данных в кэш-память с сохранением старших разрядов адреса в памяти тэгов. При повторном считывании происходит выборка данных из строки кэш-памяти, которая выбирается младшими разрядами адресами, при этом происходит сравнение старших разрядов адресов с содержимым соответствующей ячейки тэга. Если тэг совпадает со старшими разрядами адресами, то считается, что выбранные данные правильные и обращение во внешнюю память не происходит. Механизм работы кэш-памяти описан достаточно подробно в [76-78]. В связи с тем, что микропроцессор в каждом цикле обращения к памяти оперирует двумя наборами адресов: виртуальным и физическим, в описанной выше схеме возможны три разных способа доступа, отличающихся статусом адреса, по которому выбираются ячейки из кэш-памяти и который записывается в память тэгов:
1. Выборка ячейки кэш-памяти производится младшими разрядами физического адреса, при этом в память тэгов заносятся старшие разряды физического адреса. Такая схема называется «physical index, physical tag» и используется в микропроцессорах R3000, IDT79R3051, IDT79R3081. Именно такой механизм используется в микропроцессоре К1.
2. Выборка ячейки кэш-памяти производится младшими разрядами виртуального адреса, при этом в память тэгов заносятся старшие разряды виртуального адреса. Такой способ адресации называется «virtual index, virtual tag». Такая схема доступа к кэш-памяти позволяет исключить время преобразования виртуального адреса в физический из критического пути и, соответственно, повысить быстродействие всего микропроцессора. Однако такая схема имеет следующие недостатки:
Если процессор выполняет контекстное переключение, виртуально индексированный кэш должен быть обновлен. Это обусловлено тем, что две разные программы могут иметь одинаковые виртуальные адреса, но располагаться по разным физическим адресам. Обновление больших объемов кэш-памяти существенно уменьшает производительность при контекстных переключениях.
Возникает проблема совмещения адресов, когда два разных виртуальных адреса соответствуют одному и тому же физическому адресу. Если это имеет место в виртуально индексированном кэше, то один и тот же элемент будет находиться в разных местах массива кэш-памяти. Если элемент модифицируется по первому виртуальному адресу, а впоследствии элемент читается по второму виртуальному адресу, то при чтении по второму виртуальному адресу процессор считает неверную информацию.
Данная схема доступа описана в [79-81], но на настоящий момент нет данных, чтобы какой-либо из современных микропроцессоров использовал такую схему доступа к кэш-памяти.
3. Выборка ячейки кэш-памяти производится младшими разрядами виртуального адреса, при этом в память тэгов заносятся старшие разряды физического адреса. Такая схема называется «virtual index, physical tag». Эта схема в настоящее время наиболее используема [82-84] и была применена в таких процессорах как R4000 [85], IDT79RC64475 [86, 87] и IDT79RC32364 [88]. Применение данной схемы доступа к кэш-памяти ведет к изменению распределения действий по ступеням конвейера.
В следующем разделе описывается конвейер микропроцессора IDT79RC32364 [88], который наиболее близок к микропроцессору К1, но отличается способом адресации кэш-памяти, так как реализует схему доступа кэш-памяти «virtual index, physical tag».
Применение методики структурной оптимизации конвейера команд при проектировании микропроцессора К2
В предыдущем разделе приведен пример использования сравнительного исследования и повышения эффективности селективного отключения блоков микропроцессора применительно к задачам для встраиваемых применений. В результате этой работы сделан вывод о целесообразности реализации схемы отключения неиспользуемых блоков для режима останова CM_stall.
Данный вывод используется в качестве исходных данных для применения методики структурной оптимизации конвейера разрабатываемого микропроцессора К2 с целью уменьшения показателя «энергопотребление/производительность». В соответствии с п.1 ,методики требуется провести анализ распределения операций по ступеням конвейера и определить ступени, в которые требуется ввести схемы отключения неиспользуемых блоков. Анализ операций по ступеням конвейера выполнен в разделе 2.2 и результат приведен в табл. 2,4, На предыдущем этапе обоснована целесообразность реализации схемы отключения для режима останова, вызванного ситуацией CMjstall. Эта ситуация может возникнуть на стадии конвейера W, фаза 1, если обнаруживается, что данные, считанные из кэш-памяти тэгов не совпадают со старшими разрядами адреса, по которому происходило обращение. При выполнении этого условия в фазе 1 стадии W, становится активным сигнал CMJStall, При поступлении этого сигнала в следующей фазе W2 формируется признак RUN, который определяет, продолжать работу или переходить в режим останова. Именно в цепь формирования этого сигнал требуется встроить схему отключения неиспользуемых блоков- Соответственно, результатом выполнения пункта 1 методики является заключение о том, что схему отключения неиспользуемых блоков требуется встроить в схему формирования управляющих сигналов стадии W2.
В соответствии с пунктом 2 методики фебуегся определить критический путь, ограничивающий общее быстродействие, в который требуется вставить схему отключения неиспользуемых блоков.
R результате анализа всех возможных путей формирования сигнала CMStall установлено, чго наиболее критичным является цикл чтения кэш-памяти данных. На рис. 4.1. показаны основные блоки и сигналы, участвующие в формировании сигнала CMstall в цикле чтения из кэш-памяти данных. На рис. 4.2. показана временная диаграмма, показывающая последовательность и зависимости между сигналами.
В соответствии с п. 3 методики требуется оценить вклад, вносимый схемой і отключения неиспользуемых блоков для режима CM_stalI во временную диаграмму формирования критичного пути. Логически, схема отключения неиспользуемых блоков для режима CM_stall не представляет большой сложности., поэтому здесь не рассматривается. Однако, как показано в разделе .S, для получения максимального выигрыша в энергопотреблении, элемент отключения необходимо разместить как можно ближе к началу дерева синхросигналов.
На рис. 4.3 показан фрагмент схемы конвейера К1 с элементов отключения неиспользуемых блоков в режиме CM_stall с учетом задержки в дереве синхросигналов.
На примере микропроцессора К1 установлено, что длина дерева синхросигналов составляет примерно 1U-12 каскадов буферных элементов. Поскольку планируемая сложность разрабатываемого микропроцессора ожидается не меньше чем у КК соответственно глубина дерева синхросигнала ожидается не менее 10 каскадов буферных элементов.
Таким образом, в результате выполнения п.З методики получена оценка задержки, вносимой схемой отключения неиспользуемых блоков во временную диаграмму функционирования разрабатываемого микропроцессора для режима CM_stall что для уровня технологии 0.35 мкм, которая планируется для создания нового микропроцессора. Эта задержка составит приблизительно 3,5-4,0 не
В соответствии с п. 4 методики требуется провести анализ возможности реализации схемы отключения неиспользуемых блоков для режима CMjstall в і рамках существующего конвейера без снижения производительности.
На основании опыта разработки микропроцессора К1 сделано утверждение, что некоторые действия из последовательности формирования сигнала RUN, описанной в табл. 4.6, являются наиболее медленными во нсей схеме микропроцессора и ограничивают общее быстродействие. Это действие №2 «преобразование виріуального адреса в физический», действие №4 «считывание содержимого памяти данных и тэгов» и действие №5 «сравнение тэгов, последовательное формирование сигналов Tag_Eq, CMJStall». При проектировании микропроцессора К1, для того, чтобы успеть сформировать сигнал RUN к окончанию фазы 1 ступени WB, такие блоки как «буфер преобразования адреса (TLB)», «память данных» и «память тэгов», потребовалось разрабатывать по маршруту заказного проектирования, что существенно увеличило время и трудоемкость работы.
Таким образом, для микропроцессора со структурой конвейера К1, задержка, вносимая схемой отключения неиспользуемых блоков, приводит к снижению быстродей ствия.
Соответственно, в результате выполнения п.4 методики сделан вывод о том, что реализовать схему отключения неиспользуемых блоков для режима CAfJStall в рамках конвейера К1 без снижения быстродействия невозможно.
В соответствии с п.4 методики структурной оптимизации необходимо исследовать возможные варианты оптимизации конвейера для цикла чтения кэшпамяти данных. Такое исследование проведено в разделах 3.2 и 3-3. В результате исследования предложен вариант перехода от адресации кэш-памяти «physical