- •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
19.Соглашение о связях Pascal.
Способы передачи параметров
- параметры скалярного типа (булевые, символьные, целые, перечисленные). Помещаются в стек, если параметр имеет длину 1 байт в стек помещается 2 байта. Младший – параметр, старший – неопределенное значение.
- вещественные параметры. Для real в стек помещается 6 байт. Для остальных – 2, 4 или 10 байт, начиная со старшего слова.
-указатели всех видов – в виде дальнего указателя; сначала слово, определяющее сегмент, потом слово, определяющее смещение.
-строки – в виде дальнего указателя в форме сегмент, смещение. Если строка передается как значение подпрограмма не должна ее изменять, иначе необходимо сделать ее локальную копию в стеке.
- массивы, структуры, объекты длиной 1, 2 и 4 байта передаются через стек во всех остальных случаях в стек помещается указатель.
-результат функций скалярного типа. 1 байт в AL, 2 – АХ, 4 – DX\AX. Результат типа real в 3-х регистрах, ах, вх, dx. Вещественный результат – в вершине стека сопроцессора. Результат типа строка размещается в спец области памяти, перед вызовом процедуры в стек автоматически помещается указатель на область выделенной памяти. В число параметров он не входит -> при возврате не должен извлекаться из стека.
.Код пролога для подпрограммы значит сохранить регистры.Пролог и эпилог для подпр-мы-стандартная посл-ть команд.Ими можно генерировать средствами Assemblera если сделать next об’явление:
{имя} PROC {язык}{тип}
Объявление : ARG {список} – список аргументов
LOCAL {список} – список лог-их переменных
USES {список}- список регистров используемых в процедуре.
В качестве {язык} можно указывать :
Pascal
C
CPP
STD CALL – нечто среднее между C и Pascal
NOLANGUAGE – никаких соглашений о связях не исп-ся.
Область стека занятая параметрами и другими данными, относ к одному вызову процедуры называется стековым кадром.
При паскаль вызове подпрограмма должна точно знать ск-ко есть параметров, чтобы добраться до первого из них и освоболить корректно стек, следовательно в Паскаль невозможно передать переменное ко-во параметров, оно должно быть фиксировано.
20.Понятие о прерывании; обработка прерываний, функции контроллера прерываний.
Прерывание – это важная процедура, которая позволяет изменить нормальную последовательность команд, выполняемых процессором.
Группа команд, выполняемых в ответ на запрос прерывания, называется подпрограммой обработки прерывания. Подпрограммы обработки прерываний во многом сходны с другими подпрограммами за исключением того, что они автоматически вызываются аппаратным механизмом вызова, а не командами вызова подпрограмм.
Для опроса устройств существует элемент системы, который называется контроллером прерываний или арбитр прерываний. Контроллер 8259 имеет 8 входов на запрос. Он допускает каскадное включение. Контроллер прерываний хранит информацию о текущем приоритете процессора. Приоритет – характеристика важности выполненяемой задачи. Каждой из линий приписан свой приоритет. Устройства в зависимости от важности, приписаны к своей линии. Чем больше номер линии, тем меньше приоритет. Запрос на каждую из линий поступает в виде +5В, или в виде импульса. Контроллер, получив запрос, сравнивает его с текущем приоритетом процесса. Если приоритет больше, запрос передается на процессор, процессор в ответ выдает подтверждение прерывания. При начальном прогоне контроллера каждой линии ставиться в соответствие код длиной в 8 бит. Контроллер, получив подтверждение, отдает процессору код. Процессор использует код как номер идентификатора прерывания. Если процессор завершает очередную команду, выдает 2-ое подтверждение прерывания контроллеру. На 2-ое прерывание контроллер фиксирует новый приоритет.
Прерывания могут генерироваться аппаратно, программно, процессором. В защищенном режиме обработчик прерываний выбирает таблицы прерываний IDT. Адрес таблицы в IDTR. Таблица может находиться в произвольном месте памяти; содержит до 256 элементов. Элементами таблицы является шлюзы задач, шлюзы прерываний и шлюзы ловушек. Шлюзы задач используются в том случае. Если для обработки прерывания от внешних устройств требуется выполнить большой объем действий. Шлюзы прерываний и шлюзы ловушек вызывают процедуры, которые выполняются в контексте текущей задачи. Шлюзы прерываний – для обслуживания внешних устройств в том случае, если на это требуется немного времени. Обработка прерываний ни чем не отличается от обработки в реальном режиме. Шлюзы ловушек – для обработки исключений, связанных с программой. Различие между прерываниями и ловушками: при входи в прерывание флаг разрешения прерывания сбрасывается, очищается, а при входе в ловушку нет.