Элемент управления по знаку тактируемого компаратора



Элемент управления по знаку тактируемого компаратора
Элемент управления по знаку тактируемого компаратора
Элемент управления по знаку тактируемого компаратора
Элемент управления по знаку тактируемого компаратора
Элемент управления по знаку тактируемого компаратора
Элемент управления по знаку тактируемого компаратора
Элемент управления по знаку тактируемого компаратора

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

ИНТЕРНЭШНЛ БИЗНЕС МАШИНЗ КОРПОРЕЙШН (US)

Группа изобретений относится к области вычислительной техники и может быть использована в вычислительном окружении. Техническим результатом является обеспечение средства согласования по времени для обеспечения обработки в вычислительном окружении. В операции сравнения используется элемент управления по знаку тактируемого компаратора. Получают элемент управления по знаку тактируемого компаратора, который выявляет, должны ли быть использованы в операции сравнения не имеющие знака арифметические операции или имеющие знак арифметические операции. Затем используют элемент управления по знаку тактируемого компаратора при сравнении значения тактируемого компаратора и, по меньшей мере, части значения генератора тактовых импульсов истинного времени для выявления того, должно ли быть распознано выбранное действие. 3 н. и 17 з.п. ф-лы, 15 ил.

 

Уровень техники

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

Вычислительное окружение зачастую предоставляет средства согласования по времени, используемые для управления обработкой в окружении. В качестве примера, мэйнфреймовые процессоры, предлагаемые International Business Machines Corporation, Армонк, Нью-Йорк, предоставляет средство согласования по времени, включающее в себя ряд аппаратных регистров согласования по времени, команд для задания значений и просмотра регистров согласования по времени, а также механизмов прерывания для случаев, когда значение в регистре согласования по времени достигает порогового значения.

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

Сущность изобретения

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

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

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

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

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

Например, элемент управления по знаку тактируемого компаратора расположен в управляющем регистре, тактируемый компаратор реализован в виде регистра тактируемого компаратора и/или генератор импульсов истинного времени реализован в виде регистра генератора тактовых импульсов истинного времени.

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

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

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

Краткое описание чертежей

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

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

Фиг. 1Б изображает дополнительные подробности процессора на фиг. 1А, согласно аспекту настоящего изобретения,

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

Фиг. 3Б изображает более подробную информацию по памяти на фиг. 2А,

Фиг. 3А изображает один пример регистра генератора тактовых импульсов истинного времени (TOD), согласно аспекту настоящего изобретения,

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

Фиг. 4А изображает один пример команды на сохранение данных генератора тактовых импульсов, используемой согласно аспекту настоящего изобретения,

Фиг. 4В изображает один пример формата результатов команды на сохранение данных генератора тактовых импульсов на фиг. 4А, согласно аспекту настоящего изобретения,

Фиг. 5А изображает один пример команды на сохранение данных генератора тактовых импульсов, используемой согласно аспекту настоящего изобретения,

Фиг. 5Б изображает один пример формата результатов расширенной команды на сохранение данных генератора тактовых импульсов на фиг. 5А, согласно аспекту настоящего изобретения,

Фиг. 6 изображает один пример регистра тактируемого компаратора, используемого согласно аспекту настоящего изобретения,

Фиг. 7 изображает один пример управляющего регистра, используемого согласно аспекту настоящего изобретения,

Фиг. 8 изображает один пример команды на задание значения тактируемому компаратору, согласно аспекту настоящего изобретения,

Фиг. 9 изображает один пример команды на сохранение значения тактируемого компаратора, согласно аспекту настоящего изобретения, и

Фиг. 10 изображает один вариант осуществления обработки, связанной с элементом управления по знаку тактируемого компаратора, согласно аспекту настоящего изобретения.

Подробное описание

Согласно аспекту настоящего изобретения средство согласования по времени усовершенствовано для обеспечения обработки в вычислительном окружении. Например, предоставлен элемент управления по знаку тактируемого компаратора, который используют при сравнительной обработке информации согласования по времени в вычислительном окружении. Этот элемент управления по знаку предоставлен для обеспечения сравнения значения тактируемого компаратора одного объема (например, 64 бита), по меньшей мере, с частью значения генератора тактовых импульсов истинного времени (TOD) расширенного формата с отличным объемом (например, 104 бита) для корректного указания на действия, которые подлежат распознаванию (и возможно, осуществлению), такие как прерывания тактируемого компаратора, независимо от наличия переполнения генератора тактовых импульсов TOD.

Один вариант осуществления вычислительного окружения для охвата и использования одного или нескольких аспектов описан с отсылками на фиг. 1А. В одном примере вычислительное окружение основано на z/Архитектуре, предлагаемой International Business Machines Corporation, Армонк, Нью-Йорк. Один вариант осуществления z/Архитектуры описан в публикации IBM под названием «z/Архитектура, принципы работы» (z/Architecture, Principles of Operation), публикация IBM №SA22-7832-10, март 2015, включенной в настоящий документ путем отсылки в полном объеме, z/Architecture является зарегистрированной торговой маркой International Business Machines Corporation, Армонк, Нью-Йорк, США.

В другом примере вычислительное окружение основано на Архитектуре Энергии, предлагаемой International Business Machines Corporation, Армонк, Нью-Йорк. Один вариант осуществления Архитектуры Power описан в публикации «Power ISA™ версия 2.07В» (Power ISA™ Version 2.07В), International Business Machines Corporation, от 9 апреля 2015, включенной в настоящий документ путем отсылки в полном объеме. Power Architecture является зарегистрированной торговой маркой International Business Machines Corporation, Армонк, Нью-Йорка, США.

Вычислительное окружение может также быть основано на другой архитектуре, в том числе, но не ограничиваясь, на архитектуре Intel ×86. Имеются также и другие примеры.

