- •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
10. Описание и обработка массивов на ассемблере.
Массив – непрерывная область памяти, в которой массив помещаются поля, отведенные под элементы массива. Общий размер массива есть размер 1-го элемента, умноженного на число элементов.
Address(A[i])=A+(i-L)*n=A+i*n (L=0), где i – номер элемента массива, L-минимальное значение, n-длина 1-го элемента. Выражение состоит из 2-х частей: постоянной (А) и переменной (i*n). Постоянная часть указывается в виде константы в команде. Переменная вычисляется с помощью индексного регистра. A[esi] или А[esi*4]-индекс адреса с масштабом. При обработке двумерных массивов используется базово-индексная адресация. Двумерный массив строк, каждая строка есть массив из отдельных элементов. Размер = число строк* количество элементов в строке* длина 1-го элемента в байтах.
Пример описания
B dw 2 dup (5 dup(?))
11. Вычисления с фиксированной и плавающей точкой.
Вычисления с фиксированной запятой
Существует широкий класс задач, где требуются вычисления с вещественны-
ми числами, но не нужна высокая точность результатов. А раз не нужна высокая точность, вычисление можно выполнить значительно быстрее. Чаще всего для представления вещественных чисел с ограниченной точностью используется формат чисел с фиксированной запятой: целая часть числа представляется в виде обычного целого числа, и дробная часть - точно так же в виде целого числа.
Наиболее распространенные форматы для чисел с фиксированной запятой -
8:8 и 16:16. В первом случае на целую и на дробную части числа отводится по
одному байту, а во втором - по одному слову. Операции с этими двумя формата-
ми можно выполнять, помещая число в регистр (16-битный - для формата 8:8
и 32-битный - для формата 16:16). Разумеется, можно придумать и использовать
совершенно любой формат, например 5:11, но некоторые операции над такими
числами могут усложниться.
Вычисления с плавающей запятой
Набор команд для работы с плавающей запятой в процессорах Intel достаточно
разнообразен, чтобы реализовывать весьма сложные алгоритмы, и прост в использовании. Единственное, что может представлять определенную сложность, - почти
все команды FPU по умолчанию работают с его регистрами данных как со стеком,
Выполняя операции над числами в ST(0) и ST(1) и помещая результат в ST(0).
12.Форматы и типы данных арифметического сопроцессора.
Арифметический сопроцессор значительно (в десятки раз) ускоряет вычисления, связанные с вещественными числами. Он может вычислять такие функции, как синус, косинус, тангенс, логарифмы и т.д. Разумеется, что с помощью сопроцессора можно выполнять и простейшие арифметические операции сложения, вычитания, умножения и деления.
Сопроцессор может работать либо с данными в формате с плавающей точкой, либо с целыми числами.
Типы данных FPU:
|
Тип данных |
Бит |
Количество значащих цифр |
Пределы |
|
Целое слово |
16 |
4 |
-32 768 … 32767 |
|
Короткое целое |
32 |
9 |
-2*10^9…2*10^9 |
|
Длинное слово |
64 |
18 |
-9*10^18…9*10^18 |
|
Упакованное десятичное |
80 |
18 |
-99…99 …. 99..99(18 цифр) |
|
Короткое вещественное |
32 |
7 |
1.18*10^-38…3.40*10^38 |
|
Длинное вещественное |
64 |
15-16 |
2.23*10^-308…1.79*10^308 |
|
Расширенное вещественное |
80 |
19 |
3.37*10^-4932…1.18*10^4932 |
