Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Команды АЛУ




Арифметико-логическое устройство (АЛУ) (англ. arithmetic and logic unit, ALU) — блок процессора, который под управлением устройства управления (УУ) служит для выполнения арифметических и логических преобразований (начиная от элементарных) над данными, представляемыми в виде машинных слов, называемыми в этом случае операндами.

 

Арифметическо-логическое устройство в зависимости от выполнения функций можно разделить на две части:
микропрограммное устройство (устройство управления), задающее последовательность микрокоманд (команд);
операционное устройство (АЛУ), в котором реализуется заданная последовательность микрокоманд (команд).

 

Функции регистров, входящих в арифметическо-логическое устройство

  • Рг1 — сумматор (или сумматоры) — главный регистр АЛУ, в котором образуется результат вычислений;
  • Рг2,Рг3 — регистры операндов (слагаемого/сомножителя/делителя/делимого и др.) в зависимости от выполняемой операции;
  • Рг4 — регистр адреса (или адресные регистры), предназначенные для запоминания (бывает что формирования) адреса операндов результата;
  • Рг6 — k индексных регистров, содержимое которых используется для формирования адресов;
  • Рг7 — l вспомогательных регистров, которые по желанию программиста могут быть аккумуляторами, индексными регистрами или использоваться для запоминания промежуточных результатов.

Все выполняемые в АЛУ операции являются логическими операциями (функциями), которые можно разделить на следующие группы:

  • операции двоичной арифметики для чисел с фиксированной точкой;
  • операции двоичной (или шестнадцатеричной) арифметики для чисел с плавающей точкой;
  • операции десятичной арифметики;
  • операции индексной арифметики (при модификации адресов команд);
  • операции специальной арифметики;
  • операции над логическими кодами (логические операции);
  • операции над алфавитно-цифровыми полями.

 

Команды этой группы выполняют АЛУ операции между младшими полусловами регистров. Примечание: все команды этой группы влияют на флаги регистра CPSR.

 

OP THUMB ассемблер ARM эквивалент Действия
  AND Rd, Rs ANDS Rd, Rd, Rs Rd:= Rd AND Rs
  EOR Rd, Rs EORS Rd, Rd, Rs Rd:= Rd EOR Rs
  LSL Rd, Rs MOVS Rd, Rd, LSL Rs Rd:= Rd << Rs
  LSR Rd, Rs MOVS Rd, Rd, LSR Rs Rd:= Rd >> Rs
  ASR Rd, Rs MOVS Rd, Rd, ASR Rs Rd:= Rd ASR Rs
  ADC Rd, Rs ADCS Rd, Rd, Rs Rd:= Rd + Rs + Carry
  SBC Rd, Rs SBCS Rd, Rd, Rs Rd:= Rd - Rs - NOT Carry
  ROR Rd, Rs MOVS Rd, Rd, ROR Rs Rd:= Rd ROR Rs
  TST Rd, Rs TST Rd, Rs Установить флаги регистра CPSR для Rd AND Rs
  NEG Rd, Rs RSBS Rd, Rs, #0 Rd = -Rs
  CMP Rd, Rs CMP Rd, Rs Установить флаги регистра CPSR для Rd - Rs
  CMN Rd, Rs CMN Rd, Rs Установить флаги регистра CPSR для Rd + Rs
  ORR Rd, Rs ORRS Rd, Rd, Rs Rd:= Rd OR Rs
  MUL Rd, Rs MULS Rd, Rs, Rd Rd:= Rs * Rd
  BIC Rd, Rs BICS Rd, Rd, Rs Rd:= Rd AND NOT Rs
  MVN Rd, Rs MVNS Rd, Rs Rd:= NOT Rs

 

Все команды этого формата эквивалентны командам в режиме ARM согласно таблице 15. Число машинных тактов выполнения этих команд в режиме THUMB идентично с числом тактов выполнения ее в режиме ARM.

Примеры

 

EOR R3, R4 ; R3:= R3 EOR R4 и установить флаги условий.
ROR R1, R0 ; Сдвиг R1 вправо на число бит, указанное в R0,
  ; результат поместить в R1 и установить флаги условий.
NEG R5, R3 ; Вычесть содержимое R3 из нуля, разместить результат в регистре R5
  ; и установить флаги условий. Т.е. R5 = -R3.
CMP R2, R6 ; Установить флаги условий в зависимости от результата R2 - R6.
MUL R0, R7 ; R0:= R7 * R0 и установить флаги условий.



Поделиться с друзьями:


Дата добавления: 2014-10-15; Просмотров: 563; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.011 сек.