Математические модели и методы проектирования архитектуры сверхбольших интегральных схем — различия между версиями

Материал из Кафедра математической кибернетики
Перейти к: навигация, поиск
(Новая страница: «Курс по магистерской программе Дискретные управляющие системы и их приложения. Чтение …»)
 
Строка 1: Строка 1:
Курс по магистерской программе Дискретные управляющие системы и их приложения.
+
Курс по магистерской программе Дискретные управляющие системы и их приложения (группа 518/2).
  
Чтение курса обеспечивается кафедрой математической кибернетики, лектор — к.т.н. Мелик-Адамян Арег Фрикович (areg@cs.msu.ru).
+
= Общая информация =
 +
 
 +
== Руководители курса ==
 +
[[Шуплецов Михаил Сергеевич| Шуплецов М.С.]], [[Подымов Владислав Васильевич| Подымов В.В.]]
 +
 
 +
== Критерии оценки ==
 +
 
 +
Курс содержит пять обязательных тем:
 +
# конвейер,
 +
# внеочередная выборка команд,
 +
# кэш-память,
 +
# виртуальная память,
 +
# стек и прерывания.
 +
 
 +
Для получения оценки '''"Отлично"''' требуется покрыть каждую тему практикой или ответом на экзамене (''теорией'').
 +
При этом хотя бы '''две''' темы должны быть покрыты практикой.
 +
Каждая непокрытая тема снижает итоговую оценку на один балл.
 +
 
 +
= Практика =
 +
 
 +
''В этом разделе будут появляться требования к покрытию тем курса практикой.''
 +
 
 +
Покрытие темы практикой - это написание кода на языке Verilog, реализующего понятия темы.
 +
Реализацию можно
 +
* выслать на почты ''обоих'' руководителей курса,
 +
* выложить в свой git-репозиторий, ''отдельно убедившись, что оба руководителя приглашены в репозиторий'', или
 +
* выложить в неглавную ветку git-репозитория "mips_simplified_processor".
 +
 
 +
== Конвейер ==
 +
 
 +
Конвейер может быть реализован над однотактовым процессором для набора инструкций, содержащего:
 +
* хотя бы одну арифметико-логическую R-инструкцию,
 +
* хотя бы одну арифметико-логическую I-инструкцию,
 +
* хотя бы одну инструкцию условного ветвления,
 +
* инструкцию безусловного ветвления,
 +
* инструкцию чтения из памяти в регистр,
 +
* инструкцию записи в память из регистра.
 +
 
 +
Реализация конвейера должна корректно разрешать все конфликты (hazards) и содержать:
 +
# пять классических стадий выполнения инструкции;
 +
# пересылку значений (bypass) хотя бы для одного типа конфликтов чтения после записи (read-after-write hazard);
 +
# спекулятивное исполнение для обхода конфликтов по управлению, возникающих при исполнении инструкций условного ветвления.
 +
 
 +
= Теория =
 +
 
 +
В отличие от практики, выполняющейся в течение всего семестра, экзамен проходит по завершении курса, и потому предполагает знание у сдающего всех ключевых тем курса.
 +
При ответе ключевой темы на экзамене требуется также и знание приложений понятий этой темы к другим ключевым темам.
 +
 
 +
== Рабочая программа ==
 +
 
 +
''Здесь будет появляться список ключевых понятий и тем для ответа на экзамене.''
 +
 
 +
# Конвейер:
 +
#* пять классических стадий исполнения инструкции (выборка, декодирование, исполнение, доступ к памяти, запись в регистр),
 +
#* латентность и производительность,
 +
#* конфликты (структурные, по данным, по управлению),
 +
#* пересылка значений,
 +
#* спекулятивное исполнение.
  
 
[[Категория:Лекционные курсы кафедры МК]]
 
[[Категория:Лекционные курсы кафедры МК]]
 
[[Категория:Магистерская программа Дискретные управляющие системы и их приложения]]
 
[[Категория:Магистерская программа Дискретные управляющие системы и их приложения]]

Версия 17:49, 16 февраля 2017

Курс по магистерской программе Дискретные управляющие системы и их приложения (группа 518/2).

Общая информация

Руководители курса

Шуплецов М.С., Подымов В.В.

Критерии оценки

Курс содержит пять обязательных тем:

  1. конвейер,
  2. внеочередная выборка команд,
  3. кэш-память,
  4. виртуальная память,
  5. стек и прерывания.

Для получения оценки "Отлично" требуется покрыть каждую тему практикой или ответом на экзамене (теорией). При этом хотя бы две темы должны быть покрыты практикой. Каждая непокрытая тема снижает итоговую оценку на один балл.

Практика

В этом разделе будут появляться требования к покрытию тем курса практикой.

Покрытие темы практикой - это написание кода на языке Verilog, реализующего понятия темы. Реализацию можно

  • выслать на почты обоих руководителей курса,
  • выложить в свой git-репозиторий, отдельно убедившись, что оба руководителя приглашены в репозиторий, или
  • выложить в неглавную ветку git-репозитория "mips_simplified_processor".

Конвейер

Конвейер может быть реализован над однотактовым процессором для набора инструкций, содержащего:

  • хотя бы одну арифметико-логическую R-инструкцию,
  • хотя бы одну арифметико-логическую I-инструкцию,
  • хотя бы одну инструкцию условного ветвления,
  • инструкцию безусловного ветвления,
  • инструкцию чтения из памяти в регистр,
  • инструкцию записи в память из регистра.

Реализация конвейера должна корректно разрешать все конфликты (hazards) и содержать:

  1. пять классических стадий выполнения инструкции;
  2. пересылку значений (bypass) хотя бы для одного типа конфликтов чтения после записи (read-after-write hazard);
  3. спекулятивное исполнение для обхода конфликтов по управлению, возникающих при исполнении инструкций условного ветвления.

Теория

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

Рабочая программа

Здесь будет появляться список ключевых понятий и тем для ответа на экзамене.

  1. Конвейер:
    • пять классических стадий исполнения инструкции (выборка, декодирование, исполнение, доступ к памяти, запись в регистр),
    • латентность и производительность,
    • конфликты (структурные, по данным, по управлению),
    • пересылка значений,
    • спекулятивное исполнение.