Различия между версиями 2 и 3
Версия 2 от 2019-02-23 21:19:00
Размер: 2763
Редактор: FrBrGeorge
Комментарий:
Версия 3 от 2019-02-23 21:19:57
Размер: 2764
Редактор: FrBrGeorge
Комментарий:
Удаления помечены так. Добавления помечены так.
Строка 24: Строка 24:
   {{atachment:li.png}}    {{attachment:li.png}}

Общая структура системы команд MIPS

базовая лекция Moodle

  • Принципы RISC:
    • отсутствие вычислительно сложных инструкций,
    • фиксированная длина инструкции,
    • большое количество регистров общего назначения,
    • ограничения на работу непосредственно с оперативной памятью как с медленным устройством
  • …и их реализация в MIPS:
    • + отсутствие дублирующих инструкций, псевдоинструкции
    • + трёхадресность,
    • + разделение памяти данных и команд,
    • + оптимизация под конвейер (см. далее)
    • удобство чтения/написания инструкций ассемблера и неудобство чтения машинного кода человеком (упаковка битов, псевдоинструкции и т. п.)

    • т. н. исключения — нормальное состояние программы, а не ошибка
  • Организация системы команд MIPS32:
    • (на лекции не перечисляются все команды, даются только примеры, подбор команд по таблице — это ДЗ)

    • 32 регистра общего назначения, доступа к специализированных регистрами нет (в т. ч. нет регистра флагов!)

    • 3 базовых типа команд (с 26-битной частью адреса, с 16-битной и безадресные)
    • знаковая и беззнаковая арифметика; регистры LO/HI для умножения/деления; побитовые операции
    • условная пересылка и сравнение
    • работа с памятью (в т. ч. псевдоинструкции типа li)

    • Суть понятия псевдоинструкции:
      • li.png

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

Д/З

TODO

  • Зарегистрироваться в EJudge
  • Решить простейшую задачу

LecturesCMC/ArchitectureAssembler2019/02_Mips_Architecture (последним исправлял пользователь FrBrGeorge 2019-11-13 10:12:31)