Как показано на фиг. 1А, вычислительное окружение 100 включает в себя, например, компьютерную систему 102, показанную, например, в виде вычислительного устройства общего назначения. Компьютерная система 102 может включать в себя, но этим не ограничивается, один или несколько процессоров или вычислительных устройств 104 (например, центральных вычислительных устройств (CPU)), память 106 (называемую основной памятью или запоминающим устройством, в качестве примеров), и один или несколько интерфейсов 108 ввода/вывода (I/O), соединенных друг с другом через одну или несколько шин и/или других присоединений 110.

Шина 110 представляет собой один или более из числа любых нескольких типов структур шины, включая сюда шину памяти или контроллер памяти, периферийную шину, ускоренный графический порт, а также шину процессора или локальную шину, использующую любую из ряда шинных архитектур. В качестве примера, но не ограничения, такая архитектура включает в себя шину Промышленной стандартной архитектуры (ISA), шину Микроканальной архитектуры (МСА), шину Расширенной ISA архитектуры (EISA), локальную шину Ассоциации по стандартам в области видео-электроники (VESA) и шину Взаимодействия периферийных компонентов (PCI).

Память 106 может включать в себя, например, кеш 120, такой как совместно используемый кеш, который может быть соединен с локальными кешами 122 процессоров 104. Кроме того, память 106 может включать в себя одну или несколько программ или приложений 130, операционную систему 132, а также одну или несколько машиночитаемых программных команд 134. Машиночитаемые программные команды 134 могут быть сконфигурированы для выполнения функций вариантов осуществления аспектов изобретения.

Компьютерная система 102 также может сообщаться, например, через I/O интерфейсы 108 с одним или несколькими внешними I/O устройствами 140, одним или несколькими сетевыми интерфейсами 142 и/или одним или несколькими устройствами 144 хранения данных. Типичные внешние устройства включают в себя пользовательское оконечное устройство, лентопротяжное устройство, позиционирующее устройство, дисплей и т.д. Сетевой интерфейс 142 обеспечивает компьютерной системе 102 соединение с одной или несколькими сетями, такими как локальная сеть (LAN), общая глобальная сеть (WAN) и/или сеть общего пользования (например, Интернет), что предоставляет сообщение с другими вычислительными устройствами или системами.

Устройство 144 хранения данных имеет возможность сохранения одной или нескольких программ 146, одной или нескольких машиночитаемых программных команд 148 и/или данных и т.д. Машиночитаемые программные команды 134 могут быть сконфигурированы для выполнения функций вариантов осуществления аспектов изобретения.

Компьютерная система 102 может включать в себя другие съемные и несъемные, энергозависимые и энергонезависимые информационные носители компьютерной системы, и/или быть соединена с ними. Например, она может включать в себя и/или быть соединена с несъемным, энергонезависимым магнитным носителем (обычно называемым «жестким диском»), с магнитным дисководом для считывания со съемного, энергонезависимого магнитного диска (например, «гибкого диска») и для записи на него, и/или с оптическим дисководом для считывания со съемного, энергонезависимого оптического диска, такого как CDROM, DVD-ROM или другой оптический носитель, и для записи на него. Подразумевается, что в связи с компьютерной системой 102 могут быть использованы и другие аппаратные средства и/или компоненты программного обеспечения. Примеры, в том числе, но не ограничиваясь: микрокод, драйверы устройств, резервные вычислительные устройства, массивы внешних дисководов, системы RAID (массивы недорогих дисковых накопителей с избыточностью), устройства записи на ленту, системы архивного хранения данных и т.д.

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

Более подробная информация относительно одного примера процессора 104 описана с отсылками на фиг. 1Б. Процессор 104 включает в себя несколько функциональных компонентов, используемых для выполнения команд. Эти функциональные компоненты включают в себя, например, компонент 150 выборки команды для выборки подлежащих выполнению команд, устройство 152 декодирования команд для декодирования выбранных команд и для получения операндов декодированных команд, компонент 154 выполнения команд для выполнения декодированных команд, компонент 156 доступа к памяти для доступа, в случае необходимости, к памяти для выполнения команд, и компонент 160 перезаписи для предоставления результатов выполненных команд. Согласно аспекту настоящего изобретения один или несколько из этих компонентов могут быть использованы для выполнения одной или нескольких команд средства 166 генератора тактовых импульсов, как дополнительно описано ниже.

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

Другой вариант осуществления вычислительного окружения для охвата и использования одного или нескольких аспектов описан с отсылками на фиг. 2А. В этом примере, вычислительное окружение 200 включает в себя, например, предназначенное для исходной среды центральное вычислительное устройство (CPU) 202, память 204, а также одно или несколько устройств ввода-вывода и/или интерфейсов 206, соединенных друг с другом, например, через одну или несколько шин 208 и/или других присоединений. В качестве примеров, вычислительное окружение 200 может включать в себя процессор PowerPC или pSeries сервер, предлагаемый International Business Machines Corporation, Армонк, Нью-Йорк, и/или другие устройства, основанные на архитектуре, предлагаемой International Business Machines Corporation или другими компаниями.

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

Кроме того, предназначенное для исходной среды центральное вычислительное устройство 202 выполняет команды и код, которые сохраняются в памяти 204. В одном конкретном примере центральное вычислительное устройство выполняет код 212 эмулятора, сохраняемый в памяти 204. Этот код позволяет вычислительному окружению, сконфигурированному в одной архитектуре, эмулировать другую архитектуру. Например, код 212 эмулятора позволяет основанным на отличных от z/Архитектуры архитектурах машинам, таким как процессоры PowerPC, серверы pSeries или другие серверы или процессоры, эмулировать z/Архитектуру и выполнять программное обеспечение и команды, разработанные на основе z/Архитектуры.

