Китаев микропроцессорная техника 2 часть. Микропроцессорная техника: характеристики, функции и применение

8.1 Системы счисления

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

Примером позиционной формы записи чисел является та, которой мы пользуемся (так называемая арабская форма чисел). Так, в числах 123 и 321 значения цифры 3, например, определяются ее положением в числе: в первом случае она обозначает три единицы (т.е. просто три), а во втором – три сотни (т.е. триста).

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

Двоичная система счисления используется для кодирования дискретного сигнала, потребителем которого является вычислительная техника. Такое положение дел сложилось исторически, поскольку двоичный сигнал проще представлять на аппаратном уровне. В этой системе счисления для представления числа применяются два знака – 0 и 1.

Шестнадцатеричная система счисления используется для кодирования дискретного сигнала, потребителем которого является хорошо подготовленный пользователь – специалист в области информатики. В такой форме представляется содержимое любого файла, затребованное через интегрированные оболочки операционной системы, например, средствами Norton Commander в случае MS DOS. Используемые знаки для представления числа – десятичные цифры от 0 до 9 и буквы латинского алфавита – A, B, C, D, E, F.

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

В любой позиционной системе счисления число можно представить в виде полинома вида

N = a n-1 b n-1 + a n-2 b n-2 +…. + + a 0 b 0 , a m b m + a m-1 b m -1 + a m-i b m –I , (8.1)

где n – количество разрядов целой части числа,

где m – количество разрядов дробной части числа,

b – основание системы счисления,

ai – множитель, принимающий любые целочисленные значения от 0 до b-1, и соответствующий цифре i-го порядка числа.

Двоичная система счисления - число представляется совокупностью цифр 0 и 1, которые называются битами (binary digits – двоичные цифры). Основание системы счисления b = 2.

Шестнадцатеричная система счисления – для записи чисел используют цифры от 0 до 9 и буквы латинского алфавита A (10), B (11), C (12), D (13), E (14), F (15).

Перевод из десятичной системы счисления в двоичную и шестнадцатеричную:

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

Перевод целой части числа:

а) исходное целое число делится на основание системы счисления, в которую переводится (на 2 - при переводе в двоичную систему счисления или на 16 - при переводе в шестнадцатеричную); получается частное и остаток;

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

в) все полученные остатки и последнее частное преобразуются в соответствии с таблицей перевода в цифры той системы счисления, в которую выполняется перевод;

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

Выполнить перевод числа 19 в двоичную систему счисления:

Выполнить перевод числа 173 в шестнадцатеричную систему счисления:

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

При переводе правильной десятичной дроби в систему счисления с основанием b необходимо сначала саму дробь, а затем дробные части всех последующих произведений последовательно умножать на b, отделяя после каждого умножения целую часть произведения. Число в новой системе счисления записывается как последовательность полученных целых частей произведения. Умножение производится до тех поp, пока дробная часть произведения не станет равной нулю. Это значит, что сделан точный перевод. В противном случае перевод осуществляется до заданной точности. Достаточно того количества цифр в результате, которое поместится в ячейку.

Пример . Выполнить перевод числа 0,847 в двоичную систему счисления. Перевод выполнить до четырех значащих цифр после запятой.

Пример . Выполнить перевод числа 0,847 в шестнадцатеричную систему счисления. Перевод выполнить до трех значащих цифр.

Для различения систем счисления, в которых представлены числа, в обозначение двоичных и шестнадцатеричных чисел вводят дополнительные реквизиты:

для двоичных чисел – нижний индекс справа от числа в виде цифры 2 либо знак B или b (binary – двоичный), справа от числа. Например, 101000 2 = 101000B = 101000b;

для шестнадцатеричных чисел - нижний индекс справа от числа в виде числа 16 либо знак H или h (hexadecimal – шестнадцатеричный), справа от числа. Например, 3AB 16 = 3ABH = 3ABh.

Перевод из двоичной или шестнадцатеричной систем счисления в десятичную выполняется по соотношению (8.1).

Группа из 8 битов информации называется байтом. Если бит - минимальная единица информации, то байт ее основная единица. Существуют производные единицы информации: килобайт (кбайт, кб), мегабайт (Мбайт, Мб) и гигабайт (Гбайт, Гб).

