Главная > Схемотехника > Промышленная электроника
<< Предыдущий параграф
Следующий параграф >>
<< Предыдущий параграф Следующий параграф >>
Макеты страниц

4.12. МИКРОПРОЦЕССОРЫ

Современная технология изготовления ИМС позволяет выполнить весьма сложные электронные устройства в виде одной или нескольких ИМС. Такое техническое решение будет экономически выгодным, если данное устройство будет производиться массовыми сериями (см. § 1.9), но, как правило, сложные специализированные устройства не требуется производить в большом числе экземпляров. Это противоречие между возможностями технологии и узкой специализированностью сложных электронных устройств снимается при создании программируемых цифровых и логических устройств, которые рассматриваются в этом разделе.

Подобные устройства основаны на работе арифметикологического устройства (АЛУ), которое выполняется в виде самостоятельной БИС либо входит в состав других более сложных ИМС. АЛУ (рис. 4.31, а) позволяет производить арифметические и логические операции над n-разрядными входными кодами (n обычно 4, 8 или 16); входные коды обозначены . Сигналы, подаваемые на управляющие входы , определяют, какая именно операция может быть выполнена над входными величинами. Как и в многоразрядном сумматоре, рассмотренном в § 4.6, при выполнении арифметических операций на АЛУ может быть подан сигнал переноса из внешней цепи который добавляется в младший разряд АЛУ, на выходе АЛУ формируется сигнал , переноса из старшего разряда (сигнал переполнения).

Сигнал переноса увеличивает результат (число F) на единицу. АЛУ представляет собой логическую схему, имеющую определенное количество входов и выходов , где — результаты операций в каждом разряде, — сигнал переноса из старшего разряда.

Рис. 4.31. Арифметико-логическое устройство (а) и микропроцессор (б) — упрощенная структурная схема

Совокупность сигналов на всех входах однозначно определяет совокупность выходных сигналов, поэтому АЛУ является комбинационным устройством, принципы построения которых рассмотрены в § 4.4.

При управляющем сигнале АЛУ выполняет арифметические операции над n-разрядными входными двоичными числами А и В: сложение А и В, сложение А и В с добавлением единицы в младший разряд из внешней цепи (сигнал ), вычитание В из A, вычитание B из A с учетом заема единицы из младшего разряда, увеличение или уменьшение числа А на единицу, пересылка чисел А и В с входа АЛУ на выход, сдвиг чисел на один разряд влево (это эквивалентно умножению на два) или вправо (эквивалентно делению на два) и др. Комбинация сигналов определяет, какая именно математическая операция производится АЛУ. При М=1 АЛУ выполняет логические операции над функциями A и B (во всех разрядах выполняется одна и та же логическая операция). В табл. 4.16 перечислены 16 логических операций, выполняемых АЛУ в зависимости от управляющих сигналов .

Таблица 4.16. Логические операции, выполняемые арифметико-логическим устройством (АЛУ)

Несмотря на разнообразие операций, выполняемых АЛУ, нельзя не заметить ограниченности его функций: устройство выполняет только операции над двумя переменными, отсутствуют арифметические операции умножения и деления и т. п. Преодоление этой ограниченности достигнуто в микропроцессорах, структура обрабатывающей части которых приведена на рис. .

Микропроцессор (МП) — это информационное устройство, выполненное с использованием технологии БИС (часто на одном кристалле) и обладающее способностью выполнять по определенной программе, задаваемой управляющими сигналами, обработку информации, включая ввод и вывод информации, принятие решений, арифметические и логические операции. Работа микропроцессора основана на последовательном выполнении в арифметико-логическом устройстве ряда операций в соответствии с программой.

Упрощенная схема МП (рис. ) состоит из АЛУ, предназначенного для выполнения арифметических и логических операций, и параллельных регистров общего назначения РОН, выполняющих роль сверхоперативного запоминающего устройства и предназначенных для хранения m -разрядных двоичных чисел, используемых в процессе вычислений.

В состав микропроцессора входят также два параллельных буферных регистра БР А и БР В, предназначенных для кратковременного хранения чисел А и В во время выполнения операции АЛУ, и устройство управления УУ, которое задает режимы работы всех элементов МП. РОН связаны с АЛУ через две внутренние магистрали — -проводные линии, по которым передаются -разрядные двоичные числа.

При работе МП числа А и В, над которыми выполняется операция, передаются по магистрали последовательно из РОН на буферные регистры БР А и БР В. Затем по команде АЛУ производит указанную операцию, а результат ее по внутренней магистрали передается в РОН. Обычно результат заносится в специальный регистр для хранения результатов — аккумулятор, при этом ранее записанное в аккумуляторе число стирается.

Рассмотрим в упрощенном виде примеры последовательного выполнения операций в МП:

1) сложение трех чисел. Сначала выполняется сложение первых двух чисел, результат сложения записывается в РОН. Затем результат сложения и третье слагаемое поступают в АЛУ и там вычисляется окончательный результат;