Дополнительные, относящиеся к коду 212 эмулятора подробности, приведены с отсылками на фиг. 2Б. Гостевые команды 250, сохраненные в памяти 204, содержат команды программного обеспечения (например, согласованные с машинными командами), которые были разработаны для выполнения в архитектуре, отличной от предназначенной для исходной среды CPU 202. Например, гостевые команды 250 могут быть разработаны для выполнения на процессоре z/Архитектуры, но вместо этого, эмулируются на предназначенном для исходной среды CPU 202, которое может быть представлено, например, процессором Intel. В одном примере код 212 эмулятора включает в себя подпрограмму 252 выборки команд для получения одной или нескольких гостевых команд 250 из памяти 204 и, факультативно, для предоставления локальной буферизации для полученных команд. Он также включает в себя подпрограмму 254 трансляции команд для выявления типа полученной гостевой команды и для трансляции гостевой команды в одну или несколько соответствующих команд 256 исходной среды. Такая трансляция включает в себя, например, идентификацию функции, которая подлежит выполнению посредством гостевой команды, и выбор предназначенной для исходной среды команды (команд) для выполнения этой функции.

Кроме того, код 212 эмулятора включает в себя подпрограмму 260 управления эмуляцией для принуждения команд исходной среды к выполнению. Подпрограмма 260 управления эмуляцией может принудить предназначенное для исходной среды CPU 202 к выполнению подпрограммы команд исходной среды, которые эмулируют одну или несколько ранее полученных гостевых команд и, в конце такого выполнения, возвращают управление подпрограмме выборки команд для эмуляции получения следующей гостевой команды или группы гостевых команд. Выполнение команд 256 исходной среды может включать в себя загрузку данных в регистр из памяти 204, сохранение данных обратно в память из регистра, или выполнение арифметической или логической операции некоторого типа, как задано подпрограммой трансляции.

Каждая подпрограмма, например, реализуется в программном обеспечении, сохраняемом в памяти и выполняемом посредством предназначенного для исходной среды центрального вычислительного устройства 202. В других примерах, одна или несколько из числа подпрограмм или операций, реализуются во встроенном программном обеспечении, аппаратных средствах, программном обеспечении или в некоторой комбинации из этих средств. Регистры эмулированного процессора могут быть эмулированы с помощью регистров 210 предназначенного для исходной среды CPU или при помощи местоположений в памяти 204. В вариантах осуществления, гостевые команды 250, команды 256 исходной среды и код 212 эмулятора могут находиться в той же самой памяти или могут быть рассредоточены среди различных запоминающих устройств.

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

Гостевая команда 250, которую получают, транслируют и выполняют, представлена, например, одной из описанных в настоящем документе команд. Команду, которая имеет одну архитектуру (например, z/Архитектуру), выбирают из памяти, транслируют и представляют в виде последовательности команд 256 исходной среды другой архитектуры (например, PowerPC, pSeries, Intel и т.д.). Такие команды исходной среды затем выполняют.

Согласно аспекту настоящего изобретения процессор в составе одного или нескольких из описанных в настоящем документе окружений и/или других окружений, включает в себя средство согласования по времени, имеющее, например, регистры согласования по времени (например, аппаратные регистры), команды для задания значений регистрам согласования по времени и для их просмотра, а также механизм прерывания для срабатывания в том случае, когда значение в регистре согласования по времени достигает порогового значения. Пример такого средства описан с отсылками на z/Архитектуру и ее предшественников, но аспекты изобретения являются одинаково применимыми и к другим архитектурам.

Одним из примеров регистра согласования по времени является регистр генератора тактовых импульсов истинного времени TOD, пример которого изображен на фиг. 3А. Как первоначально задано в архитектуре S/370 (приблизительно 1970 г.), предложенной International Business Machines Corporation, содержимым регистра 300 генератора тактовых импульсов TOD является 64-битовое не имеющее знака двоичное целое число, где позиция бита 51 (302) получает приращение каждую микросекунду. (В качестве примера, следует отметить, что в мэйнфреймовых архитектурах IBM биты пронумерованы в порядке возрастания слева направо.) С учетом этого обстоятельства, бит 0 отображает примерно 71,35 года. Таким образом, временная продолжительность, которая может быть отсчитана в регистре генератора тактовых импульсов TOD, примерно составляет 142,7 года, эту временную продолжительность называют эпохой.

В конце 1990-х гг.было введено для использования, например, с архитектурами системы IBM расширенное средство генератора тактовых импульсов TOD, которое имеет увеличенный объем регистра генератора тактовых импульсов TOD. Как показано на фиг. 3Б, регистр 350 генератора тактовых импульсов TOD расширен, например, до 104 битов. Такое расширение обеспечивает возможность более точных измерений (то есть, биты добавлены в правую часть регистра). Позиция бита 51 (352) продолжает представлять собой одну микросекунду, таким образом, полная продолжительность регистра не увеличена.

Задана команда сохранение данных генератора тактовых импульсов (STCK), которая обеспечивает возможность просмотра крайних левых 64 битов регистра генератора тактовых импульсов TOD посредством какой-либо прикладной программы (то есть, для выполнения STCK не требуется никаких специальных полномочий). В одном варианте осуществления, команда может быть представлена единственной архитектурно спроектированной машинной командой на аппаратном/программном интерфейсе.

Один пример команды на сохранение данных генератора тактовых импульсов описан с отсылками на фиг. 4А. Команда 400 на сохранение данных генератора тактовых импульсов включает в себя поле 402 операционного кода (кода операции)(ОРСОБЕ), которое имеет код операции, указывающий на операцию сохранения данных генератора тактовых импульсов, основное поле 404 (В2), и поле 406 (D2) смещения. В одном варианте осуществления, поля команды являются отдельными и независимыми друг от друга. Однако в другом варианте осуществления, поля в числе более одного могут быть объединены друг с другом. Кроме того, связанный с полем команды нижний индекс обозначает операнд, к которому применяют поле. Например, поле, имеющее нижний индекс 2, связано со вторым операндом.