1 кб =1024 байта.

1 Мб = 1024 кбайта = 1024 x 1024 байтов.

1 Гб = 1024 Мбайта = 1024х1024 х 1024 байтов.

Эти единицы чаще всего используют для указания объема памяти ЭВМ.

8.2. Счетчики импульсов

Счетчик – это последовательная схема, в основе которой лежит регистр (последовательное соединение триггеров). Поскольку любая последовательная схема имеет конечное число состояний, то счетная последовательность счетчика либо завершается неким определенным состоянием (счетчики с конечным состоянием или счетчики с насыщением), либо циклически повторяется – счетчики по модулю (mod). Термин модуль используется для обозначения числа различных состояний счетной последовательности. Например, в счетчике по mod = 6 после прихода на вход шестого импульса счетчик обнуляется и процесс счета повторяется снова. Если в счетчике n триггеров, то число возможных состояний счетчика равно 2 n и следовательно его модуль равен mod = 2 n .

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

В зависимости от модуля они подразделяются на десятичные (декадные), у которых

mod = 10 и двоичные с mod = 2 n .

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

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


Так как в счетчике общая синхронизация, то состояние триггеров меняется синхронно, т. е. те триггеры, которые должны изменить своё состояние по синхроимпульсу, делают это синхронно. В частности, если в момент времени t 0 все триггеры исходно обнулены, то после подачи на линию «разрешение счета» сигнала Т = 1 в единичном состоянии будет только первый триггер (Q 0 =1) после прихода импульса синхронизации. Все остальные – в нулевом, так как через схемы И их входы Т блокированы нулевым потенциалом. С приходом второго тактового импульса к изменению своего состояния на единичное будет подготовлен второй триггер и по заднему фронту второго импульса синхронизации триггеры примут новое состояние: Q 0 = 0, Q 1 = 1, Q 2 = 0.

Число импульсов, пришедших на вход счетчика, можно определить по соотношению:

N = Q 0 2 0 + Q 1 2 1 + Q 2 2 2 + … + Q n -1 2 n -1 (8.2).

Описанный выше способ формирования сигналов на Т входов триггеров используется в счетчиках с последовательным переносом. Применение вентилей И для формирования сигналов на входах Т приводит к снижению скорости счета, так как после прохождения синхроимпульса следующий нельзя подавать до тех пор, пока не определятся все значения на входах Т. Для n-разрядного счетчика требуется время t зад = τ в (n – 1), где τ в – время задержки распространения сигнала через один вентиль.

Этот недостаток устраняется в счетчиках со сквозным переносом за счет усложнения схемы подачи сигналов на Т входы триггеров.

Асинхронные счетчики .

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


DD3
а
Если на линию «разрешение счета» подана логическая 1, то каждое «отрицательное» изменение состояния каждого левого триггера (задний фронт импульса) вызовет изменение состояния последующего и т.д. В асинхронных счетчиках возможен сбой в процессе передачи информации от триггера к триггеру. Они находят широкое применение в качестве делителей частоты на любую степень двойки f вых = f вх / 2 n .

Все рассмотренные счетчики являются суммирующими двоичными счетчиками. Они легко могут быть перестроены в вычитающие. Для этого, например, в схеме рис. 8.1 достаточно переключить входы вентилей И с выходов Q на инверсные .

8.3. Микроконтроллеры.

8.3.1. Принципы организации микроконтроллеров ; архитектура микропроцессоров и их функционирование, структура микроконтроллеров.

В современной технике микроконтроллеры находят очень широкое применение. На их основе строятся датчики измерения физических параметров с линейными характеристиками, регуляторы параметров технологических процессов, системы сбора и передачи данных, информационные системы и системы автоматического управления различного класса. Современное понятие микроконтроллер возникло в связи с мощным развитием и совершенствованием микроэлектроники и является естественным развитием более старых понятий, таких как ЭВМ, микро-ЭВМ, употреблявшихся в 70 – 80 годы прошлого столетия. Однако основные, базовые принципы организации функционирования вычислительных систем остаются.

