Vi. основы защиты информации

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

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

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

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

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

Современная криптография включает в себя симметричные криптосистемы, криптосистемы с открытым ключом и системы электронной подписи.

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

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

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

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

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

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

Цифровой водяной знак (ЦВЗ) – специальная метка, незаметно внедряемая в изображение или другой сигнал с целью контроля его использования. Они могут применяться для защиты от копирования и несанкционированного использования, защиты авторских прав и интеллектуальной собственности, представленной в цифровом виде.

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

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

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

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

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

Идентификация – процедура распознавания пользователя по его идентификатору (имени).

Аутентификация – процедура проверки подлинности, позволяющая убедиться, что пользователь является именно тем, кем он себя объявляет. При этом субъект может предъявлять системе пароли, персональные идентификационные номера (PIN) и т.п.

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

2. Межсетевой экран (Fire Wall – огненная стена) – это программное или программно-аппаратное средство, реализующее контроль информации, поступающей в компьютерную систему и/или выходящей из нее.

Различают три основных типа межсетевого экрана (МЭ): сегментные, персональные и встраиваемые.

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

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

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

3. Средства защиты информации на основе методов построения систем обнаружения атак (СОА) условно разделяют на 2 класса:

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

- СОА на уровне компьютера пользователя анализирует регистрационные журналы (log, audit trail), создаваемые операционной системой, прикладным программным обеспечением, маршрутизаторами и т.д.

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

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

В первом случае система защиты строится на архитектуре консоль/ менеджер/агент. На каждую из контролируемых систем устанавливается программный агент, который выполняет настройки программного обеспечения и проверяет их правильность, контролирует целостность файлов и своевременность установки пакетов программных коррекций. Менеджеры посылают управляющие команды всем агентам контролируемого ими домена и сохраняют все данные, полученные от агентов, в центральной базе данных. Администратор управляет менеджерами при помощи графической консоли, позволяющей выбирать, настраивать и создавать политики безопасности, анализировать изменения состояния системы, осуществлять ранжирование уязвимостей и т.п. Все взаимодействия между агентами, менеджерами и управляющей консолью производятся по защищенному клиент-серверному протоколу. Примерами развитых продуктов этого класса является система ESM компании Symantec и System Scanner компании ISS.

Во втором случае применяются сетевые сканеры. Принцип работы сканера заключается в моделировании действий злоумышленника, производящего анализ сети при помощи стандартных сетевых утилит. При этом используются известные уязвимости сетевых служб, сетевых протоколов и операционных систем для осуществления удаленных атак на системные ресурсы и производится документирование удачных попыток. Одним из наиболее продвинутых коммерческих продуктов этого класса является сетевой сканер Net Recon компании Symantec, база данных которого содержит около 800 уязвимостей Unix, Windows и NetWare систем и постоянно обновляется через Web.

5. Технология VPN (Virtual Private Network) – виртуальная частная сеть, позволяет использовать сети общего пользования для построения защищенных сетевых соединений. Термин «виртуальная» указывает на то, что соединение между двумя узлами сети не является постоянным и существует только во время прохождения трафика по сети. В основе построения лежит следующая идея: если в глобальной сети есть два узла, которые хотят обменяться информацией, то для обеспечения конфиденциальности и целостности передаваемой по открытым сетям информации необходимо построить виртуальный туннель, доступ к которому должен быть затруднен всем возможным внешним наблюдателям.

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

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

ПРИЛОЖЕНИЕ. Система команд TMS320С6х для чисел с фиксированной запятой

Условные обозначения в описании команд:

1. R1 – первый операнд, R2 – второй операнд, R3 – третий операнд, Rsm – смещение, Rbas – регистр адреса, Rres – регистр результата, cstn – n-разрядная константа.

Буква R символизирует как имя регистра общего назначения, так и его содержимое. Константа – n-разрядное целое, непосредственно указываемое в команде.

2. Тип операнда обозначается аббревиатурой: int – 32-разрядное целое (слово), short – короткое (16-разрядное) целое (полуслово), long – длинное (40-разрядное) целое.

Перед каждой аббревиатурой типа буква s означает величину со знаком (число представляется в дополнительном коде), буква u – величину без знака (число представляется в прямом коде), а буква х – что операнд исходит из регистра общего назначения противоположной стороны.

