Принципы организации ЭВМ с использованием МП
Ранее, в гаве 3, мы уже упоминали об организации ЭВМ на примере неймановской структуры. Рассмотрим теперь более подробно принципы работы ЭВМ на примерах общей структуры (с раздельными шинами) и структуры с общей шиной.
МП, взятый отдельно, не может выполнять каких-либо полезных функций. Для реальной пользы от функционирования МП он должен использоваться совместно с памятью и устройствами ввода-вывода. Объединение МП с памятью и средствами связи с внешними устройствами ввода-вывода (такие средства называются интерфейсами) позволяет получить ЭВМ.
Знакомство с принципами работы таких ЭВМ начнем с рассмотрения ее структурной схемы, представленной на рис. 11.6.1. и содержащей минимальный набор элементов, которым должна обладать любая ЭВМ.
Рис. 11.6.1. Общая структурная схема ЭВМ
Элементом, производящим обработку данных, здесь является МП. МП и ряд вспомогательных схем, обеспечивающих его работу и работу всей ЭВМ, образуют так называемый процессорный модуль, к которому с помощью системных шин подключают периферийные модули ЭВМ. Данное разделение ЭВМ на указанные модули носит функциональный характер. Конструктивно все модули могут быть выполнены, например, на одной плате (одноплатные ЭВМ) или даже в одной БИС (однокристальные микроЭВМ).
Системные шины представляют собой набор соединительных проводников-линий, объединяющих одноименные выводы всех периферийных модулей. По каждой линии может быть передано значение одного разряда двоичного кода в виде уровней напряжения, соответствующих логическому нулю или логической единицы.
Периферийными модулями в рассматриваемой ЭВМ являются запоминающие устройства, в состав которых входят постоянное запоминающее устройство ПЗУ и оперативное запоминающее устройство ОЗУ, и регистры для подключения внешних устройств (например, клавиатуры, устройства визуального отображения информации, различных датчиков и исполнительных механизмов), называемые портами ввода или вывода.
Программа работы встроенной в какое-либо устройство ЭВМ хранится в ПЗУ. ПЗУ - это БИС памяти, в которую необходимая информация (программа, константы) заносится в процессе ее изготовления или непосредственно перед установкой в ЭВМ. Информация в ПЗУ сохраняется независимо от того, включен ли источник питания или выключен. Промежуточные данные в ЭВМ хранятся во внутренних регистрах МП, а также в ОЗУ. Данные могут как записываться в ОЗУ, так и считываться из него. При снятии питающего напряжения данные в ОЗУ теряются. При отладке программ, а также в случае использования ЭВМ в качестве универсальной, то есть выполняющей в разное время различные программы, ОЗУ используется и для хранения программ. В этом случае ЭВМ обычно имеет ПЗУ с малым количеством ячеек (с малым объемом) памяти, куда записывается небольшая программа-загрузчик, под управлением которой в начале работы в ОЗУ с какого-либо внешнего устройства загружается рабочая программа.
В представленной на рис. 11.6.1 структуре ЭВМ используются раздельные группы шин для связи портов ввода-вывода и запоминающих устройств с процессорным модулем. Такая организация удобна, когда необходимо реализовать параллельный режим обмена данными как с внешними устройствами ввода-вывода, так и с памятью. Каждая группа шин в этом случае отвечает за связь своего типа периферийного модуля с процессорным и позволяет осуществить независимый во времени обмен информацией. Однако это достигается за счет значительного увеличения аппаратных средств, участвующих в построении ЭВМ.
Часто при построении ЭВМ для связи процессорного модуля с периферийными используется одна группа шин. В этом случае микропроцессор обращается к внешним устройствам ввода-вывода как к элементу памяти. Данная организация проста с точки зрения задействованных аппаратных средств, но допускает лишь последовательный во времени режим обмена информацией между периферийными модулями и процессорным модулем, т.е. невозможно одновременно обратиться и к памяти и к портам ввода-вывода. Структурная схема ЭВМ с общей шиной представлена на рис. 11.6.2.
По роду передаваемой информации все шины разделены на три группы, образующие шину данных, шину адреса и шину управления. Характерной особенностью шины данных является ее двунаправленность, обеспечиваемая буферными регистрами, под которой понимается возможность передачи данных в разные моменты времени в различных направлениях, например, сначала от процессорного модуля к периферийному, а затем в обратном направлении. Ещё одна особенность этих буферных регистров заключается в том, что они являются трехстабильными, т.е. выходы этих регистров могут принимать третье пассивное или, так называемое высокоимпедансное состояние, благодаря чему регистр оказывается как бы отключенным от шины данных.
Каждый периферийный модуль ЭВМ имеет вход для приема сигнала ВМ (выбор модуля). В процессе работы ЭВМ с помощью этого сигнала "активизируется" только один из периферийных модулей. Это означает, что возможен обмен данными между ним и процессорным модулем. Выходы остальных модулей при этом остаются в высокоимпедансном состоянии (отключенном) и на работу ЭВМ не влияют.
Поскольку процессорный модуль должен обмениваться данными с определенными ячейками памяти запоминающих устройств или с определенными портами, то для возможности обращаться (адресоваться) к ним, каждая ячейка памяти и каждый порт ввода и вывода имеют свои индивидуальные номера - адреса. При обмене данными процессорный модуль устанавливает двоичный код, соответствующий адресу порта или ячейки памяти на шине адреса ЭВМ. Шина адреса является однонаправленной, т.е. адреса передаются только в одном направлении: от процессорного модуля.
Рассматриваемая ЭВМ содержит два модуля памяти: модуль ОЗУ и модуль ПЗУ. Некоторые ЭВМ могут содержать по несколько модулей ОЗУ и ПЗУ, каждый из которых имеет вход для приема сигнала ВМ. Во всех случаях, когда ЭВМ содержит более одного модуля памяти, часть кода адреса ячейки памяти должна указывать, к какому модулю памяти производиться обращение. Эта часть называется кодом выбора модуля. Оставшаяся часть кода адреса выбирает ячейку памяти внутри модуля и называется адресом слова. Дешифрация кода выбора модуля производится с помощью дешифратора выбора модуля памяти, который вырабатывает соответствующий сигнал ВМ. Дешифрация адреса слова осуществляется внутренним дешифратором модуля. Входы этого дешифратора (адресные шины модуля памяти) подключаются к соответствующим линиям шины адреса.
Рассматриваемая ЭВМ содержит один порт ввода и один порт вывода. Однако таких портов у ЭВМ может быть и гораздо больше. Все входы ВМ портов ввода и вывода подключаются через дешифратор номеров портов к линиям шины адреса ЭВМ. Порты «активизируются» при появлении на шине адреса кодов, соответствующих их номерам. Дополнительным условием «активизации» любого периферийного модуля является наличие соответствующего сигнала на шине управления. По линиям шины управления от процессорного модуля к периферийным поступают сигналы, определяющие выбор группы модулей (порты или модули памяти), а также направление обмена данными: сигнал чтения из модулей запоминающих – ЧТЗУ, сигнал записи в модули запоминающих устройств – ЗПЗУ, сигнал чтения из порта ввода – ЧТВВ, сигнал записи в порт вывода – ЗПВВ. По шине управления передаются также и другие сигналы, назначение которых будет рассмотрено ниже. Таким образом, при записи, например, числа в ячейку памяти ОЗУ процессорный модуль устанавливает на шине адреса адрес этой ячейки памяти, на шине данных – двоичный код записываемого числа и выдает на соответствующую линию шины управления сигнал ЗПЗУ. При этом с шины данных число записывается в адресуемую ячейку памяти ОЗУ. При чтении, например, данных из какого-либо порта ввода процессорный модуль устанавливает на шине адреса адрес этого порта и выдает на соответствующую линию шины управления сигнал ЧТВВ. При этом адресуемый порт ввода передает информацию со своего входа на шину данных, откуда она считывается процессорным модулем.
Работа ЭВМ, как и любого цифрового устройства, заключается в обработке исходных данных по заданному алгоритму. Под алгоритмом работы цифрового устройства понимается набор последовательно выполняемых действий по обработке исходных данных с целью получения требуемого результата. В ЭВМ алгоритм реализуется при выполнении программы, хранимой в памяти в виде последовательности команд. Выполнение любой команды начинается с чтения кода этой команды из запоминающего устройства. Для этого процессорный модуль устанавливает на шине адреса код адреса ячейки памяти, в который записан код команды и выдает на соответствующую линию шины управления сигнал ЧТЗУ. В результате код команды выдается из ячейки памяти на шину данных и считывается процессорным модулем. МП дешифрирует код операции команды, определяет какие действия ему необходимо выполнить и переходит к исполнению команды. Во время выполнения команды МП может обращаться к памяти для чтения или записи данных, к порту ввода для ввода исходных данных, к порту вывода для вывода полученных результатов. После окончания выполнения текущей команды МП переходит к выполнению очередной команды, т.е. обращается к ячейке памяти, где хранится код следующей команды.
Одним из центральных, определяющих моментов в проектировании ЭВМ является выбор совокупности унифицированных аппаратурных, программных и конструктивных средств, необходимых для реализации алгоритмов взаимодействия различных функциональных устройств. Такими средствами являются интерфейсы. Стандартизации в интерфейсе обычно подлежат: форматы передаваемой информации, команды и состояния, состав и типы линий связи, алгоритм функционирования, передающие и приемные электронные схемы, параметры сигналов и требования к ним, конструктивные решения.
К основным характеристикам интерфейса относят: функциональное назначение, тип организации связей, принцип обмена информацией, способ обмена, режим обмена, количество линий, число линий для передачи данных (разрядность), количество адресов, количество команд, быстродействие, длину линий связи, число подключаемых устройств (нагрузочная способность), тип линии связи.
По функциональному назначению интерфейсы разделяют на магистральные (внутримашинные), внешние интерфейсы периферийных устройств, системные (интерфейсы локальных сетей).
По типу организации связей интерфейсы подразделяют на магистральные, радиальные, древовидные, радиально-магистральные.
По принципу обмена информацией – с параллельной, последовательной и параллельно-последовательной передачей информации.
По режиму обмена информацией – с симплексным (только один из абонентов может в любой момент времени инициировать передачу информации), полудуплексным (любой абонент может начать передачу информации другому, если линия связи интерфейса свободна), дуплексным (когда каждый абонент может начать передачу информации другому в любой момент времени) и мультиплексным (когда в каждый момент времени связь может быть осуществлена между парой абонентов в любом, но единственном направлении от одного к другому) режимами обмена.
По способу передачи информации во времени различают интерфейсы с синхронной передачей данных (с постоянной временной привязкой в цикле сбора информации) и с асинхронной (без постоянной временной привязки к определенному временному интервалу цикла сбора). В первом случае передача синхронизируется специальными синхроимпульсами в виде последовательности прямоугольных импульсов. Во втором – управляющими сигналами ГОТОВНОСТЬ к обмену, НАЧАЛО, КОНЕЦ, КОНТРОЛЬ обмена.
В качестве примера магистральных интерфейсов можно привести асинхронные мультиплексные интерфейсы с параллельным способом передачи: 8-разрядные интерфейсы Microbus, Z-bus, шина iSBX; 16-разрядные интерфейсы Unibus (отечественный аналог ОШ), Multibus, Q-bus; 32-разрядные интерфейсы Versabus, MCA, EISA, VESA, VESA-2, PCI. В качестве интерфейсов периферийных устройств наиболее широкое распространение получили последовательный интерфейс RS-232 и параллельный интерфейс Centronix.
Следует отметить, что в составе микропроцессорных комплектов имеются специальные интерфейсные БИС, обеспечивающие совместимость по электрическим, конструктивно-технологическим и эксплуатационным параметрам процессорного модуля с внешними устройствами. Каждый микропроцессорный комплект характерен наличием, как правило, параллельных и последовательных интерфейсных устройств, выполненных в виде отдельных микросхем, представляющих собой регистры, буферные схемы и специализированные контроллеры. Такие устройства могут быть программируемыми и применяться для двунаправленной передачи данных и сигналов управления. Такие микросхемы используются как шинные формирователи для организации внутримашинных магистралей ЭВМ и как внешние интерфейсы периферийных устройств.
Все отмеченные преимущества микропроцессорных систем, обладающих возможностью функциональной перестройки программным путем, их привлекательная дешевизна, универсальность по сравнению с системами с "жесткой" неизменяемой структурой, традиционно применяемых для задач управления различными процессами и объектами обусловили широкое внедрение микропроцессорных систем и в эту сферу. По назначению среди систем управления можно выделить класс устройств, называемых контроллерами. Контроллер представляет собой микропроцессорную систему, адаптированную к задачам управления объектом. Контроллер содержит в своей структуре те же узлы, что и ЭВМ, но отличие состоит в более развитых внешних устройствах ввода-вывода, представляющих собой средства сопряжения с объектом и требующих большого количества каналов ввода-вывода (или портов). Выделим ряд отличительных особенностей, которыми должна обладать ЭВМ для осуществления функций контроллера:
· наличие ограниченного набора четко сформулированных задач, иными словами, при проектировании контроллеров учитывается их функциональное назначение осуществлять конкретные задачи управления;
· работа в реальном масштабе времени, т.е. обеспечение минимального времени реакции на изменение внешних условий;
· наличие развитой системы внешних устройств ввода-вывода, связанное с большим разнообразием характеристик датчиков, исполнительных механизмов и их количеством;
· решение основных функциональных задач и выработка управляющих воздействий;
· высокие требования по надежности и живучести, связанные с продолжительностью работы и сложными условиями эксплуатации;
· обеспечение автоматического режима работы или режима с участием человека;
· реализация функций диагностирования и тестирования как самого контроллера, так и состояния объекта управления.
Для ЭВМ в качестве контроллера не предъявляются, как правило, жесткие требования к объему используемой оперативной памяти, такие как для ЭВМ в обычном ее назначении. Объясняется это тем, что контроллер - устройство хотя и универсальное, но свойство универсальности проявляется исключительно в области управления. На контроллер не возлагаются требования к работе под управлением операционной системы, использованию системных программ разработки и отладки программного обеспечения и другие, характерные для ЭВМ более высокой организации. Кроме того, объем обрабатываемой входной информации не так велик и ограничен поставленной задачей в каждом конкретном случае, поскольку контроллер является в основном устройством местного управления. Для этих целей достаточно использования памяти небольшого объема.
Контроллеры могут проектироваться как самостоятельные устройства, и как элементы в составе иерархической структуры, на высшем уровне которой располагается ЭВМ более высокой организации. Примером может служить ПЭВМ, процессорный модуль которой управляет всеми операциями на высшем уровне, а интерпретацию его команд для отдельных устройств осуществляют местные контроллеры. Этим достигается распределение функций между процессорным модулем и контроллерами, освобождая первый от выполнения лишней работы, обеспечивая наибольшее быстродействие системы.
В качестве другого примера использования ЭВМ можно привести систему сбора данных. Подобные задачи сбора данных часто возникают в контрольно-измерительных системах. Так, например, с помощью системы сбора данных можно осуществлять опрос множества аналоговых каналов, формирующих аналоговые сигналы, отражающие те или иные характеристики технологического процесса. В такой системе в качестве устройств ввода могут использоваться коммутаторы аналоговых сигналов и аналого-цифровые преобразователи. В связи с большим количеством входных данных, предварительной их обработкой и преобразования к виду, необходимому для дальнейших действий, высокой динамичностью изменения входной информации для ЭВМ в качестве систем сбора данных предъявляются жесткие требования к объемам памяти, разрядности и быстродействию. Оперативная память таких систем должна быть большой емкости для хранения больших массивов данных. МП должен обладать возможностью адресоваться к большому количеству ячеек памяти, для чего необходима высокая разрядность шины адреса ЭВМ. Для обеспечения высокой точности предварительной обработки данных используемая ЭВМ должна иметь высокую разрядность шины данных для минимизации погрешности округления при вычислениях. И, наконец, система должна иметь высокое быстродействие для сбора и обработки быстропротекающих процессов, характерных особенно для аналоговых сигналов.
Система сбора данных может являться промежуточным звеном в цепи движения информации от ее источника к потребителю, когда те разнесены в пространстве. В этом случае ЭВМ системы сбора данных содержит энергонезависимую память необходимого объема, данные в которую могут как записываться, так и считываться неограниченное количество раз по аналогии с ОЗУ с той лишь разницей, что в энергонезависимой памяти данные с отключением источника питания не пропадают. С помощью такой системы опрашивается состояние объекта, находящегося на удалении. Данные, характеризующие его состояние, запоминаются в энергонезависимой памяти, при необходимости осуществляется предварительная их обработка, а затем переносятся в мощную ЭВМ, где обрабатываются дальше.
В последнее время характерен переход в области информационных систем от однопроцессорных управляющих и вычислительных систем к мультимикропроцессорным. Архитектура мультимикропроцессорных систем образуется соединением в одну систему большого числа микропроцессоров. Такой переход обусловлен необходимостью создания высокопроизводительных микропроцессорных систем с быстродействием в сотни миллионов операций в секунду, например в системах распознавания образов или обработки аналоговых сигналов. Особенно недостаточное быстродействие накладывает существенные ограничения при построении приборов для измерения и управления высокодинамичными процессами. Микропроцессоры в мультимикропроцессорных системах могут быть как универсальными, так и специализированными на выполнение определенных функций. Простейшим примером такой системы может служить персональный компьютер IBM класса AT и выше, содержащий в своей структуре центральный процессор и математический сопроцессор. В такой системе функции управления ресурсами и оборудованием системы, задаваемых программой работы и выполнения математических операций над числами с плавающей запятой разделены. Реализация первой возлагается на центральный процессор, а второй - на специализированный математический сопроцессор, благодаря чему время выполнения некоторых программ может быть сокращено в несколько раз. Особенно полезна мультимикропроцессорная организация при построении измерительных устройств с использованием специализированных сигнальных процессоров. В этом случае функции системы разделяются между центральным универсальным процессором или их группой и сигнальным процессором. Центральный процессор может выполнять, например, функции управления портами, обеспечивать индикацию результатов измерения на жидкокристаллическом индикаторе, обеспечивать связь с памятью системы, осуществлять загрузку рабочей программы и т.п. Специализированный сигнальный процессор берет на себя задачу цифровой обработки сигналов. Он имеет своеобразную архитектуру, позволяющую осуществлять распараллеливание операций по этой обработке. Так, например сигнальные процессоры серии ADSP-21хх фирмы Analog Devices имеют в своей структуре встроенную память данных, разделенную на две области, называемыми буферами. Пока первый буфер накапливает данные, поступающие с внешних устройств ввода, например с аналого-цифрового преобразователя, сигнальный процессор производит параллельно с этим обработку данных, запомненных ранее в другом буфере. Кроме того, сигнальные процессоры имеют набор специализированных команд, позволяющих реализовывать следующие алгоритмы: спектральный анализ, корреляционный анализ, цифровую фильтрацию, статистический анализ, выполнять различные математические операции над сигналами. Все эти особенности сигнальных процессоров, интегрируемых в мультимикропроцессорные системы, позволяют решать сложные задачи контроля, измерения и управления быстропротекающих процессов в реальном масштабе времени. В настоящее время подобные комплексы уже применяются в разных отраслях промышленности как переносные виброанализаторы, в метрологии как измерительные системы, службами безопасности для обнаружения внештатных подключений к телефонным линиям и прослушивающих устройств в исследуемом объеме, в геофизике, при транспортировке спецгрузов, в медицинской диагностике и т.д.
В общем случае при выборе из известных структур мультимикропроцессорных систем - с общим запоминающим устройством, с местным запоминающим устройством, шинной, конвейерной, радиальной, кольцевой, пирамидальной иерархической, с регулярным объединением через коммутаторы, с регулярным объединением через память, с соединением узлов системы по полному графу (когда все узлы связаны между собой) - следует исходить из внутренней структуры классов задач. Это означает, что выбираемая структура мультимикропроцессорной системы должна быть адекватна внутренней структуре решаемой задачи. Например, выбор структуры может определяться: количеством распараллеливаний операций по обработке информации, способами обмена данными между отдельными участками алгоритма, оптимальностью построения потоков данных и потоков команд в возможной программной реализации алгоритма и т.д. Если структура мультимикропроцессорных систем образуется соединением в одну систему большого числа микропроцессоров, запоминающих устройств и устройств ввода-вывода, иначе говоря большого числа ЭВМ, то такая структура будет называться мультимашинной или коллективом вычислителей. Ряд типичных структур мультимикропроцессорных систем: шинная; конвейерная; радиальная; кольцевая; пирамидальная иерархическая. Каждая микропроцессорная система, входящая в структуру, может управляться как самостоятельной программой обработки, так и общей для всей системы. Перспективной при построении данного класса систем является универсальная коммутационная структура, которая позволяет программным путем образовывать любые прямые каналы связи между входами и выходами отдельных процессоров, входящих в систему, а также между процессорами и отдельными секторами памяти или устройствами ввода-вывода, обеспечивая возможность реализации любой из перечисленных ранее структур. Среди других тенденций при построении мультимикропроцессорных систем можно отметить переход от сосредоточенной памяти к распределенной для всей системы, обеспечивающей прямой параллельный доступ для всех процессоров системы.
Кроме высокой производительности мультимикропроцессорная система позволяет обеспечить высокую надежность и возможность взаимозамены отдельных частей системы. Обеспечение надежности достигается созданием мультимикропроцессорных систем, позволяющих заменять вышедшие из строя процессоры или элементы памяти на эквивалентные сохранившиеся, которые в процессе работы менее загружены или не задействованы.
Контрольные вопросы
1. Опишите структуру микропроцессора.
2. Проведите классификацию микропроцессоров.
3. Какова эволюция развития МП?
4. Назовите основные узлы МП и охарактеризуйте их назначение.
5. Что такое многокристальные, замкнутые и секционированные МП?
6. Что общего и чем отличаются аналоговые МП от цифровых?
7. Что такое управление на уровне команд и на уровне микропрограмм?
8. Какие типы адресации используются в МП?
9. Что такое система команд МП? Какие их обозначения и почему используются при программировании?
10. Каковы особенности построения модульных и секционированных МП?
11. Каковы особенности использования ЭВМ на основе МП в качестве контроллеров?
Глава 12