По определению ЭВМ – это искусственная, инженерная система, предназначенная для выполнения вычислений на основе алгоритмов. Принципы ее построения определяются с одной стороны, назначением ЭВМ, а с другой – элементной базой. Совершенствование элементной базы и привело к появлению в конце 20 века такого понятия как микроконтроллер. Современная вычислительная техника строится на одном из важных принципов – принципе программного управления , предложенного Дж. Фон Нейманом в 1945 г. Эти принципы следующие:

1. Информация кодируется в двоичной форме и разделяется на единицы информации, называемые словами.

2. Разнотипные слова информации различаются по способу использования, но не способом кодирования. Все слова, представляющие числа, команды и т.д. выглядят в ЭВМ совершенно одинаково и сами по себе неразличимы. Только порядок использования слов в программе вносит различия в слова. Благодаря этому возможно использовать одни и те же операции для обработки и чисел и команд.

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

4. Алгоритм представляется в форме последовательности управляющих слов, которые определяют наименование операции и слова информации, участвующие в операции, и называются командами.

5. Выполнение вычислений, предписанных алгоритмом, сводится к последовательному выполнению команд в порядке, определяемом программой.

Принцип программного управления предполагает, что алгоритм в ЭВМ представляется в виде упорядоченной последовательности команд вида

b 0 b 1 ...b l b 0 b 1 ...b m … b 0 b 1 ...b n ,


где b – двоичная переменная. Определенное число первых разрядов команды характеризует код операции (КОП) – характер выполняемых действий (+, -, * ,и т.д.). Последуюшие наборы двоичных переменных (А1 …А n) определяют адреса операндов (аргументов и результатов), заданных кодом КОП. Процесс вычислений, выполняемый по заданной программе, состоит в последовательном выполнении команд. Первой выполняется команда, заданная пусковым адресом программы. Обычно это адрес первой команды программы.

В состав современного микроконтроллера входят: ядро (микропроцессор); память данных (оперативное запоминающее устройство - ОЗУ (RAM)); память программ (постоянное запоминающее устройство – ПЗУ (ROM) или Flash-память); периферийные устройства: контроллеры прерываний, порты ввода-вывода, ШИМ- генераторы, таймеры, АЦП, ЦАП, порты для последовательной передачи данных – USART, I 2 C, SPI и т.д. Все эти устройства выполняются, как правило, на одном кристалле и помещаются в одном корпусе.

8.3.2. Архитектура микропроцессоров и их функционирование.

Основным элементом микроконтроллера является микропроцессор (МП). Первый коммерческий микропроцессор Intel -8080 был разработан фирмой Intel в 1975 г. Микропроцессор – это функциональный блок, предназначенный для логической и арифметической обработки информации на основе принципа программного управления. Современные микропроцессоры выполняются, как правило, по КМОП технологии и содержат десятки и сотни тысяч элементов, имеют высокое быстродействие – от 10Mips (миллионов операций в секунду) и более, 8, 16 или 32 –разрядную шину данных, 18, 24-разрядную и более шину адреса (речь идет о микропроцессорах для промышленного применения).

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

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


С периферийными устройствами МП связан с помощью системы шин: External Data Bus -двунаправленная n-разрядная внешняя шина данных; External Address Bus - однонаправленная m-разрядная внешняя шина адреса; Control Bus однонаправленная k-разрядная шина управления (одни разряды шины работают только на ввод, другие – только на вывод). Все шины с тремя состояниями.

Основными устройствами МП являются:

1. АЛУ – арифметико логическое устройство; предназначено для выполнения арифметических (+, -, *, /) и логических операций (И, ИЛИ, НЕ, Исключающее ИЛИ, операции сдвига). В состав АЛУ входят n-разрядные сумматоры, аппаратные умножители и схемы деления. АЛУ связано с регистром признаковFR (Flags Register).

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

Z (Zero) – нулевой результат операции; устанавливается, если результатом выполнения последней операции в АЛУ является ноль;

S (Sing) или N (Negative) – флаг отрицательного знака при выполнении операции (устанавливается если при выполнении операции в АЛУ получается отрицательное число);

C (Carry) – флаг переноса; устанавливается, если при выполнении операции в АЛУ был установлен бит переноса;