В качестве примера, содержимое обозначенного В2 404 регистра добавляют к предоставленному посредством D2 406 значению для предоставления адреса второго операнда, используемого, как описано ниже.

При функционировании, например, действующее значение битов 0-63, например, из 64-битовых генератора тактовых импульсов TOD 300 сохраняют в восьмибайтовом поле, обозначенном посредством адреса второго операнда, при условии, что генератор импульсов находится в состоянии с заданным значением, остановленном состоянии, или в состоянии с незаданным значением, в качестве примеров. Это показано на фиг. 4Б, которая изображает формат 450 результатов 452 выполнения команды на сохранение данных генератора тактовых импульсов (то есть, 64-битое значение генератора тактовых импульсов TOD).

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

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

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

Качество сохраненного командой значения генератора тактовых импульсов обозначают посредством задания результирующего условного кода. Типовые условные коды включают в себя: 0 - генератор импульсов в состоянии с заданным значением, 1 - генератор импульсов в состоянии с незаданным значением, 2 - генератор импульсов в состоянии ошибки, и 3 - генератор импульсов в остановленном состоянии или в нерабочем состоянии.

Кроме того, могут произойти следующие программные исключения: по доступу (сохранение, операнд 2), и по ограничению транзакций, в качестве примеров.

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

Кроме того, условный код 0 обычно указывает на то, что генератору импульсов было задано значение посредством управляющей программы (например, операционной системы). Соответственно, значение может быть использовано при измерениях прошедшего времени и в качестве действительного истинного времени и календарного указателя. Условный код 1 указывает на то, что значение генератора тактовых импульсов является временем, прошедшим после включения питания генератора тактовых импульсов. В этом случае, значение может быть использовано при измерении прошедшего времени, но не может представлять собой указатель действительного истинного времени. Условные коды 2 и 3 означают, что предоставленное командой на сохранение данных генератора тактовых импульсов значение не подлежит использованию для измерения или отображения времени, в одном варианте осуществления.

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

Для расширенного регистра генератора тактовых импульсов TOD задана расширенная команда на сохранение данных генератора тактовых импульсов (STCKE), которая сохраняет полное 104-битовое значение генератора тактовых импульсов TOD, а также байт нолей налево от значения генератора тактовых импульсов TOD (что оставляет пространство для расширения).

Один пример расширенной команды на сохранение данных генератора тактовых импульсов описан с отсылками на фиг. 5А. В одном варианте осуществления, команда может быть представлена единственной архитектурно спроектированной машинной командой на аппаратном/программном интерфейсе. Расширенная команда 500 на сохранение данных генератора тактовых импульсов включает в себя поле 502 операционного кода (кода операции), которое имеет код операции, указывающий на операцию сохранения данных генератора тактовых импульсов, основное поле 504 (В2), и поле 506 (D2) смещения. В одном варианте осуществления, поля команды являются отдельными и независимыми друг от друга. Однако в другом варианте осуществления, поля в числе более одного могут быть объединены друг с другом. Кроме того, связанный с полем команды нижний индекс обозначает операнд, к которому применяют поле. Например, каждое поле, имеющее нижний индекс 2, связано со вторым операндом.

В качестве примера, содержимое обозначенного В2 504 регистра добавляют к предоставленному посредством D2 506 значению для предоставления адреса второго операнда, используемого, как описано ниже.

При функционировании и с отсылками на фиг. 5Б, действующее значение битов 0-103 генератора тактовых импульсов TOD сохраняют в положениях 1-13 байта (554) шестнадцатибайтового поля 550, обозначенного адресом второго операнда, при условии, что генератор импульсов находится в состоянии с заданным значением, остановленном состоянии, или в состоянии с незаданным значением, в качестве примеров. Ноли сохранены в положении 0 (552) байта, которое является полем расширения, называемым индексом эпохи (ЕХ) и описанным далее в настоящем документе. Кроме того, содержимое программируемого поля TOD, то есть, биты 16-31 программируемого регистра TOD, сохраняют в положениях 14 и 15 байта (556), в качестве примеров.

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

Когда сохраняют значение работающего генератора тактовых импульсов, значение, например, в позициях битов 64-103 генератора тактовых импульсов (например, позициях битов 72-111 операнда памяти) является ненулевым, этим обеспечено, что значения, сохраненные посредством расширенной команды на сохранение данных генератора тактовых импульсов, являются уникальными при сравнении со значениями, сохраненными посредством команды на сохранение данных генератора тактовых импульсов, и расширенными с помощью нолей.

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

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

Качество сохраненного командой значения генератора тактовых импульсов обозначают посредством задания результирующего условного кода. Типовые условные коды включают в себя: 0 - генератор импульсов в состоянии с заданным значением, 1 - генератор импульсов в состоянии с незаданным значением, 2 - генератор импульсов в состоянии ошибки, и 3 - генератор импульсов в остановленном состоянии или в нерабочем состоянии.

Кроме того, могут произойти следующие программные исключения: по доступу (сохранение, операнд 2), и по ограничению транзакций.

В одном варианте осуществления, условный код 0 обычно указывает на то, что генератору импульсов было задано значение посредством управляющей программы. Соответственно, значение может быть использовано при измерениях прошедшего времени и в качестве действительного истинного времени и календарного указателя. Условный код 1 указывает на то, что значение генератора тактовых импульсов является временем, прошедшим после включения питания генератора тактовых импульсов. В этом случае, значение может быть использовано при измерении прошедшего времени, но не может представлять собой указатель действительного истинного времени. Условные коды 2 и 3 означают, что предоставленное командой на сохранение данных генератора тактовых импульсов значение не подлежит использованию для измерения или отображения времени, в одном варианте осуществления.

