Различия между версиями 1 и 10 (по 9 версиям)
Версия 1 от 2015-12-01 22:39:48
Размер: 3237
Редактор: FrBrGeorge
Комментарий:
Версия 10 от 2015-12-14 10:28:24
Размер: 4462
Редактор: FrBrGeorge
Комментарий:
Удаления помечены так. Добавления помечены так.
Строка 6: Строка 6:
Практика: первые несколько занятий проходят на базе эмуляторов учебных машин, остальные — на базе эмулятора MIPS (скорее всего, MARS, но возможно и SPIM). Практика: первые несколько занятий проходят на базе [[https://github.com/cmc-python/modelmachine|эмуляторов учебных машин]], остальные — на базе эмулятора MIPS (скорее всего, [[http://courses.missouristate.edu/KenVollmar/MARS/|MARS]], но возможно и [[http://spimsimulator.sourceforge.net/|SPIM]]).
Строка 9: Строка 9:
Примерная разбивка по два часа.
 1. «ЭВМ вообще»
  * Калькулятор → хранение команд → хранение данных → атрибуция данных → подготовка и вывод результатов → выполнение команд в зависимости от данных → ЭВМ
   * Адресация и переходы как частные случаи
  * ⇒ Архитектура фон Неймана
  * исполнитель, память, В/В, коммутатор
 1. Данные в памяти и введение в ММ3
 1. ММ3 условия и циклы
 1. ММ2, ММ1, рассказ о ММ0
 1. ММР (она же с модификацией адреса и переменным размером команды). Проблема подпрограмм всё ещё не решена
 1. Понятие ассемблера. /!\ На чем ассамблер? На ММР??
 1. SPIM, базовые сведения о работе программы, программа сложения двух чисел
 1. SPIM — общая архитектура, цикл работы процессора, базовые сведения о системе команд и работе программы
 1. Адресация, индексация, SPIM: работа с байтами
 1. Шина. Взаимодействие процессор-память; RAM, ROM, Reg; Гарвард/Принстон; 100 циклов для одного обращения к памяти
 1. Структура памяти (text/data/stack), понятие о конвенциях. Стек
 1. Подпрограммы и связанные с ними конвенции
 1. Фреймы, локальные переменные, рекурсия, ещё конвенции
 1. FPU
 1. Взаимодействие с ОС, введение
 1. I/O: порты, MMIO, SPIM: виды внешних устройств
 1. Прерывания В/В
 1. Программные прерывания
##Include(^ArchitectureAssembler/[0-9].*, , titlesonly)>>
Примерная разбивка по два часа. Возможно, некоторые темы толстоваты, тогда они занимают четыре
 1. [[/01_Overall|Представление об архитектуре ЭВМ]]
 1. [[/02_MM3|Хранение данных и команд в памяти; ММ3]]
 1. [[/03_ConditionalsLoops|ММ3 условия и циклы]]
 1. [[/04_VariousMMs|ММ2, ММ1, рассказ о ММ0]]
 1. [[/05_IndirectAddressing|ММР (с модификацией адреса и переменным размером команды)]]
 1. [[/06_AssemblesBasics|Ассемблер и язык ассемблера]]
 1. [[/07_MIPS_Intro|Эмулятор MIPS, базовые сведения об архитектуре и работе; простейшая программа]]
 1. [[/08_MIPS_Arcitecture|MIPS — архитектура и система команд]]
  (схема), цикл работы процессора (понятие о микрокомандах), базовые сведения о системе команд и работе программы
 1. [[/09_Addressing|Адресация]]
  индексация, SPIM: работа с байтами. Секции .text и .data
 1. [[/10_BusMemory|Взаимодействие процессор-память]]
  Шина. Взаимодействие процессор-память; RAM, ROM, Reg; Гарвард/Принстон; 100 циклов для одного обращения к памяти
 1. [[/11_ConventionsIntro|Конвенции, псевдоинструкции и макросы]]
  Структура памяти, псевдоинструкции, макросы, понятие о конвенциях (именование и использование регистров).
 1. [[/12_StackSubroutines|Стек и подпрограммы]]
  Стек (+.stack). Подпрограммы и связанные с ними конвенции
 1. [[/13_FramesLocals|Фреймы, локальные переменные, рекурсия]]
  Фреймы, локальные переменные, рекурсия, ещё конвенции
 1. [[/14_OS_Interaction|Взаимодействие с ОС]]
 1. [[/15_FPU_Coprocessors|Понятие о сопроцессорах. FPU]]
 1. [[/18_ExceptionsSyscalls|Исключения и системные вызовы]]
   Исключения (FPU, арифм., переполнения) syscall. Обработчики исключений. Проблема исключения посреди инструкции. Роль ОС в обработке.
 1. [[/19_DeviceIO|Внешние устройства и ввод/вывод]]
  I/O: порты, MMIO, SPIM: виды внешних устройств
 1. [[/20_InterruptsDMA|Прерывания и DMA]]
 1. [[/21_Cache|Кеш]]
 1. [[/22_Pipeline|Конвейер]]
 1. [[/23_Multitasking|Многозадачность]]
 1. [[/24_Multicore|Многопроцессорные системы]]
 1. [[/25_Virtualization|Виртуализация]]
Строка 42: Строка 52:

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

проект курса второго семестра

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

Практика: первые несколько занятий проходят на базе эмуляторов учебных машин, остальные — на базе эмулятора MIPS (скорее всего, MARS, но возможно и SPIM).

План лекций

Примерная разбивка по два часа. Возможно, некоторые темы толстоваты, тогда они занимают четыре

  1. Представление об архитектуре ЭВМ

  2. Хранение данных и команд в памяти; ММ3

  3. ММ3 условия и циклы

  4. ММ2, ММ1, рассказ о ММ0

  5. ММР (с модификацией адреса и переменным размером команды)

  6. Ассемблер и язык ассемблера

  7. Эмулятор MIPS, базовые сведения об архитектуре и работе; простейшая программа

  8. MIPS — архитектура и система команд

    • (схема), цикл работы процессора (понятие о микрокомандах), базовые сведения о системе команд и работе программы
  9. Адресация

    • индексация, SPIM: работа с байтами. Секции .text и .data
  10. Взаимодействие процессор-память

    • Шина. Взаимодействие процессор-память; RAM, ROM, Reg; Гарвард/Принстон; 100 циклов для одного обращения к памяти
  11. Конвенции, псевдоинструкции и макросы

    • Структура памяти, псевдоинструкции, макросы, понятие о конвенциях (именование и использование регистров).
  12. Стек и подпрограммы

    • Стек (+.stack). Подпрограммы и связанные с ними конвенции
  13. Фреймы, локальные переменные, рекурсия

    • Фреймы, локальные переменные, рекурсия, ещё конвенции
  14. Взаимодействие с ОС

  15. Понятие о сопроцессорах. FPU

  16. Исключения и системные вызовы

    • Исключения (FPU, арифм., переполнения) syscall. Обработчики исключений. Проблема исключения посреди инструкции. Роль ОС в обработке.
  17. Внешние устройства и ввод/вывод

    • I/O: порты, MMIO, SPIM: виды внешних устройств
  18. Прерывания и DMA

  19. Кеш

  20. Конвейер

  21. Многозадачность

  22. Многопроцессорные системы

  23. Виртуализация

Ещё не вошло из того, что нужно рассказать и можно (?) показать на SPIM:

  • Супервизор,
  • Виртуальная память,
  • Конвейер,
  • Кеш,

Из того, что показать нельзя (?)

  • SMP
  • Суперскалярность
  • ???

ArchitectureAssembler (последним исправлял пользователь FrBrGeorge 2015-12-29 11:37:54)