V – флаг переполнения; устанавливается, если при выполнении операции в АЛУ имело место переполнение.

3. GPR (General Pupas Registers) –регистры общего назначения. Предназначены для временного хранения информации, располагаются, как правило, во внутреннем ОЗУ процессора и имеют минимальное время доступа.

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

PC (Program counter) – программный счетчик, счетчик команд; содержит адрес ячейки памяти, из которой выбирается следующая команда. Во время выборки команды содержимое счетчика передается в регистр адреса RA и из него через буферную схему поступает на внешнюю шину адреса. С помощью схемы приращения СхП содержимое счетчика команд увеличивается на 1 или 2 в зависимости от длины слова, с которым обменивается процессор (один или два байта) для указания адреса следующей команды.

IR (Instruction Register) – первое слово команды, выбранное из программной памяти, передается через буфер данных и внутреннюю шину данных в IR , выход которого связан с дешифратором команд и формирователем машинных циклов DC и ФМЦ, который по КОП в команде определяет тип выполняемой операции.

Устройство управления и синхронизации (УУС) – вырабатывает управляющие и синхронизирующие сигналы, необходимые для выполнения принятой и дешифрированной команды, подключая необходимые устройства процессора. С помощью k-внешних линий управления (Control Bus) реализуется интерфейс процессора с другими модулями микроконтроллера. Некоторые из этих сигналов:

F CLK - тактовая частота процессора; синхронизирует работу всех устройств и определяет время выполнения команд (быстродействие МП).

RESET – выходной сигнал сброса; обнуляет все основные регистры процессора, в том числе программного счетчика РС, указывая при старте на ячейку памяти 0000h, из которой должна быть считана первая команда программы.

WR (Write) – запись в память, внешнее устройство;

RD (Read) – чтение из памяти, из внешнего устройства.

Современные процессоры выполняются по RISC (Reduce Instruction Set Computering) архитектуре (выполнение вычислений по минимизированным командам). Это обеспечивает выполнение большинства команд за очень малое время даже при относительно не высоких тактовых частотах процессора. Например, МП SAB80C167 фирмы Siemens при тактовой частоте 20 МГц выполняет большинство команд за 100 нс.

8.3.3. Структура микроконтроллеров

В качестве примера ниже дано краткое описание промышленного микроконтроллера М167-2.

Промышленный контроллер М167-2, структурная схема которого приведена на рис.8.4., разработан на базе микроконтроллера Siemens 80С167, ядром которого является 16-разрядный RISC процессор SAB80C167 . В основу работы процессора положена конвейерная организация выполнения команд, благодаря чему для выполнения большин­ства из них требуется 100 наносекунд при тактовой частоте процессора 20 МГц.

Центральное процессорное устройство имеет фон-Неймановскую архитектуру, что обеспечивает доступ к исполняемому коду в пределах единого линейного адресного пространства. Максимальный размер адресуемой памяти составляет 16 Мбайт, которая разделена на 256 сегментов (Code Segment) по 64 Кбайт в каждом. Каждый сегмент со­стоит из четырех страниц данных (Data Page) размером по 16 Кбайт.

Процессор имеет внутреннее ОЗУ объемом 2 Кбайт (1Кх16), расположенное в третьей странице данных нулевого сегмента (00.F000h – 00.FFFFh).Во внутреннем ОЗУ размещены регистры общего (GPR) и специального (SFR и ESFR) назначения.

Система обработки прерываний контроллера обрабатывает более 56 независимых каналов прерываний. Текущее состояние программы (IP, PSW, CSP) сохраняется во внут­реннем системном стеке. Шестнадцати уровневая система приоритетов с четырех уровне­вым (групповым) приоритетом второго уровня позволяет организовать обработку преры­ваний по приоритету. Кроме того, в состав контроллера входит 8 канальный блок РЕС (событийный контроллер), с помощью которого можно осуществлять пересылку данных между периферийными устройствами и областями памяти в режиме прерываний без уча­стия основного процессора.

Контроллер внешней шины позволяет задать четыре типа внешней шины и изме­нять их временные характеристики.