2) умножение двоичных чисел. Пусть перемножаются числа 1011 и 101. Правила умножения двоичных чисел не отличаются от правил для десятичных чисел:

(в десятичном счислении ). Операция умножения сводится к сдвигу числа и сложению, эти операции последовательно выполняет АЛУ;

3) вычисление сложных логических логических функций. Например, . Сначала АЛУ вычисляет , затем и в заключение .

Последовательное выполнение операций уменьшает быстродействие устройства, но оно практически неограниченно увеличивает его функциональные возможности.

Однако для практического использования МП должен быть снабжен дополнительными устройствами, позволяющими обмениваться информацией с внешними цепями, а также хранить используемую в процессе работы информацию.

На основе МП выполняются устройства, содержащие МП, запоминающие устройства (ЗУ), органы управления и средства связи с периферийными устройствами (интерфейс). Если предназначена для управления некоторым объектом или процессом, то она должна быть снабжена средствами сопряжения с этим объектом (процессом): датчиками, АЦП и ЦАП (см. § 4.11), исполнительными устройствами. Совокупность и средств сопряжения называют микропроцессорной системой. В случае построения МП и на несколькнх БИС они должны быть совместимы, т. е. предназначены для совместного применения с общим источником питания, иметь единую систему логических сигналов и одинаковую разрядность.

Структурная схема приведена на рис. 4.32.

Рис. 4.32. Упрощенная структурная схема

Она содержит устройства ввода и вывода , порты ввода и вывода, центральный микропроцессор МП с АЛУ, устройством управления и регистрами общего назначения, а также запоминающее устройство ЗУ. В качестве могут быть использованы следующие устройства: считыватель с гибких магнитных дисков или магнитных кассет; фотосчитыватель с перфоленты; телетайп; аналого-цифровой преобразователь и т. п. В качестве могут использоваться следующие устройства: дисплей (устройство для визуального отображения информации); печатающее устройство; перфоратор; ЦАП (для управления объектом) и т.д. Порты ввода и вывода предназначены для кратковременного хранения информации в процессе ввода и вывода и переключения каналов.

Запоминающие устройства подразделяются на постоянные запоминающие устройства (ПЗУ) (см. § 4.6) и оперативные запоминающие устройства (ОЗУ), последние выполняются на параллельных регистрах (см. § 4.10).

Вся информация, с которой оперирует , представляет собой многоразрядные двоичные числа (коды). Часто используется длина слова 8 разрядов (1 байт) либо слова кратной длины. Входная информация делится на данные, т. е. числа, над которыми должны выполняться некоторые действия, и программу, т. е. последовательность команд, описывающих выполняемые действия. Программа тоже представляет собой запись в виде многоразрядных двоичных слов.

Данные с поступают в Порт ввода. Сигналы управления выбирают необходимый порт, обеспечивают запись данных и временное хранение в порте, а затем обеспечивают их передачу в магистраль данных (совокупность проводящих линий, обеспечивающих передачу -разрядного кодового слова). Поскольку технологические трудности не позволяют осуществить связь всех узлов друг с другом по принципу «каждый с каждым», так как для этого потребовалось бы огромное количество линий и выводов, применяют магистральную организацию связей, при которой все элементы подключаются к единой магистрали. Для передачи информации между элементами используются МА — магистраль адресов; МД — магистраль данных; МУ - магистраль сигналов управления. В восьмиразрядной системе МД выполняется -разрядной, -разрядной. Для того чтобы все элементы могли подключиться к магистрали, используют специальные буферные усилители, которые могут находиться в одном из трех состояний: 1) передача данных в магистраль; 2) прием данных из магистрали; 3) отключение от магистрали. Сигналами управления можно отдельные элементы поставить в режим передачи сигналов в магистраль, другие — в режим приема информации, оставшиеся элементы — отключить.

Разрядность МД может оказаться недостаточной для обеспечения требуемой точности, поэтому используют числа двойной длины, передаваемые поочередно по разрядов. МП обрабатывает эту информацию последовательно во времени, быстродействие снижается.

Типовой МП выполняется в виде БИС примерно с 40 выводами. Увеличение числа выводов сложно технологически, поэтому проблема организации большого числа связей при ограниченном числе выводов стоит достаточно остро. В восьмиразрядном МП 16 выводов используются для подключения адресной магистрали выводов — для подключения магистрали данных выводов занимают источники питания и сигналы синхронизации. Остальные выводы (около 10) служат для передачи сигналов управления через магистраль управления.

Для того чтобы работа МП была независимой от быстродействия , в процессе выполнения программы данные и программа записываются в основную память . Кроме того, в ОЗУ хранятся промежуточные и окончательные результаты работы МП до их вывода. Объем ОЗУ для разных составляет единицы и десятки килобайт байт, т. е. 1024 восьмиразрядных кодовых слов). Кроме того, может использоваться внешняя память , в которой долговременно могут храниться программа, данные, результаты вычислений. Обычно внешняя память выполняется в виде устройств с гибкими магнитными дисками (на одном диске может храниться 3 млн. бит информации) или со стандартными магнитофонными кассетами.