Использующие генератор импульсов TOD (равнозначно, расширенные или нет) операционные системы обычно находятся под действием соглашения, согласно которому, значение генератора тактовых импульсов TOD, полностью состоящее из двоичных нулей, представляет собой 1 января 1900 в момент 0:00:00 до полудня. Это соглашение представляет временной промежуток, называемый стандартной эпохой. С учетом временного промежутка генератора тактовых импульсов TOD в виде стандартной эпохи, генератор импульсов возвратится обратно к нолям 17 сентября 2042 в момент 23:53:57,370496 международного атомного времени (TAI).

В дополнение к генератору импульсов TOD, другой регистр, предоставленный средством согласования по времени, и используемый в одном или нескольких аспектах настоящего изобретения, представлен компаратором генератора тактовых импульсов. Тактируемый компаратор предоставляет средства для распознавания (и возможного осуществления) процессором внешнего прерывания каждый раз, когда значение генератора тактовых импульсов TOD превышает заданное программой значение. В одном примере как показано на фиг.6, регистр 600 тактируемого компаратора имеет, например, 64 бита. Каждый CPU в конфигурации, например, имеет регистр тактируемого компаратора, формат которого совпадает с битами 0-63 генератора тактовых импульсов TOD. Значение тактируемому компаратору может быть задано посредством привилегированной команды, называемой командой на задание значения тактируемому компаратору, и может быть просмотрено посредством привилегированной команды на сохранение значения тактируемого компаратора, в качестве примеров.

В одном аспекте, когда значение подлежащей сравнению части значения генератора тактовых импульсов TOD превышает значение регистра тактируемого компаратора, может наличествовать запрос на прерывание тактируемого компаратора (хотя некоторые исключения применимы в случае, когда генератор импульсов находится в состоянии ошибки или в нерабочем состоянии). В одном примере в таком сравнении используют не имеющие знака двоичные арифметические операции, причем сравнению могут быть подвергнуты не все биты регистра тактируемого компаратора, тем не менее, в одном варианте осуществления, сравнению подвергают, по меньшей мере, биты 0-47. (В других вариантах осуществления, сравнению может быть подвергнуто большее или меньшее число битов.) Фактическое осуществление ожидающего прерывания тактируемого компаратора зависит, например, от того, активирован ли CPU для внешних прерываний тактируемого компаратора. Активацию задают посредством двух элементов управления, например:

1. Внешние прерывания (также называемые временными остановками) активируют посредством выбранного бита в управляющем регистре, такого как бит 7 в слове состояния программы (PSW). Слово состояния программы является управляющим регистром, выполняющим функции регистра состояния и счетчика программы. Оно содержит информацию, используемую для надлежащего выполнения программы, в том числе, но не ограничиваясь, условный код, адрес команды и другую информацию. Бит 7 указывает на активацию внешних прерываний. Когда биту задано, например, значение единица, внешние прерывания являются активированными.

2. Когда внешние прерывания активированы, бит во втором элементе управления в управляющем регистре, таком как управляющий регистр 0, задает, является ли активированным подкласс внешних прерываний тактируемого компаратора.

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

На данный момент, расширенная команда на сохранение данных генератора тактовых импульсов (STCKE) сохраняет ноли в крайних левых восьми позициях битов (поле ЕХ 552 на фиг. 5Б). При использовании стандартной эпохи, начинающейся 1 января 1900 г., генератор импульсов TOD переполняется 17 сентября 2042 г. При наступлении такого переполнения, перенос распространятся влево. Таким образом, поле 552 индекса эпохи (ЕХ) рассматривается как логическое расширение генератора тактовых импульсов TOD. Когда поля ЕХ и генератора тактовых импульсов TOD связаны таким образом, этим предоставлена расширенная эпоха протяженностью примерно 35000 лет.

Однако объем регистра тактируемого компаратора при этом не увеличен. Этим обеспечена возможность применения более простой схемотехники, но создана проблема сравнения значения генератора тактовых импульсов TOD со значением тактируемого компаратора. С помощью описанных выше улучшений, генератор импульсов TOD является способным к предоставлению места для расширенной эпохи, которая в 256 раз превышает единичную эпоху, тем не менее, тактируемый компаратор ограничен единичной эпохой.

Например, рассмотрим сценарий, когда действующий генератор импульсов TOD приближается к переполнению, например они содержат шестнадцатеричное число FFFFFFFF,00000000. Поскольку позиция бита 51 представляет собой одну микросекунду, позиция бита 31 представляет собой 1,048 576 секунды. Таким образом, генератор импульсов TOD переполняется за время, немногим превышающее одну секунду. Когда программа пытается принудить тактируемый компаратор к срабатыванию точно в 2,097 152 секунды, она добавляет к действующему генератору импульсов TOD значение шестнадцатеричного числа 00000002,00000000. Результатом сложения является шестнадцатеричное число 1,00000001,00000000, но поскольку тактируемый компаратор, в одном варианте осуществления, вмещает только 64-битовое значение (позиции битов которого соответствуют таковым для генератора тактовых импульсов TOD), результат переноса оказывается потерянным, и тактируемому компаратору задают значение в виде шестнадцатеричного числа 00000001,00000000. Согласно правилам не имеющих знака двоичных арифметических операций, тактируемый компаратор является в данный момент меньшим, чем значение генератора тактовых импульсов TOD, таким образом прерывание тактируемого компаратора незамедлительно становится ожидающим также и в том случае, когда ожидаемое событие не происходит в течение двух секунд.