Входящие в состав контроллера блоки «Захват/Сравнение» и блоки таймеров по­зволяют организовать дополнительные ШИМ каналы (до 28) кроме стандартного четырех канального модуля ШИМ, а так же формировать и измерять параметры импульсных сиг­налов.

Микроконтроллер обеспечивает 111 параллельных каналов ввода/вывода, органи­зованных в 16- или 8-битовые порты. Все выводы портов битадресуемы и индивидуально (побитно) программируются на ввод или вывод.

Кроме того, в состав микроконтроллера входят два АЦП (8 и 16 каналов) и сете­вой контроллер CAN со скоростью передачи до 1 Мбит/сек. CAN контроллер позволяет создавать сложные распределенные системы управления реального времени.

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


Литература

1 Гальперин М.В. Электронная техника. Учебник. – 2-е изд., испр. и доп.

– Форум, 2014.

2 Готтлиб И. М. Источники питания. Инверторы, конверторы, линейные и импульсные стабилизаторы. – Постмаркет, 2008.

3 Шило В. Л. Популярные цифровые микросхемы. Справочник.

– Челябинск: Металлургия, 1989.

4 Гусев В. Г. Электроника и микропроцессорная техника. Учебник для вузов. – 5 изд. – М.: Высшая школа, 2008.

Интернет-ресурсы

1 Белов Н.В., Волков Ю.С. Электротехника и основы электроники. – СПб.: Лань, 2012. – Режим доступа: http://e.lanbook.com.

2 Ефимов И.Е., Козырь И.Я. Основы микроэлектроники. – СПб.: Лань, 2008. – Режим доступа: http://e.lanbook.com.

3 Игнатов А.Н. Оптоэлектроника и нанофотоника. . – СПб.: Лань, 2011. – Режим доступа: http://e.lanbook.com.

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

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

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

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

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

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

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

Микропроцессорная система может рассматриваться как частный случай электронной системы, предназначенной для обработки входных сигналов и выдачи выходных сигналов (рис. 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% случаев). При этом микроконтроллеры применяются или самостоятельно, с минимальной дополнительной аппаратурой, или в составе более сложных контроллеров с развитыми средствами ввода/вывода.

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

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

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

Всё это обязывает электрика знать хотя бы основы работы микропроцессорной техники.

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

Понятие «Микропроцессорная система» очень широко и объединяет такие понятия как «Электронно-вычислительная машина (ЭВМ)», «управляющая ЭВМ», «Компьютер» и т.п.

Микропроцессорная система включает в себя аппаратное обеспечение или по-английски – hardware и программное обеспечение (ПО) - software.

Цифровая информация

Микропроцессорная система работает с цифровой информацией , которая представляет собой последовательность цифровых кодов.

В основе любой микропроцессорной системы лежит микропроцессор , который способен воспринимать только двоичные числа (составленные из 0 и 1). Двоичные числа записываются посредством двоичной системы счисления. Например, в повседневной жизни мы пользуемся десятичной системой счисления, в которой для записи чисел используются десять символов или цифр 0,1,2,3,4,5,6,7,8,9. Соответственно в двоичной системе таких символов (или цифр) всего два – 0 и 1.

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

Рассмотрим единицы измерения цифровой информации:

Бит (от английского "BInary digiT" - двоичная цифра) принимает только два значения: 0 или 1. Можно закодировать логическое значение «да»» или «нет», состояние «включено» или «выключено», состояние «открыто» или «закрыто» и т.п.

Группа из восьми бит называется байтом, например 10010111. Один байт позволяет кодировать 256 значений: 00000000 – 0, 11111111 - 255.

Бит – наименьшая единица представления информации.

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

Два взаимосвязанных байта называется словом, 4 байта – двойное слово, 8 байт – учетверённое слово.

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

Например, для кодирования текстовой информации используется таблица кодов ASCII (от англ. American Standard Code for Information Interchange - Американский стандартный код для обмена информацией). Запись одного символа осуществляется одним байтом, который может принимать 256 значений. Графическая информация разбивается на точки (пиксели) и производится кодирование цвета и положение каждой точки по горизонтали и вертикали.

