Справочное пособие по цифровой электронике - Тули Майк (читать книги полностью без сокращений txt) 📗
Некоторые специализированные микропроцессоры снабжены внутренней памятью (для хранения программ и данных) и входными/выходными портами. Для таких микропроцессоров требуется минимальный объем внешних вспомогательных схем, и они идеально подходят для дешевых систем управления. Обычно упомянутые микропроцессоры называются однокристальными микрокомпьютерами.
Микропроцессоры в зависимости от размера двоичных чисел, которыми они оперируют, можно разделить на два класса. Большинство современных микропроцессоров выполняют операции над группами из 8 или 16 двоичных разрядов (бит). Очевидно, 16-битные микропроцессоры оказываются мощнее 8-битных. В ряде случаев их применения выбирать между этими двумя классами почти не приходится. Например, относительные стоимость и сложность 16-битных микропроцессоров препятствуют их использованию в системах управления. Поэтому будем ориентироваться на 8-, а не на 16-битные микропроцессоры.
8-битный микропроцессор вводит и выводит данные группами по 8 бит, называемых байтами. Данные передаются по восьми отдельным линиям D0—D7, образующим шину данных. Микропроцессоры определяют источник данных (откуда их нужно считать) и их получатель (куда данные нужно записать), указывая местоположение данных в форме уникального адреса. Для этого адресный двоичный набор помещается на шину адреса. В 8-битных микропроцессорах шина адреса всегда состоит из 16 отдельных линий А0—А15.
Адреса, по которым считываются и записываются данные, могут относиться к системной памяти (например, ЗУПВ или ПЗУ) либо к вводу-выводу (ВВ). Распределение адресного диапазона 64К в 8-битных микропроцессорах удобно показывать с помощью карты памяти.
Еще одна шина применяется для определения направления передачи данных (т. е. указания операции считывания или записи) и некоторых общих служебных функций, например сброса. Эта шина называется шиной управления и в зависимости от типа микропроцессора состоит из 5—15 линий.
Первое поколение 8-битных микропроцессоров появилось в середине 70-х годов, начиная с микросхемы 8008 фирмы Intel. По тому времени она казалась удивительным прибором, который мог заменить множество других микросхем и адресовать «огромную» память 16К байт.
По современным меркам микропроцессор 8008 выглядит довольно «слабым» по своим возможностям. Затем появился более «удачный» микропроцессор 8080, выполненный по NMOП-технологии (микропроцессор 8008 выпускался по РМОП-технологии). Микропроцессор 8080 имеет 16 линий адреса, обеспечивающих адресацию памяти 64К байт, и 78 команд, находящихся в распоряжении программиста. На базе этого микропроцессора были разработаны более совершенные микропроцессоры 8085 и Z80.
Наряду с фирмой Intel к производству микропроцессоров подключились и другие фирмы, например Motorola (микропроцессор 6800) и MOS Technology (микропроцессор 6502). В последующие годы было затрачено много усилий на переход к 16- и 32-битным микропроцессорам. Несмотря на новейшие разработки, первые образцы микропроцессоров, а также их модификации довольно широко применяются и в настоящее время. Цены на них значительно снизились, и теперь можно собрать микропроцессорную систему (состоящую из центрального процессора и ряда вспомогательных микросхем) за умеренную плату. Например, основой системы управления микроклиматом почти наверняка будет микропроцессор или однокристальный микрокомпьютер. Такая система не только выполнит все традиционные функции, но и обеспечит более сложные средства обработки данных, а также хранение их с возможностью использования в последующем и даже передаст информацию в удаленный компьютер. Сэкономленное при проектировании аппаратных средств время целесообразно посвятить программному обеспечению проекта, а последующие улучшения свести к замене программного ПЗУ.
Главными внутренними элементами микропроцессора являются:
• регистры для временного хранения команд, данных и адресов;
• арифметико-логическое устройство (АЛУ), которое реализует множество арифметических и логических функций;
• схема управления, воспринимающая и генерирующая внешние управляющие сигналы (например, считывания и записи) и формирующая сигналы для синхронизации всей системы.
Конечно, внутреннее устройство (или архитектура) микропроцессоров разных семейств различно, но в них имеется и много общих элементов. Например, в основных микропроцессорных семействах заметна тенденция сохранить «совместимость вверх» в части их внутренней архитектуры и системы команд, что, безусловно, делает новые приборы более привлекательными для потребителей.
Внутренние регистры — это просто наборы триггеров-защелок (см. гл. 3), в которые при обработке помещаются двоичные данные. Некоторые из регистров доступны программисту (т. е. он может записать в них или считать их содержимое), а другие не доступны. Регистры подразделяются на специализированные (т. е. имеющие конкретное назначение, например указание ячейки памяти или хранения результата операции АЛУ) и общего назначения.
Особенно важную роль в микропроцессоре играют следующие регистры.
Программный счетчик или указатель команды. Программный счетчик PC или указатель команды IP в 8-битном микропроцессоре — это 16-битный регистр, содержащий адрес следующего командного байта. При выборке каждого командного байта производится автоматический инкремент программного счетчика.
Аккумулятор А функционирует как регистр-источник и регистр-получатель; он одновременно является и источником одного из байт данных, которые требуются для операции АЛУ, и местом, куда помещается результат операции АЛУ. Разумеется, в 8-битных микропроцессорах длина аккумулятора составляет 8 бит.
Регистр флажков F (или регистр состояния SR, регистр кода условия CCR) содержит информацию о внутреннем состоянии микропроцессора, в частности об особенностях результата последней операции АЛУ. Подчеркнем, что регистр флажков не является регистром в обычном смысле, а представляет собой просто набор триггер-защелок, состояния которых зависят от результата операции АЛУ. Можно считать, что выход каждого триггера действует как флажок. Обычно имеются флажки нуля Z, переполнения V, отрицательного результата N и переноса С.
Указатель стека. В большинстве микропроцессоров требуется доступ к такой области внешнего ЗУПВ, которая предназначена для временного хранения данных. Эта область называется стеком и занимает от 16 до 256 байт. (Заметим, однако, что стек — это динамическая структура и его размер изменяется в процессе обработки).
Стек работает по принципу «последний пришел — первый ушел» (LIFO). Данные включаются («проталкиваются») в стек, а затем извлекаются («выталкиваются») из него. Указатель стека SP следит за положением стека, т. е. содержит адрес последней использованной ячейки стека. В некоторых микропроцессорах, например в микропроцессоре 6809, имеются два независимых указателя стека — системный указатель стека SSP и пользовательский указатель стека USР.
Регистр команды непосредственно программисту недоступен. Он содержит текущий командный байт, который декодируется дешифратором команды. Выходы дешифратора команды подаются в схему управления микропроцессора, определяющую направление передач данных и реагирующую на внешние сигналы, появляющиеся на шине управления, а также выполняет другие функции.
Упрощенная внутренняя архитектура типичного 8-битного микропроцессора показана на рис. 5.1.
Рис. 5.1. Упрощенная внутренняя архитектура типичного 8-битного микропроцессора.
Отметим, что линии внешней шины управления изолированы от линий внутренней шины с помощью буферов и основные внутренние элементы связаны быстродействующей внутренней шиной данных.