Различия между версиями 58 и 59
Версия 58 от 2019-05-26 11:29:53
Размер: 10243
Редактор: FrBrGeorge
Комментарий:
Версия 59 от 2019-09-20 16:07:09
Размер: 10842
Редактор: FrBrGeorge
Комментарий:
Удаления помечены так. Добавления помечены так.
Строка 30: Строка 30:
|| 1 || [[/01_ArchitectureIntro|Как они превратили арифмометр в ЭВМ и почему у них так получилось?]] || <<Date(2019-02-15T18:00:00+0300)>>|| [[/01_ArchitectureIntro/conspect | Сырой]] || [[https://www.youtube.com/watch?v=LyQcTmNcSpY&list=PL6kSdcHYB3x6KOBxEP1YZAzR8hkMQoEva&index=1|YouTube]]|| … ||
|| 2 || [[/02_Mips_Architecture|MIPS — архитектура для людей?]] || <<Date(2019-02-22T18:00:00+0300)>>|| [[/02_Mips_Architecture/conspect | Сырой]] || [[https://www.youtube.com/watch?v=R4rtGgRNdpU&list=PL6kSdcHYB3x6KOBxEP1YZAzR8hkMQoEva&index=2|YouTube]]|| <<Date(2019-03-03T00:00:00:+0300)>>||
|| 3 || [[/03_RegistersMemory|Что-то с памятью моей стало]] || <<Date(2019-03-01T18:00:00+0300)>>|| [[/03_RegistersMemory/conspect | Сырой]] || [[https://www.youtube.com/watch?v=Ykv4g1gcRsY&list=PL6kSdcHYB3x6KOBxEP1YZAzR8hkMQoEva&index=3|YouTube]] || <<Date(2019-03-18T00:00:00:+0300)>>||
|| 4 || [[/04_SubroutinesAndConventions|Причём тут рекурсия, или Мы так не договаривались!]] || <<Date(2019-03-15T18:00:00+0300)>>|| [[/04_SubroutinesAndConventions/conspect | Сырой]] || [[https://www.youtube.com/watch?v=vxxkW2hft2w&list=PL6kSdcHYB3x6KOBxEP1YZAzR8hkMQoEva&index=4|YouTube]] || <<Date(2019-03-25T00:00:00:+0300)>>||
|| 5 || [[/05_FloatingPiont|Число зверя и как с ним управиться]] || <<Date(2019-03-22T18:00:00+0300)>>|| || [[https://www.youtube.com/watch?v=NSjz5OFiVgk&list=PL6kSdcHYB3x6KOBxEP1YZAzR8hkMQoEva&index=5|YouTube]] || <<Date(2019-04-01T00:00:00:+0300)>>||
|| 6 || [[/06_FrameSyscallsMacros|Всё уже написано до нас (или нами)]] || <<Date(2019-03-29T18:00:00+0300)>>|| || [[https://www.youtube.com/watch?v=i7Yi1wWNCBc&list=PL6kSdcHYB3x6KOBxEP1YZAzR8hkMQoEva&index=6|Youtube]] || <<Date(2019-04-11T00:00:00:+0300)>>||
|| 7 || [[/07_Exceptions|Когда что-то пошло не так]] || <<Date(2019-04-05T18:00:00+0300)>> || || [[https://www.youtube.com/watch?v=iG8jmg195No&list=PL6kSdcHYB3x6KOBxEP1YZAzR8hkMQoEva&index=7|Youtube]] || <<Date(2019-04-14T00:00:00:+0300)>>||
|| 8 || [[/08_TrapsAndMMIO|Гаджеты]] || <<Date(2019-04-12T18:00:00+0300)>> || || [[https://www.youtube.com/watch?v=rBpk3l9I7is&list=PL6kSdcHYB3x6KOBxEP1YZAzR8hkMQoEva&index=8|Youtube]] || <<Date(2019-04-22T00:00:00:+0300)>>||
|| 9 || [[/09_Interrupts|Этот байт кончился, несите следующий]] || <<Date(2019-04-19T18:00:00+0300)>> || || [[https://www.youtube.com/watch?v=BEU6YuLrb_o&list=PL6kSdcHYB3x6KOBxEP1YZAzR8hkMQoEva&index=9|Youtube]] || <<Date(2019-04-29T00:00:00:+0300)>>||
|| 10 || [[/10_PipelineScale|Быстрее! Выше! Сильнее!]] || <<Date(2019-04-26T18:00:00+0300)>> || || [[https://www.youtube.com/watch?v=JH7MTbLUDws&list=PL6kSdcHYB3x6KOBxEP1YZAzR8hkMQoEva&index=10|Youtube]] || ||
|| 11 || [[/11_CacheBPT|Догнать и перегнать себя]] || || || ||
|| 1 || [[/01_ArchitectureIntro|Как они превратили арифмометр в ЭВМ и почему у них так получилось?]] <<Include(/01_ArchitectureIntro, ,to="^==", titlesonly)>>|| <<Date(2019-02-15T18:00:00+0300)>>|| [[/01_ArchitectureIntro/conspect | Сырой]] || [[https://www.youtube.com/watch?v=LyQcTmNcSpY&list=PL6kSdcHYB3x6KOBxEP1YZAzR8hkMQoEva&index=1|YouTube]]|| … ||
|| 2 || [[/02_Mips_Architecture|MIPS — архитектура для людей?]] <<Include(/02_Mips_Architecture,,to="^==", titlesonly)>> || <<Date(2019-02-22T18:00:00+0300)>>|| [[/02_Mips_Architecture/conspect | Сырой]] || [[https://www.youtube.com/watch?v=R4rtGgRNdpU&list=PL6kSdcHYB3x6KOBxEP1YZAzR8hkMQoEva&index=2|YouTube]]|| <<Date(2019-03-03T00:00:00:+0300)>>||
|| 3 || [[/03_RegistersMemory|Что-то с памятью моей стало]] <<Include(/03_RegistersMemory,,to="^==", titlesonly)>> || <<Date(2019-03-01T18:00:00+0300)>>|| [[/03_RegistersMemory/conspect | Сырой]] || [[https://www.youtube.com/watch?v=Ykv4g1gcRsY&list=PL6kSdcHYB3x6KOBxEP1YZAzR8hkMQoEva&index=3|YouTube]] || <<Date(2019-03-18T00:00:00:+0300)>>||
|| 4 || [[/04_SubroutinesAndConventions|Причём тут рекурсия, или Мы так не договаривались!]] <<Include(/04_SubroutinesAndConventions,,to="^==", titlesonly)>> || <<Date(2019-03-15T18:00:00+0300)>>|| [[/04_SubroutinesAndConventions/conspect | Сырой]] || [[https://www.youtube.com/watch?v=vxxkW2hft2w&list=PL6kSdcHYB3x6KOBxEP1YZAzR8hkMQoEva&index=4|YouTube]] || <<Date(2019-03-25T00:00:00:+0300)>>||
|| 5 || [[/05_FloatingPiont|Число зверя и как с ним управиться]] <<Include(/05_FloatingPiont,,to="^==", titlesonly)>> || <<Date(2019-03-22T18:00:00+0300)>>|| || [[https://www.youtube.com/watch?v=NSjz5OFiVgk&list=PL6kSdcHYB3x6KOBxEP1YZAzR8hkMQoEva&index=5|YouTube]] || <<Date(2019-04-01T00:00:00:+0300)>>||
|| 6 || [[/06_FrameSyscallsMacros|Всё уже написано до нас (или нами)]] <<Include(/06_FrameSyscallsMacros,,to="^==", titlesonly)>> || <<Date(2019-03-29T18:00:00+0300)>>|| || [[https://www.youtube.com/watch?v=i7Yi1wWNCBc&list=PL6kSdcHYB3x6KOBxEP1YZAzR8hkMQoEva&index=6|Youtube]] || <<Date(2019-04-11T00:00:00:+0300)>>||
|| 7 || [[/07_Exceptions|Когда что-то пошло не так]] <<Include(/07_Exceptions,,to="^==", titlesonly)>> || <<Date(2019-04-05T18:00:00+0300)>> || || [[https://www.youtube.com/watch?v=iG8jmg195No&list=PL6kSdcHYB3x6KOBxEP1YZAzR8hkMQoEva&index=7|Youtube]] || <<Date(2019-04-14T00:00:00:+0300)>>||
|| 8 || [[/08_TrapsAndMMIO|Гаджеты]] <<Include(/08_TrapsAndMMIO,,to="^==", titlesonly)>> || <<Date(2019-04-12T18:00:00+0300)>> || || [[https://www.youtube.com/watch?v=rBpk3l9I7is&list=PL6kSdcHYB3x6KOBxEP1YZAzR8hkMQoEva&index=8|Youtube]] || <<Date(2019-04-22T00:00:00:+0300)>>||
|| 9 || [[/09_Interrupts|Этот байт кончился, несите следующий]] <<Include(/09_Interrupts,,to="^==", titlesonly)>> || <<Date(2019-04-19T18:00:00+0300)>> || || [[https://www.youtube.com/watch?v=BEU6YuLrb_o&list=PL6kSdcHYB3x6KOBxEP1YZAzR8hkMQoEva&index=9|Youtube]] || <<Date(2019-04-29T00:00:00:+0300)>>||
|| 10 || [[/10_PipelineScale|Быстрее! Выше! Сильнее!]] <<Include(/10_PipelineScale,,to="^==", titlesonly)>> || <<Date(2019-04-26T18:00:00+0300)>> || || [[https://www.youtube.com/watch?v=JH7MTbLUDws&list=PL6kSdcHYB3x6KOBxEP1YZAzR8hkMQoEva&index=10|Youtube]] || ||
|| 11 || [[/11_CacheBPT|Догнать и перегнать себя]] <<Include(/11_CacheBPT,,to="^==", titlesonly)>> || || || ||

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

Экзамен

  • Для участия в экзамене необходимо сделать всё ДЗ
  • Экзамен проходит в машзале, 1 этаж

  • В то же время (пятница 18:00)
  • Будем решать задачку на программирование MARS Bitmap Display

Описание

Название
Архитектура и ассемблер процессоров 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

5

Число зверя и как с ним управиться

2019-03-22

YouTube

2019-04-01

6

Всё уже написано до нас (или нами)

2019-03-29

Youtube

2019-04-11

7

Когда что-то пошло не так

2019-04-05

Youtube

2019-04-14

8

Гаджеты

2019-04-12

Youtube

2019-04-22

9

Этот байт кончился, несите следующий

2019-04-19

Youtube

2019-04-29

10

Быстрее! Выше! Сильнее!

2019-04-26

Youtube

11

Догнать и перегнать себя

Ссылки

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

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


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

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

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

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

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

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


CategoryLectures

LecturesCMC/ArchitectureAssembler2019 (последним исправлял пользователь FrBrGeorge 2019-10-09 11:35:30)