Кроме двоичной и десятичной системы в МС используют шестнадцатеричную систему, в которой для записи чисел используются символы 0...9 и A...F. Её применение обуславливается тем, что один байт описывается двухразрядным шестнадцатеричным числом, что значительно сокращает запись цифрового кода и делает его более читаемым (11111111 – FF).

Таблица 1 – Запись чисел в различных системах счисления


Для определения значения числа (например, значения числа 100 для разных систем счисления может составлять 42, 10010, 25616), в конце числа добавляют латинскую букву, обозначающую систему счисления: для двоичных чисел букву b, для шестнадцатеричных - h, для десятичных – d. Число без дополнительного обозначения считается десятичным.

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

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

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

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

Структура микропроцессорной системы представлена на рисунке 1. В упрощённом виде процессор состоит из арифметически-логического устройства (АЛУ), осуществляющего обработку цифровой информации и устройства управления (УУ).

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


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

Процессор, порты и память взаимодействуют между собой посредством шин. Шина – это набор проводников, объединённых по функциональному признаку. Единый набор системных шин называют внутрисистемная магистраль , в которой выделяют:

    шину данных DB (Data Bus), по которой производится обмен данными между ЦП, памятью и портами;

    шину адреса AB (Address Bus), используемой для адресации процессором ячеек памяти и портов;

    шину управления CB (Control Bus), набор линий, передающих различные управляющие сигналы от процессора на внешние устройства и обратно.

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

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

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

Приставка «микро» в названии процессора означает, что выполняется он по микронной технологии.

Рисунок 2 – Внешний вид микропроцессора Intel Pentium 4

В ходе работы микропроцессор считывает команды программы из памяти или порта ввода и исполняет их. Что означает каждая команда, определяется системой команд процессора. Система команд заложена в архитектуре микропроцессора и выполнение кода команды выражается в проведении внутренними элементами процессора определённых микроопераций.

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

Основные характеристики микропроцессоров:

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

2) Разрядность процессора (8, 16, 32, 64 бит и т.д.) – определяет число байтов данных, обрабатываемых за один такт. Разрядность процессора определяется разрядностью его внутренних регистров. Процессор может быть 8-разрядным, 16-разрядным, 32-разрядным, 64-разрядным и т.д., т.е. данные обрабатываются порциями по 1, 2, 4, 8 байт. Понятно, что чем больше разрядность, тем выше производительность работы.

Внутренняя архитектура микропроцессора

Упрощенная внутренняя архитектура типового 8-разрядного микропроцессора показана на рисунке 3. В структуре микропроцессора можно выделить три основных части:

1) Регистры для временного хранения команд, данных и адресов;

2) Арифметико-логическое устройство (АЛУ) , которое реализует арифметические и ло-гические операции;

3) Схема управления и синхронизации - обеспечивает выборку команд, организует функционирование АЛУ, обеспечивает доступ ко всем регистрам микропроцессора, воспринимает и генерирует внешние управляющие сигналы.

Рисунок 3 - Упрощенная внутренняя архитектура 8-разрядного микропроцессора

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

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

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

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

Указатель стека (SP) - следит за положением стека, т. е. содержит адрес последней его использованной ячейки. Стек – способ организации хранения данных.

Регистр команды содержит текущий командный байт, который декодируется дешифратором команды.

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

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

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

Лидирующими компаниями по разработке и изготовлению процессоров являются Intel и AMD.

Алгоритм работы микропроцессорной системы

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

Главным управляющим элементом всей микропроцессорной системы является процессор . Именно он, за исключением нескольких особых случаев, управляет всеми остальными устройствами. Остальные же устройства, такие, как ОЗУ, ПЗУ и порты ввода/вывода являются ведомыми.

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

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

1) Перед выполнением очередной команды микропроцессор содержит ее адрес в программном счетчике РС.

2) МП обращается к памяти по адресу, содержащемуся в РС, и считывает из памяти первый байт очередной команды в регистр команд.

3) Дешифратор команд декодирует (расшифровывает) код команды.

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

Извлекает операнды из регистров и памяти;

Выполняет над ними предписанные кодом команды арифметические, логические или другие операции;

В зависимости от длины команды модифицирует содержимое РС;