Таким образом, согласно аспекту настоящего изобретения предоставлен инструмент использования 64-битового тактируемого компаратора с расширенным форматом генератора тактовых импульсов TOD, вне зависимости от переполнения генератора тактовых импульсов TOD (то есть, вне зависимости от реализации индекса эпохи в виде логического расширения генератора тактовых импульсов TOD). В одном аспекте, предоставлено средство множественных эпох (MEF), которое задает элемент управления по знаку тактируемого компаратора, что обеспечивает возможность выполнения сравнений тактируемого компаратора либо со знаком, либо без знака. При надлежащем использовании операционной системы, элемент управления по знаку тактируемого компаратора обеспечивает 64-битовому тактируемому компаратору возможность корректного указания на прерывания тактируемого компаратора, независимо от наличия переполнения соответствующих битов генератора тактовых импульсов TOD. В одном варианте осуществления, элемент управления по знаку тактируемого компаратора является доступным в том случае, когда средство множественных эпох инсталлировано в конфигурации. (Следует отметить, что MEF предоставляет индекс эпохи, в котором генератор импульсов TOD переполняется по достижении ими максимального значения, тем не менее, элемент управления по знаку тактируемого компаратора функционирует независимо от индекса эпохи.)

В одном варианте осуществления, элемент управления по знаку тактируемого компаратора реализован в виде бита в управляющем регистре. Например, как показано на фиг.7, управляющий регистр 700, такой как управляющий регистр 0, включает в себя элемент 702 управления по знаку тактируемого компаратора. В одном конкретном варианте осуществления, элемент 702 управления по знаку тактируемого компаратора является битом 10 управляющего регистра 0, но и другие возможности также являются возможными. Значения элемента управления по знаку тактируемого компаратора представлены, например, следующим образом.

0=сравнение происходит по правилам не имеющих знака двоичных арифметических операций,

1=сравнение происходит по правилам имеющих знак двоичных арифметических операций.

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

Для дальнейшего разъяснения использования элемента управления по знаку, приведенный выше пример повторен, но в предположении выполнения имеющего знак сравнения.

Генератор импульсов TOD = шестнадцатеричное число FFFFFFFF, 00000000

Трансляция генератора тактовых импульсов = шестнадцатеричное число 00000001,00000000

При использовании имеющих знак двоичных арифметических операций, бит 0 каждого значения является имеющим знак битом. Таким образом, генератор импульсов TOD первоначально содержит отрицательное значение, которое является меньшим, чем положительное значение тактируемого компаратора. Предположим, что генератор импульсов TOD продвинулся в достаточной мере для превышения значения тактируемого компаратора (например, к значению 01,00000001,00000123). В данном случае, крайний левый байт является индексом эпохи, и не участвует в сравнении. Таким образом, значение генератора тактовых импульсов TOD (00000001,00000123) в настоящий момент превышает значение тактируемого компаратора (00000001,00000000), тем самым, прерывание тактируемого компаратора становится ожидающим.

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

Когда элемент управления по знаку тактируемого компаратора представлен нолем:

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

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

Когда средство множественных эпох инсталлировано, и элемент управления по знаку тактируемого компаратора представлен единицей:

Задание тактируемому компаратору максимального отрицательного значения (шестнадцатеричное число 80000000,00000000) принуждает прерывание тактируемого компаратора к тому, что оно незамедлительно становится ожидающим.

Задание тактируемому компаратору максимального положительного значения (шестнадцатеричное число 7FFFFFFF,FFFFFFFF) предотвращает распознавание условия прерывания тактируемого компаратора. В другом аспекте, когда средство множественных эпох инсталлировано в конфигурации, элемент управления по знаку тактируемого компаратора предоставляет средства, посредством которых управляющая программа может задавать составляющее разрыв непрерывности событие в подвергаемой сравнению части значения генератора тактовых импульсов TOD в целях проверки тактируемого компаратора, как то: либо переход от максимального не имеющего знака значения генератора тактовых импульсов TOD к нолю, либо переход от максимального положительного имеющего знак значения генератора тактовых импульсов TOD к максимальному отрицательному значению. Таким образом, когда используют не имеющее знака сравнение, разрыв непрерывности в подвергаемой сравнению части значения генератора тактовых импульсов истинного времени происходит, когда сравниваемые биты, обрабатываемые как не имеющие знака значения, увеличиваются таким образом, что значение циклически переходит от максимального не имеющего знака значения к нолю. Когда используют имеющее знак сравнение, разрыв непрерывности в подвергаемой сравнению части значения генератора тактовых импульсов истинного времени происходит, когда сравниваемые биты, обрабатываемые как имеющие знак значения, увеличиваются таким образом, что значение циклически переходит от максимального положительного значения к максимальному отрицательному значению.

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

Для обеспечения последовательных результатов при изменении элемента управления по знаку тактируемого компаратора, в одном варианте осуществления, программа (А) отключает прерывания тактируемого компаратора, (Б) задает элементу управления по знаку тактируемого компаратора значение, (В) выпускает команду на задание значения тактируемому компаратору для задания нового значения компаратору, а затем (Г), в соответствующих случаях, активирует прерывания тактируемого компаратора.

После задания ему значения, элемент управления по знаку тактируемого компаратора должен оставаться неизменным до очередного начального сброса CPU (такого как при начальной загрузке программы (IPL)). Динамическое изменение элемента управления по знаку тактируемого компаратора может привести к ложному распознаванию состояния тактируемого компаратора, которое извлечено в результате изменения элемента управления, или к просроченному распознаванию состояния тактируемого компаратора, которое становится ожидающим в результате изменения элемента управления.

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

В одном примере команда 800 на задание значения тактируемому компаратору включает в себя, например, поле 802 операционного кода (кода операции) (OPCODE), имеющее код операции, задающий операцию по заданию значения тактируемому компаратору, основное поле 804 (В2), и поле 806 (D2) смещения. В одном варианте осуществления, поля команды являются отдельными и независимыми друг от друга. Однако в другом варианте осуществления, поля в числе более одного могут быть объединены друг с другом. Кроме того, связанный с полем команды нижний индекс обозначает операнд, к которому применяют поле. Например, поля, имеющие нижний индекс 2, связаны со вторым операндом.

