Микропроцессор



Микропроцессор
Микропроцессор
Микропроцессор

Владельцы патента RU 2666458:

Акционерное общество "МЦСТ" (RU)

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

 

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

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

Недостатком этого микропроцессора являются относительно узкие функциональные возможности.

Наиболее близким к заявляемому является «Конвейерный процессор» [РФ №2032215 C1, G06F 15/15, 27.01.1992], содержащий первый и второй коммутаторы, выходы которых соединены с входами памяти, выход которой соединен с входом третьего коммутатора, формирователь управляющих сигналов, выход которого соединен с входом арифметико-логического блока, отличающийся тем, что в него введены первый и второй формирователи потоков команд, четвертый и пятый коммутаторы и блок обмена, причем выходы четвертого коммутатора соединены с входами арифметико-логического блока, выход которого соединен с входом пятого коммутатора, выходы которого соединены с входами первого и четвертого коммутаторов и первого и второго формирователей потоков команд, выходы которых соединены с входами первого, второго и пятого коммутаторов и формирователя управляющих сигналов, выходы которого соединены с входами второго, четвертого и пятого коммутаторов и блока обмена, выходы которого соединены с входами первого коммутатора и второго коммутатора, выход которого соединен с входом третьего коммутатора, выходы которого соединены с входами блока обмена, четвертого коммутатора и первого и второго формирователей потоков команд.

Недостатком этого процессора является его низкая скорость вычислений.

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

Технический результат достигается тем, что в микропроцессор, содержащий арифметико-логический блок, дополнительно введены блок 1 подкачки кода, блок предсказания перехода 2, устройство управления 3, блок памяти контрольных точек 4, стек адресов возврата 5, буфер переупорядочивания команд 6 и устройство внеочередного исполнения 7 инструкций, первый выход которого соединен с объединенными вторыми входами блока памяти контрольных точек 4, стека адресов возврата 5 и входом блока 2 предсказания перехода, выход которого соединен с входом блока 1 подкачки кода, выход которого соединен с четвертым входом устройства управления 3, первый выход которого соединен с объединенными первыми входами буфера переупорядочивания команд 6 и устройства внеочередного исполнения 7 инструкций, второй, третий и четвертый выходы последнего соединены каждый отдельно с одноименными входами буфера переупорядочивания команд 6, выход которого соединен с третьим входом устройства управления 3, первый вход которого соединен с первым выходом стека адресов возврата 5, первый вход которого соединен с вторым выходом устройства управления 3, второй вход которого соединен с первым выходом блока памяти контрольных точек 4, первый вход которого соединен с третьим выходом устройства управления 3, первый вход блока памяти контрольных точек 4 соединен со вторым выходом стека адресов возврата 5, третий вход которого соединен со вторым выходом блока памяти контрольных точек 4, причем устройство внеочередного исполнения 7 инструкций содержит станцию резервирования 8, арифметико-логический блок, устройство чтения-записи 10 операндов и устройство передач управления 11, выход которого соединен с объединенными первым и четвертым выходами устройства внеочередного исполнения 7 инструкций, первый вход которого соединен с первым входом станции резервирования 8, первый выход которой соединен с входом арифметико-логического блока 9, выход которого соединен с объединенными вторыми выходами устройства внеочередного исполнения 7 инструкций и станции резервирования 8, третий вход которой соединен с третьим выходом устройства внеочередного исполнения 7 инструкций и выходом устройство чтения-записи 10 операндов, вход которого соединен со вторым выходом станции резервирования 8, третий выход которой соединен с входом устройства передач управления 11.

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

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

Микропроцессор (фиг. 1) содержит блок 1 подкачки кода, блок 2 предсказания перехода, устройство управления 3, блок 4 памяти контрольных точек, стек адресов возврата 5, буфер переупорядочивания команд 6 и устройство внеочередного исполнения 7 инструкций.

Устройство внеочередного исполнения 7 инструкций (фиг. 2) содержит станцию резервирования 8, арифметико-логический блок 9, устройство чтения-записи 10 операндов и устройство передач управления 11.

Микропроцессор (фиг. 1, 2) содержит блок 1 подкачки кода, блок предсказания перехода 2, устройство управления 3, блок памяти контрольных точек 4, стек адресов возврата 5, буфер переупорядочивания команд 6 и устройство внеочередного исполнения 7 инструкций, первый выход которого соединен с объединенными вторыми входами блока памяти контрольных точек 4, стека адресов возврата 5 и входом блока 2 предсказания перехода, выход которого соединен с входом блока 1 подкачки кода, выход которого соединен с четвертым входом устройства управления 3, первый выход которого соединен с объединенными первыми входами буфера переупорядочивания команд 6 и устройства внеочередного исполнения 7 инструкций, второй, третий и четвертый выходы последнего соединены каждый отдельно с одноименными входами буфера переупорядочивания команд 6, выход которого соединен с третьим входом устройства управления 3, первый вход которого соединен с первым выходом стека адресов возврата 5, первый вход которого соединен со вторым выходом устройства управления 3, второй вход которого соединен с первым выходом блока памяти контрольных точек 4, первый вход которого соединен с третьим выходом устройства управления 3, первый вход блока памяти контрольных точек 4 соединен со вторым выходом стека адресов возврата 5, третий вход которого соединен со вторым выходом блока памяти контрольных точек 4, причем устройство внеочередного исполнения 7 инструкций содержит станцию резервирования 8, устройство чтения-записи 10 операндов и устройство передач управления 11, выход которого соединен с объединенными первым и четвертым выходами устройства внеочередного исполнения 7 инструкций, первый вход которого соединен с первым входом станции резервирования 8, первый выход которой соединен с входом арифметико-логического блока 9, выход которого соединен с объединенными вторыми выходами устройства внеочередного исполнения 7 инструкций и станции резервирования 8, третий вход которой соединен с третьим выходом устройства внеочередного исполнения 7 инструкций и выходом устройство чтения-записи 10 операндов, вход которого соединен со вторым выходом станции резервирования 8, третий выход которой соединен с входом устройства передач управления 11.

