Архитектура и язык ассемблера MIPS

Описание

Название
Архитектура и ассемблер процессоров MIPS
  • Расширенный курс: Особенности архитектуры и программирования MIPS-процессоров
Title
MIPS systems architecture and assembler
  • MIPS processor programming and architecture features
Аннотация
Архитектура процессоров MIPS — пожалуй, наиболее стройная и понятная из всех ныне действующих распространённых архитектур вычислительных систем. В курсе прослеживается связь между конкретной организацией процессора и общими принципами построения вычислительных систем. Планируется решение задач на языке ассемблера с последующей проверкой в системе EJudge. В учебном процессе используются как эмуляторы, так и полноценные системы на базе микропроцессоров семейства «Байкал-Т».
Annotation
MIPS is probably the most coherent ISA among the current popular architectures, so we use it to illustrate basic principles of computational systems. Course practice includes assembly language programming with automatic EJudge checking and involves both emulators and real Baikal-T hardware.
Требования к уровню знаний слушателей
Дискретная математика в объёме первого курса бакалавриата ВМК МГУ.

Материалы

Тема

Дата

Конспект

Запись

Срок сдачи
д/з

1

Как они превратили арифмометр в ЭВМ и почему у них так получилось?

2019-02-15

Сырой

YouTube

2

MIPS — архитектура для людей?

2019-02-22

Сырой

YouTube

2019-03-03

3

Что-то с памятью моей стало

2019-03-01

Скоро

YouTube

2019-03-18

4

Причём тут рекурсия, или Мы так не договаривались!

2019-03-15

Скоро

YouTube

2019-03-25

Ссылки

Тематический план курса

  1. Принципы развития архитектуры ЭВМ
  2. Общая структура системы команд MIPS.
  3. Работа с линейной моделью памяти
    • Понятие о конвенциях. Конвенция по использованию регистров.
    • Линейная модель памяти MARS
    • Метки в коде программы на языке ассемблера
    • Директивы ассемблера по организации и размещению данных и кода, выравнивание
    • Пример решения Д/З для EJudge


  1. Стек и подпрограмммы, конвенции на этот счёт
  2. Системные вызовы. Системные вызовы MARS.
  3. Математический сопроцессор.
  4. Исключения. Обработка исключений в MARS.
  5. Прерывания и внешние устройства (порты, MMIO, DMA).

  6. Увеличение быстродействия работы программы. Кэш.
  7. Увеличение быстродействия работы программы. Предсказание переходов. Упреждающее выполнение.

  8. Увеличение быстродействия процессора. Суперскалярная архитектура. Конвейер.
  9. Увеличение быстродействия процессора. Векторные операции.

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

  12. Многопроцессорные архитектуры. Блокировки доступа и когерентность кешей. Виртуализация.

  13. Моделирование структур данных


CategoryLectures