
- •А.Л. Ахтулов, л.Н. Ахтулова, с.И. Смирнов основы микропроцессорной техники
- •Содержание
- •Глава 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
4.5. Пример счетчика с прямым/обратным счетом
На рис. 3.47 показана конфигурация счетчика с прямым счетом (суммирующего счетчика), реализованного посредством трех триггеров. Этот счетчик считает в таком порядке: 0,1,2, …7,0,.... Для обратного счета, то есть счета в порядке 0,7,6, .применяются похожие схемы. При построении этих простых схем используется заложенная в Т-триггере возможность переключения состояний.
Сейчас же мы рассмотрим возможность реализации счетчиков на основе D-триггеров. В частности, речь пойдет о структуре счетчика, который способен считать как в прямом, так и в обратном порядке, в зависимости от значения на внешнем управляющем входе. Для того чтобы приводимый пример не оказался слишком большим, мы ограничимся счетом по модулю 4, для которого достаточно двух битов состояния, представляющих четыре возможных значения счетчика.
Счетчик будет сконструирован на основе стандартной технологии синтеза последовательных схем. Такая схема считает в прямом направлении, если входной сигнал х равен 0, и в обратном, если входной сигнал равен 1. Текущее значение счетчика будет изменяться на отрицательном фронте тактового сигнала. Предположим, что нас особо интересует состояние счетчика в тот момент, когда мы досчитаем до 2. Поэтому при значении счетчика 2 мы будем выдавать выходной сигнал z = 1, а все остальное время сигнал z будет равен 0.
Такой счетчик можно реализовать как последовательную схему. Для того чтобы определить новое значение счетчика, которое будет установлено после очередного тактового импульса, достаточно знать значение х и текущее значение счетчика. Предшествующие его значения для этого не нужны. Если текущее значение равно 2 и х = 0, следующим значением будет 3. И не важно, получено текущее значение путем прямого счета от 1 или путем обратного счета от 3.
Прежде чем показать, как реализуется такая схема, давайте опишем ее поведение с помощью диаграммы состояний. У нашего счетчика имеется четыре разных состояния: S0, S1, S2 и S3. Диаграмма состояний — это граф, в котором состояния представлены окружностями (иногда называемыми узлами). Переходы между состояниями представлены стрелками с надписями. Связанная со стрелкой надпись указывает, какое значение переменной х вызывает данный переход и какое значение счетчика получается в результате. Диаграмма состояний для нашего счетчика с прямым/обратным счетом приведена на рис. 4.8. Например, стрелка, исходящая
Рис. 4.8. Диаграмма состояния для счетчика с прямым/обратным счетом по модулю 4, сигнализирующего о значении 2
от состояния S1 (счетчик = 1) при х = 0, указывает на состояние S2. При этом сообщается, что пока схема находится в состоянии S1 и х = 0, выходное значение z должно быть равным 0. Стрелка, ведущая от узла S2 к узлу S3, указывает, что когда х = 0, на следующем такте будет выполнен переход в состояние S3, а выходное значение z будет установлено в 1.
Обратите внимание, что диаграмма состояний описывает функциональное поведение счетчика вне какой бы то ни было связи с его конкретной реализацией. Так, рис. 4.8 может соответствовать цифровой схеме, механическому счетному устройству или компьютерной программе. Подобные диаграммы позволяют описывать любую систему с последовательным поведением.
В качестве альтернативы диаграмме состояний для представления той же информации можно воспользоваться таблицей состояний (табл. 4.1).
Таблица 4.1
Состояния для счетчика с прямым/обратным счетом
Текущее состояние |
Следующее состояние |
Выход zг |
||
Х=0 |
Х= 1 |
Х=0 |
Х=1 |
|
S0 S1 S2 S3 |
S1 S2 S3 S0 |
S3 S0 S1 S2 |
0 0 1 0 |
0 0 1 0 |
В ней описаны переходы из каждого текущего состояния в следующие состояния, определяемые входным значением х. Выходной сигнал z определяется текущим состоянием схемы и входным значением х. Определив функциональное поведение счетчика, можно переходить к его физической реализации.
Для того чтобы закодировать все четыре состояния счетчика, достаточно двух битов. Обозначим их как у2 (старший бит) и у1 (младший бит). Состояния счетчика, определяемые значениями переменных у2 и y1, мы 6удем записывать в форме у2у1. У нашего счетчика четыре состояния у2у1: S0 = 00, S1 = 01, S2 = 10 и S3 = 11.
Как видите, это просто двоичная запись чисел из диапазона от 0 до 3, применяемая для обеспечения наглядности счета. Переменные у2 и у1 называются переменными состояния последовательной схемы. При указанных значениях этих переменных таблицу состояний для нашего примера можно переписать так, как показано в табл. 4.2. Для обозначения следующих состоянии в ней используются переменные Y2 и Y1.
Таблица А.49
Значения состояний для примера, приведенного на рис. А.48
Текущее состояние |
Следующее состояние |
Выход z |
||
Х=0 |
Х=1 |
Х=0 |
Х=1 |
|
Y2Y1 |
Y2Y1 |
Y2Y1 |
||
0 0 0 1 1 0 1 1 |
0 1 1 0 1 1 0 0 |
1 1 0 0 0 1 1 0 |
0 0 1 0 |
0 0 1 0 |
Мы могли бы выбрать и другие обозначения состояний у2у1. В частности, они могут быть такими: S0 = 10, S1= 11, S2 = 01 и S3= 00. Но такие обозначения не совсем логичны, хотя схема прекрасно бы функционировала. Реализация различных состояний обычно требует разных затрат.
Мы планировали создать нашу схему на основе D-триггеров, в которых значения двух переменных состояния будут сохраняться между последовательными тактовыми импульсами. Выход Q каждого триггера будет представлять переменную текущего состояния, а вход D — переменную следующего состояния Yi. Заметьте, что Yi является функцией переменных у2, у1 и х (табл. 4.2).
На основе представленной здесь таблицы для функций Y2 и Y1 можно составить вот такие выражения:
Y2
=
у1
+ у2
+
х
+ у2у1х = у2у1х
Y1
=
+ у2
+
х
+ у2
х
=
Выходное
значение z
определяется
следующим образом: Z
= у2
С учетом этих выражений составляется схема, приведенная на рис. 4.9.
Рис. 4.9. Реализация счетчика с прямым/обратным счетом