- •Введение
- •Цели и задачи курса
- •1. Общие сведения о вычислительных машинах и вычислительных системах
- •1.1. Основные понятия и определения
- •1.2. Классификация эвм по назначению и типу
- •1.3. Типы эвм
- •1.4. Основные принципы организации вычислительных машин и систем
- •1.5. Основные характеристики вычислительных машин и систем
- •1.5.1 Стоимость и цена аппаратного обеспечения
- •1.5.2. Производительность вычислительных машин и систем
- •Контрольные вопросы
- •2. Фукциональный состав и назначение основных устройств вм
- •2.2. Назначение шин, шина с тремя состояниями
- •2.3. Назначение устройств ввода-вывода, способы информационного обмена
- •Контрольные вопросы
- •3. Организация процессоров
- •3.1. Введение в функциональную организацию процессора
- •3.2. Операционный блок
- •3.3. Блок управления
- •3.4. Устройства управления процессора
- •3.4.1. Классификация уу
- •3.4.2. Аппаратные уу
- •3.4.3. Микропрограммные уу
- •3.5. Интерфейсный блок
- •3.6. Назначение стека
- •Контрольные вопросы
- •4. Система команд и адресация данных
- •4.1. Группы команд
- •4.2. Адресация операндов
- •4.3. Методы адресации
- •5. Память вычислительных машин
- •5.1. Иерархическая организация системы памяти
- •5.2. Иерархическая структура зу
- •5.3. Основные характеристики зу
- •5.4. Организация связи оп с процессором
- •5.5. Ассоциативные зу
- •Контрольные вопросы
- •6. Принципы обмена данными в вычислительных машинах. Интерфейсы вычислительных машин, организация прерываний
- •6.1. Шины
- •6.1.1. Синхронная шина
- •6.1.2. Пересылка данных за несколько тактов
- •6.1.3. Асинхронные шины
- •6.1.4. Заключительные замечания
- •6.2. Назначение и классификация шинных интерфейсов
- •6.3. Организация и обмен данными между периферийными устройствами и вычислительным ядром системы
- •6.4. Организация прерываний
- •6.4.1. Программные прерывания
- •Команда int
- •6.4.2. Обработка прерываний
- •6.4.3 Таблица векторов прерываний
- •6.4.4. Запуск обработчиков прерываний
- •6.5. Последовательная передача данных
- •7. Вычислительные системы параллельной обработки данных
- •7.1. Параллельная обработка как архитектурный способ повышения производительности
- •7.2. Параллелизм и конвейеризация – способы параллельной обработки данных
- •7.2.1. Параллельная обработка данных (параллелизм)
- •7.2.2. Конвейеризация
- •7.3. Классификация архитектур вычислительных систем
- •7.4. Мультипроцессоры и мультикомпьютеры
- •7.5. Классификация мультипроцессорных систем по способу организации основной памяти
- •7.6. Закон Амдала (эффективность параллельных программ)
- •8. Компьютер ibm pc и операционная система ms dos
- •8.1.Архитектурные особенности процессоров семейства ia-32
- •8.2. Организация памяти компьютера ibm pc, работающего под управлением ms dos
- •Видеопамять
- •Пзу bios
- •Системные ресурсы компьютера
- •8.3. Основы программирования на языке Ассемблера
- •8.3.1. Выполнение программ
- •8.3.2. Написание, компиляция и отладка программы
- •8.3.3. Дополнительные средства ассемблера
- •9. Темы заданий для контрольной работы
- •Тема 1. Архитектура процессора Intel 8086.
- •Контрольные вопросы
- •9.1. Аппаратная модель процессора 8086
- •Программная модель процессора
- •Тема 2. Структура ехе- и сом- программы. Вывод на экран.
- •9.2. Структура программы на языке Ассемблера.
- •9.3. Вывод информации на экран
- •Тема 3. Циклы, ввод с клавиатуры.
- •Тема 4. Ввод чисел. Перевод чисел в различные системы счисления.
- •9.4. Перевод чисел в различные системы счисления
- •Тема 5. Работа с прерываниями: перехват и восстановление.
- •Варианты задания
- •Контрольные вопросы
- •Тема 6. Программирование таймера 8254 и генерация звука
- •Программирование звукового канала таймера.
- •9.7. Инициализация таймера
- •9.8. Назначение каналов таймера в ibm pc
- •9 .9. Генерация тона.
- •9.10. Варианты задания
- •Тема 7. Ответы на контрольные вопросы по лекционному курсу
- •Вариантов заданий Таблица 9.4
- •Литература
8.3.3. Дополнительные средства ассемблера
В языке ассемблера существуют средства, позволяющие, во-первых, задать используемую в программе модель памяти и, во-вторых, упростить описание сегментов такой программы. Модель памяти задается с помощью директивы .model. В качестве аргумента этой директивы выступает ключевое слово, определяющее используемую модель памяти. Малая (трёхсегментная) модель описывается ключевым словом small, крошечная (односегментная) - ключевым словом tiny. Указание директивы .model позволяет далее использовать упрощенные директивы описания сегментов.
Пример программы вывода строки:
.model small
; описание сегмента команд
.code
main proc
mov ax, @data (или _data)
mov ds, ax
mov ah, 09h
mov ax, offset mes
int 21h
; выход в DOS
mov ax, 4c00h
int 21h
main endp
.data
mes db ‘OK!$’
.stack 256 ; размер стека 256 бит
end main
Транслятор языка ассемблер предоставляет набор символических имен (идентификаторов) для сегментов команд (@code или _code), данных (@data или _data) и стека (stack).
Если в программе предполагается использовать расширенный состав команд МП Pentium, то начало программы будет выглядеть:
.386
.model use16 small
.code
….. и т.д.
9. Темы заданий для контрольной работы
Тема 1. Архитектура процессора Intel 8086.
Цель работы: Изучение структуры процессора Intel 8086, и основ его программирования.
Задание: Используя представленный ниже теоретический материал, имеющуюся литературу [9,11,14,21] и предоставленное преподавателем обучающее программное обеспечение студент должен изучить структуру микропроцессора Inlet 8086. В результате выполнения практической работы студент должен знать:
- структуру микропроцессора Intel 8086;
- назначение входящих в него блоков и устройств;
- регистры микропроцессора и их основное назначение;
- структуру и назначение регистра флагов;
- структуру памяти и особенности принципа сегментации;
- принцип прерываний;
- режимы адресации;
- последовательность написания программ на языке Ассемблера.
Контрольные вопросы
1. В реальном режиме работы процессора существует дна способа описания адресации памяти: в форме "сегмент-смешение" и линейные адреса: преобразуйте приведенные ниже адреса, используемые процессором в реальном режиме и заданные в форме "сегмент-смешение", в линейные адреса:
а) 0950: 0100; б) 0CD1: 02Е0.
2. Почему в операционной системе MS DOS нельзя было запускать программы, разработанные для защищенного режима работы процессора?
3. Покажите, что в реальном режиме работы процессора могут существовать два разных адреса, заданных в форме "сегмент-смещение", которые соответствуют одному и тому же линейному адресу.
4. Зачем нужна внешняя кэш-память? (см. раздел 6 данного пособия)
5. Какие функции среди микросхем системной логики выполняет контроллер Intel 8259? (см. раздел 7.4 данного пособия и [21])
6. Где расположена память, которая используется для создания видеоизображения? (см. раздел 9.1 данного пособия)
7. Что такое программная заглушка?
8. В каких случаях после выполнения команды IMUL устанавливаются флаги переноса CF и переполнения OF?
9. В каком из регистров будет находиться частное, если в качестве операнда команды DIV указан регистр:
а) ЕВХ? б) ВХ?
10. В каком из регистров будет находиться произведение, если в качестве операнда команды MUL указан регистр BL?
11. Какое значение будет находиться в регистрах АХ и DX после выполнения приведенного ниже фрагмента программы?
mov dx,0
mov ax,222h
mov cx,100h
mul ex
11. Какое значение будет находиться в регистре АХ после выполнения приведенного
ниже фрагмента программы?
mov ax,63h
mov bl,10h
div bl
12. Какое значение будет находиться в регистрах ЕАХ и EDX после выполнения приведенного ниже фрагмента программы?
mov eax,123400h
mov edx,0
mov ebx,10h
div ebx
13. Какое значение будет находиться в регистрах АХ и DX после выполнения приведенного ниже фрагмента программы?
mov ax,4000h
mov dx,500h
mov bx,1Oh
div bx
14. Напишите последовательность команд, в которой число -276 делится на 10, и результат записывается в 16-разрядную переменную var1.
15. Каково назначение блока преобразования адресов в МП?
Алгоритм формирования физического адреса памяти из логического?
Размер адресного пространства памяти и В/В в системах на базе МП 8086; как адресуются порты В/В?
Составьте последовательность команд, заменяющую команду XLAT?
В чем состоит различие в использовании флагов CF и OF?
В чем сходство и различие выполнения команд MUL и IMUL, а также DIV и IDIV?
Какие ограничения присущи командам условного перехода?
Примечание: для правильного ответа на вопросы с 7 по 14 используйте книгу [9].