В качестве примера, содержимое обозначенного В2 804 регистра добавляют к предоставленному посредством D2 806 значению для предоставления адреса второго операнда, используемого, как описано ниже.

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

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

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

Кроме того, например, подавляется операция на всех исключениях по адресации и по защите. Кроме того, могут происходить следующие программные исключения: по доступу (выборка, операнд 2), по привилегированной операции, по спецификации, и по ограничению транзакций.

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

Один пример команды на сохранение значения тактируемого компаратора описан с отсылками на фиг. 9. В одном примере команда 900 на сохранение значения тактируемого компаратора включает в себя, например, поле 902 операционного кода (кода операции), имеющее код операции, задающий операцию по сохранению данных генератора тактовых импульсов тактируемому компаратору, основное поле 904 (В2), и поле 906 (D2) смещения. В одном варианте осуществления, поля команды являются отдельными и независимыми друг от друга. Однако в другом варианте осуществления, поля в числе более одного могут быть объединены друг с другом. Кроме того, связанный с полем команды нижний индекс обозначает операнд, к которому относится поле. Например, поля, имеющие нижний индекс 2, связаны со вторым операндом.

В качестве примера, содержимое обозначенного В2 904 регистра добавляют к предоставленному посредством D2 906 значению для предоставления адреса второго операнда, используемого, как описано ниже.

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

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

В одном варианте осуществления, операнд должен быть назначен на границе двойного слова, в противном случае, распознается исключение по спецификации. Кроме того, в одном примере могут происходить следующие программные исключения, например: по доступу (выборка, операнд 2), по привилегированной операции, по спецификации, и по ограничению транзакций. В настоящем документе описано средство, которое задает значение элемента управления по знаку тактируемого компаратора, что обеспечивает возможность проведения как имеющих знак, так и не имеющих знака сравнений тактируемого компаратора. Это облегчает обработку в вычислительном окружении путем обеспечения корректных результатов даже в состоянии переполнения TOD. Один или несколько аспектов настоящего изобретения неразрывно связаны с компьютерной системой, улучшая обработку в системе.

Более подробная информация, связанная с элементом управления по знаку для сравнения значений генератора тактовых импульсов, описана с отсылками на фиг. 10. В одном примере, например, процессор (1000) получает элемент управления по знаку тактируемого компаратора, который подлежит использованию для выявления того, должны ли быть использованы в операции сравнения не имеющие знака арифметические операции или имеющие знак арифметические операции. Это достигается, например, посредством получения доступа к элементу управления по знаку (например, биту 10) управляющего регистра (например, управляющего регистра 0). Элемент управления по знаку тактируемого компаратора в этом случае используют при сравнении значения тактируемого компаратора и, по меньшей мере, части значения генератора тактовых импульсов истинного времени (TOD) для выявления необходимости распознавания выбранного действия (например, прерывания) (1002). Например, значение тактируемого компаратора получают при помощи, например, команды на сохранение значения тактируемого компаратора, и значение генератора тактовых импульсов TOD получают при помощи, например, расширенной команды на сохранение данных генератора тактовых импульсов. Значение тактируемого компаратора и, по меньшей мере, часть значения генератора тактовых импульсов TOD сравнивают с помощью либо не имеющих знака арифметических операций, либо имеющих знак арифметических операций, в зависимости от значения элемента управления по знаку тактируемого компаратора. Когда, например, сравнение указывает на то, что, по меньшей мере, часть значения генератора тактовых импульсов TOD превышает значение тактируемого компаратора, выбранное действие должно быть распознано.

В одном варианте осуществления, на основании задания элементу управления по знаку тактируемого компаратора первого значения при сравнении подлежат использованию не имеющие знака двоичные арифметические операции (первое значение является значением по умолчанию для обеспечения совместимости для операционных систем на различных уровнях) (1004), а на основании задания элементу управления по знаку тактируемого компаратора второго значения при сравнении подлежат использованию имеющие знак двоичные арифметические операции (1006).

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

В одном примере тактируемый компаратор имеет один объем, а генератор импульсов истинного времени является расширенным генератором импульсов истинного времени с отличным от тактируемого компаратора объемом, причем генератор импульсов истинного времени может оказаться переполненным (1010).

Кроме того, в качестве примера, элемент управления по знаку тактируемого компаратора расположен в управляющем регистре (1012), тактируемый компаратор реализован в виде регистра тактируемого компаратора (1014) и/или генератор импульсов истинного времени реализован в виде регистра генератора тактовых импульсов истинного времени (1016).

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

Являются возможными разнообразные изменения.

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

Машиночитаемый информационный носитель может быть представлен материальным устройством, которое способно удерживать и сохранять команды для использования посредством устройства выполнения команд. Машиночитаемый информационный носитель может быть представлен, например, в том числе, но не ограничиваясь, устройством электронной памяти, магнитным запоминающим устройством, оптическим запоминающим устройством, электромагнитным запоминающим устройством, полупроводниковым запоминающим устройством или любой подходящей комбинацией из вышеупомянутого. Неисчерпывающий список более конкретных примеров машиночитаемых информационных носителей включает в себя следующее: портативная компьютерная дискета, жесткий диск, оперативная память (RAM), постоянная память (ROM), стираемая программируемая постоянная память (EPROM или флэш-память), статическая оперативная память (SRAM), переносной компакт-диск для однократной записи данных (CD-ROM), цифровой универсальный диск (DVD), карта памяти, гибкий диск, механически закодированное устройство, такое как перфокарты или выступающие структуры в канавке с записанными на них командами, а также любая подходящая комбинация из вышеупомянутого. Машиночитаемый информационный носитель, как он рассматривается в настоящем документе, не подлежит истолкованию в качестве представленного преходящими сигналами как таковыми, такими как радиоволны или другие свободно распространяющиеся электромагнитные волны, электромагнитные волны, распространяющиеся через волновод или другие среды передачи (например, проходящие через волоконно-оптический кабель световые импульсы), или передаваемые через провода электрические сигналы.

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

