- •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
17.Понятие о подпрограмме; вызов подпрограммы; стек; адрес возврата; рекурсивная подпрограмма.
Подпрограмма – некоторая последовательность действий, которые описываются и хранятся в одном экземпляре. При необходимости производиться вызов подпрограммы. Вложенность подпрограмм не должна ни чем ограничиваться. Вызов подпрограммы по выполнениям действий похож на безусловный переход. Чтобы подпрограмма начала выполняться, необходимо загрузить в программный счетчик адрес первой из ее команд. В момент вызова программный счетчик содержит адрес следующей за вызовом команды и после завершения подпрограммы надо продолжить выполнение программы с того места, где произошел вызов. Адрес в программном счетчике во время вызова подпрограммы – адрес возврата, пока выполняется подпрограмма, адрес возврата надо где-то хранить. При любом возврате необходимо использовать адрес возврата, сохраненный последним. Для хранения данных необходима структура – стек.
Стек – стопка. Под стек выделяется область памяти, размещенанная в сегменте стека, адресуемая по регистру SS. SP – указатель стека, хранит адрес текущей вершины стека. Со стеком возможны 2 основных и 2 дополнительных операции. Основные: запись числа в стек, указатель стека модифицируется, чтобы указывать на ближайшую свободную ячейку, в эту ячейку записывается сохраняемая величина, считывание из стека, из вершины считывается число, указатель модифицируется, так, чтобы указывать на предыдущую из указанных ячеек. В большинстве ЭВМ стек растет в сторону уменьшения адресов. При записи указатель уменьшается, при считывании растет. Дополнительные: проверка на переполнение и пустоту. Вызов подпрограммы происходит с помощью команды CALL <адрес, имя подпрограммы>
RET n – необходимый параметр – количество байт, которые дополнительно выталкиваются при возврате. Возврат внутри сегмента или межсегментный.
18.Способы передачи параметров в подпрограммы; передача параметров по ссылке и по значению.
Формальные и фактические параметры
Чтобы отличать параметры подпрограммы, описанные в её заголовке и теле, от параметров, указываемых при вызове подпрограммы, первые принято называть формальными параметрами, вторые — фактическими параметрами. При вызове подпрограммы фактические параметры, указанные в команде вызова, становятся значениями соответствующих формальных параметров, чем и обеспечивается передача данных в подпрограмму.
Способ передачи параметров в подпрограмму
Существует несколько способов передачи параметров в подпрограмму.
Передача параметров по значению. Формальному параметру присваивается значение фактического параметра. В этом случае формальный параметр будет содержать копию значения, имеющегося в фактическом, и никакое воздействие, производимое внутри подпрограммы на формальные параметры, не отражается на параметрах фактических.
Передача параметров по ссылке. В формальный параметр может быть помещён сам фактический параметр (обычно это реализуется путём помещения в формальный параметр ссылки на фактический). При этом любое изменение формального параметра в подпрограмме отразится на фактическом параметре — оба параметра во время вызова подпрограммы суть одно и то же. Параметры, передаваемые по ссылке, дают возможность не только передавать параметры внутрь подпрограммы, но и возвращать вычисленные значения в точку вызова. Для этого параметру внутри подпрограммы просто присваивается нужное значение, и после возврата из подпрограммы переменная, использованная в качестве фактического параметра, получает это значение.
Передача параметров через стек. Это фактически разновидность передачи параметра по значению «с ручным приводом», в данном случае отсутствует понятие формальных и фактических параметров. Все параметры лежат на стеке, причём их типы, количество и порядок не контролируются компилятором.