Последовательность операций, выполняемых МП, включает:

1) считывание команды из памяти. Номер ячейки памяти, где хранится первая команда, заносится в специальный счетчик команд, после выполнения команды код, записанный в счетчике, автоматически увеличивается на 1, что обеспечивает последовательное выполнение команд программы;

2) при каждом положении счетчика команд происходит считывание из памяти следующей информации (1, 2 или 3 байта): код операции, которая выполняется в соответствии сданной командой, и число, над которым выполняется данная команда (или адреса ячеек памяти, в которых записано число);

3) выполнение команды.

После выполнения команды считывается команда из следующей ячейки памяти и цикл повторяется.

Устройство управления (УУ), которое входит в состав МП, с помощью генератора тактовых сигналов ГТС обеспечивает требуемую последовательность выполнения операций. Частота ГТС ограничена быстродействием логических элементов и лежит в пределах .

Для управления передачей информации и обеспечения необходимого порядка работы микроЭВМ используются обычно не одна, а две (или больше) последовательности импульсов, соответствующим образом сфазированных между собой. Выполнение одной команды происходит за несколько машинных циклов, каждый машинный цикл содержит несколько периодов повторения импульсов ГТС. Цикл команды содержит две фазы: выборка и исполнение.

МП, как и всякая другая логическая схема, оперирует с двоичными числами, поэтому команда записывается в виде многоразрядных двоичных слов. Например, команда: «Послать в РОН содержимое ячейки памяти с номером 15 488» записывается в виде кода с форматом 3 байта:

Первый байт (восемь разрядов) код операции, остальное — код ячейки памяти (15 488 в двоичном коде). Недостатки такого способа составления программы очевидны: трудно запомнить коды операций, написанная программа плохо воспринимается, при составлении и вводе программы возможны ошибки. Некоторое упрощение написания программ дает использование шестнадцатеричной системы счисления. Она содержит 16 символов, каждому из которых соответствует четырехразрядное число в двоичном коде. Таблица 4.17 связывает запись числа в десятичном, двоичном и шестнадцатеричном кодах.

Таблица 4.17. Запись чисел в десятичном, двоичном и шестнадцатеричном кодах

При применении шестнадцатеричной записи код команды запишется короче:

Здесь 3А — код операции, — номер ячейки памяти в шестнадцатеричном коде, составляющий 15 488 в десятичном исчислении.

Такие команды можно ввести в с помощью шестнадцатеричной клавиатуры. После ввода в машину эти команды с помощью комбинационных устройств переводятся в двоичный код, понятный машине.

Еще удобнее запись программы на языке Ассемблера, который допускает запись команд в форме, отражающей их содержательный смысл. Например, команда ADD — сложе ние, SUB — вычитание, MOV — передача данных и т.п. Программа на языке Ассемблера может быть введена в машину с клавиатуры или с перфоленты. Перевод языка Ассемблера на язык машинных двоичных кодов производится с помощью специальной программы, которая может быть размещена в ПЗУ (объем такой программы 8—16 Кбайт). При записи программ в виде двоичных или шестнадцатеричных кодов или на языке Ассемблера количество операций и количество команд одинаково, команды соответствуют операциям, выполняемым МП. Например, программа выделения и запоминания наибольшего из двух чисел, хранящихся в ячейках памяти, составляет около семи команд. Процесс составления программ указанными выше способами все-таки очень трудоемок и сложен.

Для облегчения программирования при использовании можно воспользоваться языками более высокого уровня. Например, упомянутая программа выделения наибольшего из двух чисел будет записана так: "Если , то , иначе ". Перевод программы высокого уровня в понятную машине программу в двоичных кодах осуществляется с помощью программы, которая размещается в памяти самой . Однако эта программа занимает значительный объем в памяти машины, ее выполнение требует значительного времени, при выполнении операций неэкономно используется память. Поэтому программирование на языках высокого уровня, являющееся сейчас неотъемлемой частью компьютерной грамотности, возможно в тех случаях, когда пользователь ЭВМ имеет избыточные аппаратурные средства (объем памяти) и не лимитирован жестко по времени вычислений. Для создания управляющих , особенно встроенных в различные устройства, такие способы программирования непригодны, так как работа должна происходить в реальном масштабе времени, т. е. с той скоростью, с которой развиваются процессы, для управления которыми используется МП.

Кроме того, затраты на реализацию устройства должны быть минимальны, поэтому увеличение объема памяти нецелесообразно.

Специалисты, занимающиеся разработкой и применением микропроцессорных устройств управления, должны владеть программированием на языках низкого уровня, например на Ассемблере. Для этого необходимо более детальное знакомство с системой команд микропроцессора.

<< Предыдущий параграф Следующий параграф >>
Оглавление