Архитектура ЭВМ и язык ассемблера
проект курса второго семестра
Концепция: это курс про архитектуру ЭВМ, ассемблер нужен только тогда, когда он иллюстрирует особенности архитектуры в частности и низкоуровнего программирования вообще.
Практика: первые несколько занятий проходят на базе эмуляторов учебных машин, остальные — на базе эмулятора MIPS (скорее всего, MARS, но возможно и SPIM).
План лекций
Include: Ничего не найдено по регулярному выражению «^----$».
Include: Ничего не найдено по регулярному выражению «^----$».
Include: Ничего не найдено по регулярному выражению «^----$».
Include: Ничего не найдено по регулярному выражению «^----$».
Include: Ничего не найдено по регулярному выражению «^----$».
Include: Ничего не найдено по регулярному выражению «^----$».
Include: Ничего не найдено по регулярному выражению «^----$».
Include: Ничего не найдено по регулярному выражению «^----$».
Include: Ничего не найдено по регулярному выражению «^----$».
Include: Ничего не найдено по регулярному выражению «^----$».
Include: Ничего не найдено по регулярному выражению «^----$».
Include: Ничего не найдено по регулярному выражению «^----$».
Include: Ничего не найдено по регулярному выражению «^----$».
Include: Ничего не найдено по регулярному выражению «^----$».
Include: Ничего не найдено по регулярному выражению «^----$».
Include: Ничего не найдено по регулярному выражению «^----$».
Include: Ничего не найдено по регулярному выражению «^----$».
Include: Ничего не найдено по регулярному выражению «^----$».
Include: Ничего не найдено по регулярному выражению «^----$».
Include: Ничего не найдено по регулярному выражению «^----$».
Include: Ничего не найдено по регулярному выражению «^----$».
Include: Ничего не найдено по регулярному выражению «^----$».
Include: Ничего не найдено по регулярному выражению «^----$».
Примерная разбивка по два часа. Возможно, некоторые темы толстоваты, тогда они занимают четыре- «ЭВМ вообще»
- Калькулятор → хранение команд → хранение данных → атрибуция данных → подготовка и вывод результатов → выполнение команд в зависимости от данных → ЭВМ
- Адресация и переходы как частные случаи
- ⇒ Архитектура фон Неймана
- исполнитель, память, В/В, коммутатор
- Калькулятор → хранение команд → хранение данных → атрибуция данных → подготовка и вывод результатов → выполнение команд в зависимости от данных → ЭВМ
- Данные в памяти и введение в ММ3
- ММ3 условия и циклы
- ММ2, ММ1, рассказ о ММ0
- ММР (она же с модификацией адреса и переменным размером команды). Проблема подпрограмм всё ещё не решена
Понятие ассемблера. На чем ассамблер? На ММР??
- SPIM, базовые сведения о работе программы, программа сложения двух чисел
- SPIM — общая архитектура (схема), цикл работы процессора (понятие о микрокомандах), базовые сведения о системе команд и работе программы
- Адресация, индексация, SPIM: работа с байтами. Секции .text и .data
- Шина. Взаимодействие процессор-память; RAM, ROM, Reg; Гарвард/Принстон; 100 циклов для одного обращения к памяти
- Структура памяти, псевдоинструкции, макросы, понятие о конвенциях (именование и использование регистров).
- Стек (+.stack). Подпрограммы и связанные с ними конвенции
- Фреймы, локальные переменные, рекурсия, ещё конвенции
- Взаимодействие с ОС, введение
- FPU
- Исключения (FPU, арифм., переполнения) syscall. Обработчики исключений. Проблема исключения посреди инструкции. Роль ОС в обработке.
- I/O: порты, MMIO, SPIM: виды внешних устройств
- Прерывания В/В, DMA
- КЕШ
- Конвейер.
- Многозадачность
- Многопроцессорные системы
- Виртуализация.
Ещё не вошло из того, что нужно рассказать и можно (?) показать на SPIM:
- Супервизор,
- Виртуальная память,
- Конвейер,
- Кеш,
Из того, что показать нельзя (?)
- SMP
- Суперскалярность
- ???