ЛЕКЦИЯ 34. МИКРОПРОЦЕССОРЫ
1. ОБЩИЕ СВЕДЕНИЯ
Цифровые вычисления, логическое проектирование, программирование, цифровая обработка информации и принятие решений стали возможными с 1951 г., когда был создан первый компьютер. На начальном этапе развитие ЭВМ шло в направлении увеличения их вычислительной мощи. Это были дорогостоящие комплексы, и далеко не все предприятия могли иметь даже одну централизованную ЭВМ для решения задач первостепенной важности. Применение цифровой техники для решения большого перечня частных задач, например, управление станками, приводом электродвигателей и т. д. было еще невозможно. Кроме того, на начальном этапе задачи программирования и проектирования электронных средств, в том числе самих ЭВМ, рассматривались как обособленные задачи.
С момента появления миникомпьютеров в 1965 году проблемы, с которыми сталкивались прикладные программисты и разработчики машин, стали переплетаться. Миникомпьютеры стали применяться как составные части систем, требующих быстрого принятия решений – систем реального времени.
С появлением в 1971 г. микропроцессоров началась эра программируемой логики. Теперь понятия программирования и принципы проектирования логических схем сблизились настолько, что от программиста требуется проектирования аппаратуры, а от проектировщика – полное понимание принципов программирования. Область применения микропроцессоров значительно расширилась. Сегодня они применяются в карманных калькуляторах и в кассовых аппаратах магазинов, в научных и бытовых приборах, в оборудовании контор и в медицинском оборудовании.
Создание микропроцессоров во многом стало возможным изобретению в 1959 г. интегральных схем, а несколько позже – больших интегральных схем (БИС), позволяющих размещать тысячи транзисторов на одной полупроводниковой подложке. Микропроцессор – это программируемое логическое устройство, изготовленное по БИС – технологии. Отдельно взятое, такое устройство не может решить какую – либо задачу. Чтобы решить задачу, его нужно запрограммировать и соединить с памятью и устройством ввода / вывода. Совокупность микропроцессора, памяти и устройства ввода / вывода, направленная на выполнение определенной функции, называется микропроцессорной системой или микрокомпьютером. Таким образом, микропроцессор является основной частью – ядром микрокомпьютера. Одновременно он открывает возможность для применения программируемых устройств в тех логических системах, для которых фактор стоимости оказывается важнее, чем скорость и разнообразие вычислений. Именно программирование микропроцессора позволяет применять его к решению широкого класса задач.
В последние годы огромный интерес к микропроцессорам проявляют инженеры – проектировщики аппаратуры. Это объясняется тем, что ограниченный набор БИС, выполняющих вполне определенные функции, позволяет реализовать необходимое устройство цифровой обработки методами программирования. Относительно низкая стоимость, малые габариты и потребляемая мощность, высокая надежность и исключительная гибкость в применениях ставят микропроцессорные наборы БИС вне конкуренции по сравнению с любой другой элементной базой цифровых устройств.
2. СТРУКТУРА МИКРОПРОЦЕССОРА
Обобщенная структурная схема микропроцессора приведена на рис. 34.1. Входящие в его состав программный счетчик (счетчик команд), стек, а также регистр команд служат для обработки команд. Команда – это кодовая комбинация (слово), предписывающая процессору определенное действие. Триггер переноса, АЛУ, общие (рабочие) регистры и регистр адреса данных предназначены для обработки данных (операндов). Дешифратор команд, а также блок управления и синхронизации (БУС) обеспечивают управление работой всей структуры. Взаимодействие всех функциональных узлов осуществляется по внутренним каналам передачи данных. Связь микропроцессора с запоминающим устройством и устройством ввода / вывода происходит по адресной шине, шине данных и управляющей шине.
Микропроцессор работает со словами, состоящими из восьми битов. Такие слова, называемые байтами, удобны при выполнении арифметических и логических операций и используются в большинстве выпускаемых микропроцессоров. Если в расчетах встречаются числа “большей длины”, то применяются специальные программы для вычислений с “двойной точностью”, “тройной точностью” и т. д.
Для задания адреса памяти обычно используется 16 разрядов. Это позволяет прямо адресовать 216 = 65536 ячеек памяти. Число 65536 часто записывают в виде 64К. Индексом К обозначают величину 210 = 1024.
Информация к микропроцессору и от него передается по шинам. Шины данных в соответствии с длиной слова состоят из восьми линий, а адресная шина – из 16 линий. Адресная шина однонаправленная, а шины данных двунаправленные. Управляющая шина состоит из 13 линий, причем, пять линий ведут к БУС, а восемь линий выходят из него. По линиям шины данных передаются управляющие и тактирующие сигналы. Они определяют взаимодействие между функциональными узлами микропроцессора, а также между микропроцессором и другими блоками микрокомпьютера.
Рассмотрим назначение функциональных узлов микропроцессора.
Счетчик команд. Программа микропроцессора представляет определенную последовательность команд, хранящихся в памяти. Счетчик команд считывает команды так, чтобы микропроцессор мог выполнять их в заданной последовательности. Именно в этом заключается главная функция счетчика команд.
Процедура считывания усложняется тем, что программы, как правило, содержат подпрограммы. Подпрограмма – это последовательность команд, предназначенных для выполнения определенной задачи. Она может быть вызвана в любой момент времени выполнения основной программы. Когда в программе появляется команда вызова подпрограммы, выполнение основной программы должно быть остановлено, а ее очередную команду необходимо загрузить в какой – либо регистр памяти. Это необходимо для того, чтобы микропроцессор мог вернуться в основную программу после завершения подпрограммы. Одновременно в счетчик команд необходимо заслать адрес первой команды подпрограммы.
Стек. Операция загрузка адреса последующей команды, как правило, выполняется с помощью безадресной памяти. Такую память называют стековой, или просто стек. Стек содержит набор последовательно организованных регистров. Загрузка (или извлечение) всегда производится в (из) самый верхний регистр, при этом содержимое остальных регистров сдвигается на один регистр вниз (или вверх). Команда вызов подпрограммы выполняется так, что адрес очередной команды основной программы сдвигается в стеке на один шаг вниз, а в верхний регистр загружается адрес первой команды подпрограммы.
Подпрограмма может содержать ряд последующих подпрограмм. При каждом переходе к очередной подпрограмме адреса, загруженные в стек, будут смещаться вниз на один регистр. Число подпрограмм, которые можно загрузить без потери первоначального адреса, определяется информационной емкостью стека. Глубина загрузки фиксируется в указателе стека. Указатель стека показывает адрес верхнего незанятого адреса стека.
Регистр адреса данных содержит адрес данных для команд, обращающихся к памяти, адрес порта для команд ввода / вывода или адрес очередной команды для перехода к подпрограмме.
Регистр команд используется для записи команд, запрашиваемых из памяти и подлежащих дешифрации.
Регистры общего назначения представляют собой блок сверхоперативной памяти, состоящей из пятнадцати восьмибитовых регистров. Такая память предназначена для временного хранения адресов и данных, которые можно извлечь со значительно большей скоростью, чем информацию, содержащуюся в оперативной памяти. Адреса каждого из пятнадцати регистров представляют собой 4 - битовые коды от 0000 до 1110. Регистр 0000 называется аккумулятором и участвует во всех арифметических и логических операциях. Он содержит одно из чисел (операнд) перед выполнением операции и получает результат после ее завершения.
Обращение к любому регистру общего назначения осуществляется при помощи R – селектора. Через r – селектор доступны только регистры 0000, 0001, 0010. Задание несуществующего регистра 1111 используется как указание на то, что нужно обратиться к байту памяти по 16 – разрядному адресу.
АЛУ предназначено для выполнения арифметических и логических операций. Два входа АЛУ представляют собой две восьмибитовые шины. Одна из них идет от аккумулятора (регистр 0000), а другая – от R – селектора, который выбирает один из регистров общего назначения от 0000 до 1110 или ячейку памяти, если задана косвенная адресация. Третий вход в АЛУ представляет собой линию от триггера переноса С. Триггер переноса участвует в некоторых арифметических и логических операциях.
Выходами АЛУ являются восьмибитовая шина и две линии – Z и N. По выходной восьмибитовой шине передаются результаты из АЛУ в аккумулятор. По выходным линиям в блок управления и синхронизации передается информация о наличии или отсутствии двух особых условий:
– аккумулятор содержит нули (линия Z),
– старший разряд аккумулятора равен 1 (линия N).
Триггер переноса, а также линии Z и N называются флажками и используются в командах условного перехода.
Блок управления и синхронизации получает сигналы от дешифратора, из АЛУ (Z, N) и от триггера переноса (С). В зависимости от состояния входов БУС вырабатывает сигналы управления и синхронизации, необходимые остальным функциональным узлам для выполнения команды. С помощью тринадцати внешних линий реализуется интерфейс устройства управления с другими модулями микрокомпьютера.
3. СЕКЦИОНИРОВАННЫЕ МИКРОПРОЦЕССОРЫ
Микропроцессор – это, как правило, модуль в составе микропроцессорной системы или микрокомпьютера. Для достижения большей гибкости микропроцессор может быть разбит на подмодули. Например, часть микропроцессора, обрабатывающая данные, отделяется от части, обрабатывающей команды и управляющей последовательностью их выборки. В свою очередь первая из выделенных частей дополнительно разбивается еще на несколько подмодулей. Каждый такой подмодуль называется микропроцессорной секцией и состоит из АЛУ и различных регистров определенной разрядности.
Обобщенная структурная схема микропроцессорной секции приведена на рис. 34.2. Схема содержит АЛУ для выполнения действий с четырехразрядными кодовыми комбинациями и сверхоперативную (рабочую) память на шестнадцать четырехразрядных кодовых комбинаций.
АЛУ выполняет восемь различных арифметических и логических действий над двумя кодовыми комбинациями (словами) А = а3а2а1а0 и В = в3в2в1в0. Выполняемое действие определяется трехразрядными кодовыми комбинациями, передаваемыми по управляющим линиям К0, К1 и К2 в соответствии с таблицей истинности (рис. 34.3). Линии свх, свых, Р и G предназначены для распространения переносов при выполнении операций сложения и вычитания. По линии свх передается информация о значении переноса в младший разряд, по линии свых – о значении переноса из старшего разряда. Линии Р и G дают добавочную информацию о переносах, позволяющую соединять микропроцессорные секции в каскады. Линии SH и SL используются для передачи информации из секции в секцию при операциях сдвига.
Рабочая память на шестнадцать слов по четыре разряда каждое имеет три порта А, В и С. Каждый порт представляет совокупность из четырех линий для данных и четырех адресных линий. Через каждый порт можно обратиться к любому из шестнадцати слов независимо от обращений через другие порты. Порты А и В предназначены для чтения из рабочей памяти, а порт С – для записи в нее. Управляют записью данных линии “разрешение записи” и “синхр”. Запись слова происходит по заднему фронту синхроимпульса, если на линии “разрешение записи” присутствует логическая 1.
Порты А и В обеспечивают АЛУ двумя словами, над которыми выполняются действия, а порт С получает результат. Вместо слова А в АЛУ может быть передано слово D от внешних источников. Переключение от А к D осуществляется селектором на два направления, при Е = 1. Выходные линии отображают слово А.
Таким образом, микропроцессорная секция выполняет операции над данными, хранящимися в рабочей памяти, а также поступающими от внешних источников. Выполняемая операция, источники слов и адрес, куда помещается результат, определяются входящими в секцию по управляющим линиям сигналами. Поэтому внешние схемы, формирующие эти сигналы, могут управлять операциями в микропроцессорной секции. Следовательно, одну и ту же микропроцессорную секцию можно использовать в микрокомпьютерах с различной структурой и функциями. В этом и заключается большая гибкость и универсальность микропроцессорных секций по сравнению с одномодульными микропроцессорами.
КОНТРОЛЬНЫЕ ВОПРОСЫ
34.1. Приведите определение микропроцессора.
34.2. Чем микрокомпьютер отличается от микропроцессора?
34.3. Какое свойство микропроцессора позволяет применять его к решению широкого класса задач?
34.4. Раскройте понятия: команда, операнд, байт.
34.5. Почему в микропроцессорах адресная шина состоит из шестнадцати линий?
34.6. Какие функции в микропроцессоре выполняет счетчик команд?
34.7. Что представляет собой стековая память, и какой показатель определяет емкость стека?
34.8. Какие функции в микропроцессоре выполняют регистры общего назначения?
34.9. С какой целью применяется секционирование микропроцессора?
34.10. В чем проявляются преимущества микропроцессорных секций над однокристальными микропроцессорами?
Дата добавления: 2015-08-08; просмотров: 1566;