
- •Составитель: Валерий Анатольевич Засов
- •Рецензенты: генеральный директор научно-производственного центра «Информационные и транспортные системы», д.Т.Н., профессор с.В. Архангельский
- •Оглавление
- •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
- •Команды передачи данных
- •Арифметические команды
- •Логические команды и команды сдвигов
- •Строковые или цепочечные команды
- •Команды передачи управления
- •Коды условий перехода (сс)
- •Команды управления микропроцессором
10.3. Примеры программирования таймера
Пример 1. Составить программу инициализации ПИТ, имеющего адрес 40H. Установить счетчик СТ0 в режим 5 и загрузить в него число 1513Н. Установить счетчик СТ1 в режим 1 и загрузить в него число 06Н. Счет производить в двоичном коде.
800
3E 3A MVI A, 3AH; A CW=0011 1010B=3AH
802 D3 43 OUT 43H ; (A) Регистр CW ПИТ
804 3E 52 MVI A, 52H; A CW=0101 0010B=52H
806 D3 43 OUT 43H ; (A) Регистр CW ПИТ
808 3E 13 MVI A, 13H; A мл. байт DW СТ0
80A D3 40 OUT 40H ; (A) СТ0
80C 3E 15 MVI A, 15H; A ст. байт DW СТ0
80E D3 40 OUT 40H ; (A) СТ0
810 3E 06 MVI A, 06H; A мл. байт DW СТ1
812 D3 41 OUT 41H ; (A) СТ1
Пример 2. Составить программу чтения содержимого счетчика СТ0 в регистровую пару HL на ходу, без остановки его работы. Адрес ПИТ - 40H, счет производить в двоично-десятичном коде.
800
3E 00 MVI A, 0000 XXX1B; A CW
“Защелкивание”
802 D3 43 OUT 43H ; (A) Регистр CW ПИТ
804 DB 40 IN 40H ; A (мл. байт СТ0)
806 6F MOV L, A ; (A) L
807 DB 40 IN 40H ; A (ст. байт СТ0)
809 67 MOV H, A ; (A) H
10.4. Организация счета времени и событий в мс
Программируемый интервальный таймер является устройством широкого назначения. На его основе могут быть построены разнообразные времязадающие устройства, имеющие общесистемное значение: системные часы, тактовые генераторы скорости передачи последовательных данных, средства контроля за длительностью обращения к системной магистрали, средства измерения длительности импульсных сигналов, генераторы звуковых сигналов и т.п.
Для реализации счета (измерения) времени на базе таймера на его входы CLK подают импульсные сигналы, частота Fsysclk которых известна и стабильна. Это обычно одна из системных частот, например, системная частота шины, формируемая в компьютере с высокой точностью.
Подсчитывая
число n
импульсов за измеряемый временной
интервал Tи,,
можно определить его длительность как
.
Осуществляя в таймере деление частоты Fsysclk на заданный коэффициент, можно получить генератор меток реального времени для построения системных часов и сервиса реального времени, в функции которого входит управление выполнением последовательности заданий в строгом соответствии со временем.
Например, системные часы компьютера устроены следующим образом /38/. В качестве генератора меток реального времени используется счетчик СТ0 программируемого таймера с базовым адресом 40. На вход CLK этого счетчика подается системная частота Fsysclk=1,19318 МГц, на вход GATE подается напряжение логической 1, а выход OUT используется в качестве сигнала запроса на прерывание высшего приоритета IRQ0. Такая схема обеспечивает своевременную обработку меток реального времени через систему прерываний. Счетчик СТ0 запрограммирован для работы в режиме 3 и формирует запросы на прерывание на IRQ0 с частотой 18,2 Гц. По каждому запросу запускается программа обработки прерывания с вектором прерывания 08h, по которой инкрементируется текущее значение 4-х байтовой переменной, располагающейся в области памяти по адресу 0000:046Сh (счетчик системных часов). Программа ведет счет астрономического времени в формате «часы, минуты, секунды, доли секунды». Начальное время записывается в область памяти астрономического времени при включении компьютера из энергонезависимых часов реального времени. Кроме этого в программу обработки прерывания включен вызов некоторой программы с вектором прерывания 1Ch. В исходном виде эта программа «пустая» и содержит лишь команду возврата IRET, т.е. обработчик прерывания INT 1Ch ничего не делает.. Но при необходимости на вектор прерывания 1Сh может быть установлена некоторая пользовательская программа, функционирующая синхронно с астрономическими часами.
Для получения текущего времени необходимо прочитать текущее значение 4-х байтовой переменной, располагающейся в области памяти по адресу 0000:046Сh (счетчик системных часов).
Системные часы являются основой для построения сервиса реального времени, в функции которого входит управление выполнением последовательности заданий в строгом соответствии со временем. Сервис реального времени сверяет текущее время с временем начала обслуживания и при достижении последнего осуществляет запуск процедуры обслуживания. Для этого удобно применять программируемый таймер, у которого вход CLK одного из счетчиков, работающего в режиме 0, подключается к выходу OUT генератора меток реального времени, а выход используется в качестве запроса прерывания, но более низкого уровня, чем IRQ0. Таким образом сервис реального времени является системной процедурой, в функции которой входит запуск обслуживания очередного запроса из очереди и установка нового интервала ожидания до начала обслуживания следующего запроса.
Организация счета событий от счета времени отличается тем, что вместо времязадающего генератора на вход таймера подают сигналы с датчиков событий, например, импульсных датчиков перемещения, рельсовой педали,, фиксирующей прохождение колесной пары, фотоэлементов, фиксирующих изделия, сходящие с конвейера и т.п. Если таймер запрограммирован для работы в режиме 0, то считывая последовательно во времени состояние его счетчиков, можно подсчитать число событий на том или ином объекте управления.