
Микропроцессоры и микроЭвм.
Понятие ЭВМ
Вычислительная машина – комплекс технических и программных средств, предназначенных для автоматизированной обработки данных по заданному алгоритму.
Вычислительная система – совокупность взаимосвязанных и взаимодействующих процессоров или вычислительных машин, периферийного оборудования и программного обеспечения, предназначенного для автоматической обработки данных по заданному алгоритму.
Принцип действия ЭВМ
Заложены идеи автоматизации процесса обработки данных.
Структурная схема абстрактной ЭВМ, которая позволяет показать состав, порядок и принципы взаимодействия основных функциональных частей ЭВМ.
Типичная Фон-неймановская вычислительная машина содержит память, устройство управления, арифметико-логическое устройство (АЛУ) и устройства ввода/вывода (УВВ).
Вторичная
Память
Основная
память
Порт
ввода
(Устройство
вода)
Арифметико-логическое
устройство
Устройство
управления
Порт
вывода
(Устройство
вывода) вывода
Процессор
АЛУ – арифметико-логическое устройство.
Арифметико-логическое устройство и Устройство управления образуют процессор.
Информация поступает из присоединенных к ЭВМ периферийных устройств (ПУ) ввода. Результаты выводятся на ПУ вывода. Связь и взаимодействие ВМ и ПУ обеспечивают порты ввода и порты вывода. Порт – обозначает аппаратуру сопряжения ПУ с ВМ и управления им.
Введенная информация сначала заносится в основную память, а затем во поступает во вторичную память для длительного хранения.
Основная память состоит из запоминающих устройств (ЗУ) и предназначена для хранения алгоритма обработки данных (т.е. ПО) и самих данных. Она включает некоторое число ячеек памяти, каждая из которых используется для запоминания одного n-разрядного двоичного числа.
Запись и чтение данных осуществляется только при указании места их хранения.
Для долговременного хранения больших программ и массивов данных в ВМ имеется дополнительная память, которая называется вторичной и является энергонезависимой, а основная память – энергозависима.
Арифметико-логическое устройство выполняет арифметические и логические операции над поступающими в него двоичными кодами команд и данных.
Каждый микропроцессор выполняет ограниченное число команд, входящих в систему команд ЭВМ. Помимо результата операции АЛУ формирует ряд признаков результата (флагов), которые характеризуют полученный результат (равенство 0, равенство знака, четность, и т.д.).
УУ под воздействием поступающих данных автоматически координирует работу всех устройств ЭВМ посредством своевременной выдачи на них управляющих сигналов: предписывает АЛУ выполнение конкретной операции, управляет обменом между ЗУ и МП, работой УВВ.
Алгоритм – конечный набор предписаний, определяющий решение задачи посредством конечного количества операций. В памяти ЭВМ он храниться в виде двоичных многоразрядных чисел (машинных кодов команд).
Программа – описание алгоритмов в форме, воспринимаемой ЭВМ. Программа состоит из отдельных команд, каждая команда предписывает определенные действия и указывает над какими данными (операндами) это действие производится.
Перед началом решения задачи в ЗУ через УВВ записываются в виде кода программа и подлежащие обработке данные. В ходе вычислительного процесса при выполнении очередной команды из ЗУ считывается эта команда. По адресной части команды определяется местонахождение обрабатываемых данных, они извлекаются из ЗУ. Процессор выполняет над ними указанную в коде операцию и записывает результат на хранение в ЗУ. Затем определяется местонахождение следующей команды программы и снова повторяется аналогичный цикл.
Основные характеристики и архитектура ЭВМ
Архитектура ЭВМ – совокупность её свойств и характеристик, рассматриваемых с точки зрения пользователя машиной.
Важнейшими для пользователя группами характеристик ЭВМ, которые определяют её архитектуру, являются:
Характеристики машинного языка и системы команд (количество и состав команд, их форматы, системы адресации, наличие программно доступных регистров в процессоре и т.д.), которые определяют алгоритмические возможности ЭВМ.
Технические и эксплуатационные характеристики ЭВМ:
Производительность
Показатели надежности, точности, емкость памяти, потребляемая мощность, стоимость и т.д.
Характеристики и состав функциональных модулей базовой конфигурации ЭВМ (наличие возможности подключения дополнительных модулей, сверхоперативной память, с целью расширения базовой конфигурации ли улучшения характеристик базовых модулей).
Состав ПО и принципы его взаимодействия с техническими средствами.
К ресурсам ЭВМ относятся те реальные и программные средства (машинное время процессора, емкость ОЗУ набор УВВ, программные модули), которые ЭВМ может выделить процессу обработки данных на время решения задач пользователя.
Программное и аппаратное обеспечение ЭВМ взаимосвязаны и образуют с точки зрения пользователя виртуальную ЭВМ, в которой отдельные ресурсы реализованы совокупностью программы и аппаратных средств.
Архитектруно-функциональные принципы построения ЭВМ
(принципы фон-Неймана).
Принцип программного управления работы ЭВМ. Все вычисления предусмотренные алгоритмом решения задачи должны быть представлены в виде программы. Которая состоит из команд. Каждая из них предписывает некоторую операцию из набора операций, реализуемую ВМ. Этот набор – система команд.
Принцип условного перехода. Команды программы хранятся в последовательных ячейках памяти ЭВМ и выполняются в порядке естественной последовательности, т.е. в порядке их положения в программе. При необходимости, с помощью специальных команд, эта последовательность может быть изменена. Решение об изменении порядка выполнения команд программы может быть принято в зависимости от результатов промежуточных вычислений или, безусловно. Реализация этого принципа позволяет осуществить в программе циклы с автоматическим выходом из них, итерационные процессы и т.д. Благодаря этому принципу число команд в программе получается значительно меньшим, за счет многократного вхождения в работу участков программы.
Принцип хранимой программы (однородности памяти). Команды представляются в числовой форме и хранятся в том же ОЗУ, что и исходные данные. Команды для использования из УУ, а числа в АЛУ. Для ЭВМ и команда и число являются машинным словом и если команду в АЛУ направить в качестве операнда, то над ней можно произвести арифметические действия, изменив ее. Что дает возможность преобразования программы в ходе ее выполнения. Это обеспечивает также одинаковое время. Позволяет быстро менять программу и ее части. Вводить непрямые системы адресации. Архитектура ЭВМ, которой было предусмотрено отдельно память для команд, и отдельно для данных получила название «Гарвардской».
Принцип двоичного кодирования. Вся информация, как данные, так и команды, кодируются двоичными цифрами 0 и 1, что существенно упрощает техническую конструкцию ЭВМ. При этом каждый тип информации представляется двоичной последовательностью и имеет свой формат (числа команды)
Принцип иерархичности ЗУ. Компромисс между емкостью и временем к доступу к данным для относительной дешевизны.
Понятие о МПС
Микропроцессорная система (МПС) – частный случай электронной системы, предназначенный для обработки входных и выдачи выходных сигналов.
Электронная
система
(обработка/хранение)
А
налоговый
сигнал Аналоговый сигнал
Ц
ифровой
сигнал Цифровой сигнал
Ц
ифровой
код Цифровые коды
В качестве входных/выходных сигналов используется аналоговый, цифровой сигналы, цифровые коды, одиночные и последовательные.
Внутри системы может производиться хранение, накопление сигналов или информации.
Входные аналоговые сигналы преобразуются в последовательности кодов выборок с помощью АЦП. Выходные аналоговые сигналы формируются из последовательности кодов выборок с помощью ЦАП. Обработка и хранение информации производится в цифровом виде.
Характерная особенность цифровой системы (ЦС) – алгоритмы обработки и хранения информации в ней жестко связаны со схемотехникой системы, т.е. изменение этих алгоритмов возможно только путем изменения структуры системы, заменой электронных узлов, входящих в систему или связей между ними. Эти изменения трудно осуществить, поэтому традиционно ЦС часто называется системой на жесткой логике.
Такая система настроена исключительно на одну задачу.
Преимущества:
Специализированная система в отличие от универсальной, никогда не имеет аппаратной избыточности, т.е. каждый элемент работает на полную мощность.
Такая система может обеспечивать максимально высокое быстродействие, т.к. скорость выполнения алгоритмов обработки информации определяется в ней только быстродействием отдельных логических элементов и выбранной схемой путей прохождения информации.
Недостатки:
Для решения каждой новой задачи ее надо проектировать и изготавливать заново.
Для преодоления этого недостатка необходимо построить такую систему, которая могла бы легко адаптироваться под любую задачу, перестраиваться с одного алгоритма на другой без изменения аппаратуры. Задавать тот или иной алгоритм можно путем ввода в систему некоторой, дополнительной, управляющей информации, программы работы системы. Тогда система станет универсальной или программируемой, не жесткой - а гибкой. Именно это обеспечивает МПС.
Программируемая (универсальная) электронная система
Электронная
система
(обработка/хранение)
Управляющая информация
(программа)
Недостатки:
Любая универсальность приводит к избыточности. Это связано с тем, что решение максимально трудной задачи требует гораздо больше средств, чем решение максимально простой задачи. Избыточность ведет к увеличению стоимости системы, снижению ее надежности, увеличению потребляемой мощности, и т.д.
Универсальность приводит к снижению быстродействия. Для таких систем не существует задач, которые они решали бы с максимальной производительностью.
Вывод: системы на жесткой логике хороши там, где решаемая задача не меняется длительное время, где требуется высокое быстродействие, алгоритмы обработки остаточно просты. Универсальные системы хороши там, где часто меняется решаемая задача, где высокое быстродействие не слишком важно, где алгоритмы обработки сложны.
Однако за последние 10 лет, быстродействие универсальных МПС выросло, а стоимость их резко упала. В результате область применения систем на жесткой логике резко уменьшилась. Стали широко развиваться программируемые системы, предназначенные для решения одной, или нескольких близких задач, которые сочетают в себе высокое быстродействие и необходимую гибкость.
Понятие о микропроцессоре
Ядром любой МПС является МП или Процессор (П). Он предназначен для обработки информации внутри МПС, остальные узлы выполняют лишь вспомогательные функции (хранение информации, связь с внешними устройствами и т.д.). Процессор заменяет практически всю жесткую логику, которая бы понадобилась в случае традиционной цифровой системы. Он выполняет арифметические и логические функции, временное хранение файлов, хранение кодов, их пересылку между узлами МПС. Все операции П выполняет последовательно. Порядок действий определяется управляющей информацией или программой.
Программа – набор команд или инструкций, т.е. цифровых кодов, расшифровав которые П узнает, что ему надо делать. Все команды, выполняемые П, образуют систему команд П Структура и объем системы команд П определяют его быстродействие и удобство использования. Всего команд может быть от нескольких десятков до сотен/тысяч.
Система команд может быть рассчитана на узкий круг решаемых задач (и специализированных процессов) или на широкий круг задач (универсальный Процессор). Коды команд могут содержать от 1 до нескольких байт.
Каждая команда имеет свое время выполнения. Для выполнения команд в структуру Процессора входят внутренние регистры, АЛУ, мультиплексоры, просто регистры и другие узлы. Работа П синхронизируется общим внешним сигналом П
Простейшая структура Процессора
Процессор
АЛУ
Схема
управления выборкой команд
Rg
Логика
Управления
Схема
управления прерывания
Схема
управления
ПДП
Rg
Регистр
признаков
PSW
Rg
Сброс
Тактовый
сигнал
ШД
ШУ
ШУ
ШП
Шинная структура связи
Для достижения максимальной универсальности и упрощения протоколов обмена информации в МПС применяется шинная структура связи между отдельными устройствами, входящими в систему.
Устройство 1
Устройство 2
Устройство 3
Устройство 4
При классической структуре связи все сигналы и коды между устройствами передаются по отдельным линиям связи. Каждое устройство, входящее в систему передает свои сигналы и коды независимо от других устройств. При этом получается очень много линий связи и протоколов обмена информации.
Устройство 1
Устройство 2
Устройство 3
Устройство 4
При шинной структуре связи все сигналы передаются между устройствами по одним и тем же линиям связи, но в разное время (мультиплексированная передача). Причем передача по всем линиям связи может осуществляться в обоих направлениях (двунаправленная передача).
В результате: количество линий связи сокращается, а протоколы обмена упрощаются. Группа линий связи, по которым передаются сигналы или коды носят название – шины.
Основное достоинство – все устройства, подключенные к шине должны принимать и передавать информацию по одним и тем же правилам (протоколам обмена информации по шине).
Следовательно, все узлы, отвечающие за обмен с шиной, должны быть унифицированы.
Основной недостаток – все устройства подключены к каждой линии связи параллельно. Поэтому, любая неисправность любого устройства может вывести из строя всю систему, если она портит линию связи.
Процессор
Память
Устройства
ввода/вывода
ШП
ШД
ША
ШУ
Все устройства МПС объединяются общей системной шиной, которая включает в себя 4 шины нижнего уровня:
Шина Питания
Шина Данных
Шина Адреса
Шина Управления
Шина Адреса – служит для определения адреса (номера устройства) с которым П обменивается информацией в данный момент. Каждому устройству кроме П присваивается собственный адрес. Когда код какого-то адреса выставляется П на ША устройство, которому этот адрес приписан, понимает, что ему предстоит обмен информацией. ША может быть одно- и двунаправленной.
Шина Данных – предназначена для передачи информационных кодов между всеми устройствами МПС. Обычно в пересылке информации участвует П, который передает код данных в какое-то устройство или в ячейку памяти, или же, принимают код данных из какого-то устройства или из ячейки памяти. Возможна также передача информации между устройствами без участия П ШД всегда двунаправленная.
Шина Управления – Состоит из отдельных линий, по которым передаются управляющие сигналы (УС). При этом каждый УС, во время обмена информацией имеет свою функцию. Сигнал служит для стробирования передаваемых/получаемых данных, т.е. определяет моменты времени, когда информационный код выставлен на ШД. Для подтверждения приема данных, для тактирования всех устройств и т.д. ШУ одно- или двунаправленные.
Шина Питания – для питания системы, она состоит из линий питания и общего провода. В МПС может быть один источник питания, чаще всего +5В, или несколько источников +/-5В или +/-12В. Каждому напряжению питания соответствует своя линия связи. Все устройства подключены к этим устройствам параллельно. Если в МПС необходимо ввести входной сигнал, то П по ША обращается к нужному УВВ и принимает по ШД входную информацию. Если МПС необходимо вывести выходной сигнал, то П обращается по ША к нужному УВВ и передает ему по ШД выходную информацию. Если информация должна пройти сложную многоступенчатую обработку, то П может хранить промежуточные результаты в системной оперативной памяти. Для обращения к любой ячейке памяти П выставляет ее адрес на ША и передает в нее информационный код по ШД или же принимает из нее цифровой код по ШД.
В памяти, Оперативной и Постоянной, память находятся также и управляющие коды (команды программы), которые П также читает по ШД с адресацией по ША.
Постоянная память используется для хранения программы начального пуска МПС, которая выполняется каждый раз после включения питания. При этом информация заносится в нее раз и навсегда. Таким образом, в МПС все информационные коды и коды команд передаются по шинам последовательно (по очереди), что определяет невысокое быстродействие МПС. Оно ограничено даже не быстродействием П, и не скоростью обмена по системной шине, а именно последовательным характером передачи информации по системной шине.
Режимы работы МПС
Гибкость МПС обусловлена тем, что функции выполняемые системой, определяются программой, которую выполняет П.
Шинная организация МПС позволяет легко менять аппаратные модули, тем самым, меняя характеристики системы.
Гибкость МПС также определяется выбором режима работы системы, т.е. режима обмена информацией по СШ.
Три основных обмена информацией по системной шине (СШ):
Программный обмен информацией.
С использованием прерываний.
С использованием прямого доступа к памяти (ПДП).
Программный обмен информацией – основной в МПС. В этом режиме П. является единоличным хозяином или задатчиком системной магистрали. Все операции обмена информации в данном случае инициируются только П. Все они выполняются в строгом порядке, предписанном в исполняемой программе. П выбирает из памяти коды команд и выполняет их, читая данные из памяти или из УВВ, обрабатывая их, записывая их в память или передавая в УВВ. Путь П по программе может быть линейным, циклическим, может содержать переходы, но всегда непрерывен и полностью находится под контролем П. Ни на какие внешние сигналы, не связанные с программой, П не реагирует. Все сигналы на магистрали контролируются П.
Ход программного обмена информацией
Команда
1 Команда
2 Команда
3 .
. .
. .
. Команда
N Команда
N+1 Команда
N+2 Команда
N+3 Команда
N+4
Ход
программы
Цикл
Переход
ПРОГРАММА
Обмен по прерываниям используется тогда, когда необходима реакция МПС на какое-то внешнее событие, на приход внешнего сигнала (пример: нажатие клавиши). Для организации реакции на внешнее событие используются следующие пути:
С помощью постоянного программного контроля
С помощью прерывания, т.е. насильственного перевода П с выполнения текущей программы на выполнение экстренно необходимой программы.
С помощью прямого доступа к памяти, т.е. без участия П при его отключении от системной магистрали.
С помощью постоянного программного контроля - с опросом флага – реализуется в МПС с постоянным чтением информации П из УВВ, связанного с тем устройством, на поведение которого необходимо реагировать.
С
Команда
1 Команда
2
Команда
3 .. .. .. Команда
N Команда
N+1 Команда
N+2
Команда
1 Команда
2 Команда
3 .. .. Команда
M
Запрос прерывания
помощью прерывания
– в режиме прерывания П, получив запрос
прерывания от внешнего устройства,
заканчивает выполнение текущей команды
и переходит к программе обработки
прерываний. Закончив выполнение
прерываний, он возвращается к прерванной
программе с той точки, где его прервали.
При этом вся работа, как и в первом
случае, осуществляется самим П. Внешнее
событие просто временно отвлекает его.
Для обслуживания прерываний в систему
вводится контроллер прерываний, но в
обмене информации он не участвует. Его
задача – упростить работу П с внешними
запросами прерываний. Этот контроллер
программно управляется П по системным
магистралям. Его применение позволяет
отказаться от постоянного опроса флага
внешнего события и временно, до наступления
внешнего события, занять П выполнением
каких-то внешних задач.
Обслуживание прерывания
С помощью прямого доступа к памяти – режим, при котором обмен по системной шине идет без участия П. Внешние устройства, требующие обслуживания, сигнализируют П что режим ПДП необходим. В ответ на это П заканчивает выполнение текущей команды и отключается от всех шин, сигнализируя запросившему устройству, что обмен в режиме ПДП можно начинать. Операция в режиме ПДП сводится к пересылке информации из УВВ или из памяти в УВВ. Когда пересылка информации будет закончена, П возвращается к прерванной программе, продолжая ее с той точки, где его прервали.
Команда
1 Команда
2
Команда
3 .. .. .. Команда
N Команда
N+1 Команда
N+2
Запрос ПДП
Программа
Для обеспечения информационного обмена по системной магистрали в систему вводится дополнительное устройство – контроллер ПДП. П предварительно сообщит контроллеру ПДП откуда ему следует брать информацию, или куда ее следует поместить. Контроллер ПДП является специализированным процессором, который сам не участвует в процессе обмена, не принимает в себя информацию и не выдает ее.
Системная магистраль
Процессор
Контроллер
ПДП
Память
УВВ
Контроллер ПДП может входить в состав УВВ, которому необходим режим ПДП, скорость в ПДП ограничена возможностями магистрали. Наличие в системе самостоятельного контроллера ПДП позволяет упростить аппаратуру УВВ работающего в режиме ПДП.
Архитектура МПС
Два основных типа архитектур МПС:
С общей единой шиной для данных и команд (фон - Неймановская). В этом случае в составе системы одна общая память для данных и для команд.
Общая шина для данных и для команд
Процессор
Память
УВВ
С разбитыми шинами данных и команд (двухшинная или гарвардская архитектура). Система предполагает наличие отдельной памяти для данных и для команд. Обмен процессора с каждым из типов происходит по своей шине.
Шина
данных
Процессор
Память
УВВ
Шина
команд
Архитектура с общей шиной распространена гораздо больше. Применяется в ПК. Архитектура с раздельными шинами – в однокристальных МП.
Архитектура с общей шиной проще, не требует одновременного обслуживания двух шин, а также контроля и обмена по двум шинам П.
Наличие единой памяти команд и данных позволяет гибко распределять ее оббьем между кодами данных и команд. Как правило, с такой архитектурой память бывает большого объема.
Архитектура с раздельной шиной сложнее. Она заставляет работать П одновременно с двумя потоками кодов. Обслуживать обмен по двум шинам одновременно. Программа может размещаться только в памяти команд. Данные – только в памяти данных. Такая узкая специализация ограничивает круг задач решаемых системой, т.к. не дает возможности гибкого перераспределения памяти.
Современные П способны совместить по времени выполнение команд и проведение циклов обмена по системной шине. Этому способствует использование конвейерных технологий, кэш-памяти, повышение тактовой частоты П и совершенствование структуры П.
Дальнейшее увеличение быстродействия системы возможно только при совмещении пересылки данных и чтения команд, т.е. при переходе к архитектуре с двумя шинами.
В случае двухшинной архитектуры обмен по обеим шинам может быть независимым, параллельным во времени. При этом структура шины (количество разрядов кода адреса и кода данных), порядок и скорость обмена информации могут быть выбраны оптимально для той задачи, которая решается в каждой шине.
Переход на двухшинную архитектуру ускоряет работу МПС, хотя и требует дополнительных затрат на аппаратуру. В этом случае память данных имеет свое распределение адресов, а память команд свое.
Проще всего преимущество двухшинной архитектуры реализуется внутри одной микросхемы. Поэтому основное ее применение в микроконтроллерах, от которых не требуется решения слишком сложных задач, но зато необходимо максимальное быстродействие, при заданной тактовой частоте.
Типы МПС
Различают несколько типов МПС, отличающихся мощностью, универсальностью, быстродействием и структурными отличиями:
Микроконтроллеры – наиболее простой вид МПС, в которой все или большинство узлов выполнены в виде отдельных модулей.
Контроллер – управляющие МПС, выполненные в виде отдельных модулей.
Микрокомпьютеры – более мощная МПС, с развитыми функциями сопряжения с внешними устройствами.
Компьютеры, в том числе и ПК - самые мощные и универсальные МПС.
Микроконтроллеры – представляют собой универсальное устройство, которое используется в более сложных устройствах, например в контроллерах. Системная шина микроконтроллера скрыта от пользователя внутри микросхемы. Возможности подключения внешних устройств к микроконтроллеру ограничены. Они обычно предназначены для решения одной задачи.
Контроллер – для решения отдельной задачи, либо группы близких задач. Они обычно ограничены в подключении дополнительных узлов и устройств. Их системная шина обычно недоступна пользователю. Выполняемые программы хранятся в памяти и не меняются. Выполняются в одноплатном варианте.
Микрокомпьютеры – имеют более открытую структуру, архитектуру. Допускают подключение к системной шине нескольких дополнительных устройств. Могут иметь средства хранения информации, развитые средства связи с пользователем (монитор, клавиатура). Микрокомпьютеры предназначены для решения широкого класса задач.
Компьютеры, в том числе и ПК – самые универсальные из МПС.
Функции устройства магистрали
Рассмотрим взаимодействие на магистрали основных устройств МПС – П, памяти и УВВ.
Функции памяти:
Схема управления выборкой команд выполняет чтение команд из памяти и их дешифрации. В первых МП не было одновременного выполнения предыдущей команды и выборки следующей, т.к. П не мог совмещать эти операции. В шестнадцатиразрядных П появляется конвейер (очередь команд) позволяющий выбирать несколько команд, следующих за исполняемой.
Конвейер – небольшая внутренняя память П, в которую при малейшей возможности при освобождении внешней шины записывается несколько команд, следующих за исполняемой. Читаются эти команды в том же порядке, в котором были записаны. Это память типа FIFO – first in/first out – конвейер не помогает, если выполняемая команда предполагает переход не на следующую ячейку памяти, а на установленную с команды условных и безусловных переходов, вызов подпрограмм.
Развитием идей конвейера стало использование внутренней кэш-памяти П, которая заполняется командами, пока П занят выполнением предыдущих команд. Чем больше объем кэш-памяти, тем меньше вероятность того что содержимое придется сбросить при команде перехода.
Для большего ускорения выборки команд в современных П применяется совмещение выборки и дешифрации, одновременная дешифрация нескольких команд, несколько параллельных конвейеров команд, предсказание переходов, и прочие методы.
АЛУ – предназначено для обработки информации в соответствии с полученной П командой. Быстродействие АЛУ во многом определяет производительность П, при этом важна не только частота тактового сигнала, которым тактируется АЛУ, но и количество тактов, необходимые для выполнения той ли иной команды. Для повышения производительности разработчики стремятся довести время выполнения команды для первого такта, а также обеспечить работу АЛУ на более высокой частоте. Один из путей решения этой задачи состоит в уменьшении количества выполняемых АЛУ команд, создания П с уменьшенным набором команд (RISC).
Другой путь повышения производительности П – использование нескольких, параллельно работающих АЛУ, также использование математического сопроцессора, встроенного в МП для выполнения операций над числами с плавающей запятой.
Регистры П представляют собой по сути ячейки очень быстрой памяти и служат для временного хранения кодов данных, адресов и служебных кодов. Разрядность регистров и АЛУ называется внутренней разрядностью П, которая может и не совпадать с внешней разрядностью. По отношению к назначению внутренних регистров существует два основных подхода:
Отводит каждому регистру строго определенную функцию (Intel). С одной стороны, это упрощает организацию П и уменьшает время выполнения команды, а с другой – снижает гибкость.
Все регистры равноправны (DEC). При этом достигается высокая гибкость, но необходимо усложнение структуры П.
Промежуточный подход (фирма Motorola) – половина регистров используется для записи данных, половины для записи адресов.
Регистр признаков (регистр состояния) содержит не данные, не адрес, а словосостояние П (PSW). Каждый бит (флаг) этого слова содержит информацию о результат предыдущей команды. Обычно регистр признаков содержит бит четности, быт нужного результата, бит переполнения, различные флаги управления и т.д.
Схема управления прерыванием: обрабатывает (полученный результат) поступивший запрос – прерывания, определяет адрес начала программы обработки прерывания (адрес вектора прерывания), обеспечивает переход к этой программе после выполнения текущей команды и сохранения в памяти (в стеке) текущего сочетания регистров. По окончании программы обработки прерывания П возвращается к прерванной программе с восстановленными из памяти - из стека, значениями внутренних регистров.
Схема управления прямым доступом в память: служит для временного отключения П от внешних шин, и приостановления работы П на время предоставления прямого доступа запросившему его устройства.
Логика управления: организует взаимодействия всех узлов П перенаправляет данные, синхронизирует работу П с внешними сигналами. А также реализует процедуры ввода вывода информации. В ходе работы П схема выборки команд выбирает последовательно команды из памяти, затем эти команды выполняются, в случае необходимости обработки данных подключается АЛУ. На входы могут подаваться обрабатываемые данные из памяти или из внутренних регистров. Во внутренних хранятся также коды адресов, обрабатываемых данных, расположенных в памяти. Результат обработки в АЛУ изменяет сочетание регистров признаков и записывается во внутренний регистр (аккумулятор) или в память. Внутренние регистры любого МП обязательно выполняют 2 служебные функции:
Определяет адрес в памяти, где находится выполняемая в данный момент команда (функция счетчика команд или указателя команд)
Определяет текущий адрес стека (функция указателя стека)
В начале работы системы в счетчик команд заносится раз и навсегда установленные значения, это адрес (первый) программы начального запуска. Затем после выборки из памяти каждой следующей команды значение счетчика команд автоматически увеличивается на 1 (или на 2, или на 3, в зависимости от формата команд и типа П). Следующая команда выбирается из следующего по порядку адреса памяти. При выполнении команд перехода нарушающих последовательный перебор адресов в памяти, в счетчик команд принудительно записывается новое значение, новый адрес в памяти.
Функция памяти
Память МПС выполняет функции временного или постоянного хранения данных и команд. Модули памяти выполняются на микросхемах памяти оперативной или постоянной, или в виде флэш-памяти, которая представляет собой энергонезависимую память с возможностью многократного перезаписывания содержимого.
Информация в памяти храниться в ячейках, количество разрядов которых равно количеству разрядов шины данных П. Обычно оно кратно 8: 8,16,32,64.
Допустимое количество ячеек памяти определяется количеством разрядов шины адреса как 2n, где n-количество разрядов шины адреса.
Д
Память
Адрес
CS
WR
Данные
Буфер
Схема
управления
Селектор
адреса
ША
ШД
ШУ
ШП
Оперативная память общается с системной магистралью в циклах чтения и записи, а постоянная память – только чтения.
Совокупность ячеек памяти называется пространством памяти системы. Селектор адреса определяет, какая область адресов пространства памяти отведена данному модулю памяти.
Схема управления вырабатывает в нужные моменты сигналы разрешения работы памяти (CS) и сигналы разрешения записи в память (WR)
Буферы данных - передают данные от памяти к магистрали и наоборот.
Память программы начального запуска выполняется на ПЗУ или флэш-памяти. С этой области П начинает работу после включения питания и после сброса его с помощью Reset’а.
Стек – часть оперативной памяти предназначенной для временного хранения данных в режиме LIFO(LAST IN/FIRST OUT).
При записи любого числа в стек число записывается по адресу, определяемому как содержимое регистра указателя стека, предварительно уменьшенное на единицу.
При чтении числа из стека – число читается из адреса, определяемого содержимым указателя стека, после чего это содержимое указателя стека увеличивается на единицу.
В результате получается, что число, записанное первым, будет прочитано последним, и наоборот.
В системе команд любого П для обмена информацией со стеком предусмотрены специальной командой записи в стек (PUSH) и чтения из стека (POP).
В стеке можно прятать не только содержимое всех внутренних регистров П, но и содержимое регистра признаков, словосостояние П (PSW).
Следующая специальная область памяти – таблица векторов прерываний.
Под прерыванием в общем случае понимается не только обслуживание запроса внешнего устройства, но и любое нарушение последовательной работы П. Пример: прерывание может быть предусмотрено по факту некорректного выполнения арифметического действия – деление на 0.
Или прерывание может быть программным, когда в программе используется команда перехода на какую-то подпрограмму, из которой потом последует переход в основную программу.
Любое прерывание обрабатывается через таблицу векторов прерываний.
В этой таблице находятся адреса начала программ обработки прерываний, которые называются векторами.
Таблица векторов прерываний обычно располагается в начале пространства памяти.
Адрес каждого вектора представляет собой номер прерывания.
В случае аппаратных прерываний номер прерывания или задается устройством, запросившим прерывание (при векторных прерываниях), или же задается номером линии запросов прерывания (при радиальных прерываниях).
П, получив аппаратное прерывание, заканчивает выполнение текущей команды и обращается к памяти в область таблицы векторов прерываний, в ту ее строку, которая определяется номером запрошенного прерывания. Затем П читает содержимое этой строки (код вектора прерывания) и переходит в адрес памяти задаваемой этим вектором.
Начиная с этого адреса, в памяти должна располагаться программа обработки прерывания с данным номером.
В конце программной обработки прерываний обязательно должна располагаться команда выхода из прерывания, выполнив которую П возвращается к выполнению прерванной основной программы.
Параметры П на время выполнения программы обработки прерывания сохраняется в стеке.
Упрощенный алгоритм обработки прерываний
Основная
программа
Программа
обработки прерываний
Стек
PSW
5001
6000
0004
Таблица векторов прерываний
6000
6100
Прерывание
с номером 4
5000
5001
Прерывание в случае аварийной ситуации обрабатывается точно также, только адрес вектора прерывания жестко привязан к данному типу аварийной ситуации.
Программное прерывание тоже обслуживается через таблицу векторов прерываний, но номер прерывания не указывается в составе команды вызвавшей прерывание.
Во время выполнения программной обработки прерывания может поступить новый запрос на прерывание. В этом случае он обрабатывается точно также, но основной программой считается прерванная программа обработки предыдущего прерывания. Это называется многократным вложением прерываний. При этом механизм стека позволяет без проблем обслуживать это многократное вложение, т.к. первым из стека извлекается тот код, который был сохранен последним, т.е. возврат из обработки данного прерывания происходит в программной обработке предыдущего прерывания.
Еще одна специальная область памяти МПС это память устройств, подключенных к СШ. При этом память получает возможность обращаться к внутренней памяти УВВ или других, подключенных к СШ, устройств, как к своей собственной системной памяти.
Все остальные части пространства памяти имеют универсальное назначение. В них могут храниться как данные, так и программы. Иногда пространство памяти используется как единое целое, иногда делится на сегменты с программно заменяемым адресом начала сегмента и с установленным размером сегмента.
Использование сегмента позволяет защитить область программ или данных, но при этом граница сегментов затрудняет размещение больших программ и массивов данных.
Функции УВВ
УВВ обменивается информацией с магистралью по тем же принципам, что и память. При этом набольшее отличие с точки зрения организации обмена состоит в том, что модуль памяти имеет в адресном пространстве много адресов, а УВВ – мало адресов, а иногда всего 1.
Модули памяти системы обмениваются информацией только с магистралью с П, а УВВ взаимодействуют еще и с внешними устройствами.
Структура простейших УВВ
На
внешнее устройство
С
внешнего устройства
Регистр
С
Буфер
ОЕ
Буфер
Схема
управления
Селектор
адреса
УВВ выдают на внешнее устройство код данных в параллельном формате. Такие устройства часто называют параллельными портами ввода/вывода. Они являются наиболее универсальными, так как удовлетворяют потребностям сопряжения с большим числом внешних устройств, поэтому их часто вводят в состав МПС в качестве стандартных устройств.
Параллельные порты обычно имеются в составе микроконтроллера, через которые он связывается с внешним миром.
Входной порт представляет собой параллельный регистр, в который П может записывать информацию.
Выходной порт – однонаправленный буфер, через который П может читать информацию от внешнего устройства.
При обращении со стороны магистрали селектор адреса распознает адрес приписанный данному УВВ. Схема управления выдает внутренние стробы обмена в ответ на магистральные стробы обмена. Входной буфер данных обеспечивает электрическое согласование ШД с этим устройством. Данные из ШД записываются в регистр по сигналу С и выдаются на внешнее устройство. Выходной буфер данных передает входные данные с внешнего устройства на ШД магистрали в цикле чтения из порта.
Более сложные УВВ имеют в своем внутреннюю составе внутреннюю буферную оперативную память или даже микро-котроллер, на который возложено выполнение функций обмена с внешним устройством.
Каждому УВВ отводится свой адрес в адресном устройстве МПС.
При обращении со стороны магистрали селектор адреса распознает адрес приписанный данному УВВ. Схема управления выдает внутренние стробы обмена (сигналы), в ответ на магистральные стробы обмена. Входной буфер данных обеспечивает электрическое согласование ШД с этим же устройством. Данные из ШД записываются в регистр по сигналу С и выдаются на внешние устройства. Выходной буфер данных передает входные данные с внешнего устройства на ШД магистрали в цикле чтения из порта. Более сложные УВВ имеют в своем составе внутреннюю оперативную память или микроконтроллер, на который возложено выполнение функции обмена с внешними устройствами. Каждому УВВ отводится свой адрес в адресном пространстве МПС, дублирование адресов должно быть исключено. В составе МПС выделяют 3 специальные группы УВВ:
Устройство интерфейса пользователя (ввод информации пользователем и вывод информации для пользователя)
Устройство УВВ для длительного хранения информации
Таймерное устройство.
К первой группе относятся котроллеры, клавиатуры, мыши и т.д.
К устройствам вывода для интерфейса пользователя относятся контроллеры светоидных индикаторов, ЖК и ЭЛТ экранов и т.д.
УВВ для длительного хранения информации обеспечивают сопряжение МПС с дисководами и накопителями.
Таймерные устройства предназначены для того, чтобы МПС могла выдерживать заданные временные интервалы и следить за реальным временем. В основе любого таймера лежит кварцевый тактовый генератор и многоразрядные двойные счетчики, которые могут перезапускать друг друга.
Функции процессора
Адресация операндов и регистры процессоров
Самые компактные и быстрые программы создаются на языке assembler. Он представляет собой символьную запись цифровых кодов машинного языка и кодов команд П. Для разработки программного обеспечения существуют всевозможные программные средства, пользоваться которыми можно и без знания системы команд П. При этом чаще всего используются языки программирования высокого уровня: Pascal, C/C#;
Assembler позволяет повысить эффективность наиболее важных частей программного обеспечения любой МПС: от микроконтроллера до ПК. Каждая команда, выбираемая из памяти процессором, определяет алгоритм поведения П на ближайшие несколько тактов. Код команды говорит о том, какую операцию предстоит выполнить процессоры и с какими операндами. Где взять исходную информацию для выполнения команды и куда поместить результат.
Код команды может содержать от одного до нескольких байт, причем П узнает о том, сколько байт команды ему нужно читать из первого прочитанного им байта или слова.
В процессоре код команды расшифровывается и преобразовывается в набор микроопераций выполняемых отдельными узлами процессора.
В общем случае команда состоит из двух частей: код операции и адресной части.
Код
операции
Адресная
часть
Адресация операндов:
Большая часть команд процессора работает с операндами (данными). Одни команды требуют входные операнды, другие выдают выходные операнды. Входные операнды – операнды источников, выходные операнды – операнды приемника.
Операнды могут располагаться во внутренних регистрах П, в системной памяти или в УВВ. Определение местоположения операнда производится кодом команды. Существуют различные методы, с помощью которых код команды позволяет определить, откуда брать входные операнды и куда их поместить выходные операнды. Эти методы называются методами адресации.
Способ адресации – метод формирования исполнительного адреса операнда (его физического адреса) из адресного кода (код, указанный в адресной части команды)
Методы (способы) адресации
Количество методов адресации в различных П может быть от 4 до 16.
Непосредственная адресация предполагает, что операнд находится в памяти непосредственно за кодом команды. Операнд обычно представляет собой константу, которую надо, куда-то переслать, прибавить и т.д.
Память
Команда
MVI
B,
05
Операнд
Программа
Прямая адресация предполагает, что операнд находится в памяти по адресу, код которого находится внутри программы сразу же за кодом команды
Память
Программа
Команда
Адрес
операнда
LDA
00
82
данные
операнд
Р
Команда
Память
Команда
Программа
Операнд
Регистр
В
С
D
E
H
L
A
F
00000
00100
01000
011
100
101
111
110
01 090
111
Пример
MOV
r1,
r2
Приемникик
Источник
MOV
B,A
Косвенно-регистровая адресация предполагает, что во внутреннем регистре П находится не сам операнд, а его адрес в памяти
данные
операнд
Адрес
операнда
Команда
Программа
Регистр
HL
Пример
MOV
M,A
Реже встречаются еще два вида адресации: автоинкрементная адресация, которая близка к косвенной адресации, но отлична от нее тем, что после выполнения команды содержимое регистра увеличивается на 1 или на 2 перед выполнением команды.
Выбор того или иного метода адресации определяет время выполнения команды. Самая быстрая – регистровая, т.к. она не требует дополнительных циклов обмена по магистрали.
Если же адресация требует обращения к памяти, то время выполнения команды будет увеличиваться за счет длительных необходимых циклов обращения к памяти. Чем больше внутренних регистров у П, тем чаще и свободнее регистровую адресацию и тем быстрее будет работать система в целом.
Сегментирование памяти
Вся память системы представлена не в виде непрерывного пространства, а в виде нескольких кусков сегментов заданного размера по 64 К/байта, положение которых в пространстве памяти можно изменять программным путем. Для хранения кодов адресов в памяти используются не отдельные регистры, а регистровые пары;
Сегментная регистрация определяет адрес начала сегмента, т.е. положение сегмента в памяти.
Регистр указатель (регистр смещения) определяет положение рабочего адреса внутри сегмента, при этом физический двадцатиразрядный адрес памяти, выставляемый на внешнюю шину адреса, определяется путем сложения смещения ее адреса сегмента со сдвигом на 4 бита.
Начиная с шестнадцатого, адреса вычисляются.
Сегмент может начинаться только на 16 разрядной границе памяти, т.е. с адреса кратного 16. Эти допустимые границы символов – границами параграфов. Введенное сегментирование связано с тем, что внутренние регистры процессора 16 разрядный, а физический адрес памяти – 20 разрядный.
Регистры процессора.
Внутренние регистры П представляют собой сверхоперативную память небольшого размера. Количество регистров разных П может быть от 6-8 до нескольких десятков. Регистры могут быть универсальными и специализированными. Специализированные регистры присутствуют в большинстве процессов (счетчик команд, регистр состояния, регистр указателя стека). Остальные регистры универсальны или специализированы.
Организация 8-разрядногоМП
Имеет следующие особенности:
Шинную структуру: ШД, ША, ШУ.
Магистральный принцип связи, реализованный в виде связывающего основные устройства МП, двунаправленная восьми разрядная ШД.
Наличие регистровой памяти, образованной программно доступными общими и специализированными регистрами (счетчик команд, указатели стека, указатели данных, а также регистр временного хранения).
Наличие средств в организации в стековой памяти (регистр указателя стека, схема выполнения операций инкрементирования, декрементирования).
Наличие 16 разрядной ША; обеспечивающей возможность прямой адресации любого байта в памяти емкостью 64 К/байта.
Наличие операций над двухбайтными словами (шестнадцати разрядными числами и адресами)
Использование трех форматов команд (1, 2, 3 байтных и разнообразных способов адресации – прямая, косвенная, непосредственная, стековая или неявная), которые позволяли при коротком восьми разрядном слове иметь достаточно гибкую систему команд.
Возможность реализации векторного многоуровнего приоритетного прерывания с использование БИС контроллера прерывания.
Возможность реализации в МП режиме прямого доступа к памяти с использованием БИС контроллера ПДП.
Наличие эффективных средств работы с подпрограммами обработки запросов прерывания (стековая память, специальные команды вызова подпрограмм и возврата из подпрограмм)
Структурная схема МП К580
МП состоит из основных блоков:
Секция регистров и логических устройств их выбора.
Арифметико-логический блок (АЛБ).
Регистров команд и устройства управления.
Буферы ШД и ША.
Секция регистров включает в себя 8 восьми разрядных регистров W, Z, D, C, H, L, E, B, а также шестнадцати разрядный программный счетчик (PC) указатель стека (SP).
Регистры B, C, D, E, H, L – регистры общего назначения – программно доступные, т.е. могут быть использованы в программах:
Для хранения данных как отдельные восьми разрядные регистры.
Для хранения адресов как 3 – 16 разрядные регистры BC(B), DE(D), HL(H).
Буферные регистры W,Z используются для кратковременного подключения при кратковременном хранении операндов (при выполнении команд условных и безусловных переходов). Они являются программно недоступными (пример: дешифрирующее устройство, количество входов и выходов связаны соотношением m=2m).
Счетчик команд формирует адреса в памяти, к которым обращается программа, или подпрограмма. При выполнении линейных программ содержимое СК автоматически увеличивается на длину команды.
Команды условных и безусловных переходов вызовов программ обслуживания прерываний фактически обеспечивает загрузку адреса точки перехода или начала вызываемой программы в СК.
Для работы со стековой памятью, организованной в ОЗУ, используют указатель стека. В общем случае стек представляет собой группу последовательно пронумерованных регистров или ячеек памяти, снабженных указателем стека, в котором автоматически при записи и считывании устанавливается адрес последней занятой ячейки стека (вершина стека). При операции занесения в стек слово помещается в следующую по порядку свободную ячейку стека, а при считывании стека извлекается последнее, поступившее в него слово. Т.о. в стеке в стеке реализуется система обслуживания («последний пришел – первый ушел»), которая, при обращении к стеку, реализуется автоматически. Поэтому при операциях со стеком возможно безадресное задание операнда. Команда не содержит адреса ячейки стека, а содержит адрес ячейки памяти или регистра, откуда слово передается в стек, или куда записывается из стека.
В МП используется перевернутый стек, т.е. при передаче в стек слова значение указателя стека (адрес вершины стека) уменьшается, а при извлечении слова из стека – увеличивается. Непосредственно в МП из оборудования в стековой памяти содержится только указатель стека, и соответствует цепи управления.
АЛБ выполняет арифметические и логические операции под воздействием УУ. Он включает в себя аккумулятор, буфер аккумулятора, восьми разрядно АЛУ, блок десятичной коррекции (БДК), регистр признаков (состояний) и буферные регистры. Аккумулятор используется в качестве источника одного из операндов и место где фиксируется результат. В командах аккумулятор в явном виде не адресуется, на его использование в операции неявно указывает код операции команды. Использование аккумулятора, регистров общего назначения, позволяет при выполнении команд уменьшить количество обращений к памяти и тем самым повысить быстродействие П.
АЛУ позволяет осуществлять арифметические операции сложения, вычитания, а также основные логические операции (и, или, не, исключающее или, сдвиг).
При проведении операции одно число берется из буфера аккумулятор, а другое – из буфера регистра, к которому может быть подключен любой из регистров общего назначения.
По результатам выполнения АЛ операций в АЛУ в пяти разрядах флагов С, AC, Z, S,P в регистре признаков устанавливаются 1 или 0.
Признак переноса С=1, если при выполнении команд появляется единичка переноса из старшего разряда
S
Z
AC
P
C
1
0
0
1
1
- если перенос происходит, занимаем при
вычитании
0,
если «+» 1,
если «-»
Дополнительный признак переноса АС = 1, если при выполнении команд возникает единичка переноса из 3 разряда числа при обработке 2-х десятичных чисел. При этом состояние разряда может быть проанализировано лишь командой десятичной коррекции.
7310
7310=011100112
0111
0011
Признак знака S в машинном слове можно представить числом от -128 до +127. В этом случае 7 старший разряд числа - его знак.
Единица в седьмом разряде в такой записи будет указывать на отрицательное число, а ноль – на положительное.
Признак Z=1, если при выполнении команды мы в результате получим ноль.
Признак четность P=1, если при выполнении команды количество единиц в разрядах результата будет четным.
Если двоичное число содержит четное количество единиц, то P=1, в другом случае P=0.
Содержимое разрядов регистра признаков не изменяется при выполнении команд пересылки и команд ввода/вывода.
(переход X=0, jZ – разряды, Х неравно 0, jNZ)
jC; jNC; jPE; jPO;
Когда прерывается та программа, которая прерывается должна сохранять наибольшую информацию о программе в ССП (содержимое разрядом регистра признаков).
Регистр команд и дешифратор команд используются в МП для дешифрации и получения кода команд. При извлечении команды 1 байт всегда содержит код предписания к выполнению операции помещения в регистр команд и поступает в дешифратор команд. После дешифрации определяется число байт в команде, время выполнения команды и тип выполняемой операции. Перечисленные данные необходимы МП для своевременного формирования синхронизирующих и управляющих сигналов, обеспечивающих взаимодействие всех устройств в МП и МПС для выполнения данной команды.
Дешифратор, совместно с УУ формируют управляющие сигналы для всех внутренних блоков МП, а также выходные сигналы управления и состояния, выдаваемые на ШУ.
Двунаправленный буфер ШД предназначен для логического и электрического разделения внутрипроцессорной магистрали, внешней, системной ШД. Буферная схема ША однонаправлена и обеспечивает передачу адресов, команд и данных, а также номеров внешних устройств от микропроцессора в систему.
Выход буфера адреса, точно также как и буфера данных, может переходить в отключенное состояние. Подобный режим необходимо иметь в системе, в которой к памяти могут обращаться по системной ША не только МП, но и внешние устройства. Обмен информацией между её внешними устройствами организовывается с помощью ША, ШД, ШУ.
ША - представляет совокупность 16 однонаправленных выходов (A15-A0). Информация о текущем адресе выполняемой команды выставляется и сохраняется на ША в начале каждого машинного цикла. В другой момент времени, на ША устанавливается неопределенная информация.
ШД - содержит 8 выводов (D0-D7) и является двунаправленными. В зависимости от типа выполняемых операций информация может считываться с ШД в процессор или поступать из П на входы оперативной памяти или УВВ. Помимо этого ШД в начале процесса обмена несет информацию ССП, представленный восьмиразрядным кодом о текущем состоянии П, и о текущих действиях, которые он будет выполнять в последующие машинные этапы. Зафиксировав ССП и расшифровав его с помощью логических схем МПС вырабатывает сигналы записи или чтения в ЗУ или УВВ.
ШУ - предназначена для передачи управляющих сигналов признаков состояния П и периферического оборудования.
Номинальные напряжения 8 разрядного МП – 5В; 12В;