Машиночитаемые программные команды для выполнения операций настоящего изобретения могут быть представлены командами ассемблера, командами архитектуры системы команд (ISA), машинными командами, машинно-зависимыми командами, микрокодом, командами встроенного программного обеспечения, присваивающими значение состоянию данными, конфигурационными данными для интегральной схемотехники, или иным исходным кодом или объектным кодом, записанным на любой комбинации из одного или нескольких языков программирования, включая сюда объектно-ориентированные языки программирования, такие как Smalltalk, С++ и т.п., а также языки процедурного программирования, такие как язык программирования «С» или подобные языки программирования. Машиночитаемые программные команды могут выполняться полностью на компьютере пользователя, частично на компьютере пользователя, как автономный пакет программного обеспечения, частично на компьютере пользователя и частично на удаленном компьютере или полностью на удаленном компьютере или сервере. В последнем сценарии удаленный компьютер может быть присоединен к компьютеру пользователя через любой тип сети, включая сюда локальную сеть (LAN) или глобальную сеть (WAN), или присоединение может быть сделано к внешнему компьютеру (например, через Интернет с использованием Интернет-провайдера). В некоторых вариантах осуществления, электронные схемы, включающие в себя, например, программируемые логические схемы, программируемые на месте вентильные матрицы (FPGA) или программируемые логические матрицы (PLA) могут выполнять машиночитаемые программные команды посредством использования информации о состоянии машиночитаемых программных команд для настройки электронной схемы с целью выполнения аспектов настоящего изобретения.

Аспекты настоящего изобретения описаны в настоящем документе с отсылками на иллюстрации в виде блок-схем и/или блок-диаграмм для способов, устройств (систем) и компьютерных программных продуктов согласно вариантам осуществления изобретения. Подразумевается, что каждый блок иллюстраций в виде блок-схем и/или блок-диаграмм, а также комбинации блоков на иллюстрациях в виде блок-схем и/или блок-диаграмм, могут быть реализованы посредством машиночитаемых программных команд.

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

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

Блок-схемы и блок-диаграммы на чертежах показывают архитектуру, функциональность и функционирование возможных реализаций систем, способов и компьютерных программных продуктов согласно различным вариантам осуществления настоящего изобретения. В этом отношении каждый блок в блок-схемах или блок-диаграммах может представлять модуль, сегмент или участок команд, который содержит одну или несколько исполнимых команд для реализации указанной логической функции (функций). В некоторых альтернативных реализациях указанные в блоках функции могут осуществляться в порядке, отличном от приведенного на чертежах. Например, два блока, показанные по очереди, могут, фактически, быть выполнены по существу одновременно, или блоки могут иногда выполняться в обратном порядке, в зависимости от предусмотренной к выполнению функциональности. Необходимо также отметить, что каждый блок на иллюстрациях в виде блок-схем и/или блок-диаграмм, а также в комбинациях блоков на иллюстрациях в виде блок-схем и/или блок-диаграмм, может быть реализован посредством основанных на аппаратных средствах систем особого назначения, которые выполняют указанные функции или действия или выполняют комбинации аппаратных и компьютерных команд особого назначения.

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

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

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

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

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

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

Устройства ввода-вывода или устройства I/O (в том числе, но не ограничиваясь, клавиатуры, дисплеи, позиционирующие устройства, DASD (запоминающее устройство прямого доступа), устройство записи на ленту, CD, DVD, карты флэш-памяти и другие носители памяти и т.д.) могут быть соединены с системой или непосредственно или через переходные контроллеры I/O. С системой также могут быть соединены сетевые адаптеры для предоставления системе обработки данных возможности установления соединения с другими системами обработки данных или с удаленными принтерами или с запоминающими устройствами посредством переходных частных сетей или сетей общего пользования. Модемы, кабельные модемы и платы Ethernet являются всего несколькими примерами из числа доступных типов сетевых адаптеров.

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

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

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

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

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

2. Машиночитаемый информационный носитель по п. 1, причем использование элемента управления по знаку тактируемого компаратора при сравнении имеет результатом корректное указание на необходимость распознавания выбранного действия, независимо от наличия переполнения генератора тактовых импульсов истинного времени.

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

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

5. Машиночитаемый информационный носитель по п. 1, причем выбранное действие является прерыванием обработки в вычислительном окружении.

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

7. Машиночитаемый информационный носитель по п. 1, причем элемент управления по знаку тактируемого компаратора расположен в управляющем регистре.

8. Машиночитаемый информационный носитель по п. 1, причем тактируемый компаратор реализован как регистр тактируемого компаратора, а генератор импульсов истинного времени реализован как регистр генератора тактовых импульсов истинного времени.

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

10. Компьютерная система для обеспечения обработки в вычислительном окружении, причем компьютерная система содержит:

память и

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

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

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

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

13. Компьютерная система по п. 12, причем на основании задания элементу управления по знаку тактируемого компаратора второго значения при сравнении подлежат использованию имеющие знак двоичные арифметические операции.

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

15. Компьютерная система по п. 10, причем тактируемый компаратор имеет один объем, а генератор импульсов истинного времени является расширенным генератором импульсов истинного времени с отличным от тактируемого компаратора объемом, причем генератор импульсов истинного времени может оказаться переполненным.

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

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

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

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

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

20. Компьютерно-реализуемый способ по п. 16, причем тактируемый компаратор имеет один объем, а генератор импульсов истинного времени является расширенным генератором импульсов истинного времени с отличным от тактируемого компаратора объемом, причем генератор импульсов истинного времени может оказаться переполненным.



 

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

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

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

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

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

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

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

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

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

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

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

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