- •2. Регистры процессора 8086, особенности регистровой модели.
- •3. Форматы и типы команд 80х86, режимы адресации операндов
- •4. Описание адреса операнда в команде ассемблера
- •7.Директивы описания данных в языке ассемблера
- •9. Сегментная модель памяти, описание сегментов.
- •10. Описание и обработка массивов на ассемблере.
- •11. Вычисления с фиксированной и плавающей точкой.
- •12.Форматы и типы данных арифметического сопроцессора.
- •13.Особые ситуации в численных расчетах.
- •14.Арифметический сопроцессор: архитектура сопроцессора; команды сопроцессора
- •Регистр состояний
- •15.Поток выполнения. Команды управления программой, переходы, ветвления, подпрограммы.
- •16.Команды управления программой. Реализация основных управляющих структур.
- •17.Понятие о подпрограмме; вызов подпрограммы; стек; адрес возврата; рекурсивная подпрограмма.
- •18.Способы передачи параметров в подпрограммы; передача параметров по ссылке и по значению.
- •19.Соглашение о связях Pascal.
- •20.Понятие о прерывании; обработка прерываний, функции контроллера прерываний.
- •21.Система прерываний микропроцессора 8086; Обмен по прерываниям.
- •22.Исключительные ситуации и прерывания. Программные прерывания.
- •23. История появления и развития эвм, поколения эвм.
- •Второй период (1955 г.–начало 60-х). Компьютеры на основе транзисторов. Пакетные операционные системы
- •Третий период (начало 60-х – 1980 г.). Компьютеры на основе интегральных микросхем. Первые многозадачные ос
- •Четвертый период (с 1980 г. По настоящее время). Персональные компьютеры.
- •24. Принципы фон-Неймана, понятие об архитектуре эвм.
- •25. Состав фон-неймановской эвм. Устройство управления, алу, память, порты внешних устройств; регистры процессора.
- •26. Представление информации в памяти эвм. Дополнительный код. Признаки переполнения и переноса. Двоично-десятичные числа.
- •27.Команды цп; выполнение команд; цикл процессора; классификация команд.
- •28. Понятие о системном интерфейсе эвм; способы обмена данными между процессором и другими устройствами. Контроллер периферийного устройства.
- •29.Программно-управляемый обмен. Понятие о прямом доступе к памяти.
- •30. Понятия «интерфейс», «магистраль», «протокол». Состав интерфейсов; структура шин адреса, данных, команд, управления
- •36. Кэш память и массовая оперативная память; способы организации кэш памяти.
- •48. Конфликты по управлению; способы минимизации потерь в результате конфликтов по управлению, прогнозирование ветвлений.
- •49. Суперскалярные процессоры и процессоры с длинным командным словом.
- •52. Классификация параллельных проектов. Системы класса simd; матричная и векторная обработка данных.
- •53. Системы класса mimd; Классификация. Модели связи и архитектуры памяти; способы реализации и основные особенности.
- •56. Проблемы когерентности кэш памяти в многопроцессорных системах. Протокол mesi. Системы с массовым параллелизмом.
- •64 Битные процессора amd. K8, архитектура и основные особенности.
- •64. Процессоры UltraSparc как характерные представители класса risc процессоров.
- •65.Многоядерные процессоры компаний Intel
- •66. Многоядерные процессоры компаний amd
52. Классификация параллельных проектов. Системы класса simd; матричная и векторная обработка данных.
Компьютеры делятся на 4 класса
Sisd (single instruction single data)
Simd (single instruction multiple data)
Mimd
misd
1 вид – конвейерные и суперскалярные
2 вид – системы векторной и матричной обработки
В этих системах предполагается, что есть несколько однотипных процессорных элементов, которые управляются одним общим устройством управления, но каждый обрабатывает свой собственный элемент данных. Термен векторный и матричный часто употребляются как синонимы. Векторный компьютер основан на конвейерной обработке на целенной на обработку массива векторов с помощью одной операции. В матричном компе предполагается, что каждый процессорный элемент представляет собой процесс общего назначения, его программа может содержать цикл, условия. Каждый элемент имеет свою память все они управляются одним общим устройством управления, при этом каждый выполняет либо одну и ту же команду, либо простаивает. Если комп имеет несколько матр или вект процессоров, то он MSIMD.
53. Системы класса mimd; Классификация. Модели связи и архитектуры памяти; способы реализации и основные особенности.
Самые распространенные мультипроцессорные системы это mimd. Вызвано это 2-мы причинами:
Модель вычислений достаточно простая, интуитивно просто и легко масштабируема.
Особенность развития микропроцессорной техники.
Из соображения минимилизации стоимости абсолютно все процы делаются на базе одних и тех же микропроцессорах. С другой стороны практически все процы имеют встроенные блоки обработки мультимедия данных, а эти блоки основаны на simd. Системы класса mimd можно разделить на несколько подклассов (по доступу к памяти).
1. Система содержит несколько процессоров и несколько модулей памяти. И они соединены между собой просторной шиной. Среднее время доступа для любого цп к любому блоку памяти одинаков. Каждый ЦП имеет свой кэш. узкое место – подсистема доступа к памяти. Несколько ЦП вынуждены конкурировать при доступе к памяти -> возникаю задержки –> число ЦП в системе с однородной памятью ограничено
Матричный коммуникатор
Используется вместо шины. В узлах стоят коммуникаторы
2. система с неоднородным доступом к памяти
время доступа к своей памяти выше, чем к чужой. Возможен вариант когда несколько ЦП объединены в кластер с общим модулем памяти. В 1 случае данные с чужой памяти доступны по чтению (система распределенной разделяемой памятью).
2-ой подход доступа к чужой памяти нет, чтобы обменивать данными реализуется метод обмена сообщениями между ЦП.
Проблемы когерентности кэш памяти в многопроцессорных системах. Виды протоколов поддержания когерентности.
Предполагаем, что система выполняет некую общую задачу. Данные в такой системе могут быть частные, могут быть общими. Данные могут храниться в общедоступной памяти, так и в КЭШе => возникает проблема поддержания когерентного состояния КЭШа. Когерентность состоит в выполнении двух правил:
После записи проца А числа в некую ячейку памяти. Процессор В должен получить новые измененные данные.
При последовательном неоднократном изменение одной и той же ячейки проц В должен видеть изменения в том же порядке, что они и были совершенны процессором А.
Существуют несколько подходов нацеленных на обеспечение когерентности:
Подход основанный на наблюдении. Каждый из процессоров просматривает обращения по шине и определяет моменты обращения к своим переменным.
Подход основанных на справочнике. В памяти есть каталог, описывающий состояние общих переменных
Реализация когерентности возможна 2-мя способами
Подход с аннулированием. Если есть несколько копий одной переменной в разных местах, при изменений одной копий все остальные аннулируются
Измененное значение рассылается всем узлам, в которых содержится ее копия, подход основан на ретрансляции. Разница в производительности между протоколами записи с обновлением и с аннулированием определяется тремя характеристиками: Несколько последовательных операций записи в одно и то же слово, не перемежающихся операциями чтения, требуют нескольких операций трансляции при использовании протокола записи с обновлением, но только одной начальной операции аннулирования при использовании протокола записи с аннулированием. При наличии многословных блоков в кэш-памяти каждое слово, записываемое в блок кэша, требует трансляции при использовании протокола записи с обновлением, в то время как только первая запись в любое слово блока нуждается в генерации операции аннулирования при использовании протокола записи с аннулированием. Протокол записи с аннулированием работает на уровне блоков кэш-памяти, в то время как протокол записи с обновлением должен работать на уровне отдельных слов (или байтов, если выполняется запись байта). Задержка между записью слова в одном процессоре и чтением записанного значения другим процессором обычно меньше при использовании схемы записи с обновлением, поскольку записанные данные немедленно транслируются в процессор, выполняющий чтение (предполагается, что этот процессор имеет копию данных). Для сравнения, при использовании протокола записи с аннулированием в процессоре, выполняющим чтение, сначала произойдет аннулирование его копии, затем будет производиться чтение данных и его приостановка до тех пор, пока обновленная копия блока не станет доступной и не вернется в процессор.