3. Слот задержки (slot) – интервал времени (число тактов) между началом выполнения команды и моментом времени, когда результат становится доступным для чтения.

Например, если slot = 1 и команда объявлена в i-м такте, то результат ее выполнения пишется в Rres в (i + 1)-м такте, а воспользоваться этим результатом можно лишь в (i + 2)-м такте.

Команды пересылки данных

MV R1,Rres Перемещение из одного регистра в другой

Устройство Тип операндов Тип результата Тип команды Слоты задержки
R1 R2
.L1 или .L2, .S1 или .S2 xsint нет sint 1-тактная
.D1 или .D2 sint нет sint
.L1 или .L2 slong нет slong

MVК R1,Rres Перемещение 16-разрядной константы в пределах

регистра и расширение знаком

Устройство Тип операндов Тип результата Тип команды Слоты задержки
R1 R2
.S1 или .S2 scst16 нет sint 1-тактная

Описание: 16-разрядная константа размещается в Rres, свободные старшие разряды которого заполняются знаком константы.

MVКН, MVКLН R1,Rres Перемещение 16-разрядной константы

в старшие разряды регистра

Устройство Тип операндов Тип результата Тип команды Слоты задержки
R1 R2
.S1 или .S2 scst16 нет sint 1-тактная

Описание: 16 старших (MVКН) или 16 младших (MVКLН) разрядов константы загружаются в старшие разряды Rres. 16 младших разрядов Rres остаются неизменными.

Команды загрузки/хранения

LDB, LDBU, LDH, LDHU, LDW R1,Rres Загрузка из памяти с 5-разрядной беззнаковой константой или с регистром смещения

Устройство Тип операндов Тип результата Тип команды Слоты задержки
R1 R2 R3
.D1 или .D2 См. синтаксис R1 нет нет Содержимое ячейки памяти Загрузка

Описание: каждая из этих команд загружает из внутренней памяти данных в регистр Rres общего назначения. Синтаксис R1, определяющий правило формирования адреса:

*+Rbas[Rsm] или *+Rbas[ucst5] – положительное смещение. К Rbas добавляется Rsm или ucst5, причём Rbas не изменяется. Исполнительным адресом является результат суммирования;

*-Rbas[Rsm] или *-Rbas[ucst5] – отрицательное смещение. Из Rbas вычитается Rsm или ucst5, причём Rbas не изменяется. Исполнительным адресом является результат вычитания;

*++Rbas[Rsm] или *++Rbas[ucst5] – преинкремент. К Rbas добавляется Rsm или ucst5, изменяя Rbas. Исполнительным адресом является изменённое содержимое Rbas;

*- -Rbas[Rsm] или *- -Rbas[ucst5] – предекремент. Из Rbas вычитается Rsm или ucst5, изменяя Rbas. Исполнительным адресом является изменённое содержимое Rbas;

*Rbas++[Rsm] или *Rbas++ [ucst5] – постинкремент. К Rbas добавляется Rsm или ucst5, изменяя Rbas. Исполнительным адресом является содержимое Rbas до его изменения;

*Rbas--[Rsm] или *Rbas--[ucst5] – постдекремент. Из Rbas вычитается Rsm или ucst5, изменяя Rbas. Исполнительным адресом является содержимое Rbas до его изменения.

Если смещение (Rsm или ucst5) не задаётся, ассемблер назначает нулевое смещение, а инкременты и декременты равны 1.

Rbas и Rsm должны быть на той же стороне ЦПУ, что и используемое устройство .D.

Rsm и cst5 до операции по формированию адреса сдвигаются влево на 0 (LDB и LDBU), 1 (LDH и LDHU) или 2 (LDW) разряда.

Адресная арифметика (сложение или вычитание) по умолчанию выполняется в линейном способе. Однако для А4 – А7 и В4 – В7 способ может быть изменён на циклический путём записи соответствующей величины в регистр AMR.

Для команд LDB(U) и LDH(U) загружаются только младшие 8 и 16 бит, соответственно, а остальные разряды Rres заполняются знаком (LDB и LDH) или нулями (LDBU и LDHU). Для LDW заполняются все 32 разряда Rres.

