• Основы микропроцессорной техники. Микропроцессорные системы Основы вычислительной и микропроцессорной техники

    Новые уловки телефонных мошенников, на которые может попасться каждый

    Микропроцессорная техника

    МИКРОПРОЦЕССОРНАЯ ТЕХНИКА - вид вычислительной техники, находящей все более широкое применение в различных средствах автоматизации и связи, и прежде всего в ЭВМ.

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

    Возможности ЭВМ во многом зависят от микропроцессоров, от уровня больших интегральных схем. Если в конце 50-х годов один монокристалл содержал одну деталь схемы, то в настоящее время реализуются схемы со степенью интеграции до 105 элементов на кристалл, и предел еще не достигнут.

    Основные определения:

    Электронная система - в данном случае это любой электронный узел, блок, прибор или комплекс, производящий обработку информации.

    Задача - это набор функций, выполнение которых требуется от электронной системы.

    Быстродействие - это показатель скорости выполнения электронной системой ее функций.

    Гибкость - это способность системы подстраиваться под различные задачи.

    Избыточность - это показатель степени соответствия возможностей системы решаемой данной системой задаче.

    Интерфейс - соглашение об обмене информацией, правила обмена информацией, подразумевающие электрическую, логическую и конструктивную совместимость устройств, участвующих в обмене. Другое название - сопряжение.

    Микропроцессорная система может рассматриваться как частный случай электронной системы, предназначенной для обработки входных сигналов и выдачи выходных сигналов (рис. 1.1). В качестве входных и выходных сигналов при этом могут использоваться аналоговые сигналы, одиночные цифровые сигналы, цифровые коды, последовательности цифровых кодов. Внутри системы может производиться хранение, накопление сигналов (или информации), но суть от этого не меняется. Если система цифровая (а микропроцессорные системы относятся к разряду цифровых), то входные аналоговые сигналы преобразуются в последовательности кодов выборок с помощью АЦП, а выходные аналоговые сигналы формируются из последовательности кодов выборок с помощью ЦАП. Обработка и хранение информации производятся в цифровом виде.

    Характерная особенность традиционной цифровой системы состоит в том, что алгоритмы обработки и хранения информации в ней жестко связаны со схемотехникой системы. То есть изменение этих алгоритмов возможно только путем изменения структуры системы, замены электронных узлов, входящих в систему, и/или связей между ними. Например, если нам нужна дополнительная операция суммирования, то необходимо добавить в структуру системы лишний сумматор. Или если нужна дополнительная функция хранения кода в течение одного такта, то мы должны добавить в структуру еще один регистр. Естественно, это практически невозможно сделать в процессе эксплуатации, обязательно нужен новый производственный цикл проектирования, изготовления, отладки всей системы. Именно поэтому традиционная цифровая система часто называется системой на «жесткой логике».

    Рис. 1.1. Электронная система.

    Любая система на «жесткой логике» обязательно представляет собой специализированную систему, настроенную исключительно на одну задачу или (реже) на несколько близких, заранее известных задач. Это имеет свои бесспорные преимущества.

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

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

    Но в то же время большим недостатком цифровой системы на «жесткой логике» является то, что для каждой новой задачи ее надо проектировать и изготавливать заново. Это процесс длительный, дорогостоящий, требующий высокой квалификации исполнителей. А если решаемая задача вдруг изменяется, то вся аппаратура должна быть полностью заменена. В нашем быстро меняющемся мире это довольно расточительно.

    Путь преодоления этого недостатка довольно очевиден: надо построить такую систему, которая могла бы легко адаптироваться под любую задачу, перестраиваться с одного алгоритма работы на другой без изменения аппаратуры. И задавать тот или иной алгоритм мы тогда могли бы путем ввода в систему некой дополнительной управляющей информации, программы работы системы (рис. 1.2). Тогда система станет универсальной, или программируемой, не жесткой, а гибкой. Именно это и обеспечивает микропроцессорная система.

    Рис. 1.2. Программируемая (она же универсальная) электронная система.

    Но любая универсальность обязательно приводит к избыточности. Ведь решение максимально трудной задачи требует гораздо больше средств, чем решение максимально простой задачи. Поэтому сложность универсальной системы должна быть такой, чтобы обеспечивать решение самой трудной задачи, а при решении простой задачи система будет работать далеко не в полную силу, будет использовать не все свои ресурсы. И чем проще решаемая задача, тем больше избыточность, и тем менее оправданной становится универсальность. Избыточность ведет к увеличению стоимости системы, снижению ее надежности, увеличению потребляемой мощности и т.д.

    Кроме того, универсальность, как правило, приводит к существенному снижению быстродействия. Оптимизировать универсальную систему так, чтобы каждая новая задача решалась максимально быстро, попросту невозможно. Общее правило таково: чем больше универсальность, гибкость, тем меньше быстродействие. Более того, для универсальных систем не существует таких задач (пусть даже и самых простых), которые бы они решали с максимально возможным быстродействием. За все приходится платить.

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

    Однако за последние десятилетия быстродействие универсальных (микропроцессорных) систем сильно выросло (на несколько порядков). К тому же большой объем выпуска микросхем для этих систем привел к резкому снижению их стоимости. В результате область применения систем на «жесткой логике» резко сузилась. Более того, высокими темпами развиваются сейчас программируемые системы, предназначенные для решения одной задачи или нескольких близких задач. Они удачно совмещают в себе как достоинства систем на «жесткой логике», так и программируемых систем, обеспечивая сочетание достаточно высокого быстродействия и необходимой гибкости. Так что вытеснение «жесткой логики» продолжается.

    1.1. Что такое микропроцессор?

    Ядром любой микропроцессорной системы является микропроцессор или просто процессор (от английского processor). Перевести на русский язык это слово правильнее всего как «обработчик», так как именно микропроцессор - это тот узел, блок, который производит всю обработку информации внутри микропроцессорной системы. Остальные узлы выполняют всего лишь вспомогательные функции: хранение информации (в том числе и управляющей информации, то есть программы), связи с внешними устройствами, связи с пользователем и т.д. Процессор заменяет практически всю «жесткую логику», которая понадобилась бы в случае традиционной цифровой системы. Он выполняет арифметические функции (сложение, умножение и т.д.), логические функции (сдвиг, сравнение, маскирование кодов и т.д.), временное хранение кодов (во внутренних регистрах), пересылку кодов между узлами микропроцессорной системы и многое другое. Количество таких элементарных операций, выполняемых процессором, может достигать нескольких сотен. Процессор можно сравнить с мозгом системы.

    Но при этом надо учитывать, что все свои операции процессор выполняет последовательно, то есть одну за другой, по очереди. Конечно, существуют процессоры с параллельным выполнением некоторых операций, встречаются также микропроцессорные системы, в которых несколько процессоров работают над одной задачей параллельно, но это редкие исключения. С одной стороны, последовательное выполнение операций - несомненное достоинство, так как позволяет с помощью всего одного процессора выполнять любые, самые сложные алгоритмы обработки информации. Но, с другой стороны, последовательное выполнение операций приводит к тому, что время выполнения алгоритма зависит от его сложности. Простые алгоритмы выполняются быстрее сложных. То есть микропроцессорная система способна сделать все, но работает она не слишком быстро, ведь все информационные потоки приходится пропускать через один-единственный узел - микропроцессор (рис. 1.3). В традиционной цифровой системе можно легко организовать параллельную обработку всех потоков информации, правда, ценой усложнения схемы.

    Рис. 1.3. Информационные потоки в микропроцессорной системе.

    Итак, микропроцессор способен выполнять множество операций. Но откуда он узнает, какую операцию ему надо выполнять в данный момент? Именно это определяется управляющей информацией, программой. Программа представляет собой набор команд (инструкций), то есть цифровых кодов, расшифровав которые, процессор узнает, что ему надо делать. Программа от начала и до конца составляется человеком, программистом, а процессор выступает в роли послушного исполнителя этой программы, никакой инициативы он не проявляет (если, конечно, исправен). Поэтому сравнение процессора с мозгом не слишком корректно. Он всего лишь исполнитель того алгоритма, который заранее составил для него человек. Любое отклонение от этого алгоритма может быть вызвано только неисправностью процессора или каких-нибудь других узлов микропроцессорной системы.

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

    Для выполнения команд в структуру процессора входят внутренние регистры, арифметико-логическое устройство (АЛУ, ALU - Arithmetic Logic Unit) , мультиплексоры, буферы, регистры и другие узлы. Работа всех узлов синхронизируется общим внешним тактовым сигналом процессора. То есть процессор представляет собой довольно сложное цифровое устройство (рис. 1.4).

    Рис. 1.4. Пример структуры простейшего процессора.

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

    1.2. Шинная структура связей

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

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

    При шинной структуре связей (рис. 1.6) все сигналы между устройствами передаются по одним и тем же линиям связи, но в разное время (это называется мультиплексированной передачей). Причем передача по всем линиям связи может осуществляться в обоих направлениях (так называемая двунаправленная передача). В результате количество линий связи существенно сокращается, а правила обмена (протоколы) упрощаются. Группа линий связи, по которым передаются сигналы или коды как раз и называется шиной (англ. bus).

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

    Рис. 1.6. Шинная структура связей.

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

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

    Типичная структура микропроцессорной системы приведена на рис. 1.10. Она включает в себя три основных типа устройств:

    процессор;

    память, включающую оперативную память (ОЗУ, RAM - Random Access Memory) и постоянную память (ПЗУ, ROM -Read Only Memory), которая служит для хранения данных и программ;

    устройства ввода/вывода (УВВ, I/O - Input/Output Devices), служащие для связи микропроцессорной системы с внешними устройствами, для приема (ввода, чтения, Read) входных сигналов и выдачи (вывода, записи, Write) выходных сигналов.

    Рис. 1.10. Структура микропроцессорной системы.

    Все устройства микропроцессорной системы объединяются общей системной шиной (она же называется еще системной магистралью или каналом). Системная магистраль включает в себя четыре основные шины нижнего уровня:

    шина адреса (Address Bus);

    шина данных (Data Bus);

    шина управления (Control Bus);

    шина питания (Power Bus).

    Шина адреса служит для определения адреса (номера) устройства, с которым процессор обменивается информацией в данный момент. Каждому устройству (кроме процессора), каждой ячейке памяти в микропроцессорной системе присваивается собственный адрес. Когда код какого-то адреса выставляется процессором на шине адреса, устройство, которому этот адрес приписан, понимает, что ему предстоит обмен информацией. Шина адреса может быть однонаправленной или двунаправленной.

    Шина данных - это основная шина, которая используется для передачи информационных кодов между всеми устройствами микропроцессорной системы. Обычно в пересылке информации участвует процессор, который передает код данных в какое-то устройство или в ячейку памяти или же принимает код данных из какого-то устройства или из ячейки памяти. Но возможна также и передача информации между устройствами без участия процессора. Шина данных всегда двунаправленная.

    Шина управления в отличие от шины адреса и шины данных состоит из отдельных управляющих сигналов. Каждый из этих сигналов во время обмена информацией имеет свою функцию. Некоторые сигналы служат для стробирования передаваемых или принимаемых данных (то есть определяют моменты времени, когда информационный код выставлен на шину данных). Другие управляющие сигналы могут использоваться для подтверждения приема данных, для сброса всех устройств в исходное состояние, для тактирования всех устройств и т.д. Линии шины управления могут быть однонаправленными или двунаправленными.

    Наконец, шина питания предназначена не для пересылки информационных сигналов, а для питания системы. Она состоит из линий питания и общего провода. В микропроцессорной системе может быть один источник питания (чаще +5 В) или несколько источников питания (обычно еще –5 В, +12 В и –12 В). Каждому напряжению питания соответствует своя линия связи. Все устройства подключены к этим линиям параллельно.

    Если в микропроцессорную систему надо ввести входной код (или входной сигнал), то процессор по шине адреса обращается к нужному устройству ввода/вывода и принимает по шине данных входную информацию. Если из микропроцессорной системы надо вывести выходной код (или выходной сигнал), то процессор обращается по шине адреса к нужному устройству ввода/вывода и передает ему по шине данных выходную информацию.

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

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

    Важно учитывать, что устройства ввода/вывода чаще всего представляют собой устройства на «жесткой логике». На них может быть возложена часть функций, выполняемых микропроцессорной системой. Поэтому у разработчика всегда имеется возможность перераспределять функции системы между аппаратной и программной реализациями оптимальным образом. Аппаратная реализация ускоряет выполнение функции, но имеет недостаточную гибкость. Программная реализация значительно медленнее, но обеспечивает высокую гибкость. Аппаратная реализация функций увеличивает стоимость системы и ее энергопотребление, программная - не увеличивает. Чаще всего применяется комбинирование аппаратных и программных функций.

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

    1.3. Режимы работы микропроцессорной системы

    Как уже отмечалось, микропроцессорная система обеспечивает большую гибкость работы, она способна настраиваться на любую задачу. Гибкость эта обусловлена прежде всего тем, что функции, выполняемые системой, определяются программой (программным обеспечением, software), которую выполняет процессор. Аппаратура (аппаратное обеспечение, hardware) остается неизменной при любой задаче. Записывая в память системы программу, можно заставить микропроцессорную систему выполнять любую задачу, поддерживаемую данной аппаратурой. К тому же шинная организация связей микропроцессорной системы позволяет довольно легко заменять аппаратные модули, например, заменять память на новую большего объема или более высокого быстродействия, добавлять или модернизировать устройства ввода/вывода, наконец, заменять процессор на более мощный. Это также позволяет увеличить гибкость системы, продлить ее жизнь при любом изменении требований к ней.

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

    Практически любая развитая микропроцессорная система (в том числе и компьютер) поддерживает три основных режима обмена по магистрали:

    программный обмен информацией;

    обмен с использованием прерываний (Interrupts);

    обмен с использованием прямого доступа к памяти (ПДП, DMA - Direct Memory Access).

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

    Процессор читает (выбирает) из памяти коды команд и исполняет их, читая данные из памяти или из устройства ввода/вывода, обрабатывая их, записывая данные в память или передавая их в устройство ввода/вывода. Путь процессора по программе может быть линейным, циклическим, может содержать переходы (прыжки), но он всегда непрерывен и полностью находится под контролем процессора. Ни на какие внешние события, не связанные с программой, процессор не реагирует (рис. 1.11). Все сигналы на магистрали в данном случае контролируются процессором.

    Рис. 1.11. Программный обмен информацией.

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

    В общем случае организовать реакцию на внешнее событие можно тремя различными путями:

    с помощью постоянного программного контроля факта наступления события (так называемый метод опроса флага или polling);

    с помощью прерывания, то есть насильственного перевода процессора с выполнения текущей программы на выполнение экстренно необходимой программы;

    с помощью прямого доступа к памяти, то есть без участия процессора при его отключении от системной магистрали.

    Проиллюстрировать эти три способа можно следующим простым примером. Допустим, вы готовите себе завтрак, поставив на плиту кипятиться молоко. Естественно, на закипание молока надо реагировать, причем срочно. Как это организовать? Первый путь - постоянно следить за молоком, но тогда вы ничего другого не сможете делать. Правильнее будет регулярно поглядывать на молоко, делая одновременно что-то другое. Это программный режим с опросом флага. Второй путь - установить на кастрюлю с молоком датчик, который подаст звуковой сигнал при закипании молока, и спокойно заниматься другими делами. Услышав сигнал, вы выключите молоко. Правда, возможно, вам придется сначала закончить то, что вы начали делать, так что ваша реакция будет медленнее, чем в первом случае. Наконец, третий путь состоит в том, чтобы соединить датчик на кастрюле с управлением плитой так, чтобы при закипании молока горелка была выключена без вашего участия (правда, аналогия с ПДП здесь не очень точная, так как в данном случае на момент выполнения действия вас не отвлекают от работы).

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

    Во втором случае в режиме прерывания процессор, получив запрос прерывания от внешнего устройства (часто называемый IRQ - Interrupt ReQuest), заканчивает выполнение текущей команды и переходит к программе обработки прерывания. Закончив выполнение программы обработки прерывания, он возвращается к прерванной программе с той точки, где его прервали (рис. 1.12).

    Здесь важно то, что вся работа, как и в случае программного режима, осуществляется самим процессором, внешнее событие просто временно отвлекает его. Реакция на внешнее событие по прерыванию в общем случае медленнее, чем при программном режиме. Как и в случае программного обмена, здесь все сигналы на магистрали выставляются процессором, то есть он полностью контролирует магистраль. Для обслуживания прерываний в систему иногда вводится специальный модуль контроллера прерываний, но он в обмене информацией не участвует. Его задача состоит в том, чтобы упростить работу процессора с внешними запросами прерываний. Этот контроллер обычно программно управляется процессором по системной магистрали.

    Рис. 1.12. Обслуживание прерывания.

    Естественно, никакого ускорения работы системы прерывание не дает. Его применение позволяет только отказаться от постоянного опроса флага внешнего события и временно, до наступления внешнего события, занять процессор выполнением каких-то других задач.

    Прямой доступ к памяти (ПДП, DMA) - это режим, принципиально отличающийся от двух ранее рассмотренных режимов тем, что обмен по системной шине идет без участия процессора. Внешнее устройство, требующее обслуживания, сигнализирует процессору, что режим ПДП необходим, в ответ на это процессор заканчивает выполнение текущей команды и отключается от всех шин, сигнализируя запросившему устройству, что обмен в режиме ПДП можно начинать.

    Операция ПДП сводится к пересылке информации из устройства ввода/вывода в память или же из памяти в устройство ввода/вывода. Когда пересылка информации будет закончена, процессор вновь возвращается к прерванной программе, продолжая ее с той точки, где его прервали (рис. 1.13). Это похоже на режим обслуживания прерываний, но в данном случае процессор не участвует в обмене. Как и в случае прерываний, реакция на внешнее событие при ПДП существенно медленнее, чем при программном режиме.

    Понятно, что в этом случае требуется введение в систему дополнительного устройства (контроллера ПДП), которое будет осуществлять полноценный обмен по системной магистрали без всякого участия процессора. Причем процессор предварительно должен сообщить этому контроллеру ПДП, откуда ему следует брать информацию и/или куда ее следует помещать. Контроллер ПДП может считаться специализированным процессором, который отличается тем, что сам не участвует в обмене, не принимает в себя информацию и не выдает ее (рис. 1.14).

    Рис. 1.13. Обслуживание ПДП.

    Рис. 1.14. Информационные потоки в режиме ПДП.

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

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

    1.4. Архитектура микропроцессорных систем

    До сих пор мы рассматривали только один тип архитектуры микропроцессорных систем - архитектуру с общей, единой шиной для данных и команд (одношинную, или принстонскую, фон-неймановскую архитектуру). Соответственно, в составе системы в этом случае присутствует одна общая память, как для данных, так и для команд (рис. 1.15).

    Рис. 1.15. Архитектура с общей шиной данных и команд.

    Но существует также и альтернативный тип архитектуры микропроцессорной системы - это архитектура с раздельными шинами данных и команд (двухшинная, или гарвардская, архитектура). Эта архитектура предполагает наличие в системе отдельной памяти для данных и отдельной памяти для команд (рис. 1.16). Обмен процессора с каждым из двух типов памяти происходит по своей шине.

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

    Рассмотрим некоторые достоинства и недостатки обоих архитектурных решений.

    Архитектура с общей шиной (принстонская, фон-неймановская) проще, она не требует от процессора одновременного обслуживания двух шин, контроля обмена по двум шинам сразу. Наличие единой памяти данных и команд позволяет гибко распределять ее объем между кодами данных и команд. Например, в некоторых случаях нужна большая и сложная программа, а данных в памяти надо хранить не слишком много. В других случаях, наоборот, программа требуется простая, но необходимы большие объемы хранимых данных. Перераспределение памяти не вызывает никаких проблем, главное - чтобы программа и данные вместе помещались в памяти системы. Как правило, в системах с такой архитектурой память бывает довольно большого объема (до десятков и сотен мегабайт). Это позволяет решать самые сложные задачи.

    Рис. 1.16. Архитектура с раздельными шинами данных и команд.

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

    В чем же преимущество архитектуры с двумя шинами (гарвардской)? В первую очередь, в быстродействии.

    Дело в том, что при единственной шине команд и данных процессор вынужден по одной этой шине принимать данные (из памяти или устройства ввода/вывода) и передавать данные (в память или в устройство ввода/вывода), а также читать команды из памяти. Естественно, одновременно эти пересылки кодов по магистрали происходить не могут, они должны производиться по очереди. Современные процессоры способны совместить во времени выполнение команд и проведение циклов обмена по системной шине. Использование конвейерных технологий и быстрой кэш-памяти позволяет им ускорить процесс взаимодействия со сравнительно медленной системной памятью. Повышение тактовой частоты и совершенствование структуры процессоров дают возможность сократить время выполнения команд. Но дальнейшее увеличение быстродействия системы возможно только при совмещении пересылки данных и чтения команд, то есть при переходе к архитектуре с двумя шинами.

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

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

    1.5. Типы микропроцессорных систем

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

    микроконтроллеры - наиболее простой тип микропроцессорных систем, в которых все или большинство узлов системы выполнены в виде одной микросхемы;

    контроллеры - управляющие микропроцессорные системы, выполненные в виде отдельных модулей;

    микрокомпьютеры - более мощные микропроцессорные системы с развитыми средствами сопряжения с внешними устройствами.

    компьютеры (в том числе персональные) - самые мощные и наиболее универсальные микропроцессорные системы.

    Четкую границу между этими типами иногда провести довольно сложно. Быстродействие всех типов микропроцессоров постоянно растет, и нередки ситуации, когда новый микроконтроллер оказывается быстрее, например, устаревшего персонального компьютера. Но кое-какие принципиальные отличия все-таки имеются.

    Микроконтроллеры представляют собой универсальные устройства, которые практически всегда используются не сами по себе, а в составе более сложных устройств, в том числе и контроллеров. Системная шина микроконтроллера скрыта от пользователя внутри микросхемы. Возможности подключения внешних устройств к микроконтроллеру ограничены. Устройства на микроконтроллерах обычно предназначены для решения одной задачи.

    Контроллеры, как правило, создаются для решения какой-то отдельной задачи или группы близких задач. Они обычно не имеют возможностей подключения дополнительных узлов и устройств, например, большой памяти, средств ввода/вывода. Их системная шина чаще всего недоступна пользователю. Структура контроллера проста и оптимизирована под максимальное быстродействие. В большинстве случаев выполняемые программы хранятся в постоянной памяти и не меняются. Конструктивно контроллеры выпускаются в одноплатном варианте.

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

    Наконец, компьютеры и самые распространенные из них - персональные компьютеры - это самые универсальные из микропроцессорных систем. Они обязательно предусматривают возможность модернизации, а также широкие возможности подключения новых устройств. Их системная шина, конечно, доступна пользователю. Кроме того, внешние устройства могут подключаться к компьютеру через несколько встроенных портов связи (количество портов доходит иногда до 10). Компьютер всегда имеет сильно развитые средства связи с пользователем, средства длительного хранения информации большого объема, средства связи с другими компьютерами по информационным сетям. Области применения компьютеров могут быть самыми разными: математические расчеты, обслуживание доступа к базам данных, управление работой сложных электронных систем, компьютерные игры, подготовка документов и т.д.

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

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

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

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

    1.1 Определение микропроцессора

    В начале 70-х годов успехи технологии в микроэлектронике привели к созданию новой элементной базы электроники - микроэлектронных больших интегральных схем (БИС) {модуль 1 глава 1.6.3} . По степени интеграции (количеству активных элементов: диодов и транзисторов) интегральные схемы (ИС) условно подразделяются на ИС малой степени интеграции - до 100 активных элементов, средней степени интеграции (СИС) - до 1000 активных элементов, БИС - свыше 1000 активных элементов, СБИС - свыше 10000 элементов. Выпуск новой БИС при современном уровне автоматизации проектирования - очень сложный и дорогой процесс из-за больших первоначальных затрат на разработку ее логической структуры и топологии, изготовления фотошаблонов и технологической подготовки производства. Это 0,5-1 год работы большого коллектива. Поэтому изготовление БИС экономически оправдано при их выпуске, исчисляемом десятками-сотнями тысяч штук в год. Выпускать специализированные БИС для каждого конкретного применения практически не реально. В результате поиска областей массового применения микросхем с высоким уровнем интеграции их разработчиками была предложена идея создания одной универсальной БИС или некоторого набора БИС, специализация которых для каждого конкретного случая применения достигается не схемно, а программно. Так появились стандартные универсальные элементы - микропроцессорные БИС со структурой, аналогичной структуре ЭВМ.

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


    1.2 Технология изготовления МП БИС

    Существуют два вида технологии изготовления БИС: биполярная - основанная на применении биполярных транзисторов и МОП (металл - окисел - полупроводник) - технология, основанная на использовании полевых транзисторов.

    БИС, изготавливаемые по биполярной технологии, различаются по схематическим способам реализации. В основном применяется транзисторно-транзисторная логика с диодами Шоттки (ТТЛШ) и эмиттерно-связанная логика (ЭСЛ). В логике ТТЛШ используются биполярные n-p-n транзисторы, дополненные диодами Шоттки (ДШ). ДШ представляет собой выпрямительный контакт на границе металл-полупровод­ник Al-nSi. В металле и кремнии основные носители одного и того же типа - электроны, а неосновных носи­телей нет. ДШ открываются при U=0,1-0,3 В и имеют крутую вольт-амперную характеристику. Они под­ключаются параллельно коллекторному переходу n-p-n транзистора и образуют транзистор Шоттки, изготав­ливаемый в едином технологическом процессе. Применение ДШ значительно повышает быстродействие транзистора, так как устраняется насыщение коллекторного перехода и нет рассасывания зарядов в нем.

    Первое поколение

    4004 – 1971 г.

    История МП началась в 1971 году, когда фирма INTEL (ее название произошло от слов Integrated Elecronics) выпустила первый МП i4004, изготовленный по p-МОП техно­логии с разрешением 10 мкм. Он имел разрядность данных 4 бита, способность адресовать 640 байт памяти, тактовую частоту f=108 кГц и выполнял 60 тыс.оп./сек. Такой процессор уже мог работать в качестве вычислительного ядра калькулятора. Он содержал 2300 транзисторов.

    8008 – 1972 г.

    В 1972 г. появился первый усовершенствованный восьмиразрядный МП i8008, изготов­ленный также по р-МОП технологии. Он был размещен в корпусе c 16-ю выводами. Выполнял 48 команд, адресовал 16 Кб памяти, f=800 КГц. Имел 7 внутренних 8-разрядных регистра и 7-уровневый внутренний стек.

    Второе поколение

    8080 – 1974 г.

    В 1974 г. появился МП i8080, изготовленный по n-МОП технологии с разрешением 6 мкм, что позволило разместить в кристалле 6000 транзисторов. Процессор требовал трех источников питания (+5,+12,-5 В) и сложной двухтактной синхронизации с частотой 2 МГц. Его полный аналог российского производства КР580ВМ80 подробно рассмотрен выше. В это же время фирмой Motorola был выпущен МП М6800, отличающийся от i8080 тем, что имел одно напряжение питания, более мощную систему прерываний, содержал два аккумулятора, но не имел РОН. Данные для обработки извлекались из внешней памяти и потом возвращались туда же. Команды работы с памятью короче и проще чем в ВМ80, но пересылка занимает больше времени. Преимуществ во внутренней структуре М6800 не выявилось и до настоящего времени. Остались два конкурирующих семейства Intel и Motorola. Однако большую часть как мирового, так и российского рынка занимает продукция фирмы Intel.

    Следующим стал процессор i8085 (f=5МГц, 6500 транзисторов, 370 тыс.оп./с., 3-мкм технология). Он сохранил популярную регистровую архитектуру i8080 и программную совместимость, но в него добавили порт последовательного интерфейса, тактовый генератор и системный контроллер. Напряжение питания одно: +5В.

    Z80 – 1977 г.

    Часть разработчиков фирмы Intel, не согласных с рядом решений руководства, перешли в фирму Zilog и в 1977 г. создали МП Z80 (российский аналог К1810ВМ80). Этот МП был использован в английском компьютере "Спектрум" фирмы Sincler ,который считался лучшим представителем 8-разрядных МП 2-го поколения.

    Третье поколение

    8086 – 1978 г.

    Это поколение МП фирмы Intel заложило основу современных персональных компьютеров. В 1978 г. был выпущен 16-разрядный процессор i8086. Его данные: f=5 МГц, производительность 330 тыс.оп./с., технология 3мкм, 29 тыс. транзисторов. В нем начала использоваться сегментация памяти и новая схема кодирования команд.

    8088 – 1979 г.

    Однако слишком сложная и дорогая технология производства этого процессора вынудила фирму Intel c 1979 г. некоторое время выпускать несколько упрощенный вариант под названием i8088, шина данных которого была только 8 бит. Именно этот процессор фирма IBM выбрала для своего первого персонального компьютера модели IBM PC/XT.

    80186 – 1980 г.

    В 1980 г. создан МП i80186. В нем, по сравнению с i8086, дополнительно включены два независимых скоростных канала ПДП, программируемый контроллер прерываний, генерируются сигналы выбора 7 периферийных устройств. Имеется 16 внутренних программируемых таймеров, два из них имеют выход наружу, остальные могут создавать временные задержки. Очередь команд - 6 байтов (в i8088 - 4 байта). Имеется 10 дополнительных команд, ускоряющих выполнение программ по сравнению с i8086. Однако широкого применения в компьютерах данный процессор не получил.

    Четвертое поколение

    80286 – 1982 г.

    В 1982 г. появился процессор i80286, который был использован фирмой IBM в компьютере PC/AT (AT - Advanced Technology - перспективная технология). Он уже имел 134 тыс. транзисторов (технология 1,5 мкм) и адресовал до 16 Мб физической памяти. Он мог работать в двух режимах: реальном и защищенном. В реальном режиме i80286 работает как i8086 с повышенным быстродействием (f до 20 МГц). Память рассматривается как некоторое число сегментов, каждый из которых содержит 2 16 байт. Сегменты начинаются с адресов, кратных 16 (младшие 4 адресных бита всегда равны 0). Сегменты могут задаваться в программах произвольно. Адреса сегментов хранятся в сегментных регистрах. В защищенном режиме старший адрес сегмента не вычисляется путем добавления 4-х младших нулей, а извлекается из таблиц, индексируемых с помощью сегментных регистров. Это позволяет работать с большими массивами информации, объем которых превышает объем физической памяти. Если физическая память полностью загружена, то непоместившиеся данные располагаются на винчестере. Кроме того, в защищенном режиме возможна поддержка мультизадачного режима. Для этой цели была создана операционная система OS/2.

    В таком режиме процессор может выполнять различные программы в выделенные кванты времени, отведенные для каждой из программ. Пользователю же кажется, что программы выполняются одновременно.

    Пятое поколение

    80386 – 1985 г.

    Первым его представителем был 32-х разрядный МП i80386DX, содержащий 275 тыс. транзисторов, технология 1,5 мкм, адресуемая физическая память 4 Гб. Появились новые регистры, новые 32-битные операции.

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

    После сброса или подачи напряжения питания МП переходит в реальный режим и работает как очень быстрый i8086, но, по желанию программиста, с 32-мя разрядами. Все действия: адресация, обращение к памяти, обработка прерываний выполняется как в i8086. Второй режим - защищенный, включается загрузкой в регистр управления определенного слова состояния. В этом случае МП работает как i80286 в защищенном режиме. Реализуется многозадачность, защита памяти с помощью четырехуровневого механизма привилегий и ее страничной организации. МП работает как несколько виртуальных процессоров с общей памятью, каждый из которых может быть в режимах i8086, i80286 или i80386.

    В третьем, виртуальном режиме полностью раскрываются преимущества этого процессора. Здесь полностью используются все 32 разряда адреса и возможна работа с виртуальной памятью. Только с появлением i80386 началось бурное внедрение ОС Windows, так как мощность процессоров предыдущих поколений была для Windows недостаточной.

    80386 SX – 1988 г.

    В 1988 г. появился процессор i80386SX, который заполнил промежуток между уже устаревшим процессором i80286 и очень дорогим процессором i80386DX. Замена на материнской плате устаревшего процессора i80286 на i80386DX невозможна из-за большей ширины шины данных последнего. Процессор i80386SX такую замену позволяет. Внутренние процессы в i80386SX происходят также как в i80386DX, но связь с "внешней средой" осуществляется только через 16-разрядную шину. В результате, общение происходит в 2 шага по 16 бит, что замедляет работу примерно на 10%. Другое ограничение процессора i80386SX - 24-разрядная адресная шина,что ограничивает размер оперативной памяти до 16Мб. Вслед за рассмотренным МП i80386SX фирма Intel создала и поставила на рынок процессор i80386SL с тактовой частотой 33 МГц, построенный на КМОП структурах, которые обеспечивают минимальный расход электроэнергии. Благодаря этому стали развиваться персональные компьютеры типа Notebook, работающие от батареи.

    Шестое поколение

    80486 – 1989 г.

    Оно появилось в 1989 г. как МП i80486DX. В отличие от МП предыдущих поколений этот МП не представляет что-то принципиально новое.В нем в одном кристалле были скопированы процессор i80386, сопроцессор i80387 и первичный кэш емкостью 8 Кбайт.

    Примечание.

    Несмотря на доставшуюся от МП i80386 32-разрядную архитектуру, в результате совмещения процессора, сопроцессора и кэша на одном кристалле и других усовершенствований,i80486 при той же тактовой частоте производит вычисления в 3-4 раза быстрее, чем его предшественник.

    Фирма Intel все время совершенствовала этот процессор, и были выпущены МП i80486DX2, в котором внешняя тактовая частота удваивается собственным кварцем микросхемы, и i80486DX4, в котором частота умножается на 3. В этих процессорах все команды, для которых не нужна передача данных на внешнюю шину, выполняются в 2 -3 раза быстрее. Только время, затрачиваемое на доступ к оперативной памяти и более медленная периферия снижают скорость работы. Кроме того, в i80486DX4 кэш память увеличена до 16 Кбайт.

    Поколения Pentium

    Pentium P5 – 1993 г.

    В 1993 г. появился i80586, которому было дано имя Pentium (P5). Это был 32 разрядный процессор с внешней тактовой частотой 66 МГц, построенный по субмикронной технологии с КМОП структурой (0,8 мкм), содержащей 3,1 млн. транзисторов. Pentium имеет два 32-битных адресных пространства (логическое и физическое), 64 - разрядную шину данных, 2 конвейерные линии обработки команд, работающие параллельно. Одновременно выполняются два набора команд. Кэш память объемом 16 Кбайт разделена: 8 Кбайт - кэш команд и 8 Кбайт - кэш данных. Содержится новый блок вычислений с плавающей точкой, в котором операции выполняются в 4-8 раз быстрее, чем в i80486.

    Р54, Pentium Pro – 1994 г.

    В 1994 г. появились процессоры Pentium второго поколения (P54). При почти том же числе транзисторов они выполнялись по технологии 0,6 мкм, что позволило снизить потребляемую мощность. Напряжение питания снижено до 3,3 В. Применено внутреннее умножение частоты. При этом интерфейсные схемы вешней системной шины работают на частотах 50,60,66 МГц, а ядро процессора работает на более высокой частоте (75,90,100,120,133, 150, 166 и 200 МГц). Разделение частот позволяет реализовать достижения технологии изготовления МП, существенно опережающие возможности повышения производительности памяти. Коэффициент умножения (1,5;2;2,5;3)задается комбинацией уровней сигналов на двух управляющих входах. Процессоры с различными значениями f, указанными в маркировке на корпусе, изготавливают по одним и тем же шаблонам. Маркировка частоты наносится после жестких выбраковочных испытаний. В зависимости от астоты, на которой МП полностью прошел выходной контроль.

    Параллельно с Pentium развивался и процессор Pentium Pro. Его главное отличие принципа организации вычисления - динамическое исполнение. При этом внутри процессора инструкции могут исполняться не в том порядке, который предполагает программа. Это повышает производительность без увеличения частоты f. Кроме того, применена архитектура двойной независимой шины, повышающая суммарную пропускную способность. Одна шина - системная, служит для общения ядра с основной памятью и интерфейсными устройствами. Другая предназначена исключительно для обмена со вторичным кэшем объемом 256 Кбайт (512 Кбайт), интегрированным в корпусе МП. Для уменьшения нагрева кристалла предусмотрена возможность мгновенного снижения потребляемой мощности приблизительно в 10 раз путем прекращения тактирования большинства узлов процессора. В это состояние МП переходит по сигналу от внутреннего датчика температуры, а также при выполнении команды HALT.

    Pentium MMX – 1997 г.

    В 1997 г. выпущен процессор Pentium ММХ (Р55С). Технология ММХ представляет собой наиболее существенное улучшение архитектуры процессоров Intel с момента появления i80386. Кристалл Pentium ММХ имеет площадь на 50 % больше чем классический Pentium. Буферные схемы выходных цепей микросхемы работают при напряжении 3,3 В, внутренняя схема - 2,8 В для настольных и 2,45 В для портативных моделей компьютера.

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

    Сущность технологии ММХ состоит в появлении в процессоре 8 новых виртуальных 64-разрядных регистров и 57 новых команд для решения задач мультимедиа. Восемь новых регистров являются виртуальными потому, что физически эти регистры являются регистрами сопроцессора. Таким образом сохраняется совместимость с предыдущими поколениями программ.

    Pentium II – 1997 г.

    В мае 1997 г. на рынке появился Pentium II, изготовленный по 0,3 мкм технологии. Он представляет собой слегка урезанный вариант ядра Pentium Pro с более высокой внутренней тактовой частотой, в которое ввели поддержку ММХ. В этом процессоре применена новая технология - кристалл с ядром процессора и набор кристаллов статической памяти и дополнительных схем, реализующих вторичный кэш, размещены на небольшой печатной плате - картридже. Все кристаллы закрыты общей крышкой и охлаждаются специальным вентилятором.

    Внутренняя тактовая частота 233,266,300 МГц, внешняя осталась 66,6 МГц.

    Процессор имеет дополнительные режимы пониженного энергопотребления:
    1. Sleep ("Спящий режим"), когда он не тактирует свои внутренние узлы, кроме схемы умножителя частоты.
    2. Deep sleep ("Глубокий сон"). Возникает при снятии внешних тактовых импульсов. В этом режиме процессор не выполняет никаких функций и потребляемый ток определяется только токами утечки.

    Pentium III – 1999 г.

    В 1999 г. появился процессор Pentium III с тактовой частотой 600 МГц, содержащий 9,5 млн. транзисторов. По заявлению компании Intel этот процессор позволит получать из Интернет аудио- и видеоинформацию, а также трехмерную графику высочайшего качества. По прогнозам компаний-производителей дальнейшее развитие технологии производства МП будет идти в направлении увеличения плотности транзисторов на кристалле, роста числа слоев металлизации и повышении тактовой частоты, наряду с уменьшением напряжения питания и удельной(на один транзистор) потребляемой электрической и выделяемой тепловой энергии. В настоящее время выпускается процессор Pentium IV тактовая частота которого достигла 3000 МГц.

    Технологический предел линейных размеров транзисторов на кристалле, обусловленный физическими ограничениями, составляет около 0,05 мкм. На пути дальнейшей минимизации кроме физических ограничений имеются и экономические. Для каждого следующего поколения микросхем стоимость технологии удваивается. В 1986 г. i80386 выпускался на заводе стоимостью 200 млн. долларов. В настоящее время завод компании Intel стоит 2,4 млрд. долларов. Следовательно, завод, производящий микросхемы по технологии 0,25 мкм будет стоить 10 млрд.долларов. Возрастают сроки изготовления МП. Так процессор Pentium производится за 6 месяцев, а более новый Pentium Pro - за 9 месяцев. Смена поколений МП происходит каждые 2-3 года. С каждым поколением линейные размеры элементов уменьшаются примерно в 1,5 раза. В 2000 г. ширина проводников составляла 0,2 мкм, а в 2006 г. достигла 0,1 мкм, тактовая частота уже превысила 2000 МГц.

    Вышеприведенные краткие данные о развитии МП на примере продукции фирмы Intel показывают, как стремительно развивается и совершенствуется производство МП. Ни одна отрасль техники не развивается столь быстро. Об этом очень образно выразился основатель фирмы Intel Гордон Мур: "Если бы автомобилестроение развивалось со скоростью полупроводниковой промышленности, то сегодня "Роллс-Ройс" стоил бы 3 доллара, мог бы проехать полмиллиона миль на одном галлоне бензина и было бы дешевле его выбросить, чем платить за парковку".

    В приведенном обзоре рассмотрены процессоры только фирмы Intel. Необходимо отметить, что аналогичный путь развития проходит и технология других фирм, выпускающих процессоры, таких как AMD, Cyrix, Motorola и других. Но ведущим "законодателем мод" в этой борьбе за качество остается Intel.


    9 Микропроцессоры и микроЭВМ в информационно-измерительной аппаратуре

    9.1 Основные функции МП в измерительной аппаратуре

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

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

    МП расширяет измерительные возможности приборов за счет использования косвенных и совокупных измерений. При косвенных измерениях измеряется не искомый параметр, а другие параметры, с которыми искомый связан функциональной зависимостью. Например, мощность может быть определена путем измерения напряжения и сопротивления и рассчитана по формуле P=U 2 /R. При использовании метода совокупных измерений одновременно измеряется несколько одноименных физических величин, при которых искомые значения величин находятся путем решения системы уравнений. МП при этом программируется на реализацию необходимых аналитических зависимостей.


    9.2 Примеры использования МП в измерительной аппаратуре

    9.2.1 Микропроцессорный цифровой частотомер

    Для измерения высоких частот используется прямой метод, в котором выбирается определенный интервал времени и подсчитывается число периодов исследуемого сигнала. Точность измерения повышается с увеличением числа периодов N. На низких частотах это потребовало бы слишком большой интервал времени. Поэтому на низких частотах используется косвенный метод. Ширина временных ворот выбирается кратной периоду исследуемого сигнала qT x , ворота заполняются импульсами генератора известной частоты F сч, и подсчитывается число импульсов n. Оба метода иллюстрирует рис.9-1


    Рис.9-1 Временные диаграммы процесса измерения частоты.

    Здесь:
    а - измеряемый сигнал;
    б - сигнал, преобразованный в последовательность импульсов;
    в - временной интервал при косвенном измерении;
    г - импульсы заполнения при косвенном измерении;
    д - временной интервал при прямом измерении;
    е - пачка импульсов при прямом измерении.

    На рис.9-2 приведена структурная схема прибора для измерения частоты сигнала прямым и косвенным методом под управлением МП, в которой отмечены точки, соответствующие временным диаграммам.


    Рис.9-2

    Прямой метод

    При А 0 =1 реализуется прямой метод измерения. Мультиплексоры выбирают входы х 1 . МП создает временные ворота длительностью Т. Если счетчик в этом интервале насчитал N импульсов, то Т=nT x ,или T=n/F x ,отсюда F x =n/T.

    Косвенный метод

    При А 0 =0 выбираются х 0 входы мультиплексоров, и реализуется косвенный метод измерения. Формирователь временных ворот содержит делитель частоты с коэффициентом пересчета q=2 к, где k выбирается так, чтобы получить число имульсов (график г), обеспечивающее требуемую точность измерения F x . В интервале qT x уложилось n импульсов qT x =nT сч или q/F x =n/F сч, поэтому F x =qF сч /n.


    9.2.2 Широкодиапазонный частотомер

    В нем используется гетеродинный метод понижения частоты измеряемого сигнала. Если смешать измеряемый сигнал F изм с сигналом гетеродина (вспомогательного генератора) F 1 , то в результате образуются сигналы с частотами F изм +nF 1 и F изм -nF 1 . Для понижения частоты используется вариант F изм -nF 1 =F пр, где F пр - промежуточная частота, выделяемая следующим блоком.


    Рис.9-3

    ПСЧ - программируемый синтезатор частоты (гетеродин).
    УПЧ - усилитель промежуточной частоты.
    ЦЧ - цифровой частотомер типа рис.9-2

    При работе МП изменяет F синт до значения F" синт, при котором

    F изм -F" синт =F пр. Тогда F изм =F пр +nF" синт.


    9.2.3 Измерительный генератор с МП управлением

    Наиболее часто используются функциональные генераторы, вырабатывающие сигналы различной формы (треугольные, прямоугольные, синусоидальные и другие) с нормируемыми метрологическими характеристиками. Частотный дипазон таких генераторов 10 -6 Гц - 50*10 6 Гц. На рис.9-4 показана структурная схема такого генератора.


    Рис.9-4

    Здесь БС - программируемый блок счетчиков, ГТИ - программируемый генератор тактовых импульсов.

    После ввода оператором функции f(t) для генерирования сигнала той же формы, МП вычисляет отсчеты f(t i) на интервале одного периода с заданной частотой выборки. Отсчеты записываются в ОЗУ. Выходной сигнал ГТИ поступает на БС, где формируется адрес ОЗУ.


    9.2.4 Цифровые фильтры

    Цифровой фильтр - устройство, осуществляющее пробразование одного дискретного сигнала x n в другой дискретный сигнал y n , причем сами сигналы x n и y n представляют собой двоичные цифровые коды.

    Аналоговый фильтр представляет собой частотно избирательную цепь, осуществляющую некоторое линейное преобразование над непрерывным входным сигналом U 1 (t) в непрерывный выходной сигнал U 2 (t). В отличие от него, цифровой фильтр выполняет преобразование входной цифровой последовательности x(nT) в выходную цифровую последовательность y(nT). Рассмотрим преобразование аналогового фильтра в цифровой на примерах простейших фильтров.

    Простейший аналоговый фильтр ВЧ представляет собой RC-цепь (рис 9-5).


    Рис.9-5

    Определим соотношение между входным и выходным напряжением.

    U 2 (t)=i(t)*R=RC*d(U 1 -U 2)/dt (1)

    Представим U 1 (t) и U 2 (t) соответствующими цифровыми последовательностями U 1 =x(nT) и U 2 =y(nT), тогда:

    Подставив (2) в (1), получим:

    Обозначим

    .

    Полученное выражение определяет алгоритм расчета выходного сигнала фильтра Y n на n-ом шаге квантования в зависимости от его значения на предыдущем n-1 -ом шаге, значений входного сигнала X n , X n -1 и шага дискретизации τ. Определим переходную характеристику фильтра ВЧ.

    Если выбрать шаг дискретизации τ=1, то получим

    X(nT)=1 при n>=0,X(nT)=0 при n<0.

    При более мелком шаге τ=0,125 имеем

    При использовании аналогового фильтра решение его дифференциального уравнения дает

    На рис.90-6 приведены значения выходного сигнала, рассчитанного по формулам (3), (4) и (5) и соответствующие графики.


    Рис.9-6

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

    Простейший аналоговый фильтр НЧ, изображен на рис 9-7.


    Рис 9-7

    Он описывается уравнением:

    Перейдем к приращениям:

    и, окончательно:

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

    В цифровых фильтрах все сводится к операциям умножения на некоторые коэффициенты и сложения. Вышерассмотренные фильтры являются фильтрами первого порядка. Лучшие результаты дают фильтры более высоких порядков, в которых для вычисления выходной величины Y n используются значения х и у, задержанные на несколько шагов.

    Вычисление такого выражения очень просто программируется и выполняется на МП. Задержанные сигналы размещаются в стеке.


    10 Тестирование микропроцессорных систем

    10.1 Тестирование статическими сигналами

    В микропроцессорных системах потоки данных апериодичны, длительности сигналов изменяются, что вызывает большие затруднения при тестировании и диагностике - определении причины появления ошибок. Один из способов преодолеть эти затруднения - тестировать систему в статике. Для МП К580ВМ80 это выполняется следующим образом. МП не впаивается в плату, а устанавливается в панель. При тестировании МП извлекается, и вставляется переходная колодка имитации и индикации сигналов. К выводам адресной шины подключаются тумблеры, к шине данных - тумблеры через схемы с тремя состояниями и светодиоды через логические элементы с открытым коллектором. Набирая тумблерами необходимые адреса и выходные сигналы МП, можно протестировать систему.


    10.2 Автодиагностика микропроцессорных систем

    Автодиагностика - это встроенная диагностика, основанная на использовании внутренних диагностических программ. Эти программы могут быть самозапускаемыми или вызываемыми пользователем системы. Они закладываются при проектировании микропроцессорной системы.


    10.3 Логические анализаторы

    Тестирование статическими сигналами - это медленный и не всегда применимый процесс. Более универсальным является применение специальных приборов - логических анализаторов.


    10.3.1 Анализаторы логических состояний (синхронный режим)

    Они выпускаются 8-, 12-, 16- и 32-х разрядными. Выходная информация выдается в виде таблиц единиц и нулей, восьмеричных или шестнадцатиричных кодов. Анализатор подключается к тестируемой шине, и на табло или дисплей выдается таблица n состояний шины, начиная с заданного состояния, или n предшествующих состояний. Строятся подобные анализаторы по структурной схеме рис.10-1.


    Рис.10-1

    К0-К15 - компараторы входных сигналов;
    R - потенциометр для установки уровня компарирования;
    KC - компаратор слов;
    Кл - клавиатура ввода слова;
    ФУС - формирователь управляющего сигнала;
    Рг0-Рг15 - сдвиговые регистры {модуль 2 глава 7.2} для записи 16-ти значений i-го входа;
    f:n - делитель частоты; БПр - блок преобразования.

    В начале работы логического анализатора на клавиатуре набирается слово, начиная с которого производится анализ. При совпадении кода на выходах К0-К15 и набранного кода КС выдает импульс, под воздействием которого ФУС формирует управляющие сигналы УС1 и УС2. При поступлении каждого тактового импульса ТИ на выходе счетчика - делителя появляется счетный импульс УС1*ТИ. После поступления n тактовых импульсов конъюнктор &2 закрывается, и запись в регистры прекращается. Блок преобразования из n выходных значений регистров Рг0-Рг15 формирует на экране дисплея таблицу, содержащую n строк.


    10.3.2 Анализаторы логических временных диаграмм (асинхронный режим)

    Такие анализаторы сканируют входные сигналы с частотой, значительно превосходящей частоту сигналов. Это позволяет не только определять наличие или отсутствие сигнала в каждом тактовом периоде, но и исследовать динамику изменения, обнаруживать искажения фронта, кратковременные пики, провалы и т.д. Анализаторы асинхронного режима тактируются значительно большей внутренней частотой. Выпускаются приборы с f=20, 50, 100, 200 МГц. В них применяются дополнительные триггерные схемы фиксации ложных импульсов до 5 нс, что позволяет значительно легче обнаруживать такие импульсы.


    10.4 Внутрисхемные эмуляторы

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

    Внутрисхемный эмулятор может работать в режимах опроса состояния различных узлов МПС, пошагового исполнения программы пользователя. С его помощью проверяются ядро МПС, магистрали, выполняются тесты ПЗУ и ОЗУ. Наилучший вариант тестирования - объединение методов внутрисхемной эмуляции и сигнатурного анализа.


    10.5 Сигнатурный анализ

    Сигнатура - это число состоящее из 4-х знаков шестнадцатиричного кода и условно, но однозначно характеризующее определенный узел контролируемого устройства. Сигнатура определяется на заводе - изготовителе прибора и указывается в отдельных точках схемы (рис.10-2) или в инструкции к прибору.

    Рис.10-2 Сигнатуры, указываемые на схеме устройства

    Сигнатура формируется из испытательного сигнала (тест-последовательности), вырабатываемого МП. На вход какого-либо узла подаетя тест-последовательность, состоящая не менее чем из 16 нулей и единиц. С выхода узла (контролируемой точки) снимается уже преобразованная последовательность и подается на вход сигнатурного анализатора. Сигнатурный анализатор содержит блок формирования сигнатуры БФС (рис.10-3), состоящий из 16 триггеров, связанных между собой через сумматоры по модулю 2. При работе анализатора выполняется операция деления полиномов. Входная последовательность образует делимое, схема БФС - делитель, а результат, зафиксированный в триггерах после окончания тест-последовательности, представляет собой остаток от деления. Если тест-последовательности на заводе-изготовителе и у потребителя, проводящего тест, одинаковы, а также одинаковые БФС, то при проверке исправного блока получаемая сигнатура совпадает с сигнатурой, указанной в документации.


    Рис.10-3

    Вероятность получения одинаковых сигнатур для двух двоичных последовательностей, отличающихся друг от друга одним битом, равна нулю, а отличающихся несколькими ошибочными битами равна 0,00001526. Иначе говоря, достоверность обнаружения ошибки >=99,998%. Проверка отдельных узлов устройства сводится к определению сигнатуры на выходе узла. Если она совпадает с заводской - узел исправен.


    11 Обеспечение помехозащищенности микропроцессорных систем

    11.1 Подавление помех по первичной питающей сети

    При разработке микропроцессорных систем необходимо обращать особое внимание на защиту от помех, которые приводят к сбоям в работе. Значительная часть помех проникает из питающей сети. МПС, хорошо отлаженная в лабораторных условиях,может оказаться совершенно неработоспособной в производственных условиях из-за помех. Помехи возникают при резких изменениях сетевой нагрузки, например, при включении мощного электродвигателя, печи, сварочного аппарата. Поэтому следует по возможности осуществлять развязку от таких источников помех по сети. На рис.11-1 показаны различные варианты подключения устройств,в состав которых входит микропроцессор.Найлучший вариант-это питание МПС и потребителей,создающих мощные импульсы тока.(двигателей).


    Рис.11-1

    Для подавления кратковременных помех устанавливается сетевой фильтр рис.11-2.


    Рис.11-2

    В некоторых случях необходимо вводить электростатический экран (например,обычную водопроводную трубу, соединенную с заземленным корпусом щита питания) для прокладки внутри него сетевых проводов.


    11.2 Подавление сетевых помех в блоке питания

    Несмотря на правильное подключение, электростатический экран и наличие сетевого фильтра, помехи все же частично проникают на сетевой ввод прибора. За счет емкостной связи между сетевой и вторичной обмотками имульсные помехи проходят через силовой трансформатор и попадают на выпрямитель и далее.

    Методы подавления:
    1. Первичная и вторичная обмотки силового трансформатора располагаются на разных катушках. Это значительно уменьшает межобмоточную емкостную связь, но снижает кпд трансформатора.
    2. Обмотки располагаются на одной катушке, но разделяются экраном из медной фольги толщиной не менее 0,2 мм, который соединяется с корпусной землей. Экран ни в коем случае не должен быть короткозамкнутым!
    3. Первичная обмотка полностью заключается в экран (не короткозамкнутый), который заземляется.
    4. Первичная и вторичная обмотки заключаются в отдельные экраны, и между ними размещается разделительный экран. Все экраны заземляются. Параллельно первичной обмотке подключается цепочка из последовательно соединенных С=0,1 мкФ и R=100 Ом для гашения энергии в момент выключения.

    11.3 Правила заземления

    В конструктивно-законченных блоках всегда имеются два типа шин «земли» - корпусная и схемная.

    Корпусная шина по правилам техники безопасности в обязательном порядке подключается к шине заземления, проложенной в помещении. Схемная шина («земля» схемы прибора) не должна соединяться с корпусной, а для нее должен быть отдельный зажим, изолированный от корпуса. Если в систему входит несколько устройств, связанных информационными линиями, то далеко не безразлично, как их корпусные и схемные шины «земли» подключены к шине «земли» помещения.

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

    Наименьшие взаимные помехи получаются в том случае, когда схемные шины «земли» объединяются в одной точке, а корпусные - в другой точке (рис.11-3). Расстояние между точками подбирается экспериментально. В некоторых случаях точка А может не подключаться к шине земли помещения.


    Рис.11-3


    11.4 Подавление помех по цепям вторичного электропитания

    В моменты переключения интегральных схем и в двухтактных выходных схемах возникают большие броски тока. Из-за конечной индуктивности шин питания на платах они вызывают импульсы напряжения. Если шины тонкие, и нет развязывающих емкостей, то на «дальнем» конце шины возникают импульсы с амплитудой до 2В! Уровень таких импульсов соответствует логической единице, что вызывает сбои. Для устранения этого эффекта необходимо выполнить следующие рекомендации:
    1. Шины питания и земли на платах должны иметь минимальную индуктивность. Для этого им придается решетчатая структура, покрывающая всю свободную поверхность платы.
    2. Подключение внешних шин питания и земли к плате производится через несколько контактов, равномерно распределенных на разъеме.
    3. Производится подавление помех вблизи мест их возникновения. Для этого около каждой ТТЛ схемы устанавливается конденсатор С=0,02 мкФ для устранения высокочастотных помех, и на группу из 10-15 схем дополнительно устанавливается электролитический конденсатор С=100 мкФ.

    6.3.3. Программирование учебных задач

    Начнем программирование учебных задач с написания программы, которая считывает состояние кнопки SB1 и выводит его на светодиодный индикатор VD2 так, что не нажатому состоянию кнопки (высокому уровню сигнала на входе RA4 ) соответствует светящееся состояние светодиода, и наоборот.

    Листинг 12.2. (html , txt )

    Листинг 12.2. (html , txt )

    ;основная программа

    LOOP

    CALL SB1_VD2 ;вызов подпрограммы SB1_VD2

    ;повторения процесса

    GET_RA ;подпрограмма чтения состояния

    ;порта A

    SB1_VD2 ;подпрограмма вывода на светодиод

    ;VD2 состояния кнопки SB1 (разряда 4

    ;регистра TEMPA)

    GOTO P0 ;перейти на P0

    ;TEMPA,4=0 (кнопка нажата)

    GOTO P1 ;перейти на P1

    BCF VD2 ;погасить светодиод

    RETURN

    Листинг 12.2.

    Основная программа содержит замкнутый цикл LOOP – GOTO LOOP , необходимый для периодического повторения цикла контроля состояния кнопки и вывода его на индикатор. Команда CLRWDT исключает влияние возможного сброса по переполнению сторожевого таймера на работу программы. Две следующие команды осуществляют вызов подпрограмм GET_RA и SB1_VD2 . Первая из них (GET_RA ) вначале считывает текущее состояние порта A , которое помещается в рабочий регистр W . Поскольку рабочий регистр может потребоваться при исполнении других команд, его состояние записывается в регистр TEMPA , используемый здесь для временного хранения состояния порта A . Таким образом, после возврата из подпрограммы GET_RA в разряде 4 регистра TEMPA содержится информация о состоянии кнопки SB1 : "1" – не нажата, "0" – нажата.

    Подпрограмма SB1_VD2 TEMPA и, в зависимости от него, зажигает или гасит светодиод. В системе команд МК PIC16F84 нет команд условного перехода, поэтому для организации проверки того или иного условия используются команды, позволяющие пропустить выполнение следующей команды программы, в зависимости от состояния определенного бита в заданном регистре (BTFSS и BTFSC ). В частности, команда BTFSS TEMP,4 пропускает исполнение команды GOTO P0 , если TEMP,4 = 1 (кнопка не нажата). Тем самым реализуется команда BSF VD2 , которая зажигает светодиод VD2 . Затем анализируется условие TEMP,4 = 0 (кнопка нажата) и, если оно имеет место, светодиод гасится.

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

    Рассмотрим более сложный вариант программы, предусматривающий зажигание светодиода VD2 только при следующем состоянии тумблеров и кнопок макета: SA1 = 1 , SA2 = 1 , SB1 = 1 и SB2 = 0 .

    Листинг 12.3. (html , txt )

    Листинг 12.3. (html , txt )

    ;основная программа

    LOOP

    CLRWDT ;сброс сторожевого таймера

    CALL GET_RA ; вызов подпрограммы GET_RA

    CALL GET_RB ; вызов подпрограммы GET_RB

    CALL ZAG_1110 ; вызов подпрограммы ZAG_1110

    GOTO LOOP ;переход к метке LOOP для

    ;повторения процесса

    GET_RB ;подпрограмма чтения состояния

    ;порта B

    MOVF PORTB,W ;чтение состояния порта B в W

    MOVWF TEMPB ;пересылка W в TEMPB

    RETURN

    ZAG_1110 ;зажигает светодиод VD2 только при

    ;следующем состоянии тумблеров и

    ;кнопок макета:

    ;SA1 = SA2 = SB1 = 1 и SB2 = 0

    BTFSS TEMPA,2 ;пропустить команду, если

    GOTO P0 ;TEMPA,2=1

    BTFSS TEMPA,3 ;пропустить команду, если

    GOTO P0 ;TEMPA,3=1

    BTFSS TEMPA,4 ;пропустить команду, если

    GOTO P0 ;TEMPA,4=1

    BTFSC TEMPB,0 ;пропустить команду, если

    GOTO P0 ;TEMPB,0=0

    BSF VD2 ;зажечь светодиод VD2

    GOTO P1

    BCF VD2 ;погасить светодиод VD2

    RETURN

    INCLUDE GET_RA.ASM

    Листинг 12.3.

    Подпрограммы GET_RA и GET_RB помещают в регистры TEMPA и TEMPB текущие состояния портов A и B , соответственно. Подпрограмма ZAG_1110 анализирует состояния разрядов 2,3 и 4 регистра TEMPA и разряда 0 регистра TEMPB , и при условии TEMPA,2,3,4 = 1,1,1 и TEMPB,0 = 0 , зажигает светодиод VD2 . При невыполнении хотя бы одного из этих условий светодиод гасится.

    Использование директивы INCLUDE GET_PORTA.ASM позволяет включать уже отлаженные модули подпрограмм в текущую программу. Для того чтобы этой возможностью можно было воспользоваться, необходимо сохранять отлаженные модули в виде отдельных ассемблерных файлов.

    Попробуем теперь использовать семисегментный индикатор для контроля состояния тумблеров макета. Вначале напишем программу, которая выводит на индикатор HL семисегментное изображение любого двоичного числа от 0b до 1111b в шестнадцатиричном представлении.

    Листинг 12.4. (html , txt )

    Листинг 12.4. (html , txt )

    ;основная программа

    LOOP

    CLRWDT ;сброс сторожевого таймера

    MOVLW 0x0A ;пересылка константы 0A в W

    GOTO LOOP ;переход к метке LOOP для

    ;повторения процесса

    SEV_SEG ;подпрограмма обслуживания

    ;семисегментного индикатора

    ANDLW 0x0F ;маскирование 4-х младших разрядов

    ;W и обнуление 4-х старших

    ADDWF PCL,F ;сложение W с PCL и пересылка

    ;результата в PCL

    RETLW 0x80 ;возврат из подпрограммы с 80 в W

    RETLW 0xF2 ;возврат из подпрограммы с F2 в W

    RETLW 0x48 ;возврат из подпрограммы с 48 в W

    RETLW 0x60 ;возврат из подпрограммы с 60 в W

    RETLW 0x32 ;возврат из подпрограммы с 32 в W

    RETLW 0x25 ;возврат из подпрограммы с 25 в W

    RETLW 0x04 ;возврат из подпрограммы с 04 в W

    RETLW 0xF0 ;возврат из подпрограммы с F0 в W

    RETLW 0x00 ;возврат из подпрограммы с 00 в W

    RETLW 0x20 ;возврат из подпрограммы с 20 в W

    RETLW 0x10 ;возврат из подпрограммы с 10 в W

    RETLW 0x06 ;возврат из подпрограммы с 06 в W

    RETLW 0x8C ;возврат из подпрограммы с 8C в W

    RETLW 0x42 ;возврат из подпрограммы с 42 в W

    RETLW 0x0C ;возврат из подпрограммы с 0C в W

    RETLW 0x1C ;возврат из подпрограммы с 1C в W

    Листинг 12.4.

    Программа начинает свою работу с пересылки константы 0x0A в рабочий регистр W . Затем производится вызов подпрограммы обслуживания семисегментного индикатора SEV_SEG . Работа подпрограммы SEV_SEG начинается с маскирования 4-х младших разрядов W и обнуления 4-х старших. Тем самым из анализа исключаются старшие разряды передаваемого из рабочего регистра W числа. Затем маскированное содержимое регистра W добавляется к текущему состоянию младшего байта счетчика команд PCL , и результат помещается в PCL . Таким образом, производится дополнительное смещение счетчика команд на величину, которая была передана в рабочем регистре. Например, если было W=0 , то содержимое счетчика команд не изменится, и будет выполнена следующая команда RETLW 0x80 0x80 = B"1000000" в регистр W . Если, как было в при веденной программе, W=0A , то к содержимому PCL будет добавлено число 0x0A , и произойдет дополнительное смещение на 10 шагов. В результате будет выполнена команда RETLW 0x10 , которая вызовет возврат из подпрограммы с записью 0x10 = B"0001000" в регистр W .

    После возврата из подпрограммы производится пересылка W в PORTB и отображение его состояния на семисегментном индикаторе HL . В частности, если W = 0 , то при выводе 1000000b на порт B семисегментный индикатор покажет 0 , а при W = A покажет A .Таким образом, может быть отображено любое 4-разрядное двоичное число.

    Метод прямого управления счетчиком команд, использованный в подпрограмме SEV_SEG , может применяться для реализации табличной конвертации чисел. При этом необходимо иметь в виду, что данный метод не позволяет конвертировать более 256 значений в одной таблице. Кроме того, программа табличной конвертации должна целиком располагаться внутри 256-байтного блока во избежание переполнения младшего байта счетчика команд.

    Используя подпрограмму SEV_SEG , напишем теперь программу, которая читает состояния тумблеров SA1 и SA2 и выводит на индикатор соответствующее число.

    Листинг 12.5. (html , txt )

    Листинг 12.5. (html , txt )

    ;основная программа

    LOOP

    CLRWDT ;сброс сторожевого таймера

    CALL GET_RA ; вызов подпрограммы GET_RA

    RRF TEMPA,F ;сдвиг вправо на один разряд

    ;через перенос

    RRF TEMPA,W ;сдвиг вправо на один разряд

    ;через перенос

    ANDLW 0x03 ;маска на два младших разряда

    CALL SEV_SEG ; вызов подпрограммы SEVEN_SEG

    MOVWF PORTB ; пересылка W в PORTB

    GOTO LOOP ;переход к метке LOOP для

    ;повторения процесса

    INCLUDE GET_RA.ASM

    INCLUDE SEV_SEG.ASM

    Листинг 12.5.

    Подпрограмма GET_RA помещает в регистр TEMPA текущее состояние порта A . Таким образом, в разрядах 2 и 3 регистра TEMPA хранится текущее состояние тумблеров SA1 и SA2 . Для того чтобы биты состояния тумблеров заняли позиции 0 и 1 регистра TEMPA , производится два сдвига вправо через перенос, причем результат второго сдвига помещается в регистр W . Затем накладывается маска на два младших разряда рабочего регистра и производится вызов подпрограммы SEV_SEG . После выхода из подпрограммы результат подается на порт B и отображается на индикаторе.

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

    Листинг 12.6. (html , txt )

    Листинг 12.6. (html , txt )

    ;основная программа

    MOVLW 0xL ;пересылка константы H"L" в W

    CALL DELAY ;вызов подпрограммы DELAY

    DELAY ;подпрограмма формирования

    ;задержки времени

    LOOPD

    RETURN ;возврат из подпрограммы

    Листинг 12.6.

    Основная программа производит вызов подпрограммы DELAY с некоторой константой L в рабочем регистре W , определяющей число внутренних циклов подпрограммы. Подпрограмма DELAY начинает свою работу с загрузки содержимого рабочего регистра в регистр пользователя COUNT1 . Команда DECFSZ COUNT1,F уменьшает на единицу содержимое регистра COUNT1 и проверяет его на равенство нулю. Нулевое состояние регистра COUNT1 приводит к выходу из цикла и возврату из подпрограммы. Для исполнения каждого внутреннего цикла требуется три машинных цикла МК (1 цикл на исполнение команды DECFSZ при ненулевом результате и 2 цикла на каждую команду GOTO ). Выход из подпрограммы DELAY потребует 4-х циклов (2 цикла на исполнение команды DECFSZ при нулевом результате и 2 цикла на RETURN ). Если добавить к этому еще 4 цикла, необходимых для загрузки константы в рабочий регистр, вызова подпрограммы и загрузки регистра пользователя COUNT1 , то общее время исполнения подпрограммы DELAY (задержка) составит

    TD = 4 + 3*(L – 1) + 4 = 5 + 3*L циклов,

    где L – константа, переданная через рабочий регистр в подпрограмму DELAY .

    L = H"00" = .0 максимальный формируемый интервал времени составит 1,55 мс. Такой результат связан с тем, что команда DECFSZ сначала декрементирует содержимое регистра (H"00" – 1 = H"FF" ), а затем уже анализирует результат.

    Минимальный формируемый интервал времени составит при тех же условиях 5 циклов или 10 мкс. Для получения такого интервала необходимо перед вызовом подпрограммы DELAY загрузить в рабочий регистр число 0x01 .

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

    Листинг 12.7. (html , txt )

    Листинг 12.7. (html , txt )

    DELAY_C ;подпрограмма формирования

    ;задержки времени (вариант C)

    LOOPD

    NOP ;пустая команда

    GOTO LOOPD ;повторение цикла H"L" раз

    RETURN ;возврат из подпрограммы

    Листинг 12.7.

    Общее время исполнения подпрограммы DELAY_C , включая ее вызов, составит

    TD = 4 + 4*(L – 1) + 4 = 4 + 4*L циклов.

    При тактовой частоте fosc = 2МГц и загрузке константы L = H'F9' = .249 формируемый интервал времени составит ровно 2 мс. Уменьшение константы на единицу уменьшает формируемый временной интервал на 8 мкс. В частности, при L = .124 образуется задержка в 1 мс.

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

    Листинг 12.8. (html , txt )

    Листинг 12.8. (html , txt )

    ;основная программа

    MOVLW 0xL ;пересылка константы H'L' в W

    CALL DELAY_D ;вызов подпрограммы DELAY_D

    DELAY_D ;подпрограмма формирования

    ;большой задержки времени (вариант D)

    LOOPD

    CLRWDT ;сброс сторожевого таймера

    RETURN ;возврат из подпрограммы

    Листинг 12.8.

    DELAY_D составляет 3*256 + 4

    TD = 5 + (3*256 + 4)*L циклов.

    При тактовой частоте fosc = 2МГц время цикла равно tц = 2 мкс, поэтому при загрузке L = H'00' = .0 максимальный формируемый интервал времени составит около 0,4 с.

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

    Интервал времени 0,4 с не совсем удобен для получения задержек времени, кратных секунде, поэтому рассмотрим еще один вариант подпрограммы формирования больших задержек времени с дополнительной командой NOP во внутреннем цикле.

    Листинг 12.9. (html , txt )

    Листинг 12.9. (html , txt )

    DELAY_E ;подпрограмма формирования

    ;большой задержки времени (вариант E)

    CLRF COUNT1 ;сброс содержимого регистра COUNT1

    LOOPD

    NOP ;пустая команда

    GOTO LOOPD ;повторение цикла 256 раз

    CLRWDT ;сброс сторожевого таймера

    GOTO LOOPD ;повторение цикла H'L' раз

    RETURN ;возврат из подпрограммы

    Листинг 12.9.

    Время исполнения внутреннего цикла подпрограммы DELAY_E составляет 4*256 + 4 машинных циклов МК, поэтому общая задержка составит

    TD = 5 + (4*256 + 4)*L циклов.

    При тактовой частоте fosc = 2МГц и при загрузке L = H'F3' = .243 формируемый интервал времени составит около 0,5 с при погрешности не более 0,2%. Если необходима более высокая точность, можно вставить необходимое количество пустых операций во внешний цикл формирования задержки.

    Рассмотрим далее несколько программ с использованием подпрограмм формирования задержки времени. Начнем с написания программы, которая подает звуковой сигнал на динамик BA1 при нажатии на кнопку SB1 . Динамик будет звучать только в том случае, если на выход RA0 будет подан периодически изменяющийся сигнал. Для того чтобы звук был хорошо слышен, его частота должна находиться вблизи максимума слышимости человеческого уха. Выберем частоту звучания равной 1 КГц, что соответствует периоду следования импульсов сигнала 1 мс.

    Листинг 12.10. (html , txt )

    Листинг 12.10. (html , txt )

    ;основная программа

    LOOP

    CLRWDT ;сброс сторожевого таймера

    CALL GET _ RA ;вызов подпрограммы GET _ PORTA

    CALL SB1_BA1 ;вызов подпрограммы SB1_BA1

    GOTO LOOP ;переход к метке LOOP для

    ;повторения процесса

    SB1_BA1 ;подпрограмма подачи звука на

    ;динамик BA1 при нажатии на кнопку

    ;SB1

    BTFSC TEMPA,4 ;пропустить команду, если

    ;TEMPA,4=0 (кнопка нажата)

    GOTO B0 ;перейти на B0

    BSF BA1 ;подача высокого уровня на RA0

    ;H'3E' = .62 в W

    BCF BA1 ;подача низкого уровня на RA0

    MOVLW 0x3E ;пересылка константы

    ;H'3E' = .62 в W

    CALL DELAY_C ;вызов подпрограммы DELAY_C

    RETURN

    INCLUDE GET_RA.ASM

    INCLUDE DELAY_C.ASM

    Листинг 12.10.

    Как и раньше, подпрограмма GET_RA считывает текущее состояние порта A, которое затем передается в регистр TEMPA . Подпрограмма SB1_BA1 анализирует состояние разряда 4 регистра TEMPA и, в зависимости от результата, озвучивает динамик BA1 или нет. Необходимая выдержка линии RA0 в единичном и нулевом состояниях обеспечивается подпрограммой DELAY_C с параметром L = H'3E' = .62 . Это соответствует времени задержки около 0,5 мс, что и дает в результате необходимую частоту следования сигнала 1 Кгц.

    Рассмотрим далее программу, которая заставляет мигать светодиод VD2 при нажатии на кнопку SB1 . Для того чтобы мигания были хорошо видны, выберем их частоту равной 1 Гц.

    Листинг 12.11. (html , txt )

    Листинг 12.11. (html , txt )

    ;основная программа

    LOOP

    CLRWDT ;сброс сторожевого таймера

    CALL GET_RA ; вызов подпрограммы GET_RA

    CALL SB1_VD2M ;вызов подпрограммы

    ;SB1_VD2M

    GOTO LOOP ;переход к метке LOOP для

    ;повторения процесса

    SB1_VD2M ;подпрограмма мигания светодиода

    ;VD2 при нажатии на кнопку SB1

    BTFSC TEMPA,4 ;пропустить команду, если

    ;TEMPA,4=0 (кнопка нажата)

    GOTO V0 ;перейти на V0

    BSF VD2 ;зажечь светодиод VD2

    ;H'F3' = .243 в W

    BCF VD2 ;погасить светодиод

    MOVLW 0xF3 ;пересылка константы

    ;H'F3' = .243 в W

    CALL DELAY_E ;вызов подпрограммы DELAY_E

    BTFSS TEMPA,4 ;пропустить команду, если

    ;TEMPA,4=1 (кнопка не нажата)

    GOTO V1 ;перейти на V1

    BCF VD2 ;погасить светодиод

    RETURN

    INCLUDE GET_RA.ASM

    INCLUDE DELAY_E.ASM

    Листинг 12.11.

    Программа работает почти так же, как и предыдущая. Первое отличие заключается в том, что светодиод принудительно гасится при не нажатой кнопке. Второе отличие заключается в величине интервала времени, который составляет здесь 0,5 с и формируется подпрограммой DELAY_E .

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

    Аппаратные способы борьбы с "дребезгом" контактов основаны на использовании RS-триггеров, одновибраторов или триггеров Шмитта. В устройствах на основе МК подавление "дребезга" контактов обычно осуществляется программными способами, которые основаны на повторном считывании состояния линии порта через определенное время.

    В качестве примера рассмотрим "бездребезговый" вариант подпрограммы чтения состояния порта A .

    Листинг 12.12. (html , txt )

    Листинг 12.12. (html , txt )

    GET_RAD ;подпрограмма чтения состояния

    ;порта A в регистр TEMPA

    ;с подавлением "дребезжания"

    MOVF PORTA,W ;чтение состояния порта A в W

    ANDLW 0x1C ;наложение маски b'00011100'

    ;на неиспользуемые биты W

    MOVWF TEMPA ;пересылка W в TEMPA

    CLRWDT ;сброс сторожевого таймера WDT

    MOVLW 0x0A ;пересылка константы

    ;H'0A' = .10 в W

    CALL DELAY_E ; вызов подпрограммы DELAY_E

    MOVF PORTA,W ;чтение состояния порта A в W

    ANDLW 0x1C ;наложение на W маски b'00011100'

    SUBWF TEMPA,W ;вычитание W из TEMPA

    BTFSS Z ;пропустить команду, если результат

    ;нулевой

    GOTO DD ;перейти на метку DD

    RETURN

    INCLUDE DELAY_E.ASM

    Листинг 12.12.

    Суть работы подпрограммы заключается в повторном чтении состояния порта A спустя некоторое время после предыдущего и сравнении его с прежним значением. Константа H'0A' = .10 , пересылаемая в регистр W перед вызовом подпрограммы DELAY_E , обеспечивает значение задержки времени около 20 мс - этого, как правило, достаточно для завершения переходных процессов при переключении механических коммутаторов. Маскирование неиспользуемых разрядов порта повышает надежность работы подпрограммы. Сброс сторожевого таймера перед вызовом подпрограммы задержки нужен для исключения сброса МК между двумя процедурами опроса порта A .

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

    Листинг 12.13. (html , txt )

    Листинг 12.13. (html , txt )

    ;основная программа

    CLRF COUNT3 ;сброс счетчика нажатий

    LOOP

    CLRWDT ;сброс сторожевого таймера

    CALL GET_RAD ;вызов подпрограммы GET_RAD

    BTFSC TEMPA,4 ;проверка нажатия SB1

    GOTO LOOP ;если не нажата – возврат

    ;на метку LOOP

    INCF COUNT3,F ;инкремент счетчика

    MOVF COUNT3,W ;пересылка содержимого

    ;счетчика в рабочий регистр

    CALL SEV_SEG ;вызов подпрограммы SEV_SEG

    MOVWF PORTB ;пересылка W в PORTB

    TEST

    CALL GET_RAD ; вызов подпрограммы GET_RAD

    BTFSS TEMPA,4 ;проверка нажатия SB1

    GOTO TEST ;если еще нажата – возврат

    ;на метку TEST

    GOTO LOOP ;возврат на метку LOOP

    INCLUDE GET_RAD.ASM

    INCLUDE SEV_SEG.ASM

    Листинг 12.13.

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

    Коммуникация, связь, радиоэлектроника и цифровые приборы

    Микропроцессор МП это обрабатывающее и управляющее устройство способное под программным управлением выполнять обработку информации принятие решений ввод и вывод информации и выполненное в виде одной или нескольких БИС. используемое для временного хранения информации в процессе работы МП. В отличие от ПЗУ в ОЗУ возможно как считывание так и запись информации по сигналам Чт и Зап в ячейку адрес которой находится на ША. По сигналу Вв ввод на ШУ происходит передача информации от внешнего устройства на ШД а по сигналу Выв вывод...

    Лекция 12

    Микропроцессорная техника

    1 Микропроцессоры и микропроцессорные комплекты

    1.1 Определение микропроцессора

    В начале 70-х годов успехи технологии в микроэлектронике привели к созданию новой элементной базы электроники - микроэлектронных больших интегральных схем (БИС) {модуль 1 глава 1.6.3}. По степени интеграции (количеству активных элементов: диодов и транзисторов) интегральные схемы (ИС) условно подразделяются на ИС малой степени интеграции - до 100 активных элементов, средней степени интеграции (СИС) - до 1000 активных элементов, БИС - свыше 1000 активных элементов, СБИС - свыше 10000 элементов. Выпуск новой БИС при современном уровне автоматизации проектирования - очень сложный и дорогой процесс из-за больших первоначальных затрат на разработку ее логической структуры и топологии, изготовления фотошаблонов и технологической подготовки производства. Это 0,5-1 год работы большого коллектива. Поэтому изготовление БИС экономически оправдано при их выпуске, исчисляемом десятками-сотнями тысяч штук в год. Выпускать специализированные БИС для каждого конкретного применения практически не реально. В результате поиска областей массового применения микросхем с высоким уровнем интеграции их разработчиками была предложена идея создания одной универсальной БИС или некоторого набора БИС, специализация которых для каждого конкретного случая применения достигается не схемно, а программно. Так появились стандартные универсальные элементы - микропроцессорные БИС со структурой, аналогичной структуре ЭВМ.

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

    1.2 Технология изготовления МП БИС

    Существуют два вида технологии изготовления БИС: биполярная - основанная на применении биполярных транзисторов и МОП (металл - окисел - полупроводник) - технология, основанная на использовании полевых транзисторов.

    БИС, изготавливаемые по биполярной технологии, различаются по схематическим способам реализации. В основном применяется транзисторно-транзисторная логика с диодами Шоттки (ТТЛШ) и эмиттерно-связанная логика (ЭСЛ). В логике ТТЛШ используются биполярные n-p-n транзисторы, дополненные диодами Шоттки (ДШ). ДШ представляет собой выпрямительный контакт на границе металл-полупроводник Al-nSi. В металле и кремнии основные носители одного и того же типа - электроны, а неосновных носителей нет. ДШ открываются при U=0,1-0,3 В и имеют крутую вольт-амперную характеристику. Они подключаются параллельно коллекторному переходу n-p-n транзистора и образуют транзистор Шоттки, изготавливаемый в едином технологическом процессе. Применение ДШ значительно повышает быстродействие транзистора, так как устраняется насыщение коллекторного перехода и нет рассасывания зарядов в нем.

    В МОП технологии {модуль 1 глава 1.5.5} можно выделить 3 схемотехнических способа реализации БИС: МОП с проводимостью канала р - или n -типа (р -МОП или n -МОП) и комплементарная МОП технология (КМОП). КМОП технология использует пары МОП транзисторов n -типа и р -типа, соединенные последовательно (рис.1-1). При любом сигнале на входе один из транзисторов открыт, другой - закрыт. Поэтому ток, протекающий по цепи, очень мал. КМОП БИС имеют наименьшую потребляемую мощность по сравнению с другими видами.

    По МОП технологии первые МП БИС (р-МОП) были изготовлены в 1971 г. В них используется управление р -каналом, где основными носителями зарядов являются дырки. Поэтому быстродействие БИС сравнительно невелико. Позднее появились БИС типа n-МОП и КМОП, которые и сейчас широко применяются.

    ЭСЛ логика основана на применении дифференциального усилителя на двух транзисторах с соединенными эмиттерами (рис.1-2.). Она обеспечивает самое большое быстродействие, но потребляет большую мощность.

    Основные данные для некоторых МП БИС приведены в таблице.1

    1.3 Структура микропроцессорных систем

    Все многообразие МПС основано на применении МП двух типов:

    а) однокристальных МП с фиксированной разрядностью слова и с фиксированной системой команд (с жестким управлением);

    Б) многокристальных (секционных) МП с изменяемой разрядностью слова и с микропрограммным управлением.

    Рассмотрим особенности их структуры.

    1.3.1 Структура МПС на основе МП с жестким управлением

    Рис.1-3

    Связь отдельных элементов МПС между собой и с внешними устройствами осуществляется с помощью трех шин. Каждая шина представляет собой магистраль, состоящую из нескольких (8-16) линий.

    ША - шина адреса, по которой передаются адреса ячеек памяти и внешних устройств;

    ШД - шина данных, по которой информация вводится в МП или выводится из него;

    ШУ - шина управления, по которой передаются управляющи сигналы, обеспечивающие нормальное функционирование МПС;

    МП - центральный элемент, управляющий функционированием всех остальных элементов; обращается ко всем остальным элементам системы, выставляя на ША их адрес;

    Г - генератор тактовых импульсов, синхронизирующий работу МП;

    ПЗУ - постоянное запоминающее устройство {модуль 2 глава 9.1}, в котором записаны команды программы, выполняемой МП, и константы, необходимые для работы. По ША поступает адрес ячейки памяти, в которой храниться необходимая команда или константа, и по сигналу Чт (чтение) от МП на ШД появляется информация, хранимая в данной ячейке;

    ОЗУ - оперативное запоминающее устройство {модуль 2 глава 9.2}, используемое для временного хранения информации в процессе работы МП. В отличие от ПЗУ, в ОЗУ возможно как считывание, так и запись информации (по сигналам Чт и Зап) в ячейку, адрес которой находится на ША. В простейших МПС ОЗУ может отсутствовать, и его роль выполняют внутренние регистры общего назначения (РОН) МП;

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

    1.3.2 Структура МПС на основе МП с микропрограммным управлением

    МП с жестким управлением собирается из n отдельных БИС секций центрального процессорного элемента ЦПЭ, каждая из которых обрабатывает 2 (4, 8, 16) разрядов данных. При этим получается центральный процессор, имеющий 2n (или 4n, 8n, 16n) разрядов. ЦПЭ выполняет самые простые действия - микрооперации при подаче на управляющие входы приказов - микрокоманд (МК). Для выполнения команд, аналогичных командам МП с жестким управлением, требуется до 10-15 микроопераций и столько же микрокоманд. Организация команд из имеющихся микрокоманд предоставляется пользователю.

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

    2 Микропроцессор

    2.1 Структура МП К580ВМ80

    Рассматриваемая БИС является однокристальным МП, выполненным на основе n-МОП технологии. Предназначена для построения вычислительных устройств, контроллеров, микро-ЭВМ. Разрядность МП - 8 бит, тактовая частота 2 МГц, время выполнения команды 2-9 мкс, напряжение питания +12,+5 и -5 В, потребляемая мощность 0,75 Вт. На рисунке приведена его структурная схема.

    2.1.1 Основные элементы МП

    Обмен информацией осуществляется через восьмиразрядный буферный регистр {модуль 2 глава 7} БД, подключенный к внешней и внутренней ШД МП.РК - регистр команды. В него записывается код команды и хранится в течение времени ее выполнения.ДшК - дешифратор команды, выдает сигналы на устройство управления УУ и схему выбора регистров СВР.

    СВР - схема выбора регистров. Содержит: 6 программно доступных регистров общего назначения (РОН) B, C, D, E, H, L (существуют команды, в которых они рассматриваются парами B- B,C; D - D,E; H - H,L);2 программно недоступных регистра W и Z, предназначенных для хранения второго и третьего байта команды (первый байт всегда храниться в РК);

    М – мультиплексор {модуль 2 глава 5.2}, связывающий внутреннюю ШД с регистрами W, Z;

    ПС - 16 разрядный программный счетчик, позволяющий МП выполнять программы, содержащие до 216 = 65536 слов;

    УС - 16 разрядный указатель стека {глава 2.1.3};

    СИД - схема инкремента-декремента (прибавления или вычитания 1);

    БА - 16 разрядный буфер адреса;

    А - регистр результата (аккумулятор);

    АЛУ - арифметико-логическое устройство, выполняет арифметические операции сложения - вычитания, инкремент - декремент, логические операции конъюнкции, дизъюнкции, инверсии и другие. Оно связано через буферные регистры БР1 и БР2 с аккумулятором и внутренней шиной данных;

    РП - регистр признаков, в котором в процессе выполнения команды появляются признаки результата (нулевой результат, положительный или отрицательный, четный или нечетный результат), используемые в последующих командах, например, условного перехода;

    СДК - схема десятичной коррекции, используется в том случае, когда информация обрабатывается не в двоичном, а в двоично-десятичном коде {модуль 2 глава 3.2};

    УУ - устройство управления, обеспечивает управление работой МП и внешних устройств. Рассмотрим его работу и состав шины управления.

    2.1.2 Устройство управления

    Устройство управления тактируется от внешнего генератора, вырабатывающего последовательность импульсов Ф1 и Ф2. Оно связано с остальной частью МП внутренними управляющими сигналами УС и сигналами признаков Pi. С внешней средой УУ связано шиной управления, содержащей 10 линий (4 сигнала поступают извне и 6 сигналов выдает МП).

    Состав шины управления.

    1. Начальная установка (сброс). При подаче «1» на этот вход ПС сбрасывается в 0 и начинается выполнение программы сначала.

    2. Синхронизация. Сигнал «1» на этом выходе вырабатывается в начале каждого цикла работы МП (перед каждым обращением МП к любому внешнему элементу).

    3. Чтение. Сигнал «1» указывает, что МП готов принять информацию по ШД извне. Этот сигнал обычно подключается ко входу «чтение» ЗУ и устройств ввода.

    4. /Зп. Сигнал «0» указывает, что МП выставил на шину данных информацию, подлежащую записи в ОЗУ или выдаче на устройства вывода.

    5. Готов. Сигнал «1» на этом входе указывает МП на окончание цикла чтения или записи. Он вырабатывается внешними устройствами по окончании цикла их работы. Если сигнал «1» не поступил, то МП входит в состояние ожидания, в течение которого МП удерживает адрес на ША, управляющий сигнал «чтение» или «запись» и сохраняет открытыми цепи передачи информации через БД. Состояние ожидания сохраняется до поступления «1» - «готов». В случае, когда все внешние элементы работают со скоростью МП или большей, на вход «готов» постоянно подключается «1».

    6. Ожидание. Сигнал «1» на этом выходе указывает, что МП в состоянии ожидания. Этот сигнал помогает установить неисправный блок, из-за которого МП остановился.

    7. З.Пр. - вход запроса на прерывание {глава 7.2.7}. Сигнал «1» поступает извне при необходимости прервать работу МП.

    8. Р.Пр. - разрешение прерывания. Сигнал «1» на этом выходе указывает, что прерывания разрешены. Разрешение и запрещение прерывания производится специальными командами.

    9. Захват. При поступлении сигнала «1» МП останавливает работу, БА и БД переводятся в третье состояние. При этом МП отключается от ША и ШД.

    10. Подтверждение захвата. Сигнал «1» указывает, что МП находится в состоянии захвата.

    2.1.3 Магазинная память - стек

    При обращении к ячейкам памяти ОЗУ в МПС с процессором К580ВМ80 нужны длинные трехбайтные команды. В первом байте содержится сама команда обращения, а во втором и третьем указывается адрес ячейки памяти. Такая команда выполняется сравнительно долго и при частых обращениях к памяти работа МПС существенно замедляется. Для ускорения работы МПС применяется магазин памяти - стек. Он работает по принципу: первым читается число, записанное последним. Порядок обращения к стеку жесткий, но зато не нужно указывать адрес, и время обращения значительно уменьшается. Стек очень удобен для запоминания промежуточной информации в случае прерывания. Второе его назначение - обеспечение работы с программами. При переходе к подпрограмме содержание РОН пересылается в стек, после выполнения подпрограммы - вызывается из стека в РОН. Стек бывает автономный (встроенный в МП) и внешний (размещенный в ОЗУ). В МП К580ВМ80 используется внешний стек, а в кристалле размещается специальный регистр - указатель стека (УС), в котором хранится адрес первой свободной ячейки стека. Для стека обычно отводятся старшие ячейки памяти ОЗУ. Вначале устанавливается адрес 111 ... 1, при записи адрес декрементируется (А-1), при чтении - инкрементируется (А+1). При работе со стеком на ША выдается содержимое УС, при работе с основной памятью - содержимое РА. 2.2

    2.2 Функционирование МП в составе МПС

    2.2.1 Алгоритм выполнения команды

    При выполнении любой команды цикл работы МП всегда начинается с выборки первого байта команды - кода операции (КОп) в регистр команд {глава 2.1.1}. При этом адрес команды из ПС через БА поступает на ША, УУ вырабатывает сигнал чтения, КОп поступает через БД в РК. ДшК анализирует КОп и, если требуется, МП выбирает 2-й и 3-й байты команды в регистры W и Z соответственно. Адрес последующего байта команды формируется в ПС увеличением его содержимого на 1 с помощью СИД. Затем происходит выполнение команды. В конце производится анализ наличия запросов на прерывание (сигнал ЗПр). Если такой запрос имеется - состояние ПС запоминается и происходит переход к программе обработки прерывания.

    2.2.2 Временная диаграмма работы МП

    Работа МП происходит под действием двух неперекрывающихся последовательностей тактовых импульсов Ф1и Ф2 (рис.2-2).

    Большинство преобразований информации МП производит по Ф2. Временной интервал, в течение которого выполняется одна микрооперация, называется машинным тактом (обозначается Т1, Т2 и т.д.). Машинным циклом (МЦ) называется последовательность тактов, в течение которых осуществляется обмен информацией между МП и внешним по отношению к нему элементом (обозначается М1, М2 и т.д.). МЦ содержит 3-5 тактов. Выполнение команды происходит за 1-5 МЦ. На рисунке 2-3 условно показана последовательность выполнения трех команд, содержащих различное число МЦ. В цикле М1 всегда происходит выборка первого байта команды. Большинство МП являются тактируемыми цифровыми схемами, работающими под воздействием генератора тактовых импульсов (ГТИ). МП К580ВМ80тактируется ГТИ, вырабатывающим две последовательности не перекрывающихся импульсов Ф1 и Ф2 с периодом Ттакт = 0,5 - 2 мкс.

    2.2.3 Слово состояния МП

    ШД МП не используется в Т1 и начале Т2 для приема и выдачи основной информации. В МП предусмотрены схемы, обеспечивающие выдачу в это время на ШД восьмиразрядного слова состояния (СС). Эти 8 признаков могут использоваться внешними элементами и, в общем случае, позволяют упростить организацию МПС. Слово состояния выдается в начале каждого цикла в такте Т2 во время импульса Ф1 (рис.2-4). Признаки СС характеризуют только данный МЦ. СС выделяется с помощью регистра состояний РС (рис.2-5), в который записывается информация с ШД в момент t, в который одновременно имеются импульсы Ф1 и «Синхр.». МП К580ВМ80 имеет десять типов МЦ и, соответственно, 10 СС, идентифицирующих эти циклы. В таблице 2 приведены СС, соответствующие всем типам МЦ.

    Рис.2-4

    Рис.2-5

    Таблица 2 Слова состояния МП К580ВМ80

    Здесь:

    MEMR - чтение из памяти;

    INP - признак команды ввода (вырабатывается в МЦ3);

    М1 - признак МЦ1 (идет выборка КОп, начало выполнения команды);

    OUT - признак команды ввода, вырабатывается в МЦ3. Аналогичен сигналу /Зп МП, но появляется несколько раньше и держится в РС до конца цикла;

    HLTA - подтверждение останова;

    STACK - признак работы со стеком, вырабатывается при обращении к ЗУ по командам работы со стеком, что позволяет иметь 216 ячеек ОЗУ и 216 ячеек стека;

    /WO - признак записи или вывода;

    INTA - признак начала работы в режиме прерывания.

    Например, в команде вывода в трех МЦ выдаются СС № 1,2,7. Использование СС позволяет лучше организовать управление МПС. Для работы с внешними устройствами МП имеет только 2 управляющих сигнала Чт и /Зп, в которых не различаются ПЗУ, ОЗУ и другие внешние устройства. Поэтому приходится использовать некоторые разряды ША для указания конкретного объекта. В СС сигнал MEMR позволяет отделить память от других устройств, что упрощает организацию взаимосвязи отдельных частей МПС.

    3 Запоминающие устройства

    Запоминающее устройство, или, сокращенно, память служит для хранения цифровой информации.

    Память МПС подразделяется на:

    программную память, предназначенную для хранения программ и реализованную обычно в виде постоянного запоминающего устройства (ПЗУ);

    память данных, или оперативную память (ОЗУ) {модуль 2 глава 9};

    внешнюю память для хранения больших массивов информации, обычно реализованную в виде накопителя на магнитном диске (винчестере).

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

    В функциональном отношении память состоит из однотипных ячеек (регистров), рассчитанных на хранение одного слова. Каждой ячейке присвоен адрес, представленный двоичным кодом.

    Емкость ИС памяти обычно выражается в битах или байтах- т, 1024 байта (или 1 Кбайт), 4 К бита и т.д. Информационная организация (или формат) памяти определяется произведением m (слов) х n (длина слова). Например, ИС с емкостью 1024 бит может иметь огранизацию 1024х1 (1Кх1), 256х4, 128х8. Длина слов памяти (nпам) обычно выбирается равной длине слова (разрядности) центрального процессора МПС nцп. Если nпам< nцп, то применяется несколько корпусов ИС. Например, с помощью 2-х ИС памяти 256х4 можно организовать ЗУ с форматом 256х8.

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

    3.1 Постоянная память

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

    Если однократную запись в память производит пользователь с помощью специального устройства - программатора, а затем она работает только на считывание, то такую память называют ПЗУ, программируемое пользователем (ПЗУ-ПП). Они применяются при макетировании и отладке МПС, а также при производстве малыми сериями.

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

    Рассмотрим подробнее внутреннюю структуру ПЗУ ПП на примере простейшей ИС К155РЕ3 (рис.3-1), имеющей организацию 32х8. Для адресации 32-х слов имеются 5 адресных входов А0...А4 (т.к. 25=32). Хранимое слово из 8-ми бит образовано многоэмиттерным транзистором, в каждой эмиттерной цепи которого находится плавкая перемычка из нихрома толщиной 200 Ангстрем. Когда дешифратор адреса выбирает определенное слово, то открывается один из многоэмиттерных транзисторов. При наличии перемычки на соответствующей битовой линии устанавливается высокий уровень напряжения и выходной транзистор VT2 также открывается, и потенциал выхода 1 близок к нулю (логический «0»). Если перемычка расплавлена, то соответствующая битовая линия никуда не подключена («плавающая») и транзистор VT2 закрыт (логическая «1»). Выходы ПЗУ ПП представляют собой схемы с открытым коллектором.Для нормальной работы их надо подключить к источнику питания +Ек через резисторы Rн (на рисунке показано пунктиром).

    В незапрагроммированной ИС все перемычки целые, транзисторы VT2 открыты во всех словах, на выходах уровни логического «0». Для программирования некоторого бита (состояние которого необходимо изменить с «0» на «1») на линии А0...А4 подаются сигналы нужного адреса и на базе выбранного многоэмиттерного транзистора появляется высокий уровень. Внешней схемой на выходе программируемого бита устанавливается напряжение около 8 В. Этого напряжения достаточно для включения стабилитрона VD1 с порогом около 7 В, что приводит к включению транзистора VT1, и первый вывод перемычки заземляется. Затем напряжение питания многоэмиттерных транзисторов увеличивается до 12 В, и тогда между выводами перемычки приложено напряжение около 5 В. Возникающий ток нагревает и расплавляет перемычку.

    В ПЗУ ПП такого типа иногда возможны отказы из-за повторных замыканий разрушенных перемычек. Зазор очень узкий и иногда «заплывает». Для повышения надежности запрограммированные ПЗУ выдерживают в термостате 24 часа при температуре 100oС и повторно проверяют записанную информацию. Если обнаружено «заплывание» перемычек (некоторые записанные «1» превратились в «0»), то их прожигают повторно.

    На практике широко применяются ППЗУ, стираемые ультрафиолетовым облучением. Они строятся на МОП-транзисторах, отличающихся от обычных тем, что между затвором и полупроводником (подложкой) помещают еще один «плавающий» затвор, полностью изолированный со всех сторон окислом кремния. Если при записи информации к затворам таких транзисторов приложить положительное напряжение около 25 В и длительностью в несколько десятков миллисекунд, то под его воздействием электроны, перемещаясь в сторону основного затвора, оседают на плавающем затворе. При считывании к затвору прикладывается положительное напряжение не более 5 В. Если на плавающем затворе нет электронов, то канал исток-сток становится проводящим, что соответствует хранению логической единицы. Если на плавающем затворе имеются электроны, то они своим зарядом экранируют затвор и промежуток исток-сток остается непроводящим, что соответствует хранению логического «0». Так как плавающий затвор окружен изолирующим слоем, электроны, попавшие в область плавающего затвора, не могут ее покинуть. В действительности же существует утечка электронов, что приводит к постепенной потере информации. По данным ряда фирм это время составляет не менее 10 лет.

    Стирается информация ультрафиолетовым облучением в течение нескольких десятков минут во всех элементах сразу. При этом электроны возбуждаются излучением и стекают в подложку. В результате все плавающие затворы освобождаются от электронов, то есть во все элементы записывается логическая «1».

    К таким ППЗУ относятся широко применяемые ИС К573РФ2 (РФ4,РФ5 и др.).

    3.2 Оперативная память

    Оперативная память или оперативное запоминающее устройство (ОЗУ) {модуль 2 глава 9.2} применяется для хранения оперативной информации, требующейся в процессе обработки. ОЗУ, в отличие от ПЗУ, позволяет: как вводить информацию в адресуемую ячейку (операция Зп), так и выводить (операция Чт) Так как обращение возможно к любой адресуемой ячейке в произвольном порядке, то такие ЗУ называют запоминающими устройствами с произвольной выборкой (ЗУПВ). Возможны различные способы обмена информацией между ОЗУ и МП. Чаще всего используются запоминающие устройства с произвольной выборкой, позволяющие обращаться по любому адресу в произвольном порядке. Различают статические и динамические ОЗУ.

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

    Большинство ЗУПВ изготовляются на основе МОП транзисторов и имеют так называемую матричную организацию. Функциональная схема ЗУПВ 256х1 с матричной организацией типа 16х16 приведена на рисунке (3-2). После дешифрирования младших битов адреса А0-А3 возникает сигнал Xi, подключающий i-ю строку матрицы. Столбец матрицы Yj выбирается дешифратором старших битов адреса А4-А7 и элемент памяти ЭПij подключается к схеме вывода или ввода информации в зависимости от значения сигнала Сч//Зп. При Сч//Зп=1 происходит считывание информации из памяти; при Сч//Зп=0 - запись в память. Разрешающий сигнал ВМ (выбор микросхемы) активизирует данную ИС. При запрещающем значении сигнала ВМ матрица изолирована от выходов дешифратора и шины ввода-вывода.

    Статические ЗУПВ могут быть построены на полупроводниковых приборах различного типа. В настоящее время наиболее распространенными являются ИС статической памяти на МОП транзисторах. КМОП запоминающий элемент состоит из 5-ти транзисторов, четыре из которых (VT1-VT4) образуют триггер. Управление триггером для записи и считывания осуществляется с помощью ключа - транзистора VT5 (рис.3-3).

    3.3 Подключение ЗУ к шине данных

    Так как шина данных (ШД) является общей для многих устройств, то при их одновременной работе неизбежен «конфликт». Необходимо, чтобы в каждый момент времени к ШД было подключено только одно устройство - источник информации. приемников же информации может быть одновременно подключено несколько. Важно лишь, чтобы мощность выхода источника информационных сигналов была достаточной для подключения нескольких приемников. Оперативное подлючение и одключение выхода какого-либо устройства осуществляется с помощью схемы выхода, имеющей 3 возможных состояния: 1, 0 и «отключено». Выход любой ТТЛ ИС упрощенно можно представить в виде двух последовательно включенных транзисторов (см. рис.3-4).

    Если транзистор VT1 открыт и закрыт VT2, то на выходе высокий уровень сигнала («1»). Если наоборот: VT2 открыт, VT1 закрыт, то на выходе низкий уровень («0»). Если одновременно закрыты оба транзистора, то выход ИС оказывается отключенным от источника питания и не оказывает никакого влияния на работу других устройств, подключенных к общей шине.

    Рис.3-4 Выход с тремя состояниями

    4. Интерфейсные устройства

    Интерфейсные устройства (ИУ) служат для сопряжения внешних устройств с МПС. Они обычно реализуются в виде одной или нескольких СИС или БИС.

    PAGE \* MERGEFORMAT 3


    А также другие работы, которые могут Вас заинтересовать

    45328. Референдум – понятие, виды правовое регулирование 25.75 KB
    Форма прямого волеизъявления граждан РФ по наиболее важным вопросам государственного и местного значения в целях принятия решений осуществляемого посредством голосования граждан РФ обладающих правом на участие в референдуме. Виды референдума в зависимости от территории: 1 всероссийский референдум он проводится по вопросам общефедерального значения на основании решения Президента РФ; 2 референдум субъекта РФ он проводится по вопросам ведения соответствующего субъекта РФ или совместного ведения РФ и субъектов РФ если указанные вопросы не...
    45329. Функции Президента Российской Федерации 21 KB
    Назначение с согласия Государственной Думы Председателя Правительства РФ других членов Правительства РФ направление его политики и принятие решения об отставке Правительства РФ; 2 представление Государственной Думе кандидатуры на должность Председателя Центрального банка РФ постановление перед ней вопроса об освобождении от должности Председателя Центрального банка РФ; 3 представление Совету Федерации кандидатур для назначения на должности судей Конституционного Суда РФ...
    45330. Порядок избрания и освобождения от должности Президента Российской Федерации 23.1 KB
    Порядок избрания и освобождения от должности Президента Российской Федерации. Президент Российской Федерации избирается сроком на шесть лет гражданами Российской Федерации на основе всеобщего равного и прямого избирательного права при тайном голосовании. Президентом Российской Федерации может быть избран гражданин Российской Федерации не моложе 35 лет постоянно проживающий в Российской Федерации не менее 10 лет Одно и то же лицо не может занимать должность Президента Российской Федерации более двух сроков подряд. Порядок выборов Президента...
    45331. 22.83 KB
    ИНСТИТУТ УПОЛНОМОЧЕННОГО ПО ПРАВАМ ЧЕЛОВЕКА В РФ В РФ защитой прав и свобод граждан их соблюдения государственными органами власти органами местного самоуправления и должностными лицами занимается Уполномоченный по правам человека в РФ. В пределах своей компетенции Уполномоченный по правам человека в РФ: 1 рассматривает жалобы граждан РФ и находящихся на территории РФ иностранных граждан и лиц без гражданства; 2 рассматривает жалобы на решения или действия государственных органов органов местного самоуправления должностных лиц...
    45332. Государственная Дума Российской Федерации - палата Федерального Собрания Российской Федерации 26.28 KB
    Полномочия местного самоуправления это закрепленные федеральным законодательством а также нормативными правовыми актами субъектов Российской Федерации и правовыми актами органов местного самоуправления за населением соответствующих территорий выборными и иными органами местного самоуправления права и обязанности связанные с реализацией задач и функций местного самоуправления на соответствующей территории. Полномочия местного самоуправления реализуются как непосредственно населением городских и сельских поселений других территорий путем...
    45333. Конституционно-правовой статус члена Совета Федерации и депутата Государственной Думы 25.69 KB
    Конституционно-правовой статус члена Совета Федерации и депутата Государственной Думы Конституционно-правовой статус члена Совета Федерации и депутата Государственной Думы определяется Конституцией РФ ст. О статусе члена Совета Федерации и депутата Государственной Думы Федерального Собрания Российской Федерации. Депутатом Государственной Думы является избранный представитель народа уполномоченный осуществлять в Государственной Думе законодательные и иные полномочия предусмотренные Конституцией РФ и федеральным законом. Срок полномочий...
    45334. Система законодательных (представительных) и исполнительных органов государственной власти субъектов Российской Федерации 20.8 KB
    Система законодательных представительных и исполнительных органов государственной власти субъектов Российской Федерации устанавливается ими самостоятельно в соответствии с основами конституционного строя Российской Федерации и ФЗ от 06. Об общих принципах организации законодательных представительных и исполнительных органов государственной власти субъектов Российской Федерации.Образование формирование деятельность законодательных представительных и исполнительных органов государственной власти субъектов Российской Федерации их...
    45335. Законодательный процесс в РФ 25.93 KB
    В составе городского поселения также могут находиться сельские населенные пункты не имеющие статуса сельских поселений в которых местное самоуправление осуществляется населением непосредственно и или через выборные и иные органы местного самоуправления. Городской округ городское поселение которое не входит в состав муниципального района и органы местного самоуправления которого осуществляют полномочия по решению установленных законом вопросов местного значения поселения и вопросов местного значения муниципального района а также могут...
    45336. Подходы к построению систем искусственного интеллекта 33 KB
    Структурный подход Под структурным подходом подразумевается попытки построить искусственный интеллект путём моделирования структуры человеческого мозга. Основной моделируемой структурной единицей в персептронах как и в большинстве других вариантов моделирования мозга является нейрон. Позднее возникли и другие модели которые обычно называют нейронные сети. Эти модели различаются по строению отдельных нейронов по топологии связей между ними и по алгоритмам обучения.