
- •А.Л. Ахтулов, л.Н. Ахтулова, с.И. Смирнов основы микропроцессорной техники
- •Содержание
- •Глава 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
3.4. Практическая реализация логических вентилей
Теперь мы перейдем к вопросу о практических средствах, используемых для представления логических переменных и логических функций. Совершенно очевидно, что выбор физического параметра, представляющего логические переменные, зависит от используемой технологии. В электронных схемах для этой цели может использоваться либо напряжение, либо сила электрического тока.
Для того чтобы установить соответствие между величиной напряжения и логическими значениями, или состояниями, в электронике используют концепцию порога (threshold). Напряжение, превышающее заданный порог, представляет одно значение, а напряжение, которое ниже этого порога, — совсем другое значение, а практике напряжение в любой точке электронной схемы подвержено небольшим случайным колебаниям, зависящим от множества причин. Из-за этого «шума» значения напряжения вблизи порога нельзя с уверенностью соотнести с конкретными логическими состояниями. Поэтому для электронных схем обычно устанавливают некоторый «запрещенный диапазон», как показано на рис. 3.14. напряжения ниже Vo,max представляют логическое значение 0, напряжения выше Vl,min — значение 1. Говоря о напряжении, соответствующем логическим значениям 0 и 1, мы будем использовать понятия «низкое» и «высокое».
Рис. 3.14. Представление логических значений посредством уровней напряжения
Мы начнем знакомство с электронными схемами, реализующими базовые логические функции, с описания простейших из них, которые состоят из резисторов и транзисторов, действующих в качестве переключателей. Для начала рассмотрим схемы, приведенные на рис. 3.15. Когда ключ S на рис. 3.15, а разомкнут, выходное напряжение Vout равно 0 («земля»). Когда же ключ S замкнут, выходное напряжение Vout равно напряжению источника Vsupply. Точно так же действует схема, когда роль ключа играет транзистор Т. Когда входное напряжение, подаваемое на затвор транзистора, равно 0 (то есть когда Vin = 0), ключ разомкнут и Vout = Vsupply. Когда
Рис. 3.15. Схемы инвертора: с использованием ключа (а); с транзистором в качестве ключа (б)
же значение Vin изменяется на Vsupply, ключ замыкается и выходное напряжение Vout становится близким к нулю. Таким образом, электронный ключ, схема которого показана на рис. 3.10, 6, может выполнять функции логического вентиля НЕ.
На рис. 3.16 показана электрическая цепь и эквивалентная ей электронная схема, реализующая вентиль ИЛИ-НЕ. На рис. 3.16, а выходное напряжение Vout будет
Рис. 3.16. Схемы, реализующие вентиль ИЛИ-НЕ: с использованием двух ключей (а); с транзистором в качестве ключа (б)
высоким только в том случае, если оба ключа, Sa и Sb будут разомкнуты. Аналогичным образом, выходное напряжение Vout на рис. 3.16, б будет высоким при условии, что входные напряжения Va и Vb низки. Поэтому данная схема эквивалентна вентилю ИЛИ-НЕ, где входные напряжения Va и Vbпредставляют две входные логические переменные, х1 и х2.
Вентиль ИЛИ-НЕ можно сконструировать из двух транзисторов, соединив их последовательно (рис. 3.17). Что касается логических функций И и ИЛИ, то они легко реализуются на основе вентилей И-НЕ и ИЛИ-НЕ — достаточно вслед за вентилем включить в цепь инвертор, показанный на рис. 3.15.
Рис. 3.17. Схемы, реализующие вентиль И-НЕ: с использованием двух ключей (а); с транзистором в качестве ключа (б)
Реализовать вентили И-НЕ и ИЛИ-НЕ несколько проще, чем И и ИЛИ. Поэтому неудивительно, что ими так часто пользуются при реализации логических функций.
Стараясь сделать примеры как можно понятнее, мы приводили много схем на основе вентилей И, ИЛИ и НЕ. Но на практике логические схемы могут содержать вентили всех пяти типов.
Приведенные выше рис. 3.14-3.17 отражают общую структуру электронных схем, создаваемых по технологии п-МОП (NMOS). В качестве ключей в электронных логических схемах используются металло-оксидные полупроводниковые транзисторы (МОП-транзисторы), которые бывают двух типов: n-канальные и р-канальные. N-канальные транзисторы называют транзисторами типа n-МОП. Когда на вход n-канального транзистора (то есть на его затвор) подается положительное напряжение источника питания, Vsupfly, ключ замыкается (рис. 3.18, а). Р-канальный транзистор действует наоборот: когда входное напряжение на его затворе VG равно Vsupfly, ключ разомкнут, а когда VG = 0, ключ замкнут (рис. 3.18, 6).
Замкнутый ключ, Разомкнутый ключ,
когда VG = Vsupfly когда VG = 0 В
а)
Замкнутый ключ, Разомкнутый ключ, когда
VG = Vsupfly когда VG = 0 В
б)
Рис. 3.18. Логические схемы транзисторов: n-МОП (а); р-МОП (б)
Обратите внимание на графическое обозначение транзистора р-МОП: кружок на входе показывает, что его действие противоположно действию транзистора n-МОП. Обратите также внимание, что у транзистора n-МОП символы s и d, обозначающие исток и сток, располагаются с противоположных сторон по сравнению с транзистором р-МОП. Исток n-канального транзистора соединяется с землей, а исток р-канального транзистора — с источником напряжения Vsupfly. (Указанные обозначения отражают направление движения тока в транзисторах.)
Электронные схемы, приведенные на рис. 3.14-3.17, имеют один недостаток: они требуют слишком большой мощности. В состоянии, когда ключи замкнуты и соединяют нагрузочный резистор R с «землей», электрический ток идет от источника напряжения Vsupfly к «земле». В противоположном состоянии, когда ключ разомкнут, соединения с «землей» нет, а значит, нет и тока. (В МОП- транзисторах ток через затвор не идет.) Таким образом, мощность, потребляемая электронными логическими схемами на МОП- транзисторах, зависит от состояния вентилей.
У данной проблемы имеется весьма эффективное решение: использовать в одной схеме транзисторы обоих типов, чтобы в устойчивом состоянии не потреблялась лишняя мощность. Эта идея была положена в основу технологии КМОП — построения схем на основе комплементарных (то есть дополняющих друг друга) металло-оксидных полупроводниковых транзисторов (Complementary Metal-Oxi-le Semiconductor, CMOS,).
Суть КМОП-технологии иллюстрирует схема инверторa, приведенная на рис. 3.19. Когда Vx=Vsupfly, что соответствует значению 1 входной переменой х1,
Рис. 3.19. КМОП-реализация вентиля НЕ: схема вентиля (а); таблица истинности и состояния транзисторов (б)
транзистор Т1 открыт, а транзистор Т2 закрыт. При этом выходное напряжение транзистора Т2 уменьшается от Vf до 0. Когда входное напряжение Vx становится равным 0, транзистор Т1 закрывается, а транзистор Т2 открывается. Выходное напряжение транзистора T1 увеличивается до Vsupfly . Таким образом, логические значения х и f дополняют друг друга и схема реализует вентиль НЕ.Суть этой схемы заключается в том, что транзисторы Т1 и Т2 действуют как логические дополнения: когда один из них закрыт, другой, наоборот, открыт. Поэтому точка выхода f всегда соединена либо с точкой Vsupfly, либо с «землей». При этом между «землей» и точкой Vsupfly никогда не бывает соединения, за исключением краткого переходного момента, когда изменяется состояние транзисторов Это означает, что в устойчивом состоянии данная схема потребляет минимум энергии, и утечка происходит только в моменты перехода из одного логического состояния в другое. Таким образом, количество энергии, потребляемой логической схемой, зависит от частоты изменения состояния ее элементов.
Теперь концепцию КМОП можно распространить на схемы с и входами, как показано на рис. 3.20.
Рис. 3.20. Структура КМОП-схемы
Транзисторы n-МОП используются для создания понижающей цепи, образующей соединение между точкой выхода f и «землей», когда реализуемая функция F(x1,…хn) равна 0. Повышающая цепь создается на основе транзисторов р-МОП — она образует соединение между точкой выхода f и точкой Vsupfly, когда F(x1,…хn) = 1. Повышающая и понижающая цепи функционально дополняют друг друга, для того чтобы в устойчивом состоянии напряжение в точке f равнялось либо Vsupfly, либо нулю («земля»).
Понижающая цепь, подобно схемам, приведенным на рис. 3.14-3.17, создается на основе транзисторов n-МОП. Как реализуются вентили И-НЕ и ИЛИ-НЕ, показано соответственно на рис. 3.21 и 3.22, а вентиль И, согласно рис. 3.23, реализуется путем инвертирования выходного сигнала вентиля И-НЕ.
Значительное уменьшение потребляемой схемой мощности — это не единственное достоинство технологии КМОП. Еще одним ее преимуществом является очень маленький размер МОП-транзисторов.
Рис. 3.21. МОП- реализация вентиля И-НЕ: схема вентиля (а); таблица истинности и состояния транзисторов (б)
Рис. 3.22. КМОП- реализация вентиля ИЛИ-НЕ: схема вентиля (а); таблица истинности и состояния транзисторов (б)
Рис. 3.23. КМОП-реализация вентиля И |
Рис. 3.24. Передаточная характеристика КМОП-инвертора |
А это важно по двум причинам. Во-первых, на основе этих транзисторов производятся микросхемы с невероятно высокой степенью интеграции элементов: на одном современном чипе умещаются миллионы транзисторов, благодаря чему один чип может содержать мощный микропроцессор или блок памяти большой емкости. Во-вторых, чем меньше транзистор, тем быстрее он переключается из одного состояния в другое. Быстродействие современных интегральных КМОП-микросхем измеряется в гигагерцах
Для современных КМОП-микросхем используются источники питания с напряжением от 1,5 до 15 В. Напряжение питания для наиболее распространенных микросхем равно 5 или 3,3 В. Чем меньше напряжение питания микросхемы, тем меньше потребляемая ею мощность (потребляемая мощность пропорциональна V2supfly) а значит, на микросхему можно поместить большее количество транзисторов, не вызывая ее перегрева. К сожалению, снижение напряжения ведет к понижению помехоустойчивости микросхемы, так что здесь требуется разумный компромисс.
На рис. 2.24 показано, как осуществляется переход между низким и высоким уровнями сигнала в КМОП-инверторе. Кривая, называемая передаточной характеристикой, отражает выходное напряжение как функцию входного напряжения. На данном рисунке видно, что когда входное напряжение проходит значение Vsupfly /2, выходное напряжение резко падает.
Это значение входного напряжения, обозначенное на рисунке как Vt, называется пороговым. Отмеченное на графике значение , определяющее окрестность порогового напряжения, таково, что Vout Vsupfly, если Vin < Vt - , и V^ » 0, если Vin > Vt + . Это значит, что для формирования правильного выходного сигнала входной сигнал не обязательно должен быть в точности равным номинальному значению 0 или Vsupfly . Допускается небольшая погрешность входного сигнала, называемая шумом, которая не вызывает нарушений в работе схемы.
Приемлемые границы шума называются запасом помехоустойчивости.
Для входного логического значения 1 запас помехоустойчивости составляет Vsupfly - (Vt + ), а для значения 0 он равен Vt - . У микросхем КМОП запас помехоустойчивости очень высок.