LDB, LDBU, LDH, LDHU, LDW R1,Rres Загрузка из памяти с 15-разрядной беззнаковой константой смещения

Устройство Тип операндов Тип результата Тип команды Слоты задержки
R1 R2 R3
.D2 *+B14[ucst15] или *+B15[ucst15] нет нет Содержимое ячейки памяти Загрузка

Описание: каждая из этих команд загружает из внутренней памяти данных в регистр Rres общего назначения. До операции по формированию адреса (вычитание не поддерживается) cst15 сдвигается влево на 0 (LDB и LDBU), 1 (LDH и LDHU) или 2 (LDW) разряда.

Адресная арифметика всегда выполняется в линейном способе.

Для команд LDB(U) и LDH(U) загружаются только младшие 8 и 16 бит, соответственно, а остальные разряды Rres заполняются знаком (LDB и LDH) или нулями (LDBU и LDHU). Для LDW заполняются все 32 разряда Rres.

STB, STH, STW R,*R1 Загрузка в память с 5-разрядной беззнаковой константой смещения или с регистром смещения

Устройство Тип операндов Тип результата Тип команды Слоты задержки
R1 R2
.D1 или .D2 См. синтаксис R1 нет нет Хранение

Описание: каждая из этих команд загружает во внутреннюю память данных из регистра R общего назначения. Синтаксис R1 и выполнение Rbas и Rsm такие же, как у команд LD.

STB, STH, STWR,*R1 Загрузка в память с 15-разрядной беззнаковой константой смещения

Устройство Тип операндов Тип результата Тип команды Слоты задержки
R1 R2
.D1 или .D2 См. синтаксис R1 нет нет Хранение

Описание: каждая из этих команд загружает во внутреннюю память данных из регистра R общего назначения. Синтаксис R1 и выполнение Rbas и Rsm такие же, как у команд LD.

Арифметические команды

ABS R1,Rres Абсолютная величина целого

Устройство Тип операндов Тип результата Тип команды Слоты задержки
R1 R2 R3
.L1 или .L2 xsint нет нет sint 1-тактная

Описание: абсолютная величина R1 устанавливается в Rres.

ADD2 R1,R2,Rres Два 16-разрядных целых добавляются к старшей и младшей половинам регистра

Устройство Тип операндов Тип результата Тип команды Слоты задержки
R1 R2 R3
.S1 или .S2 sint xsint нет sint 1-тактная

Описание: старшая и младшая половины R1 добавляются, соответственно, к старшей и младшей половинам R2. Перенос из младшей половины результата в старшую не производится. Результат устанавливается в Rres.

ADDR1,R2,Rres Сложение знаковых целых

Устройство Тип операндов Тип результата Тип команды Слоты задержки  
R1 R2 R3  
    .L1 или .L2     sint sint xsint scst5 scst5 xsint xsint slong xsint slong нет sint slong slong sint slong 1-тактная  
sint sint  
sint sint  
.S1 или .S2 sint scst5 xsint xsint  
.D1 или .D2 sint ucst5 sint sint  

Описание: R2 добавляется к R1 (для устройств .L и .S) или R1 добавляется к R2 (для устройств .D) и результат устанавливается в Rres.

ADDK cst,Rres Сложение целых с использованием знаковой 16-разрядной константы

Устройство Тип операндов Тип результата Тип команды Слоты задержки
R1 R2 R3
.S1 или .S2 scst16 Rres нет uint 1-тактная

Описание: 16-разрядная знаковая константа добавляется к регистру Rres и результат устанавливается в Rres.

ADDUR1,R2,Rres Сложение беззнаковых целых

Устройство Тип операндов Тип результата Тип команды Слоты задержки
R1 R2 R3
.L1 или .L2 uint xuint xuint ulong нет ulong ulong 1-тактная

Описание: R2 добавляется к R1 и результат устанавливается в Rres.

MPY, MPYU, MPYUS, MPYSU R1,R2,Rres Умножение 16 ´ 16 младших бит знаковых или беззнаковых целых

