- •А.Л. Ахтулов, л.Н. Ахтулова, с.И. Смирнов основы микропроцессорной техники
- •Содержание
- •Глава 1. Структура, архитектура и функционирование Электонных Вычислительных Машин и микропроцессорных систем
- •1.1. История развития информации и вычислительной техники
- •1.2. Этапы развития электронно-вычислительной техники
- •1.3. Классическая архитектура электронной вычислительной машины и принципы фон Неймана
- •1.4. Архитектура мини-эвм и микропроцессора
- •1.5. Принцип работы микро-эвм
- •Глава 2. Числа, кодирование и арифметические операции
- •2.1. Арифметические основы микропроцессорной техники
- •2.2. Двоичная арифметика
- •2.3. Дополнительный код
- •2.4. Арифметика в дополнительном коде
- •2.5. Группировка бит
- •2.6. Буквенно-цифровой код
- •Глава 3. Основные элементы микропроцессорной техники
- •3.1. Логические элементы
- •3.2. Электронные логические вентили
- •3.3. Комбинации логических элементов
- •3.4. Практическая реализация логических вентилей
- •3.5. Задержка на распространение сигнала
- •3.6. Ограничения по входу и выходу
- •3.7. Тристабильные элементы
- •3.8. Мультиплексор и демультиплексоры
- •3.9. Дешифраторы
- •3.10. Модули интегральных микросхем
- •3.11. Триггеры и защелки
- •3.12. Тактирование фронтом сигнала
- •3.15. Триггеры с дополнительными входами для установки и очистки
- •3.16. Регистры и сдвиговые регистры
- •3.17. Счетчики
- •Глава 4. Программируемые логические устройства
- •4.1. Программируемая логическая матрица
- •4.2. Программируемая матричная логика
- •4.3. Сложные программируемые логические устройства
- •4.4. Программируемые вентильные матрицы
- •4.5. Пример счетчика с прямым/обратным счетом
- •4.6. Временные диаграммы
- •4.7. Модель конечного автомата
- •4.8. Синтез конечных автоматов
- •Глава 5. Полупроводниковая память
- •5.1. Микросхемы rom
- •5.2. Затенение rom
- •5.3. Прожигаемая при изготовлении память rom
- •4.4. Память prom
- •5.5. Память eprom
- •5.6. Системная память
- •5.7. Быстродействие озу
- •5.8. Динамическая и статическая память
- •5.9. Память типа dram
- •5.10. Статическая память
- •5.13. Подсистема памяти
- •5.14. Организация кэш-памяти
- •5.15. Принципы организации основной памяти в современных компьютерах
- •5.16. Виртуальная память и организация защиты памяти
- •5.17. Модули памяти
- •5.18. Использование оперативной и постоянной памяти
- •Глава 6. Основы микропроцессорной техники
- •6.1. Архитектура простой микро-эвм
- •6.2. Структура простейшей памяти
- •6.3. Состав команд
- •6.4. Структура элементарного микропроцессора
- •6.5. Функционирование микро-эвм
- •6.9. Код коррекции ошибок
- •Глава 7. Микропроцессорная система
- •7.1. Классификация
- •7.2. Определение понятия микропроцессор
- •7.3. Основные характеристики микропроцессора
- •7.4. Шинная структура связей
- •7.5. Логическая структура микропроцессора
- •7.6. Режимы работы микропроцессорной системы
- •7.7. Архитектура микропроцессорных систем
- •7.8. Типы микропроцессорных систем
- •Глава 8. Организация обмена информацией
- •8.1. Циклы обмена микропроцессорной системы
- •8.2. Шины микропроцессорной системы
- •8.3. Организация циклов обмена информацией
- •8.4. Прохождение сигналов по магистрали
- •8.5. Функции устройств магистрали
- •Глава 9. Функционирование процессора
- •9.1. Адресация операндов
- •9.2. Регистры процессора
- •9.3. Система команд процессора
- •Глава 10. Организация микроконтроллеров
- •10.1. Процессорное ядро и память микроконтроллеров
- •10.2. Классификация и структура микроконтроллеров
- •10.3. Система команд процессора мк
- •10.4. Схема синхронизации мк
- •10.5. Память программ и данных мк
- •10.6. Порты ввода/вывода
- •Библиографический список
- •Основы микропроцессорной техники
- •Издательство государственного образовательного учреждения высшего профессионального образования
- •625000, Тюмень, ул. Володарского, 38
- •6 25039, Г. Тюмень, ул. Киевская, 52
6.5. Функционирование микро-эвм
Пусть требуется выполнить простую операцию сложения трех чисел, например 10+5+18 = 3310. Короткая и простая микропрограмма выполнения этой операции могла бы быть записана в следующей последовательности (рис. 6.7).
Рис. 6.7
Команда 1: загрузить (LOAD) первое число (1010) в ЦП.
Команда 2: сложить (ADD) второе число (510) с первым.
Команда 3 сложить (ADD) третье число (1810) с двумя предыдущими.
Команда 4: поместить (STORE) сумму (3310) в ячейку памяти 2000Н.
После загрузки в память программы эти команды могли бы извлекаться из нее как команды памяти, показанной на рис. 6.7. Заметим, что первая команда программы начинается с адреса 0000Н. Эта команда (LOAD число 0AH) использует 2 байт памяти. Первый байт памяти содержит оперативную часть команды, другой — операнд. Код операции LOAD для микропроцессора, используемого в этом примере, будет 86Н (1000 01102). Операнд 0AH (0000 10102) является первым числом, подлежащим загрузке в аккумулятор микропроцессора. Заметим, что рис. 6.7 является широко распространенным представлением содержимого памяти и адресов в шестнадцатеричной записи. В реальной действующей машине такая информация представляется в форме напряжения Н- и L-уровней.
Предположим, что программа размещена в блоке ОЗУ микро-ЭВМ (рис. 6.1), в которую входят устройства, представленные на рис. 6.5. В таком случае рис. 6.8 иллюстрирует каждую операцию программы (LOAD, ADD, ADD, STORE).
Рис. 6.8. Команды: a - LOAD; б - ADD; в - ADD: г – STORE
Операция загрузки (LOAD) первой команды подробно приведена на рис. 6.8, а и показывает, что содержимое ячейки памяти 0001Н загружено в аккумулятор, который содержит после этого 0000 10102 — первое слагаемое число. В результате операции загрузки стирается предыдущее и записывается новое содержимое аккумулятора. Вторая команда, операция ADD, детализирована на рис. 6.8,6.
Содержимое ячейки памяти 0003Н (0000 01012) складывается с содержимым аккумулятора 0000 10102, что дает сумму 0000 11112, помещаемую в аккумулятор, и мы можем заметить, что содержимое аккумулятора изменяется при операции ADD.
На рис. 6.8, в показана вторая операция ADD (команда 3); содержимое аккумулятора — сумма 0000 11112 сложена с содержимым ячейки памяти 0005Н, т.е. выполняется операция 0000 1111+0001 0010=0010 0001. Окончательно 0010 0001 появляется в аккумуляторе после второй операции ADD.
Операция STORE (РАЗМЕСТИТЬ) по команде 4 представлена на рис. 6.8, г. Содержимое аккумулятора (0010 00012) передано и размещено в ячейке памяти по адресу 2000Н. Заметим, так как это важно, что ячейки памяти данных были идентифицированы в памяти программы двумя раздельными байтами (0007Н и 0008Н). Ячейка памяти программы 0006Н содержит КОП В7Н прямой команды STORE (см. рис. 6.7).
Этот тип команды будет выполнен, вероятно, за время около 2—6 мкс большинством микро-ЭВМ. Рисунок 6.9 иллюстрирует процедуру выполнения центральным процессором этой специальной операции.
Рассмотрим извлечение, декодирование и выполнение команды LOAD по адресам 0000Н и 0001Н в программе.
Рассмотрим сверху слева направо последовательность действий на рис. 6.9: счетчик команд прежде всего устанавливает адрес первого этапа программы. После этого 16-разрядный адрес передается в адресный регистр, затем на адресную шину и в память программы. Для активизации памяти программы ЦП выдает сигнал считывания программы (1 на линии R/W), в то время как дешифратор адресов
Рис. 6.9. Подробный анализ команды LOAD непосредственных данных
(который не входит в состав ЦП) активизирует выбор кристалла CS нулем. Затем счетчик команд инкрементируется до 0001Н, ячейка памяти программы 0000Н становится доступной и ее содержимое считывается на шину данных.
Код операции (86Н) команды LOAD передается в регистр ЦП. Этап извлечения КОП команды LOAD завершен.
Затем КОП (86Н), содержащийся в регистре команды ЦП, интерпретируется дешифратором команд. В данном случае ЦП определяет, идет ли речь о команде LOAD непосредственно, что означает загрузку им содержимого памяти, адрес которой следует непосредственно за КОП, в аккумулятор. Содержимое счетчика команд (0001Н) передается в адресный регистр, на адресную шину и в память
Центральный процессор выдает импульс HIGH считывания на вход R/W памяти. Импульс LOW поступает на вход СS памяти, что активизирует память. В третьей строке (снизу) на рис. 6.9 счетчик команд инкрементируется до 0002Н, что подготавливает его к извлечению последующей команды. Ячейка памяти 0001Н становится доступной, и ее содержимое (0AH) поступает на шину данных, затем передается в аккумулятор. В ходе этапа извлечения КОП всегда помещается в регистр команд.