Передает управление очередной команде, адрес которой снова находится в программном счетчике РС.

Совокупность команд микропроцессора можно разделить на три группы:

1) Команды перемещения данных

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

2) Команды преобразования данных

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

3) Команда передачи управления

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

Внешние устройства

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

1) устройства для связи человек-ЭВМ (клавиатура, монитор, принтер и т.д.);

2) устройства для связи с объектами управления (датчики, исполнительные механизмы, АЦП и ЦАП);

3) внешние запоминающие устройтсва большой ёмкости (жёсткий диск, дисководы).

Внешние устройства подключаются к микропроцессорной системе физически - с помощью разъёмов, и логически - с помощью портов (контроллеров).

Для взаимодействия процессора и внешних устройств применяется система (механизм) прерываний.

Система прерываний

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

У любого микропроцессора имеется хотя бы один вход запроса на прерывание INT (от слова Interrupt - прерывание).

Рассмотрим пример взаимодействия процессора персонального компьютера с клавиатурой (рисунок 4).

Клавиатура - устройство для ввода символьной информации и команд управления. Для подключения клавиатуры в компьютере имеется специальный порт клавиатуры (микросхема).


Рисунок 4 – Работа процессора с клавиатурой

Алгоритм работы:

1) При нажатии клавиши контроллер клавиатуры формирует цифровой код. Этот сигнал поступает в микросхему порта клавиатуры.

2) Порт клавиатуры посылает процессору сигнал прерывания. Каждое внешнее устройство имеет свой номер прерывания, по которому процессор его и распознаёт.

3) Получив прерывание от клавиатуры, процессор прерывает выполнение программы (например, редактор Microsoft Office Word) и загружает из памяти программу обработки кодов с клавиатуры. Такая программа называет драйвер.

4) Эта программа направляет процессор к порту клавиатуры, и цифровой код загружается в регистр процессора.

5) Цифровой код сохраняется в памяти, и процессор переходит к выполнению другой задачи.

Благодаря высокой скорости работы, процессор выполняет одновременно большое количество процессов.

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

Общее представление о микропроцессорах

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

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

Архитектура

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

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

Внешние интерфейсы

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

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

Характеристики микропроцессора

К основным характеристикам микропроцессорных устройств можно отнести следующие:

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

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

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

Память в микропроцессорной технике

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

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

Функции

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

  • Чтение данных.
  • Обработка данных.
  • Обмен информацией с внутренней памятью, модулями или внешними подключенными устройствами.
  • Запись данных.
  • Ввод и вывод данных.

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

Производители устройств

У истоков создания микропроцессорных устройств стояли инженеры компании Intel, выпустившие целую линейку 8-разрядных микроконтроллеров на платформе MCS-51, которые в некоторых сферах применяются и сегодня. Также многие другие изготовители использовали семейство x51 для собственных проектов уже в рамках развития новых поколений электроники и микропроцессорной техники, в числе представителей которой значатся и отечественные разработки наподобие однокристальной ЭВМ К1816ВЕ51.

Выйдя в сегмент более сложных процессоров, фирма Intel уступила место микроконтроллеров другим компаниям, в числе которых оказались Analog Device и Atmel. Принципиально новый взгляд на архитектуру микропроцессоров предлагают фирмы Zilog, Microchip, NEC и др. На сегодняшний день в контексте развития микропроцессорной техники можно рассматривать линейки x51, AVR и PIC как наиболее успешные. Если же говорить о тенденциях разработки, то в наши дни на первое место выходят требования к расширению спектра задач внутреннего управления, компактности и низкому энергопотреблению. Иными словами, микроконтроллеры становятся меньше и рациональнее с точки зрения обслуживания, но при этом наращивают мощностный потенциал.

Обслуживание техники на базе микропроцессора

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

  • Фиксация сбоев в процессе работы системы и их анализ с определением причин нарушения.
  • Предупреждение отказов устройства и его компонентов за счет назначенного регламентного обслуживания.
  • Устранение отказов устройства путем ремонта поврежденных элементов или их замены на исправные аналогичные детали.
  • Производство своевременного ремонта компонентов системы.

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

Применение микропроцессорной техники

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

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

Несколько слов в заключение

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