Устройство Тип операндов Тип результата Тип команды Слоты задержки
R1 R2
.М1 или .М2   sмл.16бит uмл.16бит uмл.16бит sмл.16бит scst5 scst5 хsмл.16бит xuмл.16бит xsмл.16бит xuмл.16бит xsмл.16бит xuмл.16бит sint uint sint sint sint sint Умножение 16 на 16

Описание: 16 младших бит R1 умножаются на 16 младших бит R2 и результат размещается в Rres. В команде MPY оба операнда знаковые. Позиция буквы S в мнемонике команды соответствует знаковому из двух сомножителей R1 и R2, другой из которых – без знака.

MPYН, MPYНU, MPYНUS, MPYНSU R1,R2,Rres Умножение 16 ´ 16 старших бит знаковых или беззнаковых целых

Устройство Тип операндов Тип результата Тип команды Слоты задержки
R1 R2
.М1 или .М2   sст.16бит uст.16бит uст.16бит sст.16бит хsст.16бит xuст.16бит xsст.16бит xuст.16бит sint uint sint sint Умножение 16 на 16

Описание: 16 старших бит R1 умножаются на 16 старших бит R2 и результат размещается в Rres. В команде MPY оба операнда знаковые. Позиция буквы S в мнемонике команды соответствует знаковому из двух сомножителей R1 и R2, другой из которых – без знака.

MPYНL, MPYНLU, MPYНULS, MPYНSLU R1,R2,Rres Умножение 16 старших бит на 16 младших бит знаковых или беззнаковых целых

Устройство Тип операндов Тип результата Тип команды Слоты задержки
R1 R2
.М1 или .М2   sст.16бит uст.16бит uст.16бит sст.16бит хsмл.16бит xuмл.16бит xsмл.16бит xuмл.16бит sint uint sint sint Умножение 16 на 16

Описание: 16 старших бит R1 умножаются на 16 младших бит R2 и результат размещается в Rres. В команде MPYHL оба операнда знаковые, а в команде MPYHLU – оба беззнаковые. Позиция буквы S в мнемонике команды соответствует знаковому из двух сомножителей R1 и R2, другой из которых – без знака.

MPYLН, MPYLНU, MPYLUНS, MPYLSНU R1,R2,Rres Умножение 16 младших бит на 16 старших бит знаковых или беззнаковых целых

Устройство Тип операндов Тип результата Тип команды Слоты задержки
R1 R2
.М1 или .М2   sмл.16бит uмл.16бит uмл.16бит sмл.16бит хsст.16бит xuст.16бит xsст.16бит xuст.16бит sint uint sint sint Умножение 16 на 16

Описание: 16 младших бит R1 умножаются на 16 старших бит R2 и результат размещается в Rres. В команде MPYHL оба операнда знаковые, а в команде MPYHLU – оба без знаковые. Позиция буквы S в мнемонике команды соответствует знаковому из двух сомножителей R1 и R2, другой из которых – без знака.

SUB, SUBU R1,R2,Rres Вычитание знакового или беззнакового целого без насыщения

Устройство Тип операндов Тип результата Тип команды Слоты задержки
R1 R2
.L1 или .L2     sint xsint sint xsint uint xuint scst5 xsint sint xsint sint xuint uint slong sint sint slong slong ulong ulong slong 1-тактная
.S1 или .S2 sint scst5 xsint xsint sint sint
.D1 или .D2 sint sint sint ucst5 sint sint

Описание: R2 вычитается из R1 и результат размещается в Rres.

Логические команды

ANDR1,R2,Rres Поразрядное И

Устройство Тип операндов Тип результата Тип команды Слоты задержки
R1 R2 R3
.S1 или .S2, .L1 или .L2 uint scst5 xuint xuint нет uint uint 1-тактная

Описание: над R1 и R2 выполняется поразрядное И. Результат устанавливается в Rres. Константа распределяется на 32 разрядах.

CMPEQR1,R2,RresСравнение знаковых целых на равенство

Устройство Тип операндов Тип результата Тип команды Слоты задержки
R1 R2 R3
.L1 или .L2   sint scst5 xsint scst5 xsint xsint slong slong нет uint uint uint uint 1-тактная

Описание: сравнение R1 с R2. Если R1 = R2, то в Rres записывается 1. В противном случаев Rres записывается 0.