Работа микропроцессора (фиг. 1) заключается в следующем.

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

- конвейерное исполнение команд;

- предсказание направления передачи управления и условное исполнение предсказанной ветви.

Для ускорения выполнения команд выхода из процедур в высокопроизводительных микропроцессорах используется стек адресов возврата (RAS, Return Address Stack). С архитектурной точки зрения RAS представляет LIFO-память, в которую заносятся адреса, поставляемые командами вызова процедур и используемые (извлекаемые из LIFO) командами возврата из процедуры. При переполнении RAS'a самые старые локации переиспользуются. На верхнюю (последнюю значимую) локацию LIFO указывает регистр ras_top. При исполнении команды входа в процедуру он инкрементируется, при исполнении команды возврата из процедуры - декрементируется.

Указанные выше техники, однако, могут приводить к искажению информации в RAS'e. Так, например, наличие в условно исполняемой ветви впоследствии отмененной инструкции входа в процедуру приведет к занесению адреса в RAS, который не будет соответствовать архитектурному состоянию. Аналогично наличие в коде отмененной инструкции возврата из процедуры приведет к ложному использованию данных из локации и опять-таки коррупции состояния RAS'a.

Для борьбы с такого рода коррупцией предложено несколько методов. Как правило, предлагается хранить данные заносимые в RAS/используемые из RAS'a в отдельном буфере и модифицировать/восстанавливать состояние RAS только при изменении архитектурного состояния. Эти действия требуют дополнительного времени на изменение состояния при возникновении нештатных ситуаций, как например, в [US №6898699 A1, G06F 0/00, опубл. 26.06.2003].

В заявляемом микропроцессоре обеспечивается непрерывная поддержка корректного состояния RAS без использования дополнительных буферов.

Работа микропроцессора заключается в следующем.

Устройство подкачки инструкций 1 на основе информации из устройства предсказания переходов 2 подкачивает поток инструкций в устройство управления 3, где они декодируются и передаются в устройство внеочередного исполнения команд 7. Текущий статус операндов определяется на основе информации из буфера переупорядочивания команд 6. В станциях резервирования 8 команда дожидается готовности операндов и при их наличии передается в соответствующее исполнительное устройство: арифметико-логический блок 9, устройство чтения-записи 10 операндов и устройство передач управления 11. Команды при этом могут выдаваться на исполнение не в программном порядке. Результаты выполнения команд или информация об их завершении передаются в буфер переупорядочивания команд 6, где они завершаются, т.е. изменяют архитектурное состояние ядра и удаляются из конвейера, в программном порядке.

Устройство передач управления 11 определяет реальное направление ветвления и передает результат в устройство предсказания переходов 2 для коррекции предсказания, а также в блок памяти контрольных точек 4 для сохранения состояния при дешифрации переходов, для восстановления состояния необходимых регистров микропроцессора при неверном предсказании направления ветвления и в стек адресов возврата RAS.

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

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

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



 

Похожие патенты:

Изобретение относится к области онлайновых приложений социальных сетей. Технический результат заключается в возможности представления пользователю одновременно с контентом просматриваемой страницы сообщений социальной сети, имеющих к нему отношение, снижении затрат времени, связанных с просмотром таких сообщений.

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

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

Изобретение относится к системам и способам обнаружения потери значимости при выполнении избранных операций процессора. .

Изобретение относится к адресации регистров в устройстве обработки данных и может быть использовано для цифровой обработки сигналов. .

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

Изобретение относится к вычислительной технике. Технический результат заключается в обеспечении эффективной обработки данных.

Изобретение относится к диспетчеризации множественных потоков в компьютере. Техническим результатом является обеспечение диспетчеризации многопотоковой гостевой виртуальной машины.

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

Изобретение относится к компиляции цепочки преобразований пользовательского интерфейса повторных вычислений. Технический результат - повышение эффективности компиляции преобразований в пользовательском интерфейсе повторных вычислений.

Изобретение относится к системе удалённого управления и способу обработки информации для удаленного управления устройством-объектом управления через сеть. Технический результат - уменьшение нагрузки на пользовательское управление и предотвращение ошибочной операции пользователя.

Изобретение относится к области компьютерной техники. Техническим результатом является расширение арсенала технических средств для реализации назначения, заключающегося в администрировании обработки в пределах вычислительного окружения.

Изобретение относится к средствам инициализации управляющей сервисной программы в вычислительном окружении. Технический результат заключается в обеспечении возможности сервисной программе быть загруженной во многих конфигурациях без изменения последовательности загрузки.

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

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

Группа изобретений относится к логическим схемам обработки и может быть использована для осуществления логических, математических функциональных операций. Техническим результатом является повышение пропускной способности и улучшение производительности.

Изобретение относится к диспетчеризации множественных потоков в компьютере. Техническим результатом является обеспечение диспетчеризации многопотоковой гостевой виртуальной машины.
Наверх