МЕНЮ


Фестивали и конкурсы
Семинары
Издания
О МОДНТ
Приглашения
Поздравляем

НАУЧНЫЕ РАБОТЫ


  • Инновационный менеджмент
  • Инвестиции
  • ИГП
  • Земельное право
  • Журналистика
  • Жилищное право
  • Радиоэлектроника
  • Психология
  • Программирование и комп-ры
  • Предпринимательство
  • Право
  • Политология
  • Полиграфия
  • Педагогика
  • Оккультизм и уфология
  • Начертательная геометрия
  • Бухучет управленчучет
  • Биология
  • Бизнес-план
  • Безопасность жизнедеятельности
  • Банковское дело
  • АХД экпред финансы предприятий
  • Аудит
  • Ветеринария
  • Валютные отношения
  • Бухгалтерский учет и аудит
  • Ботаника и сельское хозяйство
  • Биржевое дело
  • Банковское дело
  • Астрономия
  • Архитектура
  • Арбитражный процесс
  • Безопасность жизнедеятельности
  • Административное право
  • Авиация и космонавтика
  • Кулинария
  • Наука и техника
  • Криминология
  • Криминалистика
  • Косметология
  • Коммуникации и связь
  • Кибернетика
  • Исторические личности
  • Информатика
  • Инвестиции
  • по Зоология
  • Журналистика
  • Карта сайта
  • Современные микропроцессоры

    Одним из методов улучшения временных показателей работы кэш-памяти

    является построение псевдо-множествнно-ассоциативной кэш-памяти. В такой

    кэш-памяти частота промахов находится на уровне частоты промахов

    множественно-ассоциативной памяти, а время выборки при попадании

    соответствует кэш-памяти с прямым отображением. Кэш-память R10000

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

    стандартные синхронные микросхемы памяти (SRAM). В одном наборе микросхем

    памяти находятся оба канала кэша. Информация о частоте использования этих

    каналов хранится в схемах управления кэшем на процессорном кристалле.

    Поэтому после обнаружения промаха в первичном кэше из наиболее часто

    используемого канала вторичного кэша считываются две четырехсловные строки.

    Их теги считываются вместе с первой четырехсловной строкой, а теги

    альтернативного канала читаются одновременно со второй четырехсловной

    строкой (это осуществляется простым инвертированием старшего разряда

    адреса).

    При этом возможны три случая. Если происходит попадание по первому

    каналу, то данные доступны немедленно. Если происходит попадание по

    альтернативному каналу, происходит повторное чтение вторичного кэша. Если

    отсутствует попадание по обоим каналам, вторичный кэш должен

    перезаполняться из основной памяти.

    Для обеспечения целостности данных в кэш-памяти большой емкости

    обычной практикой является использование кодов исправляющих одиночные

    ошибки (ECC-кодов). В R10000 с каждой четырехсловной строкой хранится 9-

    битовый ECC-код и бит четности. Дополнительный бит четности позволяет

    сократить задержку, поскольку проверка на четность может быть выполнена

    очень быстро, чтобы предотвратить использование некорректных данных. При

    этом, если обнаруживается корректируемая ошибка, то чтение повторяется

    через специальный двухтактный конвейер коррекции ошибок.

    Кэш-память команд

    Объем внутренней двухканальной множественно-ассоциативной кэш-памяти

    команд составляет 32 Кбайт. В процессе ее загрузки команды частично

    декодируются. При этом к каждой команде добавляются 4 дополнительных бит,

    которые указывают исполнительное устройство, в котором она будет

    выполняться. Таким образом, в кэш-памяти команды хранятся в 36-битовом

    формате. Размер строки кэш-памяти команд составляет 64 байта.

    Обработка команд перехода

    При реализации конвейерной обработки возникают ситуации, которые

    препятствуют выполнению очередной команды из потока команд в

    предназначенном для нее такте. Такие ситуации называются конфликтами.

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

    быть достигнута в идеальном случае. Одним из типов конфликтов, с которыми

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

    являются конфликты по управлению, которые возникают при конвейеризации

    команд перехода и других команд, изменяющих значение счетчика команд.

    Конфликты по управлению могут вызывать даже большие потери

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

    статистике среди команд управления, меняющих значение счетчика команд,

    преобладают команды условного перехода. Таким образом, снижение потерь от

    условных переходов становится критически важным вопросом. Имеется несколько

    методов сокращения приостановок конвейера, возникающих из-за задержек

    выполнения условных переходов. В процессоре R10000 используются два

    наиболее мощных метода динамической оптимизации выполнения условных

    переходов: аппаратное прогнозирование направления условных переходов и

    "выполнение по предположению" (speculation).

    Устройство переходов процессора R10000 может декодировать и выполнять

    только по одной команде перехода в каждом такте. Поскольку за каждой

    командой перехода следует слот задержки, максимально могут быть

    одновременно выбраны две команды перехода, но только одна более ранняя

    команда перехода может декодироваться в данный момент времени. Во время

    декодирования команд к каждой команде добавляется бит признака перехода.

    Эти биты используются для пометки команд перехода в конвейере выборки

    команд.

    Направление условного перехода прогнозируется с помощью специальной

    памяти (branch history table) емкостью 512 строк, которая хранит историю

    выполнения переходов в прошлом. Обращение к этой таблице осуществляется с

    помощью адреса команды во время ее выборки. Двухбитовый код прогноза в этой

    памяти обновляется каждый раз, когда принято окончательное решение о

    направлении перехода. Моделирование показало, что точность двухбитовой

    схемы прогнозирования для тестового пакета программ SPEC составляет 87%.

    Все команды, выбранные вслед за командой условного перехода,

    считаются выполняемыми по предположению (условно). Это означает, что в

    момент их выборки заранее не известно, будет ли завершено их выполнение.

    Процессор допускает предварительную обработку и прогнозирование направления

    четырех команд условного перехода, которые могут разрешаться в произвольном

    порядке. При этом для каждой выполняемой по предположению команды условного

    перехода в специальный стек переходов записывается информация, необходимая

    для восстановления состояния процессора в случае, если направление перехода

    было предсказано неверно. Стек переходов имеет глубину в 4 элемента и

    позволяет в случае необходимости быстро и эффективно (за один такт)

    восстановить конвейер.

    Структура очередей команд

    Процессор R10000 содержит три очереди (буфера) команд (очередь

    целочисленных команд, очередь команд плавающей точки и адресную очередь).

    Эти три очереди осуществляют динамическую выдачу команд в соответствующие

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

    команды, который перемещается вместе с командой по ступеням конвейера.

    Каждая очередь осуществляет динамическое планирование потока команд и может

    определить моменты времени, когда становятся доступными операнды,

    необходимые для выполнения каждой команды. Кроме того, очередь определяет

    порядок выполнения команд на основе анализа состояния соответствующих

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

    выдает команду в соответствующее исполнительное устройство.

    Очередь целочисленных команд

    Очередь целочисленных команд содержит 16 строк и выдает команды в два

    арифметико-логических устройства. Целочисленные команды поступают в

    свободные строки этой очереди, причем в каждом такте в нее могут

    записываться до 4 команд. Целочисленные команды остаются в очереди до тех

    пор, пока они не будут выданы в одно из АЛУ.

    Очередь команд плавающей точки

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

    команды в исполнительные устройства сложения и умножения с плавающей

    точкой. Команды плавающей точки поступают в свободные строки очереди,

    причем в каждом такте в нее могут записываться до 4 команд. Команды

    остаются в очереди до тех пор, пока они не будут выданы в одно из

    исполнительных устройств. Очередь команд плавающей точки содержит также

    логику управления команд типа "умножить-сложить". Эта команда сначала

    направляется в устройство умножения, а затем прямо в устройство сложения.

    Адресная очередь

    Очередь адресных команд выдает команды в устройство загрузки/записи и

    содержит 16 строк. Очередь организована в виде циклического буфера FIFO

    (first-in first-out). Команды могут выдаваться в произвольном порядке, но

    должны записываться в очередь и изыматься из нее строго последовательно. В

    каждом такте в очередь могут поступать до 4 команд. Буфер FIFO поддерживает

    первоначальную последовательность команд, что упрощает обнаружение

    зависимостей по адресам. Выполнение выданной команды может не закончиться

    при обнаружении зависимости по адресам, кэш-промаха или конфликта по

    ресурсам. В этих случаях адресная очередь должна заново повторять выдачу

    команды до тех пор, пока ее выполнение не завершится.

    Переименование регистров

    Одним из аппаратных методов минимизации конфликтов по данным является

    метод переименования регистров (register renaming). Он получил свое

    название от широко применяющегося в компиляторах метода переименования -

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

    тем самым увеличению производительности при отображении необходимых

    исходной программе объектов (например, переменных) на аппаратные ресурсы

    (например, ячейки памяти и регистры).

    При аппаратной реализации метода переименования регистров выделяются

    логические регистры, обращение к которым выполняется с помощью

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

    аппаратном регистровом файле процессора. Номера логических регистров

    динамически отображаются на номера физических регистров посредством таблиц

    отображения, которые обновляются после декодирования каждой команды. Каждый

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

    значение каждого логического регистра сохраняется и может быть

    восстановлено в случае, если выполнение команды должно быть прервано из-за

    возникновения исключительной ситуации или неправильного предсказания

    направления условного перехода.

    В процессе выполнения программы генерируется множество временных

    регистровых результатов. Эти временные значения записываются в регистровые

    файлы вместе с постоянными значениями. Временное значение становится новым

    постоянным значением, когда завершается выполнение команды (фиксируется ее

    результат). В свою очередь, завершение выполнения команды происходит когда

    все предыдущие команды успешно завершились в заданном программой порядке.

    Программист (или компилятор) имеет дело только с логическими регистрами.

    Реализация физических регистров от него скрыта.

    Таким образом, аппаратный метод переименования регистров,

    используемый в процессоре R10000, имеет три основных достоинства. Во-

    первых, результаты "выполняемых по предположению" команд могут прямо

    записываться в регистровый файл. Во-вторых, этот метод устраняет все

    конфликты типа "запись после чтения" и "запись после записи", которые часто

    возникают при неупорядоченном выполнении команд. И, наконец, метод

    переименования регистров упрощает контроль зависимостей по данным.

    Поскольку процессор обеспечивает выдачу для выполнения до четырех команд в

    каждом такте, в процессе переименования регистров их логические номера

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

    декодированными в одном и том же такте.

    Реализованная в микропроцессоре R10000 схема отображения команд

    состоит из двух таблиц отображения, списка активных команд и двух списков

    свободных регистров (для целочисленных команд и команд плавающей точки

    имеются отдельные таблицы отображения и списки свободных регистров). Чтобы

    поддерживать последовательный порядок завершения выполнения команд,

    существует только один список активных команд, который содержит как

    целочисленные команды, так и команды плавающей точки.

    Микропроцессор R10000 содержит по 64 физических регистра

    (целочисленных и плавающей точки). В любой момент времени значение

    физического регистра содержится в одном из указанных выше списков. На

    рисунке 5.15 показана упрощенная блок-схема отображения целочисленных

    команд.

    Команды выбираются из кэша команд и помещаются в таблицу отображения.

    В любой момент времени каждый из 64 номеров физических регистров находится

    в одном из трех указанных на рисунке блоков.

    Список активных команд длиною 32 элемента может хранить упорядоченную

    в соответствии с программой последовательность команд, которые могут

    находиться в обработке в любой данный момент времени. Команды из очереди

    целочисленных команд могут выполняться неупорядочено и записывать

    результаты в физические регистры, но порядок их окончательного завершения

    определяется списком активных команд.

    На этом касательно MIPS можно пока остановиться. Перейдем теперь так

    же плавненько к процессорам с архитектурой SPARC.

    5. Особенности процессоров с архитектурой SPARC компании Sun Microsystems

    Масштабируемая процессорная архитектура SPARC (Scalable Processor

    Architecture) компании Sun Microsystems является наиболее широко

    распространенной RISC-архитектурой, отражающей доминирующее положение

    компании на рынке UNIX рабочих станций и серверов. Процессоры с

    архитектурой SPARC лицензированы и изготавливаются по спецификациям Sun

    несколькими производителями, среди которых следует отметить компании Texas

    Instruments, Fujitsu, LSI Logic, Bipolar International Technology, Philips,

    Cypress Semiconductor и Ross Technologies. Эти компании осуществляют

    поставки процессоров SPARC не только самой Sun Microsystems, но и другим

    известным производителям вычислительных систем, например, Solbourne,

    Toshiba, Matsushita, Tatung и Cray Research.

    Первоначально архитектура SPARC была разработана с целью упрощения

    реализации 32-битового процессора. В последствии, по мере улучшения

    технологии изготовления интегральных схем, она постепенно развивалось и в

    настоящее время имеется 64-битовая версия этой архитектуры (SPARC-V9),

    которая положена в основу новых микропроцессоров, получивших название

    UltraSPARC. Первый процессор SPARC был изготовлен компанией Fujitsu на базе

    вентильной матрицы, работающей на частоте 16.67 МГц. На основе этого

    процессора была разработана первая рабочая станция Sun-4 с

    производительностью 10 MIPS, объявленная осенью 1987 года (до этого времени

    компания Sun использовала в своих изделиях микропроцессоры Motorola 680X0).

    В марте 1988 года Fujitsu увеличила тактовую частоту до 25 МГц создав

    процессор с производительностью 15 MIPS.

    Позднее компания Sun умело использовала конкуренцию среди компаний-

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

    реализации своих изделий SPARCstation 1, 1+, IPC, ELC, IPX, 2 и серверов

    серий 4xx и 6xx. Тактовая частота процессоров SPARC была повышена до 40

    МГц, а производительность - до 28 MIPS.

    Дальнейшее увеличение производительности процессоров с архитектурой

    SPARC было достигнуто за счет реализации в кристаллах принципов

    суперскалярной обработки компаниями Texas Instruments и Cypress. Процессор

    SuperSPARC компании Texas Instruments стал основой серии рабочих станций и

    серверов SPARCstation/SPARCserver 10 и 20. В зависимости от смеси команд он

    обеспечивает выдачу до трех команд за один машинный такт. Процессор

    SuperSPARC имеет сбалансированную производительность на операциях с

    фиксированной и плавающей точкой. Он имеет внутренний кэш емкостью 36 Кб

    (20 Кб - кэш команд и 16 Кб - кэш данных), раздельные конвейеры

    целочисленной и вещественной арифметики и при тактовой частоте 75 МГц

    обеспечивает производительность около 205 MIPS.

    Компания Texas Instruments разработала также 50 МГц процессор

    MicroSPARC с встроенным кэшем емкостью 6 Кб, который ранее широко

    использовался в дешевых моделях рабочих станций SPARCclassic и LX. Затем

    Sun совместно с Fujitsu создали новую версию кристалла MicroSPARC II с

    встроенным кэшем емкостью 24 Кб. На его основе построены рабочие станции и

    серверы SPARCstation/SPARCserver 4 и 5, работающие на частоте 70, 85 и 110

    МГц.

    Хотя архитектура SPARC в течение длительного времени оставалась

    доминирующей на рынке процессоров RISC, особенно в секторе рабочих станций,

    повышение тактовой частоты процессоров в 1992-1994 годах происходило более

    медленными темпами по сравнению с повышением тактовой частоты конкурирующих

    архитектур процессоров. Чтобы ликвидировать это отставание, а также в ответ

    на появление на рынке 64-битовых процессоров компания Sun разработала и

    проводит в жизнь пятилетнюю программу модернизации. В соответствии с этой

    программой Sun планировала довести тактовую частоту процессоров MicroSPARC

    до 100 МГц в 1994 году (процессор MicroSPARC II с тактовой частотой 110 МГц

    используется в рабочих станциях и серверах SPARCstation 4 и 5). В конце

    1994 и в течение 1995 года на рынке появились микропроцессоры hyperSPARC и

    однопроцессорные и многопроцессорные рабочие станции SPARCstation 20 с

    тактовой частотой процессора 100, 125 и 150 МГц. К середине 1995 года

    тактовая частота процессоров SuperSPARC была доведена до 85 МГц (60, 75 и

    85 МГц версии этого процессора в настоящее время применяются в рабочих

    станциях и серверах SPARCstation 20, SPARCserver 1000 и SPARCcenter 2000

    компании Sun и 64-процессорном сервере компании Cray Research). Наконец, в

    ноябре 1995 года, появились 64-битовые процессоры UltraSPARC-I с тактовой

    частотой 143, 167 и 200 МГц, и процессоры UltraSPARC-II с тактовой частотой

    от 250 до 300 МГц, серийное производство которых началось в середине 1996

    года. В дальнейшем начался выпуск процессоров UltraSPARC-III с частотой до

    500 МГц.

    SuperSPARC

    Имеется несколько версий этого процессора, позволяющего в зависимости

    Страницы: 1, 2, 3, 4, 5, 6


    Приглашения

    09.12.2013 - 16.12.2013

    Международный конкурс хореографического искусства в рамках Международного фестиваля искусств «РОЖДЕСТВЕНСКАЯ АНДОРРА»

    09.12.2013 - 16.12.2013

    Международный конкурс хорового искусства в АНДОРРЕ «РОЖДЕСТВЕНСКАЯ АНДОРРА»




    Copyright © 2012 г.
    При использовании материалов - ссылка на сайт обязательна.