CMPGT R1,R2,RresСравнение знаковых целых в отношении «больше»

Устройство Тип операндов Тип результата Тип команды Слоты задержки
R1 R2 R3
.L1 или .L2   sint scst5 xsint scst5 xsint xsint slong slong нет uint uint uint uint 1-тактная

Описание: сравнение R1 с R2. Если R1 > R2, то в Rres записывается 1. В противном случаев Rres записывается 0. Если в команде константа указана на месте R2, то ассемблер сам переставит её на первое место.

CMPGTU R1,R2,RresСравнение беззнаковых целых в отношении

«больше»

Устройство Тип операндов Тип результата Тип команды Слоты задержки
R1 R2 R3
.L1 или .L2   uint ucst4 xuint ucst4 xuint xuint ulong ulong нет uint uint uint uint 1-тактная

Описание: сравнение R1 с R2. Если R1 > R2, то в Rres записывается 1. В противном случаев Rres записывается 0. Если в команде константа указана на месте R2, то ассемблер сам переставит её на первое место.

CMPLT R1,R2,Rres Сравнение знаковых целых в отношении «меньше»

Устройство Тип операндов Тип результата Тип команды Слоты задержки
R1 R2 R3
.L1 или .L2   sint scst5 xsint scst5 xsint xsint slong slong нет uint uint uint uint 1-тактная

Описание: сравнение R1 с R2. Если R1 < R2, то в Rres записывается 1. В противном случаев Rres записывается 0. Если в команде константа указана на месте R2, то ассемблер сам переставит её на первое место.

CMPLTU R1,R2,Rres Сравнение беззнаковых целых в отношении

«меньше»

Устройство Тип операндов Тип результата Тип команды Слоты задержки
R1 R2 R3
.L1 или .L2   uint ucst4 xuint ucst4 xuint xuint ulong ulong нет uint uint uint uint 1-тактная

Описание: сравнение R1 с R2. Если R1 < R2, то в Rres записывается 1. В противном случаев Rres записывается 0. Если в команде константа указана на месте R2, то ассемблер сам переставит её на первое место.

NOP R1Нет операции

Устройство Тип операндов Тип результата Тип команды Слоты задержки
R1 R2
нет ucst4 нет нет NOP

Описание: R1 задаёт число тактов, в течение которых никакие операции (за исключением перехода) не производятся. NOP без операнда рассматривается как NOP 1.

NOT R1,Rres Поразрядное НЕ

Устройство Тип операндов Тип результата Тип команды Слоты задержки
R1 R2
.L1 или .L2, .S1 или .S2 xuint нет uint 1-тактная

OR R1,R2,Rres Поразрядное ИЛИ

Устройство Тип операндов Тип результата Тип команды Слоты задержки
R1 R2
.L1 или .L2, .S1 или .S2 uint scst5 xuint xuint uint uint 1-тактная

Примечание: константа представляется в дополнительном коде и расширяется знаком вплоть до 32 бит.

SHL R1,R2,Rrest Арифметический сдвиг влево

Устройство Тип операндов Тип результата Тип команды Слоты задержки
R1 R2
.S1 или .S2 xsint slong xuint xsint xuint slong uint uint uint ucst5 ucst5 ucst5 sint slong ulong sint ulong slong 1-тактная

Описание: операнд R1 загружается в Rrest, после чего перемещается влево на число разрядов, определённых константой R2. Когда в качестве R2 используется регистр, величину сдвига определяют шесть его младших бит. Если 39 < R2 < 64, R1 перемещается влево на 40 разрядов. Освобождающиеся при сдвиге разряды заполняются нулями.

SHR R1,R2,Rrest Арифметический сдвиг вправо

Устройство Тип операндов Тип результата Тип команды Слоты задержки
R1 R2
.S1 или .S2 xsint slong xsint slong uint uint ucst5 ucst5 sint slong sint slong 1-тактная

Описание: операнд R1 загружается в Rrest, после чего перемещается вправо на число разрядов, определённых константой R2. Результат расширяется знаком. Когда в качестве R2 используется регистр, величину сдвига определяют шесть его младших бит. Если 39 < R2 < 64, R1 перемещается вправо на 40 разрядов.

