СРЕДСТВО ВИРТУАЛИЗАЦИИ ФУНКЦИЙ ДЛЯ ЗАПРОСА ФУНКЦИИ ПРОЦЕССОРА

1. Способ скрывания выборочных установленных функций многофункциональной команды, рассчитанной на выполнение определенной функции из множества установленных функций, включающий:
установку (1201) значения, регулирующего доступность установленных функций для многофункциональной команды (901-906) главного компьютера (50), содержащего один или несколько процессоров (106), имеющих первое множество упомянутых установленных функций многофункциональной команды, в которое входит одна или несколько первых установленных функций и одна или несколько вторых установленных функций, и
выполнение многофункциональной команды, содержащей поле кода операции, причем упомянутое выполнение включает:
если в многофункциональной команде задана функция запроса, выполнение (1202) функции запроса с целью определения установленных функций, доступных для многофункциональной команды,
при этом выполнение функции запроса включает использование указанного значения для определения одной или нескольких вторых установленных функций,
при этом выполнение функции запроса включает сохранение (1203) результирующего значения, указывающего на то, что одна или несколько первых установленных функций недоступны для многофункциональной команды, и
если в многофункциональной команде задана не являющаяся функцией запроса функция из первого множества упомянутых установленных функций, выполнение не являющейся функцией запроса функции, когда эта не являющаяся функцией запроса функция является одной из вторых установленных функций, и блокирование выполнения не являющейся функцией запроса функции, когда эта не являющаяся функцией запроса функция не является одной из вторых установленных функций.
2. Способ по п.1, в котором гипервизор главного компьютера (50) устанавливает значение для виртуальной машины главного компьютера, которая содержит один или несколько логических процессоров, закрепленных за одним или несколькими физическими процессорами, имеющими одну или несколько вторых установленных функций многофункциональной команды, которая выполняется в виртуальной машине логическим процессором из одного или нескольких логических процессоров посредством физического процессора из одного или нескольких физических процессоров.
3. Способ по п.2, в котором определение одной или нескольких вторых установленных функций основано на коде операции многофункциональной команды.
4. Способ по п.2, дополнительно включающий:
установку (1301) гипервизором другого значения, регулирующего доступность установленных функций для многофункциональной команды, выполняемой в другой виртуальной машине системы главного компьютера (50), и
выполнение другой многофункциональной команды в другой виртуальной машине другим логическим процессором из одного или нескольких других логических процессоров,
если в другой многофункциональной команде задана другая функция запроса, выполнение другой функции запроса с целью определения (1302) установленных функций, доступных для другой многофункциональной команды,
при этом выполнение другой функции запроса включает использование другого значения для определения одной или нескольких третьих установленных функций, и
при этом выполнение другой функции запроса включает сохранение другого результирующего значения, указывающего на то, что одна или несколько из одной или нескольких третьих установленных функций недоступны для многофункциональной команды.
5. Способ по п.2, в котором сохраненное результирующее значение является содержащей значащие разряды величиной, в которой каждый двоичный разряд соответствует определенной функции, при этом разряд, равный 1, указывает, что соответствующая функция установлена.
6. Способ по п.2, в котором функция запроса определяется заданным многофункциональной командой кодом (1501) функции или заданным многофункциональной командой разрядом (1502) проверки.
7. Способ по п.6, в котором многофункциональной командой (1601) является команда системы z/Architecture, состоящая из любого из следующего: криптографической команды, команды выполнения функции средства синхронизации (ВФСС), команды выполнения операции с плавающей точкой или команды выполнения заблокированной операции, при этом криптографической командой является любое из следующего: команда шифрования сообщения, команда шифрования сообщения со сцеплением, команда вычисления профиля промежуточного сообщения, команда вычисления профиля последнего сообщения, команда вычисления кода аутентификации сообщения, а многофункциональная команда, задающая функцию запроса, включает:
если многофункциональной командой является криптографическая команда или команда ВФСС, получение заданного многофункциональной командой кода выполняемой функции, являющейся функцией запроса, при этом сохраненным результирующим значением (1604) является множество разрядов, каждый из которых указывает, поддерживается ли соответствующий код функции, и
если многофункциональной командой является криптографическая команда или команда ВФСС, получение заданного многофункциональной командой кода выполняемой функции, не являющейся функцией запроса, и выполнение (1603) криптографической функции или функции ВФСС в соответствии с полученным кодом функции, и
если многофункциональной командой является команда выполнения заблокированной операции или команда выполнения операции с плавающей точкой, а заданный многофункциональной командой разряд проверки равен 1, определение (1704) того, что установлен заданный многофункциональной командой код функции, при этом сохраненным результирующим значением является значение кода условия; и
если многофункциональной командой является команда выполнения заблокированной операции или команда выполнения операции с плавающей точкой, а заданный многофункциональной командой разряд проверки равен 0, выполнение (1703) функции с плавающей точкой или заблокированной операции в соответствии с полученным кодом функции.
8. Компьютерная система для скрывания выборочных установленных функций многофункциональной команды, рассчитанной на выполнение определенной функции из множества установленных функций, содержащая:
память (105),
процессор (106), связанный с памятью и содержащий блок (305) вызова команд для вызова команд из памяти и один или несколько блоков (307) выполнения для выполнения вызванных команд,
при этом компьютерная система сконфигурирована для осуществления способа по любому из п.п.1-7.
9. Компьютерная программа, загружаемая во внутреннюю память цифрового компьютера и содержащая части программного кода для осуществления стадий способа по любому из пп.1-7 при выполнении соответствующего компьютерного программного продукта в компьютере.