- •Составитель: Валерий Анатольевич Засов
- •Рецензенты: генеральный директор научно-производственного центра «Информационные и транспортные системы», д.Т.Н., профессор с.В. Архангельский
- •Оглавление
- •1.Принципы организации классической эвм
- •2.Структурная организация процессора
- •3.Принципы организации и программирование
- •4.Принципы организации и программирование
- •5.Структурная организация современных
- •Приложение 1.Список основных команд микропроцессора i8080
- •1.Принципы организации классической эвм и определение микропроцессорной системы
- •1.1.Принципы организации эвм Дж. Фон-Неймана
- •1.2.Определение микропроцессора и микропроцессорной системы
- •1.3.Понятие архитектуры микропроцессорной системы
- •1.4.Структура типовой микропроцессорной системы
- •1.4. Командный цикл и его фазы
- •Контрольные вопросы и задания
- •2.2.Устойство управления с аппаратной логикой
- •2.3.Устройство управления с программируемой логикой
- •2.4.Функция и структура арифметико-логического устройства
- •2.5.Система команд процессора и способы адресации
- •Контрольные вопросы и задания
- •3.Принципы организации и программирование
- •3.1.Структурная схема 8-разрядного микропроцессора
- •3.2.Программная модель 8-разрядной микропроцессорной системы
- •3.3. Способы адресации данных в 8-разрядной микропроцессорной системе
- •3.4.Программирование на ассемблере 8-разрядного микропроцессора
- •3.5. Инструментальные средства разработки и отладки программ для 8-разрядных микропроцессоров
- •3.6. Пример решения задачи
- •3.7.Функциональная схема ядра 8-разрядной микропроцессорной системы
- •Контрольные вопросы
- •4. Принципы организации и программирование
- •4.1. Структурная схема микропроцессоров семейства i8086/8088
- •4.2.Функциональная схема центрального процессора на базе микропроцессора i8086/8088
- •Типы циклов шины мп i8086/8088 Таблица 4.2.
- •4.3. Конвейерный метод выполнения команд и направления его развития
- •4.4. Сегментная организация памяти и ее эволюция
- •4.5.Адресное пространство ввода – вывода
- •4.6.Программная модель микропроцессоров i8086/8088 и способы адресации
- •4.7. Описание системы команд 16-разрядного микропроцессора
- •4.8. Основные элементы программ на языке Турбо ассемблер
- •Контрольные вопросы и задания
- •5.Структурная организация современных микропроцессоров
- •5.1.Структура микропроцессора Intel Pentium 4
- •5.2.Структура микропроцессора amd Athlon
- •5.3.Гиперпотоковая технология организации вычислений
- •5.4.Эффективность многоядерной архитектуры микропроцессоров
- •5.5.Регистровые структуры 32-разрядных микропроцессоров
- •5.6.Регистровые структуры 64-разрядных микропроцессоров
- •5.7.Обобщенный формат команд и типы данных
- •Контрольные вопросы и задания
- •6. Организация памяти в микропроцессорных
- •Системах
- •6.1.Назначение, основные параметры и классификация видов памяти
- •6.2. Иерархическая структура памяти мс
- •6.3. Оперативные запоминающие устройства
- •6.4. Постоянные запоминающие устройства
- •7. Интерфейсы микропроцессорных систем
- •7.1. Назначение и функции интерфейсов
- •7.2. Принципы организации и классификация интерфейсов
- •7.3. Система интерфейсов компьютера
- •8.Способы обмена информацией между устройствами микропроцессорной системы
- •8.1. Программно – управляемый обмен и прямой доступ к памяти
- •8.2. Организация прерываний в мс
- •8.3. Циклы шины
- •9. Программируемый периферийный адаптер
- •9.1. Назначение, структурная схема и режимы работы программируемого периферийного адаптера
- •9.2. Управление работой программируемого периферийного адаптера
- •9.3. Примеры программирования периферийного адаптера
- •Признак pc7-pc4
- •Канал а Канал в
- •Контрольные вопросы и задания
- •10. Программируемый интервальный таймер.
- •Организация счета времени и событий
- •10.1.Назначение, структурная схема и программирование таймера.
- •10.2.Режимы работы таймера
- •10.3. Примеры программирования таймера
- •10.4. Организация счета времени и событий в мс
- •Контрольные вопросы и задания
- •Рассмотрим основные блоки программируемого связного адаптера.
- •11.2. Режимы работы связного адаптера
- •11.3. Управление работой и программирование связного адаптера
- •9.4. Особенности программирования асинхронных адаптеров коммуникационных портов компьютеров
- •11.5. Организация обмена между компьютерами по интерфейсу rs-232с
- •Контрольные вопросы и задания
- •Б иблиографический список
- •Список основных команд микропроцессора i8080
- •Список основных команд микропроцессора i8086/8088 и директивы языка Турбо Ассемблер
- •Основные директивы (псевдокоманды) языка
- •Турбо Ассемблер (tasm)
- •Типы символов в tasm
- •Команды передачи данных
- •Арифметические команды
- •Логические команды и команды сдвигов
- •Строковые или цепочечные команды
- •Команды передачи управления
- •Коды условий перехода (сс)
- •Команды управления микропроцессором
9.4. Особенности программирования асинхронных адаптеров коммуникационных портов компьютеров
Компьютер IBM PC обычно оснащен двумя коммуникационными портами COM1 и COM2, выполненных на базе микросхем i8250 или их более современных программно совместимых аналогов NS16550 и NS16550А. Это микросхемы универсальных асинхронных приемопередатчиков (UART – Universal Asynchronous Receiver Transmitter), управление и программирование которых отличается от вышерассмотренных микросхем i8251.
Порт СОМ1 имеет базовый адрес 3F8h и занимает диапазон адресов от 3F8h до 3FFh, второй порт СОМ2 имеет базовый адрес 2F8h и занимает диапазон адресов от 2F8h до 2FFh. Коммуникационные порты могут вырабатывать прерывания:
СОМ1 вырабатывает прерывание IRQ4 (вектор INT 0Ch);
СОМ2 вырабатывает прерывание IRQ3 (вектор INT 0Bh).
Порт 3F8h (2F8h). Порт 3F8h (2F8h) соответствует регистру данных. Для передачи необходимо записать в этот порт передаваемый байт данных. После приема данных от внешнего устройства они могут быть прочитаны из порта 3F8h (2F8H).
В зависимости от состояния старшего бита управляющего слова, записываемого в управляющий регистр с адресом 3FBh (2FBh), назначение порта 3F8h (2F8h) может изменяться. Если этот бит сброшен, порт используется для записи передаваемых данных. Если же бит установлен, порт используется для вывода значения младшего байта делителя частоты тактового генератора.
Изменяя содержимое делителя, можно изменять скорость передачи данных. Старший байт делителя записывается в порт 3F9h (2F9h).
Зависимость скорости передачи данных от значения делителя частоты представлена табл.11.4.
Порт 3F9h (2F9h). Порт 3F9h (2F9h) используется либо как регистр управления прерываниями от асинхронного адаптера, либо (после вывода в порт
3FBh байта с установленным старшим битом) для вывода значения старшего байта делителя частоты тактового генератора.
В режиме регистра управления прерываниями описание разрядов порта приведено в табл.11.5.
Табл.11.4.
Делитель
Скорость передачи
в бодах 1040 768 384 192 96 48 24 12 6 3 2 1 110 150 300 600 1200 2400 4800 9600 19200 38400 57600 115200
Табл.11.5.
Биты
Описание 0 Разрешение
прерывания при готовности принимаемых
данных 1 Разрешение
прерывания после передачи байта,
когда выходной буфер передачи пуст 2 Разрешение
прерывания по обнаружении состояния
BREAK
или при возникновении ошибки 3 Разрешение
прерывания по изменении состояния
входных линий на разъеме RS232
– C
(CTS,
DSR,
RI,
DCD) 4
– 7 Не
используются, должны быть равны нулю
Порт 3FBh (2FВh). Порт 3FBh (2FВh). – это управляющий регистр, доступен по записи и чтению. Формат регистра описывается табл.11.7.
П
Табл.11.6. Биты Описание 0 1
– нет прерываний, ожидающих обслуживание 1
– 2
00
– прерывание по линии состояния
приемника, возникает при переполнении
приемника, ошибках четности или
формата данных или при состоянии
BREAK.
Сбрасывается после чтения состояния
линии из порта 3FDh
(2FDh).; 01
– данные приняты и доступны для
чтения. Сбрасывается после чтения
данных из порта 3F8h
(2F8h); 10
– буфер передатчика пуст. Сбрасывается
при записи новых данных в регистр
данных передатчика порт 3F8h
(2F8h).; 11
– состояние модема. Устанавливается
при изменении состояния входных
линий CTS,
RI,
DCD,
DSR.
Сбрасывается после чтения состояния
модема из порта 3FЕh
(2FЕh).
3
– 7
Должны
быть равно нулю
П
Табл.11.7. Биты Описание 0
– 1
Длина
слова в битах: 00
– 5 бит 01
– 6 бит 10
– 7 бит 11
– 8 бит 2 Количество
стоповых бит: 0
– 1 бит; 1 – 2 бита 3
– 4
Четность: Х0
– контроль на четность не используется 01
– контроль на нечетность 11
– контроль на четность 5 Фиксация
четности. При установке этого бита
бит четности всегда принимает значение
0 (если биты 3 – 4 равны 11) или 1 (если
биты 3 – 4 равны 01)
6 Установка
перерыва. Вызывает вывод строки нулей
в качестве сигнала BREAK
для подключения устройства
7 1
– порты 3F8h
(2F8h)
и 3F9h
(2F9h)
используются для загрузки делителя
частоты тактового генератора; 0 –
порты используются как обычно
Табл.11.8. Биты Описание 0 Линия
DTR 1 Линия
RTS 2 Линия
OUT1
(запасная) 3 Линия
OUT2
(запасная) 4 Запуск
диагностики при входе асинхронного
адаптера, замкнутого на его выход 5
– 7
Должны
быть равно нулю
Табл.11.9. Биты Описание 0 Данные
получены и готовы для чтения.
Сбрасывается при чтении данных
1 Ошибка
переполнения. Был принят новый байт
данных, а предыдущий еще не был считан
программой. Предыдущий байт потерян. 2 Ошибка
четности. Сбрасывается после чтения
состояния линии 3 Ошибка
синхронизации 4 Обнаружен
запрос на прерывание передачи BREAK:
длинная строка нулей 5 Регистр
хранения передатчика пуст, в него
можно записывать новый байт для
передачи 6 Регистр
сдвига передатчика пуст. Этот регистр
получает данные из регистра хранения
и преобразует их в последовательный
вид для передачи 7 Истекло
время ожидания
Формат регистра описывается табл.11.9.
Порт 3FЕh (2FЕh). Порт 3FЕh (2FЕh) представляет собой регистр состояния модема, с помощью которого процессор определяет возможность передачи байта или необходимость приема информации (наличие сигналов CTS DCD соответственно). Формат регистра описывается табл.11.10.
Табл.11.10. Биты Описание 0 Линия
CTS
изменила состояние 1 Линия
DSR
изменила состояние 2 Линия
RI
изменила состояние 3 Линия
DCD
изменила состояние 4 Состояние
линии CTS 5 Состояние
линии DSR 6 Состояние
линии RI 7 Состояние
линии DCD