SHRU R1,R2,Rrest Логический сдвиг вправо

Устройство Тип операндов Тип результата Тип команды Слоты задержки
R1 R2
.S1 или .S2 xuint ulong xuint ulong uint uint ucst5 ucst5 uint ulong uint ulong 1-тактная

Описание: операнд R1 загружается в Rrest, после чего перемещается вправо на число разрядов, определённых константой R2. Результат расширяется нулями. Когда в качестве R2 используется регистр, величину сдвига определяют шесть его младших бит. Если 39 < R2 < 64, R1 перемещается вправо на 40 разрядов.

XOR R1,R2,RresИсключающее ИЛИ

Устройство Тип операндов Тип результата Тип команды Слоты задержки
R1 R2
.L1 или .L2, .S1 или .S2 uint scst5 xuint xuint uint uint 1-тактная

Описание: поразрядное исключающее ИЛИ выполняется между R1 и R2. Результат устанавливается в Rres. Константа расширена знаком до 32 бит.

Команды перехода

В R1 Переход

Устройство Тип операндов Тип результата Тип команды Слоты задержки
R1 R2 R3
.S1 или .S2 метка нет нет переход Ветвление
.S2 xuint

Сервисные команды

CLR R1, R2, R3, RresОчистить область бит беззнакового целого

Устройство Тип операндов Тип результата Тип команды Слоты задержки
R1 R2 R3
.S1 или .S2 uint xuint ucst15 uint ucst15 нет uint uint 1-тактная

Описание: область в R1, заданная константами R2 и R3, сбрасывается в ноль, и результат устанавливается в Rres. Константа R2 определяет номер младшего бита (относительно нулевого разряда R1), а константа R3 – номер старшего бита (относительно нулевого разряда R1) области, которая должна очищаться. Константы могут быть определены десятью младшими битами регистра R2, где первая константа является битами с 0 по 4, а вторая – битами с 5 по 9.

ЕХТ R1,R2,R3,Rres Выделение и расширение знаком области бит

Устройство Тип операндов Тип результата Тип команды Слоты задержки
R1 R2 R3
.S1 или .S2 sint xsint ucst5 uint ucst5 нет sint sint 1-тактная

Описание: константами R2 и R3 определяется область в R1. Номер старшего бита области равен разности 31–R2 (первая константа), а номер младшего бита области – разности R3 (вторая константа)–R2 (первая константа). Константы могут быть определены как 10 младших бит регистра R2, где первая константа является битами с 5 по 9, а вторая – битами с 0 по 4. Выделенная область переносится в Rres на то же место, которое она занимает в R1, сдвигается влево на число разрядов, равное первой константе, а затем – вправо на число разрядов, равное второй константе. При сдвигах вправо освобождавшиеся разряды заполняются знаком (старшим разрядом области).

ЕХТU R1,R2,R3,Rres Выделение и расширение нулями области бит

Устройство Тип операндов Тип результата Тип команды Слоты задержки
R1 R2 R3
.S1 или .S2 uint xuint ucst5 uint ucst5 нет uint uint 1-тактная

Описание: всё также как и в команде ЕХТ, но при сдвигах вправо освобождавшиеся разряды заполняются нулём.

SАT R1,Rrest Округление 40-разрядного целого до 32-разрядного

Устройство Тип операндов Тип результата Тип команды Слоты задержки
R1 R2
.S1 или .S2 slong нет sint 1-тактная

SET R1,R2,R3,Rrest Установка области бит

Устройство Тип операндов Тип результата Тип команды Слоты задержки
R1 R2 R3
.S1 или .S2 uint xuint ucst5 uint ucst5 нет uint uint 1-тактная

Описание: область в R1, определенная константой R2 и константой R3, размещается в Rrest, после чего устанавливается во все единицы. Первая (R2) и вторая (R3) константы определяют (относительно нулевого разряда) номер, соответственно, младшего и старшего разряда области. Константы могут быть определены как десять младших бит регистра R2, причём биты 0 – 4 соответствуют второй константе, а биты 5 – 9 – первой.

ZERO RresОбнуление регистра

Устройство Тип операндов Тип результата <

Наши рекомендации