RU2171490C2 - Многопроцессорная компьютерная система с когерентной кэш с уменьшенным энергопотреблением - Google Patents

Многопроцессорная компьютерная система с когерентной кэш с уменьшенным энергопотреблением Download PDF

Info

Publication number
RU2171490C2
RU2171490C2 RU97112199/09A RU97112199A RU2171490C2 RU 2171490 C2 RU2171490 C2 RU 2171490C2 RU 97112199/09 A RU97112199/09 A RU 97112199/09A RU 97112199 A RU97112199 A RU 97112199A RU 2171490 C2 RU2171490 C2 RU 2171490C2
Authority
RU
Russia
Prior art keywords
processor
bus
computer system
multiprocessor computer
cache
Prior art date
Application number
RU97112199/09A
Other languages
English (en)
Other versions
RU97112199A (ru
Inventor
Дуглас М. КАРМИН
Джон КРОУФОРД
Original Assignee
Интел Корпорейшн
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Интел Корпорейшн filed Critical Интел Корпорейшн
Publication of RU97112199A publication Critical patent/RU97112199A/ru
Application granted granted Critical
Publication of RU2171490C2 publication Critical patent/RU2171490C2/ru

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/30076Arrangements for executing specific machine instructions to perform miscellaneous control operations, e.g. NOP
    • G06F9/30083Power or thermal control instructions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/3287Power saving characterised by the action undertaken by switching off individual functional units in the computer system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/0815Cache consistency protocols
    • G06F12/0831Cache consistency protocols using a bus scheme, e.g. with bus monitoring or watching means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1028Power efficiency
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Microcomputers (AREA)
  • Power Sources (AREA)

Abstract

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

Description

Изобретение относится к компьютерным системам на микропроцессорной основе, а более конкретно - к многопроцессорным компьютерным системам с возможностью регулирования энергопотребления.
Достижения технологии полупроводников сделали возможным уменьшить размеры элементов интегральных микросхем, что позволило сформировать большее количество транзисторов на одной подложке. Например, изготовляемые в настоящее время наиболее сложные микропроцессоры, обычно состоящие из одной интегральной схемы (IC), содержат несколько миллионов транзисторов. Хотя столь поразительные технологические достижения позволили в огромной степени повысить производительность и улучшить возможности обработки данных в современных компьютерных системах, эти результаты были достигнуты за счет увеличения энергопотребления. Увеличение энергопотребления означает, что увеличивается излучаемое от IC тепло.
Так как излишнее энергопотребление и раcсеяние тепла являются критическими проблемами, с которыми в настоящее время сталкиваются проектировщики компьютеров, используются различные способы уменьшения энергопотребления для уменьшения уровней тока потребляемой энергии в компьютерных системах. Многие из этих способов используют стратегию отключения питания микропроцессора в моменты, когда он не используется, для экономии энергии. Этот подход, однако, не лишен недостатков.
В качестве примера можно привести проблемы, возникающие в микропроцессорных (МР) компьютерных системах, использующих два или более совместно работающих процессора для выполнения задач системы. Если один из процессоров отключается (например, если он завершил выполнение своих текущих задач или если он не используется), то другой микропроцессор системы может продолжать обработку данных по системной шине. Проблема заключается в том, что во время некоторых обращений к шине может предприниматься попытка считывать/записывать данные, сохраненные в измененном состоянии, в отключенном микропроцессоре или в неиспользуемом микропроцессоре. В случае отсутствия некоторого механизма контроля активности шины и изменения ячеек совместно используемой памяти может быть потеряна связность данных. Поэтому МР компьютерные системы нуждаются в механизме, который позволил бы неактивному процессору знать и реагировать на активность шины, которая может предпринимать попытку доступа к устаревшим данным.
Задачей настоящего изобретения является разработка многопроцессорной компьютерной системы, в которой каждый конкретный процессор контролирует трафик шины для поддержания когерентности кэш, работая в режиме уменьшенного энергопотребления. В соответствии с настоящим изобретением неактивный, или отключенный, процессор реагирует на определенные обращения шины путем обратной записи измененных данных в системную шину в режиме уменьшенного энергопотребления. Кроме того, настоящее изобретение работает без простоя или вмешательства со стороны работающей системы. Таким образом, настоящее изобретение предоставляет полностью определенный путь взаимодействия с внешней шиной, минимизируя энергопотребление.
Поставленная задача решается тем, что многопроцессорная компьютерная система согласно изобретению содержит шину, основную память, связанную с шиной, первый процессор, связанный с шиной, для выполнения обмена данными с основной памятью, и второй процессор, имеющий блок шины, связанный с шиной, локальную кэш, имеющую связанный теговый массив, схему фазовой автоматической подстройки частоты (ФАПЧ) для генерирования синхронизирующего сигнала, и при этом второй процессор выполнен с возможностью установления в режим работы с уменьшенным энергопотреблением путем отключения синхронизирующего сигнала от одного или более блока целых чисел, блока с плавающей запятой, ПЗУ управления или локальной кэш, в то время как блок шины остается подключенным к синхронизирующему сигналу, при этом блок шины выполнен с возможностью проверки шины в режиме работы с уменьшенным энергопотреблением и подачи сигнала на первый процессор, сообщающего, что цикл записи по шине, генерируемый первым процессором, выполняется в строку, которая находится в измененном состоянии в локальной кэш второго процессора.
В одном примере осуществления многопроцессорной компьютерной системы второй процессор выполнен с возможностью записи строки в измененном состоянии в основную память по шине после завершения цикла записи первого процессора.
В другом примере осуществления многопроцессорной компьютерной системы первый процессор выполнен с возможностью повторного выполнения исходного цикла записи после того, как второй процессор завершит запись строки в измененном состоянии в основную память.
В следующем примере осуществления многопроцессорной компьютерной системы второй процессор выполняет команду HALT (останов), которая устанавливает второй процессор в режим работы с уменьшенным энергопотреблением каждый раз, когда выполняется эта команда.
В еще одном примере осуществления многопроцессорной компьютерной системы второй процессор содержит внешний вывод, подключенный к ФАПЧ, который при установке вызывает отключение синхронизирующего сигнала от локальной кэш.
Согласно другому варианту изобретения многопроцессорная компьютерная система содержит внешнюю шину, первый и второй процессоры, связанные с внешней шиной, схему фазовой автоматической подстройки частоты (ФАПЧ) для генерирования синхронизирующего сигнала, связанную с первым процессором, механизм разрешения конфликтов, выполненный с возможностью разрешения конфликтов между первым и вторым процессорами для внешней шины, и блок управления прерываниями, связанный с первым и вторым процессорами для управления межпроцессорными прерываниями, причем при установке первого процессора в режим работы с уменьшенным энергопотреблением синхронизирующий сигнал первого процессора отключается от кэш первого процессора, в то время как синхронизирующий сигнал остается подключенным к теговому массиву в первом процессоре, который связан с кэш, при этом первый процессор также содержит регистр, имеющий первый разряд, причем считывание/запись регистра выполняется с помощью программного обеспечения так, что при установке первого разряда отключается режим работы с уменьшенным энергопотреблением.
В одном примере осуществления многопроцессорной компьютерной системы регистр дополнительно содержит второй разряд, при установке которого отключается механизм разрешения конфликтов.
В другом примере осуществления многопроцессорной компьютерной системы регистр дополнительно содержит третий разряд, при установке которого отключается блок управления прерываниями.
В дальнейшем изобретение поясняется подробным описанием конкретного варианта воплощения со ссылками на прилагаемые чертежи, на которых:
фиг. 1 изображает блок-схему микропроцессора согласно изобретению;
фиг. 2 изображает диаграмму состояния блока управления тактовой частотой согласно изобретению;
фиг. 3 изображает диаграмму синхронизации согласно изобретению;
фиг. 4a-d изображает примеры различных режимов работы микропроцессора согласно изобретению;
фиг. 5 изображает регистр проверки, который имеет двоичные разряды, позволяющие по программе отключать определенные функции согласно изобретению.
Описание предпочтительных вариантов осуществления изобретения
В настоящем изобретении раскрыта многопроцессорная компьютерная система, поддерживающая когерентность кэш, минимизируя энергопотребление.
На фиг. 1 представлена блок-схема процессора 20, который обладает различными свойствами в соответствии с настоящим изобретением. Процессор 20 содержит усовершенствованный процессор PentiumTM, изготовляемый Intel Corporation в Санта-Кларе (Калифорния). Хотя настоящее изобретение будет описано на примере фиг. 1, но должно учитываться, что в широком понимании настоящее изобретение применимо ко многим другим типам компьютерных систем, включая микропроцессоры, совместимые с процессором Pentium, или в которых используются различные структуры процессоров для обработки данных.
Процессор 20 содержит схему фазовой автоматической подстройки частоты (ФАПЧ) 30, которая вырабатывает внутренний сигнал синхронизации (ICLK), подаваемый по линии 46 на различные функциональные блоки схемы. Например, подаваемый по линии 46 сигнал ICLK передается на большую часть внутренней логики IC, включая кэш команд 25, кэш данных 26, ПЗУ управления 21 и внутреннюю логику, которая содержит блок 22 целых чисел и блок с плавающей запятой (FR) 23 процессора. Сигнал ICLK, кроме того, подается на часть логического блока прерываний 29. Кэш команд 26, кэш данных 26 и блок шины 40 связаны с 64-битной шиной данных 42 и с 32-битной адресной шиной 43.
Кроме сигнала ICLK схема ФАПЧ 30 обеспечивает также и второй сигнал синхронизации (CLK), подаваемый по линии 45 на массивы сравнения тегов кэш команд 25 и на кэш данных 26. Передаваемый по линии 45 сигнал CLK подается также и на часть логического блока прерываний 29 и на блок шины 40. Ниже более подробно описывается различие между сигналами синхронизации ICLK и CLK. Во время нормальной работы процессор 20 работает с тактовой частотой, примерно равной 100 мГц. Различные типы процессора 20 могут поддерживать различные отношения сердечник/шина. Например, в альтернативных исполнениях поддерживаются частоты шины, равные 50 мГц и 60 мГц.
В одном из вариантов выполнения блок шины 40 и логический блок прерываний 29 имеет логическую схему, позволяющую использовать процессор 20 в системе МР. В качестве примера, циклы шины, создаваемые и принимаемые блоком шины 40, а также сигналы прерывания, принимаемые и предоставляемые логическим блоком прерываний 29, совместимы с хорошо известным процессором PentiumTM. Кроме того, процессор 20 имеет логику, которая поддерживает целостность кэш и разрешает конфликты внешней шины.
В одном из исполнений процессор 20 осуществляет также функции управления энергопотреблением, что позволяет устанавливать процессор в состояние уменьшенного рассеяния мощности (т.е. устанавливать режимы работы HALT (останов) или STANDBY (резервирование). Во время работы в нормальном режиме с пиковой мощностью процессор 20 может рассеивать 10 Bт, в режиме работы HALT или STANDBY потребляется всего 700 мBт мощности. Одним из путей ввода процессором 20 функции управления энергопотреблением, а также независимых функций операционной системы является установка режима управления работой системы. Режим управления системой (SMM) состоит из прерывания (SMI), альтернативного адресного пространства и команды (SRET). Прерывание управления системой вызывает фиксирование в логическом блоке 29 запроса на прерывание управления системой. Когда на границе команды обнаруживается защелка SMI#, то для процессора 20 устанавливается режим SMM.
Возможен вариант выполнения, когда процессор 20 имеет внешний вывод, обозначаемый STPCLK# , и связанную схему, которая может использоваться для регулирования потребляемой процессором мощности. Вывод STPCLK# обеспечивает чувствительным к уровню прерыванием SMI, которое устанавливает процессор в низкоуровневое STANDBY состояние. В соответствии с настоящим изобретением процессор 20 реагирует как на внутренние, т.е. ADS#, так и на внешние, т.е. EADS#, запросы проверки в режиме работы STANDBY.
Кроме того, процессор 20 поддерживает механизм, называемый AUTO_HALT, в соответствии с которым процессор устанавливается в режим низкого потребления энергии каждый раз, когда выполняется команда HALT. Процессор 20 реагирует на все события останова и прерывания работы, включая собственные проверки и события межпроцессорных прерываний, которые генерируются во время нахождения процессора в состоянии экономного энергопотребления без установки вывода STPCLK#.
Когда процессор 20 работает в нормальном режиме работы, то отключаются обе линии подачи сигнала синхронизации 46 (ICLK) и 45 (CLK), чтобы на все блоки интегральной схемы подавался внутренний основной сигнал синхронизации. Когда процессор устанавливается в состояние малого энергопотребления или в состояние STANDBY в результате установки вывода STPCLK# или в результате выполнения команды HALT, то отключается сигнал внутренней синхронизации (ICLK), передаваемый по линии 46, и не влияет на непрерывную работу схемы ФАПЧ 30. Другими словами, ФАПЧ 30 продолжает генерировать внутреннюю основную CLK частоту по линии 45, связанной с определенной частью процессора 20. Части процессора 20, которые остаются в рабочем состоянии, т.е. активизируемые посредством CLK, включают ФАПЧ 30, тэговые массивы сравнения блоков кэш 25 и 26, часть логического блока прерываний 29 и блок шины 40. В соответствии с настоящим изобретением подача питания на выбранные части процессора 20 позволяет процессору контролировать и реагировать на трафик внешней шины для поддержания когерентности кэш в системах МР. То есть механизмы разрешения конфликтов шины и обеспечения когерентности кэш умышленно поддерживаются в активном состоянии в режиме работы с уменьшенным энергопотреблением.
На фиг. 2 показана диаграмма состояния, иллюстрирующая определенные ключевые свойства одного из вариантов выполнения настоящего изобретения. В нормальных условиях работы - состояние 51 - процессор 20 находится в активном состоянии, выполняя команды. Это соответствует состоянию подключения полной мощности к процессору, когда как сигналы ICLK, так и сигналы CLK подключаются ко всем частям внутренней логики IC.
В состояние STOP_GRANT - блок 53 - можно войти путем установки внешнего вывода STPCLK# процессора 20. В состоянии STOP_GRANT интегральная схема работает в режиме экономного энергопотребления, когда большинство внутренних функциональных блоков процессора дезактивированы, т. е. ICLK отключен. С другой стороны, блок шины 40, тэговые массивы кэш 25 и 26, ФАПЧ 30 и части логического блока прерываний 29 остаются в активном состоянии. Как только включается цикл шины STOP_GRANT для шины и принимается сигнал BRDY#, процессор устанавливается в состояние STOP_GRANT. Специалисты данной области понимают, что сигнал BRDY# используется для указания, что от внешней системы получены правильные данные по выводам данных в ответ на запрос чтения, или, что внешняя система, например основная память, другой процессор и т.д., приняла данные процессора в ответ на запрос записи. В одном из вариантов выполнения процессор возвращается в состояние нормальной работы примерно в течение десяти тактовых периодов после отключения STPCLK#. Команда RESET тоже выводит процессор из состояния STOP_GRANT, возвращая его в нормальное состояние.
Процессор распознает входную информацию блока шины 40 для поддержания когерентности кэш, например неточности и внешние проверки, путем контроля графика шины во время работы в режиме экономного энергопотребления. Например, в состоянии STOP_GRANT процессор закрепляет преобразования за внешними сигналами прерываний, например SMI#, NMI, INTR, FLUSH#, R/S# и INIT. Все эти прерывания устанавливаются после повторной установки STPCLK#, то есть после повторного входа в нормальное состояние.
Состояние AUTO_HALT - блок 50 устанавливается во время выполнения команды HALT. В состоянии AUTO_HALT внутренний сигнал синхронизации (ICLK) отключается от большей части внутренней логики, в то время как непрерывный сигнал синхронизации CLK поддерживает в рабочем состоянии выбранные функциональные блоки микросхемы. После ввода команд INTR, NMI, SMI# RESET или INIT процессор возвращается к нормальному состоянию работы, т.е. в состояние 51. Как отмечалось ранее, состояние AUTO_HALT приводит к существенному уменьшению энергопотребления благодаря отключению сигнала синхронизации от большей части внутренней логики процессора. Блок шины 40, ФАПЧ 30, теговые массивы, а также логика прерывания остаются активными для поддержания проверок и для обеспечения возможности быстрого перезапуска. Любое внешнее прерывание вызывает выход процессора из состояния AUTO_HALT 50 и его возврат в нормальное рабочее состояние 51. Во время работы в состоянии AUTO_HALT 50 установка сигнала FLUSH# (активного низкого уровня) вызывает фиксацию возникшего события и его обработку - блок 55. В описываемом варианте выполнения сигнала FLUSH# заставляет процессор выполнять обратную запись всех измененных линий в кэш данных 26 и отключать все внутренние кэш. Затем процессором генерируются специальные сигналы подтверждения FLUSH, указывая на завершение операций обратной записи и отмены.
Установка выхода R/S# - активного низкого уровня вызывает завершение нормальной работы процессора и установки его в состояние IDLE. На фиг. 2 показано событие R/S#, вызывающее переход от состояния AUTO_HALT 50 в состояние PROBE_MODE 56. Выход R/S# предоставляется для использования с отладкой процессора совместно со специальным портом отладки. Переход от состояния высокого уровня в низкий уровень вывода R/S# прерывает работу процессора и вызывает завершение работы на границе следующей команды. Повторная установка вывода R/S# вызывает переход от состояния PROBE_MODE 56 обратно в состояние AUTO_HALT 50.
На фиг. 2 тоже показано состояние 52, которое представляет возможность проверки процессора во время работы в режиме экономного энергопотребления, который устанавливается после установки вывода STPCLK# или выполнения команды HALT. Несмотря на уменьшение рассеяния мощности в любом из этих двух состояний, процессор продолжает управлять сигналами шины посредством блока 40, и сохраняется внутреннее машинное состояние процессора. Поддерживаются как собственные, так и межпроцессорные проверки как для циклов отключения кэш, так и для циклов обратной записи. Потребление мощности возрастает на короткий период времени, если для проверки требуется выполнения цикла обратной записи. В соответствии с настоящим изобретением проверки выполняются полностью аппаратным обеспечением без использования микрокодов.
Как в состоянии STOP_ GRANT, так и в состоянии AUTO_HALT процессор 20 поддерживает проверки, включая внутренние и межпроцессорные проверки, поддерживая в активном состоянии логику сравнения тегов блока кэш посредством CLK. Это показано на фиг. 1, где сигнал CLK по линии 45 передается на логику сравнения тегов кэш памятей 25 и 26. С другой стороны, сигнал ICLK отключается от части массива данных кэш для минимизации энергопотребления. Во время выполнения проверки в случае необходимости обновляются MESI, т.е. обновленные, совместно используемые, неправильные двоичные разряды протокола кэш. Части процессора, хотя бы, например, кэш данных, логика управления связанной кэш, а также шины между кэш данных и интерфейсной шиной, отличающиеся от теговых массивов, включаются только, если необходимы циклы обратной записи. В альтернативном варианте выполнения может быть достигнута более жесткая экономия энергии путем отключения логики сравнения тегов в определенной ситуации, например, когда все входы кэш неправильны, или путем отключения питания от теговых массивов до обнаружения обращения, которое возможно проверить, после чего включается состояние медленного повышения мощности для предоставления тегам возможности выполнения операции проверки.
Отметим, что на фиг. 1-4 показан только один пример выполнения настоящего изобретения. Однако возможны более сложные варианты выполнения с разнообразными способами экономии энергопотребления, в соответствии с которыми могут быть использованы разнообразные схемы тактирования. Это же верно и по отношению к конкретному протоколу, используемому после выполнения проверки. Например, вместо выполнения обратной записи данных первым процессором по системной шине первый процессор может удерживать запись и держать засоренной линию. Таким образом, специалисты данной области оценят многие различные способы применения настоящего изобретения.
На фиг. 3 представлена диаграмма синхронизации, показывающая задержку между запросом STPCLK# и циклом шины STOP_GRANT. Отметим, что для иллюстративного исполнения имеется задержка, равная примерно десяти тактам между запросом STPCLK# и циклом шины STOP_GRANT. Эта задержка зависит от текущей команды, количества данных в буферах записи ЦП, а также от характеристик системной памяти.
Кэш данных 26 процессора 20 использует протокол MESI для лучшего поддержания целостности кэш. Линия в кэш данных может быть в обновленном, исключительном, совместно используемом или неправильном состоянии, в то время как линия в кэш команд 25 может быть либо в правильном, либо в неправильном состоянии. В настоящем изобретении рассматриваются ситуации, которые могут возникнуть, когда два или более процессора совместно используют общие данные в компьютерной системе. Локальные кэш процессоров могут предпринимать попытки кэширования данных, когда это возможно. В одном из вариантов исполнения процессора 20 используется механизм обеспечения связности кэш для гарантии совместимости данных, передаваемых между процессорами. Если какие-либо данные были кэшированы в одном из процессоров, а другой процессор предпринимает попытку выполнить доступ к этим данным, то процессор, содержащий данные, сообщает вызывающему процессору, что он кэшировал эти данные. Состояние кэш линии и процессора, содержащего данные, будет изменяться в зависимости от текущего состояния и от типа запроса, выполняемого другим процессором.
В соответствии с настоящим изобретением для основного механизма обеспечения связности необходимо, чтобы не выполняющий цикл процессор, который не использует шину (здесь он упоминается как последний ведущий шины или LRM), проверял бы работу всех MRM шин (MRM упоминается здесь как новый ведущий шины, который использует эту шину). Процессор MRM, использующий цикл шины, затем обращается к процессору LRM для указания, что данные, содержатся в кэш LRM.
Для лучшего понимания работы настоящего изобретения рассмотрим пример разрешения конфликтов интерфейса взаимообмена, представленный на фиг. 4a-d. Предположим, что процессор PB работает в режиме экономного энергопотребления или свободен со стороны внешней шины 60. Это будет выполнено, если процессор PB будет находиться в состоянии AUTO_HALT или STOP_GRANT. Предположим также, что процессор PA в компьютерной системе только что выполнил цикл записи по внешней шине 60. Более того, допустим, что цикл записи по шине выполнялся в линию, которая находилась в измененном состоянии (М) в процессоре PB. Эта ситуация изображена на фиг. 4a. Поскольку как блок шин, так и логика внутренних прерываний и проверок остаются в активном состоянии в процессоре PB, несмотря на то что большинство других внутренних логик отключено, процессор PB автоматически проверяет внешнюю шину 60 для контроля цикла записи, начатого процессором РA.
На фиг. 4b показано, что процессор PB указывает процессору PA, что обращение к записи столкнулось с измененным состоянием кэш линии. Это выполняется посредством установки сигнала PHITM# к процессору PA. Процессор PB тоже устанавливает вывод разрешения внутренних конфликтов BPBREQ# для указания, что процессор PB сгенерировал запрос шины (предполагается, что процессор PA в текущем состоянии использует шину 60). Отметим, что сигнал HITM# тоже подключается к шине 60 для предотвращения доступа к данным со стороны другого ведущего шины до полной обратной записи линии. Затем процессор PA завершает цикл записи по внешней шине 60 так, как если бы процессора PB не существовало.
Внешняя проверка выполняется непосредственно после завершения цикла записи по шине 60, но до момента возникновения у процессора PB возможности записи измененных данных обратно в память системы. На фиг. 4b показано, что процессор PB устанавливает сигнал HITM# для сообщения системе о кэшировании адреса проверки в паре сдвоенных процессоров и о его измененном состоянии. В этом примере внешняя проверка выполняется по той же линии, которая вызвала установку сигнала PHITM#.
На фиг. 4c взаимообмен информацией в процессе разрешения конфликтов был выполнен по внешней шине 60, и теперь процессор PB использует эту шину. В это время процессор PB выполняет обратную запись строки в измененном (М) состоянии. С точки зрения компьютерной системы создается впечатление, что некоторый единый процессор завершил обращение для проверки. Отметим, что на фиг. 4c используются два собственных вывода разрешения конфликтов, связанные с этой парой процессоров для указания, что возможность монопольного использования шины передана процессору PB (или, что процессор PA запросил обратно возможность монопольного использования после завершения операции обратной записи).
Наконец, на фиг. 4d процессор PA повторно выполняет исходный цикл записи после того, как процессор PB передал шину процессору PA. Важно иметь в виду, что процессор PB остается в режиме с уменьшенным энергопотреблением в течение всего процесса проверки и обратной записи (фиг. 4a-d). Это является ключевым свойством настоящего изобретения, т.к. предоставляет существенные преимущества в компьютерных системах, ограниченных требованиями экономии энергии, но для которых необходима когерентность кэш.
На фиг. 5 показан специальный регистр проверки 12, который имеет двоичные разряды, позволяющие программному обеспечению отключать определенные возможности процессора 20. Например, возможность AUTO_HALT может быть отключена путем установки двоичного разряда 6 в регистре 12 в состояние "1". Во время такой установки во время выполнения команды HALT внутренний генератор тактовой частоты (ICLK) не отключается от каких-либо функциональных блоков процессора. В одном из исполнений возможность AUTO_HALT обеспечивается по умолчанию, т. е. 6-й разряд в регистре 12 устанавливается в состояние "0" после выполнения команды RESET (сброс).
Другими свойствами, которые управляются программным обеспечением посредством регистра проверки 12, являeтся управление усовершенствованным программируемым прерыванием (APIC) для многопроцессорных систем. В одном из вариантов выполнения настоящего изобретения процессор обладает усовершенствованным SMI контроллером процессора, который поддерживает прерывание в сложном мультипроцессорном окружении, а также прерываниe в простом однопроцессорном окружении. Модуль контроллера локальных прерываний связан с модулем APIC I/0 (например, модуль N 8259А, выпускаемый Intel Corporation) по 3-проводной последовательной шине. Когда 4-й разряд регистра 12 устанавливается в состояние "1", то свойство APIC полностью отключается. Это означает, что схема APIC не может передавать или получать какие-либо межпроцессорные прерывания. Записываемая или считываемая информация в регистр APIC передается через внешнюю шину. Аппаратное обеспечение разрешения конфликтов дуального процессора тоже может быть отключено в случае установки 5-го разряда регистра 12. Когда этот разряд устанавливается в состояние "1", то отключаются свойства собственного дуального процессора (например, PHIT#, PHITM#, PBREQ#, а также PBGRNT# выводы) как только процессор становится новым ведущим шины (MRM). Если этот разряд впоследствии устанавливается в состояние "0", то повторно включаются свойства DP. Другими свойствами, которые могут быть включены/выключены посредством регистра 12, являются сообщения входа/выхода в SMM (разряд 7), а также сообщения об отслеживании быстрого исполнения (разряд 8).

Claims (8)

1. Многопроцессорная компьютерная система, содержащая шину, основную память, связанную с шиной, первый процессор, связанный с шиной, для выполнения обмена данными с основной памятью и второй процессор, имеющий блок шины, связанный с шиной, локальную кэш, имеющую связанный теговый массив, схему фазовой автоматической подстройки частоты (ФАПЧ) для генерирования синхронизирующего сигнала, и при этом второй процессор выполнен с возможностью установления в режим работы с уменьшенным энергопотреблением путем отключения синхронизирующего сигнала от одного или более блока целых чисел, блока с плавающей запятой, ПЗУ управления или локальной кэш, в то время как блок шины остается подключенным к синхронизирующему сигналу, при этом блок шины выполнен с возможностью проверки шины в режиме работы с уменьшенным энергопотреблением и подачи сигнала на первый процессор, сообщающего, что цикл записи по шине, генерируемый первым процессором, выполняется в строку, которая находится в измененном состоянии в локальной кэш второго процессора.
2. Многопроцессорная компьютерная система по п.1, отличающаяся тем, что второй процессор выполнен с возможностью записи строки в измененном состоянии в основную память по шине после завершения цикла записи первого процессора.
3. Многопроцессорная компьютерная система по п.2, отличающаяся тем, что первый процессор выполнен с возможностью повторного выполнения исходного цикла записи после того, как второй процессор завершит запись строки в измененном состоянии в основную память.
4. Многопроцессорная компьютерная система по п.1, отличающаяся тем, что второй процессор выполняет команду HALT (останов), которая устанавливает второй процессор в режим работы с уменьшенным энергопотреблением каждый раз, когда выполняется эта команда.
5. Многопроцессорная компьютерная система по п.1, отличающаяся тем, что второй процессор содержит внешний вывод, подключенный к ФАПЧ, который при установке вызывает отключение синхронизирующего сигнала от локальной кэш.
6. Многопроцессорная компьютерная система, содержащая внешнюю шину, первый и второй процессоры, связанные с внешней шиной, схему фазовой автоматической подстройки частоты (ФАПЧ) для генерирования синхронизирующего сигнала, связанную с первым процессором, механизм разрешения конфликтов, выполненный с возможностью разрешения конфликтов между первым и вторым процессорами для внешней шины, и блок управления прерываниями, связанный с первым и вторым процессорами, для управления межпроцессорными прерываниями, причем при установке первого процессора в режим работы с уменьшенным энергопотреблением синхронизирующий сигнал первого процессора отключается от кэш первого процессора, в то время как синхронизирующий сигнал остается подключенным к теговому массиву в первом процессоре, который связан с кэш, при этом первый процессор также содержит регистр, имеющий первый разряд, причем считывание/запись регистра выполняется с помощью программного обеспечения так, что при установке первого разряда отключается режим работы с уменьшенным энергопотреблением.
7. Многопроцессорная компьютерная система по п.6, отличающаяся тем, что регистр дополнительно содержит второй разряд, при установке которого отключается механизм разрешения конфликтов.
8. Многопроцессорная компьютерная система по п.7, отличающаяся тем, что регистр дополнительно содержит третий разряд, при установке которого отключается блок управления прерываниями.
RU97112199/09A 1994-12-23 1995-12-20 Многопроцессорная компьютерная система с когерентной кэш с уменьшенным энергопотреблением RU2171490C2 (ru)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/363,735 1994-12-23
US08/363,735 US5530932A (en) 1994-12-23 1994-12-23 Cache coherent multiprocessing computer system with reduced power operating features

Publications (2)

Publication Number Publication Date
RU97112199A RU97112199A (ru) 1999-06-20
RU2171490C2 true RU2171490C2 (ru) 2001-07-27

Family

ID=23431494

Family Applications (1)

Application Number Title Priority Date Filing Date
RU97112199/09A RU2171490C2 (ru) 1994-12-23 1995-12-20 Многопроцессорная компьютерная система с когерентной кэш с уменьшенным энергопотреблением

Country Status (11)

Country Link
US (1) US5530932A (ru)
EP (1) EP0799444B1 (ru)
KR (1) KR987001105A (ru)
CN (1) CN1145869C (ru)
AU (1) AU4962196A (ru)
BR (1) BR9510532A (ru)
HK (1) HK1003667A1 (ru)
IL (1) IL116353A (ru)
RU (1) RU2171490C2 (ru)
TW (1) TW293105B (ru)
WO (1) WO1996032671A1 (ru)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2503987C2 (ru) * 2008-03-28 2014-01-10 Майкрософт Корпорейшн Энергосберегающее планирование потоков и динамическое использование процессоров
RU2550535C2 (ru) * 2010-03-01 2015-05-10 Арм Лимитед Устройство обработки данных и способ переноса рабочей нагрузки между исходной и целевой компоновкой схем обработки
RU2635255C2 (ru) * 2013-05-31 2017-11-09 Интел Корпорейшн Системный когерентный кэш с возможностью фрагментации/дефрагментации
RU2651216C2 (ru) * 2013-11-19 2018-04-18 Зте Корпорейшн Способ, устройство и компьютерный носитель данных для перемещения данных

Families Citing this family (49)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5669003A (en) * 1994-12-23 1997-09-16 Intel Corporation Method of monitoring system bus traffic by a CPU operating with reduced power
US5752045A (en) * 1995-07-14 1998-05-12 United Microelectronics Corporation Power conservation in synchronous SRAM cache memory blocks of a computer system
US5713029A (en) * 1995-09-29 1998-01-27 International Business Machines Corporation Information handling system including doze mode control
US5703790A (en) * 1996-02-27 1997-12-30 Hughes Electronics Series connection of multiple digital devices to a single power source
US5724611A (en) * 1996-04-25 1998-03-03 Vlsi Technology, Inc. Automatic cache controller system and method therefor
US5752265A (en) * 1996-06-13 1998-05-12 Compaq Computer Corporation Memory accessing in a multi-processor system using snooping
US5742781A (en) * 1996-08-09 1998-04-21 Hitachi America, Ltd. Decoded instruction buffer apparatus and method for reducing power consumption in a digital signal processor
US5801961A (en) * 1996-12-03 1998-09-01 Moore Epitaxial, Inc. Power management system for a semiconductor processing facility
US6014751A (en) * 1997-05-05 2000-01-11 Intel Corporation Method and apparatus for maintaining cache coherency in an integrated circuit operating in a low power state
US6085330A (en) * 1998-04-07 2000-07-04 Advanced Micro Devices, Inc. Control circuit for switching a processor between multiple low power states to allow cache snoops
US6105141A (en) * 1998-06-04 2000-08-15 Apple Computer, Inc. Method and apparatus for power management of an external cache of a computer system
US6347379B1 (en) * 1998-09-25 2002-02-12 Intel Corporation Reducing power consumption of an electronic device
US6438622B1 (en) 1998-11-17 2002-08-20 Intel Corporation Multiprocessor system including a docking system
JP3798563B2 (ja) 1999-01-06 2006-07-19 株式会社東芝 命令キャッシュメモリ
US7529799B2 (en) * 1999-11-08 2009-05-05 International Business Machines Corporation Method and apparatus for transaction tag assignment and maintenance in a distributed symmetric multiprocessor system
JP2003515831A (ja) * 1999-11-24 2003-05-07 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ 待機中に他のデータ処理装置の記憶装置にアクセス可能なデータ処理装置
US6766460B1 (en) * 2000-08-23 2004-07-20 Koninklijke Philips Electronics N.V. System and method for power management in a Java accelerator environment
US6845432B2 (en) * 2000-12-28 2005-01-18 Intel Corporation Low power cache architecture
US6925634B2 (en) * 2001-01-24 2005-08-02 Texas Instruments Incorporated Method for maintaining cache coherency in software in a shared memory system
US7424576B2 (en) * 2001-05-02 2008-09-09 Intel Corporation Parallel cachelets
US6976181B2 (en) * 2001-12-20 2005-12-13 Intel Corporation Method and apparatus for enabling a low power mode for a processor
US7165135B1 (en) * 2002-04-18 2007-01-16 Advanced Micro Devices, Inc. Method and apparatus for controlling interrupts in a secure execution mode-capable processor
US6843013B2 (en) * 2002-04-22 2005-01-18 Jorge Enrique Cutini Trigger safety lock for pistols and trigger assembly
US8185602B2 (en) 2002-11-05 2012-05-22 Newisys, Inc. Transaction processing using multiple protocol engines in systems having multiple multi-processor clusters
US6922756B2 (en) * 2002-12-19 2005-07-26 Intel Corporation Forward state for use in cache coherency in a multiprocessor system
GB2403561A (en) * 2003-07-02 2005-01-05 Advanced Risc Mach Ltd Power control within a coherent multi-processor system
US7155623B2 (en) * 2003-12-03 2006-12-26 International Business Machines Corporation Method and system for power management including local bounding of device group power consumption
JP2006113767A (ja) * 2004-10-14 2006-04-27 Sony Corp 情報処理システム、および、情報処理方法、並びに、プログラム
TWI321414B (en) * 2004-10-15 2010-03-01 Sony Computer Entertainment Inc Methods and apparatus for supporting multiple configurations in a multi-processor system
US7502948B2 (en) * 2004-12-30 2009-03-10 Intel Corporation Method, system, and apparatus for selecting a maximum operation point based on number of active cores and performance level of each of the active cores
DE102005037248A1 (de) * 2005-08-08 2007-02-15 Robert Bosch Gmbh Verfahren und Vorrichtung zur Steuerung eines Speicherzugriffs bei einem Rechnersystem mit wenigsterns zwei Ausführungseinheiten
DE102005037250A1 (de) * 2005-08-08 2007-02-15 Robert Bosch Gmbh Verfahren und Vorrichtung zur Steuerung eines Speicherzugriffs bei einem Rechnersystem mit wenigstens zwei Ausführungseinheiten
US7870337B2 (en) * 2007-11-28 2011-01-11 International Business Machines Corporation Power-aware line intervention for a multiprocessor snoop coherency protocol
US8266337B2 (en) * 2007-12-06 2012-09-11 International Business Machines Corporation Dynamic logical data channel assignment using channel bitmap
US8725953B2 (en) * 2009-01-21 2014-05-13 Arm Limited Local cache power control within a multiprocessor system
US8566628B2 (en) * 2009-05-06 2013-10-22 Advanced Micro Devices, Inc. North-bridge to south-bridge protocol for placing processor in low power state
US20110112798A1 (en) * 2009-11-06 2011-05-12 Alexander Branover Controlling performance/power by frequency control of the responding node
CN101958834B (zh) * 2010-09-27 2012-09-05 清华大学 支持高速缓存一致的片上网络系统及数据请求方法
US8806232B2 (en) 2010-09-30 2014-08-12 Apple Inc. Systems and method for hardware dynamic cache power management via bridge and power manager
JP5699756B2 (ja) * 2011-03-31 2015-04-15 富士通株式会社 情報処理装置及び情報処理装置制御方法
US9588881B2 (en) 2011-05-16 2017-03-07 Cypress Semiconductor Corporation Stack processor using a ferroelectric random access memory (F-RAM) for code space and a portion of the stack memory space having an instruction set optimized to minimize processor stack accesses
US9910823B2 (en) * 2011-05-16 2018-03-06 Cypress Semiconductor Corporation Stack processor using a ferroelectric random access memory (F-RAM) having an instruction set optimized to minimize memory fetch
US8949514B2 (en) * 2011-05-16 2015-02-03 Cypress Semiconductor Corporation Stack processor using a ferroelectric random access memory (F-RAM) for both code and data space
US8934279B2 (en) * 2011-05-16 2015-01-13 Cypress Semiconductor Corporation Stack processor using a ferroelectric random access memory (F-RAM) for code space and a portion of the stack memory space
WO2011157136A2 (zh) * 2011-05-31 2011-12-22 华为技术有限公司 一种数据管理方法、装置及数据芯片
US20130117511A1 (en) * 2011-11-08 2013-05-09 Arm Limited Data processing apparatus and method
CN104345861B (zh) * 2013-08-07 2017-05-24 联想(北京)有限公司 一种数据处理方法和装置及电子设备
US10482016B2 (en) * 2017-08-23 2019-11-19 Qualcomm Incorporated Providing private cache allocation for power-collapsed processor cores in processor-based systems
US11182106B2 (en) * 2018-03-21 2021-11-23 Arm Limited Refresh circuit for use with integrated circuits

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5119485A (en) * 1989-05-15 1992-06-02 Motorola, Inc. Method for data bus snooping in a data processing system by selective concurrent read and invalidate cache operation
US5167024A (en) * 1989-09-08 1992-11-24 Apple Computer, Inc. Power management for a laptop computer with slow and sleep modes
US5287525A (en) * 1989-11-29 1994-02-15 Linear Technology Corporation Software controlled power shutdown in an integrated circuit
JPH061463B2 (ja) * 1990-01-16 1994-01-05 インターナショナル・ビジネス・マシーンズ・コーポレーション マルチプロセッサ・システムおよびそのプライベート・キャッシュ制御方法
US5297269A (en) * 1990-04-26 1994-03-22 Digital Equipment Company Cache coherency protocol for multi processor computer system
US5303362A (en) * 1991-03-20 1994-04-12 Digital Equipment Corporation Coupled memory multiprocessor computer system including cache coherency management protocols
US5421027A (en) * 1991-08-12 1995-05-30 Motorola, Inc. Method and apparatus for generating a pin interrupt request in a digital data processor using a dual function data direction register
GB2260631B (en) * 1991-10-17 1995-06-28 Intel Corp Microprocessor 2X core design
US5359723A (en) * 1991-12-16 1994-10-25 Intel Corporation Cache memory hierarchy having a large write through first level that allocates for CPU read misses only and a small write back second level that allocates for CPU write misses only
US5313591A (en) * 1992-06-25 1994-05-17 Hewlett-Packard Company Computer bus arbitration for N processors requiring only N unidirectional signal leads
EP0624844A2 (en) * 1993-05-11 1994-11-17 International Business Machines Corporation Fully integrated cache architecture

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2503987C2 (ru) * 2008-03-28 2014-01-10 Майкрософт Корпорейшн Энергосберегающее планирование потоков и динамическое использование процессоров
US9003215B2 (en) 2008-03-28 2015-04-07 Microsoft Technology Licensing, Llc Power-aware thread scheduling and dynamic use of processors
RU2550535C2 (ru) * 2010-03-01 2015-05-10 Арм Лимитед Устройство обработки данных и способ переноса рабочей нагрузки между исходной и целевой компоновкой схем обработки
RU2711336C2 (ru) * 2010-03-01 2020-01-16 Арм Лимитед Устройство обработки данных и способ переноса рабочей нагрузки между исходной и целевой компоновкой схем обработки
RU2635255C2 (ru) * 2013-05-31 2017-11-09 Интел Корпорейшн Системный когерентный кэш с возможностью фрагментации/дефрагментации
US9928170B2 (en) 2013-05-31 2018-03-27 Intel Corporation Scatter/gather capable system coherent cache
RU2651216C2 (ru) * 2013-11-19 2018-04-18 Зте Корпорейшн Способ, устройство и компьютерный носитель данных для перемещения данных

Also Published As

Publication number Publication date
IL116353A0 (en) 1996-03-31
CN1145869C (zh) 2004-04-14
HK1003667A1 (en) 1998-11-06
EP0799444B1 (en) 2003-12-03
KR987001105A (ko) 1998-04-30
EP0799444A4 (en) 1998-03-25
AU4962196A (en) 1996-10-30
EP0799444A1 (en) 1997-10-08
IL116353A (en) 1999-03-12
WO1996032671A1 (en) 1996-10-17
BR9510532A (pt) 1998-07-14
CN1171159A (zh) 1998-01-21
TW293105B (ru) 1996-12-11
US5530932A (en) 1996-06-25

Similar Documents

Publication Publication Date Title
RU2171490C2 (ru) Многопроцессорная компьютерная система с когерентной кэш с уменьшенным энергопотреблением
US5809314A (en) Method of monitoring system bus traffic by a CPU operating with reduced power
JP3798476B2 (ja) コンピュータシステムおよびそのシステムにおけるキャッシュメモリのパワーダウン制御方法
US5692202A (en) System, apparatus, and method for managing power in a computer system
US6125450A (en) Stop clock throttling in a computer processor through disabling bus masters
EP1099167B1 (en) Method and apparatus for power mode transition in a multi-thread processor
US6014751A (en) Method and apparatus for maintaining cache coherency in an integrated circuit operating in a low power state
US5490279A (en) Method and apparatus for operating a single CPU computer system as a multiprocessor system
US7797563B1 (en) System and method for conserving power
US20070043965A1 (en) Dynamic memory sizing for power reduction
US20100235670A1 (en) Fast L1 Flush Mechanism
US6405320B1 (en) Computer system performing machine specific tasks before going to a low power state
JP2005025726A (ja) コヒーレント多重処理システムにおける電力制御
RU97112199A (ru) Компьютерная система связной мультипроцессорной обработки кэш с уменьшенным энергопотреблением
US8706966B1 (en) System and method for adaptively configuring an L2 cache memory mesh
US20030163745A1 (en) Method to reduce power in a computer system with bus master devices
US8166284B2 (en) Information processing device
JP2004514211A (ja) バス結合された回路ブロックのための電力管理の方法及び構成
US5913225A (en) Cache flush mechanism for a secondary cache memory
KR101285665B1 (ko) 수면 모드를 지원하는 멀티 코어 시스템 온 칩
EP0811197B1 (en) System management shadow port
JP2000357023A (ja) クロック制御システム